From a8993a84113743f1edaeaabf46ba28410f83bfc7 Mon Sep 17 00:00:00 2001 From: Krishan Patel Date: Tue, 10 Feb 2026 20:16:06 +0000 Subject: [PATCH 01/28] . --- .../8453/run-1769597544062.json | 176 +++++++++++++++++ .../RegisterVault.s.sol/8453/run-latest.json | 142 +++++++------- landing-page/index.html | 2 +- src/FeeTracker.sol | 46 +++++ src/adapters/AaveV3Adapter.sol | 38 +--- src/adapters/CompoundV2Adapter.sol | 54 ++---- src/adapters/CompoundV3Adapter.sol | 38 +--- test/security/UntrackedPositionSecurity.t.sol | 179 ++++++++++++++++++ test/unit/adapters/AaveV3Adapter.t.sol | 18 +- test/unit/adapters/CompoundV2Adapter.t.sol | 19 +- test/unit/adapters/CompoundV3Adapter.t.sol | 18 +- 11 files changed, 530 insertions(+), 200 deletions(-) create mode 100644 broadcast/RegisterVault.s.sol/8453/run-1769597544062.json create mode 100644 test/security/UntrackedPositionSecurity.t.sol diff --git a/broadcast/RegisterVault.s.sol/8453/run-1769597544062.json b/broadcast/RegisterVault.s.sol/8453/run-1769597544062.json new file mode 100644 index 0000000..c81aa6f --- /dev/null +++ b/broadcast/RegisterVault.s.sol/8453/run-1769597544062.json @@ -0,0 +1,176 @@ +{ + "transactions": [ + { + "hash": "0x02ad712190b539e26284035d1fa13c588701eefdff877121fe133ce5357048f2", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x60163d6406503426e712ed6c507137229552756d", + "function": "schedule(address,uint256,bytes,bytes32,bytes32,uint256)", + "arguments": [ + "0x81f17748B0abE955790346B904f6B78E67594ed0", + "0", + "0x9362149e000000000000000000000000944766f715b51967e56afde5f0aa76ceacc9e7f9000000000000000000000000905cd24370018befb6c648420d35dfeba9e62602", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x7e423dda6218c530071c65008a4c32045b3e34b42c05c16aaf80e3d5ee9f86ef", + "0" + ], + "transaction": { + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x60163d6406503426e712ed6c507137229552756d", + "gas": "0x13289", + "value": "0x0", + "input": "0x01d5062a00000000000000000000000081f17748b0abe955790346b904f6b78e67594ed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000007e423dda6218c530071c65008a4c32045b3e34b42c05c16aaf80e3d5ee9f86ef000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000449362149e000000000000000000000000944766f715b51967e56afde5f0aa76ceacc9e7f9000000000000000000000000905cd24370018befb6c648420d35dfeba9e6260200000000000000000000000000000000000000000000000000000000", + "nonce": "0x16", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa852262892b55dce458756ac714e27abe49aa0f08517c34f011df6b3e944d8ae", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x60163d6406503426e712ed6c507137229552756d", + "function": "execute(address,uint256,bytes,bytes32,bytes32)", + "arguments": [ + "0x81f17748B0abE955790346B904f6B78E67594ed0", + "0", + "0x9362149e000000000000000000000000944766f715b51967e56afde5f0aa76ceacc9e7f9000000000000000000000000905cd24370018befb6c648420d35dfeba9e62602", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x7e423dda6218c530071c65008a4c32045b3e34b42c05c16aaf80e3d5ee9f86ef" + ], + "transaction": { + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x60163d6406503426e712ed6c507137229552756d", + "gas": "0x2ad3c", + "value": "0x0", + "input": "0x134008d300000000000000000000000081f17748b0abe955790346b904f6b78e67594ed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000007e423dda6218c530071c65008a4c32045b3e34b42c05c16aaf80e3d5ee9f86ef00000000000000000000000000000000000000000000000000000000000000449362149e000000000000000000000000944766f715b51967e56afde5f0aa76ceacc9e7f9000000000000000000000000905cd24370018befb6c648420d35dfeba9e6260200000000000000000000000000000000000000000000000000000000", + "nonce": "0x17", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x16051f3", + "logs": [ + { + "address": "0x60163d6406503426e712ed6c507137229552756d", + "topics": [ + "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", + "0x0daf49907523ec0a80c0a4fc6462a7ebe6f6cd2dce5a51547f4863cf5fbbb581", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x00000000000000000000000081f17748b0abe955790346b904f6b78e67594ed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000449362149e000000000000000000000000944766f715b51967e56afde5f0aa76ceacc9e7f9000000000000000000000000905cd24370018befb6c648420d35dfeba9e6260200000000000000000000000000000000000000000000000000000000", + "blockHash": "0xf32796caa861f3737dc3d6986103fcc6ef3bba9e6687c4f16426a54e201ecd66", + "blockNumber": "0x277c6c1", + "blockTimestamp": "0x6979ea65", + "transactionHash": "0x02ad712190b539e26284035d1fa13c588701eefdff877121fe133ce5357048f2", + "transactionIndex": "0x7a", + "logIndex": "0x24c", + "removed": false + }, + { + "address": "0x60163d6406503426e712ed6c507137229552756d", + "topics": [ + "0x20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d0387", + "0x0daf49907523ec0a80c0a4fc6462a7ebe6f6cd2dce5a51547f4863cf5fbbb581" + ], + "data": "0x7e423dda6218c530071c65008a4c32045b3e34b42c05c16aaf80e3d5ee9f86ef", + "blockHash": "0xf32796caa861f3737dc3d6986103fcc6ef3bba9e6687c4f16426a54e201ecd66", + "blockNumber": "0x277c6c1", + "blockTimestamp": "0x6979ea65", + "transactionHash": "0x02ad712190b539e26284035d1fa13c588701eefdff877121fe133ce5357048f2", + "transactionIndex": "0x7a", + "logIndex": "0x24d", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000100000000800000000000000000000000000000800000000000000000000000000000000000000008000000000000000000080000020000000000000000000800000080000000000000000000000000000000000000040040000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000020000000000000800000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x02ad712190b539e26284035d1fa13c588701eefdff877121fe133ce5357048f2", + "transactionIndex": "0x7a", + "blockHash": "0xf32796caa861f3737dc3d6986103fcc6ef3bba9e6687c4f16426a54e201ecd66", + "blockNumber": "0x277c6c1", + "gasUsed": "0xddee", + "effectiveGasPrice": "0x1342ee", + "blobGasUsed": "0x5d64", + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x60163d6406503426e712ed6c507137229552756d", + "contractAddress": null, + "daFootprintGasScalar": "0x8b", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x70eb6a", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x817ddb0b", + "l1GasPrice": "0x7dcd636", + "l1GasUsed": "0xac6" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x1994e31", + "logs": [ + { + "address": "0x81f17748b0abe955790346b904f6b78e67594ed0", + "topics": [ + "0x1cf35c87329e14a81fdc68af8a463c1db203ccfc925ff5150f5dbc71bc4c2372", + "0x000000000000000000000000944766f715b51967e56afde5f0aa76ceacc9e7f9", + "0x000000000000000000000000905cd24370018befb6c648420d35dfeba9e62602" + ], + "data": "0x", + "blockHash": "0xf32796caa861f3737dc3d6986103fcc6ef3bba9e6687c4f16426a54e201ecd66", + "blockNumber": "0x277c6c1", + "blockTimestamp": "0x6979ea65", + "transactionHash": "0xa852262892b55dce458756ac714e27abe49aa0f08517c34f011df6b3e944d8ae", + "transactionIndex": "0x94", + "logIndex": "0x292", + "removed": false + }, + { + "address": "0x60163d6406503426e712ed6c507137229552756d", + "topics": [ + "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", + "0x0daf49907523ec0a80c0a4fc6462a7ebe6f6cd2dce5a51547f4863cf5fbbb581", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x00000000000000000000000081f17748b0abe955790346b904f6b78e67594ed00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000449362149e000000000000000000000000944766f715b51967e56afde5f0aa76ceacc9e7f9000000000000000000000000905cd24370018befb6c648420d35dfeba9e6260200000000000000000000000000000000000000000000000000000000", + "blockHash": "0xf32796caa861f3737dc3d6986103fcc6ef3bba9e6687c4f16426a54e201ecd66", + "blockNumber": "0x277c6c1", + "blockTimestamp": "0x6979ea65", + "transactionHash": "0xa852262892b55dce458756ac714e27abe49aa0f08517c34f011df6b3e944d8ae", + "transactionIndex": "0x94", + "logIndex": "0x293", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000040400000000000000000000000000000000000000000000000000040000000000000000000000000000000800000200000000000000000000800000000000000000000000000000000000000000000000000400002000080000020000000000000000000800000000000000000000000000000000000000008000040040000000000000000000000200000000000000001002000000000000200000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000020000000000000800000000400020000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xa852262892b55dce458756ac714e27abe49aa0f08517c34f011df6b3e944d8ae", + "transactionIndex": "0x94", + "blockHash": "0xf32796caa861f3737dc3d6986103fcc6ef3bba9e6687c4f16426a54e201ecd66", + "blockNumber": "0x277c6c1", + "gasUsed": "0x1d48a", + "effectiveGasPrice": "0x1342ee", + "blobGasUsed": "0x5bc3", + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x60163d6406503426e712ed6c507137229552756d", + "contractAddress": null, + "daFootprintGasScalar": "0x8b", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x70eb6a", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x7f9b4da5", + "l1GasPrice": "0x7dcd636", + "l1GasUsed": "0xa9e" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1769597544062, + "chain": 8453, + "commit": "c9fdc30" +} \ No newline at end of file diff --git a/broadcast/RegisterVault.s.sol/8453/run-latest.json b/broadcast/RegisterVault.s.sol/8453/run-latest.json index c778437..c81aa6f 100644 --- a/broadcast/RegisterVault.s.sol/8453/run-latest.json +++ b/broadcast/RegisterVault.s.sol/8453/run-latest.json @@ -1,17 +1,17 @@ { "transactions": [ { - "hash": "0xc651d3ade7f471daaac396fce0295e0f9d3b37997342102d80db5ea73bb0a992", + "hash": "0x02ad712190b539e26284035d1fa13c588701eefdff877121fe133ce5357048f2", "transactionType": "CALL", - "contractName": "YieldSeekerAdminTimelock", + "contractName": null, "contractAddress": "0x60163d6406503426e712ed6c507137229552756d", "function": "schedule(address,uint256,bytes,bytes32,bytes32,uint256)", "arguments": [ "0x81f17748B0abE955790346B904f6B78E67594ed0", "0", - "0x9362149e000000000000000000000000b99b6df96d4d5448cc0a5b3e0ef7896df9507cf5000000000000000000000000905cd24370018befb6c648420d35dfeba9e62602", + "0x9362149e000000000000000000000000944766f715b51967e56afde5f0aa76ceacc9e7f9000000000000000000000000905cd24370018befb6c648420d35dfeba9e62602", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x3e892fb91dfbc10d7e435e2a6a0835629c7ff7120067adc69dda34115ffd490a", + "0x7e423dda6218c530071c65008a4c32045b3e34b42c05c16aaf80e3d5ee9f86ef", "0" ], "transaction": { @@ -19,33 +19,33 @@ "to": "0x60163d6406503426e712ed6c507137229552756d", "gas": "0x13289", "value": "0x0", - "input": "0x01d5062a00000000000000000000000081f17748b0abe955790346b904f6b78e67594ed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000003e892fb91dfbc10d7e435e2a6a0835629c7ff7120067adc69dda34115ffd490a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000449362149e000000000000000000000000b99b6df96d4d5448cc0a5b3e0ef7896df9507cf5000000000000000000000000905cd24370018befb6c648420d35dfeba9e6260200000000000000000000000000000000000000000000000000000000", - "nonce": "0x10", + "input": "0x01d5062a00000000000000000000000081f17748b0abe955790346b904f6b78e67594ed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000007e423dda6218c530071c65008a4c32045b3e34b42c05c16aaf80e3d5ee9f86ef000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000449362149e000000000000000000000000944766f715b51967e56afde5f0aa76ceacc9e7f9000000000000000000000000905cd24370018befb6c648420d35dfeba9e6260200000000000000000000000000000000000000000000000000000000", + "nonce": "0x16", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x391ee4f3cbe36ecaece639f89661e9065d3cf8e4881886ef1a62ee033285f4b4", + "hash": "0xa852262892b55dce458756ac714e27abe49aa0f08517c34f011df6b3e944d8ae", "transactionType": "CALL", - "contractName": "YieldSeekerAdminTimelock", + "contractName": null, "contractAddress": "0x60163d6406503426e712ed6c507137229552756d", "function": "execute(address,uint256,bytes,bytes32,bytes32)", "arguments": [ "0x81f17748B0abE955790346B904f6B78E67594ed0", "0", - "0x9362149e000000000000000000000000b99b6df96d4d5448cc0a5b3e0ef7896df9507cf5000000000000000000000000905cd24370018befb6c648420d35dfeba9e62602", + "0x9362149e000000000000000000000000944766f715b51967e56afde5f0aa76ceacc9e7f9000000000000000000000000905cd24370018befb6c648420d35dfeba9e62602", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x3e892fb91dfbc10d7e435e2a6a0835629c7ff7120067adc69dda34115ffd490a" + "0x7e423dda6218c530071c65008a4c32045b3e34b42c05c16aaf80e3d5ee9f86ef" ], "transaction": { "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", "to": "0x60163d6406503426e712ed6c507137229552756d", "gas": "0x2ad3c", "value": "0x0", - "input": "0x134008d300000000000000000000000081f17748b0abe955790346b904f6b78e67594ed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000003e892fb91dfbc10d7e435e2a6a0835629c7ff7120067adc69dda34115ffd490a00000000000000000000000000000000000000000000000000000000000000449362149e000000000000000000000000b99b6df96d4d5448cc0a5b3e0ef7896df9507cf5000000000000000000000000905cd24370018befb6c648420d35dfeba9e6260200000000000000000000000000000000000000000000000000000000", - "nonce": "0x11", + "input": "0x134008d300000000000000000000000081f17748b0abe955790346b904f6b78e67594ed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000007e423dda6218c530071c65008a4c32045b3e34b42c05c16aaf80e3d5ee9f86ef00000000000000000000000000000000000000000000000000000000000000449362149e000000000000000000000000944766f715b51967e56afde5f0aa76ceacc9e7f9000000000000000000000000905cd24370018befb6c648420d35dfeba9e6260200000000000000000000000000000000000000000000000000000000", + "nonce": "0x17", "chainId": "0x2105" }, "additionalContracts": [], @@ -55,122 +55,122 @@ "receipts": [ { "status": "0x1", - "cumulativeGasUsed": "0x2b88885", + "cumulativeGasUsed": "0x16051f3", "logs": [ { "address": "0x60163d6406503426e712ed6c507137229552756d", "topics": [ "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", - "0x5990e298549c8a706161c711a4999036aa0adbc38e849561e67e332ffc44db78", + "0x0daf49907523ec0a80c0a4fc6462a7ebe6f6cd2dce5a51547f4863cf5fbbb581", "0x0000000000000000000000000000000000000000000000000000000000000000" ], - "data": "0x00000000000000000000000081f17748b0abe955790346b904f6b78e67594ed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000449362149e000000000000000000000000b99b6df96d4d5448cc0a5b3e0ef7896df9507cf5000000000000000000000000905cd24370018befb6c648420d35dfeba9e6260200000000000000000000000000000000000000000000000000000000", - "blockHash": "0x930b31f7343387cf99a70c7625778f7e10a9d46455654a0e77b8df6aacb83f4d", - "blockNumber": "0x26c1675", - "blockTimestamp": "0x696289cd", - "transactionHash": "0xc651d3ade7f471daaac396fce0295e0f9d3b37997342102d80db5ea73bb0a992", - "transactionIndex": "0xb4", - "logIndex": "0x412", + "data": "0x00000000000000000000000081f17748b0abe955790346b904f6b78e67594ed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000449362149e000000000000000000000000944766f715b51967e56afde5f0aa76ceacc9e7f9000000000000000000000000905cd24370018befb6c648420d35dfeba9e6260200000000000000000000000000000000000000000000000000000000", + "blockHash": "0xf32796caa861f3737dc3d6986103fcc6ef3bba9e6687c4f16426a54e201ecd66", + "blockNumber": "0x277c6c1", + "blockTimestamp": "0x6979ea65", + "transactionHash": "0x02ad712190b539e26284035d1fa13c588701eefdff877121fe133ce5357048f2", + "transactionIndex": "0x7a", + "logIndex": "0x24c", "removed": false }, { "address": "0x60163d6406503426e712ed6c507137229552756d", "topics": [ "0x20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d0387", - "0x5990e298549c8a706161c711a4999036aa0adbc38e849561e67e332ffc44db78" + "0x0daf49907523ec0a80c0a4fc6462a7ebe6f6cd2dce5a51547f4863cf5fbbb581" ], - "data": "0x3e892fb91dfbc10d7e435e2a6a0835629c7ff7120067adc69dda34115ffd490a", - "blockHash": "0x930b31f7343387cf99a70c7625778f7e10a9d46455654a0e77b8df6aacb83f4d", - "blockNumber": "0x26c1675", - "blockTimestamp": "0x696289cd", - "transactionHash": "0xc651d3ade7f471daaac396fce0295e0f9d3b37997342102d80db5ea73bb0a992", - "transactionIndex": "0xb4", - "logIndex": "0x413", + "data": "0x7e423dda6218c530071c65008a4c32045b3e34b42c05c16aaf80e3d5ee9f86ef", + "blockHash": "0xf32796caa861f3737dc3d6986103fcc6ef3bba9e6687c4f16426a54e201ecd66", + "blockNumber": "0x277c6c1", + "blockTimestamp": "0x6979ea65", + "transactionHash": "0x02ad712190b539e26284035d1fa13c588701eefdff877121fe133ce5357048f2", + "transactionIndex": "0x7a", + "logIndex": "0x24d", "removed": false } ], - "logsBloom": "0x00000000000000000000000040000000000000000000000000000000000000080000000000000000000000000000000100000000800000000000000000000000000000000000000000000000000000000000000000000008000000000000000000080000020000000000000000000800000080000000000000000000000100000000000000040040000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "logsBloom": "0x00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000100000000800000000000000000000000000000800000000000000000000000000000000000000008000000000000000000080000020000000000000000000800000080000000000000000000000000000000000000040040000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000020000000000000800000000000000000000000000000000000000000000000000000", "type": "0x2", - "transactionHash": "0xc651d3ade7f471daaac396fce0295e0f9d3b37997342102d80db5ea73bb0a992", - "transactionIndex": "0xb4", - "blockHash": "0x930b31f7343387cf99a70c7625778f7e10a9d46455654a0e77b8df6aacb83f4d", - "blockNumber": "0x26c1675", + "transactionHash": "0x02ad712190b539e26284035d1fa13c588701eefdff877121fe133ce5357048f2", + "transactionIndex": "0x7a", + "blockHash": "0xf32796caa861f3737dc3d6986103fcc6ef3bba9e6687c4f16426a54e201ecd66", + "blockNumber": "0x277c6c1", "gasUsed": "0xddee", - "effectiveGasPrice": "0xf3abd", - "blobGasUsed": "0xd68d", + "effectiveGasPrice": "0x1342ee", + "blobGasUsed": "0x5d64", "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", "to": "0x60163d6406503426e712ed6c507137229552756d", "contractAddress": null, - "daFootprintGasScalar": "0x145", + "daFootprintGasScalar": "0x8b", "l1BaseFeeScalar": "0x8dd", - "l1BlobBaseFee": "0x1b57ef", + "l1BlobBaseFee": "0x70eb6a", "l1BlobBaseFeeScalar": "0x101c12", - "l1Fee": "0x1d6eb85e", - "l1GasPrice": "0x1aa7f59", - "l1GasUsed": "0xa9e" + "l1Fee": "0x817ddb0b", + "l1GasPrice": "0x7dcd636", + "l1GasUsed": "0xac6" }, { "status": "0x1", - "cumulativeGasUsed": "0x2ba5d0f", + "cumulativeGasUsed": "0x1994e31", "logs": [ { "address": "0x81f17748b0abe955790346b904f6b78e67594ed0", "topics": [ "0x1cf35c87329e14a81fdc68af8a463c1db203ccfc925ff5150f5dbc71bc4c2372", - "0x000000000000000000000000b99b6df96d4d5448cc0a5b3e0ef7896df9507cf5", + "0x000000000000000000000000944766f715b51967e56afde5f0aa76ceacc9e7f9", "0x000000000000000000000000905cd24370018befb6c648420d35dfeba9e62602" ], "data": "0x", - "blockHash": "0x930b31f7343387cf99a70c7625778f7e10a9d46455654a0e77b8df6aacb83f4d", - "blockNumber": "0x26c1675", - "blockTimestamp": "0x696289cd", - "transactionHash": "0x391ee4f3cbe36ecaece639f89661e9065d3cf8e4881886ef1a62ee033285f4b4", - "transactionIndex": "0xb5", - "logIndex": "0x414", + "blockHash": "0xf32796caa861f3737dc3d6986103fcc6ef3bba9e6687c4f16426a54e201ecd66", + "blockNumber": "0x277c6c1", + "blockTimestamp": "0x6979ea65", + "transactionHash": "0xa852262892b55dce458756ac714e27abe49aa0f08517c34f011df6b3e944d8ae", + "transactionIndex": "0x94", + "logIndex": "0x292", "removed": false }, { "address": "0x60163d6406503426e712ed6c507137229552756d", "topics": [ "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", - "0x5990e298549c8a706161c711a4999036aa0adbc38e849561e67e332ffc44db78", + "0x0daf49907523ec0a80c0a4fc6462a7ebe6f6cd2dce5a51547f4863cf5fbbb581", "0x0000000000000000000000000000000000000000000000000000000000000000" ], - "data": "0x00000000000000000000000081f17748b0abe955790346b904f6b78e67594ed00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000449362149e000000000000000000000000b99b6df96d4d5448cc0a5b3e0ef7896df9507cf5000000000000000000000000905cd24370018befb6c648420d35dfeba9e6260200000000000000000000000000000000000000000000000000000000", - "blockHash": "0x930b31f7343387cf99a70c7625778f7e10a9d46455654a0e77b8df6aacb83f4d", - "blockNumber": "0x26c1675", - "blockTimestamp": "0x696289cd", - "transactionHash": "0x391ee4f3cbe36ecaece639f89661e9065d3cf8e4881886ef1a62ee033285f4b4", - "transactionIndex": "0xb5", - "logIndex": "0x415", + "data": "0x00000000000000000000000081f17748b0abe955790346b904f6b78e67594ed00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000449362149e000000000000000000000000944766f715b51967e56afde5f0aa76ceacc9e7f9000000000000000000000000905cd24370018befb6c648420d35dfeba9e6260200000000000000000000000000000000000000000000000000000000", + "blockHash": "0xf32796caa861f3737dc3d6986103fcc6ef3bba9e6687c4f16426a54e201ecd66", + "blockNumber": "0x277c6c1", + "blockTimestamp": "0x6979ea65", + "transactionHash": "0xa852262892b55dce458756ac714e27abe49aa0f08517c34f011df6b3e944d8ae", + "transactionIndex": "0x94", + "logIndex": "0x293", "removed": false } ], - "logsBloom": "0x00000000000000000000040400000000000000000000000000000000200000080000000000000000000000000000000000000000000800000200000000000000000000000000000000000000000000000000000000000000000000000400002080080000020000000000000000000800000000000000000000000000000100000000008000040040000000000000000000000000000000000000001002000000000004000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000020000000000000000000000400000000000000000000000000000000000000000800", + "logsBloom": "0x00000000000000000000040400000000000000000000000000000000000000000000000000040000000000000000000000000000000800000200000000000000000000800000000000000000000000000000000000000000000000000400002000080000020000000000000000000800000000000000000000000000000000000000008000040040000000000000000000000200000000000000001002000000000000200000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000020000000000000800000000400020000000000000000000000000000000000000000", "type": "0x2", - "transactionHash": "0x391ee4f3cbe36ecaece639f89661e9065d3cf8e4881886ef1a62ee033285f4b4", - "transactionIndex": "0xb5", - "blockHash": "0x930b31f7343387cf99a70c7625778f7e10a9d46455654a0e77b8df6aacb83f4d", - "blockNumber": "0x26c1675", + "transactionHash": "0xa852262892b55dce458756ac714e27abe49aa0f08517c34f011df6b3e944d8ae", + "transactionIndex": "0x94", + "blockHash": "0xf32796caa861f3737dc3d6986103fcc6ef3bba9e6687c4f16426a54e201ecd66", + "blockNumber": "0x277c6c1", "gasUsed": "0x1d48a", - "effectiveGasPrice": "0xf3abd", - "blobGasUsed": "0xd403", + "effectiveGasPrice": "0x1342ee", + "blobGasUsed": "0x5bc3", "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", "to": "0x60163d6406503426e712ed6c507137229552756d", "contractAddress": null, - "daFootprintGasScalar": "0x145", + "daFootprintGasScalar": "0x8b", "l1BaseFeeScalar": "0x8dd", - "l1BlobBaseFee": "0x1b57ef", + "l1BlobBaseFee": "0x70eb6a", "l1BlobBaseFeeScalar": "0x101c12", - "l1Fee": "0x1cff6b5d", - "l1GasPrice": "0x1aa7f59", - "l1GasUsed": "0xa76" + "l1Fee": "0x7f9b4da5", + "l1GasPrice": "0x7dcd636", + "l1GasUsed": "0xa9e" } ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1768065488836, + "timestamp": 1769597544062, "chain": 8453, - "commit": "a2591e4" + "commit": "c9fdc30" } \ No newline at end of file diff --git a/landing-page/index.html b/landing-page/index.html index 44f2b1f..7a59d5b 100644 --- a/landing-page/index.html +++ b/landing-page/index.html @@ -475,7 +475,7 @@

Get expert support

-

Built by the team behind YieldSeeker. We've been depoloying to mainnet since 2021.

+

Built by the team behind YieldSeeker. We've been deploying to mainnet since 2021.

A Fox diff --git a/src/FeeTracker.sol b/src/FeeTracker.sol index 6a0274d..a5804e7 100644 --- a/src/FeeTracker.sol +++ b/src/FeeTracker.sol @@ -178,6 +178,52 @@ contract YieldSeekerFeeTracker is AccessControl { } } + /** + * @notice Record a vault asset withdrawal and calculate yield using actual vault balance + * @param vault The vault address + * @param assetsReceived The amount of base assets received from the withdrawal + * @param totalVaultBalanceBefore The total vault balance (in base asset terms) before withdrawal + * @dev Uses actual vault balance to compute proportional cost basis, avoiding virtual share conversion. + * For rebasing tokens (Aave, CompoundV3), totalVaultBalanceBefore is the token balance. + * For exchange-rate tokens (CompoundV2), totalVaultBalanceBefore is the underlying value. + */ + function recordAgentVaultAssetWithdraw(address vault, uint256 assetsReceived, uint256 totalVaultBalanceBefore) external { + if (assetsReceived == 0 || totalVaultBalanceBefore == 0) return; + address wallet = msg.sender; + uint256 totalCostBasis = agentVaultCostBasis[wallet][vault]; + uint256 totalShares = agentVaultShares[wallet][vault]; + uint256 vaultTokenFeesOwed = agentYieldTokenFeesOwed[wallet][vault]; + uint256 feeInBaseAsset = 0; + if (vaultTokenFeesOwed > 0) { + uint256 feeTokenSettled; + if (assetsReceived >= totalVaultBalanceBefore) { + feeTokenSettled = vaultTokenFeesOwed; + } else { + feeTokenSettled = (vaultTokenFeesOwed * assetsReceived) / totalVaultBalanceBefore; + } + agentYieldTokenFeesOwed[wallet][vault] = vaultTokenFeesOwed - feeTokenSettled; + feeInBaseAsset = feeTokenSettled; + agentFeesCharged[wallet] += feeInBaseAsset; + emit YieldRecorded(wallet, feeInBaseAsset, feeInBaseAsset); + } + uint256 proportionalCost; + uint256 proportionalShares; + if (assetsReceived >= totalVaultBalanceBefore) { + proportionalCost = totalCostBasis; + proportionalShares = totalShares; + } else { + proportionalCost = (totalCostBasis * assetsReceived) / totalVaultBalanceBefore; + proportionalShares = (totalShares * assetsReceived) / totalVaultBalanceBefore; + } + uint256 netAssets = assetsReceived - feeInBaseAsset; + if (netAssets > proportionalCost) { + uint256 profit = netAssets - proportionalCost; + _chargeFeesOnProfit(wallet, profit); + } + agentVaultCostBasis[wallet][vault] = totalCostBasis - proportionalCost; + agentVaultShares[wallet][vault] = totalShares - proportionalShares; + } + /** * @notice Record yield earned in base asset * @param amount The amount of yield earned in base asset diff --git a/src/adapters/AaveV3Adapter.sol b/src/adapters/AaveV3Adapter.sol index 8a205d5..06c366e 100644 --- a/src/adapters/AaveV3Adapter.sol +++ b/src/adapters/AaveV3Adapter.sol @@ -16,28 +16,20 @@ // pragma solidity 0.8.28; -import {AWKErrors} from "../agentwalletkit/AWKErrors.sol"; -import {AWKAaveV3Adapter, IAaveAToken, IAaveV3Pool} from "../agentwalletkit/adapters/AWKAaveV3Adapter.sol"; +import {AWKAaveV3Adapter, IAaveAToken} from "../agentwalletkit/adapters/AWKAaveV3Adapter.sol"; import {YieldSeekerAdapter} from "./Adapter.sol"; -import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; -import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; /** * @title YieldSeekerAaveV3Adapter - * @notice YieldSeeker-specific Aave V3 adapter with fee tracking via virtual shares - * @dev Extends the generic AWKAaveV3Adapter and implements virtual share tracking. - * Aave uses rebasing tokens (aToken balance grows over time). To enable proper - * fee tracking, we treat aTokens as a yield-daddy style wrapper: - * - On deposit: virtualShares = assetsDeposited (1:1 at deposit time) - * - On withdraw: convert virtualShares to actual aTokens using current exchange rate - * This makes rebasing yield appear as share price appreciation to FeeTracker. + * @notice YieldSeeker-specific Aave V3 adapter with fee tracking + * @dev Extends the generic AWKAaveV3Adapter with base asset validation and fee tracking. + * Aave uses rebasing tokens (aToken balance grows over time). + * Fee computation uses actual vault balance proportion for cost basis. */ contract YieldSeekerAaveV3Adapter is AWKAaveV3Adapter, YieldSeekerAdapter { - using SafeERC20 for IERC20; /** * @notice Internal deposit implementation with validation and fee tracking - * @dev Records virtual shares = assets deposited (1:1 at deposit time) */ function _depositInternal(address vault, uint256 amount) internal override returns (uint256 shares) { address asset = _getVaultAsset(vault); @@ -47,23 +39,13 @@ contract YieldSeekerAaveV3Adapter is AWKAaveV3Adapter, YieldSeekerAdapter { } /** - * @notice Internal withdraw implementation with virtual share conversion - * @dev Converts virtual shares to actual aTokens using exchange rate: - * aTokensToWithdraw = (currentBalance * virtualShares) / totalVirtualShares + * @notice Internal withdraw implementation with fee tracking */ - function _withdrawInternal(address vault, uint256 virtualShares) internal override returns (uint256 assets) { - if (virtualShares == 0) revert AWKErrors.ZeroAmount(); + function _withdrawInternal(address vault, uint256 amount) internal override returns (uint256 assets) { address asset = _getVaultAsset(vault); _requireBaseAsset(asset); - uint256 currentBalance = IAaveAToken(vault).balanceOf(address(this)); - (, uint256 totalVirtualShares) = _feeTracker().getAgentVaultPosition(address(this), vault); - uint256 aTokensToWithdraw = virtualShares; - if (totalVirtualShares > 0 && currentBalance > 0) { - aTokensToWithdraw = (currentBalance * virtualShares) / totalVirtualShares; - } - address pool = IAaveAToken(vault).POOL(); - assets = IAaveV3Pool(pool).withdraw({asset: asset, amount: aTokensToWithdraw, to: address(this)}); - emit Withdrawn(address(this), vault, virtualShares, assets); - _feeTracker().recordAgentVaultShareWithdraw({vault: vault, sharesSpent: virtualShares, assetsReceived: assets}); + uint256 totalVaultBalanceBefore = IAaveAToken(vault).balanceOf(address(this)); + assets = super._withdrawInternal(vault, amount); + _feeTracker().recordAgentVaultAssetWithdraw({vault: vault, assetsReceived: assets, totalVaultBalanceBefore: totalVaultBalanceBefore}); } } diff --git a/src/adapters/CompoundV2Adapter.sol b/src/adapters/CompoundV2Adapter.sol index 47bd59c..43e0a0f 100644 --- a/src/adapters/CompoundV2Adapter.sol +++ b/src/adapters/CompoundV2Adapter.sol @@ -16,39 +16,20 @@ // pragma solidity 0.8.28; -import {AWKErrors} from "../agentwalletkit/AWKErrors.sol"; -import {AWKCompoundV2Adapter} from "../agentwalletkit/adapters/AWKCompoundV2Adapter.sol"; +import {AWKCompoundV2Adapter, ICToken} from "../agentwalletkit/adapters/AWKCompoundV2Adapter.sol"; import {YieldSeekerAdapter} from "./Adapter.sol"; -import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; -import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; - -/** - * @title IYSCToken - * @notice Extended cToken interface with redeem function - */ -interface IYSCToken { - function underlying() external view returns (address); - function redeem(uint256 redeemTokens) external returns (uint256); - function balanceOf(address account) external view returns (uint256); - function exchangeRateStored() external view returns (uint256); -} /** * @title YieldSeekerCompoundV2Adapter - * @notice YieldSeeker-specific Compound V2 adapter with fee tracking via virtual shares - * @dev Extends the generic AWKCompoundV2Adapter and implements virtual share tracking. + * @notice YieldSeeker-specific Compound V2 adapter with fee tracking + * @dev Extends the generic AWKCompoundV2Adapter with base asset validation and fee tracking. * Compound V2 uses exchange rate model (cToken * exchangeRate = underlying). - * We use virtual shares like Aave/CompoundV3 for consistency: - * - On deposit: virtualShares = assetsDeposited (1:1 at deposit time) - * - On withdraw: convert virtualShares to cTokens using tracked ratio - * This makes yield appear as share price appreciation to FeeTracker. + * Fee computation uses actual underlying balance proportion for cost basis. */ contract YieldSeekerCompoundV2Adapter is AWKCompoundV2Adapter, YieldSeekerAdapter { - using SafeERC20 for IERC20; /** * @notice Internal deposit implementation with validation and fee tracking - * @dev Records virtual shares = assets deposited (1:1 at deposit time) */ function _depositInternal(address vault, uint256 amount) internal override returns (uint256 shares) { address asset = _getVaultAsset(vault); @@ -58,28 +39,15 @@ contract YieldSeekerCompoundV2Adapter is AWKCompoundV2Adapter, YieldSeekerAdapte } /** - * @notice Internal withdraw implementation with virtual share conversion - * @dev Converts virtual shares to cTokens, then redeems for underlying: - * 1. Get current underlying value of all cTokens - * 2. Calculate proportion of cTokens to redeem based on virtual shares - * 3. Redeem cTokens for underlying + * @notice Internal withdraw implementation with fee tracking */ - function _withdrawInternal(address vault, uint256 virtualShares) internal override returns (uint256 assets) { - if (virtualShares == 0) revert AWKErrors.ZeroAmount(); + function _withdrawInternal(address vault, uint256 amount) internal override returns (uint256 assets) { address asset = _getVaultAsset(vault); _requireBaseAsset(asset); - uint256 cTokenBalance = IYSCToken(vault).balanceOf(address(this)); - (, uint256 totalVirtualShares) = _feeTracker().getAgentVaultPosition(address(this), vault); - uint256 cTokensToRedeem = cTokenBalance; - if (totalVirtualShares > 0 && cTokenBalance > 0) { - cTokensToRedeem = (cTokenBalance * virtualShares) / totalVirtualShares; - } - uint256 balanceBefore = IERC20(asset).balanceOf(address(this)); - uint256 redeemResult = IYSCToken(vault).redeem(cTokensToRedeem); - require(redeemResult == 0, "YieldSeekerCompoundV2Adapter: redeem failed"); - uint256 balanceAfter = IERC20(asset).balanceOf(address(this)); - assets = balanceAfter - balanceBefore; - emit Withdrawn(address(this), vault, virtualShares, assets); - _feeTracker().recordAgentVaultShareWithdraw({vault: vault, sharesSpent: virtualShares, assetsReceived: assets}); + uint256 cTokenBalance = ICToken(vault).balanceOf(address(this)); + uint256 exchangeRate = ICToken(vault).exchangeRateStored(); + uint256 totalVaultBalanceBefore = (cTokenBalance * exchangeRate) / 1e18; + assets = super._withdrawInternal(vault, amount); + _feeTracker().recordAgentVaultAssetWithdraw({vault: vault, assetsReceived: assets, totalVaultBalanceBefore: totalVaultBalanceBefore}); } } diff --git a/src/adapters/CompoundV3Adapter.sol b/src/adapters/CompoundV3Adapter.sol index 347ba30..bb92de4 100644 --- a/src/adapters/CompoundV3Adapter.sol +++ b/src/adapters/CompoundV3Adapter.sol @@ -16,28 +16,20 @@ // pragma solidity 0.8.28; -import {AWKErrors} from "../agentwalletkit/AWKErrors.sol"; import {AWKCompoundV3Adapter, ICompoundV3Comet} from "../agentwalletkit/adapters/AWKCompoundV3Adapter.sol"; import {YieldSeekerAdapter} from "./Adapter.sol"; -import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; -import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; /** * @title YieldSeekerCompoundV3Adapter - * @notice YieldSeeker-specific Compound V3 (Comet) adapter with fee tracking via virtual shares - * @dev Extends the generic AWKCompoundV3Adapter and implements virtual share tracking. - * Compound V3 uses rebasing balance (balanceOf grows over time). To enable proper - * fee tracking, we treat it as a yield-daddy style wrapper: - * - On deposit: virtualShares = assetsDeposited (1:1 at deposit time) - * - On withdraw: convert virtualShares to actual balance using current exchange rate - * This makes rebasing yield appear as share price appreciation to FeeTracker. + * @notice YieldSeeker-specific Compound V3 (Comet) adapter with fee tracking + * @dev Extends the generic AWKCompoundV3Adapter with base asset validation and fee tracking. + * Compound V3 uses rebasing balance (balanceOf grows over time). + * Fee computation uses actual vault balance proportion for cost basis. */ contract YieldSeekerCompoundV3Adapter is AWKCompoundV3Adapter, YieldSeekerAdapter { - using SafeERC20 for IERC20; /** * @notice Internal deposit implementation with validation and fee tracking - * @dev Records virtual shares = assets deposited (1:1 at deposit time) */ function _depositInternal(address vault, uint256 amount) internal override returns (uint256 shares) { address asset = _getVaultAsset(vault); @@ -47,25 +39,13 @@ contract YieldSeekerCompoundV3Adapter is AWKCompoundV3Adapter, YieldSeekerAdapte } /** - * @notice Internal withdraw implementation with virtual share conversion - * @dev Converts virtual shares to actual Comet balance using exchange rate: - * amountToWithdraw = (currentBalance * virtualShares) / totalVirtualShares + * @notice Internal withdraw implementation with fee tracking */ - function _withdrawInternal(address vault, uint256 virtualShares) internal override returns (uint256 assets) { - if (virtualShares == 0) revert AWKErrors.ZeroAmount(); + function _withdrawInternal(address vault, uint256 amount) internal override returns (uint256 assets) { address asset = _getVaultAsset(vault); _requireBaseAsset(asset); - uint256 currentBalance = ICompoundV3Comet(vault).balanceOf(address(this)); - (, uint256 totalVirtualShares) = _feeTracker().getAgentVaultPosition(address(this), vault); - uint256 amountToWithdraw = virtualShares; - if (totalVirtualShares > 0 && currentBalance > 0) { - amountToWithdraw = (currentBalance * virtualShares) / totalVirtualShares; - } - uint256 balanceBefore = IERC20(asset).balanceOf(address(this)); - ICompoundV3Comet(vault).withdraw({asset: asset, amount: amountToWithdraw}); - uint256 balanceAfter = IERC20(asset).balanceOf(address(this)); - assets = balanceAfter - balanceBefore; - emit Withdrawn(address(this), vault, virtualShares, assets); - _feeTracker().recordAgentVaultShareWithdraw({vault: vault, sharesSpent: virtualShares, assetsReceived: assets}); + uint256 totalVaultBalanceBefore = ICompoundV3Comet(vault).balanceOf(address(this)); + assets = super._withdrawInternal(vault, amount); + _feeTracker().recordAgentVaultAssetWithdraw({vault: vault, assetsReceived: assets, totalVaultBalanceBefore: totalVaultBalanceBefore}); } } diff --git a/test/security/UntrackedPositionSecurity.t.sol b/test/security/UntrackedPositionSecurity.t.sol new file mode 100644 index 0000000..447c6dc --- /dev/null +++ b/test/security/UntrackedPositionSecurity.t.sol @@ -0,0 +1,179 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.28; + +import {YieldSeekerFeeTracker} from "../../src/FeeTracker.sol"; +import {YieldSeekerAaveV3Adapter} from "../../src/adapters/AaveV3Adapter.sol"; +import {YieldSeekerCompoundV2Adapter} from "../../src/adapters/CompoundV2Adapter.sol"; +import {YieldSeekerCompoundV3Adapter} from "../../src/adapters/CompoundV3Adapter.sol"; +import {AWKErrors} from "../../src/agentwalletkit/AWKErrors.sol"; +import {MockAToken, MockAaveV3Pool} from "../mocks/MockAaveV3.sol"; +import {MockCToken} from "../mocks/MockCompoundV2.sol"; +import {MockCompoundV3Comet} from "../mocks/MockCompoundV3.sol"; +import {MockERC20} from "../mocks/MockERC20.sol"; +import {AdapterWalletHarness} from "../unit/adapters/AdapterHarness.t.sol"; +import {Test} from "forge-std/Test.sol"; + +/// @title UntrackedPositionSecurityTest +/// @notice Verifies that the asset-amount-based withdrawal fix correctly handles +/// vault tokens received outside the adapter deposit flow. +/// Previously, virtual share fallbacks caused destructive withdrawals and fee corruption. +contract UntrackedPositionSecurityTest is Test { + YieldSeekerFeeTracker feeTracker; + AdapterWalletHarness wallet; + MockERC20 baseAsset; + + function _decodeUint(bytes memory data) internal pure returns (uint256) { + return abi.decode(abi.decode(data, (bytes)), (uint256)); + } + + function setUp() public { + baseAsset = new MockERC20("Mock USDC", "mUSDC"); + feeTracker = new YieldSeekerFeeTracker(address(this)); + feeTracker.setFeeConfig(1000, address(0xBEEF)); // 10% fee + wallet = new AdapterWalletHarness(baseAsset, feeTracker); + baseAsset.mint(address(wallet), 1_000_000e6); + } + + // ============ CompoundV2: No longer liquidates entire balance ============ + + /// @notice With the fix, requesting a specific USDC amount from an untracked CompoundV2 + /// position only redeems that amount (via redeemUnderlying), not the entire balance. + function test_CompoundV2_UntrackedPosition_WithdrawsOnlyRequestedAmount() public { + YieldSeekerCompoundV2Adapter adapter = new YieldSeekerCompoundV2Adapter(); + MockCToken cToken = new MockCToken(address(baseAsset), "Mock cUSDC", "mcUSDC"); + address externalDepositor = address(0xDEAD); + uint256 untrackedAmount = 50_000e6; + baseAsset.mint(externalDepositor, untrackedAmount); + vm.startPrank(externalDepositor); + baseAsset.approve(address(cToken), untrackedAmount); + cToken.mint(untrackedAmount); + cToken.transfer(address(wallet), cToken.balanceOf(externalDepositor)); + vm.stopPrank(); + uint256 cTokenBalanceBefore = cToken.balanceOf(address(wallet)); + assertGt(cTokenBalanceBefore, 0, "Wallet should hold cTokens"); + (uint256 costBasis, uint256 shares) = feeTracker.getAgentVaultPosition(address(wallet), address(cToken)); + assertEq(costBasis, 0, "No tracked cost basis"); + assertEq(shares, 0, "No tracked shares"); + uint256 withdrawRequest = 1_000e6; + uint256 walletBalanceBefore = baseAsset.balanceOf(address(wallet)); + wallet.executeAdapter( + address(adapter), + address(cToken), + abi.encodeWithSelector(adapter.withdraw.selector, withdrawRequest) + ); + uint256 walletBalanceAfter = baseAsset.balanceOf(address(wallet)); + uint256 assetsReceived = walletBalanceAfter - walletBalanceBefore; + assertEq(assetsReceived, withdrawRequest, "Should receive exactly the requested amount"); + uint256 cTokenBalanceAfter = cToken.balanceOf(address(wallet)); + assertGt(cTokenBalanceAfter, 0, "FIX: Remaining cTokens preserved, not liquidated"); + uint256 expectedFee = (withdrawRequest * 1000) / 10_000; + assertEq(feeTracker.agentFeesCharged(address(wallet)), expectedFee, "FIX: Fees charged on untracked tokens as profit"); + } + + // ============ AaveV3: Direct asset withdrawal with proper fees ============ + + /// @notice With the fix, withdrawing from an untracked Aave position correctly + /// withdraws the exact requested amount and charges fees on it as profit. + function test_AaveV3_UntrackedPosition_CorrectWithdrawalAndFees() public { + YieldSeekerAaveV3Adapter adapter = new YieldSeekerAaveV3Adapter(); + MockAaveV3Pool pool = new MockAaveV3Pool(address(baseAsset)); + MockAToken aToken = MockAToken(pool.aToken()); + uint256 untrackedAmount = 1_050e6; + aToken.addYield(address(wallet), untrackedAmount); + baseAsset.mint(address(aToken), untrackedAmount); + assertEq(aToken.balanceOf(address(wallet)), untrackedAmount, "Wallet should hold aTokens"); + (, uint256 shares) = feeTracker.getAgentVaultPosition(address(wallet), address(aToken)); + assertEq(shares, 0, "No tracked shares"); + uint256 withdrawAmount = 500e6; + uint256 walletBalanceBefore = baseAsset.balanceOf(address(wallet)); + wallet.executeAdapter( + address(adapter), + address(aToken), + abi.encodeWithSelector(adapter.withdraw.selector, withdrawAmount) + ); + uint256 walletBalanceAfter = baseAsset.balanceOf(address(wallet)); + uint256 assetsReceived = walletBalanceAfter - walletBalanceBefore; + assertEq(assetsReceived, withdrawAmount, "Should receive exactly the requested amount"); + assertEq(aToken.balanceOf(address(wallet)), untrackedAmount - withdrawAmount, "FIX: Remaining aTokens preserved"); + uint256 expectedFee = (withdrawAmount * 1000) / 10_000; + assertEq(feeTracker.agentFeesCharged(address(wallet)), expectedFee, "FIX: Fees charged on untracked tokens as profit"); + } + + // ============ CompoundV3: Direct asset withdrawal with proper fees ============ + + /// @notice Same fix applied to CompoundV3 — exact amount withdrawn, fees charged correctly. + function test_CompoundV3_UntrackedPosition_CorrectWithdrawalAndFees() public { + YieldSeekerCompoundV3Adapter adapter = new YieldSeekerCompoundV3Adapter(); + MockCompoundV3Comet comet = new MockCompoundV3Comet(address(baseAsset)); + uint256 untrackedAmount = 1_050e6; + comet.addYield(address(wallet), untrackedAmount); + baseAsset.mint(address(comet), untrackedAmount); + assertEq(comet.balanceOf(address(wallet)), untrackedAmount, "Wallet should hold Comet balance"); + (, uint256 shares) = feeTracker.getAgentVaultPosition(address(wallet), address(comet)); + assertEq(shares, 0, "No tracked shares"); + uint256 withdrawAmount = 500e6; + uint256 walletBalanceBefore = baseAsset.balanceOf(address(wallet)); + wallet.executeAdapter( + address(adapter), + address(comet), + abi.encodeWithSelector(adapter.withdraw.selector, withdrawAmount) + ); + uint256 walletBalanceAfter = baseAsset.balanceOf(address(wallet)); + uint256 assetsReceived = walletBalanceAfter - walletBalanceBefore; + assertEq(assetsReceived, withdrawAmount, "Should receive exactly the requested amount"); + assertEq(comet.balanceOf(address(wallet)), untrackedAmount - withdrawAmount, "FIX: Remaining balance preserved"); + uint256 expectedFee = (withdrawAmount * 1000) / 10_000; + assertEq(feeTracker.agentFeesCharged(address(wallet)), expectedFee, "FIX: Fees charged on untracked tokens as profit"); + } + + // ============ Fee accounting consistency across deposit/untracked flows ============ + + /// @notice Verifies that untracked tokens followed by a tracked deposit produce correct + /// fee accounting. The proportional cost basis computation against actual vault + /// balance means untracked tokens are naturally treated as profit. + function test_CompoundV3_UntrackedThenTracked_CorrectFeeAccounting() public { + YieldSeekerCompoundV3Adapter adapter = new YieldSeekerCompoundV3Adapter(); + MockCompoundV3Comet comet = new MockCompoundV3Comet(address(baseAsset)); + // Step 1: Untracked tokens arrive + uint256 untrackedAmount = 500e6; + comet.addYield(address(wallet), untrackedAmount); + baseAsset.mint(address(comet), untrackedAmount); + // Step 2: Withdraw half the untracked tokens — fees charged as pure profit + uint256 firstWithdraw = 250e6; + wallet.executeAdapter( + address(adapter), + address(comet), + abi.encodeWithSelector(adapter.withdraw.selector, firstWithdraw) + ); + uint256 firstFee = (firstWithdraw * 1000) / 10_000; + assertEq(feeTracker.agentFeesCharged(address(wallet)), firstFee, "Fee on first untracked withdrawal"); + // Step 3: Tracked deposit on top of remaining untracked tokens + uint256 trackedDeposit = 1_000e6; + wallet.executeAdapter( + address(adapter), + address(comet), + abi.encodeWithSelector(adapter.deposit.selector, trackedDeposit) + ); + // Balance = 250 (remaining untracked) + 1000 (deposit) = 1250 + uint256 totalBalance = comet.balanceOf(address(wallet)); + assertEq(totalBalance, 1_250e6, "Total balance correct"); + (uint256 costBasis,) = feeTracker.getAgentVaultPosition(address(wallet), address(comet)); + assertEq(costBasis, trackedDeposit, "Cost basis equals tracked deposit only"); + // Step 4: Withdraw everything — proportional cost basis correctly attributes the + // 250 untracked remainder as profit + wallet.executeAdapter( + address(adapter), + address(comet), + abi.encodeWithSelector(adapter.withdraw.selector, totalBalance) + ); + // proportionalCost = (1000 * 1250) / 1250 = 1000 (full cost basis) + // profit = 1250 - 1000 = 250 (the untracked remainder) + // fee on profit = 250 * 10% = 25 + uint256 secondFee = (250e6 * 1000) / 10_000; + uint256 totalExpectedFees = firstFee + secondFee; + assertEq(feeTracker.agentFeesCharged(address(wallet)), totalExpectedFees, "FIX: Total fees correctly account for all untracked tokens"); + (uint256 finalCostBasis, uint256 finalShares) = feeTracker.getAgentVaultPosition(address(wallet), address(comet)); + assertEq(finalCostBasis, 0, "Cost basis fully cleared"); + assertEq(finalShares, 0, "Shares fully cleared"); + } +} diff --git a/test/unit/adapters/AaveV3Adapter.t.sol b/test/unit/adapters/AaveV3Adapter.t.sol index 2fbb3b7..c74d59f 100644 --- a/test/unit/adapters/AaveV3Adapter.t.sol +++ b/test/unit/adapters/AaveV3Adapter.t.sol @@ -126,9 +126,9 @@ contract AaveV3AdapterTest is Test { aToken.addYield(address(wallet), yieldAmount); baseAsset.mint(address(aToken), yieldAmount); assertEq(aToken.balanceOf(address(wallet)), depositAmount + yieldAmount, "aToken balance should include yield"); - wallet.executeAdapter(address(adapter), address(aToken), abi.encodeWithSelector(adapter.withdraw.selector, depositAmount)); - uint256 expectedAssets = depositAmount + yieldAmount; - uint256 profit = expectedAssets - depositAmount; + uint256 fullBalance = depositAmount + yieldAmount; + wallet.executeAdapter(address(adapter), address(aToken), abi.encodeWithSelector(adapter.withdraw.selector, fullBalance)); + uint256 profit = fullBalance - depositAmount; uint256 expectedFee = (profit * 1000) / 10_000; assertEq(feeTracker.agentFeesCharged(address(wallet)), expectedFee, "Should charge 10% fee on yield"); (uint256 costBasisAfter, uint256 sharesAfter) = feeTracker.getAgentVaultPosition(address(wallet), address(aToken)); @@ -142,17 +142,17 @@ contract AaveV3AdapterTest is Test { uint256 yieldAmount = 100e6; aToken.addYield(address(wallet), yieldAmount); baseAsset.mint(address(aToken), yieldAmount); - uint256 withdrawVirtualShares = 500e6; - bytes memory result = wallet.executeAdapter(address(adapter), address(aToken), abi.encodeWithSelector(adapter.withdraw.selector, withdrawVirtualShares)); + uint256 totalBalance = depositAmount + yieldAmount; + uint256 withdrawAmount = 550e6; + bytes memory result = wallet.executeAdapter(address(adapter), address(aToken), abi.encodeWithSelector(adapter.withdraw.selector, withdrawAmount)); uint256 assetsReceived = _decodeUint(result); - uint256 expectedAssets = ((depositAmount + yieldAmount) * withdrawVirtualShares) / depositAmount; - assertEq(assetsReceived, expectedAssets, "Should receive proportional assets including yield"); - uint256 proportionalCost = (depositAmount * withdrawVirtualShares) / depositAmount; + assertEq(assetsReceived, withdrawAmount, "Should receive requested amount"); + uint256 proportionalCost = (depositAmount * withdrawAmount) / totalBalance; uint256 profit = assetsReceived - proportionalCost; uint256 expectedFee = (profit * 1000) / 10_000; assertEq(feeTracker.agentFeesCharged(address(wallet)), expectedFee, "Should charge correct fee"); (uint256 costBasis, uint256 shares) = feeTracker.getAgentVaultPosition(address(wallet), address(aToken)); assertEq(costBasis, depositAmount - proportionalCost, "Cost basis should be reduced proportionally"); - assertEq(shares, depositAmount - withdrawVirtualShares, "Shares should be reduced by withdrawn amount"); + assertEq(shares, depositAmount - proportionalCost, "Shares should be reduced proportionally"); } } diff --git a/test/unit/adapters/CompoundV2Adapter.t.sol b/test/unit/adapters/CompoundV2Adapter.t.sol index fb3999b..0270ebe 100644 --- a/test/unit/adapters/CompoundV2Adapter.t.sol +++ b/test/unit/adapters/CompoundV2Adapter.t.sol @@ -131,9 +131,9 @@ contract CompoundV2AdapterTest is Test { uint256 yieldBps = 1000; cToken.addYield(yieldBps); baseAsset.mint(address(cToken), (depositAmount * yieldBps) / 10_000); - wallet.executeAdapter(address(adapter), address(cToken), abi.encodeWithSelector(adapter.withdraw.selector, depositAmount)); - uint256 expectedAssets = (depositAmount * (10_000 + yieldBps)) / 10_000; - uint256 profit = expectedAssets - depositAmount; + uint256 fullBalance = (depositAmount * (10_000 + yieldBps)) / 10_000; + wallet.executeAdapter(address(adapter), address(cToken), abi.encodeWithSelector(adapter.withdraw.selector, fullBalance)); + uint256 profit = fullBalance - depositAmount; uint256 expectedFee = (profit * 1000) / 10_000; assertEq(feeTracker.agentFeesCharged(address(wallet)), expectedFee, "Should charge 10% fee on yield"); (uint256 costBasisAfter, uint256 sharesAfter) = feeTracker.getAgentVaultPosition(address(wallet), address(cToken)); @@ -147,18 +147,17 @@ contract CompoundV2AdapterTest is Test { uint256 yieldBps = 1000; cToken.addYield(yieldBps); baseAsset.mint(address(cToken), (depositAmount * yieldBps) / 10_000); - uint256 withdrawVirtualShares = 500e6; - bytes memory result = wallet.executeAdapter(address(adapter), address(cToken), abi.encodeWithSelector(adapter.withdraw.selector, withdrawVirtualShares)); + uint256 totalBalance = (depositAmount * (10_000 + yieldBps)) / 10_000; + uint256 withdrawAmount = 550e6; + bytes memory result = wallet.executeAdapter(address(adapter), address(cToken), abi.encodeWithSelector(adapter.withdraw.selector, withdrawAmount)); uint256 assetsReceived = _decodeUint(result); - uint256 totalValue = (depositAmount * (10_000 + yieldBps)) / 10_000; - uint256 expectedAssets = (totalValue * withdrawVirtualShares) / depositAmount; - assertEq(assetsReceived, expectedAssets, "Should receive proportional assets including yield"); - uint256 proportionalCost = (depositAmount * withdrawVirtualShares) / depositAmount; + assertEq(assetsReceived, withdrawAmount, "Should receive requested amount"); + uint256 proportionalCost = (depositAmount * withdrawAmount) / totalBalance; uint256 profit = assetsReceived - proportionalCost; uint256 expectedFee = (profit * 1000) / 10_000; assertEq(feeTracker.agentFeesCharged(address(wallet)), expectedFee, "Should charge correct fee"); (uint256 costBasis, uint256 shares) = feeTracker.getAgentVaultPosition(address(wallet), address(cToken)); assertEq(costBasis, depositAmount - proportionalCost, "Cost basis should be reduced proportionally"); - assertEq(shares, depositAmount - withdrawVirtualShares, "Shares should be reduced by withdrawn amount"); + assertEq(shares, depositAmount - proportionalCost, "Shares should be reduced proportionally"); } } diff --git a/test/unit/adapters/CompoundV3Adapter.t.sol b/test/unit/adapters/CompoundV3Adapter.t.sol index 0c5ba0c..c764c12 100644 --- a/test/unit/adapters/CompoundV3Adapter.t.sol +++ b/test/unit/adapters/CompoundV3Adapter.t.sol @@ -123,9 +123,9 @@ contract CompoundV3AdapterTest is Test { comet.addYield(address(wallet), yieldAmount); baseAsset.mint(address(comet), yieldAmount); assertEq(comet.balanceOf(address(wallet)), depositAmount + yieldAmount, "Comet balance should include yield"); - wallet.executeAdapter(address(adapter), address(comet), abi.encodeWithSelector(adapter.withdraw.selector, depositAmount)); - uint256 expectedAssets = depositAmount + yieldAmount; - uint256 profit = expectedAssets - depositAmount; + uint256 fullBalance = depositAmount + yieldAmount; + wallet.executeAdapter(address(adapter), address(comet), abi.encodeWithSelector(adapter.withdraw.selector, fullBalance)); + uint256 profit = fullBalance - depositAmount; uint256 expectedFee = (profit * 1000) / 10_000; assertEq(feeTracker.agentFeesCharged(address(wallet)), expectedFee, "Should charge 10% fee on yield"); (uint256 costBasisAfter, uint256 sharesAfter) = feeTracker.getAgentVaultPosition(address(wallet), address(comet)); @@ -139,17 +139,17 @@ contract CompoundV3AdapterTest is Test { uint256 yieldAmount = 100e6; comet.addYield(address(wallet), yieldAmount); baseAsset.mint(address(comet), yieldAmount); - uint256 withdrawVirtualShares = 500e6; - bytes memory result = wallet.executeAdapter(address(adapter), address(comet), abi.encodeWithSelector(adapter.withdraw.selector, withdrawVirtualShares)); + uint256 totalBalance = depositAmount + yieldAmount; + uint256 withdrawAmount = 550e6; + bytes memory result = wallet.executeAdapter(address(adapter), address(comet), abi.encodeWithSelector(adapter.withdraw.selector, withdrawAmount)); uint256 assetsReceived = _decodeUint(result); - uint256 expectedAssets = ((depositAmount + yieldAmount) * withdrawVirtualShares) / depositAmount; - assertEq(assetsReceived, expectedAssets, "Should receive proportional assets including yield"); - uint256 proportionalCost = (depositAmount * withdrawVirtualShares) / depositAmount; + assertEq(assetsReceived, withdrawAmount, "Should receive requested amount"); + uint256 proportionalCost = (depositAmount * withdrawAmount) / totalBalance; uint256 profit = assetsReceived - proportionalCost; uint256 expectedFee = (profit * 1000) / 10_000; assertEq(feeTracker.agentFeesCharged(address(wallet)), expectedFee, "Should charge correct fee"); (uint256 costBasis, uint256 shares) = feeTracker.getAgentVaultPosition(address(wallet), address(comet)); assertEq(costBasis, depositAmount - proportionalCost, "Cost basis should be reduced proportionally"); - assertEq(shares, depositAmount - withdrawVirtualShares, "Shares should be reduced by withdrawn amount"); + assertEq(shares, depositAmount - proportionalCost, "Shares should be reduced proportionally"); } } From 432d8371e489a6e4b5127bb636266624117a003d Mon Sep 17 00:00:00 2001 From: Krishan Patel Date: Tue, 10 Feb 2026 20:20:41 +0000 Subject: [PATCH 02/28] . --- src/adapters/AaveV3Adapter.sol | 6 +++--- src/adapters/CompoundV2Adapter.sol | 6 +++--- src/adapters/CompoundV3Adapter.sol | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/adapters/AaveV3Adapter.sol b/src/adapters/AaveV3Adapter.sol index 06c366e..d5512c9 100644 --- a/src/adapters/AaveV3Adapter.sol +++ b/src/adapters/AaveV3Adapter.sol @@ -35,17 +35,17 @@ contract YieldSeekerAaveV3Adapter is AWKAaveV3Adapter, YieldSeekerAdapter { address asset = _getVaultAsset(vault); _requireBaseAsset(asset); shares = super._depositInternal(vault, amount); - _feeTracker().recordAgentVaultShareDeposit({vault: vault, assetsDeposited: amount, sharesReceived: amount}); + _feeTracker().recordAgentVaultShareDeposit({vault: vault, assetsDeposited: amount, sharesReceived: shares}); } /** * @notice Internal withdraw implementation with fee tracking */ - function _withdrawInternal(address vault, uint256 amount) internal override returns (uint256 assets) { + function _withdrawInternal(address vault, uint256 shares) internal override returns (uint256 assets) { address asset = _getVaultAsset(vault); _requireBaseAsset(asset); uint256 totalVaultBalanceBefore = IAaveAToken(vault).balanceOf(address(this)); - assets = super._withdrawInternal(vault, amount); + assets = super._withdrawInternal(vault, shares); _feeTracker().recordAgentVaultAssetWithdraw({vault: vault, assetsReceived: assets, totalVaultBalanceBefore: totalVaultBalanceBefore}); } } diff --git a/src/adapters/CompoundV2Adapter.sol b/src/adapters/CompoundV2Adapter.sol index 43e0a0f..420784b 100644 --- a/src/adapters/CompoundV2Adapter.sol +++ b/src/adapters/CompoundV2Adapter.sol @@ -35,19 +35,19 @@ contract YieldSeekerCompoundV2Adapter is AWKCompoundV2Adapter, YieldSeekerAdapte address asset = _getVaultAsset(vault); _requireBaseAsset(asset); shares = super._depositInternal(vault, amount); - _feeTracker().recordAgentVaultShareDeposit({vault: vault, assetsDeposited: amount, sharesReceived: amount}); + _feeTracker().recordAgentVaultShareDeposit({vault: vault, assetsDeposited: amount, sharesReceived: shares}); } /** * @notice Internal withdraw implementation with fee tracking */ - function _withdrawInternal(address vault, uint256 amount) internal override returns (uint256 assets) { + function _withdrawInternal(address vault, uint256 shares) internal override returns (uint256 assets) { address asset = _getVaultAsset(vault); _requireBaseAsset(asset); uint256 cTokenBalance = ICToken(vault).balanceOf(address(this)); uint256 exchangeRate = ICToken(vault).exchangeRateStored(); uint256 totalVaultBalanceBefore = (cTokenBalance * exchangeRate) / 1e18; - assets = super._withdrawInternal(vault, amount); + assets = super._withdrawInternal(vault, shares); _feeTracker().recordAgentVaultAssetWithdraw({vault: vault, assetsReceived: assets, totalVaultBalanceBefore: totalVaultBalanceBefore}); } } diff --git a/src/adapters/CompoundV3Adapter.sol b/src/adapters/CompoundV3Adapter.sol index bb92de4..3f5ee5f 100644 --- a/src/adapters/CompoundV3Adapter.sol +++ b/src/adapters/CompoundV3Adapter.sol @@ -35,17 +35,17 @@ contract YieldSeekerCompoundV3Adapter is AWKCompoundV3Adapter, YieldSeekerAdapte address asset = _getVaultAsset(vault); _requireBaseAsset(asset); shares = super._depositInternal(vault, amount); - _feeTracker().recordAgentVaultShareDeposit({vault: vault, assetsDeposited: amount, sharesReceived: amount}); + _feeTracker().recordAgentVaultShareDeposit({vault: vault, assetsDeposited: amount, sharesReceived: shares}); } /** * @notice Internal withdraw implementation with fee tracking */ - function _withdrawInternal(address vault, uint256 amount) internal override returns (uint256 assets) { + function _withdrawInternal(address vault, uint256 shares) internal override returns (uint256 assets) { address asset = _getVaultAsset(vault); _requireBaseAsset(asset); uint256 totalVaultBalanceBefore = ICompoundV3Comet(vault).balanceOf(address(this)); - assets = super._withdrawInternal(vault, amount); + assets = super._withdrawInternal(vault, shares); _feeTracker().recordAgentVaultAssetWithdraw({vault: vault, assetsReceived: assets, totalVaultBalanceBefore: totalVaultBalanceBefore}); } } From 86bff686db375c30adc112ccdd096535210500d7 Mon Sep 17 00:00:00 2001 From: Krishan Patel Date: Tue, 10 Feb 2026 20:34:13 +0000 Subject: [PATCH 03/28] . --- test/unit/adapters/AdapterFlows.t.sol | 288 ++++++++++++++++++++++++++ 1 file changed, 288 insertions(+) create mode 100644 test/unit/adapters/AdapterFlows.t.sol diff --git a/test/unit/adapters/AdapterFlows.t.sol b/test/unit/adapters/AdapterFlows.t.sol new file mode 100644 index 0000000..82130b2 --- /dev/null +++ b/test/unit/adapters/AdapterFlows.t.sol @@ -0,0 +1,288 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.28; + +import {YieldSeekerFeeTracker} from "../../../src/FeeTracker.sol"; +import {YieldSeekerAaveV3Adapter} from "../../../src/adapters/AaveV3Adapter.sol"; +import {MockAToken, MockAaveV3Pool} from "../../mocks/MockAaveV3.sol"; +import {MockERC20} from "../../mocks/MockERC20.sol"; +import {AdapterWalletHarness} from "./AdapterHarness.t.sol"; +import {Test} from "forge-std/Test.sol"; + +/// @title AdapterFlowsTest +/// @notice End-to-end flow tests using Aave as the representative rebasing adapter. +/// The same proportional cost basis logic applies to CompoundV2 and CompoundV3. +contract AdapterFlowsTest is Test { + YieldSeekerFeeTracker feeTracker; + AdapterWalletHarness wallet; + MockERC20 baseAsset; + YieldSeekerAaveV3Adapter adapter; + MockAaveV3Pool pool; + MockAToken aToken; + + function setUp() public { + baseAsset = new MockERC20("Mock USDC", "mUSDC"); + feeTracker = new YieldSeekerFeeTracker(address(this)); + feeTracker.setFeeConfig(1000, address(0xBEEF)); // 10% fee + wallet = new AdapterWalletHarness(baseAsset, feeTracker); + adapter = new YieldSeekerAaveV3Adapter(); + pool = new MockAaveV3Pool(address(baseAsset)); + aToken = MockAToken(pool.aToken()); + baseAsset.mint(address(wallet), 1_000_000e6); + } + + function _deposit(uint256 amount) internal { + wallet.executeAdapter(address(adapter), address(aToken), abi.encodeWithSelector(adapter.deposit.selector, amount)); + } + + function _withdraw(uint256 amount) internal { + wallet.executeAdapter(address(adapter), address(aToken), abi.encodeWithSelector(adapter.withdraw.selector, amount)); + } + + function _addYield(uint256 amount) internal { + aToken.addYield(address(wallet), amount); + baseAsset.mint(address(aToken), amount); + } + + // ============ Flow 1: Deposit → Yield → Withdraw ============ + // + // Uses proportional cost basis: withdrawing X from a vault worth V with cost C + // means proportionalCost = (C * X) / V, profit = X - proportionalCost. + // This gives identical total fees vs FIFO, but spreads them across withdrawals. + + /// @notice Deposit 100, balance grows to 105, withdraw 100. + /// Proportional cost basis counts 100/105 of the position as withdrawn, + /// so proportionalCost = 95, profit = 5. + function test_Flow1a_DepositYieldPartialWithdraw() public { + _deposit(100e6); + _addYield(5e6); + assertEq(aToken.balanceOf(address(wallet)), 105e6); + _withdraw(100e6); + // proportionalCost = (100e6 * 100e6) / 105e6 = 95238095 (integer division) + uint256 totalBalanceBefore = 105e6; + uint256 proportionalCost = (100e6 * 100e6) / totalBalanceBefore; + uint256 profit = 100e6 - proportionalCost; + uint256 expectedFee = (profit * 1000) / 10_000; + assertEq(feeTracker.agentFeesCharged(address(wallet)), expectedFee, "Fee on proportional profit"); + // Remaining position: 5 USDC in vault, cost basis = 100e6 - 95238095 = 4761905 + (uint256 costBasis,) = feeTracker.getAgentVaultPosition(address(wallet), address(aToken)); + assertEq(costBasis, 100e6 - proportionalCost, "Remaining cost basis"); + assertEq(aToken.balanceOf(address(wallet)), 5e6, "5 aTokens remain"); + } + + /// @notice Continuing from 1a: withdraw the remaining 5. + /// The remaining cost basis is slightly less than 5 (4.76), so there's + /// a small additional profit. Total profit across both = 5. + function test_Flow1a_ThenWithdrawRemaining_TotalFeeCorrect() public { + _deposit(100e6); + _addYield(5e6); + _withdraw(100e6); + uint256 feeAfterFirst = feeTracker.agentFeesCharged(address(wallet)); + _withdraw(5e6); + uint256 totalFees = feeTracker.agentFeesCharged(address(wallet)); + // Total yield = 5 USDC, total fee should be 10% = 0.5 USDC = 500000 + // Due to integer rounding it may be off by 1 + uint256 expectedTotalFee = (5e6 * 1000) / 10_000; + assertApproxEqAbs(totalFees, expectedTotalFee, 1, "Total fees match 10% of total yield"); + assertGt(totalFees, feeAfterFirst, "Second withdrawal also charged some fee"); + (uint256 costBasis, uint256 shares) = feeTracker.getAgentVaultPosition(address(wallet), address(aToken)); + assertEq(costBasis, 0, "Position fully cleared"); + assertEq(shares, 0, "Shares fully cleared"); + } + + /// @notice Deposit 100, balance grows to 105, withdraw 104. + /// proportionalCost = (100 * 104) / 105 = 99.04, profit = 4.95 + function test_Flow1b_DepositYieldLargePartialWithdraw() public { + _deposit(100e6); + _addYield(5e6); + _withdraw(104e6); + uint256 totalBalanceBefore = 105e6; + uint256 proportionalCost = (100e6 * 104e6) / totalBalanceBefore; + uint256 profit = 104e6 - proportionalCost; + uint256 expectedFee = (profit * 1000) / 10_000; + assertEq(feeTracker.agentFeesCharged(address(wallet)), expectedFee, "Fee on proportional profit"); + (uint256 costBasis,) = feeTracker.getAgentVaultPosition(address(wallet), address(aToken)); + assertEq(costBasis, 100e6 - proportionalCost, "Remaining cost basis for 1 USDC"); + assertEq(aToken.balanceOf(address(wallet)), 1e6, "1 aToken remains"); + } + + /// @notice Deposit 100, balance grows to 105, withdraw all 105. + /// Full withdrawal: profit = 105 - 100 = 5, fee = 0.5. + function test_Flow1c_DepositYieldFullWithdraw() public { + _deposit(100e6); + _addYield(5e6); + _withdraw(105e6); + uint256 expectedFee = (5e6 * 1000) / 10_000; + assertEq(feeTracker.agentFeesCharged(address(wallet)), expectedFee, "10% of 5 USDC yield"); + (uint256 costBasis, uint256 shares) = feeTracker.getAgentVaultPosition(address(wallet), address(aToken)); + assertEq(costBasis, 0, "Position cleared"); + assertEq(shares, 0, "Shares cleared"); + } + + // ============ Flow 2: Reward tokens received ============ + // + // When aTokens arrive as Merkl rewards, recordAgentYieldTokenEarned tracks the fee + // in agentYieldTokenFeesOwed. On withdrawal, the fee is settled proportionally. + + /// @notice 10 aTokens received as reward (no deposit). Withdraw 7. + /// All 7 are profit (costBasis = 0). Additionally, vaultTokenFeesOwed + /// settles proportionally: 7/10 of the 1-aToken fee owed = 0.7 USDC. + function test_Flow2_RewardTokensWithdraw() public { + // Simulate reward: 10 aTokens appear + feeTracker records yield token earned + _addYield(10e6); + vm.prank(address(wallet)); + feeTracker.recordAgentYieldTokenEarned(address(aToken), 10e6); + uint256 vaultTokenFeeBefore = feeTracker.getAgentYieldTokenFeesOwed(address(wallet), address(aToken)); + // 10% of 10 aTokens = 1 aToken of fees owed + assertEq(vaultTokenFeeBefore, 1e6, "1 aToken fee owed on 10 aToken reward"); + // Withdraw 7 USDC + _withdraw(7e6); + // Fee settlement: 7/10 of the 1e6 fee = 700000 settled as base asset fee + uint256 feeSettled = (1e6 * 7e6) / 10e6; + // Plus: costBasis = 0, so netAssets = 7e6 - feeSettled = 6300000 is all profit + // fee on that profit = 630000 + uint256 profitFee = ((7e6 - feeSettled) * 1000) / 10_000; + uint256 totalExpectedFees = feeSettled + profitFee; + assertEq(feeTracker.agentFeesCharged(address(wallet)), totalExpectedFees, "Fees from reward settlement + profit"); + // Remaining vault token fee: 1e6 - 700000 = 300000 + uint256 remainingVaultTokenFee = feeTracker.getAgentYieldTokenFeesOwed(address(wallet), address(aToken)); + assertEq(remainingVaultTokenFee, 1e6 - feeSettled, "Remaining vault token fee"); + } + + /// @notice Deposit 100, then receive 10 aTokens as reward, then withdraw 7. + /// The 7 withdrawn comes proportionally from the 110 total balance. + function test_Flow2b_DepositThenRewardThenWithdraw() public { + _deposit(100e6); + _addYield(10e6); + vm.prank(address(wallet)); + feeTracker.recordAgentYieldTokenEarned(address(aToken), 10e6); + uint256 totalBalance = aToken.balanceOf(address(wallet)); + assertEq(totalBalance, 110e6); + _withdraw(7e6); + // vaultTokenFee settlement: 7/110 of 1e6 fee owed + uint256 totalBalanceBefore = 110e6; + uint256 feeTokenSettled = (1e6 * 7e6) / totalBalanceBefore; + // proportionalCost = (100e6 * 7e6) / 110e6 + uint256 proportionalCost = (100e6 * 7e6) / totalBalanceBefore; + // netAssets = 7e6 - feeTokenSettled, profit = netAssets - proportionalCost + uint256 netAssets = 7e6 - feeTokenSettled; + uint256 profit = netAssets > proportionalCost ? netAssets - proportionalCost : 0; + uint256 profitFee = (profit * 1000) / 10_000; + uint256 totalExpectedFees = feeTokenSettled + profitFee; + assertEq(feeTracker.agentFeesCharged(address(wallet)), totalExpectedFees, "Correct fees with deposit + reward"); + } + + // ============ Flow 3: Multi-step deposit/withdraw/deposit/withdraw ============ + + /// @notice Deposit → partial withdraw → deposit more → yield → withdraw all. + /// Verifies cost basis accumulates and reduces correctly through multiple ops. + function test_Flow3_MultiStepDepositWithdrawCycle() public { + // Step 1: Deposit 1000 + _deposit(1_000e6); + (uint256 cb1,) = feeTracker.getAgentVaultPosition(address(wallet), address(aToken)); + assertEq(cb1, 1_000e6); + // Step 2: Withdraw 400 (no yield yet, no fee) + _withdraw(400e6); + assertEq(feeTracker.agentFeesCharged(address(wallet)), 0, "No fee without yield"); + (uint256 cb2,) = feeTracker.getAgentVaultPosition(address(wallet), address(aToken)); + assertEq(cb2, 600e6, "Cost basis reduced proportionally: 1000 * 600/1000"); + // Step 3: Deposit 500 more (balance = 600 + 500 = 1100, cost = 600 + 500 = 1100) + _deposit(500e6); + (uint256 cb3,) = feeTracker.getAgentVaultPosition(address(wallet), address(aToken)); + assertEq(cb3, 1_100e6, "Cost basis accumulated"); + assertEq(aToken.balanceOf(address(wallet)), 1_100e6); + // Step 4: Yield accrues — balance grows to 1210 (10% yield) + _addYield(110e6); + assertEq(aToken.balanceOf(address(wallet)), 1_210e6); + // Step 5: Withdraw 605 (half the balance) + _withdraw(605e6); + uint256 proportionalCost = (1_100e6 * 605e6) / 1_210e6; + uint256 profit = 605e6 - proportionalCost; + uint256 expectedFee = (profit * 1000) / 10_000; + assertEq(feeTracker.agentFeesCharged(address(wallet)), expectedFee, "Fee on first half"); + (uint256 cb4,) = feeTracker.getAgentVaultPosition(address(wallet), address(aToken)); + assertEq(cb4, 1_100e6 - proportionalCost, "Remaining cost basis"); + // Step 6: Withdraw remaining 605 + _withdraw(605e6); + uint256 totalFees = feeTracker.agentFeesCharged(address(wallet)); + // Total yield = 110, total fee should be ~11 (10%) + uint256 expectedTotalFee = (110e6 * 1000) / 10_000; + assertApproxEqAbs(totalFees, expectedTotalFee, 1, "Total fees = 10% of total yield"); + (uint256 cbFinal, uint256 sharesFinal) = feeTracker.getAgentVaultPosition(address(wallet), address(aToken)); + assertEq(cbFinal, 0, "Position fully cleared"); + assertEq(sharesFinal, 0, "Shares fully cleared"); + } + + /// @notice Multiple yield events between deposits/withdrawals. + function test_Flow3b_InterleavedYieldAndOperations() public { + // Deposit 500, yield 50 (balance → 550) + _deposit(500e6); + _addYield(50e6); + // Withdraw 275 (half) + _withdraw(275e6); + uint256 proportionalCost1 = (500e6 * 275e6) / 550e6; + uint256 profit1 = 275e6 - proportionalCost1; + uint256 fee1 = (profit1 * 1000) / 10_000; + assertEq(feeTracker.agentFeesCharged(address(wallet)), fee1); + // Deposit 1000 more (balance = 275 + 1000 = 1275) + _deposit(1_000e6); + (uint256 cb2,) = feeTracker.getAgentVaultPosition(address(wallet), address(aToken)); + uint256 remainingCostBasis = 500e6 - proportionalCost1; + assertEq(cb2, remainingCostBasis + 1_000e6, "Cost basis = remaining + new deposit"); + // More yield: 127.5 (balance → 1402.5... use 127e6 for clean math → 1402) + _addYield(127e6); + uint256 finalBalance = aToken.balanceOf(address(wallet)); + assertEq(finalBalance, 1_402e6); + // Withdraw everything + _withdraw(finalBalance); + uint256 totalFees = feeTracker.agentFeesCharged(address(wallet)); + // Total deposited = 500 + 1000 = 1500 + // Total withdrawn = 275 + 1402 = 1677 + // Total yield = 1677 - 1500 = 177 + uint256 totalYield = (275e6 + finalBalance) - (500e6 + 1_000e6); + uint256 expectedTotalFee = (totalYield * 1000) / 10_000; + assertApproxEqAbs(totalFees, expectedTotalFee, 1, "Total fees = 10% of total yield"); + (uint256 cbFinal,) = feeTracker.getAgentVaultPosition(address(wallet), address(aToken)); + assertEq(cbFinal, 0, "Position fully cleared"); + } + + /// @notice Deposit, withdraw at a loss (vault hack scenario), re-deposit, profit. + /// Demonstrates fee tracking handles losses correctly. + function test_Flow3c_LossThenRecovery() public { + _deposit(1_000e6); + // Simulate loss: balance drops to 800 (vault hack, slashing, etc.) + // We can't easily remove aTokens, so we test by withdrawing more than balance + // Instead: withdraw 800 of the 1000 (no yield = no fee) + _withdraw(800e6); + assertEq(feeTracker.agentFeesCharged(address(wallet)), 0, "No fee on principal return"); + (uint256 cb1,) = feeTracker.getAgentVaultPosition(address(wallet), address(aToken)); + assertEq(cb1, 200e6, "Remaining cost basis"); + // Deposit 500 more + _deposit(500e6); + (uint256 cb2,) = feeTracker.getAgentVaultPosition(address(wallet), address(aToken)); + assertEq(cb2, 700e6, "Cost basis = 200 + 500"); + assertEq(aToken.balanceOf(address(wallet)), 700e6); + // Yield accrues: 70 (10%) + _addYield(70e6); + // Withdraw everything + _withdraw(770e6); + uint256 expectedFee = (70e6 * 1000) / 10_000; + assertEq(feeTracker.agentFeesCharged(address(wallet)), expectedFee, "Fee only on actual yield"); + } + + /// @notice Tiny withdrawals to verify rounding doesn't accumulate errors. + function test_Flow3d_ManySmallWithdrawals() public { + _deposit(1_000e6); + _addYield(100e6); + // Withdraw in 10 chunks of 110 + for (uint256 i = 0; i < 10; i++) { + _withdraw(110e6); + } + uint256 totalFees = feeTracker.agentFeesCharged(address(wallet)); + uint256 expectedTotalFee = (100e6 * 1000) / 10_000; + // Allow rounding tolerance: 10 operations * potential 1 wei rounding each + assertApproxEqAbs(totalFees, expectedTotalFee, 10, "Total fees correct despite many small withdrawals"); + (uint256 cbFinal, uint256 sharesFinal) = feeTracker.getAgentVaultPosition(address(wallet), address(aToken)); + assertApproxEqAbs(cbFinal, 0, 10, "Cost basis ~0 after full withdrawal"); + assertApproxEqAbs(sharesFinal, 0, 10, "Shares ~0 after full withdrawal"); + } +} From 3385a1252b8c9f31ec23898d4ed5f5dde4b59fcc Mon Sep 17 00:00:00 2001 From: Krishan Patel Date: Tue, 10 Feb 2026 20:41:14 +0000 Subject: [PATCH 04/28] . --- src/adapters/AaveV3Adapter.sol | 1 - src/adapters/CompoundV2Adapter.sol | 1 - src/adapters/CompoundV3Adapter.sol | 1 - test/security/UntrackedPositionSecurity.t.sol | 179 ------------------ test/unit/adapters/AdapterFlows.t.sol | 61 ++++++ 5 files changed, 61 insertions(+), 182 deletions(-) delete mode 100644 test/security/UntrackedPositionSecurity.t.sol diff --git a/src/adapters/AaveV3Adapter.sol b/src/adapters/AaveV3Adapter.sol index d5512c9..a8f97ee 100644 --- a/src/adapters/AaveV3Adapter.sol +++ b/src/adapters/AaveV3Adapter.sol @@ -27,7 +27,6 @@ import {YieldSeekerAdapter} from "./Adapter.sol"; * Fee computation uses actual vault balance proportion for cost basis. */ contract YieldSeekerAaveV3Adapter is AWKAaveV3Adapter, YieldSeekerAdapter { - /** * @notice Internal deposit implementation with validation and fee tracking */ diff --git a/src/adapters/CompoundV2Adapter.sol b/src/adapters/CompoundV2Adapter.sol index 420784b..49815e8 100644 --- a/src/adapters/CompoundV2Adapter.sol +++ b/src/adapters/CompoundV2Adapter.sol @@ -27,7 +27,6 @@ import {YieldSeekerAdapter} from "./Adapter.sol"; * Fee computation uses actual underlying balance proportion for cost basis. */ contract YieldSeekerCompoundV2Adapter is AWKCompoundV2Adapter, YieldSeekerAdapter { - /** * @notice Internal deposit implementation with validation and fee tracking */ diff --git a/src/adapters/CompoundV3Adapter.sol b/src/adapters/CompoundV3Adapter.sol index 3f5ee5f..f89e1e0 100644 --- a/src/adapters/CompoundV3Adapter.sol +++ b/src/adapters/CompoundV3Adapter.sol @@ -27,7 +27,6 @@ import {YieldSeekerAdapter} from "./Adapter.sol"; * Fee computation uses actual vault balance proportion for cost basis. */ contract YieldSeekerCompoundV3Adapter is AWKCompoundV3Adapter, YieldSeekerAdapter { - /** * @notice Internal deposit implementation with validation and fee tracking */ diff --git a/test/security/UntrackedPositionSecurity.t.sol b/test/security/UntrackedPositionSecurity.t.sol deleted file mode 100644 index 447c6dc..0000000 --- a/test/security/UntrackedPositionSecurity.t.sol +++ /dev/null @@ -1,179 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity 0.8.28; - -import {YieldSeekerFeeTracker} from "../../src/FeeTracker.sol"; -import {YieldSeekerAaveV3Adapter} from "../../src/adapters/AaveV3Adapter.sol"; -import {YieldSeekerCompoundV2Adapter} from "../../src/adapters/CompoundV2Adapter.sol"; -import {YieldSeekerCompoundV3Adapter} from "../../src/adapters/CompoundV3Adapter.sol"; -import {AWKErrors} from "../../src/agentwalletkit/AWKErrors.sol"; -import {MockAToken, MockAaveV3Pool} from "../mocks/MockAaveV3.sol"; -import {MockCToken} from "../mocks/MockCompoundV2.sol"; -import {MockCompoundV3Comet} from "../mocks/MockCompoundV3.sol"; -import {MockERC20} from "../mocks/MockERC20.sol"; -import {AdapterWalletHarness} from "../unit/adapters/AdapterHarness.t.sol"; -import {Test} from "forge-std/Test.sol"; - -/// @title UntrackedPositionSecurityTest -/// @notice Verifies that the asset-amount-based withdrawal fix correctly handles -/// vault tokens received outside the adapter deposit flow. -/// Previously, virtual share fallbacks caused destructive withdrawals and fee corruption. -contract UntrackedPositionSecurityTest is Test { - YieldSeekerFeeTracker feeTracker; - AdapterWalletHarness wallet; - MockERC20 baseAsset; - - function _decodeUint(bytes memory data) internal pure returns (uint256) { - return abi.decode(abi.decode(data, (bytes)), (uint256)); - } - - function setUp() public { - baseAsset = new MockERC20("Mock USDC", "mUSDC"); - feeTracker = new YieldSeekerFeeTracker(address(this)); - feeTracker.setFeeConfig(1000, address(0xBEEF)); // 10% fee - wallet = new AdapterWalletHarness(baseAsset, feeTracker); - baseAsset.mint(address(wallet), 1_000_000e6); - } - - // ============ CompoundV2: No longer liquidates entire balance ============ - - /// @notice With the fix, requesting a specific USDC amount from an untracked CompoundV2 - /// position only redeems that amount (via redeemUnderlying), not the entire balance. - function test_CompoundV2_UntrackedPosition_WithdrawsOnlyRequestedAmount() public { - YieldSeekerCompoundV2Adapter adapter = new YieldSeekerCompoundV2Adapter(); - MockCToken cToken = new MockCToken(address(baseAsset), "Mock cUSDC", "mcUSDC"); - address externalDepositor = address(0xDEAD); - uint256 untrackedAmount = 50_000e6; - baseAsset.mint(externalDepositor, untrackedAmount); - vm.startPrank(externalDepositor); - baseAsset.approve(address(cToken), untrackedAmount); - cToken.mint(untrackedAmount); - cToken.transfer(address(wallet), cToken.balanceOf(externalDepositor)); - vm.stopPrank(); - uint256 cTokenBalanceBefore = cToken.balanceOf(address(wallet)); - assertGt(cTokenBalanceBefore, 0, "Wallet should hold cTokens"); - (uint256 costBasis, uint256 shares) = feeTracker.getAgentVaultPosition(address(wallet), address(cToken)); - assertEq(costBasis, 0, "No tracked cost basis"); - assertEq(shares, 0, "No tracked shares"); - uint256 withdrawRequest = 1_000e6; - uint256 walletBalanceBefore = baseAsset.balanceOf(address(wallet)); - wallet.executeAdapter( - address(adapter), - address(cToken), - abi.encodeWithSelector(adapter.withdraw.selector, withdrawRequest) - ); - uint256 walletBalanceAfter = baseAsset.balanceOf(address(wallet)); - uint256 assetsReceived = walletBalanceAfter - walletBalanceBefore; - assertEq(assetsReceived, withdrawRequest, "Should receive exactly the requested amount"); - uint256 cTokenBalanceAfter = cToken.balanceOf(address(wallet)); - assertGt(cTokenBalanceAfter, 0, "FIX: Remaining cTokens preserved, not liquidated"); - uint256 expectedFee = (withdrawRequest * 1000) / 10_000; - assertEq(feeTracker.agentFeesCharged(address(wallet)), expectedFee, "FIX: Fees charged on untracked tokens as profit"); - } - - // ============ AaveV3: Direct asset withdrawal with proper fees ============ - - /// @notice With the fix, withdrawing from an untracked Aave position correctly - /// withdraws the exact requested amount and charges fees on it as profit. - function test_AaveV3_UntrackedPosition_CorrectWithdrawalAndFees() public { - YieldSeekerAaveV3Adapter adapter = new YieldSeekerAaveV3Adapter(); - MockAaveV3Pool pool = new MockAaveV3Pool(address(baseAsset)); - MockAToken aToken = MockAToken(pool.aToken()); - uint256 untrackedAmount = 1_050e6; - aToken.addYield(address(wallet), untrackedAmount); - baseAsset.mint(address(aToken), untrackedAmount); - assertEq(aToken.balanceOf(address(wallet)), untrackedAmount, "Wallet should hold aTokens"); - (, uint256 shares) = feeTracker.getAgentVaultPosition(address(wallet), address(aToken)); - assertEq(shares, 0, "No tracked shares"); - uint256 withdrawAmount = 500e6; - uint256 walletBalanceBefore = baseAsset.balanceOf(address(wallet)); - wallet.executeAdapter( - address(adapter), - address(aToken), - abi.encodeWithSelector(adapter.withdraw.selector, withdrawAmount) - ); - uint256 walletBalanceAfter = baseAsset.balanceOf(address(wallet)); - uint256 assetsReceived = walletBalanceAfter - walletBalanceBefore; - assertEq(assetsReceived, withdrawAmount, "Should receive exactly the requested amount"); - assertEq(aToken.balanceOf(address(wallet)), untrackedAmount - withdrawAmount, "FIX: Remaining aTokens preserved"); - uint256 expectedFee = (withdrawAmount * 1000) / 10_000; - assertEq(feeTracker.agentFeesCharged(address(wallet)), expectedFee, "FIX: Fees charged on untracked tokens as profit"); - } - - // ============ CompoundV3: Direct asset withdrawal with proper fees ============ - - /// @notice Same fix applied to CompoundV3 — exact amount withdrawn, fees charged correctly. - function test_CompoundV3_UntrackedPosition_CorrectWithdrawalAndFees() public { - YieldSeekerCompoundV3Adapter adapter = new YieldSeekerCompoundV3Adapter(); - MockCompoundV3Comet comet = new MockCompoundV3Comet(address(baseAsset)); - uint256 untrackedAmount = 1_050e6; - comet.addYield(address(wallet), untrackedAmount); - baseAsset.mint(address(comet), untrackedAmount); - assertEq(comet.balanceOf(address(wallet)), untrackedAmount, "Wallet should hold Comet balance"); - (, uint256 shares) = feeTracker.getAgentVaultPosition(address(wallet), address(comet)); - assertEq(shares, 0, "No tracked shares"); - uint256 withdrawAmount = 500e6; - uint256 walletBalanceBefore = baseAsset.balanceOf(address(wallet)); - wallet.executeAdapter( - address(adapter), - address(comet), - abi.encodeWithSelector(adapter.withdraw.selector, withdrawAmount) - ); - uint256 walletBalanceAfter = baseAsset.balanceOf(address(wallet)); - uint256 assetsReceived = walletBalanceAfter - walletBalanceBefore; - assertEq(assetsReceived, withdrawAmount, "Should receive exactly the requested amount"); - assertEq(comet.balanceOf(address(wallet)), untrackedAmount - withdrawAmount, "FIX: Remaining balance preserved"); - uint256 expectedFee = (withdrawAmount * 1000) / 10_000; - assertEq(feeTracker.agentFeesCharged(address(wallet)), expectedFee, "FIX: Fees charged on untracked tokens as profit"); - } - - // ============ Fee accounting consistency across deposit/untracked flows ============ - - /// @notice Verifies that untracked tokens followed by a tracked deposit produce correct - /// fee accounting. The proportional cost basis computation against actual vault - /// balance means untracked tokens are naturally treated as profit. - function test_CompoundV3_UntrackedThenTracked_CorrectFeeAccounting() public { - YieldSeekerCompoundV3Adapter adapter = new YieldSeekerCompoundV3Adapter(); - MockCompoundV3Comet comet = new MockCompoundV3Comet(address(baseAsset)); - // Step 1: Untracked tokens arrive - uint256 untrackedAmount = 500e6; - comet.addYield(address(wallet), untrackedAmount); - baseAsset.mint(address(comet), untrackedAmount); - // Step 2: Withdraw half the untracked tokens — fees charged as pure profit - uint256 firstWithdraw = 250e6; - wallet.executeAdapter( - address(adapter), - address(comet), - abi.encodeWithSelector(adapter.withdraw.selector, firstWithdraw) - ); - uint256 firstFee = (firstWithdraw * 1000) / 10_000; - assertEq(feeTracker.agentFeesCharged(address(wallet)), firstFee, "Fee on first untracked withdrawal"); - // Step 3: Tracked deposit on top of remaining untracked tokens - uint256 trackedDeposit = 1_000e6; - wallet.executeAdapter( - address(adapter), - address(comet), - abi.encodeWithSelector(adapter.deposit.selector, trackedDeposit) - ); - // Balance = 250 (remaining untracked) + 1000 (deposit) = 1250 - uint256 totalBalance = comet.balanceOf(address(wallet)); - assertEq(totalBalance, 1_250e6, "Total balance correct"); - (uint256 costBasis,) = feeTracker.getAgentVaultPosition(address(wallet), address(comet)); - assertEq(costBasis, trackedDeposit, "Cost basis equals tracked deposit only"); - // Step 4: Withdraw everything — proportional cost basis correctly attributes the - // 250 untracked remainder as profit - wallet.executeAdapter( - address(adapter), - address(comet), - abi.encodeWithSelector(adapter.withdraw.selector, totalBalance) - ); - // proportionalCost = (1000 * 1250) / 1250 = 1000 (full cost basis) - // profit = 1250 - 1000 = 250 (the untracked remainder) - // fee on profit = 250 * 10% = 25 - uint256 secondFee = (250e6 * 1000) / 10_000; - uint256 totalExpectedFees = firstFee + secondFee; - assertEq(feeTracker.agentFeesCharged(address(wallet)), totalExpectedFees, "FIX: Total fees correctly account for all untracked tokens"); - (uint256 finalCostBasis, uint256 finalShares) = feeTracker.getAgentVaultPosition(address(wallet), address(comet)); - assertEq(finalCostBasis, 0, "Cost basis fully cleared"); - assertEq(finalShares, 0, "Shares fully cleared"); - } -} diff --git a/test/unit/adapters/AdapterFlows.t.sol b/test/unit/adapters/AdapterFlows.t.sol index 82130b2..76eea74 100644 --- a/test/unit/adapters/AdapterFlows.t.sol +++ b/test/unit/adapters/AdapterFlows.t.sol @@ -3,7 +3,11 @@ pragma solidity 0.8.28; import {YieldSeekerFeeTracker} from "../../../src/FeeTracker.sol"; import {YieldSeekerAaveV3Adapter} from "../../../src/adapters/AaveV3Adapter.sol"; +import {YieldSeekerCompoundV2Adapter} from "../../../src/adapters/CompoundV2Adapter.sol"; +import {YieldSeekerCompoundV3Adapter} from "../../../src/adapters/CompoundV3Adapter.sol"; import {MockAToken, MockAaveV3Pool} from "../../mocks/MockAaveV3.sol"; +import {MockCToken} from "../../mocks/MockCompoundV2.sol"; +import {MockCompoundV3Comet} from "../../mocks/MockCompoundV3.sol"; import {MockERC20} from "../../mocks/MockERC20.sol"; import {AdapterWalletHarness} from "./AdapterHarness.t.sol"; import {Test} from "forge-std/Test.sol"; @@ -285,4 +289,61 @@ contract AdapterFlowsTest is Test { assertApproxEqAbs(cbFinal, 0, 10, "Cost basis ~0 after full withdrawal"); assertApproxEqAbs(sharesFinal, 0, 10, "Shares ~0 after full withdrawal"); } + + // ============ Flow 4: Untracked positions (tokens arriving outside deposit flow) ============ + + /// @notice CompoundV2: cTokens transferred directly to wallet. Withdrawing a specific + /// amount only redeems that amount, not the entire balance. + function test_Flow4a_CompoundV2_UntrackedCTokens_PartialWithdraw() public { + YieldSeekerCompoundV2Adapter cAdapter = new YieldSeekerCompoundV2Adapter(); + MockCToken cToken = new MockCToken(address(baseAsset), "Mock cUSDC", "mcUSDC"); + address externalDepositor = address(0xDEAD); + uint256 untrackedAmount = 50_000e6; + baseAsset.mint(externalDepositor, untrackedAmount); + vm.startPrank(externalDepositor); + baseAsset.approve(address(cToken), untrackedAmount); + cToken.mint(untrackedAmount); + require(cToken.transfer(address(wallet), cToken.balanceOf(externalDepositor))); + vm.stopPrank(); + uint256 cTokenBalanceBefore = cToken.balanceOf(address(wallet)); + assertGt(cTokenBalanceBefore, 0, "Wallet should hold cTokens"); + (uint256 costBasis, uint256 shares) = feeTracker.getAgentVaultPosition(address(wallet), address(cToken)); + assertEq(costBasis, 0, "No tracked cost basis"); + assertEq(shares, 0, "No tracked shares"); + uint256 withdrawRequest = 1_000e6; + uint256 walletBalanceBefore = baseAsset.balanceOf(address(wallet)); + wallet.executeAdapter(address(cAdapter), address(cToken), abi.encodeWithSelector(cAdapter.withdraw.selector, withdrawRequest)); + uint256 assetsReceived = baseAsset.balanceOf(address(wallet)) - walletBalanceBefore; + assertEq(assetsReceived, withdrawRequest, "Should receive exactly the requested amount"); + assertGt(cToken.balanceOf(address(wallet)), 0, "Remaining cTokens preserved, not liquidated"); + uint256 expectedFee = (withdrawRequest * 1000) / 10_000; + assertEq(feeTracker.agentFeesCharged(address(wallet)), expectedFee, "Fees charged on untracked tokens as profit"); + } + + /// @notice CompoundV3: untracked tokens arrive, then a tracked deposit on top. + /// Proportional cost basis correctly treats untracked remainder as profit. + function test_Flow4b_CompoundV3_UntrackedThenTrackedDeposit() public { + YieldSeekerCompoundV3Adapter cAdapter = new YieldSeekerCompoundV3Adapter(); + MockCompoundV3Comet comet = new MockCompoundV3Comet(address(baseAsset)); + uint256 untrackedAmount = 500e6; + comet.addYield(address(wallet), untrackedAmount); + baseAsset.mint(address(comet), untrackedAmount); + uint256 firstWithdraw = 250e6; + wallet.executeAdapter(address(cAdapter), address(comet), abi.encodeWithSelector(cAdapter.withdraw.selector, firstWithdraw)); + uint256 firstFee = (firstWithdraw * 1000) / 10_000; + assertEq(feeTracker.agentFeesCharged(address(wallet)), firstFee, "Fee on untracked withdrawal"); + uint256 trackedDeposit = 1_000e6; + wallet.executeAdapter(address(cAdapter), address(comet), abi.encodeWithSelector(cAdapter.deposit.selector, trackedDeposit)); + uint256 totalBalance = comet.balanceOf(address(wallet)); + assertEq(totalBalance, 1_250e6, "250 untracked + 1000 deposit"); + (uint256 cb,) = feeTracker.getAgentVaultPosition(address(wallet), address(comet)); + assertEq(cb, trackedDeposit, "Cost basis equals tracked deposit only"); + wallet.executeAdapter(address(cAdapter), address(comet), abi.encodeWithSelector(cAdapter.withdraw.selector, totalBalance)); + uint256 secondFee = (250e6 * 1000) / 10_000; + uint256 totalExpectedFees = firstFee + secondFee; + assertEq(feeTracker.agentFeesCharged(address(wallet)), totalExpectedFees, "Total fees account for all untracked tokens"); + (uint256 finalCb, uint256 finalShares) = feeTracker.getAgentVaultPosition(address(wallet), address(comet)); + assertEq(finalCb, 0, "Position fully cleared"); + assertEq(finalShares, 0, "Shares fully cleared"); + } } From c3b2a48d23d8fdc29dd51d9ef661adb78d2a5e43 Mon Sep 17 00:00:00 2001 From: Krishan Patel Date: Tue, 10 Feb 2026 20:54:28 +0000 Subject: [PATCH 05/28] . --- src/FeeTracker.sol | 6 +++++- test/unit/adapters/AdapterFlows.t.sol | 11 +++++++---- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/FeeTracker.sol b/src/FeeTracker.sol index a5804e7..c0a90f3 100644 --- a/src/FeeTracker.sol +++ b/src/FeeTracker.sol @@ -202,7 +202,11 @@ contract YieldSeekerFeeTracker is AccessControl { feeTokenSettled = (vaultTokenFeesOwed * assetsReceived) / totalVaultBalanceBefore; } agentYieldTokenFeesOwed[wallet][vault] = vaultTokenFeesOwed - feeTokenSettled; - feeInBaseAsset = feeTokenSettled; + if (totalShares > 0) { + feeInBaseAsset = (feeTokenSettled * totalVaultBalanceBefore) / totalShares; + } else { + feeInBaseAsset = feeTokenSettled; + } agentFeesCharged[wallet] += feeInBaseAsset; emit YieldRecorded(wallet, feeInBaseAsset, feeInBaseAsset); } diff --git a/test/unit/adapters/AdapterFlows.t.sol b/test/unit/adapters/AdapterFlows.t.sol index 76eea74..f9a9771 100644 --- a/test/unit/adapters/AdapterFlows.t.sol +++ b/test/unit/adapters/AdapterFlows.t.sol @@ -162,16 +162,19 @@ contract AdapterFlowsTest is Test { uint256 totalBalance = aToken.balanceOf(address(wallet)); assertEq(totalBalance, 110e6); _withdraw(7e6); - // vaultTokenFee settlement: 7/110 of 1e6 fee owed + // vaultTokenFee settlement: 7/110 of 1e6 fee owed (in vault token units) uint256 totalBalanceBefore = 110e6; + uint256 totalShares = 100e6; uint256 feeTokenSettled = (1e6 * 7e6) / totalBalanceBefore; + // Convert vault token fee to base asset using exchange rate (totalVaultBalance / totalShares) + uint256 feeInBaseAsset = (feeTokenSettled * totalBalanceBefore) / totalShares; // proportionalCost = (100e6 * 7e6) / 110e6 uint256 proportionalCost = (100e6 * 7e6) / totalBalanceBefore; - // netAssets = 7e6 - feeTokenSettled, profit = netAssets - proportionalCost - uint256 netAssets = 7e6 - feeTokenSettled; + // netAssets = 7e6 - feeInBaseAsset, profit = netAssets - proportionalCost + uint256 netAssets = 7e6 - feeInBaseAsset; uint256 profit = netAssets > proportionalCost ? netAssets - proportionalCost : 0; uint256 profitFee = (profit * 1000) / 10_000; - uint256 totalExpectedFees = feeTokenSettled + profitFee; + uint256 totalExpectedFees = feeInBaseAsset + profitFee; assertEq(feeTracker.agentFeesCharged(address(wallet)), totalExpectedFees, "Correct fees with deposit + reward"); } From cbba39b0842281714881692a3870b65f71e9d7ef Mon Sep 17 00:00:00 2001 From: Krishan Patel Date: Fri, 13 Feb 2026 16:35:05 +0000 Subject: [PATCH 06/28] . --- script/Deploy.s.sol | 2 +- src/adapters/ZeroXAdapter.sol | 2 +- src/agentwalletkit/AWKAdapter.sol | 5 +- src/agentwalletkit/AWKAgentWalletV1.sol | 4 - .../adapters/AWKZeroXAdapter.sol | 101 +++++++++----- test/unit/adapters/ZeroXAdapter.t.sol | 127 +++++++++++++++++- 6 files changed, 201 insertions(+), 40 deletions(-) diff --git a/script/Deploy.s.sol b/script/Deploy.s.sol index 7b7fafc..d2396e7 100644 --- a/script/Deploy.s.sol +++ b/script/Deploy.s.sol @@ -196,7 +196,7 @@ contract DeployScript is Script { // Deploy or reuse ZeroX Adapter address zeroXAllowanceTarget = getZeroXAllowanceTarget(block.chainid); if (deployments.zeroXAdapter == address(0)) { - ZeroXAdapter zeroXAdapter = new ZeroXAdapter{salt: bytes32(SALT)}(zeroXAllowanceTarget); + ZeroXAdapter zeroXAdapter = new ZeroXAdapter{salt: bytes32(SALT)}(zeroXAllowanceTarget, deployerAddress, deployerAddress, false); deployments.zeroXAdapter = address(zeroXAdapter); console2.log("-> ZeroXAdapter deployed at:", address(zeroXAdapter)); console2.log(" allowanceTarget:", zeroXAllowanceTarget); diff --git a/src/adapters/ZeroXAdapter.sol b/src/adapters/ZeroXAdapter.sol index 9b0f7b4..01f398c 100644 --- a/src/adapters/ZeroXAdapter.sol +++ b/src/adapters/ZeroXAdapter.sol @@ -25,7 +25,7 @@ import {YieldSeekerAdapter} from "./Adapter.sol"; * @dev Extends the generic AWKZeroXAdapter and implements hooks for base asset validation and fee tracking. */ contract YieldSeekerZeroXAdapter is AWKZeroXAdapter, YieldSeekerAdapter { - constructor(address allowanceTarget_) AWKZeroXAdapter(allowanceTarget_) {} + constructor(address allowanceTarget_, address admin_, address emergencyAdmin_, bool allowAllTokens_) AWKZeroXAdapter(allowanceTarget_, admin_, emergencyAdmin_, allowAllTokens_) {} /** * @notice Internal swap implementation with validation and fee tracking diff --git a/src/agentwalletkit/AWKAdapter.sol b/src/agentwalletkit/AWKAdapter.sol index 4e355f7..ad70f6e 100644 --- a/src/agentwalletkit/AWKAdapter.sol +++ b/src/agentwalletkit/AWKAdapter.sol @@ -28,8 +28,9 @@ error UnknownOperation(); */ abstract contract AWKAdapter is IAWKAdapter { /// @notice The adapter's own address, set at deployment - /// @dev Used to detect direct calls vs delegatecalls - address private immutable SELF; + /// @dev Used to detect direct calls vs delegatecalls. Internal so subclasses + /// can reference the adapter's real address during delegatecall context. + address internal immutable SELF; constructor() { SELF = address(this); diff --git a/src/agentwalletkit/AWKAgentWalletV1.sol b/src/agentwalletkit/AWKAgentWalletV1.sol index d97c0a4..6a59022 100644 --- a/src/agentwalletkit/AWKAgentWalletV1.sol +++ b/src/agentwalletkit/AWKAgentWalletV1.sol @@ -290,16 +290,12 @@ abstract contract AWKAgentWalletV1 is IAWKAgentWallet, BaseAccount, Initializabl function _validateSignature(UserOperation calldata userOp, bytes32 userOpHash) internal virtual override returns (uint256 validationData) { bytes32 hash = userOpHash.toEthSignedMessageHash(); address signer = hash.recover(userOp.signature); - - // Allow either the owner or the centralized AWKServer to sign if (signer == owner()) { return 0; } - if (isAgentOperator(signer)) { return 0; } - return SIG_VALIDATION_FAILED; } diff --git a/src/agentwalletkit/adapters/AWKZeroXAdapter.sol b/src/agentwalletkit/adapters/AWKZeroXAdapter.sol index 8316c82..2ec9336 100644 --- a/src/agentwalletkit/adapters/AWKZeroXAdapter.sol +++ b/src/agentwalletkit/adapters/AWKZeroXAdapter.sol @@ -16,6 +16,8 @@ pragma solidity 0.8.28; import {AWKAdapter, UnknownOperation} from "../AWKAdapter.sol"; import {AWKErrors} from "../AWKErrors.sol"; +import {AccessControl} from "@openzeppelin/contracts/access/AccessControl.sol"; +import {EnumerableSet} from "@openzeppelin/contracts/utils/structs/EnumerableSet.sol"; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; @@ -23,32 +25,89 @@ error InvalidAllowanceTarget(); error InsufficientEth(uint256 balance, uint256 required); error SwapFailed(bytes reason); error InsufficientOutput(uint256 received, uint256 minimum); +error SellTokenNotAllowed(address token); /** * @title AWKZeroXAdapter - * @notice Generic adapter for token swaps via 0x with pre/post hooks - * @dev Subclasses can override hooks to add custom logic (e.g., fee tracking). + * @notice Generic adapter for token swaps via 0x with built-in sell-token allowlist. + * @dev Swap execution runs via delegatecall from AgentWallet. + * Allowlist management functions run via direct calls (admin-only). + * When allowAllTokens is false, only tokens explicitly added to the allowlist can be sold. + * When allowAllTokens is true, any token can be sold (useful for less restrictive setups). */ -contract AWKZeroXAdapter is AWKAdapter { +contract AWKZeroXAdapter is AWKAdapter, AccessControl { using SafeERC20 for IERC20; + using EnumerableSet for EnumerableSet.AddressSet; + + bytes32 public constant EMERGENCY_ROLE = keccak256("EMERGENCY_ROLE"); address public immutable ALLOWANCE_TARGET; address internal constant NATIVE_TOKEN = 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE; + bool public allowAllTokens; + EnumerableSet.AddressSet private _allowedSellTokens; + + event SellTokenAdded(address indexed token); + event SellTokenRemoved(address indexed token); + event AllowAllTokensSet(bool enabled); event Swapped(address indexed wallet, address indexed target, address sellToken, address buyToken, uint256 sellAmount, uint256 buyAmount); - constructor(address allowanceTarget_) { + constructor(address allowanceTarget_, address admin_, address emergencyAdmin_, bool allowAllTokens_) { if (allowanceTarget_ == address(0)) revert InvalidAllowanceTarget(); + if (admin_ == address(0)) revert AWKErrors.ZeroAddress(); + if (emergencyAdmin_ == address(0)) revert AWKErrors.ZeroAddress(); ALLOWANCE_TARGET = allowanceTarget_; + _grantRole(DEFAULT_ADMIN_ROLE, admin_); + _grantRole(EMERGENCY_ROLE, emergencyAdmin_); + allowAllTokens = allowAllTokens_; + } + + // ============ Allowlist Management (direct calls only) ============ + + function setAllowAllTokens(bool enabled) external onlyRole(DEFAULT_ADMIN_ROLE) { + allowAllTokens = enabled; + emit AllowAllTokensSet(enabled); + } + + function addSellToken(address token) external onlyRole(DEFAULT_ADMIN_ROLE) { + if (token == address(0)) revert AWKErrors.ZeroAddress(); + if (_allowedSellTokens.add(token)) { + emit SellTokenAdded(token); + } + } + + function addSellTokens(address[] calldata tokens) external onlyRole(DEFAULT_ADMIN_ROLE) { + for (uint256 i = 0; i < tokens.length; i++) { + if (tokens[i] == address(0)) revert AWKErrors.ZeroAddress(); + if (_allowedSellTokens.add(tokens[i])) { + emit SellTokenAdded(tokens[i]); + } + } } - /** - * @notice Override execute to handle swap operations - * @dev Already running in wallet context via delegatecall from AgentWallet - */ + function removeSellToken(address token) external onlyRole(EMERGENCY_ROLE) { + if (_allowedSellTokens.remove(token)) { + emit SellTokenRemoved(token); + } + } + + function isAllowedSellToken(address token) external view returns (bool) { + return allowAllTokens || _allowedSellTokens.contains(token); + } + + function getAllowedSellTokens() external view returns (address[] memory) { + return _allowedSellTokens.values(); + } + + function allowedSellTokenCount() external view returns (uint256) { + return _allowedSellTokens.length(); + } + + // ============ Swap Execution (delegatecall only) ============ + function execute(address target, bytes calldata data) external payable virtual override onlyDelegateCall returns (bytes memory) { - bytes4 selector = bytes4(data[:4]); - if (selector == this.swap.selector) { + bytes4 selector_ = bytes4(data[:4]); + if (selector_ == this.swap.selector) { (address sellToken, address buyToken, uint256 sellAmount, uint256 minBuyAmount, bytes memory swapCallData, uint256 value) = abi.decode(data[4:], (address, address, uint256, uint256, bytes, uint256)); (uint256 buyAmount,) = _swapInternal(target, sellToken, buyToken, sellAmount, minBuyAmount, swapCallData, value); return abi.encode(buyAmount); @@ -56,33 +115,14 @@ contract AWKZeroXAdapter is AWKAdapter { revert UnknownOperation(); } - // ============ Swap Operations ============ - - /** - * @notice Swap tokens via 0x (public interface, should not be called directly) - * @param sellToken The token to sell (use NATIVE_TOKEN for ETH) - * @param buyToken The token to buy - * @param sellAmount The amount of sellToken to swap - * @param minBuyAmount Minimum acceptable buyToken amount (slippage protection) - * @param swapCallData The 0x API swap calldata - * @param value ETH value (ignored for security, sellAmount used instead) - * @return buyAmount The amount of buyToken received - * @dev This is a placeholder - actual execution happens via execute() -> _swapInternal() - */ function swap(address sellToken, address buyToken, uint256 sellAmount, uint256 minBuyAmount, bytes calldata swapCallData, uint256 value) external payable returns (uint256) { revert AWKErrors.DirectCallForbidden(); } - /** - * @notice Internal swap implementation - * @dev Runs in wallet context via delegatecall - */ function _swapInternal(address target, address sellToken, address buyToken, uint256 sellAmount, uint256 minBuyAmount, bytes memory swapCallData, uint256 value) internal virtual returns (uint256 buyAmount, uint256 soldAmount) { if (sellAmount == 0 || minBuyAmount == 0) revert AWKErrors.ZeroAmount(); + if (sellToken != NATIVE_TOKEN && !AWKZeroXAdapter(SELF).isAllowedSellToken(sellToken)) revert SellTokenNotAllowed(sellToken); - // Security: For native ETH swaps, ignore the 'value' parameter from calldata and always send exactly sellAmount. - // This prevents a malicious operator from oversending ETH (e.g., value=10 ETH but sellAmount=1 ETH), - // which would trap excess ETH in the 0x proxy contract. We only send what we're actually selling. uint256 ethToSend; if (sellToken == NATIVE_TOKEN) { ethToSend = sellAmount; @@ -103,4 +143,5 @@ contract AWKZeroXAdapter is AWKAdapter { emit Swapped(address(this), target, sellToken, buyToken, soldAmount, buyAmount); } + } diff --git a/test/unit/adapters/ZeroXAdapter.t.sol b/test/unit/adapters/ZeroXAdapter.t.sol index 8cd92fb..91a5a55 100644 --- a/test/unit/adapters/ZeroXAdapter.t.sol +++ b/test/unit/adapters/ZeroXAdapter.t.sol @@ -4,7 +4,7 @@ pragma solidity 0.8.28; import {YieldSeekerFeeTracker} from "../../../src/FeeTracker.sol"; import {YieldSeekerZeroXAdapter} from "../../../src/adapters/ZeroXAdapter.sol"; import {AWKErrors} from "../../../src/agentwalletkit/AWKErrors.sol"; -import {InsufficientOutput} from "../../../src/agentwalletkit/adapters/AWKZeroXAdapter.sol"; +import {InsufficientOutput, SellTokenNotAllowed} from "../../../src/agentwalletkit/adapters/AWKZeroXAdapter.sol"; import {MockERC20} from "../../mocks/MockERC20.sol"; import {AdapterWalletHarness} from "./AdapterHarness.t.sol"; import {Test} from "forge-std/Test.sol"; @@ -53,7 +53,8 @@ contract ZeroXAdapterTest is Test { feeTracker = new YieldSeekerFeeTracker(address(this)); feeTracker.setFeeConfig(1000, address(0xBEEF)); target = new MockZeroXTarget(); - adapter = new YieldSeekerZeroXAdapter(address(target)); + adapter = new YieldSeekerZeroXAdapter(address(target), address(this), address(this), false); + adapter.addSellToken(address(sellToken)); wallet = new AdapterWalletHarness(baseAsset, feeTracker); baseAsset.mint(address(target), 1_000_000e6); sellToken.mint(address(wallet), 1_000e18); @@ -132,4 +133,126 @@ contract ZeroXAdapterTest is Test { assertEq(buyAmount, 200e6); assertEq(target.lastValue(), 1 ether); } + + // ============ Sell Token Allowlist ============ + + function test_Swap_RevertsOnNonAllowedSellToken() public { + MockERC20 disallowedToken = new MockERC20("Vault Shares", "vUSDC"); + disallowedToken.mint(address(wallet), 1000e18); + target.setBuyAmount(500e6); + bytes memory data = abi.encodeWithSelector( + adapter.swap.selector, + address(disallowedToken), + address(baseAsset), + uint256(100e18), + uint256(400e6), + abi.encodeWithSelector(MockZeroXTarget.swap.selector, address(disallowedToken), address(baseAsset), uint256(100e18), uint256(400e6)), + uint256(0) + ); + vm.expectRevert(abi.encodeWithSelector(SellTokenNotAllowed.selector, address(disallowedToken))); + wallet.executeAdapter(address(adapter), address(target), data); + } + + function test_Swap_AllowedTokenSucceeds() public { + target.setBuyAmount(500e6); + bytes memory data = abi.encodeWithSelector( + adapter.swap.selector, + address(sellToken), + address(baseAsset), + uint256(100e18), + uint256(400e6), + abi.encodeWithSelector(MockZeroXTarget.swap.selector, address(sellToken), address(baseAsset), uint256(100e18), uint256(400e6)), + uint256(0) + ); + wallet.executeAdapter(address(adapter), address(target), data); + assertEq(baseAsset.balanceOf(address(wallet)), 500e6); + } + + function test_Swap_RemovedTokenReverts() public { + adapter.removeSellToken(address(sellToken)); + target.setBuyAmount(500e6); + bytes memory data = abi.encodeWithSelector( + adapter.swap.selector, + address(sellToken), + address(baseAsset), + uint256(100e18), + uint256(400e6), + abi.encodeWithSelector(MockZeroXTarget.swap.selector, address(sellToken), address(baseAsset), uint256(100e18), uint256(400e6)), + uint256(0) + ); + vm.expectRevert(abi.encodeWithSelector(SellTokenNotAllowed.selector, address(sellToken))); + wallet.executeAdapter(address(adapter), address(target), data); + } + + function test_Swap_NativeETH_SkipsAllowlistCheck() public { + target.setBuyAmount(200e6); + vm.deal(address(wallet), 2 ether); + bytes memory data = abi.encodeWithSelector( + adapter.swap.selector, + NATIVE_TOKEN, + address(baseAsset), + uint256(1 ether), + uint256(100e6), + abi.encodeWithSelector(MockZeroXTarget.swap.selector, NATIVE_TOKEN, address(baseAsset), uint256(1 ether), uint256(100e6)), + uint256(0) + ); + wallet.executeAdapter(address(adapter), address(target), data); + assertEq(baseAsset.balanceOf(address(wallet)), 200e6); + } + + // ============ Allow All Tokens Flag ============ + + function test_Swap_AllowAllTokens_BypassesAllowlist() public { + MockERC20 randomToken = new MockERC20("Random", "RND"); + randomToken.mint(address(wallet), 1000e18); + target.setBuyAmount(500e6); + + // First verify it reverts without allowAllTokens + bytes memory data = abi.encodeWithSelector( + adapter.swap.selector, + address(randomToken), + address(baseAsset), + uint256(100e18), + uint256(400e6), + abi.encodeWithSelector(MockZeroXTarget.swap.selector, address(randomToken), address(baseAsset), uint256(100e18), uint256(400e6)), + uint256(0) + ); + vm.expectRevert(abi.encodeWithSelector(SellTokenNotAllowed.selector, address(randomToken))); + wallet.executeAdapter(address(adapter), address(target), data); + + // Enable allowAllTokens and verify it succeeds + adapter.setAllowAllTokens(true); + wallet.executeAdapter(address(adapter), address(target), data); + assertEq(baseAsset.balanceOf(address(wallet)), 500e6); + } + + function test_Swap_AllowAllTokens_DisableReenablesAllowlist() public { + MockERC20 randomToken = new MockERC20("Random", "RND"); + randomToken.mint(address(wallet), 1000e18); + target.setBuyAmount(500e6); + + adapter.setAllowAllTokens(true); + bytes memory data = abi.encodeWithSelector( + adapter.swap.selector, + address(randomToken), + address(baseAsset), + uint256(100e18), + uint256(400e6), + abi.encodeWithSelector(MockZeroXTarget.swap.selector, address(randomToken), address(baseAsset), uint256(100e18), uint256(400e6)), + uint256(0) + ); + wallet.executeAdapter(address(adapter), address(target), data); + + // Disable allowAllTokens - should revert again for non-allowlisted token + adapter.setAllowAllTokens(false); + vm.expectRevert(abi.encodeWithSelector(SellTokenNotAllowed.selector, address(randomToken))); + wallet.executeAdapter(address(adapter), address(target), data); + } + + function test_SetAllowAllTokens_OnlyAdmin() public { + address nonAdmin = address(0xDEAD); + vm.prank(nonAdmin); + vm.expectRevert(); + adapter.setAllowAllTokens(true); + } } From c5fa390191ac8b66f654acc7438022df0b0ca1a7 Mon Sep 17 00:00:00 2001 From: Krishan Patel Date: Fri, 13 Feb 2026 19:16:14 +0000 Subject: [PATCH 07/28] . --- src/adapters/Adapter.sol | 9 ++- src/adapters/ZeroXAdapter.sol | 3 +- .../adapters/AWKZeroXAdapter.sol | 71 +++++++++---------- test/unit/adapters/AaveV3Adapter.t.sol | 4 +- test/unit/adapters/CompoundV2Adapter.t.sol | 4 +- test/unit/adapters/CompoundV3Adapter.t.sol | 4 +- test/unit/adapters/ERC4626Adapter.t.sol | 4 +- test/unit/adapters/ZeroXAdapter.t.sol | 40 +++++++---- 8 files changed, 76 insertions(+), 63 deletions(-) diff --git a/src/adapters/Adapter.sol b/src/adapters/Adapter.sol index d36bc9b..d2976ed 100644 --- a/src/adapters/Adapter.sol +++ b/src/adapters/Adapter.sol @@ -21,7 +21,8 @@ import {IAgentWallet} from "../IAgentWallet.sol"; import {AWKAdapter} from "../agentwalletkit/AWKAdapter.sol"; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; -error InvalidBaseAsset(); +error AssetNotAllowed(); +error BaseAssetNotAllowed(); /** * @title YieldSeekerAdapter @@ -43,7 +44,11 @@ abstract contract YieldSeekerAdapter is AWKAdapter { } function _requireBaseAsset(address asset) internal view { - if (asset != _baseAssetAddress()) revert InvalidBaseAsset(); + if (asset != _baseAssetAddress()) revert AssetNotAllowed(); + } + + function _requireNotBaseAsset(address asset) internal view { + if (asset == _baseAssetAddress()) revert BaseAssetNotAllowed(); } function _feeTracker() internal view returns (FeeTracker) { diff --git a/src/adapters/ZeroXAdapter.sol b/src/adapters/ZeroXAdapter.sol index 01f398c..97e0881 100644 --- a/src/adapters/ZeroXAdapter.sol +++ b/src/adapters/ZeroXAdapter.sol @@ -25,13 +25,14 @@ import {YieldSeekerAdapter} from "./Adapter.sol"; * @dev Extends the generic AWKZeroXAdapter and implements hooks for base asset validation and fee tracking. */ contract YieldSeekerZeroXAdapter is AWKZeroXAdapter, YieldSeekerAdapter { - constructor(address allowanceTarget_, address admin_, address emergencyAdmin_, bool allowAllTokens_) AWKZeroXAdapter(allowanceTarget_, admin_, emergencyAdmin_, allowAllTokens_) {} + constructor(address allowanceTarget, address admin, address emergencyAdmin, bool initialAllowSellingAllTokens) AWKZeroXAdapter(allowanceTarget, admin, emergencyAdmin, initialAllowSellingAllTokens) {} /** * @notice Internal swap implementation with validation and fee tracking * @dev Overrides AWK logic to add pre-check and post-fee-tracking */ function _swapInternal(address target, address sellToken, address buyToken, uint256 sellAmount, uint256 minBuyAmount, bytes memory swapCallData, uint256 value) internal override returns (uint256 buyAmount, uint256 soldAmount) { + _requireNotBaseAsset(sellToken); _requireBaseAsset(buyToken); (buyAmount, soldAmount) = super._swapInternal(target, sellToken, buyToken, sellAmount, minBuyAmount, swapCallData, value); _feeTracker().recordAgentTokenSwap(sellToken, soldAmount, buyAmount); diff --git a/src/agentwalletkit/adapters/AWKZeroXAdapter.sol b/src/agentwalletkit/adapters/AWKZeroXAdapter.sol index 2ec9336..4e20ae2 100644 --- a/src/agentwalletkit/adapters/AWKZeroXAdapter.sol +++ b/src/agentwalletkit/adapters/AWKZeroXAdapter.sol @@ -17,9 +17,9 @@ pragma solidity 0.8.28; import {AWKAdapter, UnknownOperation} from "../AWKAdapter.sol"; import {AWKErrors} from "../AWKErrors.sol"; import {AccessControl} from "@openzeppelin/contracts/access/AccessControl.sol"; -import {EnumerableSet} from "@openzeppelin/contracts/utils/structs/EnumerableSet.sol"; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; +import {EnumerableSet} from "@openzeppelin/contracts/utils/structs/EnumerableSet.sol"; error InvalidAllowanceTarget(); error InsufficientEth(uint256 balance, uint256 required); @@ -32,8 +32,8 @@ error SellTokenNotAllowed(address token); * @notice Generic adapter for token swaps via 0x with built-in sell-token allowlist. * @dev Swap execution runs via delegatecall from AgentWallet. * Allowlist management functions run via direct calls (admin-only). - * When allowAllTokens is false, only tokens explicitly added to the allowlist can be sold. - * When allowAllTokens is true, any token can be sold (useful for less restrictive setups). + * When allowSellingAllTokens is false, only tokens explicitly added to the allowlist can be sold. + * When allowSellingAllTokens is true, any token can be sold (useful for less restrictive setups). */ contract AWKZeroXAdapter is AWKAdapter, AccessControl { using SafeERC20 for IERC20; @@ -44,63 +44,59 @@ contract AWKZeroXAdapter is AWKAdapter, AccessControl { address public immutable ALLOWANCE_TARGET; address internal constant NATIVE_TOKEN = 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE; - bool public allowAllTokens; - EnumerableSet.AddressSet private _allowedSellTokens; + bool public allowSellingAllTokens; + EnumerableSet.AddressSet private sellableTokens; - event SellTokenAdded(address indexed token); - event SellTokenRemoved(address indexed token); - event AllowAllTokensSet(bool enabled); + event SellableTokenAdded(address indexed token); + event SellableTokenRemoved(address indexed token); + event AllowSellingAllTokensSet(bool enabled); event Swapped(address indexed wallet, address indexed target, address sellToken, address buyToken, uint256 sellAmount, uint256 buyAmount); - constructor(address allowanceTarget_, address admin_, address emergencyAdmin_, bool allowAllTokens_) { - if (allowanceTarget_ == address(0)) revert InvalidAllowanceTarget(); - if (admin_ == address(0)) revert AWKErrors.ZeroAddress(); - if (emergencyAdmin_ == address(0)) revert AWKErrors.ZeroAddress(); - ALLOWANCE_TARGET = allowanceTarget_; - _grantRole(DEFAULT_ADMIN_ROLE, admin_); - _grantRole(EMERGENCY_ROLE, emergencyAdmin_); - allowAllTokens = allowAllTokens_; + constructor(address allowanceTarget, address admin, address emergencyAdmin, bool initialAllowSellingAllTokens) { + if (allowanceTarget == address(0)) revert InvalidAllowanceTarget(); + if (admin == address(0)) revert AWKErrors.ZeroAddress(); + if (emergencyAdmin == address(0)) revert AWKErrors.ZeroAddress(); + ALLOWANCE_TARGET = allowanceTarget; + _grantRole(DEFAULT_ADMIN_ROLE, admin); + _grantRole(EMERGENCY_ROLE, emergencyAdmin); + allowSellingAllTokens = initialAllowSellingAllTokens; } // ============ Allowlist Management (direct calls only) ============ - function setAllowAllTokens(bool enabled) external onlyRole(DEFAULT_ADMIN_ROLE) { - allowAllTokens = enabled; - emit AllowAllTokensSet(enabled); + function setAllowSellingAllTokens(bool enabled) external onlyRole(DEFAULT_ADMIN_ROLE) { + allowSellingAllTokens = enabled; + emit AllowSellingAllTokensSet(enabled); } - function addSellToken(address token) external onlyRole(DEFAULT_ADMIN_ROLE) { + function addSellableToken(address token) external onlyRole(DEFAULT_ADMIN_ROLE) { if (token == address(0)) revert AWKErrors.ZeroAddress(); - if (_allowedSellTokens.add(token)) { - emit SellTokenAdded(token); + if (sellableTokens.add(token)) { + emit SellableTokenAdded(token); } } - function addSellTokens(address[] calldata tokens) external onlyRole(DEFAULT_ADMIN_ROLE) { + function addSellableTokens(address[] calldata tokens) external onlyRole(DEFAULT_ADMIN_ROLE) { for (uint256 i = 0; i < tokens.length; i++) { if (tokens[i] == address(0)) revert AWKErrors.ZeroAddress(); - if (_allowedSellTokens.add(tokens[i])) { - emit SellTokenAdded(tokens[i]); + if (sellableTokens.add(tokens[i])) { + emit SellableTokenAdded(tokens[i]); } } } - function removeSellToken(address token) external onlyRole(EMERGENCY_ROLE) { - if (_allowedSellTokens.remove(token)) { - emit SellTokenRemoved(token); + function removeSellableToken(address token) external onlyRole(EMERGENCY_ROLE) { + if (sellableTokens.remove(token)) { + emit SellableTokenRemoved(token); } } - function isAllowedSellToken(address token) external view returns (bool) { - return allowAllTokens || _allowedSellTokens.contains(token); + function isSellableToken(address token) external view returns (bool) { + return allowSellingAllTokens || sellableTokens.contains(token); } - function getAllowedSellTokens() external view returns (address[] memory) { - return _allowedSellTokens.values(); - } - - function allowedSellTokenCount() external view returns (uint256) { - return _allowedSellTokens.length(); + function getSellableTokens() external view returns (address[] memory) { + return sellableTokens.values(); } // ============ Swap Execution (delegatecall only) ============ @@ -121,7 +117,7 @@ contract AWKZeroXAdapter is AWKAdapter, AccessControl { function _swapInternal(address target, address sellToken, address buyToken, uint256 sellAmount, uint256 minBuyAmount, bytes memory swapCallData, uint256 value) internal virtual returns (uint256 buyAmount, uint256 soldAmount) { if (sellAmount == 0 || minBuyAmount == 0) revert AWKErrors.ZeroAmount(); - if (sellToken != NATIVE_TOKEN && !AWKZeroXAdapter(SELF).isAllowedSellToken(sellToken)) revert SellTokenNotAllowed(sellToken); + if (sellToken != NATIVE_TOKEN && !AWKZeroXAdapter(SELF).isSellableToken(sellToken)) revert SellTokenNotAllowed(sellToken); uint256 ethToSend; if (sellToken == NATIVE_TOKEN) { @@ -143,5 +139,4 @@ contract AWKZeroXAdapter is AWKAdapter, AccessControl { emit Swapped(address(this), target, sellToken, buyToken, soldAmount, buyAmount); } - } diff --git a/test/unit/adapters/AaveV3Adapter.t.sol b/test/unit/adapters/AaveV3Adapter.t.sol index c74d59f..2c743ca 100644 --- a/test/unit/adapters/AaveV3Adapter.t.sol +++ b/test/unit/adapters/AaveV3Adapter.t.sol @@ -3,7 +3,7 @@ pragma solidity 0.8.28; import {YieldSeekerFeeTracker} from "../../../src/FeeTracker.sol"; import {YieldSeekerAaveV3Adapter} from "../../../src/adapters/AaveV3Adapter.sol"; -import {InvalidBaseAsset} from "../../../src/adapters/Adapter.sol"; +import {AssetNotAllowed} from "../../../src/adapters/Adapter.sol"; import {AWKErrors} from "../../../src/agentwalletkit/AWKErrors.sol"; import {MockAToken, MockAaveV3Pool} from "../../mocks/MockAaveV3.sol"; import {MockERC20} from "../../mocks/MockERC20.sol"; @@ -62,7 +62,7 @@ contract AaveV3AdapterTest is Test { function test_Execute_Deposit_InvalidAsset_Reverts() public { MockAaveV3Pool badPool = new MockAaveV3Pool(address(altAsset)); MockAToken badAToken = MockAToken(badPool.aToken()); - vm.expectRevert(abi.encodeWithSelector(InvalidBaseAsset.selector)); + vm.expectRevert(abi.encodeWithSelector(AssetNotAllowed.selector)); wallet.executeAdapter(address(adapter), address(badAToken), abi.encodeWithSelector(adapter.deposit.selector, 1e6)); } diff --git a/test/unit/adapters/CompoundV2Adapter.t.sol b/test/unit/adapters/CompoundV2Adapter.t.sol index 0270ebe..c7db9ab 100644 --- a/test/unit/adapters/CompoundV2Adapter.t.sol +++ b/test/unit/adapters/CompoundV2Adapter.t.sol @@ -2,7 +2,7 @@ pragma solidity 0.8.28; import {YieldSeekerFeeTracker} from "../../../src/FeeTracker.sol"; -import {InvalidBaseAsset} from "../../../src/adapters/Adapter.sol"; +import {AssetNotAllowed} from "../../../src/adapters/Adapter.sol"; import {YieldSeekerCompoundV2Adapter} from "../../../src/adapters/CompoundV2Adapter.sol"; import {AWKErrors} from "../../../src/agentwalletkit/AWKErrors.sol"; import {MockCToken} from "../../mocks/MockCompoundV2.sol"; @@ -59,7 +59,7 @@ contract CompoundV2AdapterTest is Test { function test_Execute_Deposit_InvalidAsset_Reverts() public { MockCToken badCToken = new MockCToken(address(altAsset), "Bad", "BAD"); - vm.expectRevert(abi.encodeWithSelector(InvalidBaseAsset.selector)); + vm.expectRevert(abi.encodeWithSelector(AssetNotAllowed.selector)); wallet.executeAdapter(address(adapter), address(badCToken), abi.encodeWithSelector(adapter.deposit.selector, 1e6)); } diff --git a/test/unit/adapters/CompoundV3Adapter.t.sol b/test/unit/adapters/CompoundV3Adapter.t.sol index c764c12..1dfc1f0 100644 --- a/test/unit/adapters/CompoundV3Adapter.t.sol +++ b/test/unit/adapters/CompoundV3Adapter.t.sol @@ -2,7 +2,7 @@ pragma solidity 0.8.28; import {YieldSeekerFeeTracker} from "../../../src/FeeTracker.sol"; -import {InvalidBaseAsset} from "../../../src/adapters/Adapter.sol"; +import {AssetNotAllowed} from "../../../src/adapters/Adapter.sol"; import {YieldSeekerCompoundV3Adapter} from "../../../src/adapters/CompoundV3Adapter.sol"; import {AWKErrors} from "../../../src/agentwalletkit/AWKErrors.sol"; import {MockCompoundV3Comet} from "../../mocks/MockCompoundV3.sol"; @@ -59,7 +59,7 @@ contract CompoundV3AdapterTest is Test { function test_Execute_Deposit_InvalidAsset_Reverts() public { MockCompoundV3Comet badComet = new MockCompoundV3Comet(address(altAsset)); - vm.expectRevert(abi.encodeWithSelector(InvalidBaseAsset.selector)); + vm.expectRevert(abi.encodeWithSelector(AssetNotAllowed.selector)); wallet.executeAdapter(address(adapter), address(badComet), abi.encodeWithSelector(adapter.deposit.selector, 1e6)); } diff --git a/test/unit/adapters/ERC4626Adapter.t.sol b/test/unit/adapters/ERC4626Adapter.t.sol index 28a0bcf..c3d459f 100644 --- a/test/unit/adapters/ERC4626Adapter.t.sol +++ b/test/unit/adapters/ERC4626Adapter.t.sol @@ -2,7 +2,7 @@ pragma solidity 0.8.28; import {YieldSeekerFeeTracker} from "../../../src/FeeTracker.sol"; -import {InvalidBaseAsset} from "../../../src/adapters/Adapter.sol"; +import {AssetNotAllowed} from "../../../src/adapters/Adapter.sol"; import {YieldSeekerERC4626Adapter} from "../../../src/adapters/ERC4626Adapter.sol"; import {AWKErrors} from "../../../src/agentwalletkit/AWKErrors.sol"; import {MockERC20} from "../../mocks/MockERC20.sol"; @@ -59,7 +59,7 @@ contract ERC4626AdapterTest is Test { function test_Execute_Deposit_InvalidAsset_Reverts() public { MockERC4626 badVault = new MockERC4626(address(altAsset), "Bad", "bALT"); - vm.expectRevert(abi.encodeWithSelector(InvalidBaseAsset.selector)); + vm.expectRevert(abi.encodeWithSelector(AssetNotAllowed.selector)); wallet.executeAdapter(address(adapter), address(badVault), abi.encodeWithSelector(adapter.deposit.selector, 1e6)); } diff --git a/test/unit/adapters/ZeroXAdapter.t.sol b/test/unit/adapters/ZeroXAdapter.t.sol index 91a5a55..8cb4007 100644 --- a/test/unit/adapters/ZeroXAdapter.t.sol +++ b/test/unit/adapters/ZeroXAdapter.t.sol @@ -2,6 +2,7 @@ pragma solidity 0.8.28; import {YieldSeekerFeeTracker} from "../../../src/FeeTracker.sol"; +import {BaseAssetNotAllowed} from "../../../src/adapters/Adapter.sol"; import {YieldSeekerZeroXAdapter} from "../../../src/adapters/ZeroXAdapter.sol"; import {AWKErrors} from "../../../src/agentwalletkit/AWKErrors.sol"; import {InsufficientOutput, SellTokenNotAllowed} from "../../../src/agentwalletkit/adapters/AWKZeroXAdapter.sol"; @@ -54,7 +55,7 @@ contract ZeroXAdapterTest is Test { feeTracker.setFeeConfig(1000, address(0xBEEF)); target = new MockZeroXTarget(); adapter = new YieldSeekerZeroXAdapter(address(target), address(this), address(this), false); - adapter.addSellToken(address(sellToken)); + adapter.addSellableToken(address(sellToken)); wallet = new AdapterWalletHarness(baseAsset, feeTracker); baseAsset.mint(address(target), 1_000_000e6); sellToken.mint(address(wallet), 1_000e18); @@ -169,7 +170,7 @@ contract ZeroXAdapterTest is Test { } function test_Swap_RemovedTokenReverts() public { - adapter.removeSellToken(address(sellToken)); + adapter.removeSellableToken(address(sellToken)); target.setBuyAmount(500e6); bytes memory data = abi.encodeWithSelector( adapter.swap.selector, @@ -188,13 +189,7 @@ contract ZeroXAdapterTest is Test { target.setBuyAmount(200e6); vm.deal(address(wallet), 2 ether); bytes memory data = abi.encodeWithSelector( - adapter.swap.selector, - NATIVE_TOKEN, - address(baseAsset), - uint256(1 ether), - uint256(100e6), - abi.encodeWithSelector(MockZeroXTarget.swap.selector, NATIVE_TOKEN, address(baseAsset), uint256(1 ether), uint256(100e6)), - uint256(0) + adapter.swap.selector, NATIVE_TOKEN, address(baseAsset), uint256(1 ether), uint256(100e6), abi.encodeWithSelector(MockZeroXTarget.swap.selector, NATIVE_TOKEN, address(baseAsset), uint256(1 ether), uint256(100e6)), uint256(0) ); wallet.executeAdapter(address(adapter), address(target), data); assertEq(baseAsset.balanceOf(address(wallet)), 200e6); @@ -221,7 +216,7 @@ contract ZeroXAdapterTest is Test { wallet.executeAdapter(address(adapter), address(target), data); // Enable allowAllTokens and verify it succeeds - adapter.setAllowAllTokens(true); + adapter.setAllowSellingAllTokens(true); wallet.executeAdapter(address(adapter), address(target), data); assertEq(baseAsset.balanceOf(address(wallet)), 500e6); } @@ -231,7 +226,7 @@ contract ZeroXAdapterTest is Test { randomToken.mint(address(wallet), 1000e18); target.setBuyAmount(500e6); - adapter.setAllowAllTokens(true); + adapter.setAllowSellingAllTokens(true); bytes memory data = abi.encodeWithSelector( adapter.swap.selector, address(randomToken), @@ -244,15 +239,32 @@ contract ZeroXAdapterTest is Test { wallet.executeAdapter(address(adapter), address(target), data); // Disable allowAllTokens - should revert again for non-allowlisted token - adapter.setAllowAllTokens(false); + adapter.setAllowSellingAllTokens(false); vm.expectRevert(abi.encodeWithSelector(SellTokenNotAllowed.selector, address(randomToken))); wallet.executeAdapter(address(adapter), address(target), data); } - function test_SetAllowAllTokens_OnlyAdmin() public { + function test_Swap_RevertsWhenSellingBaseAsset() public { + adapter.addSellableToken(address(baseAsset)); + baseAsset.mint(address(wallet), 1000e6); + target.setBuyAmount(500e18); + bytes memory data = abi.encodeWithSelector( + adapter.swap.selector, + address(baseAsset), + address(sellToken), + uint256(100e6), + uint256(400e18), + abi.encodeWithSelector(MockZeroXTarget.swap.selector, address(baseAsset), address(sellToken), uint256(100e6), uint256(400e18)), + uint256(0) + ); + vm.expectRevert(abi.encodeWithSelector(BaseAssetNotAllowed.selector)); + wallet.executeAdapter(address(adapter), address(target), data); + } + + function test_SetAllowSellingAllTokens_OnlyAdmin() public { address nonAdmin = address(0xDEAD); vm.prank(nonAdmin); vm.expectRevert(); - adapter.setAllowAllTokens(true); + adapter.setAllowSellingAllTokens(true); } } From f3799a940bf0b55fac37f8ea120489a9b228db2e Mon Sep 17 00:00:00 2001 From: Krishan Patel Date: Fri, 13 Feb 2026 19:18:29 +0000 Subject: [PATCH 08/28] . --- script/Deploy.s.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/Deploy.s.sol b/script/Deploy.s.sol index d2396e7..a06a447 100644 --- a/script/Deploy.s.sol +++ b/script/Deploy.s.sol @@ -196,7 +196,7 @@ contract DeployScript is Script { // Deploy or reuse ZeroX Adapter address zeroXAllowanceTarget = getZeroXAllowanceTarget(block.chainid); if (deployments.zeroXAdapter == address(0)) { - ZeroXAdapter zeroXAdapter = new ZeroXAdapter{salt: bytes32(SALT)}(zeroXAllowanceTarget, deployerAddress, deployerAddress, false); + ZeroXAdapter zeroXAdapter = new ZeroXAdapter{salt: bytes32(SALT)}(zeroXAllowanceTarget, deployments.adminTimelock, deployerAddress, false); deployments.zeroXAdapter = address(zeroXAdapter); console2.log("-> ZeroXAdapter deployed at:", address(zeroXAdapter)); console2.log(" allowanceTarget:", zeroXAllowanceTarget); From feef4c573a2f832e1c5f1ce584cd85c94dd599b0 Mon Sep 17 00:00:00 2001 From: Krishan Patel Date: Fri, 13 Feb 2026 19:31:51 +0000 Subject: [PATCH 09/28] . --- .../adapters/AWKZeroXAdapter.sol | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/src/agentwalletkit/adapters/AWKZeroXAdapter.sol b/src/agentwalletkit/adapters/AWKZeroXAdapter.sol index 4e20ae2..74d6744 100644 --- a/src/agentwalletkit/adapters/AWKZeroXAdapter.sol +++ b/src/agentwalletkit/adapters/AWKZeroXAdapter.sol @@ -52,6 +52,10 @@ contract AWKZeroXAdapter is AWKAdapter, AccessControl { event AllowSellingAllTokensSet(bool enabled); event Swapped(address indexed wallet, address indexed target, address sellToken, address buyToken, uint256 sellAmount, uint256 buyAmount); + /// @param allowanceTarget The 0x exchange proxy allowance target for token approvals + /// @param admin Address of the admin (gets DEFAULT_ADMIN_ROLE for allowlist and configuration) + /// @param emergencyAdmin Address that can perform emergency operations (remove sellable tokens) + /// @param initialAllowSellingAllTokens Whether to allow selling all tokens by default constructor(address allowanceTarget, address admin, address emergencyAdmin, bool initialAllowSellingAllTokens) { if (allowanceTarget == address(0)) revert InvalidAllowanceTarget(); if (admin == address(0)) revert AWKErrors.ZeroAddress(); @@ -64,11 +68,15 @@ contract AWKZeroXAdapter is AWKAdapter, AccessControl { // ============ Allowlist Management (direct calls only) ============ + /// @notice Toggle the global flag that allows selling any token, bypassing the allowlist + /// @param enabled True to allow selling all tokens, false to enforce the allowlist function setAllowSellingAllTokens(bool enabled) external onlyRole(DEFAULT_ADMIN_ROLE) { allowSellingAllTokens = enabled; emit AllowSellingAllTokensSet(enabled); } + /// @notice Add a token to the sell allowlist + /// @param token The token address to allow selling function addSellableToken(address token) external onlyRole(DEFAULT_ADMIN_ROLE) { if (token == address(0)) revert AWKErrors.ZeroAddress(); if (sellableTokens.add(token)) { @@ -76,6 +84,8 @@ contract AWKZeroXAdapter is AWKAdapter, AccessControl { } } + /// @notice Add multiple tokens to the sell allowlist in a single transaction + /// @param tokens The token addresses to allow selling function addSellableTokens(address[] calldata tokens) external onlyRole(DEFAULT_ADMIN_ROLE) { for (uint256 i = 0; i < tokens.length; i++) { if (tokens[i] == address(0)) revert AWKErrors.ZeroAddress(); @@ -85,22 +95,36 @@ contract AWKZeroXAdapter is AWKAdapter, AccessControl { } } + /// @notice Remove a token from the sell allowlist (emergency only) + /// @param token The token address to disallow selling function removeSellableToken(address token) external onlyRole(EMERGENCY_ROLE) { if (sellableTokens.remove(token)) { emit SellableTokenRemoved(token); } } + /// @notice Check if a token is allowed to be sold + /// @param token The token address to check + /// @return True if the token can be sold (either explicitly allowlisted or allowSellingAllTokens is enabled) function isSellableToken(address token) external view returns (bool) { return allowSellingAllTokens || sellableTokens.contains(token); } + /// @notice Get all tokens explicitly added to the sell allowlist + /// @return An array of token addresses in the allowlist function getSellableTokens() external view returns (address[] memory) { return sellableTokens.values(); } // ============ Swap Execution (delegatecall only) ============ + /** + * @notice Route delegatecall operations to the appropriate swap handler + * @param target The 0x swap target contract + * @param data ABI-encoded call data (must match swap() selector) + * @return ABI-encoded buy amount + * @dev Only callable via delegatecall from AgentWallet. Reverts with UnknownOperation for unrecognised selectors. + */ function execute(address target, bytes calldata data) external payable virtual override onlyDelegateCall returns (bytes memory) { bytes4 selector_ = bytes4(data[:4]); if (selector_ == this.swap.selector) { @@ -111,10 +135,38 @@ contract AWKZeroXAdapter is AWKAdapter, AccessControl { revert UnknownOperation(); } + // ============ Swap Operations ============ + + /** + * @notice Swap tokens via 0x (public interface, should not be called directly) + * @param sellToken The token to sell (use NATIVE_TOKEN for ETH) + * @param buyToken The token to buy + * @param sellAmount The amount of sellToken to swap + * @param minBuyAmount Minimum acceptable buyToken amount (slippage protection) + * @param swapCallData The 0x API swap calldata + * @param value ETH value (ignored for security, sellAmount used instead) + * @return buyAmount The amount of buyToken received + * @dev This is a placeholder - actual execution happens via execute() -> _swapInternal() + */ function swap(address sellToken, address buyToken, uint256 sellAmount, uint256 minBuyAmount, bytes calldata swapCallData, uint256 value) external payable returns (uint256) { revert AWKErrors.DirectCallForbidden(); } + /** + * @notice Internal swap implementation that handles token approvals, balance checks, and slippage protection + * @param target The 0x swap target contract to call + * @param sellToken The token being sold (use NATIVE_TOKEN for ETH) + * @param buyToken The token being bought + * @param sellAmount The amount of sellToken to sell + * @param minBuyAmount Minimum acceptable buyToken output (reverts with InsufficientOutput if not met) + * @param swapCallData Raw calldata to forward to the 0x target + * @param value Ignored - sellAmount is used for ETH sends to prevent value manipulation + * @return buyAmount The amount of buyToken received + * @return soldAmount The amount of sellToken actually sold + * @dev Runs in the wallet's context via delegatecall. Reads the adapter's own allowlist + * via an external call to AWKZeroXAdapter(SELF).isSellableToken() since storage + * belongs to the wallet during delegatecall. + */ function _swapInternal(address target, address sellToken, address buyToken, uint256 sellAmount, uint256 minBuyAmount, bytes memory swapCallData, uint256 value) internal virtual returns (uint256 buyAmount, uint256 soldAmount) { if (sellAmount == 0 || minBuyAmount == 0) revert AWKErrors.ZeroAmount(); if (sellToken != NATIVE_TOKEN && !AWKZeroXAdapter(SELF).isSellableToken(sellToken)) revert SellTokenNotAllowed(sellToken); From 08f867bfce9d4521a2562e8d1c84b2b6155fe203 Mon Sep 17 00:00:00 2001 From: Krishan Patel Date: Fri, 13 Feb 2026 21:32:23 +0000 Subject: [PATCH 10/28] . --- README.md | 8 + .../8453/run-1771018257824.json | 175 +++ .../8453/run-latest.json | 175 +++ .../Deploy.s.sol/8453/run-1771012596204.json | 1267 +++++++++++++++++ broadcast/Deploy.s.sol/8453/run-latest.json | 1210 ++++++++++------ .../8453/run-1771012779218.json | 176 +++ .../8453/run-1771012802948.json | 176 +++ .../8453/run-1771012847753.json | 176 +++ .../8453/run-1771012884745.json | 176 +++ .../RegisterVault.s.sol/8453/run-latest.json | 168 +-- deployments.json | 19 +- script/AddSellableTokens.s.sol | 103 ++ script/Deploy.s.sol | 2 +- 13 files changed, 3287 insertions(+), 544 deletions(-) create mode 100644 broadcast/AddSellableTokens.s.sol/8453/run-1771018257824.json create mode 100644 broadcast/AddSellableTokens.s.sol/8453/run-latest.json create mode 100644 broadcast/Deploy.s.sol/8453/run-1771012596204.json create mode 100644 broadcast/RegisterVault.s.sol/8453/run-1771012779218.json create mode 100644 broadcast/RegisterVault.s.sol/8453/run-1771012802948.json create mode 100644 broadcast/RegisterVault.s.sol/8453/run-1771012847753.json create mode 100644 broadcast/RegisterVault.s.sol/8453/run-1771012884745.json create mode 100644 script/AddSellableTokens.s.sol diff --git a/README.md b/README.md index 0c5b2c0..37eb13d 100644 --- a/README.md +++ b/README.md @@ -808,11 +808,19 @@ Deployment addresses saved to `deployments.json`. # Register ERC4626 vaults forge script script/RegisterVault.s.sol:RegisterVaultScript --rpc-url $RPC_NODE_URL_8453 --broadcast --sig "run(address,string)" erc4626 +# Register other vaults +forge script script/RegisterVault.s.sol:RegisterVaultScript --rpc-url $RPC_NODE_URL_8453 --broadcast --sig "run(address,string)" 0x4e65fE4DbA92790696d040ac24Aa414708F5c0AB aave +forge script script/RegisterVault.s.sol:RegisterVaultScript --rpc-url $RPC_NODE_URL_8453 --broadcast --sig "run(address,string)" 0xb125E6687d4313864e53df431d5425969c15Eb2F compound +forge script script/RegisterVault.s.sol:RegisterVaultScript --rpc-url $RPC_NODE_URL_8453 --broadcast --sig "run(address,string)" 0xEdc817A28E8B93B03976FBd4a3dDBc9f7D176c22 moonwell + # Register 0x swap target forge script script/RegisterVault.s.sol:RegisterVaultScript --rpc-url $RPC_NODE_URL_8453 --broadcast --sig "run(address,string)" 0x0000000000001fF3684f28c67538d4D072C22734 zerox # Register Merkl forge script script/RegisterVault.s.sol:RegisterVaultScript --rpc-url $RPC_NODE_URL_8453 --broadcast --sig "run(address,string)" 0x3Ef3D8bA38EBe18DB133cEc108f4D14CE00Dd9Ae merkl + +# Add sellable tokens to the 0x adapter (tokens that agents are allowed to swap) +forge script script/AddSellableTokens.s.sol:AddSellableTokensScript --rpc-url $RPC_NODE_URL_8453 --broadcast --sig "run(address[])" "[, , ...]" ``` (temp) test with: diff --git a/broadcast/AddSellableTokens.s.sol/8453/run-1771018257824.json b/broadcast/AddSellableTokens.s.sol/8453/run-1771018257824.json new file mode 100644 index 0000000..923a1f0 --- /dev/null +++ b/broadcast/AddSellableTokens.s.sol/8453/run-1771018257824.json @@ -0,0 +1,175 @@ +{ + "transactions": [ + { + "hash": "0x61cade08cfa18bb5c6682db6f94e6193c6d0bce8f325c69558b00e2660f9dc38", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "function": "schedule(address,uint256,bytes,bytes32,bytes32,uint256)", + "arguments": [ + "0x153e4801852249d1f7D05CCB13c1D1CF8AE7c466", + "0", + "0x99b39dc100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000590830dfdf9a3f68afcdde2694773debdf267774", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x246250b5c38bf75f992da1df0c5fca203c2c386ab9f5f2876942203e40dfe40f", + "0" + ], + "transaction": { + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "gas": "0x1339b", + "value": "0x0", + "input": "0x01d5062a000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c466000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000000246250b5c38bf75f992da1df0c5fca203c2c386ab9f5f2876942203e40dfe40f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006499b39dc100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000590830dfdf9a3f68afcdde2694773debdf26777400000000000000000000000000000000000000000000000000000000", + "nonce": "0x2d", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xfa1cc85ceb61494857cc9719cf2721d4e3443c40191211dfe982a2a03c7d74a9", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "function": "execute(address,uint256,bytes,bytes32,bytes32)", + "arguments": [ + "0x153e4801852249d1f7D05CCB13c1D1CF8AE7c466", + "0", + "0x99b39dc100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000590830dfdf9a3f68afcdde2694773debdf267774", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x246250b5c38bf75f992da1df0c5fca203c2c386ab9f5f2876942203e40dfe40f" + ], + "transaction": { + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "gas": "0x28318", + "value": "0x0", + "input": "0x134008d3000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c466000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000246250b5c38bf75f992da1df0c5fca203c2c386ab9f5f2876942203e40dfe40f000000000000000000000000000000000000000000000000000000000000006499b39dc100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000590830dfdf9a3f68afcdde2694773debdf26777400000000000000000000000000000000000000000000000000000000", + "nonce": "0x2e", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x25a1abc", + "logs": [ + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", + "0x0083b1a04ab4ed228c6f5368661700f19d7bff61b4ec91afde90cf6fbc9511e0", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c466000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006499b39dc100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000590830dfdf9a3f68afcdde2694773debdf26777400000000000000000000000000000000000000000000000000000000", + "blockHash": "0x369caf199f05644370b644110b6125d6e287709695ba1ec4549036219be03534", + "blockNumber": "0x2829d96", + "blockTimestamp": "0x698f980f", + "transactionHash": "0xfa1cc85ceb61494857cc9719cf2721d4e3443c40191211dfe982a2a03c7d74a9", + "transactionIndex": "0x60", + "logIndex": "0x208", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0x20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d0387", + "0x0083b1a04ab4ed228c6f5368661700f19d7bff61b4ec91afde90cf6fbc9511e0" + ], + "data": "0x246250b5c38bf75f992da1df0c5fca203c2c386ab9f5f2876942203e40dfe40f", + "blockHash": "0x369caf199f05644370b644110b6125d6e287709695ba1ec4549036219be03534", + "blockNumber": "0x2829d96", + "blockTimestamp": "0x698f980f", + "transactionHash": "0xfa1cc85ceb61494857cc9719cf2721d4e3443c40191211dfe982a2a03c7d74a9", + "transactionIndex": "0x60", + "logIndex": "0x209", + "removed": false + } + ], + "logsBloom": "0x00000080000000000000000040000000000000000000000000000000000000000000000000000000000000000000000100000000800000000000000000000000000000000000000000800000000000000000000000000008000000000000400000000000020000000000000000000800000080000000000000000400001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000400000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xfa1cc85ceb61494857cc9719cf2721d4e3443c40191211dfe982a2a03c7d74a9", + "transactionIndex": "0x60", + "blockHash": "0x369caf199f05644370b644110b6125d6e287709695ba1ec4549036219be03534", + "blockNumber": "0x2829d96", + "gasUsed": "0xdeb4", + "effectiveGasPrice": "0x3f1f5c", + "blobGasUsed": "0x56e0", + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "contractAddress": null, + "daFootprintGasScalar": "0x8b", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x33c603", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x37924040", + "l1GasPrice": "0x3a518dd", + "l1GasUsed": "0xa0a" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x25bd275", + "logs": [ + { + "address": "0x153e4801852249d1f7d05ccb13c1d1cf8ae7c466", + "topics": [ + "0x4ac723403fd9e3f5fbe7116bb75c15981bd5cb9ca32255900e5c29d9597cbee2", + "0x000000000000000000000000590830dfdf9a3f68afcdde2694773debdf267774" + ], + "data": "0x", + "blockHash": "0x369caf199f05644370b644110b6125d6e287709695ba1ec4549036219be03534", + "blockNumber": "0x2829d96", + "blockTimestamp": "0x698f980f", + "transactionHash": "0x61cade08cfa18bb5c6682db6f94e6193c6d0bce8f325c69558b00e2660f9dc38", + "transactionIndex": "0x61", + "logIndex": "0x20a", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", + "0x0083b1a04ab4ed228c6f5368661700f19d7bff61b4ec91afde90cf6fbc9511e0", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c46600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006499b39dc100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000590830dfdf9a3f68afcdde2694773debdf26777400000000000000000000000000000000000000000000000000000000", + "blockHash": "0x369caf199f05644370b644110b6125d6e287709695ba1ec4549036219be03534", + "blockNumber": "0x2829d96", + "blockTimestamp": "0x698f980f", + "transactionHash": "0x61cade08cfa18bb5c6682db6f94e6193c6d0bce8f325c69558b00e2660f9dc38", + "transactionIndex": "0x61", + "logIndex": "0x20b", + "removed": false + } + ], + "logsBloom": "0x00000080000000000000000000000001000000000000000000000000000000000000000100000000000000000000000000000000000800400000000000000000000000000000010000800000000000000000000000000000000000000000402000000000020000000000000000000800000000000000000000000400001000000000000000000000000000000000000000000000000000040010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000001000000000000000000000000000000020000000000000000000004000000000000000000000000000000000000820000000", + "type": "0x2", + "transactionHash": "0x61cade08cfa18bb5c6682db6f94e6193c6d0bce8f325c69558b00e2660f9dc38", + "transactionIndex": "0x61", + "blockHash": "0x369caf199f05644370b644110b6125d6e287709695ba1ec4549036219be03534", + "blockNumber": "0x2829d96", + "gasUsed": "0x1b7b9", + "effectiveGasPrice": "0x3f1f5c", + "blobGasUsed": "0x55ca", + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "contractAddress": null, + "daFootprintGasScalar": "0x8b", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x33c603", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x36b41220", + "l1GasPrice": "0x3a518dd", + "l1GasUsed": "0x9e2" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1771018257824, + "chain": 8453, + "commit": "feef4c5" +} \ No newline at end of file diff --git a/broadcast/AddSellableTokens.s.sol/8453/run-latest.json b/broadcast/AddSellableTokens.s.sol/8453/run-latest.json new file mode 100644 index 0000000..923a1f0 --- /dev/null +++ b/broadcast/AddSellableTokens.s.sol/8453/run-latest.json @@ -0,0 +1,175 @@ +{ + "transactions": [ + { + "hash": "0x61cade08cfa18bb5c6682db6f94e6193c6d0bce8f325c69558b00e2660f9dc38", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "function": "schedule(address,uint256,bytes,bytes32,bytes32,uint256)", + "arguments": [ + "0x153e4801852249d1f7D05CCB13c1D1CF8AE7c466", + "0", + "0x99b39dc100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000590830dfdf9a3f68afcdde2694773debdf267774", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x246250b5c38bf75f992da1df0c5fca203c2c386ab9f5f2876942203e40dfe40f", + "0" + ], + "transaction": { + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "gas": "0x1339b", + "value": "0x0", + "input": "0x01d5062a000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c466000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000000246250b5c38bf75f992da1df0c5fca203c2c386ab9f5f2876942203e40dfe40f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006499b39dc100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000590830dfdf9a3f68afcdde2694773debdf26777400000000000000000000000000000000000000000000000000000000", + "nonce": "0x2d", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xfa1cc85ceb61494857cc9719cf2721d4e3443c40191211dfe982a2a03c7d74a9", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "function": "execute(address,uint256,bytes,bytes32,bytes32)", + "arguments": [ + "0x153e4801852249d1f7D05CCB13c1D1CF8AE7c466", + "0", + "0x99b39dc100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000590830dfdf9a3f68afcdde2694773debdf267774", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x246250b5c38bf75f992da1df0c5fca203c2c386ab9f5f2876942203e40dfe40f" + ], + "transaction": { + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "gas": "0x28318", + "value": "0x0", + "input": "0x134008d3000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c466000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000246250b5c38bf75f992da1df0c5fca203c2c386ab9f5f2876942203e40dfe40f000000000000000000000000000000000000000000000000000000000000006499b39dc100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000590830dfdf9a3f68afcdde2694773debdf26777400000000000000000000000000000000000000000000000000000000", + "nonce": "0x2e", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x25a1abc", + "logs": [ + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", + "0x0083b1a04ab4ed228c6f5368661700f19d7bff61b4ec91afde90cf6fbc9511e0", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c466000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006499b39dc100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000590830dfdf9a3f68afcdde2694773debdf26777400000000000000000000000000000000000000000000000000000000", + "blockHash": "0x369caf199f05644370b644110b6125d6e287709695ba1ec4549036219be03534", + "blockNumber": "0x2829d96", + "blockTimestamp": "0x698f980f", + "transactionHash": "0xfa1cc85ceb61494857cc9719cf2721d4e3443c40191211dfe982a2a03c7d74a9", + "transactionIndex": "0x60", + "logIndex": "0x208", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0x20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d0387", + "0x0083b1a04ab4ed228c6f5368661700f19d7bff61b4ec91afde90cf6fbc9511e0" + ], + "data": "0x246250b5c38bf75f992da1df0c5fca203c2c386ab9f5f2876942203e40dfe40f", + "blockHash": "0x369caf199f05644370b644110b6125d6e287709695ba1ec4549036219be03534", + "blockNumber": "0x2829d96", + "blockTimestamp": "0x698f980f", + "transactionHash": "0xfa1cc85ceb61494857cc9719cf2721d4e3443c40191211dfe982a2a03c7d74a9", + "transactionIndex": "0x60", + "logIndex": "0x209", + "removed": false + } + ], + "logsBloom": "0x00000080000000000000000040000000000000000000000000000000000000000000000000000000000000000000000100000000800000000000000000000000000000000000000000800000000000000000000000000008000000000000400000000000020000000000000000000800000080000000000000000400001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000400000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xfa1cc85ceb61494857cc9719cf2721d4e3443c40191211dfe982a2a03c7d74a9", + "transactionIndex": "0x60", + "blockHash": "0x369caf199f05644370b644110b6125d6e287709695ba1ec4549036219be03534", + "blockNumber": "0x2829d96", + "gasUsed": "0xdeb4", + "effectiveGasPrice": "0x3f1f5c", + "blobGasUsed": "0x56e0", + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "contractAddress": null, + "daFootprintGasScalar": "0x8b", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x33c603", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x37924040", + "l1GasPrice": "0x3a518dd", + "l1GasUsed": "0xa0a" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x25bd275", + "logs": [ + { + "address": "0x153e4801852249d1f7d05ccb13c1d1cf8ae7c466", + "topics": [ + "0x4ac723403fd9e3f5fbe7116bb75c15981bd5cb9ca32255900e5c29d9597cbee2", + "0x000000000000000000000000590830dfdf9a3f68afcdde2694773debdf267774" + ], + "data": "0x", + "blockHash": "0x369caf199f05644370b644110b6125d6e287709695ba1ec4549036219be03534", + "blockNumber": "0x2829d96", + "blockTimestamp": "0x698f980f", + "transactionHash": "0x61cade08cfa18bb5c6682db6f94e6193c6d0bce8f325c69558b00e2660f9dc38", + "transactionIndex": "0x61", + "logIndex": "0x20a", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", + "0x0083b1a04ab4ed228c6f5368661700f19d7bff61b4ec91afde90cf6fbc9511e0", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c46600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006499b39dc100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000590830dfdf9a3f68afcdde2694773debdf26777400000000000000000000000000000000000000000000000000000000", + "blockHash": "0x369caf199f05644370b644110b6125d6e287709695ba1ec4549036219be03534", + "blockNumber": "0x2829d96", + "blockTimestamp": "0x698f980f", + "transactionHash": "0x61cade08cfa18bb5c6682db6f94e6193c6d0bce8f325c69558b00e2660f9dc38", + "transactionIndex": "0x61", + "logIndex": "0x20b", + "removed": false + } + ], + "logsBloom": "0x00000080000000000000000000000001000000000000000000000000000000000000000100000000000000000000000000000000000800400000000000000000000000000000010000800000000000000000000000000000000000000000402000000000020000000000000000000800000000000000000000000400001000000000000000000000000000000000000000000000000000040010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000001000000000000000000000000000000020000000000000000000004000000000000000000000000000000000000820000000", + "type": "0x2", + "transactionHash": "0x61cade08cfa18bb5c6682db6f94e6193c6d0bce8f325c69558b00e2660f9dc38", + "transactionIndex": "0x61", + "blockHash": "0x369caf199f05644370b644110b6125d6e287709695ba1ec4549036219be03534", + "blockNumber": "0x2829d96", + "gasUsed": "0x1b7b9", + "effectiveGasPrice": "0x3f1f5c", + "blobGasUsed": "0x55ca", + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "contractAddress": null, + "daFootprintGasScalar": "0x8b", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x33c603", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x36b41220", + "l1GasPrice": "0x3a518dd", + "l1GasUsed": "0x9e2" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1771018257824, + "chain": 8453, + "commit": "feef4c5" +} \ No newline at end of file diff --git a/broadcast/Deploy.s.sol/8453/run-1771012596204.json b/broadcast/Deploy.s.sol/8453/run-1771012596204.json new file mode 100644 index 0000000..9778456 --- /dev/null +++ b/broadcast/Deploy.s.sol/8453/run-1771012596204.json @@ -0,0 +1,1267 @@ +{ + "transactions": [ + { + "hash": "0x8c27f572246018455ff55f2f0ba8db816d9c5efafc2118908c9174ed41eb378a", + "transactionType": "CREATE2", + "contractName": "YieldSeekerAdminTimelock", + "contractAddress": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "function": null, + "arguments": [ + "0", + "[0xF8CBf6437d2473eC59885299Af38D9A13cE97ecA]", + "[0xF8CBf6437d2473eC59885299Af38D9A13cE97ecA]", + "0x0000000000000000000000000000000000000000" + ], + "transaction": { + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1e5693", + "value": "0x0", + "input": "0x000000000000000000000000000000000000000000000000000000000000000760806040523461016657611a61803803806100198161016a565b92833981019060808183031261016657805160208201519091906001600160401b038111610166578361004d9183016101b7565b604082015190936001600160401b0382116101665761007360609161007a9385016101b7565b92016101a3565b61008330610249565b506001600160a01b038116610156575b505f5b83518110156100e0576001906100be6001600160a01b036100b78388610221565b51166102bf565b506100d9828060a01b036100d28388610221565b5116610352565b5001610096565b50905f5b82518110156101135760019061010c6001600160a01b036101058387610221565b51166103e5565b50016100e4565b7f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d5604083806002558151905f82526020820152a160405161154890816104798239f35b61015f90610249565b505f610093565b5f80fd5b6040519190601f01601f191682016001600160401b0381118382101761018f57604052565b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820361016657565b9080601f83011215610166578151916001600160401b03831161018f578260051b906020806101e781850161016a565b80968152019282010192831161016657602001905b8282106102095750505090565b60208091610216846101a3565b8152019101906101fc565b80518210156102355760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b6001600160a01b0381165f9081525f516020611a415f395f51905f52602052604090205460ff166102ba576001600160a01b03165f8181525f516020611a415f395f51905f5260205260408120805460ff191660011790553391905f5160206119c15f395f51905f528180a4600190565b505f90565b6001600160a01b0381165f9081525f5160206119e15f395f51905f52602052604090205460ff166102ba576001600160a01b03165f8181525f5160206119e15f395f51905f5260205260408120805460ff191660011790553391907fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1905f5160206119c15f395f51905f529080a4600190565b6001600160a01b0381165f9081525f516020611a215f395f51905f52602052604090205460ff166102ba576001600160a01b03165f8181525f516020611a215f395f51905f5260205260408120805460ff191660011790553391907ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783905f5160206119c15f395f51905f529080a4600190565b6001600160a01b0381165f9081525f516020611a015f395f51905f52602052604090205460ff166102ba576001600160a01b03165f8181525f516020611a015f395f51905f5260205260408120805460ff191660011790553391907fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63905f5160206119c15f395f51905f529080a460019056fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806301d5062a14610b2057806301ffc9a714610ab057806307bd026514610a76578063134008d3146109c357806313bc9f20146109a5578063150b7a0214610950578063248a9ca3146109265780632ab0f529146109085780632f2ff15d146108cb57806331d50750146108ad57806336568abe14610869578063584b153e1461084157806364d62353146107dc5780637958004c146107995780638065657f1461077a5780638f2a0bb0146105f55780638f61f4f5146105bb57806391d1485414610573578063a217fddf14610559578063b08e51c01461051f578063b1c5f427146104f5578063bc197c8114610460578063c4d252f514610382578063d45c443514610358578063d547741f14610314578063e38335e5146101c8578063f23a6e61146101735763f27a0c920361000e573461016f575f36600319011261016f576020600254604051908152f35b5f80fd5b3461016f5760a036600319011261016f5761018c610bcb565b50610195610be1565b506084356001600160401b03811161016f576101b5903690600401610cc2565b5060405163f23a6e6160e01b8152602090f35b6101d136610d38565b5f80527fdae2aa361dfd1ca020a396615627d436107c35eff9fe7738a3512819782d70696020527f5ba6852781629bcdcd4bdaa6de76d786f1c64b16acdac474e55bebc0ea1579515492979196919593949260ff1615610306575b8282148015906102fc575b6102e15761024e61025591888a888789888d611002565b968761131b565b5f5b81811061026757610018876113c6565b8080887fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b5888886102d86102bf8f986001998f828e6102b28f836102ad916102b896610f89565b610fad565b97610f89565b3595610fc1565b906102cc82828787611373565b60405194859485610e65565b0390a301610257565b50869063ffb0321160e01b5f5260045260245260445260645ffd5b5087821415610237565b61030f3361124d565b61022c565b3461016f57604036600319011261016f57610018600435610333610be1565b9061035361034c825f525f602052600160405f20015490565b33906112d3565b61146c565b3461016f57602036600319011261016f576004355f526001602052602060405f2054604051908152f35b3461016f57602036600319011261016f57335f9081527fc3ad33e20b0c56a223ad5104fff154aa010f8715b9c981fd38fdc60a4d1a52fb60205260409020546004359060ff1615610429576103d681610ed3565b1561040f57805f5260016020525f60408120557fbaa1eb22f2a492ba1a5fea61b8df4d27c6c8b5f3971e63bb58fa14ff72eedb705f80a2005b635ead8eb560e01b5f52600452600460021760245260445ffd5b63e2517d3f60e01b5f52336004527ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f78360245260445ffd5b3461016f5760a036600319011261016f57610479610bcb565b50610482610be1565b506044356001600160401b03811161016f576104a2903690600401610da6565b506064356001600160401b03811161016f576104c2903690600401610da6565b506084356001600160401b03811161016f576104e2903690600401610cc2565b5060405163bc197c8160e01b8152602090f35b3461016f57602061051761050836610d38565b96959095949194939293611002565b604051908152f35b3461016f575f36600319011261016f5760206040517ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f7838152f35b3461016f575f36600319011261016f5760206040515f8152f35b3461016f57604036600319011261016f5761058c610be1565b6004355f525f60205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b3461016f575f36600319011261016f5760206040517fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc18152f35b3461016f5760c036600319011261016f576004356001600160401b03811161016f57610625903690600401610d08565b906024356001600160401b03811161016f57610645903690600401610d08565b6044929192356001600160401b03811161016f57610667903690600401610d08565b9390916064356084359560a4359261067e336111c7565b808914801590610770575b6107565761069d88848489858a8f8e611002565b986106a8858b611154565b895f5b8281106106e8575089806106bb57005b60207f20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d038791604051908152a2005b806001927f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8b8b61074b8f8c61073e8f928e6107378f8f906107316102ad8f8097948195610f89565b99610f89565b3597610fc1565b9060405196879687610e2d565b0390a3018a906106ab565b908863ffb0321160e01b5f5260045260245260445260645ffd5b5081891415610689565b3461016f57602061051761078d36610c24565b94939093929192610f34565b3461016f57602036600319011261016f576107b5600435610efc565b60405160048210156107c8576020918152f35b634e487b7160e01b5f52602160045260245ffd5b3461016f57602036600319011261016f5760043530330361082e577f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d560406002548151908152836020820152a1600255005b63e2850c5960e01b5f523360045260245ffd5b3461016f57602036600319011261016f57602061085f600435610ed3565b6040519015158152f35b3461016f57604036600319011261016f57610882610be1565b336001600160a01b0382160361089e576100189060043561146c565b63334bd91960e11b5f5260045ffd5b3461016f57602036600319011261016f57602061085f600435610ebc565b3461016f57604036600319011261016f576100186004356108ea610be1565b9061090361034c825f525f602052600160405f20015490565b6113e4565b3461016f57602036600319011261016f57602061085f600435610ea4565b3461016f57602036600319011261016f5760206105176004355f525f602052600160405f20015490565b3461016f57608036600319011261016f57610969610bcb565b50610972610be1565b506064356001600160401b03811161016f57610992903690600401610cc2565b50604051630a85bd0160e11b8152602090f35b3461016f57602036600319011261016f57602061085f600435610e8c565b610018610a545f610a607fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58610a4b6109fa36610c24565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e638a9995979299949394528960205260408a208a805260205260ff60408b20541615610a68575b8884848989610f34565b9889978861131b565b6102cc82828787611373565b0390a36113c6565b610a713361124d565b610a41565b3461016f575f36600319011261016f5760206040517fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e638152f35b3461016f57602036600319011261016f5760043563ffffffff60e01b811680910361016f57602090630271189760e51b8114908115610af5575b506040519015158152f35b637965db0b60e01b811491508115610b0f575b5082610aea565b6301ffc9a760e01b14905082610b08565b3461016f5760c036600319011261016f57610b39610bcb565b602435906044356001600160401b03811161016f577f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca92610b7f5f923690600401610bf7565b94909160643594610bc16084359660a43590610b9a336111c7565b610ba889828c8a8989610f34565b998a97610bb5848a611154565b60405196879687610e2d565b0390a3806106bb57005b600435906001600160a01b038216820361016f57565b602435906001600160a01b038216820361016f57565b9181601f8401121561016f578235916001600160401b03831161016f576020838186019501011161016f57565b60a060031982011261016f576004356001600160a01b038116810361016f579160243591604435906001600160401b03821161016f57610c6691600401610bf7565b90916064359060843590565b90601f801991011681019081106001600160401b03821117610c9357604052565b634e487b7160e01b5f52604160045260245ffd5b6001600160401b038111610c9357601f01601f191660200190565b81601f8201121561016f57803590610cd982610ca7565b92610ce76040519485610c72565b8284526020838301011161016f57815f926020809301838601378301015290565b9181601f8401121561016f578235916001600160401b03831161016f576020808501948460051b01011161016f57565b60a060031982011261016f576004356001600160401b03811161016f5781610d6291600401610d08565b929092916024356001600160401b03811161016f5781610d8491600401610d08565b92909291604435906001600160401b03821161016f57610c6691600401610d08565b9080601f8301121561016f578135916001600160401b038311610c93578260051b9060405193610dd96020840186610c72565b845260208085019282010192831161016f57602001905b828210610dfd5750505090565b8135815260209182019101610df0565b908060209392818452848401375f828201840152601f01601f1916010190565b929093610e5b926080959897969860018060a01b03168552602085015260a0604085015260a0840191610e0d565b9460608201520152565b610e89949260609260018060a01b0316825260208201528160408201520191610e0d565b90565b610e9590610efc565b60048110156107c85760021490565b610ead90610efc565b60048110156107c85760031490565b610ec590610efc565b60048110156107c857151590565b610edc90610efc565b60048110156107c85760018114908115610ef4575090565b600291501490565b5f52600160205260405f205480155f14610f1557505f90565b60018103610f235750600390565b421015610f2f57600190565b600290565b94610f6a610f8394959293604051968795602087019960018060a01b03168a52604087015260a0606087015260c0860191610e0d565b91608084015260a083015203601f198101835282610c72565b51902090565b9190811015610f995760051b0190565b634e487b7160e01b5f52603260045260245ffd5b356001600160a01b038116810361016f5790565b9190811015610f995760051b81013590601e198136030182121561016f5701908135916001600160401b03831161016f57602001823603811361016f579190565b9693949190969592956040519660208801988060c08a0160a08c525260e0890192905f905b80821061111e57505050878203601f190160408901528082526001600160fb1b03811161016f579087959394929160051b8092602083013701848103606086015260208101849052600584901b8101604090810194908201915f90889036829003601e1901905b8484106110b857505050505050610f839450608084015260a083015203601f198101835282610c72565b91939597909294969850601f19601f198383030101875289358381121561016f57840190602082359201916001600160401b03811161016f57803603831361016f5761110a6020928392600195610e0d565b9b0197019401918a9896999795939161108e565b91939091908435906001600160a01b038216820361016f576001600160a01b039091168152602090810194019160010190611027565b9061115e82610ebc565b6111af576002548082106111995750420190814211611185575f52600160205260405f2055565b634e487b7160e01b5f52601160045260245ffd5b90635433660960e01b5f5260045260245260445ffd5b50635ead8eb560e01b5f52600452600160245260445ffd5b6001600160a01b0381165f9081527f3412d5605ac6cd444957cedb533e5dacad6378b4bc819ebe3652188a665066d5602052604090205460ff16156112095750565b63e2517d3f60e01b5f9081526001600160a01b03919091166004527fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1602452604490fd5b6001600160a01b0381165f9081527fdae2aa361dfd1ca020a396615627d436107c35eff9fe7738a3512819782d7069602052604090205460ff161561128f5750565b63e2517d3f60e01b5f9081526001600160a01b03919091166004527fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63602452604490fd5b90815f525f60205260405f2060018060a01b0382165f5260205260ff60405f205416156112fe575050565b63e2517d3f60e01b5f5260018060a01b031660045260245260445ffd5b61132481610e8c565b1561135c57508015158061134c575b61133a5750565b63121534c360e31b5f5260045260245ffd5b5061135681610ea4565b15611333565b635ead8eb560e01b5f52600452600460245260445ffd5b6113bb935f93928493826040519384928337810185815203925af13d156113be573d9061139f82610ca7565b916113ad6040519384610c72565b82523d5f602084013e6114ec565b50565b6060906114ec565b6113cf81610e8c565b1561135c575f526001602052600160405f2055565b5f818152602081815260408083206001600160a01b038616845290915290205460ff16611466575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50505f90565b5f818152602081815260408083206001600160a01b038616845290915290205460ff1615611466575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b156114f45790565b80511561150357602081519101fd5b63d6bda27560e01b5f5260045ffdfea2646970667358221220d337a7b00bb49f4e259f4673e12a4b0cca74005c34d86b712f6db699536a25d164736f6c634300081c00332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d3412d5605ac6cd444957cedb533e5dacad6378b4bc819ebe3652188a665066d5dae2aa361dfd1ca020a396615627d436107c35eff9fe7738a3512819782d7069c3ad33e20b0c56a223ad5104fff154aa010f8715b9c981fd38fdc60a4d1a52fbad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f8cbf6437d2473ec59885299af38d9a13ce97eca0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f8cbf6437d2473ec59885299af38d9a13ce97eca", + "nonce": "0x18", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7b00c930985dc5150eb462be54706b1b8c987d2fd1ab9168406f25e3d62cedce", + "transactionType": "CREATE2", + "contractName": "YieldSeekerAgentWalletFactory", + "contractAddress": "0x9900f8019b20e822e2d5897db246a376a9514c8f", + "function": null, + "arguments": [ + "0x773541F7c38BE8106AE966CA9D6fee494a0eDD24", + "0xFBD0A3646Bac17eE60860df7751129735b3F07A8" + ], + "transaction": { + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1acaa3", + "value": "0x0", + "input": "0x00000000000000000000000000000000000000000000000000000000000000076080346100a157601f61159a38819003918201601f19168301916001600160401b038311848410176100a55780849260409485528339810103126100a157610052602061004b836100b9565b92016100b9565b6001600160a01b03821615610092576001600160a01b038116156100925761007c610082926100cd565b50610120565b5060405161126990816102f18239f35b63d92e233d60e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036100a157565b6100d7815f6101f8565b90816100e1575090565b5f8052600160205261011c906001600160a01b03167fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49610280565b5090565b5f51602061155a5f395f51905f525f5260016020525f51602061157a5f395f51905f5254600a1115806101b7575b6101a857610169815f51602061155a5f395f51905f526101f8565b9081610173575090565b5f51602061155a5f395f51905f525f52600160205261011c906001600160a01b03165f51602061157a5f395f51905f52610280565b636055dca160e01b5f5260045ffd5b506001600160a01b0381165f9081527fe8424ec1ecf42e9e88998e7da204f6091f75a50979eee18faf18b49b474940b0602052604090205460ff161561014e565b5f818152602081815260408083206001600160a01b038616845290915290205460ff1661027a575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50505f90565b6001810190825f528160205260405f2054155f146102e9578054680100000000000000008110156100a557600181018083558110156102d5578390825f5260205f20015554915f5260205260405f2055600190565b634e487b7160e01b5f52603260045260245ffd5b5050505f9056fe6080806040526004361015610012575f80fd5b5f905f3560e01c9081630155e09814610b845750806301ffc9a714610b14578063244c9c29146109fb578063248a9ca3146109c95780632b78c9f7146109ae5780632f2ff15d146108d95780633325e1df146108b157806336568abe1461086b57806350b5c16a14610843578063583f2f09146105c65780635b34b8231461054657806368fe596f1461051d5780638cb84e18146104795780639010d07c1461043357806391d14854146103ea5780639277a1851461036a578063a1dcf28214610342578063a217fddf14610326578063a3246ad3146102b2578063c68e00fb14610183578063ca15c873146101595763d547741f14610110575f80fd5b346101565760403660031901126101565761015260043561012f610be3565b9061014d610148825f525f602052600160405f20015490565b610cc4565b610cfc565b5080f35b80fd5b50346101565760203660031901126101565760406020916004358152600183522054604051908152f35b5034610156576020366003190112610156576004356001600160a01b038116908190036102ae576101b2610c75565b801561029f57803b1561028d576040516202dd3160ec1b8152602081600481855afa90811561028257839161023c575b50306001600160a01b039091160361022d57600280546001600160a01b031916821790557fab64f92ab780ecbf4f3866f57cee465ff36c89450dcce20237ca7a8d81fb7d138280a280f35b63502eeedf60e01b8252600482fd5b90506020813d60201161027a575b8161025760209383610c3b565b8101031261027657516001600160a01b0381168103610276575f6101e2565b8280fd5b3d915061024a565b6040513d85823e3d90fd5b6322a2d07b60e21b8252600452602490fd5b63d92e233d60e01b8252600482fd5b5080fd5b5034610156576020366003190112610156576004358152600160205260408120604051918260208354918281520192825260208220915b8181106103105761030c8561030081870382610c3b565b60405191829182610bf9565b0390f35b82548452602090930192600192830192016102e9565b5034610156578060031936011261015657602090604051908152f35b503461015657806003193601126101565760206040515f5160206112145f395f51905f528152f35b5034610156576020366003190112610156576004356001600160a01b038116908190036102ae57610399610c75565b801561029f57803b1561028d57600580546001600160a01b0319811683179091556001600160a01b03167f5a69769904291a5b71c7f53981055587f0f849edb458cc47e64510be36d164d38380a380f35b5034610156576040366003190112610156576040610406610be3565b91600435815280602052209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b50346101565760403660031901126101565761046060406020926004358152600184522060243590610dbc565b905460405160039290921b1c6001600160a01b03168152f35b5034610156576040366003190112610156576020600b610497610bcd565b604080516001600160a01b03909216848301908152602435602082015291906104cd90829084015b03601f198101835282610c3b565b5190206102786040516104e285830182610c3b565b81815284810191610f9c833951902090604051916040830152838201523081520160ff8153605590206040516001600160a01b039091168152f35b50346101565780600319360112610156576002546040516001600160a01b039091168152602090f35b5034610156576020366003190112610156576004356001600160a01b038116908190036102ae57610575610c75565b801561029f57803b1561028d57600380546001600160a01b0319811683179091556001600160a01b03167f482b97c53e48ffa324a976e2738053e9aff6eee04d8aac63b10e19411d869b828380a380f35b346107b05760603660031901126107b0576105df610bcd565b6044356001600160a01b0381169190602435908381036107b057335f9081527fe8424ec1ecf42e9e88998e7da204f6091f75a50979eee18faf18b49b474940b0602052604090205460ff161561081f5783156107fd573b1561080c576001600160a01b0382169182156107fd576002546001600160a01b0316156107ee576003546001600160a01b0316156107df57825f52600460205260405f20825f5260205260018060a01b0360405f2054166107c857604080516001600160a01b0390921660208301908152908201839052906106bb81606081016104bf565b51902060405161027880820182811067ffffffffffffffff8211176107b4578291610f9c833903905ff580156107a55760018060a01b031691805f52600460205260405f20825f5260205260405f20836bffffffffffffffffffffffff60a01b825416179055823b156107b0576040519363c350a1b560e01b85528160048601528260248601528060448601525f8560648183885af19485156107a557602085927f24924211b2afa1a1fa2d9d9361ccc452c0df4f982d439cdcc311140e55b3f56d928298610795575b50604051908152a4604051908152f35b5f61079f91610c3b565b5f610785565b6040513d5f823e3d90fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b5090633de717e160e21b5f5260045260245260445ffd5b6303b099cf60e61b5f5260045ffd5b638f51a26d60e01b5f5260045ffd5b63d92e233d60e01b5f5260045ffd5b826322a2d07b60e21b5f5260045260245ffd5b63e2517d3f60e01b5f52336004525f5160206112145f395f51905f5260245260445ffd5b346107b0575f3660031901126107b0576003546040516001600160a01b039091168152602090f35b346107b05760403660031901126107b057610884610be3565b336001600160a01b038216036108a2576108a090600435610cfc565b005b63334bd91960e11b5f5260045ffd5b346107b0575f3660031901126107b0576005546040516001600160a01b039091168152602090f35b346107b05760403660031901126107b0576004356108f5610be3565b61090d610148835f525f602052600160405f20015490565b5f5160206112145f395f51905f52821480610997575b8061096d575b61095e576109378183610dd1565b61093d57005b5f918252600160205260409091206108a0916001600160a01b031690610f42565b636055dca160e01b5f5260045ffd5b505f828152602081815260408083206001600160a01b038516845290915290205460ff1615610929565b50815f526001602052600a60405f20541015610923565b346107b0575f3660031901126107b0576020604051600a8152f35b346107b05760203660031901126107b05760206109f36004355f525f602052600160405f20015490565b604051908152f35b346107b0575f3660031901126107b0575f5160206112145f395f51905f525f5260016020527f2737f4fbde60fa8ca451e7409d70a576ffb90aaa6a453ecd5bd224428e00910354610a4b81610c5d565b90610a596040519283610c3b565b808252601f19610a6882610c5d565b013660208401375f5b818110610a86576040518061030c8582610bf9565b5f5160206112145f395f51905f525f526001602052610ac5817f2737f4fbde60fa8ca451e7409d70a576ffb90aaa6a453ecd5bd224428e009103610dbc565b9054845160039290921b1c6001600160a01b03169190811015610b00576001600160a01b03909116600582901b840160200152600101610a71565b634e487b7160e01b5f52603260045260245ffd5b346107b05760203660031901126107b05760043563ffffffff60e01b81168091036107b057602090635a05180f60e01b8114908115610b59575b506040519015158152f35b637965db0b60e01b811491508115610b73575b5082610b4e565b6301ffc9a760e01b14905082610b6c565b346107b05760403660031901126107b0576020906001600160a01b03610ba8610bcd565b165f908152600483526040808220602435835284529020546001600160a01b03168152f35b600435906001600160a01b03821682036107b057565b602435906001600160a01b03821682036107b057565b60206040818301928281528451809452019201905f5b818110610c1c5750505090565b82516001600160a01b0316845260209384019390920191600101610c0f565b90601f8019910116810190811067ffffffffffffffff8211176107b457604052565b67ffffffffffffffff81116107b45760051b60200190565b335f9081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604090205460ff1615610cad57565b63e2517d3f60e01b5f52336004525f60245260445ffd5b5f8181526020818152604080832033845290915290205460ff1615610ce65750565b63e2517d3f60e01b5f523360045260245260445ffd5b610d068282610d36565b9182610d1157505090565b5f91825260016020526040909120610d32916001600160a01b031690610e53565b5090565b5f818152602081815260408083206001600160a01b038616845290915290205460ff1615610db6575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b50505f90565b8054821015610b00575f5260205f2001905f90565b5f818152602081815260408083206001600160a01b038616845290915290205460ff16610db6575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b906001820191815f528260205260405f20548015155f14610f3a575f198101818111610f265782545f19810191908211610f2657818103610edb575b50505080548015610ec7575f190190610ea88282610dbc565b8154905f199060031b1b19169055555f526020525f6040812055600190565b634e487b7160e01b5f52603160045260245ffd5b610f11610eeb610efb9386610dbc565b90549060031b1c92839286610dbc565b819391549060031b91821b915f19901b19161790565b90555f528360205260405f20555f8080610e8f565b634e487b7160e01b5f52601160045260245ffd5b505050505f90565b6001810190825f528160205260405f2054155f14610f94578054680100000000000000008110156107b457610f81610efb826001879401855584610dbc565b905554915f5260205260405f2055600190565b5050505f9056fe60808060405234610153576368fe596f60e01b8152602081600481335afa90811561015e575f91610103575b506040516001600160a01b039190911690602081016001600160401b038111828210176100ef576040525f8152813b156100dc577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b03191683179055817fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a28051156100d5576100c591610169565b505b604051608290816101f68239f35b50506100c7565b50634c9c8ce360e01b5f5260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b905060203d602011610157575b601f8101601f191682016001600160401b038111838210176100ef5760209183916040528101031261015357516001600160a01b0381168103610153575f61002b565b5f80fd5b503d610110565b6040513d5f823e3d90fd5b905f8091602081519101845af480806101e2575b1561019d5750506040513d81523d5f602083013e60203d82010160405290565b156101c257639996b31560e01b5f9081526001600160a01b0391909116600452602490fd5b3d156101d3576040513d5f823e3d90fd5b63d6bda27560e01b5f5260045ffd5b503d15158061017d5750813b151561017d56fe60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545f9081906001600160a01b0316368280378136915af43d5f803e156048573d5ff35b3d5ffdfea264697066735822122026ee7f8fad82dfc43c6e07f9512d161616037da340f2d2657ec98d6976df3e1e64736f6c634300081c00332fbb137a62ebd69bc6a41f4b4e96301da2105eef211fb1a3c75e8cfb9bfe7879a2646970667358221220d92ad40c30630b561bd2d1343834e67c207ca1c6ce5447c792d42f498a93df1c64736f6c634300081c00332fbb137a62ebd69bc6a41f4b4e96301da2105eef211fb1a3c75e8cfb9bfe78792737f4fbde60fa8ca451e7409d70a576ffb90aaa6a453ecd5bd224428e009103000000000000000000000000773541f7c38be8106ae966ca9d6fee494a0edd24000000000000000000000000fbd0a3646bac17ee60860df7751129735b3f07a8", + "nonce": "0x19", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x30dbae9ea9e5131f93cbe3a867fc9bb6cf2a4235b48d4ea6e8de53e5303761c8", + "transactionType": "CREATE2", + "contractName": "YieldSeekerAgentWalletV1", + "contractAddress": "0x14283f733d6f73ca116eaa07af7c8c16b1cef7e3", + "function": null, + "arguments": [ + "0x9900f8019b20e822E2D5897db246a376A9514C8F" + ], + "transaction": { + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x3040fc", + "value": "0x0", + "input": "0x000000000000000000000000000000000000000000000000000000000000000760c03461013457601f61294138819003918201601f19168301916001600160401b038311848410176101385780849260209460405283398101031261013457516001600160a01b03811690819003610134573060805260a0525f5160206129215f395f51905f525460ff8160401c16610125576002600160401b03196001600160401b038216016100cf575b6040516127d4908161014d8239608051818181610bdb01528181610cb501526110e8015260a051818181610d190152818161108b0152818161137d0152611d430152f35b6001600160401b0319166001600160401b039081175f5160206129215f395f51905f52556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f61008b565b63f92ee8a960e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6080604052600436101561001a575b3615610018575f80fd5b005b5f5f3560e01c80630a3b7ad7146115bf57806318dfb3c71461155d5780631dec8ea5146114e6578063244c9c291461142357806329db6ee6146113ac5780632dd31000146113685780633325e1df14611334578063367ad9e21461104c5780633a871cdd14610f795780634798faf514610f0b5780634f1ef28614610c6457806350b5c16a14610c2f57806352d1902d14610bc85780635c0df1a414610b615780638da5cb5b14610b2c57806395243dd114610b0657806397d0763c146108c757806397ef9655146108a1578063ad3cb1cc14610854578063b0246dc11461080f578063b0d691fe146107e0578063b1588fb61461079d578063b61d27f61461074f578063c350a1b5146105ee578063c51f172d14610572578063c8796572146104fc578063cd6dc687146103d1578063cdf456e11461039c578063d087d288146102f8578063d589621f146102c6578063d8adf1391461025e578063e9490cac146102215763fe71733514610190575061000e565b3461021e57602036600319011261021e576101a961167f565b5f5160206126df5f395f51905f52546001600160a01b0316330361020b576101d0816117ea565b805460ff191660011790556001600160a01b03167f02cabee40f87619dfcb340449404a4513e5c455e77013d441169b12a26e70a218280a280f35b63472511eb60e11b825233600452602482fd5b80fd5b503461021e578060031936011261021e5760207f901ebb5305bfc9018fe46ce288a2febf943d9263140e9c913b0707d8f0dbf9cd54604051908152f35b503461021e578060031936011261021e575f5160206126df5f395f51905f52546001600160a01b0316331415806102b2575b61029f5761029c611ceb565b80f35b63472511eb60e11b815233600452602490fd5b5060ff6102be336117b2565b541615610290565b503461021e57602036600319011261021e57602060ff6102ec6102e761167f565b611822565b54166040519015158152f35b503461021e578060031936011261021e57604051631aab3f0d60e11b81523060048201526024810182905290602082604481735ff137d4b0fdcd49dca30c7cf57e578a026d27895afa9081156103905790610359575b602090604051908152f35b506020813d602011610388575b816103736020938361172c565b81010312610384576020905161034e565b5f80fd5b3d9150610366565b604051903d90823e3d90fd5b503461021e578060031936011261021e575f51602061277f5f395f51905f52546040516001600160a01b039091168152602090f35b503461021e57604036600319011261021e576103eb61167f565b5f51602061275f5f395f51905f5254906001600160401b0360ff8360401c16159216801590816104f4575b60011490816104ea575b1590816104e1575b506104d257610448908261043a611903565b6104a2575b60243590612440565b61044f5780f35b60ff60401b195f51602061275f5f395f51905f5254165f51602061275f5f395f51905f52557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a180f35b600160401b60ff60401b195f51602061275f5f395f51905f525416175f51602061275f5f395f51905f525561043f565b63f92ee8a960e01b8352600483fd5b9050155f610428565b303b159150610420565b839150610416565b503461021e578060031936011261021e57735ff137d4b0fdcd49dca30c7cf57e578a026d278933141580610551575b8061053d575b61029f5761029c611930565b5060ff610549336117b2565b541615610531565b505f5160206126df5f395f51905f52546001600160a01b031633141561052b565b503461021e57602036600319011261021e5761058c61167f565b5f5160206126df5f395f51905f52546001600160a01b0316330361020b576105b381611822565b805460ff191660011790556001600160a01b03167ff1b199bc156d70448988140152c13e4e7cef2ce43f60e7e96802e64181acba958280a280f35b503461021e57606036600319011261021e5761060861167f565b6044356001600160a01b038116929183820361074b575f51602061275f5f395f51905f5254916001600160401b0360ff8460401c1615931680159081610743575b6001149081610739575b159081610730575b506107215782610669611903565b6106f1575b60ff5f51602061275f5f395f51905f525460401c16156106e25784156106d3573b156106bf575f51602061277f5f395f51905f5280546001600160a01b031916851790556104489060243590612440565b6322a2d07b60e21b83526004849052602483fd5b63d92e233d60e01b8452600484fd5b631afcd79f60e31b8452600484fd5b600160401b60ff60401b195f51602061275f5f395f51905f525416175f51602061275f5f395f51905f525561066e565b63f92ee8a960e01b8452600484fd5b9050155f61065b565b303b159150610653565b849150610649565b8280fd5b503461021e57606036600319011261021e5761076961167f565b506044356001600160401b038111610799579061078b600492369084016116ab565b5050631eb49d6d60e11b8152fd5b5080fd5b503461021e57602036600319011261021e576107b761167f565b5f5160206126df5f395f51905f52546001600160a01b0316330361020b5761029c904790612341565b503461021e578060031936011261021e576020604051735ff137d4b0fdcd49dca30c7cf57e578a026d27898152f35b503461021e57604036600319011261021e5761082961167f565b5f5160206126df5f395f51905f52546001600160a01b0316330361020b5761029c9060243590612341565b503461021e578060031936011261021e575061089d60405161087760408261172c565b60058152640352e302e360dc1b60208201526040519182916020835260208301906116d8565b0390f35b503461021e57602036600319011261021e57602060ff6102ec6108c261167f565b6117b2565b503461021e57606036600319011261021e576004356001600160401b038111610799576108f89036906004016116fc565b91906024356001600160401b03811161074b576109199036906004016116fc565b906044356001600160401b038111610b02576109399036906004016116fc565b92735ff137d4b0fdcd49dca30c7cf57e578a026d278933141580610ae1575b80610acd575b610aba57808714801590610ab0575b610aa15761097c87969761186e565b9561098a604051978861172c565b808752601f196109998261186e565b01885b818110610a8e575050875b818110610a155787896040519182916020830160208452825180915260408401602060408360051b870101940192905b8282106109e657505050500390f35b91936001919395506020610a058192603f198a820301865288516116d8565b96019201920185949391926109d7565b610a28610a2382848a611885565b6118a9565b610a36610a23838689611885565b9087831015610a7a578291610a5e91610a5660019560051b8901896118bd565b929091611b27565b610a68828b6118ef565b52610a73818a6118ef565b50016109a7565b634e487b7160e01b8b52603260045260248bfd5b60606020828b018101919091520161099c565b63baf3f0f760e01b8652600486fd5b508387141561096d565b63472511eb60e11b865233600452602486fd5b5060ff610ad9336117b2565b54161561095e565b505f5160206126df5f395f51905f52546001600160a01b0316331415610958565b8480fd5b503461021e57602036600319011261021e57602060ff6102ec610b2761167f565b6117ea565b503461021e578060031936011261021e575f5160206126df5f395f51905f52546040516001600160a01b039091168152602090f35b503461021e57604036600319011261021e57610b7b61167f565b610b83611695565b5f5160206126df5f395f51905f52546001600160a01b03163303610bb5579081610baf61029c93612186565b916122be565b63472511eb60e11b835233600452602483fd5b503461021e578060031936011261021e577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003610c205760206040515f5160206126ff5f395f51905f528152f35b63703e46dd60e11b8152600490fd5b503461021e578060031936011261021e575f51602061271f5f395f51905f52546040516001600160a01b039091168152602090f35b50604036600319011261021e57610c7961167f565b906024356001600160401b038111610799573660238201121561079957610caa90369060248160040135910161177c565b916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016308114908115610ee9575b50610eda575f5160206126df5f395f51905f52546001600160a01b0316330361020b576040516368fe596f60e01b8152906020826004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa918215610ecf578392610e93575b506001600160a01b0381811692168203610e84576040516352d1902d60e01b815293602085600481865afa80958596610e50575b50610d9e57634c9c8ce360e01b84526004839052602484fd5b9091845f5160206126ff5f395f51905f528103610e3e5750823b15610e2c575f5160206126ff5f395f51905f5280546001600160a01b031916821790557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a2805115610e1357610e0f916125b0565b5080f35b505034610e1d5780f35b63b398979f60e01b8152600490fd5b634c9c8ce360e01b8452600452602483fd5b632a87526960e21b8552600452602484fd5b9095506020813d602011610e7c575b81610e6c6020938361172c565b81010312610b025751945f610d85565b3d9150610e5f565b632c8cb44760e21b8352600483fd5b9091506020813d602011610ec7575b81610eaf6020938361172c565b8101031261074b57610ec09061185a565b905f610d51565b3d9150610ea2565b6040513d85823e3d90fd5b63703e46dd60e11b8252600482fd5b5f5160206126ff5f395f51905f52546001600160a01b0316141590505f610ce0565b503461021e57606036600319011261021e57610f2561167f565b90610f2e611695565b5f5160206126df5f395f51905f525460443591906001600160a01b03163303610bb55781610f5b82612186565b10610f6a5761029c92936122be565b631e9acf1760e31b8352600483fd5b503461021e57606036600319011261021e57600435906001600160401b03821161021e57610160600319833603011261021e5760443590735ff137d4b0fdcd49dca30c7cf57e578a026d2789330361100757610fdd602093602435906004016120ec565b9180610fee575b5050604051908152f35b81808092335f19f150610fff611af8565b505f80610fe4565b60405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20456e747279506f696e74000000006044820152606490fd5b5034610384575f366003190112610384575f5160206126df5f395f51905f52546001600160a01b03163303611321576040516368fe596f60e01b8152907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316602083600481845afa9283156112a9575f936112e5575b506020926040516110db858261172c565b5f81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163081149081156112c3575b506112b45784600493604051948580926368fe596f60e01b82525afa9283156112a9575f93611272575b506001600160a01b0382811693168303611263576040516352d1902d60e01b8152948086600481875afa9586915f97611233575b505061118b57634c9c8ce360e01b84526004839052602484fd5b9091845f5160206126ff5f395f51905f5281036112215750823b1561120f575f5160206126ff5f395f51905f5280546001600160a01b031916821790557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2805115611206576111fc916125b0565b505b61029c611ceb565b5050505f6111fe565b634c9c8ce360e01b5f5260045260245ffd5b632a87526960e21b5f5260045260245ffd5b9080929750813d831161125c575b61124b818361172c565b810103126103845751945f80611171565b503d611241565b632c8cb44760e21b5f5260045ffd5b9092508481813d83116112a2575b61128a818361172c565b810103126103845761129b9061185a565b915f61113d565b503d611280565b6040513d5f823e3d90fd5b63703e46dd60e11b5f5260045ffd5b5f5160206126ff5f395f51905f52546001600160a01b0316141590505f611113565b9092506020813d602011611319575b816113016020938361172c565b81010312610384576113129061185a565b915f6110ca565b3d91506112f4565b63472511eb60e11b5f523360045260245ffd5b34610384575f366003190112610384575f5160206126bf5f395f51905f52546040516001600160a01b039091168152602090f35b34610384575f366003190112610384576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610384576020366003190112610384576113c561167f565b5f5160206126df5f395f51905f52546001600160a01b03163303611321576113ec81611822565b805460ff191690556001600160a01b03167f198fca18affd5cdc64b42124fdf8d289753f0d02f2a15c366b5518a818ee36385f80a2005b34610384575f366003190112610384576040518060205f51602061273f5f395f51905f5254928381520180925f51602061273f5f395f51905f525f5260205f20905f5b8181106114c7575050508161147c91038261172c565b604051918291602083019060208452518091526040830191905f5b8181106114a5575050500390f35b82516001600160a01b0316845285945060209384019390920191600101611497565b82546001600160a01b0316845260209093019260019283019201611466565b34610384576020366003190112610384576114ff61167f565b5f5160206126df5f395f51905f52546001600160a01b0316330361132157611526816117ea565b805460ff191690556001600160a01b03167f7782eb55436ef47a10922ca1f2f49b9800a23991e6b6419ad7251dcff91ea07b5f80a2005b34610384576040366003190112610384576004356001600160401b0381116103845761158d9036906004016116fc565b50506024356001600160401b038111610384576115ae9036906004016116fc565b5050631eb49d6d60e11b5f5260045ffd5b34610384576060366003190112610384576115d861167f565b6115e0611695565b906044356001600160401b038111610384576116009036906004016116ab565b90735ff137d4b0fdcd49dca30c7cf57e578a026d27893314158061165e575b8061164a575b6113215761089d9361163693611b27565b6040519182916020835260208301906116d8565b5060ff611656336117b2565b541615611625565b505f5160206126df5f395f51905f52546001600160a01b031633141561161f565b600435906001600160a01b038216820361038457565b602435906001600160a01b038216820361038457565b9181601f84011215610384578235916001600160401b038311610384576020838186019501011161038457565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b9181601f84011215610384578235916001600160401b038311610384576020808501948460051b01011161038457565b90601f801991011681019081106001600160401b0382111761174d57604052565b634e487b7160e01b5f52604160045260245ffd5b6001600160401b03811161174d57601f01601f191660200190565b92919261178882611761565b91611796604051938461172c565b829481845281830111610384578281602093845f960137010152565b6001600160a01b03165f9081527f901ebb5305bfc9018fe46ce288a2febf943d9263140e9c913b0707d8f0dbf9d06020526040902090565b6001600160a01b03165f9081527f901ebb5305bfc9018fe46ce288a2febf943d9263140e9c913b0707d8f0dbf9d16020526040902090565b6001600160a01b03165f9081527f901ebb5305bfc9018fe46ce288a2febf943d9263140e9c913b0707d8f0dbf9d26020526040902090565b51906001600160a01b038216820361038457565b6001600160401b03811161174d5760051b60200190565b91908110156118955760051b0190565b634e487b7160e01b5f52603260045260245ffd5b356001600160a01b03811681036103845790565b903590601e198136030182121561038457018035906001600160401b0382116103845760200191813603831361038457565b80518210156118955760209160051b010190565b60016001600160401b03195f51602061275f5f395f51905f525416175f51602061275f5f395f51905f5255565b5f5160206126bf5f395f51905f52546040516378e6802560e01b81523060048201526001600160a01b0390911690602081602481855afa9081156112a9575f91611ac6575b508015611ac2575f51602061277f5f395f51905f52546040516370a0823160e01b81523060048201526001600160a01b0390911691602082602481865afa9182156112a9575f92611a8e575b5081811115611a865750905b816119d757505050565b6040516331056e5760e21b8152602081600481875afa80156112a95783915f91611a45575b50611a06926123bf565b813b15610384575f916024839260405194859384926322bf55ef60e01b845260048401525af180156112a957611a395750565b5f611a439161172c565b565b9150506020813d602011611a7e575b81611a616020938361172c565b8101031261038457611a0691611a77849261185a565b90926119fc565b3d9150611a54565b9050906119cd565b9091506020813d602011611aba575b81611aaa6020938361172c565b810103126103845751905f6119c1565b3d9150611a9d565b5050565b90506020813d602011611af0575b81611ae16020938361172c565b8101031261038457515f611975565b3d9150611ad4565b3d15611b22573d90611b0982611761565b91611b17604051938461172c565b82523d5f602084013e565b606090565b92909160ff611b35856117ea565b5416611ccd5760ff611b4684611822565b5416611caf575f51602061271f5f395f51905f5254604051631293382360e21b81526001600160a01b039485166004820181905294909160209183916024918391165afa9081156112a9575f91611c75575b506001600160a01b03168015908115611c61575b50611c43579181611c0860845f96949587966040519485926020840197631cff79cd60e01b89526024850152604060448501528160648501528484013787838284010152601f801991011681010301601f19810183528261172c565b51915af490611c15611af8565b9115611c1d57565b60405163c2ac6b1560e01b81526020600482015280611c3f60248201856116d8565b0390fd5b63fc6da03f60e01b5f9081526001600160a01b038516600452602490fd5b6001600160a01b038616141590505f611bac565b90506020813d602011611ca7575b81611c906020938361172c565b8101031261038457611ca19061185a565b5f611b98565b3d9150611c83565b632b22728160e01b5f9081526001600160a01b038416600452602490fd5b632d9fc4df60e01b5f9081526001600160a01b038516600452602490fd5b5f5b5f51602061273f5f395f51905f5254811015611d335780611d25611d126001936124d2565b848060a01b0391549060031b1c166117b2565b805460ff1916905501611ced565b5060405163244c9c2960e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316905f81600481855afa9081156112a9575f91612054575b508051906001600160401b03821161174d57600160401b821161174d575f51602061273f5f395f51905f5254825f51602061273f5f395f51905f5255808310612004575b506020015f51602061273f5f395f51905f525f5260205f205f5b838110611fe757505050505f5b5f51602061273f5f395f51905f5254811015611e225780611e12611d126001936124d2565b805460ff19168317905501611ded565b5060405163285ae0b560e11b8152602081600481855afa9081156112a9575f91611fad575b506001600160a01b038116908115611f9e573b15611f9e57806020916bffffffffffffffffffffffff60a01b5f51602061271f5f395f51905f525416175f51602061271f5f395f51905f52556004604051809481937fbf763557c505c1b722bd3c3ed64e9285f16c762c09089af49b698a584d6642115f80a2633325e1df60e01b82525afa9081156112a9575f91611f5c575b506001600160a01b03168015611f4d57803b15611f4d575f5160206126bf5f395f51905f5280546001600160a01b031916821790555f51602061271f5f395f51905f52546001600160a01b03167fcb42010e342ceb4c4105e1c628b15b7192d9ed5fc3d3dd7f3b45d5f3f6850fec5f80a3565b636c01d5a960e11b5f5260045ffd5b90506020813d602011611f96575b81611f776020938361172c565b8101031261038457516001600160a01b0381168103610384575f611eda565b3d9150611f6a565b6311a1e69760e01b5f5260045ffd5b90506020813d602011611fdf575b81611fc86020938361172c565b8101031261038457611fd99061185a565b5f611e47565b3d9150611fbb565b82516001600160a01b031681830155602090920191600101611de0565b5f51602061273f5f395f51905f525f527fa4d961140a2e255508446e5505d53a08f1773a113864933ae8ed69319e4ac2219081019083015b8181106120495750611dc6565b5f815560010161203c565b90503d805f833e612065818361172c565b810190602081830312610384578051906001600160401b03821161038457019080601f8301121561038457815161209b8161186e565b926120a9604051948561172c565b81845260208085019260051b82010192831161038457602001905b8282106120d4575050505f611d82565b602080916120e18461185a565b8152019101906120c4565b61213d90612146927f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f52601c52612137612130603c5f20926101408101906118bd565b369161177c565b90612502565b9092919261253c565b5f5160206126df5f395f51905f52546001600160a01b038281169116146121815761217260ff916117b2565b541661217d57600190565b5f90565b505f90565b5f51602061277f5f395f51905f52546001600160a01b0390811691168190036122af576020602491604051928380926370a0823160e01b82523060048301525afa9081156112a9575f9161227d575b505f5160206126bf5f395f51905f52546040516378e6802560e01b815230600482015290602090829060249082906001600160a01b03165afa9081156112a9575f9161224b575b50808211156122455781039081116122315790565b634e487b7160e01b5f52601160045260245ffd5b50505f90565b90506020813d602011612275575b816122666020938361172c565b8101031261038457515f61221c565b3d9150612259565b90506020813d6020116122a7575b816122986020938361172c565b8101031261038457515f6121d5565b3d915061228b565b636448d6e960e11b5f5260045ffd5b916001600160a01b038316918215612332576001600160a01b031692831561233257816122eb91856123bf565b5f5160206126df5f395f51905f52546040519182526001600160a01b0316907f8c0281578dec46ac28aa238d1ddc3bce894975318c50432a4b4c82e58777621690602090a4565b63d92e233d60e01b5f5260045ffd5b6001600160a01b03811691908215612332575f80808481945af1612363611af8565b50156123b0575f5160206126df5f395f51905f52546040519182526001600160a01b0316907f5c3457fa8f0624848f7477f9bc10f88c2c14a6f88ff9dfdfb6f6978a9dea47a890602090a3565b6312171d8360e31b5f5260045ffd5b916040519163a9059cbb60e01b5f5260018060a01b031660045260245260205f60448180865af19060015f511482161561241f575b604052156123ff5750565b635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b90600181151661243757823b15153d151616906123f4565b503d5f823e3d90fd5b6001600160a01b0316908115612332575f5160206126df5f395f51905f5280546001600160a01b031916831790557f901ebb5305bfc9018fe46ce288a2febf943d9263140e9c913b0707d8f0dbf9cd55612498611ceb565b735ff137d4b0fdcd49dca30c7cf57e578a026d27897ed85ca086af8cd244972a2f5c120c23ed58e508f2922c683db6a936a3838f1b5f80a3565b5f51602061273f5f395f51905f5254811015611895575f51602061273f5f395f51905f525f5260205f2001905f90565b81519190604183036125325761252b9250602082015190606060408401519301515f1a9061263c565b9192909190565b50505f9160029190565b600481101561259c578061254e575050565b600181036125655763f645eedf60e01b5f5260045ffd5b60028103612580575063fce698f760e01b5f5260045260245ffd5b60031461258a5750565b6335e2f38360e21b5f5260045260245ffd5b634e487b7160e01b5f52602160045260245ffd5b905f8091602081519101845af48080612629575b156125e45750506040513d81523d5f602083013e60203d82010160405290565b1561260957639996b31560e01b5f9081526001600160a01b0391909116600452602490fd5b3d1561261a576040513d5f823e3d90fd5b63d6bda27560e01b5f5260045ffd5b503d1515806125c45750813b15156125c4565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084116126b3579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa156112a9575f516001600160a01b038116156126a957905f905f90565b505f906001905f90565b5050505f916003919056fee1188561a552547db41879b73f85c993e73258928fd045015f7eda908faeb609901ebb5305bfc9018fe46ce288a2febf943d9263140e9c913b0707d8f0dbf9cc360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc901ebb5305bfc9018fe46ce288a2febf943d9263140e9c913b0707d8f0dbf9ce901ebb5305bfc9018fe46ce288a2febf943d9263140e9c913b0707d8f0dbf9cff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00e1188561a552547db41879b73f85c993e73258928fd045015f7eda908faeb608a264697066735822122034bacf73fa4a6c826816be029fb69dc9461e7b71fdab042793d6f620e2a14c0f64736f6c634300081c0033f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a000000000000000000000000009900f8019b20e822e2d5897db246a376a9514c8f", + "nonce": "0x1a", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xce6126bfe544a722a46d69af2967864bb13ed35f7210f44c8541f1a0265dcb5e", + "transactionType": "CREATE2", + "contractName": "YieldSeekerAdapterRegistry", + "contractAddress": "0x0021c1fdd50aa76fb59afe3fc3a38c02c257bdca", + "function": null, + "arguments": [ + "0x773541F7c38BE8106AE966CA9D6fee494a0eDD24", + "0xF8CBf6437d2473eC59885299Af38D9A13cE97ecA" + ], + "transaction": { + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x11ddb0", + "value": "0x0", + "input": "0x00000000000000000000000000000000000000000000000000000000000000076080346100a157601f610f7a38819003918201601f19168301916001600160401b038311848410176100a55780849260409485528339810103126100a157610052602061004b836100b9565b92016100b9565b6001600160a01b03821615610092576001600160a01b038116156100925761007c610082926100cd565b50610143565b50604051610d4390816101d78239f35b63d92e233d60e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036100a157565b6001600160a01b0381165f9081525f516020610f5a5f395f51905f52602052604090205460ff1661013e576001600160a01b03165f8181525f516020610f5a5f395f51905f5260205260408120805460ff191660011790553391905f516020610f1a5f395f51905f528180a4600190565b505f90565b6001600160a01b0381165f9081525f516020610f3a5f395f51905f52602052604090205460ff1661013e576001600160a01b03165f8181525f516020610f3a5f395f51905f5260205260408120805460ff191660011790553391907fbf233dd2aafeb4d50879c4aa5c81e96d92f6e6945c906a58f9f2d1c1631b4b26905f516020610f1a5f395f51905f529080a460019056fe6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a71461086f575080631d46021f146106e157806320df4359146106a757806322f2caf114610620578063248a9ca3146105ee5780632f2ff15d146105b157806336568abe1461056d5780633f4ba83a146105075780634a4ce08c1461048b5780635c975abb14610469578063618295df146103dd5780638456cb591461038557806391d148541461033d5780639362149e14610215578063a217fddf146101fb578063d547741f146101b7578063d5d7ff3c146101235763fa351f79146100e2575f80fd5b3461011f57602036600319011261011f576001600160a01b036101036108c2565b165f526005602052602060ff60405f2054166040519015158152f35b5f80fd5b3461011f57602036600319011261011f5761013c6108c2565b6101446109aa565b6001600160a01b031661015681610ba0565b90156101a457815f5260046020525f604081205561017382610c4e565b506001600160a01b0316907f95acdd767bfb2c6578833b7678c4dcc015f00b35820877f64a390809892628015f80a3005b50633b3f036f60e01b5f5260045260245ffd5b3461011f57604036600319011261011f576101f96004356101d66108d8565b906101f46101ef825f525f602052600160405f20015490565b610a19565b610ad9565b005b3461011f575f36600319011261011f5760206040515f8152f35b3461011f57604036600319011261011f5761022e6108c2565b6102366108d8565b61023e61095b565b6001600160a01b03821690811561032e576001600160a01b0381165f8181526005602052604090205490939060ff161561031b5761027b83610ba0565b6001600160a01b03169290156102e95784830361029457005b61029d91610b74565b50817f95acdd767bfb2c6578833b7678c4dcc015f00b35820877f64a390809892628015f80a37f1cf35c87329e14a81fdc68af8a463c1db203ccfc925ff5150f5dbc71bc4c23725f80a3005b906102f49250610b74565b507f1cf35c87329e14a81fdc68af8a463c1db203ccfc925ff5150f5dbc71bc4c23725f80a3005b8363fc6da03f60e01b5f5260045260245ffd5b63d92e233d60e01b5f5260045ffd5b3461011f57604036600319011261011f576103566108d8565b6004355f525f60205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b3461011f575f36600319011261011f5761039d6109aa565b6103a5610b59565b600160ff19815416176001557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b3461011f57602036600319011261011f576103f66108c2565b6103fe6109aa565b6001600160a01b03165f8181526005602052604090205460ff161561045757805f52600560205260405f2060ff1981541690557f9fbc8baf3d886b40fce5c05b089495702c9f5d8cb64f9c05db1a25e040d062965f80a2005b63fc6da03f60e01b5f5260045260245ffd5b3461011f575f36600319011261011f57602060ff600154166040519015158152f35b3461011f57602036600319011261011f576104bd6104a76108c2565b6104af610b59565b6001600160a01b0316610ba0565b6001600160a01b031690806104f1575b156104e8576020905b6040516001600160a01b039091168152f35b5060205f6104d6565b50805f52600560205260ff60405f2054166104cd565b3461011f575f36600319011261011f5761051f61095b565b60015460ff81161561055e5760ff19166001557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b638dfc202b60e01b5f5260045ffd5b3461011f57604036600319011261011f576105866108d8565b336001600160a01b038216036105a2576101f990600435610ad9565b63334bd91960e11b5f5260045ffd5b3461011f57604036600319011261011f576101f96004356105d06108d8565b906105e96101ef825f525f602052600160405f20015490565b610a51565b3461011f57602036600319011261011f5760206106186004355f525f602052600160405f20015490565b604051908152f35b3461011f57602036600319011261011f576106396108c2565b61064161095b565b6001600160a01b03811690811561032e573b1561069557805f52600560205260405f20600160ff198254161790557fa77e7c594c11a0d5d9d8e6a9132ac0db912dc0f34f5fb7d94860fe38d16410bd5f80a2005b6322a2d07b60e21b5f5260045260245ffd5b3461011f575f36600319011261011f5760206040517fbf233dd2aafeb4d50879c4aa5c81e96d92f6e6945c906a58f9f2d1c1631b4b268152f35b3461011f575f36600319011261011f576002545f905f5b818110610829575061070982610910565b60405192601f909101601f191683019067ffffffffffffffff8211848310176108155761073b91604052808452610910565b602083019190601f19013683375f805b82821061079f578385604051918291602083019060208452518091526040830191905f5b81811061077d575050500390f35b82516001600160a01b031684528594506020938401939092019160010161076f565b6107a882610928565b6001600160a01b03165f9081526005602052604090205460ff166107d2575b50906001019061074b565b8551821015610801576001600160a01b0316600582901b8601602001526001906107fb906108ee565b906107c7565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b61083281610928565b6001600160a01b03165f9081526005602052604090205460ff16905061085b575b6001016106f8565b916108676001916108ee565b929050610853565b3461011f57602036600319011261011f576004359063ffffffff60e01b821680920361011f57602091637965db0b60e01b81149081156108b1575b5015158152f35b6301ffc9a760e01b149050836108aa565b600435906001600160a01b038216820361011f57565b602435906001600160a01b038216820361011f57565b5f1981146108fc5760010190565b634e487b7160e01b5f52601160045260245ffd5b67ffffffffffffffff81116108155760051b60200190565b610933906002610bd1565b905460039190911b1c5f818152600460205260409020546001600160a01b0391821692911690565b335f9081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604090205460ff161561099357565b63e2517d3f60e01b5f52336004525f60245260445ffd5b335f9081527f3c1b1854ab1360abbb06c8d4c6b2672d4b8cedc5eff522ab19e51d5cb8fdbd46602052604090205460ff16156109e257565b63e2517d3f60e01b5f52336004527fbf233dd2aafeb4d50879c4aa5c81e96d92f6e6945c906a58f9f2d1c1631b4b2660245260445ffd5b5f8181526020818152604080832033845290915290205460ff1615610a3b5750565b63e2517d3f60e01b5f523360045260245260445ffd5b5f818152602081815260408083206001600160a01b038616845290915290205460ff16610ad3575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50505f90565b5f818152602081815260408083206001600160a01b038616845290915290205460ff1615610ad3575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b60ff60015416610b6557565b63d93c066560e01b5f5260045ffd5b6001600160a01b039081165f818152600460205260409020919092169055610b9d906002610be6565b90565b805f52600460205260405f205480155f14610bc957505f52600360205260405f20541515905f90565b600192909150565b8054821015610801575f5260205f2001905f90565b5f828152600182016020526040902054610ad357805490680100000000000000008210156108155782610c39610c23846001809601855584610bd1565b819391549060031b91821b915f19901b19161790565b90558054925f520160205260405f2055600190565b5f818152600360205260409020548015610ad3575f1981018181116108fc576002545f198101919082116108fc57818103610cd5575b5050506002548015610cc1575f1901610c9e816002610bd1565b8154905f199060031b1b191690556002555f5260036020525f6040812055600190565b634e487b7160e01b5f52603160045260245ffd5b610cf7610ce6610c23936002610bd1565b90549060031b1c9283926002610bd1565b90555f52600360205260405f20555f8080610c8456fea2646970667358221220ea32fadb6778ec3f20ac9c53d0f193b054c98ceb5e512bacf0109eee1c9f41ff64736f6c634300081c00332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d3c1b1854ab1360abbb06c8d4c6b2672d4b8cedc5eff522ab19e51d5cb8fdbd46ad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5000000000000000000000000773541f7c38be8106ae966ca9d6fee494a0edd24000000000000000000000000f8cbf6437d2473ec59885299af38d9a13ce97eca", + "nonce": "0x1b", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x05b9cb5f0e27c04ef4da54621cf87927807adcd7e3e8c55829a1c611356751b9", + "transactionType": "CREATE2", + "contractName": "YieldSeekerFeeTracker", + "contractAddress": "0x2e11edc25e5f2391cd9225a7c107d1b41ebacc9f", + "function": null, + "arguments": [ + "0x773541F7c38BE8106AE966CA9D6fee494a0eDD24" + ], + "transaction": { + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x148f08", + "value": "0x0", + "input": "0x000000000000000000000000000000000000000000000000000000000000000760803461007d57601f61115538819003918201601f19168301916001600160401b038311848410176100815780849260209460405283398101031261007d57516001600160a01b03811680820361007d571561006e5761005e90610095565b50604051611016908161011f8239f35b63d92e233d60e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6001600160a01b0381165f9081525f5160206111355f395f51905f52602052604090205460ff16610119576001600160a01b03165f8181525f5160206111355f395f51905f5260205260408120805460ff191660011790553391907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b505f9056fe6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a7146108b7575080630e19a3121461085a57806310a3bc08146103695780631aea105e146107f657806322bf55ef1461079b5780632338e72914610763578063248a9ca314610739578063253094371461072257806327bca7fa146106d25780632f2ff15d14610695578063328467a714610679578063331115c41461060f57806336568abe146105cb5780633c3eeafa1461057b5780633d2dca711461052257806354107a041461050b5780636468af341461041d57806378e68025146103b957806386e7f6bc1461036957806388c7fff31461034c5780638931e828146102665780638dce48671461022e57806391d14854146101e6578063a217fddf146101cc578063c415b95c146101a4578063c70276311461018d5763d547741f14610145575f80fd5b3461018957604036600319011261018957610187600435610164610920565b9061018261017d825f525f602052600160405f20015490565b610e2f565b610eef565b005b5f80fd5b346101895761018761019e36610936565b91610c51565b34610189575f366003190112610189576002546040516001600160a01b039091168152602090f35b34610189575f3660031901126101895760206040515f8152f35b34610189576040366003190112610189576101ff610920565b6004355f525f60205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b34610189576020366003190112610189576001600160a01b0361024f61090a565b165f526004602052602060405f2054604051908152f35b34610189576020366003190112610189576001600160a01b0361028761090a565b16805f52600360205260405f2054815f52600460205260405f2054604051926378e6802560e01b84526004840152602083602481305afa908115610341575f916102e2575b6060935060405192835260208301526040820152f35b905060203d60201161033a575b601f8101601f1916840167ffffffffffffffff811185821017610326576020918591604052810103126101895760609251906102cc565b634e487b7160e01b5f52604160045260245ffd5b503d6102ef565b6040513d5f823e3d90fd5b34610189575f366003190112610189576020600154604051908152f35b346101895760403660031901126101895761038261090a565b61038a610920565b6001600160a01b039182165f908152600760209081526040808320949093168252928352819020549051908152f35b34610189576020366003190112610189576001600160a01b036103da61090a565b16805f52600360205260405f2054905f52600460205260405f2054908181115f146104135760209161040b916109b2565b604051908152f35b505060205f61040b565b3461018957604036600319011261018957600435610439610920565b335f9081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604090205460ff16156104f45761138882116104e5576001600160a01b031680156104d657816040917fe125ae54d7ba2b06e6f44852861516acb2dd2692cf41fb127fa03252f15b334e93600155806bffffffffffffffffffffffff60a01b600254161760025582519182526020820152a1005b63d92e233d60e01b5f5260045ffd5b630adad23360e31b5f5260045ffd5b63e2517d3f60e01b5f52336004525f60245260445ffd5b346101895761018761051c36610936565b91610a85565b346101895760403660031901126101895761053b61090a565b61271061054c600154602435610960565b0490335f52600760205260405f209060018060a01b03165f5260205261057760405f209182546109a5565b9055005b346101895760403660031901126101895761059461090a565b61059c610920565b6001600160a01b039182165f908152600660209081526040808320949093168252928352819020549051908152f35b34610189576040366003190112610189576105e4610920565b336001600160a01b038216036106005761018790600435610eef565b63334bd91960e11b5f5260045ffd5b3461018957604036600319011261018957604061062a61090a565b610632610920565b6001600160a01b039182165f818152600560209081528582209490931680825293835284812054918152600683528481209381529282529183902054835192835290820152f35b34610189575f3660031901126101895760206040516113888152f35b34610189576040366003190112610189576101876004356106b4610920565b906106cd61017d825f525f602052600160405f20015490565b610e67565b34610189576040366003190112610189576106eb61090a565b6106f3610920565b6001600160a01b039182165f908152600560209081526040808320949093168252928352819020549051908152f35b346101895761018761073336610936565b916109bf565b3461018957602036600319011261018957602061040b6004355f525f602052600160405f20015490565b34610189576020366003190112610189576001600160a01b0361078461090a565b165f526003602052602060405f2054604051908152f35b3461018957602036600319011261018957600435335f52600460205260405f206107c68282546109a5565b90556040519081527f075a2720282fdf622141dae0b048ef90a21a7e57c134c76912d19d006b3b3f6f60203392a2005b346101895761080436610936565b9190335f52600560205260405f2060018060a01b0383165f5260205261082f60405f209182546109a5565b9055335f52600660205260405f209060018060a01b03165f5260205261057760405f209182546109a5565b346101895760203660031901126101895760043561271061087d60015483610960565b04335f52600360205260405f206108958282546109a5565b905560405191825260208201525f516020610fc15f395f51905f5260403392a2005b34610189576020366003190112610189576004359063ffffffff60e01b821680920361018957602091637965db0b60e01b81149081156108f9575b5015158152f35b6301ffc9a760e01b149050836108f2565b600435906001600160a01b038216820361018957565b602435906001600160a01b038216820361018957565b6060906003190112610189576004356001600160a01b038116810361018957906024359060443590565b8181029291811591840414171561097357565b634e487b7160e01b5f52601160045260245ffd5b8115610991570490565b634e487b7160e01b5f52601260045260245ffd5b9190820180921161097357565b9190820391821161097357565b8115610a8057335f52600760205260405f2060018060a01b0382165f5260205260405f2054806109f0575b50505050565b610a3493610a2f9282851115610a7557610a0a83806109b2565b90335f52600760205260405f209060018060a01b03165f5260205260405f2055610960565b610987565b335f52600360205260405f20610a4b8282546109a5565b90556040519080825260208201525f516020610fc15f395f51905f5260403392a25f8080806109ea565b610a0a8580946109b2565b505050565b919080158015610c49575b610a8057335f8181526005602090815260408083206001600160a01b0388168085529083528184205485855260068452828520828652845282852054958552600784528285209185529252822054610b3995610b1593929180610b9d575b50808610610b755750610b06918192839186976109b2565b818111610b5b575b50506109b2565b335f52600560205260405f2060018060a01b0386165f5260205260405f20556109b2565b90335f52600660205260405f209060018060a01b03165f5260205260405f2055565b610b6e91610b68916109b2565b33610f6f565b815f610b0e565b610b06610b9793610b8a83610a2f8a87610960565b948593610a2f8a8a610960565b976109b2565b909250828610610c3157610bb181806109b2565b335f9081526007602090815260408083206001600160a01b038d16845290915290205584838115610c2957610a2f90610be993610960565b915b335f52600360205260405f20610c028482546109a5565b90556040518381528360208201525f516020610fc15f395f51905f5260403392a25f610aee565b505091610beb565b610bb1610c4284610a2f8985610960565b80926109b2565b508115610a90565b91908015610a8057335f8181526006602090815260408083206001600160a01b03881680855290835281842054858552600584528285208286528452828520549585526007845282852091855292528220549294909392909190839080610da5575b50841015610d49575083151580610d40575b610d10575b50505050335f52600560205260405f2060018060a01b0382165f526020525f6040812055335f52600660205260405f209060018060a01b03165f526020525f6040812055565b610d1d92610a2f91610960565b818111610d2c575b8080610cca565b610d3991610b68916109b2565b5f80610d25565b50821515610cc5565b839293610d59575b505050505050565b84610b1592610b06610d7286610a2f89610d7a9b610960565b9384926109b2565b90335f52600660205260405f209060018060a01b03165f5260205260405f20555f8080808080610d51565b610de59250610a2f9080831115610e2457610dc081806109b2565b335f52600760205260405f2060018060a01b038b165f5260205260405f205584610960565b335f52600360205260405f20610dfc8282546109a5565b90556040518181528160208201525f516020610fc15f395f51905f5260403392a2825f610cb3565b610dc08380926109b2565b5f8181526020818152604080832033845290915290205460ff1615610e515750565b63e2517d3f60e01b5f523360045260245260445ffd5b5f818152602081815260408083206001600160a01b038616845290915290205460ff16610ee9575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50505f90565b5f818152602081815260408083206001600160a01b038616845290915290205460ff1615610ee9575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b9060405f516020610fc15f395f51905f5291612710610f9060015483610960565b049360018060a01b031693845f526003602052825f20610fb18282546109a5565b905582519182526020820152a256fe4cf3d44e1da794302b8d37b1bd4a8dbdc04caf6afe8cef3bdeda69040f09c0dba2646970667358221220628eaf77d13a10ec85254216fdd6e8dc9b27b1c5ad22a262ce71aad58baa54bd64736f6c634300081c0033ad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5000000000000000000000000773541f7c38be8106ae966ca9d6fee494a0edd24", + "nonce": "0x1c", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", + "transactionType": "CREATE2", + "contractName": "YieldSeekerERC4626Adapter", + "contractAddress": "0x98474be8d188f450fef65b5c6d290d333eb74a2f", + "function": null, + "arguments": null, + "transaction": { + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0xb7a10", + "value": "0x0", + "input": "0x000000000000000000000000000000000000000000000000000000000000000760a08060405234602157306080526108db908161002682396080518160ab0152f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80631cff79cd1461004a5780632e1a7d4d14610045578063658ce9d9146100455763b6b55f2514610045575f80fd5b61012a565b6040366003190112610126576004356001600160a01b0381168103610126576024359067ffffffffffffffff821161012657366023830112156101265781600401359167ffffffffffffffff831161012657366024848301011161012657307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146101175760209260409260246100eb930190610180565b815192839181835280519182918282860152018484015e5f828201840152601f01601f19168101030190f35b633954108560e21b5f5260045ffd5b5f80fd5b3461012657602036600319011261012657633954108560e21b5f5260045ffd5b90601f8019910116810190811067ffffffffffffffff82111761016c57604052565b634e487b7160e01b5f52604160045260245ffd5b90915f9281600411806101265781356001600160e01b03191663b6b55f2560e01b81146104ea5763658ce9d960e01b811461039f57632e1a7d4d60e01b146101d1576311fa59f360e11b8552600485fd5b90919293506101265780600460209201928391010312610126576040516338d52e0f60e01b81526001600160a01b03831692913590602081600481875afa801561032257610226915f91610370575b506107b5565b80156103615760405192635d043b2960e11b84528160048501523060248501523060448501526020846064815f855af1938415610322575f9461032d575b506040518281528460208201527f91fb9d98b786c57d74c099ccd2beca1739e9f6a81fb49001ca465c4b7591bbe260403092a36001600160a01b036102a761083f565b1691823b156101265760405163c702763160e01b81526001600160a01b03919091166004820152602481019190915260448101839052905f908290606490829084905af1801561032257610312575b506040519060208201526020815261030f60408261014a565b90565b5f61031c9161014a565b5f6102f6565b6040513d5f823e3d90fd5b9093506020813d602011610359575b816103496020938361014a565b810103126101265751925f610264565b3d915061033c565b631f2a200560e01b5f5260045ffd5b610392915060203d602011610398575b61038a818361014a565b81019061050a565b5f610220565b503d610380565b5090919293506101265780600460209201928391010312610126576040516338d52e0f60e01b8152903591906020816004816001600160a01b0386165afa908115610322575f916104cb575b50821580156104c0575b6104ad576040516370a0823160e01b815230600482015290602090829060249082906001600160a01b03165afa908115610322575f9161047b575b508281029281840414901517156104675761271061044f920490610529565b6040519060208201526020815261030f60408261014a565b634e487b7160e01b5f52601160045260245ffd5b90506020813d6020116104a5575b816104966020938361014a565b8101031261012657515f610430565b3d9150610489565b8263aa31867360e01b5f5260045260245ffd5b5061271083116103f5565b6104e4915060203d6020116103985761038a818361014a565b5f6103eb565b50506020919350600481019384910103126101265761044f913590610529565b9081602091031261012657516001600160a01b03811681036101265790565b6040516338d52e0f60e01b81526001600160a01b03821693929190602081600481885afa801561032257610563915f9161037057506107b5565b8115610361576040516338d52e0f60e01b8152602081600481885afa908115610322575f91610796575b5060018060a01b031660405163095ea7b360e01b5f52856004528360245260205f60448180865af19060015f5114821615610787575b604052156106d2575b50604051636e553f6560e01b815260048101839052306024820152936020856044815f855af1948515610322575f9561069e575b506040518381528560208201527ff5681f9d0db1b911ac18ee83d515a1cf1051853a9eae418316a2fdf7dea427c560403092a3836001600160a01b0361064461083f565b16803b1561012657604051630d75082f60e11b81526001600160a01b0393909316600484015260248301939093526044820152905f908290606490829084905af18015610322576106925750565b5f61069c9161014a565b565b9094506020813d6020116106ca575b816106ba6020938361014a565b810103126101265751935f610600565b3d91506106ad565b60405163095ea7b360e01b5f52856004525f60245260205f60448180865af19060015f511482161561076f575b6040521561073c5760405163095ea7b360e01b5f52856004528360245260205f60448180865af19060015f511482161561074e575b6040526105cc575b635274afe760e01b5f5260045260245ffd5b90600181151661076657823b15153d15161690610734565b503d5f823e3d90fd5b90600181151661076657823b15153d151616906106ff565b90823b15153d151616906105c3565b6107af915060203d6020116103985761038a818361014a565b5f61058d565b60405163cdf456e160e01b8152602081600481305afa908115610322575f916107fd575b506001600160a01b039081169116036107ee57565b634847234360e01b5f5260045ffd5b90506020813d602011610837575b816108186020938361014a565b8101031261012657516001600160a01b0381168103610126575f6107d9565b3d915061080b565b604051633325e1df60e01b8152602081600481305afa908115610322575f91610866575090565b90506020813d60201161089d575b816108816020938361014a565b8101031261012657516001600160a01b03811681036101265790565b3d915061087456fea26469706673582212200064266f7b4cb7c2fcfdeeeb8df04821e1db57a03d9d596ae307decff09a512364736f6c634300081c0033", + "nonce": "0x1d", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x0daabdfb07a8cd04d02c33141e1a96204f9fd4eb6cc254b736e46fe5155d46c7", + "transactionType": "CREATE2", + "contractName": "YieldSeekerMerklAdapter", + "contractAddress": "0x063e92a335be85a7ae6d2de28397dcf40423c45f", + "function": null, + "arguments": null, + "transaction": { + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0xf2dbd", + "value": "0x0", + "input": "0x000000000000000000000000000000000000000000000000000000000000000760a0806040523460225730608052610b4f90816100278239608051816101360152f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80631cff79cd146100d7576371ee95c01461002f575f80fd5b346100d35760803660031901126100d3576004356001600160401b0381116100d35761005f9036906004016101b1565b50506024356001600160401b0381116100d3576100809036906004016101b1565b50506044356001600160401b0381116100d3576100a19036906004016101b1565b50506064356001600160401b0381116100d3576100c29036906004016101b1565b5050633954108560e21b5f5260045ffd5b5f80fd5b60403660031901126100d3576004356001600160a01b03811681036100d357602435906001600160401b0382116100d357366023830112156100d3578160040135916001600160401b0383116100d35736602484830101116100d357307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146101a257602092604092602461017693019061029b565b815192839181835280519182918282860152018484015e5f828201840152601f01601f19168101030190f35b633954108560e21b5f5260045ffd5b9181601f840112156100d3578235916001600160401b0383116100d3576020808501948460051b0101116100d357565b90601f801991011681019081106001600160401b0382111761020257604052565b634e487b7160e01b5f52604160045260245ffd5b6001600160401b0381116102025760051b60200190565b9080601f830112156100d35781359061024582610216565b9261025360405194856101e1565b82845260208085019360051b8201019182116100d357602001915b81831061027b5750505090565b82356001600160a01b03811681036100d35781526020928301920161026e565b905f92806004116100d35781356001600160e01b0319166301c7ba5760e61b146102ce576311fa59f360e11b8452600484fd5b810191608082840360031901126100d35760048201356001600160401b0381116100d3578360046103019285010161022d565b60248301356001600160401b0381116100d3578460046103239286010161022d565b60448401356001600160401b0381116100d357840193856023860112156100d35760048501359061035382610216565b9561036160405197886101e1565b8287526020870160206004829560051b84010101918983116100d357602401905b828210610a1d575050506064810135906001600160401b0382116100d3570190866023830112156100d3576004820135916103bc83610216565b976103ca604051998a6101e1565b838952602089019160206004849660051b83010101908282116100d35760248101935b8285106109995750505050508251965f9661040789610216565b9661041560405198896101e1565b898852601f196104248b610216565b013660208a01375f5b8a8110610926575061043e89610216565b9761044c604051998a6101e1565b898952601f1961045b8b610216565b013660208b013761046b8a610216565b9a6104796040519c8d6101e1565b8a8c52601f196104888c610216565b013660208e01375f915f5b828110610858575050505060018060a01b031694853b156100d3579060206104ef6104dd9896959493604051998a986301c7ba5760e61b8a52608060048b015260848a0190610a77565b8881036003190160248a015290610a77565b8681036003190160448801529151808352910192905f5b81811061083f5750505060031984830301606485015251808252602082019160208260051b82010193925f915b8383106107e357505050505091815f81819503925af180156107d8576107c3575b5060405163cdf456e160e01b8152602081600481305afa9081156107b8578591610772575b506001600160a01b031692845b8381106105c857505050505060405190602082018281106001600160401b038211176105b457604052815290565b634e487b7160e01b82526041600452602482fd5b6001600160a01b036105da8284610a2d565b516040516370a0823160e01b81523060048201529116602082602481845afa918215610767578892610734575b506106128386610a2d565b5180830392808411610720570361062e575b5050600101610586565b8087036106b157506001600160a01b03610646610ab3565b1690813b156106ad57879160248392604051948593849263070cd18960e11b845260048401525af180156106a257908791610689575b50506001905b905f610624565b81610693916101e1565b61069e57855f61067c565b8580fd5b6040513d89823e3d90fd5b8780fd5b906001600160a01b036106c2610ab3565b1691823b1561071c579060448992836040519586948593633d2dca7160e01b8552600485015260248401525af180156106a257908791610707575b5050600190610682565b81610711916101e1565b61069e57855f6106fd565b8880fd5b634e487b7160e01b8a52601160045260248afd5b9091506020813d821161075f575b8161074f602093836101e1565b810103126100d35751905f610607565b3d9150610742565b6040513d8a823e3d90fd5b90506020813d6020116107b0575b8161078d602093836101e1565b810103126107ac57516001600160a01b03811681036107ac575f610579565b8480fd5b3d9150610780565b6040513d87823e3d90fd5b6107d09194505f906101e1565b5f925f610554565b6040513d5f823e3d90fd5b919395509193601f19828203018352855190602080835192838152019201905f905b8082106108275750505060208060019297019301930190928795949293610533565b90919260208060019286518152019401920190610805565b8251855288965060209485019490920191600101610506565b6108628183610a2d565b51610870575b600101610493565b928d610890826001600160a01b03610888888f610a2d565b511692610a2d565b52602460206001600160a01b036108a7878e610a2d565b5116604051928380926370a0823160e01b82523060048301525afa9081156107d8578d905f926108f2575b50916108ea916108e482600195610a2d565b52610a55565b939050610868565b9150506020813d821161091e575b8161090d602093836101e1565b810103126100d357518c60016108d2565b3d9150610900565b5f5f5b82811061095a575b5015610940575b60010161042d565b98610952600191826108e48d8d610a2d565b999050610938565b6001600160a01b0361096c848b610a2d565b51166001600160a01b03610980838c610a2d565b51161461098f57600101610929565b505060015f610931565b84356001600160401b0381116100d35760049083010184603f820112156100d3576020810135906109c982610216565b916109d760405193846101e1565b8083526020808085019260051b84010101918783116100d357604001905b828210610a0d575050508152602094850194016103ed565b81358152602091820191016109f5565b8135815260209182019101610382565b8051821015610a415760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b5f198114610a635760010190565b634e487b7160e01b5f52601160045260245ffd5b90602080835192838152019201905f5b818110610a945750505090565b82516001600160a01b0316845260209384019390920191600101610a87565b604051633325e1df60e01b8152602081600481305afa9081156107d8575f91610ada575090565b90506020813d602011610b11575b81610af5602093836101e1565b810103126100d357516001600160a01b03811681036100d35790565b3d9150610ae856fea2646970667358221220cc6b15bfa4e588e3911b15581c2b95f31fa77e11b408420db391a4a3ac8299c464736f6c634300081c0033", + "nonce": "0x1e", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xece501c1f307b9929175776c6911d75d94e3618de1c872bb2f6a8b4676754b4e", + "transactionType": "CREATE2", + "contractName": "YieldSeekerZeroXAdapter", + "contractAddress": "0x153e4801852249d1f7d05ccb13c1d1cf8ae7c466", + "function": null, + "arguments": [ + "0x0000000000001fF3684f28c67538d4D072C22734", + "0x773541F7c38BE8106AE966CA9D6fee494a0eDD24", + "0xF8CBf6437d2473eC59885299Af38D9A13cE97ecA", + "false" + ], + "transaction": { + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x193d2e", + "value": "0x0", + "input": "0x000000000000000000000000000000000000000000000000000000000000000760c03461011457601f61162c38819003918201601f19168301916001600160401b0383118484101761011857808492608094604052833981010312610114576100478161012c565b906100546020820161012c565b9060606100636040830161012c565b9101519283151580940361011457306080526001600160a01b03811615610105576001600160a01b038316156100f6576001600160a01b038216156100f6576100b8926100b29160a052610140565b506101b6565b5060ff801960015416911617600155604051611382908161024a82396080518181816107080152610f0b015260a0518181816106650152610d9f0152f35b63d92e233d60e01b5f5260045ffd5b631440bbc360e11b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820361011457565b6001600160a01b0381165f9081525f51602061160c5f395f51905f52602052604090205460ff166101b1576001600160a01b03165f8181525f51602061160c5f395f51905f5260205260408120805460ff191660011790553391905f5160206115cc5f395f51905f528180a4600190565b505f90565b6001600160a01b0381165f9081525f5160206115ec5f395f51905f52602052604090205460ff166101b1576001600160a01b03165f8181525f5160206115ec5f395f51905f5260205260408120805460ff191660011790553391907fbf233dd2aafeb4d50879c4aa5c81e96d92f6e6945c906a58f9f2d1c1631b4b26905f5160206115cc5f395f51905f529080a460019056fe6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a714610761575080631cff79cd146106ce57806320df4359146106945780632275159314610650578063248a9ca31461061e5780632f2ff15d146105e157806336568abe1461059d5780635e561771146104d95780637464df1d146104b7578063846a77031461046657806391d148541461041e57806399b39dc114610328578063a217fddf1461030e578063b5924e0b146102ac578063b5b2f1ef146101ed578063d547741f146101a9578063e2450d7c1461015a5763e36e2e37146100e2575f80fd5b34610156576020366003190112610156576100fb6107b4565b610103610ff2565b6001600160a01b031680156101475761011b8161128c565b61012157005b7f4ac723403fd9e3f5fbe7116bb75c15981bd5cb9ca32255900e5c29d9597cbee25f80a2005b63d92e233d60e01b5f5260045ffd5b5f80fd5b60c03660031901126101565761016e6107b4565b506101776107ca565b5060843567ffffffffffffffff8111610156576101989036906004016107e0565b5050633954108560e21b5f5260045ffd5b34610156576040366003190112610156576101eb6004356101c86107ca565b906101e66101e1825f525f602052600160405f20015490565b611041565b611101565b005b34610156575f366003190112610156576040518060206002549283815201809260025f527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace905f5b818110610296575050508161024b91038261084c565b604051918291602083019060208452518091526040830191905f5b818110610274575050500390f35b82516001600160a01b0316845285945060209384019390920191600101610266565b8254845260209093019260019283019201610235565b34610156576020366003190112610156576004358015158091036101565760207f74c88bdf6980e6d2f0199be2ccaacfb3770508c3d4ce8a831fe820e7f7b4f404916102f6610ff2565b60ff196001541660ff821617600155604051908152a1005b34610156575f3660031901126101565760206040515f8152f35b346101565760203660031901126101565760043567ffffffffffffffff811161015657366023820112156101565780600401359067ffffffffffffffff8211610156576024810190602436918460051b01011161015657610387610ff2565b5f5b82811061039257005b6001600160a01b036103ad6103a8838686610fba565b610fde565b1615610147576001906103d56001600160a01b036103cf6103a8848888610fba565b1661128c565b6103e0575b01610389565b818060a01b036103f46103a8838787610fba565b167f4ac723403fd9e3f5fbe7116bb75c15981bd5cb9ca32255900e5c29d9597cbee25f80a26103da565b34610156576040366003190112610156576104376107ca565b6004355f525f60205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b346101565760203660031901126101565761047f6107b4565b60ff600154168015610499575b6020906040519015158152f35b5060018060a01b03165f526003602052602060405f2054151561048c565b34610156575f36600319011261015657602060ff600154166040519015158152f35b34610156576020366003190112610156576104f26107b4565b335f9081527f3c1b1854ab1360abbb06c8d4c6b2672d4b8cedc5eff522ab19e51d5cb8fdbd46602052604090205460ff1615610566576001600160a01b031661053a816111b7565b61054057005b7f3b00e462401f0dd38135e28206d1d0ad5dc97314acd8f937e1b9cb6b50a5869f5f80a2005b63e2517d3f60e01b5f52336004527fbf233dd2aafeb4d50879c4aa5c81e96d92f6e6945c906a58f9f2d1c1631b4b2660245260445ffd5b34610156576040366003190112610156576105b66107ca565b336001600160a01b038216036105d2576101eb90600435611101565b63334bd91960e11b5f5260045ffd5b34610156576040366003190112610156576101eb6004356106006107ca565b906106196101e1825f525f602052600160405f20015490565b611079565b346101565760203660031901126101565760206106486004355f525f602052600160405f20015490565b604051908152f35b34610156575f366003190112610156576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610156575f3660031901126101565760206040517fbf233dd2aafeb4d50879c4aa5c81e96d92f6e6945c906a58f9f2d1c1631b4b268152f35b6040366003190112610156576106e26107b4565b60243567ffffffffffffffff8111610156576107029036906004016107e0565b909190307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146107525761074e926107429261089e565b6040519182918261080e565b0390f35b633954108560e21b5f5260045ffd5b34610156576020366003190112610156576004359063ffffffff60e01b821680920361015657602091637965db0b60e01b81149081156107a3575b5015158152f35b6301ffc9a760e01b1490508361079c565b600435906001600160a01b038216820361015657565b602435906001600160a01b038216820361015657565b9181601f840112156101565782359167ffffffffffffffff8311610156576020838186019501011161015657565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b35906001600160a01b038216820361015657565b90601f8019910116810190811067ffffffffffffffff82111761086e57604052565b634e487b7160e01b5f52604160045260245ffd5b67ffffffffffffffff811161086e57601f01601f191660200190565b5f92806004116101565782356001600160e01b031916633891435f60e21b146108d0576311fa59f360e11b8452600484fd5b9192509082019060c08383036003190112610156576108f160048401610838565b916108fe60248501610838565b9160448501359360648601359560848101359067ffffffffffffffff82116101565701908360238301121561015657600482013561093b81610882565b92610949604051948561084c565b81845260208401956024828401011161015657815f926024602093018837840101526001600160a01b0390811694811693906109836112e6565b168514610fab576001600160a01b0361099a6112e6565b168403610f9c5785158015610f94575b610f855773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee851495861580610eee575b610edb578615610d8e5780804710610d7857505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8514908115610d155747925b8815610caa575f91829147965b5191885af13d15610ca2573d90610a2682610882565b91610a34604051938461084c565b82523d5f602084013e5b15610c7e575015610c1b5747955b15610bae57610a5f610a65924790611181565b95611181565b94808610610b98575060405191838352602083015283604083015284606083015260018060a01b0316907fd6d4f5681c246c9f42c203e287975af1601f8df8035a9251f79aab5c8f09e2f860803092a3604051633325e1df60e01b8152602081600481305afa908115610b4b575f91610b56575b506001600160a01b031691823b156101565760645f92836040519586948593632530943760e01b8552600485015260248401528760448401525af18015610b4b57610b3b575b5060405190602082015260208152610b3860408261084c565b90565b5f610b459161084c565b5f610b1f565b6040513d5f823e3d90fd5b90506020813d602011610b90575b81610b716020938361084c565b8101031261015657516001600160a01b0381168103610156575f610ad9565b3d9150610b64565b85630583371760e31b5f5260045260245260445ffd5b6040516370a0823160e01b8152306004820152602081602481895afa908115610b4b575f91610be7575b50610a6592610a5f9190611181565b90506020813d602011610c13575b81610c026020938361084c565b810103126101565751610a65610bd8565b3d9150610bf5565b6040516370a0823160e01b8152306004820152602081602481885afa908115610b4b575f91610c4c575b5095610a4c565b90506020813d602011610c76575b81610c676020938361084c565b8101031261015657515f610c45565b3d9150610c5a565b604051600162605a6b60e01b03198152908190610c9e906004830161080e565b0390fd5b606090610a3e565b906040516370a0823160e01b81523060048201526020816024818c5afa908115610b4b575f91610ce1575b50905f92839296610a10565b9190506020823d602011610d0d575b81610cfd6020938361084c565b810103126101565790515f610cd5565b3d9150610cf0565b6040516370a0823160e01b81523060048201526020816024818a5afa908115610b4b575f91610d46575b5092610a03565b90506020813d602011610d70575b81610d616020938361084c565b8101031261015657515f610d3f565b3d9150610d54565b47633ebbc33760e01b5f5260045260245260445ffd5b60405163095ea7b360e01b5f9081527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166004819052602484905290929091602084604481808d5af19060015f5114821615610ecc575b60405215610dfd575b50506109e2565b60405163095ea7b360e01b5f52826004525f60245260205f604481808d5af19060015f5114821615610eb4575b60405215610ea1576040519163095ea7b360e01b5f5260045260245260205f604481808b5af19060015f5114821615610e80575b60405215610e6d575f80610df6565b85635274afe760e01b5f5260045260245ffd5b906001811516610e9857873b15153d15161690610e5e565b503d5f823e3d90fd5b87635274afe760e01b5f5260045260245ffd5b906001811516610e9857893b15153d15161690610e2a565b90893b15153d15161690610ded565b85631a7852a960e31b5f5260045260245ffd5b5060405163846a770360e01b8152600481018790526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610b4b575f91610f4a575b50156109ce565b90506020813d602011610f7d575b81610f656020938361084c565b8101031261015657518015158103610156575f610f43565b3d9150610f58565b631f2a200560e01b5f5260045ffd5b5086156109aa565b634847234360e01b5f5260045ffd5b6326ec736f60e11b5f5260045ffd5b9190811015610fca5760051b0190565b634e487b7160e01b5f52603260045260245ffd5b356001600160a01b03811681036101565790565b335f9081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604090205460ff161561102a57565b63e2517d3f60e01b5f52336004525f60245260445ffd5b5f8181526020818152604080832033845290915290205460ff16156110635750565b63e2517d3f60e01b5f523360045260245260445ffd5b5f818152602081815260408083206001600160a01b038616845290915290205460ff166110fb575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50505f90565b5f818152602081815260408083206001600160a01b038616845290915290205460ff16156110fb575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b9190820391821161118e57565b634e487b7160e01b5f52601160045260245ffd5b8054821015610fca575f5260205f2001905f90565b5f8181526003602052604090205480156110fb575f19810181811161118e576002545f1981019190821161118e5781810361123e575b505050600254801561122a575f19016112078160026111a2565b8154905f199060031b1b191690556002555f5260036020525f6040812055600190565b634e487b7160e01b5f52603160045260245ffd5b61127661124f6112609360026111a2565b90549060031b1c92839260026111a2565b819391549060031b91821b915f19901b19161790565b90555f52600360205260405f20555f80806111ed565b805f52600360205260405f2054155f146112e1576002546801000000000000000081101561086e576112ca61126082600185940160025560026111a2565b9055600254905f52600360205260405f2055600190565b505f90565b60405163cdf456e160e01b8152602081600481305afa908115610b4b575f9161130d575090565b90506020813d602011611344575b816113286020938361084c565b8101031261015657516001600160a01b03811681036101565790565b3d915061131b56fea264697066735822122040cbe3e5bcc4f8aa428d8d8641805806464196752519cc462d68b2096955122b64736f6c634300081c00332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d3c1b1854ab1360abbb06c8d4c6b2672d4b8cedc5eff522ab19e51d5cb8fdbd46ad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb50000000000000000000000000000000000001ff3684f28c67538d4d072c22734000000000000000000000000773541f7c38be8106ae966ca9d6fee494a0edd24000000000000000000000000f8cbf6437d2473ec59885299af38d9a13ce97eca0000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x1f", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x0b9c670188616682af66fc5ac039e2f525d3d027e4ffba5e69449c38a023b49a", + "transactionType": "CREATE2", + "contractName": "YieldSeekerAaveV3Adapter", + "contractAddress": "0xc6b0eeff559a23187506440f8c62f58aea02fb4e", + "function": null, + "arguments": null, + "transaction": { + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0xdb93a", + "value": "0x0", + "input": "0x000000000000000000000000000000000000000000000000000000000000000760a0806040523460215730608052610ac7908161002682396080518160ab0152f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80631cff79cd1461004a5780632e1a7d4d14610045578063658ce9d9146100455763b6b55f2514610045575f80fd5b61012a565b6040366003190112610126576004356001600160a01b0381168103610126576024359067ffffffffffffffff821161012657366023830112156101265781600401359167ffffffffffffffff831161012657366024848301011161012657307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146101175760209260409260246100eb930190610180565b815192839181835280519182918282860152018484015e5f828201840152601f01601f19168101030190f35b633954108560e21b5f5260045ffd5b5f80fd5b3461012657602036600319011261012657633954108560e21b5f5260045ffd5b90601f8019910116810190811067ffffffffffffffff82111761016c57604052565b634e487b7160e01b5f52604160045260245ffd5b90915f9281600411806101265781356001600160e01b03191663b6b55f2560e01b81146105605763658ce9d960e01b811461045d57632e1a7d4d60e01b146101d1576311fa59f360e11b8552600485fd5b909192935061012657806004602092019283910103126101265735906101fe6101f982610954565b6109a1565b6040516370a0823160e01b8152306004820152906001600160a01b038116602083602481845afa928315610388575f93610429575b50831561041a576040516358b50cef60e11b815293602085600481855afa948515610388575f956103f9575b50604051633a9ae92360e11b8152602081600481865afa8015610388575f9660209288926103c7575b50604051631a4ca37b60e21b81526001600160a01b03918216600482015260248101859052306044820152978892606492849291165af1948515610388575f95610393575b506040519081528460208201527f91fb9d98b786c57d74c099ccd2beca1739e9f6a81fb49001ca465c4b7591bbe260403092a36001600160a01b03610310610a2b565b1691823b15610126576040516315041e8160e21b81526001600160a01b03929092166004830152602482018490526044820152905f908290606490829084905af1801561038857610378575b506040519060208201526020815261037560408261014a565b90565b5f6103829161014a565b5f61035c565b6040513d5f823e3d90fd5b9094506020813d6020116103bf575b816103af6020938361014a565b810103126101265751935f6102cd565b3d91506103a2565b60649192506103eb90843d86116103f2575b6103e3818361014a565b810190610935565b9190610288565b503d6103d9565b61041391955060203d6020116103f2576103e3818361014a565b935f61025f565b631f2a200560e01b5f5260045ffd5b9092506020813d602011610455575b816104456020938361014a565b810103126101265751915f610233565b3d9150610438565b50909192935061012657806004602092019283910103126101265735906001600160a01b0361048b82610954565b1682158015610555575b610542576020602491604051928380926370a0823160e01b82523060048301525afa908115610388575f91610510575b508281029281840414901517156104fc576127106104e492049061057c565b6040519060208201526020815261037560408261014a565b634e487b7160e01b5f52601160045260245ffd5b90506020813d60201161053a575b8161052b6020938361014a565b8101031261012657515f6104c5565b3d915061051e565b8263aa31867360e01b5f5260045260245ffd5b506127108311610495565b5050602091935060048101938491010312610126576104e49135905b91909161058b6101f982610954565b5f90831561041a576040516358b50cef60e11b8152906001600160a01b038116602083600481845afa928315610388575f93610914575b50604051633a9ae92360e11b8152602081600481855afa908115610388575f916108f5575b506040516370a0823160e01b815230600482015293602085602481865afa948515610388575f956108c1575b5060405163095ea7b360e01b5f9081526001600160a01b03938416600481905260248b905293929092169160209060448180865af19060015f51148216156108b2575b604052156107fd575b813b15610126575f9160848392604051948593849263617ba03760e01b845260048401528c60248401523060448401528160648401525af18015610388576107e8575b506040516370a0823160e01b815230600482015292602084602481855afa9384156107dd5785946107a9575b508303928311610795576040518681528360208201527ff5681f9d0db1b911ac18ee83d515a1cf1051853a9eae418316a2fdf7dea427c560403092a390938491906001600160a01b0361071f610a2b565b1691823b1561079157604051630d75082f60e11b81526001600160a01b039190911660048201526024810191909152604481019290925282908290606490829084905af1801561078657610771575050565b61077c82809261014a565b6107835750565b80fd5b6040513d84823e3d90fd5b8480fd5b634e487b7160e01b84526011600452602484fd5b9093506020813d6020116107d5575b816107c56020938361014a565b810103126101265751925f6106ce565b3d91506107b8565b6040513d87823e3d90fd5b6107f59194505f9061014a565b5f925f6106a2565b60405163095ea7b360e01b5f52826004525f60245260205f60448180865af19060015f511482161561089a575b604052156108675760405163095ea7b360e01b5f52826004528860245260205f60448180865af19060015f5114821615610879575b60405261065f575b635274afe760e01b5f5260045260245ffd5b90600181151661089157823b15153d1516169061085f565b503d5f823e3d90fd5b90600181151661089157823b15153d1516169061082a565b90823b15153d15161690610656565b9094506020813d6020116108ed575b816108dd6020938361014a565b810103126101265751935f610613565b3d91506108d0565b61090e915060203d6020116103f2576103e3818361014a565b5f6105e7565b61092e91935060203d6020116103f2576103e3818361014a565b915f6105c2565b9081602091031261012657516001600160a01b03811681036101265790565b6040516358b50cef60e11b815290602090829060049082906001600160a01b03165afa908115610388575f91610988575090565b610375915060203d6020116103f2576103e3818361014a565b60405163cdf456e160e01b8152602081600481305afa908115610388575f916109e9575b506001600160a01b039081169116036109da57565b634847234360e01b5f5260045ffd5b90506020813d602011610a23575b81610a046020938361014a565b8101031261012657516001600160a01b0381168103610126575f6109c5565b3d91506109f7565b604051633325e1df60e01b8152602081600481305afa908115610388575f91610a52575090565b90506020813d602011610a89575b81610a6d6020938361014a565b8101031261012657516001600160a01b03811681036101265790565b3d9150610a6056fea2646970667358221220689633d3b0ae0d4a27c990ba06279bd71a8e147fb45da6d1813ff2c60d51004f64736f6c634300081c0033", + "nonce": "0x20", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8024f30e19b3a959805a95c7250ce1b4a96115ec7534a8b1fd06a5100cf1d4f1", + "transactionType": "CREATE2", + "contractName": "YieldSeekerCompoundV3Adapter", + "contractAddress": "0x65b65d4bf565b3ba92371ccd0b157da1bcb3b1a8", + "function": null, + "arguments": null, + "transaction": { + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0xde6da", + "value": "0x0", + "input": "0x000000000000000000000000000000000000000000000000000000000000000760a0806040523460215730608052610aee908161002682396080518160ab0152f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80631cff79cd1461004a5780632e1a7d4d14610045578063658ce9d9146100455763b6b55f2514610045575f80fd5b61012a565b6040366003190112610126576004356001600160a01b0381168103610126576024359067ffffffffffffffff821161012657366023830112156101265781600401359167ffffffffffffffff831161012657366024848301011161012657307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146101175760209260409260246100eb930190610180565b815192839181835280519182918282860152018484015e5f828201840152601f01601f19168101030190f35b633954108560e21b5f5260045ffd5b5f80fd5b3461012657602036600319011261012657633954108560e21b5f5260045ffd5b90601f8019910116810190811067ffffffffffffffff82111761016c57604052565b634e487b7160e01b5f52604160045260245ffd5b90915f9281600411806101265781356001600160e01b03191663b6b55f2560e01b81146105ef5763658ce9d960e01b81146104ec57632e1a7d4d60e01b146101d1576311fa59f360e11b8552600485fd5b93929361012657806004602092019283910103126101265735916101fc6101f78261096e565b6109bb565b6040516370a0823160e01b8152306004820152906001600160a01b038116602083602481845afa92831561043b575f936104b8575b5084156104a95760405163c55dae6360e01b8152602081600481855afa90811561043b575f9161047a575b506040516370a0823160e01b8152306004820152906001600160a01b03811690602083602481855afa92831561043b575f93610446575b50833b156101265760405163f3fef3a360e01b81526001600160a01b03919091166004820152602481018890525f8160448183885af1801561043b5761041f575b50906020602492604051938480926370a0823160e01b82523060048301525afa80156104145786906103e0575b61030b9250610a45565b946040519081528560208201527f91fb9d98b786c57d74c099ccd2beca1739e9f6a81fb49001ca465c4b7591bbe260403092a36001600160a01b0361034e610a52565b1690813b156103dc576040516315041e8160e21b81526001600160a01b0391909116600482015260248101859052604481019290925282908290606490829084905af180156103d1576103b9575b5050604051906020820152602081526103b660408261014a565b90565b6103c482809261014a565b6103ce578061039c565b80fd5b6040513d84823e3d90fd5b8380fd5b506020823d60201161040c575b816103fa6020938361014a565b810103126101265761030b9151610301565b3d91506103ed565b6040513d88823e3d90fd5b6024929196505f61042f9161014a565b60205f969192506102d4565b6040513d5f823e3d90fd5b9092506020813d602011610472575b816104626020938361014a565b810103126101265751915f610293565b3d9150610455565b61049c915060203d6020116104a2575b610494818361014a565b81019061094f565b5f61025c565b503d61048a565b631f2a200560e01b5f5260045ffd5b9092506020813d6020116104e4575b816104d46020938361014a565b810103126101265751915f610231565b3d91506104c7565b50909192935061012657806004602092019283910103126101265735906001600160a01b0361051a8261096e565b16821580156105e4575b6105d1576020602491604051928380926370a0823160e01b82523060048301525afa90811561043b575f9161059f575b5082810292818404149015171561058b5761271061057392049061060b565b604051906020820152602081526103b660408261014a565b634e487b7160e01b5f52601160045260245ffd5b90506020813d6020116105c9575b816105ba6020938361014a565b8101031261012657515f610554565b3d91506105ad565b8263aa31867360e01b5f5260045260245ffd5b506127108311610524565b5050602091935060048101938491010312610126576105739135905b91909161061a6101f78261096e565b5f9083156104a95760405163c55dae6360e01b81526001600160a01b0382169190602081600481865afa90811561043b575f91610930575b506040516370a0823160e01b815230600482015290602082602481875afa91821561043b575f926108fc575b5060018060a01b03811660405163095ea7b360e01b5f52856004528860245260205f60448180865af19060015f51148216156108ed575b60405215610838575b50833b1561012657604051631e573fb760e31b81526001600160a01b03919091166004820152602481018790525f8160448183885af1801561043b57610823575b506040516370a0823160e01b815230600482015290602082602481875afa80156108185785906107e4575b6107349250610a45565b916040518681528360208201527ff5681f9d0db1b911ac18ee83d515a1cf1051853a9eae418316a2fdf7dea427c560403092a390938491906001600160a01b0361077c610a52565b1691823b156107e057604051630d75082f60e11b81526001600160a01b039190911660048201526024810191909152604481019290925282908290606490829084905af180156103d1576107ce575050565b6107d982809261014a565b6103ce5750565b8480fd5b506020823d602011610810575b816107fe6020938361014a565b8101031261012657610734915161072a565b3d91506107f1565b6040513d87823e3d90fd5b6108309194505f9061014a565b5f925f6106ff565b60405163095ea7b360e01b5f52856004525f60245260205f60448180865af19060015f51148216156108d5575b604052156108a25760405163095ea7b360e01b5f52856004528860245260205f60448180865af19060015f51148216156108b4575b6040526106be575b635274afe760e01b5f5260045260245ffd5b9060018115166108cc57823b15153d1516169061089a565b503d5f823e3d90fd5b9060018115166108cc57823b15153d15161690610865565b90823b15153d151616906106b5565b9091506020813d602011610928575b816109186020938361014a565b810103126101265751905f61067e565b3d915061090b565b610949915060203d6020116104a257610494818361014a565b5f610652565b9081602091031261012657516001600160a01b03811681036101265790565b60405163c55dae6360e01b815290602090829060049082906001600160a01b03165afa90811561043b575f916109a2575090565b6103b6915060203d6020116104a257610494818361014a565b60405163cdf456e160e01b8152602081600481305afa90811561043b575f91610a03575b506001600160a01b039081169116036109f457565b634847234360e01b5f5260045ffd5b90506020813d602011610a3d575b81610a1e6020938361014a565b8101031261012657516001600160a01b0381168103610126575f6109df565b3d9150610a11565b9190820391821161058b57565b604051633325e1df60e01b8152602081600481305afa90811561043b575f91610a79575090565b90506020813d602011610ab0575b81610a946020938361014a565b8101031261012657516001600160a01b03811681036101265790565b3d9150610a8756fea264697066735822122067667956e7bfb951b8c681a473936ec527b99118312664881c48f3ca1c7b6c5964736f6c634300081c0033", + "nonce": "0x21", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x15609bceeca492c7f63ce7d6b141755d1449f86deffee156521720899df6a27d", + "transactionType": "CREATE2", + "contractName": "YieldSeekerCompoundV2Adapter", + "contractAddress": "0x976cedebd26e4d78cbfdb789186510ab9a5747e3", + "function": null, + "arguments": null, + "transaction": { + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0xe7b4f", + "value": "0x0", + "input": "0x000000000000000000000000000000000000000000000000000000000000000760a0806040523460215730608052610abd908161002682396080518160ab0152f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80631cff79cd1461004a5780632e1a7d4d14610045578063658ce9d9146100455763b6b55f2514610045575f80fd5b61012a565b6040366003190112610126576004356001600160a01b0381168103610126576024359067ffffffffffffffff821161012657366023830112156101265781600401359167ffffffffffffffff831161012657366024848301011161012657307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146101175760209260409260246100eb930190610180565b815192839181835280519182918282860152018484015e5f828201840152601f01601f19168101030190f35b633954108560e21b5f5260045ffd5b5f80fd5b3461012657602036600319011261012657633954108560e21b5f5260045ffd5b90601f8019910116810190811067ffffffffffffffff82111761016c57604052565b634e487b7160e01b5f52604160045260245ffd5b90915f9281600411806101265781356001600160e01b03191663b6b55f2560e01b81146105585763658ce9d960e01b811461046957632e1a7d4d60e01b146101d1576311fa59f360e11b8552600485fd5b909192935061012657806004602092019283910103126101265735906101fe6101f982610937565b610997565b6040516370a0823160e01b81523060048201526001600160a01b0382169190602081602481865afa908115610360575f91610437575b5060405163182df0f560e01b8152602081600481875afa908115610360575f916103fd575b5061026d90670de0b6b3a764000092610984565b049183156103ee5760405163852a12e360e01b8152600481018590526020816024815f865af1908115610360575f916103bc575b5061036b576040518481528460208201527f91fb9d98b786c57d74c099ccd2beca1739e9f6a81fb49001ca465c4b7591bbe260403092a36001600160a01b036102e8610a21565b1691823b15610126576040516315041e8160e21b81526001600160a01b03929092166004830152602482018490526044820152905f908290606490829084905af1801561036057610350575b506040519060208201526020815261034d60408261014a565b90565b5f61035a9161014a565b5f610334565b6040513d5f823e3d90fd5b60405162461bcd60e51b815260206004820152602360248201527f41574b436f6d706f756e645632416461707465723a2072656465656d206661696044820152621b195960ea1b6064820152608490fd5b90506020813d6020116103e6575b816103d76020938361014a565b8101031261012657515f6102a1565b3d91506103ca565b631f2a200560e01b5f5260045ffd5b90506020813d60201161042f575b816104186020938361014a565b810103126101265751670de0b6b3a7640000610259565b3d915061040b565b90506020813d602011610461575b816104526020938361014a565b8101031261012657515f610234565b3d9150610445565b5090919294935061012657806004602092019283910103126101265735916001600160a01b0361049882610937565b168315801561054d575b61053a5792602060249394604051948580926370a0823160e01b82523060048301525afa928315610360575f93610504575b506104e5612710916104ec94610984565b0490610574565b6040519060208201526020815261034d60408261014a565b92506020833d602011610532575b8161051f6020938361014a565b81010312610126579151916104e56104d4565b3d9150610512565b8363aa31867360e01b5f5260045260245ffd5b5061271084116104a2565b5050602091935060048101938491010312610126576104ec9135905b91906105826101f984610937565b80156103ee57604051636f307dc360e01b8152926001600160a01b038116602085600481845afa948515610360575f956108e7575b506040516370a0823160e01b815230600482015294602086602481855afa958615610360575f966108b3575b5060018060a01b031660405163095ea7b360e01b5f52826004528460245260205f60448180865af19060015f51148216156108a4575b604052156107ef575b5060405163140e25ad60e31b8152600481018490526020816024815f865af1908115610360575f916107bd575b5061076e576040516370a0823160e01b815230600482015294602086602481855afa958615610360575f9661073a575b508503948511610726576040518381528560208201527ff5681f9d0db1b911ac18ee83d515a1cf1051853a9eae418316a2fdf7dea427c560403092a3836001600160a01b036106cc610a21565b16803b1561012657604051630d75082f60e11b81526001600160a01b0393909316600484015260248301939093526044820152905f908290606490829084905af180156103605761071a5750565b5f6107249161014a565b565b634e487b7160e01b5f52601160045260245ffd5b9095506020813d602011610766575b816107566020938361014a565b810103126101265751945f61067f565b3d9150610749565b60405162461bcd60e51b815260206004820152602160248201527f41574b436f6d706f756e645632416461707465723a206d696e74206661696c656044820152601960fa1b6064820152608490fd5b90506020813d6020116107e7575b816107d86020938361014a565b8101031261012657515f61064f565b3d91506107cb565b60405163095ea7b360e01b5f52826004525f60245260205f60448180865af19060015f511482161561088c575b604052156108595760405163095ea7b360e01b5f52826004528460245260205f60448180865af19060015f511482161561086b575b604052610622575b635274afe760e01b5f5260045260245ffd5b90600181151661088357823b15153d15161690610851565b503d5f823e3d90fd5b90600181151661088357823b15153d1516169061081c565b90823b15153d15161690610619565b9095506020813d6020116108df575b816108cf6020938361014a565b810103126101265751945f6105e3565b3d91506108c2565b61090a91955060203d602011610911575b610902818361014a565b810190610918565b935f6105b7565b503d6108f8565b9081602091031261012657516001600160a01b03811681036101265790565b604051636f307dc360e01b815290602090829060049082906001600160a01b03165afa908115610360575f9161096b575090565b61034d915060203d60201161091157610902818361014a565b8181029291811591840414171561072657565b60405163cdf456e160e01b8152602081600481305afa908115610360575f916109df575b506001600160a01b039081169116036109d057565b634847234360e01b5f5260045ffd5b90506020813d602011610a19575b816109fa6020938361014a565b8101031261012657516001600160a01b0381168103610126575f6109bb565b3d91506109ed565b604051633325e1df60e01b8152602081600481305afa908115610360575f91610a48575090565b90506020813d602011610a7f575b81610a636020938361014a565b8101031261012657516001600160a01b03811681036101265790565b3d9150610a5656fea26469706673582212208bc733b0c53da15737d0223756cec8cc0ea27958eba8e6a0029e108e68e0707564736f6c634300081c0033", + "nonce": "0x22", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x24741c019a3325872896aa557b3b226bb2f2780a6c89d9b7061d236d676ebe71", + "transactionType": "CALL", + "contractName": "YieldSeekerAdminTimelock", + "contractAddress": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "function": "scheduleBatch(address[],uint256[],bytes[],bytes32,bytes32,uint256)", + "arguments": [ + "[0x9900f8019b20e822E2D5897db246a376A9514C8F, 0x9900f8019b20e822E2D5897db246a376A9514C8F, 0x9900f8019b20e822E2D5897db246a376A9514C8F, 0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA, 0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA, 0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA, 0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA, 0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA, 0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA]", + "[0, 0, 0, 0, 0, 0, 0, 0, 0]", + "[0xc68e00fb00000000000000000000000014283f733d6f73ca116eaa07af7c8c16b1cef7e3, 0x5b34b8230000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca, 0x9277a1850000000000000000000000002e11edc25e5f2391cd9225a7c107d1b41ebacc9f, 0x22f2caf100000000000000000000000098474be8d188f450fef65b5c6d290d333eb74a2f, 0x22f2caf1000000000000000000000000063e92a335be85a7ae6d2de28397dcf40423c45f, 0x22f2caf1000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c466, 0x22f2caf1000000000000000000000000c6b0eeff559a23187506440f8c62f58aea02fb4e, 0x22f2caf100000000000000000000000065b65d4bf565b3ba92371ccd0b157da1bcb3b1a8, 0x22f2caf1000000000000000000000000976cedebd26e4d78cbfdb789186510ab9a5747e3]", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000000000000000000000000000000000000000003e8", + "0" + ], + "transaction": { + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "gas": "0x24acc", + "value": "0x0", + "input": "0x8f2a0bb000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090000000000000000000000009900f8019b20e822e2d5897db246a376a9514c8f0000000000000000000000009900f8019b20e822e2d5897db246a376a9514c8f0000000000000000000000009900f8019b20e822e2d5897db246a376a9514c8f0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000002a00000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004200000000000000000000000000000000000000000000000000000000000000024c68e00fb00000000000000000000000014283f733d6f73ca116eaa07af7c8c16b1cef7e30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000245b34b8230000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000249277a1850000000000000000000000002e11edc25e5f2391cd9225a7c107d1b41ebacc9f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf100000000000000000000000098474be8d188f450fef65b5c6d290d333eb74a2f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000063e92a335be85a7ae6d2de28397dcf40423c45f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c46600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000c6b0eeff559a23187506440f8c62f58aea02fb4e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf100000000000000000000000065b65d4bf565b3ba92371ccd0b157da1bcb3b1a800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000976cedebd26e4d78cbfdb789186510ab9a5747e300000000000000000000000000000000000000000000000000000000", + "nonce": "0x23", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xcd90c6463b6429688c1737a4c44bfcdc8dcc81cf8aaced36093cb399bdb084cb", + "transactionType": "CALL", + "contractName": "YieldSeekerAdminTimelock", + "contractAddress": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "function": "executeBatch(address[],uint256[],bytes[],bytes32,bytes32)", + "arguments": [ + "[0x9900f8019b20e822E2D5897db246a376A9514C8F, 0x9900f8019b20e822E2D5897db246a376A9514C8F, 0x9900f8019b20e822E2D5897db246a376A9514C8F, 0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA, 0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA, 0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA, 0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA, 0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA, 0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA]", + "[0, 0, 0, 0, 0, 0, 0, 0, 0]", + "[0xc68e00fb00000000000000000000000014283f733d6f73ca116eaa07af7c8c16b1cef7e3, 0x5b34b8230000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca, 0x9277a1850000000000000000000000002e11edc25e5f2391cd9225a7c107d1b41ebacc9f, 0x22f2caf100000000000000000000000098474be8d188f450fef65b5c6d290d333eb74a2f, 0x22f2caf1000000000000000000000000063e92a335be85a7ae6d2de28397dcf40423c45f, 0x22f2caf1000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c466, 0x22f2caf1000000000000000000000000c6b0eeff559a23187506440f8c62f58aea02fb4e, 0x22f2caf100000000000000000000000065b65d4bf565b3ba92371ccd0b157da1bcb3b1a8, 0x22f2caf1000000000000000000000000976cedebd26e4d78cbfdb789186510ab9a5747e3]", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000000000000000000000000000000000000000003e8" + ], + "transaction": { + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "gas": "0x77930", + "value": "0x0", + "input": "0xe38335e500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000000090000000000000000000000009900f8019b20e822e2d5897db246a376a9514c8f0000000000000000000000009900f8019b20e822e2d5897db246a376a9514c8f0000000000000000000000009900f8019b20e822e2d5897db246a376a9514c8f0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000002a00000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004200000000000000000000000000000000000000000000000000000000000000024c68e00fb00000000000000000000000014283f733d6f73ca116eaa07af7c8c16b1cef7e30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000245b34b8230000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000249277a1850000000000000000000000002e11edc25e5f2391cd9225a7c107d1b41ebacc9f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf100000000000000000000000098474be8d188f450fef65b5c6d290d333eb74a2f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000063e92a335be85a7ae6d2de28397dcf40423c45f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c46600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000c6b0eeff559a23187506440f8c62f58aea02fb4e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf100000000000000000000000065b65d4bf565b3ba92371ccd0b157da1bcb3b1a800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000976cedebd26e4d78cbfdb789186510ab9a5747e300000000000000000000000000000000000000000000000000000000", + "nonce": "0x24", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x1729c8b", + "logs": [ + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000773541f7c38be8106ae966ca9d6fee494a0edd24", + "0x0000000000000000000000004e59b44847b379578588920ca78fbf26c0b4956c" + ], + "data": "0x", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0x8c27f572246018455ff55f2f0ba8db816d9c5efafc2118908c9174ed41eb378a", + "transactionIndex": "0x3b", + "logIndex": "0x16b", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1", + "0x000000000000000000000000f8cbf6437d2473ec59885299af38d9a13ce97eca", + "0x0000000000000000000000004e59b44847b379578588920ca78fbf26c0b4956c" + ], + "data": "0x", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0x8c27f572246018455ff55f2f0ba8db816d9c5efafc2118908c9174ed41eb378a", + "transactionIndex": "0x3b", + "logIndex": "0x16c", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xfd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783", + "0x000000000000000000000000f8cbf6437d2473ec59885299af38d9a13ce97eca", + "0x0000000000000000000000004e59b44847b379578588920ca78fbf26c0b4956c" + ], + "data": "0x", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0x8c27f572246018455ff55f2f0ba8db816d9c5efafc2118908c9174ed41eb378a", + "transactionIndex": "0x3b", + "logIndex": "0x16d", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63", + "0x000000000000000000000000f8cbf6437d2473ec59885299af38d9a13ce97eca", + "0x0000000000000000000000004e59b44847b379578588920ca78fbf26c0b4956c" + ], + "data": "0x", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0x8c27f572246018455ff55f2f0ba8db816d9c5efafc2118908c9174ed41eb378a", + "transactionIndex": "0x3b", + "logIndex": "0x16e", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0x11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d5" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0x8c27f572246018455ff55f2f0ba8db816d9c5efafc2118908c9174ed41eb378a", + "transactionIndex": "0x3b", + "logIndex": "0x16f", + "removed": false + } + ], + "logsBloom": "0x00000084000200000000000000000000020000000000000000000000000000000200000000000000000000000001000000000000000000000200004010200000000000000000000000800010000000000000000000000000000000000000000000000000020000000000000000000800000000000000000000020400000000000000000000000000000000000000000000000000001000080000000000000000000000000021800000000000000000000000000000000000001000000000000000000000000000004000000400000010000000000000000100000100200020000000000000000000000000000000000080000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x8c27f572246018455ff55f2f0ba8db816d9c5efafc2118908c9174ed41eb378a", + "transactionIndex": "0x3b", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "gasUsed": "0x14be7b", + "effectiveGasPrice": "0x533991", + "blobGasUsed": "0x7d1ed", + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "contractAddress": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "daFootprintGasScalar": "0x8b", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x2e7418", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x4831b166f", + "l1GasPrice": "0x35a0dd7", + "l1GasUsed": "0xe675" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x1860213", + "logs": [ + { + "address": "0x9900f8019b20e822e2d5897db246a376a9514c8f", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000773541f7c38be8106ae966ca9d6fee494a0edd24", + "0x0000000000000000000000004e59b44847b379578588920ca78fbf26c0b4956c" + ], + "data": "0x", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xece501c1f307b9929175776c6911d75d94e3618de1c872bb2f6a8b4676754b4e", + "transactionIndex": "0x3c", + "logIndex": "0x170", + "removed": false + }, + { + "address": "0x9900f8019b20e822e2d5897db246a376a9514c8f", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x2fbb137a62ebd69bc6a41f4b4e96301da2105eef211fb1a3c75e8cfb9bfe7879", + "0x000000000000000000000000fbd0a3646bac17ee60860df7751129735b3f07a8", + "0x0000000000000000000000004e59b44847b379578588920ca78fbf26c0b4956c" + ], + "data": "0x", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xece501c1f307b9929175776c6911d75d94e3618de1c872bb2f6a8b4676754b4e", + "transactionIndex": "0x3c", + "logIndex": "0x171", + "removed": false + } + ], + "logsBloom": "0x00001004000002000000000000100000010000000000000000000000010000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000008000000800000000000000000000000000000000000000010000000000000000000000000000000000001000000000000000010000000000000001000000000000000000000000000000000000001000000000000000000000000000000000000400000010000000000000000100000000000020020000000000000000000000000000000080000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xece501c1f307b9929175776c6911d75d94e3618de1c872bb2f6a8b4676754b4e", + "transactionIndex": "0x3c", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "gasUsed": "0x136588", + "effectiveGasPrice": "0x533991", + "blobGasUsed": "0x6b8ab", + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "contractAddress": "0x9900f8019b20e822e2d5897db246a376a9514c8f", + "daFootprintGasScalar": "0x8b", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x2e7418", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x3e0e6d4f3", + "l1GasPrice": "0x35a0dd7", + "l1GasUsed": "0xc619" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x1a8f16a", + "logs": [ + { + "address": "0x14283f733d6f73ca116eaa07af7c8c16b1cef7e3", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0x0b9c670188616682af66fc5ac039e2f525d3d027e4ffba5e69449c38a023b49a", + "transactionIndex": "0x3d", + "logIndex": "0x172", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x0b9c670188616682af66fc5ac039e2f525d3d027e4ffba5e69449c38a023b49a", + "transactionIndex": "0x3d", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "gasUsed": "0x22ef57", + "effectiveGasPrice": "0x533991", + "blobGasUsed": "0xbcb73", + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "contractAddress": "0x14283f733d6f73ca116eaa07af7c8c16b1cef7e3", + "daFootprintGasScalar": "0x8b", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x2e7418", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x6ce57a6de", + "l1GasPrice": "0x35a0dd7", + "l1GasUsed": "0x15b9f" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x1b5e0af", + "logs": [ + { + "address": "0x0021c1fdd50aa76fb59afe3fc3a38c02c257bdca", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000773541f7c38be8106ae966ca9d6fee494a0edd24", + "0x0000000000000000000000004e59b44847b379578588920ca78fbf26c0b4956c" + ], + "data": "0x", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0x30dbae9ea9e5131f93cbe3a867fc9bb6cf2a4235b48d4ea6e8de53e5303761c8", + "transactionIndex": "0x3e", + "logIndex": "0x173", + "removed": false + }, + { + "address": "0x0021c1fdd50aa76fb59afe3fc3a38c02c257bdca", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xbf233dd2aafeb4d50879c4aa5c81e96d92f6e6945c906a58f9f2d1c1631b4b26", + "0x000000000000000000000000f8cbf6437d2473ec59885299af38d9a13ce97eca", + "0x0000000000000000000000004e59b44847b379578588920ca78fbf26c0b4956c" + ], + "data": "0x", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0x30dbae9ea9e5131f93cbe3a867fc9bb6cf2a4235b48d4ea6e8de53e5303761c8", + "transactionIndex": "0x3e", + "logIndex": "0x174", + "removed": false + } + ], + "logsBloom": "0x00000004000200000000000000000000000000000000000000000000000000000200000000000000000000000040000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000010000000000000020000000000008000000800000000000000000000000000000000000000000000000000000000000000000000000004001000000000000000000000000000000001800000000000000000000000000000000000001000000000000000000000000000000000000400000010000000000000000100000000000020100000000000000000000000000000000080000000000000010000000000000000", + "type": "0x2", + "transactionHash": "0x30dbae9ea9e5131f93cbe3a867fc9bb6cf2a4235b48d4ea6e8de53e5303761c8", + "transactionIndex": "0x3e", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "gasUsed": "0xcef45", + "effectiveGasPrice": "0x533991", + "blobGasUsed": "0x4bcfe", + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "contractAddress": "0x0021c1fdd50aa76fb59afe3fc3a38c02c257bdca", + "daFootprintGasScalar": "0x8b", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x2e7418", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x2bbf041bb", + "l1GasPrice": "0x35a0dd7", + "l1GasUsed": "0x8ba5" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x1c4c307", + "logs": [ + { + "address": "0x2e11edc25e5f2391cd9225a7c107d1b41ebacc9f", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000773541f7c38be8106ae966ca9d6fee494a0edd24", + "0x0000000000000000000000004e59b44847b379578588920ca78fbf26c0b4956c" + ], + "data": "0x", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0x15609bceeca492c7f63ce7d6b141755d1449f86deffee156521720899df6a27d", + "transactionIndex": "0x3f", + "logIndex": "0x175", + "removed": false + } + ], + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000400000000000020000000000000020000000100000000000800000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000001000000000000000000000000000000000000001000000000000000000000000000000000000400000010000000000000000100000000000020000000000000000000000000000000000080000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x15609bceeca492c7f63ce7d6b141755d1449f86deffee156521720899df6a27d", + "transactionIndex": "0x3f", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "gasUsed": "0xee258", + "effectiveGasPrice": "0x533991", + "blobGasUsed": "0x51eba", + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "contractAddress": "0x2e11edc25e5f2391cd9225a7c107d1b41ebacc9f", + "daFootprintGasScalar": "0x8b", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x2e7418", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x2f4470f46", + "l1GasPrice": "0x35a0dd7", + "l1GasUsed": "0x96e3" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x1cd1223", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x7b00c930985dc5150eb462be54706b1b8c987d2fd1ab9168406f25e3d62cedce", + "transactionIndex": "0x40", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "gasUsed": "0x84f1c", + "effectiveGasPrice": "0x533991", + "blobGasUsed": "0x2edd7", + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "contractAddress": "0x98474be8d188f450fef65b5c6d290d333eb74a2f", + "daFootprintGasScalar": "0x8b", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x2e7418", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x1b0a7cbe6", + "l1GasPrice": "0x35a0dd7", + "l1GasUsed": "0x5652" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x1d7730e", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x0daabdfb07a8cd04d02c33141e1a96204f9fd4eb6cc254b736e46fe5155d46c7", + "transactionIndex": "0x41", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "gasUsed": "0xa60eb", + "effectiveGasPrice": "0x533991", + "blobGasUsed": "0x4034c", + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "contractAddress": "0x063e92a335be85a7ae6d2de28397dcf40423c45f", + "daFootprintGasScalar": "0x8b", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x2e7418", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x250c363cd", + "l1GasPrice": "0x35a0dd7", + "l1GasUsed": "0x7643" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x1e9b8d6", + "logs": [ + { + "address": "0x153e4801852249d1f7d05ccb13c1d1cf8ae7c466", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000773541f7c38be8106ae966ca9d6fee494a0edd24", + "0x0000000000000000000000004e59b44847b379578588920ca78fbf26c0b4956c" + ], + "data": "0x", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0x24741c019a3325872896aa557b3b226bb2f2780a6c89d9b7061d236d676ebe71", + "transactionIndex": "0x42", + "logIndex": "0x176", + "removed": false + }, + { + "address": "0x153e4801852249d1f7d05ccb13c1d1cf8ae7c466", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xbf233dd2aafeb4d50879c4aa5c81e96d92f6e6945c906a58f9f2d1c1631b4b26", + "0x000000000000000000000000f8cbf6437d2473ec59885299af38d9a13ce97eca", + "0x0000000000000000000000004e59b44847b379578588920ca78fbf26c0b4956c" + ], + "data": "0x", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0x24741c019a3325872896aa557b3b226bb2f2780a6c89d9b7061d236d676ebe71", + "transactionIndex": "0x42", + "logIndex": "0x177", + "removed": false + } + ], + "logsBloom": "0x00000004000200000000000000000000000000000000000000000000000000000200000100000000000000000040000000000000000000400000004000000000000000000000000000000000000000000000000000000000000000000010000000000000020000000000008000000800000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000001800000000000000000000000000000000000001000000000000000000000000000000000000400000010000000000000000100000000000020000000000000000000004000000000000080000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x24741c019a3325872896aa557b3b226bb2f2780a6c89d9b7061d236d676ebe71", + "transactionIndex": "0x42", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "gasUsed": "0x1245c8", + "effectiveGasPrice": "0x533991", + "blobGasUsed": "0x6d713", + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "contractAddress": "0x153e4801852249d1f7d05ccb13c1d1cf8ae7c466", + "daFootprintGasScalar": "0x8b", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x2e7418", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x3f2756135", + "l1GasPrice": "0x35a0dd7", + "l1GasUsed": "0xc999" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x1f3a85a", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xce6126bfe544a722a46d69af2967864bb13ed35f7210f44c8541f1a0265dcb5e", + "transactionIndex": "0x43", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "gasUsed": "0x9ef84", + "effectiveGasPrice": "0x533991", + "blobGasUsed": "0x3843e", + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "contractAddress": "0xc6b0eeff559a23187506440f8c62f58aea02fb4e", + "daFootprintGasScalar": "0x8b", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x2e7418", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x207a74998", + "l1GasPrice": "0x35a0dd7", + "l1GasUsed": "0x67ad" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x1fdb8e6", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x8024f30e19b3a959805a95c7250ce1b4a96115ec7534a8b1fd06a5100cf1d4f1", + "transactionIndex": "0x44", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "gasUsed": "0xa108c", + "effectiveGasPrice": "0x533991", + "blobGasUsed": "0x37b8e", + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "contractAddress": "0x65b65d4bf565b3ba92371ccd0b157da1bcb3b1a8", + "daFootprintGasScalar": "0x8b", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x2e7418", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x202acb6d5", + "l1GasPrice": "0x35a0dd7", + "l1GasUsed": "0x66af" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x2079fd0", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x05b9cb5f0e27c04ef4da54621cf87927807adcd7e3e8c55829a1c611356751b9", + "transactionIndex": "0x45", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "gasUsed": "0x9e6ea", + "effectiveGasPrice": "0x533991", + "blobGasUsed": "0x37dba", + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "contractAddress": "0x976cedebd26e4d78cbfdb789186510ab9a5747e3", + "daFootprintGasScalar": "0x8b", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x2e7418", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x203b90ba0", + "l1GasPrice": "0x35a0dd7", + "l1GasUsed": "0x66e4" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x2760256", + "logs": [ + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", + "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x0000000000000000000000009900f8019b20e822e2d5897db246a376a9514c8f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024c68e00fb00000000000000000000000014283f733d6f73ca116eaa07af7c8c16b1cef7e300000000000000000000000000000000000000000000000000000000", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xcd90c6463b6429688c1737a4c44bfcdc8dcc81cf8aaced36093cb399bdb084cb", + "transactionIndex": "0x5f", + "logIndex": "0x1bc", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", + "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x0000000000000000000000009900f8019b20e822e2d5897db246a376a9514c8f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000245b34b8230000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca00000000000000000000000000000000000000000000000000000000", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xcd90c6463b6429688c1737a4c44bfcdc8dcc81cf8aaced36093cb399bdb084cb", + "transactionIndex": "0x5f", + "logIndex": "0x1bd", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", + "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", + "0x0000000000000000000000000000000000000000000000000000000000000002" + ], + "data": "0x0000000000000000000000009900f8019b20e822e2d5897db246a376a9514c8f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000249277a1850000000000000000000000002e11edc25e5f2391cd9225a7c107d1b41ebacc9f00000000000000000000000000000000000000000000000000000000", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xcd90c6463b6429688c1737a4c44bfcdc8dcc81cf8aaced36093cb399bdb084cb", + "transactionIndex": "0x5f", + "logIndex": "0x1be", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", + "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", + "0x0000000000000000000000000000000000000000000000000000000000000003" + ], + "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf100000000000000000000000098474be8d188f450fef65b5c6d290d333eb74a2f00000000000000000000000000000000000000000000000000000000", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xcd90c6463b6429688c1737a4c44bfcdc8dcc81cf8aaced36093cb399bdb084cb", + "transactionIndex": "0x5f", + "logIndex": "0x1bf", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", + "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", + "0x0000000000000000000000000000000000000000000000000000000000000004" + ], + "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000063e92a335be85a7ae6d2de28397dcf40423c45f00000000000000000000000000000000000000000000000000000000", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xcd90c6463b6429688c1737a4c44bfcdc8dcc81cf8aaced36093cb399bdb084cb", + "transactionIndex": "0x5f", + "logIndex": "0x1c0", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", + "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", + "0x0000000000000000000000000000000000000000000000000000000000000005" + ], + "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c46600000000000000000000000000000000000000000000000000000000", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xcd90c6463b6429688c1737a4c44bfcdc8dcc81cf8aaced36093cb399bdb084cb", + "transactionIndex": "0x5f", + "logIndex": "0x1c1", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", + "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", + "0x0000000000000000000000000000000000000000000000000000000000000006" + ], + "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000c6b0eeff559a23187506440f8c62f58aea02fb4e00000000000000000000000000000000000000000000000000000000", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xcd90c6463b6429688c1737a4c44bfcdc8dcc81cf8aaced36093cb399bdb084cb", + "transactionIndex": "0x5f", + "logIndex": "0x1c2", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", + "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", + "0x0000000000000000000000000000000000000000000000000000000000000007" + ], + "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf100000000000000000000000065b65d4bf565b3ba92371ccd0b157da1bcb3b1a800000000000000000000000000000000000000000000000000000000", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xcd90c6463b6429688c1737a4c44bfcdc8dcc81cf8aaced36093cb399bdb084cb", + "transactionIndex": "0x5f", + "logIndex": "0x1c3", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", + "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", + "0x0000000000000000000000000000000000000000000000000000000000000008" + ], + "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000976cedebd26e4d78cbfdb789186510ab9a5747e300000000000000000000000000000000000000000000000000000000", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xcd90c6463b6429688c1737a4c44bfcdc8dcc81cf8aaced36093cb399bdb084cb", + "transactionIndex": "0x5f", + "logIndex": "0x1c4", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0x20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d0387", + "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000003e8", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xcd90c6463b6429688c1737a4c44bfcdc8dcc81cf8aaced36093cb399bdb084cb", + "transactionIndex": "0x5f", + "logIndex": "0x1c5", + "removed": false + } + ], + "logsBloom": "0x04000080000000000000000040000000000000000000000000000000000000000000000000000000000000000000000100001000820480000000000000040000000030000000000000800000000000000000000000040008000000000000000008000000020000000000000000000800000080000000000000000400000000000080000400000000000000000000001000000800000000000000000000000100000000000000000000004100000004000000000000800000002000080000400040000000000000000000000000000000000000008000400000000100000060000000000000000000000000000000000000000000008000000000000000000000", + "type": "0x2", + "transactionHash": "0xcd90c6463b6429688c1737a4c44bfcdc8dcc81cf8aaced36093cb399bdb084cb", + "transactionIndex": "0x5f", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "gasUsed": "0x1a8d5", + "effectiveGasPrice": "0x533991", + "blobGasUsed": "0xe497", + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "contractAddress": null, + "daFootprintGasScalar": "0x8b", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x2e7418", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x8417d1f0", + "l1GasPrice": "0x35a0dd7", + "l1GasUsed": "0x1a5a" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x27b1e80", + "logs": [ + { + "address": "0x9900f8019b20e822e2d5897db246a376a9514c8f", + "topics": [ + "0xab64f92ab780ecbf4f3866f57cee465ff36c89450dcce20237ca7a8d81fb7d13", + "0x00000000000000000000000014283f733d6f73ca116eaa07af7c8c16b1cef7e3" + ], + "data": "0x", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", + "transactionIndex": "0x60", + "logIndex": "0x1c6", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", + "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x0000000000000000000000009900f8019b20e822e2d5897db246a376a9514c8f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c68e00fb00000000000000000000000014283f733d6f73ca116eaa07af7c8c16b1cef7e300000000000000000000000000000000000000000000000000000000", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", + "transactionIndex": "0x60", + "logIndex": "0x1c7", + "removed": false + }, + { + "address": "0x9900f8019b20e822e2d5897db246a376a9514c8f", + "topics": [ + "0x482b97c53e48ffa324a976e2738053e9aff6eee04d8aac63b10e19411d869b82", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca" + ], + "data": "0x", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", + "transactionIndex": "0x60", + "logIndex": "0x1c8", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", + "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x0000000000000000000000009900f8019b20e822e2d5897db246a376a9514c8f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000245b34b8230000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca00000000000000000000000000000000000000000000000000000000", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", + "transactionIndex": "0x60", + "logIndex": "0x1c9", + "removed": false + }, + { + "address": "0x9900f8019b20e822e2d5897db246a376a9514c8f", + "topics": [ + "0x5a69769904291a5b71c7f53981055587f0f849edb458cc47e64510be36d164d3", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000002e11edc25e5f2391cd9225a7c107d1b41ebacc9f" + ], + "data": "0x", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", + "transactionIndex": "0x60", + "logIndex": "0x1ca", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", + "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", + "0x0000000000000000000000000000000000000000000000000000000000000002" + ], + "data": "0x0000000000000000000000009900f8019b20e822e2d5897db246a376a9514c8f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000249277a1850000000000000000000000002e11edc25e5f2391cd9225a7c107d1b41ebacc9f00000000000000000000000000000000000000000000000000000000", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", + "transactionIndex": "0x60", + "logIndex": "0x1cb", + "removed": false + }, + { + "address": "0x0021c1fdd50aa76fb59afe3fc3a38c02c257bdca", + "topics": [ + "0xa77e7c594c11a0d5d9d8e6a9132ac0db912dc0f34f5fb7d94860fe38d16410bd", + "0x00000000000000000000000098474be8d188f450fef65b5c6d290d333eb74a2f" + ], + "data": "0x", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", + "transactionIndex": "0x60", + "logIndex": "0x1cc", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", + "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", + "0x0000000000000000000000000000000000000000000000000000000000000003" + ], + "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002422f2caf100000000000000000000000098474be8d188f450fef65b5c6d290d333eb74a2f00000000000000000000000000000000000000000000000000000000", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", + "transactionIndex": "0x60", + "logIndex": "0x1cd", + "removed": false + }, + { + "address": "0x0021c1fdd50aa76fb59afe3fc3a38c02c257bdca", + "topics": [ + "0xa77e7c594c11a0d5d9d8e6a9132ac0db912dc0f34f5fb7d94860fe38d16410bd", + "0x000000000000000000000000063e92a335be85a7ae6d2de28397dcf40423c45f" + ], + "data": "0x", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", + "transactionIndex": "0x60", + "logIndex": "0x1ce", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", + "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", + "0x0000000000000000000000000000000000000000000000000000000000000004" + ], + "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000063e92a335be85a7ae6d2de28397dcf40423c45f00000000000000000000000000000000000000000000000000000000", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", + "transactionIndex": "0x60", + "logIndex": "0x1cf", + "removed": false + }, + { + "address": "0x0021c1fdd50aa76fb59afe3fc3a38c02c257bdca", + "topics": [ + "0xa77e7c594c11a0d5d9d8e6a9132ac0db912dc0f34f5fb7d94860fe38d16410bd", + "0x000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c466" + ], + "data": "0x", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", + "transactionIndex": "0x60", + "logIndex": "0x1d0", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", + "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", + "0x0000000000000000000000000000000000000000000000000000000000000005" + ], + "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c46600000000000000000000000000000000000000000000000000000000", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", + "transactionIndex": "0x60", + "logIndex": "0x1d1", + "removed": false + }, + { + "address": "0x0021c1fdd50aa76fb59afe3fc3a38c02c257bdca", + "topics": [ + "0xa77e7c594c11a0d5d9d8e6a9132ac0db912dc0f34f5fb7d94860fe38d16410bd", + "0x000000000000000000000000c6b0eeff559a23187506440f8c62f58aea02fb4e" + ], + "data": "0x", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", + "transactionIndex": "0x60", + "logIndex": "0x1d2", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", + "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", + "0x0000000000000000000000000000000000000000000000000000000000000006" + ], + "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000c6b0eeff559a23187506440f8c62f58aea02fb4e00000000000000000000000000000000000000000000000000000000", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", + "transactionIndex": "0x60", + "logIndex": "0x1d3", + "removed": false + }, + { + "address": "0x0021c1fdd50aa76fb59afe3fc3a38c02c257bdca", + "topics": [ + "0xa77e7c594c11a0d5d9d8e6a9132ac0db912dc0f34f5fb7d94860fe38d16410bd", + "0x00000000000000000000000065b65d4bf565b3ba92371ccd0b157da1bcb3b1a8" + ], + "data": "0x", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", + "transactionIndex": "0x60", + "logIndex": "0x1d4", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", + "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", + "0x0000000000000000000000000000000000000000000000000000000000000007" + ], + "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002422f2caf100000000000000000000000065b65d4bf565b3ba92371ccd0b157da1bcb3b1a800000000000000000000000000000000000000000000000000000000", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", + "transactionIndex": "0x60", + "logIndex": "0x1d5", + "removed": false + }, + { + "address": "0x0021c1fdd50aa76fb59afe3fc3a38c02c257bdca", + "topics": [ + "0xa77e7c594c11a0d5d9d8e6a9132ac0db912dc0f34f5fb7d94860fe38d16410bd", + "0x000000000000000000000000976cedebd26e4d78cbfdb789186510ab9a5747e3" + ], + "data": "0x", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", + "transactionIndex": "0x60", + "logIndex": "0x1d6", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", + "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", + "0x0000000000000000000000000000000000000000000000000000000000000008" + ], + "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000976cedebd26e4d78cbfdb789186510ab9a5747e300000000000000000000000000000000000000000000000000000000", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", + "transactionIndex": "0x60", + "logIndex": "0x1d7", + "removed": false + } + ], + "logsBloom": "0x04000080001002008000000000000000000008000000000008000000100004000000100000000000800000000004004000001000020c800100000000000400804020300000000000008000000000000a0000000000040000000000000010002008400000020000000000008000000800001000200000000010000400000000000080000400000000000000000000001040080804000000000000000000210100000000000000200000004100000004000000008000800000202080080000400040000020000000280000002000000020000400008000000000400100000060100000008100000000800004010000000000000000008000010000000000000000", + "type": "0x2", + "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", + "transactionIndex": "0x60", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "gasUsed": "0x51c2a", + "effectiveGasPrice": "0x533991", + "blobGasUsed": "0xe1e0", + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "contractAddress": null, + "daFootprintGasScalar": "0x8b", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x2e7418", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x828552c1", + "l1GasPrice": "0x35a0dd7", + "l1GasUsed": "0x1a0a" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1771012596204, + "chain": 8453, + "commit": "feef4c5" +} \ No newline at end of file diff --git a/broadcast/Deploy.s.sol/8453/run-latest.json b/broadcast/Deploy.s.sol/8453/run-latest.json index 5db0d6e..9778456 100644 --- a/broadcast/Deploy.s.sol/8453/run-latest.json +++ b/broadcast/Deploy.s.sol/8453/run-latest.json @@ -1,10 +1,10 @@ { "transactions": [ { - "hash": "0xba4b51caf4af8220fa2436d1a39e97c40710037ecbb540366213ce3531bec0d9", + "hash": "0x8c27f572246018455ff55f2f0ba8db816d9c5efafc2118908c9174ed41eb378a", "transactionType": "CREATE2", "contractName": "YieldSeekerAdminTimelock", - "contractAddress": "0x60163d6406503426e712ed6c507137229552756d", + "contractAddress": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "function": null, "arguments": [ "0", @@ -15,23 +15,23 @@ "transaction": { "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x1ca729", + "gas": "0x1e5693", "value": "0x0", - "input": "0x000000000000000000000000000000000000000000000000000000000000000660806040523461016657611a61803803806100198161016a565b92833981019060808183031261016657805160208201519091906001600160401b038111610166578361004d9183016101b7565b604082015190936001600160401b0382116101665761007360609161007a9385016101b7565b92016101a3565b61008330610249565b506001600160a01b038116610156575b505f5b83518110156100e0576001906100be6001600160a01b036100b78388610221565b51166102bf565b506100d9828060a01b036100d28388610221565b5116610352565b5001610096565b50905f5b82518110156101135760019061010c6001600160a01b036101058387610221565b51166103e5565b50016100e4565b7f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d5604083806002558151905f82526020820152a160405161154890816104798239f35b61015f90610249565b505f610093565b5f80fd5b6040519190601f01601f191682016001600160401b0381118382101761018f57604052565b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820361016657565b9080601f83011215610166578151916001600160401b03831161018f578260051b906020806101e781850161016a565b80968152019282010192831161016657602001905b8282106102095750505090565b60208091610216846101a3565b8152019101906101fc565b80518210156102355760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b6001600160a01b0381165f9081525f516020611a415f395f51905f52602052604090205460ff166102ba576001600160a01b03165f8181525f516020611a415f395f51905f5260205260408120805460ff191660011790553391905f5160206119c15f395f51905f528180a4600190565b505f90565b6001600160a01b0381165f9081525f5160206119e15f395f51905f52602052604090205460ff166102ba576001600160a01b03165f8181525f5160206119e15f395f51905f5260205260408120805460ff191660011790553391907fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1905f5160206119c15f395f51905f529080a4600190565b6001600160a01b0381165f9081525f516020611a215f395f51905f52602052604090205460ff166102ba576001600160a01b03165f8181525f516020611a215f395f51905f5260205260408120805460ff191660011790553391907ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783905f5160206119c15f395f51905f529080a4600190565b6001600160a01b0381165f9081525f516020611a015f395f51905f52602052604090205460ff166102ba576001600160a01b03165f8181525f516020611a015f395f51905f5260205260408120805460ff191660011790553391907fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63905f5160206119c15f395f51905f529080a460019056fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806301d5062a14610b2057806301ffc9a714610ab057806307bd026514610a76578063134008d3146109c357806313bc9f20146109a5578063150b7a0214610950578063248a9ca3146109265780632ab0f529146109085780632f2ff15d146108cb57806331d50750146108ad57806336568abe14610869578063584b153e1461084157806364d62353146107dc5780637958004c146107995780638065657f1461077a5780638f2a0bb0146105f55780638f61f4f5146105bb57806391d1485414610573578063a217fddf14610559578063b08e51c01461051f578063b1c5f427146104f5578063bc197c8114610460578063c4d252f514610382578063d45c443514610358578063d547741f14610314578063e38335e5146101c8578063f23a6e61146101735763f27a0c920361000e573461016f575f36600319011261016f576020600254604051908152f35b5f80fd5b3461016f5760a036600319011261016f5761018c610bcb565b50610195610be1565b506084356001600160401b03811161016f576101b5903690600401610cc2565b5060405163f23a6e6160e01b8152602090f35b6101d136610d38565b5f80527fdae2aa361dfd1ca020a396615627d436107c35eff9fe7738a3512819782d70696020527f5ba6852781629bcdcd4bdaa6de76d786f1c64b16acdac474e55bebc0ea1579515492979196919593949260ff1615610306575b8282148015906102fc575b6102e15761024e61025591888a888789888d611002565b968761131b565b5f5b81811061026757610018876113c6565b8080887fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b5888886102d86102bf8f986001998f828e6102b28f836102ad916102b896610f89565b610fad565b97610f89565b3595610fc1565b906102cc82828787611373565b60405194859485610e65565b0390a301610257565b50869063ffb0321160e01b5f5260045260245260445260645ffd5b5087821415610237565b61030f3361124d565b61022c565b3461016f57604036600319011261016f57610018600435610333610be1565b9061035361034c825f525f602052600160405f20015490565b33906112d3565b61146c565b3461016f57602036600319011261016f576004355f526001602052602060405f2054604051908152f35b3461016f57602036600319011261016f57335f9081527fc3ad33e20b0c56a223ad5104fff154aa010f8715b9c981fd38fdc60a4d1a52fb60205260409020546004359060ff1615610429576103d681610ed3565b1561040f57805f5260016020525f60408120557fbaa1eb22f2a492ba1a5fea61b8df4d27c6c8b5f3971e63bb58fa14ff72eedb705f80a2005b635ead8eb560e01b5f52600452600460021760245260445ffd5b63e2517d3f60e01b5f52336004527ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f78360245260445ffd5b3461016f5760a036600319011261016f57610479610bcb565b50610482610be1565b506044356001600160401b03811161016f576104a2903690600401610da6565b506064356001600160401b03811161016f576104c2903690600401610da6565b506084356001600160401b03811161016f576104e2903690600401610cc2565b5060405163bc197c8160e01b8152602090f35b3461016f57602061051761050836610d38565b96959095949194939293611002565b604051908152f35b3461016f575f36600319011261016f5760206040517ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f7838152f35b3461016f575f36600319011261016f5760206040515f8152f35b3461016f57604036600319011261016f5761058c610be1565b6004355f525f60205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b3461016f575f36600319011261016f5760206040517fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc18152f35b3461016f5760c036600319011261016f576004356001600160401b03811161016f57610625903690600401610d08565b906024356001600160401b03811161016f57610645903690600401610d08565b6044929192356001600160401b03811161016f57610667903690600401610d08565b9390916064356084359560a4359261067e336111c7565b808914801590610770575b6107565761069d88848489858a8f8e611002565b986106a8858b611154565b895f5b8281106106e8575089806106bb57005b60207f20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d038791604051908152a2005b806001927f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8b8b61074b8f8c61073e8f928e6107378f8f906107316102ad8f8097948195610f89565b99610f89565b3597610fc1565b9060405196879687610e2d565b0390a3018a906106ab565b908863ffb0321160e01b5f5260045260245260445260645ffd5b5081891415610689565b3461016f57602061051761078d36610c24565b94939093929192610f34565b3461016f57602036600319011261016f576107b5600435610efc565b60405160048210156107c8576020918152f35b634e487b7160e01b5f52602160045260245ffd5b3461016f57602036600319011261016f5760043530330361082e577f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d560406002548151908152836020820152a1600255005b63e2850c5960e01b5f523360045260245ffd5b3461016f57602036600319011261016f57602061085f600435610ed3565b6040519015158152f35b3461016f57604036600319011261016f57610882610be1565b336001600160a01b0382160361089e576100189060043561146c565b63334bd91960e11b5f5260045ffd5b3461016f57602036600319011261016f57602061085f600435610ebc565b3461016f57604036600319011261016f576100186004356108ea610be1565b9061090361034c825f525f602052600160405f20015490565b6113e4565b3461016f57602036600319011261016f57602061085f600435610ea4565b3461016f57602036600319011261016f5760206105176004355f525f602052600160405f20015490565b3461016f57608036600319011261016f57610969610bcb565b50610972610be1565b506064356001600160401b03811161016f57610992903690600401610cc2565b50604051630a85bd0160e11b8152602090f35b3461016f57602036600319011261016f57602061085f600435610e8c565b610018610a545f610a607fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58610a4b6109fa36610c24565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e638a9995979299949394528960205260408a208a805260205260ff60408b20541615610a68575b8884848989610f34565b9889978861131b565b6102cc82828787611373565b0390a36113c6565b610a713361124d565b610a41565b3461016f575f36600319011261016f5760206040517fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e638152f35b3461016f57602036600319011261016f5760043563ffffffff60e01b811680910361016f57602090630271189760e51b8114908115610af5575b506040519015158152f35b637965db0b60e01b811491508115610b0f575b5082610aea565b6301ffc9a760e01b14905082610b08565b3461016f5760c036600319011261016f57610b39610bcb565b602435906044356001600160401b03811161016f577f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca92610b7f5f923690600401610bf7565b94909160643594610bc16084359660a43590610b9a336111c7565b610ba889828c8a8989610f34565b998a97610bb5848a611154565b60405196879687610e2d565b0390a3806106bb57005b600435906001600160a01b038216820361016f57565b602435906001600160a01b038216820361016f57565b9181601f8401121561016f578235916001600160401b03831161016f576020838186019501011161016f57565b60a060031982011261016f576004356001600160a01b038116810361016f579160243591604435906001600160401b03821161016f57610c6691600401610bf7565b90916064359060843590565b90601f801991011681019081106001600160401b03821117610c9357604052565b634e487b7160e01b5f52604160045260245ffd5b6001600160401b038111610c9357601f01601f191660200190565b81601f8201121561016f57803590610cd982610ca7565b92610ce76040519485610c72565b8284526020838301011161016f57815f926020809301838601378301015290565b9181601f8401121561016f578235916001600160401b03831161016f576020808501948460051b01011161016f57565b60a060031982011261016f576004356001600160401b03811161016f5781610d6291600401610d08565b929092916024356001600160401b03811161016f5781610d8491600401610d08565b92909291604435906001600160401b03821161016f57610c6691600401610d08565b9080601f8301121561016f578135916001600160401b038311610c93578260051b9060405193610dd96020840186610c72565b845260208085019282010192831161016f57602001905b828210610dfd5750505090565b8135815260209182019101610df0565b908060209392818452848401375f828201840152601f01601f1916010190565b929093610e5b926080959897969860018060a01b03168552602085015260a0604085015260a0840191610e0d565b9460608201520152565b610e89949260609260018060a01b0316825260208201528160408201520191610e0d565b90565b610e9590610efc565b60048110156107c85760021490565b610ead90610efc565b60048110156107c85760031490565b610ec590610efc565b60048110156107c857151590565b610edc90610efc565b60048110156107c85760018114908115610ef4575090565b600291501490565b5f52600160205260405f205480155f14610f1557505f90565b60018103610f235750600390565b421015610f2f57600190565b600290565b94610f6a610f8394959293604051968795602087019960018060a01b03168a52604087015260a0606087015260c0860191610e0d565b91608084015260a083015203601f198101835282610c72565b51902090565b9190811015610f995760051b0190565b634e487b7160e01b5f52603260045260245ffd5b356001600160a01b038116810361016f5790565b9190811015610f995760051b81013590601e198136030182121561016f5701908135916001600160401b03831161016f57602001823603811361016f579190565b9693949190969592956040519660208801988060c08a0160a08c525260e0890192905f905b80821061111e57505050878203601f190160408901528082526001600160fb1b03811161016f579087959394929160051b8092602083013701848103606086015260208101849052600584901b8101604090810194908201915f90889036829003601e1901905b8484106110b857505050505050610f839450608084015260a083015203601f198101835282610c72565b91939597909294969850601f19601f198383030101875289358381121561016f57840190602082359201916001600160401b03811161016f57803603831361016f5761110a6020928392600195610e0d565b9b0197019401918a9896999795939161108e565b91939091908435906001600160a01b038216820361016f576001600160a01b039091168152602090810194019160010190611027565b9061115e82610ebc565b6111af576002548082106111995750420190814211611185575f52600160205260405f2055565b634e487b7160e01b5f52601160045260245ffd5b90635433660960e01b5f5260045260245260445ffd5b50635ead8eb560e01b5f52600452600160245260445ffd5b6001600160a01b0381165f9081527f3412d5605ac6cd444957cedb533e5dacad6378b4bc819ebe3652188a665066d5602052604090205460ff16156112095750565b63e2517d3f60e01b5f9081526001600160a01b03919091166004527fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1602452604490fd5b6001600160a01b0381165f9081527fdae2aa361dfd1ca020a396615627d436107c35eff9fe7738a3512819782d7069602052604090205460ff161561128f5750565b63e2517d3f60e01b5f9081526001600160a01b03919091166004527fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63602452604490fd5b90815f525f60205260405f2060018060a01b0382165f5260205260ff60405f205416156112fe575050565b63e2517d3f60e01b5f5260018060a01b031660045260245260445ffd5b61132481610e8c565b1561135c57508015158061134c575b61133a5750565b63121534c360e31b5f5260045260245ffd5b5061135681610ea4565b15611333565b635ead8eb560e01b5f52600452600460245260445ffd5b6113bb935f93928493826040519384928337810185815203925af13d156113be573d9061139f82610ca7565b916113ad6040519384610c72565b82523d5f602084013e6114ec565b50565b6060906114ec565b6113cf81610e8c565b1561135c575f526001602052600160405f2055565b5f818152602081815260408083206001600160a01b038616845290915290205460ff16611466575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50505f90565b5f818152602081815260408083206001600160a01b038616845290915290205460ff1615611466575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b156114f45790565b80511561150357602081519101fd5b63d6bda27560e01b5f5260045ffdfea2646970667358221220bccbe2acf19888c895f0cd25e3089a4a6308b9dcf43dcd456ddffa669ab14d6d64736f6c634300081c00332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d3412d5605ac6cd444957cedb533e5dacad6378b4bc819ebe3652188a665066d5dae2aa361dfd1ca020a396615627d436107c35eff9fe7738a3512819782d7069c3ad33e20b0c56a223ad5104fff154aa010f8715b9c981fd38fdc60a4d1a52fbad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f8cbf6437d2473ec59885299af38d9a13ce97eca0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f8cbf6437d2473ec59885299af38d9a13ce97eca", - "nonce": "0x0", + "input": "0x000000000000000000000000000000000000000000000000000000000000000760806040523461016657611a61803803806100198161016a565b92833981019060808183031261016657805160208201519091906001600160401b038111610166578361004d9183016101b7565b604082015190936001600160401b0382116101665761007360609161007a9385016101b7565b92016101a3565b61008330610249565b506001600160a01b038116610156575b505f5b83518110156100e0576001906100be6001600160a01b036100b78388610221565b51166102bf565b506100d9828060a01b036100d28388610221565b5116610352565b5001610096565b50905f5b82518110156101135760019061010c6001600160a01b036101058387610221565b51166103e5565b50016100e4565b7f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d5604083806002558151905f82526020820152a160405161154890816104798239f35b61015f90610249565b505f610093565b5f80fd5b6040519190601f01601f191682016001600160401b0381118382101761018f57604052565b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820361016657565b9080601f83011215610166578151916001600160401b03831161018f578260051b906020806101e781850161016a565b80968152019282010192831161016657602001905b8282106102095750505090565b60208091610216846101a3565b8152019101906101fc565b80518210156102355760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b6001600160a01b0381165f9081525f516020611a415f395f51905f52602052604090205460ff166102ba576001600160a01b03165f8181525f516020611a415f395f51905f5260205260408120805460ff191660011790553391905f5160206119c15f395f51905f528180a4600190565b505f90565b6001600160a01b0381165f9081525f5160206119e15f395f51905f52602052604090205460ff166102ba576001600160a01b03165f8181525f5160206119e15f395f51905f5260205260408120805460ff191660011790553391907fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1905f5160206119c15f395f51905f529080a4600190565b6001600160a01b0381165f9081525f516020611a215f395f51905f52602052604090205460ff166102ba576001600160a01b03165f8181525f516020611a215f395f51905f5260205260408120805460ff191660011790553391907ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783905f5160206119c15f395f51905f529080a4600190565b6001600160a01b0381165f9081525f516020611a015f395f51905f52602052604090205460ff166102ba576001600160a01b03165f8181525f516020611a015f395f51905f5260205260408120805460ff191660011790553391907fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63905f5160206119c15f395f51905f529080a460019056fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806301d5062a14610b2057806301ffc9a714610ab057806307bd026514610a76578063134008d3146109c357806313bc9f20146109a5578063150b7a0214610950578063248a9ca3146109265780632ab0f529146109085780632f2ff15d146108cb57806331d50750146108ad57806336568abe14610869578063584b153e1461084157806364d62353146107dc5780637958004c146107995780638065657f1461077a5780638f2a0bb0146105f55780638f61f4f5146105bb57806391d1485414610573578063a217fddf14610559578063b08e51c01461051f578063b1c5f427146104f5578063bc197c8114610460578063c4d252f514610382578063d45c443514610358578063d547741f14610314578063e38335e5146101c8578063f23a6e61146101735763f27a0c920361000e573461016f575f36600319011261016f576020600254604051908152f35b5f80fd5b3461016f5760a036600319011261016f5761018c610bcb565b50610195610be1565b506084356001600160401b03811161016f576101b5903690600401610cc2565b5060405163f23a6e6160e01b8152602090f35b6101d136610d38565b5f80527fdae2aa361dfd1ca020a396615627d436107c35eff9fe7738a3512819782d70696020527f5ba6852781629bcdcd4bdaa6de76d786f1c64b16acdac474e55bebc0ea1579515492979196919593949260ff1615610306575b8282148015906102fc575b6102e15761024e61025591888a888789888d611002565b968761131b565b5f5b81811061026757610018876113c6565b8080887fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b5888886102d86102bf8f986001998f828e6102b28f836102ad916102b896610f89565b610fad565b97610f89565b3595610fc1565b906102cc82828787611373565b60405194859485610e65565b0390a301610257565b50869063ffb0321160e01b5f5260045260245260445260645ffd5b5087821415610237565b61030f3361124d565b61022c565b3461016f57604036600319011261016f57610018600435610333610be1565b9061035361034c825f525f602052600160405f20015490565b33906112d3565b61146c565b3461016f57602036600319011261016f576004355f526001602052602060405f2054604051908152f35b3461016f57602036600319011261016f57335f9081527fc3ad33e20b0c56a223ad5104fff154aa010f8715b9c981fd38fdc60a4d1a52fb60205260409020546004359060ff1615610429576103d681610ed3565b1561040f57805f5260016020525f60408120557fbaa1eb22f2a492ba1a5fea61b8df4d27c6c8b5f3971e63bb58fa14ff72eedb705f80a2005b635ead8eb560e01b5f52600452600460021760245260445ffd5b63e2517d3f60e01b5f52336004527ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f78360245260445ffd5b3461016f5760a036600319011261016f57610479610bcb565b50610482610be1565b506044356001600160401b03811161016f576104a2903690600401610da6565b506064356001600160401b03811161016f576104c2903690600401610da6565b506084356001600160401b03811161016f576104e2903690600401610cc2565b5060405163bc197c8160e01b8152602090f35b3461016f57602061051761050836610d38565b96959095949194939293611002565b604051908152f35b3461016f575f36600319011261016f5760206040517ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f7838152f35b3461016f575f36600319011261016f5760206040515f8152f35b3461016f57604036600319011261016f5761058c610be1565b6004355f525f60205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b3461016f575f36600319011261016f5760206040517fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc18152f35b3461016f5760c036600319011261016f576004356001600160401b03811161016f57610625903690600401610d08565b906024356001600160401b03811161016f57610645903690600401610d08565b6044929192356001600160401b03811161016f57610667903690600401610d08565b9390916064356084359560a4359261067e336111c7565b808914801590610770575b6107565761069d88848489858a8f8e611002565b986106a8858b611154565b895f5b8281106106e8575089806106bb57005b60207f20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d038791604051908152a2005b806001927f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8b8b61074b8f8c61073e8f928e6107378f8f906107316102ad8f8097948195610f89565b99610f89565b3597610fc1565b9060405196879687610e2d565b0390a3018a906106ab565b908863ffb0321160e01b5f5260045260245260445260645ffd5b5081891415610689565b3461016f57602061051761078d36610c24565b94939093929192610f34565b3461016f57602036600319011261016f576107b5600435610efc565b60405160048210156107c8576020918152f35b634e487b7160e01b5f52602160045260245ffd5b3461016f57602036600319011261016f5760043530330361082e577f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d560406002548151908152836020820152a1600255005b63e2850c5960e01b5f523360045260245ffd5b3461016f57602036600319011261016f57602061085f600435610ed3565b6040519015158152f35b3461016f57604036600319011261016f57610882610be1565b336001600160a01b0382160361089e576100189060043561146c565b63334bd91960e11b5f5260045ffd5b3461016f57602036600319011261016f57602061085f600435610ebc565b3461016f57604036600319011261016f576100186004356108ea610be1565b9061090361034c825f525f602052600160405f20015490565b6113e4565b3461016f57602036600319011261016f57602061085f600435610ea4565b3461016f57602036600319011261016f5760206105176004355f525f602052600160405f20015490565b3461016f57608036600319011261016f57610969610bcb565b50610972610be1565b506064356001600160401b03811161016f57610992903690600401610cc2565b50604051630a85bd0160e11b8152602090f35b3461016f57602036600319011261016f57602061085f600435610e8c565b610018610a545f610a607fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58610a4b6109fa36610c24565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e638a9995979299949394528960205260408a208a805260205260ff60408b20541615610a68575b8884848989610f34565b9889978861131b565b6102cc82828787611373565b0390a36113c6565b610a713361124d565b610a41565b3461016f575f36600319011261016f5760206040517fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e638152f35b3461016f57602036600319011261016f5760043563ffffffff60e01b811680910361016f57602090630271189760e51b8114908115610af5575b506040519015158152f35b637965db0b60e01b811491508115610b0f575b5082610aea565b6301ffc9a760e01b14905082610b08565b3461016f5760c036600319011261016f57610b39610bcb565b602435906044356001600160401b03811161016f577f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca92610b7f5f923690600401610bf7565b94909160643594610bc16084359660a43590610b9a336111c7565b610ba889828c8a8989610f34565b998a97610bb5848a611154565b60405196879687610e2d565b0390a3806106bb57005b600435906001600160a01b038216820361016f57565b602435906001600160a01b038216820361016f57565b9181601f8401121561016f578235916001600160401b03831161016f576020838186019501011161016f57565b60a060031982011261016f576004356001600160a01b038116810361016f579160243591604435906001600160401b03821161016f57610c6691600401610bf7565b90916064359060843590565b90601f801991011681019081106001600160401b03821117610c9357604052565b634e487b7160e01b5f52604160045260245ffd5b6001600160401b038111610c9357601f01601f191660200190565b81601f8201121561016f57803590610cd982610ca7565b92610ce76040519485610c72565b8284526020838301011161016f57815f926020809301838601378301015290565b9181601f8401121561016f578235916001600160401b03831161016f576020808501948460051b01011161016f57565b60a060031982011261016f576004356001600160401b03811161016f5781610d6291600401610d08565b929092916024356001600160401b03811161016f5781610d8491600401610d08565b92909291604435906001600160401b03821161016f57610c6691600401610d08565b9080601f8301121561016f578135916001600160401b038311610c93578260051b9060405193610dd96020840186610c72565b845260208085019282010192831161016f57602001905b828210610dfd5750505090565b8135815260209182019101610df0565b908060209392818452848401375f828201840152601f01601f1916010190565b929093610e5b926080959897969860018060a01b03168552602085015260a0604085015260a0840191610e0d565b9460608201520152565b610e89949260609260018060a01b0316825260208201528160408201520191610e0d565b90565b610e9590610efc565b60048110156107c85760021490565b610ead90610efc565b60048110156107c85760031490565b610ec590610efc565b60048110156107c857151590565b610edc90610efc565b60048110156107c85760018114908115610ef4575090565b600291501490565b5f52600160205260405f205480155f14610f1557505f90565b60018103610f235750600390565b421015610f2f57600190565b600290565b94610f6a610f8394959293604051968795602087019960018060a01b03168a52604087015260a0606087015260c0860191610e0d565b91608084015260a083015203601f198101835282610c72565b51902090565b9190811015610f995760051b0190565b634e487b7160e01b5f52603260045260245ffd5b356001600160a01b038116810361016f5790565b9190811015610f995760051b81013590601e198136030182121561016f5701908135916001600160401b03831161016f57602001823603811361016f579190565b9693949190969592956040519660208801988060c08a0160a08c525260e0890192905f905b80821061111e57505050878203601f190160408901528082526001600160fb1b03811161016f579087959394929160051b8092602083013701848103606086015260208101849052600584901b8101604090810194908201915f90889036829003601e1901905b8484106110b857505050505050610f839450608084015260a083015203601f198101835282610c72565b91939597909294969850601f19601f198383030101875289358381121561016f57840190602082359201916001600160401b03811161016f57803603831361016f5761110a6020928392600195610e0d565b9b0197019401918a9896999795939161108e565b91939091908435906001600160a01b038216820361016f576001600160a01b039091168152602090810194019160010190611027565b9061115e82610ebc565b6111af576002548082106111995750420190814211611185575f52600160205260405f2055565b634e487b7160e01b5f52601160045260245ffd5b90635433660960e01b5f5260045260245260445ffd5b50635ead8eb560e01b5f52600452600160245260445ffd5b6001600160a01b0381165f9081527f3412d5605ac6cd444957cedb533e5dacad6378b4bc819ebe3652188a665066d5602052604090205460ff16156112095750565b63e2517d3f60e01b5f9081526001600160a01b03919091166004527fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1602452604490fd5b6001600160a01b0381165f9081527fdae2aa361dfd1ca020a396615627d436107c35eff9fe7738a3512819782d7069602052604090205460ff161561128f5750565b63e2517d3f60e01b5f9081526001600160a01b03919091166004527fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63602452604490fd5b90815f525f60205260405f2060018060a01b0382165f5260205260ff60405f205416156112fe575050565b63e2517d3f60e01b5f5260018060a01b031660045260245260445ffd5b61132481610e8c565b1561135c57508015158061134c575b61133a5750565b63121534c360e31b5f5260045260245ffd5b5061135681610ea4565b15611333565b635ead8eb560e01b5f52600452600460245260445ffd5b6113bb935f93928493826040519384928337810185815203925af13d156113be573d9061139f82610ca7565b916113ad6040519384610c72565b82523d5f602084013e6114ec565b50565b6060906114ec565b6113cf81610e8c565b1561135c575f526001602052600160405f2055565b5f818152602081815260408083206001600160a01b038616845290915290205460ff16611466575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50505f90565b5f818152602081815260408083206001600160a01b038616845290915290205460ff1615611466575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b156114f45790565b80511561150357602081519101fd5b63d6bda27560e01b5f5260045ffdfea2646970667358221220d337a7b00bb49f4e259f4673e12a4b0cca74005c34d86b712f6db699536a25d164736f6c634300081c00332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d3412d5605ac6cd444957cedb533e5dacad6378b4bc819ebe3652188a665066d5dae2aa361dfd1ca020a396615627d436107c35eff9fe7738a3512819782d7069c3ad33e20b0c56a223ad5104fff154aa010f8715b9c981fd38fdc60a4d1a52fbad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f8cbf6437d2473ec59885299af38d9a13ce97eca0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f8cbf6437d2473ec59885299af38d9a13ce97eca", + "nonce": "0x18", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x7556e7e15ddb03c8761b98a889bdec5734f9e20151b58ee7335f7fd8fe4bb305", + "hash": "0x7b00c930985dc5150eb462be54706b1b8c987d2fd1ab9168406f25e3d62cedce", "transactionType": "CREATE2", "contractName": "YieldSeekerAgentWalletFactory", - "contractAddress": "0x23aafaeb5b78816dbcf20d503a73cd9750a21d63", + "contractAddress": "0x9900f8019b20e822e2d5897db246a376a9514c8f", "function": null, "arguments": [ - "0x60163d6406503426E712eD6c507137229552756D", + "0x773541F7c38BE8106AE966CA9D6fee494a0eDD24", "0xFBD0A3646Bac17eE60860df7751129735b3F07A8" ], "transaction": { @@ -39,42 +39,42 @@ "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", "gas": "0x1acaa3", "value": "0x0", - "input": "0x00000000000000000000000000000000000000000000000000000000000000066080346100a157601f61159a38819003918201601f19168301916001600160401b038311848410176100a55780849260409485528339810103126100a157610052602061004b836100b9565b92016100b9565b6001600160a01b03821615610092576001600160a01b038116156100925761007c610082926100cd565b50610120565b5060405161126990816102f18239f35b63d92e233d60e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036100a157565b6100d7815f6101f8565b90816100e1575090565b5f8052600160205261011c906001600160a01b03167fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49610280565b5090565b5f51602061155a5f395f51905f525f5260016020525f51602061157a5f395f51905f5254600a1115806101b7575b6101a857610169815f51602061155a5f395f51905f526101f8565b9081610173575090565b5f51602061155a5f395f51905f525f52600160205261011c906001600160a01b03165f51602061157a5f395f51905f52610280565b636055dca160e01b5f5260045ffd5b506001600160a01b0381165f9081527fe8424ec1ecf42e9e88998e7da204f6091f75a50979eee18faf18b49b474940b0602052604090205460ff161561014e565b5f818152602081815260408083206001600160a01b038616845290915290205460ff1661027a575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50505f90565b6001810190825f528160205260405f2054155f146102e9578054680100000000000000008110156100a557600181018083558110156102d5578390825f5260205f20015554915f5260205260405f2055600190565b634e487b7160e01b5f52603260045260245ffd5b5050505f9056fe6080806040526004361015610012575f80fd5b5f905f3560e01c9081630155e09814610b845750806301ffc9a714610b14578063244c9c29146109fb578063248a9ca3146109c95780632b78c9f7146109ae5780632f2ff15d146108d95780633325e1df146108b157806336568abe1461086b57806350b5c16a14610843578063583f2f09146105c65780635b34b8231461054657806368fe596f1461051d5780638cb84e18146104795780639010d07c1461043357806391d14854146103ea5780639277a1851461036a578063a1dcf28214610342578063a217fddf14610326578063a3246ad3146102b2578063c68e00fb14610183578063ca15c873146101595763d547741f14610110575f80fd5b346101565760403660031901126101565761015260043561012f610be3565b9061014d610148825f525f602052600160405f20015490565b610cc4565b610cfc565b5080f35b80fd5b50346101565760203660031901126101565760406020916004358152600183522054604051908152f35b5034610156576020366003190112610156576004356001600160a01b038116908190036102ae576101b2610c75565b801561029f57803b1561028d576040516202dd3160ec1b8152602081600481855afa90811561028257839161023c575b50306001600160a01b039091160361022d57600280546001600160a01b031916821790557fab64f92ab780ecbf4f3866f57cee465ff36c89450dcce20237ca7a8d81fb7d138280a280f35b63502eeedf60e01b8252600482fd5b90506020813d60201161027a575b8161025760209383610c3b565b8101031261027657516001600160a01b0381168103610276575f6101e2565b8280fd5b3d915061024a565b6040513d85823e3d90fd5b6322a2d07b60e21b8252600452602490fd5b63d92e233d60e01b8252600482fd5b5080fd5b5034610156576020366003190112610156576004358152600160205260408120604051918260208354918281520192825260208220915b8181106103105761030c8561030081870382610c3b565b60405191829182610bf9565b0390f35b82548452602090930192600192830192016102e9565b5034610156578060031936011261015657602090604051908152f35b503461015657806003193601126101565760206040515f5160206112145f395f51905f528152f35b5034610156576020366003190112610156576004356001600160a01b038116908190036102ae57610399610c75565b801561029f57803b1561028d57600580546001600160a01b0319811683179091556001600160a01b03167f5a69769904291a5b71c7f53981055587f0f849edb458cc47e64510be36d164d38380a380f35b5034610156576040366003190112610156576040610406610be3565b91600435815280602052209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b50346101565760403660031901126101565761046060406020926004358152600184522060243590610dbc565b905460405160039290921b1c6001600160a01b03168152f35b5034610156576040366003190112610156576020600b610497610bcd565b604080516001600160a01b03909216848301908152602435602082015291906104cd90829084015b03601f198101835282610c3b565b5190206102786040516104e285830182610c3b565b81815284810191610f9c833951902090604051916040830152838201523081520160ff8153605590206040516001600160a01b039091168152f35b50346101565780600319360112610156576002546040516001600160a01b039091168152602090f35b5034610156576020366003190112610156576004356001600160a01b038116908190036102ae57610575610c75565b801561029f57803b1561028d57600380546001600160a01b0319811683179091556001600160a01b03167f482b97c53e48ffa324a976e2738053e9aff6eee04d8aac63b10e19411d869b828380a380f35b346107b05760603660031901126107b0576105df610bcd565b6044356001600160a01b0381169190602435908381036107b057335f9081527fe8424ec1ecf42e9e88998e7da204f6091f75a50979eee18faf18b49b474940b0602052604090205460ff161561081f5783156107fd573b1561080c576001600160a01b0382169182156107fd576002546001600160a01b0316156107ee576003546001600160a01b0316156107df57825f52600460205260405f20825f5260205260018060a01b0360405f2054166107c857604080516001600160a01b0390921660208301908152908201839052906106bb81606081016104bf565b51902060405161027880820182811067ffffffffffffffff8211176107b4578291610f9c833903905ff580156107a55760018060a01b031691805f52600460205260405f20825f5260205260405f20836bffffffffffffffffffffffff60a01b825416179055823b156107b0576040519363c350a1b560e01b85528160048601528260248601528060448601525f8560648183885af19485156107a557602085927f24924211b2afa1a1fa2d9d9361ccc452c0df4f982d439cdcc311140e55b3f56d928298610795575b50604051908152a4604051908152f35b5f61079f91610c3b565b5f610785565b6040513d5f823e3d90fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b5090633de717e160e21b5f5260045260245260445ffd5b6303b099cf60e61b5f5260045ffd5b638f51a26d60e01b5f5260045ffd5b63d92e233d60e01b5f5260045ffd5b826322a2d07b60e21b5f5260045260245ffd5b63e2517d3f60e01b5f52336004525f5160206112145f395f51905f5260245260445ffd5b346107b0575f3660031901126107b0576003546040516001600160a01b039091168152602090f35b346107b05760403660031901126107b057610884610be3565b336001600160a01b038216036108a2576108a090600435610cfc565b005b63334bd91960e11b5f5260045ffd5b346107b0575f3660031901126107b0576005546040516001600160a01b039091168152602090f35b346107b05760403660031901126107b0576004356108f5610be3565b61090d610148835f525f602052600160405f20015490565b5f5160206112145f395f51905f52821480610997575b8061096d575b61095e576109378183610dd1565b61093d57005b5f918252600160205260409091206108a0916001600160a01b031690610f42565b636055dca160e01b5f5260045ffd5b505f828152602081815260408083206001600160a01b038516845290915290205460ff1615610929565b50815f526001602052600a60405f20541015610923565b346107b0575f3660031901126107b0576020604051600a8152f35b346107b05760203660031901126107b05760206109f36004355f525f602052600160405f20015490565b604051908152f35b346107b0575f3660031901126107b0575f5160206112145f395f51905f525f5260016020527f2737f4fbde60fa8ca451e7409d70a576ffb90aaa6a453ecd5bd224428e00910354610a4b81610c5d565b90610a596040519283610c3b565b808252601f19610a6882610c5d565b013660208401375f5b818110610a86576040518061030c8582610bf9565b5f5160206112145f395f51905f525f526001602052610ac5817f2737f4fbde60fa8ca451e7409d70a576ffb90aaa6a453ecd5bd224428e009103610dbc565b9054845160039290921b1c6001600160a01b03169190811015610b00576001600160a01b03909116600582901b840160200152600101610a71565b634e487b7160e01b5f52603260045260245ffd5b346107b05760203660031901126107b05760043563ffffffff60e01b81168091036107b057602090635a05180f60e01b8114908115610b59575b506040519015158152f35b637965db0b60e01b811491508115610b73575b5082610b4e565b6301ffc9a760e01b14905082610b6c565b346107b05760403660031901126107b0576020906001600160a01b03610ba8610bcd565b165f908152600483526040808220602435835284529020546001600160a01b03168152f35b600435906001600160a01b03821682036107b057565b602435906001600160a01b03821682036107b057565b60206040818301928281528451809452019201905f5b818110610c1c5750505090565b82516001600160a01b0316845260209384019390920191600101610c0f565b90601f8019910116810190811067ffffffffffffffff8211176107b457604052565b67ffffffffffffffff81116107b45760051b60200190565b335f9081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604090205460ff1615610cad57565b63e2517d3f60e01b5f52336004525f60245260445ffd5b5f8181526020818152604080832033845290915290205460ff1615610ce65750565b63e2517d3f60e01b5f523360045260245260445ffd5b610d068282610d36565b9182610d1157505090565b5f91825260016020526040909120610d32916001600160a01b031690610e53565b5090565b5f818152602081815260408083206001600160a01b038616845290915290205460ff1615610db6575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b50505f90565b8054821015610b00575f5260205f2001905f90565b5f818152602081815260408083206001600160a01b038616845290915290205460ff16610db6575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b906001820191815f528260205260405f20548015155f14610f3a575f198101818111610f265782545f19810191908211610f2657818103610edb575b50505080548015610ec7575f190190610ea88282610dbc565b8154905f199060031b1b19169055555f526020525f6040812055600190565b634e487b7160e01b5f52603160045260245ffd5b610f11610eeb610efb9386610dbc565b90549060031b1c92839286610dbc565b819391549060031b91821b915f19901b19161790565b90555f528360205260405f20555f8080610e8f565b634e487b7160e01b5f52601160045260245ffd5b505050505f90565b6001810190825f528160205260405f2054155f14610f94578054680100000000000000008110156107b457610f81610efb826001879401855584610dbc565b905554915f5260205260405f2055600190565b5050505f9056fe60808060405234610153576368fe596f60e01b8152602081600481335afa90811561015e575f91610103575b506040516001600160a01b039190911690602081016001600160401b038111828210176100ef576040525f8152813b156100dc577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b03191683179055817fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a28051156100d5576100c591610169565b505b604051608290816101f68239f35b50506100c7565b50634c9c8ce360e01b5f5260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b905060203d602011610157575b601f8101601f191682016001600160401b038111838210176100ef5760209183916040528101031261015357516001600160a01b0381168103610153575f61002b565b5f80fd5b503d610110565b6040513d5f823e3d90fd5b905f8091602081519101845af480806101e2575b1561019d5750506040513d81523d5f602083013e60203d82010160405290565b156101c257639996b31560e01b5f9081526001600160a01b0391909116600452602490fd5b3d156101d3576040513d5f823e3d90fd5b63d6bda27560e01b5f5260045ffd5b503d15158061017d5750813b151561017d56fe60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545f9081906001600160a01b0316368280378136915af43d5f803e156048573d5ff35b3d5ffdfea2646970667358221220fdeb4d01f0733239c7596f1bca83971f66ed2dbb15b3f42f4470564f93033cd864736f6c634300081c00332fbb137a62ebd69bc6a41f4b4e96301da2105eef211fb1a3c75e8cfb9bfe7879a2646970667358221220345b2be893f9463efee948dd689b755345b242140a526bae65fb5859de82be1764736f6c634300081c00332fbb137a62ebd69bc6a41f4b4e96301da2105eef211fb1a3c75e8cfb9bfe78792737f4fbde60fa8ca451e7409d70a576ffb90aaa6a453ecd5bd224428e00910300000000000000000000000060163d6406503426e712ed6c507137229552756d000000000000000000000000fbd0a3646bac17ee60860df7751129735b3f07a8", - "nonce": "0x1", + "input": "0x00000000000000000000000000000000000000000000000000000000000000076080346100a157601f61159a38819003918201601f19168301916001600160401b038311848410176100a55780849260409485528339810103126100a157610052602061004b836100b9565b92016100b9565b6001600160a01b03821615610092576001600160a01b038116156100925761007c610082926100cd565b50610120565b5060405161126990816102f18239f35b63d92e233d60e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036100a157565b6100d7815f6101f8565b90816100e1575090565b5f8052600160205261011c906001600160a01b03167fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49610280565b5090565b5f51602061155a5f395f51905f525f5260016020525f51602061157a5f395f51905f5254600a1115806101b7575b6101a857610169815f51602061155a5f395f51905f526101f8565b9081610173575090565b5f51602061155a5f395f51905f525f52600160205261011c906001600160a01b03165f51602061157a5f395f51905f52610280565b636055dca160e01b5f5260045ffd5b506001600160a01b0381165f9081527fe8424ec1ecf42e9e88998e7da204f6091f75a50979eee18faf18b49b474940b0602052604090205460ff161561014e565b5f818152602081815260408083206001600160a01b038616845290915290205460ff1661027a575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50505f90565b6001810190825f528160205260405f2054155f146102e9578054680100000000000000008110156100a557600181018083558110156102d5578390825f5260205f20015554915f5260205260405f2055600190565b634e487b7160e01b5f52603260045260245ffd5b5050505f9056fe6080806040526004361015610012575f80fd5b5f905f3560e01c9081630155e09814610b845750806301ffc9a714610b14578063244c9c29146109fb578063248a9ca3146109c95780632b78c9f7146109ae5780632f2ff15d146108d95780633325e1df146108b157806336568abe1461086b57806350b5c16a14610843578063583f2f09146105c65780635b34b8231461054657806368fe596f1461051d5780638cb84e18146104795780639010d07c1461043357806391d14854146103ea5780639277a1851461036a578063a1dcf28214610342578063a217fddf14610326578063a3246ad3146102b2578063c68e00fb14610183578063ca15c873146101595763d547741f14610110575f80fd5b346101565760403660031901126101565761015260043561012f610be3565b9061014d610148825f525f602052600160405f20015490565b610cc4565b610cfc565b5080f35b80fd5b50346101565760203660031901126101565760406020916004358152600183522054604051908152f35b5034610156576020366003190112610156576004356001600160a01b038116908190036102ae576101b2610c75565b801561029f57803b1561028d576040516202dd3160ec1b8152602081600481855afa90811561028257839161023c575b50306001600160a01b039091160361022d57600280546001600160a01b031916821790557fab64f92ab780ecbf4f3866f57cee465ff36c89450dcce20237ca7a8d81fb7d138280a280f35b63502eeedf60e01b8252600482fd5b90506020813d60201161027a575b8161025760209383610c3b565b8101031261027657516001600160a01b0381168103610276575f6101e2565b8280fd5b3d915061024a565b6040513d85823e3d90fd5b6322a2d07b60e21b8252600452602490fd5b63d92e233d60e01b8252600482fd5b5080fd5b5034610156576020366003190112610156576004358152600160205260408120604051918260208354918281520192825260208220915b8181106103105761030c8561030081870382610c3b565b60405191829182610bf9565b0390f35b82548452602090930192600192830192016102e9565b5034610156578060031936011261015657602090604051908152f35b503461015657806003193601126101565760206040515f5160206112145f395f51905f528152f35b5034610156576020366003190112610156576004356001600160a01b038116908190036102ae57610399610c75565b801561029f57803b1561028d57600580546001600160a01b0319811683179091556001600160a01b03167f5a69769904291a5b71c7f53981055587f0f849edb458cc47e64510be36d164d38380a380f35b5034610156576040366003190112610156576040610406610be3565b91600435815280602052209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b50346101565760403660031901126101565761046060406020926004358152600184522060243590610dbc565b905460405160039290921b1c6001600160a01b03168152f35b5034610156576040366003190112610156576020600b610497610bcd565b604080516001600160a01b03909216848301908152602435602082015291906104cd90829084015b03601f198101835282610c3b565b5190206102786040516104e285830182610c3b565b81815284810191610f9c833951902090604051916040830152838201523081520160ff8153605590206040516001600160a01b039091168152f35b50346101565780600319360112610156576002546040516001600160a01b039091168152602090f35b5034610156576020366003190112610156576004356001600160a01b038116908190036102ae57610575610c75565b801561029f57803b1561028d57600380546001600160a01b0319811683179091556001600160a01b03167f482b97c53e48ffa324a976e2738053e9aff6eee04d8aac63b10e19411d869b828380a380f35b346107b05760603660031901126107b0576105df610bcd565b6044356001600160a01b0381169190602435908381036107b057335f9081527fe8424ec1ecf42e9e88998e7da204f6091f75a50979eee18faf18b49b474940b0602052604090205460ff161561081f5783156107fd573b1561080c576001600160a01b0382169182156107fd576002546001600160a01b0316156107ee576003546001600160a01b0316156107df57825f52600460205260405f20825f5260205260018060a01b0360405f2054166107c857604080516001600160a01b0390921660208301908152908201839052906106bb81606081016104bf565b51902060405161027880820182811067ffffffffffffffff8211176107b4578291610f9c833903905ff580156107a55760018060a01b031691805f52600460205260405f20825f5260205260405f20836bffffffffffffffffffffffff60a01b825416179055823b156107b0576040519363c350a1b560e01b85528160048601528260248601528060448601525f8560648183885af19485156107a557602085927f24924211b2afa1a1fa2d9d9361ccc452c0df4f982d439cdcc311140e55b3f56d928298610795575b50604051908152a4604051908152f35b5f61079f91610c3b565b5f610785565b6040513d5f823e3d90fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b5090633de717e160e21b5f5260045260245260445ffd5b6303b099cf60e61b5f5260045ffd5b638f51a26d60e01b5f5260045ffd5b63d92e233d60e01b5f5260045ffd5b826322a2d07b60e21b5f5260045260245ffd5b63e2517d3f60e01b5f52336004525f5160206112145f395f51905f5260245260445ffd5b346107b0575f3660031901126107b0576003546040516001600160a01b039091168152602090f35b346107b05760403660031901126107b057610884610be3565b336001600160a01b038216036108a2576108a090600435610cfc565b005b63334bd91960e11b5f5260045ffd5b346107b0575f3660031901126107b0576005546040516001600160a01b039091168152602090f35b346107b05760403660031901126107b0576004356108f5610be3565b61090d610148835f525f602052600160405f20015490565b5f5160206112145f395f51905f52821480610997575b8061096d575b61095e576109378183610dd1565b61093d57005b5f918252600160205260409091206108a0916001600160a01b031690610f42565b636055dca160e01b5f5260045ffd5b505f828152602081815260408083206001600160a01b038516845290915290205460ff1615610929565b50815f526001602052600a60405f20541015610923565b346107b0575f3660031901126107b0576020604051600a8152f35b346107b05760203660031901126107b05760206109f36004355f525f602052600160405f20015490565b604051908152f35b346107b0575f3660031901126107b0575f5160206112145f395f51905f525f5260016020527f2737f4fbde60fa8ca451e7409d70a576ffb90aaa6a453ecd5bd224428e00910354610a4b81610c5d565b90610a596040519283610c3b565b808252601f19610a6882610c5d565b013660208401375f5b818110610a86576040518061030c8582610bf9565b5f5160206112145f395f51905f525f526001602052610ac5817f2737f4fbde60fa8ca451e7409d70a576ffb90aaa6a453ecd5bd224428e009103610dbc565b9054845160039290921b1c6001600160a01b03169190811015610b00576001600160a01b03909116600582901b840160200152600101610a71565b634e487b7160e01b5f52603260045260245ffd5b346107b05760203660031901126107b05760043563ffffffff60e01b81168091036107b057602090635a05180f60e01b8114908115610b59575b506040519015158152f35b637965db0b60e01b811491508115610b73575b5082610b4e565b6301ffc9a760e01b14905082610b6c565b346107b05760403660031901126107b0576020906001600160a01b03610ba8610bcd565b165f908152600483526040808220602435835284529020546001600160a01b03168152f35b600435906001600160a01b03821682036107b057565b602435906001600160a01b03821682036107b057565b60206040818301928281528451809452019201905f5b818110610c1c5750505090565b82516001600160a01b0316845260209384019390920191600101610c0f565b90601f8019910116810190811067ffffffffffffffff8211176107b457604052565b67ffffffffffffffff81116107b45760051b60200190565b335f9081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604090205460ff1615610cad57565b63e2517d3f60e01b5f52336004525f60245260445ffd5b5f8181526020818152604080832033845290915290205460ff1615610ce65750565b63e2517d3f60e01b5f523360045260245260445ffd5b610d068282610d36565b9182610d1157505090565b5f91825260016020526040909120610d32916001600160a01b031690610e53565b5090565b5f818152602081815260408083206001600160a01b038616845290915290205460ff1615610db6575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b50505f90565b8054821015610b00575f5260205f2001905f90565b5f818152602081815260408083206001600160a01b038616845290915290205460ff16610db6575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b906001820191815f528260205260405f20548015155f14610f3a575f198101818111610f265782545f19810191908211610f2657818103610edb575b50505080548015610ec7575f190190610ea88282610dbc565b8154905f199060031b1b19169055555f526020525f6040812055600190565b634e487b7160e01b5f52603160045260245ffd5b610f11610eeb610efb9386610dbc565b90549060031b1c92839286610dbc565b819391549060031b91821b915f19901b19161790565b90555f528360205260405f20555f8080610e8f565b634e487b7160e01b5f52601160045260245ffd5b505050505f90565b6001810190825f528160205260405f2054155f14610f94578054680100000000000000008110156107b457610f81610efb826001879401855584610dbc565b905554915f5260205260405f2055600190565b5050505f9056fe60808060405234610153576368fe596f60e01b8152602081600481335afa90811561015e575f91610103575b506040516001600160a01b039190911690602081016001600160401b038111828210176100ef576040525f8152813b156100dc577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b03191683179055817fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a28051156100d5576100c591610169565b505b604051608290816101f68239f35b50506100c7565b50634c9c8ce360e01b5f5260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b905060203d602011610157575b601f8101601f191682016001600160401b038111838210176100ef5760209183916040528101031261015357516001600160a01b0381168103610153575f61002b565b5f80fd5b503d610110565b6040513d5f823e3d90fd5b905f8091602081519101845af480806101e2575b1561019d5750506040513d81523d5f602083013e60203d82010160405290565b156101c257639996b31560e01b5f9081526001600160a01b0391909116600452602490fd5b3d156101d3576040513d5f823e3d90fd5b63d6bda27560e01b5f5260045ffd5b503d15158061017d5750813b151561017d56fe60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545f9081906001600160a01b0316368280378136915af43d5f803e156048573d5ff35b3d5ffdfea264697066735822122026ee7f8fad82dfc43c6e07f9512d161616037da340f2d2657ec98d6976df3e1e64736f6c634300081c00332fbb137a62ebd69bc6a41f4b4e96301da2105eef211fb1a3c75e8cfb9bfe7879a2646970667358221220d92ad40c30630b561bd2d1343834e67c207ca1c6ce5447c792d42f498a93df1c64736f6c634300081c00332fbb137a62ebd69bc6a41f4b4e96301da2105eef211fb1a3c75e8cfb9bfe78792737f4fbde60fa8ca451e7409d70a576ffb90aaa6a453ecd5bd224428e009103000000000000000000000000773541f7c38be8106ae966ca9d6fee494a0edd24000000000000000000000000fbd0a3646bac17ee60860df7751129735b3f07a8", + "nonce": "0x19", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x8824f4e199cb9ad5594d318dbc33c4592ee2ffb523f727d318cd768e7701d171", + "hash": "0x30dbae9ea9e5131f93cbe3a867fc9bb6cf2a4235b48d4ea6e8de53e5303761c8", "transactionType": "CREATE2", "contractName": "YieldSeekerAgentWalletV1", - "contractAddress": "0x0fe7ff9421839bd2cf4d0d959450f57491ea1109", + "contractAddress": "0x14283f733d6f73ca116eaa07af7c8c16b1cef7e3", "function": null, "arguments": [ - "0x23AAFAeb5B78816dBCf20D503A73Cd9750A21d63" + "0x9900f8019b20e822E2D5897db246a376A9514C8F" ], "transaction": { "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x345b07", + "gas": "0x3040fc", "value": "0x0", - "input": "0x000000000000000000000000000000000000000000000000000000000000000660c03461013457601f612cc338819003918201601f19168301916001600160401b038311848410176101385780849260209460405283398101031261013457516001600160a01b03811690819003610134573060805260a0525f516020612ca35f395f51905f525460ff8160401c16610125576002600160401b03196001600160401b038216016100cf575b604051612b56908161014d8239608051818181611021015281816110fb01526115f5015260a05181818161115f015281816115980152818161188a01526122710152f35b6001600160401b0319166001600160401b039081175f516020612ca35f395f51905f52556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f61008b565b63f92ee8a960e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6080604052600436101561001a575b3615610018575f80fd5b005b5f5f3560e01c80630a3b7ad714611acc57806318dfb3c714611a6a5780631dec8ea5146119f3578063244c9c291461193057806329db6ee6146118b95780632dd31000146118755780633325e1df14611841578063367ad9e2146115595780633a871cdd146114865780634798faf5146113515780634f1ef286146110aa57806350b5c16a1461107557806352d1902d1461100e5780635c0df1a414610efc57806387f2f0b614610d7b5780638da5cb5b14610d4657806395243dd114610d2057806397d0763c14610ae157806397ef965514610abb578063ad3cb1cc14610a6e578063b0246dc114610a11578063b0d691fe146109e2578063b1588fb61461099f578063b61d27f614610951578063c350a1b5146107ff578063c51f172d14610783578063c87965721461070d578063cd6dc687146105e2578063cdf456e1146105ad578063d087d2881461050d578063d589621f146104db578063d8adf13914610473578063e9490cac14610436578063fb04898d146102375763fe717335146101a6575061000e565b34610234576020366003190112610234576101bf611b8c565b5f516020612a615f395f51905f52546001600160a01b03163303610221576101e681611cf7565b805460ff191660011790556001600160a01b03167f02cabee40f87619dfcb340449404a4513e5c455e77013d441169b12a26e70a218280a280f35b63472511eb60e11b825233600452602482fd5b80fd5b503461023457604036600319011261023457610251611b8c565b5f516020612a615f395f51905f5254602435906001600160a01b03163303610423576001600160a01b038216908115610414575f516020612b015f395f51905f52546040516370a0823160e01b81523060048201526001600160a01b039091169390602081602481885afa80156104095786906103d6575b5f516020612a415f395f51905f52546040516378e6802560e01b81523060048201529250602090839060249082906001600160a01b03165afa80156103cb5784928891610392575b508082111561038a5761032391611d7b565b1061037b578161033391856126b4565b5f516020612a615f395f51905f52546040519182526001600160a01b0316907f8c0281578dec46ac28aa238d1ddc3bce894975318c50432a4b4c82e58777621690602090a480f35b631e9acf1760e31b8552600485fd5b505085610323565b9250506020823d6020116103c3575b816103ae60209383611c39565b810103126103bf578391515f610311565b5f80fd5b3d91506103a1565b6040513d89823e3d90fd5b506020813d602011610401575b816103f060209383611c39565b810103126103bf57602490516102c9565b3d91506103e3565b6040513d88823e3d90fd5b63d92e233d60e01b8452600484fd5b63472511eb60e11b835233600452602483fd5b503461023457806003193601126102345760207f901ebb5305bfc9018fe46ce288a2febf943d9263140e9c913b0707d8f0dbf9cd54604051908152f35b50346102345780600319360112610234575f516020612a615f395f51905f52546001600160a01b0316331415806104c7575b6104b4576104b1612219565b80f35b63472511eb60e11b815233600452602490fd5b5060ff6104d333611cbf565b5416156104a5565b503461023457602036600319011261023457602060ff6105016104fc611b8c565b611d2f565b54166040519015158152f35b5034610234578060031936011261023457604051631aab3f0d60e11b81523060048201526024810182905290602082604481735ff137d4b0fdcd49dca30c7cf57e578a026d27895afa9081156105a1579061056e575b602090604051908152f35b506020813d602011610599575b8161058860209383611c39565b810103126103bf5760209051610563565b3d915061057b565b604051903d90823e3d90fd5b50346102345780600319360112610234575f516020612b015f395f51905f52546040516001600160a01b039091168152602090f35b5034610234576040366003190112610234576105fc611b8c565b5f516020612ae15f395f51905f5254906001600160401b0360ff8360401c1615921680159081610705575b60011490816106fb575b1590816106f2575b506106e357610659908261064b611e31565b6106b3575b602435906127c2565b6106605780f35b60ff60401b195f516020612ae15f395f51905f5254165f516020612ae15f395f51905f52557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a180f35b600160401b60ff60401b195f516020612ae15f395f51905f525416175f516020612ae15f395f51905f5255610650565b63f92ee8a960e01b8352600483fd5b9050155f610639565b303b159150610631565b839150610627565b5034610234578060031936011261023457735ff137d4b0fdcd49dca30c7cf57e578a026d278933141580610762575b8061074e575b6104b4576104b1611e5e565b5060ff61075a33611cbf565b541615610742565b505f516020612a615f395f51905f52546001600160a01b031633141561073c565b50346102345760203660031901126102345761079d611b8c565b5f516020612a615f395f51905f52546001600160a01b03163303610221576107c481611d2f565b805460ff191660011790556001600160a01b03167ff1b199bc156d70448988140152c13e4e7cef2ce43f60e7e96802e64181acba958280a280f35b503461023457606036600319011261023457610819611b8c565b6044356001600160a01b038116929183820361094d575f516020612ae15f395f51905f5254916001600160401b0360ff8460401c1615931680159081610945575b600114908161093b575b159081610932575b50610923578261087a611e31565b6108f3575b60ff5f516020612ae15f395f51905f525460401c16156108e4578415610414573b156108d0575f516020612b015f395f51905f5280546001600160a01b0319168517905561065990602435906127c2565b6322a2d07b60e21b83526004849052602483fd5b631afcd79f60e31b8452600484fd5b600160401b60ff60401b195f516020612ae15f395f51905f525416175f516020612ae15f395f51905f525561087f565b63f92ee8a960e01b8452600484fd5b9050155f61086c565b303b159150610864565b84915061085a565b8280fd5b50346102345760603660031901126102345761096b611b8c565b506044356001600160401b03811161099b579061098d60049236908401611bb8565b5050631eb49d6d60e11b8152fd5b5080fd5b5034610234576020366003190112610234576109b9611b8c565b5f516020612a615f395f51905f52546001600160a01b03163303610221576104b1904790612735565b50346102345780600319360112610234576020604051735ff137d4b0fdcd49dca30c7cf57e578a026d27898152f35b503461023457604036600319011261023457610a2b611b8c565b5f516020612a615f395f51905f525460243591906001600160a01b0316330361042357814710610a5f57906104b191612735565b631e9acf1760e31b8352600483fd5b503461023457806003193601126102345750610ab7604051610a91604082611c39565b60058152640352e302e360dc1b6020820152604051918291602083526020830190611be5565b0390f35b503461023457602036600319011261023457602060ff610501610adc611b8c565b611cbf565b5034610234576060366003190112610234576004356001600160401b03811161099b57610b12903690600401611c09565b91906024356001600160401b03811161094d57610b33903690600401611c09565b906044356001600160401b038111610d1c57610b53903690600401611c09565b92735ff137d4b0fdcd49dca30c7cf57e578a026d278933141580610cfb575b80610ce7575b610cd457808714801590610cca575b610cbb57610b96879697611d9c565b95610ba46040519788611c39565b808752601f19610bb382611d9c565b01885b818110610ca8575050875b818110610c2f5787896040519182916020830160208452825180915260408401602060408360051b870101940192905b828210610c0057505050500390f35b91936001919395506020610c1f8192603f198a82030186528851611be5565b9601920192018594939192610bf1565b610c42610c3d82848a611db3565b611dd7565b610c50610c3d838689611db3565b9087831015610c94578291610c7891610c7060019560051b890189611deb565b929091612055565b610c82828b611e1d565b52610c8d818a611e1d565b5001610bc1565b634e487b7160e01b8b52603260045260248bfd5b60606020828b0181019190915201610bb6565b63baf3f0f760e01b8652600486fd5b5083871415610b87565b63472511eb60e11b865233600452602486fd5b5060ff610cf333611cbf565b541615610b78565b505f516020612a615f395f51905f52546001600160a01b0316331415610b72565b8480fd5b503461023457602036600319011261023457602060ff610501610d41611b8c565b611cf7565b50346102345780600319360112610234575f516020612a615f395f51905f52546040516001600160a01b039091168152602090f35b503461023457602036600319011261023457610d95611b8c565b5f516020612a615f395f51905f52546001600160a01b03163303610221576001600160a01b0381168015610eed575f516020612b015f395f51905f52546040516370a0823160e01b81523060048201526001600160a01b039091169290602081602481875afa8015610ee2578590610eaf575b5f516020612a415f395f51905f52546040516378e6802560e01b81523060048201529250602090839060249082906001600160a01b03165afa918215610409578692610e7b575b5081811115610e6e5761033391610e6591611d7b565b80925b856126b4565b5050610333848092610e68565b9091506020813d602011610ea7575b81610e9760209383611c39565b810103126103bf5751905f610e4f565b3d9150610e8a565b506020813d602011610eda575b81610ec960209383611c39565b810103126103bf5760249051610e08565b3d9150610ebc565b6040513d87823e3d90fd5b63d92e233d60e01b8352600483fd5b503461023457604036600319011261023457610f16611b8c565b610f1e611ba2565b5f516020612a615f395f51905f52546001600160a01b03163303610423576001600160a01b038216908115610414576001600160a01b0316918215610414575f516020612b015f395f51905f52546001600160a01b03168303610fff576040516370a0823160e01b8152306004820152602081602481875afa8015610ee2578590610eaf575f516020612a415f395f51905f52546040516378e6802560e01b81523060048201529250602090839060249082906001600160a01b03165afa918215610409578692610e7b575081811115610e6e5761033391610e6591611d7b565b636448d6e960e11b8452600484fd5b50346102345780600319360112610234577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036110665760206040515f516020612a815f395f51905f528152f35b63703e46dd60e11b8152600490fd5b50346102345780600319360112610234575f516020612aa15f395f51905f52546040516001600160a01b039091168152602090f35b506040366003190112610234576110bf611b8c565b906024356001600160401b03811161099b573660238201121561099b576110f0903690602481600401359101611c89565b916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630811490811561132f575b50611320575f516020612a615f395f51905f52546001600160a01b03163303610221576040516368fe596f60e01b8152906020826004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9182156113155783926112d9575b506001600160a01b03818116921682036112ca576040516352d1902d60e01b815293602085600481865afa80958596611296575b506111e457634c9c8ce360e01b84526004839052602484fd5b9091845f516020612a815f395f51905f5281036112845750823b15611272575f516020612a815f395f51905f5280546001600160a01b031916821790557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a28051156112595761125591612932565b5080f35b5050346112635780f35b63b398979f60e01b8152600490fd5b634c9c8ce360e01b8452600452602483fd5b632a87526960e21b8552600452602484fd5b9095506020813d6020116112c2575b816112b260209383611c39565b81010312610d1c5751945f6111cb565b3d91506112a5565b632c8cb44760e21b8352600483fd5b9091506020813d60201161130d575b816112f560209383611c39565b8101031261094d5761130690611d67565b905f611197565b3d91506112e8565b6040513d85823e3d90fd5b63703e46dd60e11b8252600482fd5b5f516020612a815f395f51905f52546001600160a01b0316141590505f611126565b50346102345760603660031901126102345761136b611b8c565b611373611ba2565b5f516020612a615f395f51905f5254604435906001600160a01b03163303611473576001600160a01b038316918215611464576001600160a01b0316928315611464575f516020612b015f395f51905f52546001600160a01b03168403611455576040516370a0823160e01b8152306004820152602081602481885afa80156104095786906103d6575f516020612a415f395f51905f52546040516378e6802560e01b81523060048201529250602090839060249082906001600160a01b03165afa80156103cb578492889161039257508082111561038a5761032391611d7b565b636448d6e960e11b8552600485fd5b63d92e233d60e01b8552600485fd5b63472511eb60e11b845233600452602484fd5b503461023457606036600319011261023457600435906001600160401b0382116102345761016060031983360301126102345760443590735ff137d4b0fdcd49dca30c7cf57e578a026d27893303611514576114ea6020936024359060040161261a565b91806114fb575b5050604051908152f35b81808092335f19f15061150c612026565b505f806114f1565b60405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20456e747279506f696e74000000006044820152606490fd5b50346103bf575f3660031901126103bf575f516020612a615f395f51905f52546001600160a01b0316330361182e576040516368fe596f60e01b8152907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316602083600481845afa9283156117b6575f936117f2575b506020926040516115e88582611c39565b5f81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163081149081156117d0575b506117c15784600493604051948580926368fe596f60e01b82525afa9283156117b6575f9361177f575b506001600160a01b0382811693168303611770576040516352d1902d60e01b8152948086600481875afa9586915f97611740575b505061169857634c9c8ce360e01b84526004839052602484fd5b9091845f516020612a815f395f51905f52810361172e5750823b1561171c575f516020612a815f395f51905f5280546001600160a01b031916821790557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a28051156117135761170991612932565b505b6104b1612219565b5050505f61170b565b634c9c8ce360e01b5f5260045260245ffd5b632a87526960e21b5f5260045260245ffd5b9080929750813d8311611769575b6117588183611c39565b810103126103bf5751945f8061167e565b503d61174e565b632c8cb44760e21b5f5260045ffd5b9092508481813d83116117af575b6117978183611c39565b810103126103bf576117a890611d67565b915f61164a565b503d61178d565b6040513d5f823e3d90fd5b63703e46dd60e11b5f5260045ffd5b5f516020612a815f395f51905f52546001600160a01b0316141590505f611620565b9092506020813d602011611826575b8161180e60209383611c39565b810103126103bf5761181f90611d67565b915f6115d7565b3d9150611801565b63472511eb60e11b5f523360045260245ffd5b346103bf575f3660031901126103bf575f516020612a415f395f51905f52546040516001600160a01b039091168152602090f35b346103bf575f3660031901126103bf576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346103bf5760203660031901126103bf576118d2611b8c565b5f516020612a615f395f51905f52546001600160a01b0316330361182e576118f981611d2f565b805460ff191690556001600160a01b03167f198fca18affd5cdc64b42124fdf8d289753f0d02f2a15c366b5518a818ee36385f80a2005b346103bf575f3660031901126103bf576040518060205f516020612ac15f395f51905f5254928381520180925f516020612ac15f395f51905f525f5260205f20905f5b8181106119d45750505081611989910382611c39565b604051918291602083019060208452518091526040830191905f5b8181106119b2575050500390f35b82516001600160a01b03168452859450602093840193909201916001016119a4565b82546001600160a01b0316845260209093019260019283019201611973565b346103bf5760203660031901126103bf57611a0c611b8c565b5f516020612a615f395f51905f52546001600160a01b0316330361182e57611a3381611cf7565b805460ff191690556001600160a01b03167f7782eb55436ef47a10922ca1f2f49b9800a23991e6b6419ad7251dcff91ea07b5f80a2005b346103bf5760403660031901126103bf576004356001600160401b0381116103bf57611a9a903690600401611c09565b50506024356001600160401b0381116103bf57611abb903690600401611c09565b5050631eb49d6d60e11b5f5260045ffd5b346103bf5760603660031901126103bf57611ae5611b8c565b611aed611ba2565b906044356001600160401b0381116103bf57611b0d903690600401611bb8565b90735ff137d4b0fdcd49dca30c7cf57e578a026d278933141580611b6b575b80611b57575b61182e57610ab793611b4393612055565b604051918291602083526020830190611be5565b5060ff611b6333611cbf565b541615611b32565b505f516020612a615f395f51905f52546001600160a01b0316331415611b2c565b600435906001600160a01b03821682036103bf57565b602435906001600160a01b03821682036103bf57565b9181601f840112156103bf578235916001600160401b0383116103bf57602083818601950101116103bf57565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b9181601f840112156103bf578235916001600160401b0383116103bf576020808501948460051b0101116103bf57565b90601f801991011681019081106001600160401b03821117611c5a57604052565b634e487b7160e01b5f52604160045260245ffd5b6001600160401b038111611c5a57601f01601f191660200190565b929192611c9582611c6e565b91611ca36040519384611c39565b8294818452818301116103bf578281602093845f960137010152565b6001600160a01b03165f9081527f901ebb5305bfc9018fe46ce288a2febf943d9263140e9c913b0707d8f0dbf9d06020526040902090565b6001600160a01b03165f9081527f901ebb5305bfc9018fe46ce288a2febf943d9263140e9c913b0707d8f0dbf9d16020526040902090565b6001600160a01b03165f9081527f901ebb5305bfc9018fe46ce288a2febf943d9263140e9c913b0707d8f0dbf9d26020526040902090565b51906001600160a01b03821682036103bf57565b91908203918211611d8857565b634e487b7160e01b5f52601160045260245ffd5b6001600160401b038111611c5a5760051b60200190565b9190811015611dc35760051b0190565b634e487b7160e01b5f52603260045260245ffd5b356001600160a01b03811681036103bf5790565b903590601e19813603018212156103bf57018035906001600160401b0382116103bf576020019181360383136103bf57565b8051821015611dc35760209160051b010190565b60016001600160401b03195f516020612ae15f395f51905f525416175f516020612ae15f395f51905f5255565b5f516020612a415f395f51905f52546040516378e6802560e01b81523060048201526001600160a01b0390911690602081602481855afa9081156117b6575f91611ff4575b508015611ff0575f516020612b015f395f51905f52546040516370a0823160e01b81523060048201526001600160a01b0390911691602082602481865afa9182156117b6575f92611fbc575b5081811115611fb45750905b81611f0557505050565b6040516331056e5760e21b8152602081600481875afa80156117b65783915f91611f73575b50611f34926126b4565b813b156103bf575f916024839260405194859384926322bf55ef60e01b845260048401525af180156117b657611f675750565b5f611f7191611c39565b565b9150506020813d602011611fac575b81611f8f60209383611c39565b810103126103bf57611f3491611fa58492611d67565b9092611f2a565b3d9150611f82565b905090611efb565b9091506020813d602011611fe8575b81611fd860209383611c39565b810103126103bf5751905f611eef565b3d9150611fcb565b5050565b90506020813d60201161201e575b8161200f60209383611c39565b810103126103bf57515f611ea3565b3d9150612002565b3d15612050573d9061203782611c6e565b916120456040519384611c39565b82523d5f602084013e565b606090565b92909160ff61206385611cf7565b54166121fb5760ff61207484611d2f565b54166121dd575f516020612aa15f395f51905f5254604051631293382360e21b81526001600160a01b039485166004820181905294909160209183916024918391165afa9081156117b6575f916121a3575b506001600160a01b0316801590811561218f575b5061217157918161213660845f96949587966040519485926020840197631cff79cd60e01b89526024850152604060448501528160648501528484013787838284010152601f801991011681010301601f198101835282611c39565b51915af490612143612026565b911561214b57565b60405163c2ac6b1560e01b8152602060048201528061216d6024820185611be5565b0390fd5b63fc6da03f60e01b5f9081526001600160a01b038516600452602490fd5b6001600160a01b038616141590505f6120da565b90506020813d6020116121d5575b816121be60209383611c39565b810103126103bf576121cf90611d67565b5f6120c6565b3d91506121b1565b632b22728160e01b5f9081526001600160a01b038416600452602490fd5b632d9fc4df60e01b5f9081526001600160a01b038516600452602490fd5b5f5b5f516020612ac15f395f51905f52548110156122615780612253612240600193612854565b848060a01b0391549060031b1c16611cbf565b805460ff191690550161221b565b5060405163244c9c2960e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316905f81600481855afa9081156117b6575f91612582575b508051906001600160401b038211611c5a57600160401b8211611c5a575f516020612ac15f395f51905f5254825f516020612ac15f395f51905f5255808310612532575b506020015f516020612ac15f395f51905f525f5260205f205f5b83811061251557505050505f5b5f516020612ac15f395f51905f52548110156123505780612340612240600193612854565b805460ff1916831790550161231b565b5060405163285ae0b560e11b8152602081600481855afa9081156117b6575f916124db575b506001600160a01b0381169081156124cc573b156124cc57806020916bffffffffffffffffffffffff60a01b5f516020612aa15f395f51905f525416175f516020612aa15f395f51905f52556004604051809481937fbf763557c505c1b722bd3c3ed64e9285f16c762c09089af49b698a584d6642115f80a2633325e1df60e01b82525afa9081156117b6575f9161248a575b506001600160a01b0316801561247b57803b1561247b575f516020612a415f395f51905f5280546001600160a01b031916821790555f516020612aa15f395f51905f52546001600160a01b03167fcb42010e342ceb4c4105e1c628b15b7192d9ed5fc3d3dd7f3b45d5f3f6850fec5f80a3565b636c01d5a960e11b5f5260045ffd5b90506020813d6020116124c4575b816124a560209383611c39565b810103126103bf57516001600160a01b03811681036103bf575f612408565b3d9150612498565b6311a1e69760e01b5f5260045ffd5b90506020813d60201161250d575b816124f660209383611c39565b810103126103bf5761250790611d67565b5f612375565b3d91506124e9565b82516001600160a01b03168183015560209092019160010161230e565b5f516020612ac15f395f51905f525f527fa4d961140a2e255508446e5505d53a08f1773a113864933ae8ed69319e4ac2219081019083015b81811061257757506122f4565b5f815560010161256a565b90503d805f833e6125938183611c39565b8101906020818303126103bf578051906001600160401b0382116103bf57019080601f830112156103bf5781516125c981611d9c565b926125d76040519485611c39565b81845260208085019260051b8201019283116103bf57602001905b828210612602575050505f6122b0565b6020809161260f84611d67565b8152019101906125f2565b61266b90612674927f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f52601c5261266561265e603c5f2092610140810190611deb565b3691611c89565b90612884565b909291926128be565b5f516020612a615f395f51905f52546001600160a01b038281169116146126af576126a060ff91611cbf565b54166126ab57600190565b5f90565b505f90565b916040519163a9059cbb60e01b5f5260018060a01b031660045260245260205f60448180865af19060015f5114821615612714575b604052156126f45750565b635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b90600181151661272c57823b15153d151616906126e9565b503d5f823e3d90fd5b6001600160a01b038116919082156127b3575f80808481945af1612757612026565b50156127a4575f516020612a615f395f51905f52546040519182526001600160a01b0316907f5c3457fa8f0624848f7477f9bc10f88c2c14a6f88ff9dfdfb6f6978a9dea47a890602090a3565b6312171d8360e31b5f5260045ffd5b63d92e233d60e01b5f5260045ffd5b6001600160a01b03169081156127b3575f516020612a615f395f51905f5280546001600160a01b031916831790557f901ebb5305bfc9018fe46ce288a2febf943d9263140e9c913b0707d8f0dbf9cd5561281a612219565b735ff137d4b0fdcd49dca30c7cf57e578a026d27897ed85ca086af8cd244972a2f5c120c23ed58e508f2922c683db6a936a3838f1b5f80a3565b5f516020612ac15f395f51905f5254811015611dc3575f516020612ac15f395f51905f525f5260205f2001905f90565b81519190604183036128b4576128ad9250602082015190606060408401519301515f1a906129be565b9192909190565b50505f9160029190565b600481101561291e57806128d0575050565b600181036128e75763f645eedf60e01b5f5260045ffd5b60028103612902575063fce698f760e01b5f5260045260245ffd5b60031461290c5750565b6335e2f38360e21b5f5260045260245ffd5b634e487b7160e01b5f52602160045260245ffd5b905f8091602081519101845af480806129ab575b156129665750506040513d81523d5f602083013e60203d82010160405290565b1561298b57639996b31560e01b5f9081526001600160a01b0391909116600452602490fd5b3d1561299c576040513d5f823e3d90fd5b63d6bda27560e01b5f5260045ffd5b503d1515806129465750813b1515612946565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411612a35579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa156117b6575f516001600160a01b03811615612a2b57905f905f90565b505f906001905f90565b5050505f916003919056fee1188561a552547db41879b73f85c993e73258928fd045015f7eda908faeb609901ebb5305bfc9018fe46ce288a2febf943d9263140e9c913b0707d8f0dbf9cc360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc901ebb5305bfc9018fe46ce288a2febf943d9263140e9c913b0707d8f0dbf9ce901ebb5305bfc9018fe46ce288a2febf943d9263140e9c913b0707d8f0dbf9cff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00e1188561a552547db41879b73f85c993e73258928fd045015f7eda908faeb608a2646970667358221220deca17a5ea1775d438e9b366f2d3a5a11563f37657df2faa446cab7112e99bc964736f6c634300081c0033f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0000000000000000000000000023aafaeb5b78816dbcf20d503a73cd9750a21d63", - "nonce": "0x2", + "input": "0x000000000000000000000000000000000000000000000000000000000000000760c03461013457601f61294138819003918201601f19168301916001600160401b038311848410176101385780849260209460405283398101031261013457516001600160a01b03811690819003610134573060805260a0525f5160206129215f395f51905f525460ff8160401c16610125576002600160401b03196001600160401b038216016100cf575b6040516127d4908161014d8239608051818181610bdb01528181610cb501526110e8015260a051818181610d190152818161108b0152818161137d0152611d430152f35b6001600160401b0319166001600160401b039081175f5160206129215f395f51905f52556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f61008b565b63f92ee8a960e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6080604052600436101561001a575b3615610018575f80fd5b005b5f5f3560e01c80630a3b7ad7146115bf57806318dfb3c71461155d5780631dec8ea5146114e6578063244c9c291461142357806329db6ee6146113ac5780632dd31000146113685780633325e1df14611334578063367ad9e21461104c5780633a871cdd14610f795780634798faf514610f0b5780634f1ef28614610c6457806350b5c16a14610c2f57806352d1902d14610bc85780635c0df1a414610b615780638da5cb5b14610b2c57806395243dd114610b0657806397d0763c146108c757806397ef9655146108a1578063ad3cb1cc14610854578063b0246dc11461080f578063b0d691fe146107e0578063b1588fb61461079d578063b61d27f61461074f578063c350a1b5146105ee578063c51f172d14610572578063c8796572146104fc578063cd6dc687146103d1578063cdf456e11461039c578063d087d288146102f8578063d589621f146102c6578063d8adf1391461025e578063e9490cac146102215763fe71733514610190575061000e565b3461021e57602036600319011261021e576101a961167f565b5f5160206126df5f395f51905f52546001600160a01b0316330361020b576101d0816117ea565b805460ff191660011790556001600160a01b03167f02cabee40f87619dfcb340449404a4513e5c455e77013d441169b12a26e70a218280a280f35b63472511eb60e11b825233600452602482fd5b80fd5b503461021e578060031936011261021e5760207f901ebb5305bfc9018fe46ce288a2febf943d9263140e9c913b0707d8f0dbf9cd54604051908152f35b503461021e578060031936011261021e575f5160206126df5f395f51905f52546001600160a01b0316331415806102b2575b61029f5761029c611ceb565b80f35b63472511eb60e11b815233600452602490fd5b5060ff6102be336117b2565b541615610290565b503461021e57602036600319011261021e57602060ff6102ec6102e761167f565b611822565b54166040519015158152f35b503461021e578060031936011261021e57604051631aab3f0d60e11b81523060048201526024810182905290602082604481735ff137d4b0fdcd49dca30c7cf57e578a026d27895afa9081156103905790610359575b602090604051908152f35b506020813d602011610388575b816103736020938361172c565b81010312610384576020905161034e565b5f80fd5b3d9150610366565b604051903d90823e3d90fd5b503461021e578060031936011261021e575f51602061277f5f395f51905f52546040516001600160a01b039091168152602090f35b503461021e57604036600319011261021e576103eb61167f565b5f51602061275f5f395f51905f5254906001600160401b0360ff8360401c16159216801590816104f4575b60011490816104ea575b1590816104e1575b506104d257610448908261043a611903565b6104a2575b60243590612440565b61044f5780f35b60ff60401b195f51602061275f5f395f51905f5254165f51602061275f5f395f51905f52557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a180f35b600160401b60ff60401b195f51602061275f5f395f51905f525416175f51602061275f5f395f51905f525561043f565b63f92ee8a960e01b8352600483fd5b9050155f610428565b303b159150610420565b839150610416565b503461021e578060031936011261021e57735ff137d4b0fdcd49dca30c7cf57e578a026d278933141580610551575b8061053d575b61029f5761029c611930565b5060ff610549336117b2565b541615610531565b505f5160206126df5f395f51905f52546001600160a01b031633141561052b565b503461021e57602036600319011261021e5761058c61167f565b5f5160206126df5f395f51905f52546001600160a01b0316330361020b576105b381611822565b805460ff191660011790556001600160a01b03167ff1b199bc156d70448988140152c13e4e7cef2ce43f60e7e96802e64181acba958280a280f35b503461021e57606036600319011261021e5761060861167f565b6044356001600160a01b038116929183820361074b575f51602061275f5f395f51905f5254916001600160401b0360ff8460401c1615931680159081610743575b6001149081610739575b159081610730575b506107215782610669611903565b6106f1575b60ff5f51602061275f5f395f51905f525460401c16156106e25784156106d3573b156106bf575f51602061277f5f395f51905f5280546001600160a01b031916851790556104489060243590612440565b6322a2d07b60e21b83526004849052602483fd5b63d92e233d60e01b8452600484fd5b631afcd79f60e31b8452600484fd5b600160401b60ff60401b195f51602061275f5f395f51905f525416175f51602061275f5f395f51905f525561066e565b63f92ee8a960e01b8452600484fd5b9050155f61065b565b303b159150610653565b849150610649565b8280fd5b503461021e57606036600319011261021e5761076961167f565b506044356001600160401b038111610799579061078b600492369084016116ab565b5050631eb49d6d60e11b8152fd5b5080fd5b503461021e57602036600319011261021e576107b761167f565b5f5160206126df5f395f51905f52546001600160a01b0316330361020b5761029c904790612341565b503461021e578060031936011261021e576020604051735ff137d4b0fdcd49dca30c7cf57e578a026d27898152f35b503461021e57604036600319011261021e5761082961167f565b5f5160206126df5f395f51905f52546001600160a01b0316330361020b5761029c9060243590612341565b503461021e578060031936011261021e575061089d60405161087760408261172c565b60058152640352e302e360dc1b60208201526040519182916020835260208301906116d8565b0390f35b503461021e57602036600319011261021e57602060ff6102ec6108c261167f565b6117b2565b503461021e57606036600319011261021e576004356001600160401b038111610799576108f89036906004016116fc565b91906024356001600160401b03811161074b576109199036906004016116fc565b906044356001600160401b038111610b02576109399036906004016116fc565b92735ff137d4b0fdcd49dca30c7cf57e578a026d278933141580610ae1575b80610acd575b610aba57808714801590610ab0575b610aa15761097c87969761186e565b9561098a604051978861172c565b808752601f196109998261186e565b01885b818110610a8e575050875b818110610a155787896040519182916020830160208452825180915260408401602060408360051b870101940192905b8282106109e657505050500390f35b91936001919395506020610a058192603f198a820301865288516116d8565b96019201920185949391926109d7565b610a28610a2382848a611885565b6118a9565b610a36610a23838689611885565b9087831015610a7a578291610a5e91610a5660019560051b8901896118bd565b929091611b27565b610a68828b6118ef565b52610a73818a6118ef565b50016109a7565b634e487b7160e01b8b52603260045260248bfd5b60606020828b018101919091520161099c565b63baf3f0f760e01b8652600486fd5b508387141561096d565b63472511eb60e11b865233600452602486fd5b5060ff610ad9336117b2565b54161561095e565b505f5160206126df5f395f51905f52546001600160a01b0316331415610958565b8480fd5b503461021e57602036600319011261021e57602060ff6102ec610b2761167f565b6117ea565b503461021e578060031936011261021e575f5160206126df5f395f51905f52546040516001600160a01b039091168152602090f35b503461021e57604036600319011261021e57610b7b61167f565b610b83611695565b5f5160206126df5f395f51905f52546001600160a01b03163303610bb5579081610baf61029c93612186565b916122be565b63472511eb60e11b835233600452602483fd5b503461021e578060031936011261021e577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003610c205760206040515f5160206126ff5f395f51905f528152f35b63703e46dd60e11b8152600490fd5b503461021e578060031936011261021e575f51602061271f5f395f51905f52546040516001600160a01b039091168152602090f35b50604036600319011261021e57610c7961167f565b906024356001600160401b038111610799573660238201121561079957610caa90369060248160040135910161177c565b916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016308114908115610ee9575b50610eda575f5160206126df5f395f51905f52546001600160a01b0316330361020b576040516368fe596f60e01b8152906020826004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa918215610ecf578392610e93575b506001600160a01b0381811692168203610e84576040516352d1902d60e01b815293602085600481865afa80958596610e50575b50610d9e57634c9c8ce360e01b84526004839052602484fd5b9091845f5160206126ff5f395f51905f528103610e3e5750823b15610e2c575f5160206126ff5f395f51905f5280546001600160a01b031916821790557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a2805115610e1357610e0f916125b0565b5080f35b505034610e1d5780f35b63b398979f60e01b8152600490fd5b634c9c8ce360e01b8452600452602483fd5b632a87526960e21b8552600452602484fd5b9095506020813d602011610e7c575b81610e6c6020938361172c565b81010312610b025751945f610d85565b3d9150610e5f565b632c8cb44760e21b8352600483fd5b9091506020813d602011610ec7575b81610eaf6020938361172c565b8101031261074b57610ec09061185a565b905f610d51565b3d9150610ea2565b6040513d85823e3d90fd5b63703e46dd60e11b8252600482fd5b5f5160206126ff5f395f51905f52546001600160a01b0316141590505f610ce0565b503461021e57606036600319011261021e57610f2561167f565b90610f2e611695565b5f5160206126df5f395f51905f525460443591906001600160a01b03163303610bb55781610f5b82612186565b10610f6a5761029c92936122be565b631e9acf1760e31b8352600483fd5b503461021e57606036600319011261021e57600435906001600160401b03821161021e57610160600319833603011261021e5760443590735ff137d4b0fdcd49dca30c7cf57e578a026d2789330361100757610fdd602093602435906004016120ec565b9180610fee575b5050604051908152f35b81808092335f19f150610fff611af8565b505f80610fe4565b60405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20456e747279506f696e74000000006044820152606490fd5b5034610384575f366003190112610384575f5160206126df5f395f51905f52546001600160a01b03163303611321576040516368fe596f60e01b8152907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316602083600481845afa9283156112a9575f936112e5575b506020926040516110db858261172c565b5f81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163081149081156112c3575b506112b45784600493604051948580926368fe596f60e01b82525afa9283156112a9575f93611272575b506001600160a01b0382811693168303611263576040516352d1902d60e01b8152948086600481875afa9586915f97611233575b505061118b57634c9c8ce360e01b84526004839052602484fd5b9091845f5160206126ff5f395f51905f5281036112215750823b1561120f575f5160206126ff5f395f51905f5280546001600160a01b031916821790557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2805115611206576111fc916125b0565b505b61029c611ceb565b5050505f6111fe565b634c9c8ce360e01b5f5260045260245ffd5b632a87526960e21b5f5260045260245ffd5b9080929750813d831161125c575b61124b818361172c565b810103126103845751945f80611171565b503d611241565b632c8cb44760e21b5f5260045ffd5b9092508481813d83116112a2575b61128a818361172c565b810103126103845761129b9061185a565b915f61113d565b503d611280565b6040513d5f823e3d90fd5b63703e46dd60e11b5f5260045ffd5b5f5160206126ff5f395f51905f52546001600160a01b0316141590505f611113565b9092506020813d602011611319575b816113016020938361172c565b81010312610384576113129061185a565b915f6110ca565b3d91506112f4565b63472511eb60e11b5f523360045260245ffd5b34610384575f366003190112610384575f5160206126bf5f395f51905f52546040516001600160a01b039091168152602090f35b34610384575f366003190112610384576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610384576020366003190112610384576113c561167f565b5f5160206126df5f395f51905f52546001600160a01b03163303611321576113ec81611822565b805460ff191690556001600160a01b03167f198fca18affd5cdc64b42124fdf8d289753f0d02f2a15c366b5518a818ee36385f80a2005b34610384575f366003190112610384576040518060205f51602061273f5f395f51905f5254928381520180925f51602061273f5f395f51905f525f5260205f20905f5b8181106114c7575050508161147c91038261172c565b604051918291602083019060208452518091526040830191905f5b8181106114a5575050500390f35b82516001600160a01b0316845285945060209384019390920191600101611497565b82546001600160a01b0316845260209093019260019283019201611466565b34610384576020366003190112610384576114ff61167f565b5f5160206126df5f395f51905f52546001600160a01b0316330361132157611526816117ea565b805460ff191690556001600160a01b03167f7782eb55436ef47a10922ca1f2f49b9800a23991e6b6419ad7251dcff91ea07b5f80a2005b34610384576040366003190112610384576004356001600160401b0381116103845761158d9036906004016116fc565b50506024356001600160401b038111610384576115ae9036906004016116fc565b5050631eb49d6d60e11b5f5260045ffd5b34610384576060366003190112610384576115d861167f565b6115e0611695565b906044356001600160401b038111610384576116009036906004016116ab565b90735ff137d4b0fdcd49dca30c7cf57e578a026d27893314158061165e575b8061164a575b6113215761089d9361163693611b27565b6040519182916020835260208301906116d8565b5060ff611656336117b2565b541615611625565b505f5160206126df5f395f51905f52546001600160a01b031633141561161f565b600435906001600160a01b038216820361038457565b602435906001600160a01b038216820361038457565b9181601f84011215610384578235916001600160401b038311610384576020838186019501011161038457565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b9181601f84011215610384578235916001600160401b038311610384576020808501948460051b01011161038457565b90601f801991011681019081106001600160401b0382111761174d57604052565b634e487b7160e01b5f52604160045260245ffd5b6001600160401b03811161174d57601f01601f191660200190565b92919261178882611761565b91611796604051938461172c565b829481845281830111610384578281602093845f960137010152565b6001600160a01b03165f9081527f901ebb5305bfc9018fe46ce288a2febf943d9263140e9c913b0707d8f0dbf9d06020526040902090565b6001600160a01b03165f9081527f901ebb5305bfc9018fe46ce288a2febf943d9263140e9c913b0707d8f0dbf9d16020526040902090565b6001600160a01b03165f9081527f901ebb5305bfc9018fe46ce288a2febf943d9263140e9c913b0707d8f0dbf9d26020526040902090565b51906001600160a01b038216820361038457565b6001600160401b03811161174d5760051b60200190565b91908110156118955760051b0190565b634e487b7160e01b5f52603260045260245ffd5b356001600160a01b03811681036103845790565b903590601e198136030182121561038457018035906001600160401b0382116103845760200191813603831361038457565b80518210156118955760209160051b010190565b60016001600160401b03195f51602061275f5f395f51905f525416175f51602061275f5f395f51905f5255565b5f5160206126bf5f395f51905f52546040516378e6802560e01b81523060048201526001600160a01b0390911690602081602481855afa9081156112a9575f91611ac6575b508015611ac2575f51602061277f5f395f51905f52546040516370a0823160e01b81523060048201526001600160a01b0390911691602082602481865afa9182156112a9575f92611a8e575b5081811115611a865750905b816119d757505050565b6040516331056e5760e21b8152602081600481875afa80156112a95783915f91611a45575b50611a06926123bf565b813b15610384575f916024839260405194859384926322bf55ef60e01b845260048401525af180156112a957611a395750565b5f611a439161172c565b565b9150506020813d602011611a7e575b81611a616020938361172c565b8101031261038457611a0691611a77849261185a565b90926119fc565b3d9150611a54565b9050906119cd565b9091506020813d602011611aba575b81611aaa6020938361172c565b810103126103845751905f6119c1565b3d9150611a9d565b5050565b90506020813d602011611af0575b81611ae16020938361172c565b8101031261038457515f611975565b3d9150611ad4565b3d15611b22573d90611b0982611761565b91611b17604051938461172c565b82523d5f602084013e565b606090565b92909160ff611b35856117ea565b5416611ccd5760ff611b4684611822565b5416611caf575f51602061271f5f395f51905f5254604051631293382360e21b81526001600160a01b039485166004820181905294909160209183916024918391165afa9081156112a9575f91611c75575b506001600160a01b03168015908115611c61575b50611c43579181611c0860845f96949587966040519485926020840197631cff79cd60e01b89526024850152604060448501528160648501528484013787838284010152601f801991011681010301601f19810183528261172c565b51915af490611c15611af8565b9115611c1d57565b60405163c2ac6b1560e01b81526020600482015280611c3f60248201856116d8565b0390fd5b63fc6da03f60e01b5f9081526001600160a01b038516600452602490fd5b6001600160a01b038616141590505f611bac565b90506020813d602011611ca7575b81611c906020938361172c565b8101031261038457611ca19061185a565b5f611b98565b3d9150611c83565b632b22728160e01b5f9081526001600160a01b038416600452602490fd5b632d9fc4df60e01b5f9081526001600160a01b038516600452602490fd5b5f5b5f51602061273f5f395f51905f5254811015611d335780611d25611d126001936124d2565b848060a01b0391549060031b1c166117b2565b805460ff1916905501611ced565b5060405163244c9c2960e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316905f81600481855afa9081156112a9575f91612054575b508051906001600160401b03821161174d57600160401b821161174d575f51602061273f5f395f51905f5254825f51602061273f5f395f51905f5255808310612004575b506020015f51602061273f5f395f51905f525f5260205f205f5b838110611fe757505050505f5b5f51602061273f5f395f51905f5254811015611e225780611e12611d126001936124d2565b805460ff19168317905501611ded565b5060405163285ae0b560e11b8152602081600481855afa9081156112a9575f91611fad575b506001600160a01b038116908115611f9e573b15611f9e57806020916bffffffffffffffffffffffff60a01b5f51602061271f5f395f51905f525416175f51602061271f5f395f51905f52556004604051809481937fbf763557c505c1b722bd3c3ed64e9285f16c762c09089af49b698a584d6642115f80a2633325e1df60e01b82525afa9081156112a9575f91611f5c575b506001600160a01b03168015611f4d57803b15611f4d575f5160206126bf5f395f51905f5280546001600160a01b031916821790555f51602061271f5f395f51905f52546001600160a01b03167fcb42010e342ceb4c4105e1c628b15b7192d9ed5fc3d3dd7f3b45d5f3f6850fec5f80a3565b636c01d5a960e11b5f5260045ffd5b90506020813d602011611f96575b81611f776020938361172c565b8101031261038457516001600160a01b0381168103610384575f611eda565b3d9150611f6a565b6311a1e69760e01b5f5260045ffd5b90506020813d602011611fdf575b81611fc86020938361172c565b8101031261038457611fd99061185a565b5f611e47565b3d9150611fbb565b82516001600160a01b031681830155602090920191600101611de0565b5f51602061273f5f395f51905f525f527fa4d961140a2e255508446e5505d53a08f1773a113864933ae8ed69319e4ac2219081019083015b8181106120495750611dc6565b5f815560010161203c565b90503d805f833e612065818361172c565b810190602081830312610384578051906001600160401b03821161038457019080601f8301121561038457815161209b8161186e565b926120a9604051948561172c565b81845260208085019260051b82010192831161038457602001905b8282106120d4575050505f611d82565b602080916120e18461185a565b8152019101906120c4565b61213d90612146927f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f52601c52612137612130603c5f20926101408101906118bd565b369161177c565b90612502565b9092919261253c565b5f5160206126df5f395f51905f52546001600160a01b038281169116146121815761217260ff916117b2565b541661217d57600190565b5f90565b505f90565b5f51602061277f5f395f51905f52546001600160a01b0390811691168190036122af576020602491604051928380926370a0823160e01b82523060048301525afa9081156112a9575f9161227d575b505f5160206126bf5f395f51905f52546040516378e6802560e01b815230600482015290602090829060249082906001600160a01b03165afa9081156112a9575f9161224b575b50808211156122455781039081116122315790565b634e487b7160e01b5f52601160045260245ffd5b50505f90565b90506020813d602011612275575b816122666020938361172c565b8101031261038457515f61221c565b3d9150612259565b90506020813d6020116122a7575b816122986020938361172c565b8101031261038457515f6121d5565b3d915061228b565b636448d6e960e11b5f5260045ffd5b916001600160a01b038316918215612332576001600160a01b031692831561233257816122eb91856123bf565b5f5160206126df5f395f51905f52546040519182526001600160a01b0316907f8c0281578dec46ac28aa238d1ddc3bce894975318c50432a4b4c82e58777621690602090a4565b63d92e233d60e01b5f5260045ffd5b6001600160a01b03811691908215612332575f80808481945af1612363611af8565b50156123b0575f5160206126df5f395f51905f52546040519182526001600160a01b0316907f5c3457fa8f0624848f7477f9bc10f88c2c14a6f88ff9dfdfb6f6978a9dea47a890602090a3565b6312171d8360e31b5f5260045ffd5b916040519163a9059cbb60e01b5f5260018060a01b031660045260245260205f60448180865af19060015f511482161561241f575b604052156123ff5750565b635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b90600181151661243757823b15153d151616906123f4565b503d5f823e3d90fd5b6001600160a01b0316908115612332575f5160206126df5f395f51905f5280546001600160a01b031916831790557f901ebb5305bfc9018fe46ce288a2febf943d9263140e9c913b0707d8f0dbf9cd55612498611ceb565b735ff137d4b0fdcd49dca30c7cf57e578a026d27897ed85ca086af8cd244972a2f5c120c23ed58e508f2922c683db6a936a3838f1b5f80a3565b5f51602061273f5f395f51905f5254811015611895575f51602061273f5f395f51905f525f5260205f2001905f90565b81519190604183036125325761252b9250602082015190606060408401519301515f1a9061263c565b9192909190565b50505f9160029190565b600481101561259c578061254e575050565b600181036125655763f645eedf60e01b5f5260045ffd5b60028103612580575063fce698f760e01b5f5260045260245ffd5b60031461258a5750565b6335e2f38360e21b5f5260045260245ffd5b634e487b7160e01b5f52602160045260245ffd5b905f8091602081519101845af48080612629575b156125e45750506040513d81523d5f602083013e60203d82010160405290565b1561260957639996b31560e01b5f9081526001600160a01b0391909116600452602490fd5b3d1561261a576040513d5f823e3d90fd5b63d6bda27560e01b5f5260045ffd5b503d1515806125c45750813b15156125c4565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084116126b3579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa156112a9575f516001600160a01b038116156126a957905f905f90565b505f906001905f90565b5050505f916003919056fee1188561a552547db41879b73f85c993e73258928fd045015f7eda908faeb609901ebb5305bfc9018fe46ce288a2febf943d9263140e9c913b0707d8f0dbf9cc360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc901ebb5305bfc9018fe46ce288a2febf943d9263140e9c913b0707d8f0dbf9ce901ebb5305bfc9018fe46ce288a2febf943d9263140e9c913b0707d8f0dbf9cff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00e1188561a552547db41879b73f85c993e73258928fd045015f7eda908faeb608a264697066735822122034bacf73fa4a6c826816be029fb69dc9461e7b71fdab042793d6f620e2a14c0f64736f6c634300081c0033f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a000000000000000000000000009900f8019b20e822e2d5897db246a376a9514c8f", + "nonce": "0x1a", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x2cdf70d0268ca2dd70328a3f1d83faa45f9480531ec5d530f15abe2a56473f0f", + "hash": "0xce6126bfe544a722a46d69af2967864bb13ed35f7210f44c8541f1a0265dcb5e", "transactionType": "CREATE2", "contractName": "YieldSeekerAdapterRegistry", - "contractAddress": "0x81f17748b0abe955790346b904f6b78e67594ed0", + "contractAddress": "0x0021c1fdd50aa76fb59afe3fc3a38c02c257bdca", "function": null, "arguments": [ - "0x60163d6406503426E712eD6c507137229552756D", + "0x773541F7c38BE8106AE966CA9D6fee494a0eDD24", "0xF8CBf6437d2473eC59885299Af38D9A13cE97ecA" ], "transaction": { @@ -82,58 +82,58 @@ "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", "gas": "0x11ddb0", "value": "0x0", - "input": "0x00000000000000000000000000000000000000000000000000000000000000066080346100a157601f610f7a38819003918201601f19168301916001600160401b038311848410176100a55780849260409485528339810103126100a157610052602061004b836100b9565b92016100b9565b6001600160a01b03821615610092576001600160a01b038116156100925761007c610082926100cd565b50610143565b50604051610d4390816101d78239f35b63d92e233d60e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036100a157565b6001600160a01b0381165f9081525f516020610f5a5f395f51905f52602052604090205460ff1661013e576001600160a01b03165f8181525f516020610f5a5f395f51905f5260205260408120805460ff191660011790553391905f516020610f1a5f395f51905f528180a4600190565b505f90565b6001600160a01b0381165f9081525f516020610f3a5f395f51905f52602052604090205460ff1661013e576001600160a01b03165f8181525f516020610f3a5f395f51905f5260205260408120805460ff191660011790553391907fbf233dd2aafeb4d50879c4aa5c81e96d92f6e6945c906a58f9f2d1c1631b4b26905f516020610f1a5f395f51905f529080a460019056fe6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a71461086f575080631d46021f146106e157806320df4359146106a757806322f2caf114610620578063248a9ca3146105ee5780632f2ff15d146105b157806336568abe1461056d5780633f4ba83a146105075780634a4ce08c1461048b5780635c975abb14610469578063618295df146103dd5780638456cb591461038557806391d148541461033d5780639362149e14610215578063a217fddf146101fb578063d547741f146101b7578063d5d7ff3c146101235763fa351f79146100e2575f80fd5b3461011f57602036600319011261011f576001600160a01b036101036108c2565b165f526005602052602060ff60405f2054166040519015158152f35b5f80fd5b3461011f57602036600319011261011f5761013c6108c2565b6101446109aa565b6001600160a01b031661015681610ba0565b90156101a457815f5260046020525f604081205561017382610c4e565b506001600160a01b0316907f95acdd767bfb2c6578833b7678c4dcc015f00b35820877f64a390809892628015f80a3005b50633b3f036f60e01b5f5260045260245ffd5b3461011f57604036600319011261011f576101f96004356101d66108d8565b906101f46101ef825f525f602052600160405f20015490565b610a19565b610ad9565b005b3461011f575f36600319011261011f5760206040515f8152f35b3461011f57604036600319011261011f5761022e6108c2565b6102366108d8565b61023e61095b565b6001600160a01b03821690811561032e576001600160a01b0381165f8181526005602052604090205490939060ff161561031b5761027b83610ba0565b6001600160a01b03169290156102e95784830361029457005b61029d91610b74565b50817f95acdd767bfb2c6578833b7678c4dcc015f00b35820877f64a390809892628015f80a37f1cf35c87329e14a81fdc68af8a463c1db203ccfc925ff5150f5dbc71bc4c23725f80a3005b906102f49250610b74565b507f1cf35c87329e14a81fdc68af8a463c1db203ccfc925ff5150f5dbc71bc4c23725f80a3005b8363fc6da03f60e01b5f5260045260245ffd5b63d92e233d60e01b5f5260045ffd5b3461011f57604036600319011261011f576103566108d8565b6004355f525f60205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b3461011f575f36600319011261011f5761039d6109aa565b6103a5610b59565b600160ff19815416176001557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b3461011f57602036600319011261011f576103f66108c2565b6103fe6109aa565b6001600160a01b03165f8181526005602052604090205460ff161561045757805f52600560205260405f2060ff1981541690557f9fbc8baf3d886b40fce5c05b089495702c9f5d8cb64f9c05db1a25e040d062965f80a2005b63fc6da03f60e01b5f5260045260245ffd5b3461011f575f36600319011261011f57602060ff600154166040519015158152f35b3461011f57602036600319011261011f576104bd6104a76108c2565b6104af610b59565b6001600160a01b0316610ba0565b6001600160a01b031690806104f1575b156104e8576020905b6040516001600160a01b039091168152f35b5060205f6104d6565b50805f52600560205260ff60405f2054166104cd565b3461011f575f36600319011261011f5761051f61095b565b60015460ff81161561055e5760ff19166001557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b638dfc202b60e01b5f5260045ffd5b3461011f57604036600319011261011f576105866108d8565b336001600160a01b038216036105a2576101f990600435610ad9565b63334bd91960e11b5f5260045ffd5b3461011f57604036600319011261011f576101f96004356105d06108d8565b906105e96101ef825f525f602052600160405f20015490565b610a51565b3461011f57602036600319011261011f5760206106186004355f525f602052600160405f20015490565b604051908152f35b3461011f57602036600319011261011f576106396108c2565b61064161095b565b6001600160a01b03811690811561032e573b1561069557805f52600560205260405f20600160ff198254161790557fa77e7c594c11a0d5d9d8e6a9132ac0db912dc0f34f5fb7d94860fe38d16410bd5f80a2005b6322a2d07b60e21b5f5260045260245ffd5b3461011f575f36600319011261011f5760206040517fbf233dd2aafeb4d50879c4aa5c81e96d92f6e6945c906a58f9f2d1c1631b4b268152f35b3461011f575f36600319011261011f576002545f905f5b818110610829575061070982610910565b60405192601f909101601f191683019067ffffffffffffffff8211848310176108155761073b91604052808452610910565b602083019190601f19013683375f805b82821061079f578385604051918291602083019060208452518091526040830191905f5b81811061077d575050500390f35b82516001600160a01b031684528594506020938401939092019160010161076f565b6107a882610928565b6001600160a01b03165f9081526005602052604090205460ff166107d2575b50906001019061074b565b8551821015610801576001600160a01b0316600582901b8601602001526001906107fb906108ee565b906107c7565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b61083281610928565b6001600160a01b03165f9081526005602052604090205460ff16905061085b575b6001016106f8565b916108676001916108ee565b929050610853565b3461011f57602036600319011261011f576004359063ffffffff60e01b821680920361011f57602091637965db0b60e01b81149081156108b1575b5015158152f35b6301ffc9a760e01b149050836108aa565b600435906001600160a01b038216820361011f57565b602435906001600160a01b038216820361011f57565b5f1981146108fc5760010190565b634e487b7160e01b5f52601160045260245ffd5b67ffffffffffffffff81116108155760051b60200190565b610933906002610bd1565b905460039190911b1c5f818152600460205260409020546001600160a01b0391821692911690565b335f9081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604090205460ff161561099357565b63e2517d3f60e01b5f52336004525f60245260445ffd5b335f9081527f3c1b1854ab1360abbb06c8d4c6b2672d4b8cedc5eff522ab19e51d5cb8fdbd46602052604090205460ff16156109e257565b63e2517d3f60e01b5f52336004527fbf233dd2aafeb4d50879c4aa5c81e96d92f6e6945c906a58f9f2d1c1631b4b2660245260445ffd5b5f8181526020818152604080832033845290915290205460ff1615610a3b5750565b63e2517d3f60e01b5f523360045260245260445ffd5b5f818152602081815260408083206001600160a01b038616845290915290205460ff16610ad3575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50505f90565b5f818152602081815260408083206001600160a01b038616845290915290205460ff1615610ad3575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b60ff60015416610b6557565b63d93c066560e01b5f5260045ffd5b6001600160a01b039081165f818152600460205260409020919092169055610b9d906002610be6565b90565b805f52600460205260405f205480155f14610bc957505f52600360205260405f20541515905f90565b600192909150565b8054821015610801575f5260205f2001905f90565b5f828152600182016020526040902054610ad357805490680100000000000000008210156108155782610c39610c23846001809601855584610bd1565b819391549060031b91821b915f19901b19161790565b90558054925f520160205260405f2055600190565b5f818152600360205260409020548015610ad3575f1981018181116108fc576002545f198101919082116108fc57818103610cd5575b5050506002548015610cc1575f1901610c9e816002610bd1565b8154905f199060031b1b191690556002555f5260036020525f6040812055600190565b634e487b7160e01b5f52603160045260245ffd5b610cf7610ce6610c23936002610bd1565b90549060031b1c9283926002610bd1565b90555f52600360205260405f20555f8080610c8456fea2646970667358221220666523c889e23108c616c8707deaaca246b42d0fcc93f7f83347b76efc686b4b64736f6c634300081c00332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d3c1b1854ab1360abbb06c8d4c6b2672d4b8cedc5eff522ab19e51d5cb8fdbd46ad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb500000000000000000000000060163d6406503426e712ed6c507137229552756d000000000000000000000000f8cbf6437d2473ec59885299af38d9a13ce97eca", - "nonce": "0x3", + "input": "0x00000000000000000000000000000000000000000000000000000000000000076080346100a157601f610f7a38819003918201601f19168301916001600160401b038311848410176100a55780849260409485528339810103126100a157610052602061004b836100b9565b92016100b9565b6001600160a01b03821615610092576001600160a01b038116156100925761007c610082926100cd565b50610143565b50604051610d4390816101d78239f35b63d92e233d60e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036100a157565b6001600160a01b0381165f9081525f516020610f5a5f395f51905f52602052604090205460ff1661013e576001600160a01b03165f8181525f516020610f5a5f395f51905f5260205260408120805460ff191660011790553391905f516020610f1a5f395f51905f528180a4600190565b505f90565b6001600160a01b0381165f9081525f516020610f3a5f395f51905f52602052604090205460ff1661013e576001600160a01b03165f8181525f516020610f3a5f395f51905f5260205260408120805460ff191660011790553391907fbf233dd2aafeb4d50879c4aa5c81e96d92f6e6945c906a58f9f2d1c1631b4b26905f516020610f1a5f395f51905f529080a460019056fe6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a71461086f575080631d46021f146106e157806320df4359146106a757806322f2caf114610620578063248a9ca3146105ee5780632f2ff15d146105b157806336568abe1461056d5780633f4ba83a146105075780634a4ce08c1461048b5780635c975abb14610469578063618295df146103dd5780638456cb591461038557806391d148541461033d5780639362149e14610215578063a217fddf146101fb578063d547741f146101b7578063d5d7ff3c146101235763fa351f79146100e2575f80fd5b3461011f57602036600319011261011f576001600160a01b036101036108c2565b165f526005602052602060ff60405f2054166040519015158152f35b5f80fd5b3461011f57602036600319011261011f5761013c6108c2565b6101446109aa565b6001600160a01b031661015681610ba0565b90156101a457815f5260046020525f604081205561017382610c4e565b506001600160a01b0316907f95acdd767bfb2c6578833b7678c4dcc015f00b35820877f64a390809892628015f80a3005b50633b3f036f60e01b5f5260045260245ffd5b3461011f57604036600319011261011f576101f96004356101d66108d8565b906101f46101ef825f525f602052600160405f20015490565b610a19565b610ad9565b005b3461011f575f36600319011261011f5760206040515f8152f35b3461011f57604036600319011261011f5761022e6108c2565b6102366108d8565b61023e61095b565b6001600160a01b03821690811561032e576001600160a01b0381165f8181526005602052604090205490939060ff161561031b5761027b83610ba0565b6001600160a01b03169290156102e95784830361029457005b61029d91610b74565b50817f95acdd767bfb2c6578833b7678c4dcc015f00b35820877f64a390809892628015f80a37f1cf35c87329e14a81fdc68af8a463c1db203ccfc925ff5150f5dbc71bc4c23725f80a3005b906102f49250610b74565b507f1cf35c87329e14a81fdc68af8a463c1db203ccfc925ff5150f5dbc71bc4c23725f80a3005b8363fc6da03f60e01b5f5260045260245ffd5b63d92e233d60e01b5f5260045ffd5b3461011f57604036600319011261011f576103566108d8565b6004355f525f60205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b3461011f575f36600319011261011f5761039d6109aa565b6103a5610b59565b600160ff19815416176001557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b3461011f57602036600319011261011f576103f66108c2565b6103fe6109aa565b6001600160a01b03165f8181526005602052604090205460ff161561045757805f52600560205260405f2060ff1981541690557f9fbc8baf3d886b40fce5c05b089495702c9f5d8cb64f9c05db1a25e040d062965f80a2005b63fc6da03f60e01b5f5260045260245ffd5b3461011f575f36600319011261011f57602060ff600154166040519015158152f35b3461011f57602036600319011261011f576104bd6104a76108c2565b6104af610b59565b6001600160a01b0316610ba0565b6001600160a01b031690806104f1575b156104e8576020905b6040516001600160a01b039091168152f35b5060205f6104d6565b50805f52600560205260ff60405f2054166104cd565b3461011f575f36600319011261011f5761051f61095b565b60015460ff81161561055e5760ff19166001557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b638dfc202b60e01b5f5260045ffd5b3461011f57604036600319011261011f576105866108d8565b336001600160a01b038216036105a2576101f990600435610ad9565b63334bd91960e11b5f5260045ffd5b3461011f57604036600319011261011f576101f96004356105d06108d8565b906105e96101ef825f525f602052600160405f20015490565b610a51565b3461011f57602036600319011261011f5760206106186004355f525f602052600160405f20015490565b604051908152f35b3461011f57602036600319011261011f576106396108c2565b61064161095b565b6001600160a01b03811690811561032e573b1561069557805f52600560205260405f20600160ff198254161790557fa77e7c594c11a0d5d9d8e6a9132ac0db912dc0f34f5fb7d94860fe38d16410bd5f80a2005b6322a2d07b60e21b5f5260045260245ffd5b3461011f575f36600319011261011f5760206040517fbf233dd2aafeb4d50879c4aa5c81e96d92f6e6945c906a58f9f2d1c1631b4b268152f35b3461011f575f36600319011261011f576002545f905f5b818110610829575061070982610910565b60405192601f909101601f191683019067ffffffffffffffff8211848310176108155761073b91604052808452610910565b602083019190601f19013683375f805b82821061079f578385604051918291602083019060208452518091526040830191905f5b81811061077d575050500390f35b82516001600160a01b031684528594506020938401939092019160010161076f565b6107a882610928565b6001600160a01b03165f9081526005602052604090205460ff166107d2575b50906001019061074b565b8551821015610801576001600160a01b0316600582901b8601602001526001906107fb906108ee565b906107c7565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b61083281610928565b6001600160a01b03165f9081526005602052604090205460ff16905061085b575b6001016106f8565b916108676001916108ee565b929050610853565b3461011f57602036600319011261011f576004359063ffffffff60e01b821680920361011f57602091637965db0b60e01b81149081156108b1575b5015158152f35b6301ffc9a760e01b149050836108aa565b600435906001600160a01b038216820361011f57565b602435906001600160a01b038216820361011f57565b5f1981146108fc5760010190565b634e487b7160e01b5f52601160045260245ffd5b67ffffffffffffffff81116108155760051b60200190565b610933906002610bd1565b905460039190911b1c5f818152600460205260409020546001600160a01b0391821692911690565b335f9081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604090205460ff161561099357565b63e2517d3f60e01b5f52336004525f60245260445ffd5b335f9081527f3c1b1854ab1360abbb06c8d4c6b2672d4b8cedc5eff522ab19e51d5cb8fdbd46602052604090205460ff16156109e257565b63e2517d3f60e01b5f52336004527fbf233dd2aafeb4d50879c4aa5c81e96d92f6e6945c906a58f9f2d1c1631b4b2660245260445ffd5b5f8181526020818152604080832033845290915290205460ff1615610a3b5750565b63e2517d3f60e01b5f523360045260245260445ffd5b5f818152602081815260408083206001600160a01b038616845290915290205460ff16610ad3575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50505f90565b5f818152602081815260408083206001600160a01b038616845290915290205460ff1615610ad3575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b60ff60015416610b6557565b63d93c066560e01b5f5260045ffd5b6001600160a01b039081165f818152600460205260409020919092169055610b9d906002610be6565b90565b805f52600460205260405f205480155f14610bc957505f52600360205260405f20541515905f90565b600192909150565b8054821015610801575f5260205f2001905f90565b5f828152600182016020526040902054610ad357805490680100000000000000008210156108155782610c39610c23846001809601855584610bd1565b819391549060031b91821b915f19901b19161790565b90558054925f520160205260405f2055600190565b5f818152600360205260409020548015610ad3575f1981018181116108fc576002545f198101919082116108fc57818103610cd5575b5050506002548015610cc1575f1901610c9e816002610bd1565b8154905f199060031b1b191690556002555f5260036020525f6040812055600190565b634e487b7160e01b5f52603160045260245ffd5b610cf7610ce6610c23936002610bd1565b90549060031b1c9283926002610bd1565b90555f52600360205260405f20555f8080610c8456fea2646970667358221220ea32fadb6778ec3f20ac9c53d0f193b054c98ceb5e512bacf0109eee1c9f41ff64736f6c634300081c00332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d3c1b1854ab1360abbb06c8d4c6b2672d4b8cedc5eff522ab19e51d5cb8fdbd46ad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5000000000000000000000000773541f7c38be8106ae966ca9d6fee494a0edd24000000000000000000000000f8cbf6437d2473ec59885299af38d9a13ce97eca", + "nonce": "0x1b", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x3d741471d6fee67090289f518710f0e8a3f0fb6e4df6d16760d0ffcb8f0d892f", + "hash": "0x05b9cb5f0e27c04ef4da54621cf87927807adcd7e3e8c55829a1c611356751b9", "transactionType": "CREATE2", "contractName": "YieldSeekerFeeTracker", - "contractAddress": "0xe128c4962c7d6b73197e04640b15896fcfaca7d5", + "contractAddress": "0x2e11edc25e5f2391cd9225a7c107d1b41ebacc9f", "function": null, "arguments": [ - "0x60163d6406503426E712eD6c507137229552756D" + "0x773541F7c38BE8106AE966CA9D6fee494a0eDD24" ], "transaction": { "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x13c025", + "gas": "0x148f08", "value": "0x0", - "input": "0x000000000000000000000000000000000000000000000000000000000000000660803461007d57601f610fb438819003918201601f19168301916001600160401b038311848410176100815780849260209460405283398101031261007d57516001600160a01b03811680820361007d571561006e5761005e90610095565b50604051610e75908161011f8239f35b63d92e233d60e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6001600160a01b0381165f9081525f516020610f945f395f51905f52602052604090205460ff16610119576001600160a01b03165f8181525f516020610f945f395f51905f5260205260408120805460ff191660011790553391907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b505f9056fe6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a714610895575080630e19a3121461083857806310a3bc081461035e5780631aea105e146107d457806322bf55ef146107795780632338e72914610741578063248a9ca314610717578063253094371461070057806327bca7fa146106b05780632f2ff15d14610673578063328467a714610657578063331115c4146105ed57806336568abe146105a95780633c3eeafa146105595780633d2dca71146105005780636468af341461041257806378e68025146103ae57806386e7f6bc1461035e57806388c7fff3146103415780638931e8281461025b5780638dce48671461022357806391d14854146101db578063a217fddf146101c1578063c415b95c14610199578063c7027631146101825763d547741f1461013a575f80fd5b3461017e57604036600319011261017e5761017c6004356101596108fe565b90610177610172825f525f602052600160405f20015490565b610c8e565b610d4e565b005b5f80fd5b3461017e5761017c61019336610914565b91610a63565b3461017e575f36600319011261017e576002546040516001600160a01b039091168152602090f35b3461017e575f36600319011261017e5760206040515f8152f35b3461017e57604036600319011261017e576101f46108fe565b6004355f525f60205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b3461017e57602036600319011261017e576001600160a01b036102446108e8565b165f526004602052602060405f2054604051908152f35b3461017e57602036600319011261017e576001600160a01b0361027c6108e8565b16805f52600360205260405f2054815f52600460205260405f2054604051926378e6802560e01b84526004840152602083602481305afa908115610336575f916102d7575b6060935060405192835260208301526040820152f35b905060203d60201161032f575b601f8101601f1916840167ffffffffffffffff81118582101761031b5760209185916040528101031261017e5760609251906102c1565b634e487b7160e01b5f52604160045260245ffd5b503d6102e4565b6040513d5f823e3d90fd5b3461017e575f36600319011261017e576020600154604051908152f35b3461017e57604036600319011261017e576103776108e8565b61037f6108fe565b6001600160a01b039182165f908152600760209081526040808320949093168252928352819020549051908152f35b3461017e57602036600319011261017e576001600160a01b036103cf6108e8565b16805f52600360205260405f2054905f52600460205260405f2054908181115f146104085760209161040091610990565b604051908152f35b505060205f610400565b3461017e57604036600319011261017e5760043561042e6108fe565b335f9081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604090205460ff16156104e95761138882116104da576001600160a01b031680156104cb57816040917fe125ae54d7ba2b06e6f44852861516acb2dd2692cf41fb127fa03252f15b334e93600155806bffffffffffffffffffffffff60a01b600254161760025582519182526020820152a1005b63d92e233d60e01b5f5260045ffd5b630adad23360e31b5f5260045ffd5b63e2517d3f60e01b5f52336004525f60245260445ffd5b3461017e57604036600319011261017e576105196108e8565b61271061052a60015460243561093e565b0490335f52600760205260405f209060018060a01b03165f5260205261055560405f20918254610983565b9055005b3461017e57604036600319011261017e576105726108e8565b61057a6108fe565b6001600160a01b039182165f908152600660209081526040808320949093168252928352819020549051908152f35b3461017e57604036600319011261017e576105c26108fe565b336001600160a01b038216036105de5761017c90600435610d4e565b63334bd91960e11b5f5260045ffd5b3461017e57604036600319011261017e5760406106086108e8565b6106106108fe565b6001600160a01b039182165f818152600560209081528582209490931680825293835284812054918152600683528481209381529282529183902054835192835290820152f35b3461017e575f36600319011261017e5760206040516113888152f35b3461017e57604036600319011261017e5761017c6004356106926108fe565b906106ab610172825f525f602052600160405f20015490565b610cc6565b3461017e57604036600319011261017e576106c96108e8565b6106d16108fe565b6001600160a01b039182165f908152600560209081526040808320949093168252928352819020549051908152f35b3461017e5761017c61071136610914565b9161099d565b3461017e57602036600319011261017e5760206104006004355f525f602052600160405f20015490565b3461017e57602036600319011261017e576001600160a01b036107626108e8565b165f526003602052602060405f2054604051908152f35b3461017e57602036600319011261017e57600435335f52600460205260405f206107a4828254610983565b90556040519081527f075a2720282fdf622141dae0b048ef90a21a7e57c134c76912d19d006b3b3f6f60203392a2005b3461017e576107e236610914565b9190335f52600560205260405f2060018060a01b0383165f5260205261080d60405f20918254610983565b9055335f52600660205260405f209060018060a01b03165f5260205261055560405f20918254610983565b3461017e57602036600319011261017e5760043561271061085b6001548361093e565b04335f52600360205260405f20610873828254610983565b905560405191825260208201525f516020610e205f395f51905f5260403392a2005b3461017e57602036600319011261017e576004359063ffffffff60e01b821680920361017e57602091637965db0b60e01b81149081156108d7575b5015158152f35b6301ffc9a760e01b149050836108d0565b600435906001600160a01b038216820361017e57565b602435906001600160a01b038216820361017e57565b606090600319011261017e576004356001600160a01b038116810361017e57906024359060443590565b8181029291811591840414171561095157565b634e487b7160e01b5f52601160045260245ffd5b811561096f570490565b634e487b7160e01b5f52601260045260245ffd5b9190820180921161095157565b9190820391821161095157565b8115610a5e57335f52600760205260405f2060018060a01b0382165f5260205260405f2054806109ce575b50505050565b610a1293610a0d9282851115610a53576109e88380610990565b90335f52600760205260405f209060018060a01b03165f5260205260405f205561093e565b610965565b335f52600360205260405f20610a29828254610983565b90556040519080825260208201525f516020610e205f395f51905f5260403392a25f8080806109c8565b6109e8858094610990565b505050565b91908015610a5e57335f8181526006602090815260408083206001600160a01b03881680855290835281842054858552600584528285208286528452828520549585526007845282852091855292528220549294909392909190839080610c04575b50841015610b61575083151580610b58575b610b22575b50505050335f52600560205260405f2060018060a01b0382165f526020525f6040812055335f52600660205260405f209060018060a01b03165f526020525f6040812055565b610b2f92610a0d9161093e565b818111610b3e575b8080610adc565b610b5191610b4b91610990565b33610dce565b5f80610b37565b50821515610ad7565b839293610b71575b505050505050565b84610ba192610b92610b8a86610a0d89610bc59b61093e565b938492610990565b818111610bf0575b5050610990565b335f52600560205260405f2060018060a01b0386165f5260205260405f2055610990565b90335f52600660205260405f209060018060a01b03165f5260205260405f20555f8080808080610b69565b610bfd91610b4b91610990565b815f610b9a565b610c449250610a0d9080831115610c8357610c1f8180610990565b335f52600760205260405f2060018060a01b038b165f5260205260405f20558461093e565b335f52600360205260405f20610c5b828254610983565b90556040518181528160208201525f516020610e205f395f51905f5260403392a2825f610ac5565b610c1f838092610990565b5f8181526020818152604080832033845290915290205460ff1615610cb05750565b63e2517d3f60e01b5f523360045260245260445ffd5b5f818152602081815260408083206001600160a01b038616845290915290205460ff16610d48575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50505f90565b5f818152602081815260408083206001600160a01b038616845290915290205460ff1615610d48575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b9060405f516020610e205f395f51905f5291612710610def6001548361093e565b049360018060a01b031693845f526003602052825f20610e10828254610983565b905582519182526020820152a256fe4cf3d44e1da794302b8d37b1bd4a8dbdc04caf6afe8cef3bdeda69040f09c0dba2646970667358221220d7fb7cb793ab2254136fbbfb6ca00bddf4f050d2d7230030166238e9e8cfd95864736f6c634300081c0033ad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb500000000000000000000000060163d6406503426e712ed6c507137229552756d", - "nonce": "0x4", + "input": "0x000000000000000000000000000000000000000000000000000000000000000760803461007d57601f61115538819003918201601f19168301916001600160401b038311848410176100815780849260209460405283398101031261007d57516001600160a01b03811680820361007d571561006e5761005e90610095565b50604051611016908161011f8239f35b63d92e233d60e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6001600160a01b0381165f9081525f5160206111355f395f51905f52602052604090205460ff16610119576001600160a01b03165f8181525f5160206111355f395f51905f5260205260408120805460ff191660011790553391907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b505f9056fe6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a7146108b7575080630e19a3121461085a57806310a3bc08146103695780631aea105e146107f657806322bf55ef1461079b5780632338e72914610763578063248a9ca314610739578063253094371461072257806327bca7fa146106d25780632f2ff15d14610695578063328467a714610679578063331115c41461060f57806336568abe146105cb5780633c3eeafa1461057b5780633d2dca711461052257806354107a041461050b5780636468af341461041d57806378e68025146103b957806386e7f6bc1461036957806388c7fff31461034c5780638931e828146102665780638dce48671461022e57806391d14854146101e6578063a217fddf146101cc578063c415b95c146101a4578063c70276311461018d5763d547741f14610145575f80fd5b3461018957604036600319011261018957610187600435610164610920565b9061018261017d825f525f602052600160405f20015490565b610e2f565b610eef565b005b5f80fd5b346101895761018761019e36610936565b91610c51565b34610189575f366003190112610189576002546040516001600160a01b039091168152602090f35b34610189575f3660031901126101895760206040515f8152f35b34610189576040366003190112610189576101ff610920565b6004355f525f60205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b34610189576020366003190112610189576001600160a01b0361024f61090a565b165f526004602052602060405f2054604051908152f35b34610189576020366003190112610189576001600160a01b0361028761090a565b16805f52600360205260405f2054815f52600460205260405f2054604051926378e6802560e01b84526004840152602083602481305afa908115610341575f916102e2575b6060935060405192835260208301526040820152f35b905060203d60201161033a575b601f8101601f1916840167ffffffffffffffff811185821017610326576020918591604052810103126101895760609251906102cc565b634e487b7160e01b5f52604160045260245ffd5b503d6102ef565b6040513d5f823e3d90fd5b34610189575f366003190112610189576020600154604051908152f35b346101895760403660031901126101895761038261090a565b61038a610920565b6001600160a01b039182165f908152600760209081526040808320949093168252928352819020549051908152f35b34610189576020366003190112610189576001600160a01b036103da61090a565b16805f52600360205260405f2054905f52600460205260405f2054908181115f146104135760209161040b916109b2565b604051908152f35b505060205f61040b565b3461018957604036600319011261018957600435610439610920565b335f9081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604090205460ff16156104f45761138882116104e5576001600160a01b031680156104d657816040917fe125ae54d7ba2b06e6f44852861516acb2dd2692cf41fb127fa03252f15b334e93600155806bffffffffffffffffffffffff60a01b600254161760025582519182526020820152a1005b63d92e233d60e01b5f5260045ffd5b630adad23360e31b5f5260045ffd5b63e2517d3f60e01b5f52336004525f60245260445ffd5b346101895761018761051c36610936565b91610a85565b346101895760403660031901126101895761053b61090a565b61271061054c600154602435610960565b0490335f52600760205260405f209060018060a01b03165f5260205261057760405f209182546109a5565b9055005b346101895760403660031901126101895761059461090a565b61059c610920565b6001600160a01b039182165f908152600660209081526040808320949093168252928352819020549051908152f35b34610189576040366003190112610189576105e4610920565b336001600160a01b038216036106005761018790600435610eef565b63334bd91960e11b5f5260045ffd5b3461018957604036600319011261018957604061062a61090a565b610632610920565b6001600160a01b039182165f818152600560209081528582209490931680825293835284812054918152600683528481209381529282529183902054835192835290820152f35b34610189575f3660031901126101895760206040516113888152f35b34610189576040366003190112610189576101876004356106b4610920565b906106cd61017d825f525f602052600160405f20015490565b610e67565b34610189576040366003190112610189576106eb61090a565b6106f3610920565b6001600160a01b039182165f908152600560209081526040808320949093168252928352819020549051908152f35b346101895761018761073336610936565b916109bf565b3461018957602036600319011261018957602061040b6004355f525f602052600160405f20015490565b34610189576020366003190112610189576001600160a01b0361078461090a565b165f526003602052602060405f2054604051908152f35b3461018957602036600319011261018957600435335f52600460205260405f206107c68282546109a5565b90556040519081527f075a2720282fdf622141dae0b048ef90a21a7e57c134c76912d19d006b3b3f6f60203392a2005b346101895761080436610936565b9190335f52600560205260405f2060018060a01b0383165f5260205261082f60405f209182546109a5565b9055335f52600660205260405f209060018060a01b03165f5260205261057760405f209182546109a5565b346101895760203660031901126101895760043561271061087d60015483610960565b04335f52600360205260405f206108958282546109a5565b905560405191825260208201525f516020610fc15f395f51905f5260403392a2005b34610189576020366003190112610189576004359063ffffffff60e01b821680920361018957602091637965db0b60e01b81149081156108f9575b5015158152f35b6301ffc9a760e01b149050836108f2565b600435906001600160a01b038216820361018957565b602435906001600160a01b038216820361018957565b6060906003190112610189576004356001600160a01b038116810361018957906024359060443590565b8181029291811591840414171561097357565b634e487b7160e01b5f52601160045260245ffd5b8115610991570490565b634e487b7160e01b5f52601260045260245ffd5b9190820180921161097357565b9190820391821161097357565b8115610a8057335f52600760205260405f2060018060a01b0382165f5260205260405f2054806109f0575b50505050565b610a3493610a2f9282851115610a7557610a0a83806109b2565b90335f52600760205260405f209060018060a01b03165f5260205260405f2055610960565b610987565b335f52600360205260405f20610a4b8282546109a5565b90556040519080825260208201525f516020610fc15f395f51905f5260403392a25f8080806109ea565b610a0a8580946109b2565b505050565b919080158015610c49575b610a8057335f8181526005602090815260408083206001600160a01b0388168085529083528184205485855260068452828520828652845282852054958552600784528285209185529252822054610b3995610b1593929180610b9d575b50808610610b755750610b06918192839186976109b2565b818111610b5b575b50506109b2565b335f52600560205260405f2060018060a01b0386165f5260205260405f20556109b2565b90335f52600660205260405f209060018060a01b03165f5260205260405f2055565b610b6e91610b68916109b2565b33610f6f565b815f610b0e565b610b06610b9793610b8a83610a2f8a87610960565b948593610a2f8a8a610960565b976109b2565b909250828610610c3157610bb181806109b2565b335f9081526007602090815260408083206001600160a01b038d16845290915290205584838115610c2957610a2f90610be993610960565b915b335f52600360205260405f20610c028482546109a5565b90556040518381528360208201525f516020610fc15f395f51905f5260403392a25f610aee565b505091610beb565b610bb1610c4284610a2f8985610960565b80926109b2565b508115610a90565b91908015610a8057335f8181526006602090815260408083206001600160a01b03881680855290835281842054858552600584528285208286528452828520549585526007845282852091855292528220549294909392909190839080610da5575b50841015610d49575083151580610d40575b610d10575b50505050335f52600560205260405f2060018060a01b0382165f526020525f6040812055335f52600660205260405f209060018060a01b03165f526020525f6040812055565b610d1d92610a2f91610960565b818111610d2c575b8080610cca565b610d3991610b68916109b2565b5f80610d25565b50821515610cc5565b839293610d59575b505050505050565b84610b1592610b06610d7286610a2f89610d7a9b610960565b9384926109b2565b90335f52600660205260405f209060018060a01b03165f5260205260405f20555f8080808080610d51565b610de59250610a2f9080831115610e2457610dc081806109b2565b335f52600760205260405f2060018060a01b038b165f5260205260405f205584610960565b335f52600360205260405f20610dfc8282546109a5565b90556040518181528160208201525f516020610fc15f395f51905f5260403392a2825f610cb3565b610dc08380926109b2565b5f8181526020818152604080832033845290915290205460ff1615610e515750565b63e2517d3f60e01b5f523360045260245260445ffd5b5f818152602081815260408083206001600160a01b038616845290915290205460ff16610ee9575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50505f90565b5f818152602081815260408083206001600160a01b038616845290915290205460ff1615610ee9575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b9060405f516020610fc15f395f51905f5291612710610f9060015483610960565b049360018060a01b031693845f526003602052825f20610fb18282546109a5565b905582519182526020820152a256fe4cf3d44e1da794302b8d37b1bd4a8dbdc04caf6afe8cef3bdeda69040f09c0dba2646970667358221220628eaf77d13a10ec85254216fdd6e8dc9b27b1c5ad22a262ce71aad58baa54bd64736f6c634300081c0033ad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5000000000000000000000000773541f7c38be8106ae966ca9d6fee494a0edd24", + "nonce": "0x1c", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x8cd9c75b35a9ad0d1479c7668c4f57fd75d738c6924d19aec402a6cce78573b5", + "hash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", "transactionType": "CREATE2", "contractName": "YieldSeekerERC4626Adapter", - "contractAddress": "0x905cd24370018befb6c648420d35dfeba9e62602", + "contractAddress": "0x98474be8d188f450fef65b5c6d290d333eb74a2f", "function": null, "arguments": null, "transaction": { "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0xb7a21", + "gas": "0xb7a10", "value": "0x0", - "input": "0x000000000000000000000000000000000000000000000000000000000000000660a08060405234602157306080526108db908161002682396080518160ab0152f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80631cff79cd1461004a5780632e1a7d4d14610045578063658ce9d9146100455763b6b55f2514610045575f80fd5b61012a565b6040366003190112610126576004356001600160a01b0381168103610126576024359067ffffffffffffffff821161012657366023830112156101265781600401359167ffffffffffffffff831161012657366024848301011161012657307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146101175760209260409260246100eb930190610180565b815192839181835280519182918282860152018484015e5f828201840152601f01601f19168101030190f35b633954108560e21b5f5260045ffd5b5f80fd5b3461012657602036600319011261012657633954108560e21b5f5260045ffd5b90601f8019910116810190811067ffffffffffffffff82111761016c57604052565b634e487b7160e01b5f52604160045260245ffd5b90915f9281600411806101265781356001600160e01b03191663b6b55f2560e01b81146104ea5763658ce9d960e01b811461039f57632e1a7d4d60e01b146101d1576311fa59f360e11b8552600485fd5b90919293506101265780600460209201928391010312610126576040516338d52e0f60e01b81526001600160a01b03831692913590602081600481875afa801561032257610226915f91610370575b506107b5565b80156103615760405192635d043b2960e11b84528160048501523060248501523060448501526020846064815f855af1938415610322575f9461032d575b506040518281528460208201527f91fb9d98b786c57d74c099ccd2beca1739e9f6a81fb49001ca465c4b7591bbe260403092a36001600160a01b036102a761083f565b1691823b156101265760405163c702763160e01b81526001600160a01b03919091166004820152602481019190915260448101839052905f908290606490829084905af1801561032257610312575b506040519060208201526020815261030f60408261014a565b90565b5f61031c9161014a565b5f6102f6565b6040513d5f823e3d90fd5b9093506020813d602011610359575b816103496020938361014a565b810103126101265751925f610264565b3d915061033c565b631f2a200560e01b5f5260045ffd5b610392915060203d602011610398575b61038a818361014a565b81019061050a565b5f610220565b503d610380565b5090919293506101265780600460209201928391010312610126576040516338d52e0f60e01b8152903591906020816004816001600160a01b0386165afa908115610322575f916104cb575b50821580156104c0575b6104ad576040516370a0823160e01b815230600482015290602090829060249082906001600160a01b03165afa908115610322575f9161047b575b508281029281840414901517156104675761271061044f920490610529565b6040519060208201526020815261030f60408261014a565b634e487b7160e01b5f52601160045260245ffd5b90506020813d6020116104a5575b816104966020938361014a565b8101031261012657515f610430565b3d9150610489565b8263aa31867360e01b5f5260045260245ffd5b5061271083116103f5565b6104e4915060203d6020116103985761038a818361014a565b5f6103eb565b50506020919350600481019384910103126101265761044f913590610529565b9081602091031261012657516001600160a01b03811681036101265790565b6040516338d52e0f60e01b81526001600160a01b03821693929190602081600481885afa801561032257610563915f9161037057506107b5565b8115610361576040516338d52e0f60e01b8152602081600481885afa908115610322575f91610796575b5060018060a01b031660405163095ea7b360e01b5f52856004528360245260205f60448180865af19060015f5114821615610787575b604052156106d2575b50604051636e553f6560e01b815260048101839052306024820152936020856044815f855af1948515610322575f9561069e575b506040518381528560208201527ff5681f9d0db1b911ac18ee83d515a1cf1051853a9eae418316a2fdf7dea427c560403092a3836001600160a01b0361064461083f565b16803b1561012657604051630d75082f60e11b81526001600160a01b0393909316600484015260248301939093526044820152905f908290606490829084905af18015610322576106925750565b5f61069c9161014a565b565b9094506020813d6020116106ca575b816106ba6020938361014a565b810103126101265751935f610600565b3d91506106ad565b60405163095ea7b360e01b5f52856004525f60245260205f60448180865af19060015f511482161561076f575b6040521561073c5760405163095ea7b360e01b5f52856004528360245260205f60448180865af19060015f511482161561074e575b6040526105cc575b635274afe760e01b5f5260045260245ffd5b90600181151661076657823b15153d15161690610734565b503d5f823e3d90fd5b90600181151661076657823b15153d151616906106ff565b90823b15153d151616906105c3565b6107af915060203d6020116103985761038a818361014a565b5f61058d565b60405163cdf456e160e01b8152602081600481305afa908115610322575f916107fd575b506001600160a01b039081169116036107ee57565b6366856dc760e11b5f5260045ffd5b90506020813d602011610837575b816108186020938361014a565b8101031261012657516001600160a01b0381168103610126575f6107d9565b3d915061080b565b604051633325e1df60e01b8152602081600481305afa908115610322575f91610866575090565b90506020813d60201161089d575b816108816020938361014a565b8101031261012657516001600160a01b03811681036101265790565b3d915061087456fea2646970667358221220d1486514a3c083e8d70cdf9832750fb7548b38ca6d94d1b343869819c61b6de464736f6c634300081c0033", - "nonce": "0x5", + "input": "0x000000000000000000000000000000000000000000000000000000000000000760a08060405234602157306080526108db908161002682396080518160ab0152f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80631cff79cd1461004a5780632e1a7d4d14610045578063658ce9d9146100455763b6b55f2514610045575f80fd5b61012a565b6040366003190112610126576004356001600160a01b0381168103610126576024359067ffffffffffffffff821161012657366023830112156101265781600401359167ffffffffffffffff831161012657366024848301011161012657307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146101175760209260409260246100eb930190610180565b815192839181835280519182918282860152018484015e5f828201840152601f01601f19168101030190f35b633954108560e21b5f5260045ffd5b5f80fd5b3461012657602036600319011261012657633954108560e21b5f5260045ffd5b90601f8019910116810190811067ffffffffffffffff82111761016c57604052565b634e487b7160e01b5f52604160045260245ffd5b90915f9281600411806101265781356001600160e01b03191663b6b55f2560e01b81146104ea5763658ce9d960e01b811461039f57632e1a7d4d60e01b146101d1576311fa59f360e11b8552600485fd5b90919293506101265780600460209201928391010312610126576040516338d52e0f60e01b81526001600160a01b03831692913590602081600481875afa801561032257610226915f91610370575b506107b5565b80156103615760405192635d043b2960e11b84528160048501523060248501523060448501526020846064815f855af1938415610322575f9461032d575b506040518281528460208201527f91fb9d98b786c57d74c099ccd2beca1739e9f6a81fb49001ca465c4b7591bbe260403092a36001600160a01b036102a761083f565b1691823b156101265760405163c702763160e01b81526001600160a01b03919091166004820152602481019190915260448101839052905f908290606490829084905af1801561032257610312575b506040519060208201526020815261030f60408261014a565b90565b5f61031c9161014a565b5f6102f6565b6040513d5f823e3d90fd5b9093506020813d602011610359575b816103496020938361014a565b810103126101265751925f610264565b3d915061033c565b631f2a200560e01b5f5260045ffd5b610392915060203d602011610398575b61038a818361014a565b81019061050a565b5f610220565b503d610380565b5090919293506101265780600460209201928391010312610126576040516338d52e0f60e01b8152903591906020816004816001600160a01b0386165afa908115610322575f916104cb575b50821580156104c0575b6104ad576040516370a0823160e01b815230600482015290602090829060249082906001600160a01b03165afa908115610322575f9161047b575b508281029281840414901517156104675761271061044f920490610529565b6040519060208201526020815261030f60408261014a565b634e487b7160e01b5f52601160045260245ffd5b90506020813d6020116104a5575b816104966020938361014a565b8101031261012657515f610430565b3d9150610489565b8263aa31867360e01b5f5260045260245ffd5b5061271083116103f5565b6104e4915060203d6020116103985761038a818361014a565b5f6103eb565b50506020919350600481019384910103126101265761044f913590610529565b9081602091031261012657516001600160a01b03811681036101265790565b6040516338d52e0f60e01b81526001600160a01b03821693929190602081600481885afa801561032257610563915f9161037057506107b5565b8115610361576040516338d52e0f60e01b8152602081600481885afa908115610322575f91610796575b5060018060a01b031660405163095ea7b360e01b5f52856004528360245260205f60448180865af19060015f5114821615610787575b604052156106d2575b50604051636e553f6560e01b815260048101839052306024820152936020856044815f855af1948515610322575f9561069e575b506040518381528560208201527ff5681f9d0db1b911ac18ee83d515a1cf1051853a9eae418316a2fdf7dea427c560403092a3836001600160a01b0361064461083f565b16803b1561012657604051630d75082f60e11b81526001600160a01b0393909316600484015260248301939093526044820152905f908290606490829084905af18015610322576106925750565b5f61069c9161014a565b565b9094506020813d6020116106ca575b816106ba6020938361014a565b810103126101265751935f610600565b3d91506106ad565b60405163095ea7b360e01b5f52856004525f60245260205f60448180865af19060015f511482161561076f575b6040521561073c5760405163095ea7b360e01b5f52856004528360245260205f60448180865af19060015f511482161561074e575b6040526105cc575b635274afe760e01b5f5260045260245ffd5b90600181151661076657823b15153d15161690610734565b503d5f823e3d90fd5b90600181151661076657823b15153d151616906106ff565b90823b15153d151616906105c3565b6107af915060203d6020116103985761038a818361014a565b5f61058d565b60405163cdf456e160e01b8152602081600481305afa908115610322575f916107fd575b506001600160a01b039081169116036107ee57565b634847234360e01b5f5260045ffd5b90506020813d602011610837575b816108186020938361014a565b8101031261012657516001600160a01b0381168103610126575f6107d9565b3d915061080b565b604051633325e1df60e01b8152602081600481305afa908115610322575f91610866575090565b90506020813d60201161089d575b816108816020938361014a565b8101031261012657516001600160a01b03811681036101265790565b3d915061087456fea26469706673582212200064266f7b4cb7c2fcfdeeeb8df04821e1db57a03d9d596ae307decff09a512364736f6c634300081c0033", + "nonce": "0x1d", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xfc911b5f981c72ba5b4e0d3ffe9fd0f30a1bcc5de944e6a9fdc8990c9654c58c", + "hash": "0x0daabdfb07a8cd04d02c33141e1a96204f9fd4eb6cc254b736e46fe5155d46c7", "transactionType": "CREATE2", "contractName": "YieldSeekerMerklAdapter", - "contractAddress": "0xd28d02f82a1d735c973b5b24c30ed7a56839fb96", + "contractAddress": "0x063e92a335be85a7ae6d2de28397dcf40423c45f", "function": null, "arguments": null, "transaction": { @@ -141,80 +141,140 @@ "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", "gas": "0xf2dbd", "value": "0x0", - "input": "0x000000000000000000000000000000000000000000000000000000000000000660a0806040523460225730608052610b4f90816100278239608051816101360152f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80631cff79cd146100d7576371ee95c01461002f575f80fd5b346100d35760803660031901126100d3576004356001600160401b0381116100d35761005f9036906004016101b1565b50506024356001600160401b0381116100d3576100809036906004016101b1565b50506044356001600160401b0381116100d3576100a19036906004016101b1565b50506064356001600160401b0381116100d3576100c29036906004016101b1565b5050633954108560e21b5f5260045ffd5b5f80fd5b60403660031901126100d3576004356001600160a01b03811681036100d357602435906001600160401b0382116100d357366023830112156100d3578160040135916001600160401b0383116100d35736602484830101116100d357307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146101a257602092604092602461017693019061029b565b815192839181835280519182918282860152018484015e5f828201840152601f01601f19168101030190f35b633954108560e21b5f5260045ffd5b9181601f840112156100d3578235916001600160401b0383116100d3576020808501948460051b0101116100d357565b90601f801991011681019081106001600160401b0382111761020257604052565b634e487b7160e01b5f52604160045260245ffd5b6001600160401b0381116102025760051b60200190565b9080601f830112156100d35781359061024582610216565b9261025360405194856101e1565b82845260208085019360051b8201019182116100d357602001915b81831061027b5750505090565b82356001600160a01b03811681036100d35781526020928301920161026e565b905f92806004116100d35781356001600160e01b0319166301c7ba5760e61b146102ce576311fa59f360e11b8452600484fd5b810191608082840360031901126100d35760048201356001600160401b0381116100d3578360046103019285010161022d565b60248301356001600160401b0381116100d3578460046103239286010161022d565b60448401356001600160401b0381116100d357840193856023860112156100d35760048501359061035382610216565b9561036160405197886101e1565b8287526020870160206004829560051b84010101918983116100d357602401905b828210610a1d575050506064810135906001600160401b0382116100d3570190866023830112156100d3576004820135916103bc83610216565b976103ca604051998a6101e1565b838952602089019160206004849660051b83010101908282116100d35760248101935b8285106109995750505050508251965f9661040789610216565b9661041560405198896101e1565b898852601f196104248b610216565b013660208a01375f5b8a8110610926575061043e89610216565b9761044c604051998a6101e1565b898952601f1961045b8b610216565b013660208b013761046b8a610216565b9a6104796040519c8d6101e1565b8a8c52601f196104888c610216565b013660208e01375f915f5b828110610858575050505060018060a01b031694853b156100d3579060206104ef6104dd9896959493604051998a986301c7ba5760e61b8a52608060048b015260848a0190610a77565b8881036003190160248a015290610a77565b8681036003190160448801529151808352910192905f5b81811061083f5750505060031984830301606485015251808252602082019160208260051b82010193925f915b8383106107e357505050505091815f81819503925af180156107d8576107c3575b5060405163cdf456e160e01b8152602081600481305afa9081156107b8578591610772575b506001600160a01b031692845b8381106105c857505050505060405190602082018281106001600160401b038211176105b457604052815290565b634e487b7160e01b82526041600452602482fd5b6001600160a01b036105da8284610a2d565b516040516370a0823160e01b81523060048201529116602082602481845afa918215610767578892610734575b506106128386610a2d565b5180830392808411610720570361062e575b5050600101610586565b8087036106b157506001600160a01b03610646610ab3565b1690813b156106ad57879160248392604051948593849263070cd18960e11b845260048401525af180156106a257908791610689575b50506001905b905f610624565b81610693916101e1565b61069e57855f61067c565b8580fd5b6040513d89823e3d90fd5b8780fd5b906001600160a01b036106c2610ab3565b1691823b1561071c579060448992836040519586948593633d2dca7160e01b8552600485015260248401525af180156106a257908791610707575b5050600190610682565b81610711916101e1565b61069e57855f6106fd565b8880fd5b634e487b7160e01b8a52601160045260248afd5b9091506020813d821161075f575b8161074f602093836101e1565b810103126100d35751905f610607565b3d9150610742565b6040513d8a823e3d90fd5b90506020813d6020116107b0575b8161078d602093836101e1565b810103126107ac57516001600160a01b03811681036107ac575f610579565b8480fd5b3d9150610780565b6040513d87823e3d90fd5b6107d09194505f906101e1565b5f925f610554565b6040513d5f823e3d90fd5b919395509193601f19828203018352855190602080835192838152019201905f905b8082106108275750505060208060019297019301930190928795949293610533565b90919260208060019286518152019401920190610805565b8251855288965060209485019490920191600101610506565b6108628183610a2d565b51610870575b600101610493565b928d610890826001600160a01b03610888888f610a2d565b511692610a2d565b52602460206001600160a01b036108a7878e610a2d565b5116604051928380926370a0823160e01b82523060048301525afa9081156107d8578d905f926108f2575b50916108ea916108e482600195610a2d565b52610a55565b939050610868565b9150506020813d821161091e575b8161090d602093836101e1565b810103126100d357518c60016108d2565b3d9150610900565b5f5f5b82811061095a575b5015610940575b60010161042d565b98610952600191826108e48d8d610a2d565b999050610938565b6001600160a01b0361096c848b610a2d565b51166001600160a01b03610980838c610a2d565b51161461098f57600101610929565b505060015f610931565b84356001600160401b0381116100d35760049083010184603f820112156100d3576020810135906109c982610216565b916109d760405193846101e1565b8083526020808085019260051b84010101918783116100d357604001905b828210610a0d575050508152602094850194016103ed565b81358152602091820191016109f5565b8135815260209182019101610382565b8051821015610a415760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b5f198114610a635760010190565b634e487b7160e01b5f52601160045260245ffd5b90602080835192838152019201905f5b818110610a945750505090565b82516001600160a01b0316845260209384019390920191600101610a87565b604051633325e1df60e01b8152602081600481305afa9081156107d8575f91610ada575090565b90506020813d602011610b11575b81610af5602093836101e1565b810103126100d357516001600160a01b03811681036100d35790565b3d9150610ae856fea26469706673582212202260a1140ccde37a02e2b5497e222cd0fdf0cfe2c01c382d3e259d11e0e7e3f964736f6c634300081c0033", - "nonce": "0x6", + "input": "0x000000000000000000000000000000000000000000000000000000000000000760a0806040523460225730608052610b4f90816100278239608051816101360152f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80631cff79cd146100d7576371ee95c01461002f575f80fd5b346100d35760803660031901126100d3576004356001600160401b0381116100d35761005f9036906004016101b1565b50506024356001600160401b0381116100d3576100809036906004016101b1565b50506044356001600160401b0381116100d3576100a19036906004016101b1565b50506064356001600160401b0381116100d3576100c29036906004016101b1565b5050633954108560e21b5f5260045ffd5b5f80fd5b60403660031901126100d3576004356001600160a01b03811681036100d357602435906001600160401b0382116100d357366023830112156100d3578160040135916001600160401b0383116100d35736602484830101116100d357307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146101a257602092604092602461017693019061029b565b815192839181835280519182918282860152018484015e5f828201840152601f01601f19168101030190f35b633954108560e21b5f5260045ffd5b9181601f840112156100d3578235916001600160401b0383116100d3576020808501948460051b0101116100d357565b90601f801991011681019081106001600160401b0382111761020257604052565b634e487b7160e01b5f52604160045260245ffd5b6001600160401b0381116102025760051b60200190565b9080601f830112156100d35781359061024582610216565b9261025360405194856101e1565b82845260208085019360051b8201019182116100d357602001915b81831061027b5750505090565b82356001600160a01b03811681036100d35781526020928301920161026e565b905f92806004116100d35781356001600160e01b0319166301c7ba5760e61b146102ce576311fa59f360e11b8452600484fd5b810191608082840360031901126100d35760048201356001600160401b0381116100d3578360046103019285010161022d565b60248301356001600160401b0381116100d3578460046103239286010161022d565b60448401356001600160401b0381116100d357840193856023860112156100d35760048501359061035382610216565b9561036160405197886101e1565b8287526020870160206004829560051b84010101918983116100d357602401905b828210610a1d575050506064810135906001600160401b0382116100d3570190866023830112156100d3576004820135916103bc83610216565b976103ca604051998a6101e1565b838952602089019160206004849660051b83010101908282116100d35760248101935b8285106109995750505050508251965f9661040789610216565b9661041560405198896101e1565b898852601f196104248b610216565b013660208a01375f5b8a8110610926575061043e89610216565b9761044c604051998a6101e1565b898952601f1961045b8b610216565b013660208b013761046b8a610216565b9a6104796040519c8d6101e1565b8a8c52601f196104888c610216565b013660208e01375f915f5b828110610858575050505060018060a01b031694853b156100d3579060206104ef6104dd9896959493604051998a986301c7ba5760e61b8a52608060048b015260848a0190610a77565b8881036003190160248a015290610a77565b8681036003190160448801529151808352910192905f5b81811061083f5750505060031984830301606485015251808252602082019160208260051b82010193925f915b8383106107e357505050505091815f81819503925af180156107d8576107c3575b5060405163cdf456e160e01b8152602081600481305afa9081156107b8578591610772575b506001600160a01b031692845b8381106105c857505050505060405190602082018281106001600160401b038211176105b457604052815290565b634e487b7160e01b82526041600452602482fd5b6001600160a01b036105da8284610a2d565b516040516370a0823160e01b81523060048201529116602082602481845afa918215610767578892610734575b506106128386610a2d565b5180830392808411610720570361062e575b5050600101610586565b8087036106b157506001600160a01b03610646610ab3565b1690813b156106ad57879160248392604051948593849263070cd18960e11b845260048401525af180156106a257908791610689575b50506001905b905f610624565b81610693916101e1565b61069e57855f61067c565b8580fd5b6040513d89823e3d90fd5b8780fd5b906001600160a01b036106c2610ab3565b1691823b1561071c579060448992836040519586948593633d2dca7160e01b8552600485015260248401525af180156106a257908791610707575b5050600190610682565b81610711916101e1565b61069e57855f6106fd565b8880fd5b634e487b7160e01b8a52601160045260248afd5b9091506020813d821161075f575b8161074f602093836101e1565b810103126100d35751905f610607565b3d9150610742565b6040513d8a823e3d90fd5b90506020813d6020116107b0575b8161078d602093836101e1565b810103126107ac57516001600160a01b03811681036107ac575f610579565b8480fd5b3d9150610780565b6040513d87823e3d90fd5b6107d09194505f906101e1565b5f925f610554565b6040513d5f823e3d90fd5b919395509193601f19828203018352855190602080835192838152019201905f905b8082106108275750505060208060019297019301930190928795949293610533565b90919260208060019286518152019401920190610805565b8251855288965060209485019490920191600101610506565b6108628183610a2d565b51610870575b600101610493565b928d610890826001600160a01b03610888888f610a2d565b511692610a2d565b52602460206001600160a01b036108a7878e610a2d565b5116604051928380926370a0823160e01b82523060048301525afa9081156107d8578d905f926108f2575b50916108ea916108e482600195610a2d565b52610a55565b939050610868565b9150506020813d821161091e575b8161090d602093836101e1565b810103126100d357518c60016108d2565b3d9150610900565b5f5f5b82811061095a575b5015610940575b60010161042d565b98610952600191826108e48d8d610a2d565b999050610938565b6001600160a01b0361096c848b610a2d565b51166001600160a01b03610980838c610a2d565b51161461098f57600101610929565b505060015f610931565b84356001600160401b0381116100d35760049083010184603f820112156100d3576020810135906109c982610216565b916109d760405193846101e1565b8083526020808085019260051b84010101918783116100d357604001905b828210610a0d575050508152602094850194016103ed565b81358152602091820191016109f5565b8135815260209182019101610382565b8051821015610a415760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b5f198114610a635760010190565b634e487b7160e01b5f52601160045260245ffd5b90602080835192838152019201905f5b818110610a945750505090565b82516001600160a01b0316845260209384019390920191600101610a87565b604051633325e1df60e01b8152602081600481305afa9081156107d8575f91610ada575090565b90506020813d602011610b11575b81610af5602093836101e1565b810103126100d357516001600160a01b03811681036100d35790565b3d9150610ae856fea2646970667358221220cc6b15bfa4e588e3911b15581c2b95f31fa77e11b408420db391a4a3ac8299c464736f6c634300081c0033", + "nonce": "0x1e", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x4dfc82a3f687b63a8420921951ba11cb4f4cf0b4a56d93f4ece4af9bec899235", + "hash": "0xece501c1f307b9929175776c6911d75d94e3618de1c872bb2f6a8b4676754b4e", "transactionType": "CREATE2", "contractName": "YieldSeekerZeroXAdapter", - "contractAddress": "0x15a8067f0b38e29f7fcffb93f85c585748d49d82", + "contractAddress": "0x153e4801852249d1f7d05ccb13c1d1cf8ae7c466", "function": null, "arguments": [ - "0x0000000000001fF3684f28c67538d4D072C22734" + "0x0000000000001fF3684f28c67538d4D072C22734", + "0x773541F7c38BE8106AE966CA9D6fee494a0eDD24", + "0xF8CBf6437d2473eC59885299Af38D9A13cE97ecA", + "false" ], "transaction": { "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0xc07f4", + "gas": "0x193d2e", "value": "0x0", - "input": "0x000000000000000000000000000000000000000000000000000000000000000660c03461009257601f6109f838819003918201601f19168301916001600160401b038311848410176100965780849260209460405283398101031261009257516001600160a01b0381168082036100925730608052156100835760a05260405161094d90816100ab82396080518161010b015260a05181818160a201526107520152f35b631440bbc360e11b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f3560e01c80631cff79cd146100d1578063227515931461008d5763e2450d7c1461003a575f80fd5b60c03660031901126100895761004e610164565b5061005761017a565b5060843567ffffffffffffffff811161008957610078903690600401610190565b5050633954108560e21b5f5260045ffd5b5f80fd5b34610089575f366003190112610089576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6040366003190112610089576100e5610164565b60243567ffffffffffffffff811161008957610105903690600401610190565b909190307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161461015557610151926101459261024e565b604051918291826101be565b0390f35b633954108560e21b5f5260045ffd5b600435906001600160a01b038216820361008957565b602435906001600160a01b038216820361008957565b9181601f840112156100895782359167ffffffffffffffff8311610089576020838186019501011161008957565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b35906001600160a01b038216820361008957565b90601f8019910116810190811067ffffffffffffffff82111761021e57604052565b634e487b7160e01b5f52604160045260245ffd5b67ffffffffffffffff811161021e57601f01601f191660200190565b5f92806004116100895782356001600160e01b031916633891435f60e21b14610280576311fa59f360e11b8452600484fd5b9192509082019060c08383036003190112610089576102a1600484016101e8565b916102ae602485016101e8565b9160448501359360648601359560848101359067ffffffffffffffff8211610089570190836023830112156100895760048201356102eb81610232565b926102f960405194856101fc565b81845260208401956024828401011161008957815f9260246020930188378401015260405163cdf456e160e01b81526001600160a01b03918216959091169390602081600481305afa9081156104fe575f916108b4575b506001600160a01b031684036108a5578515801561089d575b61088e5773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8514958615610741578080471061072b57505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee85149081156106c85747925b881561065d575f91829147965b5191885af13d15610655573d906103d982610232565b916103e760405193846101fc565b82523d5f602084013e5b156106315750156105ce5747955b15610561576104126104189247906108f6565b956108f6565b9480861061054b575060405191838352602083015283604083015284606083015260018060a01b0316907fd6d4f5681c246c9f42c203e287975af1601f8df8035a9251f79aab5c8f09e2f860803092a3604051633325e1df60e01b8152602081600481305afa9081156104fe575f91610509575b506001600160a01b031691823b156100895760645f92836040519586948593632530943760e01b8552600485015260248401528760448401525af180156104fe576104ee575b50604051906020820152602081526104eb6040826101fc565b90565b5f6104f8916101fc565b5f6104d2565b6040513d5f823e3d90fd5b90506020813d602011610543575b81610524602093836101fc565b8101031261008957516001600160a01b0381168103610089575f61048c565b3d9150610517565b85630583371760e31b5f5260045260245260445ffd5b6040516370a0823160e01b8152306004820152602081602481895afa9081156104fe575f9161059a575b506104189261041291906108f6565b90506020813d6020116105c6575b816105b5602093836101fc565b81010312610089575161041861058b565b3d91506105a8565b6040516370a0823160e01b8152306004820152602081602481885afa9081156104fe575f916105ff575b50956103ff565b90506020813d602011610629575b8161061a602093836101fc565b8101031261008957515f6105f8565b3d915061060d565b604051600162605a6b60e01b0319815290819061065190600483016101be565b0390fd5b6060906103f1565b906040516370a0823160e01b81523060048201526020816024818c5afa9081156104fe575f91610694575b50905f928392966103c3565b9190506020823d6020116106c0575b816106b0602093836101fc565b810103126100895790515f610688565b3d91506106a3565b6040516370a0823160e01b81523060048201526020816024818a5afa9081156104fe575f916106f9575b50926103b6565b90506020813d602011610723575b81610714602093836101fc565b8101031261008957515f6106f2565b3d9150610707565b47633ebbc33760e01b5f5260045260245260445ffd5b60405163095ea7b360e01b5f9081527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166004819052602484905290929091602084604481808d5af19060015f511482161561087f575b604052156107b0575b5050610395565b60405163095ea7b360e01b5f52826004525f60245260205f604481808d5af19060015f5114821615610867575b60405215610854576040519163095ea7b360e01b5f5260045260245260205f604481808b5af19060015f5114821615610833575b60405215610820575f806107a9565b85635274afe760e01b5f5260045260245ffd5b90600181151661084b57873b15153d15161690610811565b503d5f823e3d90fd5b87635274afe760e01b5f5260045260245ffd5b90600181151661084b57893b15153d151616906107dd565b90893b15153d151616906107a0565b631f2a200560e01b5f5260045ffd5b508615610369565b6366856dc760e11b5f5260045ffd5b90506020813d6020116108ee575b816108cf602093836101fc565b8101031261008957516001600160a01b0381168103610089575f610350565b3d91506108c2565b9190820391821161090357565b634e487b7160e01b5f52601160045260245ffdfea2646970667358221220b05c6d7b54e9e2a1a3e158ce7d4ffda01910fc407c3641a90e0f02dd4dac7eda64736f6c634300081c00330000000000000000000000000000000000001ff3684f28c67538d4d072c22734", - "nonce": "0x7", + "input": "0x000000000000000000000000000000000000000000000000000000000000000760c03461011457601f61162c38819003918201601f19168301916001600160401b0383118484101761011857808492608094604052833981010312610114576100478161012c565b906100546020820161012c565b9060606100636040830161012c565b9101519283151580940361011457306080526001600160a01b03811615610105576001600160a01b038316156100f6576001600160a01b038216156100f6576100b8926100b29160a052610140565b506101b6565b5060ff801960015416911617600155604051611382908161024a82396080518181816107080152610f0b015260a0518181816106650152610d9f0152f35b63d92e233d60e01b5f5260045ffd5b631440bbc360e11b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820361011457565b6001600160a01b0381165f9081525f51602061160c5f395f51905f52602052604090205460ff166101b1576001600160a01b03165f8181525f51602061160c5f395f51905f5260205260408120805460ff191660011790553391905f5160206115cc5f395f51905f528180a4600190565b505f90565b6001600160a01b0381165f9081525f5160206115ec5f395f51905f52602052604090205460ff166101b1576001600160a01b03165f8181525f5160206115ec5f395f51905f5260205260408120805460ff191660011790553391907fbf233dd2aafeb4d50879c4aa5c81e96d92f6e6945c906a58f9f2d1c1631b4b26905f5160206115cc5f395f51905f529080a460019056fe6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a714610761575080631cff79cd146106ce57806320df4359146106945780632275159314610650578063248a9ca31461061e5780632f2ff15d146105e157806336568abe1461059d5780635e561771146104d95780637464df1d146104b7578063846a77031461046657806391d148541461041e57806399b39dc114610328578063a217fddf1461030e578063b5924e0b146102ac578063b5b2f1ef146101ed578063d547741f146101a9578063e2450d7c1461015a5763e36e2e37146100e2575f80fd5b34610156576020366003190112610156576100fb6107b4565b610103610ff2565b6001600160a01b031680156101475761011b8161128c565b61012157005b7f4ac723403fd9e3f5fbe7116bb75c15981bd5cb9ca32255900e5c29d9597cbee25f80a2005b63d92e233d60e01b5f5260045ffd5b5f80fd5b60c03660031901126101565761016e6107b4565b506101776107ca565b5060843567ffffffffffffffff8111610156576101989036906004016107e0565b5050633954108560e21b5f5260045ffd5b34610156576040366003190112610156576101eb6004356101c86107ca565b906101e66101e1825f525f602052600160405f20015490565b611041565b611101565b005b34610156575f366003190112610156576040518060206002549283815201809260025f527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace905f5b818110610296575050508161024b91038261084c565b604051918291602083019060208452518091526040830191905f5b818110610274575050500390f35b82516001600160a01b0316845285945060209384019390920191600101610266565b8254845260209093019260019283019201610235565b34610156576020366003190112610156576004358015158091036101565760207f74c88bdf6980e6d2f0199be2ccaacfb3770508c3d4ce8a831fe820e7f7b4f404916102f6610ff2565b60ff196001541660ff821617600155604051908152a1005b34610156575f3660031901126101565760206040515f8152f35b346101565760203660031901126101565760043567ffffffffffffffff811161015657366023820112156101565780600401359067ffffffffffffffff8211610156576024810190602436918460051b01011161015657610387610ff2565b5f5b82811061039257005b6001600160a01b036103ad6103a8838686610fba565b610fde565b1615610147576001906103d56001600160a01b036103cf6103a8848888610fba565b1661128c565b6103e0575b01610389565b818060a01b036103f46103a8838787610fba565b167f4ac723403fd9e3f5fbe7116bb75c15981bd5cb9ca32255900e5c29d9597cbee25f80a26103da565b34610156576040366003190112610156576104376107ca565b6004355f525f60205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b346101565760203660031901126101565761047f6107b4565b60ff600154168015610499575b6020906040519015158152f35b5060018060a01b03165f526003602052602060405f2054151561048c565b34610156575f36600319011261015657602060ff600154166040519015158152f35b34610156576020366003190112610156576104f26107b4565b335f9081527f3c1b1854ab1360abbb06c8d4c6b2672d4b8cedc5eff522ab19e51d5cb8fdbd46602052604090205460ff1615610566576001600160a01b031661053a816111b7565b61054057005b7f3b00e462401f0dd38135e28206d1d0ad5dc97314acd8f937e1b9cb6b50a5869f5f80a2005b63e2517d3f60e01b5f52336004527fbf233dd2aafeb4d50879c4aa5c81e96d92f6e6945c906a58f9f2d1c1631b4b2660245260445ffd5b34610156576040366003190112610156576105b66107ca565b336001600160a01b038216036105d2576101eb90600435611101565b63334bd91960e11b5f5260045ffd5b34610156576040366003190112610156576101eb6004356106006107ca565b906106196101e1825f525f602052600160405f20015490565b611079565b346101565760203660031901126101565760206106486004355f525f602052600160405f20015490565b604051908152f35b34610156575f366003190112610156576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610156575f3660031901126101565760206040517fbf233dd2aafeb4d50879c4aa5c81e96d92f6e6945c906a58f9f2d1c1631b4b268152f35b6040366003190112610156576106e26107b4565b60243567ffffffffffffffff8111610156576107029036906004016107e0565b909190307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146107525761074e926107429261089e565b6040519182918261080e565b0390f35b633954108560e21b5f5260045ffd5b34610156576020366003190112610156576004359063ffffffff60e01b821680920361015657602091637965db0b60e01b81149081156107a3575b5015158152f35b6301ffc9a760e01b1490508361079c565b600435906001600160a01b038216820361015657565b602435906001600160a01b038216820361015657565b9181601f840112156101565782359167ffffffffffffffff8311610156576020838186019501011161015657565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b35906001600160a01b038216820361015657565b90601f8019910116810190811067ffffffffffffffff82111761086e57604052565b634e487b7160e01b5f52604160045260245ffd5b67ffffffffffffffff811161086e57601f01601f191660200190565b5f92806004116101565782356001600160e01b031916633891435f60e21b146108d0576311fa59f360e11b8452600484fd5b9192509082019060c08383036003190112610156576108f160048401610838565b916108fe60248501610838565b9160448501359360648601359560848101359067ffffffffffffffff82116101565701908360238301121561015657600482013561093b81610882565b92610949604051948561084c565b81845260208401956024828401011161015657815f926024602093018837840101526001600160a01b0390811694811693906109836112e6565b168514610fab576001600160a01b0361099a6112e6565b168403610f9c5785158015610f94575b610f855773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee851495861580610eee575b610edb578615610d8e5780804710610d7857505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8514908115610d155747925b8815610caa575f91829147965b5191885af13d15610ca2573d90610a2682610882565b91610a34604051938461084c565b82523d5f602084013e5b15610c7e575015610c1b5747955b15610bae57610a5f610a65924790611181565b95611181565b94808610610b98575060405191838352602083015283604083015284606083015260018060a01b0316907fd6d4f5681c246c9f42c203e287975af1601f8df8035a9251f79aab5c8f09e2f860803092a3604051633325e1df60e01b8152602081600481305afa908115610b4b575f91610b56575b506001600160a01b031691823b156101565760645f92836040519586948593632530943760e01b8552600485015260248401528760448401525af18015610b4b57610b3b575b5060405190602082015260208152610b3860408261084c565b90565b5f610b459161084c565b5f610b1f565b6040513d5f823e3d90fd5b90506020813d602011610b90575b81610b716020938361084c565b8101031261015657516001600160a01b0381168103610156575f610ad9565b3d9150610b64565b85630583371760e31b5f5260045260245260445ffd5b6040516370a0823160e01b8152306004820152602081602481895afa908115610b4b575f91610be7575b50610a6592610a5f9190611181565b90506020813d602011610c13575b81610c026020938361084c565b810103126101565751610a65610bd8565b3d9150610bf5565b6040516370a0823160e01b8152306004820152602081602481885afa908115610b4b575f91610c4c575b5095610a4c565b90506020813d602011610c76575b81610c676020938361084c565b8101031261015657515f610c45565b3d9150610c5a565b604051600162605a6b60e01b03198152908190610c9e906004830161080e565b0390fd5b606090610a3e565b906040516370a0823160e01b81523060048201526020816024818c5afa908115610b4b575f91610ce1575b50905f92839296610a10565b9190506020823d602011610d0d575b81610cfd6020938361084c565b810103126101565790515f610cd5565b3d9150610cf0565b6040516370a0823160e01b81523060048201526020816024818a5afa908115610b4b575f91610d46575b5092610a03565b90506020813d602011610d70575b81610d616020938361084c565b8101031261015657515f610d3f565b3d9150610d54565b47633ebbc33760e01b5f5260045260245260445ffd5b60405163095ea7b360e01b5f9081527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166004819052602484905290929091602084604481808d5af19060015f5114821615610ecc575b60405215610dfd575b50506109e2565b60405163095ea7b360e01b5f52826004525f60245260205f604481808d5af19060015f5114821615610eb4575b60405215610ea1576040519163095ea7b360e01b5f5260045260245260205f604481808b5af19060015f5114821615610e80575b60405215610e6d575f80610df6565b85635274afe760e01b5f5260045260245ffd5b906001811516610e9857873b15153d15161690610e5e565b503d5f823e3d90fd5b87635274afe760e01b5f5260045260245ffd5b906001811516610e9857893b15153d15161690610e2a565b90893b15153d15161690610ded565b85631a7852a960e31b5f5260045260245ffd5b5060405163846a770360e01b8152600481018790526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610b4b575f91610f4a575b50156109ce565b90506020813d602011610f7d575b81610f656020938361084c565b8101031261015657518015158103610156575f610f43565b3d9150610f58565b631f2a200560e01b5f5260045ffd5b5086156109aa565b634847234360e01b5f5260045ffd5b6326ec736f60e11b5f5260045ffd5b9190811015610fca5760051b0190565b634e487b7160e01b5f52603260045260245ffd5b356001600160a01b03811681036101565790565b335f9081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604090205460ff161561102a57565b63e2517d3f60e01b5f52336004525f60245260445ffd5b5f8181526020818152604080832033845290915290205460ff16156110635750565b63e2517d3f60e01b5f523360045260245260445ffd5b5f818152602081815260408083206001600160a01b038616845290915290205460ff166110fb575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50505f90565b5f818152602081815260408083206001600160a01b038616845290915290205460ff16156110fb575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b9190820391821161118e57565b634e487b7160e01b5f52601160045260245ffd5b8054821015610fca575f5260205f2001905f90565b5f8181526003602052604090205480156110fb575f19810181811161118e576002545f1981019190821161118e5781810361123e575b505050600254801561122a575f19016112078160026111a2565b8154905f199060031b1b191690556002555f5260036020525f6040812055600190565b634e487b7160e01b5f52603160045260245ffd5b61127661124f6112609360026111a2565b90549060031b1c92839260026111a2565b819391549060031b91821b915f19901b19161790565b90555f52600360205260405f20555f80806111ed565b805f52600360205260405f2054155f146112e1576002546801000000000000000081101561086e576112ca61126082600185940160025560026111a2565b9055600254905f52600360205260405f2055600190565b505f90565b60405163cdf456e160e01b8152602081600481305afa908115610b4b575f9161130d575090565b90506020813d602011611344575b816113286020938361084c565b8101031261015657516001600160a01b03811681036101565790565b3d915061131b56fea264697066735822122040cbe3e5bcc4f8aa428d8d8641805806464196752519cc462d68b2096955122b64736f6c634300081c00332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d3c1b1854ab1360abbb06c8d4c6b2672d4b8cedc5eff522ab19e51d5cb8fdbd46ad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb50000000000000000000000000000000000001ff3684f28c67538d4d072c22734000000000000000000000000773541f7c38be8106ae966ca9d6fee494a0edd24000000000000000000000000f8cbf6437d2473ec59885299af38d9a13ce97eca0000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x1f", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xcbc0c348feca6fd0461c66a8bff7964e664ab64efb497337abfe39091b01458f", + "hash": "0x0b9c670188616682af66fc5ac039e2f525d3d027e4ffba5e69449c38a023b49a", + "transactionType": "CREATE2", + "contractName": "YieldSeekerAaveV3Adapter", + "contractAddress": "0xc6b0eeff559a23187506440f8c62f58aea02fb4e", + "function": null, + "arguments": null, + "transaction": { + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0xdb93a", + "value": "0x0", + "input": "0x000000000000000000000000000000000000000000000000000000000000000760a0806040523460215730608052610ac7908161002682396080518160ab0152f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80631cff79cd1461004a5780632e1a7d4d14610045578063658ce9d9146100455763b6b55f2514610045575f80fd5b61012a565b6040366003190112610126576004356001600160a01b0381168103610126576024359067ffffffffffffffff821161012657366023830112156101265781600401359167ffffffffffffffff831161012657366024848301011161012657307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146101175760209260409260246100eb930190610180565b815192839181835280519182918282860152018484015e5f828201840152601f01601f19168101030190f35b633954108560e21b5f5260045ffd5b5f80fd5b3461012657602036600319011261012657633954108560e21b5f5260045ffd5b90601f8019910116810190811067ffffffffffffffff82111761016c57604052565b634e487b7160e01b5f52604160045260245ffd5b90915f9281600411806101265781356001600160e01b03191663b6b55f2560e01b81146105605763658ce9d960e01b811461045d57632e1a7d4d60e01b146101d1576311fa59f360e11b8552600485fd5b909192935061012657806004602092019283910103126101265735906101fe6101f982610954565b6109a1565b6040516370a0823160e01b8152306004820152906001600160a01b038116602083602481845afa928315610388575f93610429575b50831561041a576040516358b50cef60e11b815293602085600481855afa948515610388575f956103f9575b50604051633a9ae92360e11b8152602081600481865afa8015610388575f9660209288926103c7575b50604051631a4ca37b60e21b81526001600160a01b03918216600482015260248101859052306044820152978892606492849291165af1948515610388575f95610393575b506040519081528460208201527f91fb9d98b786c57d74c099ccd2beca1739e9f6a81fb49001ca465c4b7591bbe260403092a36001600160a01b03610310610a2b565b1691823b15610126576040516315041e8160e21b81526001600160a01b03929092166004830152602482018490526044820152905f908290606490829084905af1801561038857610378575b506040519060208201526020815261037560408261014a565b90565b5f6103829161014a565b5f61035c565b6040513d5f823e3d90fd5b9094506020813d6020116103bf575b816103af6020938361014a565b810103126101265751935f6102cd565b3d91506103a2565b60649192506103eb90843d86116103f2575b6103e3818361014a565b810190610935565b9190610288565b503d6103d9565b61041391955060203d6020116103f2576103e3818361014a565b935f61025f565b631f2a200560e01b5f5260045ffd5b9092506020813d602011610455575b816104456020938361014a565b810103126101265751915f610233565b3d9150610438565b50909192935061012657806004602092019283910103126101265735906001600160a01b0361048b82610954565b1682158015610555575b610542576020602491604051928380926370a0823160e01b82523060048301525afa908115610388575f91610510575b508281029281840414901517156104fc576127106104e492049061057c565b6040519060208201526020815261037560408261014a565b634e487b7160e01b5f52601160045260245ffd5b90506020813d60201161053a575b8161052b6020938361014a565b8101031261012657515f6104c5565b3d915061051e565b8263aa31867360e01b5f5260045260245ffd5b506127108311610495565b5050602091935060048101938491010312610126576104e49135905b91909161058b6101f982610954565b5f90831561041a576040516358b50cef60e11b8152906001600160a01b038116602083600481845afa928315610388575f93610914575b50604051633a9ae92360e11b8152602081600481855afa908115610388575f916108f5575b506040516370a0823160e01b815230600482015293602085602481865afa948515610388575f956108c1575b5060405163095ea7b360e01b5f9081526001600160a01b03938416600481905260248b905293929092169160209060448180865af19060015f51148216156108b2575b604052156107fd575b813b15610126575f9160848392604051948593849263617ba03760e01b845260048401528c60248401523060448401528160648401525af18015610388576107e8575b506040516370a0823160e01b815230600482015292602084602481855afa9384156107dd5785946107a9575b508303928311610795576040518681528360208201527ff5681f9d0db1b911ac18ee83d515a1cf1051853a9eae418316a2fdf7dea427c560403092a390938491906001600160a01b0361071f610a2b565b1691823b1561079157604051630d75082f60e11b81526001600160a01b039190911660048201526024810191909152604481019290925282908290606490829084905af1801561078657610771575050565b61077c82809261014a565b6107835750565b80fd5b6040513d84823e3d90fd5b8480fd5b634e487b7160e01b84526011600452602484fd5b9093506020813d6020116107d5575b816107c56020938361014a565b810103126101265751925f6106ce565b3d91506107b8565b6040513d87823e3d90fd5b6107f59194505f9061014a565b5f925f6106a2565b60405163095ea7b360e01b5f52826004525f60245260205f60448180865af19060015f511482161561089a575b604052156108675760405163095ea7b360e01b5f52826004528860245260205f60448180865af19060015f5114821615610879575b60405261065f575b635274afe760e01b5f5260045260245ffd5b90600181151661089157823b15153d1516169061085f565b503d5f823e3d90fd5b90600181151661089157823b15153d1516169061082a565b90823b15153d15161690610656565b9094506020813d6020116108ed575b816108dd6020938361014a565b810103126101265751935f610613565b3d91506108d0565b61090e915060203d6020116103f2576103e3818361014a565b5f6105e7565b61092e91935060203d6020116103f2576103e3818361014a565b915f6105c2565b9081602091031261012657516001600160a01b03811681036101265790565b6040516358b50cef60e11b815290602090829060049082906001600160a01b03165afa908115610388575f91610988575090565b610375915060203d6020116103f2576103e3818361014a565b60405163cdf456e160e01b8152602081600481305afa908115610388575f916109e9575b506001600160a01b039081169116036109da57565b634847234360e01b5f5260045ffd5b90506020813d602011610a23575b81610a046020938361014a565b8101031261012657516001600160a01b0381168103610126575f6109c5565b3d91506109f7565b604051633325e1df60e01b8152602081600481305afa908115610388575f91610a52575090565b90506020813d602011610a89575b81610a6d6020938361014a565b8101031261012657516001600160a01b03811681036101265790565b3d9150610a6056fea2646970667358221220689633d3b0ae0d4a27c990ba06279bd71a8e147fb45da6d1813ff2c60d51004f64736f6c634300081c0033", + "nonce": "0x20", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8024f30e19b3a959805a95c7250ce1b4a96115ec7534a8b1fd06a5100cf1d4f1", + "transactionType": "CREATE2", + "contractName": "YieldSeekerCompoundV3Adapter", + "contractAddress": "0x65b65d4bf565b3ba92371ccd0b157da1bcb3b1a8", + "function": null, + "arguments": null, + "transaction": { + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0xde6da", + "value": "0x0", + "input": "0x000000000000000000000000000000000000000000000000000000000000000760a0806040523460215730608052610aee908161002682396080518160ab0152f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80631cff79cd1461004a5780632e1a7d4d14610045578063658ce9d9146100455763b6b55f2514610045575f80fd5b61012a565b6040366003190112610126576004356001600160a01b0381168103610126576024359067ffffffffffffffff821161012657366023830112156101265781600401359167ffffffffffffffff831161012657366024848301011161012657307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146101175760209260409260246100eb930190610180565b815192839181835280519182918282860152018484015e5f828201840152601f01601f19168101030190f35b633954108560e21b5f5260045ffd5b5f80fd5b3461012657602036600319011261012657633954108560e21b5f5260045ffd5b90601f8019910116810190811067ffffffffffffffff82111761016c57604052565b634e487b7160e01b5f52604160045260245ffd5b90915f9281600411806101265781356001600160e01b03191663b6b55f2560e01b81146105ef5763658ce9d960e01b81146104ec57632e1a7d4d60e01b146101d1576311fa59f360e11b8552600485fd5b93929361012657806004602092019283910103126101265735916101fc6101f78261096e565b6109bb565b6040516370a0823160e01b8152306004820152906001600160a01b038116602083602481845afa92831561043b575f936104b8575b5084156104a95760405163c55dae6360e01b8152602081600481855afa90811561043b575f9161047a575b506040516370a0823160e01b8152306004820152906001600160a01b03811690602083602481855afa92831561043b575f93610446575b50833b156101265760405163f3fef3a360e01b81526001600160a01b03919091166004820152602481018890525f8160448183885af1801561043b5761041f575b50906020602492604051938480926370a0823160e01b82523060048301525afa80156104145786906103e0575b61030b9250610a45565b946040519081528560208201527f91fb9d98b786c57d74c099ccd2beca1739e9f6a81fb49001ca465c4b7591bbe260403092a36001600160a01b0361034e610a52565b1690813b156103dc576040516315041e8160e21b81526001600160a01b0391909116600482015260248101859052604481019290925282908290606490829084905af180156103d1576103b9575b5050604051906020820152602081526103b660408261014a565b90565b6103c482809261014a565b6103ce578061039c565b80fd5b6040513d84823e3d90fd5b8380fd5b506020823d60201161040c575b816103fa6020938361014a565b810103126101265761030b9151610301565b3d91506103ed565b6040513d88823e3d90fd5b6024929196505f61042f9161014a565b60205f969192506102d4565b6040513d5f823e3d90fd5b9092506020813d602011610472575b816104626020938361014a565b810103126101265751915f610293565b3d9150610455565b61049c915060203d6020116104a2575b610494818361014a565b81019061094f565b5f61025c565b503d61048a565b631f2a200560e01b5f5260045ffd5b9092506020813d6020116104e4575b816104d46020938361014a565b810103126101265751915f610231565b3d91506104c7565b50909192935061012657806004602092019283910103126101265735906001600160a01b0361051a8261096e565b16821580156105e4575b6105d1576020602491604051928380926370a0823160e01b82523060048301525afa90811561043b575f9161059f575b5082810292818404149015171561058b5761271061057392049061060b565b604051906020820152602081526103b660408261014a565b634e487b7160e01b5f52601160045260245ffd5b90506020813d6020116105c9575b816105ba6020938361014a565b8101031261012657515f610554565b3d91506105ad565b8263aa31867360e01b5f5260045260245ffd5b506127108311610524565b5050602091935060048101938491010312610126576105739135905b91909161061a6101f78261096e565b5f9083156104a95760405163c55dae6360e01b81526001600160a01b0382169190602081600481865afa90811561043b575f91610930575b506040516370a0823160e01b815230600482015290602082602481875afa91821561043b575f926108fc575b5060018060a01b03811660405163095ea7b360e01b5f52856004528860245260205f60448180865af19060015f51148216156108ed575b60405215610838575b50833b1561012657604051631e573fb760e31b81526001600160a01b03919091166004820152602481018790525f8160448183885af1801561043b57610823575b506040516370a0823160e01b815230600482015290602082602481875afa80156108185785906107e4575b6107349250610a45565b916040518681528360208201527ff5681f9d0db1b911ac18ee83d515a1cf1051853a9eae418316a2fdf7dea427c560403092a390938491906001600160a01b0361077c610a52565b1691823b156107e057604051630d75082f60e11b81526001600160a01b039190911660048201526024810191909152604481019290925282908290606490829084905af180156103d1576107ce575050565b6107d982809261014a565b6103ce5750565b8480fd5b506020823d602011610810575b816107fe6020938361014a565b8101031261012657610734915161072a565b3d91506107f1565b6040513d87823e3d90fd5b6108309194505f9061014a565b5f925f6106ff565b60405163095ea7b360e01b5f52856004525f60245260205f60448180865af19060015f51148216156108d5575b604052156108a25760405163095ea7b360e01b5f52856004528860245260205f60448180865af19060015f51148216156108b4575b6040526106be575b635274afe760e01b5f5260045260245ffd5b9060018115166108cc57823b15153d1516169061089a565b503d5f823e3d90fd5b9060018115166108cc57823b15153d15161690610865565b90823b15153d151616906106b5565b9091506020813d602011610928575b816109186020938361014a565b810103126101265751905f61067e565b3d915061090b565b610949915060203d6020116104a257610494818361014a565b5f610652565b9081602091031261012657516001600160a01b03811681036101265790565b60405163c55dae6360e01b815290602090829060049082906001600160a01b03165afa90811561043b575f916109a2575090565b6103b6915060203d6020116104a257610494818361014a565b60405163cdf456e160e01b8152602081600481305afa90811561043b575f91610a03575b506001600160a01b039081169116036109f457565b634847234360e01b5f5260045ffd5b90506020813d602011610a3d575b81610a1e6020938361014a565b8101031261012657516001600160a01b0381168103610126575f6109df565b3d9150610a11565b9190820391821161058b57565b604051633325e1df60e01b8152602081600481305afa90811561043b575f91610a79575090565b90506020813d602011610ab0575b81610a946020938361014a565b8101031261012657516001600160a01b03811681036101265790565b3d9150610a8756fea264697066735822122067667956e7bfb951b8c681a473936ec527b99118312664881c48f3ca1c7b6c5964736f6c634300081c0033", + "nonce": "0x21", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x15609bceeca492c7f63ce7d6b141755d1449f86deffee156521720899df6a27d", + "transactionType": "CREATE2", + "contractName": "YieldSeekerCompoundV2Adapter", + "contractAddress": "0x976cedebd26e4d78cbfdb789186510ab9a5747e3", + "function": null, + "arguments": null, + "transaction": { + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0xe7b4f", + "value": "0x0", + "input": "0x000000000000000000000000000000000000000000000000000000000000000760a0806040523460215730608052610abd908161002682396080518160ab0152f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80631cff79cd1461004a5780632e1a7d4d14610045578063658ce9d9146100455763b6b55f2514610045575f80fd5b61012a565b6040366003190112610126576004356001600160a01b0381168103610126576024359067ffffffffffffffff821161012657366023830112156101265781600401359167ffffffffffffffff831161012657366024848301011161012657307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146101175760209260409260246100eb930190610180565b815192839181835280519182918282860152018484015e5f828201840152601f01601f19168101030190f35b633954108560e21b5f5260045ffd5b5f80fd5b3461012657602036600319011261012657633954108560e21b5f5260045ffd5b90601f8019910116810190811067ffffffffffffffff82111761016c57604052565b634e487b7160e01b5f52604160045260245ffd5b90915f9281600411806101265781356001600160e01b03191663b6b55f2560e01b81146105585763658ce9d960e01b811461046957632e1a7d4d60e01b146101d1576311fa59f360e11b8552600485fd5b909192935061012657806004602092019283910103126101265735906101fe6101f982610937565b610997565b6040516370a0823160e01b81523060048201526001600160a01b0382169190602081602481865afa908115610360575f91610437575b5060405163182df0f560e01b8152602081600481875afa908115610360575f916103fd575b5061026d90670de0b6b3a764000092610984565b049183156103ee5760405163852a12e360e01b8152600481018590526020816024815f865af1908115610360575f916103bc575b5061036b576040518481528460208201527f91fb9d98b786c57d74c099ccd2beca1739e9f6a81fb49001ca465c4b7591bbe260403092a36001600160a01b036102e8610a21565b1691823b15610126576040516315041e8160e21b81526001600160a01b03929092166004830152602482018490526044820152905f908290606490829084905af1801561036057610350575b506040519060208201526020815261034d60408261014a565b90565b5f61035a9161014a565b5f610334565b6040513d5f823e3d90fd5b60405162461bcd60e51b815260206004820152602360248201527f41574b436f6d706f756e645632416461707465723a2072656465656d206661696044820152621b195960ea1b6064820152608490fd5b90506020813d6020116103e6575b816103d76020938361014a565b8101031261012657515f6102a1565b3d91506103ca565b631f2a200560e01b5f5260045ffd5b90506020813d60201161042f575b816104186020938361014a565b810103126101265751670de0b6b3a7640000610259565b3d915061040b565b90506020813d602011610461575b816104526020938361014a565b8101031261012657515f610234565b3d9150610445565b5090919294935061012657806004602092019283910103126101265735916001600160a01b0361049882610937565b168315801561054d575b61053a5792602060249394604051948580926370a0823160e01b82523060048301525afa928315610360575f93610504575b506104e5612710916104ec94610984565b0490610574565b6040519060208201526020815261034d60408261014a565b92506020833d602011610532575b8161051f6020938361014a565b81010312610126579151916104e56104d4565b3d9150610512565b8363aa31867360e01b5f5260045260245ffd5b5061271084116104a2565b5050602091935060048101938491010312610126576104ec9135905b91906105826101f984610937565b80156103ee57604051636f307dc360e01b8152926001600160a01b038116602085600481845afa948515610360575f956108e7575b506040516370a0823160e01b815230600482015294602086602481855afa958615610360575f966108b3575b5060018060a01b031660405163095ea7b360e01b5f52826004528460245260205f60448180865af19060015f51148216156108a4575b604052156107ef575b5060405163140e25ad60e31b8152600481018490526020816024815f865af1908115610360575f916107bd575b5061076e576040516370a0823160e01b815230600482015294602086602481855afa958615610360575f9661073a575b508503948511610726576040518381528560208201527ff5681f9d0db1b911ac18ee83d515a1cf1051853a9eae418316a2fdf7dea427c560403092a3836001600160a01b036106cc610a21565b16803b1561012657604051630d75082f60e11b81526001600160a01b0393909316600484015260248301939093526044820152905f908290606490829084905af180156103605761071a5750565b5f6107249161014a565b565b634e487b7160e01b5f52601160045260245ffd5b9095506020813d602011610766575b816107566020938361014a565b810103126101265751945f61067f565b3d9150610749565b60405162461bcd60e51b815260206004820152602160248201527f41574b436f6d706f756e645632416461707465723a206d696e74206661696c656044820152601960fa1b6064820152608490fd5b90506020813d6020116107e7575b816107d86020938361014a565b8101031261012657515f61064f565b3d91506107cb565b60405163095ea7b360e01b5f52826004525f60245260205f60448180865af19060015f511482161561088c575b604052156108595760405163095ea7b360e01b5f52826004528460245260205f60448180865af19060015f511482161561086b575b604052610622575b635274afe760e01b5f5260045260245ffd5b90600181151661088357823b15153d15161690610851565b503d5f823e3d90fd5b90600181151661088357823b15153d1516169061081c565b90823b15153d15161690610619565b9095506020813d6020116108df575b816108cf6020938361014a565b810103126101265751945f6105e3565b3d91506108c2565b61090a91955060203d602011610911575b610902818361014a565b810190610918565b935f6105b7565b503d6108f8565b9081602091031261012657516001600160a01b03811681036101265790565b604051636f307dc360e01b815290602090829060049082906001600160a01b03165afa908115610360575f9161096b575090565b61034d915060203d60201161091157610902818361014a565b8181029291811591840414171561072657565b60405163cdf456e160e01b8152602081600481305afa908115610360575f916109df575b506001600160a01b039081169116036109d057565b634847234360e01b5f5260045ffd5b90506020813d602011610a19575b816109fa6020938361014a565b8101031261012657516001600160a01b0381168103610126575f6109bb565b3d91506109ed565b604051633325e1df60e01b8152602081600481305afa908115610360575f91610a48575090565b90506020813d602011610a7f575b81610a636020938361014a565b8101031261012657516001600160a01b03811681036101265790565b3d9150610a5656fea26469706673582212208bc733b0c53da15737d0223756cec8cc0ea27958eba8e6a0029e108e68e0707564736f6c634300081c0033", + "nonce": "0x22", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x24741c019a3325872896aa557b3b226bb2f2780a6c89d9b7061d236d676ebe71", "transactionType": "CALL", "contractName": "YieldSeekerAdminTimelock", - "contractAddress": "0x60163d6406503426e712ed6c507137229552756d", + "contractAddress": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "function": "scheduleBatch(address[],uint256[],bytes[],bytes32,bytes32,uint256)", "arguments": [ - "[0x23AAFAeb5B78816dBCf20D503A73Cd9750A21d63, 0x23AAFAeb5B78816dBCf20D503A73Cd9750A21d63, 0x23AAFAeb5B78816dBCf20D503A73Cd9750A21d63, 0x81f17748B0abE955790346B904f6B78E67594ed0, 0x81f17748B0abE955790346B904f6B78E67594ed0, 0x81f17748B0abE955790346B904f6B78E67594ed0]", - "[0, 0, 0, 0, 0, 0]", - "[0xc68e00fb0000000000000000000000000fe7ff9421839bd2cf4d0d959450f57491ea1109, 0x5b34b82300000000000000000000000081f17748b0abe955790346b904f6b78e67594ed0, 0x9277a185000000000000000000000000e128c4962c7d6b73197e04640b15896fcfaca7d5, 0x22f2caf1000000000000000000000000905cd24370018befb6c648420d35dfeba9e62602, 0x22f2caf1000000000000000000000000d28d02f82a1d735c973b5b24c30ed7a56839fb96, 0x22f2caf100000000000000000000000015a8067f0b38e29f7fcffb93f85c585748d49d82]", + "[0x9900f8019b20e822E2D5897db246a376A9514C8F, 0x9900f8019b20e822E2D5897db246a376A9514C8F, 0x9900f8019b20e822E2D5897db246a376A9514C8F, 0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA, 0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA, 0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA, 0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA, 0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA, 0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA]", + "[0, 0, 0, 0, 0, 0, 0, 0, 0]", + "[0xc68e00fb00000000000000000000000014283f733d6f73ca116eaa07af7c8c16b1cef7e3, 0x5b34b8230000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca, 0x9277a1850000000000000000000000002e11edc25e5f2391cd9225a7c107d1b41ebacc9f, 0x22f2caf100000000000000000000000098474be8d188f450fef65b5c6d290d333eb74a2f, 0x22f2caf1000000000000000000000000063e92a335be85a7ae6d2de28397dcf40423c45f, 0x22f2caf1000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c466, 0x22f2caf1000000000000000000000000c6b0eeff559a23187506440f8c62f58aea02fb4e, 0x22f2caf100000000000000000000000065b65d4bf565b3ba92371ccd0b157da1bcb3b1a8, 0x22f2caf1000000000000000000000000976cedebd26e4d78cbfdb789186510ab9a5747e3]", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x00000000000000000000000000000000000000000000000000000000000003e8", "0" ], "transaction": { "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", - "to": "0x60163d6406503426e712ed6c507137229552756d", - "gas": "0x1e607", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "gas": "0x24acc", "value": "0x0", - "input": "0x8f2a0bb000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000023aafaeb5b78816dbcf20d503a73cd9750a21d6300000000000000000000000023aafaeb5b78816dbcf20d503a73cd9750a21d6300000000000000000000000023aafaeb5b78816dbcf20d503a73cd9750a21d6300000000000000000000000081f17748b0abe955790346b904f6b78e67594ed000000000000000000000000081f17748b0abe955790346b904f6b78e67594ed000000000000000000000000081f17748b0abe955790346b904f6b78e67594ed00000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000002a00000000000000000000000000000000000000000000000000000000000000024c68e00fb0000000000000000000000000fe7ff9421839bd2cf4d0d959450f57491ea11090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000245b34b82300000000000000000000000081f17748b0abe955790346b904f6b78e67594ed00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000249277a185000000000000000000000000e128c4962c7d6b73197e04640b15896fcfaca7d500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000905cd24370018befb6c648420d35dfeba9e6260200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000d28d02f82a1d735c973b5b24c30ed7a56839fb9600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf100000000000000000000000015a8067f0b38e29f7fcffb93f85c585748d49d8200000000000000000000000000000000000000000000000000000000", - "nonce": "0x8", + "input": "0x8f2a0bb000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090000000000000000000000009900f8019b20e822e2d5897db246a376a9514c8f0000000000000000000000009900f8019b20e822e2d5897db246a376a9514c8f0000000000000000000000009900f8019b20e822e2d5897db246a376a9514c8f0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000002a00000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004200000000000000000000000000000000000000000000000000000000000000024c68e00fb00000000000000000000000014283f733d6f73ca116eaa07af7c8c16b1cef7e30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000245b34b8230000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000249277a1850000000000000000000000002e11edc25e5f2391cd9225a7c107d1b41ebacc9f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf100000000000000000000000098474be8d188f450fef65b5c6d290d333eb74a2f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000063e92a335be85a7ae6d2de28397dcf40423c45f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c46600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000c6b0eeff559a23187506440f8c62f58aea02fb4e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf100000000000000000000000065b65d4bf565b3ba92371ccd0b157da1bcb3b1a800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000976cedebd26e4d78cbfdb789186510ab9a5747e300000000000000000000000000000000000000000000000000000000", + "nonce": "0x23", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x65af8b1c033fe85568f720f90d598ce20960f0f9b5b97a70b702f6e875dcdaa1", + "hash": "0xcd90c6463b6429688c1737a4c44bfcdc8dcc81cf8aaced36093cb399bdb084cb", "transactionType": "CALL", "contractName": "YieldSeekerAdminTimelock", - "contractAddress": "0x60163d6406503426e712ed6c507137229552756d", + "contractAddress": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "function": "executeBatch(address[],uint256[],bytes[],bytes32,bytes32)", "arguments": [ - "[0x23AAFAeb5B78816dBCf20D503A73Cd9750A21d63, 0x23AAFAeb5B78816dBCf20D503A73Cd9750A21d63, 0x23AAFAeb5B78816dBCf20D503A73Cd9750A21d63, 0x81f17748B0abE955790346B904f6B78E67594ed0, 0x81f17748B0abE955790346B904f6B78E67594ed0, 0x81f17748B0abE955790346B904f6B78E67594ed0]", - "[0, 0, 0, 0, 0, 0]", - "[0xc68e00fb0000000000000000000000000fe7ff9421839bd2cf4d0d959450f57491ea1109, 0x5b34b82300000000000000000000000081f17748b0abe955790346b904f6b78e67594ed0, 0x9277a185000000000000000000000000e128c4962c7d6b73197e04640b15896fcfaca7d5, 0x22f2caf1000000000000000000000000905cd24370018befb6c648420d35dfeba9e62602, 0x22f2caf1000000000000000000000000d28d02f82a1d735c973b5b24c30ed7a56839fb96, 0x22f2caf100000000000000000000000015a8067f0b38e29f7fcffb93f85c585748d49d82]", + "[0x9900f8019b20e822E2D5897db246a376A9514C8F, 0x9900f8019b20e822E2D5897db246a376A9514C8F, 0x9900f8019b20e822E2D5897db246a376A9514C8F, 0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA, 0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA, 0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA, 0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA, 0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA, 0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA]", + "[0, 0, 0, 0, 0, 0, 0, 0, 0]", + "[0xc68e00fb00000000000000000000000014283f733d6f73ca116eaa07af7c8c16b1cef7e3, 0x5b34b8230000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca, 0x9277a1850000000000000000000000002e11edc25e5f2391cd9225a7c107d1b41ebacc9f, 0x22f2caf100000000000000000000000098474be8d188f450fef65b5c6d290d333eb74a2f, 0x22f2caf1000000000000000000000000063e92a335be85a7ae6d2de28397dcf40423c45f, 0x22f2caf1000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c466, 0x22f2caf1000000000000000000000000c6b0eeff559a23187506440f8c62f58aea02fb4e, 0x22f2caf100000000000000000000000065b65d4bf565b3ba92371ccd0b157da1bcb3b1a8, 0x22f2caf1000000000000000000000000976cedebd26e4d78cbfdb789186510ab9a5747e3]", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x00000000000000000000000000000000000000000000000000000000000003e8" ], "transaction": { "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", - "to": "0x60163d6406503426e712ed6c507137229552756d", - "gas": "0x5027b", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "gas": "0x77930", "value": "0x0", - "input": "0xe38335e500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000000600000000000000000000000023aafaeb5b78816dbcf20d503a73cd9750a21d6300000000000000000000000023aafaeb5b78816dbcf20d503a73cd9750a21d6300000000000000000000000023aafaeb5b78816dbcf20d503a73cd9750a21d6300000000000000000000000081f17748b0abe955790346b904f6b78e67594ed000000000000000000000000081f17748b0abe955790346b904f6b78e67594ed000000000000000000000000081f17748b0abe955790346b904f6b78e67594ed00000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000002a00000000000000000000000000000000000000000000000000000000000000024c68e00fb0000000000000000000000000fe7ff9421839bd2cf4d0d959450f57491ea11090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000245b34b82300000000000000000000000081f17748b0abe955790346b904f6b78e67594ed00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000249277a185000000000000000000000000e128c4962c7d6b73197e04640b15896fcfaca7d500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000905cd24370018befb6c648420d35dfeba9e6260200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000d28d02f82a1d735c973b5b24c30ed7a56839fb9600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf100000000000000000000000015a8067f0b38e29f7fcffb93f85c585748d49d8200000000000000000000000000000000000000000000000000000000", - "nonce": "0x9", + "input": "0xe38335e500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000000090000000000000000000000009900f8019b20e822e2d5897db246a376a9514c8f0000000000000000000000009900f8019b20e822e2d5897db246a376a9514c8f0000000000000000000000009900f8019b20e822e2d5897db246a376a9514c8f0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000002a00000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004200000000000000000000000000000000000000000000000000000000000000024c68e00fb00000000000000000000000014283f733d6f73ca116eaa07af7c8c16b1cef7e30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000245b34b8230000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000249277a1850000000000000000000000002e11edc25e5f2391cd9225a7c107d1b41ebacc9f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf100000000000000000000000098474be8d188f450fef65b5c6d290d333eb74a2f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000063e92a335be85a7ae6d2de28397dcf40423c45f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c46600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000c6b0eeff559a23187506440f8c62f58aea02fb4e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf100000000000000000000000065b65d4bf565b3ba92371ccd0b157da1bcb3b1a800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000976cedebd26e4d78cbfdb789186510ab9a5747e300000000000000000000000000000000000000000000000000000000", + "nonce": "0x24", "chainId": "0x2105" }, "additionalContracts": [], @@ -224,27 +284,27 @@ "receipts": [ { "status": "0x1", - "cumulativeGasUsed": "0x14512c1", + "cumulativeGasUsed": "0x1729c8b", "logs": [ { - "address": "0x60163d6406503426e712ed6c507137229552756d", + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000060163d6406503426e712ed6c507137229552756d", + "0x000000000000000000000000773541f7c38be8106ae966ca9d6fee494a0edd24", "0x0000000000000000000000004e59b44847b379578588920ca78fbf26c0b4956c" ], "data": "0x", - "blockHash": "0xa8917895167433972e6fb39802fc823eb38eff0dbbe0d78d6e15cd9a6a49939e", - "blockNumber": "0x26c0bb5", - "blockTimestamp": "0x6962744d", - "transactionHash": "0xba4b51caf4af8220fa2436d1a39e97c40710037ecbb540366213ce3531bec0d9", - "transactionIndex": "0x5d", - "logIndex": "0x254", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0x8c27f572246018455ff55f2f0ba8db816d9c5efafc2118908c9174ed41eb378a", + "transactionIndex": "0x3b", + "logIndex": "0x16b", "removed": false }, { - "address": "0x60163d6406503426e712ed6c507137229552756d", + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", "0xb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1", @@ -252,16 +312,16 @@ "0x0000000000000000000000004e59b44847b379578588920ca78fbf26c0b4956c" ], "data": "0x", - "blockHash": "0xa8917895167433972e6fb39802fc823eb38eff0dbbe0d78d6e15cd9a6a49939e", - "blockNumber": "0x26c0bb5", - "blockTimestamp": "0x6962744d", - "transactionHash": "0xba4b51caf4af8220fa2436d1a39e97c40710037ecbb540366213ce3531bec0d9", - "transactionIndex": "0x5d", - "logIndex": "0x255", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0x8c27f572246018455ff55f2f0ba8db816d9c5efafc2118908c9174ed41eb378a", + "transactionIndex": "0x3b", + "logIndex": "0x16c", "removed": false }, { - "address": "0x60163d6406503426e712ed6c507137229552756d", + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", "0xfd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783", @@ -269,16 +329,16 @@ "0x0000000000000000000000004e59b44847b379578588920ca78fbf26c0b4956c" ], "data": "0x", - "blockHash": "0xa8917895167433972e6fb39802fc823eb38eff0dbbe0d78d6e15cd9a6a49939e", - "blockNumber": "0x26c0bb5", - "blockTimestamp": "0x6962744d", - "transactionHash": "0xba4b51caf4af8220fa2436d1a39e97c40710037ecbb540366213ce3531bec0d9", - "transactionIndex": "0x5d", - "logIndex": "0x256", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0x8c27f572246018455ff55f2f0ba8db816d9c5efafc2118908c9174ed41eb378a", + "transactionIndex": "0x3b", + "logIndex": "0x16d", "removed": false }, { - "address": "0x60163d6406503426e712ed6c507137229552756d", + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", "0xd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63", @@ -286,72 +346,72 @@ "0x0000000000000000000000004e59b44847b379578588920ca78fbf26c0b4956c" ], "data": "0x", - "blockHash": "0xa8917895167433972e6fb39802fc823eb38eff0dbbe0d78d6e15cd9a6a49939e", - "blockNumber": "0x26c0bb5", - "blockTimestamp": "0x6962744d", - "transactionHash": "0xba4b51caf4af8220fa2436d1a39e97c40710037ecbb540366213ce3531bec0d9", - "transactionIndex": "0x5d", - "logIndex": "0x257", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0x8c27f572246018455ff55f2f0ba8db816d9c5efafc2118908c9174ed41eb378a", + "transactionIndex": "0x3b", + "logIndex": "0x16e", "removed": false }, { - "address": "0x60163d6406503426e712ed6c507137229552756d", + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "topics": [ "0x11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d5" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xa8917895167433972e6fb39802fc823eb38eff0dbbe0d78d6e15cd9a6a49939e", - "blockNumber": "0x26c0bb5", - "blockTimestamp": "0x6962744d", - "transactionHash": "0xba4b51caf4af8220fa2436d1a39e97c40710037ecbb540366213ce3531bec0d9", - "transactionIndex": "0x5d", - "logIndex": "0x258", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0x8c27f572246018455ff55f2f0ba8db816d9c5efafc2118908c9174ed41eb378a", + "transactionIndex": "0x3b", + "logIndex": "0x16f", "removed": false } ], - "logsBloom": "0x00000004000200000000000000000000020000000000000000000000000000400200000000000000000000080001000000000000000000000200000010200000000200000000000000000010000000000000000000000000000000000000000000080000020000000000000000000800000000000000000000020000000000000000000000040040000000000000000000000000001000080000000000000000000000000021800000000000000000000000000000000000001000000000000000000000000000004000000000000000000000000000000100000100200020000000000000000000000000000000000080000000000000000000000000000000", + "logsBloom": "0x00000084000200000000000000000000020000000000000000000000000000000200000000000000000000000001000000000000000000000200004010200000000000000000000000800010000000000000000000000000000000000000000000000000020000000000000000000800000000000000000000020400000000000000000000000000000000000000000000000000001000080000000000000000000000000021800000000000000000000000000000000000001000000000000000000000000000004000000400000010000000000000000100000100200020000000000000000000000000000000000080000000000000000000000000000000", "type": "0x2", - "transactionHash": "0xba4b51caf4af8220fa2436d1a39e97c40710037ecbb540366213ce3531bec0d9", - "transactionIndex": "0x5d", - "blockHash": "0xa8917895167433972e6fb39802fc823eb38eff0dbbe0d78d6e15cd9a6a49939e", - "blockNumber": "0x26c0bb5", - "gasUsed": "0x14be87", - "effectiveGasPrice": "0xfbe22", - "blobGasUsed": "0x1244f4", + "transactionHash": "0x8c27f572246018455ff55f2f0ba8db816d9c5efafc2118908c9174ed41eb378a", + "transactionIndex": "0x3b", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "gasUsed": "0x14be7b", + "effectiveGasPrice": "0x533991", + "blobGasUsed": "0x7d1ed", "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "contractAddress": "0x60163d6406503426e712ed6c507137229552756d", - "daFootprintGasScalar": "0x145", + "contractAddress": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "daFootprintGasScalar": "0x8b", "l1BaseFeeScalar": "0x8dd", - "l1BlobBaseFee": "0x1de93f", + "l1BlobBaseFee": "0x2e7418", "l1BlobBaseFeeScalar": "0x101c12", - "l1Fee": "0x2f146f824", - "l1GasPrice": "0x23baaa2", - "l1GasUsed": "0xe64d" + "l1Fee": "0x4831b166f", + "l1GasPrice": "0x35a0dd7", + "l1GasUsed": "0xe675" }, { "status": "0x1", - "cumulativeGasUsed": "0x1587849", + "cumulativeGasUsed": "0x1860213", "logs": [ { - "address": "0x23aafaeb5b78816dbcf20d503a73cd9750a21d63", + "address": "0x9900f8019b20e822e2d5897db246a376a9514c8f", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000060163d6406503426e712ed6c507137229552756d", + "0x000000000000000000000000773541f7c38be8106ae966ca9d6fee494a0edd24", "0x0000000000000000000000004e59b44847b379578588920ca78fbf26c0b4956c" ], "data": "0x", - "blockHash": "0xa8917895167433972e6fb39802fc823eb38eff0dbbe0d78d6e15cd9a6a49939e", - "blockNumber": "0x26c0bb5", - "blockTimestamp": "0x6962744d", - "transactionHash": "0x7556e7e15ddb03c8761b98a889bdec5734f9e20151b58ee7335f7fd8fe4bb305", - "transactionIndex": "0x5e", - "logIndex": "0x259", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xece501c1f307b9929175776c6911d75d94e3618de1c872bb2f6a8b4676754b4e", + "transactionIndex": "0x3c", + "logIndex": "0x170", "removed": false }, { - "address": "0x23aafaeb5b78816dbcf20d503a73cd9750a21d63", + "address": "0x9900f8019b20e822e2d5897db246a376a9514c8f", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", "0x2fbb137a62ebd69bc6a41f4b4e96301da2105eef211fb1a3c75e8cfb9bfe7879", @@ -359,97 +419,97 @@ "0x0000000000000000000000004e59b44847b379578588920ca78fbf26c0b4956c" ], "data": "0x", - "blockHash": "0xa8917895167433972e6fb39802fc823eb38eff0dbbe0d78d6e15cd9a6a49939e", - "blockNumber": "0x26c0bb5", - "blockTimestamp": "0x6962744d", - "transactionHash": "0x7556e7e15ddb03c8761b98a889bdec5734f9e20151b58ee7335f7fd8fe4bb305", - "transactionIndex": "0x5e", - "logIndex": "0x25a", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xece501c1f307b9929175776c6911d75d94e3618de1c872bb2f6a8b4676754b4e", + "transactionIndex": "0x3c", + "logIndex": "0x171", "removed": false } ], - "logsBloom": "0x00001004002000000000000000100000010000000000000000000000010000400000000000000000000000080000000000000000000000000000000000000000000200000000001000000000000000000000000000000000000000000000000000000000020000000000000000000800000000000000000000000000000000000000010000000000000000000000000000000000001000000000000000000000000000000001000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000100000000000020020000000000000000000000000000000080000000080000000000000000000000", + "logsBloom": "0x00001004000002000000000000100000010000000000000000000000010000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000008000000800000000000000000000000000000000000000010000000000000000000000000000000000001000000000000000010000000000000001000000000000000000000000000000000000001000000000000000000000000000000000000400000010000000000000000100000000000020020000000000000000000000000000000080000000000000000000000000000000", "type": "0x2", - "transactionHash": "0x7556e7e15ddb03c8761b98a889bdec5734f9e20151b58ee7335f7fd8fe4bb305", - "transactionIndex": "0x5e", - "blockHash": "0xa8917895167433972e6fb39802fc823eb38eff0dbbe0d78d6e15cd9a6a49939e", - "blockNumber": "0x26c0bb5", + "transactionHash": "0xece501c1f307b9929175776c6911d75d94e3618de1c872bb2f6a8b4676754b4e", + "transactionIndex": "0x3c", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", "gasUsed": "0x136588", - "effectiveGasPrice": "0xfbe22", - "blobGasUsed": "0xfb49b", + "effectiveGasPrice": "0x533991", + "blobGasUsed": "0x6b8ab", "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "contractAddress": "0x23aafaeb5b78816dbcf20d503a73cd9750a21d63", - "daFootprintGasScalar": "0x145", + "contractAddress": "0x9900f8019b20e822e2d5897db246a376a9514c8f", + "daFootprintGasScalar": "0x8b", "l1BaseFeeScalar": "0x8dd", - "l1BlobBaseFee": "0x1de93f", + "l1BlobBaseFee": "0x2e7418", "l1BlobBaseFeeScalar": "0x101c12", - "l1Fee": "0x2876d624d", - "l1GasPrice": "0x23baaa2", - "l1GasUsed": "0xc5f1" + "l1Fee": "0x3e0e6d4f3", + "l1GasPrice": "0x35a0dd7", + "l1GasUsed": "0xc619" }, { "status": "0x1", - "cumulativeGasUsed": "0x17fb07b", + "cumulativeGasUsed": "0x1a8f16a", "logs": [ { - "address": "0x0fe7ff9421839bd2cf4d0d959450f57491ea1109", + "address": "0x14283f733d6f73ca116eaa07af7c8c16b1cef7e3", "topics": [ "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" ], "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", - "blockHash": "0xa8917895167433972e6fb39802fc823eb38eff0dbbe0d78d6e15cd9a6a49939e", - "blockNumber": "0x26c0bb5", - "blockTimestamp": "0x6962744d", - "transactionHash": "0x2cdf70d0268ca2dd70328a3f1d83faa45f9480531ec5d530f15abe2a56473f0f", - "transactionIndex": "0x60", - "logIndex": "0x25d", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0x0b9c670188616682af66fc5ac039e2f525d3d027e4ffba5e69449c38a023b49a", + "transactionIndex": "0x3d", + "logIndex": "0x172", "removed": false } ], - "logsBloom": "0x00000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "transactionHash": "0x2cdf70d0268ca2dd70328a3f1d83faa45f9480531ec5d530f15abe2a56473f0f", - "transactionIndex": "0x60", - "blockHash": "0xa8917895167433972e6fb39802fc823eb38eff0dbbe0d78d6e15cd9a6a49939e", - "blockNumber": "0x26c0bb5", - "gasUsed": "0x25e78e", - "effectiveGasPrice": "0xfbe22", - "blobGasUsed": "0x1d358a", + "transactionHash": "0x0b9c670188616682af66fc5ac039e2f525d3d027e4ffba5e69449c38a023b49a", + "transactionIndex": "0x3d", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "gasUsed": "0x22ef57", + "effectiveGasPrice": "0x533991", + "blobGasUsed": "0xbcb73", "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "contractAddress": "0x0fe7ff9421839bd2cf4d0d959450f57491ea1109", - "daFootprintGasScalar": "0x145", + "contractAddress": "0x14283f733d6f73ca116eaa07af7c8c16b1cef7e3", + "daFootprintGasScalar": "0x8b", "l1BaseFeeScalar": "0x8dd", - "l1BlobBaseFee": "0x1de93f", + "l1BlobBaseFee": "0x2e7418", "l1BlobBaseFeeScalar": "0x101c12", - "l1Fee": "0x4b4354f2f", - "l1GasPrice": "0x23baaa2", - "l1GasUsed": "0x1702b" + "l1Fee": "0x6ce57a6de", + "l1GasPrice": "0x35a0dd7", + "l1GasUsed": "0x15b9f" }, { "status": "0x1", - "cumulativeGasUsed": "0x18c9fc0", + "cumulativeGasUsed": "0x1b5e0af", "logs": [ { - "address": "0x81f17748b0abe955790346b904f6b78e67594ed0", + "address": "0x0021c1fdd50aa76fb59afe3fc3a38c02c257bdca", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000060163d6406503426e712ed6c507137229552756d", + "0x000000000000000000000000773541f7c38be8106ae966ca9d6fee494a0edd24", "0x0000000000000000000000004e59b44847b379578588920ca78fbf26c0b4956c" ], "data": "0x", - "blockHash": "0xa8917895167433972e6fb39802fc823eb38eff0dbbe0d78d6e15cd9a6a49939e", - "blockNumber": "0x26c0bb5", - "blockTimestamp": "0x6962744d", - "transactionHash": "0x3d741471d6fee67090289f518710f0e8a3f0fb6e4df6d16760d0ffcb8f0d892f", - "transactionIndex": "0x61", - "logIndex": "0x25e", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0x30dbae9ea9e5131f93cbe3a867fc9bb6cf2a4235b48d4ea6e8de53e5303761c8", + "transactionIndex": "0x3e", + "logIndex": "0x173", "removed": false }, { - "address": "0x81f17748b0abe955790346b904f6b78e67594ed0", + "address": "0x0021c1fdd50aa76fb59afe3fc3a38c02c257bdca", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", "0xbf233dd2aafeb4d50879c4aa5c81e96d92f6e6945c906a58f9f2d1c1631b4b26", @@ -457,503 +517,751 @@ "0x0000000000000000000000004e59b44847b379578588920ca78fbf26c0b4956c" ], "data": "0x", - "blockHash": "0xa8917895167433972e6fb39802fc823eb38eff0dbbe0d78d6e15cd9a6a49939e", - "blockNumber": "0x26c0bb5", - "blockTimestamp": "0x6962744d", - "transactionHash": "0x3d741471d6fee67090289f518710f0e8a3f0fb6e4df6d16760d0ffcb8f0d892f", - "transactionIndex": "0x61", - "logIndex": "0x25f", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0x30dbae9ea9e5131f93cbe3a867fc9bb6cf2a4235b48d4ea6e8de53e5303761c8", + "transactionIndex": "0x3e", + "logIndex": "0x174", "removed": false } ], - "logsBloom": "0x00000004000200000000000400000000000000000000000000000000000000400200000000000000000000080040000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000410000000000000020000000000008000000800000000000000000000000000000000000000008000000000000000000000000000000000001000000000000000000000000000000001800000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000100000000000020000000000000000000000000000000000080000000000000000000000000000000", + "logsBloom": "0x00000004000200000000000000000000000000000000000000000000000000000200000000000000000000000040000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000010000000000000020000000000008000000800000000000000000000000000000000000000000000000000000000000000000000000004001000000000000000000000000000000001800000000000000000000000000000000000001000000000000000000000000000000000000400000010000000000000000100000000000020100000000000000000000000000000000080000000000000010000000000000000", "type": "0x2", - "transactionHash": "0x3d741471d6fee67090289f518710f0e8a3f0fb6e4df6d16760d0ffcb8f0d892f", - "transactionIndex": "0x61", - "blockHash": "0xa8917895167433972e6fb39802fc823eb38eff0dbbe0d78d6e15cd9a6a49939e", - "blockNumber": "0x26c0bb5", + "transactionHash": "0x30dbae9ea9e5131f93cbe3a867fc9bb6cf2a4235b48d4ea6e8de53e5303761c8", + "transactionIndex": "0x3e", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", "gasUsed": "0xcef45", - "effectiveGasPrice": "0xfbe22", - "blobGasUsed": "0xb1053", + "effectiveGasPrice": "0x533991", + "blobGasUsed": "0x4bcfe", "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "contractAddress": "0x81f17748b0abe955790346b904f6b78e67594ed0", - "daFootprintGasScalar": "0x145", + "contractAddress": "0x0021c1fdd50aa76fb59afe3fc3a38c02c257bdca", + "daFootprintGasScalar": "0x8b", "l1BaseFeeScalar": "0x8dd", - "l1BlobBaseFee": "0x1de93f", + "l1BlobBaseFee": "0x2e7418", "l1BlobBaseFeeScalar": "0x101c12", - "l1Fee": "0x1c83f6151", - "l1GasPrice": "0x23baaa2", - "l1GasUsed": "0x8b7d" + "l1Fee": "0x2bbf041bb", + "l1GasPrice": "0x35a0dd7", + "l1GasUsed": "0x8ba5" }, { "status": "0x1", - "cumulativeGasUsed": "0x19a20f2", + "cumulativeGasUsed": "0x1c4c307", "logs": [ { - "address": "0xe128c4962c7d6b73197e04640b15896fcfaca7d5", + "address": "0x2e11edc25e5f2391cd9225a7c107d1b41ebacc9f", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000060163d6406503426e712ed6c507137229552756d", + "0x000000000000000000000000773541f7c38be8106ae966ca9d6fee494a0edd24", "0x0000000000000000000000004e59b44847b379578588920ca78fbf26c0b4956c" ], "data": "0x", - "blockHash": "0xa8917895167433972e6fb39802fc823eb38eff0dbbe0d78d6e15cd9a6a49939e", - "blockNumber": "0x26c0bb5", - "blockTimestamp": "0x6962744d", - "transactionHash": "0xfc911b5f981c72ba5b4e0d3ffe9fd0f30a1bcc5de944e6a9fdc8990c9654c58c", - "transactionIndex": "0x62", - "logIndex": "0x260", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0x15609bceeca492c7f63ce7d6b141755d1449f86deffee156521720899df6a27d", + "transactionIndex": "0x3f", + "logIndex": "0x175", "removed": false } ], - "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000400000000000000000000000080000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000020040000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000001000000000000000000000002000000000000001000000000000000000000000000000000000000000000000020000000000100000000000020000000000000000000000000000000000080000000000000000000000000000000", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000400000000000020000000000000020000000100000000000800000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000001000000000000000000000000000000000000001000000000000000000000000000000000000400000010000000000000000100000000000020000000000000000000000000000000000080000000000000000000000000000000", "type": "0x2", - "transactionHash": "0xfc911b5f981c72ba5b4e0d3ffe9fd0f30a1bcc5de944e6a9fdc8990c9654c58c", - "transactionIndex": "0x62", - "blockHash": "0xa8917895167433972e6fb39802fc823eb38eff0dbbe0d78d6e15cd9a6a49939e", - "blockNumber": "0x26c0bb5", - "gasUsed": "0xd8132", - "effectiveGasPrice": "0xfbe22", - "blobGasUsed": "0xaf096", + "transactionHash": "0x15609bceeca492c7f63ce7d6b141755d1449f86deffee156521720899df6a27d", + "transactionIndex": "0x3f", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "gasUsed": "0xee258", + "effectiveGasPrice": "0x533991", + "blobGasUsed": "0x51eba", "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "contractAddress": "0xe128c4962c7d6b73197e04640b15896fcfaca7d5", - "daFootprintGasScalar": "0x145", + "contractAddress": "0x2e11edc25e5f2391cd9225a7c107d1b41ebacc9f", + "daFootprintGasScalar": "0x8b", "l1BaseFeeScalar": "0x8dd", - "l1BlobBaseFee": "0x1de93f", + "l1BlobBaseFee": "0x2e7418", "l1BlobBaseFeeScalar": "0x101c12", - "l1Fee": "0x1c31e16a5", - "l1GasPrice": "0x23baaa2", - "l1GasUsed": "0x89ec" + "l1Fee": "0x2f4470f46", + "l1GasPrice": "0x35a0dd7", + "l1GasUsed": "0x96e3" }, { "status": "0x1", - "cumulativeGasUsed": "0x1a2701a", + "cumulativeGasUsed": "0x1cd1223", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "transactionHash": "0x8824f4e199cb9ad5594d318dbc33c4592ee2ffb523f727d318cd768e7701d171", - "transactionIndex": "0x63", - "blockHash": "0xa8917895167433972e6fb39802fc823eb38eff0dbbe0d78d6e15cd9a6a49939e", - "blockNumber": "0x26c0bb5", - "gasUsed": "0x84f28", - "effectiveGasPrice": "0xfbe22", - "blobGasUsed": "0x6d2e0", + "transactionHash": "0x7b00c930985dc5150eb462be54706b1b8c987d2fd1ab9168406f25e3d62cedce", + "transactionIndex": "0x40", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "gasUsed": "0x84f1c", + "effectiveGasPrice": "0x533991", + "blobGasUsed": "0x2edd7", "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "contractAddress": "0x905cd24370018befb6c648420d35dfeba9e62602", - "daFootprintGasScalar": "0x145", + "contractAddress": "0x98474be8d188f450fef65b5c6d290d333eb74a2f", + "daFootprintGasScalar": "0x8b", "l1BaseFeeScalar": "0x8dd", - "l1BlobBaseFee": "0x1de93f", + "l1BlobBaseFee": "0x2e7418", "l1BlobBaseFeeScalar": "0x101c12", - "l1Fee": "0x1197be8e4", - "l1GasPrice": "0x23baaa2", - "l1GasUsed": "0x560f" + "l1Fee": "0x1b0a7cbe6", + "l1GasPrice": "0x35a0dd7", + "l1GasUsed": "0x5652" }, { "status": "0x1", - "cumulativeGasUsed": "0x1acd105", + "cumulativeGasUsed": "0x1d7730e", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "transactionHash": "0x8cd9c75b35a9ad0d1479c7668c4f57fd75d738c6924d19aec402a6cce78573b5", - "transactionIndex": "0x64", - "blockHash": "0xa8917895167433972e6fb39802fc823eb38eff0dbbe0d78d6e15cd9a6a49939e", - "blockNumber": "0x26c0bb5", + "transactionHash": "0x0daabdfb07a8cd04d02c33141e1a96204f9fd4eb6cc254b736e46fe5155d46c7", + "transactionIndex": "0x41", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", "gasUsed": "0xa60eb", - "effectiveGasPrice": "0xfbe22", - "blobGasUsed": "0x95e25", + "effectiveGasPrice": "0x533991", + "blobGasUsed": "0x4034c", + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "contractAddress": "0x063e92a335be85a7ae6d2de28397dcf40423c45f", + "daFootprintGasScalar": "0x8b", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x2e7418", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x250c363cd", + "l1GasPrice": "0x35a0dd7", + "l1GasUsed": "0x7643" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x1e9b8d6", + "logs": [ + { + "address": "0x153e4801852249d1f7d05ccb13c1d1cf8ae7c466", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000773541f7c38be8106ae966ca9d6fee494a0edd24", + "0x0000000000000000000000004e59b44847b379578588920ca78fbf26c0b4956c" + ], + "data": "0x", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0x24741c019a3325872896aa557b3b226bb2f2780a6c89d9b7061d236d676ebe71", + "transactionIndex": "0x42", + "logIndex": "0x176", + "removed": false + }, + { + "address": "0x153e4801852249d1f7d05ccb13c1d1cf8ae7c466", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xbf233dd2aafeb4d50879c4aa5c81e96d92f6e6945c906a58f9f2d1c1631b4b26", + "0x000000000000000000000000f8cbf6437d2473ec59885299af38d9a13ce97eca", + "0x0000000000000000000000004e59b44847b379578588920ca78fbf26c0b4956c" + ], + "data": "0x", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0x24741c019a3325872896aa557b3b226bb2f2780a6c89d9b7061d236d676ebe71", + "transactionIndex": "0x42", + "logIndex": "0x177", + "removed": false + } + ], + "logsBloom": "0x00000004000200000000000000000000000000000000000000000000000000000200000100000000000000000040000000000000000000400000004000000000000000000000000000000000000000000000000000000000000000000010000000000000020000000000008000000800000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000001800000000000000000000000000000000000001000000000000000000000000000000000000400000010000000000000000100000000000020000000000000000000004000000000000080000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x24741c019a3325872896aa557b3b226bb2f2780a6c89d9b7061d236d676ebe71", + "transactionIndex": "0x42", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "gasUsed": "0x1245c8", + "effectiveGasPrice": "0x533991", + "blobGasUsed": "0x6d713", + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "contractAddress": "0x153e4801852249d1f7d05ccb13c1d1cf8ae7c466", + "daFootprintGasScalar": "0x8b", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x2e7418", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x3f2756135", + "l1GasPrice": "0x35a0dd7", + "l1GasUsed": "0xc999" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x1f3a85a", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xce6126bfe544a722a46d69af2967864bb13ed35f7210f44c8541f1a0265dcb5e", + "transactionIndex": "0x43", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "gasUsed": "0x9ef84", + "effectiveGasPrice": "0x533991", + "blobGasUsed": "0x3843e", + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "contractAddress": "0xc6b0eeff559a23187506440f8c62f58aea02fb4e", + "daFootprintGasScalar": "0x8b", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x2e7418", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x207a74998", + "l1GasPrice": "0x35a0dd7", + "l1GasUsed": "0x67ad" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x1fdb8e6", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x8024f30e19b3a959805a95c7250ce1b4a96115ec7534a8b1fd06a5100cf1d4f1", + "transactionIndex": "0x44", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "gasUsed": "0xa108c", + "effectiveGasPrice": "0x533991", + "blobGasUsed": "0x37b8e", "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "contractAddress": "0xd28d02f82a1d735c973b5b24c30ed7a56839fb96", - "daFootprintGasScalar": "0x145", + "contractAddress": "0x65b65d4bf565b3ba92371ccd0b157da1bcb3b1a8", + "daFootprintGasScalar": "0x8b", "l1BaseFeeScalar": "0x8dd", - "l1BlobBaseFee": "0x1de93f", + "l1BlobBaseFee": "0x2e7418", "l1BlobBaseFeeScalar": "0x101c12", - "l1Fee": "0x1824ed632", - "l1GasPrice": "0x23baaa2", - "l1GasUsed": "0x761b" + "l1Fee": "0x202acb6d5", + "l1GasPrice": "0x35a0dd7", + "l1GasUsed": "0x66af" }, { "status": "0x1", - "cumulativeGasUsed": "0x1d57757", + "cumulativeGasUsed": "0x2079fd0", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "transactionHash": "0x65af8b1c033fe85568f720f90d598ce20960f0f9b5b97a70b702f6e875dcdaa1", - "transactionIndex": "0x74", - "blockHash": "0xa8917895167433972e6fb39802fc823eb38eff0dbbe0d78d6e15cd9a6a49939e", - "blockNumber": "0x26c0bb5", - "gasUsed": "0x8b5d5", - "effectiveGasPrice": "0xfbe22", - "blobGasUsed": "0x7b61f", + "transactionHash": "0x05b9cb5f0e27c04ef4da54621cf87927807adcd7e3e8c55829a1c611356751b9", + "transactionIndex": "0x45", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "gasUsed": "0x9e6ea", + "effectiveGasPrice": "0x533991", + "blobGasUsed": "0x37dba", "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "contractAddress": "0x15a8067f0b38e29f7fcffb93f85c585748d49d82", - "daFootprintGasScalar": "0x145", + "contractAddress": "0x976cedebd26e4d78cbfdb789186510ab9a5747e3", + "daFootprintGasScalar": "0x8b", "l1BaseFeeScalar": "0x8dd", - "l1BlobBaseFee": "0x1de93f", + "l1BlobBaseFee": "0x2e7418", "l1BlobBaseFeeScalar": "0x101c12", - "l1Fee": "0x13e140ea2", - "l1GasPrice": "0x23baaa2", - "l1GasUsed": "0x613f" + "l1Fee": "0x203b90ba0", + "l1GasPrice": "0x35a0dd7", + "l1GasUsed": "0x66e4" }, { "status": "0x1", - "cumulativeGasUsed": "0x1d6d737", + "cumulativeGasUsed": "0x2760256", "logs": [ { - "address": "0x60163d6406503426e712ed6c507137229552756d", + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "topics": [ "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", - "0xa4a4ecb5f57bc2ec579db47a3587224715af39df976a895c3c0c520156e59b8a", + "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", "0x0000000000000000000000000000000000000000000000000000000000000000" ], - "data": "0x00000000000000000000000023aafaeb5b78816dbcf20d503a73cd9750a21d63000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024c68e00fb0000000000000000000000000fe7ff9421839bd2cf4d0d959450f57491ea110900000000000000000000000000000000000000000000000000000000", - "blockHash": "0xa8917895167433972e6fb39802fc823eb38eff0dbbe0d78d6e15cd9a6a49939e", - "blockNumber": "0x26c0bb5", - "blockTimestamp": "0x6962744d", - "transactionHash": "0x4dfc82a3f687b63a8420921951ba11cb4f4cf0b4a56d93f4ece4af9bec899235", - "transactionIndex": "0x75", - "logIndex": "0x299", + "data": "0x0000000000000000000000009900f8019b20e822e2d5897db246a376a9514c8f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024c68e00fb00000000000000000000000014283f733d6f73ca116eaa07af7c8c16b1cef7e300000000000000000000000000000000000000000000000000000000", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xcd90c6463b6429688c1737a4c44bfcdc8dcc81cf8aaced36093cb399bdb084cb", + "transactionIndex": "0x5f", + "logIndex": "0x1bc", "removed": false }, { - "address": "0x60163d6406503426e712ed6c507137229552756d", + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "topics": [ "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", - "0xa4a4ecb5f57bc2ec579db47a3587224715af39df976a895c3c0c520156e59b8a", + "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", "0x0000000000000000000000000000000000000000000000000000000000000001" ], - "data": "0x00000000000000000000000023aafaeb5b78816dbcf20d503a73cd9750a21d63000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000245b34b82300000000000000000000000081f17748b0abe955790346b904f6b78e67594ed000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xa8917895167433972e6fb39802fc823eb38eff0dbbe0d78d6e15cd9a6a49939e", - "blockNumber": "0x26c0bb5", - "blockTimestamp": "0x6962744d", - "transactionHash": "0x4dfc82a3f687b63a8420921951ba11cb4f4cf0b4a56d93f4ece4af9bec899235", - "transactionIndex": "0x75", - "logIndex": "0x29a", + "data": "0x0000000000000000000000009900f8019b20e822e2d5897db246a376a9514c8f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000245b34b8230000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca00000000000000000000000000000000000000000000000000000000", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xcd90c6463b6429688c1737a4c44bfcdc8dcc81cf8aaced36093cb399bdb084cb", + "transactionIndex": "0x5f", + "logIndex": "0x1bd", "removed": false }, { - "address": "0x60163d6406503426e712ed6c507137229552756d", + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "topics": [ "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", - "0xa4a4ecb5f57bc2ec579db47a3587224715af39df976a895c3c0c520156e59b8a", + "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", "0x0000000000000000000000000000000000000000000000000000000000000002" ], - "data": "0x00000000000000000000000023aafaeb5b78816dbcf20d503a73cd9750a21d63000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000249277a185000000000000000000000000e128c4962c7d6b73197e04640b15896fcfaca7d500000000000000000000000000000000000000000000000000000000", - "blockHash": "0xa8917895167433972e6fb39802fc823eb38eff0dbbe0d78d6e15cd9a6a49939e", - "blockNumber": "0x26c0bb5", - "blockTimestamp": "0x6962744d", - "transactionHash": "0x4dfc82a3f687b63a8420921951ba11cb4f4cf0b4a56d93f4ece4af9bec899235", - "transactionIndex": "0x75", - "logIndex": "0x29b", + "data": "0x0000000000000000000000009900f8019b20e822e2d5897db246a376a9514c8f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000249277a1850000000000000000000000002e11edc25e5f2391cd9225a7c107d1b41ebacc9f00000000000000000000000000000000000000000000000000000000", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xcd90c6463b6429688c1737a4c44bfcdc8dcc81cf8aaced36093cb399bdb084cb", + "transactionIndex": "0x5f", + "logIndex": "0x1be", "removed": false }, { - "address": "0x60163d6406503426e712ed6c507137229552756d", + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "topics": [ "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", - "0xa4a4ecb5f57bc2ec579db47a3587224715af39df976a895c3c0c520156e59b8a", + "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", "0x0000000000000000000000000000000000000000000000000000000000000003" ], - "data": "0x00000000000000000000000081f17748b0abe955790346b904f6b78e67594ed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000905cd24370018befb6c648420d35dfeba9e6260200000000000000000000000000000000000000000000000000000000", - "blockHash": "0xa8917895167433972e6fb39802fc823eb38eff0dbbe0d78d6e15cd9a6a49939e", - "blockNumber": "0x26c0bb5", - "blockTimestamp": "0x6962744d", - "transactionHash": "0x4dfc82a3f687b63a8420921951ba11cb4f4cf0b4a56d93f4ece4af9bec899235", - "transactionIndex": "0x75", - "logIndex": "0x29c", + "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf100000000000000000000000098474be8d188f450fef65b5c6d290d333eb74a2f00000000000000000000000000000000000000000000000000000000", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xcd90c6463b6429688c1737a4c44bfcdc8dcc81cf8aaced36093cb399bdb084cb", + "transactionIndex": "0x5f", + "logIndex": "0x1bf", "removed": false }, { - "address": "0x60163d6406503426e712ed6c507137229552756d", + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "topics": [ "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", - "0xa4a4ecb5f57bc2ec579db47a3587224715af39df976a895c3c0c520156e59b8a", + "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", "0x0000000000000000000000000000000000000000000000000000000000000004" ], - "data": "0x00000000000000000000000081f17748b0abe955790346b904f6b78e67594ed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000d28d02f82a1d735c973b5b24c30ed7a56839fb9600000000000000000000000000000000000000000000000000000000", - "blockHash": "0xa8917895167433972e6fb39802fc823eb38eff0dbbe0d78d6e15cd9a6a49939e", - "blockNumber": "0x26c0bb5", - "blockTimestamp": "0x6962744d", - "transactionHash": "0x4dfc82a3f687b63a8420921951ba11cb4f4cf0b4a56d93f4ece4af9bec899235", - "transactionIndex": "0x75", - "logIndex": "0x29d", + "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000063e92a335be85a7ae6d2de28397dcf40423c45f00000000000000000000000000000000000000000000000000000000", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xcd90c6463b6429688c1737a4c44bfcdc8dcc81cf8aaced36093cb399bdb084cb", + "transactionIndex": "0x5f", + "logIndex": "0x1c0", "removed": false }, { - "address": "0x60163d6406503426e712ed6c507137229552756d", + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "topics": [ "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", - "0xa4a4ecb5f57bc2ec579db47a3587224715af39df976a895c3c0c520156e59b8a", + "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", "0x0000000000000000000000000000000000000000000000000000000000000005" ], - "data": "0x00000000000000000000000081f17748b0abe955790346b904f6b78e67594ed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf100000000000000000000000015a8067f0b38e29f7fcffb93f85c585748d49d8200000000000000000000000000000000000000000000000000000000", - "blockHash": "0xa8917895167433972e6fb39802fc823eb38eff0dbbe0d78d6e15cd9a6a49939e", - "blockNumber": "0x26c0bb5", - "blockTimestamp": "0x6962744d", - "transactionHash": "0x4dfc82a3f687b63a8420921951ba11cb4f4cf0b4a56d93f4ece4af9bec899235", - "transactionIndex": "0x75", - "logIndex": "0x29e", + "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c46600000000000000000000000000000000000000000000000000000000", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xcd90c6463b6429688c1737a4c44bfcdc8dcc81cf8aaced36093cb399bdb084cb", + "transactionIndex": "0x5f", + "logIndex": "0x1c1", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", + "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", + "0x0000000000000000000000000000000000000000000000000000000000000006" + ], + "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000c6b0eeff559a23187506440f8c62f58aea02fb4e00000000000000000000000000000000000000000000000000000000", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xcd90c6463b6429688c1737a4c44bfcdc8dcc81cf8aaced36093cb399bdb084cb", + "transactionIndex": "0x5f", + "logIndex": "0x1c2", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", + "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", + "0x0000000000000000000000000000000000000000000000000000000000000007" + ], + "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf100000000000000000000000065b65d4bf565b3ba92371ccd0b157da1bcb3b1a800000000000000000000000000000000000000000000000000000000", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xcd90c6463b6429688c1737a4c44bfcdc8dcc81cf8aaced36093cb399bdb084cb", + "transactionIndex": "0x5f", + "logIndex": "0x1c3", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", + "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", + "0x0000000000000000000000000000000000000000000000000000000000000008" + ], + "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000976cedebd26e4d78cbfdb789186510ab9a5747e300000000000000000000000000000000000000000000000000000000", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xcd90c6463b6429688c1737a4c44bfcdc8dcc81cf8aaced36093cb399bdb084cb", + "transactionIndex": "0x5f", + "logIndex": "0x1c4", "removed": false }, { - "address": "0x60163d6406503426e712ed6c507137229552756d", + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "topics": [ "0x20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d0387", - "0xa4a4ecb5f57bc2ec579db47a3587224715af39df976a895c3c0c520156e59b8a" + "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05" ], "data": "0x00000000000000000000000000000000000000000000000000000000000003e8", - "blockHash": "0xa8917895167433972e6fb39802fc823eb38eff0dbbe0d78d6e15cd9a6a49939e", - "blockNumber": "0x26c0bb5", - "blockTimestamp": "0x6962744d", - "transactionHash": "0x4dfc82a3f687b63a8420921951ba11cb4f4cf0b4a56d93f4ece4af9bec899235", - "transactionIndex": "0x75", - "logIndex": "0x29f", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xcd90c6463b6429688c1737a4c44bfcdc8dcc81cf8aaced36093cb399bdb084cb", + "transactionIndex": "0x5f", + "logIndex": "0x1c5", "removed": false } ], - "logsBloom": "0x04000000000000000200000040000000000000000000000000000000000000000000000000000000000000000010000100000000820000000000000000040000000010000000000000000000000000000000000000040008000000000000000008080000020000000000000000000800000080000000000000000000000000000000000000040040000000000000001000000800000000000000000000000000000000000000000000000100000000000000000000800000002000000000400000000000000000000000000000000000000000008000400000000000000060000000000000000008000000000000000000000000008000000000000000000000", + "logsBloom": "0x04000080000000000000000040000000000000000000000000000000000000000000000000000000000000000000000100001000820480000000000000040000000030000000000000800000000000000000000000040008000000000000000008000000020000000000000000000800000080000000000000000400000000000080000400000000000000000000001000000800000000000000000000000100000000000000000000004100000004000000000000800000002000080000400040000000000000000000000000000000000000008000400000000100000060000000000000000000000000000000000000000000008000000000000000000000", "type": "0x2", - "transactionHash": "0x4dfc82a3f687b63a8420921951ba11cb4f4cf0b4a56d93f4ece4af9bec899235", - "transactionIndex": "0x75", - "blockHash": "0xa8917895167433972e6fb39802fc823eb38eff0dbbe0d78d6e15cd9a6a49939e", - "blockNumber": "0x26c0bb5", - "gasUsed": "0x15fe0", - "effectiveGasPrice": "0xfbe22", - "blobGasUsed": "0x19640", + "transactionHash": "0xcd90c6463b6429688c1737a4c44bfcdc8dcc81cf8aaced36093cb399bdb084cb", + "transactionIndex": "0x5f", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "gasUsed": "0x1a8d5", + "effectiveGasPrice": "0x533991", + "blobGasUsed": "0xe497", "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", - "to": "0x60163d6406503426e712ed6c507137229552756d", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "contractAddress": null, - "daFootprintGasScalar": "0x145", + "daFootprintGasScalar": "0x8b", "l1BaseFeeScalar": "0x8dd", - "l1BlobBaseFee": "0x1de93f", + "l1BlobBaseFee": "0x2e7418", "l1BlobBaseFeeScalar": "0x101c12", - "l1Fee": "0x41825451", - "l1GasPrice": "0x23baaa2", - "l1GasUsed": "0x1407" + "l1Fee": "0x8417d1f0", + "l1GasPrice": "0x35a0dd7", + "l1GasUsed": "0x1a5a" }, { "status": "0x1", - "cumulativeGasUsed": "0x1da77b6", + "cumulativeGasUsed": "0x27b1e80", "logs": [ { - "address": "0x23aafaeb5b78816dbcf20d503a73cd9750a21d63", + "address": "0x9900f8019b20e822e2d5897db246a376a9514c8f", "topics": [ "0xab64f92ab780ecbf4f3866f57cee465ff36c89450dcce20237ca7a8d81fb7d13", - "0x0000000000000000000000000fe7ff9421839bd2cf4d0d959450f57491ea1109" + "0x00000000000000000000000014283f733d6f73ca116eaa07af7c8c16b1cef7e3" ], "data": "0x", - "blockHash": "0xa8917895167433972e6fb39802fc823eb38eff0dbbe0d78d6e15cd9a6a49939e", - "blockNumber": "0x26c0bb5", - "blockTimestamp": "0x6962744d", - "transactionHash": "0xcbc0c348feca6fd0461c66a8bff7964e664ab64efb497337abfe39091b01458f", - "transactionIndex": "0x76", - "logIndex": "0x2a0", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", + "transactionIndex": "0x60", + "logIndex": "0x1c6", "removed": false }, { - "address": "0x60163d6406503426e712ed6c507137229552756d", + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "topics": [ "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", - "0xa4a4ecb5f57bc2ec579db47a3587224715af39df976a895c3c0c520156e59b8a", + "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", "0x0000000000000000000000000000000000000000000000000000000000000000" ], - "data": "0x00000000000000000000000023aafaeb5b78816dbcf20d503a73cd9750a21d63000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c68e00fb0000000000000000000000000fe7ff9421839bd2cf4d0d959450f57491ea110900000000000000000000000000000000000000000000000000000000", - "blockHash": "0xa8917895167433972e6fb39802fc823eb38eff0dbbe0d78d6e15cd9a6a49939e", - "blockNumber": "0x26c0bb5", - "blockTimestamp": "0x6962744d", - "transactionHash": "0xcbc0c348feca6fd0461c66a8bff7964e664ab64efb497337abfe39091b01458f", - "transactionIndex": "0x76", - "logIndex": "0x2a1", + "data": "0x0000000000000000000000009900f8019b20e822e2d5897db246a376a9514c8f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c68e00fb00000000000000000000000014283f733d6f73ca116eaa07af7c8c16b1cef7e300000000000000000000000000000000000000000000000000000000", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", + "transactionIndex": "0x60", + "logIndex": "0x1c7", "removed": false }, { - "address": "0x23aafaeb5b78816dbcf20d503a73cd9750a21d63", + "address": "0x9900f8019b20e822e2d5897db246a376a9514c8f", "topics": [ "0x482b97c53e48ffa324a976e2738053e9aff6eee04d8aac63b10e19411d869b82", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000081f17748b0abe955790346b904f6b78e67594ed0" + "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca" ], "data": "0x", - "blockHash": "0xa8917895167433972e6fb39802fc823eb38eff0dbbe0d78d6e15cd9a6a49939e", - "blockNumber": "0x26c0bb5", - "blockTimestamp": "0x6962744d", - "transactionHash": "0xcbc0c348feca6fd0461c66a8bff7964e664ab64efb497337abfe39091b01458f", - "transactionIndex": "0x76", - "logIndex": "0x2a2", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", + "transactionIndex": "0x60", + "logIndex": "0x1c8", "removed": false }, { - "address": "0x60163d6406503426e712ed6c507137229552756d", + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "topics": [ "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", - "0xa4a4ecb5f57bc2ec579db47a3587224715af39df976a895c3c0c520156e59b8a", + "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", "0x0000000000000000000000000000000000000000000000000000000000000001" ], - "data": "0x00000000000000000000000023aafaeb5b78816dbcf20d503a73cd9750a21d630000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000245b34b82300000000000000000000000081f17748b0abe955790346b904f6b78e67594ed000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xa8917895167433972e6fb39802fc823eb38eff0dbbe0d78d6e15cd9a6a49939e", - "blockNumber": "0x26c0bb5", - "blockTimestamp": "0x6962744d", - "transactionHash": "0xcbc0c348feca6fd0461c66a8bff7964e664ab64efb497337abfe39091b01458f", - "transactionIndex": "0x76", - "logIndex": "0x2a3", + "data": "0x0000000000000000000000009900f8019b20e822e2d5897db246a376a9514c8f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000245b34b8230000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca00000000000000000000000000000000000000000000000000000000", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", + "transactionIndex": "0x60", + "logIndex": "0x1c9", "removed": false }, { - "address": "0x23aafaeb5b78816dbcf20d503a73cd9750a21d63", + "address": "0x9900f8019b20e822e2d5897db246a376a9514c8f", "topics": [ "0x5a69769904291a5b71c7f53981055587f0f849edb458cc47e64510be36d164d3", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000e128c4962c7d6b73197e04640b15896fcfaca7d5" + "0x0000000000000000000000002e11edc25e5f2391cd9225a7c107d1b41ebacc9f" ], "data": "0x", - "blockHash": "0xa8917895167433972e6fb39802fc823eb38eff0dbbe0d78d6e15cd9a6a49939e", - "blockNumber": "0x26c0bb5", - "blockTimestamp": "0x6962744d", - "transactionHash": "0xcbc0c348feca6fd0461c66a8bff7964e664ab64efb497337abfe39091b01458f", - "transactionIndex": "0x76", - "logIndex": "0x2a4", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", + "transactionIndex": "0x60", + "logIndex": "0x1ca", "removed": false }, { - "address": "0x60163d6406503426e712ed6c507137229552756d", + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "topics": [ "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", - "0xa4a4ecb5f57bc2ec579db47a3587224715af39df976a895c3c0c520156e59b8a", + "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", "0x0000000000000000000000000000000000000000000000000000000000000002" ], - "data": "0x00000000000000000000000023aafaeb5b78816dbcf20d503a73cd9750a21d630000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000249277a185000000000000000000000000e128c4962c7d6b73197e04640b15896fcfaca7d500000000000000000000000000000000000000000000000000000000", - "blockHash": "0xa8917895167433972e6fb39802fc823eb38eff0dbbe0d78d6e15cd9a6a49939e", - "blockNumber": "0x26c0bb5", - "blockTimestamp": "0x6962744d", - "transactionHash": "0xcbc0c348feca6fd0461c66a8bff7964e664ab64efb497337abfe39091b01458f", - "transactionIndex": "0x76", - "logIndex": "0x2a5", + "data": "0x0000000000000000000000009900f8019b20e822e2d5897db246a376a9514c8f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000249277a1850000000000000000000000002e11edc25e5f2391cd9225a7c107d1b41ebacc9f00000000000000000000000000000000000000000000000000000000", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", + "transactionIndex": "0x60", + "logIndex": "0x1cb", "removed": false }, { - "address": "0x81f17748b0abe955790346b904f6b78e67594ed0", + "address": "0x0021c1fdd50aa76fb59afe3fc3a38c02c257bdca", "topics": [ "0xa77e7c594c11a0d5d9d8e6a9132ac0db912dc0f34f5fb7d94860fe38d16410bd", - "0x000000000000000000000000905cd24370018befb6c648420d35dfeba9e62602" + "0x00000000000000000000000098474be8d188f450fef65b5c6d290d333eb74a2f" ], "data": "0x", - "blockHash": "0xa8917895167433972e6fb39802fc823eb38eff0dbbe0d78d6e15cd9a6a49939e", - "blockNumber": "0x26c0bb5", - "blockTimestamp": "0x6962744d", - "transactionHash": "0xcbc0c348feca6fd0461c66a8bff7964e664ab64efb497337abfe39091b01458f", - "transactionIndex": "0x76", - "logIndex": "0x2a6", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", + "transactionIndex": "0x60", + "logIndex": "0x1cc", "removed": false }, { - "address": "0x60163d6406503426e712ed6c507137229552756d", + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "topics": [ "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", - "0xa4a4ecb5f57bc2ec579db47a3587224715af39df976a895c3c0c520156e59b8a", + "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", "0x0000000000000000000000000000000000000000000000000000000000000003" ], - "data": "0x00000000000000000000000081f17748b0abe955790346b904f6b78e67594ed000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000905cd24370018befb6c648420d35dfeba9e6260200000000000000000000000000000000000000000000000000000000", - "blockHash": "0xa8917895167433972e6fb39802fc823eb38eff0dbbe0d78d6e15cd9a6a49939e", - "blockNumber": "0x26c0bb5", - "blockTimestamp": "0x6962744d", - "transactionHash": "0xcbc0c348feca6fd0461c66a8bff7964e664ab64efb497337abfe39091b01458f", - "transactionIndex": "0x76", - "logIndex": "0x2a7", + "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002422f2caf100000000000000000000000098474be8d188f450fef65b5c6d290d333eb74a2f00000000000000000000000000000000000000000000000000000000", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", + "transactionIndex": "0x60", + "logIndex": "0x1cd", "removed": false }, { - "address": "0x81f17748b0abe955790346b904f6b78e67594ed0", + "address": "0x0021c1fdd50aa76fb59afe3fc3a38c02c257bdca", "topics": [ "0xa77e7c594c11a0d5d9d8e6a9132ac0db912dc0f34f5fb7d94860fe38d16410bd", - "0x000000000000000000000000d28d02f82a1d735c973b5b24c30ed7a56839fb96" + "0x000000000000000000000000063e92a335be85a7ae6d2de28397dcf40423c45f" ], "data": "0x", - "blockHash": "0xa8917895167433972e6fb39802fc823eb38eff0dbbe0d78d6e15cd9a6a49939e", - "blockNumber": "0x26c0bb5", - "blockTimestamp": "0x6962744d", - "transactionHash": "0xcbc0c348feca6fd0461c66a8bff7964e664ab64efb497337abfe39091b01458f", - "transactionIndex": "0x76", - "logIndex": "0x2a8", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", + "transactionIndex": "0x60", + "logIndex": "0x1ce", "removed": false }, { - "address": "0x60163d6406503426e712ed6c507137229552756d", + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "topics": [ "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", - "0xa4a4ecb5f57bc2ec579db47a3587224715af39df976a895c3c0c520156e59b8a", + "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", "0x0000000000000000000000000000000000000000000000000000000000000004" ], - "data": "0x00000000000000000000000081f17748b0abe955790346b904f6b78e67594ed000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000d28d02f82a1d735c973b5b24c30ed7a56839fb9600000000000000000000000000000000000000000000000000000000", - "blockHash": "0xa8917895167433972e6fb39802fc823eb38eff0dbbe0d78d6e15cd9a6a49939e", - "blockNumber": "0x26c0bb5", - "blockTimestamp": "0x6962744d", - "transactionHash": "0xcbc0c348feca6fd0461c66a8bff7964e664ab64efb497337abfe39091b01458f", - "transactionIndex": "0x76", - "logIndex": "0x2a9", + "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000063e92a335be85a7ae6d2de28397dcf40423c45f00000000000000000000000000000000000000000000000000000000", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", + "transactionIndex": "0x60", + "logIndex": "0x1cf", "removed": false }, { - "address": "0x81f17748b0abe955790346b904f6b78e67594ed0", + "address": "0x0021c1fdd50aa76fb59afe3fc3a38c02c257bdca", "topics": [ "0xa77e7c594c11a0d5d9d8e6a9132ac0db912dc0f34f5fb7d94860fe38d16410bd", - "0x00000000000000000000000015a8067f0b38e29f7fcffb93f85c585748d49d82" + "0x000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c466" ], "data": "0x", - "blockHash": "0xa8917895167433972e6fb39802fc823eb38eff0dbbe0d78d6e15cd9a6a49939e", - "blockNumber": "0x26c0bb5", - "blockTimestamp": "0x6962744d", - "transactionHash": "0xcbc0c348feca6fd0461c66a8bff7964e664ab64efb497337abfe39091b01458f", - "transactionIndex": "0x76", - "logIndex": "0x2aa", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", + "transactionIndex": "0x60", + "logIndex": "0x1d0", "removed": false }, { - "address": "0x60163d6406503426e712ed6c507137229552756d", + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "topics": [ "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", - "0xa4a4ecb5f57bc2ec579db47a3587224715af39df976a895c3c0c520156e59b8a", + "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", "0x0000000000000000000000000000000000000000000000000000000000000005" ], - "data": "0x00000000000000000000000081f17748b0abe955790346b904f6b78e67594ed000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002422f2caf100000000000000000000000015a8067f0b38e29f7fcffb93f85c585748d49d8200000000000000000000000000000000000000000000000000000000", - "blockHash": "0xa8917895167433972e6fb39802fc823eb38eff0dbbe0d78d6e15cd9a6a49939e", - "blockNumber": "0x26c0bb5", - "blockTimestamp": "0x6962744d", - "transactionHash": "0xcbc0c348feca6fd0461c66a8bff7964e664ab64efb497337abfe39091b01458f", - "transactionIndex": "0x76", - "logIndex": "0x2ab", + "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c46600000000000000000000000000000000000000000000000000000000", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", + "transactionIndex": "0x60", + "logIndex": "0x1d1", + "removed": false + }, + { + "address": "0x0021c1fdd50aa76fb59afe3fc3a38c02c257bdca", + "topics": [ + "0xa77e7c594c11a0d5d9d8e6a9132ac0db912dc0f34f5fb7d94860fe38d16410bd", + "0x000000000000000000000000c6b0eeff559a23187506440f8c62f58aea02fb4e" + ], + "data": "0x", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", + "transactionIndex": "0x60", + "logIndex": "0x1d2", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", + "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", + "0x0000000000000000000000000000000000000000000000000000000000000006" + ], + "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000c6b0eeff559a23187506440f8c62f58aea02fb4e00000000000000000000000000000000000000000000000000000000", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", + "transactionIndex": "0x60", + "logIndex": "0x1d3", + "removed": false + }, + { + "address": "0x0021c1fdd50aa76fb59afe3fc3a38c02c257bdca", + "topics": [ + "0xa77e7c594c11a0d5d9d8e6a9132ac0db912dc0f34f5fb7d94860fe38d16410bd", + "0x00000000000000000000000065b65d4bf565b3ba92371ccd0b157da1bcb3b1a8" + ], + "data": "0x", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", + "transactionIndex": "0x60", + "logIndex": "0x1d4", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", + "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", + "0x0000000000000000000000000000000000000000000000000000000000000007" + ], + "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002422f2caf100000000000000000000000065b65d4bf565b3ba92371ccd0b157da1bcb3b1a800000000000000000000000000000000000000000000000000000000", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", + "transactionIndex": "0x60", + "logIndex": "0x1d5", + "removed": false + }, + { + "address": "0x0021c1fdd50aa76fb59afe3fc3a38c02c257bdca", + "topics": [ + "0xa77e7c594c11a0d5d9d8e6a9132ac0db912dc0f34f5fb7d94860fe38d16410bd", + "0x000000000000000000000000976cedebd26e4d78cbfdb789186510ab9a5747e3" + ], + "data": "0x", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", + "transactionIndex": "0x60", + "logIndex": "0x1d6", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", + "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", + "0x0000000000000000000000000000000000000000000000000000000000000008" + ], + "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000976cedebd26e4d78cbfdb789186510ab9a5747e300000000000000000000000000000000000000000000000000000000", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "blockTimestamp": "0x698f8135", + "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", + "transactionIndex": "0x60", + "logIndex": "0x1d7", "removed": false } ], - "logsBloom": "0x04000000002000000200040400000000000800000000000000000000100000100000000000000000000000400010000000000000020a00010000000000840000002010000000001000000010000100000000000000040000000000000400002008080000020000000000000000000804000000200000000000000000000000000000008000040040000000000000001040000800000000000000000082000000000000000000000000000100000000000001000000800000202080400000400000000020100000080000000000000000200400008000000000000000000060000000000100000008800404000000100000000000088000000000000000000000", + "logsBloom": "0x04000080001002008000000000000000000008000000000008000000100004000000100000000000800000000004004000001000020c800100000000000400804020300000000000008000000000000a0000000000040000000000000010002008400000020000000000008000000800001000200000000010000400000000000080000400000000000000000000001040080804000000000000000000210100000000000000200000004100000004000000008000800000202080080000400040000020000000280000002000000020000400008000000000400100000060100000008100000000800004010000000000000000008000010000000000000000", "type": "0x2", - "transactionHash": "0xcbc0c348feca6fd0461c66a8bff7964e664ab64efb497337abfe39091b01458f", - "transactionIndex": "0x76", - "blockHash": "0xa8917895167433972e6fb39802fc823eb38eff0dbbe0d78d6e15cd9a6a49939e", - "blockNumber": "0x26c0bb5", - "gasUsed": "0x3a07f", - "effectiveGasPrice": "0xfbe22", - "blobGasUsed": "0x193b6", + "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", + "transactionIndex": "0x60", + "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", + "blockNumber": "0x2829229", + "gasUsed": "0x51c2a", + "effectiveGasPrice": "0x533991", + "blobGasUsed": "0xe1e0", "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", - "to": "0x60163d6406503426e712ed6c507137229552756d", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "contractAddress": null, - "daFootprintGasScalar": "0x145", + "daFootprintGasScalar": "0x8b", "l1BaseFeeScalar": "0x8dd", - "l1BlobBaseFee": "0x1de93f", + "l1BlobBaseFee": "0x2e7418", "l1BlobBaseFeeScalar": "0x101c12", - "l1Fee": "0x412ac6ce", - "l1GasPrice": "0x23baaa2", - "l1GasUsed": "0x13ec" + "l1Fee": "0x828552c1", + "l1GasPrice": "0x35a0dd7", + "l1GasUsed": "0x1a0a" } ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1768060132625, + "timestamp": 1771012596204, "chain": 8453, - "commit": "a2591e4" + "commit": "feef4c5" } \ No newline at end of file diff --git a/broadcast/RegisterVault.s.sol/8453/run-1771012779218.json b/broadcast/RegisterVault.s.sol/8453/run-1771012779218.json new file mode 100644 index 0000000..93fdc81 --- /dev/null +++ b/broadcast/RegisterVault.s.sol/8453/run-1771012779218.json @@ -0,0 +1,176 @@ +{ + "transactions": [ + { + "hash": "0xbef61aeff36fa7e57d317e861cf6c258babdeb6b58a57321b393ff26f5be412a", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "function": "schedule(address,uint256,bytes,bytes32,bytes32,uint256)", + "arguments": [ + "0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA", + "0", + "0x9362149e0000000000000000000000004e65fe4dba92790696d040ac24aa414708f5c0ab000000000000000000000000c6b0eeff559a23187506440f8c62f58aea02fb4e", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x5b9b78fddd4b54eda824ba287451689459a3a5697bd0dea30a1be199d5751139", + "0" + ], + "transaction": { + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "gas": "0x13289", + "value": "0x0", + "input": "0x01d5062a0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000005b9b78fddd4b54eda824ba287451689459a3a5697bd0dea30a1be199d5751139000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000449362149e0000000000000000000000004e65fe4dba92790696d040ac24aa414708f5c0ab000000000000000000000000c6b0eeff559a23187506440f8c62f58aea02fb4e00000000000000000000000000000000000000000000000000000000", + "nonce": "0x25", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5beee24505da1dcc18d042021eb2b9d6fd90c5247a39aa44da5769b508fe6044", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "function": "execute(address,uint256,bytes,bytes32,bytes32)", + "arguments": [ + "0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA", + "0", + "0x9362149e0000000000000000000000004e65fe4dba92790696d040ac24aa414708f5c0ab000000000000000000000000c6b0eeff559a23187506440f8c62f58aea02fb4e", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x5b9b78fddd4b54eda824ba287451689459a3a5697bd0dea30a1be199d5751139" + ], + "transaction": { + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "gas": "0x2e36e", + "value": "0x0", + "input": "0x134008d30000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000005b9b78fddd4b54eda824ba287451689459a3a5697bd0dea30a1be199d575113900000000000000000000000000000000000000000000000000000000000000449362149e0000000000000000000000004e65fe4dba92790696d040ac24aa414708f5c0ab000000000000000000000000c6b0eeff559a23187506440f8c62f58aea02fb4e00000000000000000000000000000000000000000000000000000000", + "nonce": "0x26", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xf8795b", + "logs": [ + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", + "0xba3d67a2a3a546537fe5e8043c360667fdf4c38c106f6bf805cf366f53064b30", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000449362149e0000000000000000000000004e65fe4dba92790696d040ac24aa414708f5c0ab000000000000000000000000c6b0eeff559a23187506440f8c62f58aea02fb4e00000000000000000000000000000000000000000000000000000000", + "blockHash": "0x70ee4a07f7da3560fe97fa07f70f5b7b94fdfe5751b2af8984404214e1bb25ae", + "blockNumber": "0x28292e2", + "blockTimestamp": "0x698f82a7", + "transactionHash": "0x5beee24505da1dcc18d042021eb2b9d6fd90c5247a39aa44da5769b508fe6044", + "transactionIndex": "0x49", + "logIndex": "0x1ca", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0x20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d0387", + "0xba3d67a2a3a546537fe5e8043c360667fdf4c38c106f6bf805cf366f53064b30" + ], + "data": "0x5b9b78fddd4b54eda824ba287451689459a3a5697bd0dea30a1be199d5751139", + "blockHash": "0x70ee4a07f7da3560fe97fa07f70f5b7b94fdfe5751b2af8984404214e1bb25ae", + "blockNumber": "0x28292e2", + "blockTimestamp": "0x698f82a7", + "transactionHash": "0x5beee24505da1dcc18d042021eb2b9d6fd90c5247a39aa44da5769b508fe6044", + "transactionIndex": "0x49", + "logIndex": "0x1cb", + "removed": false + } + ], + "logsBloom": "0x00000080000000000800000040000000000000002000000000000000000000000000000000000000000000000000000100000000800000000000000000000000000000000000000000800000000000000000000000000008000000000000000000000000020000000000000000000800000080000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000020000000000020000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x5beee24505da1dcc18d042021eb2b9d6fd90c5247a39aa44da5769b508fe6044", + "transactionIndex": "0x49", + "blockHash": "0x70ee4a07f7da3560fe97fa07f70f5b7b94fdfe5751b2af8984404214e1bb25ae", + "blockNumber": "0x28292e2", + "gasUsed": "0xddee", + "effectiveGasPrice": "0x5b665f", + "blobGasUsed": "0x5cd9", + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "contractAddress": null, + "daFootprintGasScalar": "0x8b", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x30392b", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x36d55d7f", + "l1GasPrice": "0x3536e23", + "l1GasUsed": "0xab8" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xfa90b1", + "logs": [ + { + "address": "0x0021c1fdd50aa76fb59afe3fc3a38c02c257bdca", + "topics": [ + "0x1cf35c87329e14a81fdc68af8a463c1db203ccfc925ff5150f5dbc71bc4c2372", + "0x0000000000000000000000004e65fe4dba92790696d040ac24aa414708f5c0ab", + "0x000000000000000000000000c6b0eeff559a23187506440f8c62f58aea02fb4e" + ], + "data": "0x", + "blockHash": "0x70ee4a07f7da3560fe97fa07f70f5b7b94fdfe5751b2af8984404214e1bb25ae", + "blockNumber": "0x28292e2", + "blockTimestamp": "0x698f82a7", + "transactionHash": "0xbef61aeff36fa7e57d317e861cf6c258babdeb6b58a57321b393ff26f5be412a", + "transactionIndex": "0x4a", + "logIndex": "0x1cc", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", + "0xba3d67a2a3a546537fe5e8043c360667fdf4c38c106f6bf805cf366f53064b30", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000449362149e0000000000000000000000004e65fe4dba92790696d040ac24aa414708f5c0ab000000000000000000000000c6b0eeff559a23187506440f8c62f58aea02fb4e00000000000000000000000000000000000000000000000000000000", + "blockHash": "0x70ee4a07f7da3560fe97fa07f70f5b7b94fdfe5751b2af8984404214e1bb25ae", + "blockNumber": "0x28292e2", + "blockTimestamp": "0x698f82a7", + "transactionHash": "0xbef61aeff36fa7e57d317e861cf6c258babdeb6b58a57321b393ff26f5be412a", + "transactionIndex": "0x4a", + "logIndex": "0x1cd", + "removed": false + } + ], + "logsBloom": "0x00000080000000000800000000000000000008002000000000000000000000000000000000000000000080000000000008000000000800000200000000000000000000000000000000800000000000000000000000000000000000000000002000000000020000000000000000000800001000000000000000000400000000000000008000000000000000000000000000000004000000000000001000000000000000000000000000000000000000000010000000000000000000000000000000000000000000080000000000000020000000000000000000000000000020100000000020000000000000000000000000000000000000010000000000000000", + "type": "0x2", + "transactionHash": "0xbef61aeff36fa7e57d317e861cf6c258babdeb6b58a57321b393ff26f5be412a", + "transactionIndex": "0x4a", + "blockHash": "0x70ee4a07f7da3560fe97fa07f70f5b7b94fdfe5751b2af8984404214e1bb25ae", + "blockNumber": "0x28292e2", + "gasUsed": "0x21756", + "effectiveGasPrice": "0x5b665f", + "blobGasUsed": "0x5bc3", + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "contractAddress": null, + "daFootprintGasScalar": "0x8b", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x30392b", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x36080800", + "l1GasPrice": "0x3536e23", + "l1GasUsed": "0xa90" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1771012779218, + "chain": 8453, + "commit": "feef4c5" +} \ No newline at end of file diff --git a/broadcast/RegisterVault.s.sol/8453/run-1771012802948.json b/broadcast/RegisterVault.s.sol/8453/run-1771012802948.json new file mode 100644 index 0000000..c1fff9b --- /dev/null +++ b/broadcast/RegisterVault.s.sol/8453/run-1771012802948.json @@ -0,0 +1,176 @@ +{ + "transactions": [ + { + "hash": "0xe2446dffa5a719cba835f8922f6c8a8365fbc506c2057b5e9295472df3374c2c", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "function": "schedule(address,uint256,bytes,bytes32,bytes32,uint256)", + "arguments": [ + "0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA", + "0", + "0x9362149e000000000000000000000000b125e6687d4313864e53df431d5425969c15eb2f00000000000000000000000065b65d4bf565b3ba92371ccd0b157da1bcb3b1a8", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0xa1cb2b69d9c7da0dec98d9b3fbb269afedad23e85be81e606beef844134e01ab", + "0" + ], + "transaction": { + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "gas": "0x13289", + "value": "0x0", + "input": "0x01d5062a0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000000a1cb2b69d9c7da0dec98d9b3fbb269afedad23e85be81e606beef844134e01ab000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000449362149e000000000000000000000000b125e6687d4313864e53df431d5425969c15eb2f00000000000000000000000065b65d4bf565b3ba92371ccd0b157da1bcb3b1a800000000000000000000000000000000000000000000000000000000", + "nonce": "0x27", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x63ac38d1053f78f416d446a5138940634b6ffddcedc54d72db91559aee9ca5d4", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "function": "execute(address,uint256,bytes,bytes32,bytes32)", + "arguments": [ + "0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA", + "0", + "0x9362149e000000000000000000000000b125e6687d4313864e53df431d5425969c15eb2f00000000000000000000000065b65d4bf565b3ba92371ccd0b157da1bcb3b1a8", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0xa1cb2b69d9c7da0dec98d9b3fbb269afedad23e85be81e606beef844134e01ab" + ], + "transaction": { + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "gas": "0x2ad3c", + "value": "0x0", + "input": "0x134008d30000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000a1cb2b69d9c7da0dec98d9b3fbb269afedad23e85be81e606beef844134e01ab00000000000000000000000000000000000000000000000000000000000000449362149e000000000000000000000000b125e6687d4313864e53df431d5425969c15eb2f00000000000000000000000065b65d4bf565b3ba92371ccd0b157da1bcb3b1a800000000000000000000000000000000000000000000000000000000", + "nonce": "0x28", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x1063f16", + "logs": [ + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", + "0x8e60d973c144799a93550011bbe051335d6e50fd4ba2809b106c1a9b4e79b3ce", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000449362149e000000000000000000000000b125e6687d4313864e53df431d5425969c15eb2f00000000000000000000000065b65d4bf565b3ba92371ccd0b157da1bcb3b1a800000000000000000000000000000000000000000000000000000000", + "blockHash": "0x385204ca5167815f3d57f254f710cc2df4ac5549414d8ac6736ec35f9e500b15", + "blockNumber": "0x28292ee", + "blockTimestamp": "0x698f82bf", + "transactionHash": "0xe2446dffa5a719cba835f8922f6c8a8365fbc506c2057b5e9295472df3374c2c", + "transactionIndex": "0x47", + "logIndex": "0x168", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0x20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d0387", + "0x8e60d973c144799a93550011bbe051335d6e50fd4ba2809b106c1a9b4e79b3ce" + ], + "data": "0xa1cb2b69d9c7da0dec98d9b3fbb269afedad23e85be81e606beef844134e01ab", + "blockHash": "0x385204ca5167815f3d57f254f710cc2df4ac5549414d8ac6736ec35f9e500b15", + "blockNumber": "0x28292ee", + "blockTimestamp": "0x698f82bf", + "transactionHash": "0xe2446dffa5a719cba835f8922f6c8a8365fbc506c2057b5e9295472df3374c2c", + "transactionIndex": "0x47", + "logIndex": "0x169", + "removed": false + } + ], + "logsBloom": "0x00000080000000000000000040000000000000000000000000000000000000000000000000000000000000000000000100000000800000000000000000000000000000000000000000800000000000000000000000000008000000000000000000000000020000000000000000000800000080000000000000000400000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000400000000000000020000000000000000000000000000000000000000000040000000000000000000000", + "type": "0x2", + "transactionHash": "0xe2446dffa5a719cba835f8922f6c8a8365fbc506c2057b5e9295472df3374c2c", + "transactionIndex": "0x47", + "blockHash": "0x385204ca5167815f3d57f254f710cc2df4ac5549414d8ac6736ec35f9e500b15", + "blockNumber": "0x28292ee", + "gasUsed": "0xddee", + "effectiveGasPrice": "0x58b3c9", + "blobGasUsed": "0x5cd9", + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "contractAddress": null, + "daFootprintGasScalar": "0x8b", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x2b1b34", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x31afa75e", + "l1GasPrice": "0x314ab87", + "l1GasUsed": "0xab8" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x10813a0", + "logs": [ + { + "address": "0x0021c1fdd50aa76fb59afe3fc3a38c02c257bdca", + "topics": [ + "0x1cf35c87329e14a81fdc68af8a463c1db203ccfc925ff5150f5dbc71bc4c2372", + "0x000000000000000000000000b125e6687d4313864e53df431d5425969c15eb2f", + "0x00000000000000000000000065b65d4bf565b3ba92371ccd0b157da1bcb3b1a8" + ], + "data": "0x", + "blockHash": "0x385204ca5167815f3d57f254f710cc2df4ac5549414d8ac6736ec35f9e500b15", + "blockNumber": "0x28292ee", + "blockTimestamp": "0x698f82bf", + "transactionHash": "0x63ac38d1053f78f416d446a5138940634b6ffddcedc54d72db91559aee9ca5d4", + "transactionIndex": "0x48", + "logIndex": "0x16a", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", + "0x8e60d973c144799a93550011bbe051335d6e50fd4ba2809b106c1a9b4e79b3ce", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000449362149e000000000000000000000000b125e6687d4313864e53df431d5425969c15eb2f00000000000000000000000065b65d4bf565b3ba92371ccd0b157da1bcb3b1a800000000000000000000000000000000000000000000000000000000", + "blockHash": "0x385204ca5167815f3d57f254f710cc2df4ac5549414d8ac6736ec35f9e500b15", + "blockNumber": "0x28292ee", + "blockTimestamp": "0x698f82bf", + "transactionHash": "0x63ac38d1053f78f416d446a5138940634b6ffddcedc54d72db91559aee9ca5d4", + "transactionIndex": "0x48", + "logIndex": "0x16b", + "removed": false + } + ], + "logsBloom": "0x00000090000000000000000000000000000000000000000008000000000000000000000000000000800000000000000000000000000800000200000000000000000000000000000000800000000000000000000000000000000000000000002000000000020000000000000000000800000000000000000000000400000000000000008000000000000000000000000000000004000000000000001000200400000000000000000000000000000000000000000000000000000002000000000000000000000000080000000080000000000000000000000000000000000020100000000000000000000000000000000000000000040000010000000000400000", + "type": "0x2", + "transactionHash": "0x63ac38d1053f78f416d446a5138940634b6ffddcedc54d72db91559aee9ca5d4", + "transactionIndex": "0x48", + "blockHash": "0x385204ca5167815f3d57f254f710cc2df4ac5549414d8ac6736ec35f9e500b15", + "blockNumber": "0x28292ee", + "gasUsed": "0x1d48a", + "effectiveGasPrice": "0x58b3c9", + "blobGasUsed": "0x5bc3", + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "contractAddress": null, + "daFootprintGasScalar": "0x8b", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x2b1b34", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x30f59848", + "l1GasPrice": "0x314ab87", + "l1GasUsed": "0xa90" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1771012802948, + "chain": 8453, + "commit": "feef4c5" +} \ No newline at end of file diff --git a/broadcast/RegisterVault.s.sol/8453/run-1771012847753.json b/broadcast/RegisterVault.s.sol/8453/run-1771012847753.json new file mode 100644 index 0000000..802e3aa --- /dev/null +++ b/broadcast/RegisterVault.s.sol/8453/run-1771012847753.json @@ -0,0 +1,176 @@ +{ + "transactions": [ + { + "hash": "0x57fecfb62cc9a47f5869687bd732288a8c691b874f85708784892f2efb68a71d", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "function": "schedule(address,uint256,bytes,bytes32,bytes32,uint256)", + "arguments": [ + "0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA", + "0", + "0x9362149e000000000000000000000000edc817a28e8b93b03976fbd4a3ddbc9f7d176c22000000000000000000000000976cedebd26e4d78cbfdb789186510ab9a5747e3", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x671511ff010bd9991e3536b2d43b51dfc9456bc733a1a2a4db87ed97183708ee", + "0" + ], + "transaction": { + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "gas": "0x13289", + "value": "0x0", + "input": "0x01d5062a0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000000671511ff010bd9991e3536b2d43b51dfc9456bc733a1a2a4db87ed97183708ee000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000449362149e000000000000000000000000edc817a28e8b93b03976fbd4a3ddbc9f7d176c22000000000000000000000000976cedebd26e4d78cbfdb789186510ab9a5747e300000000000000000000000000000000000000000000000000000000", + "nonce": "0x29", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x4368aadbf86a531104d32c23f38e00349274b76cd3741bc5ab651a6c2c207c50", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "function": "execute(address,uint256,bytes,bytes32,bytes32)", + "arguments": [ + "0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA", + "0", + "0x9362149e000000000000000000000000edc817a28e8b93b03976fbd4a3ddbc9f7d176c22000000000000000000000000976cedebd26e4d78cbfdb789186510ab9a5747e3", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x671511ff010bd9991e3536b2d43b51dfc9456bc733a1a2a4db87ed97183708ee" + ], + "transaction": { + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "gas": "0x2ad3c", + "value": "0x0", + "input": "0x134008d30000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000671511ff010bd9991e3536b2d43b51dfc9456bc733a1a2a4db87ed97183708ee00000000000000000000000000000000000000000000000000000000000000449362149e000000000000000000000000edc817a28e8b93b03976fbd4a3ddbc9f7d176c22000000000000000000000000976cedebd26e4d78cbfdb789186510ab9a5747e300000000000000000000000000000000000000000000000000000000", + "nonce": "0x2a", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x1d5bb21", + "logs": [ + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", + "0x0039b1678e3a1064ca62e64f794aa4bbc40645f847339cb41a4468a0a6173b96", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000449362149e000000000000000000000000edc817a28e8b93b03976fbd4a3ddbc9f7d176c22000000000000000000000000976cedebd26e4d78cbfdb789186510ab9a5747e300000000000000000000000000000000000000000000000000000000", + "blockHash": "0x07f0a6e970a0506adfe72a83eb796135b739483e2c99d8c61146480f40c2f11f", + "blockNumber": "0x2829304", + "blockTimestamp": "0x698f82eb", + "transactionHash": "0x4368aadbf86a531104d32c23f38e00349274b76cd3741bc5ab651a6c2c207c50", + "transactionIndex": "0xab", + "logIndex": "0x327", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0x20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d0387", + "0x0039b1678e3a1064ca62e64f794aa4bbc40645f847339cb41a4468a0a6173b96" + ], + "data": "0x671511ff010bd9991e3536b2d43b51dfc9456bc733a1a2a4db87ed97183708ee", + "blockHash": "0x07f0a6e970a0506adfe72a83eb796135b739483e2c99d8c61146480f40c2f11f", + "blockNumber": "0x2829304", + "blockTimestamp": "0x698f82eb", + "transactionHash": "0x4368aadbf86a531104d32c23f38e00349274b76cd3741bc5ab651a6c2c207c50", + "transactionIndex": "0xab", + "logIndex": "0x328", + "removed": false + } + ], + "logsBloom": "0x00000080000000000000000040000000000000000000000000000000000000000000000000000000000000000000000100000000800000000000000000000000000000000000000000800000000000000000000000000008000000000000000000000000020000000000000000000800000080000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000020000000000000000002000000000000000000000000000000000080000000000000", + "type": "0x2", + "transactionHash": "0x4368aadbf86a531104d32c23f38e00349274b76cd3741bc5ab651a6c2c207c50", + "transactionIndex": "0xab", + "blockHash": "0x07f0a6e970a0506adfe72a83eb796135b739483e2c99d8c61146480f40c2f11f", + "blockNumber": "0x2829304", + "gasUsed": "0xddee", + "effectiveGasPrice": "0x5acf67", + "blobGasUsed": "0x5cd9", + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "contractAddress": null, + "daFootprintGasScalar": "0x8b", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x2d40dc", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x32b74c9b", + "l1GasPrice": "0x3008f83", + "l1GasUsed": "0xab8" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x1d78fab", + "logs": [ + { + "address": "0x0021c1fdd50aa76fb59afe3fc3a38c02c257bdca", + "topics": [ + "0x1cf35c87329e14a81fdc68af8a463c1db203ccfc925ff5150f5dbc71bc4c2372", + "0x000000000000000000000000edc817a28e8b93b03976fbd4a3ddbc9f7d176c22", + "0x000000000000000000000000976cedebd26e4d78cbfdb789186510ab9a5747e3" + ], + "data": "0x", + "blockHash": "0x07f0a6e970a0506adfe72a83eb796135b739483e2c99d8c61146480f40c2f11f", + "blockNumber": "0x2829304", + "blockTimestamp": "0x698f82eb", + "transactionHash": "0x57fecfb62cc9a47f5869687bd732288a8c691b874f85708784892f2efb68a71d", + "transactionIndex": "0xac", + "logIndex": "0x329", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", + "0x0039b1678e3a1064ca62e64f794aa4bbc40645f847339cb41a4468a0a6173b96", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000449362149e000000000000000000000000edc817a28e8b93b03976fbd4a3ddbc9f7d176c22000000000000000000000000976cedebd26e4d78cbfdb789186510ab9a5747e300000000000000000000000000000000000000000000000000000000", + "blockHash": "0x07f0a6e970a0506adfe72a83eb796135b739483e2c99d8c61146480f40c2f11f", + "blockNumber": "0x2829304", + "blockTimestamp": "0x698f82eb", + "transactionHash": "0x57fecfb62cc9a47f5869687bd732288a8c691b874f85708784892f2efb68a71d", + "transactionIndex": "0xac", + "logIndex": "0x32a", + "removed": false + } + ], + "logsBloom": "0x00000080001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000200000000000000000000000000000000800000000000080000000000000000000000000000002000000000020000000000000000000800000000000000000000000400000000000000008000000000000000000000000000000004000000000000001000000000002000000020200000000000000000000000000000000000000000000000000000000000020040080000000000000000000000000000000000000000000020100000000000000002000000000000000000000000000000010080000000000000", + "type": "0x2", + "transactionHash": "0x57fecfb62cc9a47f5869687bd732288a8c691b874f85708784892f2efb68a71d", + "transactionIndex": "0xac", + "blockHash": "0x07f0a6e970a0506adfe72a83eb796135b739483e2c99d8c61146480f40c2f11f", + "blockNumber": "0x2829304", + "gasUsed": "0x1d48a", + "effectiveGasPrice": "0x5acf67", + "blobGasUsed": "0x5bc3", + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "contractAddress": null, + "daFootprintGasScalar": "0x8b", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x2d40dc", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x31f96241", + "l1GasPrice": "0x3008f83", + "l1GasUsed": "0xa90" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1771012847753, + "chain": 8453, + "commit": "feef4c5" +} \ No newline at end of file diff --git a/broadcast/RegisterVault.s.sol/8453/run-1771012884745.json b/broadcast/RegisterVault.s.sol/8453/run-1771012884745.json new file mode 100644 index 0000000..f634053 --- /dev/null +++ b/broadcast/RegisterVault.s.sol/8453/run-1771012884745.json @@ -0,0 +1,176 @@ +{ + "transactions": [ + { + "hash": "0x522a2de23308547350ef77743f711905e6dedf6a59e25f64d077a916778cb851", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "function": "schedule(address,uint256,bytes,bytes32,bytes32,uint256)", + "arguments": [ + "0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA", + "0", + "0x9362149e0000000000000000000000000000000000001ff3684f28c67538d4d072c22734000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c466", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x68b6c676c0f87235569d03952f678d0b5536e02d893cd4ddbef4a94e6d996e31", + "0" + ], + "transaction": { + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "gas": "0x13226", + "value": "0x0", + "input": "0x01d5062a0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000068b6c676c0f87235569d03952f678d0b5536e02d893cd4ddbef4a94e6d996e31000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000449362149e0000000000000000000000000000000000001ff3684f28c67538d4d072c22734000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c46600000000000000000000000000000000000000000000000000000000", + "nonce": "0x2b", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x9e1eec76b5ba7ecae558975444a43c02e1fec22dba0f0e34e0dfc65eee192acb", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "function": "execute(address,uint256,bytes,bytes32,bytes32)", + "arguments": [ + "0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA", + "0", + "0x9362149e0000000000000000000000000000000000001ff3684f28c67538d4d072c22734000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c466", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x68b6c676c0f87235569d03952f678d0b5536e02d893cd4ddbef4a94e6d996e31" + ], + "transaction": { + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "gas": "0x2acd3", + "value": "0x0", + "input": "0x134008d30000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000068b6c676c0f87235569d03952f678d0b5536e02d893cd4ddbef4a94e6d996e3100000000000000000000000000000000000000000000000000000000000000449362149e0000000000000000000000000000000000001ff3684f28c67538d4d072c22734000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c46600000000000000000000000000000000000000000000000000000000", + "nonce": "0x2c", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x1f304ac", + "logs": [ + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", + "0x772ea1518f3074b7a9cc0e88b67c303a279e101f633f70e3f1463d3b3e4ae0e6", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000449362149e0000000000000000000000000000000000001ff3684f28c67538d4d072c22734000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c46600000000000000000000000000000000000000000000000000000000", + "blockHash": "0x5de5a58d1f5209daf1eeebdc62af574b46db4942b960107837891a807de5c9d6", + "blockNumber": "0x2829317", + "blockTimestamp": "0x698f8311", + "transactionHash": "0x522a2de23308547350ef77743f711905e6dedf6a59e25f64d077a916778cb851", + "transactionIndex": "0xa9", + "logIndex": "0x363", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0x20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d0387", + "0x772ea1518f3074b7a9cc0e88b67c303a279e101f633f70e3f1463d3b3e4ae0e6" + ], + "data": "0x68b6c676c0f87235569d03952f678d0b5536e02d893cd4ddbef4a94e6d996e31", + "blockHash": "0x5de5a58d1f5209daf1eeebdc62af574b46db4942b960107837891a807de5c9d6", + "blockNumber": "0x2829317", + "blockTimestamp": "0x698f8311", + "transactionHash": "0x522a2de23308547350ef77743f711905e6dedf6a59e25f64d077a916778cb851", + "transactionIndex": "0xa9", + "logIndex": "0x364", + "removed": false + } + ], + "logsBloom": "0x00000080000000000000000040000000000000000000000000000000000000000000000000000000000000000000000100000000800000000000002000000000000000000000000000800000000000000000000000000008000000000000000000000000020000000000000000000800800080000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000020000000000000000000004000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x522a2de23308547350ef77743f711905e6dedf6a59e25f64d077a916778cb851", + "transactionIndex": "0xa9", + "blockHash": "0x5de5a58d1f5209daf1eeebdc62af574b46db4942b960107837891a807de5c9d6", + "blockNumber": "0x2829317", + "gasUsed": "0xdda6", + "effectiveGasPrice": "0x5d55d2", + "blobGasUsed": "0x5a22", + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "contractAddress": null, + "daFootprintGasScalar": "0x8b", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x29d5fe", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x2fdeb953", + "l1GasPrice": "0x32a4337", + "l1GasUsed": "0xa68" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x2101ff6", + "logs": [ + { + "address": "0x0021c1fdd50aa76fb59afe3fc3a38c02c257bdca", + "topics": [ + "0x1cf35c87329e14a81fdc68af8a463c1db203ccfc925ff5150f5dbc71bc4c2372", + "0x0000000000000000000000000000000000001ff3684f28c67538d4d072c22734", + "0x000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c466" + ], + "data": "0x", + "blockHash": "0x5de5a58d1f5209daf1eeebdc62af574b46db4942b960107837891a807de5c9d6", + "blockNumber": "0x2829317", + "blockTimestamp": "0x698f8311", + "transactionHash": "0x9e1eec76b5ba7ecae558975444a43c02e1fec22dba0f0e34e0dfc65eee192acb", + "transactionIndex": "0xac", + "logIndex": "0x39a", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", + "0x772ea1518f3074b7a9cc0e88b67c303a279e101f633f70e3f1463d3b3e4ae0e6", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000449362149e0000000000000000000000000000000000001ff3684f28c67538d4d072c22734000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c46600000000000000000000000000000000000000000000000000000000", + "blockHash": "0x5de5a58d1f5209daf1eeebdc62af574b46db4942b960107837891a807de5c9d6", + "blockNumber": "0x2829317", + "blockTimestamp": "0x698f8311", + "transactionHash": "0x9e1eec76b5ba7ecae558975444a43c02e1fec22dba0f0e34e0dfc65eee192acb", + "transactionIndex": "0xac", + "logIndex": "0x39b", + "removed": false + } + ], + "logsBloom": "0x00000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000200002000000000400000000000000000800000000000000000000000000000000000000000002000000000020000400000000008000800800000000000000000000400000000000000008000000000000000000000000000080004000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000008000000280000000000000000000000000000000000000000000020100000000000000000004000000000000000000000000000010000000000000000", + "type": "0x2", + "transactionHash": "0x9e1eec76b5ba7ecae558975444a43c02e1fec22dba0f0e34e0dfc65eee192acb", + "transactionIndex": "0xac", + "blockHash": "0x5de5a58d1f5209daf1eeebdc62af574b46db4942b960107837891a807de5c9d6", + "blockNumber": "0x2829317", + "gasUsed": "0x1d442", + "effectiveGasPrice": "0x5d55d2", + "blobGasUsed": "0x590c", + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "contractAddress": null, + "daFootprintGasScalar": "0x8b", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x29d5fe", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x2f261044", + "l1GasPrice": "0x32a4337", + "l1GasUsed": "0xa40" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1771012884745, + "chain": 8453, + "commit": "feef4c5" +} \ No newline at end of file diff --git a/broadcast/RegisterVault.s.sol/8453/run-latest.json b/broadcast/RegisterVault.s.sol/8453/run-latest.json index c81aa6f..f634053 100644 --- a/broadcast/RegisterVault.s.sol/8453/run-latest.json +++ b/broadcast/RegisterVault.s.sol/8453/run-latest.json @@ -1,51 +1,51 @@ { "transactions": [ { - "hash": "0x02ad712190b539e26284035d1fa13c588701eefdff877121fe133ce5357048f2", + "hash": "0x522a2de23308547350ef77743f711905e6dedf6a59e25f64d077a916778cb851", "transactionType": "CALL", "contractName": null, - "contractAddress": "0x60163d6406503426e712ed6c507137229552756d", + "contractAddress": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "function": "schedule(address,uint256,bytes,bytes32,bytes32,uint256)", "arguments": [ - "0x81f17748B0abE955790346B904f6B78E67594ed0", + "0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA", "0", - "0x9362149e000000000000000000000000944766f715b51967e56afde5f0aa76ceacc9e7f9000000000000000000000000905cd24370018befb6c648420d35dfeba9e62602", + "0x9362149e0000000000000000000000000000000000001ff3684f28c67538d4d072c22734000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c466", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x7e423dda6218c530071c65008a4c32045b3e34b42c05c16aaf80e3d5ee9f86ef", + "0x68b6c676c0f87235569d03952f678d0b5536e02d893cd4ddbef4a94e6d996e31", "0" ], "transaction": { "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", - "to": "0x60163d6406503426e712ed6c507137229552756d", - "gas": "0x13289", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "gas": "0x13226", "value": "0x0", - "input": "0x01d5062a00000000000000000000000081f17748b0abe955790346b904f6b78e67594ed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000007e423dda6218c530071c65008a4c32045b3e34b42c05c16aaf80e3d5ee9f86ef000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000449362149e000000000000000000000000944766f715b51967e56afde5f0aa76ceacc9e7f9000000000000000000000000905cd24370018befb6c648420d35dfeba9e6260200000000000000000000000000000000000000000000000000000000", - "nonce": "0x16", + "input": "0x01d5062a0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000068b6c676c0f87235569d03952f678d0b5536e02d893cd4ddbef4a94e6d996e31000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000449362149e0000000000000000000000000000000000001ff3684f28c67538d4d072c22734000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c46600000000000000000000000000000000000000000000000000000000", + "nonce": "0x2b", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xa852262892b55dce458756ac714e27abe49aa0f08517c34f011df6b3e944d8ae", + "hash": "0x9e1eec76b5ba7ecae558975444a43c02e1fec22dba0f0e34e0dfc65eee192acb", "transactionType": "CALL", "contractName": null, - "contractAddress": "0x60163d6406503426e712ed6c507137229552756d", + "contractAddress": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "function": "execute(address,uint256,bytes,bytes32,bytes32)", "arguments": [ - "0x81f17748B0abE955790346B904f6B78E67594ed0", + "0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA", "0", - "0x9362149e000000000000000000000000944766f715b51967e56afde5f0aa76ceacc9e7f9000000000000000000000000905cd24370018befb6c648420d35dfeba9e62602", + "0x9362149e0000000000000000000000000000000000001ff3684f28c67538d4d072c22734000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c466", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x7e423dda6218c530071c65008a4c32045b3e34b42c05c16aaf80e3d5ee9f86ef" + "0x68b6c676c0f87235569d03952f678d0b5536e02d893cd4ddbef4a94e6d996e31" ], "transaction": { "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", - "to": "0x60163d6406503426e712ed6c507137229552756d", - "gas": "0x2ad3c", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "gas": "0x2acd3", "value": "0x0", - "input": "0x134008d300000000000000000000000081f17748b0abe955790346b904f6b78e67594ed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000007e423dda6218c530071c65008a4c32045b3e34b42c05c16aaf80e3d5ee9f86ef00000000000000000000000000000000000000000000000000000000000000449362149e000000000000000000000000944766f715b51967e56afde5f0aa76ceacc9e7f9000000000000000000000000905cd24370018befb6c648420d35dfeba9e6260200000000000000000000000000000000000000000000000000000000", - "nonce": "0x17", + "input": "0x134008d30000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000068b6c676c0f87235569d03952f678d0b5536e02d893cd4ddbef4a94e6d996e3100000000000000000000000000000000000000000000000000000000000000449362149e0000000000000000000000000000000000001ff3684f28c67538d4d072c22734000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c46600000000000000000000000000000000000000000000000000000000", + "nonce": "0x2c", "chainId": "0x2105" }, "additionalContracts": [], @@ -55,122 +55,122 @@ "receipts": [ { "status": "0x1", - "cumulativeGasUsed": "0x16051f3", + "cumulativeGasUsed": "0x1f304ac", "logs": [ { - "address": "0x60163d6406503426e712ed6c507137229552756d", + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "topics": [ "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", - "0x0daf49907523ec0a80c0a4fc6462a7ebe6f6cd2dce5a51547f4863cf5fbbb581", + "0x772ea1518f3074b7a9cc0e88b67c303a279e101f633f70e3f1463d3b3e4ae0e6", "0x0000000000000000000000000000000000000000000000000000000000000000" ], - "data": "0x00000000000000000000000081f17748b0abe955790346b904f6b78e67594ed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000449362149e000000000000000000000000944766f715b51967e56afde5f0aa76ceacc9e7f9000000000000000000000000905cd24370018befb6c648420d35dfeba9e6260200000000000000000000000000000000000000000000000000000000", - "blockHash": "0xf32796caa861f3737dc3d6986103fcc6ef3bba9e6687c4f16426a54e201ecd66", - "blockNumber": "0x277c6c1", - "blockTimestamp": "0x6979ea65", - "transactionHash": "0x02ad712190b539e26284035d1fa13c588701eefdff877121fe133ce5357048f2", - "transactionIndex": "0x7a", - "logIndex": "0x24c", + "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000449362149e0000000000000000000000000000000000001ff3684f28c67538d4d072c22734000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c46600000000000000000000000000000000000000000000000000000000", + "blockHash": "0x5de5a58d1f5209daf1eeebdc62af574b46db4942b960107837891a807de5c9d6", + "blockNumber": "0x2829317", + "blockTimestamp": "0x698f8311", + "transactionHash": "0x522a2de23308547350ef77743f711905e6dedf6a59e25f64d077a916778cb851", + "transactionIndex": "0xa9", + "logIndex": "0x363", "removed": false }, { - "address": "0x60163d6406503426e712ed6c507137229552756d", + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "topics": [ "0x20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d0387", - "0x0daf49907523ec0a80c0a4fc6462a7ebe6f6cd2dce5a51547f4863cf5fbbb581" + "0x772ea1518f3074b7a9cc0e88b67c303a279e101f633f70e3f1463d3b3e4ae0e6" ], - "data": "0x7e423dda6218c530071c65008a4c32045b3e34b42c05c16aaf80e3d5ee9f86ef", - "blockHash": "0xf32796caa861f3737dc3d6986103fcc6ef3bba9e6687c4f16426a54e201ecd66", - "blockNumber": "0x277c6c1", - "blockTimestamp": "0x6979ea65", - "transactionHash": "0x02ad712190b539e26284035d1fa13c588701eefdff877121fe133ce5357048f2", - "transactionIndex": "0x7a", - "logIndex": "0x24d", + "data": "0x68b6c676c0f87235569d03952f678d0b5536e02d893cd4ddbef4a94e6d996e31", + "blockHash": "0x5de5a58d1f5209daf1eeebdc62af574b46db4942b960107837891a807de5c9d6", + "blockNumber": "0x2829317", + "blockTimestamp": "0x698f8311", + "transactionHash": "0x522a2de23308547350ef77743f711905e6dedf6a59e25f64d077a916778cb851", + "transactionIndex": "0xa9", + "logIndex": "0x364", "removed": false } ], - "logsBloom": "0x00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000100000000800000000000000000000000000000800000000000000000000000000000000000000008000000000000000000080000020000000000000000000800000080000000000000000000000000000000000000040040000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000020000000000000800000000000000000000000000000000000000000000000000000", + "logsBloom": "0x00000080000000000000000040000000000000000000000000000000000000000000000000000000000000000000000100000000800000000000002000000000000000000000000000800000000000000000000000000008000000000000000000000000020000000000000000000800800080000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000020000000000000000000004000000000000000000000000000000000000000000000", "type": "0x2", - "transactionHash": "0x02ad712190b539e26284035d1fa13c588701eefdff877121fe133ce5357048f2", - "transactionIndex": "0x7a", - "blockHash": "0xf32796caa861f3737dc3d6986103fcc6ef3bba9e6687c4f16426a54e201ecd66", - "blockNumber": "0x277c6c1", - "gasUsed": "0xddee", - "effectiveGasPrice": "0x1342ee", - "blobGasUsed": "0x5d64", + "transactionHash": "0x522a2de23308547350ef77743f711905e6dedf6a59e25f64d077a916778cb851", + "transactionIndex": "0xa9", + "blockHash": "0x5de5a58d1f5209daf1eeebdc62af574b46db4942b960107837891a807de5c9d6", + "blockNumber": "0x2829317", + "gasUsed": "0xdda6", + "effectiveGasPrice": "0x5d55d2", + "blobGasUsed": "0x5a22", "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", - "to": "0x60163d6406503426e712ed6c507137229552756d", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "contractAddress": null, "daFootprintGasScalar": "0x8b", "l1BaseFeeScalar": "0x8dd", - "l1BlobBaseFee": "0x70eb6a", + "l1BlobBaseFee": "0x29d5fe", "l1BlobBaseFeeScalar": "0x101c12", - "l1Fee": "0x817ddb0b", - "l1GasPrice": "0x7dcd636", - "l1GasUsed": "0xac6" + "l1Fee": "0x2fdeb953", + "l1GasPrice": "0x32a4337", + "l1GasUsed": "0xa68" }, { "status": "0x1", - "cumulativeGasUsed": "0x1994e31", + "cumulativeGasUsed": "0x2101ff6", "logs": [ { - "address": "0x81f17748b0abe955790346b904f6b78e67594ed0", + "address": "0x0021c1fdd50aa76fb59afe3fc3a38c02c257bdca", "topics": [ "0x1cf35c87329e14a81fdc68af8a463c1db203ccfc925ff5150f5dbc71bc4c2372", - "0x000000000000000000000000944766f715b51967e56afde5f0aa76ceacc9e7f9", - "0x000000000000000000000000905cd24370018befb6c648420d35dfeba9e62602" + "0x0000000000000000000000000000000000001ff3684f28c67538d4d072c22734", + "0x000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c466" ], "data": "0x", - "blockHash": "0xf32796caa861f3737dc3d6986103fcc6ef3bba9e6687c4f16426a54e201ecd66", - "blockNumber": "0x277c6c1", - "blockTimestamp": "0x6979ea65", - "transactionHash": "0xa852262892b55dce458756ac714e27abe49aa0f08517c34f011df6b3e944d8ae", - "transactionIndex": "0x94", - "logIndex": "0x292", + "blockHash": "0x5de5a58d1f5209daf1eeebdc62af574b46db4942b960107837891a807de5c9d6", + "blockNumber": "0x2829317", + "blockTimestamp": "0x698f8311", + "transactionHash": "0x9e1eec76b5ba7ecae558975444a43c02e1fec22dba0f0e34e0dfc65eee192acb", + "transactionIndex": "0xac", + "logIndex": "0x39a", "removed": false }, { - "address": "0x60163d6406503426e712ed6c507137229552756d", + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "topics": [ "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", - "0x0daf49907523ec0a80c0a4fc6462a7ebe6f6cd2dce5a51547f4863cf5fbbb581", + "0x772ea1518f3074b7a9cc0e88b67c303a279e101f633f70e3f1463d3b3e4ae0e6", "0x0000000000000000000000000000000000000000000000000000000000000000" ], - "data": "0x00000000000000000000000081f17748b0abe955790346b904f6b78e67594ed00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000449362149e000000000000000000000000944766f715b51967e56afde5f0aa76ceacc9e7f9000000000000000000000000905cd24370018befb6c648420d35dfeba9e6260200000000000000000000000000000000000000000000000000000000", - "blockHash": "0xf32796caa861f3737dc3d6986103fcc6ef3bba9e6687c4f16426a54e201ecd66", - "blockNumber": "0x277c6c1", - "blockTimestamp": "0x6979ea65", - "transactionHash": "0xa852262892b55dce458756ac714e27abe49aa0f08517c34f011df6b3e944d8ae", - "transactionIndex": "0x94", - "logIndex": "0x293", + "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000449362149e0000000000000000000000000000000000001ff3684f28c67538d4d072c22734000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c46600000000000000000000000000000000000000000000000000000000", + "blockHash": "0x5de5a58d1f5209daf1eeebdc62af574b46db4942b960107837891a807de5c9d6", + "blockNumber": "0x2829317", + "blockTimestamp": "0x698f8311", + "transactionHash": "0x9e1eec76b5ba7ecae558975444a43c02e1fec22dba0f0e34e0dfc65eee192acb", + "transactionIndex": "0xac", + "logIndex": "0x39b", "removed": false } ], - "logsBloom": "0x00000000000000000000040400000000000000000000000000000000000000000000000000040000000000000000000000000000000800000200000000000000000000800000000000000000000000000000000000000000000000000400002000080000020000000000000000000800000000000000000000000000000000000000008000040040000000000000000000000200000000000000001002000000000000200000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000020000000000000800000000400020000000000000000000000000000000000000000", + "logsBloom": "0x00000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000200002000000000400000000000000000800000000000000000000000000000000000000000002000000000020000400000000008000800800000000000000000000400000000000000008000000000000000000000000000080004000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000008000000280000000000000000000000000000000000000000000020100000000000000000004000000000000000000000000000010000000000000000", "type": "0x2", - "transactionHash": "0xa852262892b55dce458756ac714e27abe49aa0f08517c34f011df6b3e944d8ae", - "transactionIndex": "0x94", - "blockHash": "0xf32796caa861f3737dc3d6986103fcc6ef3bba9e6687c4f16426a54e201ecd66", - "blockNumber": "0x277c6c1", - "gasUsed": "0x1d48a", - "effectiveGasPrice": "0x1342ee", - "blobGasUsed": "0x5bc3", + "transactionHash": "0x9e1eec76b5ba7ecae558975444a43c02e1fec22dba0f0e34e0dfc65eee192acb", + "transactionIndex": "0xac", + "blockHash": "0x5de5a58d1f5209daf1eeebdc62af574b46db4942b960107837891a807de5c9d6", + "blockNumber": "0x2829317", + "gasUsed": "0x1d442", + "effectiveGasPrice": "0x5d55d2", + "blobGasUsed": "0x590c", "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", - "to": "0x60163d6406503426e712ed6c507137229552756d", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "contractAddress": null, "daFootprintGasScalar": "0x8b", "l1BaseFeeScalar": "0x8dd", - "l1BlobBaseFee": "0x70eb6a", + "l1BlobBaseFee": "0x29d5fe", "l1BlobBaseFeeScalar": "0x101c12", - "l1Fee": "0x7f9b4da5", - "l1GasPrice": "0x7dcd636", - "l1GasUsed": "0xa9e" + "l1Fee": "0x2f261044", + "l1GasPrice": "0x32a4337", + "l1GasUsed": "0xa40" } ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1769597544062, + "timestamp": 1771012884745, "chain": 8453, - "commit": "c9fdc30" + "commit": "feef4c5" } \ No newline at end of file diff --git a/deployments.json b/deployments.json index a5e34bc..ee06c1d 100644 --- a/deployments.json +++ b/deployments.json @@ -1,10 +1,13 @@ { - "adapterRegistry": "0x81f17748B0abE955790346B904f6B78E67594ed0", - "adminTimelock": "0x60163d6406503426E712eD6c507137229552756D", - "agentWalletFactory": "0x23AAFAeb5B78816dBCf20D503A73Cd9750A21d63", - "agentWalletImplementation": "0x0FE7ff9421839BD2cf4d0D959450F57491eA1109", - "erc4626Adapter": "0x905cD24370018BEFB6c648420D35DfeBA9e62602", - "feeTracker": "0xe128C4962c7d6b73197E04640b15896fcfacA7d5", - "merklAdapter": "0xd28d02F82A1D735C973b5b24c30ed7A56839Fb96", - "zeroXAdapter": "0x15a8067F0b38e29F7FcfFB93F85C585748D49d82" + "aaveV3Adapter": "0xC6b0eeFf559a23187506440f8C62F58aea02Fb4E", + "adapterRegistry": "0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA", + "adminTimelock": "0x773541F7c38BE8106AE966CA9D6fee494a0eDD24", + "agentWalletFactory": "0x9900f8019b20e822E2D5897db246a376A9514C8F", + "agentWalletImplementation": "0x14283F733d6F73CA116EaA07af7c8C16b1Cef7e3", + "compoundV2Adapter": "0x976CeDeBd26e4D78cBfdb789186510aB9a5747e3", + "compoundV3Adapter": "0x65B65D4bF565b3Ba92371CCd0B157DA1BCb3b1A8", + "erc4626Adapter": "0x98474BE8d188F450FEf65b5C6d290D333eb74a2f", + "feeTracker": "0x2e11eDC25e5f2391Cd9225A7C107d1B41eBACc9F", + "merklAdapter": "0x063E92A335be85a7AE6d2De28397dcf40423c45f", + "zeroXAdapter": "0x153e4801852249d1f7D05CCB13c1D1CF8AE7c466" } \ No newline at end of file diff --git a/script/AddSellableTokens.s.sol b/script/AddSellableTokens.s.sol new file mode 100644 index 0000000..6c71a81 --- /dev/null +++ b/script/AddSellableTokens.s.sol @@ -0,0 +1,103 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.28; + +import {YieldSeekerAdminTimelock as AdminTimelock} from "../src/AdminTimelock.sol"; +import {AWKZeroXAdapter} from "../src/agentwalletkit/adapters/AWKZeroXAdapter.sol"; +import {Script} from "forge-std/Script.sol"; +import {stdJson} from "forge-std/StdJson.sol"; +import {console2} from "forge-std/console2.sol"; + +/** + * @title AddSellableTokensScript + * @notice Helper script to add sellable tokens to the 0x adapter allowlist via timelock + * @dev Usage: + * forge script script/AddSellableTokens.s.sol:AddSellableTokensScript \ + * --rpc-url $RPC_NODE_URL_8453 \ + * --broadcast \ + * --sig "run(address[])" \ + * "[,,...]" + * + * Example (single token): + * forge script script/AddSellableTokens.s.sol:AddSellableTokensScript \ + * --rpc-url $RPC_NODE_URL_8453 \ + * --broadcast \ + * --sig "run(address[])" \ + * "[0x590830dFDf9A3F68aFCDdE2694773dEBDF267774]" + * + * Example (multiple tokens): + * forge script script/AddSellableTokens.s.sol:AddSellableTokensScript \ + * --rpc-url $RPC_NODE_URL_8453 \ + * --broadcast \ + * --sig "run(address[])" \ + * "[0x590830dFDf9A3F68aFCDdE2694773dEBDF267774,0xBAa5CC21fd487B8Fcc2F632f3F4E8D37262a0842]" + */ +contract AddSellableTokensScript is Script { + using stdJson for string; + + function run(address[] memory tokens) public { + require(tokens.length > 0, "No tokens provided"); + + uint256 deployerPrivateKey = vm.envUint("DEPLOYER_PRIVATE_KEY"); + + // forge-lint: disable-next-line(unsafe-cheatcode) + string memory json = vm.readFile("./deployments.json"); + address zeroXAdapterAddress = json.readAddress(".zeroXAdapter"); + address timelockAddress = json.readAddress(".adminTimelock"); + + AWKZeroXAdapter adapter = AWKZeroXAdapter(zeroXAdapterAddress); + AdminTimelock timelock = AdminTimelock(payable(timelockAddress)); + uint256 delay = timelock.getMinDelay(); + + console2.log("================================================="); + console2.log("ADD SELLABLE TOKENS"); + console2.log("================================================="); + console2.log("0x Adapter:", zeroXAdapterAddress); + console2.log("Timelock:", timelockAddress); + console2.log("Tokens to add:", tokens.length); + console2.log(""); + + for (uint256 i = 0; i < tokens.length; i++) { + require(tokens[i] != address(0), "Invalid token address"); + bool alreadySellable = adapter.isSellableToken(tokens[i]); + console2.log("Token:", tokens[i], alreadySellable ? "(already sellable)" : "(new)"); + } + + bytes32 salt = keccak256(abi.encodePacked("add-sellable-tokens-", abi.encode(tokens))); + bytes memory data = abi.encodeCall(adapter.addSellableTokens, (tokens)); + + console2.log(""); + vm.startBroadcast(deployerPrivateKey); + console2.log("-> Scheduling addSellableTokens via timelock..."); + timelock.schedule(zeroXAdapterAddress, 0, data, bytes32(0), salt, delay); + + if (delay == 0) { + console2.log("-> Executing immediately (testing mode)..."); + timelock.execute(zeroXAdapterAddress, 0, data, bytes32(0), salt); + console2.log("-> Sellable tokens added successfully!"); + } else { + console2.log("-> Scheduled successfully!"); + console2.log("-> Delay:", delay, "seconds"); + console2.log("-> Execute after delay with:"); + console2.log(""); + console2.log("cast send", timelockAddress); + console2.log(' "execute(address,uint256,bytes,bytes32,bytes32)"'); + console2.log(" ", zeroXAdapterAddress); + console2.log(" 0"); + console2.log(" ", vm.toString(data)); + console2.log(" 0x0000000000000000000000000000000000000000000000000000000000000000"); + console2.log(" ", vm.toString(salt)); + console2.log(" --rpc-url $RPC_NODE_URL_8453 \\"); + console2.log(" --private-key $DEPLOYER_PRIVATE_KEY"); + } + + vm.stopBroadcast(); + + console2.log(""); + console2.log("Current sellable tokens:"); + address[] memory allSellable = adapter.getSellableTokens(); + for (uint256 i = 0; i < allSellable.length; i++) { + console2.log(" ", allSellable[i]); + } + console2.log("================================================="); + } +} diff --git a/script/Deploy.s.sol b/script/Deploy.s.sol index a06a447..fcf8a55 100644 --- a/script/Deploy.s.sol +++ b/script/Deploy.s.sol @@ -44,7 +44,7 @@ contract DeployScript is Script { address constant ENTRYPOINT = 0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789; // Deployment Salt for deterministic addresses - uint256 constant SALT = 0x6; + uint256 constant SALT = 0x7; // Testing Mode: Set to true to deploy with 0-delay adminTimelock for faster testing // Set to false for production (uses 72-hour delay) From 828b01f7ba8b5b8a25351b2bccdd1fc767e5b7fc Mon Sep 17 00:00:00 2001 From: Krishan Patel Date: Mon, 16 Feb 2026 20:32:06 +0000 Subject: [PATCH 11/28] . --- src/adapters/AerodromeCLSwapAdapter.sol | 43 ++++++ src/adapters/AerodromeV2SwapAdapter.sol | 43 ++++++ src/adapters/SwapSellPolicy.sol | 81 ++++++++++ src/adapters/UniswapV3SwapAdapter.sol | 43 ++++++ .../adapters/AWKAerodromeCLSwapAdapter.sol | 139 ++++++++++++++++++ .../adapters/AWKAerodromeV2SwapAdapter.sol | 120 +++++++++++++++ .../adapters/AWKSwapAdapter.sol | 64 ++++++++ .../adapters/AWKUniswapV3SwapAdapter.sol | 136 +++++++++++++++++ 8 files changed, 669 insertions(+) create mode 100644 src/adapters/AerodromeCLSwapAdapter.sol create mode 100644 src/adapters/AerodromeV2SwapAdapter.sol create mode 100644 src/adapters/SwapSellPolicy.sol create mode 100644 src/adapters/UniswapV3SwapAdapter.sol create mode 100644 src/agentwalletkit/adapters/AWKAerodromeCLSwapAdapter.sol create mode 100644 src/agentwalletkit/adapters/AWKAerodromeV2SwapAdapter.sol create mode 100644 src/agentwalletkit/adapters/AWKSwapAdapter.sol create mode 100644 src/agentwalletkit/adapters/AWKUniswapV3SwapAdapter.sol diff --git a/src/adapters/AerodromeCLSwapAdapter.sol b/src/adapters/AerodromeCLSwapAdapter.sol new file mode 100644 index 0000000..26a0b92 --- /dev/null +++ b/src/adapters/AerodromeCLSwapAdapter.sol @@ -0,0 +1,43 @@ +// SPDX-License-Identifier: MIT +// +// /$$ /$$ /$$ /$$ /$$ /$$$$$$ /$$ +// | $$ /$$/|__/ | $$ | $$ /$$__ $$ | $$ +// \ $$ /$$/ /$$ /$$$$$$ | $$ /$$$$$$$| $$ \__/ /$$$$$$ /$$$$$$ | $$ /$$ /$$$$$$ /$$$$$$ +// \ $$$$/ | $$ /$$__ $$| $$ /$$__ $$| $$$$$$ /$$__ $$ /$$__ $$| $$ /$$/ /$$__ $$ /$$__ $$ +// \ $$/ | $$| $$$$$$$$| $$| $$ | $$ \____ $$| $$$$$$$$| $$$$$$$$| $$$$$$/ | $$$$$$$$| $$ \__/ +// | $$ | $$| $$_____/| $$| $$ | $$ /$$ \ $$| $$_____/| $$_____/| $$_ $$ | $$_____/| $$ +// | $$ | $$| $$$$$$$| $$| $$$$$$$| $$$$$$/| $$$$$$$| $$$$$$$| $$ \ $$| $$$$$$$| $$ +// |__/ |__/ \_______/|__/ \_______/ \______/ \_______/ \_______/|__/ \__/ \_______/|__/ +// +// Grow your wealth on auto-pilot with DeFi agents +// https://yieldseeker.xyz +// +// For technical queries or guidance contact @krishan711 +// +pragma solidity 0.8.28; + +import {AWKErrors} from "../agentwalletkit/AWKErrors.sol"; +import {AWKAerodromeCLSwapAdapter} from "../agentwalletkit/adapters/AWKAerodromeCLSwapAdapter.sol"; +import {YieldSeekerAdapter} from "./Adapter.sol"; +import {IYieldSeekerSwapSellPolicy} from "./SwapSellPolicy.sol"; + +error SellTokenNotAllowed(address token); + +contract YieldSeekerAerodromeCLSwapAdapter is AWKAerodromeCLSwapAdapter, YieldSeekerAdapter { + address public immutable SELL_POLICY; + + constructor(address aerodromeClRouter, address sellPolicy) AWKAerodromeCLSwapAdapter(aerodromeClRouter) { + if (sellPolicy == address(0)) revert AWKErrors.ZeroAddress(); + SELL_POLICY = sellPolicy; + } + + function _beforeSwap(address sellToken, address buyToken) internal view override { + if (!IYieldSeekerSwapSellPolicy(SELL_POLICY).isSellableToken(sellToken)) revert SellTokenNotAllowed(sellToken); + _requireNotBaseAsset(sellToken); + _requireBaseAsset(buyToken); + } + + function _afterSwap(address sellToken, uint256 soldAmount, uint256 buyAmount) internal override { + _feeTracker().recordAgentTokenSwap(sellToken, soldAmount, buyAmount); + } +} diff --git a/src/adapters/AerodromeV2SwapAdapter.sol b/src/adapters/AerodromeV2SwapAdapter.sol new file mode 100644 index 0000000..11bcb7d --- /dev/null +++ b/src/adapters/AerodromeV2SwapAdapter.sol @@ -0,0 +1,43 @@ +// SPDX-License-Identifier: MIT +// +// /$$ /$$ /$$ /$$ /$$ /$$$$$$ /$$ +// | $$ /$$/|__/ | $$ | $$ /$$__ $$ | $$ +// \ $$ /$$/ /$$ /$$$$$$ | $$ /$$$$$$$| $$ \__/ /$$$$$$ /$$$$$$ | $$ /$$ /$$$$$$ /$$$$$$ +// \ $$$$/ | $$ /$$__ $$| $$ /$$__ $$| $$$$$$ /$$__ $$ /$$__ $$| $$ /$$/ /$$__ $$ /$$__ $$ +// \ $$/ | $$| $$$$$$$$| $$| $$ | $$ \____ $$| $$$$$$$$| $$$$$$$$| $$$$$$/ | $$$$$$$$| $$ \__/ +// | $$ | $$| $$_____/| $$| $$ | $$ /$$ \ $$| $$_____/| $$_____/| $$_ $$ | $$_____/| $$ +// | $$ | $$| $$$$$$$| $$| $$$$$$$| $$$$$$/| $$$$$$$| $$$$$$$| $$ \ $$| $$$$$$$| $$ +// |__/ |__/ \_______/|__/ \_______/ \______/ \_______/ \_______/|__/ \__/ \_______/|__/ +// +// Grow your wealth on auto-pilot with DeFi agents +// https://yieldseeker.xyz +// +// For technical queries or guidance contact @krishan711 +// +pragma solidity 0.8.28; + +import {AWKErrors} from "../agentwalletkit/AWKErrors.sol"; +import {AWKAerodromeV2SwapAdapter} from "../agentwalletkit/adapters/AWKAerodromeV2SwapAdapter.sol"; +import {YieldSeekerAdapter} from "./Adapter.sol"; +import {IYieldSeekerSwapSellPolicy} from "./SwapSellPolicy.sol"; + +error SellTokenNotAllowed(address token); + +contract YieldSeekerAerodromeV2SwapAdapter is AWKAerodromeV2SwapAdapter, YieldSeekerAdapter { + address public immutable SELL_POLICY; + + constructor(address aerodromeV2Router, address aerodromeV2Factory, address sellPolicy) AWKAerodromeV2SwapAdapter(aerodromeV2Router, aerodromeV2Factory) { + if (sellPolicy == address(0)) revert AWKErrors.ZeroAddress(); + SELL_POLICY = sellPolicy; + } + + function _beforeSwap(address sellToken, address buyToken) internal view override { + if (!IYieldSeekerSwapSellPolicy(SELL_POLICY).isSellableToken(sellToken)) revert SellTokenNotAllowed(sellToken); + _requireNotBaseAsset(sellToken); + _requireBaseAsset(buyToken); + } + + function _afterSwap(address sellToken, uint256 soldAmount, uint256 buyAmount) internal override { + _feeTracker().recordAgentTokenSwap(sellToken, soldAmount, buyAmount); + } +} diff --git a/src/adapters/SwapSellPolicy.sol b/src/adapters/SwapSellPolicy.sol new file mode 100644 index 0000000..3290a74 --- /dev/null +++ b/src/adapters/SwapSellPolicy.sol @@ -0,0 +1,81 @@ +// SPDX-License-Identifier: MIT +// +// /$$ /$$ /$$ /$$ /$$ /$$$$$$ /$$ +// | $$ /$$/|__/ | $$ | $$ /$$__ $$ | $$ +// \ $$ /$$/ /$$ /$$$$$$ | $$ /$$$$$$$| $$ \__/ /$$$$$$ /$$$$$$ | $$ /$$ /$$$$$$ /$$$$$$ +// \ $$$$/ | $$ /$$__ $$| $$ /$$__ $$| $$$$$$ /$$__ $$ /$$__ $$| $$ /$$/ /$$__ $$ /$$__ $$ +// \ $$/ | $$| $$$$$$$$| $$| $$ | $$ \____ $$| $$$$$$$$| $$$$$$$$| $$$$$$/ | $$$$$$$$| $$ \__/ +// | $$ | $$| $$_____/| $$| $$ | $$ /$$ \ $$| $$_____/| $$_____/| $$_ $$ | $$_____/| $$ +// | $$ | $$| $$$$$$$| $$| $$$$$$$| $$$$$$/| $$$$$$$| $$$$$$$| $$ \ $$| $$$$$$$| $$ +// |__/ |__/ \_______/|__/ \_______/ \______/ \_______/ \_______/|__/ \__/ \_______/|__/ +// +// Grow your wealth on auto-pilot with DeFi agents +// https://yieldseeker.xyz +// +// For technical queries or guidance contact @krishan711 +// +pragma solidity 0.8.28; + +import {AWKErrors} from "../agentwalletkit/AWKErrors.sol"; +import {AccessControl} from "@openzeppelin/contracts/access/AccessControl.sol"; +import {EnumerableSet} from "@openzeppelin/contracts/utils/structs/EnumerableSet.sol"; + +interface IYieldSeekerSwapSellPolicy { + function isSellableToken(address token) external view returns (bool); +} + +contract YieldSeekerSwapSellPolicy is AccessControl, IYieldSeekerSwapSellPolicy { + using EnumerableSet for EnumerableSet.AddressSet; + + bytes32 public constant EMERGENCY_ROLE = keccak256("EMERGENCY_ROLE"); + + bool public allowSellingAllTokens; + EnumerableSet.AddressSet private sellableTokens; + + event SellableTokenAdded(address indexed token); + event SellableTokenRemoved(address indexed token); + event AllowSellingAllTokensSet(bool enabled); + + constructor(address admin, address emergencyAdmin, bool initialAllowSellingAllTokens) { + if (admin == address(0)) revert AWKErrors.ZeroAddress(); + if (emergencyAdmin == address(0)) revert AWKErrors.ZeroAddress(); + _grantRole(DEFAULT_ADMIN_ROLE, admin); + _grantRole(EMERGENCY_ROLE, emergencyAdmin); + allowSellingAllTokens = initialAllowSellingAllTokens; + } + + function setAllowSellingAllTokens(bool enabled) external onlyRole(DEFAULT_ADMIN_ROLE) { + allowSellingAllTokens = enabled; + emit AllowSellingAllTokensSet(enabled); + } + + function addSellableToken(address token) external onlyRole(DEFAULT_ADMIN_ROLE) { + if (token == address(0)) revert AWKErrors.ZeroAddress(); + if (sellableTokens.add(token)) { + emit SellableTokenAdded(token); + } + } + + function addSellableTokens(address[] calldata tokens) external onlyRole(DEFAULT_ADMIN_ROLE) { + for (uint256 i = 0; i < tokens.length; i++) { + if (tokens[i] == address(0)) revert AWKErrors.ZeroAddress(); + if (sellableTokens.add(tokens[i])) { + emit SellableTokenAdded(tokens[i]); + } + } + } + + function removeSellableToken(address token) external onlyRole(EMERGENCY_ROLE) { + if (sellableTokens.remove(token)) { + emit SellableTokenRemoved(token); + } + } + + function isSellableToken(address token) external view returns (bool) { + return allowSellingAllTokens || sellableTokens.contains(token); + } + + function getSellableTokens() external view returns (address[] memory) { + return sellableTokens.values(); + } +} diff --git a/src/adapters/UniswapV3SwapAdapter.sol b/src/adapters/UniswapV3SwapAdapter.sol new file mode 100644 index 0000000..b7c55ef --- /dev/null +++ b/src/adapters/UniswapV3SwapAdapter.sol @@ -0,0 +1,43 @@ +// SPDX-License-Identifier: MIT +// +// /$$ /$$ /$$ /$$ /$$ /$$$$$$ /$$ +// | $$ /$$/|__/ | $$ | $$ /$$__ $$ | $$ +// \ $$ /$$/ /$$ /$$$$$$ | $$ /$$$$$$$| $$ \__/ /$$$$$$ /$$$$$$ | $$ /$$ /$$$$$$ /$$$$$$ +// \ $$$$/ | $$ /$$__ $$| $$ /$$__ $$| $$$$$$ /$$__ $$ /$$__ $$| $$ /$$/ /$$__ $$ /$$__ $$ +// \ $$/ | $$| $$$$$$$$| $$| $$ | $$ \____ $$| $$$$$$$$| $$$$$$$$| $$$$$$/ | $$$$$$$$| $$ \__/ +// | $$ | $$| $$_____/| $$| $$ | $$ /$$ \ $$| $$_____/| $$_____/| $$_ $$ | $$_____/| $$ +// | $$ | $$| $$$$$$$| $$| $$$$$$$| $$$$$$/| $$$$$$$| $$$$$$$| $$ \ $$| $$$$$$$| $$ +// |__/ |__/ \_______/|__/ \_______/ \______/ \_______/ \_______/|__/ \__/ \_______/|__/ +// +// Grow your wealth on auto-pilot with DeFi agents +// https://yieldseeker.xyz +// +// For technical queries or guidance contact @krishan711 +// +pragma solidity 0.8.28; + +import {AWKErrors} from "../agentwalletkit/AWKErrors.sol"; +import {AWKUniswapV3SwapAdapter} from "../agentwalletkit/adapters/AWKUniswapV3SwapAdapter.sol"; +import {YieldSeekerAdapter} from "./Adapter.sol"; +import {IYieldSeekerSwapSellPolicy} from "./SwapSellPolicy.sol"; + +error SellTokenNotAllowed(address token); + +contract YieldSeekerUniswapV3SwapAdapter is AWKUniswapV3SwapAdapter, YieldSeekerAdapter { + address public immutable SELL_POLICY; + + constructor(address uniswapV3Router, address sellPolicy) AWKUniswapV3SwapAdapter(uniswapV3Router) { + if (sellPolicy == address(0)) revert AWKErrors.ZeroAddress(); + SELL_POLICY = sellPolicy; + } + + function _beforeSwap(address sellToken, address buyToken) internal view override { + if (!IYieldSeekerSwapSellPolicy(SELL_POLICY).isSellableToken(sellToken)) revert SellTokenNotAllowed(sellToken); + _requireNotBaseAsset(sellToken); + _requireBaseAsset(buyToken); + } + + function _afterSwap(address sellToken, uint256 soldAmount, uint256 buyAmount) internal override { + _feeTracker().recordAgentTokenSwap(sellToken, soldAmount, buyAmount); + } +} diff --git a/src/agentwalletkit/adapters/AWKAerodromeCLSwapAdapter.sol b/src/agentwalletkit/adapters/AWKAerodromeCLSwapAdapter.sol new file mode 100644 index 0000000..ca2ef09 --- /dev/null +++ b/src/agentwalletkit/adapters/AWKAerodromeCLSwapAdapter.sol @@ -0,0 +1,139 @@ +// SPDX-License-Identifier: MIT +// +// _ _ __ __ _ _ _ _ ___ _ +// / \ __ _ ___ _ __ | |\ \ / /_ _| | | ___| |_| |/ (_) |_ +// / _ \ / _` |/ _ \ '_ \| __\ \ /\ / / _` | | |/ _ \ __| ' /| | __| +// / ___ \ (_| | __/ | | | |_ \ V V / (_| | | | __/ |_| . \| | |_ +// /_/ \_\__, |\___|_| |_|\__| \_/\_/ \__,_|_|_|\___|\__|_|\_\_|\__| +// |___/ +// +// Build verifiably secure onchain agents +// https://agentwalletkit.tokenpage.xyz +// +// For technical queries or guidance contact @krishan711 +// +pragma solidity 0.8.28; + +import {UnknownOperation} from "../AWKAdapter.sol"; +import {AWKErrors} from "../AWKErrors.sol"; +import {AWKSwapAdapter} from "./AWKSwapAdapter.sol"; +import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; +import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; + +error InvalidAerodromeCLRouterTarget(address target, address expected); +error InvalidSwapTokenAddress(address token); +error InvalidTickSpacing(int24 tickSpacing); +error InvalidSwapRoute(); +error InvalidRouteLength(uint256 length); +error InvalidRouteEndpoints(address expectedSellToken, address expectedBuyToken); + +interface IAerodromeCLSwapRouter { + struct ExactInputSingleParams { + address tokenIn; + address tokenOut; + int24 tickSpacing; + address recipient; + uint256 deadline; + uint256 amountIn; + uint256 amountOutMinimum; + uint160 sqrtPriceLimitX96; + } + + struct ExactInputParams { + bytes path; + address recipient; + uint256 deadline; + uint256 amountIn; + uint256 amountOutMinimum; + } + + function exactInputSingle(ExactInputSingleParams calldata params) external payable returns (uint256 amountOut); + function exactInput(ExactInputParams calldata params) external payable returns (uint256 amountOut); +} + +/** + * @title AWKAerodromeCLSwapAdapter + * @notice Generic adapter for Aerodrome CL swaps using structured route parameters + * @dev Swap execution runs via delegatecall from AgentWallet. + * Accepts multi-hop routes through path+tickSpacing arrays with strict validation. + */ +contract AWKAerodromeCLSwapAdapter is AWKSwapAdapter { + using SafeERC20 for IERC20; + + struct SwapRoute { + address[] path; + int24[] tickSpacings; + } + + uint256 internal constant FAR_FUTURE_DEADLINE = type(uint32).max; + uint256 internal constant MAX_HOPS = 4; + + address public immutable AERODROME_CL_ROUTER; + + constructor(address aerodromeClRouter) { + if (aerodromeClRouter == address(0)) revert AWKErrors.ZeroAddress(); + AERODROME_CL_ROUTER = aerodromeClRouter; + } + + // ============ Swap Operations ============ + + /** + * @notice Swap tokens via Aerodrome CL (public interface, should not be called directly) + * @dev This is a placeholder function signature. Actual execution happens via execute() -> _swap() + */ + function swap(address sellToken, address buyToken, SwapRoute calldata route, uint256 sellAmount, uint256 minBuyAmount) external pure returns (uint256) { + revert AWKErrors.DirectCallForbidden(); + } + + // ============ Swap Execution (delegatecall only) ============ + + /** + * @notice Route delegatecall operations to the swap handler + * @param target The Aerodrome CL router target contract + * @param data ABI-encoded call data (must match swap() selector) + * @return ABI-encoded buy amount + */ + function execute(address target, bytes calldata data) external payable virtual override onlyDelegateCall returns (bytes memory) { + bytes4 selector = bytes4(data[:4]); + if (selector == this.swap.selector) { + (address sellToken, address buyToken, SwapRoute memory route, uint256 sellAmount, uint256 minBuyAmount) = abi.decode(data[4:], (address, address, SwapRoute, uint256, uint256)); + (uint256 buyAmount,) = _swap(target, sellToken, buyToken, route, sellAmount, minBuyAmount); + return abi.encode(buyAmount); + } + revert UnknownOperation(); + } + + // ============ Internal Implementations ============ + + function _swap(address target, address sellToken, address buyToken, SwapRoute memory route, uint256 sellAmount, uint256 minBuyAmount) internal virtual returns (uint256 buyAmount, uint256 soldAmount) { + if (target != AERODROME_CL_ROUTER) revert InvalidAerodromeCLRouterTarget(target, AERODROME_CL_ROUTER); + _validateRoute(sellToken, buyToken, route); + SwapBalanceSnapshot memory balanceSnapshot = _beforeSwapInternal(sellToken, buyToken, sellAmount, minBuyAmount); + IERC20(sellToken).forceApprove(AERODROME_CL_ROUTER, sellAmount); + bytes memory encodedPath = abi.encodePacked(route.path[0]); + for (uint256 i = 0; i < route.tickSpacings.length; i++) { + encodedPath = bytes.concat(encodedPath, abi.encodePacked(route.tickSpacings[i]), abi.encodePacked(route.path[i + 1])); + } + IAerodromeCLSwapRouter(AERODROME_CL_ROUTER).exactInput(IAerodromeCLSwapRouter.ExactInputParams({path: encodedPath, recipient: address(this), deadline: FAR_FUTURE_DEADLINE, amountIn: sellAmount, amountOutMinimum: minBuyAmount})); + (buyAmount, soldAmount) = _afterSwapInternal(AERODROME_CL_ROUTER, sellToken, buyToken, minBuyAmount, balanceSnapshot); + } + + function _validateTickSpacing(int24 tickSpacing) internal pure { + if (tickSpacing != 1 && tickSpacing != 50 && tickSpacing != 100 && tickSpacing != 200) revert InvalidTickSpacing(tickSpacing); + } + + function _validateRoute(address sellToken, address buyToken, SwapRoute memory route) internal pure { + uint256 pathLength = route.path.length; + if (pathLength < 2 || pathLength > MAX_HOPS + 1) revert InvalidRouteLength(pathLength); + if (route.tickSpacings.length != pathLength - 1) revert InvalidSwapRoute(); + if (route.path[0] != sellToken || route.path[pathLength - 1] != buyToken) { + revert InvalidRouteEndpoints(sellToken, buyToken); + } + for (uint256 i = 0; i < pathLength; i++) { + if (route.path[i] == address(0)) revert InvalidSwapTokenAddress(route.path[i]); + } + for (uint256 i = 0; i < route.tickSpacings.length; i++) { + _validateTickSpacing(route.tickSpacings[i]); + } + } +} diff --git a/src/agentwalletkit/adapters/AWKAerodromeV2SwapAdapter.sol b/src/agentwalletkit/adapters/AWKAerodromeV2SwapAdapter.sol new file mode 100644 index 0000000..ad94829 --- /dev/null +++ b/src/agentwalletkit/adapters/AWKAerodromeV2SwapAdapter.sol @@ -0,0 +1,120 @@ +// SPDX-License-Identifier: MIT +// +// _ _ __ __ _ _ _ _ ___ _ +// / \ __ _ ___ _ __ | |\ \ / /_ _| | | ___| |_| |/ (_) |_ +// / _ \ / _` |/ _ \ '_ \| __\ \ /\ / / _` | | |/ _ \ __| ' /| | __| +// / ___ \ (_| | __/ | | | |_ \ V V / (_| | | | __/ |_| . \| | |_ +// /_/ \_\__, |\___|_| |_|\__| \_/\_/ \__,_|_|_|\___|\__|_|\_\_|\__| +// |___/ +// +// Build verifiably secure onchain agents +// https://agentwalletkit.tokenpage.xyz +// +// For technical queries or guidance contact @krishan711 +// +pragma solidity 0.8.28; + +import {UnknownOperation} from "../AWKAdapter.sol"; +import {AWKErrors} from "../AWKErrors.sol"; +import {AWKSwapAdapter} from "./AWKSwapAdapter.sol"; +import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; +import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; + +error InvalidAerodromeV2RouterTarget(address target, address expected); +error InvalidSwapTokenAddress(address token); +error InvalidSwapRoute(); +error InvalidRouteLength(uint256 length); +error InvalidRouteEndpoints(address expectedSellToken, address expectedBuyToken); + +interface IAerodromeV2Router { + struct Route { + address from; + address to; + bool stable; + address factory; + } + + function swapExactTokensForTokens(uint256 amountIn, uint256 amountOutMin, Route[] memory routes, address to, uint256 deadline) external returns (uint256[] memory amounts); +} + +/** + * @title AWKAerodromeV2SwapAdapter + * @notice Generic adapter for Aerodrome V2 swaps using structured route parameters + * @dev Swap execution runs via delegatecall from AgentWallet. + * Accepts multi-hop routes through path+stable arrays with strict validation. + */ +contract AWKAerodromeV2SwapAdapter is AWKSwapAdapter { + using SafeERC20 for IERC20; + + struct SwapRoute { + address[] path; + bool[] stables; + } + + uint256 internal constant FAR_FUTURE_DEADLINE = type(uint32).max; + uint256 internal constant MAX_HOPS = 4; + + address public immutable AERODROME_V2_ROUTER; + address public immutable AERODROME_V2_FACTORY; + + constructor(address aerodromeV2Router, address aerodromeV2Factory) { + if (aerodromeV2Router == address(0) || aerodromeV2Factory == address(0)) revert AWKErrors.ZeroAddress(); + AERODROME_V2_ROUTER = aerodromeV2Router; + AERODROME_V2_FACTORY = aerodromeV2Factory; + } + + // ============ Swap Operations ============ + + /** + * @notice Swap tokens via Aerodrome V2 (public interface, should not be called directly) + * @dev This is a placeholder function signature. Actual execution happens via execute() -> _swap() + */ + function swap(address sellToken, address buyToken, SwapRoute calldata route, uint256 sellAmount, uint256 minBuyAmount) external pure returns (uint256) { + revert AWKErrors.DirectCallForbidden(); + } + + // ============ Swap Execution (delegatecall only) ============ + + /** + * @notice Route delegatecall operations to the swap handler + * @param target The Aerodrome V2 router target contract + * @param data ABI-encoded call data (must match swap() selector) + * @return ABI-encoded buy amount + */ + function execute(address target, bytes calldata data) external payable virtual override onlyDelegateCall returns (bytes memory) { + bytes4 selector = bytes4(data[:4]); + if (selector == this.swap.selector) { + (address sellToken, address buyToken, SwapRoute memory route, uint256 sellAmount, uint256 minBuyAmount) = abi.decode(data[4:], (address, address, SwapRoute, uint256, uint256)); + (uint256 buyAmount,) = _swap(target, sellToken, buyToken, route, sellAmount, minBuyAmount); + return abi.encode(buyAmount); + } + revert UnknownOperation(); + } + + // ============ Internal Implementations ============ + + function _swap(address target, address sellToken, address buyToken, SwapRoute memory route, uint256 sellAmount, uint256 minBuyAmount) internal virtual returns (uint256 buyAmount, uint256 soldAmount) { + if (target != AERODROME_V2_ROUTER) revert InvalidAerodromeV2RouterTarget(target, AERODROME_V2_ROUTER); + _validateRoute(sellToken, buyToken, route); + SwapBalanceSnapshot memory balanceSnapshot = _beforeSwapInternal(sellToken, buyToken, sellAmount, minBuyAmount); + IERC20(sellToken).forceApprove(AERODROME_V2_ROUTER, sellAmount); + IAerodromeV2Router.Route[] memory routes = new IAerodromeV2Router.Route[](route.stables.length); + for (uint256 i = 0; i < route.stables.length; i++) { + routes[i] = IAerodromeV2Router.Route({from: route.path[i], to: route.path[i + 1], stable: route.stables[i], factory: AERODROME_V2_FACTORY}); + } + IAerodromeV2Router(AERODROME_V2_ROUTER).swapExactTokensForTokens(sellAmount, minBuyAmount, routes, address(this), FAR_FUTURE_DEADLINE); + (buyAmount, soldAmount) = _afterSwapInternal(AERODROME_V2_ROUTER, sellToken, buyToken, minBuyAmount, balanceSnapshot); + } + + function _validateRoute(address sellToken, address buyToken, SwapRoute memory route) internal pure { + uint256 pathLength = route.path.length; + if (pathLength < 2 || pathLength > MAX_HOPS + 1) revert InvalidRouteLength(pathLength); + if (route.stables.length != pathLength - 1) revert InvalidSwapRoute(); + if (route.path[0] != sellToken || route.path[pathLength - 1] != buyToken) { + revert InvalidRouteEndpoints(sellToken, buyToken); + } + for (uint256 i = 0; i < pathLength; i++) { + if (route.path[i] == address(0)) revert InvalidSwapTokenAddress(route.path[i]); + } + } +} diff --git a/src/agentwalletkit/adapters/AWKSwapAdapter.sol b/src/agentwalletkit/adapters/AWKSwapAdapter.sol new file mode 100644 index 0000000..8cad392 --- /dev/null +++ b/src/agentwalletkit/adapters/AWKSwapAdapter.sol @@ -0,0 +1,64 @@ +// SPDX-License-Identifier: MIT +// +// _ _ __ __ _ _ _ _ ___ _ +// / \ __ _ ___ _ __ | |\ \ / /_ _| | | ___| |_| |/ (_) |_ +// / _ \ / _` |/ _ \ '_ \| __\ \ /\ / / _` | | |/ _ \ __| ' /| | __| +// / ___ \ (_| | __/ | | | |_ \ V V / (_| | | | __/ |_| . \| | |_ +// /_/ \_\__, |\___|_| |_|\__| \_/\_/ \__,_|_|_|\___|\__|_|\_\_|\__| +// |___/ +// +// Build verifiably secure onchain agents +// https://agentwalletkit.tokenpage.xyz +// +// For technical queries or guidance contact @krishan711 +// +pragma solidity 0.8.28; + +import {AWKAdapter} from "../AWKAdapter.sol"; +import {AWKErrors} from "../AWKErrors.sol"; +import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; + +error InvalidSwapTokenAddress(address token); +error InsufficientOutput(uint256 received, uint256 minimum); + +/** + * @title AWKSwapAdapter + * @notice Base class for swap adapters + * @dev Swap execution runs via delegatecall from AgentWallet. + */ +abstract contract AWKSwapAdapter is AWKAdapter { + struct SwapBalanceSnapshot { + uint256 buyBalanceBefore; + uint256 sellBalanceBefore; + } + + event Swapped(address indexed wallet, address indexed router, address sellToken, address buyToken, uint256 soldAmount, uint256 buyAmount); + + // ============ Shared Swap Helpers ============ + + function _beforeSwap(address sellToken, address buyToken) internal view virtual {} + + function _afterSwap(address sellToken, uint256 soldAmount, uint256 buyAmount) internal virtual {} + + function _beforeSwapInternal(address sellToken, address buyToken, uint256 sellAmount, uint256 minBuyAmount) internal virtual returns (SwapBalanceSnapshot memory snapshot) { + _validateSwapInput(sellToken, buyToken, sellAmount, minBuyAmount); + _beforeSwap(sellToken, buyToken); + snapshot.buyBalanceBefore = IERC20(buyToken).balanceOf(address(this)); + snapshot.sellBalanceBefore = IERC20(sellToken).balanceOf(address(this)); + } + + function _afterSwapInternal(address router, address sellToken, address buyToken, uint256 minBuyAmount, SwapBalanceSnapshot memory snapshot) internal virtual returns (uint256 buyAmount, uint256 soldAmount) { + uint256 buyBalanceAfter = IERC20(buyToken).balanceOf(address(this)); + uint256 sellBalanceAfter = IERC20(sellToken).balanceOf(address(this)); + soldAmount = snapshot.sellBalanceBefore - sellBalanceAfter; + buyAmount = buyBalanceAfter - snapshot.buyBalanceBefore; + if (buyAmount < minBuyAmount) revert InsufficientOutput(buyAmount, minBuyAmount); + _afterSwap(sellToken, soldAmount, buyAmount); + emit Swapped(address(this), router, sellToken, buyToken, soldAmount, buyAmount); + } + + function _validateSwapInput(address sellToken, address buyToken, uint256 sellAmount, uint256 minBuyAmount) internal view { + if (sellToken == address(0) || buyToken == address(0) || sellToken == buyToken) revert InvalidSwapTokenAddress(sellToken); + if (sellAmount == 0 || minBuyAmount == 0) revert AWKErrors.ZeroAmount(); + } +} diff --git a/src/agentwalletkit/adapters/AWKUniswapV3SwapAdapter.sol b/src/agentwalletkit/adapters/AWKUniswapV3SwapAdapter.sol new file mode 100644 index 0000000..87f8d39 --- /dev/null +++ b/src/agentwalletkit/adapters/AWKUniswapV3SwapAdapter.sol @@ -0,0 +1,136 @@ +// SPDX-License-Identifier: MIT +// +// _ _ __ __ _ _ _ _ ___ _ +// / \ __ _ ___ _ __ | |\ \ / /_ _| | | ___| |_| |/ (_) |_ +// / _ \ / _` |/ _ \ '_ \| __\ \ /\ / / _` | | |/ _ \ __| ' /| | __| +// / ___ \ (_| | __/ | | | |_ \ V V / (_| | | | __/ |_| . \| | |_ +// /_/ \_\__, |\___|_| |_|\__| \_/\_/ \__,_|_|_|\___|\__|_|\_\_|\__| +// |___/ +// +// Build verifiably secure onchain agents +// https://agentwalletkit.tokenpage.xyz +// +// For technical queries or guidance contact @krishan711 +// +pragma solidity 0.8.28; + +import {UnknownOperation} from "../AWKAdapter.sol"; +import {AWKErrors} from "../AWKErrors.sol"; +import {AWKSwapAdapter} from "./AWKSwapAdapter.sol"; +import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; +import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; + +error InvalidUniswapV3RouterTarget(address target, address expected); +error InvalidSwapTokenAddress(address token); +error InvalidUniswapV3FeeTier(uint24 fee); +error InvalidSwapRoute(); +error InvalidRouteLength(uint256 length); +error InvalidRouteEndpoints(address expectedSellToken, address expectedBuyToken); + +interface IUniswapV3SwapRouter { + struct ExactInputSingleParams { + address tokenIn; + address tokenOut; + uint24 fee; + address recipient; + uint256 amountIn; + uint256 amountOutMinimum; + uint160 sqrtPriceLimitX96; + } + + struct ExactInputParams { + bytes path; + address recipient; + uint256 amountIn; + uint256 amountOutMinimum; + } + + function exactInputSingle(ExactInputSingleParams calldata params) external payable returns (uint256 amountOut); + function exactInput(ExactInputParams calldata params) external payable returns (uint256 amountOut); +} + +/** + * @title AWKUniswapV3SwapAdapter + * @notice Generic adapter for Uniswap V3 swaps using structured route parameters + * @dev Swap execution runs via delegatecall from AgentWallet. + * Accepts multi-hop routes through path+fee arrays with strict validation. + */ +contract AWKUniswapV3SwapAdapter is AWKSwapAdapter { + using SafeERC20 for IERC20; + + uint256 internal constant MAX_HOPS = 4; + + struct SwapRoute { + address[] path; + uint24[] fees; + } + + address public immutable UNISWAP_V3_ROUTER; + + constructor(address uniswapV3Router) { + if (uniswapV3Router == address(0)) revert AWKErrors.ZeroAddress(); + UNISWAP_V3_ROUTER = uniswapV3Router; + } + + // ============ Swap Operations ============ + + /** + * @notice Swap tokens via Uniswap V3 (public interface, should not be called directly) + * @dev This is a placeholder function signature. Actual execution happens via execute() -> _swap() + */ + function swap(address sellToken, address buyToken, SwapRoute calldata route, uint256 sellAmount, uint256 minBuyAmount) external pure returns (uint256) { + revert AWKErrors.DirectCallForbidden(); + } + + // ============ Swap Execution (delegatecall only) ============ + + /** + * @notice Route delegatecall operations to the swap handler + * @param target The Uniswap V3 router target contract + * @param data ABI-encoded call data (must match swap() selector) + * @return ABI-encoded buy amount + */ + function execute(address target, bytes calldata data) external payable virtual override onlyDelegateCall returns (bytes memory) { + bytes4 selector = bytes4(data[:4]); + if (selector == this.swap.selector) { + (address sellToken, address buyToken, SwapRoute memory route, uint256 sellAmount, uint256 minBuyAmount) = abi.decode(data[4:], (address, address, SwapRoute, uint256, uint256)); + (uint256 buyAmount,) = _swap(target, sellToken, buyToken, route, sellAmount, minBuyAmount); + return abi.encode(buyAmount); + } + revert UnknownOperation(); + } + + // ============ Internal Implementations ============ + + function _swap(address target, address sellToken, address buyToken, SwapRoute memory route, uint256 sellAmount, uint256 minBuyAmount) internal virtual returns (uint256 buyAmount, uint256 soldAmount) { + if (target != UNISWAP_V3_ROUTER) revert InvalidUniswapV3RouterTarget(target, UNISWAP_V3_ROUTER); + _validateRoute(sellToken, buyToken, route); + SwapBalanceSnapshot memory balanceSnapshot = _beforeSwapInternal(sellToken, buyToken, sellAmount, minBuyAmount); + IERC20(sellToken).forceApprove(UNISWAP_V3_ROUTER, sellAmount); + bytes memory encodedPath = abi.encodePacked(route.path[0]); + for (uint256 i = 0; i < route.fees.length; i++) { + encodedPath = bytes.concat(encodedPath, abi.encodePacked(route.fees[i]), abi.encodePacked(route.path[i + 1])); + } + IUniswapV3SwapRouter(UNISWAP_V3_ROUTER).exactInput(IUniswapV3SwapRouter.ExactInputParams({path: encodedPath, recipient: address(this), amountIn: sellAmount, amountOutMinimum: minBuyAmount})); + (buyAmount, soldAmount) = _afterSwapInternal(UNISWAP_V3_ROUTER, sellToken, buyToken, minBuyAmount, balanceSnapshot); + } + + function _validateFeeTier(uint24 fee) internal pure { + if (fee != 100 && fee != 500 && fee != 3000 && fee != 10000) revert InvalidUniswapV3FeeTier(fee); + } + + function _validateRoute(address sellToken, address buyToken, SwapRoute memory route) internal pure { + uint256 pathLength = route.path.length; + if (pathLength < 2 || pathLength > MAX_HOPS + 1) revert InvalidRouteLength(pathLength); + if (route.fees.length != pathLength - 1) revert InvalidSwapRoute(); + if (route.path[0] != sellToken || route.path[pathLength - 1] != buyToken) { + revert InvalidRouteEndpoints(sellToken, buyToken); + } + for (uint256 i = 0; i < pathLength; i++) { + if (route.path[i] == address(0)) revert InvalidSwapTokenAddress(route.path[i]); + } + for (uint256 i = 0; i < route.fees.length; i++) { + _validateFeeTier(route.fees[i]); + } + } +} From c1fb7a1740f8cfe8a5ff1ebf8db08e00f5a4ed02 Mon Sep 17 00:00:00 2001 From: Krishan Patel Date: Mon, 16 Feb 2026 20:34:37 +0000 Subject: [PATCH 12/28] . --- src/agentwalletkit/adapters/AWKSwapAdapter.sol | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/agentwalletkit/adapters/AWKSwapAdapter.sol b/src/agentwalletkit/adapters/AWKSwapAdapter.sol index 8cad392..764c42f 100644 --- a/src/agentwalletkit/adapters/AWKSwapAdapter.sol +++ b/src/agentwalletkit/adapters/AWKSwapAdapter.sol @@ -41,7 +41,8 @@ abstract contract AWKSwapAdapter is AWKAdapter { function _afterSwap(address sellToken, uint256 soldAmount, uint256 buyAmount) internal virtual {} function _beforeSwapInternal(address sellToken, address buyToken, uint256 sellAmount, uint256 minBuyAmount) internal virtual returns (SwapBalanceSnapshot memory snapshot) { - _validateSwapInput(sellToken, buyToken, sellAmount, minBuyAmount); + if (sellToken == address(0) || buyToken == address(0) || sellToken == buyToken) revert InvalidSwapTokenAddress(sellToken); + if (sellAmount == 0 || minBuyAmount == 0) revert AWKErrors.ZeroAmount(); _beforeSwap(sellToken, buyToken); snapshot.buyBalanceBefore = IERC20(buyToken).balanceOf(address(this)); snapshot.sellBalanceBefore = IERC20(sellToken).balanceOf(address(this)); @@ -56,9 +57,4 @@ abstract contract AWKSwapAdapter is AWKAdapter { _afterSwap(sellToken, soldAmount, buyAmount); emit Swapped(address(this), router, sellToken, buyToken, soldAmount, buyAmount); } - - function _validateSwapInput(address sellToken, address buyToken, uint256 sellAmount, uint256 minBuyAmount) internal view { - if (sellToken == address(0) || buyToken == address(0) || sellToken == buyToken) revert InvalidSwapTokenAddress(sellToken); - if (sellAmount == 0 || minBuyAmount == 0) revert AWKErrors.ZeroAmount(); - } } From b9498153a21b338b5b3faa9515229fc05382644a Mon Sep 17 00:00:00 2001 From: Krishan Patel Date: Mon, 16 Feb 2026 20:58:25 +0000 Subject: [PATCH 13/28] . --- src/agentwalletkit/adapters/AWKAerodromeCLSwapAdapter.sol | 5 +---- src/agentwalletkit/adapters/AWKAerodromeV2SwapAdapter.sol | 5 +---- src/agentwalletkit/adapters/AWKSwapAdapter.sol | 5 +++++ src/agentwalletkit/adapters/AWKUniswapV3SwapAdapter.sol | 5 +---- 4 files changed, 8 insertions(+), 12 deletions(-) diff --git a/src/agentwalletkit/adapters/AWKAerodromeCLSwapAdapter.sol b/src/agentwalletkit/adapters/AWKAerodromeCLSwapAdapter.sol index ca2ef09..ba6cb9f 100644 --- a/src/agentwalletkit/adapters/AWKAerodromeCLSwapAdapter.sol +++ b/src/agentwalletkit/adapters/AWKAerodromeCLSwapAdapter.sol @@ -25,7 +25,6 @@ error InvalidSwapTokenAddress(address token); error InvalidTickSpacing(int24 tickSpacing); error InvalidSwapRoute(); error InvalidRouteLength(uint256 length); -error InvalidRouteEndpoints(address expectedSellToken, address expectedBuyToken); interface IAerodromeCLSwapRouter { struct ExactInputSingleParams { @@ -126,9 +125,7 @@ contract AWKAerodromeCLSwapAdapter is AWKSwapAdapter { uint256 pathLength = route.path.length; if (pathLength < 2 || pathLength > MAX_HOPS + 1) revert InvalidRouteLength(pathLength); if (route.tickSpacings.length != pathLength - 1) revert InvalidSwapRoute(); - if (route.path[0] != sellToken || route.path[pathLength - 1] != buyToken) { - revert InvalidRouteEndpoints(sellToken, buyToken); - } + _validateRouteEndpoints(sellToken, buyToken, route.path[0], route.path[pathLength - 1]); for (uint256 i = 0; i < pathLength; i++) { if (route.path[i] == address(0)) revert InvalidSwapTokenAddress(route.path[i]); } diff --git a/src/agentwalletkit/adapters/AWKAerodromeV2SwapAdapter.sol b/src/agentwalletkit/adapters/AWKAerodromeV2SwapAdapter.sol index ad94829..b42a2c6 100644 --- a/src/agentwalletkit/adapters/AWKAerodromeV2SwapAdapter.sol +++ b/src/agentwalletkit/adapters/AWKAerodromeV2SwapAdapter.sol @@ -24,7 +24,6 @@ error InvalidAerodromeV2RouterTarget(address target, address expected); error InvalidSwapTokenAddress(address token); error InvalidSwapRoute(); error InvalidRouteLength(uint256 length); -error InvalidRouteEndpoints(address expectedSellToken, address expectedBuyToken); interface IAerodromeV2Router { struct Route { @@ -110,9 +109,7 @@ contract AWKAerodromeV2SwapAdapter is AWKSwapAdapter { uint256 pathLength = route.path.length; if (pathLength < 2 || pathLength > MAX_HOPS + 1) revert InvalidRouteLength(pathLength); if (route.stables.length != pathLength - 1) revert InvalidSwapRoute(); - if (route.path[0] != sellToken || route.path[pathLength - 1] != buyToken) { - revert InvalidRouteEndpoints(sellToken, buyToken); - } + _validateRouteEndpoints(sellToken, buyToken, route.path[0], route.path[pathLength - 1]); for (uint256 i = 0; i < pathLength; i++) { if (route.path[i] == address(0)) revert InvalidSwapTokenAddress(route.path[i]); } diff --git a/src/agentwalletkit/adapters/AWKSwapAdapter.sol b/src/agentwalletkit/adapters/AWKSwapAdapter.sol index 764c42f..b3828af 100644 --- a/src/agentwalletkit/adapters/AWKSwapAdapter.sol +++ b/src/agentwalletkit/adapters/AWKSwapAdapter.sol @@ -19,6 +19,7 @@ import {AWKErrors} from "../AWKErrors.sol"; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; error InvalidSwapTokenAddress(address token); +error InvalidRouteEndpoints(address expectedSellToken, address expectedBuyToken); error InsufficientOutput(uint256 received, uint256 minimum); /** @@ -40,6 +41,10 @@ abstract contract AWKSwapAdapter is AWKAdapter { function _afterSwap(address sellToken, uint256 soldAmount, uint256 buyAmount) internal virtual {} + function _validateRouteEndpoints(address sellToken, address buyToken, address routeStartToken, address routeEndToken) internal pure { + if (routeStartToken != sellToken || routeEndToken != buyToken) revert InvalidRouteEndpoints(sellToken, buyToken); + } + function _beforeSwapInternal(address sellToken, address buyToken, uint256 sellAmount, uint256 minBuyAmount) internal virtual returns (SwapBalanceSnapshot memory snapshot) { if (sellToken == address(0) || buyToken == address(0) || sellToken == buyToken) revert InvalidSwapTokenAddress(sellToken); if (sellAmount == 0 || minBuyAmount == 0) revert AWKErrors.ZeroAmount(); diff --git a/src/agentwalletkit/adapters/AWKUniswapV3SwapAdapter.sol b/src/agentwalletkit/adapters/AWKUniswapV3SwapAdapter.sol index 87f8d39..770f706 100644 --- a/src/agentwalletkit/adapters/AWKUniswapV3SwapAdapter.sol +++ b/src/agentwalletkit/adapters/AWKUniswapV3SwapAdapter.sol @@ -25,7 +25,6 @@ error InvalidSwapTokenAddress(address token); error InvalidUniswapV3FeeTier(uint24 fee); error InvalidSwapRoute(); error InvalidRouteLength(uint256 length); -error InvalidRouteEndpoints(address expectedSellToken, address expectedBuyToken); interface IUniswapV3SwapRouter { struct ExactInputSingleParams { @@ -123,9 +122,7 @@ contract AWKUniswapV3SwapAdapter is AWKSwapAdapter { uint256 pathLength = route.path.length; if (pathLength < 2 || pathLength > MAX_HOPS + 1) revert InvalidRouteLength(pathLength); if (route.fees.length != pathLength - 1) revert InvalidSwapRoute(); - if (route.path[0] != sellToken || route.path[pathLength - 1] != buyToken) { - revert InvalidRouteEndpoints(sellToken, buyToken); - } + _validateRouteEndpoints(sellToken, buyToken, route.path[0], route.path[pathLength - 1]); for (uint256 i = 0; i < pathLength; i++) { if (route.path[i] == address(0)) revert InvalidSwapTokenAddress(route.path[i]); } From 4c79c9daa697f336a869e0c2c459cd09a63c3266 Mon Sep 17 00:00:00 2001 From: Krishan Patel Date: Mon, 16 Feb 2026 21:23:24 +0000 Subject: [PATCH 14/28] . --- deployments.json | 2 +- script/AddSellableTokens.s.sol | 22 +- script/Deploy.s.sol | 110 ++++--- script/RegisterVault.s.sol | 10 +- test/integration/SwapAdapterIntegration.t.sol | 308 ++++++++++++++++++ .../adapters/AerodromeCLSwapAdapter.t.sol | 197 +++++++++++ .../adapters/AerodromeV2SwapAdapter.t.sol | 179 ++++++++++ test/unit/adapters/SwapSellPolicy.t.sol | 102 ++++++ test/unit/adapters/UniswapV3SwapAdapter.t.sol | 197 +++++++++++ 9 files changed, 1065 insertions(+), 62 deletions(-) create mode 100644 test/integration/SwapAdapterIntegration.t.sol create mode 100644 test/unit/adapters/AerodromeCLSwapAdapter.t.sol create mode 100644 test/unit/adapters/AerodromeV2SwapAdapter.t.sol create mode 100644 test/unit/adapters/SwapSellPolicy.t.sol create mode 100644 test/unit/adapters/UniswapV3SwapAdapter.t.sol diff --git a/deployments.json b/deployments.json index ee06c1d..2391aec 100644 --- a/deployments.json +++ b/deployments.json @@ -10,4 +10,4 @@ "feeTracker": "0x2e11eDC25e5f2391Cd9225A7C107d1B41eBACc9F", "merklAdapter": "0x063E92A335be85a7AE6d2De28397dcf40423c45f", "zeroXAdapter": "0x153e4801852249d1f7D05CCB13c1D1CF8AE7c466" -} \ No newline at end of file +} diff --git a/script/AddSellableTokens.s.sol b/script/AddSellableTokens.s.sol index 6c71a81..15b4a69 100644 --- a/script/AddSellableTokens.s.sol +++ b/script/AddSellableTokens.s.sol @@ -2,14 +2,14 @@ pragma solidity 0.8.28; import {YieldSeekerAdminTimelock as AdminTimelock} from "../src/AdminTimelock.sol"; -import {AWKZeroXAdapter} from "../src/agentwalletkit/adapters/AWKZeroXAdapter.sol"; +import {YieldSeekerSwapSellPolicy as SwapSellPolicy} from "../src/adapters/SwapSellPolicy.sol"; import {Script} from "forge-std/Script.sol"; import {stdJson} from "forge-std/StdJson.sol"; import {console2} from "forge-std/console2.sol"; /** * @title AddSellableTokensScript - * @notice Helper script to add sellable tokens to the 0x adapter allowlist via timelock + * @notice Helper script to add sellable tokens to the swap sell policy allowlist via timelock * @dev Usage: * forge script script/AddSellableTokens.s.sol:AddSellableTokensScript \ * --rpc-url $RPC_NODE_URL_8453 \ @@ -41,38 +41,38 @@ contract AddSellableTokensScript is Script { // forge-lint: disable-next-line(unsafe-cheatcode) string memory json = vm.readFile("./deployments.json"); - address zeroXAdapterAddress = json.readAddress(".zeroXAdapter"); + address sellPolicyAddress = json.readAddress(".swapSellPolicy"); address timelockAddress = json.readAddress(".adminTimelock"); - AWKZeroXAdapter adapter = AWKZeroXAdapter(zeroXAdapterAddress); + SwapSellPolicy sellPolicy = SwapSellPolicy(sellPolicyAddress); AdminTimelock timelock = AdminTimelock(payable(timelockAddress)); uint256 delay = timelock.getMinDelay(); console2.log("================================================="); console2.log("ADD SELLABLE TOKENS"); console2.log("================================================="); - console2.log("0x Adapter:", zeroXAdapterAddress); + console2.log("Swap Sell Policy:", sellPolicyAddress); console2.log("Timelock:", timelockAddress); console2.log("Tokens to add:", tokens.length); console2.log(""); for (uint256 i = 0; i < tokens.length; i++) { require(tokens[i] != address(0), "Invalid token address"); - bool alreadySellable = adapter.isSellableToken(tokens[i]); + bool alreadySellable = sellPolicy.isSellableToken(tokens[i]); console2.log("Token:", tokens[i], alreadySellable ? "(already sellable)" : "(new)"); } bytes32 salt = keccak256(abi.encodePacked("add-sellable-tokens-", abi.encode(tokens))); - bytes memory data = abi.encodeCall(adapter.addSellableTokens, (tokens)); + bytes memory data = abi.encodeCall(sellPolicy.addSellableTokens, (tokens)); console2.log(""); vm.startBroadcast(deployerPrivateKey); console2.log("-> Scheduling addSellableTokens via timelock..."); - timelock.schedule(zeroXAdapterAddress, 0, data, bytes32(0), salt, delay); + timelock.schedule(sellPolicyAddress, 0, data, bytes32(0), salt, delay); if (delay == 0) { console2.log("-> Executing immediately (testing mode)..."); - timelock.execute(zeroXAdapterAddress, 0, data, bytes32(0), salt); + timelock.execute(sellPolicyAddress, 0, data, bytes32(0), salt); console2.log("-> Sellable tokens added successfully!"); } else { console2.log("-> Scheduled successfully!"); @@ -81,7 +81,7 @@ contract AddSellableTokensScript is Script { console2.log(""); console2.log("cast send", timelockAddress); console2.log(' "execute(address,uint256,bytes,bytes32,bytes32)"'); - console2.log(" ", zeroXAdapterAddress); + console2.log(" ", sellPolicyAddress); console2.log(" 0"); console2.log(" ", vm.toString(data)); console2.log(" 0x0000000000000000000000000000000000000000000000000000000000000000"); @@ -94,7 +94,7 @@ contract AddSellableTokensScript is Script { console2.log(""); console2.log("Current sellable tokens:"); - address[] memory allSellable = adapter.getSellableTokens(); + address[] memory allSellable = sellPolicy.getSellableTokens(); for (uint256 i = 0; i < allSellable.length; i++) { console2.log(" ", allSellable[i]); } diff --git a/script/Deploy.s.sol b/script/Deploy.s.sol index fcf8a55..c2cda84 100644 --- a/script/Deploy.s.sol +++ b/script/Deploy.s.sol @@ -11,7 +11,10 @@ import {YieldSeekerCompoundV2Adapter as CompoundV2Adapter} from "../src/adapters import {YieldSeekerCompoundV3Adapter as CompoundV3Adapter} from "../src/adapters/CompoundV3Adapter.sol"; import {YieldSeekerERC4626Adapter as ERC4626Adapter} from "../src/adapters/ERC4626Adapter.sol"; import {YieldSeekerMerklAdapter as MerklAdapter} from "../src/adapters/MerklAdapter.sol"; -import {YieldSeekerZeroXAdapter as ZeroXAdapter} from "../src/adapters/ZeroXAdapter.sol"; +import {YieldSeekerSwapSellPolicy as SwapSellPolicy} from "../src/adapters/SwapSellPolicy.sol"; +import {YieldSeekerUniswapV3SwapAdapter as UniswapV3SwapAdapter} from "../src/adapters/UniswapV3SwapAdapter.sol"; +import {YieldSeekerAerodromeV2SwapAdapter as AerodromeV2SwapAdapter} from "../src/adapters/AerodromeV2SwapAdapter.sol"; +import {YieldSeekerAerodromeCLSwapAdapter as AerodromeCLSwapAdapter} from "../src/adapters/AerodromeCLSwapAdapter.sol"; import {Script} from "forge-std/Script.sol"; import {stdJson} from "forge-std/StdJson.sol"; import {console2} from "forge-std/console2.sol"; @@ -20,46 +23,17 @@ import {console2} from "forge-std/console2.sol"; * @title DeployScript * @notice Deploys the YieldSeeker AgentWallet system with selective contract deployment. * @dev Usage: forge script script/Deploy.s.sol:DeployScript --rpc-url --broadcast - * - * SELECTIVE DEPLOYMENT: - * This script reads from deployments.json and only deploys contracts with address(0) entries. - * To redeploy a specific contract, set its address to 0x0000000000000000000000000000000000000000 in deployments.json, then re-run. - * - * Example deployments.json: - * { - * "adminTimelock": "0x0000000000000000000000000000000000000000", - * "agentWalletFactory": "0x0000000000000000000000000000000000000000", - * "adapterRegistry": "0x0000000000000000000000000000000000000000", - * "agentWalletImplementation": "0x0000000000000000000000000000000000000000", - * "feeTracker": "0x0000000000000000000000000000000000000000", - * "erc4626Adapter": "0x0000000000000000000000000000000000000000", - * "zeroXAdapter": "0x0000000000000000000000000000000000000000" - * } - * - * In this example, only the Factory and Implementation would be redeployed. */ contract DeployScript is Script { using stdJson for string; // Canonical ERC-4337 v0.6 EntryPoint address constant ENTRYPOINT = 0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789; - - // Deployment Salt for deterministic addresses uint256 constant SALT = 0x7; // Testing Mode: Set to true to deploy with 0-delay adminTimelock for faster testing // Set to false for production (uses 72-hour delay) bool constant TESTING_MODE = true; - /** - * @notice Get 0x AllowanceHolder address for a given chain - * @dev See https://github.com/0xProject/0x-settler/blob/master/README.md#allowanceholder-addresses - * AllowanceHolder serves as BOTH the allowance target and entry point for swaps. - */ - function getZeroXAllowanceTarget(uint256 chainId) internal pure returns (address) { - if (chainId == 8453) return 0x0000000000001fF3684f28c67538d4D072C22734; // Base - if (chainId == 84532) return 0x0000000000001fF3684f28c67538d4D072C22734; // Base Sepolia - revert("Unsupported chain for 0x"); - } // State tracking struct Deployments { @@ -70,7 +44,10 @@ contract DeployScript is Script { address feeTracker; address erc4626Adapter; address merklAdapter; - address zeroXAdapter; + address swapSellPolicy; + address uniswapV3SwapAdapter; + address aerodromeV2SwapAdapter; + address aerodromeClSwapAdapter; address aaveV3Adapter; address compoundV3Adapter; address compoundV2Adapter; @@ -91,6 +68,10 @@ contract DeployScript is Script { address serverAddress = vm.envAddress("SERVER_ADDRESS"); uint256 deployerPrivateKey = vm.envUint("DEPLOYER_PRIVATE_KEY"); address deployerAddress = vm.addr(deployerPrivateKey); + address uniswapV3Router = vm.envAddress("UNISWAP_V3_ROUTER"); + address aerodromeV2Router = vm.envAddress("AERODROME_V2_ROUTER"); + address aerodromeV2Factory = vm.envAddress("AERODROME_V2_FACTORY"); + address aerodromeClRouter = vm.envAddress("AERODROME_CL_ROUTER"); console2.log("================================================="); console2.log("YIELDSEEKER DEPLOYMENT SCRIPT"); @@ -114,7 +95,10 @@ contract DeployScript is Script { feeTracker: safeReadAddress(deployJson, ".feeTracker"), erc4626Adapter: safeReadAddress(deployJson, ".erc4626Adapter"), merklAdapter: safeReadAddress(deployJson, ".merklAdapter"), - zeroXAdapter: safeReadAddress(deployJson, ".zeroXAdapter"), + swapSellPolicy: safeReadAddress(deployJson, ".swapSellPolicy"), + uniswapV3SwapAdapter: safeReadAddress(deployJson, ".uniswapV3SwapAdapter"), + aerodromeV2SwapAdapter: safeReadAddress(deployJson, ".aerodromeV2SwapAdapter"), + aerodromeClSwapAdapter: safeReadAddress(deployJson, ".aerodromeCLSwapAdapter"), aaveV3Adapter: safeReadAddress(deployJson, ".aaveV3Adapter"), compoundV3Adapter: safeReadAddress(deployJson, ".compoundV3Adapter"), compoundV2Adapter: safeReadAddress(deployJson, ".compoundV2Adapter") @@ -193,16 +177,36 @@ contract DeployScript is Script { console2.log("-> Using existing merklAdapter:", deployments.merklAdapter); } - // Deploy or reuse ZeroX Adapter - address zeroXAllowanceTarget = getZeroXAllowanceTarget(block.chainid); - if (deployments.zeroXAdapter == address(0)) { - ZeroXAdapter zeroXAdapter = new ZeroXAdapter{salt: bytes32(SALT)}(zeroXAllowanceTarget, deployments.adminTimelock, deployerAddress, false); - deployments.zeroXAdapter = address(zeroXAdapter); - console2.log("-> ZeroXAdapter deployed at:", address(zeroXAdapter)); - console2.log(" allowanceTarget:", zeroXAllowanceTarget); + if (deployments.swapSellPolicy == address(0)) { + SwapSellPolicy swapSellPolicy = new SwapSellPolicy{salt: bytes32(SALT)}(deployments.adminTimelock, deployerAddress, false); + deployments.swapSellPolicy = address(swapSellPolicy); + console2.log("-> SwapSellPolicy deployed at:", address(swapSellPolicy)); + } else { + console2.log("-> Using existing swapSellPolicy:", deployments.swapSellPolicy); + } + + if (deployments.uniswapV3SwapAdapter == address(0)) { + UniswapV3SwapAdapter uniswapV3SwapAdapter = new UniswapV3SwapAdapter{salt: bytes32(SALT)}(uniswapV3Router, deployments.swapSellPolicy); + deployments.uniswapV3SwapAdapter = address(uniswapV3SwapAdapter); + console2.log("-> UniswapV3SwapAdapter deployed at:", address(uniswapV3SwapAdapter)); + } else { + console2.log("-> Using existing uniswapV3SwapAdapter:", deployments.uniswapV3SwapAdapter); + } + + if (deployments.aerodromeV2SwapAdapter == address(0)) { + AerodromeV2SwapAdapter aerodromeV2SwapAdapter = new AerodromeV2SwapAdapter{salt: bytes32(SALT)}(aerodromeV2Router, aerodromeV2Factory, deployments.swapSellPolicy); + deployments.aerodromeV2SwapAdapter = address(aerodromeV2SwapAdapter); + console2.log("-> AerodromeV2SwapAdapter deployed at:", address(aerodromeV2SwapAdapter)); } else { - console2.log("-> Using existing zeroXAdapter:", deployments.zeroXAdapter); - console2.log(" allowanceTarget:", ZeroXAdapter(deployments.zeroXAdapter).ALLOWANCE_TARGET()); + console2.log("-> Using existing aerodromeV2SwapAdapter:", deployments.aerodromeV2SwapAdapter); + } + + if (deployments.aerodromeClSwapAdapter == address(0)) { + AerodromeCLSwapAdapter aerodromeClSwapAdapter = new AerodromeCLSwapAdapter{salt: bytes32(SALT)}(aerodromeClRouter, deployments.swapSellPolicy); + deployments.aerodromeClSwapAdapter = address(aerodromeClSwapAdapter); + console2.log("-> AerodromeCLSwapAdapter deployed at:", address(aerodromeClSwapAdapter)); + } else { + console2.log("-> Using existing aerodromeCLSwapAdapter:", deployments.aerodromeClSwapAdapter); } // Deploy or reuse Aave V3 Adapter @@ -241,7 +245,10 @@ contract DeployScript is Script { vm.serializeAddress(json, "feeTracker", deployments.feeTracker); vm.serializeAddress(json, "erc4626Adapter", deployments.erc4626Adapter); vm.serializeAddress(json, "merklAdapter", deployments.merklAdapter); - vm.serializeAddress(json, "zeroXAdapter", deployments.zeroXAdapter); + vm.serializeAddress(json, "swapSellPolicy", deployments.swapSellPolicy); + vm.serializeAddress(json, "uniswapV3SwapAdapter", deployments.uniswapV3SwapAdapter); + vm.serializeAddress(json, "aerodromeV2SwapAdapter", deployments.aerodromeV2SwapAdapter); + vm.serializeAddress(json, "aerodromeCLSwapAdapter", deployments.aerodromeClSwapAdapter); vm.serializeAddress(json, "aaveV3Adapter", deployments.aaveV3Adapter); vm.serializeAddress(json, "compoundV3Adapter", deployments.compoundV3Adapter); string memory finalJson = vm.serializeAddress(json, "compoundV2Adapter", deployments.compoundV2Adapter); @@ -258,9 +265,8 @@ contract DeployScript is Script { AdminTimelock adminTimelock = AdminTimelock(payable(deployments.adminTimelock)); uint256 timelockDelay = adminTimelock.getMinDelay(); - // Collect all operations to batch - address[] memory targets = new address[](10); - bytes[] memory datas = new bytes[](10); + address[] memory targets = new address[](13); + bytes[] memory datas = new bytes[](13); uint256 operationCount = 0; // 1. Configure Factory @@ -292,9 +298,19 @@ contract DeployScript is Script { datas[operationCount] = abi.encodeCall(adapterRegistry.registerAdapter, (deployments.merklAdapter)); operationCount++; } - if (!adapterRegistry.isRegisteredAdapter(deployments.zeroXAdapter)) { + if (!adapterRegistry.isRegisteredAdapter(deployments.uniswapV3SwapAdapter)) { + targets[operationCount] = deployments.adapterRegistry; + datas[operationCount] = abi.encodeCall(adapterRegistry.registerAdapter, (deployments.uniswapV3SwapAdapter)); + operationCount++; + } + if (!adapterRegistry.isRegisteredAdapter(deployments.aerodromeV2SwapAdapter)) { + targets[operationCount] = deployments.adapterRegistry; + datas[operationCount] = abi.encodeCall(adapterRegistry.registerAdapter, (deployments.aerodromeV2SwapAdapter)); + operationCount++; + } + if (!adapterRegistry.isRegisteredAdapter(deployments.aerodromeClSwapAdapter)) { targets[operationCount] = deployments.adapterRegistry; - datas[operationCount] = abi.encodeCall(adapterRegistry.registerAdapter, (deployments.zeroXAdapter)); + datas[operationCount] = abi.encodeCall(adapterRegistry.registerAdapter, (deployments.aerodromeClSwapAdapter)); operationCount++; } if (!adapterRegistry.isRegisteredAdapter(deployments.aaveV3Adapter)) { diff --git a/script/RegisterVault.s.sol b/script/RegisterVault.s.sol index aff7563..dbe51e9 100644 --- a/script/RegisterVault.s.sol +++ b/script/RegisterVault.s.sol @@ -44,8 +44,12 @@ contract RegisterVaultScript is Script { address adapterAddress; if (keccak256(bytes(adapterName)) == keccak256(bytes("erc4626"))) { adapterAddress = json.readAddress(".erc4626Adapter"); - } else if (keccak256(bytes(adapterName)) == keccak256(bytes("zerox")) || keccak256(bytes(adapterName)) == keccak256(bytes("0x"))) { - adapterAddress = json.readAddress(".zeroXAdapter"); + } else if (keccak256(bytes(adapterName)) == keccak256(bytes("uniswap")) || keccak256(bytes(adapterName)) == keccak256(bytes("uniswapv3"))) { + adapterAddress = json.readAddress(".uniswapV3SwapAdapter"); + } else if (keccak256(bytes(adapterName)) == keccak256(bytes("aerodromev2")) || keccak256(bytes(adapterName)) == keccak256(bytes("aerov2"))) { + adapterAddress = json.readAddress(".aerodromeV2SwapAdapter"); + } else if (keccak256(bytes(adapterName)) == keccak256(bytes("aerodromecl")) || keccak256(bytes(adapterName)) == keccak256(bytes("aerocl"))) { + adapterAddress = json.readAddress(".aerodromeCLSwapAdapter"); } else if (keccak256(bytes(adapterName)) == keccak256(bytes("merkl"))) { adapterAddress = json.readAddress(".merklAdapter"); } else if (keccak256(bytes(adapterName)) == keccak256(bytes("aave")) || keccak256(bytes(adapterName)) == keccak256(bytes("aavev3"))) { @@ -55,7 +59,7 @@ contract RegisterVaultScript is Script { } else if (keccak256(bytes(adapterName)) == keccak256(bytes("compoundv2")) || keccak256(bytes(adapterName)) == keccak256(bytes("moonwell"))) { adapterAddress = json.readAddress(".compoundV2Adapter"); } else { - revert(string.concat("Unknown adapter name: ", adapterName, ". Use 'erc4626', 'zerox', 'merkl', 'aave', 'compound', 'compoundv2', or 'moonwell'")); + revert(string.concat("Unknown adapter name: ", adapterName, ". Use 'erc4626', 'uniswapv3', 'aerodromev2', 'aerodromecl', 'merkl', 'aave', 'compound', 'compoundv2', or 'moonwell'")); } console2.log("================================================="); diff --git a/test/integration/SwapAdapterIntegration.t.sol b/test/integration/SwapAdapterIntegration.t.sol new file mode 100644 index 0000000..90fd19d --- /dev/null +++ b/test/integration/SwapAdapterIntegration.t.sol @@ -0,0 +1,308 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.28; + +import {Test} from "forge-std/Test.sol"; +import {YieldSeekerAdapterRegistry as AdapterRegistry} from "../../src/AdapterRegistry.sol"; +import {YieldSeekerAgentWalletFactory as AgentWalletFactory} from "../../src/AgentWalletFactory.sol"; +import {YieldSeekerAgentWalletV1 as AgentWalletV1} from "../../src/AgentWalletV1.sol"; +import {YieldSeekerFeeTracker as FeeTracker} from "../../src/FeeTracker.sol"; +import {YieldSeekerSwapSellPolicy} from "../../src/adapters/SwapSellPolicy.sol"; +import {YieldSeekerUniswapV3SwapAdapter as UniswapV3SwapAdapter} from "../../src/adapters/UniswapV3SwapAdapter.sol"; +import {YieldSeekerAerodromeV2SwapAdapter as AerodromeV2SwapAdapter} from "../../src/adapters/AerodromeV2SwapAdapter.sol"; +import {YieldSeekerAerodromeCLSwapAdapter as AerodromeCLSwapAdapter} from "../../src/adapters/AerodromeCLSwapAdapter.sol"; +import {AssetNotAllowed} from "../../src/adapters/Adapter.sol"; +import {AWKErrors} from "../../src/agentwalletkit/AWKErrors.sol"; +import {AdapterExecutionFailed} from "../../src/agentwalletkit/AWKAgentWalletV1.sol"; +import {InvalidRouteEndpoints} from "../../src/agentwalletkit/adapters/AWKSwapAdapter.sol"; +import {AWKUniswapV3SwapAdapter, IUniswapV3SwapRouter} from "../../src/agentwalletkit/adapters/AWKUniswapV3SwapAdapter.sol"; +import {AWKAerodromeV2SwapAdapter, IAerodromeV2Router} from "../../src/agentwalletkit/adapters/AWKAerodromeV2SwapAdapter.sol"; +import {AWKAerodromeCLSwapAdapter, IAerodromeCLSwapRouter} from "../../src/agentwalletkit/adapters/AWKAerodromeCLSwapAdapter.sol"; +import {MockERC20} from "../mocks/MockERC20.sol"; + +error SellTokenNotAllowed(address token); + +contract MockUniswapV3RouterIntegration { + uint256 public configuredBuyAmount; + + function setBuyAmount(uint256 amount) external { + configuredBuyAmount = amount; + } + + function exactInput(IUniswapV3SwapRouter.ExactInputParams calldata params) external payable returns (uint256 amountOut) { + (address sellToken, address buyToken) = _decodePathEndpoints(params.path); + require(MockERC20(sellToken).transferFrom(msg.sender, address(this), params.amountIn), "TransferFrom failed"); + amountOut = configuredBuyAmount == 0 ? params.amountOutMinimum : configuredBuyAmount; + require(MockERC20(buyToken).transfer(msg.sender, amountOut), "Transfer failed"); + } + + function _decodePathEndpoints(bytes memory path) internal pure returns (address firstToken, address lastToken) { + require(path.length >= 43, "invalid path"); + assembly { + firstToken := shr(96, mload(add(path, 0x20))) + lastToken := shr(96, mload(add(add(path, 0x20), sub(mload(path), 20)))) + } + } +} + +contract MockAerodromeV2RouterIntegration { + uint256 public configuredBuyAmount; + + function setBuyAmount(uint256 amount) external { + configuredBuyAmount = amount; + } + + function swapExactTokensForTokens(uint256 amountIn, uint256 amountOutMin, IAerodromeV2Router.Route[] memory routes, address, uint256) external returns (uint256[] memory amounts) { + require(routes.length > 0, "invalid routes"); + address sellToken = routes[0].from; + address buyToken = routes[routes.length - 1].to; + require(MockERC20(sellToken).transferFrom(msg.sender, address(this), amountIn), "TransferFrom failed"); + uint256 amountOut = configuredBuyAmount == 0 ? amountOutMin : configuredBuyAmount; + require(MockERC20(buyToken).transfer(msg.sender, amountOut), "Transfer failed"); + amounts = new uint256[](routes.length + 1); + amounts[0] = amountIn; + amounts[routes.length] = amountOut; + } +} + +contract MockAerodromeCLRouterIntegration { + uint256 public configuredBuyAmount; + + function setBuyAmount(uint256 amount) external { + configuredBuyAmount = amount; + } + + function exactInput(IAerodromeCLSwapRouter.ExactInputParams calldata params) external payable returns (uint256 amountOut) { + (address sellToken, address buyToken) = _decodePathEndpoints(params.path); + require(MockERC20(sellToken).transferFrom(msg.sender, address(this), params.amountIn), "TransferFrom failed"); + amountOut = configuredBuyAmount == 0 ? params.amountOutMinimum : configuredBuyAmount; + require(MockERC20(buyToken).transfer(msg.sender, amountOut), "Transfer failed"); + } + + function _decodePathEndpoints(bytes memory path) internal pure returns (address firstToken, address lastToken) { + require(path.length >= 43, "invalid path"); + assembly { + firstToken := shr(96, mload(add(path, 0x20))) + lastToken := shr(96, mload(add(add(path, 0x20), sub(mload(path), 20)))) + } + } +} + +contract SwapAdapterIntegrationTest is Test { + AgentWalletFactory factory; + AdapterRegistry registry; + FeeTracker feeTracker; + YieldSeekerSwapSellPolicy sellPolicy; + UniswapV3SwapAdapter uniswapAdapter; + AerodromeV2SwapAdapter aerodromeV2Adapter; + AerodromeCLSwapAdapter aerodromeCLAdapter; + MockUniswapV3RouterIntegration uniswapRouter; + MockAerodromeV2RouterIntegration aerodromeV2Router; + MockAerodromeCLRouterIntegration aerodromeCLRouter; + MockERC20 baseAsset; + MockERC20 sellToken; + MockERC20 otherToken; + + address admin = makeAddr("admin"); + address operator = makeAddr("operator"); + address user = makeAddr("user"); + address feeCollector = makeAddr("feeCollector"); + + function _decodeUint(bytes memory data) internal pure returns (uint256) { + return abi.decode(abi.decode(data, (bytes)), (uint256)); + } + + function _createWallet() internal returns (AgentWalletV1 wallet) { + vm.prank(operator); + wallet = factory.createAgentWallet(user, 1, address(baseAsset)); + } + + function _uniswapRoute(address fromToken, address toToken) internal pure returns (AWKUniswapV3SwapAdapter.SwapRoute memory route) { + route.path = new address[](2); + route.path[0] = fromToken; + route.path[1] = toToken; + route.fees = new uint24[](1); + route.fees[0] = 3000; + } + + function _aerodromeV2Route(address fromToken, address toToken) internal pure returns (AWKAerodromeV2SwapAdapter.SwapRoute memory route) { + route.path = new address[](2); + route.path[0] = fromToken; + route.path[1] = toToken; + route.stables = new bool[](1); + route.stables[0] = false; + } + + function _aerodromeCLRoute(address fromToken, address toToken) internal pure returns (AWKAerodromeCLSwapAdapter.SwapRoute memory route) { + route.path = new address[](2); + route.path[0] = fromToken; + route.path[1] = toToken; + route.tickSpacings = new int24[](1); + route.tickSpacings[0] = 100; + } + + function setUp() public { + baseAsset = new MockERC20("Mock USDC", "mUSDC"); + sellToken = new MockERC20("Mock Yield", "mYLD"); + otherToken = new MockERC20("Other", "mOTH"); + uniswapRouter = new MockUniswapV3RouterIntegration(); + aerodromeV2Router = new MockAerodromeV2RouterIntegration(); + aerodromeCLRouter = new MockAerodromeCLRouterIntegration(); + vm.startPrank(admin); + registry = new AdapterRegistry(admin, admin); + feeTracker = new FeeTracker(admin); + feeTracker.setFeeConfig(1000, feeCollector); + factory = new AgentWalletFactory(admin, operator); + factory.setAdapterRegistry(registry); + factory.setFeeTracker(feeTracker); + AgentWalletV1 walletImplementation = new AgentWalletV1(address(factory)); + factory.setAgentWalletImplementation(walletImplementation); + sellPolicy = new YieldSeekerSwapSellPolicy(admin, admin, false); + sellPolicy.addSellableToken(address(sellToken)); + uniswapAdapter = new UniswapV3SwapAdapter(address(uniswapRouter), address(sellPolicy)); + aerodromeV2Adapter = new AerodromeV2SwapAdapter(address(aerodromeV2Router), address(0xFACADE), address(sellPolicy)); + aerodromeCLAdapter = new AerodromeCLSwapAdapter(address(aerodromeCLRouter), address(sellPolicy)); + registry.registerAdapter(address(uniswapAdapter)); + registry.registerAdapter(address(aerodromeV2Adapter)); + registry.registerAdapter(address(aerodromeCLAdapter)); + registry.setTargetAdapter(address(uniswapRouter), address(uniswapAdapter)); + registry.setTargetAdapter(address(aerodromeV2Router), address(aerodromeV2Adapter)); + registry.setTargetAdapter(address(aerodromeCLRouter), address(aerodromeCLAdapter)); + vm.stopPrank(); + baseAsset.mint(address(uniswapRouter), 2_000_000e6); + baseAsset.mint(address(aerodromeV2Router), 2_000_000e6); + baseAsset.mint(address(aerodromeCLRouter), 2_000_000e6); + otherToken.mint(address(uniswapRouter), 2_000_000e6); + otherToken.mint(address(aerodromeV2Router), 2_000_000e6); + otherToken.mint(address(aerodromeCLRouter), 2_000_000e6); + } + + function test_UniswapSwap_ThroughWallet_Succeeds() public { + AgentWalletV1 wallet = _createWallet(); + sellToken.mint(address(wallet), 1_000e6); + uniswapRouter.setBuyAmount(500e6); + AWKUniswapV3SwapAdapter.SwapRoute memory route = _uniswapRoute(address(sellToken), address(baseAsset)); + bytes memory data = abi.encodeCall(uniswapAdapter.swap, (address(sellToken), address(baseAsset), route, uint256(100e6), uint256(400e6))); + vm.prank(user); + bytes memory result = wallet.executeViaAdapter(address(uniswapAdapter), address(uniswapRouter), data); + uint256 buyAmount = _decodeUint(result); + assertEq(buyAmount, 500e6); + assertEq(sellToken.balanceOf(address(wallet)), 900e6); + assertEq(baseAsset.balanceOf(address(wallet)), 500e6); + } + + function test_AerodromeV2Swap_ThroughWallet_Succeeds() public { + AgentWalletV1 wallet = _createWallet(); + sellToken.mint(address(wallet), 1_000e6); + aerodromeV2Router.setBuyAmount(450e6); + AWKAerodromeV2SwapAdapter.SwapRoute memory route = _aerodromeV2Route(address(sellToken), address(baseAsset)); + bytes memory data = abi.encodeCall(aerodromeV2Adapter.swap, (address(sellToken), address(baseAsset), route, uint256(100e6), uint256(300e6))); + vm.prank(user); + bytes memory result = wallet.executeViaAdapter(address(aerodromeV2Adapter), address(aerodromeV2Router), data); + uint256 buyAmount = _decodeUint(result); + assertEq(buyAmount, 450e6); + assertEq(baseAsset.balanceOf(address(wallet)), 450e6); + } + + function test_AerodromeCLSwap_ThroughWallet_Succeeds() public { + AgentWalletV1 wallet = _createWallet(); + sellToken.mint(address(wallet), 1_000e6); + aerodromeCLRouter.setBuyAmount(470e6); + AWKAerodromeCLSwapAdapter.SwapRoute memory route = _aerodromeCLRoute(address(sellToken), address(baseAsset)); + bytes memory data = abi.encodeCall(aerodromeCLAdapter.swap, (address(sellToken), address(baseAsset), route, uint256(100e6), uint256(300e6))); + vm.prank(user); + bytes memory result = wallet.executeViaAdapter(address(aerodromeCLAdapter), address(aerodromeCLRouter), data); + uint256 buyAmount = _decodeUint(result); + assertEq(buyAmount, 470e6); + assertEq(baseAsset.balanceOf(address(wallet)), 470e6); + } + + function test_SwapBatchAcrossAdapters_Succeeds() public { + AgentWalletV1 wallet = _createWallet(); + sellToken.mint(address(wallet), 1_000e6); + uniswapRouter.setBuyAmount(120e6); + aerodromeV2Router.setBuyAmount(130e6); + aerodromeCLRouter.setBuyAmount(140e6); + AWKUniswapV3SwapAdapter.SwapRoute memory uniRoute = _uniswapRoute(address(sellToken), address(baseAsset)); + AWKAerodromeV2SwapAdapter.SwapRoute memory v2Route = _aerodromeV2Route(address(sellToken), address(baseAsset)); + AWKAerodromeCLSwapAdapter.SwapRoute memory clRoute = _aerodromeCLRoute(address(sellToken), address(baseAsset)); + address[] memory adapters = new address[](3); + address[] memory targets = new address[](3); + bytes[] memory datas = new bytes[](3); + adapters[0] = address(uniswapAdapter); + adapters[1] = address(aerodromeV2Adapter); + adapters[2] = address(aerodromeCLAdapter); + targets[0] = address(uniswapRouter); + targets[1] = address(aerodromeV2Router); + targets[2] = address(aerodromeCLRouter); + datas[0] = abi.encodeCall(uniswapAdapter.swap, (address(sellToken), address(baseAsset), uniRoute, uint256(100e6), uint256(100e6))); + datas[1] = abi.encodeCall(aerodromeV2Adapter.swap, (address(sellToken), address(baseAsset), v2Route, uint256(100e6), uint256(100e6))); + datas[2] = abi.encodeCall(aerodromeCLAdapter.swap, (address(sellToken), address(baseAsset), clRoute, uint256(100e6), uint256(100e6))); + vm.prank(user); + bytes[] memory results = wallet.executeViaAdapterBatch(adapters, targets, datas); + assertEq(_decodeUint(results[0]), 120e6); + assertEq(_decodeUint(results[1]), 130e6); + assertEq(_decodeUint(results[2]), 140e6); + assertEq(baseAsset.balanceOf(address(wallet)), 390e6); + assertEq(sellToken.balanceOf(address(wallet)), 700e6); + } + + function test_UniswapSwap_RevertsOnEndpointMismatch() public { + AgentWalletV1 wallet = _createWallet(); + sellToken.mint(address(wallet), 500e6); + AWKUniswapV3SwapAdapter.SwapRoute memory route = _uniswapRoute(address(sellToken), address(otherToken)); + bytes memory data = abi.encodeCall(uniswapAdapter.swap, (address(sellToken), address(baseAsset), route, uint256(100e6), uint256(50e6))); + bytes memory innerError = abi.encodeWithSelector(InvalidRouteEndpoints.selector, address(sellToken), address(baseAsset)); + vm.prank(user); + vm.expectRevert(abi.encodeWithSelector(AdapterExecutionFailed.selector, innerError)); + wallet.executeViaAdapter(address(uniswapAdapter), address(uniswapRouter), data); + } + + function test_Swap_RevertsWhenSellPolicyBlocksToken() public { + AgentWalletV1 wallet = _createWallet(); + sellToken.mint(address(wallet), 500e6); + vm.prank(admin); + sellPolicy.removeSellableToken(address(sellToken)); + AWKUniswapV3SwapAdapter.SwapRoute memory route = _uniswapRoute(address(sellToken), address(baseAsset)); + bytes memory data = abi.encodeCall(uniswapAdapter.swap, (address(sellToken), address(baseAsset), route, uint256(100e6), uint256(50e6))); + bytes memory innerError = abi.encodeWithSelector(SellTokenNotAllowed.selector, address(sellToken)); + vm.prank(user); + vm.expectRevert(abi.encodeWithSelector(AdapterExecutionFailed.selector, innerError)); + wallet.executeViaAdapter(address(uniswapAdapter), address(uniswapRouter), data); + } + + function test_Swap_RevertsWhenBuyingNonBaseAsset() public { + AgentWalletV1 wallet = _createWallet(); + sellToken.mint(address(wallet), 500e6); + AWKUniswapV3SwapAdapter.SwapRoute memory route = _uniswapRoute(address(sellToken), address(otherToken)); + bytes memory data = abi.encodeCall(uniswapAdapter.swap, (address(sellToken), address(otherToken), route, uint256(100e6), uint256(50e6))); + bytes memory innerError = abi.encodeWithSelector(AssetNotAllowed.selector); + vm.prank(user); + vm.expectRevert(abi.encodeWithSelector(AdapterExecutionFailed.selector, innerError)); + wallet.executeViaAdapter(address(uniswapAdapter), address(uniswapRouter), data); + } + + function test_WalletEnforcesTargetToAdapterMapping() public { + AgentWalletV1 wallet = _createWallet(); + sellToken.mint(address(wallet), 500e6); + AWKUniswapV3SwapAdapter.SwapRoute memory route = _uniswapRoute(address(sellToken), address(baseAsset)); + bytes memory data = abi.encodeCall(uniswapAdapter.swap, (address(sellToken), address(baseAsset), route, uint256(100e6), uint256(50e6))); + vm.prank(user); + vm.expectRevert(abi.encodeWithSelector(AWKErrors.AdapterNotRegistered.selector, address(uniswapAdapter))); + wallet.executeViaAdapter(address(uniswapAdapter), address(aerodromeV2Router), data); + } + + function test_UniswapSwap_RecordsAndConvertsYieldTokenFees() public { + AgentWalletV1 wallet = _createWallet(); + sellToken.mint(address(wallet), 1_000e6); + vm.prank(address(wallet)); + feeTracker.recordAgentYieldTokenEarned(address(sellToken), 100e6); + assertEq(feeTracker.agentYieldTokenFeesOwed(address(wallet), address(sellToken)), 10e6); + uniswapRouter.setBuyAmount(200e6); + AWKUniswapV3SwapAdapter.SwapRoute memory route = _uniswapRoute(address(sellToken), address(baseAsset)); + bytes memory data = abi.encodeCall(uniswapAdapter.swap, (address(sellToken), address(baseAsset), route, uint256(50e6), uint256(100e6))); + vm.prank(user); + wallet.executeViaAdapter(address(uniswapAdapter), address(uniswapRouter), data); + assertEq(feeTracker.agentYieldTokenFeesOwed(address(wallet), address(sellToken)), 0); + assertEq(feeTracker.agentFeesCharged(address(wallet)), 40e6); + } +} diff --git a/test/unit/adapters/AerodromeCLSwapAdapter.t.sol b/test/unit/adapters/AerodromeCLSwapAdapter.t.sol new file mode 100644 index 0000000..4fefef4 --- /dev/null +++ b/test/unit/adapters/AerodromeCLSwapAdapter.t.sol @@ -0,0 +1,197 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.28; + +import {YieldSeekerFeeTracker} from "../../../src/FeeTracker.sol"; +import {AssetNotAllowed, BaseAssetNotAllowed} from "../../../src/adapters/Adapter.sol"; +import {SellTokenNotAllowed, YieldSeekerAerodromeCLSwapAdapter} from "../../../src/adapters/AerodromeCLSwapAdapter.sol"; +import {YieldSeekerSwapSellPolicy} from "../../../src/adapters/SwapSellPolicy.sol"; +import {AWKErrors} from "../../../src/agentwalletkit/AWKErrors.sol"; +import { + AWKAerodromeCLSwapAdapter, + IAerodromeCLSwapRouter, + InvalidAerodromeCLRouterTarget, + InvalidRouteLength, + InvalidSwapRoute, + InvalidSwapTokenAddress, + InvalidTickSpacing +} from "../../../src/agentwalletkit/adapters/AWKAerodromeCLSwapAdapter.sol"; +import {InsufficientOutput, InvalidRouteEndpoints} from "../../../src/agentwalletkit/adapters/AWKSwapAdapter.sol"; +import {MockERC20} from "../../mocks/MockERC20.sol"; +import {AdapterWalletHarness} from "./AdapterHarness.t.sol"; +import {Test} from "forge-std/Test.sol"; + +contract MockAerodromeCLRouter { + uint256 public configuredBuyAmount; + bool public shouldRevert; + + function setBuyAmount(uint256 amount) external { + configuredBuyAmount = amount; + } + + function setRevert(bool value) external { + shouldRevert = value; + } + + function exactInput(IAerodromeCLSwapRouter.ExactInputParams calldata params) external payable returns (uint256 amountOut) { + if (shouldRevert) revert("swap failed"); + (address sellToken, address buyToken) = _decodePathEndpoints(params.path); + require(MockERC20(sellToken).transferFrom(msg.sender, address(this), params.amountIn), "TransferFrom failed"); + amountOut = configuredBuyAmount == 0 ? params.amountOutMinimum : configuredBuyAmount; + require(MockERC20(buyToken).transfer(msg.sender, amountOut), "Transfer failed"); + } + + function _decodePathEndpoints(bytes memory path) internal pure returns (address firstToken, address lastToken) { + require(path.length >= 43, "invalid path"); + assembly { + firstToken := shr(96, mload(add(path, 0x20))) + lastToken := shr(96, mload(add(add(path, 0x20), sub(mload(path), 20)))) + } + } +} + +contract AerodromeCLSwapAdapterTest is Test { + YieldSeekerAerodromeCLSwapAdapter adapter; + YieldSeekerFeeTracker feeTracker; + YieldSeekerSwapSellPolicy sellPolicy; + AdapterWalletHarness wallet; + MockERC20 baseAsset; + MockERC20 sellToken; + MockERC20 otherToken; + MockAerodromeCLRouter router; + + function _decodeUint(bytes memory data) internal pure returns (uint256) { + return abi.decode(abi.decode(data, (bytes)), (uint256)); + } + + function _buildRoute(address from, address to) internal pure returns (AWKAerodromeCLSwapAdapter.SwapRoute memory route) { + route.path = new address[](2); + route.path[0] = from; + route.path[1] = to; + route.tickSpacings = new int24[](1); + route.tickSpacings[0] = 100; + } + + function _executeSwap(address buyToken, AWKAerodromeCLSwapAdapter.SwapRoute memory route, uint256 sellAmount, uint256 minBuyAmount) internal returns (bytes memory) { + bytes memory data = abi.encodeWithSelector(adapter.swap.selector, address(sellToken), buyToken, route, sellAmount, minBuyAmount); + return wallet.executeAdapter(address(adapter), address(router), data); + } + + function setUp() public { + baseAsset = new MockERC20("Mock USDC", "mUSDC"); + sellToken = new MockERC20("Mock Token", "mTKN"); + otherToken = new MockERC20("Other Token", "oTKN"); + feeTracker = new YieldSeekerFeeTracker(address(this)); + feeTracker.setFeeConfig(1000, address(0xBEEF)); + sellPolicy = new YieldSeekerSwapSellPolicy(address(this), address(this), false); + sellPolicy.addSellableToken(address(sellToken)); + router = new MockAerodromeCLRouter(); + adapter = new YieldSeekerAerodromeCLSwapAdapter(address(router), address(sellPolicy)); + wallet = new AdapterWalletHarness(baseAsset, feeTracker); + baseAsset.mint(address(router), 1_000_000e6); + otherToken.mint(address(router), 1_000_000e18); + sellToken.mint(address(wallet), 1_000e18); + } + + function test_Execute_Swap_Succeeds() public { + router.setBuyAmount(500e6); + AWKAerodromeCLSwapAdapter.SwapRoute memory route = _buildRoute(address(sellToken), address(baseAsset)); + bytes memory result = _executeSwap(address(baseAsset), route, 100e18, 400e6); + uint256 buyAmount = _decodeUint(result); + assertEq(buyAmount, 500e6); + assertEq(sellToken.balanceOf(address(wallet)), 900e18); + assertEq(baseAsset.balanceOf(address(wallet)), 500e6); + } + + function test_Execute_Swap_RevertsOnLowOutput() public { + router.setBuyAmount(100e6); + AWKAerodromeCLSwapAdapter.SwapRoute memory route = _buildRoute(address(sellToken), address(baseAsset)); + vm.expectRevert(abi.encodeWithSelector(InsufficientOutput.selector, uint256(100e6), uint256(150e6))); + _executeSwap(address(baseAsset), route, 100e18, 150e6); + } + + function test_Execute_Swap_RevertsOnZeroAmounts() public { + AWKAerodromeCLSwapAdapter.SwapRoute memory route = _buildRoute(address(sellToken), address(baseAsset)); + vm.expectRevert(abi.encodeWithSelector(AWKErrors.ZeroAmount.selector)); + _executeSwap(address(baseAsset), route, 0, 0); + } + + function test_Execute_Swap_RevertsOnWrongTarget() public { + AWKAerodromeCLSwapAdapter.SwapRoute memory route = _buildRoute(address(sellToken), address(baseAsset)); + bytes memory data = abi.encodeWithSelector(adapter.swap.selector, address(sellToken), address(baseAsset), route, uint256(10e18), uint256(1e6)); + vm.expectRevert(abi.encodeWithSelector(InvalidAerodromeCLRouterTarget.selector, address(0x1234), address(router))); + wallet.executeAdapter(address(adapter), address(0x1234), data); + } + + function test_Execute_Swap_RevertsOnInvalidRouteLength() public { + AWKAerodromeCLSwapAdapter.SwapRoute memory route; + route.path = new address[](1); + route.path[0] = address(sellToken); + route.tickSpacings = new int24[](0); + vm.expectRevert(abi.encodeWithSelector(InvalidRouteLength.selector, uint256(1))); + _executeSwap(address(baseAsset), route, 100e18, 1e6); + } + + function test_Execute_Swap_RevertsOnTickPathMismatch() public { + AWKAerodromeCLSwapAdapter.SwapRoute memory route; + route.path = new address[](2); + route.path[0] = address(sellToken); + route.path[1] = address(baseAsset); + route.tickSpacings = new int24[](0); + vm.expectRevert(abi.encodeWithSelector(InvalidSwapRoute.selector)); + _executeSwap(address(baseAsset), route, 100e18, 1e6); + } + + function test_Execute_Swap_RevertsOnInvalidTickSpacing() public { + AWKAerodromeCLSwapAdapter.SwapRoute memory route = _buildRoute(address(sellToken), address(baseAsset)); + route.tickSpacings[0] = 10; + vm.expectRevert(abi.encodeWithSelector(InvalidTickSpacing.selector, int24(10))); + _executeSwap(address(baseAsset), route, 100e18, 1e6); + } + + function test_Execute_Swap_RevertsOnRouteSellEndpointMismatch() public { + AWKAerodromeCLSwapAdapter.SwapRoute memory route = _buildRoute(address(otherToken), address(baseAsset)); + vm.expectRevert(abi.encodeWithSelector(InvalidRouteEndpoints.selector, address(sellToken), address(baseAsset))); + _executeSwap(address(baseAsset), route, 100e18, 1e6); + } + + function test_Execute_Swap_RevertsOnRouteBuyEndpointMismatch() public { + AWKAerodromeCLSwapAdapter.SwapRoute memory route = _buildRoute(address(sellToken), address(otherToken)); + vm.expectRevert(abi.encodeWithSelector(InvalidRouteEndpoints.selector, address(sellToken), address(baseAsset))); + _executeSwap(address(baseAsset), route, 100e18, 1e6); + } + + function test_Execute_Swap_RevertsOnZeroPathToken() public { + AWKAerodromeCLSwapAdapter.SwapRoute memory route; + route.path = new address[](3); + route.path[0] = address(sellToken); + route.path[1] = address(0); + route.path[2] = address(baseAsset); + route.tickSpacings = new int24[](2); + route.tickSpacings[0] = 100; + route.tickSpacings[1] = 100; + vm.expectRevert(abi.encodeWithSelector(InvalidSwapTokenAddress.selector, address(0))); + _executeSwap(address(baseAsset), route, 100e18, 1e6); + } + + function test_Execute_Swap_RevertsOnNonSellableToken() public { + sellPolicy.removeSellableToken(address(sellToken)); + AWKAerodromeCLSwapAdapter.SwapRoute memory route = _buildRoute(address(sellToken), address(baseAsset)); + vm.expectRevert(abi.encodeWithSelector(SellTokenNotAllowed.selector, address(sellToken))); + _executeSwap(address(baseAsset), route, 100e18, 1e6); + } + + function test_Execute_Swap_RevertsWhenBuyTokenNotBaseAsset() public { + AWKAerodromeCLSwapAdapter.SwapRoute memory route = _buildRoute(address(sellToken), address(otherToken)); + vm.expectRevert(abi.encodeWithSelector(AssetNotAllowed.selector)); + _executeSwap(address(otherToken), route, 100e18, 1e18); + } + + function test_Execute_Swap_RevertsWhenSellingBaseAsset() public { + sellPolicy.addSellableToken(address(baseAsset)); + baseAsset.mint(address(wallet), 1_000e6); + AWKAerodromeCLSwapAdapter.SwapRoute memory route = _buildRoute(address(baseAsset), address(otherToken)); + bytes memory data = abi.encodeWithSelector(adapter.swap.selector, address(baseAsset), address(otherToken), route, uint256(100e6), uint256(1e18)); + vm.expectRevert(abi.encodeWithSelector(BaseAssetNotAllowed.selector)); + wallet.executeAdapter(address(adapter), address(router), data); + } +} diff --git a/test/unit/adapters/AerodromeV2SwapAdapter.t.sol b/test/unit/adapters/AerodromeV2SwapAdapter.t.sol new file mode 100644 index 0000000..6eadbd2 --- /dev/null +++ b/test/unit/adapters/AerodromeV2SwapAdapter.t.sol @@ -0,0 +1,179 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.28; + +import {YieldSeekerFeeTracker} from "../../../src/FeeTracker.sol"; +import {AssetNotAllowed, BaseAssetNotAllowed} from "../../../src/adapters/Adapter.sol"; +import {SellTokenNotAllowed, YieldSeekerAerodromeV2SwapAdapter} from "../../../src/adapters/AerodromeV2SwapAdapter.sol"; +import {YieldSeekerSwapSellPolicy} from "../../../src/adapters/SwapSellPolicy.sol"; +import {AWKErrors} from "../../../src/agentwalletkit/AWKErrors.sol"; +import {AWKAerodromeV2SwapAdapter, IAerodromeV2Router, InvalidAerodromeV2RouterTarget, InvalidRouteLength, InvalidSwapRoute, InvalidSwapTokenAddress} from "../../../src/agentwalletkit/adapters/AWKAerodromeV2SwapAdapter.sol"; +import {InsufficientOutput, InvalidRouteEndpoints} from "../../../src/agentwalletkit/adapters/AWKSwapAdapter.sol"; +import {MockERC20} from "../../mocks/MockERC20.sol"; +import {AdapterWalletHarness} from "./AdapterHarness.t.sol"; +import {Test} from "forge-std/Test.sol"; + +contract MockAerodromeV2Router { + uint256 public configuredBuyAmount; + bool public shouldRevert; + + function setBuyAmount(uint256 amount) external { + configuredBuyAmount = amount; + } + + function setRevert(bool value) external { + shouldRevert = value; + } + + function swapExactTokensForTokens(uint256 amountIn, uint256 amountOutMin, IAerodromeV2Router.Route[] memory routes, address, uint256) external returns (uint256[] memory amounts) { + if (shouldRevert) revert("swap failed"); + require(routes.length > 0, "invalid routes"); + address sellToken = routes[0].from; + address buyToken = routes[routes.length - 1].to; + require(MockERC20(sellToken).transferFrom(msg.sender, address(this), amountIn), "TransferFrom failed"); + uint256 amountOut = configuredBuyAmount == 0 ? amountOutMin : configuredBuyAmount; + require(MockERC20(buyToken).transfer(msg.sender, amountOut), "Transfer failed"); + amounts = new uint256[](routes.length + 1); + amounts[0] = amountIn; + amounts[routes.length] = amountOut; + } +} + +contract AerodromeV2SwapAdapterTest is Test { + YieldSeekerAerodromeV2SwapAdapter adapter; + YieldSeekerFeeTracker feeTracker; + YieldSeekerSwapSellPolicy sellPolicy; + AdapterWalletHarness wallet; + MockERC20 baseAsset; + MockERC20 sellToken; + MockERC20 otherToken; + MockAerodromeV2Router router; + + function _decodeUint(bytes memory data) internal pure returns (uint256) { + return abi.decode(abi.decode(data, (bytes)), (uint256)); + } + + function _buildRoute(address from, address to) internal pure returns (AWKAerodromeV2SwapAdapter.SwapRoute memory route) { + route.path = new address[](2); + route.path[0] = from; + route.path[1] = to; + route.stables = new bool[](1); + route.stables[0] = false; + } + + function _executeSwap(address buyToken, AWKAerodromeV2SwapAdapter.SwapRoute memory route, uint256 sellAmount, uint256 minBuyAmount) internal returns (bytes memory) { + bytes memory data = abi.encodeWithSelector(adapter.swap.selector, address(sellToken), buyToken, route, sellAmount, minBuyAmount); + return wallet.executeAdapter(address(adapter), address(router), data); + } + + function setUp() public { + baseAsset = new MockERC20("Mock USDC", "mUSDC"); + sellToken = new MockERC20("Mock Token", "mTKN"); + otherToken = new MockERC20("Other Token", "oTKN"); + feeTracker = new YieldSeekerFeeTracker(address(this)); + feeTracker.setFeeConfig(1000, address(0xBEEF)); + sellPolicy = new YieldSeekerSwapSellPolicy(address(this), address(this), false); + sellPolicy.addSellableToken(address(sellToken)); + router = new MockAerodromeV2Router(); + adapter = new YieldSeekerAerodromeV2SwapAdapter(address(router), address(0xFACADE), address(sellPolicy)); + wallet = new AdapterWalletHarness(baseAsset, feeTracker); + baseAsset.mint(address(router), 1_000_000e6); + otherToken.mint(address(router), 1_000_000e18); + sellToken.mint(address(wallet), 1_000e18); + } + + function test_Execute_Swap_Succeeds() public { + router.setBuyAmount(500e6); + AWKAerodromeV2SwapAdapter.SwapRoute memory route = _buildRoute(address(sellToken), address(baseAsset)); + bytes memory result = _executeSwap(address(baseAsset), route, 100e18, 400e6); + uint256 buyAmount = _decodeUint(result); + assertEq(buyAmount, 500e6); + assertEq(sellToken.balanceOf(address(wallet)), 900e18); + assertEq(baseAsset.balanceOf(address(wallet)), 500e6); + } + + function test_Execute_Swap_RevertsOnLowOutput() public { + router.setBuyAmount(100e6); + AWKAerodromeV2SwapAdapter.SwapRoute memory route = _buildRoute(address(sellToken), address(baseAsset)); + vm.expectRevert(abi.encodeWithSelector(InsufficientOutput.selector, uint256(100e6), uint256(150e6))); + _executeSwap(address(baseAsset), route, 100e18, 150e6); + } + + function test_Execute_Swap_RevertsOnZeroAmounts() public { + AWKAerodromeV2SwapAdapter.SwapRoute memory route = _buildRoute(address(sellToken), address(baseAsset)); + vm.expectRevert(abi.encodeWithSelector(AWKErrors.ZeroAmount.selector)); + _executeSwap(address(baseAsset), route, 0, 0); + } + + function test_Execute_Swap_RevertsOnWrongTarget() public { + AWKAerodromeV2SwapAdapter.SwapRoute memory route = _buildRoute(address(sellToken), address(baseAsset)); + bytes memory data = abi.encodeWithSelector(adapter.swap.selector, address(sellToken), address(baseAsset), route, uint256(10e18), uint256(1e6)); + vm.expectRevert(abi.encodeWithSelector(InvalidAerodromeV2RouterTarget.selector, address(0x1234), address(router))); + wallet.executeAdapter(address(adapter), address(0x1234), data); + } + + function test_Execute_Swap_RevertsOnInvalidRouteLength() public { + AWKAerodromeV2SwapAdapter.SwapRoute memory route; + route.path = new address[](1); + route.path[0] = address(sellToken); + route.stables = new bool[](0); + vm.expectRevert(abi.encodeWithSelector(InvalidRouteLength.selector, uint256(1))); + _executeSwap(address(baseAsset), route, 100e18, 1e6); + } + + function test_Execute_Swap_RevertsOnStablePathMismatch() public { + AWKAerodromeV2SwapAdapter.SwapRoute memory route; + route.path = new address[](2); + route.path[0] = address(sellToken); + route.path[1] = address(baseAsset); + route.stables = new bool[](0); + vm.expectRevert(abi.encodeWithSelector(InvalidSwapRoute.selector)); + _executeSwap(address(baseAsset), route, 100e18, 1e6); + } + + function test_Execute_Swap_RevertsOnRouteSellEndpointMismatch() public { + AWKAerodromeV2SwapAdapter.SwapRoute memory route = _buildRoute(address(otherToken), address(baseAsset)); + vm.expectRevert(abi.encodeWithSelector(InvalidRouteEndpoints.selector, address(sellToken), address(baseAsset))); + _executeSwap(address(baseAsset), route, 100e18, 1e6); + } + + function test_Execute_Swap_RevertsOnRouteBuyEndpointMismatch() public { + AWKAerodromeV2SwapAdapter.SwapRoute memory route = _buildRoute(address(sellToken), address(otherToken)); + vm.expectRevert(abi.encodeWithSelector(InvalidRouteEndpoints.selector, address(sellToken), address(baseAsset))); + _executeSwap(address(baseAsset), route, 100e18, 1e6); + } + + function test_Execute_Swap_RevertsOnZeroPathToken() public { + AWKAerodromeV2SwapAdapter.SwapRoute memory route; + route.path = new address[](3); + route.path[0] = address(sellToken); + route.path[1] = address(0); + route.path[2] = address(baseAsset); + route.stables = new bool[](2); + route.stables[0] = false; + route.stables[1] = false; + vm.expectRevert(abi.encodeWithSelector(InvalidSwapTokenAddress.selector, address(0))); + _executeSwap(address(baseAsset), route, 100e18, 1e6); + } + + function test_Execute_Swap_RevertsOnNonSellableToken() public { + sellPolicy.removeSellableToken(address(sellToken)); + AWKAerodromeV2SwapAdapter.SwapRoute memory route = _buildRoute(address(sellToken), address(baseAsset)); + vm.expectRevert(abi.encodeWithSelector(SellTokenNotAllowed.selector, address(sellToken))); + _executeSwap(address(baseAsset), route, 100e18, 1e6); + } + + function test_Execute_Swap_RevertsWhenBuyTokenNotBaseAsset() public { + AWKAerodromeV2SwapAdapter.SwapRoute memory route = _buildRoute(address(sellToken), address(otherToken)); + vm.expectRevert(abi.encodeWithSelector(AssetNotAllowed.selector)); + _executeSwap(address(otherToken), route, 100e18, 1e18); + } + + function test_Execute_Swap_RevertsWhenSellingBaseAsset() public { + sellPolicy.addSellableToken(address(baseAsset)); + baseAsset.mint(address(wallet), 1_000e6); + AWKAerodromeV2SwapAdapter.SwapRoute memory route = _buildRoute(address(baseAsset), address(otherToken)); + bytes memory data = abi.encodeWithSelector(adapter.swap.selector, address(baseAsset), address(otherToken), route, uint256(100e6), uint256(1e18)); + vm.expectRevert(abi.encodeWithSelector(BaseAssetNotAllowed.selector)); + wallet.executeAdapter(address(adapter), address(router), data); + } +} diff --git a/test/unit/adapters/SwapSellPolicy.t.sol b/test/unit/adapters/SwapSellPolicy.t.sol new file mode 100644 index 0000000..9acf634 --- /dev/null +++ b/test/unit/adapters/SwapSellPolicy.t.sol @@ -0,0 +1,102 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.28; + +import {YieldSeekerSwapSellPolicy} from "../../../src/adapters/SwapSellPolicy.sol"; +import {AWKErrors} from "../../../src/agentwalletkit/AWKErrors.sol"; +import {Test} from "forge-std/Test.sol"; + +contract SwapSellPolicyTest is Test { + YieldSeekerSwapSellPolicy policy; + + address admin = address(0xA11CE); + address emergencyAdmin = address(0xB0B); + address nonAdmin = address(0xDEAD); + address tokenA = address(0x1001); + address tokenB = address(0x1002); + + function setUp() public { + policy = new YieldSeekerSwapSellPolicy(admin, emergencyAdmin, false); + } + + function test_Constructor_RevertsOnZeroAdmin() public { + vm.expectRevert(abi.encodeWithSelector(AWKErrors.ZeroAddress.selector)); + new YieldSeekerSwapSellPolicy(address(0), emergencyAdmin, false); + } + + function test_Constructor_RevertsOnZeroEmergencyAdmin() public { + vm.expectRevert(abi.encodeWithSelector(AWKErrors.ZeroAddress.selector)); + new YieldSeekerSwapSellPolicy(admin, address(0), false); + } + + function test_AddSellableToken_AdminOnly() public { + vm.prank(nonAdmin); + vm.expectRevert(); + policy.addSellableToken(tokenA); + vm.prank(admin); + policy.addSellableToken(tokenA); + assertTrue(policy.isSellableToken(tokenA)); + } + + function test_AddSellableToken_RevertsOnZeroAddress() public { + vm.prank(admin); + vm.expectRevert(abi.encodeWithSelector(AWKErrors.ZeroAddress.selector)); + policy.addSellableToken(address(0)); + } + + function test_AddSellableTokens_BatchSucceeds() public { + address[] memory tokens = new address[](2); + tokens[0] = tokenA; + tokens[1] = tokenB; + vm.prank(admin); + policy.addSellableTokens(tokens); + assertTrue(policy.isSellableToken(tokenA)); + assertTrue(policy.isSellableToken(tokenB)); + address[] memory listedTokens = policy.getSellableTokens(); + assertEq(listedTokens.length, 2); + } + + function test_AddSellableTokens_RevertsOnZeroAddress() public { + address[] memory tokens = new address[](2); + tokens[0] = tokenA; + tokens[1] = address(0); + vm.prank(admin); + vm.expectRevert(abi.encodeWithSelector(AWKErrors.ZeroAddress.selector)); + policy.addSellableTokens(tokens); + assertFalse(policy.isSellableToken(tokenA)); + } + + function test_RemoveSellableToken_EmergencyOnly() public { + vm.prank(admin); + policy.addSellableToken(tokenA); + vm.prank(nonAdmin); + vm.expectRevert(); + policy.removeSellableToken(tokenA); + vm.prank(emergencyAdmin); + policy.removeSellableToken(tokenA); + assertFalse(policy.isSellableToken(tokenA)); + } + + function test_SetAllowSellingAllTokens_AdminOnly() public { + vm.prank(nonAdmin); + vm.expectRevert(); + policy.setAllowSellingAllTokens(true); + vm.prank(admin); + policy.setAllowSellingAllTokens(true); + assertTrue(policy.allowSellingAllTokens()); + assertTrue(policy.isSellableToken(address(0x9999))); + } + + function test_IsSellableToken_AllowlistAndAllowAllFlow() public { + assertFalse(policy.isSellableToken(tokenA)); + vm.prank(admin); + policy.addSellableToken(tokenA); + assertTrue(policy.isSellableToken(tokenA)); + vm.prank(emergencyAdmin); + policy.removeSellableToken(tokenA); + assertFalse(policy.isSellableToken(tokenA)); + vm.prank(admin); + policy.setAllowSellingAllTokens(true); + assertTrue(policy.isSellableToken(tokenA)); + assertTrue(policy.isSellableToken(address(0xFFFF))); + } +} diff --git a/test/unit/adapters/UniswapV3SwapAdapter.t.sol b/test/unit/adapters/UniswapV3SwapAdapter.t.sol new file mode 100644 index 0000000..764948f --- /dev/null +++ b/test/unit/adapters/UniswapV3SwapAdapter.t.sol @@ -0,0 +1,197 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.28; + +import {YieldSeekerFeeTracker} from "../../../src/FeeTracker.sol"; +import {AssetNotAllowed, BaseAssetNotAllowed} from "../../../src/adapters/Adapter.sol"; +import {YieldSeekerSwapSellPolicy} from "../../../src/adapters/SwapSellPolicy.sol"; +import {SellTokenNotAllowed, YieldSeekerUniswapV3SwapAdapter} from "../../../src/adapters/UniswapV3SwapAdapter.sol"; +import {AWKErrors} from "../../../src/agentwalletkit/AWKErrors.sol"; +import {InsufficientOutput, InvalidRouteEndpoints} from "../../../src/agentwalletkit/adapters/AWKSwapAdapter.sol"; +import { + AWKUniswapV3SwapAdapter, + IUniswapV3SwapRouter, + InvalidRouteLength, + InvalidSwapRoute, + InvalidSwapTokenAddress, + InvalidUniswapV3FeeTier, + InvalidUniswapV3RouterTarget +} from "../../../src/agentwalletkit/adapters/AWKUniswapV3SwapAdapter.sol"; +import {MockERC20} from "../../mocks/MockERC20.sol"; +import {AdapterWalletHarness} from "./AdapterHarness.t.sol"; +import {Test} from "forge-std/Test.sol"; + +contract MockUniswapV3Router { + uint256 public configuredBuyAmount; + bool public shouldRevert; + + function setBuyAmount(uint256 amount) external { + configuredBuyAmount = amount; + } + + function setRevert(bool value) external { + shouldRevert = value; + } + + function exactInput(IUniswapV3SwapRouter.ExactInputParams calldata params) external payable returns (uint256 amountOut) { + if (shouldRevert) revert("swap failed"); + (address sellToken, address buyToken) = _decodePathEndpoints(params.path); + require(MockERC20(sellToken).transferFrom(msg.sender, address(this), params.amountIn), "TransferFrom failed"); + amountOut = configuredBuyAmount == 0 ? params.amountOutMinimum : configuredBuyAmount; + require(MockERC20(buyToken).transfer(msg.sender, amountOut), "Transfer failed"); + } + + function _decodePathEndpoints(bytes memory path) internal pure returns (address firstToken, address lastToken) { + require(path.length >= 43, "invalid path"); + assembly { + firstToken := shr(96, mload(add(path, 0x20))) + lastToken := shr(96, mload(add(add(path, 0x20), sub(mload(path), 20)))) + } + } +} + +contract UniswapV3SwapAdapterTest is Test { + YieldSeekerUniswapV3SwapAdapter adapter; + YieldSeekerFeeTracker feeTracker; + YieldSeekerSwapSellPolicy sellPolicy; + AdapterWalletHarness wallet; + MockERC20 baseAsset; + MockERC20 sellToken; + MockERC20 otherToken; + MockUniswapV3Router router; + + function _decodeUint(bytes memory data) internal pure returns (uint256) { + return abi.decode(abi.decode(data, (bytes)), (uint256)); + } + + function _buildRoute(address from, address to) internal pure returns (AWKUniswapV3SwapAdapter.SwapRoute memory route) { + route.path = new address[](2); + route.path[0] = from; + route.path[1] = to; + route.fees = new uint24[](1); + route.fees[0] = 3000; + } + + function _executeSwap(address buyToken, AWKUniswapV3SwapAdapter.SwapRoute memory route, uint256 sellAmount, uint256 minBuyAmount) internal returns (bytes memory) { + bytes memory data = abi.encodeWithSelector(adapter.swap.selector, address(sellToken), buyToken, route, sellAmount, minBuyAmount); + return wallet.executeAdapter(address(adapter), address(router), data); + } + + function setUp() public { + baseAsset = new MockERC20("Mock USDC", "mUSDC"); + sellToken = new MockERC20("Mock Token", "mTKN"); + otherToken = new MockERC20("Other Token", "oTKN"); + feeTracker = new YieldSeekerFeeTracker(address(this)); + feeTracker.setFeeConfig(1000, address(0xBEEF)); + sellPolicy = new YieldSeekerSwapSellPolicy(address(this), address(this), false); + sellPolicy.addSellableToken(address(sellToken)); + router = new MockUniswapV3Router(); + adapter = new YieldSeekerUniswapV3SwapAdapter(address(router), address(sellPolicy)); + wallet = new AdapterWalletHarness(baseAsset, feeTracker); + baseAsset.mint(address(router), 1_000_000e6); + otherToken.mint(address(router), 1_000_000e18); + sellToken.mint(address(wallet), 1_000e18); + } + + function test_Execute_Swap_Succeeds() public { + router.setBuyAmount(500e6); + AWKUniswapV3SwapAdapter.SwapRoute memory route = _buildRoute(address(sellToken), address(baseAsset)); + bytes memory result = _executeSwap(address(baseAsset), route, 100e18, 400e6); + uint256 buyAmount = _decodeUint(result); + assertEq(buyAmount, 500e6); + assertEq(sellToken.balanceOf(address(wallet)), 900e18); + assertEq(baseAsset.balanceOf(address(wallet)), 500e6); + } + + function test_Execute_Swap_RevertsOnLowOutput() public { + router.setBuyAmount(100e6); + AWKUniswapV3SwapAdapter.SwapRoute memory route = _buildRoute(address(sellToken), address(baseAsset)); + vm.expectRevert(abi.encodeWithSelector(InsufficientOutput.selector, uint256(100e6), uint256(150e6))); + _executeSwap(address(baseAsset), route, 100e18, 150e6); + } + + function test_Execute_Swap_RevertsOnZeroAmounts() public { + AWKUniswapV3SwapAdapter.SwapRoute memory route = _buildRoute(address(sellToken), address(baseAsset)); + vm.expectRevert(abi.encodeWithSelector(AWKErrors.ZeroAmount.selector)); + _executeSwap(address(baseAsset), route, 0, 0); + } + + function test_Execute_Swap_RevertsOnWrongTarget() public { + AWKUniswapV3SwapAdapter.SwapRoute memory route = _buildRoute(address(sellToken), address(baseAsset)); + bytes memory data = abi.encodeWithSelector(adapter.swap.selector, address(sellToken), address(baseAsset), route, uint256(10e18), uint256(1e6)); + vm.expectRevert(abi.encodeWithSelector(InvalidUniswapV3RouterTarget.selector, address(0x1234), address(router))); + wallet.executeAdapter(address(adapter), address(0x1234), data); + } + + function test_Execute_Swap_RevertsOnInvalidFeeTier() public { + AWKUniswapV3SwapAdapter.SwapRoute memory route = _buildRoute(address(sellToken), address(baseAsset)); + route.fees[0] = 250; + vm.expectRevert(abi.encodeWithSelector(InvalidUniswapV3FeeTier.selector, uint24(250))); + _executeSwap(address(baseAsset), route, 100e18, 1e6); + } + + function test_Execute_Swap_RevertsOnInvalidRouteLength() public { + AWKUniswapV3SwapAdapter.SwapRoute memory route; + route.path = new address[](1); + route.path[0] = address(sellToken); + route.fees = new uint24[](0); + vm.expectRevert(abi.encodeWithSelector(InvalidRouteLength.selector, uint256(1))); + _executeSwap(address(baseAsset), route, 100e18, 1e6); + } + + function test_Execute_Swap_RevertsOnFeePathMismatch() public { + AWKUniswapV3SwapAdapter.SwapRoute memory route; + route.path = new address[](2); + route.path[0] = address(sellToken); + route.path[1] = address(baseAsset); + route.fees = new uint24[](0); + vm.expectRevert(abi.encodeWithSelector(InvalidSwapRoute.selector)); + _executeSwap(address(baseAsset), route, 100e18, 1e6); + } + + function test_Execute_Swap_RevertsOnRouteSellEndpointMismatch() public { + AWKUniswapV3SwapAdapter.SwapRoute memory route = _buildRoute(address(otherToken), address(baseAsset)); + vm.expectRevert(abi.encodeWithSelector(InvalidRouteEndpoints.selector, address(sellToken), address(baseAsset))); + _executeSwap(address(baseAsset), route, 100e18, 1e6); + } + + function test_Execute_Swap_RevertsOnRouteBuyEndpointMismatch() public { + AWKUniswapV3SwapAdapter.SwapRoute memory route = _buildRoute(address(sellToken), address(otherToken)); + vm.expectRevert(abi.encodeWithSelector(InvalidRouteEndpoints.selector, address(sellToken), address(baseAsset))); + _executeSwap(address(baseAsset), route, 100e18, 1e6); + } + + function test_Execute_Swap_RevertsOnZeroPathToken() public { + AWKUniswapV3SwapAdapter.SwapRoute memory route; + route.path = new address[](3); + route.path[0] = address(sellToken); + route.path[1] = address(0); + route.path[2] = address(baseAsset); + route.fees = new uint24[](2); + route.fees[0] = 3000; + route.fees[1] = 3000; + vm.expectRevert(abi.encodeWithSelector(InvalidSwapTokenAddress.selector, address(0))); + _executeSwap(address(baseAsset), route, 100e18, 1e6); + } + + function test_Execute_Swap_RevertsOnNonSellableToken() public { + sellPolicy.removeSellableToken(address(sellToken)); + AWKUniswapV3SwapAdapter.SwapRoute memory route = _buildRoute(address(sellToken), address(baseAsset)); + vm.expectRevert(abi.encodeWithSelector(SellTokenNotAllowed.selector, address(sellToken))); + _executeSwap(address(baseAsset), route, 100e18, 1e6); + } + + function test_Execute_Swap_RevertsWhenBuyTokenNotBaseAsset() public { + AWKUniswapV3SwapAdapter.SwapRoute memory route = _buildRoute(address(sellToken), address(otherToken)); + vm.expectRevert(abi.encodeWithSelector(AssetNotAllowed.selector)); + _executeSwap(address(otherToken), route, 100e18, 1e18); + } + + function test_Execute_Swap_RevertsWhenSellingBaseAsset() public { + sellPolicy.addSellableToken(address(baseAsset)); + baseAsset.mint(address(wallet), 1_000e6); + AWKUniswapV3SwapAdapter.SwapRoute memory route = _buildRoute(address(baseAsset), address(otherToken)); + bytes memory data = abi.encodeWithSelector(adapter.swap.selector, address(baseAsset), address(otherToken), route, uint256(100e6), uint256(1e18)); + vm.expectRevert(abi.encodeWithSelector(BaseAssetNotAllowed.selector)); + wallet.executeAdapter(address(adapter), address(router), data); + } +} From 45775c0bc24afabcda51f6dbe7726cd5142915f7 Mon Sep 17 00:00:00 2001 From: Krishan Patel Date: Mon, 16 Feb 2026 21:28:57 +0000 Subject: [PATCH 15/28] . --- script/Deploy.s.sol | 36 ++++++++++++++++++++++++++++++++---- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/script/Deploy.s.sol b/script/Deploy.s.sol index c2cda84..6d3c40b 100644 --- a/script/Deploy.s.sol +++ b/script/Deploy.s.sol @@ -64,14 +64,42 @@ contract DeployScript is Script { } } + function getUniswapV3Router(uint256 chainId) internal pure returns (address) { + if (chainId == 8453) { + return 0x2626664c2603336E57B271c5C0b26F421741e481; + } + revert(string.concat("Unsupported chain id for Uniswap V3 router: ", vm.toString(chainId))); + } + + function getAerodromeV2Router(uint256 chainId) internal pure returns (address) { + if (chainId == 8453) { + return 0xcF77a3Ba9A5CA399B7c97c74d54e5b1Beb874E43; + } + revert(string.concat("Unsupported chain id for Aerodrome V2 router: ", vm.toString(chainId))); + } + + function getAerodromeV2Factory(uint256 chainId) internal pure returns (address) { + if (chainId == 8453) { + return 0x420DD381b31aEf6683db6B902084cB0FFECe40Da; + } + revert(string.concat("Unsupported chain id for Aerodrome V2 factory: ", vm.toString(chainId))); + } + + function getAerodromeClRouter(uint256 chainId) internal pure returns (address) { + if (chainId == 8453) { + return 0xBE6D8f0d05cC4be24d5167a3eF062215bE6D18a5; + } + revert(string.concat("Unsupported chain id for Aerodrome CL router: ", vm.toString(chainId))); + } + function run() public { address serverAddress = vm.envAddress("SERVER_ADDRESS"); uint256 deployerPrivateKey = vm.envUint("DEPLOYER_PRIVATE_KEY"); address deployerAddress = vm.addr(deployerPrivateKey); - address uniswapV3Router = vm.envAddress("UNISWAP_V3_ROUTER"); - address aerodromeV2Router = vm.envAddress("AERODROME_V2_ROUTER"); - address aerodromeV2Factory = vm.envAddress("AERODROME_V2_FACTORY"); - address aerodromeClRouter = vm.envAddress("AERODROME_CL_ROUTER"); + address uniswapV3Router = getUniswapV3Router(block.chainid); + address aerodromeV2Router = getAerodromeV2Router(block.chainid); + address aerodromeV2Factory = getAerodromeV2Factory(block.chainid); + address aerodromeClRouter = getAerodromeClRouter(block.chainid); console2.log("================================================="); console2.log("YIELDSEEKER DEPLOYMENT SCRIPT"); From a01f40c7d9db4b0b02c88d18d388231dd24e2d8c Mon Sep 17 00:00:00 2001 From: Krishan Patel Date: Mon, 16 Feb 2026 21:29:39 +0000 Subject: [PATCH 16/28] . --- script/Deploy.s.sol | 2 ++ 1 file changed, 2 insertions(+) diff --git a/script/Deploy.s.sol b/script/Deploy.s.sol index 6d3c40b..bb8241d 100644 --- a/script/Deploy.s.sol +++ b/script/Deploy.s.sol @@ -28,6 +28,8 @@ contract DeployScript is Script { using stdJson for string; // Canonical ERC-4337 v0.6 EntryPoint address constant ENTRYPOINT = 0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789; + + // Deployment Salt for deterministic addresses uint256 constant SALT = 0x7; // Testing Mode: Set to true to deploy with 0-delay adminTimelock for faster testing From d04fcf650f6fddf0a2867ed20308e1bde083dfc9 Mon Sep 17 00:00:00 2001 From: Krishan Patel Date: Mon, 16 Feb 2026 21:32:38 +0000 Subject: [PATCH 17/28] . --- deployments.json | 3 +- src/adapters/ZeroXAdapter.sol | 40 --- .../adapters/AWKZeroXAdapter.sol | 194 ------------- test/unit/adapters/ZeroXAdapter.t.sol | 270 ------------------ 4 files changed, 1 insertion(+), 506 deletions(-) delete mode 100644 src/adapters/ZeroXAdapter.sol delete mode 100644 src/agentwalletkit/adapters/AWKZeroXAdapter.sol delete mode 100644 test/unit/adapters/ZeroXAdapter.t.sol diff --git a/deployments.json b/deployments.json index 2391aec..7389566 100644 --- a/deployments.json +++ b/deployments.json @@ -8,6 +8,5 @@ "compoundV3Adapter": "0x65B65D4bF565b3Ba92371CCd0B157DA1BCb3b1A8", "erc4626Adapter": "0x98474BE8d188F450FEf65b5C6d290D333eb74a2f", "feeTracker": "0x2e11eDC25e5f2391Cd9225A7C107d1B41eBACc9F", - "merklAdapter": "0x063E92A335be85a7AE6d2De28397dcf40423c45f", - "zeroXAdapter": "0x153e4801852249d1f7D05CCB13c1D1CF8AE7c466" + "merklAdapter": "0x063E92A335be85a7AE6d2De28397dcf40423c45f" } diff --git a/src/adapters/ZeroXAdapter.sol b/src/adapters/ZeroXAdapter.sol deleted file mode 100644 index 97e0881..0000000 --- a/src/adapters/ZeroXAdapter.sol +++ /dev/null @@ -1,40 +0,0 @@ -// SPDX-License-Identifier: MIT -// -// /$$ /$$ /$$ /$$ /$$ /$$$$$$ /$$ -// | $$ /$$/|__/ | $$ | $$ /$$__ $$ | $$ -// \ $$ /$$/ /$$ /$$$$$$ | $$ /$$$$$$$| $$ \__/ /$$$$$$ /$$$$$$ | $$ /$$ /$$$$$$ /$$$$$$ -// \ $$$$/ | $$ /$$__ $$| $$ /$$__ $$| $$$$$$ /$$__ $$ /$$__ $$| $$ /$$/ /$$__ $$ /$$__ $$ -// \ $$/ | $$| $$$$$$$$| $$| $$ | $$ \____ $$| $$$$$$$$| $$$$$$$$| $$$$$$/ | $$$$$$$$| $$ \__/ -// | $$ | $$| $$_____/| $$| $$ | $$ /$$ \ $$| $$_____/| $$_____/| $$_ $$ | $$_____/| $$ -// | $$ | $$| $$$$$$$| $$| $$$$$$$| $$$$$$/| $$$$$$$| $$$$$$$| $$ \ $$| $$$$$$$| $$ -// |__/ |__/ \_______/|__/ \_______/ \______/ \_______/ \_______/|__/ \__/ \_______/|__/ -// -// Grow your wealth on auto-pilot with DeFi agents -// https://yieldseeker.xyz -// -// For technical queries or guidance contact @krishan711 -// -pragma solidity 0.8.28; - -import {AWKZeroXAdapter} from "../agentwalletkit/adapters/AWKZeroXAdapter.sol"; -import {YieldSeekerAdapter} from "./Adapter.sol"; - -/** - * @title YieldSeekerZeroXAdapter - * @notice YieldSeeker-specific 0x adapter with fee tracking - * @dev Extends the generic AWKZeroXAdapter and implements hooks for base asset validation and fee tracking. - */ -contract YieldSeekerZeroXAdapter is AWKZeroXAdapter, YieldSeekerAdapter { - constructor(address allowanceTarget, address admin, address emergencyAdmin, bool initialAllowSellingAllTokens) AWKZeroXAdapter(allowanceTarget, admin, emergencyAdmin, initialAllowSellingAllTokens) {} - - /** - * @notice Internal swap implementation with validation and fee tracking - * @dev Overrides AWK logic to add pre-check and post-fee-tracking - */ - function _swapInternal(address target, address sellToken, address buyToken, uint256 sellAmount, uint256 minBuyAmount, bytes memory swapCallData, uint256 value) internal override returns (uint256 buyAmount, uint256 soldAmount) { - _requireNotBaseAsset(sellToken); - _requireBaseAsset(buyToken); - (buyAmount, soldAmount) = super._swapInternal(target, sellToken, buyToken, sellAmount, minBuyAmount, swapCallData, value); - _feeTracker().recordAgentTokenSwap(sellToken, soldAmount, buyAmount); - } -} diff --git a/src/agentwalletkit/adapters/AWKZeroXAdapter.sol b/src/agentwalletkit/adapters/AWKZeroXAdapter.sol deleted file mode 100644 index 74d6744..0000000 --- a/src/agentwalletkit/adapters/AWKZeroXAdapter.sol +++ /dev/null @@ -1,194 +0,0 @@ -// SPDX-License-Identifier: MIT -// -// _ _ __ __ _ _ _ _ ___ _ -// / \ __ _ ___ _ __ | |\ \ / /_ _| | | ___| |_| |/ (_) |_ -// / _ \ / _` |/ _ \ '_ \| __\ \ /\ / / _` | | |/ _ \ __| ' /| | __| -// / ___ \ (_| | __/ | | | |_ \ V V / (_| | | | __/ |_| . \| | |_ -// /_/ \_\__, |\___|_| |_|\__| \_/\_/ \__,_|_|_|\___|\__|_|\_\_|\__| -// |___/ -// -// Build verifiably secure onchain agents -// https://agentwalletkit.tokenpage.xyz -// -// For technical queries or guidance contact @krishan711 -// -pragma solidity 0.8.28; - -import {AWKAdapter, UnknownOperation} from "../AWKAdapter.sol"; -import {AWKErrors} from "../AWKErrors.sol"; -import {AccessControl} from "@openzeppelin/contracts/access/AccessControl.sol"; -import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; -import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; -import {EnumerableSet} from "@openzeppelin/contracts/utils/structs/EnumerableSet.sol"; - -error InvalidAllowanceTarget(); -error InsufficientEth(uint256 balance, uint256 required); -error SwapFailed(bytes reason); -error InsufficientOutput(uint256 received, uint256 minimum); -error SellTokenNotAllowed(address token); - -/** - * @title AWKZeroXAdapter - * @notice Generic adapter for token swaps via 0x with built-in sell-token allowlist. - * @dev Swap execution runs via delegatecall from AgentWallet. - * Allowlist management functions run via direct calls (admin-only). - * When allowSellingAllTokens is false, only tokens explicitly added to the allowlist can be sold. - * When allowSellingAllTokens is true, any token can be sold (useful for less restrictive setups). - */ -contract AWKZeroXAdapter is AWKAdapter, AccessControl { - using SafeERC20 for IERC20; - using EnumerableSet for EnumerableSet.AddressSet; - - bytes32 public constant EMERGENCY_ROLE = keccak256("EMERGENCY_ROLE"); - - address public immutable ALLOWANCE_TARGET; - address internal constant NATIVE_TOKEN = 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE; - - bool public allowSellingAllTokens; - EnumerableSet.AddressSet private sellableTokens; - - event SellableTokenAdded(address indexed token); - event SellableTokenRemoved(address indexed token); - event AllowSellingAllTokensSet(bool enabled); - event Swapped(address indexed wallet, address indexed target, address sellToken, address buyToken, uint256 sellAmount, uint256 buyAmount); - - /// @param allowanceTarget The 0x exchange proxy allowance target for token approvals - /// @param admin Address of the admin (gets DEFAULT_ADMIN_ROLE for allowlist and configuration) - /// @param emergencyAdmin Address that can perform emergency operations (remove sellable tokens) - /// @param initialAllowSellingAllTokens Whether to allow selling all tokens by default - constructor(address allowanceTarget, address admin, address emergencyAdmin, bool initialAllowSellingAllTokens) { - if (allowanceTarget == address(0)) revert InvalidAllowanceTarget(); - if (admin == address(0)) revert AWKErrors.ZeroAddress(); - if (emergencyAdmin == address(0)) revert AWKErrors.ZeroAddress(); - ALLOWANCE_TARGET = allowanceTarget; - _grantRole(DEFAULT_ADMIN_ROLE, admin); - _grantRole(EMERGENCY_ROLE, emergencyAdmin); - allowSellingAllTokens = initialAllowSellingAllTokens; - } - - // ============ Allowlist Management (direct calls only) ============ - - /// @notice Toggle the global flag that allows selling any token, bypassing the allowlist - /// @param enabled True to allow selling all tokens, false to enforce the allowlist - function setAllowSellingAllTokens(bool enabled) external onlyRole(DEFAULT_ADMIN_ROLE) { - allowSellingAllTokens = enabled; - emit AllowSellingAllTokensSet(enabled); - } - - /// @notice Add a token to the sell allowlist - /// @param token The token address to allow selling - function addSellableToken(address token) external onlyRole(DEFAULT_ADMIN_ROLE) { - if (token == address(0)) revert AWKErrors.ZeroAddress(); - if (sellableTokens.add(token)) { - emit SellableTokenAdded(token); - } - } - - /// @notice Add multiple tokens to the sell allowlist in a single transaction - /// @param tokens The token addresses to allow selling - function addSellableTokens(address[] calldata tokens) external onlyRole(DEFAULT_ADMIN_ROLE) { - for (uint256 i = 0; i < tokens.length; i++) { - if (tokens[i] == address(0)) revert AWKErrors.ZeroAddress(); - if (sellableTokens.add(tokens[i])) { - emit SellableTokenAdded(tokens[i]); - } - } - } - - /// @notice Remove a token from the sell allowlist (emergency only) - /// @param token The token address to disallow selling - function removeSellableToken(address token) external onlyRole(EMERGENCY_ROLE) { - if (sellableTokens.remove(token)) { - emit SellableTokenRemoved(token); - } - } - - /// @notice Check if a token is allowed to be sold - /// @param token The token address to check - /// @return True if the token can be sold (either explicitly allowlisted or allowSellingAllTokens is enabled) - function isSellableToken(address token) external view returns (bool) { - return allowSellingAllTokens || sellableTokens.contains(token); - } - - /// @notice Get all tokens explicitly added to the sell allowlist - /// @return An array of token addresses in the allowlist - function getSellableTokens() external view returns (address[] memory) { - return sellableTokens.values(); - } - - // ============ Swap Execution (delegatecall only) ============ - - /** - * @notice Route delegatecall operations to the appropriate swap handler - * @param target The 0x swap target contract - * @param data ABI-encoded call data (must match swap() selector) - * @return ABI-encoded buy amount - * @dev Only callable via delegatecall from AgentWallet. Reverts with UnknownOperation for unrecognised selectors. - */ - function execute(address target, bytes calldata data) external payable virtual override onlyDelegateCall returns (bytes memory) { - bytes4 selector_ = bytes4(data[:4]); - if (selector_ == this.swap.selector) { - (address sellToken, address buyToken, uint256 sellAmount, uint256 minBuyAmount, bytes memory swapCallData, uint256 value) = abi.decode(data[4:], (address, address, uint256, uint256, bytes, uint256)); - (uint256 buyAmount,) = _swapInternal(target, sellToken, buyToken, sellAmount, minBuyAmount, swapCallData, value); - return abi.encode(buyAmount); - } - revert UnknownOperation(); - } - - // ============ Swap Operations ============ - - /** - * @notice Swap tokens via 0x (public interface, should not be called directly) - * @param sellToken The token to sell (use NATIVE_TOKEN for ETH) - * @param buyToken The token to buy - * @param sellAmount The amount of sellToken to swap - * @param minBuyAmount Minimum acceptable buyToken amount (slippage protection) - * @param swapCallData The 0x API swap calldata - * @param value ETH value (ignored for security, sellAmount used instead) - * @return buyAmount The amount of buyToken received - * @dev This is a placeholder - actual execution happens via execute() -> _swapInternal() - */ - function swap(address sellToken, address buyToken, uint256 sellAmount, uint256 minBuyAmount, bytes calldata swapCallData, uint256 value) external payable returns (uint256) { - revert AWKErrors.DirectCallForbidden(); - } - - /** - * @notice Internal swap implementation that handles token approvals, balance checks, and slippage protection - * @param target The 0x swap target contract to call - * @param sellToken The token being sold (use NATIVE_TOKEN for ETH) - * @param buyToken The token being bought - * @param sellAmount The amount of sellToken to sell - * @param minBuyAmount Minimum acceptable buyToken output (reverts with InsufficientOutput if not met) - * @param swapCallData Raw calldata to forward to the 0x target - * @param value Ignored - sellAmount is used for ETH sends to prevent value manipulation - * @return buyAmount The amount of buyToken received - * @return soldAmount The amount of sellToken actually sold - * @dev Runs in the wallet's context via delegatecall. Reads the adapter's own allowlist - * via an external call to AWKZeroXAdapter(SELF).isSellableToken() since storage - * belongs to the wallet during delegatecall. - */ - function _swapInternal(address target, address sellToken, address buyToken, uint256 sellAmount, uint256 minBuyAmount, bytes memory swapCallData, uint256 value) internal virtual returns (uint256 buyAmount, uint256 soldAmount) { - if (sellAmount == 0 || minBuyAmount == 0) revert AWKErrors.ZeroAmount(); - if (sellToken != NATIVE_TOKEN && !AWKZeroXAdapter(SELF).isSellableToken(sellToken)) revert SellTokenNotAllowed(sellToken); - - uint256 ethToSend; - if (sellToken == NATIVE_TOKEN) { - ethToSend = sellAmount; - if (address(this).balance < sellAmount) revert InsufficientEth(address(this).balance, sellAmount); - } else { - ethToSend = 0; - IERC20(sellToken).forceApprove(ALLOWANCE_TARGET, sellAmount); - } - uint256 buyBalanceBefore = buyToken == NATIVE_TOKEN ? address(this).balance : IERC20(buyToken).balanceOf(address(this)); - uint256 sellBalanceBefore = sellToken == NATIVE_TOKEN ? address(this).balance : IERC20(sellToken).balanceOf(address(this)); - (bool success, bytes memory reason) = target.call{value: ethToSend}(swapCallData); - if (!success) revert SwapFailed(reason); - uint256 buyBalanceAfter = buyToken == NATIVE_TOKEN ? address(this).balance : IERC20(buyToken).balanceOf(address(this)); - uint256 sellBalanceAfter = sellToken == NATIVE_TOKEN ? address(this).balance : IERC20(sellToken).balanceOf(address(this)); - soldAmount = sellBalanceBefore - sellBalanceAfter; - buyAmount = buyBalanceAfter - buyBalanceBefore; - if (buyAmount < minBuyAmount) revert InsufficientOutput(buyAmount, minBuyAmount); - - emit Swapped(address(this), target, sellToken, buyToken, soldAmount, buyAmount); - } -} diff --git a/test/unit/adapters/ZeroXAdapter.t.sol b/test/unit/adapters/ZeroXAdapter.t.sol deleted file mode 100644 index 8cb4007..0000000 --- a/test/unit/adapters/ZeroXAdapter.t.sol +++ /dev/null @@ -1,270 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity 0.8.28; - -import {YieldSeekerFeeTracker} from "../../../src/FeeTracker.sol"; -import {BaseAssetNotAllowed} from "../../../src/adapters/Adapter.sol"; -import {YieldSeekerZeroXAdapter} from "../../../src/adapters/ZeroXAdapter.sol"; -import {AWKErrors} from "../../../src/agentwalletkit/AWKErrors.sol"; -import {InsufficientOutput, SellTokenNotAllowed} from "../../../src/agentwalletkit/adapters/AWKZeroXAdapter.sol"; -import {MockERC20} from "../../mocks/MockERC20.sol"; -import {AdapterWalletHarness} from "./AdapterHarness.t.sol"; -import {Test} from "forge-std/Test.sol"; - -contract MockZeroXTarget { - address internal constant NATIVE_TOKEN = 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE; - uint256 public lastValue; - uint256 public configuredBuyAmount; - bool public shouldRevert; - - function setBuyAmount(uint256 amount) external { - configuredBuyAmount = amount; - } - - function setRevert(bool value) external { - shouldRevert = value; - } - - function swap(address sellToken, address buyToken, uint256 sellAmount, uint256 minBuyAmount) external payable { - if (shouldRevert) revert("swap failed"); - lastValue = msg.value; - if (sellToken != NATIVE_TOKEN) { - require(MockERC20(sellToken).transferFrom(msg.sender, address(this), sellAmount), "TransferFrom failed"); - } - uint256 buyAmount = configuredBuyAmount == 0 ? minBuyAmount : configuredBuyAmount; - require(MockERC20(buyToken).transfer(msg.sender, buyAmount), "Transfer failed"); - } -} - -contract ZeroXAdapterTest is Test { - address internal constant NATIVE_TOKEN = 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE; - YieldSeekerZeroXAdapter adapter; - YieldSeekerFeeTracker feeTracker; - AdapterWalletHarness wallet; - MockERC20 baseAsset; - MockERC20 sellToken; - MockZeroXTarget target; - - function _decodeUint(bytes memory data) internal pure returns (uint256) { - return abi.decode(abi.decode(data, (bytes)), (uint256)); - } - - function setUp() public { - baseAsset = new MockERC20("Mock USDC", "mUSDC"); - sellToken = new MockERC20("Mock Token", "mTKN"); - feeTracker = new YieldSeekerFeeTracker(address(this)); - feeTracker.setFeeConfig(1000, address(0xBEEF)); - target = new MockZeroXTarget(); - adapter = new YieldSeekerZeroXAdapter(address(target), address(this), address(this), false); - adapter.addSellableToken(address(sellToken)); - wallet = new AdapterWalletHarness(baseAsset, feeTracker); - baseAsset.mint(address(target), 1_000_000e6); - sellToken.mint(address(wallet), 1_000e18); - } - - function test_Execute_SwapTokens_Succeeds() public { - target.setBuyAmount(500e6); - bytes memory data = abi.encodeWithSelector( - adapter.swap.selector, - address(sellToken), - address(baseAsset), - uint256(100e18), - uint256(400e6), - abi.encodeWithSelector(MockZeroXTarget.swap.selector, address(sellToken), address(baseAsset), uint256(100e18), uint256(400e6)), - uint256(0) - ); - bytes memory result = wallet.executeAdapter(address(adapter), address(target), data); - uint256 buyAmount = _decodeUint(result); - assertEq(buyAmount, 500e6); - assertEq(sellToken.balanceOf(address(wallet)), 900e18); - assertEq(baseAsset.balanceOf(address(wallet)), 500e6); - } - - function test_Execute_Swap_RevertsOnLowOutput() public { - target.setBuyAmount(100e6); - bytes memory data = abi.encodeWithSelector( - adapter.swap.selector, - address(sellToken), - address(baseAsset), - uint256(100e18), - uint256(150e6), - abi.encodeWithSelector(MockZeroXTarget.swap.selector, address(sellToken), address(baseAsset), uint256(100e18), uint256(150e6)), - uint256(0) - ); - vm.expectRevert(abi.encodeWithSelector(InsufficientOutput.selector, uint256(100e6), uint256(150e6))); - wallet.executeAdapter(address(adapter), address(target), data); - } - - function test_Execute_Swap_RevertsOnZeroAmounts() public { - bytes memory data = abi.encodeWithSelector( - adapter.swap.selector, address(sellToken), address(baseAsset), uint256(0), uint256(0), abi.encodeWithSelector(MockZeroXTarget.swap.selector, address(sellToken), address(baseAsset), uint256(0), uint256(0)), uint256(0) - ); - vm.expectRevert(abi.encodeWithSelector(AWKErrors.ZeroAmount.selector)); - wallet.executeAdapter(address(adapter), address(target), data); - } - - function test_Execute_Swap_RevertBubble() public { - target.setRevert(true); - bytes memory data = abi.encodeWithSelector( - adapter.swap.selector, - address(sellToken), - address(baseAsset), - uint256(10e18), - uint256(10e6), - abi.encodeWithSelector(MockZeroXTarget.swap.selector, address(sellToken), address(baseAsset), uint256(10e18), uint256(10e6)), - uint256(0) - ); - vm.expectRevert(); - wallet.executeAdapter(address(adapter), address(target), data); - } - - function test_Execute_Swap_NativeUsesSellAmount() public { - target.setBuyAmount(200e6); - bytes memory data = abi.encodeWithSelector( - adapter.swap.selector, - NATIVE_TOKEN, - address(baseAsset), - uint256(1 ether), - uint256(100e6), - abi.encodeWithSelector(MockZeroXTarget.swap.selector, NATIVE_TOKEN, address(baseAsset), uint256(1 ether), uint256(100e6)), - uint256(10 ether) - ); - vm.deal(address(wallet), 2 ether); - bytes memory result = wallet.executeAdapter(address(adapter), address(target), data); - uint256 buyAmount = _decodeUint(result); - assertEq(buyAmount, 200e6); - assertEq(target.lastValue(), 1 ether); - } - - // ============ Sell Token Allowlist ============ - - function test_Swap_RevertsOnNonAllowedSellToken() public { - MockERC20 disallowedToken = new MockERC20("Vault Shares", "vUSDC"); - disallowedToken.mint(address(wallet), 1000e18); - target.setBuyAmount(500e6); - bytes memory data = abi.encodeWithSelector( - adapter.swap.selector, - address(disallowedToken), - address(baseAsset), - uint256(100e18), - uint256(400e6), - abi.encodeWithSelector(MockZeroXTarget.swap.selector, address(disallowedToken), address(baseAsset), uint256(100e18), uint256(400e6)), - uint256(0) - ); - vm.expectRevert(abi.encodeWithSelector(SellTokenNotAllowed.selector, address(disallowedToken))); - wallet.executeAdapter(address(adapter), address(target), data); - } - - function test_Swap_AllowedTokenSucceeds() public { - target.setBuyAmount(500e6); - bytes memory data = abi.encodeWithSelector( - adapter.swap.selector, - address(sellToken), - address(baseAsset), - uint256(100e18), - uint256(400e6), - abi.encodeWithSelector(MockZeroXTarget.swap.selector, address(sellToken), address(baseAsset), uint256(100e18), uint256(400e6)), - uint256(0) - ); - wallet.executeAdapter(address(adapter), address(target), data); - assertEq(baseAsset.balanceOf(address(wallet)), 500e6); - } - - function test_Swap_RemovedTokenReverts() public { - adapter.removeSellableToken(address(sellToken)); - target.setBuyAmount(500e6); - bytes memory data = abi.encodeWithSelector( - adapter.swap.selector, - address(sellToken), - address(baseAsset), - uint256(100e18), - uint256(400e6), - abi.encodeWithSelector(MockZeroXTarget.swap.selector, address(sellToken), address(baseAsset), uint256(100e18), uint256(400e6)), - uint256(0) - ); - vm.expectRevert(abi.encodeWithSelector(SellTokenNotAllowed.selector, address(sellToken))); - wallet.executeAdapter(address(adapter), address(target), data); - } - - function test_Swap_NativeETH_SkipsAllowlistCheck() public { - target.setBuyAmount(200e6); - vm.deal(address(wallet), 2 ether); - bytes memory data = abi.encodeWithSelector( - adapter.swap.selector, NATIVE_TOKEN, address(baseAsset), uint256(1 ether), uint256(100e6), abi.encodeWithSelector(MockZeroXTarget.swap.selector, NATIVE_TOKEN, address(baseAsset), uint256(1 ether), uint256(100e6)), uint256(0) - ); - wallet.executeAdapter(address(adapter), address(target), data); - assertEq(baseAsset.balanceOf(address(wallet)), 200e6); - } - - // ============ Allow All Tokens Flag ============ - - function test_Swap_AllowAllTokens_BypassesAllowlist() public { - MockERC20 randomToken = new MockERC20("Random", "RND"); - randomToken.mint(address(wallet), 1000e18); - target.setBuyAmount(500e6); - - // First verify it reverts without allowAllTokens - bytes memory data = abi.encodeWithSelector( - adapter.swap.selector, - address(randomToken), - address(baseAsset), - uint256(100e18), - uint256(400e6), - abi.encodeWithSelector(MockZeroXTarget.swap.selector, address(randomToken), address(baseAsset), uint256(100e18), uint256(400e6)), - uint256(0) - ); - vm.expectRevert(abi.encodeWithSelector(SellTokenNotAllowed.selector, address(randomToken))); - wallet.executeAdapter(address(adapter), address(target), data); - - // Enable allowAllTokens and verify it succeeds - adapter.setAllowSellingAllTokens(true); - wallet.executeAdapter(address(adapter), address(target), data); - assertEq(baseAsset.balanceOf(address(wallet)), 500e6); - } - - function test_Swap_AllowAllTokens_DisableReenablesAllowlist() public { - MockERC20 randomToken = new MockERC20("Random", "RND"); - randomToken.mint(address(wallet), 1000e18); - target.setBuyAmount(500e6); - - adapter.setAllowSellingAllTokens(true); - bytes memory data = abi.encodeWithSelector( - adapter.swap.selector, - address(randomToken), - address(baseAsset), - uint256(100e18), - uint256(400e6), - abi.encodeWithSelector(MockZeroXTarget.swap.selector, address(randomToken), address(baseAsset), uint256(100e18), uint256(400e6)), - uint256(0) - ); - wallet.executeAdapter(address(adapter), address(target), data); - - // Disable allowAllTokens - should revert again for non-allowlisted token - adapter.setAllowSellingAllTokens(false); - vm.expectRevert(abi.encodeWithSelector(SellTokenNotAllowed.selector, address(randomToken))); - wallet.executeAdapter(address(adapter), address(target), data); - } - - function test_Swap_RevertsWhenSellingBaseAsset() public { - adapter.addSellableToken(address(baseAsset)); - baseAsset.mint(address(wallet), 1000e6); - target.setBuyAmount(500e18); - bytes memory data = abi.encodeWithSelector( - adapter.swap.selector, - address(baseAsset), - address(sellToken), - uint256(100e6), - uint256(400e18), - abi.encodeWithSelector(MockZeroXTarget.swap.selector, address(baseAsset), address(sellToken), uint256(100e6), uint256(400e18)), - uint256(0) - ); - vm.expectRevert(abi.encodeWithSelector(BaseAssetNotAllowed.selector)); - wallet.executeAdapter(address(adapter), address(target), data); - } - - function test_SetAllowSellingAllTokens_OnlyAdmin() public { - address nonAdmin = address(0xDEAD); - vm.prank(nonAdmin); - vm.expectRevert(); - adapter.setAllowSellingAllTokens(true); - } -} From f4fc2d0ceb56fed0f76fb653b5a6bcb6403d6883 Mon Sep 17 00:00:00 2001 From: Krishan Patel Date: Mon, 16 Feb 2026 21:34:21 +0000 Subject: [PATCH 18/28] . --- src/agentwalletkit/adapters/AWKAerodromeCLSwapAdapter.sol | 3 +-- src/agentwalletkit/adapters/AWKAerodromeV2SwapAdapter.sol | 3 +-- src/agentwalletkit/adapters/AWKUniswapV3SwapAdapter.sol | 3 +-- test/unit/adapters/AerodromeCLSwapAdapter.t.sol | 3 +-- test/unit/adapters/AerodromeV2SwapAdapter.t.sol | 4 ++-- test/unit/adapters/UniswapV3SwapAdapter.t.sol | 3 +-- 6 files changed, 7 insertions(+), 12 deletions(-) diff --git a/src/agentwalletkit/adapters/AWKAerodromeCLSwapAdapter.sol b/src/agentwalletkit/adapters/AWKAerodromeCLSwapAdapter.sol index ba6cb9f..3a0f97e 100644 --- a/src/agentwalletkit/adapters/AWKAerodromeCLSwapAdapter.sol +++ b/src/agentwalletkit/adapters/AWKAerodromeCLSwapAdapter.sol @@ -16,12 +16,11 @@ pragma solidity 0.8.28; import {UnknownOperation} from "../AWKAdapter.sol"; import {AWKErrors} from "../AWKErrors.sol"; -import {AWKSwapAdapter} from "./AWKSwapAdapter.sol"; +import {AWKSwapAdapter, InvalidSwapTokenAddress} from "./AWKSwapAdapter.sol"; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; error InvalidAerodromeCLRouterTarget(address target, address expected); -error InvalidSwapTokenAddress(address token); error InvalidTickSpacing(int24 tickSpacing); error InvalidSwapRoute(); error InvalidRouteLength(uint256 length); diff --git a/src/agentwalletkit/adapters/AWKAerodromeV2SwapAdapter.sol b/src/agentwalletkit/adapters/AWKAerodromeV2SwapAdapter.sol index b42a2c6..f22a9e5 100644 --- a/src/agentwalletkit/adapters/AWKAerodromeV2SwapAdapter.sol +++ b/src/agentwalletkit/adapters/AWKAerodromeV2SwapAdapter.sol @@ -16,12 +16,11 @@ pragma solidity 0.8.28; import {UnknownOperation} from "../AWKAdapter.sol"; import {AWKErrors} from "../AWKErrors.sol"; -import {AWKSwapAdapter} from "./AWKSwapAdapter.sol"; +import {AWKSwapAdapter, InvalidSwapTokenAddress} from "./AWKSwapAdapter.sol"; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; error InvalidAerodromeV2RouterTarget(address target, address expected); -error InvalidSwapTokenAddress(address token); error InvalidSwapRoute(); error InvalidRouteLength(uint256 length); diff --git a/src/agentwalletkit/adapters/AWKUniswapV3SwapAdapter.sol b/src/agentwalletkit/adapters/AWKUniswapV3SwapAdapter.sol index 770f706..246652d 100644 --- a/src/agentwalletkit/adapters/AWKUniswapV3SwapAdapter.sol +++ b/src/agentwalletkit/adapters/AWKUniswapV3SwapAdapter.sol @@ -16,12 +16,11 @@ pragma solidity 0.8.28; import {UnknownOperation} from "../AWKAdapter.sol"; import {AWKErrors} from "../AWKErrors.sol"; -import {AWKSwapAdapter} from "./AWKSwapAdapter.sol"; +import {AWKSwapAdapter, InvalidSwapTokenAddress} from "./AWKSwapAdapter.sol"; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; error InvalidUniswapV3RouterTarget(address target, address expected); -error InvalidSwapTokenAddress(address token); error InvalidUniswapV3FeeTier(uint24 fee); error InvalidSwapRoute(); error InvalidRouteLength(uint256 length); diff --git a/test/unit/adapters/AerodromeCLSwapAdapter.t.sol b/test/unit/adapters/AerodromeCLSwapAdapter.t.sol index 4fefef4..2526d36 100644 --- a/test/unit/adapters/AerodromeCLSwapAdapter.t.sol +++ b/test/unit/adapters/AerodromeCLSwapAdapter.t.sol @@ -12,10 +12,9 @@ import { InvalidAerodromeCLRouterTarget, InvalidRouteLength, InvalidSwapRoute, - InvalidSwapTokenAddress, InvalidTickSpacing } from "../../../src/agentwalletkit/adapters/AWKAerodromeCLSwapAdapter.sol"; -import {InsufficientOutput, InvalidRouteEndpoints} from "../../../src/agentwalletkit/adapters/AWKSwapAdapter.sol"; +import {InsufficientOutput, InvalidRouteEndpoints, InvalidSwapTokenAddress} from "../../../src/agentwalletkit/adapters/AWKSwapAdapter.sol"; import {MockERC20} from "../../mocks/MockERC20.sol"; import {AdapterWalletHarness} from "./AdapterHarness.t.sol"; import {Test} from "forge-std/Test.sol"; diff --git a/test/unit/adapters/AerodromeV2SwapAdapter.t.sol b/test/unit/adapters/AerodromeV2SwapAdapter.t.sol index 6eadbd2..6a61da9 100644 --- a/test/unit/adapters/AerodromeV2SwapAdapter.t.sol +++ b/test/unit/adapters/AerodromeV2SwapAdapter.t.sol @@ -6,8 +6,8 @@ import {AssetNotAllowed, BaseAssetNotAllowed} from "../../../src/adapters/Adapte import {SellTokenNotAllowed, YieldSeekerAerodromeV2SwapAdapter} from "../../../src/adapters/AerodromeV2SwapAdapter.sol"; import {YieldSeekerSwapSellPolicy} from "../../../src/adapters/SwapSellPolicy.sol"; import {AWKErrors} from "../../../src/agentwalletkit/AWKErrors.sol"; -import {AWKAerodromeV2SwapAdapter, IAerodromeV2Router, InvalidAerodromeV2RouterTarget, InvalidRouteLength, InvalidSwapRoute, InvalidSwapTokenAddress} from "../../../src/agentwalletkit/adapters/AWKAerodromeV2SwapAdapter.sol"; -import {InsufficientOutput, InvalidRouteEndpoints} from "../../../src/agentwalletkit/adapters/AWKSwapAdapter.sol"; +import {AWKAerodromeV2SwapAdapter, IAerodromeV2Router, InvalidAerodromeV2RouterTarget, InvalidRouteLength, InvalidSwapRoute} from "../../../src/agentwalletkit/adapters/AWKAerodromeV2SwapAdapter.sol"; +import {InsufficientOutput, InvalidRouteEndpoints, InvalidSwapTokenAddress} from "../../../src/agentwalletkit/adapters/AWKSwapAdapter.sol"; import {MockERC20} from "../../mocks/MockERC20.sol"; import {AdapterWalletHarness} from "./AdapterHarness.t.sol"; import {Test} from "forge-std/Test.sol"; diff --git a/test/unit/adapters/UniswapV3SwapAdapter.t.sol b/test/unit/adapters/UniswapV3SwapAdapter.t.sol index 764948f..31a5f62 100644 --- a/test/unit/adapters/UniswapV3SwapAdapter.t.sol +++ b/test/unit/adapters/UniswapV3SwapAdapter.t.sol @@ -6,13 +6,12 @@ import {AssetNotAllowed, BaseAssetNotAllowed} from "../../../src/adapters/Adapte import {YieldSeekerSwapSellPolicy} from "../../../src/adapters/SwapSellPolicy.sol"; import {SellTokenNotAllowed, YieldSeekerUniswapV3SwapAdapter} from "../../../src/adapters/UniswapV3SwapAdapter.sol"; import {AWKErrors} from "../../../src/agentwalletkit/AWKErrors.sol"; -import {InsufficientOutput, InvalidRouteEndpoints} from "../../../src/agentwalletkit/adapters/AWKSwapAdapter.sol"; +import {InsufficientOutput, InvalidRouteEndpoints, InvalidSwapTokenAddress} from "../../../src/agentwalletkit/adapters/AWKSwapAdapter.sol"; import { AWKUniswapV3SwapAdapter, IUniswapV3SwapRouter, InvalidRouteLength, InvalidSwapRoute, - InvalidSwapTokenAddress, InvalidUniswapV3FeeTier, InvalidUniswapV3RouterTarget } from "../../../src/agentwalletkit/adapters/AWKUniswapV3SwapAdapter.sol"; From 620460d22b8df67dd3891300c038f8a82610c012 Mon Sep 17 00:00:00 2001 From: Krishan Patel Date: Mon, 16 Feb 2026 21:37:37 +0000 Subject: [PATCH 19/28] . --- src/adapters/AerodromeCLSwapAdapter.sol | 4 +--- src/adapters/AerodromeV2SwapAdapter.sol | 4 +--- src/adapters/SwapSellPolicy.sol | 7 +++++++ src/adapters/UniswapV3SwapAdapter.sol | 4 +--- test/unit/adapters/AerodromeCLSwapAdapter.t.sol | 4 ++-- test/unit/adapters/AerodromeV2SwapAdapter.t.sol | 4 ++-- test/unit/adapters/UniswapV3SwapAdapter.t.sol | 4 ++-- 7 files changed, 16 insertions(+), 15 deletions(-) diff --git a/src/adapters/AerodromeCLSwapAdapter.sol b/src/adapters/AerodromeCLSwapAdapter.sol index 26a0b92..f17c200 100644 --- a/src/adapters/AerodromeCLSwapAdapter.sol +++ b/src/adapters/AerodromeCLSwapAdapter.sol @@ -21,8 +21,6 @@ import {AWKAerodromeCLSwapAdapter} from "../agentwalletkit/adapters/AWKAerodrome import {YieldSeekerAdapter} from "./Adapter.sol"; import {IYieldSeekerSwapSellPolicy} from "./SwapSellPolicy.sol"; -error SellTokenNotAllowed(address token); - contract YieldSeekerAerodromeCLSwapAdapter is AWKAerodromeCLSwapAdapter, YieldSeekerAdapter { address public immutable SELL_POLICY; @@ -32,7 +30,7 @@ contract YieldSeekerAerodromeCLSwapAdapter is AWKAerodromeCLSwapAdapter, YieldSe } function _beforeSwap(address sellToken, address buyToken) internal view override { - if (!IYieldSeekerSwapSellPolicy(SELL_POLICY).isSellableToken(sellToken)) revert SellTokenNotAllowed(sellToken); + IYieldSeekerSwapSellPolicy(SELL_POLICY).validateSellableToken(sellToken); _requireNotBaseAsset(sellToken); _requireBaseAsset(buyToken); } diff --git a/src/adapters/AerodromeV2SwapAdapter.sol b/src/adapters/AerodromeV2SwapAdapter.sol index 11bcb7d..4891a95 100644 --- a/src/adapters/AerodromeV2SwapAdapter.sol +++ b/src/adapters/AerodromeV2SwapAdapter.sol @@ -21,8 +21,6 @@ import {AWKAerodromeV2SwapAdapter} from "../agentwalletkit/adapters/AWKAerodrome import {YieldSeekerAdapter} from "./Adapter.sol"; import {IYieldSeekerSwapSellPolicy} from "./SwapSellPolicy.sol"; -error SellTokenNotAllowed(address token); - contract YieldSeekerAerodromeV2SwapAdapter is AWKAerodromeV2SwapAdapter, YieldSeekerAdapter { address public immutable SELL_POLICY; @@ -32,7 +30,7 @@ contract YieldSeekerAerodromeV2SwapAdapter is AWKAerodromeV2SwapAdapter, YieldSe } function _beforeSwap(address sellToken, address buyToken) internal view override { - if (!IYieldSeekerSwapSellPolicy(SELL_POLICY).isSellableToken(sellToken)) revert SellTokenNotAllowed(sellToken); + IYieldSeekerSwapSellPolicy(SELL_POLICY).validateSellableToken(sellToken); _requireNotBaseAsset(sellToken); _requireBaseAsset(buyToken); } diff --git a/src/adapters/SwapSellPolicy.sol b/src/adapters/SwapSellPolicy.sol index 3290a74..61c4569 100644 --- a/src/adapters/SwapSellPolicy.sol +++ b/src/adapters/SwapSellPolicy.sol @@ -20,8 +20,11 @@ import {AWKErrors} from "../agentwalletkit/AWKErrors.sol"; import {AccessControl} from "@openzeppelin/contracts/access/AccessControl.sol"; import {EnumerableSet} from "@openzeppelin/contracts/utils/structs/EnumerableSet.sol"; +error SellTokenNotAllowed(address token); + interface IYieldSeekerSwapSellPolicy { function isSellableToken(address token) external view returns (bool); + function validateSellableToken(address token) external view; } contract YieldSeekerSwapSellPolicy is AccessControl, IYieldSeekerSwapSellPolicy { @@ -75,6 +78,10 @@ contract YieldSeekerSwapSellPolicy is AccessControl, IYieldSeekerSwapSellPolicy return allowSellingAllTokens || sellableTokens.contains(token); } + function validateSellableToken(address token) external view { + if (!allowSellingAllTokens && !sellableTokens.contains(token)) revert SellTokenNotAllowed(token); + } + function getSellableTokens() external view returns (address[] memory) { return sellableTokens.values(); } diff --git a/src/adapters/UniswapV3SwapAdapter.sol b/src/adapters/UniswapV3SwapAdapter.sol index b7c55ef..12dc0f6 100644 --- a/src/adapters/UniswapV3SwapAdapter.sol +++ b/src/adapters/UniswapV3SwapAdapter.sol @@ -21,8 +21,6 @@ import {AWKUniswapV3SwapAdapter} from "../agentwalletkit/adapters/AWKUniswapV3Sw import {YieldSeekerAdapter} from "./Adapter.sol"; import {IYieldSeekerSwapSellPolicy} from "./SwapSellPolicy.sol"; -error SellTokenNotAllowed(address token); - contract YieldSeekerUniswapV3SwapAdapter is AWKUniswapV3SwapAdapter, YieldSeekerAdapter { address public immutable SELL_POLICY; @@ -32,7 +30,7 @@ contract YieldSeekerUniswapV3SwapAdapter is AWKUniswapV3SwapAdapter, YieldSeeker } function _beforeSwap(address sellToken, address buyToken) internal view override { - if (!IYieldSeekerSwapSellPolicy(SELL_POLICY).isSellableToken(sellToken)) revert SellTokenNotAllowed(sellToken); + IYieldSeekerSwapSellPolicy(SELL_POLICY).validateSellableToken(sellToken); _requireNotBaseAsset(sellToken); _requireBaseAsset(buyToken); } diff --git a/test/unit/adapters/AerodromeCLSwapAdapter.t.sol b/test/unit/adapters/AerodromeCLSwapAdapter.t.sol index 2526d36..e015444 100644 --- a/test/unit/adapters/AerodromeCLSwapAdapter.t.sol +++ b/test/unit/adapters/AerodromeCLSwapAdapter.t.sol @@ -3,8 +3,8 @@ pragma solidity 0.8.28; import {YieldSeekerFeeTracker} from "../../../src/FeeTracker.sol"; import {AssetNotAllowed, BaseAssetNotAllowed} from "../../../src/adapters/Adapter.sol"; -import {SellTokenNotAllowed, YieldSeekerAerodromeCLSwapAdapter} from "../../../src/adapters/AerodromeCLSwapAdapter.sol"; -import {YieldSeekerSwapSellPolicy} from "../../../src/adapters/SwapSellPolicy.sol"; +import {YieldSeekerAerodromeCLSwapAdapter} from "../../../src/adapters/AerodromeCLSwapAdapter.sol"; +import {SellTokenNotAllowed, YieldSeekerSwapSellPolicy} from "../../../src/adapters/SwapSellPolicy.sol"; import {AWKErrors} from "../../../src/agentwalletkit/AWKErrors.sol"; import { AWKAerodromeCLSwapAdapter, diff --git a/test/unit/adapters/AerodromeV2SwapAdapter.t.sol b/test/unit/adapters/AerodromeV2SwapAdapter.t.sol index 6a61da9..93ace38 100644 --- a/test/unit/adapters/AerodromeV2SwapAdapter.t.sol +++ b/test/unit/adapters/AerodromeV2SwapAdapter.t.sol @@ -3,8 +3,8 @@ pragma solidity 0.8.28; import {YieldSeekerFeeTracker} from "../../../src/FeeTracker.sol"; import {AssetNotAllowed, BaseAssetNotAllowed} from "../../../src/adapters/Adapter.sol"; -import {SellTokenNotAllowed, YieldSeekerAerodromeV2SwapAdapter} from "../../../src/adapters/AerodromeV2SwapAdapter.sol"; -import {YieldSeekerSwapSellPolicy} from "../../../src/adapters/SwapSellPolicy.sol"; +import {YieldSeekerAerodromeV2SwapAdapter} from "../../../src/adapters/AerodromeV2SwapAdapter.sol"; +import {SellTokenNotAllowed, YieldSeekerSwapSellPolicy} from "../../../src/adapters/SwapSellPolicy.sol"; import {AWKErrors} from "../../../src/agentwalletkit/AWKErrors.sol"; import {AWKAerodromeV2SwapAdapter, IAerodromeV2Router, InvalidAerodromeV2RouterTarget, InvalidRouteLength, InvalidSwapRoute} from "../../../src/agentwalletkit/adapters/AWKAerodromeV2SwapAdapter.sol"; import {InsufficientOutput, InvalidRouteEndpoints, InvalidSwapTokenAddress} from "../../../src/agentwalletkit/adapters/AWKSwapAdapter.sol"; diff --git a/test/unit/adapters/UniswapV3SwapAdapter.t.sol b/test/unit/adapters/UniswapV3SwapAdapter.t.sol index 31a5f62..8ee7d0c 100644 --- a/test/unit/adapters/UniswapV3SwapAdapter.t.sol +++ b/test/unit/adapters/UniswapV3SwapAdapter.t.sol @@ -3,8 +3,8 @@ pragma solidity 0.8.28; import {YieldSeekerFeeTracker} from "../../../src/FeeTracker.sol"; import {AssetNotAllowed, BaseAssetNotAllowed} from "../../../src/adapters/Adapter.sol"; -import {YieldSeekerSwapSellPolicy} from "../../../src/adapters/SwapSellPolicy.sol"; -import {SellTokenNotAllowed, YieldSeekerUniswapV3SwapAdapter} from "../../../src/adapters/UniswapV3SwapAdapter.sol"; +import {SellTokenNotAllowed, YieldSeekerSwapSellPolicy} from "../../../src/adapters/SwapSellPolicy.sol"; +import {YieldSeekerUniswapV3SwapAdapter} from "../../../src/adapters/UniswapV3SwapAdapter.sol"; import {AWKErrors} from "../../../src/agentwalletkit/AWKErrors.sol"; import {InsufficientOutput, InvalidRouteEndpoints, InvalidSwapTokenAddress} from "../../../src/agentwalletkit/adapters/AWKSwapAdapter.sol"; import { From b89a86067be41fda2a0c4c87430e0c07fe1ffa00 Mon Sep 17 00:00:00 2001 From: Krishan Patel Date: Mon, 16 Feb 2026 22:12:51 +0000 Subject: [PATCH 20/28] . --- script/Deploy.s.sol | 5 +- test/integration/SwapAdapterIntegration.t.sol | 50 +++++++++---------- .../adapters/AerodromeCLSwapAdapter.t.sol | 9 +--- test/unit/adapters/UniswapV3SwapAdapter.t.sol | 9 +--- 4 files changed, 29 insertions(+), 44 deletions(-) diff --git a/script/Deploy.s.sol b/script/Deploy.s.sol index bb8241d..81f6bdc 100644 --- a/script/Deploy.s.sol +++ b/script/Deploy.s.sol @@ -7,14 +7,14 @@ import {YieldSeekerAgentWalletFactory as AgentWalletFactory} from "../src/AgentW import {YieldSeekerAgentWalletV1 as AgentWallet} from "../src/AgentWalletV1.sol"; import {YieldSeekerFeeTracker as FeeTracker} from "../src/FeeTracker.sol"; import {YieldSeekerAaveV3Adapter as AaveV3Adapter} from "../src/adapters/AaveV3Adapter.sol"; +import {YieldSeekerAerodromeCLSwapAdapter as AerodromeCLSwapAdapter} from "../src/adapters/AerodromeCLSwapAdapter.sol"; +import {YieldSeekerAerodromeV2SwapAdapter as AerodromeV2SwapAdapter} from "../src/adapters/AerodromeV2SwapAdapter.sol"; import {YieldSeekerCompoundV2Adapter as CompoundV2Adapter} from "../src/adapters/CompoundV2Adapter.sol"; import {YieldSeekerCompoundV3Adapter as CompoundV3Adapter} from "../src/adapters/CompoundV3Adapter.sol"; import {YieldSeekerERC4626Adapter as ERC4626Adapter} from "../src/adapters/ERC4626Adapter.sol"; import {YieldSeekerMerklAdapter as MerklAdapter} from "../src/adapters/MerklAdapter.sol"; import {YieldSeekerSwapSellPolicy as SwapSellPolicy} from "../src/adapters/SwapSellPolicy.sol"; import {YieldSeekerUniswapV3SwapAdapter as UniswapV3SwapAdapter} from "../src/adapters/UniswapV3SwapAdapter.sol"; -import {YieldSeekerAerodromeV2SwapAdapter as AerodromeV2SwapAdapter} from "../src/adapters/AerodromeV2SwapAdapter.sol"; -import {YieldSeekerAerodromeCLSwapAdapter as AerodromeCLSwapAdapter} from "../src/adapters/AerodromeCLSwapAdapter.sol"; import {Script} from "forge-std/Script.sol"; import {stdJson} from "forge-std/StdJson.sol"; import {console2} from "forge-std/console2.sol"; @@ -36,7 +36,6 @@ contract DeployScript is Script { // Set to false for production (uses 72-hour delay) bool constant TESTING_MODE = true; - // State tracking struct Deployments { address adminTimelock; diff --git a/test/integration/SwapAdapterIntegration.t.sol b/test/integration/SwapAdapterIntegration.t.sol index 90fd19d..a856b28 100644 --- a/test/integration/SwapAdapterIntegration.t.sol +++ b/test/integration/SwapAdapterIntegration.t.sol @@ -1,23 +1,23 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.28; -import {Test} from "forge-std/Test.sol"; import {YieldSeekerAdapterRegistry as AdapterRegistry} from "../../src/AdapterRegistry.sol"; import {YieldSeekerAgentWalletFactory as AgentWalletFactory} from "../../src/AgentWalletFactory.sol"; import {YieldSeekerAgentWalletV1 as AgentWalletV1} from "../../src/AgentWalletV1.sol"; import {YieldSeekerFeeTracker as FeeTracker} from "../../src/FeeTracker.sol"; +import {AssetNotAllowed} from "../../src/adapters/Adapter.sol"; +import {YieldSeekerAerodromeCLSwapAdapter as AerodromeCLSwapAdapter} from "../../src/adapters/AerodromeCLSwapAdapter.sol"; +import {YieldSeekerAerodromeV2SwapAdapter as AerodromeV2SwapAdapter} from "../../src/adapters/AerodromeV2SwapAdapter.sol"; import {YieldSeekerSwapSellPolicy} from "../../src/adapters/SwapSellPolicy.sol"; import {YieldSeekerUniswapV3SwapAdapter as UniswapV3SwapAdapter} from "../../src/adapters/UniswapV3SwapAdapter.sol"; -import {YieldSeekerAerodromeV2SwapAdapter as AerodromeV2SwapAdapter} from "../../src/adapters/AerodromeV2SwapAdapter.sol"; -import {YieldSeekerAerodromeCLSwapAdapter as AerodromeCLSwapAdapter} from "../../src/adapters/AerodromeCLSwapAdapter.sol"; -import {AssetNotAllowed} from "../../src/adapters/Adapter.sol"; -import {AWKErrors} from "../../src/agentwalletkit/AWKErrors.sol"; import {AdapterExecutionFailed} from "../../src/agentwalletkit/AWKAgentWalletV1.sol"; +import {AWKErrors} from "../../src/agentwalletkit/AWKErrors.sol"; +import {AWKAerodromeCLSwapAdapter, IAerodromeCLSwapRouter} from "../../src/agentwalletkit/adapters/AWKAerodromeCLSwapAdapter.sol"; +import {AWKAerodromeV2SwapAdapter, IAerodromeV2Router} from "../../src/agentwalletkit/adapters/AWKAerodromeV2SwapAdapter.sol"; import {InvalidRouteEndpoints} from "../../src/agentwalletkit/adapters/AWKSwapAdapter.sol"; import {AWKUniswapV3SwapAdapter, IUniswapV3SwapRouter} from "../../src/agentwalletkit/adapters/AWKUniswapV3SwapAdapter.sol"; -import {AWKAerodromeV2SwapAdapter, IAerodromeV2Router} from "../../src/agentwalletkit/adapters/AWKAerodromeV2SwapAdapter.sol"; -import {AWKAerodromeCLSwapAdapter, IAerodromeCLSwapRouter} from "../../src/agentwalletkit/adapters/AWKAerodromeCLSwapAdapter.sol"; import {MockERC20} from "../mocks/MockERC20.sol"; +import {Test} from "forge-std/Test.sol"; error SellTokenNotAllowed(address token); @@ -94,10 +94,10 @@ contract SwapAdapterIntegrationTest is Test { YieldSeekerSwapSellPolicy sellPolicy; UniswapV3SwapAdapter uniswapAdapter; AerodromeV2SwapAdapter aerodromeV2Adapter; - AerodromeCLSwapAdapter aerodromeCLAdapter; + AerodromeCLSwapAdapter aerodromeClAdapter; MockUniswapV3RouterIntegration uniswapRouter; MockAerodromeV2RouterIntegration aerodromeV2Router; - MockAerodromeCLRouterIntegration aerodromeCLRouter; + MockAerodromeCLRouterIntegration aerodromeClRouter; MockERC20 baseAsset; MockERC20 sellToken; MockERC20 otherToken; @@ -132,7 +132,7 @@ contract SwapAdapterIntegrationTest is Test { route.stables[0] = false; } - function _aerodromeCLRoute(address fromToken, address toToken) internal pure returns (AWKAerodromeCLSwapAdapter.SwapRoute memory route) { + function _aerodromeClRoute(address fromToken, address toToken) internal pure returns (AWKAerodromeCLSwapAdapter.SwapRoute memory route) { route.path = new address[](2); route.path[0] = fromToken; route.path[1] = toToken; @@ -146,7 +146,7 @@ contract SwapAdapterIntegrationTest is Test { otherToken = new MockERC20("Other", "mOTH"); uniswapRouter = new MockUniswapV3RouterIntegration(); aerodromeV2Router = new MockAerodromeV2RouterIntegration(); - aerodromeCLRouter = new MockAerodromeCLRouterIntegration(); + aerodromeClRouter = new MockAerodromeCLRouterIntegration(); vm.startPrank(admin); registry = new AdapterRegistry(admin, admin); feeTracker = new FeeTracker(admin); @@ -160,20 +160,20 @@ contract SwapAdapterIntegrationTest is Test { sellPolicy.addSellableToken(address(sellToken)); uniswapAdapter = new UniswapV3SwapAdapter(address(uniswapRouter), address(sellPolicy)); aerodromeV2Adapter = new AerodromeV2SwapAdapter(address(aerodromeV2Router), address(0xFACADE), address(sellPolicy)); - aerodromeCLAdapter = new AerodromeCLSwapAdapter(address(aerodromeCLRouter), address(sellPolicy)); + aerodromeClAdapter = new AerodromeCLSwapAdapter(address(aerodromeClRouter), address(sellPolicy)); registry.registerAdapter(address(uniswapAdapter)); registry.registerAdapter(address(aerodromeV2Adapter)); - registry.registerAdapter(address(aerodromeCLAdapter)); + registry.registerAdapter(address(aerodromeClAdapter)); registry.setTargetAdapter(address(uniswapRouter), address(uniswapAdapter)); registry.setTargetAdapter(address(aerodromeV2Router), address(aerodromeV2Adapter)); - registry.setTargetAdapter(address(aerodromeCLRouter), address(aerodromeCLAdapter)); + registry.setTargetAdapter(address(aerodromeClRouter), address(aerodromeClAdapter)); vm.stopPrank(); baseAsset.mint(address(uniswapRouter), 2_000_000e6); baseAsset.mint(address(aerodromeV2Router), 2_000_000e6); - baseAsset.mint(address(aerodromeCLRouter), 2_000_000e6); + baseAsset.mint(address(aerodromeClRouter), 2_000_000e6); otherToken.mint(address(uniswapRouter), 2_000_000e6); otherToken.mint(address(aerodromeV2Router), 2_000_000e6); - otherToken.mint(address(aerodromeCLRouter), 2_000_000e6); + otherToken.mint(address(aerodromeClRouter), 2_000_000e6); } function test_UniswapSwap_ThroughWallet_Succeeds() public { @@ -206,11 +206,11 @@ contract SwapAdapterIntegrationTest is Test { function test_AerodromeCLSwap_ThroughWallet_Succeeds() public { AgentWalletV1 wallet = _createWallet(); sellToken.mint(address(wallet), 1_000e6); - aerodromeCLRouter.setBuyAmount(470e6); - AWKAerodromeCLSwapAdapter.SwapRoute memory route = _aerodromeCLRoute(address(sellToken), address(baseAsset)); - bytes memory data = abi.encodeCall(aerodromeCLAdapter.swap, (address(sellToken), address(baseAsset), route, uint256(100e6), uint256(300e6))); + aerodromeClRouter.setBuyAmount(470e6); + AWKAerodromeCLSwapAdapter.SwapRoute memory route = _aerodromeClRoute(address(sellToken), address(baseAsset)); + bytes memory data = abi.encodeCall(aerodromeClAdapter.swap, (address(sellToken), address(baseAsset), route, uint256(100e6), uint256(300e6))); vm.prank(user); - bytes memory result = wallet.executeViaAdapter(address(aerodromeCLAdapter), address(aerodromeCLRouter), data); + bytes memory result = wallet.executeViaAdapter(address(aerodromeClAdapter), address(aerodromeClRouter), data); uint256 buyAmount = _decodeUint(result); assertEq(buyAmount, 470e6); assertEq(baseAsset.balanceOf(address(wallet)), 470e6); @@ -221,22 +221,22 @@ contract SwapAdapterIntegrationTest is Test { sellToken.mint(address(wallet), 1_000e6); uniswapRouter.setBuyAmount(120e6); aerodromeV2Router.setBuyAmount(130e6); - aerodromeCLRouter.setBuyAmount(140e6); + aerodromeClRouter.setBuyAmount(140e6); AWKUniswapV3SwapAdapter.SwapRoute memory uniRoute = _uniswapRoute(address(sellToken), address(baseAsset)); AWKAerodromeV2SwapAdapter.SwapRoute memory v2Route = _aerodromeV2Route(address(sellToken), address(baseAsset)); - AWKAerodromeCLSwapAdapter.SwapRoute memory clRoute = _aerodromeCLRoute(address(sellToken), address(baseAsset)); + AWKAerodromeCLSwapAdapter.SwapRoute memory clRoute = _aerodromeClRoute(address(sellToken), address(baseAsset)); address[] memory adapters = new address[](3); address[] memory targets = new address[](3); bytes[] memory datas = new bytes[](3); adapters[0] = address(uniswapAdapter); adapters[1] = address(aerodromeV2Adapter); - adapters[2] = address(aerodromeCLAdapter); + adapters[2] = address(aerodromeClAdapter); targets[0] = address(uniswapRouter); targets[1] = address(aerodromeV2Router); - targets[2] = address(aerodromeCLRouter); + targets[2] = address(aerodromeClRouter); datas[0] = abi.encodeCall(uniswapAdapter.swap, (address(sellToken), address(baseAsset), uniRoute, uint256(100e6), uint256(100e6))); datas[1] = abi.encodeCall(aerodromeV2Adapter.swap, (address(sellToken), address(baseAsset), v2Route, uint256(100e6), uint256(100e6))); - datas[2] = abi.encodeCall(aerodromeCLAdapter.swap, (address(sellToken), address(baseAsset), clRoute, uint256(100e6), uint256(100e6))); + datas[2] = abi.encodeCall(aerodromeClAdapter.swap, (address(sellToken), address(baseAsset), clRoute, uint256(100e6), uint256(100e6))); vm.prank(user); bytes[] memory results = wallet.executeViaAdapterBatch(adapters, targets, datas); assertEq(_decodeUint(results[0]), 120e6); diff --git a/test/unit/adapters/AerodromeCLSwapAdapter.t.sol b/test/unit/adapters/AerodromeCLSwapAdapter.t.sol index e015444..9909395 100644 --- a/test/unit/adapters/AerodromeCLSwapAdapter.t.sol +++ b/test/unit/adapters/AerodromeCLSwapAdapter.t.sol @@ -6,14 +6,7 @@ import {AssetNotAllowed, BaseAssetNotAllowed} from "../../../src/adapters/Adapte import {YieldSeekerAerodromeCLSwapAdapter} from "../../../src/adapters/AerodromeCLSwapAdapter.sol"; import {SellTokenNotAllowed, YieldSeekerSwapSellPolicy} from "../../../src/adapters/SwapSellPolicy.sol"; import {AWKErrors} from "../../../src/agentwalletkit/AWKErrors.sol"; -import { - AWKAerodromeCLSwapAdapter, - IAerodromeCLSwapRouter, - InvalidAerodromeCLRouterTarget, - InvalidRouteLength, - InvalidSwapRoute, - InvalidTickSpacing -} from "../../../src/agentwalletkit/adapters/AWKAerodromeCLSwapAdapter.sol"; +import {AWKAerodromeCLSwapAdapter, IAerodromeCLSwapRouter, InvalidAerodromeCLRouterTarget, InvalidRouteLength, InvalidSwapRoute, InvalidTickSpacing} from "../../../src/agentwalletkit/adapters/AWKAerodromeCLSwapAdapter.sol"; import {InsufficientOutput, InvalidRouteEndpoints, InvalidSwapTokenAddress} from "../../../src/agentwalletkit/adapters/AWKSwapAdapter.sol"; import {MockERC20} from "../../mocks/MockERC20.sol"; import {AdapterWalletHarness} from "./AdapterHarness.t.sol"; diff --git a/test/unit/adapters/UniswapV3SwapAdapter.t.sol b/test/unit/adapters/UniswapV3SwapAdapter.t.sol index 8ee7d0c..ce68d81 100644 --- a/test/unit/adapters/UniswapV3SwapAdapter.t.sol +++ b/test/unit/adapters/UniswapV3SwapAdapter.t.sol @@ -7,14 +7,7 @@ import {SellTokenNotAllowed, YieldSeekerSwapSellPolicy} from "../../../src/adapt import {YieldSeekerUniswapV3SwapAdapter} from "../../../src/adapters/UniswapV3SwapAdapter.sol"; import {AWKErrors} from "../../../src/agentwalletkit/AWKErrors.sol"; import {InsufficientOutput, InvalidRouteEndpoints, InvalidSwapTokenAddress} from "../../../src/agentwalletkit/adapters/AWKSwapAdapter.sol"; -import { - AWKUniswapV3SwapAdapter, - IUniswapV3SwapRouter, - InvalidRouteLength, - InvalidSwapRoute, - InvalidUniswapV3FeeTier, - InvalidUniswapV3RouterTarget -} from "../../../src/agentwalletkit/adapters/AWKUniswapV3SwapAdapter.sol"; +import {AWKUniswapV3SwapAdapter, IUniswapV3SwapRouter, InvalidRouteLength, InvalidSwapRoute, InvalidUniswapV3FeeTier, InvalidUniswapV3RouterTarget} from "../../../src/agentwalletkit/adapters/AWKUniswapV3SwapAdapter.sol"; import {MockERC20} from "../../mocks/MockERC20.sol"; import {AdapterWalletHarness} from "./AdapterHarness.t.sol"; import {Test} from "forge-std/Test.sol"; From 19e389e1950440475d5ae6a7f0b46533a4131963 Mon Sep 17 00:00:00 2001 From: Krishan Patel Date: Mon, 16 Feb 2026 22:18:25 +0000 Subject: [PATCH 21/28] . --- src/agentwalletkit/adapters/AWKAerodromeCLSwapAdapter.sol | 4 +--- src/agentwalletkit/adapters/AWKAerodromeV2SwapAdapter.sol | 4 +--- src/agentwalletkit/adapters/AWKSwapAdapter.sol | 2 ++ src/agentwalletkit/adapters/AWKUniswapV3SwapAdapter.sol | 4 +--- test/integration/SwapAdapterIntegration.t.sol | 4 +--- test/unit/adapters/AerodromeCLSwapAdapter.t.sol | 4 ++-- test/unit/adapters/AerodromeV2SwapAdapter.t.sol | 4 ++-- test/unit/adapters/UniswapV3SwapAdapter.t.sol | 4 ++-- 8 files changed, 12 insertions(+), 18 deletions(-) diff --git a/src/agentwalletkit/adapters/AWKAerodromeCLSwapAdapter.sol b/src/agentwalletkit/adapters/AWKAerodromeCLSwapAdapter.sol index 3a0f97e..e84c277 100644 --- a/src/agentwalletkit/adapters/AWKAerodromeCLSwapAdapter.sol +++ b/src/agentwalletkit/adapters/AWKAerodromeCLSwapAdapter.sol @@ -16,14 +16,12 @@ pragma solidity 0.8.28; import {UnknownOperation} from "../AWKAdapter.sol"; import {AWKErrors} from "../AWKErrors.sol"; -import {AWKSwapAdapter, InvalidSwapTokenAddress} from "./AWKSwapAdapter.sol"; +import {AWKSwapAdapter, InvalidRouteLength, InvalidSwapRoute, InvalidSwapTokenAddress} from "./AWKSwapAdapter.sol"; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; error InvalidAerodromeCLRouterTarget(address target, address expected); error InvalidTickSpacing(int24 tickSpacing); -error InvalidSwapRoute(); -error InvalidRouteLength(uint256 length); interface IAerodromeCLSwapRouter { struct ExactInputSingleParams { diff --git a/src/agentwalletkit/adapters/AWKAerodromeV2SwapAdapter.sol b/src/agentwalletkit/adapters/AWKAerodromeV2SwapAdapter.sol index f22a9e5..23e451f 100644 --- a/src/agentwalletkit/adapters/AWKAerodromeV2SwapAdapter.sol +++ b/src/agentwalletkit/adapters/AWKAerodromeV2SwapAdapter.sol @@ -16,13 +16,11 @@ pragma solidity 0.8.28; import {UnknownOperation} from "../AWKAdapter.sol"; import {AWKErrors} from "../AWKErrors.sol"; -import {AWKSwapAdapter, InvalidSwapTokenAddress} from "./AWKSwapAdapter.sol"; +import {AWKSwapAdapter, InvalidRouteLength, InvalidSwapRoute, InvalidSwapTokenAddress} from "./AWKSwapAdapter.sol"; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; error InvalidAerodromeV2RouterTarget(address target, address expected); -error InvalidSwapRoute(); -error InvalidRouteLength(uint256 length); interface IAerodromeV2Router { struct Route { diff --git a/src/agentwalletkit/adapters/AWKSwapAdapter.sol b/src/agentwalletkit/adapters/AWKSwapAdapter.sol index b3828af..b9449d4 100644 --- a/src/agentwalletkit/adapters/AWKSwapAdapter.sol +++ b/src/agentwalletkit/adapters/AWKSwapAdapter.sol @@ -19,6 +19,8 @@ import {AWKErrors} from "../AWKErrors.sol"; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; error InvalidSwapTokenAddress(address token); +error InvalidSwapRoute(); +error InvalidRouteLength(uint256 length); error InvalidRouteEndpoints(address expectedSellToken, address expectedBuyToken); error InsufficientOutput(uint256 received, uint256 minimum); diff --git a/src/agentwalletkit/adapters/AWKUniswapV3SwapAdapter.sol b/src/agentwalletkit/adapters/AWKUniswapV3SwapAdapter.sol index 246652d..dcfec2d 100644 --- a/src/agentwalletkit/adapters/AWKUniswapV3SwapAdapter.sol +++ b/src/agentwalletkit/adapters/AWKUniswapV3SwapAdapter.sol @@ -16,14 +16,12 @@ pragma solidity 0.8.28; import {UnknownOperation} from "../AWKAdapter.sol"; import {AWKErrors} from "../AWKErrors.sol"; -import {AWKSwapAdapter, InvalidSwapTokenAddress} from "./AWKSwapAdapter.sol"; +import {AWKSwapAdapter, InvalidRouteLength, InvalidSwapRoute, InvalidSwapTokenAddress} from "./AWKSwapAdapter.sol"; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; error InvalidUniswapV3RouterTarget(address target, address expected); error InvalidUniswapV3FeeTier(uint24 fee); -error InvalidSwapRoute(); -error InvalidRouteLength(uint256 length); interface IUniswapV3SwapRouter { struct ExactInputSingleParams { diff --git a/test/integration/SwapAdapterIntegration.t.sol b/test/integration/SwapAdapterIntegration.t.sol index a856b28..ac5fef2 100644 --- a/test/integration/SwapAdapterIntegration.t.sol +++ b/test/integration/SwapAdapterIntegration.t.sol @@ -8,7 +8,7 @@ import {YieldSeekerFeeTracker as FeeTracker} from "../../src/FeeTracker.sol"; import {AssetNotAllowed} from "../../src/adapters/Adapter.sol"; import {YieldSeekerAerodromeCLSwapAdapter as AerodromeCLSwapAdapter} from "../../src/adapters/AerodromeCLSwapAdapter.sol"; import {YieldSeekerAerodromeV2SwapAdapter as AerodromeV2SwapAdapter} from "../../src/adapters/AerodromeV2SwapAdapter.sol"; -import {YieldSeekerSwapSellPolicy} from "../../src/adapters/SwapSellPolicy.sol"; +import {SellTokenNotAllowed, YieldSeekerSwapSellPolicy} from "../../src/adapters/SwapSellPolicy.sol"; import {YieldSeekerUniswapV3SwapAdapter as UniswapV3SwapAdapter} from "../../src/adapters/UniswapV3SwapAdapter.sol"; import {AdapterExecutionFailed} from "../../src/agentwalletkit/AWKAgentWalletV1.sol"; import {AWKErrors} from "../../src/agentwalletkit/AWKErrors.sol"; @@ -19,8 +19,6 @@ import {AWKUniswapV3SwapAdapter, IUniswapV3SwapRouter} from "../../src/agentwall import {MockERC20} from "../mocks/MockERC20.sol"; import {Test} from "forge-std/Test.sol"; -error SellTokenNotAllowed(address token); - contract MockUniswapV3RouterIntegration { uint256 public configuredBuyAmount; diff --git a/test/unit/adapters/AerodromeCLSwapAdapter.t.sol b/test/unit/adapters/AerodromeCLSwapAdapter.t.sol index 9909395..f690ed2 100644 --- a/test/unit/adapters/AerodromeCLSwapAdapter.t.sol +++ b/test/unit/adapters/AerodromeCLSwapAdapter.t.sol @@ -6,8 +6,8 @@ import {AssetNotAllowed, BaseAssetNotAllowed} from "../../../src/adapters/Adapte import {YieldSeekerAerodromeCLSwapAdapter} from "../../../src/adapters/AerodromeCLSwapAdapter.sol"; import {SellTokenNotAllowed, YieldSeekerSwapSellPolicy} from "../../../src/adapters/SwapSellPolicy.sol"; import {AWKErrors} from "../../../src/agentwalletkit/AWKErrors.sol"; -import {AWKAerodromeCLSwapAdapter, IAerodromeCLSwapRouter, InvalidAerodromeCLRouterTarget, InvalidRouteLength, InvalidSwapRoute, InvalidTickSpacing} from "../../../src/agentwalletkit/adapters/AWKAerodromeCLSwapAdapter.sol"; -import {InsufficientOutput, InvalidRouteEndpoints, InvalidSwapTokenAddress} from "../../../src/agentwalletkit/adapters/AWKSwapAdapter.sol"; +import {AWKAerodromeCLSwapAdapter, IAerodromeCLSwapRouter, InvalidAerodromeCLRouterTarget, InvalidTickSpacing} from "../../../src/agentwalletkit/adapters/AWKAerodromeCLSwapAdapter.sol"; +import {InsufficientOutput, InvalidRouteEndpoints, InvalidRouteLength, InvalidSwapRoute, InvalidSwapTokenAddress} from "../../../src/agentwalletkit/adapters/AWKSwapAdapter.sol"; import {MockERC20} from "../../mocks/MockERC20.sol"; import {AdapterWalletHarness} from "./AdapterHarness.t.sol"; import {Test} from "forge-std/Test.sol"; diff --git a/test/unit/adapters/AerodromeV2SwapAdapter.t.sol b/test/unit/adapters/AerodromeV2SwapAdapter.t.sol index 93ace38..064460a 100644 --- a/test/unit/adapters/AerodromeV2SwapAdapter.t.sol +++ b/test/unit/adapters/AerodromeV2SwapAdapter.t.sol @@ -6,8 +6,8 @@ import {AssetNotAllowed, BaseAssetNotAllowed} from "../../../src/adapters/Adapte import {YieldSeekerAerodromeV2SwapAdapter} from "../../../src/adapters/AerodromeV2SwapAdapter.sol"; import {SellTokenNotAllowed, YieldSeekerSwapSellPolicy} from "../../../src/adapters/SwapSellPolicy.sol"; import {AWKErrors} from "../../../src/agentwalletkit/AWKErrors.sol"; -import {AWKAerodromeV2SwapAdapter, IAerodromeV2Router, InvalidAerodromeV2RouterTarget, InvalidRouteLength, InvalidSwapRoute} from "../../../src/agentwalletkit/adapters/AWKAerodromeV2SwapAdapter.sol"; -import {InsufficientOutput, InvalidRouteEndpoints, InvalidSwapTokenAddress} from "../../../src/agentwalletkit/adapters/AWKSwapAdapter.sol"; +import {AWKAerodromeV2SwapAdapter, IAerodromeV2Router, InvalidAerodromeV2RouterTarget} from "../../../src/agentwalletkit/adapters/AWKAerodromeV2SwapAdapter.sol"; +import {InsufficientOutput, InvalidRouteEndpoints, InvalidRouteLength, InvalidSwapRoute, InvalidSwapTokenAddress} from "../../../src/agentwalletkit/adapters/AWKSwapAdapter.sol"; import {MockERC20} from "../../mocks/MockERC20.sol"; import {AdapterWalletHarness} from "./AdapterHarness.t.sol"; import {Test} from "forge-std/Test.sol"; diff --git a/test/unit/adapters/UniswapV3SwapAdapter.t.sol b/test/unit/adapters/UniswapV3SwapAdapter.t.sol index ce68d81..3be8c16 100644 --- a/test/unit/adapters/UniswapV3SwapAdapter.t.sol +++ b/test/unit/adapters/UniswapV3SwapAdapter.t.sol @@ -6,8 +6,8 @@ import {AssetNotAllowed, BaseAssetNotAllowed} from "../../../src/adapters/Adapte import {SellTokenNotAllowed, YieldSeekerSwapSellPolicy} from "../../../src/adapters/SwapSellPolicy.sol"; import {YieldSeekerUniswapV3SwapAdapter} from "../../../src/adapters/UniswapV3SwapAdapter.sol"; import {AWKErrors} from "../../../src/agentwalletkit/AWKErrors.sol"; -import {InsufficientOutput, InvalidRouteEndpoints, InvalidSwapTokenAddress} from "../../../src/agentwalletkit/adapters/AWKSwapAdapter.sol"; -import {AWKUniswapV3SwapAdapter, IUniswapV3SwapRouter, InvalidRouteLength, InvalidSwapRoute, InvalidUniswapV3FeeTier, InvalidUniswapV3RouterTarget} from "../../../src/agentwalletkit/adapters/AWKUniswapV3SwapAdapter.sol"; +import {InsufficientOutput, InvalidRouteEndpoints, InvalidRouteLength, InvalidSwapRoute, InvalidSwapTokenAddress} from "../../../src/agentwalletkit/adapters/AWKSwapAdapter.sol"; +import {AWKUniswapV3SwapAdapter, IUniswapV3SwapRouter, InvalidUniswapV3FeeTier, InvalidUniswapV3RouterTarget} from "../../../src/agentwalletkit/adapters/AWKUniswapV3SwapAdapter.sol"; import {MockERC20} from "../../mocks/MockERC20.sol"; import {AdapterWalletHarness} from "./AdapterHarness.t.sol"; import {Test} from "forge-std/Test.sol"; From a21cb13d66d7962772eea5c6db297a8576aff5ab Mon Sep 17 00:00:00 2001 From: Krishan Patel Date: Mon, 16 Feb 2026 22:28:43 +0000 Subject: [PATCH 22/28] . --- README.md | 16 +- broadcast/Deploy.s.sol/8453/run-latest.json | 1228 +---------------- .../8453/run-1771280763399.json | 176 +++ .../8453/run-1771280810476.json | 176 +++ .../8453/run-1771280886722.json | 176 +++ .../RegisterVault.s.sol/8453/run-latest.json | 148 +- deployments.json | 8 +- 7 files changed, 679 insertions(+), 1249 deletions(-) create mode 100644 broadcast/RegisterVault.s.sol/8453/run-1771280763399.json create mode 100644 broadcast/RegisterVault.s.sol/8453/run-1771280810476.json create mode 100644 broadcast/RegisterVault.s.sol/8453/run-1771280886722.json diff --git a/README.md b/README.md index 37eb13d..fb376e8 100644 --- a/README.md +++ b/README.md @@ -788,10 +788,13 @@ sequenceDiagram Required environment variables: - `DEPLOYER_PRIVATE_KEY`: Private key for deployment transactions - `SERVER_ADDRESS`: Backend server address -- `ADMIN_ADDRESS`: The admin address for the contract - `RPC_NODE_URL_8453`: Base network RPC endpoint - `ETHERSCAN_API_KEY`: For contract verification (optional) +Notes: +- `Deploy.s.sol` currently has swap router/factory addresses hardcoded for Base mainnet (`chainId == 8453`) +- `Deploy.s.sol` is selective and only deploys contracts with missing/zero addresses in `deployments.json` + ### Deploy @@ -813,13 +816,16 @@ forge script script/RegisterVault.s.sol:RegisterVaultScript --rpc-url $RPC_NODE_ forge script script/RegisterVault.s.sol:RegisterVaultScript --rpc-url $RPC_NODE_URL_8453 --broadcast --sig "run(address,string)" 0xb125E6687d4313864e53df431d5425969c15Eb2F compound forge script script/RegisterVault.s.sol:RegisterVaultScript --rpc-url $RPC_NODE_URL_8453 --broadcast --sig "run(address,string)" 0xEdc817A28E8B93B03976FBd4a3dDBc9f7D176c22 moonwell -# Register 0x swap target -forge script script/RegisterVault.s.sol:RegisterVaultScript --rpc-url $RPC_NODE_URL_8453 --broadcast --sig "run(address,string)" 0x0000000000001fF3684f28c67538d4D072C22734 zerox - +# Rgister UniswapV3 router +forge script script/RegisterVault.s.sol:RegisterVaultScript --rpc-url $RPC_NODE_URL_8453 --broadcast --sig "run(address,string)" 0x2626664c2603336E57B271c5C0b26F421741e481 uniswapv3 +# Rgister AerodromeV2 router +forge script script/RegisterVault.s.sol:RegisterVaultScript --rpc-url $RPC_NODE_URL_8453 --broadcast --sig "run(address,string)" 0xcF77a3Ba9A5CA399B7c97c74d54e5b1Beb874E43 aerodromev2 +# Rgister AerodromeCL router +forge script script/RegisterVault.s.sol:RegisterVaultScript --rpc-url $RPC_NODE_URL_8453 --broadcast --sig "run(address,string)" 0xBE6D8f0d05cC4be24d5167a3eF062215bE6D18a5 aerodromecl # Register Merkl forge script script/RegisterVault.s.sol:RegisterVaultScript --rpc-url $RPC_NODE_URL_8453 --broadcast --sig "run(address,string)" 0x3Ef3D8bA38EBe18DB133cEc108f4D14CE00Dd9Ae merkl -# Add sellable tokens to the 0x adapter (tokens that agents are allowed to swap) +# Add sellable tokens to the swap sell policy (tokens that agents are allowed to swap) forge script script/AddSellableTokens.s.sol:AddSellableTokensScript --rpc-url $RPC_NODE_URL_8453 --broadcast --sig "run(address[])" "[, , ...]" ``` diff --git a/broadcast/Deploy.s.sol/8453/run-latest.json b/broadcast/Deploy.s.sol/8453/run-latest.json index 9778456..05bb524 100644 --- a/broadcast/Deploy.s.sol/8453/run-latest.json +++ b/broadcast/Deploy.s.sol/8453/run-latest.json @@ -1,244 +1,105 @@ { "transactions": [ { - "hash": "0x8c27f572246018455ff55f2f0ba8db816d9c5efafc2118908c9174ed41eb378a", + "hash": "0xf1af1f1e395a35dd2149b0685d5a57c8b6c3dd33afcd7a26f7a76f045b9dd6d0", "transactionType": "CREATE2", - "contractName": "YieldSeekerAdminTimelock", - "contractAddress": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", - "function": null, - "arguments": [ - "0", - "[0xF8CBf6437d2473eC59885299Af38D9A13cE97ecA]", - "[0xF8CBf6437d2473eC59885299Af38D9A13cE97ecA]", - "0x0000000000000000000000000000000000000000" - ], - "transaction": { - "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", - "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x1e5693", - "value": "0x0", - "input": "0x000000000000000000000000000000000000000000000000000000000000000760806040523461016657611a61803803806100198161016a565b92833981019060808183031261016657805160208201519091906001600160401b038111610166578361004d9183016101b7565b604082015190936001600160401b0382116101665761007360609161007a9385016101b7565b92016101a3565b61008330610249565b506001600160a01b038116610156575b505f5b83518110156100e0576001906100be6001600160a01b036100b78388610221565b51166102bf565b506100d9828060a01b036100d28388610221565b5116610352565b5001610096565b50905f5b82518110156101135760019061010c6001600160a01b036101058387610221565b51166103e5565b50016100e4565b7f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d5604083806002558151905f82526020820152a160405161154890816104798239f35b61015f90610249565b505f610093565b5f80fd5b6040519190601f01601f191682016001600160401b0381118382101761018f57604052565b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820361016657565b9080601f83011215610166578151916001600160401b03831161018f578260051b906020806101e781850161016a565b80968152019282010192831161016657602001905b8282106102095750505090565b60208091610216846101a3565b8152019101906101fc565b80518210156102355760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b6001600160a01b0381165f9081525f516020611a415f395f51905f52602052604090205460ff166102ba576001600160a01b03165f8181525f516020611a415f395f51905f5260205260408120805460ff191660011790553391905f5160206119c15f395f51905f528180a4600190565b505f90565b6001600160a01b0381165f9081525f5160206119e15f395f51905f52602052604090205460ff166102ba576001600160a01b03165f8181525f5160206119e15f395f51905f5260205260408120805460ff191660011790553391907fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1905f5160206119c15f395f51905f529080a4600190565b6001600160a01b0381165f9081525f516020611a215f395f51905f52602052604090205460ff166102ba576001600160a01b03165f8181525f516020611a215f395f51905f5260205260408120805460ff191660011790553391907ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783905f5160206119c15f395f51905f529080a4600190565b6001600160a01b0381165f9081525f516020611a015f395f51905f52602052604090205460ff166102ba576001600160a01b03165f8181525f516020611a015f395f51905f5260205260408120805460ff191660011790553391907fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63905f5160206119c15f395f51905f529080a460019056fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806301d5062a14610b2057806301ffc9a714610ab057806307bd026514610a76578063134008d3146109c357806313bc9f20146109a5578063150b7a0214610950578063248a9ca3146109265780632ab0f529146109085780632f2ff15d146108cb57806331d50750146108ad57806336568abe14610869578063584b153e1461084157806364d62353146107dc5780637958004c146107995780638065657f1461077a5780638f2a0bb0146105f55780638f61f4f5146105bb57806391d1485414610573578063a217fddf14610559578063b08e51c01461051f578063b1c5f427146104f5578063bc197c8114610460578063c4d252f514610382578063d45c443514610358578063d547741f14610314578063e38335e5146101c8578063f23a6e61146101735763f27a0c920361000e573461016f575f36600319011261016f576020600254604051908152f35b5f80fd5b3461016f5760a036600319011261016f5761018c610bcb565b50610195610be1565b506084356001600160401b03811161016f576101b5903690600401610cc2565b5060405163f23a6e6160e01b8152602090f35b6101d136610d38565b5f80527fdae2aa361dfd1ca020a396615627d436107c35eff9fe7738a3512819782d70696020527f5ba6852781629bcdcd4bdaa6de76d786f1c64b16acdac474e55bebc0ea1579515492979196919593949260ff1615610306575b8282148015906102fc575b6102e15761024e61025591888a888789888d611002565b968761131b565b5f5b81811061026757610018876113c6565b8080887fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b5888886102d86102bf8f986001998f828e6102b28f836102ad916102b896610f89565b610fad565b97610f89565b3595610fc1565b906102cc82828787611373565b60405194859485610e65565b0390a301610257565b50869063ffb0321160e01b5f5260045260245260445260645ffd5b5087821415610237565b61030f3361124d565b61022c565b3461016f57604036600319011261016f57610018600435610333610be1565b9061035361034c825f525f602052600160405f20015490565b33906112d3565b61146c565b3461016f57602036600319011261016f576004355f526001602052602060405f2054604051908152f35b3461016f57602036600319011261016f57335f9081527fc3ad33e20b0c56a223ad5104fff154aa010f8715b9c981fd38fdc60a4d1a52fb60205260409020546004359060ff1615610429576103d681610ed3565b1561040f57805f5260016020525f60408120557fbaa1eb22f2a492ba1a5fea61b8df4d27c6c8b5f3971e63bb58fa14ff72eedb705f80a2005b635ead8eb560e01b5f52600452600460021760245260445ffd5b63e2517d3f60e01b5f52336004527ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f78360245260445ffd5b3461016f5760a036600319011261016f57610479610bcb565b50610482610be1565b506044356001600160401b03811161016f576104a2903690600401610da6565b506064356001600160401b03811161016f576104c2903690600401610da6565b506084356001600160401b03811161016f576104e2903690600401610cc2565b5060405163bc197c8160e01b8152602090f35b3461016f57602061051761050836610d38565b96959095949194939293611002565b604051908152f35b3461016f575f36600319011261016f5760206040517ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f7838152f35b3461016f575f36600319011261016f5760206040515f8152f35b3461016f57604036600319011261016f5761058c610be1565b6004355f525f60205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b3461016f575f36600319011261016f5760206040517fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc18152f35b3461016f5760c036600319011261016f576004356001600160401b03811161016f57610625903690600401610d08565b906024356001600160401b03811161016f57610645903690600401610d08565b6044929192356001600160401b03811161016f57610667903690600401610d08565b9390916064356084359560a4359261067e336111c7565b808914801590610770575b6107565761069d88848489858a8f8e611002565b986106a8858b611154565b895f5b8281106106e8575089806106bb57005b60207f20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d038791604051908152a2005b806001927f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8b8b61074b8f8c61073e8f928e6107378f8f906107316102ad8f8097948195610f89565b99610f89565b3597610fc1565b9060405196879687610e2d565b0390a3018a906106ab565b908863ffb0321160e01b5f5260045260245260445260645ffd5b5081891415610689565b3461016f57602061051761078d36610c24565b94939093929192610f34565b3461016f57602036600319011261016f576107b5600435610efc565b60405160048210156107c8576020918152f35b634e487b7160e01b5f52602160045260245ffd5b3461016f57602036600319011261016f5760043530330361082e577f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d560406002548151908152836020820152a1600255005b63e2850c5960e01b5f523360045260245ffd5b3461016f57602036600319011261016f57602061085f600435610ed3565b6040519015158152f35b3461016f57604036600319011261016f57610882610be1565b336001600160a01b0382160361089e576100189060043561146c565b63334bd91960e11b5f5260045ffd5b3461016f57602036600319011261016f57602061085f600435610ebc565b3461016f57604036600319011261016f576100186004356108ea610be1565b9061090361034c825f525f602052600160405f20015490565b6113e4565b3461016f57602036600319011261016f57602061085f600435610ea4565b3461016f57602036600319011261016f5760206105176004355f525f602052600160405f20015490565b3461016f57608036600319011261016f57610969610bcb565b50610972610be1565b506064356001600160401b03811161016f57610992903690600401610cc2565b50604051630a85bd0160e11b8152602090f35b3461016f57602036600319011261016f57602061085f600435610e8c565b610018610a545f610a607fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58610a4b6109fa36610c24565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e638a9995979299949394528960205260408a208a805260205260ff60408b20541615610a68575b8884848989610f34565b9889978861131b565b6102cc82828787611373565b0390a36113c6565b610a713361124d565b610a41565b3461016f575f36600319011261016f5760206040517fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e638152f35b3461016f57602036600319011261016f5760043563ffffffff60e01b811680910361016f57602090630271189760e51b8114908115610af5575b506040519015158152f35b637965db0b60e01b811491508115610b0f575b5082610aea565b6301ffc9a760e01b14905082610b08565b3461016f5760c036600319011261016f57610b39610bcb565b602435906044356001600160401b03811161016f577f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca92610b7f5f923690600401610bf7565b94909160643594610bc16084359660a43590610b9a336111c7565b610ba889828c8a8989610f34565b998a97610bb5848a611154565b60405196879687610e2d565b0390a3806106bb57005b600435906001600160a01b038216820361016f57565b602435906001600160a01b038216820361016f57565b9181601f8401121561016f578235916001600160401b03831161016f576020838186019501011161016f57565b60a060031982011261016f576004356001600160a01b038116810361016f579160243591604435906001600160401b03821161016f57610c6691600401610bf7565b90916064359060843590565b90601f801991011681019081106001600160401b03821117610c9357604052565b634e487b7160e01b5f52604160045260245ffd5b6001600160401b038111610c9357601f01601f191660200190565b81601f8201121561016f57803590610cd982610ca7565b92610ce76040519485610c72565b8284526020838301011161016f57815f926020809301838601378301015290565b9181601f8401121561016f578235916001600160401b03831161016f576020808501948460051b01011161016f57565b60a060031982011261016f576004356001600160401b03811161016f5781610d6291600401610d08565b929092916024356001600160401b03811161016f5781610d8491600401610d08565b92909291604435906001600160401b03821161016f57610c6691600401610d08565b9080601f8301121561016f578135916001600160401b038311610c93578260051b9060405193610dd96020840186610c72565b845260208085019282010192831161016f57602001905b828210610dfd5750505090565b8135815260209182019101610df0565b908060209392818452848401375f828201840152601f01601f1916010190565b929093610e5b926080959897969860018060a01b03168552602085015260a0604085015260a0840191610e0d565b9460608201520152565b610e89949260609260018060a01b0316825260208201528160408201520191610e0d565b90565b610e9590610efc565b60048110156107c85760021490565b610ead90610efc565b60048110156107c85760031490565b610ec590610efc565b60048110156107c857151590565b610edc90610efc565b60048110156107c85760018114908115610ef4575090565b600291501490565b5f52600160205260405f205480155f14610f1557505f90565b60018103610f235750600390565b421015610f2f57600190565b600290565b94610f6a610f8394959293604051968795602087019960018060a01b03168a52604087015260a0606087015260c0860191610e0d565b91608084015260a083015203601f198101835282610c72565b51902090565b9190811015610f995760051b0190565b634e487b7160e01b5f52603260045260245ffd5b356001600160a01b038116810361016f5790565b9190811015610f995760051b81013590601e198136030182121561016f5701908135916001600160401b03831161016f57602001823603811361016f579190565b9693949190969592956040519660208801988060c08a0160a08c525260e0890192905f905b80821061111e57505050878203601f190160408901528082526001600160fb1b03811161016f579087959394929160051b8092602083013701848103606086015260208101849052600584901b8101604090810194908201915f90889036829003601e1901905b8484106110b857505050505050610f839450608084015260a083015203601f198101835282610c72565b91939597909294969850601f19601f198383030101875289358381121561016f57840190602082359201916001600160401b03811161016f57803603831361016f5761110a6020928392600195610e0d565b9b0197019401918a9896999795939161108e565b91939091908435906001600160a01b038216820361016f576001600160a01b039091168152602090810194019160010190611027565b9061115e82610ebc565b6111af576002548082106111995750420190814211611185575f52600160205260405f2055565b634e487b7160e01b5f52601160045260245ffd5b90635433660960e01b5f5260045260245260445ffd5b50635ead8eb560e01b5f52600452600160245260445ffd5b6001600160a01b0381165f9081527f3412d5605ac6cd444957cedb533e5dacad6378b4bc819ebe3652188a665066d5602052604090205460ff16156112095750565b63e2517d3f60e01b5f9081526001600160a01b03919091166004527fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1602452604490fd5b6001600160a01b0381165f9081527fdae2aa361dfd1ca020a396615627d436107c35eff9fe7738a3512819782d7069602052604090205460ff161561128f5750565b63e2517d3f60e01b5f9081526001600160a01b03919091166004527fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63602452604490fd5b90815f525f60205260405f2060018060a01b0382165f5260205260ff60405f205416156112fe575050565b63e2517d3f60e01b5f5260018060a01b031660045260245260445ffd5b61132481610e8c565b1561135c57508015158061134c575b61133a5750565b63121534c360e31b5f5260045260245ffd5b5061135681610ea4565b15611333565b635ead8eb560e01b5f52600452600460245260445ffd5b6113bb935f93928493826040519384928337810185815203925af13d156113be573d9061139f82610ca7565b916113ad6040519384610c72565b82523d5f602084013e6114ec565b50565b6060906114ec565b6113cf81610e8c565b1561135c575f526001602052600160405f2055565b5f818152602081815260408083206001600160a01b038616845290915290205460ff16611466575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50505f90565b5f818152602081815260408083206001600160a01b038616845290915290205460ff1615611466575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b156114f45790565b80511561150357602081519101fd5b63d6bda27560e01b5f5260045ffdfea2646970667358221220d337a7b00bb49f4e259f4673e12a4b0cca74005c34d86b712f6db699536a25d164736f6c634300081c00332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d3412d5605ac6cd444957cedb533e5dacad6378b4bc819ebe3652188a665066d5dae2aa361dfd1ca020a396615627d436107c35eff9fe7738a3512819782d7069c3ad33e20b0c56a223ad5104fff154aa010f8715b9c981fd38fdc60a4d1a52fbad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f8cbf6437d2473ec59885299af38d9a13ce97eca0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f8cbf6437d2473ec59885299af38d9a13ce97eca", - "nonce": "0x18", - "chainId": "0x2105" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x7b00c930985dc5150eb462be54706b1b8c987d2fd1ab9168406f25e3d62cedce", - "transactionType": "CREATE2", - "contractName": "YieldSeekerAgentWalletFactory", - "contractAddress": "0x9900f8019b20e822e2d5897db246a376a9514c8f", + "contractName": "YieldSeekerSwapSellPolicy", + "contractAddress": "0x2c61dc81bc40389ff11ce68e78e93a3f75e41b9c", "function": null, "arguments": [ "0x773541F7c38BE8106AE966CA9D6fee494a0eDD24", - "0xFBD0A3646Bac17eE60860df7751129735b3F07A8" - ], - "transaction": { - "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", - "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x1acaa3", - "value": "0x0", - "input": "0x00000000000000000000000000000000000000000000000000000000000000076080346100a157601f61159a38819003918201601f19168301916001600160401b038311848410176100a55780849260409485528339810103126100a157610052602061004b836100b9565b92016100b9565b6001600160a01b03821615610092576001600160a01b038116156100925761007c610082926100cd565b50610120565b5060405161126990816102f18239f35b63d92e233d60e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036100a157565b6100d7815f6101f8565b90816100e1575090565b5f8052600160205261011c906001600160a01b03167fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49610280565b5090565b5f51602061155a5f395f51905f525f5260016020525f51602061157a5f395f51905f5254600a1115806101b7575b6101a857610169815f51602061155a5f395f51905f526101f8565b9081610173575090565b5f51602061155a5f395f51905f525f52600160205261011c906001600160a01b03165f51602061157a5f395f51905f52610280565b636055dca160e01b5f5260045ffd5b506001600160a01b0381165f9081527fe8424ec1ecf42e9e88998e7da204f6091f75a50979eee18faf18b49b474940b0602052604090205460ff161561014e565b5f818152602081815260408083206001600160a01b038616845290915290205460ff1661027a575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50505f90565b6001810190825f528160205260405f2054155f146102e9578054680100000000000000008110156100a557600181018083558110156102d5578390825f5260205f20015554915f5260205260405f2055600190565b634e487b7160e01b5f52603260045260245ffd5b5050505f9056fe6080806040526004361015610012575f80fd5b5f905f3560e01c9081630155e09814610b845750806301ffc9a714610b14578063244c9c29146109fb578063248a9ca3146109c95780632b78c9f7146109ae5780632f2ff15d146108d95780633325e1df146108b157806336568abe1461086b57806350b5c16a14610843578063583f2f09146105c65780635b34b8231461054657806368fe596f1461051d5780638cb84e18146104795780639010d07c1461043357806391d14854146103ea5780639277a1851461036a578063a1dcf28214610342578063a217fddf14610326578063a3246ad3146102b2578063c68e00fb14610183578063ca15c873146101595763d547741f14610110575f80fd5b346101565760403660031901126101565761015260043561012f610be3565b9061014d610148825f525f602052600160405f20015490565b610cc4565b610cfc565b5080f35b80fd5b50346101565760203660031901126101565760406020916004358152600183522054604051908152f35b5034610156576020366003190112610156576004356001600160a01b038116908190036102ae576101b2610c75565b801561029f57803b1561028d576040516202dd3160ec1b8152602081600481855afa90811561028257839161023c575b50306001600160a01b039091160361022d57600280546001600160a01b031916821790557fab64f92ab780ecbf4f3866f57cee465ff36c89450dcce20237ca7a8d81fb7d138280a280f35b63502eeedf60e01b8252600482fd5b90506020813d60201161027a575b8161025760209383610c3b565b8101031261027657516001600160a01b0381168103610276575f6101e2565b8280fd5b3d915061024a565b6040513d85823e3d90fd5b6322a2d07b60e21b8252600452602490fd5b63d92e233d60e01b8252600482fd5b5080fd5b5034610156576020366003190112610156576004358152600160205260408120604051918260208354918281520192825260208220915b8181106103105761030c8561030081870382610c3b565b60405191829182610bf9565b0390f35b82548452602090930192600192830192016102e9565b5034610156578060031936011261015657602090604051908152f35b503461015657806003193601126101565760206040515f5160206112145f395f51905f528152f35b5034610156576020366003190112610156576004356001600160a01b038116908190036102ae57610399610c75565b801561029f57803b1561028d57600580546001600160a01b0319811683179091556001600160a01b03167f5a69769904291a5b71c7f53981055587f0f849edb458cc47e64510be36d164d38380a380f35b5034610156576040366003190112610156576040610406610be3565b91600435815280602052209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b50346101565760403660031901126101565761046060406020926004358152600184522060243590610dbc565b905460405160039290921b1c6001600160a01b03168152f35b5034610156576040366003190112610156576020600b610497610bcd565b604080516001600160a01b03909216848301908152602435602082015291906104cd90829084015b03601f198101835282610c3b565b5190206102786040516104e285830182610c3b565b81815284810191610f9c833951902090604051916040830152838201523081520160ff8153605590206040516001600160a01b039091168152f35b50346101565780600319360112610156576002546040516001600160a01b039091168152602090f35b5034610156576020366003190112610156576004356001600160a01b038116908190036102ae57610575610c75565b801561029f57803b1561028d57600380546001600160a01b0319811683179091556001600160a01b03167f482b97c53e48ffa324a976e2738053e9aff6eee04d8aac63b10e19411d869b828380a380f35b346107b05760603660031901126107b0576105df610bcd565b6044356001600160a01b0381169190602435908381036107b057335f9081527fe8424ec1ecf42e9e88998e7da204f6091f75a50979eee18faf18b49b474940b0602052604090205460ff161561081f5783156107fd573b1561080c576001600160a01b0382169182156107fd576002546001600160a01b0316156107ee576003546001600160a01b0316156107df57825f52600460205260405f20825f5260205260018060a01b0360405f2054166107c857604080516001600160a01b0390921660208301908152908201839052906106bb81606081016104bf565b51902060405161027880820182811067ffffffffffffffff8211176107b4578291610f9c833903905ff580156107a55760018060a01b031691805f52600460205260405f20825f5260205260405f20836bffffffffffffffffffffffff60a01b825416179055823b156107b0576040519363c350a1b560e01b85528160048601528260248601528060448601525f8560648183885af19485156107a557602085927f24924211b2afa1a1fa2d9d9361ccc452c0df4f982d439cdcc311140e55b3f56d928298610795575b50604051908152a4604051908152f35b5f61079f91610c3b565b5f610785565b6040513d5f823e3d90fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b5090633de717e160e21b5f5260045260245260445ffd5b6303b099cf60e61b5f5260045ffd5b638f51a26d60e01b5f5260045ffd5b63d92e233d60e01b5f5260045ffd5b826322a2d07b60e21b5f5260045260245ffd5b63e2517d3f60e01b5f52336004525f5160206112145f395f51905f5260245260445ffd5b346107b0575f3660031901126107b0576003546040516001600160a01b039091168152602090f35b346107b05760403660031901126107b057610884610be3565b336001600160a01b038216036108a2576108a090600435610cfc565b005b63334bd91960e11b5f5260045ffd5b346107b0575f3660031901126107b0576005546040516001600160a01b039091168152602090f35b346107b05760403660031901126107b0576004356108f5610be3565b61090d610148835f525f602052600160405f20015490565b5f5160206112145f395f51905f52821480610997575b8061096d575b61095e576109378183610dd1565b61093d57005b5f918252600160205260409091206108a0916001600160a01b031690610f42565b636055dca160e01b5f5260045ffd5b505f828152602081815260408083206001600160a01b038516845290915290205460ff1615610929565b50815f526001602052600a60405f20541015610923565b346107b0575f3660031901126107b0576020604051600a8152f35b346107b05760203660031901126107b05760206109f36004355f525f602052600160405f20015490565b604051908152f35b346107b0575f3660031901126107b0575f5160206112145f395f51905f525f5260016020527f2737f4fbde60fa8ca451e7409d70a576ffb90aaa6a453ecd5bd224428e00910354610a4b81610c5d565b90610a596040519283610c3b565b808252601f19610a6882610c5d565b013660208401375f5b818110610a86576040518061030c8582610bf9565b5f5160206112145f395f51905f525f526001602052610ac5817f2737f4fbde60fa8ca451e7409d70a576ffb90aaa6a453ecd5bd224428e009103610dbc565b9054845160039290921b1c6001600160a01b03169190811015610b00576001600160a01b03909116600582901b840160200152600101610a71565b634e487b7160e01b5f52603260045260245ffd5b346107b05760203660031901126107b05760043563ffffffff60e01b81168091036107b057602090635a05180f60e01b8114908115610b59575b506040519015158152f35b637965db0b60e01b811491508115610b73575b5082610b4e565b6301ffc9a760e01b14905082610b6c565b346107b05760403660031901126107b0576020906001600160a01b03610ba8610bcd565b165f908152600483526040808220602435835284529020546001600160a01b03168152f35b600435906001600160a01b03821682036107b057565b602435906001600160a01b03821682036107b057565b60206040818301928281528451809452019201905f5b818110610c1c5750505090565b82516001600160a01b0316845260209384019390920191600101610c0f565b90601f8019910116810190811067ffffffffffffffff8211176107b457604052565b67ffffffffffffffff81116107b45760051b60200190565b335f9081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604090205460ff1615610cad57565b63e2517d3f60e01b5f52336004525f60245260445ffd5b5f8181526020818152604080832033845290915290205460ff1615610ce65750565b63e2517d3f60e01b5f523360045260245260445ffd5b610d068282610d36565b9182610d1157505090565b5f91825260016020526040909120610d32916001600160a01b031690610e53565b5090565b5f818152602081815260408083206001600160a01b038616845290915290205460ff1615610db6575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b50505f90565b8054821015610b00575f5260205f2001905f90565b5f818152602081815260408083206001600160a01b038616845290915290205460ff16610db6575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b906001820191815f528260205260405f20548015155f14610f3a575f198101818111610f265782545f19810191908211610f2657818103610edb575b50505080548015610ec7575f190190610ea88282610dbc565b8154905f199060031b1b19169055555f526020525f6040812055600190565b634e487b7160e01b5f52603160045260245ffd5b610f11610eeb610efb9386610dbc565b90549060031b1c92839286610dbc565b819391549060031b91821b915f19901b19161790565b90555f528360205260405f20555f8080610e8f565b634e487b7160e01b5f52601160045260245ffd5b505050505f90565b6001810190825f528160205260405f2054155f14610f94578054680100000000000000008110156107b457610f81610efb826001879401855584610dbc565b905554915f5260205260405f2055600190565b5050505f9056fe60808060405234610153576368fe596f60e01b8152602081600481335afa90811561015e575f91610103575b506040516001600160a01b039190911690602081016001600160401b038111828210176100ef576040525f8152813b156100dc577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b03191683179055817fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a28051156100d5576100c591610169565b505b604051608290816101f68239f35b50506100c7565b50634c9c8ce360e01b5f5260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b905060203d602011610157575b601f8101601f191682016001600160401b038111838210176100ef5760209183916040528101031261015357516001600160a01b0381168103610153575f61002b565b5f80fd5b503d610110565b6040513d5f823e3d90fd5b905f8091602081519101845af480806101e2575b1561019d5750506040513d81523d5f602083013e60203d82010160405290565b156101c257639996b31560e01b5f9081526001600160a01b0391909116600452602490fd5b3d156101d3576040513d5f823e3d90fd5b63d6bda27560e01b5f5260045ffd5b503d15158061017d5750813b151561017d56fe60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545f9081906001600160a01b0316368280378136915af43d5f803e156048573d5ff35b3d5ffdfea264697066735822122026ee7f8fad82dfc43c6e07f9512d161616037da340f2d2657ec98d6976df3e1e64736f6c634300081c00332fbb137a62ebd69bc6a41f4b4e96301da2105eef211fb1a3c75e8cfb9bfe7879a2646970667358221220d92ad40c30630b561bd2d1343834e67c207ca1c6ce5447c792d42f498a93df1c64736f6c634300081c00332fbb137a62ebd69bc6a41f4b4e96301da2105eef211fb1a3c75e8cfb9bfe78792737f4fbde60fa8ca451e7409d70a576ffb90aaa6a453ecd5bd224428e009103000000000000000000000000773541f7c38be8106ae966ca9d6fee494a0edd24000000000000000000000000fbd0a3646bac17ee60860df7751129735b3f07a8", - "nonce": "0x19", - "chainId": "0x2105" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x30dbae9ea9e5131f93cbe3a867fc9bb6cf2a4235b48d4ea6e8de53e5303761c8", - "transactionType": "CREATE2", - "contractName": "YieldSeekerAgentWalletV1", - "contractAddress": "0x14283f733d6f73ca116eaa07af7c8c16b1cef7e3", - "function": null, - "arguments": [ - "0x9900f8019b20e822E2D5897db246a376A9514C8F" + "0xF8CBf6437d2473eC59885299Af38D9A13cE97ecA", + "false" ], "transaction": { "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x3040fc", + "gas": "0xec6d6", "value": "0x0", - "input": "0x000000000000000000000000000000000000000000000000000000000000000760c03461013457601f61294138819003918201601f19168301916001600160401b038311848410176101385780849260209460405283398101031261013457516001600160a01b03811690819003610134573060805260a0525f5160206129215f395f51905f525460ff8160401c16610125576002600160401b03196001600160401b038216016100cf575b6040516127d4908161014d8239608051818181610bdb01528181610cb501526110e8015260a051818181610d190152818161108b0152818161137d0152611d430152f35b6001600160401b0319166001600160401b039081175f5160206129215f395f51905f52556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f61008b565b63f92ee8a960e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6080604052600436101561001a575b3615610018575f80fd5b005b5f5f3560e01c80630a3b7ad7146115bf57806318dfb3c71461155d5780631dec8ea5146114e6578063244c9c291461142357806329db6ee6146113ac5780632dd31000146113685780633325e1df14611334578063367ad9e21461104c5780633a871cdd14610f795780634798faf514610f0b5780634f1ef28614610c6457806350b5c16a14610c2f57806352d1902d14610bc85780635c0df1a414610b615780638da5cb5b14610b2c57806395243dd114610b0657806397d0763c146108c757806397ef9655146108a1578063ad3cb1cc14610854578063b0246dc11461080f578063b0d691fe146107e0578063b1588fb61461079d578063b61d27f61461074f578063c350a1b5146105ee578063c51f172d14610572578063c8796572146104fc578063cd6dc687146103d1578063cdf456e11461039c578063d087d288146102f8578063d589621f146102c6578063d8adf1391461025e578063e9490cac146102215763fe71733514610190575061000e565b3461021e57602036600319011261021e576101a961167f565b5f5160206126df5f395f51905f52546001600160a01b0316330361020b576101d0816117ea565b805460ff191660011790556001600160a01b03167f02cabee40f87619dfcb340449404a4513e5c455e77013d441169b12a26e70a218280a280f35b63472511eb60e11b825233600452602482fd5b80fd5b503461021e578060031936011261021e5760207f901ebb5305bfc9018fe46ce288a2febf943d9263140e9c913b0707d8f0dbf9cd54604051908152f35b503461021e578060031936011261021e575f5160206126df5f395f51905f52546001600160a01b0316331415806102b2575b61029f5761029c611ceb565b80f35b63472511eb60e11b815233600452602490fd5b5060ff6102be336117b2565b541615610290565b503461021e57602036600319011261021e57602060ff6102ec6102e761167f565b611822565b54166040519015158152f35b503461021e578060031936011261021e57604051631aab3f0d60e11b81523060048201526024810182905290602082604481735ff137d4b0fdcd49dca30c7cf57e578a026d27895afa9081156103905790610359575b602090604051908152f35b506020813d602011610388575b816103736020938361172c565b81010312610384576020905161034e565b5f80fd5b3d9150610366565b604051903d90823e3d90fd5b503461021e578060031936011261021e575f51602061277f5f395f51905f52546040516001600160a01b039091168152602090f35b503461021e57604036600319011261021e576103eb61167f565b5f51602061275f5f395f51905f5254906001600160401b0360ff8360401c16159216801590816104f4575b60011490816104ea575b1590816104e1575b506104d257610448908261043a611903565b6104a2575b60243590612440565b61044f5780f35b60ff60401b195f51602061275f5f395f51905f5254165f51602061275f5f395f51905f52557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a180f35b600160401b60ff60401b195f51602061275f5f395f51905f525416175f51602061275f5f395f51905f525561043f565b63f92ee8a960e01b8352600483fd5b9050155f610428565b303b159150610420565b839150610416565b503461021e578060031936011261021e57735ff137d4b0fdcd49dca30c7cf57e578a026d278933141580610551575b8061053d575b61029f5761029c611930565b5060ff610549336117b2565b541615610531565b505f5160206126df5f395f51905f52546001600160a01b031633141561052b565b503461021e57602036600319011261021e5761058c61167f565b5f5160206126df5f395f51905f52546001600160a01b0316330361020b576105b381611822565b805460ff191660011790556001600160a01b03167ff1b199bc156d70448988140152c13e4e7cef2ce43f60e7e96802e64181acba958280a280f35b503461021e57606036600319011261021e5761060861167f565b6044356001600160a01b038116929183820361074b575f51602061275f5f395f51905f5254916001600160401b0360ff8460401c1615931680159081610743575b6001149081610739575b159081610730575b506107215782610669611903565b6106f1575b60ff5f51602061275f5f395f51905f525460401c16156106e25784156106d3573b156106bf575f51602061277f5f395f51905f5280546001600160a01b031916851790556104489060243590612440565b6322a2d07b60e21b83526004849052602483fd5b63d92e233d60e01b8452600484fd5b631afcd79f60e31b8452600484fd5b600160401b60ff60401b195f51602061275f5f395f51905f525416175f51602061275f5f395f51905f525561066e565b63f92ee8a960e01b8452600484fd5b9050155f61065b565b303b159150610653565b849150610649565b8280fd5b503461021e57606036600319011261021e5761076961167f565b506044356001600160401b038111610799579061078b600492369084016116ab565b5050631eb49d6d60e11b8152fd5b5080fd5b503461021e57602036600319011261021e576107b761167f565b5f5160206126df5f395f51905f52546001600160a01b0316330361020b5761029c904790612341565b503461021e578060031936011261021e576020604051735ff137d4b0fdcd49dca30c7cf57e578a026d27898152f35b503461021e57604036600319011261021e5761082961167f565b5f5160206126df5f395f51905f52546001600160a01b0316330361020b5761029c9060243590612341565b503461021e578060031936011261021e575061089d60405161087760408261172c565b60058152640352e302e360dc1b60208201526040519182916020835260208301906116d8565b0390f35b503461021e57602036600319011261021e57602060ff6102ec6108c261167f565b6117b2565b503461021e57606036600319011261021e576004356001600160401b038111610799576108f89036906004016116fc565b91906024356001600160401b03811161074b576109199036906004016116fc565b906044356001600160401b038111610b02576109399036906004016116fc565b92735ff137d4b0fdcd49dca30c7cf57e578a026d278933141580610ae1575b80610acd575b610aba57808714801590610ab0575b610aa15761097c87969761186e565b9561098a604051978861172c565b808752601f196109998261186e565b01885b818110610a8e575050875b818110610a155787896040519182916020830160208452825180915260408401602060408360051b870101940192905b8282106109e657505050500390f35b91936001919395506020610a058192603f198a820301865288516116d8565b96019201920185949391926109d7565b610a28610a2382848a611885565b6118a9565b610a36610a23838689611885565b9087831015610a7a578291610a5e91610a5660019560051b8901896118bd565b929091611b27565b610a68828b6118ef565b52610a73818a6118ef565b50016109a7565b634e487b7160e01b8b52603260045260248bfd5b60606020828b018101919091520161099c565b63baf3f0f760e01b8652600486fd5b508387141561096d565b63472511eb60e11b865233600452602486fd5b5060ff610ad9336117b2565b54161561095e565b505f5160206126df5f395f51905f52546001600160a01b0316331415610958565b8480fd5b503461021e57602036600319011261021e57602060ff6102ec610b2761167f565b6117ea565b503461021e578060031936011261021e575f5160206126df5f395f51905f52546040516001600160a01b039091168152602090f35b503461021e57604036600319011261021e57610b7b61167f565b610b83611695565b5f5160206126df5f395f51905f52546001600160a01b03163303610bb5579081610baf61029c93612186565b916122be565b63472511eb60e11b835233600452602483fd5b503461021e578060031936011261021e577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003610c205760206040515f5160206126ff5f395f51905f528152f35b63703e46dd60e11b8152600490fd5b503461021e578060031936011261021e575f51602061271f5f395f51905f52546040516001600160a01b039091168152602090f35b50604036600319011261021e57610c7961167f565b906024356001600160401b038111610799573660238201121561079957610caa90369060248160040135910161177c565b916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016308114908115610ee9575b50610eda575f5160206126df5f395f51905f52546001600160a01b0316330361020b576040516368fe596f60e01b8152906020826004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa918215610ecf578392610e93575b506001600160a01b0381811692168203610e84576040516352d1902d60e01b815293602085600481865afa80958596610e50575b50610d9e57634c9c8ce360e01b84526004839052602484fd5b9091845f5160206126ff5f395f51905f528103610e3e5750823b15610e2c575f5160206126ff5f395f51905f5280546001600160a01b031916821790557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a2805115610e1357610e0f916125b0565b5080f35b505034610e1d5780f35b63b398979f60e01b8152600490fd5b634c9c8ce360e01b8452600452602483fd5b632a87526960e21b8552600452602484fd5b9095506020813d602011610e7c575b81610e6c6020938361172c565b81010312610b025751945f610d85565b3d9150610e5f565b632c8cb44760e21b8352600483fd5b9091506020813d602011610ec7575b81610eaf6020938361172c565b8101031261074b57610ec09061185a565b905f610d51565b3d9150610ea2565b6040513d85823e3d90fd5b63703e46dd60e11b8252600482fd5b5f5160206126ff5f395f51905f52546001600160a01b0316141590505f610ce0565b503461021e57606036600319011261021e57610f2561167f565b90610f2e611695565b5f5160206126df5f395f51905f525460443591906001600160a01b03163303610bb55781610f5b82612186565b10610f6a5761029c92936122be565b631e9acf1760e31b8352600483fd5b503461021e57606036600319011261021e57600435906001600160401b03821161021e57610160600319833603011261021e5760443590735ff137d4b0fdcd49dca30c7cf57e578a026d2789330361100757610fdd602093602435906004016120ec565b9180610fee575b5050604051908152f35b81808092335f19f150610fff611af8565b505f80610fe4565b60405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20456e747279506f696e74000000006044820152606490fd5b5034610384575f366003190112610384575f5160206126df5f395f51905f52546001600160a01b03163303611321576040516368fe596f60e01b8152907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316602083600481845afa9283156112a9575f936112e5575b506020926040516110db858261172c565b5f81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163081149081156112c3575b506112b45784600493604051948580926368fe596f60e01b82525afa9283156112a9575f93611272575b506001600160a01b0382811693168303611263576040516352d1902d60e01b8152948086600481875afa9586915f97611233575b505061118b57634c9c8ce360e01b84526004839052602484fd5b9091845f5160206126ff5f395f51905f5281036112215750823b1561120f575f5160206126ff5f395f51905f5280546001600160a01b031916821790557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2805115611206576111fc916125b0565b505b61029c611ceb565b5050505f6111fe565b634c9c8ce360e01b5f5260045260245ffd5b632a87526960e21b5f5260045260245ffd5b9080929750813d831161125c575b61124b818361172c565b810103126103845751945f80611171565b503d611241565b632c8cb44760e21b5f5260045ffd5b9092508481813d83116112a2575b61128a818361172c565b810103126103845761129b9061185a565b915f61113d565b503d611280565b6040513d5f823e3d90fd5b63703e46dd60e11b5f5260045ffd5b5f5160206126ff5f395f51905f52546001600160a01b0316141590505f611113565b9092506020813d602011611319575b816113016020938361172c565b81010312610384576113129061185a565b915f6110ca565b3d91506112f4565b63472511eb60e11b5f523360045260245ffd5b34610384575f366003190112610384575f5160206126bf5f395f51905f52546040516001600160a01b039091168152602090f35b34610384575f366003190112610384576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610384576020366003190112610384576113c561167f565b5f5160206126df5f395f51905f52546001600160a01b03163303611321576113ec81611822565b805460ff191690556001600160a01b03167f198fca18affd5cdc64b42124fdf8d289753f0d02f2a15c366b5518a818ee36385f80a2005b34610384575f366003190112610384576040518060205f51602061273f5f395f51905f5254928381520180925f51602061273f5f395f51905f525f5260205f20905f5b8181106114c7575050508161147c91038261172c565b604051918291602083019060208452518091526040830191905f5b8181106114a5575050500390f35b82516001600160a01b0316845285945060209384019390920191600101611497565b82546001600160a01b0316845260209093019260019283019201611466565b34610384576020366003190112610384576114ff61167f565b5f5160206126df5f395f51905f52546001600160a01b0316330361132157611526816117ea565b805460ff191690556001600160a01b03167f7782eb55436ef47a10922ca1f2f49b9800a23991e6b6419ad7251dcff91ea07b5f80a2005b34610384576040366003190112610384576004356001600160401b0381116103845761158d9036906004016116fc565b50506024356001600160401b038111610384576115ae9036906004016116fc565b5050631eb49d6d60e11b5f5260045ffd5b34610384576060366003190112610384576115d861167f565b6115e0611695565b906044356001600160401b038111610384576116009036906004016116ab565b90735ff137d4b0fdcd49dca30c7cf57e578a026d27893314158061165e575b8061164a575b6113215761089d9361163693611b27565b6040519182916020835260208301906116d8565b5060ff611656336117b2565b541615611625565b505f5160206126df5f395f51905f52546001600160a01b031633141561161f565b600435906001600160a01b038216820361038457565b602435906001600160a01b038216820361038457565b9181601f84011215610384578235916001600160401b038311610384576020838186019501011161038457565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b9181601f84011215610384578235916001600160401b038311610384576020808501948460051b01011161038457565b90601f801991011681019081106001600160401b0382111761174d57604052565b634e487b7160e01b5f52604160045260245ffd5b6001600160401b03811161174d57601f01601f191660200190565b92919261178882611761565b91611796604051938461172c565b829481845281830111610384578281602093845f960137010152565b6001600160a01b03165f9081527f901ebb5305bfc9018fe46ce288a2febf943d9263140e9c913b0707d8f0dbf9d06020526040902090565b6001600160a01b03165f9081527f901ebb5305bfc9018fe46ce288a2febf943d9263140e9c913b0707d8f0dbf9d16020526040902090565b6001600160a01b03165f9081527f901ebb5305bfc9018fe46ce288a2febf943d9263140e9c913b0707d8f0dbf9d26020526040902090565b51906001600160a01b038216820361038457565b6001600160401b03811161174d5760051b60200190565b91908110156118955760051b0190565b634e487b7160e01b5f52603260045260245ffd5b356001600160a01b03811681036103845790565b903590601e198136030182121561038457018035906001600160401b0382116103845760200191813603831361038457565b80518210156118955760209160051b010190565b60016001600160401b03195f51602061275f5f395f51905f525416175f51602061275f5f395f51905f5255565b5f5160206126bf5f395f51905f52546040516378e6802560e01b81523060048201526001600160a01b0390911690602081602481855afa9081156112a9575f91611ac6575b508015611ac2575f51602061277f5f395f51905f52546040516370a0823160e01b81523060048201526001600160a01b0390911691602082602481865afa9182156112a9575f92611a8e575b5081811115611a865750905b816119d757505050565b6040516331056e5760e21b8152602081600481875afa80156112a95783915f91611a45575b50611a06926123bf565b813b15610384575f916024839260405194859384926322bf55ef60e01b845260048401525af180156112a957611a395750565b5f611a439161172c565b565b9150506020813d602011611a7e575b81611a616020938361172c565b8101031261038457611a0691611a77849261185a565b90926119fc565b3d9150611a54565b9050906119cd565b9091506020813d602011611aba575b81611aaa6020938361172c565b810103126103845751905f6119c1565b3d9150611a9d565b5050565b90506020813d602011611af0575b81611ae16020938361172c565b8101031261038457515f611975565b3d9150611ad4565b3d15611b22573d90611b0982611761565b91611b17604051938461172c565b82523d5f602084013e565b606090565b92909160ff611b35856117ea565b5416611ccd5760ff611b4684611822565b5416611caf575f51602061271f5f395f51905f5254604051631293382360e21b81526001600160a01b039485166004820181905294909160209183916024918391165afa9081156112a9575f91611c75575b506001600160a01b03168015908115611c61575b50611c43579181611c0860845f96949587966040519485926020840197631cff79cd60e01b89526024850152604060448501528160648501528484013787838284010152601f801991011681010301601f19810183528261172c565b51915af490611c15611af8565b9115611c1d57565b60405163c2ac6b1560e01b81526020600482015280611c3f60248201856116d8565b0390fd5b63fc6da03f60e01b5f9081526001600160a01b038516600452602490fd5b6001600160a01b038616141590505f611bac565b90506020813d602011611ca7575b81611c906020938361172c565b8101031261038457611ca19061185a565b5f611b98565b3d9150611c83565b632b22728160e01b5f9081526001600160a01b038416600452602490fd5b632d9fc4df60e01b5f9081526001600160a01b038516600452602490fd5b5f5b5f51602061273f5f395f51905f5254811015611d335780611d25611d126001936124d2565b848060a01b0391549060031b1c166117b2565b805460ff1916905501611ced565b5060405163244c9c2960e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316905f81600481855afa9081156112a9575f91612054575b508051906001600160401b03821161174d57600160401b821161174d575f51602061273f5f395f51905f5254825f51602061273f5f395f51905f5255808310612004575b506020015f51602061273f5f395f51905f525f5260205f205f5b838110611fe757505050505f5b5f51602061273f5f395f51905f5254811015611e225780611e12611d126001936124d2565b805460ff19168317905501611ded565b5060405163285ae0b560e11b8152602081600481855afa9081156112a9575f91611fad575b506001600160a01b038116908115611f9e573b15611f9e57806020916bffffffffffffffffffffffff60a01b5f51602061271f5f395f51905f525416175f51602061271f5f395f51905f52556004604051809481937fbf763557c505c1b722bd3c3ed64e9285f16c762c09089af49b698a584d6642115f80a2633325e1df60e01b82525afa9081156112a9575f91611f5c575b506001600160a01b03168015611f4d57803b15611f4d575f5160206126bf5f395f51905f5280546001600160a01b031916821790555f51602061271f5f395f51905f52546001600160a01b03167fcb42010e342ceb4c4105e1c628b15b7192d9ed5fc3d3dd7f3b45d5f3f6850fec5f80a3565b636c01d5a960e11b5f5260045ffd5b90506020813d602011611f96575b81611f776020938361172c565b8101031261038457516001600160a01b0381168103610384575f611eda565b3d9150611f6a565b6311a1e69760e01b5f5260045ffd5b90506020813d602011611fdf575b81611fc86020938361172c565b8101031261038457611fd99061185a565b5f611e47565b3d9150611fbb565b82516001600160a01b031681830155602090920191600101611de0565b5f51602061273f5f395f51905f525f527fa4d961140a2e255508446e5505d53a08f1773a113864933ae8ed69319e4ac2219081019083015b8181106120495750611dc6565b5f815560010161203c565b90503d805f833e612065818361172c565b810190602081830312610384578051906001600160401b03821161038457019080601f8301121561038457815161209b8161186e565b926120a9604051948561172c565b81845260208085019260051b82010192831161038457602001905b8282106120d4575050505f611d82565b602080916120e18461185a565b8152019101906120c4565b61213d90612146927f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f52601c52612137612130603c5f20926101408101906118bd565b369161177c565b90612502565b9092919261253c565b5f5160206126df5f395f51905f52546001600160a01b038281169116146121815761217260ff916117b2565b541661217d57600190565b5f90565b505f90565b5f51602061277f5f395f51905f52546001600160a01b0390811691168190036122af576020602491604051928380926370a0823160e01b82523060048301525afa9081156112a9575f9161227d575b505f5160206126bf5f395f51905f52546040516378e6802560e01b815230600482015290602090829060249082906001600160a01b03165afa9081156112a9575f9161224b575b50808211156122455781039081116122315790565b634e487b7160e01b5f52601160045260245ffd5b50505f90565b90506020813d602011612275575b816122666020938361172c565b8101031261038457515f61221c565b3d9150612259565b90506020813d6020116122a7575b816122986020938361172c565b8101031261038457515f6121d5565b3d915061228b565b636448d6e960e11b5f5260045ffd5b916001600160a01b038316918215612332576001600160a01b031692831561233257816122eb91856123bf565b5f5160206126df5f395f51905f52546040519182526001600160a01b0316907f8c0281578dec46ac28aa238d1ddc3bce894975318c50432a4b4c82e58777621690602090a4565b63d92e233d60e01b5f5260045ffd5b6001600160a01b03811691908215612332575f80808481945af1612363611af8565b50156123b0575f5160206126df5f395f51905f52546040519182526001600160a01b0316907f5c3457fa8f0624848f7477f9bc10f88c2c14a6f88ff9dfdfb6f6978a9dea47a890602090a3565b6312171d8360e31b5f5260045ffd5b916040519163a9059cbb60e01b5f5260018060a01b031660045260245260205f60448180865af19060015f511482161561241f575b604052156123ff5750565b635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b90600181151661243757823b15153d151616906123f4565b503d5f823e3d90fd5b6001600160a01b0316908115612332575f5160206126df5f395f51905f5280546001600160a01b031916831790557f901ebb5305bfc9018fe46ce288a2febf943d9263140e9c913b0707d8f0dbf9cd55612498611ceb565b735ff137d4b0fdcd49dca30c7cf57e578a026d27897ed85ca086af8cd244972a2f5c120c23ed58e508f2922c683db6a936a3838f1b5f80a3565b5f51602061273f5f395f51905f5254811015611895575f51602061273f5f395f51905f525f5260205f2001905f90565b81519190604183036125325761252b9250602082015190606060408401519301515f1a9061263c565b9192909190565b50505f9160029190565b600481101561259c578061254e575050565b600181036125655763f645eedf60e01b5f5260045ffd5b60028103612580575063fce698f760e01b5f5260045260245ffd5b60031461258a5750565b6335e2f38360e21b5f5260045260245ffd5b634e487b7160e01b5f52602160045260245ffd5b905f8091602081519101845af48080612629575b156125e45750506040513d81523d5f602083013e60203d82010160405290565b1561260957639996b31560e01b5f9081526001600160a01b0391909116600452602490fd5b3d1561261a576040513d5f823e3d90fd5b63d6bda27560e01b5f5260045ffd5b503d1515806125c45750813b15156125c4565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084116126b3579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa156112a9575f516001600160a01b038116156126a957905f905f90565b505f906001905f90565b5050505f916003919056fee1188561a552547db41879b73f85c993e73258928fd045015f7eda908faeb609901ebb5305bfc9018fe46ce288a2febf943d9263140e9c913b0707d8f0dbf9cc360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc901ebb5305bfc9018fe46ce288a2febf943d9263140e9c913b0707d8f0dbf9ce901ebb5305bfc9018fe46ce288a2febf943d9263140e9c913b0707d8f0dbf9cff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00e1188561a552547db41879b73f85c993e73258928fd045015f7eda908faeb608a264697066735822122034bacf73fa4a6c826816be029fb69dc9461e7b71fdab042793d6f620e2a14c0f64736f6c634300081c0033f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a000000000000000000000000009900f8019b20e822e2d5897db246a376a9514c8f", - "nonce": "0x1a", + "input": "0x00000000000000000000000000000000000000000000000000000000000000076080346100c057601f610ce738819003918201601f19168301916001600160401b038311848410176100c4578084926060946040528339810103126100c057610047816100d8565b6040610055602084016100d8565b920151918215158093036100c0576001600160a01b038216156100b1576001600160a01b038116156100b15761008d610093926100ec565b50610162565b5060ff801960015416911617600155604051610a9190816101f68239f35b63d92e233d60e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036100c057565b6001600160a01b0381165f9081525f516020610cc75f395f51905f52602052604090205460ff1661015d576001600160a01b03165f8181525f516020610cc75f395f51905f5260205260408120805460ff191660011790553391905f516020610c875f395f51905f528180a4600190565b505f90565b6001600160a01b0381165f9081525f516020610ca75f395f51905f52602052604090205460ff1661015d576001600160a01b03165f8181525f516020610ca75f395f51905f5260205260408120805460ff191660011790553391907fbf233dd2aafeb4d50879c4aa5c81e96d92f6e6945c906a58f9f2d1c1631b4b26905f516020610c875f395f51905f529080a460019056fe6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a7146106bd5750806320df435914610683578063248a9ca3146106515780632f2ff15d1461061457806336568abe146105d05780635e5617711461050c57806366b3c530146104a15780637464df1d1461047f578063846a77031461042a57806391d14854146103e257806399b39dc1146102ec578063a217fddf146102d2578063b5924e0b14610270578063b5b2f1ef14610188578063d547741f146101445763e36e2e37146100cc575f80fd5b34610140576020366003190112610140576100e5610726565b6100ed610774565b6001600160a01b031680156101315761010581610a01565b61010b57005b7f4ac723403fd9e3f5fbe7116bb75c15981bd5cb9ca32255900e5c29d9597cbee25f80a2005b63d92e233d60e01b5f5260045ffd5b5f80fd5b3461014057604036600319011261014057610186600435610163610710565b9061018161017c825f525f602052600160405f20015490565b6107c3565b610883565b005b34610140575f366003190112610140576040518060206002549182815201809160025f527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace905f5b81811061025a57505050829003601f01601f191682019167ffffffffffffffff8311818410176102465790829182604052602083019060208452518091526040830191905f5b818110610224575050500390f35b82516001600160a01b0316845285945060209384019390920191600101610216565b634e487b7160e01b5f52604160045260245ffd5b82548452602090930192600192830192016101d0565b34610140576020366003190112610140576004358015158091036101405760207f74c88bdf6980e6d2f0199be2ccaacfb3770508c3d4ce8a831fe820e7f7b4f404916102ba610774565b60ff196001541660ff821617600155604051908152a1005b34610140575f3660031901126101405760206040515f8152f35b346101405760203660031901126101405760043567ffffffffffffffff811161014057366023820112156101405780600401359067ffffffffffffffff8211610140576024810190602436918460051b0101116101405761034b610774565b5f5b82811061035657005b6001600160a01b0361037161036c83868661073c565b610760565b1615610131576001906103996001600160a01b0361039361036c84888861073c565b16610a01565b6103a4575b0161034d565b818060a01b036103b861036c83878761073c565b167f4ac723403fd9e3f5fbe7116bb75c15981bd5cb9ca32255900e5c29d9597cbee25f80a261039e565b34610140576040366003190112610140576103fb610710565b6004355f525f60205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b34610140576020366003190112610140576020610445610726565b60ff6001541690811561045e575b506040519015158152f35b6001600160a01b03165f908152600360205260409020541515905082610453565b34610140575f36600319011261014057602060ff600154166040519015158152f35b34610140576020366003190112610140576104ba610726565b60ff6001541615806104ed575b6104cd57005b631a7852a960e31b5f9081526001600160a01b0391909116600452602490fd5b506001600160a01b0381165f90815260036020526040902054156104c7565b3461014057602036600319011261014057610525610726565b335f9081527f3c1b1854ab1360abbb06c8d4c6b2672d4b8cedc5eff522ab19e51d5cb8fdbd46602052604090205460ff1615610599576001600160a01b031661056d81610918565b61057357005b7f3b00e462401f0dd38135e28206d1d0ad5dc97314acd8f937e1b9cb6b50a5869f5f80a2005b63e2517d3f60e01b5f52336004527fbf233dd2aafeb4d50879c4aa5c81e96d92f6e6945c906a58f9f2d1c1631b4b2660245260445ffd5b34610140576040366003190112610140576105e9610710565b336001600160a01b038216036106055761018690600435610883565b63334bd91960e11b5f5260045ffd5b3461014057604036600319011261014057610186600435610633610710565b9061064c61017c825f525f602052600160405f20015490565b6107fb565b3461014057602036600319011261014057602061067b6004355f525f602052600160405f20015490565b604051908152f35b34610140575f3660031901126101405760206040517fbf233dd2aafeb4d50879c4aa5c81e96d92f6e6945c906a58f9f2d1c1631b4b268152f35b34610140576020366003190112610140576004359063ffffffff60e01b821680920361014057602091637965db0b60e01b81149081156106ff575b5015158152f35b6301ffc9a760e01b149050836106f8565b602435906001600160a01b038216820361014057565b600435906001600160a01b038216820361014057565b919081101561074c5760051b0190565b634e487b7160e01b5f52603260045260245ffd5b356001600160a01b03811681036101405790565b335f9081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604090205460ff16156107ac57565b63e2517d3f60e01b5f52336004525f60245260445ffd5b5f8181526020818152604080832033845290915290205460ff16156107e55750565b63e2517d3f60e01b5f523360045260245260445ffd5b5f818152602081815260408083206001600160a01b038616845290915290205460ff1661087d575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50505f90565b5f818152602081815260408083206001600160a01b038616845290915290205460ff161561087d575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b805482101561074c575f5260205f2001905f90565b5f81815260036020526040902054801561087d575f1981018181116109ed576002545f198101919082116109ed5781810361099f575b505050600254801561098b575f1901610968816002610903565b8154905f199060031b1b191690556002555f5260036020525f6040812055600190565b634e487b7160e01b5f52603160045260245ffd5b6109d76109b06109c1936002610903565b90549060031b1c9283926002610903565b819391549060031b91821b915f19901b19161790565b90555f52600360205260405f20555f808061094e565b634e487b7160e01b5f52601160045260245ffd5b805f52600360205260405f2054155f14610a56576002546801000000000000000081101561024657610a3f6109c18260018594016002556002610903565b9055600254905f52600360205260405f2055600190565b505f9056fea2646970667358221220705c96288bd44725627e2512883b2143ea3bb15fe9f3ce27ec7db94567029cc364736f6c634300081c00332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d3c1b1854ab1360abbb06c8d4c6b2672d4b8cedc5eff522ab19e51d5cb8fdbd46ad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5000000000000000000000000773541f7c38be8106ae966ca9d6fee494a0edd24000000000000000000000000f8cbf6437d2473ec59885299af38d9a13ce97eca0000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x2f", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xce6126bfe544a722a46d69af2967864bb13ed35f7210f44c8541f1a0265dcb5e", + "hash": "0x64e6193e33c9be328a25ed28f2fe5333b9ea9f8d4da707bc5554adb3db43a7e7", "transactionType": "CREATE2", - "contractName": "YieldSeekerAdapterRegistry", - "contractAddress": "0x0021c1fdd50aa76fb59afe3fc3a38c02c257bdca", + "contractName": "YieldSeekerUniswapV3SwapAdapter", + "contractAddress": "0xdbcdba358a804dc388f33ffbd7fa664cf689cabd", "function": null, "arguments": [ - "0x773541F7c38BE8106AE966CA9D6fee494a0eDD24", - "0xF8CBf6437d2473eC59885299Af38D9A13cE97ecA" + "0x2626664c2603336E57B271c5C0b26F421741e481", + "0x2c61dC81bc40389FF11CE68e78E93a3F75e41b9c" ], "transaction": { "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x11ddb0", + "gas": "0x142404", "value": "0x0", - "input": "0x00000000000000000000000000000000000000000000000000000000000000076080346100a157601f610f7a38819003918201601f19168301916001600160401b038311848410176100a55780849260409485528339810103126100a157610052602061004b836100b9565b92016100b9565b6001600160a01b03821615610092576001600160a01b038116156100925761007c610082926100cd565b50610143565b50604051610d4390816101d78239f35b63d92e233d60e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036100a157565b6001600160a01b0381165f9081525f516020610f5a5f395f51905f52602052604090205460ff1661013e576001600160a01b03165f8181525f516020610f5a5f395f51905f5260205260408120805460ff191660011790553391905f516020610f1a5f395f51905f528180a4600190565b505f90565b6001600160a01b0381165f9081525f516020610f3a5f395f51905f52602052604090205460ff1661013e576001600160a01b03165f8181525f516020610f3a5f395f51905f5260205260408120805460ff191660011790553391907fbf233dd2aafeb4d50879c4aa5c81e96d92f6e6945c906a58f9f2d1c1631b4b26905f516020610f1a5f395f51905f529080a460019056fe6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a71461086f575080631d46021f146106e157806320df4359146106a757806322f2caf114610620578063248a9ca3146105ee5780632f2ff15d146105b157806336568abe1461056d5780633f4ba83a146105075780634a4ce08c1461048b5780635c975abb14610469578063618295df146103dd5780638456cb591461038557806391d148541461033d5780639362149e14610215578063a217fddf146101fb578063d547741f146101b7578063d5d7ff3c146101235763fa351f79146100e2575f80fd5b3461011f57602036600319011261011f576001600160a01b036101036108c2565b165f526005602052602060ff60405f2054166040519015158152f35b5f80fd5b3461011f57602036600319011261011f5761013c6108c2565b6101446109aa565b6001600160a01b031661015681610ba0565b90156101a457815f5260046020525f604081205561017382610c4e565b506001600160a01b0316907f95acdd767bfb2c6578833b7678c4dcc015f00b35820877f64a390809892628015f80a3005b50633b3f036f60e01b5f5260045260245ffd5b3461011f57604036600319011261011f576101f96004356101d66108d8565b906101f46101ef825f525f602052600160405f20015490565b610a19565b610ad9565b005b3461011f575f36600319011261011f5760206040515f8152f35b3461011f57604036600319011261011f5761022e6108c2565b6102366108d8565b61023e61095b565b6001600160a01b03821690811561032e576001600160a01b0381165f8181526005602052604090205490939060ff161561031b5761027b83610ba0565b6001600160a01b03169290156102e95784830361029457005b61029d91610b74565b50817f95acdd767bfb2c6578833b7678c4dcc015f00b35820877f64a390809892628015f80a37f1cf35c87329e14a81fdc68af8a463c1db203ccfc925ff5150f5dbc71bc4c23725f80a3005b906102f49250610b74565b507f1cf35c87329e14a81fdc68af8a463c1db203ccfc925ff5150f5dbc71bc4c23725f80a3005b8363fc6da03f60e01b5f5260045260245ffd5b63d92e233d60e01b5f5260045ffd5b3461011f57604036600319011261011f576103566108d8565b6004355f525f60205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b3461011f575f36600319011261011f5761039d6109aa565b6103a5610b59565b600160ff19815416176001557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b3461011f57602036600319011261011f576103f66108c2565b6103fe6109aa565b6001600160a01b03165f8181526005602052604090205460ff161561045757805f52600560205260405f2060ff1981541690557f9fbc8baf3d886b40fce5c05b089495702c9f5d8cb64f9c05db1a25e040d062965f80a2005b63fc6da03f60e01b5f5260045260245ffd5b3461011f575f36600319011261011f57602060ff600154166040519015158152f35b3461011f57602036600319011261011f576104bd6104a76108c2565b6104af610b59565b6001600160a01b0316610ba0565b6001600160a01b031690806104f1575b156104e8576020905b6040516001600160a01b039091168152f35b5060205f6104d6565b50805f52600560205260ff60405f2054166104cd565b3461011f575f36600319011261011f5761051f61095b565b60015460ff81161561055e5760ff19166001557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b638dfc202b60e01b5f5260045ffd5b3461011f57604036600319011261011f576105866108d8565b336001600160a01b038216036105a2576101f990600435610ad9565b63334bd91960e11b5f5260045ffd5b3461011f57604036600319011261011f576101f96004356105d06108d8565b906105e96101ef825f525f602052600160405f20015490565b610a51565b3461011f57602036600319011261011f5760206106186004355f525f602052600160405f20015490565b604051908152f35b3461011f57602036600319011261011f576106396108c2565b61064161095b565b6001600160a01b03811690811561032e573b1561069557805f52600560205260405f20600160ff198254161790557fa77e7c594c11a0d5d9d8e6a9132ac0db912dc0f34f5fb7d94860fe38d16410bd5f80a2005b6322a2d07b60e21b5f5260045260245ffd5b3461011f575f36600319011261011f5760206040517fbf233dd2aafeb4d50879c4aa5c81e96d92f6e6945c906a58f9f2d1c1631b4b268152f35b3461011f575f36600319011261011f576002545f905f5b818110610829575061070982610910565b60405192601f909101601f191683019067ffffffffffffffff8211848310176108155761073b91604052808452610910565b602083019190601f19013683375f805b82821061079f578385604051918291602083019060208452518091526040830191905f5b81811061077d575050500390f35b82516001600160a01b031684528594506020938401939092019160010161076f565b6107a882610928565b6001600160a01b03165f9081526005602052604090205460ff166107d2575b50906001019061074b565b8551821015610801576001600160a01b0316600582901b8601602001526001906107fb906108ee565b906107c7565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b61083281610928565b6001600160a01b03165f9081526005602052604090205460ff16905061085b575b6001016106f8565b916108676001916108ee565b929050610853565b3461011f57602036600319011261011f576004359063ffffffff60e01b821680920361011f57602091637965db0b60e01b81149081156108b1575b5015158152f35b6301ffc9a760e01b149050836108aa565b600435906001600160a01b038216820361011f57565b602435906001600160a01b038216820361011f57565b5f1981146108fc5760010190565b634e487b7160e01b5f52601160045260245ffd5b67ffffffffffffffff81116108155760051b60200190565b610933906002610bd1565b905460039190911b1c5f818152600460205260409020546001600160a01b0391821692911690565b335f9081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604090205460ff161561099357565b63e2517d3f60e01b5f52336004525f60245260445ffd5b335f9081527f3c1b1854ab1360abbb06c8d4c6b2672d4b8cedc5eff522ab19e51d5cb8fdbd46602052604090205460ff16156109e257565b63e2517d3f60e01b5f52336004527fbf233dd2aafeb4d50879c4aa5c81e96d92f6e6945c906a58f9f2d1c1631b4b2660245260445ffd5b5f8181526020818152604080832033845290915290205460ff1615610a3b5750565b63e2517d3f60e01b5f523360045260245260445ffd5b5f818152602081815260408083206001600160a01b038616845290915290205460ff16610ad3575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50505f90565b5f818152602081815260408083206001600160a01b038616845290915290205460ff1615610ad3575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b60ff60015416610b6557565b63d93c066560e01b5f5260045ffd5b6001600160a01b039081165f818152600460205260409020919092169055610b9d906002610be6565b90565b805f52600460205260405f205480155f14610bc957505f52600360205260405f20541515905f90565b600192909150565b8054821015610801575f5260205f2001905f90565b5f828152600182016020526040902054610ad357805490680100000000000000008210156108155782610c39610c23846001809601855584610bd1565b819391549060031b91821b915f19901b19161790565b90558054925f520160205260405f2055600190565b5f818152600360205260409020548015610ad3575f1981018181116108fc576002545f198101919082116108fc57818103610cd5575b5050506002548015610cc1575f1901610c9e816002610bd1565b8154905f199060031b1b191690556002555f5260036020525f6040812055600190565b634e487b7160e01b5f52603160045260245ffd5b610cf7610ce6610c23936002610bd1565b90549060031b1c9283926002610bd1565b90555f52600360205260405f20555f8080610c8456fea2646970667358221220ea32fadb6778ec3f20ac9c53d0f193b054c98ceb5e512bacf0109eee1c9f41ff64736f6c634300081c00332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d3c1b1854ab1360abbb06c8d4c6b2672d4b8cedc5eff522ab19e51d5cb8fdbd46ad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5000000000000000000000000773541f7c38be8106ae966ca9d6fee494a0edd24000000000000000000000000f8cbf6437d2473ec59885299af38d9a13ce97eca", - "nonce": "0x1b", + "input": "0x000000000000000000000000000000000000000000000000000000000000000760e0346100ea57601f61115738819003918201601f19168301916001600160401b038311848410176100ee5780849260409485528339810103126100ea57610052602061004b83610102565b9201610102565b30608052906001600160a01b038116156100db5760a0526001600160a01b038116156100db5760c0526040516110409081610117823960805181610178015260a05181818160f50152818161041c015281816106b0015281816108ca01528181610a2901528181610be001528181610c460152610efe015260c05181818160b101526105880152f35b63d92e233d60e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036100ea5756fe60806040526004361015610011575f80fd5b5f3560e01c80631cff79cd1461012457806341c64a2f146100e05780638988333b1461009c5763da4c4c4714610045575f80fd5b346100985760a03660031901126100985761005e6101dd565b506100676101f3565b5060443567ffffffffffffffff811161009857604090600319903603011261009857633954108560e21b5f5260045ffd5b5f80fd5b34610098575f366003190112610098576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610098575f366003190112610098576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6040366003190112610098576101386101dd565b60243567ffffffffffffffff8111610098573660238201121561009857806004013567ffffffffffffffff811161009857366024828401011161009857307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146101ce576101ca9260246101b69301906102ab565b60405191829160208352602083019061021d565b0390f35b633954108560e21b5f5260045ffd5b600435906001600160a01b038216820361009857565b602435906001600160a01b038216820361009857565b35906001600160a01b038216820361009857565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6040810190811067ffffffffffffffff82111761025d57604052565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff82111761025d57604052565b67ffffffffffffffff811161025d5760051b60200190565b92905f92806004116100985781356001600160e01b03191663da4c4c4760e01b146102df576311fa59f360e11b8452600484fd5b919291810160a08282036003190112610098576102fe60048301610209565b9061030b60248401610209565b95604484013567ffffffffffffffff81116100985784019160408382036003190112610098576040519261033e84610241565b600481013567ffffffffffffffff81116100985760049082010182601f820112156100985780359061036f82610293565b9161037d6040519384610271565b80835260208084019160051b8301019185831161009857602001905b828210610f4a575050508452602481013567ffffffffffffffff81116100985760049101019080601f83011215610098578135906103d682610293565b926103e46040519485610271565b82845260208085019360051b82010191821161009857602001915b818310610f2e5750505060208301526001600160a01b03908116907f0000000000000000000000000000000000000000000000000000000000000000168103610eea5750805151600281108015610ee0575b610ece576020820151515f19820190828211610eba578103610eab5782516001600160a01b039061048190610f62565b5184519116916001600160a01b039161049a9190610f83565b51169060018060a01b0385161490811591610e97575b50610e73575f5b818110610e245750505f5b6020820151805182101561053a576104de8262ffffff92610f83565b511660648114158061052e575b80610522575b80610516575b61050457506001016104c2565b63264270fb60e21b5f5260045260245ffd5b506127108114156104f7565b50610bb88114156104f1565b506101f48114156104eb565b50509193949092946040519461054f86610241565b5f80875260208701526001600160a01b038516158015610e13575b8015610dfe575b610de0576064810135158015610dd4575b610dc5577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316803b156100985760405163066b3c5360e41b81526001600160a01b0387166004820152905f90829060249082905afa8015610dba57610da5575b506001600160a01b036105fb610fa4565b166001600160a01b03861614610d96576001600160a01b0361061b610fa4565b166001600160a01b03841603610d87576040516370a0823160e01b81523060048201526020816024816001600160a01b0388165afa908115610d4a578891610d55575b5086526040516370a0823160e01b81523060048201526020816024816001600160a01b038a165afa908115610d4a578891610d18575b50602087015260405163095ea7b360e01b885260018060a01b037f00000000000000000000000000000000000000000000000000000000000000001660045260648201356024526020886044818060018060a01b038b165af1906001895114821615610cff575b60405215610bc9575b61070e8451610f62565b51604051906bffffffffffffffffffffffff199060601b1660208201526014815261073a603482610271565b9487955b60208601518051881015610829578761075691610f83565b5160405160e89190911b6001600160e81b03191660208201526003815261077e602382610271565b86516001890190818a1161081557926020928c6107a061080d94600197610f83565b5191858060405192818401956bffffffffffffffffffffffff199060601b168652601484526107d0603485610271565b60405198878a985191829101848a015e870190828201868152815193849201905e0101918252518092825e018c815203601f198101835282610271565b96019561073e565b634e487b7160e01b8c52601160045260248cfd5b50919694509450959095604051906080820182811067ffffffffffffffff821117610bb557604052815260206108a081830192308452604081019360648a013585526060820160848b01358152604051958694859463b858183f60e01b8652876004870152516080602487015260a486019061021d565b92516001600160a01b039081166044860152905160648501529051608484015291900390829086907f0000000000000000000000000000000000000000000000000000000000000000165af18015610aa757610b86575b506040516370a0823160e01b81523060048201526020816024816001600160a01b0387165afa908115610aa7578291610b54575b506040516370a0823160e01b8152306004820152906020826024816001600160a01b038a165afa918215610b49578392610b13575b5061097261097a926020870151610f97565b945190610f97565b9460848101358610610af85750604051633325e1df60e01b8152602081600481305afa908115610aa7578291610ab6575b506001600160a01b0316803b15610ab257604051632530943760e01b81526001600160a01b038616600482015260248101859052604481018790529082908290606490829084905af18015610aa757610a8f575b5050604080516001600160a01b0394851681529184166020830152810191909152606081018390527f00000000000000000000000000000000000000000000000000000000000000009091169030907fd6d4f5681c246c9f42c203e287975af1601f8df8035a9251f79aab5c8f09e2f890608090a360405190602082015260208152610a8c604082610271565b90565b610a9a828092610271565b610aa457806109ff565b80fd5b6040513d84823e3d90fd5b5080fd5b90506020813d602011610af0575b81610ad160209383610271565b81010312610ab257516001600160a01b0381168103610ab2575f6109ab565b3d9150610ac4565b630583371760e31b8252600486905260840135602452604490fd5b91506020823d602011610b41575b81610b2e60209383610271565b8101031261009857905190610972610960565b3d9150610b21565b6040513d85823e3d90fd5b90506020813d602011610b7e575b81610b6f60209383610271565b8101031261009857515f61092b565b3d9150610b62565b6020813d602011610bad575b81610b9f60209383610271565b8101031261009857516108f7565b3d9150610b92565b634e487b7160e01b84526041600452602484fd5b60405163095ea7b360e01b88526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660045260248990526020908990604490829081908b165af1906001895114821615610cde575b60405215610c985760405163095ea7b360e01b88526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660045260648301356024526020908990604490829081908b165af1906001895114821615610cb4575b604052610704575b635274afe760e01b87526001600160a01b038516600452602487fd5b906001811516610cd5573d156001600160a01b0388163b1515161690610c90565b503d88823e3d90fd5b906001811516610cd5573d156001600160a01b0388163b1515161690610c27565b3d156001600160a01b0388163b151516909116906106fb565b90506020813d602011610d42575b81610d3360209383610271565b8101031261009857515f610694565b3d9150610d26565b6040513d8a823e3d90fd5b90506020813d602011610d7f575b81610d7060209383610271565b8101031261009857515f61065e565b3d9150610d63565b634847234360e01b8752600487fd5b6326ec736f60e11b8752600487fd5b610db29197505f90610271565b5f955f6105ea565b6040513d5f823e3d90fd5b631f2a200560e01b5f5260045ffd5b50608481013515610582565b632edfb9f560e21b5f9081526001600160a01b038616600452602490fd5b506001600160a01b0385811690841614610571565b506001600160a01b0383161561056a565b82516001600160a01b0390610e3a908390610f83565b511615610e49576001016104b7565b91516001600160a01b0392610e5f925090610f83565b5116632edfb9f560e21b5f5260045260245ffd5b630e084dd560e11b5f9081526001600160a01b038085166004528816602452604490fd5b6001600160a01b038916141590505f6104b0565b6316b0de1160e01b5f5260045ffd5b634e487b7160e01b5f52601160045260245ffd5b630f34c83160e21b5f5260045260245ffd5b5060058111610451565b63c3d4601f60e01b5f9081526004919091527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316602452604490fd5b823562ffffff81168103610098578152602092830192016103ff565b60208091610f5784610209565b815201910190610399565b805115610f6f5760200190565b634e487b7160e01b5f52603260045260245ffd5b8051821015610f6f5760209160051b010190565b91908203918211610eba57565b60405163cdf456e160e01b8152602081600481305afa908115610dba575f91610fcb575090565b90506020813d602011611002575b81610fe660209383610271565b8101031261009857516001600160a01b03811681036100985790565b3d9150610fd956fea26469706673582212207a4a3382686fb1aef02841692ea690544cca05bb110833eeaac91ec976084e2d64736f6c634300081c00330000000000000000000000002626664c2603336e57b271c5c0b26f421741e4810000000000000000000000002c61dc81bc40389ff11ce68e78e93a3f75e41b9c", + "nonce": "0x30", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x05b9cb5f0e27c04ef4da54621cf87927807adcd7e3e8c55829a1c611356751b9", + "hash": "0x1f4f410b8aae741dbd59cc026cf95cac68c43875cc9ae951dafb034bce857df2", "transactionType": "CREATE2", - "contractName": "YieldSeekerFeeTracker", - "contractAddress": "0x2e11edc25e5f2391cd9225a7c107d1b41ebacc9f", + "contractName": "YieldSeekerAerodromeV2SwapAdapter", + "contractAddress": "0x01fe6834fa3af286d6c568dc868ceec08f7dad20", "function": null, "arguments": [ - "0x773541F7c38BE8106AE966CA9D6fee494a0eDD24" + "0xcF77a3Ba9A5CA399B7c97c74d54e5b1Beb874E43", + "0x420DD381b31aEf6683db6B902084cB0FFECe40Da", + "0x2c61dC81bc40389FF11CE68e78E93a3F75e41b9c" ], "transaction": { "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x148f08", - "value": "0x0", - "input": "0x000000000000000000000000000000000000000000000000000000000000000760803461007d57601f61115538819003918201601f19168301916001600160401b038311848410176100815780849260209460405283398101031261007d57516001600160a01b03811680820361007d571561006e5761005e90610095565b50604051611016908161011f8239f35b63d92e233d60e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6001600160a01b0381165f9081525f5160206111355f395f51905f52602052604090205460ff16610119576001600160a01b03165f8181525f5160206111355f395f51905f5260205260408120805460ff191660011790553391907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b505f9056fe6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a7146108b7575080630e19a3121461085a57806310a3bc08146103695780631aea105e146107f657806322bf55ef1461079b5780632338e72914610763578063248a9ca314610739578063253094371461072257806327bca7fa146106d25780632f2ff15d14610695578063328467a714610679578063331115c41461060f57806336568abe146105cb5780633c3eeafa1461057b5780633d2dca711461052257806354107a041461050b5780636468af341461041d57806378e68025146103b957806386e7f6bc1461036957806388c7fff31461034c5780638931e828146102665780638dce48671461022e57806391d14854146101e6578063a217fddf146101cc578063c415b95c146101a4578063c70276311461018d5763d547741f14610145575f80fd5b3461018957604036600319011261018957610187600435610164610920565b9061018261017d825f525f602052600160405f20015490565b610e2f565b610eef565b005b5f80fd5b346101895761018761019e36610936565b91610c51565b34610189575f366003190112610189576002546040516001600160a01b039091168152602090f35b34610189575f3660031901126101895760206040515f8152f35b34610189576040366003190112610189576101ff610920565b6004355f525f60205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b34610189576020366003190112610189576001600160a01b0361024f61090a565b165f526004602052602060405f2054604051908152f35b34610189576020366003190112610189576001600160a01b0361028761090a565b16805f52600360205260405f2054815f52600460205260405f2054604051926378e6802560e01b84526004840152602083602481305afa908115610341575f916102e2575b6060935060405192835260208301526040820152f35b905060203d60201161033a575b601f8101601f1916840167ffffffffffffffff811185821017610326576020918591604052810103126101895760609251906102cc565b634e487b7160e01b5f52604160045260245ffd5b503d6102ef565b6040513d5f823e3d90fd5b34610189575f366003190112610189576020600154604051908152f35b346101895760403660031901126101895761038261090a565b61038a610920565b6001600160a01b039182165f908152600760209081526040808320949093168252928352819020549051908152f35b34610189576020366003190112610189576001600160a01b036103da61090a565b16805f52600360205260405f2054905f52600460205260405f2054908181115f146104135760209161040b916109b2565b604051908152f35b505060205f61040b565b3461018957604036600319011261018957600435610439610920565b335f9081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604090205460ff16156104f45761138882116104e5576001600160a01b031680156104d657816040917fe125ae54d7ba2b06e6f44852861516acb2dd2692cf41fb127fa03252f15b334e93600155806bffffffffffffffffffffffff60a01b600254161760025582519182526020820152a1005b63d92e233d60e01b5f5260045ffd5b630adad23360e31b5f5260045ffd5b63e2517d3f60e01b5f52336004525f60245260445ffd5b346101895761018761051c36610936565b91610a85565b346101895760403660031901126101895761053b61090a565b61271061054c600154602435610960565b0490335f52600760205260405f209060018060a01b03165f5260205261057760405f209182546109a5565b9055005b346101895760403660031901126101895761059461090a565b61059c610920565b6001600160a01b039182165f908152600660209081526040808320949093168252928352819020549051908152f35b34610189576040366003190112610189576105e4610920565b336001600160a01b038216036106005761018790600435610eef565b63334bd91960e11b5f5260045ffd5b3461018957604036600319011261018957604061062a61090a565b610632610920565b6001600160a01b039182165f818152600560209081528582209490931680825293835284812054918152600683528481209381529282529183902054835192835290820152f35b34610189575f3660031901126101895760206040516113888152f35b34610189576040366003190112610189576101876004356106b4610920565b906106cd61017d825f525f602052600160405f20015490565b610e67565b34610189576040366003190112610189576106eb61090a565b6106f3610920565b6001600160a01b039182165f908152600560209081526040808320949093168252928352819020549051908152f35b346101895761018761073336610936565b916109bf565b3461018957602036600319011261018957602061040b6004355f525f602052600160405f20015490565b34610189576020366003190112610189576001600160a01b0361078461090a565b165f526003602052602060405f2054604051908152f35b3461018957602036600319011261018957600435335f52600460205260405f206107c68282546109a5565b90556040519081527f075a2720282fdf622141dae0b048ef90a21a7e57c134c76912d19d006b3b3f6f60203392a2005b346101895761080436610936565b9190335f52600560205260405f2060018060a01b0383165f5260205261082f60405f209182546109a5565b9055335f52600660205260405f209060018060a01b03165f5260205261057760405f209182546109a5565b346101895760203660031901126101895760043561271061087d60015483610960565b04335f52600360205260405f206108958282546109a5565b905560405191825260208201525f516020610fc15f395f51905f5260403392a2005b34610189576020366003190112610189576004359063ffffffff60e01b821680920361018957602091637965db0b60e01b81149081156108f9575b5015158152f35b6301ffc9a760e01b149050836108f2565b600435906001600160a01b038216820361018957565b602435906001600160a01b038216820361018957565b6060906003190112610189576004356001600160a01b038116810361018957906024359060443590565b8181029291811591840414171561097357565b634e487b7160e01b5f52601160045260245ffd5b8115610991570490565b634e487b7160e01b5f52601260045260245ffd5b9190820180921161097357565b9190820391821161097357565b8115610a8057335f52600760205260405f2060018060a01b0382165f5260205260405f2054806109f0575b50505050565b610a3493610a2f9282851115610a7557610a0a83806109b2565b90335f52600760205260405f209060018060a01b03165f5260205260405f2055610960565b610987565b335f52600360205260405f20610a4b8282546109a5565b90556040519080825260208201525f516020610fc15f395f51905f5260403392a25f8080806109ea565b610a0a8580946109b2565b505050565b919080158015610c49575b610a8057335f8181526005602090815260408083206001600160a01b0388168085529083528184205485855260068452828520828652845282852054958552600784528285209185529252822054610b3995610b1593929180610b9d575b50808610610b755750610b06918192839186976109b2565b818111610b5b575b50506109b2565b335f52600560205260405f2060018060a01b0386165f5260205260405f20556109b2565b90335f52600660205260405f209060018060a01b03165f5260205260405f2055565b610b6e91610b68916109b2565b33610f6f565b815f610b0e565b610b06610b9793610b8a83610a2f8a87610960565b948593610a2f8a8a610960565b976109b2565b909250828610610c3157610bb181806109b2565b335f9081526007602090815260408083206001600160a01b038d16845290915290205584838115610c2957610a2f90610be993610960565b915b335f52600360205260405f20610c028482546109a5565b90556040518381528360208201525f516020610fc15f395f51905f5260403392a25f610aee565b505091610beb565b610bb1610c4284610a2f8985610960565b80926109b2565b508115610a90565b91908015610a8057335f8181526006602090815260408083206001600160a01b03881680855290835281842054858552600584528285208286528452828520549585526007845282852091855292528220549294909392909190839080610da5575b50841015610d49575083151580610d40575b610d10575b50505050335f52600560205260405f2060018060a01b0382165f526020525f6040812055335f52600660205260405f209060018060a01b03165f526020525f6040812055565b610d1d92610a2f91610960565b818111610d2c575b8080610cca565b610d3991610b68916109b2565b5f80610d25565b50821515610cc5565b839293610d59575b505050505050565b84610b1592610b06610d7286610a2f89610d7a9b610960565b9384926109b2565b90335f52600660205260405f209060018060a01b03165f5260205260405f20555f8080808080610d51565b610de59250610a2f9080831115610e2457610dc081806109b2565b335f52600760205260405f2060018060a01b038b165f5260205260405f205584610960565b335f52600360205260405f20610dfc8282546109a5565b90556040518181528160208201525f516020610fc15f395f51905f5260403392a2825f610cb3565b610dc08380926109b2565b5f8181526020818152604080832033845290915290205460ff1615610e515750565b63e2517d3f60e01b5f523360045260245260445ffd5b5f818152602081815260408083206001600160a01b038616845290915290205460ff16610ee9575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50505f90565b5f818152602081815260408083206001600160a01b038616845290915290205460ff1615610ee9575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b9060405f516020610fc15f395f51905f5291612710610f9060015483610960565b049360018060a01b031693845f526003602052825f20610fb18282546109a5565b905582519182526020820152a256fe4cf3d44e1da794302b8d37b1bd4a8dbdc04caf6afe8cef3bdeda69040f09c0dba2646970667358221220628eaf77d13a10ec85254216fdd6e8dc9b27b1c5ad22a262ce71aad58baa54bd64736f6c634300081c0033ad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5000000000000000000000000773541f7c38be8106ae966ca9d6fee494a0edd24", - "nonce": "0x1c", - "chainId": "0x2105" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", - "transactionType": "CREATE2", - "contractName": "YieldSeekerERC4626Adapter", - "contractAddress": "0x98474be8d188f450fef65b5c6d290d333eb74a2f", - "function": null, - "arguments": null, - "transaction": { - "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", - "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0xb7a10", + "gas": "0x138ada", "value": "0x0", - "input": "0x000000000000000000000000000000000000000000000000000000000000000760a08060405234602157306080526108db908161002682396080518160ab0152f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80631cff79cd1461004a5780632e1a7d4d14610045578063658ce9d9146100455763b6b55f2514610045575f80fd5b61012a565b6040366003190112610126576004356001600160a01b0381168103610126576024359067ffffffffffffffff821161012657366023830112156101265781600401359167ffffffffffffffff831161012657366024848301011161012657307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146101175760209260409260246100eb930190610180565b815192839181835280519182918282860152018484015e5f828201840152601f01601f19168101030190f35b633954108560e21b5f5260045ffd5b5f80fd5b3461012657602036600319011261012657633954108560e21b5f5260045ffd5b90601f8019910116810190811067ffffffffffffffff82111761016c57604052565b634e487b7160e01b5f52604160045260245ffd5b90915f9281600411806101265781356001600160e01b03191663b6b55f2560e01b81146104ea5763658ce9d960e01b811461039f57632e1a7d4d60e01b146101d1576311fa59f360e11b8552600485fd5b90919293506101265780600460209201928391010312610126576040516338d52e0f60e01b81526001600160a01b03831692913590602081600481875afa801561032257610226915f91610370575b506107b5565b80156103615760405192635d043b2960e11b84528160048501523060248501523060448501526020846064815f855af1938415610322575f9461032d575b506040518281528460208201527f91fb9d98b786c57d74c099ccd2beca1739e9f6a81fb49001ca465c4b7591bbe260403092a36001600160a01b036102a761083f565b1691823b156101265760405163c702763160e01b81526001600160a01b03919091166004820152602481019190915260448101839052905f908290606490829084905af1801561032257610312575b506040519060208201526020815261030f60408261014a565b90565b5f61031c9161014a565b5f6102f6565b6040513d5f823e3d90fd5b9093506020813d602011610359575b816103496020938361014a565b810103126101265751925f610264565b3d915061033c565b631f2a200560e01b5f5260045ffd5b610392915060203d602011610398575b61038a818361014a565b81019061050a565b5f610220565b503d610380565b5090919293506101265780600460209201928391010312610126576040516338d52e0f60e01b8152903591906020816004816001600160a01b0386165afa908115610322575f916104cb575b50821580156104c0575b6104ad576040516370a0823160e01b815230600482015290602090829060249082906001600160a01b03165afa908115610322575f9161047b575b508281029281840414901517156104675761271061044f920490610529565b6040519060208201526020815261030f60408261014a565b634e487b7160e01b5f52601160045260245ffd5b90506020813d6020116104a5575b816104966020938361014a565b8101031261012657515f610430565b3d9150610489565b8263aa31867360e01b5f5260045260245ffd5b5061271083116103f5565b6104e4915060203d6020116103985761038a818361014a565b5f6103eb565b50506020919350600481019384910103126101265761044f913590610529565b9081602091031261012657516001600160a01b03811681036101265790565b6040516338d52e0f60e01b81526001600160a01b03821693929190602081600481885afa801561032257610563915f9161037057506107b5565b8115610361576040516338d52e0f60e01b8152602081600481885afa908115610322575f91610796575b5060018060a01b031660405163095ea7b360e01b5f52856004528360245260205f60448180865af19060015f5114821615610787575b604052156106d2575b50604051636e553f6560e01b815260048101839052306024820152936020856044815f855af1948515610322575f9561069e575b506040518381528560208201527ff5681f9d0db1b911ac18ee83d515a1cf1051853a9eae418316a2fdf7dea427c560403092a3836001600160a01b0361064461083f565b16803b1561012657604051630d75082f60e11b81526001600160a01b0393909316600484015260248301939093526044820152905f908290606490829084905af18015610322576106925750565b5f61069c9161014a565b565b9094506020813d6020116106ca575b816106ba6020938361014a565b810103126101265751935f610600565b3d91506106ad565b60405163095ea7b360e01b5f52856004525f60245260205f60448180865af19060015f511482161561076f575b6040521561073c5760405163095ea7b360e01b5f52856004528360245260205f60448180865af19060015f511482161561074e575b6040526105cc575b635274afe760e01b5f5260045260245ffd5b90600181151661076657823b15153d15161690610734565b503d5f823e3d90fd5b90600181151661076657823b15153d151616906106ff565b90823b15153d151616906105c3565b6107af915060203d6020116103985761038a818361014a565b5f61058d565b60405163cdf456e160e01b8152602081600481305afa908115610322575f916107fd575b506001600160a01b039081169116036107ee57565b634847234360e01b5f5260045ffd5b90506020813d602011610837575b816108186020938361014a565b8101031261012657516001600160a01b0381168103610126575f6107d9565b3d915061080b565b604051633325e1df60e01b8152602081600481305afa908115610322575f91610866575090565b90506020813d60201161089d575b816108816020938361014a565b8101031261012657516001600160a01b03811681036101265790565b3d915061087456fea26469706673582212200064266f7b4cb7c2fcfdeeeb8df04821e1db57a03d9d596ae307decff09a512364736f6c634300081c0033", - "nonce": "0x1d", + "input": "0x0000000000000000000000000000000000000000000000000000000000000007610100346100fb57601f610fed38819003918201601f19168301916001600160401b038311848410176100ff578084926060946040528339810103126100fb5761004881610113565b90610061604061005a60208401610113565b9201610113565b30608052916001600160a01b0381161580156100ea575b6100db5760a05260c0526001600160a01b038116156100db5760e052604051610ec590816101288239608051816101c9015260a051818181610100015261048c015260c05181818161014401526106b3015260e05181818160bc01526105610152f35b63d92e233d60e01b5f5260045ffd5b506001600160a01b03821615610078565b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036100fb5756fe60806040526004361015610011575f80fd5b5f3560e01c80631cff79cd1461017357806342f3cb361461012f578063825427e2146100eb5780638988333b146100a757639f5ab9ed14610050575f80fd5b346100a35760a03660031901126100a357610069610244565b5061007261025a565b5060443567ffffffffffffffff81116100a35760409060031990360301126100a357633954108560e21b5f5260045ffd5b5f80fd5b346100a3575f3660031901126100a3576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346100a3575f3660031901126100a3576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346100a3575f3660031901126100a3576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126100a357610187610244565b6024359067ffffffffffffffff82116100a357366023830112156100a35781600401359167ffffffffffffffff83116100a35736602484830101116100a357307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161461023557602092604092602461020993019061030a565b815192839181835280519182918282860152018484015e5f828201840152601f01601f19168101030190f35b633954108560e21b5f5260045ffd5b600435906001600160a01b03821682036100a357565b602435906001600160a01b03821682036100a357565b35906001600160a01b03821682036100a357565b6040810190811067ffffffffffffffff8211176102a057604052565b634e487b7160e01b5f52604160045260245ffd5b6080810190811067ffffffffffffffff8211176102a057604052565b90601f8019910116810190811067ffffffffffffffff8211176102a057604052565b67ffffffffffffffff81116102a05760051b60200190565b92905f92806004116100a35781356001600160e01b031916639f5ab9ed60e01b1461033e576311fa59f360e11b8452600484fd5b919291810160a082820360031901126100a35761035d60048301610270565b9261036a60248401610270565b94604484013567ffffffffffffffff81116100a357840194604086850360031901126100a3576040519561039d87610284565b600481013567ffffffffffffffff81116100a35760049082010185601f820112156100a3578035906103ce826102f2565b916103dc60405193846102d0565b80835260208084019160051b830101918883116100a357602001905b828210610df0575050508752602481013567ffffffffffffffff81116100a35760049101019380601f860112156100a357843590610435826102f2565b9561044360405197886102d0565b82875260208088019360051b8201019182116100a357602001915b818310610dd757505050602086019384526001600160a01b03968716979087169660648601359560840135917f000000000000000000000000000000000000000000000000000000000000000082169116818103610dc25750865151600281108015610db8575b610da6578551515f19820190828211610d92578103610d83578851805115610d6f576020015189516001600160a01b03918216928d928d92909161050891610e08565b5116921491821592610d64575b5050610d4d575f5b818110610d005750506040519761053389610284565b5f895260208901985f8a5281158015610cf8575b8015610cef575b610cdc5787158015610cd4575b610cc5577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316803b156100a3575f6024916040519283809263066b3c5360e41b82528760048301525afa8015610cba57610ca5575b506001600160a01b036105c9610e29565b168214610c96576001600160a01b036105e0610e29565b168b03610c87576040516370a0823160e01b81523060048201526020816024818f5afa908115610c4a578791610c55575b5081526040516370a0823160e01b8152306004820152602081602481865afa908115610c4a578791610c18575b508a5260405163095ea7b360e01b8752836004528860245260208760448180875af1906001885114821615610c09575b60405215610b52575b8699979951519a6106878c6102f2565b9b6106956040519d8e6102d0565b808d526106a4601f19916102f2565b01875b8d828210610b1c5750507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316999050875b895151811015610788578b516001600160a01b0390610700908390610e08565b51168c51600183018311610774578f9260019381938f8f61073b8561076d976107328b8060a01b03918c840190610e08565b51169251610e08565b511515906040519361074c856102b4565b84526020840152604083015260608201526107678383610e08565b52610e08565b50016106e0565b634e487b7160e01b8b52601160045260248bfd5b50949a92985095949a929850955083604051809363cac88ea960e01b825260a482019360048301528b602483015260a060448301528051809452602060c48301910193835b818110610acb5750508192935030606483015263ffffffff60848301520381838b5af18015610a2657610a31575b506040516370a0823160e01b8152306004820152602081602481875afa908115610a265783916109f4575b506040516370a0823160e01b81523060048201526020816024818a5afa9081156109e95784916109b5575b50610860906108689351610e1c565b945190610e1c565b9580871061099d5750604051633325e1df60e01b8152602081600481305afa90811561094c57829161095b575b506001600160a01b0316803b1561095757818091606460405180948193632530943760e01b83528a60048401528960248401528c60448401525af1801561094c57610934575b5050604051928352602083015260408201528260608201527fd6d4f5681c246c9f42c203e287975af1601f8df8035a9251f79aab5c8f09e2f860803092a3604051906020820152602081526109316040826102d0565b90565b61093f8280926102d0565b61094957806108db565b80fd5b6040513d84823e3d90fd5b5080fd5b90506020813d602011610995575b81610976602093836102d0565b8101031261095757516001600160a01b0381168103610957575f610895565b3d9150610969565b630583371760e31b8252600487905260245260449150fd5b90506020813d6020116109e1575b816109d0602093836102d0565b810103126100a35751610868610851565b3d91506109c3565b6040513d86823e3d90fd5b90506020813d602011610a1e575b81610a0f602093836102d0565b810103126100a357515f610826565b3d9150610a02565b6040513d85823e3d90fd5b3d8084833e610a4081836102d0565b810190602081830312610ac35780519067ffffffffffffffff8211610ac757019080601f83011215610ac3578151610a77816102f2565b92610a8560405194856102d0565b81845260208085019260051b820101928311610abf57602001905b828210610aaf575050506107fb565b8151815260209182019101610aa0565b8580fd5b8380fd5b8480fd5b855180516001600160a01b03908116855260208083015182168187015260408084015115159087015260609283015190911691850191909152909501948894508693506080909201916001016107cd565b90602091829c9e9c8260405192610b32846102b4565b8d84528d838501528d60408501528d6060850152010152019b999b6106a7565b60405163095ea7b360e01b8752836004528660245260208760448180875af1906001885114821615610bf1575b60405215610bbc5760405163095ea7b360e01b8752836004528860245260208760448180875af1906001885114821615610bd0575b604052610677575b635274afe760e01b86526004829052602486fd5b906001811516610be857833b15153d15161690610bb4565b503d87823e3d90fd5b906001811516610be857833b15153d15161690610b7f565b90833b15153d1516169061066e565b90506020813d602011610c42575b81610c33602093836102d0565b810103126100a357515f61063e565b3d9150610c26565b6040513d89823e3d90fd5b90506020813d602011610c7f575b81610c70602093836102d0565b810103126100a357515f610611565b3d9150610c63565b634847234360e01b8652600486fd5b6326ec736f60e11b8652600486fd5b610cb29196505f906102d0565b5f945f6105b8565b6040513d5f823e3d90fd5b631f2a200560e01b5f5260045ffd5b50831561055b565b50632edfb9f560e21b5f5260045260245ffd5b508a821461054e565b508a15610547565b88516001600160a01b0390610d16908390610e08565b511615610d255760010161051d565b88516001600160a01b0391610d3991610e08565b5116632edfb9f560e21b5f5260045260245ffd5b8989630e084dd560e11b5f5260045260245260445ffd5b141590508a5f610515565b634e487b7160e01b5f52603260045260245ffd5b6316b0de1160e01b5f5260045ffd5b634e487b7160e01b5f52601160045260245ffd5b630f34c83160e21b5f5260045260245ffd5b50600581116104c5565b632ba79f4360e21b5f5260045260245260445ffd5b823580151581036100a35781526020928301920161045e565b60208091610dfd84610270565b8152019101906103f8565b8051821015610d6f5760209160051b010190565b91908203918211610d9257565b60405163cdf456e160e01b8152602081600481305afa908115610cba575f91610e50575090565b90506020813d602011610e87575b81610e6b602093836102d0565b810103126100a357516001600160a01b03811681036100a35790565b3d9150610e5e56fea26469706673582212209a7c7bc61d35ae306b9ba3234c96b9b982dfb3541ae79ecbdd3aecaa6920057e64736f6c634300081c0033000000000000000000000000cf77a3ba9a5ca399b7c97c74d54e5b1beb874e43000000000000000000000000420dd381b31aef6683db6b902084cb0ffece40da0000000000000000000000002c61dc81bc40389ff11ce68e78e93a3f75e41b9c", + "nonce": "0x31", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x0daabdfb07a8cd04d02c33141e1a96204f9fd4eb6cc254b736e46fe5155d46c7", + "hash": "0x6f0e6d853692140ee8196fe209a590102f1568fb481cba620b058db349733e29", "transactionType": "CREATE2", - "contractName": "YieldSeekerMerklAdapter", - "contractAddress": "0x063e92a335be85a7ae6d2de28397dcf40423c45f", - "function": null, - "arguments": null, - "transaction": { - "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", - "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0xf2dbd", - "value": "0x0", - "input": "0x000000000000000000000000000000000000000000000000000000000000000760a0806040523460225730608052610b4f90816100278239608051816101360152f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80631cff79cd146100d7576371ee95c01461002f575f80fd5b346100d35760803660031901126100d3576004356001600160401b0381116100d35761005f9036906004016101b1565b50506024356001600160401b0381116100d3576100809036906004016101b1565b50506044356001600160401b0381116100d3576100a19036906004016101b1565b50506064356001600160401b0381116100d3576100c29036906004016101b1565b5050633954108560e21b5f5260045ffd5b5f80fd5b60403660031901126100d3576004356001600160a01b03811681036100d357602435906001600160401b0382116100d357366023830112156100d3578160040135916001600160401b0383116100d35736602484830101116100d357307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146101a257602092604092602461017693019061029b565b815192839181835280519182918282860152018484015e5f828201840152601f01601f19168101030190f35b633954108560e21b5f5260045ffd5b9181601f840112156100d3578235916001600160401b0383116100d3576020808501948460051b0101116100d357565b90601f801991011681019081106001600160401b0382111761020257604052565b634e487b7160e01b5f52604160045260245ffd5b6001600160401b0381116102025760051b60200190565b9080601f830112156100d35781359061024582610216565b9261025360405194856101e1565b82845260208085019360051b8201019182116100d357602001915b81831061027b5750505090565b82356001600160a01b03811681036100d35781526020928301920161026e565b905f92806004116100d35781356001600160e01b0319166301c7ba5760e61b146102ce576311fa59f360e11b8452600484fd5b810191608082840360031901126100d35760048201356001600160401b0381116100d3578360046103019285010161022d565b60248301356001600160401b0381116100d3578460046103239286010161022d565b60448401356001600160401b0381116100d357840193856023860112156100d35760048501359061035382610216565b9561036160405197886101e1565b8287526020870160206004829560051b84010101918983116100d357602401905b828210610a1d575050506064810135906001600160401b0382116100d3570190866023830112156100d3576004820135916103bc83610216565b976103ca604051998a6101e1565b838952602089019160206004849660051b83010101908282116100d35760248101935b8285106109995750505050508251965f9661040789610216565b9661041560405198896101e1565b898852601f196104248b610216565b013660208a01375f5b8a8110610926575061043e89610216565b9761044c604051998a6101e1565b898952601f1961045b8b610216565b013660208b013761046b8a610216565b9a6104796040519c8d6101e1565b8a8c52601f196104888c610216565b013660208e01375f915f5b828110610858575050505060018060a01b031694853b156100d3579060206104ef6104dd9896959493604051998a986301c7ba5760e61b8a52608060048b015260848a0190610a77565b8881036003190160248a015290610a77565b8681036003190160448801529151808352910192905f5b81811061083f5750505060031984830301606485015251808252602082019160208260051b82010193925f915b8383106107e357505050505091815f81819503925af180156107d8576107c3575b5060405163cdf456e160e01b8152602081600481305afa9081156107b8578591610772575b506001600160a01b031692845b8381106105c857505050505060405190602082018281106001600160401b038211176105b457604052815290565b634e487b7160e01b82526041600452602482fd5b6001600160a01b036105da8284610a2d565b516040516370a0823160e01b81523060048201529116602082602481845afa918215610767578892610734575b506106128386610a2d565b5180830392808411610720570361062e575b5050600101610586565b8087036106b157506001600160a01b03610646610ab3565b1690813b156106ad57879160248392604051948593849263070cd18960e11b845260048401525af180156106a257908791610689575b50506001905b905f610624565b81610693916101e1565b61069e57855f61067c565b8580fd5b6040513d89823e3d90fd5b8780fd5b906001600160a01b036106c2610ab3565b1691823b1561071c579060448992836040519586948593633d2dca7160e01b8552600485015260248401525af180156106a257908791610707575b5050600190610682565b81610711916101e1565b61069e57855f6106fd565b8880fd5b634e487b7160e01b8a52601160045260248afd5b9091506020813d821161075f575b8161074f602093836101e1565b810103126100d35751905f610607565b3d9150610742565b6040513d8a823e3d90fd5b90506020813d6020116107b0575b8161078d602093836101e1565b810103126107ac57516001600160a01b03811681036107ac575f610579565b8480fd5b3d9150610780565b6040513d87823e3d90fd5b6107d09194505f906101e1565b5f925f610554565b6040513d5f823e3d90fd5b919395509193601f19828203018352855190602080835192838152019201905f905b8082106108275750505060208060019297019301930190928795949293610533565b90919260208060019286518152019401920190610805565b8251855288965060209485019490920191600101610506565b6108628183610a2d565b51610870575b600101610493565b928d610890826001600160a01b03610888888f610a2d565b511692610a2d565b52602460206001600160a01b036108a7878e610a2d565b5116604051928380926370a0823160e01b82523060048301525afa9081156107d8578d905f926108f2575b50916108ea916108e482600195610a2d565b52610a55565b939050610868565b9150506020813d821161091e575b8161090d602093836101e1565b810103126100d357518c60016108d2565b3d9150610900565b5f5f5b82811061095a575b5015610940575b60010161042d565b98610952600191826108e48d8d610a2d565b999050610938565b6001600160a01b0361096c848b610a2d565b51166001600160a01b03610980838c610a2d565b51161461098f57600101610929565b505060015f610931565b84356001600160401b0381116100d35760049083010184603f820112156100d3576020810135906109c982610216565b916109d760405193846101e1565b8083526020808085019260051b84010101918783116100d357604001905b828210610a0d575050508152602094850194016103ed565b81358152602091820191016109f5565b8135815260209182019101610382565b8051821015610a415760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b5f198114610a635760010190565b634e487b7160e01b5f52601160045260245ffd5b90602080835192838152019201905f5b818110610a945750505090565b82516001600160a01b0316845260209384019390920191600101610a87565b604051633325e1df60e01b8152602081600481305afa9081156107d8575f91610ada575090565b90506020813d602011610b11575b81610af5602093836101e1565b810103126100d357516001600160a01b03811681036100d35790565b3d9150610ae856fea2646970667358221220cc6b15bfa4e588e3911b15581c2b95f31fa77e11b408420db391a4a3ac8299c464736f6c634300081c0033", - "nonce": "0x1e", - "chainId": "0x2105" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xece501c1f307b9929175776c6911d75d94e3618de1c872bb2f6a8b4676754b4e", - "transactionType": "CREATE2", - "contractName": "YieldSeekerZeroXAdapter", - "contractAddress": "0x153e4801852249d1f7d05ccb13c1d1cf8ae7c466", + "contractName": "YieldSeekerAerodromeCLSwapAdapter", + "contractAddress": "0x840974f44d2738661703292ccf339c404a864ac4", "function": null, "arguments": [ - "0x0000000000001fF3684f28c67538d4D072C22734", - "0x773541F7c38BE8106AE966CA9D6fee494a0eDD24", - "0xF8CBf6437d2473eC59885299Af38D9A13cE97ecA", - "false" + "0xBE6D8f0d05cC4be24d5167a3eF062215bE6D18a5", + "0x2c61dC81bc40389FF11CE68e78E93a3F75e41b9c" ], "transaction": { "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x193d2e", - "value": "0x0", - "input": "0x000000000000000000000000000000000000000000000000000000000000000760c03461011457601f61162c38819003918201601f19168301916001600160401b0383118484101761011857808492608094604052833981010312610114576100478161012c565b906100546020820161012c565b9060606100636040830161012c565b9101519283151580940361011457306080526001600160a01b03811615610105576001600160a01b038316156100f6576001600160a01b038216156100f6576100b8926100b29160a052610140565b506101b6565b5060ff801960015416911617600155604051611382908161024a82396080518181816107080152610f0b015260a0518181816106650152610d9f0152f35b63d92e233d60e01b5f5260045ffd5b631440bbc360e11b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820361011457565b6001600160a01b0381165f9081525f51602061160c5f395f51905f52602052604090205460ff166101b1576001600160a01b03165f8181525f51602061160c5f395f51905f5260205260408120805460ff191660011790553391905f5160206115cc5f395f51905f528180a4600190565b505f90565b6001600160a01b0381165f9081525f5160206115ec5f395f51905f52602052604090205460ff166101b1576001600160a01b03165f8181525f5160206115ec5f395f51905f5260205260408120805460ff191660011790553391907fbf233dd2aafeb4d50879c4aa5c81e96d92f6e6945c906a58f9f2d1c1631b4b26905f5160206115cc5f395f51905f529080a460019056fe6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a714610761575080631cff79cd146106ce57806320df4359146106945780632275159314610650578063248a9ca31461061e5780632f2ff15d146105e157806336568abe1461059d5780635e561771146104d95780637464df1d146104b7578063846a77031461046657806391d148541461041e57806399b39dc114610328578063a217fddf1461030e578063b5924e0b146102ac578063b5b2f1ef146101ed578063d547741f146101a9578063e2450d7c1461015a5763e36e2e37146100e2575f80fd5b34610156576020366003190112610156576100fb6107b4565b610103610ff2565b6001600160a01b031680156101475761011b8161128c565b61012157005b7f4ac723403fd9e3f5fbe7116bb75c15981bd5cb9ca32255900e5c29d9597cbee25f80a2005b63d92e233d60e01b5f5260045ffd5b5f80fd5b60c03660031901126101565761016e6107b4565b506101776107ca565b5060843567ffffffffffffffff8111610156576101989036906004016107e0565b5050633954108560e21b5f5260045ffd5b34610156576040366003190112610156576101eb6004356101c86107ca565b906101e66101e1825f525f602052600160405f20015490565b611041565b611101565b005b34610156575f366003190112610156576040518060206002549283815201809260025f527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace905f5b818110610296575050508161024b91038261084c565b604051918291602083019060208452518091526040830191905f5b818110610274575050500390f35b82516001600160a01b0316845285945060209384019390920191600101610266565b8254845260209093019260019283019201610235565b34610156576020366003190112610156576004358015158091036101565760207f74c88bdf6980e6d2f0199be2ccaacfb3770508c3d4ce8a831fe820e7f7b4f404916102f6610ff2565b60ff196001541660ff821617600155604051908152a1005b34610156575f3660031901126101565760206040515f8152f35b346101565760203660031901126101565760043567ffffffffffffffff811161015657366023820112156101565780600401359067ffffffffffffffff8211610156576024810190602436918460051b01011161015657610387610ff2565b5f5b82811061039257005b6001600160a01b036103ad6103a8838686610fba565b610fde565b1615610147576001906103d56001600160a01b036103cf6103a8848888610fba565b1661128c565b6103e0575b01610389565b818060a01b036103f46103a8838787610fba565b167f4ac723403fd9e3f5fbe7116bb75c15981bd5cb9ca32255900e5c29d9597cbee25f80a26103da565b34610156576040366003190112610156576104376107ca565b6004355f525f60205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b346101565760203660031901126101565761047f6107b4565b60ff600154168015610499575b6020906040519015158152f35b5060018060a01b03165f526003602052602060405f2054151561048c565b34610156575f36600319011261015657602060ff600154166040519015158152f35b34610156576020366003190112610156576104f26107b4565b335f9081527f3c1b1854ab1360abbb06c8d4c6b2672d4b8cedc5eff522ab19e51d5cb8fdbd46602052604090205460ff1615610566576001600160a01b031661053a816111b7565b61054057005b7f3b00e462401f0dd38135e28206d1d0ad5dc97314acd8f937e1b9cb6b50a5869f5f80a2005b63e2517d3f60e01b5f52336004527fbf233dd2aafeb4d50879c4aa5c81e96d92f6e6945c906a58f9f2d1c1631b4b2660245260445ffd5b34610156576040366003190112610156576105b66107ca565b336001600160a01b038216036105d2576101eb90600435611101565b63334bd91960e11b5f5260045ffd5b34610156576040366003190112610156576101eb6004356106006107ca565b906106196101e1825f525f602052600160405f20015490565b611079565b346101565760203660031901126101565760206106486004355f525f602052600160405f20015490565b604051908152f35b34610156575f366003190112610156576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610156575f3660031901126101565760206040517fbf233dd2aafeb4d50879c4aa5c81e96d92f6e6945c906a58f9f2d1c1631b4b268152f35b6040366003190112610156576106e26107b4565b60243567ffffffffffffffff8111610156576107029036906004016107e0565b909190307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146107525761074e926107429261089e565b6040519182918261080e565b0390f35b633954108560e21b5f5260045ffd5b34610156576020366003190112610156576004359063ffffffff60e01b821680920361015657602091637965db0b60e01b81149081156107a3575b5015158152f35b6301ffc9a760e01b1490508361079c565b600435906001600160a01b038216820361015657565b602435906001600160a01b038216820361015657565b9181601f840112156101565782359167ffffffffffffffff8311610156576020838186019501011161015657565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b35906001600160a01b038216820361015657565b90601f8019910116810190811067ffffffffffffffff82111761086e57604052565b634e487b7160e01b5f52604160045260245ffd5b67ffffffffffffffff811161086e57601f01601f191660200190565b5f92806004116101565782356001600160e01b031916633891435f60e21b146108d0576311fa59f360e11b8452600484fd5b9192509082019060c08383036003190112610156576108f160048401610838565b916108fe60248501610838565b9160448501359360648601359560848101359067ffffffffffffffff82116101565701908360238301121561015657600482013561093b81610882565b92610949604051948561084c565b81845260208401956024828401011161015657815f926024602093018837840101526001600160a01b0390811694811693906109836112e6565b168514610fab576001600160a01b0361099a6112e6565b168403610f9c5785158015610f94575b610f855773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee851495861580610eee575b610edb578615610d8e5780804710610d7857505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8514908115610d155747925b8815610caa575f91829147965b5191885af13d15610ca2573d90610a2682610882565b91610a34604051938461084c565b82523d5f602084013e5b15610c7e575015610c1b5747955b15610bae57610a5f610a65924790611181565b95611181565b94808610610b98575060405191838352602083015283604083015284606083015260018060a01b0316907fd6d4f5681c246c9f42c203e287975af1601f8df8035a9251f79aab5c8f09e2f860803092a3604051633325e1df60e01b8152602081600481305afa908115610b4b575f91610b56575b506001600160a01b031691823b156101565760645f92836040519586948593632530943760e01b8552600485015260248401528760448401525af18015610b4b57610b3b575b5060405190602082015260208152610b3860408261084c565b90565b5f610b459161084c565b5f610b1f565b6040513d5f823e3d90fd5b90506020813d602011610b90575b81610b716020938361084c565b8101031261015657516001600160a01b0381168103610156575f610ad9565b3d9150610b64565b85630583371760e31b5f5260045260245260445ffd5b6040516370a0823160e01b8152306004820152602081602481895afa908115610b4b575f91610be7575b50610a6592610a5f9190611181565b90506020813d602011610c13575b81610c026020938361084c565b810103126101565751610a65610bd8565b3d9150610bf5565b6040516370a0823160e01b8152306004820152602081602481885afa908115610b4b575f91610c4c575b5095610a4c565b90506020813d602011610c76575b81610c676020938361084c565b8101031261015657515f610c45565b3d9150610c5a565b604051600162605a6b60e01b03198152908190610c9e906004830161080e565b0390fd5b606090610a3e565b906040516370a0823160e01b81523060048201526020816024818c5afa908115610b4b575f91610ce1575b50905f92839296610a10565b9190506020823d602011610d0d575b81610cfd6020938361084c565b810103126101565790515f610cd5565b3d9150610cf0565b6040516370a0823160e01b81523060048201526020816024818a5afa908115610b4b575f91610d46575b5092610a03565b90506020813d602011610d70575b81610d616020938361084c565b8101031261015657515f610d3f565b3d9150610d54565b47633ebbc33760e01b5f5260045260245260445ffd5b60405163095ea7b360e01b5f9081527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166004819052602484905290929091602084604481808d5af19060015f5114821615610ecc575b60405215610dfd575b50506109e2565b60405163095ea7b360e01b5f52826004525f60245260205f604481808d5af19060015f5114821615610eb4575b60405215610ea1576040519163095ea7b360e01b5f5260045260245260205f604481808b5af19060015f5114821615610e80575b60405215610e6d575f80610df6565b85635274afe760e01b5f5260045260245ffd5b906001811516610e9857873b15153d15161690610e5e565b503d5f823e3d90fd5b87635274afe760e01b5f5260045260245ffd5b906001811516610e9857893b15153d15161690610e2a565b90893b15153d15161690610ded565b85631a7852a960e31b5f5260045260245ffd5b5060405163846a770360e01b8152600481018790526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610b4b575f91610f4a575b50156109ce565b90506020813d602011610f7d575b81610f656020938361084c565b8101031261015657518015158103610156575f610f43565b3d9150610f58565b631f2a200560e01b5f5260045ffd5b5086156109aa565b634847234360e01b5f5260045ffd5b6326ec736f60e11b5f5260045ffd5b9190811015610fca5760051b0190565b634e487b7160e01b5f52603260045260245ffd5b356001600160a01b03811681036101565790565b335f9081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604090205460ff161561102a57565b63e2517d3f60e01b5f52336004525f60245260445ffd5b5f8181526020818152604080832033845290915290205460ff16156110635750565b63e2517d3f60e01b5f523360045260245260445ffd5b5f818152602081815260408083206001600160a01b038616845290915290205460ff166110fb575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50505f90565b5f818152602081815260408083206001600160a01b038616845290915290205460ff16156110fb575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b9190820391821161118e57565b634e487b7160e01b5f52601160045260245ffd5b8054821015610fca575f5260205f2001905f90565b5f8181526003602052604090205480156110fb575f19810181811161118e576002545f1981019190821161118e5781810361123e575b505050600254801561122a575f19016112078160026111a2565b8154905f199060031b1b191690556002555f5260036020525f6040812055600190565b634e487b7160e01b5f52603160045260245ffd5b61127661124f6112609360026111a2565b90549060031b1c92839260026111a2565b819391549060031b91821b915f19901b19161790565b90555f52600360205260405f20555f80806111ed565b805f52600360205260405f2054155f146112e1576002546801000000000000000081101561086e576112ca61126082600185940160025560026111a2565b9055600254905f52600360205260405f2055600190565b505f90565b60405163cdf456e160e01b8152602081600481305afa908115610b4b575f9161130d575090565b90506020813d602011611344575b816113286020938361084c565b8101031261015657516001600160a01b03811681036101565790565b3d915061131b56fea264697066735822122040cbe3e5bcc4f8aa428d8d8641805806464196752519cc462d68b2096955122b64736f6c634300081c00332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d3c1b1854ab1360abbb06c8d4c6b2672d4b8cedc5eff522ab19e51d5cb8fdbd46ad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb50000000000000000000000000000000000001ff3684f28c67538d4d072c22734000000000000000000000000773541f7c38be8106ae966ca9d6fee494a0edd24000000000000000000000000f8cbf6437d2473ec59885299af38d9a13ce97eca0000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x1f", - "chainId": "0x2105" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x0b9c670188616682af66fc5ac039e2f525d3d027e4ffba5e69449c38a023b49a", - "transactionType": "CREATE2", - "contractName": "YieldSeekerAaveV3Adapter", - "contractAddress": "0xc6b0eeff559a23187506440f8c62f58aea02fb4e", - "function": null, - "arguments": null, - "transaction": { - "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", - "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0xdb93a", - "value": "0x0", - "input": "0x000000000000000000000000000000000000000000000000000000000000000760a0806040523460215730608052610ac7908161002682396080518160ab0152f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80631cff79cd1461004a5780632e1a7d4d14610045578063658ce9d9146100455763b6b55f2514610045575f80fd5b61012a565b6040366003190112610126576004356001600160a01b0381168103610126576024359067ffffffffffffffff821161012657366023830112156101265781600401359167ffffffffffffffff831161012657366024848301011161012657307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146101175760209260409260246100eb930190610180565b815192839181835280519182918282860152018484015e5f828201840152601f01601f19168101030190f35b633954108560e21b5f5260045ffd5b5f80fd5b3461012657602036600319011261012657633954108560e21b5f5260045ffd5b90601f8019910116810190811067ffffffffffffffff82111761016c57604052565b634e487b7160e01b5f52604160045260245ffd5b90915f9281600411806101265781356001600160e01b03191663b6b55f2560e01b81146105605763658ce9d960e01b811461045d57632e1a7d4d60e01b146101d1576311fa59f360e11b8552600485fd5b909192935061012657806004602092019283910103126101265735906101fe6101f982610954565b6109a1565b6040516370a0823160e01b8152306004820152906001600160a01b038116602083602481845afa928315610388575f93610429575b50831561041a576040516358b50cef60e11b815293602085600481855afa948515610388575f956103f9575b50604051633a9ae92360e11b8152602081600481865afa8015610388575f9660209288926103c7575b50604051631a4ca37b60e21b81526001600160a01b03918216600482015260248101859052306044820152978892606492849291165af1948515610388575f95610393575b506040519081528460208201527f91fb9d98b786c57d74c099ccd2beca1739e9f6a81fb49001ca465c4b7591bbe260403092a36001600160a01b03610310610a2b565b1691823b15610126576040516315041e8160e21b81526001600160a01b03929092166004830152602482018490526044820152905f908290606490829084905af1801561038857610378575b506040519060208201526020815261037560408261014a565b90565b5f6103829161014a565b5f61035c565b6040513d5f823e3d90fd5b9094506020813d6020116103bf575b816103af6020938361014a565b810103126101265751935f6102cd565b3d91506103a2565b60649192506103eb90843d86116103f2575b6103e3818361014a565b810190610935565b9190610288565b503d6103d9565b61041391955060203d6020116103f2576103e3818361014a565b935f61025f565b631f2a200560e01b5f5260045ffd5b9092506020813d602011610455575b816104456020938361014a565b810103126101265751915f610233565b3d9150610438565b50909192935061012657806004602092019283910103126101265735906001600160a01b0361048b82610954565b1682158015610555575b610542576020602491604051928380926370a0823160e01b82523060048301525afa908115610388575f91610510575b508281029281840414901517156104fc576127106104e492049061057c565b6040519060208201526020815261037560408261014a565b634e487b7160e01b5f52601160045260245ffd5b90506020813d60201161053a575b8161052b6020938361014a565b8101031261012657515f6104c5565b3d915061051e565b8263aa31867360e01b5f5260045260245ffd5b506127108311610495565b5050602091935060048101938491010312610126576104e49135905b91909161058b6101f982610954565b5f90831561041a576040516358b50cef60e11b8152906001600160a01b038116602083600481845afa928315610388575f93610914575b50604051633a9ae92360e11b8152602081600481855afa908115610388575f916108f5575b506040516370a0823160e01b815230600482015293602085602481865afa948515610388575f956108c1575b5060405163095ea7b360e01b5f9081526001600160a01b03938416600481905260248b905293929092169160209060448180865af19060015f51148216156108b2575b604052156107fd575b813b15610126575f9160848392604051948593849263617ba03760e01b845260048401528c60248401523060448401528160648401525af18015610388576107e8575b506040516370a0823160e01b815230600482015292602084602481855afa9384156107dd5785946107a9575b508303928311610795576040518681528360208201527ff5681f9d0db1b911ac18ee83d515a1cf1051853a9eae418316a2fdf7dea427c560403092a390938491906001600160a01b0361071f610a2b565b1691823b1561079157604051630d75082f60e11b81526001600160a01b039190911660048201526024810191909152604481019290925282908290606490829084905af1801561078657610771575050565b61077c82809261014a565b6107835750565b80fd5b6040513d84823e3d90fd5b8480fd5b634e487b7160e01b84526011600452602484fd5b9093506020813d6020116107d5575b816107c56020938361014a565b810103126101265751925f6106ce565b3d91506107b8565b6040513d87823e3d90fd5b6107f59194505f9061014a565b5f925f6106a2565b60405163095ea7b360e01b5f52826004525f60245260205f60448180865af19060015f511482161561089a575b604052156108675760405163095ea7b360e01b5f52826004528860245260205f60448180865af19060015f5114821615610879575b60405261065f575b635274afe760e01b5f5260045260245ffd5b90600181151661089157823b15153d1516169061085f565b503d5f823e3d90fd5b90600181151661089157823b15153d1516169061082a565b90823b15153d15161690610656565b9094506020813d6020116108ed575b816108dd6020938361014a565b810103126101265751935f610613565b3d91506108d0565b61090e915060203d6020116103f2576103e3818361014a565b5f6105e7565b61092e91935060203d6020116103f2576103e3818361014a565b915f6105c2565b9081602091031261012657516001600160a01b03811681036101265790565b6040516358b50cef60e11b815290602090829060049082906001600160a01b03165afa908115610388575f91610988575090565b610375915060203d6020116103f2576103e3818361014a565b60405163cdf456e160e01b8152602081600481305afa908115610388575f916109e9575b506001600160a01b039081169116036109da57565b634847234360e01b5f5260045ffd5b90506020813d602011610a23575b81610a046020938361014a565b8101031261012657516001600160a01b0381168103610126575f6109c5565b3d91506109f7565b604051633325e1df60e01b8152602081600481305afa908115610388575f91610a52575090565b90506020813d602011610a89575b81610a6d6020938361014a565b8101031261012657516001600160a01b03811681036101265790565b3d9150610a6056fea2646970667358221220689633d3b0ae0d4a27c990ba06279bd71a8e147fb45da6d1813ff2c60d51004f64736f6c634300081c0033", - "nonce": "0x20", - "chainId": "0x2105" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x8024f30e19b3a959805a95c7250ce1b4a96115ec7534a8b1fd06a5100cf1d4f1", - "transactionType": "CREATE2", - "contractName": "YieldSeekerCompoundV3Adapter", - "contractAddress": "0x65b65d4bf565b3ba92371ccd0b157da1bcb3b1a8", - "function": null, - "arguments": null, - "transaction": { - "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", - "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0xde6da", + "gas": "0x154faf", "value": "0x0", - "input": "0x000000000000000000000000000000000000000000000000000000000000000760a0806040523460215730608052610aee908161002682396080518160ab0152f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80631cff79cd1461004a5780632e1a7d4d14610045578063658ce9d9146100455763b6b55f2514610045575f80fd5b61012a565b6040366003190112610126576004356001600160a01b0381168103610126576024359067ffffffffffffffff821161012657366023830112156101265781600401359167ffffffffffffffff831161012657366024848301011161012657307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146101175760209260409260246100eb930190610180565b815192839181835280519182918282860152018484015e5f828201840152601f01601f19168101030190f35b633954108560e21b5f5260045ffd5b5f80fd5b3461012657602036600319011261012657633954108560e21b5f5260045ffd5b90601f8019910116810190811067ffffffffffffffff82111761016c57604052565b634e487b7160e01b5f52604160045260245ffd5b90915f9281600411806101265781356001600160e01b03191663b6b55f2560e01b81146105ef5763658ce9d960e01b81146104ec57632e1a7d4d60e01b146101d1576311fa59f360e11b8552600485fd5b93929361012657806004602092019283910103126101265735916101fc6101f78261096e565b6109bb565b6040516370a0823160e01b8152306004820152906001600160a01b038116602083602481845afa92831561043b575f936104b8575b5084156104a95760405163c55dae6360e01b8152602081600481855afa90811561043b575f9161047a575b506040516370a0823160e01b8152306004820152906001600160a01b03811690602083602481855afa92831561043b575f93610446575b50833b156101265760405163f3fef3a360e01b81526001600160a01b03919091166004820152602481018890525f8160448183885af1801561043b5761041f575b50906020602492604051938480926370a0823160e01b82523060048301525afa80156104145786906103e0575b61030b9250610a45565b946040519081528560208201527f91fb9d98b786c57d74c099ccd2beca1739e9f6a81fb49001ca465c4b7591bbe260403092a36001600160a01b0361034e610a52565b1690813b156103dc576040516315041e8160e21b81526001600160a01b0391909116600482015260248101859052604481019290925282908290606490829084905af180156103d1576103b9575b5050604051906020820152602081526103b660408261014a565b90565b6103c482809261014a565b6103ce578061039c565b80fd5b6040513d84823e3d90fd5b8380fd5b506020823d60201161040c575b816103fa6020938361014a565b810103126101265761030b9151610301565b3d91506103ed565b6040513d88823e3d90fd5b6024929196505f61042f9161014a565b60205f969192506102d4565b6040513d5f823e3d90fd5b9092506020813d602011610472575b816104626020938361014a565b810103126101265751915f610293565b3d9150610455565b61049c915060203d6020116104a2575b610494818361014a565b81019061094f565b5f61025c565b503d61048a565b631f2a200560e01b5f5260045ffd5b9092506020813d6020116104e4575b816104d46020938361014a565b810103126101265751915f610231565b3d91506104c7565b50909192935061012657806004602092019283910103126101265735906001600160a01b0361051a8261096e565b16821580156105e4575b6105d1576020602491604051928380926370a0823160e01b82523060048301525afa90811561043b575f9161059f575b5082810292818404149015171561058b5761271061057392049061060b565b604051906020820152602081526103b660408261014a565b634e487b7160e01b5f52601160045260245ffd5b90506020813d6020116105c9575b816105ba6020938361014a565b8101031261012657515f610554565b3d91506105ad565b8263aa31867360e01b5f5260045260245ffd5b506127108311610524565b5050602091935060048101938491010312610126576105739135905b91909161061a6101f78261096e565b5f9083156104a95760405163c55dae6360e01b81526001600160a01b0382169190602081600481865afa90811561043b575f91610930575b506040516370a0823160e01b815230600482015290602082602481875afa91821561043b575f926108fc575b5060018060a01b03811660405163095ea7b360e01b5f52856004528860245260205f60448180865af19060015f51148216156108ed575b60405215610838575b50833b1561012657604051631e573fb760e31b81526001600160a01b03919091166004820152602481018790525f8160448183885af1801561043b57610823575b506040516370a0823160e01b815230600482015290602082602481875afa80156108185785906107e4575b6107349250610a45565b916040518681528360208201527ff5681f9d0db1b911ac18ee83d515a1cf1051853a9eae418316a2fdf7dea427c560403092a390938491906001600160a01b0361077c610a52565b1691823b156107e057604051630d75082f60e11b81526001600160a01b039190911660048201526024810191909152604481019290925282908290606490829084905af180156103d1576107ce575050565b6107d982809261014a565b6103ce5750565b8480fd5b506020823d602011610810575b816107fe6020938361014a565b8101031261012657610734915161072a565b3d91506107f1565b6040513d87823e3d90fd5b6108309194505f9061014a565b5f925f6106ff565b60405163095ea7b360e01b5f52856004525f60245260205f60448180865af19060015f51148216156108d5575b604052156108a25760405163095ea7b360e01b5f52856004528860245260205f60448180865af19060015f51148216156108b4575b6040526106be575b635274afe760e01b5f5260045260245ffd5b9060018115166108cc57823b15153d1516169061089a565b503d5f823e3d90fd5b9060018115166108cc57823b15153d15161690610865565b90823b15153d151616906106b5565b9091506020813d602011610928575b816109186020938361014a565b810103126101265751905f61067e565b3d915061090b565b610949915060203d6020116104a257610494818361014a565b5f610652565b9081602091031261012657516001600160a01b03811681036101265790565b60405163c55dae6360e01b815290602090829060049082906001600160a01b03165afa90811561043b575f916109a2575090565b6103b6915060203d6020116104a257610494818361014a565b60405163cdf456e160e01b8152602081600481305afa90811561043b575f91610a03575b506001600160a01b039081169116036109f457565b634847234360e01b5f5260045ffd5b90506020813d602011610a3d575b81610a1e6020938361014a565b8101031261012657516001600160a01b0381168103610126575f6109df565b3d9150610a11565b9190820391821161058b57565b604051633325e1df60e01b8152602081600481305afa90811561043b575f91610a79575090565b90506020813d602011610ab0575b81610a946020938361014a565b8101031261012657516001600160a01b03811681036101265790565b3d9150610a8756fea264697066735822122067667956e7bfb951b8c681a473936ec527b99118312664881c48f3ca1c7b6c5964736f6c634300081c0033", - "nonce": "0x21", + "input": "0x000000000000000000000000000000000000000000000000000000000000000760e0346100ea57601f61115438819003918201601f19168301916001600160401b038311848410176100ee5780849260409485528339810103126100ea57610052602061004b83610102565b9201610102565b30608052906001600160a01b038116156100db5760a0526001600160a01b038116156100db5760c05260405161103d9081610117823960805181610125015260a051818181605a0152818161041c015281816106ab015281816108c901528181610a2801528181610bdf01528181610c450152610efd015260c05181818160a201526105830152f35b63d92e233d60e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036100ea5756fe60806040526004361015610011575f80fd5b5f3560e01c8063134396c21461018a5780631cff79cd146100d15780638988333b1461008d5763e08b7b9f14610045575f80fd5b34610089575f366003190112610089576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b5f80fd5b34610089575f366003190112610089576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6040366003190112610089576100e56101dd565b60243567ffffffffffffffff8111610089573660238201121561008957806004013567ffffffffffffffff811161008957366024828401011161008957307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161461017b576101779260246101639301906102ab565b60405191829160208352602083019061021d565b0390f35b633954108560e21b5f5260045ffd5b346100895760a0366003190112610089576101a36101dd565b506101ac6101f3565b5060443567ffffffffffffffff811161008957604090600319903603011261008957633954108560e21b5f5260045ffd5b600435906001600160a01b038216820361008957565b602435906001600160a01b038216820361008957565b35906001600160a01b038216820361008957565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6040810190811067ffffffffffffffff82111761025d57604052565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff82111761025d57604052565b67ffffffffffffffff811161025d5760051b60200190565b92905f92806004116100895781356001600160e01b0319166309a1cb6160e11b146102df576311fa59f360e11b8452600484fd5b919291810160a08282036003190112610089576102fe60048301610209565b9061030b60248401610209565b95604484013567ffffffffffffffff81116100895784019160408382036003190112610089576040519261033e84610241565b600481013567ffffffffffffffff81116100895760049082010182601f820112156100895780359061036f82610293565b9161037d6040519384610271565b80835260208084019160051b8301019185831161008957602001905b828210610f47575050508452602481013567ffffffffffffffff81116100895760049101019080601f83011215610089578135906103d682610293565b926103e46040519485610271565b82845260208085019360051b82010191821161008957602001915b818310610f2d5750505060208301526001600160a01b03908116907f0000000000000000000000000000000000000000000000000000000000000000168103610ee95750805151600281108015610edf575b610ecd576020820151515f19820190828211610eb9578103610eaa5782516001600160a01b039061048190610f5f565b5184519116916001600160a01b039161049a9190610f80565b51169060018060a01b0385161490811591610e96575b50610e72575f5b818110610e235750505f5b6020820151805182101561053557816104da91610f80565b5160020b60018114158061052a575b8061051f575b80610514575b61050257506001016104c2565b63b9178e0160e01b5f5260045260245ffd5b5060c88114156104f5565b5060648114156104ef565b5060328114156104e9565b50509193949092946040519461054a86610241565b5f80875260208701526001600160a01b038516158015610e12575b8015610dfd575b610ddf576064810135158015610dd3575b610dc4577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316803b156100895760405163066b3c5360e41b81526001600160a01b0387166004820152905f90829060249082905afa8015610db957610da4575b506001600160a01b036105f6610fa1565b166001600160a01b03861614610d95576001600160a01b03610616610fa1565b166001600160a01b03841603610d86576040516370a0823160e01b81523060048201526020816024816001600160a01b0388165afa908115610d49578891610d54575b5086526040516370a0823160e01b81523060048201526020816024816001600160a01b038a165afa908115610d49578891610d17575b50602087015260405163095ea7b360e01b885260018060a01b037f00000000000000000000000000000000000000000000000000000000000000001660045260648201356024526020886044818060018060a01b038b165af1906001895114821615610cfe575b60405215610bc8575b6107098451610f5f565b51604051906bffffffffffffffffffffffff199060601b16602082015260148152610735603482610271565b9487955b60208601518051881015610818578761075191610f80565b516040519060e81b60208201526003815261076d602382610271565b86516001890190818a1161080457926020928c61078f6107fc94600197610f80565b5191858060405192818401956bffffffffffffffffffffffff199060601b168652601484526107bf603485610271565b60405198878a985191829101848a015e870190828201868152815193849201905e0101918252518092825e018c815203601f198101835282610271565b960195610739565b634e487b7160e01b8c52601160045260248cfd5b509196945094509590956040519060a0820182811067ffffffffffffffff821117610bb4576040528152602061089b81830192308452604081019363ffffffff85526060820160648b01358152608083019060848c01358252604051968795869563c04b8d5960e01b87528860048801525160a0602488015260c487019061021d565b9360018060a01b0390511660448601525160648501525160848401525160a483015203818560018060a01b037f0000000000000000000000000000000000000000000000000000000000000000165af18015610aa657610b85575b506040516370a0823160e01b81523060048201526020816024816001600160a01b0387165afa908115610aa6578291610b53575b506040516370a0823160e01b8152306004820152906020826024816001600160a01b038a165afa918215610b48578392610b12575b50610971610979926020870151610f94565b945190610f94565b9460848101358610610af75750604051633325e1df60e01b8152602081600481305afa908115610aa6578291610ab5575b506001600160a01b0316803b15610ab157604051632530943760e01b81526001600160a01b038616600482015260248101859052604481018790529082908290606490829084905af18015610aa657610a8e575b5050604080516001600160a01b0394851681529184166020830152810191909152606081018390527f00000000000000000000000000000000000000000000000000000000000000009091169030907fd6d4f5681c246c9f42c203e287975af1601f8df8035a9251f79aab5c8f09e2f890608090a360405190602082015260208152610a8b604082610271565b90565b610a99828092610271565b610aa357806109fe565b80fd5b6040513d84823e3d90fd5b5080fd5b90506020813d602011610aef575b81610ad060209383610271565b81010312610ab157516001600160a01b0381168103610ab1575f6109aa565b3d9150610ac3565b630583371760e31b8252600486905260840135602452604490fd5b91506020823d602011610b40575b81610b2d60209383610271565b810103126100895790519061097161095f565b3d9150610b20565b6040513d85823e3d90fd5b90506020813d602011610b7d575b81610b6e60209383610271565b8101031261008957515f61092a565b3d9150610b61565b6020813d602011610bac575b81610b9e60209383610271565b8101031261008957516108f6565b3d9150610b91565b634e487b7160e01b84526041600452602484fd5b60405163095ea7b360e01b88526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660045260248990526020908990604490829081908b165af1906001895114821615610cdd575b60405215610c975760405163095ea7b360e01b88526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660045260648301356024526020908990604490829081908b165af1906001895114821615610cb3575b6040526106ff575b635274afe760e01b87526001600160a01b038516600452602487fd5b906001811516610cd4573d156001600160a01b0388163b1515161690610c8f565b503d88823e3d90fd5b906001811516610cd4573d156001600160a01b0388163b1515161690610c26565b3d156001600160a01b0388163b151516909116906106f6565b90506020813d602011610d41575b81610d3260209383610271565b8101031261008957515f61068f565b3d9150610d25565b6040513d8a823e3d90fd5b90506020813d602011610d7e575b81610d6f60209383610271565b8101031261008957515f610659565b3d9150610d62565b634847234360e01b8752600487fd5b6326ec736f60e11b8752600487fd5b610db19197505f90610271565b5f955f6105e5565b6040513d5f823e3d90fd5b631f2a200560e01b5f5260045ffd5b5060848101351561057d565b632edfb9f560e21b5f9081526001600160a01b038616600452602490fd5b506001600160a01b038581169084161461056c565b506001600160a01b03831615610565565b82516001600160a01b0390610e39908390610f80565b511615610e48576001016104b7565b91516001600160a01b0392610e5e925090610f80565b5116632edfb9f560e21b5f5260045260245ffd5b630e084dd560e11b5f9081526001600160a01b038085166004528816602452604490fd5b6001600160a01b038916141590505f6104b0565b6316b0de1160e01b5f5260045ffd5b634e487b7160e01b5f52601160045260245ffd5b630f34c83160e21b5f5260045260245ffd5b5060058111610451565b630620618d60e11b5f9081526004919091527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316602452604490fd5b82358060020b8103610089578152602092830192016103ff565b60208091610f5484610209565b815201910190610399565b805115610f6c5760200190565b634e487b7160e01b5f52603260045260245ffd5b8051821015610f6c5760209160051b010190565b91908203918211610eb957565b60405163cdf456e160e01b8152602081600481305afa908115610db9575f91610fc8575090565b90506020813d602011610fff575b81610fe360209383610271565b8101031261008957516001600160a01b03811681036100895790565b3d9150610fd656fea264697066735822122074ff1e562f894526d2b823995047ecc98da5834820ad97ed62b65098b0e8c5f664736f6c634300081c0033000000000000000000000000be6d8f0d05cc4be24d5167a3ef062215be6d18a50000000000000000000000002c61dc81bc40389ff11ce68e78e93a3f75e41b9c", + "nonce": "0x32", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x15609bceeca492c7f63ce7d6b141755d1449f86deffee156521720899df6a27d", - "transactionType": "CREATE2", - "contractName": "YieldSeekerCompoundV2Adapter", - "contractAddress": "0x976cedebd26e4d78cbfdb789186510ab9a5747e3", - "function": null, - "arguments": null, - "transaction": { - "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", - "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0xe7b4f", - "value": "0x0", - "input": "0x000000000000000000000000000000000000000000000000000000000000000760a0806040523460215730608052610abd908161002682396080518160ab0152f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80631cff79cd1461004a5780632e1a7d4d14610045578063658ce9d9146100455763b6b55f2514610045575f80fd5b61012a565b6040366003190112610126576004356001600160a01b0381168103610126576024359067ffffffffffffffff821161012657366023830112156101265781600401359167ffffffffffffffff831161012657366024848301011161012657307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146101175760209260409260246100eb930190610180565b815192839181835280519182918282860152018484015e5f828201840152601f01601f19168101030190f35b633954108560e21b5f5260045ffd5b5f80fd5b3461012657602036600319011261012657633954108560e21b5f5260045ffd5b90601f8019910116810190811067ffffffffffffffff82111761016c57604052565b634e487b7160e01b5f52604160045260245ffd5b90915f9281600411806101265781356001600160e01b03191663b6b55f2560e01b81146105585763658ce9d960e01b811461046957632e1a7d4d60e01b146101d1576311fa59f360e11b8552600485fd5b909192935061012657806004602092019283910103126101265735906101fe6101f982610937565b610997565b6040516370a0823160e01b81523060048201526001600160a01b0382169190602081602481865afa908115610360575f91610437575b5060405163182df0f560e01b8152602081600481875afa908115610360575f916103fd575b5061026d90670de0b6b3a764000092610984565b049183156103ee5760405163852a12e360e01b8152600481018590526020816024815f865af1908115610360575f916103bc575b5061036b576040518481528460208201527f91fb9d98b786c57d74c099ccd2beca1739e9f6a81fb49001ca465c4b7591bbe260403092a36001600160a01b036102e8610a21565b1691823b15610126576040516315041e8160e21b81526001600160a01b03929092166004830152602482018490526044820152905f908290606490829084905af1801561036057610350575b506040519060208201526020815261034d60408261014a565b90565b5f61035a9161014a565b5f610334565b6040513d5f823e3d90fd5b60405162461bcd60e51b815260206004820152602360248201527f41574b436f6d706f756e645632416461707465723a2072656465656d206661696044820152621b195960ea1b6064820152608490fd5b90506020813d6020116103e6575b816103d76020938361014a565b8101031261012657515f6102a1565b3d91506103ca565b631f2a200560e01b5f5260045ffd5b90506020813d60201161042f575b816104186020938361014a565b810103126101265751670de0b6b3a7640000610259565b3d915061040b565b90506020813d602011610461575b816104526020938361014a565b8101031261012657515f610234565b3d9150610445565b5090919294935061012657806004602092019283910103126101265735916001600160a01b0361049882610937565b168315801561054d575b61053a5792602060249394604051948580926370a0823160e01b82523060048301525afa928315610360575f93610504575b506104e5612710916104ec94610984565b0490610574565b6040519060208201526020815261034d60408261014a565b92506020833d602011610532575b8161051f6020938361014a565b81010312610126579151916104e56104d4565b3d9150610512565b8363aa31867360e01b5f5260045260245ffd5b5061271084116104a2565b5050602091935060048101938491010312610126576104ec9135905b91906105826101f984610937565b80156103ee57604051636f307dc360e01b8152926001600160a01b038116602085600481845afa948515610360575f956108e7575b506040516370a0823160e01b815230600482015294602086602481855afa958615610360575f966108b3575b5060018060a01b031660405163095ea7b360e01b5f52826004528460245260205f60448180865af19060015f51148216156108a4575b604052156107ef575b5060405163140e25ad60e31b8152600481018490526020816024815f865af1908115610360575f916107bd575b5061076e576040516370a0823160e01b815230600482015294602086602481855afa958615610360575f9661073a575b508503948511610726576040518381528560208201527ff5681f9d0db1b911ac18ee83d515a1cf1051853a9eae418316a2fdf7dea427c560403092a3836001600160a01b036106cc610a21565b16803b1561012657604051630d75082f60e11b81526001600160a01b0393909316600484015260248301939093526044820152905f908290606490829084905af180156103605761071a5750565b5f6107249161014a565b565b634e487b7160e01b5f52601160045260245ffd5b9095506020813d602011610766575b816107566020938361014a565b810103126101265751945f61067f565b3d9150610749565b60405162461bcd60e51b815260206004820152602160248201527f41574b436f6d706f756e645632416461707465723a206d696e74206661696c656044820152601960fa1b6064820152608490fd5b90506020813d6020116107e7575b816107d86020938361014a565b8101031261012657515f61064f565b3d91506107cb565b60405163095ea7b360e01b5f52826004525f60245260205f60448180865af19060015f511482161561088c575b604052156108595760405163095ea7b360e01b5f52826004528460245260205f60448180865af19060015f511482161561086b575b604052610622575b635274afe760e01b5f5260045260245ffd5b90600181151661088357823b15153d15161690610851565b503d5f823e3d90fd5b90600181151661088357823b15153d1516169061081c565b90823b15153d15161690610619565b9095506020813d6020116108df575b816108cf6020938361014a565b810103126101265751945f6105e3565b3d91506108c2565b61090a91955060203d602011610911575b610902818361014a565b810190610918565b935f6105b7565b503d6108f8565b9081602091031261012657516001600160a01b03811681036101265790565b604051636f307dc360e01b815290602090829060049082906001600160a01b03165afa908115610360575f9161096b575090565b61034d915060203d60201161091157610902818361014a565b8181029291811591840414171561072657565b60405163cdf456e160e01b8152602081600481305afa908115610360575f916109df575b506001600160a01b039081169116036109d057565b634847234360e01b5f5260045ffd5b90506020813d602011610a19575b816109fa6020938361014a565b8101031261012657516001600160a01b0381168103610126575f6109bb565b3d91506109ed565b604051633325e1df60e01b8152602081600481305afa908115610360575f91610a48575090565b90506020813d602011610a7f575b81610a636020938361014a565b8101031261012657516001600160a01b03811681036101265790565b3d9150610a5656fea26469706673582212208bc733b0c53da15737d0223756cec8cc0ea27958eba8e6a0029e108e68e0707564736f6c634300081c0033", - "nonce": "0x22", - "chainId": "0x2105" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x24741c019a3325872896aa557b3b226bb2f2780a6c89d9b7061d236d676ebe71", + "hash": "0x0ec9b49ba69c03c671a197969a9e377e4c2df7ceefd6246b46b3d65300e15af3", "transactionType": "CALL", - "contractName": "YieldSeekerAdminTimelock", + "contractName": null, "contractAddress": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "function": "scheduleBatch(address[],uint256[],bytes[],bytes32,bytes32,uint256)", "arguments": [ - "[0x9900f8019b20e822E2D5897db246a376A9514C8F, 0x9900f8019b20e822E2D5897db246a376A9514C8F, 0x9900f8019b20e822E2D5897db246a376A9514C8F, 0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA, 0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA, 0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA, 0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA, 0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA, 0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA]", - "[0, 0, 0, 0, 0, 0, 0, 0, 0]", - "[0xc68e00fb00000000000000000000000014283f733d6f73ca116eaa07af7c8c16b1cef7e3, 0x5b34b8230000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca, 0x9277a1850000000000000000000000002e11edc25e5f2391cd9225a7c107d1b41ebacc9f, 0x22f2caf100000000000000000000000098474be8d188f450fef65b5c6d290d333eb74a2f, 0x22f2caf1000000000000000000000000063e92a335be85a7ae6d2de28397dcf40423c45f, 0x22f2caf1000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c466, 0x22f2caf1000000000000000000000000c6b0eeff559a23187506440f8c62f58aea02fb4e, 0x22f2caf100000000000000000000000065b65d4bf565b3ba92371ccd0b157da1bcb3b1a8, 0x22f2caf1000000000000000000000000976cedebd26e4d78cbfdb789186510ab9a5747e3]", + "[0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA, 0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA, 0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA]", + "[0, 0, 0]", + "[0x22f2caf1000000000000000000000000dbcdba358a804dc388f33ffbd7fa664cf689cabd, 0x22f2caf100000000000000000000000001fe6834fa3af286d6c568dc868ceec08f7dad20, 0x22f2caf1000000000000000000000000840974f44d2738661703292ccf339c404a864ac4]", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x00000000000000000000000000000000000000000000000000000000000003e8", "0" @@ -246,1022 +107,53 @@ "transaction": { "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", - "gas": "0x24acc", + "gas": "0x1805b", "value": "0x0", - "input": "0x8f2a0bb000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090000000000000000000000009900f8019b20e822e2d5897db246a376a9514c8f0000000000000000000000009900f8019b20e822e2d5897db246a376a9514c8f0000000000000000000000009900f8019b20e822e2d5897db246a376a9514c8f0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000002a00000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004200000000000000000000000000000000000000000000000000000000000000024c68e00fb00000000000000000000000014283f733d6f73ca116eaa07af7c8c16b1cef7e30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000245b34b8230000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000249277a1850000000000000000000000002e11edc25e5f2391cd9225a7c107d1b41ebacc9f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf100000000000000000000000098474be8d188f450fef65b5c6d290d333eb74a2f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000063e92a335be85a7ae6d2de28397dcf40423c45f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c46600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000c6b0eeff559a23187506440f8c62f58aea02fb4e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf100000000000000000000000065b65d4bf565b3ba92371ccd0b157da1bcb3b1a800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000976cedebd26e4d78cbfdb789186510ab9a5747e300000000000000000000000000000000000000000000000000000000", - "nonce": "0x23", + "input": "0x8f2a0bb000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000dbcdba358a804dc388f33ffbd7fa664cf689cabd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf100000000000000000000000001fe6834fa3af286d6c568dc868ceec08f7dad2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000840974f44d2738661703292ccf339c404a864ac400000000000000000000000000000000000000000000000000000000", + "nonce": "0x33", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xcd90c6463b6429688c1737a4c44bfcdc8dcc81cf8aaced36093cb399bdb084cb", + "hash": "0x0f834890fbaa6d502b430a0d0e73d5da9a18ef4bd8f0633729c461ac3ebb9b30", "transactionType": "CALL", - "contractName": "YieldSeekerAdminTimelock", + "contractName": null, "contractAddress": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "function": "executeBatch(address[],uint256[],bytes[],bytes32,bytes32)", "arguments": [ - "[0x9900f8019b20e822E2D5897db246a376A9514C8F, 0x9900f8019b20e822E2D5897db246a376A9514C8F, 0x9900f8019b20e822E2D5897db246a376A9514C8F, 0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA, 0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA, 0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA, 0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA, 0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA, 0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA]", - "[0, 0, 0, 0, 0, 0, 0, 0, 0]", - "[0xc68e00fb00000000000000000000000014283f733d6f73ca116eaa07af7c8c16b1cef7e3, 0x5b34b8230000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca, 0x9277a1850000000000000000000000002e11edc25e5f2391cd9225a7c107d1b41ebacc9f, 0x22f2caf100000000000000000000000098474be8d188f450fef65b5c6d290d333eb74a2f, 0x22f2caf1000000000000000000000000063e92a335be85a7ae6d2de28397dcf40423c45f, 0x22f2caf1000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c466, 0x22f2caf1000000000000000000000000c6b0eeff559a23187506440f8c62f58aea02fb4e, 0x22f2caf100000000000000000000000065b65d4bf565b3ba92371ccd0b157da1bcb3b1a8, 0x22f2caf1000000000000000000000000976cedebd26e4d78cbfdb789186510ab9a5747e3]", + "[0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA, 0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA, 0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA]", + "[0, 0, 0]", + "[0x22f2caf1000000000000000000000000dbcdba358a804dc388f33ffbd7fa664cf689cabd, 0x22f2caf100000000000000000000000001fe6834fa3af286d6c568dc868ceec08f7dad20, 0x22f2caf1000000000000000000000000840974f44d2738661703292ccf339c404a864ac4]", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x00000000000000000000000000000000000000000000000000000000000003e8" ], "transaction": { "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", - "gas": "0x77930", + "gas": "0x30a9b", "value": "0x0", - "input": "0xe38335e500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000000090000000000000000000000009900f8019b20e822e2d5897db246a376a9514c8f0000000000000000000000009900f8019b20e822e2d5897db246a376a9514c8f0000000000000000000000009900f8019b20e822e2d5897db246a376a9514c8f0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000002a00000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004200000000000000000000000000000000000000000000000000000000000000024c68e00fb00000000000000000000000014283f733d6f73ca116eaa07af7c8c16b1cef7e30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000245b34b8230000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000249277a1850000000000000000000000002e11edc25e5f2391cd9225a7c107d1b41ebacc9f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf100000000000000000000000098474be8d188f450fef65b5c6d290d333eb74a2f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000063e92a335be85a7ae6d2de28397dcf40423c45f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c46600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000c6b0eeff559a23187506440f8c62f58aea02fb4e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf100000000000000000000000065b65d4bf565b3ba92371ccd0b157da1bcb3b1a800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000976cedebd26e4d78cbfdb789186510ab9a5747e300000000000000000000000000000000000000000000000000000000", - "nonce": "0x24", + "input": "0xe38335e500000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000000030000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000dbcdba358a804dc388f33ffbd7fa664cf689cabd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf100000000000000000000000001fe6834fa3af286d6c568dc868ceec08f7dad2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000840974f44d2738661703292ccf339c404a864ac400000000000000000000000000000000000000000000000000000000", + "nonce": "0x34", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false } ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x1729c8b", - "logs": [ - { - "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", - "topics": [ - "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000773541f7c38be8106ae966ca9d6fee494a0edd24", - "0x0000000000000000000000004e59b44847b379578588920ca78fbf26c0b4956c" - ], - "data": "0x", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "blockTimestamp": "0x698f8135", - "transactionHash": "0x8c27f572246018455ff55f2f0ba8db816d9c5efafc2118908c9174ed41eb378a", - "transactionIndex": "0x3b", - "logIndex": "0x16b", - "removed": false - }, - { - "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", - "topics": [ - "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", - "0xb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1", - "0x000000000000000000000000f8cbf6437d2473ec59885299af38d9a13ce97eca", - "0x0000000000000000000000004e59b44847b379578588920ca78fbf26c0b4956c" - ], - "data": "0x", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "blockTimestamp": "0x698f8135", - "transactionHash": "0x8c27f572246018455ff55f2f0ba8db816d9c5efafc2118908c9174ed41eb378a", - "transactionIndex": "0x3b", - "logIndex": "0x16c", - "removed": false - }, - { - "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", - "topics": [ - "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", - "0xfd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783", - "0x000000000000000000000000f8cbf6437d2473ec59885299af38d9a13ce97eca", - "0x0000000000000000000000004e59b44847b379578588920ca78fbf26c0b4956c" - ], - "data": "0x", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "blockTimestamp": "0x698f8135", - "transactionHash": "0x8c27f572246018455ff55f2f0ba8db816d9c5efafc2118908c9174ed41eb378a", - "transactionIndex": "0x3b", - "logIndex": "0x16d", - "removed": false - }, - { - "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", - "topics": [ - "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", - "0xd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63", - "0x000000000000000000000000f8cbf6437d2473ec59885299af38d9a13ce97eca", - "0x0000000000000000000000004e59b44847b379578588920ca78fbf26c0b4956c" - ], - "data": "0x", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "blockTimestamp": "0x698f8135", - "transactionHash": "0x8c27f572246018455ff55f2f0ba8db816d9c5efafc2118908c9174ed41eb378a", - "transactionIndex": "0x3b", - "logIndex": "0x16e", - "removed": false - }, - { - "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", - "topics": [ - "0x11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d5" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "blockTimestamp": "0x698f8135", - "transactionHash": "0x8c27f572246018455ff55f2f0ba8db816d9c5efafc2118908c9174ed41eb378a", - "transactionIndex": "0x3b", - "logIndex": "0x16f", - "removed": false - } - ], - "logsBloom": "0x00000084000200000000000000000000020000000000000000000000000000000200000000000000000000000001000000000000000000000200004010200000000000000000000000800010000000000000000000000000000000000000000000000000020000000000000000000800000000000000000000020400000000000000000000000000000000000000000000000000001000080000000000000000000000000021800000000000000000000000000000000000001000000000000000000000000000004000000400000010000000000000000100000100200020000000000000000000000000000000000080000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x8c27f572246018455ff55f2f0ba8db816d9c5efafc2118908c9174ed41eb378a", - "transactionIndex": "0x3b", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "gasUsed": "0x14be7b", - "effectiveGasPrice": "0x533991", - "blobGasUsed": "0x7d1ed", - "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", - "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "contractAddress": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", - "daFootprintGasScalar": "0x8b", - "l1BaseFeeScalar": "0x8dd", - "l1BlobBaseFee": "0x2e7418", - "l1BlobBaseFeeScalar": "0x101c12", - "l1Fee": "0x4831b166f", - "l1GasPrice": "0x35a0dd7", - "l1GasUsed": "0xe675" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x1860213", - "logs": [ - { - "address": "0x9900f8019b20e822e2d5897db246a376a9514c8f", - "topics": [ - "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000773541f7c38be8106ae966ca9d6fee494a0edd24", - "0x0000000000000000000000004e59b44847b379578588920ca78fbf26c0b4956c" - ], - "data": "0x", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "blockTimestamp": "0x698f8135", - "transactionHash": "0xece501c1f307b9929175776c6911d75d94e3618de1c872bb2f6a8b4676754b4e", - "transactionIndex": "0x3c", - "logIndex": "0x170", - "removed": false - }, - { - "address": "0x9900f8019b20e822e2d5897db246a376a9514c8f", - "topics": [ - "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", - "0x2fbb137a62ebd69bc6a41f4b4e96301da2105eef211fb1a3c75e8cfb9bfe7879", - "0x000000000000000000000000fbd0a3646bac17ee60860df7751129735b3f07a8", - "0x0000000000000000000000004e59b44847b379578588920ca78fbf26c0b4956c" - ], - "data": "0x", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "blockTimestamp": "0x698f8135", - "transactionHash": "0xece501c1f307b9929175776c6911d75d94e3618de1c872bb2f6a8b4676754b4e", - "transactionIndex": "0x3c", - "logIndex": "0x171", - "removed": false - } - ], - "logsBloom": "0x00001004000002000000000000100000010000000000000000000000010000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000008000000800000000000000000000000000000000000000010000000000000000000000000000000000001000000000000000010000000000000001000000000000000000000000000000000000001000000000000000000000000000000000000400000010000000000000000100000000000020020000000000000000000000000000000080000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xece501c1f307b9929175776c6911d75d94e3618de1c872bb2f6a8b4676754b4e", - "transactionIndex": "0x3c", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "gasUsed": "0x136588", - "effectiveGasPrice": "0x533991", - "blobGasUsed": "0x6b8ab", - "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", - "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "contractAddress": "0x9900f8019b20e822e2d5897db246a376a9514c8f", - "daFootprintGasScalar": "0x8b", - "l1BaseFeeScalar": "0x8dd", - "l1BlobBaseFee": "0x2e7418", - "l1BlobBaseFeeScalar": "0x101c12", - "l1Fee": "0x3e0e6d4f3", - "l1GasPrice": "0x35a0dd7", - "l1GasUsed": "0xc619" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x1a8f16a", - "logs": [ - { - "address": "0x14283f733d6f73ca116eaa07af7c8c16b1cef7e3", - "topics": [ - "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" - ], - "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "blockTimestamp": "0x698f8135", - "transactionHash": "0x0b9c670188616682af66fc5ac039e2f525d3d027e4ffba5e69449c38a023b49a", - "transactionIndex": "0x3d", - "logIndex": "0x172", - "removed": false - } - ], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x0b9c670188616682af66fc5ac039e2f525d3d027e4ffba5e69449c38a023b49a", - "transactionIndex": "0x3d", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "gasUsed": "0x22ef57", - "effectiveGasPrice": "0x533991", - "blobGasUsed": "0xbcb73", - "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", - "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "contractAddress": "0x14283f733d6f73ca116eaa07af7c8c16b1cef7e3", - "daFootprintGasScalar": "0x8b", - "l1BaseFeeScalar": "0x8dd", - "l1BlobBaseFee": "0x2e7418", - "l1BlobBaseFeeScalar": "0x101c12", - "l1Fee": "0x6ce57a6de", - "l1GasPrice": "0x35a0dd7", - "l1GasUsed": "0x15b9f" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x1b5e0af", - "logs": [ - { - "address": "0x0021c1fdd50aa76fb59afe3fc3a38c02c257bdca", - "topics": [ - "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000773541f7c38be8106ae966ca9d6fee494a0edd24", - "0x0000000000000000000000004e59b44847b379578588920ca78fbf26c0b4956c" - ], - "data": "0x", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "blockTimestamp": "0x698f8135", - "transactionHash": "0x30dbae9ea9e5131f93cbe3a867fc9bb6cf2a4235b48d4ea6e8de53e5303761c8", - "transactionIndex": "0x3e", - "logIndex": "0x173", - "removed": false - }, - { - "address": "0x0021c1fdd50aa76fb59afe3fc3a38c02c257bdca", - "topics": [ - "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", - "0xbf233dd2aafeb4d50879c4aa5c81e96d92f6e6945c906a58f9f2d1c1631b4b26", - "0x000000000000000000000000f8cbf6437d2473ec59885299af38d9a13ce97eca", - "0x0000000000000000000000004e59b44847b379578588920ca78fbf26c0b4956c" - ], - "data": "0x", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "blockTimestamp": "0x698f8135", - "transactionHash": "0x30dbae9ea9e5131f93cbe3a867fc9bb6cf2a4235b48d4ea6e8de53e5303761c8", - "transactionIndex": "0x3e", - "logIndex": "0x174", - "removed": false - } - ], - "logsBloom": "0x00000004000200000000000000000000000000000000000000000000000000000200000000000000000000000040000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000010000000000000020000000000008000000800000000000000000000000000000000000000000000000000000000000000000000000004001000000000000000000000000000000001800000000000000000000000000000000000001000000000000000000000000000000000000400000010000000000000000100000000000020100000000000000000000000000000000080000000000000010000000000000000", - "type": "0x2", - "transactionHash": "0x30dbae9ea9e5131f93cbe3a867fc9bb6cf2a4235b48d4ea6e8de53e5303761c8", - "transactionIndex": "0x3e", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "gasUsed": "0xcef45", - "effectiveGasPrice": "0x533991", - "blobGasUsed": "0x4bcfe", - "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", - "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "contractAddress": "0x0021c1fdd50aa76fb59afe3fc3a38c02c257bdca", - "daFootprintGasScalar": "0x8b", - "l1BaseFeeScalar": "0x8dd", - "l1BlobBaseFee": "0x2e7418", - "l1BlobBaseFeeScalar": "0x101c12", - "l1Fee": "0x2bbf041bb", - "l1GasPrice": "0x35a0dd7", - "l1GasUsed": "0x8ba5" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x1c4c307", - "logs": [ - { - "address": "0x2e11edc25e5f2391cd9225a7c107d1b41ebacc9f", - "topics": [ - "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000773541f7c38be8106ae966ca9d6fee494a0edd24", - "0x0000000000000000000000004e59b44847b379578588920ca78fbf26c0b4956c" - ], - "data": "0x", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "blockTimestamp": "0x698f8135", - "transactionHash": "0x15609bceeca492c7f63ce7d6b141755d1449f86deffee156521720899df6a27d", - "transactionIndex": "0x3f", - "logIndex": "0x175", - "removed": false - } - ], - "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000400000000000020000000000000020000000100000000000800000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000001000000000000000000000000000000000000001000000000000000000000000000000000000400000010000000000000000100000000000020000000000000000000000000000000000080000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x15609bceeca492c7f63ce7d6b141755d1449f86deffee156521720899df6a27d", - "transactionIndex": "0x3f", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "gasUsed": "0xee258", - "effectiveGasPrice": "0x533991", - "blobGasUsed": "0x51eba", - "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", - "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "contractAddress": "0x2e11edc25e5f2391cd9225a7c107d1b41ebacc9f", - "daFootprintGasScalar": "0x8b", - "l1BaseFeeScalar": "0x8dd", - "l1BlobBaseFee": "0x2e7418", - "l1BlobBaseFeeScalar": "0x101c12", - "l1Fee": "0x2f4470f46", - "l1GasPrice": "0x35a0dd7", - "l1GasUsed": "0x96e3" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x1cd1223", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x7b00c930985dc5150eb462be54706b1b8c987d2fd1ab9168406f25e3d62cedce", - "transactionIndex": "0x40", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "gasUsed": "0x84f1c", - "effectiveGasPrice": "0x533991", - "blobGasUsed": "0x2edd7", - "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", - "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "contractAddress": "0x98474be8d188f450fef65b5c6d290d333eb74a2f", - "daFootprintGasScalar": "0x8b", - "l1BaseFeeScalar": "0x8dd", - "l1BlobBaseFee": "0x2e7418", - "l1BlobBaseFeeScalar": "0x101c12", - "l1Fee": "0x1b0a7cbe6", - "l1GasPrice": "0x35a0dd7", - "l1GasUsed": "0x5652" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x1d7730e", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x0daabdfb07a8cd04d02c33141e1a96204f9fd4eb6cc254b736e46fe5155d46c7", - "transactionIndex": "0x41", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "gasUsed": "0xa60eb", - "effectiveGasPrice": "0x533991", - "blobGasUsed": "0x4034c", - "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", - "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "contractAddress": "0x063e92a335be85a7ae6d2de28397dcf40423c45f", - "daFootprintGasScalar": "0x8b", - "l1BaseFeeScalar": "0x8dd", - "l1BlobBaseFee": "0x2e7418", - "l1BlobBaseFeeScalar": "0x101c12", - "l1Fee": "0x250c363cd", - "l1GasPrice": "0x35a0dd7", - "l1GasUsed": "0x7643" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x1e9b8d6", - "logs": [ - { - "address": "0x153e4801852249d1f7d05ccb13c1d1cf8ae7c466", - "topics": [ - "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000773541f7c38be8106ae966ca9d6fee494a0edd24", - "0x0000000000000000000000004e59b44847b379578588920ca78fbf26c0b4956c" - ], - "data": "0x", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "blockTimestamp": "0x698f8135", - "transactionHash": "0x24741c019a3325872896aa557b3b226bb2f2780a6c89d9b7061d236d676ebe71", - "transactionIndex": "0x42", - "logIndex": "0x176", - "removed": false - }, - { - "address": "0x153e4801852249d1f7d05ccb13c1d1cf8ae7c466", - "topics": [ - "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", - "0xbf233dd2aafeb4d50879c4aa5c81e96d92f6e6945c906a58f9f2d1c1631b4b26", - "0x000000000000000000000000f8cbf6437d2473ec59885299af38d9a13ce97eca", - "0x0000000000000000000000004e59b44847b379578588920ca78fbf26c0b4956c" - ], - "data": "0x", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "blockTimestamp": "0x698f8135", - "transactionHash": "0x24741c019a3325872896aa557b3b226bb2f2780a6c89d9b7061d236d676ebe71", - "transactionIndex": "0x42", - "logIndex": "0x177", - "removed": false - } - ], - "logsBloom": "0x00000004000200000000000000000000000000000000000000000000000000000200000100000000000000000040000000000000000000400000004000000000000000000000000000000000000000000000000000000000000000000010000000000000020000000000008000000800000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000001800000000000000000000000000000000000001000000000000000000000000000000000000400000010000000000000000100000000000020000000000000000000004000000000000080000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x24741c019a3325872896aa557b3b226bb2f2780a6c89d9b7061d236d676ebe71", - "transactionIndex": "0x42", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "gasUsed": "0x1245c8", - "effectiveGasPrice": "0x533991", - "blobGasUsed": "0x6d713", - "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", - "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "contractAddress": "0x153e4801852249d1f7d05ccb13c1d1cf8ae7c466", - "daFootprintGasScalar": "0x8b", - "l1BaseFeeScalar": "0x8dd", - "l1BlobBaseFee": "0x2e7418", - "l1BlobBaseFeeScalar": "0x101c12", - "l1Fee": "0x3f2756135", - "l1GasPrice": "0x35a0dd7", - "l1GasUsed": "0xc999" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x1f3a85a", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xce6126bfe544a722a46d69af2967864bb13ed35f7210f44c8541f1a0265dcb5e", - "transactionIndex": "0x43", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "gasUsed": "0x9ef84", - "effectiveGasPrice": "0x533991", - "blobGasUsed": "0x3843e", - "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", - "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "contractAddress": "0xc6b0eeff559a23187506440f8c62f58aea02fb4e", - "daFootprintGasScalar": "0x8b", - "l1BaseFeeScalar": "0x8dd", - "l1BlobBaseFee": "0x2e7418", - "l1BlobBaseFeeScalar": "0x101c12", - "l1Fee": "0x207a74998", - "l1GasPrice": "0x35a0dd7", - "l1GasUsed": "0x67ad" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x1fdb8e6", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x8024f30e19b3a959805a95c7250ce1b4a96115ec7534a8b1fd06a5100cf1d4f1", - "transactionIndex": "0x44", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "gasUsed": "0xa108c", - "effectiveGasPrice": "0x533991", - "blobGasUsed": "0x37b8e", - "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", - "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "contractAddress": "0x65b65d4bf565b3ba92371ccd0b157da1bcb3b1a8", - "daFootprintGasScalar": "0x8b", - "l1BaseFeeScalar": "0x8dd", - "l1BlobBaseFee": "0x2e7418", - "l1BlobBaseFeeScalar": "0x101c12", - "l1Fee": "0x202acb6d5", - "l1GasPrice": "0x35a0dd7", - "l1GasUsed": "0x66af" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x2079fd0", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x05b9cb5f0e27c04ef4da54621cf87927807adcd7e3e8c55829a1c611356751b9", - "transactionIndex": "0x45", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "gasUsed": "0x9e6ea", - "effectiveGasPrice": "0x533991", - "blobGasUsed": "0x37dba", - "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", - "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "contractAddress": "0x976cedebd26e4d78cbfdb789186510ab9a5747e3", - "daFootprintGasScalar": "0x8b", - "l1BaseFeeScalar": "0x8dd", - "l1BlobBaseFee": "0x2e7418", - "l1BlobBaseFeeScalar": "0x101c12", - "l1Fee": "0x203b90ba0", - "l1GasPrice": "0x35a0dd7", - "l1GasUsed": "0x66e4" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x2760256", - "logs": [ - { - "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", - "topics": [ - "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", - "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", - "0x0000000000000000000000000000000000000000000000000000000000000000" - ], - "data": "0x0000000000000000000000009900f8019b20e822e2d5897db246a376a9514c8f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024c68e00fb00000000000000000000000014283f733d6f73ca116eaa07af7c8c16b1cef7e300000000000000000000000000000000000000000000000000000000", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "blockTimestamp": "0x698f8135", - "transactionHash": "0xcd90c6463b6429688c1737a4c44bfcdc8dcc81cf8aaced36093cb399bdb084cb", - "transactionIndex": "0x5f", - "logIndex": "0x1bc", - "removed": false - }, - { - "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", - "topics": [ - "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", - "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x0000000000000000000000009900f8019b20e822e2d5897db246a376a9514c8f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000245b34b8230000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca00000000000000000000000000000000000000000000000000000000", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "blockTimestamp": "0x698f8135", - "transactionHash": "0xcd90c6463b6429688c1737a4c44bfcdc8dcc81cf8aaced36093cb399bdb084cb", - "transactionIndex": "0x5f", - "logIndex": "0x1bd", - "removed": false - }, - { - "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", - "topics": [ - "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", - "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", - "0x0000000000000000000000000000000000000000000000000000000000000002" - ], - "data": "0x0000000000000000000000009900f8019b20e822e2d5897db246a376a9514c8f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000249277a1850000000000000000000000002e11edc25e5f2391cd9225a7c107d1b41ebacc9f00000000000000000000000000000000000000000000000000000000", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "blockTimestamp": "0x698f8135", - "transactionHash": "0xcd90c6463b6429688c1737a4c44bfcdc8dcc81cf8aaced36093cb399bdb084cb", - "transactionIndex": "0x5f", - "logIndex": "0x1be", - "removed": false - }, - { - "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", - "topics": [ - "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", - "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", - "0x0000000000000000000000000000000000000000000000000000000000000003" - ], - "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf100000000000000000000000098474be8d188f450fef65b5c6d290d333eb74a2f00000000000000000000000000000000000000000000000000000000", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "blockTimestamp": "0x698f8135", - "transactionHash": "0xcd90c6463b6429688c1737a4c44bfcdc8dcc81cf8aaced36093cb399bdb084cb", - "transactionIndex": "0x5f", - "logIndex": "0x1bf", - "removed": false - }, - { - "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", - "topics": [ - "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", - "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", - "0x0000000000000000000000000000000000000000000000000000000000000004" - ], - "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000063e92a335be85a7ae6d2de28397dcf40423c45f00000000000000000000000000000000000000000000000000000000", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "blockTimestamp": "0x698f8135", - "transactionHash": "0xcd90c6463b6429688c1737a4c44bfcdc8dcc81cf8aaced36093cb399bdb084cb", - "transactionIndex": "0x5f", - "logIndex": "0x1c0", - "removed": false - }, - { - "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", - "topics": [ - "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", - "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", - "0x0000000000000000000000000000000000000000000000000000000000000005" - ], - "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c46600000000000000000000000000000000000000000000000000000000", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "blockTimestamp": "0x698f8135", - "transactionHash": "0xcd90c6463b6429688c1737a4c44bfcdc8dcc81cf8aaced36093cb399bdb084cb", - "transactionIndex": "0x5f", - "logIndex": "0x1c1", - "removed": false - }, - { - "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", - "topics": [ - "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", - "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", - "0x0000000000000000000000000000000000000000000000000000000000000006" - ], - "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000c6b0eeff559a23187506440f8c62f58aea02fb4e00000000000000000000000000000000000000000000000000000000", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "blockTimestamp": "0x698f8135", - "transactionHash": "0xcd90c6463b6429688c1737a4c44bfcdc8dcc81cf8aaced36093cb399bdb084cb", - "transactionIndex": "0x5f", - "logIndex": "0x1c2", - "removed": false - }, - { - "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", - "topics": [ - "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", - "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", - "0x0000000000000000000000000000000000000000000000000000000000000007" - ], - "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf100000000000000000000000065b65d4bf565b3ba92371ccd0b157da1bcb3b1a800000000000000000000000000000000000000000000000000000000", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "blockTimestamp": "0x698f8135", - "transactionHash": "0xcd90c6463b6429688c1737a4c44bfcdc8dcc81cf8aaced36093cb399bdb084cb", - "transactionIndex": "0x5f", - "logIndex": "0x1c3", - "removed": false - }, - { - "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", - "topics": [ - "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", - "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", - "0x0000000000000000000000000000000000000000000000000000000000000008" - ], - "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000976cedebd26e4d78cbfdb789186510ab9a5747e300000000000000000000000000000000000000000000000000000000", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "blockTimestamp": "0x698f8135", - "transactionHash": "0xcd90c6463b6429688c1737a4c44bfcdc8dcc81cf8aaced36093cb399bdb084cb", - "transactionIndex": "0x5f", - "logIndex": "0x1c4", - "removed": false - }, - { - "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", - "topics": [ - "0x20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d0387", - "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000003e8", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "blockTimestamp": "0x698f8135", - "transactionHash": "0xcd90c6463b6429688c1737a4c44bfcdc8dcc81cf8aaced36093cb399bdb084cb", - "transactionIndex": "0x5f", - "logIndex": "0x1c5", - "removed": false - } - ], - "logsBloom": "0x04000080000000000000000040000000000000000000000000000000000000000000000000000000000000000000000100001000820480000000000000040000000030000000000000800000000000000000000000040008000000000000000008000000020000000000000000000800000080000000000000000400000000000080000400000000000000000000001000000800000000000000000000000100000000000000000000004100000004000000000000800000002000080000400040000000000000000000000000000000000000008000400000000100000060000000000000000000000000000000000000000000008000000000000000000000", - "type": "0x2", - "transactionHash": "0xcd90c6463b6429688c1737a4c44bfcdc8dcc81cf8aaced36093cb399bdb084cb", - "transactionIndex": "0x5f", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "gasUsed": "0x1a8d5", - "effectiveGasPrice": "0x533991", - "blobGasUsed": "0xe497", - "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", - "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", - "contractAddress": null, - "daFootprintGasScalar": "0x8b", - "l1BaseFeeScalar": "0x8dd", - "l1BlobBaseFee": "0x2e7418", - "l1BlobBaseFeeScalar": "0x101c12", - "l1Fee": "0x8417d1f0", - "l1GasPrice": "0x35a0dd7", - "l1GasUsed": "0x1a5a" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x27b1e80", - "logs": [ - { - "address": "0x9900f8019b20e822e2d5897db246a376a9514c8f", - "topics": [ - "0xab64f92ab780ecbf4f3866f57cee465ff36c89450dcce20237ca7a8d81fb7d13", - "0x00000000000000000000000014283f733d6f73ca116eaa07af7c8c16b1cef7e3" - ], - "data": "0x", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "blockTimestamp": "0x698f8135", - "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", - "transactionIndex": "0x60", - "logIndex": "0x1c6", - "removed": false - }, - { - "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", - "topics": [ - "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", - "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", - "0x0000000000000000000000000000000000000000000000000000000000000000" - ], - "data": "0x0000000000000000000000009900f8019b20e822e2d5897db246a376a9514c8f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c68e00fb00000000000000000000000014283f733d6f73ca116eaa07af7c8c16b1cef7e300000000000000000000000000000000000000000000000000000000", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "blockTimestamp": "0x698f8135", - "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", - "transactionIndex": "0x60", - "logIndex": "0x1c7", - "removed": false - }, - { - "address": "0x9900f8019b20e822e2d5897db246a376a9514c8f", - "topics": [ - "0x482b97c53e48ffa324a976e2738053e9aff6eee04d8aac63b10e19411d869b82", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca" - ], - "data": "0x", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "blockTimestamp": "0x698f8135", - "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", - "transactionIndex": "0x60", - "logIndex": "0x1c8", - "removed": false - }, - { - "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", - "topics": [ - "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", - "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x0000000000000000000000009900f8019b20e822e2d5897db246a376a9514c8f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000245b34b8230000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca00000000000000000000000000000000000000000000000000000000", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "blockTimestamp": "0x698f8135", - "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", - "transactionIndex": "0x60", - "logIndex": "0x1c9", - "removed": false - }, - { - "address": "0x9900f8019b20e822e2d5897db246a376a9514c8f", - "topics": [ - "0x5a69769904291a5b71c7f53981055587f0f849edb458cc47e64510be36d164d3", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000002e11edc25e5f2391cd9225a7c107d1b41ebacc9f" - ], - "data": "0x", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "blockTimestamp": "0x698f8135", - "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", - "transactionIndex": "0x60", - "logIndex": "0x1ca", - "removed": false - }, - { - "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", - "topics": [ - "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", - "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", - "0x0000000000000000000000000000000000000000000000000000000000000002" - ], - "data": "0x0000000000000000000000009900f8019b20e822e2d5897db246a376a9514c8f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000249277a1850000000000000000000000002e11edc25e5f2391cd9225a7c107d1b41ebacc9f00000000000000000000000000000000000000000000000000000000", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "blockTimestamp": "0x698f8135", - "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", - "transactionIndex": "0x60", - "logIndex": "0x1cb", - "removed": false - }, - { - "address": "0x0021c1fdd50aa76fb59afe3fc3a38c02c257bdca", - "topics": [ - "0xa77e7c594c11a0d5d9d8e6a9132ac0db912dc0f34f5fb7d94860fe38d16410bd", - "0x00000000000000000000000098474be8d188f450fef65b5c6d290d333eb74a2f" - ], - "data": "0x", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "blockTimestamp": "0x698f8135", - "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", - "transactionIndex": "0x60", - "logIndex": "0x1cc", - "removed": false - }, - { - "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", - "topics": [ - "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", - "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", - "0x0000000000000000000000000000000000000000000000000000000000000003" - ], - "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002422f2caf100000000000000000000000098474be8d188f450fef65b5c6d290d333eb74a2f00000000000000000000000000000000000000000000000000000000", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "blockTimestamp": "0x698f8135", - "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", - "transactionIndex": "0x60", - "logIndex": "0x1cd", - "removed": false - }, - { - "address": "0x0021c1fdd50aa76fb59afe3fc3a38c02c257bdca", - "topics": [ - "0xa77e7c594c11a0d5d9d8e6a9132ac0db912dc0f34f5fb7d94860fe38d16410bd", - "0x000000000000000000000000063e92a335be85a7ae6d2de28397dcf40423c45f" - ], - "data": "0x", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "blockTimestamp": "0x698f8135", - "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", - "transactionIndex": "0x60", - "logIndex": "0x1ce", - "removed": false - }, - { - "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", - "topics": [ - "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", - "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", - "0x0000000000000000000000000000000000000000000000000000000000000004" - ], - "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000063e92a335be85a7ae6d2de28397dcf40423c45f00000000000000000000000000000000000000000000000000000000", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "blockTimestamp": "0x698f8135", - "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", - "transactionIndex": "0x60", - "logIndex": "0x1cf", - "removed": false - }, - { - "address": "0x0021c1fdd50aa76fb59afe3fc3a38c02c257bdca", - "topics": [ - "0xa77e7c594c11a0d5d9d8e6a9132ac0db912dc0f34f5fb7d94860fe38d16410bd", - "0x000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c466" - ], - "data": "0x", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "blockTimestamp": "0x698f8135", - "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", - "transactionIndex": "0x60", - "logIndex": "0x1d0", - "removed": false - }, - { - "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", - "topics": [ - "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", - "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", - "0x0000000000000000000000000000000000000000000000000000000000000005" - ], - "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c46600000000000000000000000000000000000000000000000000000000", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "blockTimestamp": "0x698f8135", - "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", - "transactionIndex": "0x60", - "logIndex": "0x1d1", - "removed": false - }, - { - "address": "0x0021c1fdd50aa76fb59afe3fc3a38c02c257bdca", - "topics": [ - "0xa77e7c594c11a0d5d9d8e6a9132ac0db912dc0f34f5fb7d94860fe38d16410bd", - "0x000000000000000000000000c6b0eeff559a23187506440f8c62f58aea02fb4e" - ], - "data": "0x", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "blockTimestamp": "0x698f8135", - "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", - "transactionIndex": "0x60", - "logIndex": "0x1d2", - "removed": false - }, - { - "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", - "topics": [ - "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", - "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", - "0x0000000000000000000000000000000000000000000000000000000000000006" - ], - "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000c6b0eeff559a23187506440f8c62f58aea02fb4e00000000000000000000000000000000000000000000000000000000", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "blockTimestamp": "0x698f8135", - "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", - "transactionIndex": "0x60", - "logIndex": "0x1d3", - "removed": false - }, - { - "address": "0x0021c1fdd50aa76fb59afe3fc3a38c02c257bdca", - "topics": [ - "0xa77e7c594c11a0d5d9d8e6a9132ac0db912dc0f34f5fb7d94860fe38d16410bd", - "0x00000000000000000000000065b65d4bf565b3ba92371ccd0b157da1bcb3b1a8" - ], - "data": "0x", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "blockTimestamp": "0x698f8135", - "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", - "transactionIndex": "0x60", - "logIndex": "0x1d4", - "removed": false - }, - { - "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", - "topics": [ - "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", - "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", - "0x0000000000000000000000000000000000000000000000000000000000000007" - ], - "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002422f2caf100000000000000000000000065b65d4bf565b3ba92371ccd0b157da1bcb3b1a800000000000000000000000000000000000000000000000000000000", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "blockTimestamp": "0x698f8135", - "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", - "transactionIndex": "0x60", - "logIndex": "0x1d5", - "removed": false - }, - { - "address": "0x0021c1fdd50aa76fb59afe3fc3a38c02c257bdca", - "topics": [ - "0xa77e7c594c11a0d5d9d8e6a9132ac0db912dc0f34f5fb7d94860fe38d16410bd", - "0x000000000000000000000000976cedebd26e4d78cbfdb789186510ab9a5747e3" - ], - "data": "0x", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "blockTimestamp": "0x698f8135", - "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", - "transactionIndex": "0x60", - "logIndex": "0x1d6", - "removed": false - }, - { - "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", - "topics": [ - "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", - "0xe311cc18826f37a5c07d4b2bdd7215bc4c479957d8630d1553cf44e61b115e05", - "0x0000000000000000000000000000000000000000000000000000000000000008" - ], - "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002422f2caf1000000000000000000000000976cedebd26e4d78cbfdb789186510ab9a5747e300000000000000000000000000000000000000000000000000000000", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "blockTimestamp": "0x698f8135", - "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", - "transactionIndex": "0x60", - "logIndex": "0x1d7", - "removed": false - } - ], - "logsBloom": "0x04000080001002008000000000000000000008000000000008000000100004000000100000000000800000000004004000001000020c800100000000000400804020300000000000008000000000000a0000000000040000000000000010002008400000020000000000008000000800001000200000000010000400000000000080000400000000000000000000001040080804000000000000000000210100000000000000200000004100000004000000008000800000202080080000400040000020000000280000002000000020000400008000000000400100000060100000008100000000800004010000000000000000008000010000000000000000", - "type": "0x2", - "transactionHash": "0xfbad78ec3e204d46a668a3a12f8b2aba509bfb86cf72a38c94820f59a9eb7d08", - "transactionIndex": "0x60", - "blockHash": "0xc2cc2215ad7b2d017a56179ff7a2056f305f9fae3e71753fb064df62e4a7946a", - "blockNumber": "0x2829229", - "gasUsed": "0x51c2a", - "effectiveGasPrice": "0x533991", - "blobGasUsed": "0xe1e0", - "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", - "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", - "contractAddress": null, - "daFootprintGasScalar": "0x8b", - "l1BaseFeeScalar": "0x8dd", - "l1BlobBaseFee": "0x2e7418", - "l1BlobBaseFeeScalar": "0x101c12", - "l1Fee": "0x828552c1", - "l1GasPrice": "0x35a0dd7", - "l1GasUsed": "0x1a0a" - } - ], + "receipts": [], "libraries": [], - "pending": [], + "pending": [ + "0xf1af1f1e395a35dd2149b0685d5a57c8b6c3dd33afcd7a26f7a76f045b9dd6d0", + "0x64e6193e33c9be328a25ed28f2fe5333b9ea9f8d4da707bc5554adb3db43a7e7", + "0x1f4f410b8aae741dbd59cc026cf95cac68c43875cc9ae951dafb034bce857df2", + "0x6f0e6d853692140ee8196fe209a590102f1568fb481cba620b058db349733e29", + "0x0ec9b49ba69c03c671a197969a9e377e4c2df7ceefd6246b46b3d65300e15af3", + "0x0f834890fbaa6d502b430a0d0e73d5da9a18ef4bd8f0633729c461ac3ebb9b30" + ], "returns": {}, - "timestamp": 1771012596204, + "timestamp": 1771280437895, "chain": 8453, - "commit": "feef4c5" + "commit": "19e389e" } \ No newline at end of file diff --git a/broadcast/RegisterVault.s.sol/8453/run-1771280763399.json b/broadcast/RegisterVault.s.sol/8453/run-1771280763399.json new file mode 100644 index 0000000..0398ec3 --- /dev/null +++ b/broadcast/RegisterVault.s.sol/8453/run-1771280763399.json @@ -0,0 +1,176 @@ +{ + "transactions": [ + { + "hash": "0xbc255b31c38f0caa6c065caa94debd2d31e13a5c7a99f5b6fea0feae9c2c7cb9", + "transactionType": "CALL", + "contractName": "YieldSeekerAdminTimelock", + "contractAddress": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "function": "schedule(address,uint256,bytes,bytes32,bytes32,uint256)", + "arguments": [ + "0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA", + "0", + "0x9362149e0000000000000000000000002626664c2603336e57b271c5c0b26f421741e481000000000000000000000000dbcdba358a804dc388f33ffbd7fa664cf689cabd", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x34cd3771a0a69bc9474c5ec154c6d7ca1e997ec11b75825012cba49cb04011bf", + "0" + ], + "transaction": { + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "gas": "0x13289", + "value": "0x0", + "input": "0x01d5062a0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000034cd3771a0a69bc9474c5ec154c6d7ca1e997ec11b75825012cba49cb04011bf000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000449362149e0000000000000000000000002626664c2603336e57b271c5c0b26f421741e481000000000000000000000000dbcdba358a804dc388f33ffbd7fa664cf689cabd00000000000000000000000000000000000000000000000000000000", + "nonce": "0x35", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd7ef03884b2d254da59a6d106c5167fd378c11c15163d532c099cc86bf6cbe96", + "transactionType": "CALL", + "contractName": "YieldSeekerAdminTimelock", + "contractAddress": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "function": "execute(address,uint256,bytes,bytes32,bytes32)", + "arguments": [ + "0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA", + "0", + "0x9362149e0000000000000000000000002626664c2603336e57b271c5c0b26f421741e481000000000000000000000000dbcdba358a804dc388f33ffbd7fa664cf689cabd", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x34cd3771a0a69bc9474c5ec154c6d7ca1e997ec11b75825012cba49cb04011bf" + ], + "transaction": { + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "gas": "0x2ad3c", + "value": "0x0", + "input": "0x134008d30000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000034cd3771a0a69bc9474c5ec154c6d7ca1e997ec11b75825012cba49cb04011bf00000000000000000000000000000000000000000000000000000000000000449362149e0000000000000000000000002626664c2603336e57b271c5c0b26f421741e481000000000000000000000000dbcdba358a804dc388f33ffbd7fa664cf689cabd00000000000000000000000000000000000000000000000000000000", + "nonce": "0x36", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x3303a9f", + "logs": [ + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", + "0x387549f8f6c82f7f46db4a453472e7350a8311c9c87fe076b5263f7e158f9b14", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000449362149e0000000000000000000000002626664c2603336e57b271c5c0b26f421741e481000000000000000000000000dbcdba358a804dc388f33ffbd7fa664cf689cabd00000000000000000000000000000000000000000000000000000000", + "blockHash": "0xd4ec2dd5b880cfb2e3a0bea8b4114e1800318dad07c63bbfd5837d957452877d", + "blockNumber": "0x2849e4a", + "blockTimestamp": "0x69939977", + "transactionHash": "0xbc255b31c38f0caa6c065caa94debd2d31e13a5c7a99f5b6fea0feae9c2c7cb9", + "transactionIndex": "0x7c", + "logIndex": "0x708", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0x20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d0387", + "0x387549f8f6c82f7f46db4a453472e7350a8311c9c87fe076b5263f7e158f9b14" + ], + "data": "0x34cd3771a0a69bc9474c5ec154c6d7ca1e997ec11b75825012cba49cb04011bf", + "blockHash": "0xd4ec2dd5b880cfb2e3a0bea8b4114e1800318dad07c63bbfd5837d957452877d", + "blockNumber": "0x2849e4a", + "blockTimestamp": "0x69939977", + "transactionHash": "0xbc255b31c38f0caa6c065caa94debd2d31e13a5c7a99f5b6fea0feae9c2c7cb9", + "transactionIndex": "0x7c", + "logIndex": "0x709", + "removed": false + } + ], + "logsBloom": "0x00000080000000000000000040000000000000000000000000000000000000000000000000000000000000000000000100000000800000000000000000000000000000000000000000800400000000000000000000000008000000000000000000000000020000000000000000000800000080000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000004000000000000000000000400000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xbc255b31c38f0caa6c065caa94debd2d31e13a5c7a99f5b6fea0feae9c2c7cb9", + "transactionIndex": "0x7c", + "blockHash": "0xd4ec2dd5b880cfb2e3a0bea8b4114e1800318dad07c63bbfd5837d957452877d", + "blockNumber": "0x2849e4a", + "gasUsed": "0xddee", + "effectiveGasPrice": "0x40e374", + "blobGasUsed": "0x5cd9", + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "contractAddress": null, + "daFootprintGasScalar": "0x8b", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x1e8c05", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x204372d7", + "l1GasPrice": "0x1b5c8f4", + "l1GasUsed": "0xab8" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x33ffbeb", + "logs": [ + { + "address": "0x0021c1fdd50aa76fb59afe3fc3a38c02c257bdca", + "topics": [ + "0x1cf35c87329e14a81fdc68af8a463c1db203ccfc925ff5150f5dbc71bc4c2372", + "0x0000000000000000000000002626664c2603336e57b271c5c0b26f421741e481", + "0x000000000000000000000000dbcdba358a804dc388f33ffbd7fa664cf689cabd" + ], + "data": "0x", + "blockHash": "0xd4ec2dd5b880cfb2e3a0bea8b4114e1800318dad07c63bbfd5837d957452877d", + "blockNumber": "0x2849e4a", + "blockTimestamp": "0x69939977", + "transactionHash": "0xd7ef03884b2d254da59a6d106c5167fd378c11c15163d532c099cc86bf6cbe96", + "transactionIndex": "0x85", + "logIndex": "0x70d", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", + "0x387549f8f6c82f7f46db4a453472e7350a8311c9c87fe076b5263f7e158f9b14", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000449362149e0000000000000000000000002626664c2603336e57b271c5c0b26f421741e481000000000000000000000000dbcdba358a804dc388f33ffbd7fa664cf689cabd00000000000000000000000000000000000000000000000000000000", + "blockHash": "0xd4ec2dd5b880cfb2e3a0bea8b4114e1800318dad07c63bbfd5837d957452877d", + "blockNumber": "0x2849e4a", + "blockTimestamp": "0x69939977", + "transactionHash": "0xd7ef03884b2d254da59a6d106c5167fd378c11c15163d532c099cc86bf6cbe96", + "transactionIndex": "0x85", + "logIndex": "0x70e", + "removed": false + } + ], + "logsBloom": "0x00000080000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000800000200000000020000000000000000000000800400000000000000000000000000000000000000002000000000020000000000000000000800000000000000000000000400000000000000008000000000000000000000000000000004000000000002001000000000000000000000000000000000000400000000000000000000000000000000000000000000000000080000004000000000000000000000000000000000000820100000000000000000000000000000040000000000000000010000000000000000", + "type": "0x2", + "transactionHash": "0xd7ef03884b2d254da59a6d106c5167fd378c11c15163d532c099cc86bf6cbe96", + "transactionIndex": "0x85", + "blockHash": "0xd4ec2dd5b880cfb2e3a0bea8b4114e1800318dad07c63bbfd5837d957452877d", + "blockNumber": "0x2849e4a", + "gasUsed": "0x1d48a", + "effectiveGasPrice": "0x40e374", + "blobGasUsed": "0x5bc3", + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "contractAddress": null, + "daFootprintGasScalar": "0x8b", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x1e8c05", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x1fcaa1d1", + "l1GasPrice": "0x1b5c8f4", + "l1GasUsed": "0xa90" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1771280763399, + "chain": 8453, + "commit": "19e389e" +} \ No newline at end of file diff --git a/broadcast/RegisterVault.s.sol/8453/run-1771280810476.json b/broadcast/RegisterVault.s.sol/8453/run-1771280810476.json new file mode 100644 index 0000000..dccb055 --- /dev/null +++ b/broadcast/RegisterVault.s.sol/8453/run-1771280810476.json @@ -0,0 +1,176 @@ +{ + "transactions": [ + { + "hash": "0x4d2ac1ee438165171c45a6939cceaa4cf3c9d7c46f9eb4cce4dd7dc416c0c4dd", + "transactionType": "CALL", + "contractName": "YieldSeekerAdminTimelock", + "contractAddress": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "function": "schedule(address,uint256,bytes,bytes32,bytes32,uint256)", + "arguments": [ + "0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA", + "0", + "0x9362149e000000000000000000000000cf77a3ba9a5ca399b7c97c74d54e5b1beb874e4300000000000000000000000001fe6834fa3af286d6c568dc868ceec08f7dad20", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0xefe102ba007ea4c809390682ca614db70128e529cd817a8b9f7c9fbbff2c9dc0", + "0" + ], + "transaction": { + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "gas": "0x14480", + "value": "0x0", + "input": "0x01d5062a0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000000efe102ba007ea4c809390682ca614db70128e529cd817a8b9f7c9fbbff2c9dc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000449362149e000000000000000000000000cf77a3ba9a5ca399b7c97c74d54e5b1beb874e4300000000000000000000000001fe6834fa3af286d6c568dc868ceec08f7dad2000000000000000000000000000000000000000000000000000000000", + "nonce": "0x37", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x1d5a7dfb9e5d6c282fbcadee049f88852350d633ab5c3c928ecfd2772575ecbf", + "transactionType": "CALL", + "contractName": "YieldSeekerAdminTimelock", + "contractAddress": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "function": "execute(address,uint256,bytes,bytes32,bytes32)", + "arguments": [ + "0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA", + "0", + "0x9362149e000000000000000000000000cf77a3ba9a5ca399b7c97c74d54e5b1beb874e4300000000000000000000000001fe6834fa3af286d6c568dc868ceec08f7dad20", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0xefe102ba007ea4c809390682ca614db70128e529cd817a8b9f7c9fbbff2c9dc0" + ], + "transaction": { + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "gas": "0x28719", + "value": "0x0", + "input": "0x134008d30000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000efe102ba007ea4c809390682ca614db70128e529cd817a8b9f7c9fbbff2c9dc000000000000000000000000000000000000000000000000000000000000000449362149e000000000000000000000000cf77a3ba9a5ca399b7c97c74d54e5b1beb874e4300000000000000000000000001fe6834fa3af286d6c568dc868ceec08f7dad2000000000000000000000000000000000000000000000000000000000", + "nonce": "0x38", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x2389508", + "logs": [ + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", + "0x7e131900d8e60212c01da7bb351de37477d0bb3176f442769028122797e7fb66", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000449362149e000000000000000000000000cf77a3ba9a5ca399b7c97c74d54e5b1beb874e4300000000000000000000000001fe6834fa3af286d6c568dc868ceec08f7dad2000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x2b9853504e6f6bfb379eb909732f20a165e926b86df2bd2b97216ecd01e2ff39", + "blockNumber": "0x2849e62", + "blockTimestamp": "0x699399a7", + "transactionHash": "0x4d2ac1ee438165171c45a6939cceaa4cf3c9d7c46f9eb4cce4dd7dc416c0c4dd", + "transactionIndex": "0xd7", + "logIndex": "0x3f5", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0x20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d0387", + "0x7e131900d8e60212c01da7bb351de37477d0bb3176f442769028122797e7fb66" + ], + "data": "0xefe102ba007ea4c809390682ca614db70128e529cd817a8b9f7c9fbbff2c9dc0", + "blockHash": "0x2b9853504e6f6bfb379eb909732f20a165e926b86df2bd2b97216ecd01e2ff39", + "blockNumber": "0x2849e62", + "blockTimestamp": "0x699399a7", + "transactionHash": "0x4d2ac1ee438165171c45a6939cceaa4cf3c9d7c46f9eb4cce4dd7dc416c0c4dd", + "transactionIndex": "0xd7", + "logIndex": "0x3f6", + "removed": false + } + ], + "logsBloom": "0x00000080000000000000000040000000200000000000000000000000000000000000000000000000000000000000000100000000800000000000000000000000000000000000000000800000000000000000000000000008000000000000000000004000020000000000000000000800000080000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000020000000000000002000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x4d2ac1ee438165171c45a6939cceaa4cf3c9d7c46f9eb4cce4dd7dc416c0c4dd", + "transactionIndex": "0xd7", + "blockHash": "0x2b9853504e6f6bfb379eb909732f20a165e926b86df2bd2b97216ecd01e2ff39", + "blockNumber": "0x2849e62", + "gasUsed": "0xdde2", + "effectiveGasPrice": "0x468a1a", + "blobGasUsed": "0x5c4e", + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "contractAddress": null, + "daFootprintGasScalar": "0x8b", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x1c3d77", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x1f27362f", + "l1GasPrice": "0x1d18225", + "l1GasUsed": "0xaab" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x23a6986", + "logs": [ + { + "address": "0x0021c1fdd50aa76fb59afe3fc3a38c02c257bdca", + "topics": [ + "0x1cf35c87329e14a81fdc68af8a463c1db203ccfc925ff5150f5dbc71bc4c2372", + "0x000000000000000000000000cf77a3ba9a5ca399b7c97c74d54e5b1beb874e43", + "0x00000000000000000000000001fe6834fa3af286d6c568dc868ceec08f7dad20" + ], + "data": "0x", + "blockHash": "0x2b9853504e6f6bfb379eb909732f20a165e926b86df2bd2b97216ecd01e2ff39", + "blockNumber": "0x2849e62", + "blockTimestamp": "0x699399a7", + "transactionHash": "0x1d5a7dfb9e5d6c282fbcadee049f88852350d633ab5c3c928ecfd2772575ecbf", + "transactionIndex": "0xd8", + "logIndex": "0x3f7", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", + "0x7e131900d8e60212c01da7bb351de37477d0bb3176f442769028122797e7fb66", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000449362149e000000000000000000000000cf77a3ba9a5ca399b7c97c74d54e5b1beb874e4300000000000000000000000001fe6834fa3af286d6c568dc868ceec08f7dad2000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x2b9853504e6f6bfb379eb909732f20a165e926b86df2bd2b97216ecd01e2ff39", + "blockNumber": "0x2849e62", + "blockTimestamp": "0x699399a7", + "transactionHash": "0x1d5a7dfb9e5d6c282fbcadee049f88852350d633ab5c3c928ecfd2772575ecbf", + "transactionIndex": "0xd8", + "logIndex": "0x3f8", + "removed": false + } + ], + "logsBloom": "0x000000800000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000008000002000000000000000000000000000000008000000000000000000000000000000000000000000020000040000200000000000000000008000000000000000000000004000000000000000080000000000000000000040000000000040000000000000012000000010000000000000000000000000000000000000000000000000000000000000000000000000040000a0000000000000000000000000000000100000000000020100000000000002000000000000000000000000000000000010000000000000000", + "type": "0x2", + "transactionHash": "0x1d5a7dfb9e5d6c282fbcadee049f88852350d633ab5c3c928ecfd2772575ecbf", + "transactionIndex": "0xd8", + "blockHash": "0x2b9853504e6f6bfb379eb909732f20a165e926b86df2bd2b97216ecd01e2ff39", + "blockNumber": "0x2849e62", + "gasUsed": "0x1d47e", + "effectiveGasPrice": "0x468a1a", + "blobGasUsed": "0x5bc3", + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "contractAddress": null, + "daFootprintGasScalar": "0x8b", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x1c3d77", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x1ed90ede", + "l1GasPrice": "0x1d18225", + "l1GasUsed": "0xa90" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1771280810476, + "chain": 8453, + "commit": "19e389e" +} \ No newline at end of file diff --git a/broadcast/RegisterVault.s.sol/8453/run-1771280886722.json b/broadcast/RegisterVault.s.sol/8453/run-1771280886722.json new file mode 100644 index 0000000..db024d8 --- /dev/null +++ b/broadcast/RegisterVault.s.sol/8453/run-1771280886722.json @@ -0,0 +1,176 @@ +{ + "transactions": [ + { + "hash": "0x3fe03a7d069dc1787d62283e1448eca2852ccf515eaf63381ee0cb4e67908645", + "transactionType": "CALL", + "contractName": "YieldSeekerAdminTimelock", + "contractAddress": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "function": "schedule(address,uint256,bytes,bytes32,bytes32,uint256)", + "arguments": [ + "0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA", + "0", + "0x9362149e000000000000000000000000be6d8f0d05cc4be24d5167a3ef062215be6d18a5000000000000000000000000840974f44d2738661703292ccf339c404a864ac4", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0xb90f26b483eee961dbc78842887cb135b6a43158daf73bee3e6e2be048b7d09f", + "0" + ], + "transaction": { + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "gas": "0x13289", + "value": "0x0", + "input": "0x01d5062a0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000000b90f26b483eee961dbc78842887cb135b6a43158daf73bee3e6e2be048b7d09f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000449362149e000000000000000000000000be6d8f0d05cc4be24d5167a3ef062215be6d18a5000000000000000000000000840974f44d2738661703292ccf339c404a864ac400000000000000000000000000000000000000000000000000000000", + "nonce": "0x39", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7a8afeff3c9a366e665103c20426d382f64e4631b7a608817d303acc86595300", + "transactionType": "CALL", + "contractName": "YieldSeekerAdminTimelock", + "contractAddress": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "function": "execute(address,uint256,bytes,bytes32,bytes32)", + "arguments": [ + "0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA", + "0", + "0x9362149e000000000000000000000000be6d8f0d05cc4be24d5167a3ef062215be6d18a5000000000000000000000000840974f44d2738661703292ccf339c404a864ac4", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0xb90f26b483eee961dbc78842887cb135b6a43158daf73bee3e6e2be048b7d09f" + ], + "transaction": { + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "gas": "0x2ad3c", + "value": "0x0", + "input": "0x134008d30000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000b90f26b483eee961dbc78842887cb135b6a43158daf73bee3e6e2be048b7d09f00000000000000000000000000000000000000000000000000000000000000449362149e000000000000000000000000be6d8f0d05cc4be24d5167a3ef062215be6d18a5000000000000000000000000840974f44d2738661703292ccf339c404a864ac400000000000000000000000000000000000000000000000000000000", + "nonce": "0x3a", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x1935556", + "logs": [ + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", + "0xb8221cba93d05a01a024527084e85680f4ba32e7fd4e390521844dab76772001", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000449362149e000000000000000000000000be6d8f0d05cc4be24d5167a3ef062215be6d18a5000000000000000000000000840974f44d2738661703292ccf339c404a864ac400000000000000000000000000000000000000000000000000000000", + "blockHash": "0xe07eed7776e2da83680e3b8b210a8b8aa185fd7a8aa21a8617f16be2f967f423", + "blockNumber": "0x2849e88", + "blockTimestamp": "0x699399f3", + "transactionHash": "0x7a8afeff3c9a366e665103c20426d382f64e4631b7a608817d303acc86595300", + "transactionIndex": "0x45", + "logIndex": "0x269", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0x20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d0387", + "0xb8221cba93d05a01a024527084e85680f4ba32e7fd4e390521844dab76772001" + ], + "data": "0xb90f26b483eee961dbc78842887cb135b6a43158daf73bee3e6e2be048b7d09f", + "blockHash": "0xe07eed7776e2da83680e3b8b210a8b8aa185fd7a8aa21a8617f16be2f967f423", + "blockNumber": "0x2849e88", + "blockTimestamp": "0x699399f3", + "transactionHash": "0x7a8afeff3c9a366e665103c20426d382f64e4631b7a608817d303acc86595300", + "transactionIndex": "0x45", + "logIndex": "0x26a", + "removed": false + } + ], + "logsBloom": "0x00000080000000000000000040000000000000000000000200000000000000000000000000000000000000000000000100000000800000000000000000000000000000000000000000800000000000000000000000000008000000000000000000000000020000000000020000000800000080000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000400000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x7a8afeff3c9a366e665103c20426d382f64e4631b7a608817d303acc86595300", + "transactionIndex": "0x45", + "blockHash": "0xe07eed7776e2da83680e3b8b210a8b8aa185fd7a8aa21a8617f16be2f967f423", + "blockNumber": "0x2849e88", + "gasUsed": "0xddee", + "effectiveGasPrice": "0x43ab7a", + "blobGasUsed": "0x5cd9", + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "contractAddress": null, + "daFootprintGasScalar": "0x8b", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x1f5b67", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x231f7714", + "l1GasPrice": "0x213c219", + "l1GasUsed": "0xab8" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x19529e0", + "logs": [ + { + "address": "0x0021c1fdd50aa76fb59afe3fc3a38c02c257bdca", + "topics": [ + "0x1cf35c87329e14a81fdc68af8a463c1db203ccfc925ff5150f5dbc71bc4c2372", + "0x000000000000000000000000be6d8f0d05cc4be24d5167a3ef062215be6d18a5", + "0x000000000000000000000000840974f44d2738661703292ccf339c404a864ac4" + ], + "data": "0x", + "blockHash": "0xe07eed7776e2da83680e3b8b210a8b8aa185fd7a8aa21a8617f16be2f967f423", + "blockNumber": "0x2849e88", + "blockTimestamp": "0x699399f3", + "transactionHash": "0x3fe03a7d069dc1787d62283e1448eca2852ccf515eaf63381ee0cb4e67908645", + "transactionIndex": "0x46", + "logIndex": "0x26b", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", + "0xb8221cba93d05a01a024527084e85680f4ba32e7fd4e390521844dab76772001", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000449362149e000000000000000000000000be6d8f0d05cc4be24d5167a3ef062215be6d18a5000000000000000000000000840974f44d2738661703292ccf339c404a864ac400000000000000000000000000000000000000000000000000000000", + "blockHash": "0xe07eed7776e2da83680e3b8b210a8b8aa185fd7a8aa21a8617f16be2f967f423", + "blockNumber": "0x2849e88", + "blockTimestamp": "0x699399f3", + "transactionHash": "0x3fe03a7d069dc1787d62283e1448eca2852ccf515eaf63381ee0cb4e67908645", + "transactionIndex": "0x46", + "logIndex": "0x26c", + "removed": false + } + ], + "logsBloom": "0x00080080000000000000000000000000000000000000000200000000000000000000000000000000000000000000000100000000000800000200000000000000000000000000000000800000400000000000040000000000000000000000002000000000020000000000020000000800000000000000000000000400000080000000008000000000000000000000000000000004000000000000001000000000000000000000000000000000000000000000000000000000000800000000000000000000000000080000000080000000000000000000000000000000000020100000000000000000000000000000000000000000000000010000000000000000", + "type": "0x2", + "transactionHash": "0x3fe03a7d069dc1787d62283e1448eca2852ccf515eaf63381ee0cb4e67908645", + "transactionIndex": "0x46", + "blockHash": "0xe07eed7776e2da83680e3b8b210a8b8aa185fd7a8aa21a8617f16be2f967f423", + "blockNumber": "0x2849e88", + "gasUsed": "0x1d48a", + "effectiveGasPrice": "0x43ab7a", + "blobGasUsed": "0x5bc3", + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "contractAddress": null, + "daFootprintGasScalar": "0x8b", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x1f5b67", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x229bf0e2", + "l1GasPrice": "0x213c219", + "l1GasUsed": "0xa90" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1771280886722, + "chain": 8453, + "commit": "19e389e" +} \ No newline at end of file diff --git a/broadcast/RegisterVault.s.sol/8453/run-latest.json b/broadcast/RegisterVault.s.sol/8453/run-latest.json index f634053..db024d8 100644 --- a/broadcast/RegisterVault.s.sol/8453/run-latest.json +++ b/broadcast/RegisterVault.s.sol/8453/run-latest.json @@ -1,51 +1,51 @@ { "transactions": [ { - "hash": "0x522a2de23308547350ef77743f711905e6dedf6a59e25f64d077a916778cb851", + "hash": "0x3fe03a7d069dc1787d62283e1448eca2852ccf515eaf63381ee0cb4e67908645", "transactionType": "CALL", - "contractName": null, + "contractName": "YieldSeekerAdminTimelock", "contractAddress": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "function": "schedule(address,uint256,bytes,bytes32,bytes32,uint256)", "arguments": [ "0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA", "0", - "0x9362149e0000000000000000000000000000000000001ff3684f28c67538d4d072c22734000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c466", + "0x9362149e000000000000000000000000be6d8f0d05cc4be24d5167a3ef062215be6d18a5000000000000000000000000840974f44d2738661703292ccf339c404a864ac4", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x68b6c676c0f87235569d03952f678d0b5536e02d893cd4ddbef4a94e6d996e31", + "0xb90f26b483eee961dbc78842887cb135b6a43158daf73bee3e6e2be048b7d09f", "0" ], "transaction": { "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", - "gas": "0x13226", + "gas": "0x13289", "value": "0x0", - "input": "0x01d5062a0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000068b6c676c0f87235569d03952f678d0b5536e02d893cd4ddbef4a94e6d996e31000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000449362149e0000000000000000000000000000000000001ff3684f28c67538d4d072c22734000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c46600000000000000000000000000000000000000000000000000000000", - "nonce": "0x2b", + "input": "0x01d5062a0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000000b90f26b483eee961dbc78842887cb135b6a43158daf73bee3e6e2be048b7d09f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000449362149e000000000000000000000000be6d8f0d05cc4be24d5167a3ef062215be6d18a5000000000000000000000000840974f44d2738661703292ccf339c404a864ac400000000000000000000000000000000000000000000000000000000", + "nonce": "0x39", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x9e1eec76b5ba7ecae558975444a43c02e1fec22dba0f0e34e0dfc65eee192acb", + "hash": "0x7a8afeff3c9a366e665103c20426d382f64e4631b7a608817d303acc86595300", "transactionType": "CALL", - "contractName": null, + "contractName": "YieldSeekerAdminTimelock", "contractAddress": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "function": "execute(address,uint256,bytes,bytes32,bytes32)", "arguments": [ "0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA", "0", - "0x9362149e0000000000000000000000000000000000001ff3684f28c67538d4d072c22734000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c466", + "0x9362149e000000000000000000000000be6d8f0d05cc4be24d5167a3ef062215be6d18a5000000000000000000000000840974f44d2738661703292ccf339c404a864ac4", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x68b6c676c0f87235569d03952f678d0b5536e02d893cd4ddbef4a94e6d996e31" + "0xb90f26b483eee961dbc78842887cb135b6a43158daf73bee3e6e2be048b7d09f" ], "transaction": { "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", - "gas": "0x2acd3", + "gas": "0x2ad3c", "value": "0x0", - "input": "0x134008d30000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000068b6c676c0f87235569d03952f678d0b5536e02d893cd4ddbef4a94e6d996e3100000000000000000000000000000000000000000000000000000000000000449362149e0000000000000000000000000000000000001ff3684f28c67538d4d072c22734000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c46600000000000000000000000000000000000000000000000000000000", - "nonce": "0x2c", + "input": "0x134008d30000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000b90f26b483eee961dbc78842887cb135b6a43158daf73bee3e6e2be048b7d09f00000000000000000000000000000000000000000000000000000000000000449362149e000000000000000000000000be6d8f0d05cc4be24d5167a3ef062215be6d18a5000000000000000000000000840974f44d2738661703292ccf339c404a864ac400000000000000000000000000000000000000000000000000000000", + "nonce": "0x3a", "chainId": "0x2105" }, "additionalContracts": [], @@ -55,122 +55,122 @@ "receipts": [ { "status": "0x1", - "cumulativeGasUsed": "0x1f304ac", + "cumulativeGasUsed": "0x1935556", "logs": [ { "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "topics": [ "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", - "0x772ea1518f3074b7a9cc0e88b67c303a279e101f633f70e3f1463d3b3e4ae0e6", + "0xb8221cba93d05a01a024527084e85680f4ba32e7fd4e390521844dab76772001", "0x0000000000000000000000000000000000000000000000000000000000000000" ], - "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000449362149e0000000000000000000000000000000000001ff3684f28c67538d4d072c22734000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c46600000000000000000000000000000000000000000000000000000000", - "blockHash": "0x5de5a58d1f5209daf1eeebdc62af574b46db4942b960107837891a807de5c9d6", - "blockNumber": "0x2829317", - "blockTimestamp": "0x698f8311", - "transactionHash": "0x522a2de23308547350ef77743f711905e6dedf6a59e25f64d077a916778cb851", - "transactionIndex": "0xa9", - "logIndex": "0x363", + "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000449362149e000000000000000000000000be6d8f0d05cc4be24d5167a3ef062215be6d18a5000000000000000000000000840974f44d2738661703292ccf339c404a864ac400000000000000000000000000000000000000000000000000000000", + "blockHash": "0xe07eed7776e2da83680e3b8b210a8b8aa185fd7a8aa21a8617f16be2f967f423", + "blockNumber": "0x2849e88", + "blockTimestamp": "0x699399f3", + "transactionHash": "0x7a8afeff3c9a366e665103c20426d382f64e4631b7a608817d303acc86595300", + "transactionIndex": "0x45", + "logIndex": "0x269", "removed": false }, { "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "topics": [ "0x20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d0387", - "0x772ea1518f3074b7a9cc0e88b67c303a279e101f633f70e3f1463d3b3e4ae0e6" + "0xb8221cba93d05a01a024527084e85680f4ba32e7fd4e390521844dab76772001" ], - "data": "0x68b6c676c0f87235569d03952f678d0b5536e02d893cd4ddbef4a94e6d996e31", - "blockHash": "0x5de5a58d1f5209daf1eeebdc62af574b46db4942b960107837891a807de5c9d6", - "blockNumber": "0x2829317", - "blockTimestamp": "0x698f8311", - "transactionHash": "0x522a2de23308547350ef77743f711905e6dedf6a59e25f64d077a916778cb851", - "transactionIndex": "0xa9", - "logIndex": "0x364", + "data": "0xb90f26b483eee961dbc78842887cb135b6a43158daf73bee3e6e2be048b7d09f", + "blockHash": "0xe07eed7776e2da83680e3b8b210a8b8aa185fd7a8aa21a8617f16be2f967f423", + "blockNumber": "0x2849e88", + "blockTimestamp": "0x699399f3", + "transactionHash": "0x7a8afeff3c9a366e665103c20426d382f64e4631b7a608817d303acc86595300", + "transactionIndex": "0x45", + "logIndex": "0x26a", "removed": false } ], - "logsBloom": "0x00000080000000000000000040000000000000000000000000000000000000000000000000000000000000000000000100000000800000000000002000000000000000000000000000800000000000000000000000000008000000000000000000000000020000000000000000000800800080000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000020000000000000000000004000000000000000000000000000000000000000000000", + "logsBloom": "0x00000080000000000000000040000000000000000000000200000000000000000000000000000000000000000000000100000000800000000000000000000000000000000000000000800000000000000000000000000008000000000000000000000000020000000000020000000800000080000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000400000000000000020000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "transactionHash": "0x522a2de23308547350ef77743f711905e6dedf6a59e25f64d077a916778cb851", - "transactionIndex": "0xa9", - "blockHash": "0x5de5a58d1f5209daf1eeebdc62af574b46db4942b960107837891a807de5c9d6", - "blockNumber": "0x2829317", - "gasUsed": "0xdda6", - "effectiveGasPrice": "0x5d55d2", - "blobGasUsed": "0x5a22", + "transactionHash": "0x7a8afeff3c9a366e665103c20426d382f64e4631b7a608817d303acc86595300", + "transactionIndex": "0x45", + "blockHash": "0xe07eed7776e2da83680e3b8b210a8b8aa185fd7a8aa21a8617f16be2f967f423", + "blockNumber": "0x2849e88", + "gasUsed": "0xddee", + "effectiveGasPrice": "0x43ab7a", + "blobGasUsed": "0x5cd9", "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "contractAddress": null, "daFootprintGasScalar": "0x8b", "l1BaseFeeScalar": "0x8dd", - "l1BlobBaseFee": "0x29d5fe", + "l1BlobBaseFee": "0x1f5b67", "l1BlobBaseFeeScalar": "0x101c12", - "l1Fee": "0x2fdeb953", - "l1GasPrice": "0x32a4337", - "l1GasUsed": "0xa68" + "l1Fee": "0x231f7714", + "l1GasPrice": "0x213c219", + "l1GasUsed": "0xab8" }, { "status": "0x1", - "cumulativeGasUsed": "0x2101ff6", + "cumulativeGasUsed": "0x19529e0", "logs": [ { "address": "0x0021c1fdd50aa76fb59afe3fc3a38c02c257bdca", "topics": [ "0x1cf35c87329e14a81fdc68af8a463c1db203ccfc925ff5150f5dbc71bc4c2372", - "0x0000000000000000000000000000000000001ff3684f28c67538d4d072c22734", - "0x000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c466" + "0x000000000000000000000000be6d8f0d05cc4be24d5167a3ef062215be6d18a5", + "0x000000000000000000000000840974f44d2738661703292ccf339c404a864ac4" ], "data": "0x", - "blockHash": "0x5de5a58d1f5209daf1eeebdc62af574b46db4942b960107837891a807de5c9d6", - "blockNumber": "0x2829317", - "blockTimestamp": "0x698f8311", - "transactionHash": "0x9e1eec76b5ba7ecae558975444a43c02e1fec22dba0f0e34e0dfc65eee192acb", - "transactionIndex": "0xac", - "logIndex": "0x39a", + "blockHash": "0xe07eed7776e2da83680e3b8b210a8b8aa185fd7a8aa21a8617f16be2f967f423", + "blockNumber": "0x2849e88", + "blockTimestamp": "0x699399f3", + "transactionHash": "0x3fe03a7d069dc1787d62283e1448eca2852ccf515eaf63381ee0cb4e67908645", + "transactionIndex": "0x46", + "logIndex": "0x26b", "removed": false }, { "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "topics": [ "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", - "0x772ea1518f3074b7a9cc0e88b67c303a279e101f633f70e3f1463d3b3e4ae0e6", + "0xb8221cba93d05a01a024527084e85680f4ba32e7fd4e390521844dab76772001", "0x0000000000000000000000000000000000000000000000000000000000000000" ], - "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000449362149e0000000000000000000000000000000000001ff3684f28c67538d4d072c22734000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c46600000000000000000000000000000000000000000000000000000000", - "blockHash": "0x5de5a58d1f5209daf1eeebdc62af574b46db4942b960107837891a807de5c9d6", - "blockNumber": "0x2829317", - "blockTimestamp": "0x698f8311", - "transactionHash": "0x9e1eec76b5ba7ecae558975444a43c02e1fec22dba0f0e34e0dfc65eee192acb", - "transactionIndex": "0xac", - "logIndex": "0x39b", + "data": "0x0000000000000000000000000021c1fdd50aa76fb59afe3fc3a38c02c257bdca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000449362149e000000000000000000000000be6d8f0d05cc4be24d5167a3ef062215be6d18a5000000000000000000000000840974f44d2738661703292ccf339c404a864ac400000000000000000000000000000000000000000000000000000000", + "blockHash": "0xe07eed7776e2da83680e3b8b210a8b8aa185fd7a8aa21a8617f16be2f967f423", + "blockNumber": "0x2849e88", + "blockTimestamp": "0x699399f3", + "transactionHash": "0x3fe03a7d069dc1787d62283e1448eca2852ccf515eaf63381ee0cb4e67908645", + "transactionIndex": "0x46", + "logIndex": "0x26c", "removed": false } ], - "logsBloom": "0x00000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000200002000000000400000000000000000800000000000000000000000000000000000000000002000000000020000400000000008000800800000000000000000000400000000000000008000000000000000000000000000080004000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000008000000280000000000000000000000000000000000000000000020100000000000000000004000000000000000000000000000010000000000000000", + "logsBloom": "0x00080080000000000000000000000000000000000000000200000000000000000000000000000000000000000000000100000000000800000200000000000000000000000000000000800000400000000000040000000000000000000000002000000000020000000000020000000800000000000000000000000400000080000000008000000000000000000000000000000004000000000000001000000000000000000000000000000000000000000000000000000000000800000000000000000000000000080000000080000000000000000000000000000000000020100000000000000000000000000000000000000000000000010000000000000000", "type": "0x2", - "transactionHash": "0x9e1eec76b5ba7ecae558975444a43c02e1fec22dba0f0e34e0dfc65eee192acb", - "transactionIndex": "0xac", - "blockHash": "0x5de5a58d1f5209daf1eeebdc62af574b46db4942b960107837891a807de5c9d6", - "blockNumber": "0x2829317", - "gasUsed": "0x1d442", - "effectiveGasPrice": "0x5d55d2", - "blobGasUsed": "0x590c", + "transactionHash": "0x3fe03a7d069dc1787d62283e1448eca2852ccf515eaf63381ee0cb4e67908645", + "transactionIndex": "0x46", + "blockHash": "0xe07eed7776e2da83680e3b8b210a8b8aa185fd7a8aa21a8617f16be2f967f423", + "blockNumber": "0x2849e88", + "gasUsed": "0x1d48a", + "effectiveGasPrice": "0x43ab7a", + "blobGasUsed": "0x5bc3", "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "contractAddress": null, "daFootprintGasScalar": "0x8b", "l1BaseFeeScalar": "0x8dd", - "l1BlobBaseFee": "0x29d5fe", + "l1BlobBaseFee": "0x1f5b67", "l1BlobBaseFeeScalar": "0x101c12", - "l1Fee": "0x2f261044", - "l1GasPrice": "0x32a4337", - "l1GasUsed": "0xa40" + "l1Fee": "0x229bf0e2", + "l1GasPrice": "0x213c219", + "l1GasUsed": "0xa90" } ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1771012884745, + "timestamp": 1771280886722, "chain": 8453, - "commit": "feef4c5" + "commit": "19e389e" } \ No newline at end of file diff --git a/deployments.json b/deployments.json index 7389566..06e4bad 100644 --- a/deployments.json +++ b/deployments.json @@ -2,11 +2,15 @@ "aaveV3Adapter": "0xC6b0eeFf559a23187506440f8C62F58aea02Fb4E", "adapterRegistry": "0x0021c1fdD50aA76Fb59AFE3fC3A38C02c257bDcA", "adminTimelock": "0x773541F7c38BE8106AE966CA9D6fee494a0eDD24", + "aerodromeCLSwapAdapter": "0x840974F44d2738661703292ccf339C404a864AC4", + "aerodromeV2SwapAdapter": "0x01Fe6834fA3af286D6C568DC868cEec08f7dad20", "agentWalletFactory": "0x9900f8019b20e822E2D5897db246a376A9514C8F", "agentWalletImplementation": "0x14283F733d6F73CA116EaA07af7c8C16b1Cef7e3", "compoundV2Adapter": "0x976CeDeBd26e4D78cBfdb789186510aB9a5747e3", "compoundV3Adapter": "0x65B65D4bF565b3Ba92371CCd0B157DA1BCb3b1A8", "erc4626Adapter": "0x98474BE8d188F450FEf65b5C6d290D333eb74a2f", "feeTracker": "0x2e11eDC25e5f2391Cd9225A7C107d1B41eBACc9F", - "merklAdapter": "0x063E92A335be85a7AE6d2De28397dcf40423c45f" -} + "merklAdapter": "0x063E92A335be85a7AE6d2De28397dcf40423c45f", + "swapSellPolicy": "0x2c61dC81bc40389FF11CE68e78E93a3F75e41b9c", + "uniswapV3SwapAdapter": "0xDBcDba358A804DC388f33fFBd7FA664Cf689CABD" +} \ No newline at end of file From dd2ebb05e72a908a1e2cb31b992ccadd2f463abb Mon Sep 17 00:00:00 2001 From: Krishan Patel Date: Wed, 25 Feb 2026 16:52:20 +0000 Subject: [PATCH 23/28] . --- .../8453/run-1771285838021.json | 175 ++++++++++++++++++ .../8453/run-latest.json | 128 ++++++------- .../copilot-worktree-2026-02-23T16-18-12 | 1 + 3 files changed, 240 insertions(+), 64 deletions(-) create mode 100644 broadcast/AddSellableTokens.s.sol/8453/run-1771285838021.json create mode 160000 lib/account-abstraction.worktrees/copilot-worktree-2026-02-23T16-18-12 diff --git a/broadcast/AddSellableTokens.s.sol/8453/run-1771285838021.json b/broadcast/AddSellableTokens.s.sol/8453/run-1771285838021.json new file mode 100644 index 0000000..e5bcd09 --- /dev/null +++ b/broadcast/AddSellableTokens.s.sol/8453/run-1771285838021.json @@ -0,0 +1,175 @@ +{ + "transactions": [ + { + "hash": "0x3e4199b2bfb27c7986bc406a711013f6338765483a028f06095720a167049f51", + "transactionType": "CALL", + "contractName": "YieldSeekerAdminTimelock", + "contractAddress": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "function": "schedule(address,uint256,bytes,bytes32,bytes32,uint256)", + "arguments": [ + "0x2c61dC81bc40389FF11CE68e78E93a3F75e41b9c", + "0", + "0x99b39dc100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000590830dfdf9a3f68afcdde2694773debdf267774", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x246250b5c38bf75f992da1df0c5fca203c2c386ab9f5f2876942203e40dfe40f", + "0" + ], + "transaction": { + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "gas": "0x1339b", + "value": "0x0", + "input": "0x01d5062a0000000000000000000000002c61dc81bc40389ff11ce68e78e93a3f75e41b9c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000000246250b5c38bf75f992da1df0c5fca203c2c386ab9f5f2876942203e40dfe40f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006499b39dc100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000590830dfdf9a3f68afcdde2694773debdf26777400000000000000000000000000000000000000000000000000000000", + "nonce": "0x3b", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x114304b380f13e14f85206189a0967769e515301a4ec425858e3d75b3e8b89fb", + "transactionType": "CALL", + "contractName": "YieldSeekerAdminTimelock", + "contractAddress": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "function": "execute(address,uint256,bytes,bytes32,bytes32)", + "arguments": [ + "0x2c61dC81bc40389FF11CE68e78E93a3F75e41b9c", + "0", + "0x99b39dc100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000590830dfdf9a3f68afcdde2694773debdf267774", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x246250b5c38bf75f992da1df0c5fca203c2c386ab9f5f2876942203e40dfe40f" + ], + "transaction": { + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "gas": "0x282f7", + "value": "0x0", + "input": "0x134008d30000000000000000000000002c61dc81bc40389ff11ce68e78e93a3f75e41b9c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000246250b5c38bf75f992da1df0c5fca203c2c386ab9f5f2876942203e40dfe40f000000000000000000000000000000000000000000000000000000000000006499b39dc100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000590830dfdf9a3f68afcdde2694773debdf26777400000000000000000000000000000000000000000000000000000000", + "nonce": "0x3c", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x1ac707e", + "logs": [ + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", + "0x61528d82e6d74a258d0c9cc5ba36eff89588abe334c2e92ba74877721ffb82a3", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x0000000000000000000000002c61dc81bc40389ff11ce68e78e93a3f75e41b9c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006499b39dc100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000590830dfdf9a3f68afcdde2694773debdf26777400000000000000000000000000000000000000000000000000000000", + "blockHash": "0x215cbff0530a468ecd7fdff86373bc5ed95579ce85c7c003ba366945e0ffa81a", + "blockNumber": "0x284a834", + "blockTimestamp": "0x6993ad4b", + "transactionHash": "0x3e4199b2bfb27c7986bc406a711013f6338765483a028f06095720a167049f51", + "transactionIndex": "0x70", + "logIndex": "0x29d", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0x20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d0387", + "0x61528d82e6d74a258d0c9cc5ba36eff89588abe334c2e92ba74877721ffb82a3" + ], + "data": "0x246250b5c38bf75f992da1df0c5fca203c2c386ab9f5f2876942203e40dfe40f", + "blockHash": "0x215cbff0530a468ecd7fdff86373bc5ed95579ce85c7c003ba366945e0ffa81a", + "blockNumber": "0x284a834", + "blockTimestamp": "0x6993ad4b", + "transactionHash": "0x3e4199b2bfb27c7986bc406a711013f6338765483a028f06095720a167049f51", + "transactionIndex": "0x70", + "logIndex": "0x29e", + "removed": false + } + ], + "logsBloom": "0x00000080400000000000000040000000000000000000000000000000000000000000000000000000000000100000000100000000800000000000000000000000000000000000000000800000000000000000000000000008000000000000000000000000020000000000000000000800000080000000000000000c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x3e4199b2bfb27c7986bc406a711013f6338765483a028f06095720a167049f51", + "transactionIndex": "0x70", + "blockHash": "0x215cbff0530a468ecd7fdff86373bc5ed95579ce85c7c003ba366945e0ffa81a", + "blockNumber": "0x284a834", + "gasUsed": "0xdeb4", + "effectiveGasPrice": "0x25d1cc", + "blobGasUsed": "0x56e0", + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "contractAddress": null, + "daFootprintGasScalar": "0x8b", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x175644", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x1c034a2b", + "l1GasPrice": "0x226ab63", + "l1GasUsed": "0xa0a" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x1d1778a", + "logs": [ + { + "address": "0x2c61dc81bc40389ff11ce68e78e93a3f75e41b9c", + "topics": [ + "0x4ac723403fd9e3f5fbe7116bb75c15981bd5cb9ca32255900e5c29d9597cbee2", + "0x000000000000000000000000590830dfdf9a3f68afcdde2694773debdf267774" + ], + "data": "0x", + "blockHash": "0x215cbff0530a468ecd7fdff86373bc5ed95579ce85c7c003ba366945e0ffa81a", + "blockNumber": "0x284a834", + "blockTimestamp": "0x6993ad4b", + "transactionHash": "0x114304b380f13e14f85206189a0967769e515301a4ec425858e3d75b3e8b89fb", + "transactionIndex": "0x87", + "logIndex": "0x2de", + "removed": false + }, + { + "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "topics": [ + "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", + "0x61528d82e6d74a258d0c9cc5ba36eff89588abe334c2e92ba74877721ffb82a3", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x0000000000000000000000002c61dc81bc40389ff11ce68e78e93a3f75e41b9c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006499b39dc100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000590830dfdf9a3f68afcdde2694773debdf26777400000000000000000000000000000000000000000000000000000000", + "blockHash": "0x215cbff0530a468ecd7fdff86373bc5ed95579ce85c7c003ba366945e0ffa81a", + "blockNumber": "0x284a834", + "blockTimestamp": "0x6993ad4b", + "transactionHash": "0x114304b380f13e14f85206189a0967769e515301a4ec425858e3d75b3e8b89fb", + "transactionIndex": "0x87", + "logIndex": "0x2df", + "removed": false + } + ], + "logsBloom": "0x00000081400000000000000000000001000000000000000000000000000000000000000000000000001000100000000000000000000800000000000000000000000000000000010000800000000000000000000000000000004000000000002000000000020000000000000000000800000000000000000000000c00000000000000000000000000000000000000000000000000000000040010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000820000000", + "type": "0x2", + "transactionHash": "0x114304b380f13e14f85206189a0967769e515301a4ec425858e3d75b3e8b89fb", + "transactionIndex": "0x87", + "blockHash": "0x215cbff0530a468ecd7fdff86373bc5ed95579ce85c7c003ba366945e0ffa81a", + "blockNumber": "0x284a834", + "gasUsed": "0x1b7a3", + "effectiveGasPrice": "0x25d1cc", + "blobGasUsed": "0x55ca", + "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", + "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", + "contractAddress": null, + "daFootprintGasScalar": "0x8b", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x175644", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x1b934a8f", + "l1GasPrice": "0x226ab63", + "l1GasUsed": "0x9e2" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1771285838021, + "chain": 8453, + "commit": "a21cb13" +} \ No newline at end of file diff --git a/broadcast/AddSellableTokens.s.sol/8453/run-latest.json b/broadcast/AddSellableTokens.s.sol/8453/run-latest.json index 923a1f0..e5bcd09 100644 --- a/broadcast/AddSellableTokens.s.sol/8453/run-latest.json +++ b/broadcast/AddSellableTokens.s.sol/8453/run-latest.json @@ -1,13 +1,13 @@ { "transactions": [ { - "hash": "0x61cade08cfa18bb5c6682db6f94e6193c6d0bce8f325c69558b00e2660f9dc38", + "hash": "0x3e4199b2bfb27c7986bc406a711013f6338765483a028f06095720a167049f51", "transactionType": "CALL", - "contractName": null, + "contractName": "YieldSeekerAdminTimelock", "contractAddress": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "function": "schedule(address,uint256,bytes,bytes32,bytes32,uint256)", "arguments": [ - "0x153e4801852249d1f7D05CCB13c1D1CF8AE7c466", + "0x2c61dC81bc40389FF11CE68e78E93a3F75e41b9c", "0", "0x99b39dc100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000590830dfdf9a3f68afcdde2694773debdf267774", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -19,21 +19,21 @@ "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "gas": "0x1339b", "value": "0x0", - "input": "0x01d5062a000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c466000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000000246250b5c38bf75f992da1df0c5fca203c2c386ab9f5f2876942203e40dfe40f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006499b39dc100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000590830dfdf9a3f68afcdde2694773debdf26777400000000000000000000000000000000000000000000000000000000", - "nonce": "0x2d", + "input": "0x01d5062a0000000000000000000000002c61dc81bc40389ff11ce68e78e93a3f75e41b9c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000000246250b5c38bf75f992da1df0c5fca203c2c386ab9f5f2876942203e40dfe40f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006499b39dc100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000590830dfdf9a3f68afcdde2694773debdf26777400000000000000000000000000000000000000000000000000000000", + "nonce": "0x3b", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xfa1cc85ceb61494857cc9719cf2721d4e3443c40191211dfe982a2a03c7d74a9", + "hash": "0x114304b380f13e14f85206189a0967769e515301a4ec425858e3d75b3e8b89fb", "transactionType": "CALL", - "contractName": null, + "contractName": "YieldSeekerAdminTimelock", "contractAddress": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "function": "execute(address,uint256,bytes,bytes32,bytes32)", "arguments": [ - "0x153e4801852249d1f7D05CCB13c1D1CF8AE7c466", + "0x2c61dC81bc40389FF11CE68e78E93a3F75e41b9c", "0", "0x99b39dc100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000590830dfdf9a3f68afcdde2694773debdf267774", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -42,10 +42,10 @@ "transaction": { "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", - "gas": "0x28318", + "gas": "0x282f7", "value": "0x0", - "input": "0x134008d3000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c466000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000246250b5c38bf75f992da1df0c5fca203c2c386ab9f5f2876942203e40dfe40f000000000000000000000000000000000000000000000000000000000000006499b39dc100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000590830dfdf9a3f68afcdde2694773debdf26777400000000000000000000000000000000000000000000000000000000", - "nonce": "0x2e", + "input": "0x134008d30000000000000000000000002c61dc81bc40389ff11ce68e78e93a3f75e41b9c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000246250b5c38bf75f992da1df0c5fca203c2c386ab9f5f2876942203e40dfe40f000000000000000000000000000000000000000000000000000000000000006499b39dc100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000590830dfdf9a3f68afcdde2694773debdf26777400000000000000000000000000000000000000000000000000000000", + "nonce": "0x3c", "chainId": "0x2105" }, "additionalContracts": [], @@ -55,121 +55,121 @@ "receipts": [ { "status": "0x1", - "cumulativeGasUsed": "0x25a1abc", + "cumulativeGasUsed": "0x1ac707e", "logs": [ { "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "topics": [ "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", - "0x0083b1a04ab4ed228c6f5368661700f19d7bff61b4ec91afde90cf6fbc9511e0", + "0x61528d82e6d74a258d0c9cc5ba36eff89588abe334c2e92ba74877721ffb82a3", "0x0000000000000000000000000000000000000000000000000000000000000000" ], - "data": "0x000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c466000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006499b39dc100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000590830dfdf9a3f68afcdde2694773debdf26777400000000000000000000000000000000000000000000000000000000", - "blockHash": "0x369caf199f05644370b644110b6125d6e287709695ba1ec4549036219be03534", - "blockNumber": "0x2829d96", - "blockTimestamp": "0x698f980f", - "transactionHash": "0xfa1cc85ceb61494857cc9719cf2721d4e3443c40191211dfe982a2a03c7d74a9", - "transactionIndex": "0x60", - "logIndex": "0x208", + "data": "0x0000000000000000000000002c61dc81bc40389ff11ce68e78e93a3f75e41b9c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006499b39dc100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000590830dfdf9a3f68afcdde2694773debdf26777400000000000000000000000000000000000000000000000000000000", + "blockHash": "0x215cbff0530a468ecd7fdff86373bc5ed95579ce85c7c003ba366945e0ffa81a", + "blockNumber": "0x284a834", + "blockTimestamp": "0x6993ad4b", + "transactionHash": "0x3e4199b2bfb27c7986bc406a711013f6338765483a028f06095720a167049f51", + "transactionIndex": "0x70", + "logIndex": "0x29d", "removed": false }, { "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "topics": [ "0x20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d0387", - "0x0083b1a04ab4ed228c6f5368661700f19d7bff61b4ec91afde90cf6fbc9511e0" + "0x61528d82e6d74a258d0c9cc5ba36eff89588abe334c2e92ba74877721ffb82a3" ], "data": "0x246250b5c38bf75f992da1df0c5fca203c2c386ab9f5f2876942203e40dfe40f", - "blockHash": "0x369caf199f05644370b644110b6125d6e287709695ba1ec4549036219be03534", - "blockNumber": "0x2829d96", - "blockTimestamp": "0x698f980f", - "transactionHash": "0xfa1cc85ceb61494857cc9719cf2721d4e3443c40191211dfe982a2a03c7d74a9", - "transactionIndex": "0x60", - "logIndex": "0x209", + "blockHash": "0x215cbff0530a468ecd7fdff86373bc5ed95579ce85c7c003ba366945e0ffa81a", + "blockNumber": "0x284a834", + "blockTimestamp": "0x6993ad4b", + "transactionHash": "0x3e4199b2bfb27c7986bc406a711013f6338765483a028f06095720a167049f51", + "transactionIndex": "0x70", + "logIndex": "0x29e", "removed": false } ], - "logsBloom": "0x00000080000000000000000040000000000000000000000000000000000000000000000000000000000000000000000100000000800000000000000000000000000000000000000000800000000000000000000000000008000000000000400000000000020000000000000000000800000080000000000000000400001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000400000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "logsBloom": "0x00000080400000000000000040000000000000000000000000000000000000000000000000000000000000100000000100000000800000000000000000000000000000000000000000800000000000000000000000000008000000000000000000000000020000000000000000000800000080000000000000000c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000020000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "transactionHash": "0xfa1cc85ceb61494857cc9719cf2721d4e3443c40191211dfe982a2a03c7d74a9", - "transactionIndex": "0x60", - "blockHash": "0x369caf199f05644370b644110b6125d6e287709695ba1ec4549036219be03534", - "blockNumber": "0x2829d96", + "transactionHash": "0x3e4199b2bfb27c7986bc406a711013f6338765483a028f06095720a167049f51", + "transactionIndex": "0x70", + "blockHash": "0x215cbff0530a468ecd7fdff86373bc5ed95579ce85c7c003ba366945e0ffa81a", + "blockNumber": "0x284a834", "gasUsed": "0xdeb4", - "effectiveGasPrice": "0x3f1f5c", + "effectiveGasPrice": "0x25d1cc", "blobGasUsed": "0x56e0", "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "contractAddress": null, "daFootprintGasScalar": "0x8b", "l1BaseFeeScalar": "0x8dd", - "l1BlobBaseFee": "0x33c603", + "l1BlobBaseFee": "0x175644", "l1BlobBaseFeeScalar": "0x101c12", - "l1Fee": "0x37924040", - "l1GasPrice": "0x3a518dd", + "l1Fee": "0x1c034a2b", + "l1GasPrice": "0x226ab63", "l1GasUsed": "0xa0a" }, { "status": "0x1", - "cumulativeGasUsed": "0x25bd275", + "cumulativeGasUsed": "0x1d1778a", "logs": [ { - "address": "0x153e4801852249d1f7d05ccb13c1d1cf8ae7c466", + "address": "0x2c61dc81bc40389ff11ce68e78e93a3f75e41b9c", "topics": [ "0x4ac723403fd9e3f5fbe7116bb75c15981bd5cb9ca32255900e5c29d9597cbee2", "0x000000000000000000000000590830dfdf9a3f68afcdde2694773debdf267774" ], "data": "0x", - "blockHash": "0x369caf199f05644370b644110b6125d6e287709695ba1ec4549036219be03534", - "blockNumber": "0x2829d96", - "blockTimestamp": "0x698f980f", - "transactionHash": "0x61cade08cfa18bb5c6682db6f94e6193c6d0bce8f325c69558b00e2660f9dc38", - "transactionIndex": "0x61", - "logIndex": "0x20a", + "blockHash": "0x215cbff0530a468ecd7fdff86373bc5ed95579ce85c7c003ba366945e0ffa81a", + "blockNumber": "0x284a834", + "blockTimestamp": "0x6993ad4b", + "transactionHash": "0x114304b380f13e14f85206189a0967769e515301a4ec425858e3d75b3e8b89fb", + "transactionIndex": "0x87", + "logIndex": "0x2de", "removed": false }, { "address": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "topics": [ "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", - "0x0083b1a04ab4ed228c6f5368661700f19d7bff61b4ec91afde90cf6fbc9511e0", + "0x61528d82e6d74a258d0c9cc5ba36eff89588abe334c2e92ba74877721ffb82a3", "0x0000000000000000000000000000000000000000000000000000000000000000" ], - "data": "0x000000000000000000000000153e4801852249d1f7d05ccb13c1d1cf8ae7c46600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006499b39dc100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000590830dfdf9a3f68afcdde2694773debdf26777400000000000000000000000000000000000000000000000000000000", - "blockHash": "0x369caf199f05644370b644110b6125d6e287709695ba1ec4549036219be03534", - "blockNumber": "0x2829d96", - "blockTimestamp": "0x698f980f", - "transactionHash": "0x61cade08cfa18bb5c6682db6f94e6193c6d0bce8f325c69558b00e2660f9dc38", - "transactionIndex": "0x61", - "logIndex": "0x20b", + "data": "0x0000000000000000000000002c61dc81bc40389ff11ce68e78e93a3f75e41b9c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006499b39dc100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000590830dfdf9a3f68afcdde2694773debdf26777400000000000000000000000000000000000000000000000000000000", + "blockHash": "0x215cbff0530a468ecd7fdff86373bc5ed95579ce85c7c003ba366945e0ffa81a", + "blockNumber": "0x284a834", + "blockTimestamp": "0x6993ad4b", + "transactionHash": "0x114304b380f13e14f85206189a0967769e515301a4ec425858e3d75b3e8b89fb", + "transactionIndex": "0x87", + "logIndex": "0x2df", "removed": false } ], - "logsBloom": "0x00000080000000000000000000000001000000000000000000000000000000000000000100000000000000000000000000000000000800400000000000000000000000000000010000800000000000000000000000000000000000000000402000000000020000000000000000000800000000000000000000000400001000000000000000000000000000000000000000000000000000040010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000001000000000000000000000000000000020000000000000000000004000000000000000000000000000000000000820000000", + "logsBloom": "0x00000081400000000000000000000001000000000000000000000000000000000000000000000000001000100000000000000000000800000000000000000000000000000000010000800000000000000000000000000000004000000000002000000000020000000000000000000800000000000000000000000c00000000000000000000000000000000000000000000000000000000040010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000820000000", "type": "0x2", - "transactionHash": "0x61cade08cfa18bb5c6682db6f94e6193c6d0bce8f325c69558b00e2660f9dc38", - "transactionIndex": "0x61", - "blockHash": "0x369caf199f05644370b644110b6125d6e287709695ba1ec4549036219be03534", - "blockNumber": "0x2829d96", - "gasUsed": "0x1b7b9", - "effectiveGasPrice": "0x3f1f5c", + "transactionHash": "0x114304b380f13e14f85206189a0967769e515301a4ec425858e3d75b3e8b89fb", + "transactionIndex": "0x87", + "blockHash": "0x215cbff0530a468ecd7fdff86373bc5ed95579ce85c7c003ba366945e0ffa81a", + "blockNumber": "0x284a834", + "gasUsed": "0x1b7a3", + "effectiveGasPrice": "0x25d1cc", "blobGasUsed": "0x55ca", "from": "0xf8cbf6437d2473ec59885299af38d9a13ce97eca", "to": "0x773541f7c38be8106ae966ca9d6fee494a0edd24", "contractAddress": null, "daFootprintGasScalar": "0x8b", "l1BaseFeeScalar": "0x8dd", - "l1BlobBaseFee": "0x33c603", + "l1BlobBaseFee": "0x175644", "l1BlobBaseFeeScalar": "0x101c12", - "l1Fee": "0x36b41220", - "l1GasPrice": "0x3a518dd", + "l1Fee": "0x1b934a8f", + "l1GasPrice": "0x226ab63", "l1GasUsed": "0x9e2" } ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1771018257824, + "timestamp": 1771285838021, "chain": 8453, - "commit": "feef4c5" + "commit": "a21cb13" } \ No newline at end of file diff --git a/lib/account-abstraction.worktrees/copilot-worktree-2026-02-23T16-18-12 b/lib/account-abstraction.worktrees/copilot-worktree-2026-02-23T16-18-12 new file mode 160000 index 0000000..abff2ac --- /dev/null +++ b/lib/account-abstraction.worktrees/copilot-worktree-2026-02-23T16-18-12 @@ -0,0 +1 @@ +Subproject commit abff2aca61a8f0934e533d0d352978055fddbd96 From 0e1d46617a9307f6a04e37bae91d676b6b44c870 Mon Sep 17 00:00:00 2001 From: Krishan Patel Date: Wed, 25 Feb 2026 16:59:27 +0000 Subject: [PATCH 24/28] fix: remove accidentally committed worktree submodule Worktree directories should not be tracked as submodules. Added .worktrees/ to .gitignore to prevent future issues. --- .gitignore | 3 +++ .../copilot-worktree-2026-02-23T16-18-12 | 1 - 2 files changed, 3 insertions(+), 1 deletion(-) delete mode 160000 lib/account-abstraction.worktrees/copilot-worktree-2026-02-23T16-18-12 diff --git a/.gitignore b/.gitignore index 47ab1f2..bbc31bd 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,6 @@ out/ # OS .DS_Store + +# Git worktrees +**/.worktrees/ diff --git a/lib/account-abstraction.worktrees/copilot-worktree-2026-02-23T16-18-12 b/lib/account-abstraction.worktrees/copilot-worktree-2026-02-23T16-18-12 deleted file mode 160000 index abff2ac..0000000 --- a/lib/account-abstraction.worktrees/copilot-worktree-2026-02-23T16-18-12 +++ /dev/null @@ -1 +0,0 @@ -Subproject commit abff2aca61a8f0934e533d0d352978055fddbd96 From 857b890666915f4be4cc7dd0261384527483bcf7 Mon Sep 17 00:00:00 2001 From: Krishan Patel Date: Wed, 25 Feb 2026 17:00:12 +0000 Subject: [PATCH 25/28] . --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index bbc31bd..e0120d4 100644 --- a/.gitignore +++ b/.gitignore @@ -15,4 +15,4 @@ out/ .DS_Store # Git worktrees -**/.worktrees/ +*.worktrees/ From 10ec22aad323d2689bc62c346166073d328868d2 Mon Sep 17 00:00:00 2001 From: Krishan Patel Date: Wed, 25 Feb 2026 17:08:42 +0000 Subject: [PATCH 26/28] . --- test/unit/AdapterRegistry.t.sol | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/test/unit/AdapterRegistry.t.sol b/test/unit/AdapterRegistry.t.sol index dce036e..d3fa74b 100644 --- a/test/unit/AdapterRegistry.t.sol +++ b/test/unit/AdapterRegistry.t.sol @@ -679,5 +679,4 @@ contract AdapterRegistryTest is Test { /// @dev Simple mock adapter contract for testing contract MockAdapter { // Empty contract that has code (not EOA) - - } +} From 9bc82236d9c1da3ab19553ab8297ee77472646a2 Mon Sep 17 00:00:00 2001 From: Krishan Patel Date: Wed, 25 Feb 2026 17:09:05 +0000 Subject: [PATCH 27/28] . --- test/unit/AdapterRegistry.t.sol | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/unit/AdapterRegistry.t.sol b/test/unit/AdapterRegistry.t.sol index d3fa74b..dce036e 100644 --- a/test/unit/AdapterRegistry.t.sol +++ b/test/unit/AdapterRegistry.t.sol @@ -679,4 +679,5 @@ contract AdapterRegistryTest is Test { /// @dev Simple mock adapter contract for testing contract MockAdapter { // Empty contract that has code (not EOA) -} + + } From 172ab54c1c4d4a89213121f9e27b42f5c71c025b Mon Sep 17 00:00:00 2001 From: Krishan Patel Date: Wed, 25 Feb 2026 17:09:22 +0000 Subject: [PATCH 28/28] . --- test/unit/AdapterRegistry.t.sol | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/test/unit/AdapterRegistry.t.sol b/test/unit/AdapterRegistry.t.sol index dce036e..e09b0f1 100644 --- a/test/unit/AdapterRegistry.t.sol +++ b/test/unit/AdapterRegistry.t.sol @@ -677,7 +677,4 @@ contract AdapterRegistryTest is Test { } /// @dev Simple mock adapter contract for testing -contract MockAdapter { - // Empty contract that has code (not EOA) - - } +contract MockAdapter {}