diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a011daac..1e97fb1d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -37,6 +37,11 @@ jobs: forge: name: Run Unit and E2E Tests runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [20.x] + steps: - uses: actions/checkout@v3 with: @@ -46,6 +51,7 @@ jobs: uses: foundry-rs/foundry-toolchain@v1 with: version: nightly + cache: true - name: Install forge dependencies run: forge install @@ -53,8 +59,8 @@ jobs: - name: Install yarn dependencies run: yarn install --frozen-lockfile - - name: Precompile using 0.8.19 and via-ir=false - run: yarn build + - name: Build + run: forge build - name: "Create env file" run: | @@ -68,30 +74,3 @@ jobs: - name: Run tests shell: bash run: yarn test - - # coverage: - # name: Run Coverage Tests - # runs-on: ubuntu-latest - - # strategy: - # matrix: - # node-version: [16.x] - - # steps: - # - uses: actions/checkout@v3 - # - name: Use Node.js - # uses: actions/setup-node@v3 - # with: - # node-version: ${{ matrix.node-version }} - # cache: "yarn" - # - name: Install Foundry - # uses: foundry-rs/foundry-toolchain@v1 - # with: - # version: nightly - # - run: yarn install - # - run: yarn build - # - run: yarn coverage - # - uses: codecov/codecov-action@v3 - # with: - # files: ./coverage/lcov.info - # flags: production diff --git a/.gitignore b/.gitignore index 95ddf76b..50131e39 100644 --- a/.gitignore +++ b/.gitignore @@ -22,6 +22,7 @@ lcov.info !/**/.gitkeep .vscode/ + # Docs build files docs/book docs/src/src/ diff --git a/README.md b/README.md index a1184576..996ba532 100644 --- a/README.md +++ b/README.md @@ -265,7 +265,11 @@ Template: [`new-AddCollateral.json`](gov-input/anvil/new-AddCollateral.json) - delayedOracle: Usually a DelayedOracle that enforces delays to fresh price feeds. - safetyCRatio: RAY, CRatio used to compute the 'safePrice' - the price used when generating debt in SAFEEngine. - liquidationCRatio: RAY, CRatio used to compute the 'liquidationPrice' the price used when liquidating SAFEs. - +- CollateralAuctionHouseParams: + - maximumDiscount: WAD, Maximum discount at which collateral is being sold + - minimumBid: WAD, Minimum acceptable bid + - minimumDiscount: WAD, Minimum discount at which collateral is being sold + - perSecondDiscountUpdateRate: RAY, Rate at which the discount will be updated in an auction. This script proposes adding a new collateral to the system (deploys new contracts via the collateral join, collateral auction house factories and it adds the correct authorizations to the needed contracts). ### Modify Parameters diff --git a/broadcast/RedeployVault721.s.sol/42161/run-1714604460.json b/broadcast/RedeployVault721.s.sol/42161/run-1714604460.json new file mode 100644 index 00000000..5a1787f6 --- /dev/null +++ b/broadcast/RedeployVault721.s.sol/42161/run-1714604460.json @@ -0,0 +1,269 @@ +{ + "transactions": [ + { + "hash": "0xbd34a2e75ae42bcdae759aff0e6e501ef5abc29d053ad2d04ccd98c34675b9ee", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "value": "0x0", + "input": "0x60a06040523480156200001157600080fd5b5060405162005a7038038062005a708339810160408190526200003491620002fb565b336200004081620001dd565b506001600160a01b038416608081905260408051631111dfad60e01b81529051631111dfad9160048082019260009290919082900301818387803b1580156200008857600080fd5b505af11580156200009d573d6000803e3d6000fd5b505050506080516001600160a01b03166357c904416040518163ffffffff1660e01b81526004016020604051808303816000875af1158015620000e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200010a919062000363565b600280546001600160a01b0319166001600160a01b03929092169182179055604080516367aea31360e01b815290516367aea313916004808201926020929091908290030181865afa15801562000165573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200018b919062000363565b600380546001600160a01b03199081166001600160a01b03938416179091556004805482169583169590951790945560058054851693821693909317909255600680549093169116179055506200038a565b6001600160a01b038116620002055760405163e99d5ac560e01b815260040160405180910390fd5b6200021260008262000273565b1562000257576040516001600160a01b03821681527f599a298163e1678bb1c676052a8930bf0b8a1261ed6e01b8a2391e55f70001029060200160405180910390a150565b604051633013e93f60e11b815260040160405180910390fd5b50565b60006200028a836001600160a01b03841662000293565b90505b92915050565b6000818152600183016020526040812054620002dc575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556200028d565b5060006200028d565b6001600160a01b03811681146200027057600080fd5b600080600080608085870312156200031257600080fd5b84516200031f81620002e5565b60208601519094506200033281620002e5565b60408601519093506200034581620002e5565b60608601519092506200035881620002e5565b939692955090935050565b6000602082840312156200037657600080fd5b81516200038381620002e5565b9392505050565b6080516156bc620003b460003960008181610140015281816102ba015261081901526156bc6000f3fe608060405234801561001057600080fd5b50600436106100be5760003560e01c8063ab2ccfb511610076578063ba3b16911161005b578063ba3b1691146101a7578063c321118c146101ba578063e10ab5fa146101cd57600080fd5b8063ab2ccfb51461013b578063b1fcf88d1461018757600080fd5b806335b28153116100a757806335b281531461010057806394f3f81d14610115578063a2cc03ea1461012857600080fd5b806324ba5884146100c35780632e391876146100eb575b600080fd5b6100d66100d136600461250c565b6101ed565b60405190151581526020015b60405180910390f35b6100f36101fe565b6040516100e29190612529565b61011361010e36600461250c565b61020f565b005b61011361012336600461250c565b61025a565b610113610136366004612583565b6102a2565b6101627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100e2565b61019a6101953660046125df565b6104cc565b6040516100e29190612648565b6101136101b536600461270c565b610566565b61019a6101c83660046125df565b6105c2565b6101e06101db3660046125df565b6106c9565b6040516100e29190612796565b60006101f882610f8a565b92915050565b606061020a6000610f96565b905090565b61021833610f8a565b61024e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61025781610faa565b50565b61026333610f8a565b610299576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61025781611086565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610345576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f4e46543a206f6e6c79207661756c743732310000000000000000000000000000604482015260640160405180910390fd5b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8616908117909155604080517f67aea31300000000000000000000000000000000000000000000000000000000815290516367aea313916004808201926020929091908290030181865afa1580156103dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610400919061297b565b6003805473ffffffffffffffffffffffffffffffffffffffff9283167fffffffffffffffffffffffff000000000000000000000000000000000000000091821681179092556004805487851690831681179091556005805487861690841681179091556006805487871694168417905560025460408051919096168152602081019490945293830152606082019290925260808101919091527fcefb2d6a976a24897318cf149698c8bd5fda95c3d258b14de69edf8f86ed379f9060a00160405180910390a150505050565b600760205260009081526040902080546104e590612998565b80601f016020809104026020016040519081016040528092919081815260200182805461051190612998565b801561055e5780601f106105335761010080835404028352916020019161055e565b820191906000526020600020905b81548152906001019060200180831161054157829003601f168201915b505050505081565b61056f33610f8a565b6105a5576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008281526007602052604090206105bd8282612a39565b505050565b606060006105cf836106c9565b905060006105dc8261110e565b90506000826020015190506000826106746106008660c0015187610160015161117d565b610625858861010001518960a001518a608001518b61012001518c6101a001516111ad565b61063f8860000151878a61018001518b610140015161122f565b61064d896101600151611358565b6040516020016106609493929190612b51565b604051602081830303815290604052611383565b604051602001610685929190612ba8565b604051602081830303815290604052905061069f81611383565b6040516020016106af9190612c79565b604051602081830303815290604052945050505050919050565b61075060405180610220016040528060008152602001600081526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020016060815260200160608152602001606081525090565b6107d760405180610220016040528060008152602001600081526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020016060815260200160608152602001606081525090565b6107e0836114e3565b60c08201526040517fef2986eb0000000000000000000000000000000000000000000000000000000081526004810184905260009081907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063ef2986eb9060240160c060405180830381865afa158015610875573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108999190612cbe565b805160a082015160608301519194509192506108b4906114e3565b6101c085015260808201516108c8906114e3565b6101e08501526000806108db85846115a1565b915091506108e8826114e3565b60408701526108f6826116e3565b6080870152610904816114e3565b6060870152610912816116e3565b60a08701526003546040517f76e0b4ca0000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff85811660248301526109b99216906376e0b4ca90604401602060405180830381865afa158015610990573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b49190612d3e565b611707565b610200870152600480546040517fe54201f600000000000000000000000000000000000000000000000000000000815291820187905260009173ffffffffffffffffffffffffffffffffffffffff9091169063e54201f690602401606060405180830381865afa158015610a31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a559190612d57565b8051602082015191925090600090610a79906a084595161401484a00000090612df9565b905060006a084595161401484a0000008460400151610a989190612df9565b90506000808715610bfc578615610bf457506003546040517fb6e05a2e000000000000000000000000000000000000000000000000000000008152600481018c905260029160009173ffffffffffffffffffffffffffffffffffffffff9091169063b6e05a2e9060240160a060405180830381865afa158015610b1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b439190612e0d565b905062989680610be2610b6383604001518b61172390919063ffffffff16565b610bdc8973ffffffffffffffffffffffffffffffffffffffff166357de26a46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd59190612d3e565b8d90611723565b90611742565b610bec9190612df9565b925050610bfc565b5060c8905060015b6006546040517fc71f8d67000000000000000000000000000000000000000000000000000000008152600481018d905260009173ffffffffffffffffffffffffffffffffffffffff169063c71f8d6790602401602060405180830381865afa158015610c6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c90919061297b565b73ffffffffffffffffffffffffffffffffffffffff1663d8dfeb456040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfe919061297b565b90508073ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa158015610d4b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d739190810190612e7d565b8d6101200181905250610df38673ffffffffffffffffffffffffffffffffffffffff1663c8f33c916040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dee9190612d3e565b611757565b6101a08e0152610e0583838688611ad8565b6101608f01526101408e0152610e1a83611df3565b6101808e01525060208c01919091528a5250506005546040517fb6e05a2e000000000000000000000000000000000000000000000000000000008152600481018990526000975073ffffffffffffffffffffffffffffffffffffffff909116955063b6e05a2e94506024019250610e8f915050565b606060405180830381865afa158015610eac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed09190612ef4565b9050610edf81600001516114e3565b60e084015260008281526007602052604090208054610efd90612998565b80601f0160208091040260200160405190810160405280929190818152602001828054610f2990612998565b8015610f765780601f10610f4b57610100808354040283529160200191610f76565b820191906000526020600020905b815481529060010190602001808311610f5957829003601f168201915b505050505061010084015250909392505050565b60006101f88183611e98565b60606000610fa383611ec7565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff8116610ff7576040517fe99d5ac500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611002600082611f23565b156110545760405173ffffffffffffffffffffffffffffffffffffffff821681527f599a298163e1678bb1c676052a8930bf0b8a1261ed6e01b8a2391e55f7000102906020015b60405180910390a150565b6040517f6027d27e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611091600082611f45565b156110dc5760405173ffffffffffffffffffffffffffffffffffffffff821681527f8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b90390602001611049565b6040517fea8e4eb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6060600061111f8360c00151611f67565b9050600061112c84611f7a565b60c08501516101a08601516101c08701516101e08801516102008901516040519596506111659588948694899491939092602001612f30565b60405160208183030381529060405292505050919050565b606082828385604051602001611196949392919061312f565b604051602081830303815290604052905092915050565b60608087156111e1578585856040516020016111cb93929190613955565b60405160208183030381529060405290506111fe565b60405180610120016040528060f3815260200161528f60f3913990505b86818460405160200161121393929190613c87565b6040516020818303038152906040529150509695505050505050565b6060806060866002036112895760405180610140016040528061011b81526020016153c261011b91399150611263866114e3565b6040516020016112739190613db5565b6040516020818303038152906040529050611326565b866001036112cf5760405180610140016040528061011b81526020016153c261011b913991506040518060c00160405280609081526020016154dd609091399050611326565b60405180610140016040528061011a815260200161556d61011a913991506040518060400160405280601481526020017f205249534b3c2f747370616e3e3c2f746578743e00000000000000000000000081525090505b8482858360405160200161133d9493929190613e93565b60405160208183030381529060405292505050949350505050565b6060818260405160200161136d92919061499f565b6040516020818303038152906040529050919050565b606081516000036113a257505060408051602081019091526000815290565b600060405180606001604052806040815260200161538260409139905060006003845160026113d19190614b55565b6113db9190612df9565b6113e6906004614b68565b67ffffffffffffffff8111156113fe576113fe61265b565b6040519080825280601f01601f191660200182016040528015611428576020820181803683370190505b50905060018201602082018586518701602081018051600082525b8284101561149e576003840193508351603f8160121c168701518653600186019550603f81600c1c168701518653600186019550603f8160061c168701518653600186019550603f8116870151865350600185019450611443565b90525050855160039006600181146114bd57600281146114d0576114d8565b603d6001830353603d60028303536114d8565b603d60018303535b509195945050505050565b606060006114f083611fb9565b600101905060008167ffffffffffffffff8111156115105761151061265b565b6040519080825280601f01601f19166020018201604052801561153a576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461154457509392505050565b6000806000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166367aea3136040518163ffffffff1660e01b8152600401602060405180830381865afa158015611613573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611637919061297b565b6040517f3d4225040000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff86811660248301529190911690633d422504906044016040805180830381865afa1580156116ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116cf9190614b7f565b805160209091015190969095509350505050565b60606000806116f18461209b565b915091506116ff82826120ef565b949350505050565b60606000806117158461209b565b915091506116ff8282612149565b6000670de0b6b3a76400006117388385614b68565b610fa39190612df9565b600081611738670de0b6b3a764000085614b68565b6060600080600080600061176a8761215a565b50945094509450945094506060846001036117b9575060408051808201909152600381527f4a616e00000000000000000000000000000000000000000000000000000000006020820152611a83565b846002036117fb575060408051808201909152600381527f46656200000000000000000000000000000000000000000000000000000000006020820152611a83565b8460030361183d575060408051808201909152600381527f4d617200000000000000000000000000000000000000000000000000000000006020820152611a83565b8460040361187f575060408051808201909152600381527f41707200000000000000000000000000000000000000000000000000000000006020820152611a83565b846005036118c1575060408051808201909152600381527f4d617900000000000000000000000000000000000000000000000000000000006020820152611a83565b84600603611903575060408051808201909152600381527f4a756e00000000000000000000000000000000000000000000000000000000006020820152611a83565b84600703611945575060408051808201909152600381527f4a756c00000000000000000000000000000000000000000000000000000000006020820152611a83565b84600803611987575060408051808201909152600381527f41756700000000000000000000000000000000000000000000000000000000006020820152611a83565b846009036119c9575060408051808201909152600381527f53657000000000000000000000000000000000000000000000000000000000006020820152611a83565b84600a03611a0b575060408051808201909152600381527f4f637400000000000000000000000000000000000000000000000000000000006020820152611a83565b84600b03611a4d575060408051808201909152600381527f4e6f7600000000000000000000000000000000000000000000000000000000006020820152611a83565b5060408051808201909152600381527f446563000000000000000000000000000000000000000000000000000000000060208201525b80611a8d856114e3565b611a96886114e3565b611a9f8661219a565b611aa88661219a565b604051602001611abc959493929190614bce565b6040516020818303038152906040529650505050505050919050565b60608084600203611cfc57838611611b5f576040518060400160405280600b81526020017f4c49515549444154494f4e0000000000000000000000000000000000000000008152506040518060400160405280600781526020017f234534353230300000000000000000000000000000000000000000000000000081525091509150611dea565b8386118015611b6e5750828611155b15611be8576040518060400160405280600481526020017f48494748000000000000000000000000000000000000000000000000000000008152506040518060400160405280600781526020017f234534353230300000000000000000000000000000000000000000000000000081525091509150611dea565b8286118015611c0d57506064611bff846078614b68565b611c099190612df9565b8611155b15611c87576040518060400160405280600881526020017f454c4556415445440000000000000000000000000000000000000000000000008152506040518060400160405280600781526020017f234643424633420000000000000000000000000000000000000000000000000081525091509150611dea565b6040518060400160405280600381526020017f4c4f5700000000000000000000000000000000000000000000000000000000008152506040518060400160405280600781526020017f233544424131340000000000000000000000000000000000000000000000000081525091509150611dea565b84600103611d79576040518060400160405280600381526020017f4c4f5700000000000000000000000000000000000000000000000000000000008152506040518060400160405280600781526020017f233544424131340000000000000000000000000000000000000000000000000081525091509150611dea565b6040518060400160405280600281526020017f4e4f0000000000000000000000000000000000000000000000000000000000008152506040518060400160405280600781526020017f2336333637364600000000000000000000000000000000000000000000000000815250915091505b94509492505050565b606081600003611e3657505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b606482111580611e47575060c88210155b15611e8557505060408051808201909152600381527f3130300000000000000000000000000000000000000000000000000000000000602082015290565b6101f8611e93606484614cec565b6114e3565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001830160205260408120541515610fa3565b606081600001805480602002602001604051908101604052809291908181526020018280548015611f1757602002820191906000526020600020905b815481526020019060010190808311611f03575b50505050509050919050565b6000610fa38373ffffffffffffffffffffffffffffffffffffffff84166121c7565b6000610fa38373ffffffffffffffffffffffffffffffffffffffff8416612216565b60608160405160200161136d9190614cff565b6060816060015182604001518361012001518460e00151856101400151611fa487602001516114e3565b60405160200161136d96959493929190614e03565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612002577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef8100000000831061202e576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061204c57662386f26fc10000830492506010015b6305f5e1008310612064576305f5e100830492506008015b612710831061207857612710830492506004015b6064831061208a576064830492506002015b600a83106101f85760010192915050565b6000806120b0670de0b6b3a764000084612df9565b915060006120c683670de0b6b3a7640000614b68565b905060006120d48286614cec565b90506120e6655af3107a400082612df9565b92505050915091565b606082156121305761210083612310565b612109836114e3565b60405160200161211a92919061509f565b60405160208183030381529060405290506101f8565b612139826114e3565b60405160200161211a91906150f7565b6060821561213057612100836114e3565b6000808080808061216f6201518088046123a7565b91999098919750610e10620151809092068281049750603c9290068281049650919091069350915050565b6060600a8210156121be576121ae826114e3565b60405160200161136d919061513c565b6101f8826114e3565b600081815260018301602052604081205461220e575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556101f8565b5060006101f8565b600081815260018301602052604081205480156122ff57600061223a600183614cec565b855490915060009061224e90600190614cec565b90508181146122b357600086600001828154811061226e5761226e615181565b906000526020600020015490508087600001848154811061229157612291615181565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806122c4576122c46151b0565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506101f8565b60009150506101f8565b5092915050565b60408051602081019091526000808252606091905b8315612309576000612338600a866151df565b905060006fffffffffffffffffffffffffffffffff83161580159061237757506123636003846151f3565b6fffffffffffffffffffffffffffffffff16155b9050612384848383612461565b9350612391600a87612df9565b955061239e600184615222565b92505050612325565b60008080836226496581018262023ab1600483020590506004600362023ab18302010590910390600062164b09610fa0600185010205905060046105b58202058303601f019250600061098f846050028161240457612404612d9b565b0590506000605061098f83020585039050600b82057fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcf94909401606402929092018301996002600c90940290910392909201975095509350505050565b6060600061246e846114e3565b60408051808201909152600181527f2c000000000000000000000000000000000000000000000000000000000000006020820152909150836124bb57506040805160208101909152600081525b8181876040516020016124d09392919061524b565b604051602081830303815290604052925050509392505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461025757600080fd5b60006020828403121561251e57600080fd5b8135610fa3816124ea565b6020808252825182820181905260009190848201906040850190845b8181101561257757835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101612545565b50909695505050505050565b6000806000806080858703121561259957600080fd5b84356125a4816124ea565b935060208501356125b4816124ea565b925060408501356125c4816124ea565b915060608501356125d4816124ea565b939692955090935050565b6000602082840312156125f157600080fd5b5035919050565b60005b838110156126135781810151838201526020016125fb565b50506000910152565b600081518084526126348160208601602086016125f8565b601f01601f19169290920160200192915050565b602081526000610fa3602083018461261c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff811182821017156126ad576126ad61265b565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156126dc576126dc61265b565b604052919050565b600067ffffffffffffffff8211156126fe576126fe61265b565b50601f01601f191660200190565b6000806040838503121561271f57600080fd5b82359150602083013567ffffffffffffffff81111561273d57600080fd5b8301601f8101851361274e57600080fd5b803561276161275c826126e4565b6126b3565b81815286602083850101111561277657600080fd5b816020840160208301376000602083830101528093505050509250929050565b602081528151602082015260208201516040820152600060408301516102208060608501526127c961024085018361261c565b91506060850151601f19808685030160808701526127e7848361261c565b935060808701519150808685030160a0870152612804848361261c565b935060a08701519150808685030160c0870152612821848361261c565b935060c08701519150808685030160e087015261283e848361261c565b935060e0870151915061010081878603018188015261285d858461261c565b94508088015192505061012081878603018188015261287c858461261c565b94508088015192505061014081878603018188015261289b858461261c565b9450808801519250506101608187860301818801526128ba858461261c565b9450808801519250506101808187860301818801526128d9858461261c565b9450808801519250506101a08187860301818801526128f8858461261c565b9450808801519250506101c0818786030181880152612917858461261c565b9450808801519250506101e0818786030181880152612936858461261c565b945080880151925050610200818786030181880152612955858461261c565b908801518782039092018488015293509050612971838261261c565b9695505050505050565b60006020828403121561298d57600080fd5b8151610fa3816124ea565b600181811c908216806129ac57607f821691505b6020821081036129e5577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f8211156105bd57600081815260208120601f850160051c81016020861015612a125750805b601f850160051c820191505b81811015612a3157828155600101612a1e565b505050505050565b815167ffffffffffffffff811115612a5357612a5361265b565b612a6781612a618454612998565b846129eb565b602080601f831160018114612aba5760008415612a845750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555612a31565b600085815260208120601f198616915b82811015612ae957888601518255948401946001909101908401612aca565b5085821015612b2557878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60008151612b478185602086016125f8565b9290920192915050565b60008551612b63818460208a016125f8565b855190830190612b77818360208a016125f8565b8551910190612b8a8183602089016125f8565b8451910190612b9d8183602088016125f8565b019695505050505050565b7f7b226e616d65223a224f44204e46562023000000000000000000000000000000815260008351612be08160118501602088016125f8565b7f227d5d2c22696d616765223a22646174613a696d6167652f7376672b786d6c3b6011918401918201527f6261736536342c0000000000000000000000000000000000000000000000000060318201528351612c438160388401602088016125f8565b7f227d00000000000000000000000000000000000000000000000000000000000060389290910191820152603a01949350505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000815260008251612cb181601d8501602087016125f8565b91909101601d0192915050565b600060c08284031215612cd057600080fd5b60405160c0810181811067ffffffffffffffff82111715612cf357612cf361265b565b8060405250825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a0830151612d32816124ea565b60a08201529392505050565b600060208284031215612d5057600080fd5b5051919050565b600060608284031215612d6957600080fd5b612d7161268a565b8251612d7c816124ea565b8152602083810151908201526040928301519281019290925250919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082612e0857612e08612d9b565b500490565b600060a08284031215612e1f57600080fd5b60405160a0810181811067ffffffffffffffff82111715612e4257612e4261265b565b806040525082518152602083015160208201526040830151604082015260608301516060820152608083015160808201528091505092915050565b600060208284031215612e8f57600080fd5b815167ffffffffffffffff811115612ea657600080fd5b8201601f81018413612eb757600080fd5b8051612ec561275c826126e4565b818152856020838501011115612eda57600080fd5b612eeb8260208301602086016125f8565b95945050505050565b600060608284031215612f0657600080fd5b612f0e61268a565b8251815260208301516020820152604083015160408201528091505092915050565b60008951612f42818460208e016125f8565b7f222c226465736372697074696f6e223a000000000000000000000000000000009083019081528951612f7c816010840160208e016125f8565b7f2261747472696275746573223a5b7b2274726169745f74797065223a22494422601092909101918201527f2c2276616c7565223a220000000000000000000000000000000000000000000060308201528851612fe081603a840160208d016125f8565b8851910190612ff681603a840160208c016125f8565b875191019061300c81603a840160208b016125f8565b7f227d2c7b2274726169745f74797065223a224d6f646966696564206f6e20426c603a92909101918201527f6f636b222c2276616c7565223a22000000000000000000000000000000000000605a82015261312061311a6130cb6130c5613076606886018b612b35565b7f227d2c7b2274726169745f74797065223a224d6f64696669656420617420546981527f6d657374616d7020222c2276616c7565223a2200000000000000000000000000602082015260330190565b88612b35565b7f227d2c7b2274726169745f74797065223a22496e7465726e616c20436f6c6c6181527f746572616c222c2276616c7565223a2200000000000000000000000000000000602082015260300190565b85612b35565b9b9a5050505050505050505050565b7f3c7376672077696474683d2234323022206865696768743d223432302220666981527f6c6c3d226e6f6e652220786d6c6e733d22687474703a2f2f7777772e77332e6f60208201527f72672f323030302f7376672220786d6c6e733a786c696e6b3d22687474703a2f60408201527f2f7777772e77332e6f72672f313939392f786c696e6b223e3c6120746172676560608201527f743d225f626c616e6b2220687265663d2268747470733a2f2f6170702e64657660808201527f2e6f70656e646f6c6c61722e636f6d2f232f7661756c74732f0000000000000060a0820152600085516132258160b9850160208a016125f8565b7f223e3c7374796c653e2e67726170682d6267207b2066696c6c3a206e6f6e653b60b9918401918201527f207374726f6b653a20233030303b207374726f6b652d77696474683a2032303b60d98201527f206f7061636974793a203830253b7d202e6772617068207b66696c6c3a206e6f60f98201527f6e653b207374726f6b652d77696474683a2032303b207374726f6b652d6c696e6101198201527f656361703a20666c61743b20616e696d6174696f6e3a2070726f6772657373206101398201527f317320656173652d6f757420666f7277617264733b7d202e6368617274207b736101598201527f74726f6b653a200000000000000000000000000000000000000000000000000061017982015261394a61383d6138376133a96133a361335461018087018c612b35565b7f3b6f7061636974793a203430253b7d202e7269736b2d726174696f207b66696c81527f6c3a200000000000000000000000000000000000000000000000000000000000602082015260230190565b89612b35565b7f3b7d406b65796672616d65732070726f6772657373207b3025207b7374726f6b81527f652d6461736861727261793a203020313030353b7d7d20406b65796672616d6560208201527f73206c69717569646174696f6e207b3025207b20206f7061636974793a20383060408201527f253b7d20353025207b20206f7061636974793a203230253b7d20313030207b2060608201527f206f7061636974793a203830253b7d7d3c2f7374796c653e3c6720666f6e742d60808201527f66616d696c793d22496e7465722c2056657264616e612c2073616e732d73657260a08201527f696622207374796c653d2277686974652d73706163653a7072652220666f6e7460c08201527f2d73697a653d223132223e3c706174682066696c6c3d2223303031383238222060e08201527f643d224d302030483432305634323048307a22202f3e3c706174682066696c6c6101008201527f3d2275726c28236772616469656e74292220643d224d302030483432305634326101208201527f3048307a22202f3e3c706174682069643d226f642d7061747465726e2d74696c6101408201527f6522206f7061636974793d222e30352220643d224d34392e372d3430613134356101608201527f203134352030203120302030203239306d302d32393056382e326d302d34382e6101808201527f3461313435203134352030203120312030203239306d302d3234312e366139366101a08201527f2e372039362e372030203120302030203139332e336d302d3139332e336139366101c08201527f2e372039362e372030203120312030203139332e336d3020307634382e336d306101e08201527f2d39362e366134382e332034382e3320302030203020302d39362e377639362e6102008201527f375a6d3020306134382e332034382e3320302030203120302d39362e377639366102208201527f2e375a22207374726f6b653d222366666622202f3e3c75736520786c696e6b3a6102408201527f687265663d22236f642d7061747465726e2d74696c652220783d2232393022206102608201527f2f3e3c75736520786c696e6b3a687265663d22236f642d7061747465726e2d746102808201527f696c652220793d2232393022202f3e3c75736520786c696e6b3a687265663d226102a08201527f236f642d7061747465726e2d74696c652220783d223239302220793d223239306102c08201527f22202f3e3c75736520786c696e6b3a687265663d22236f642d7061747465726e6102e08201527f2d74696c652220783d223139332220793d2231343522202f3e3c7465787420666103008201527f696c6c3d22233030353837452220786d6c3a73706163653d22707265736572766103208201527f65223e3c747370616e20783d2232342220793d2234302e37223e5641554c54206103408201527f49443c2f747370616e3e3c2f746578743e3c746578742066696c6c3d222331346103608201527f393944412220786d6c3a73706163653d2270726573657276652220666f6e742d6103808201527f73697a653d223232223e3c747370616e20783d2232342220793d223635223e006103a08201526103bf0190565b86612b35565b7f3c2f747370616e3e3c2f746578743e3c746578742066696c6c3d22233030353881527f37452220786d6c3a73706163653d227072657365727665223e3c747370616e2060208201527f783d223331322220793d2234302e37223e53544142494c495459204645453c2f60408201527f747370616e3e3c2f746578743e3c746578742066696c6c3d222331343939444160608201527f2220786d6c3a73706163653d2270726573657276652220666f6e742d73697a6560808201527f3d223232223e3c747370616e20783d223430312e352220793d2236332e33222060a08201527f746578742d616e63686f723d22656e64223e000000000000000000000000000060c082015260d20190565b979650505050505050565b7f3c746578742066696c6c3d22233030353837452220786d6c3a73706163653d2281527f70726573657276652220666f6e742d7765696768743d22363030223e3c74737060208201527f616e20783d223130322220793d223136382e39223e444542543c2f747370616e60408201527f3e3c2f746578743e3c746578742066696c6c3d22234430463146462220786d6c60608201527f3a73706163653d2270726573657276652220666f6e742d73697a653d2232342260808201527f3e3c747370616e20783d223130322220793d22313934223e000000000000000060a082015260008451613a4b8160b88501602089016125f8565b7f204f44000000000000000000000000000000000000000000000000000000000060b8918401918201527f3c2f747370616e3e3c2f746578743e3c746578742066696c6c3d22233030353860bb8201527f37452220786d6c3a73706163653d2270726573657276652220666f6e742d776560db8201527f696768743d22363030223e3c747370616e20783d223130322220793d2232323960fb8201527f2e39223e434f4c4c41544552414c3c2f747370616e3e3c2f746578743e3c746561011b8201527f78742066696c6c3d22234430463146462220786d6c3a73706163653d2270726561013b8201527f73657276652220666f6e742d73697a653d223234223e3c747370616e20783d2261015b8201527f3130322220793d22323535223e0000000000000000000000000000000000000061017b820152613b91610188820186612b35565b7f200000000000000000000000000000000000000000000000000000000000000081529050612971613bc66001830186612b35565b7f3c2f747370616e3e3c2f746578743e3c74657874206f7061636974793d222e3381527f22207472616e73666f726d3d22726f74617465282d3930203332362e35202d3560208201527f382e3529222066696c6c3d22236666662220786d6c3a73706163653d2270726560408201527f73657276652220666f6e742d73697a653d223130223e3c747370616e20783d2260608201527f2d31302e332220793d22372e33223e5570646174656420000000000000000000608082015260970190565b60008451613c998184602089016125f8565b80830190507f253c2f747370616e3e3c2f746578743e3c74657874206f7061636974793d222e81527f3322207472616e73666f726d3d22726f74617465283930202d36362e3520313060208201527f312e3529222066696c6c3d22236666662220786d6c3a73706163653d2270726560408201527f73657276652220666f6e742d73697a653d223130223e3c747370616e20783d2260608201527f2e352220793d22372e33223e6f70656e646f6c6c61722e636f6d3c2f7473706160808201527f6e3e3c2f746578743e000000000000000000000000000000000000000000000060a08201528451613d928160a98401602089016125f8565b8451910190613da88160a98401602088016125f8565b0160a90195945050505050565b7f205249534b3c2f747370616e3e3c2f746578743e3c7465787420786d6c3a737081527f6163653d227072657365727665223e3c747370616e20783d223235352220793d60208201527f223335352e37223e434f4c4c41544552414c3c2f747370616e3e3c747370616e60408201527f20783d223235352220793d223337312e37223e524154494f2000000000000000606082015260008251613e5f8160798501602087016125f8565b7f253c2f747370616e3e3c2f746578743e000000000000000000000000000000006079939091019283015250608901919050565b7f3c2f747370616e3e3c2f746578743e3c67206f7061636974793d222e36223e3c81527f746578742066696c6c3d22236666662220786d6c3a73706163653d227072657360208201527f65727665223e3c747370616e20783d2232342220793d223338372e34223e506f60408201527f77657265642062793c2f747370616e3e3c2f746578743e3c7061746820643d2260608201527f4d3131322e3520333838632d3220302d332d312e322d332d332e32762d332e3360808201527f63302d3220312d332e3320332d332e3320322e31203020332e3220312e33203360a08201527f2e3220332e3376332e33633020322d3120332e332d332e3220332e335a6d2d3160c08201527f2e352d332e32633020312e312e3520312e3820312e3620312e3820312030203160e08201527f2e352d2e3720312e352d312e38762d332e3363302d312e312d2e342d312e382d6101008201527f312e352d312e38732d312e362e372d312e3620312e3876332e335a4d3131372e6101208201527f33203339302e366c2d2e312d2e32563338316c2e312d2e3268312e326c2e312e6101408201527f32762e37632e332d2e3720312d3120312e382d3120312e3320302032203120326101608201527f20322e3676322e33633020312e362d2e3820322e362d3220322e362d2e3820306101808201527f2d312e342d2e342d312e372d3176332e336330202e312030202e322d2e322e326101a08201527f682d312e325a6d312e342d352e326330202e392e3520312e3320312e3120312e6101c08201527f332e37203020312d2e3520312d312e33762d322e3263302d2e372d2e332d312e6101e08201527f332d312d312e332d2e3620302d312e312e352d312e3120312e3476325a4d31326102008201527f362e3220333838632d312e3620302d322e362d312d322e362d322e36762d322e6102208201527f3263302d312e3620312d322e3620322e352d322e3620312e36203020322e36206102408201527f3120322e3620322e3676312e346330202e312030202e322d2e322e32682d332e6102608201527f34762e3663302031202e3420312e3420312e3120312e342e36203020312d2e336102808201527f20312e312d2e386c2e322d2e322031202e33632e312030202e322030202e312e6102a08201527f322d2e3220312d3120312e382d322e3420312e385a6d2d312e312d342e3268326102c08201527f2e32762d2e3763302d2e382d2e342d312e332d312e312d312e332d2e3820302d6102e08201527f312e312e352d312e3120312e33762e375a4d3133302e32203338386c2d2e322d6103008201527f2e32762d376c2e322d2e3168312e31632e312030202e322030202e322e32762e6103208201527f37632e342d2e3720312d3120312e372d3120312e31203020312e382e3820312e6103408201527f3820322e3576342e376c2d2e312e31682d312e326c2d2e322d2e3156333833636103608201527f302d2e382d2e332d312e322d2e382d312e32732d31202e342d312e32203176346103808201527f2e396c2d2e312e31682d312e325a4d3133362e38203338386c2d2e322d2e32766103a08201527f2d392e3363302d2e3120302d2e322e322d2e3268322e366332203020332e31206103c08201527f312e3320332e3120332e337633633020322d3120332e332d332e3120332e33686103e08201527f2d322e365a6d312e342d312e3568312e326331203020312e362d2e3720312e366104008201527f2d312e38762d3363302d312e322d2e352d312e392d312e362d312e39682d312e6104208201527f3276362e375a4d3134362e3420333838632d312e3620302d322e362d312d322e6104408201527f362d322e36762d322e3263302d312e3620312d322e3620322e362d322e3620316104608201527f2e37203020322e36203120322e3620322e3676322e32633020312e372d3120326104808201527f2e372d322e3620322e375a6d2d312d322e366330202e392e3320312e332031206104a08201527f312e332e38203020312e312d2e3420312e312d312e33762d322e3263302d2e386104c08201527f2d2e342d312e332d312d312e332d2e3820302d312e312e352d312e3120312e336104e08201527f76322e325a4d3135302e36203338386c2d2e322d2e32563337386c2e322d2e326105008201527f68312e326c2e322e3276392e376c2d2e322e31682d312e325a4d3135332e37206105208201527f3338386c2d2e322d2e325633373863302d2e3120302d2e322e322d2e3268312e6105408201527f326c2e312e3276392e376c2d2e312e31682d312e325a4d313630203338386c2d6105608201527f2e312d2e32762d2e38632d2e342e372d3120312d312e3720312d312e3120302d6105808201527f312e392d2e372d312e392d3220302d312e342e372d322e3320322e362d322e336105a08201527f6831762d2e3863302d2e372d2e342d312d312d31732d2e382e322d31202e38686105c08201527f2d2e326c2d312d2e32632d2e3120302d2e322d2e312d2e312d2e322e322d31206105e08201527f312d312e3720322e342d312e3720312e35203020322e332e3720322e3320322e6106008201527f3276356c2d2e322e31682d315a6d2d322e332d322e326330202e372e332031206106208201527f312031202e35203020312d2e3320312e312d31762d312e31682d2e38632d2e386106408201527f20302d312e332e342d312e3320312e315a4d313633203338386c2d2e322d2e326106608201527f762d3768312e357631632e332d2e372e392d312e3220312e382d312e322e31206106808201527f30202e322030202e322e3276312e316330202e312030202e322d2e322e322d316106a08201527f20302d312e352e332d312e38203176342e376c2d2e312e31483136335a2220666106c08201527f696c6c3d222366666622202f3e3c7061746820643d224d3937203338332e32636106e08201527f302d322e3720322d342e3820342e372d342e3876312e3661332e3220332e32206107008201527f30203020302d332e3120332e32633020312e3820312e3420332e32203320332e6107208201527f3276312e3661342e3720342e372030203020312d342e362d342e385a4d3130316107408201527f2e37203338342e38632e38203020312e352d2e3720312e352d312e3620302d2e6107608201527f392d2e372d312e362d312e352d312e3676332e325a222066696c6c3d222366666107808201527f6622206f7061636974793d222e3522202f3e3c7061746820643d224d3130362e6107a08201527f33203338332e32633020322e372d3220342e382d342e3620342e38762d312e366107c08201527f63312e37203020332d312e3420332d332e3220302d312e382d312e332d332e326107e08201527f2d332d332e32762d312e3663322e36203020342e3620322e3120342e3620342e6108008201527f385a4d3130312e37203338312e36632d2e3920302d312e362e372d312e3620316108208201527f2e362030202e392e3720312e3620312e3620312e36762d332e325a222066696c6108408201527f6c3d222366666622202f3e3c2f673e3c6720636c6173733d226368617274223e6108608201527f3c7061746820636c6173733d2267726170682d62672220643d224d32313020346108808201527f30613136302031363020302030203120302033323020313630203136302030206108a08201527f30203120302d33323022202f3e3c7061746820636c6173733d226772617068226108c08201527f207374726f6b652d6461736861727261793d2263616c632831302e3035202a206108e082015260006129716149996138376130c561090086018a612b35565b84612b35565b7f3c2f673e3c2f673e3c646566733e3c72616469616c4772616469656e7420696481527f3d226772616469656e74222063783d2230222063793d22302220723d2231222060208201527f6772616469656e74556e6974733d227573657253706163654f6e55736522206760408201527f72616469656e745472616e73666f726d3d22726f74617465282d3133332e322060608201527f3330312031313929207363616c65283336382e32393529223e3c73746f70207360808201527f746f702d636f6c6f723d2200000000000000000000000000000000000000000060a082015260008351614a958160ab8501602088016125f8565b7f22202f3e3c73746f70206f66667365743d2231222073746f702d636f6c6f723d60ab918401918201527f220000000000000000000000000000000000000000000000000000000000000060cb8201528351614af88160cc8401602088016125f8565b7f222073746f702d6f7061636974793d223022202f3e3c2f72616469616c47726160cc92909101918201527f6469656e743e3c2f646566733e3c2f613e3c2f7376673e00000000000000000060ec82015261010301949350505050565b808201808211156101f8576101f8612dca565b80820281158282048414176101f8576101f8612dca565b600060408284031215614b9157600080fd5b6040516040810181811067ffffffffffffffff82111715614bb457614bb461265b565b604052825181526020928301519281019290925250919050565b60008651614be0818460208b016125f8565b80830190507f20000000000000000000000000000000000000000000000000000000000000008082528751614c1c816001850160208c016125f8565b7f2c20000000000000000000000000000000000000000000000000000000000000600193909101928301528651614c5a816003850160208b016125f8565b60039201918201528451614c758160048401602089016125f8565b7f3a00000000000000000000000000000000000000000000000000000000000000600492909101918201528351614cb38160058401602088016125f8565b7f205554430000000000000000000000000000000000000000000000000000000060059290910191820152600901979650505050505050565b818103818111156101f8576101f8612dca565b7f224e6f6e2d46756e6769626c65205661756c7420230000000000000000000000815260008251614d378160158501602087016125f8565b7f2043617574696f6e212054726164696e672074686973204e465620676976657360159390910192830152507f2074686520726563697069656e742066756c6c206f776e657273686970206f6660358201527f20796f7572205661756c742c20696e636c7564696e6720616c6c20636f6c6c6160558201527f746572616c20262064656274206f626c69676174696f6e732e2054686973206160758201527f637420697320697272657665727369626c652e222c0000000000000000000000609582015260aa01919050565b7f227d2c7b2274726169745f74797065223a2244656274222c2276616c7565223a81527f2200000000000000000000000000000000000000000000000000000000000000602082015260008751614e61816021850160208c016125f8565b7f227d2c7b2274726169745f74797065223a22436f6c6c61746572616c222c22766021918401918201527f616c7565223a220000000000000000000000000000000000000000000000000060418201528751614ec4816048840160208c016125f8565b7f227d2c7b2274726169745f74797065223a22436f6c6c61746572616c20547970604892909101918201527f65222c2276616c7565223a22000000000000000000000000000000000000000060688201528651614f28816074840160208b016125f8565b61509161504261503c614fed614fe7614f98614f926074888a01017f227d2c7b2274726169745f74797065223a2253746162696c697479204665652281527f2c2276616c7565223a22000000000000000000000000000000000000000000006020820152602a0190565b8d612b35565b7f227d2c7b2274726169745f74797065223a225269736b222c2276616c7565223a81527f2200000000000000000000000000000000000000000000000000000000000000602082015260210190565b8a612b35565b7f227d2c7b2274726169745f74797065223a22436f6c6c61746572616c2052617481527f696f222c2276616c7565223a22000000000000000000000000000000000000006020820152602d0190565b87612b35565b7f227d2c7b2274726169745f74797065223a224c6173742055706461746564222c81527f2276616c7565223a220000000000000000000000000000000000000000000000602082015260290190565b9a9950505050505050505050565b600083516150b18184602088016125f8565b7f2e0000000000000000000000000000000000000000000000000000000000000090830190815283516150eb8160018401602088016125f8565b01600101949350505050565b7f302e00000000000000000000000000000000000000000000000000000000000081526000825161512f8160028501602087016125f8565b9190910160020192915050565b7f30000000000000000000000000000000000000000000000000000000000000008152600082516151748160018501602087016125f8565b9190910160010192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6000826151ee576151ee612d9b565b500690565b60006fffffffffffffffffffffffffffffffff8084168061521657615216612d9b565b92169190910692915050565b6fffffffffffffffffffffffffffffffff81811683821601908082111561230957612309612dca565b6000845161525d8184602089016125f8565b8451908301906152718183602089016125f8565b84519101906152848183602088016125f8565b019594505050505056fe3c746578742066696c6c3d22233633363736462220786d6c3a73706163653d2270726573657276652220666f6e742d73697a653d223234223e3c747370616e20783d223133362220793d22323130223e5a65726f2042616c616e63653c2f747370616e3e3c2f746578743e3c74657874206f7061636974793d222e3322207472616e73666f726d3d22726f74617465282d3930203332362e35202d35382e3529222066696c6c3d22236666662220786d6c3a73706163653d2270726573657276652220666f6e742d73697a653d223130223e3c747370616e20783d222d31302e332220793d22372e33223e55706461746564204142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f292c20313030352220643d224d3231302034306131363020313630203020302031203020333230203136302031363020302030203120302d33323022202f3e3c2f673e3c6720636c6173733d227269736b2d726174696f223e3c7265637420783d223234322220793d22333036222077696474683d2231353422206865696768743d223832222072783d2238222066696c6c3d2223303031383238222066696c6c2d6f7061636974793d222e3722202f3e3c636972636c652063783d22323433222063793d223332362e352220723d223422202f3e3c7465787420786d6c3a73706163653d2270726573657276652220666f6e742d7765696768743d22363030223e3c747370616e20783d223235352220793d223333302e37223e205249534b3c2f747370616e3e3c2f746578743e3c7465787420786d6c3a73706163653d227072657365727665223e3c747370616e20783d223235352220793d223335352e37223e434f4c4c41544552414c3c2f747370616e3e3c747370616e20783d223235352220793d223337312e37223e524154494f20262378323231653b3c2f747370616e3e3c2f746578743e292c20313030352220643d224d3231302034306131363020313630203020302031203020333230203136302031363020302030203120302d33323022202f3e3c2f673e3c6720636c6173733d227269736b2d726174696f223e3c7265637420783d223239382220793d22333530222077696474683d22393622206865696768743d223430222072783d2238222066696c6c3d2223303031383238222066696c6c2d6f7061636974793d222e3722202f3e3c636972636c652063783d22323939222063793d223337302e352220723d223422202f3e3c7465787420786d6c3a73706163653d2270726573657276652220666f6e742d7765696768743d22363030223e3c747370616e20783d223331312220793d223337342e37223ea2646970667358221220677a905ad2850eca1867dfad6ec8d581847ca6bb1920f28a30cbcd930ea73fde64736f6c634300081400330000000000000000000000000005afe00ff7e7ff83667bfe4f2996720baf0b360000000000000000000000007404fc1f3796748fae17011b57fad9713185c1d6000000000000000000000000c93f938a95488a03b976a15b20facfd52d087fb2000000000000000000000000a83c0f1e9ed8e383919dde0fc90744ae370eb7b3", + "nonce": "0xcb", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa0c2ebd1ccb67689b4a389712dc65b2a22ab01eea7ac5236c2c4e62d305983f1", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x06988165b30825735b1bb9bacba43fb9e04551af", + "value": "0x0", + "input": "0xba3b1691524554480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000004312e373500000000000000000000000000000000000000000000000000000000", + "nonce": "0xcc", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc461cbc71dfd0216d67045f5a054f11a1a2d4ff73f3e2bb556533b559468e6e9", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x06988165b30825735b1bb9bacba43fb9e04551af", + "value": "0x0", + "input": "0xba3b1691575354455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000004312e383500000000000000000000000000000000000000000000000000000000", + "nonce": "0xcd", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc4f01b4b20132d2ba1582f873fe6f81a26629f4aa40d2126a733f95f293a5da6", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x06988165b30825735b1bb9bacba43fb9e04551af", + "value": "0x0", + "input": "0xba3b16914152420000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000013500000000000000000000000000000000000000000000000000000000000000", + "nonce": "0xce", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa9bf00b6b65ce809a712315c1c68dfc6d974b217c283e38501d9bfc7119a04a6", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x06988165b30825735b1bb9bacba43fb9e04551af", + "value": "0x0", + "input": "0x35b281530000000000000000000000007a528ea3e06d85ed1c22219471cf0b1851943903", + "nonce": "0xcf", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf662ab0f7a733c63c36403d12e685429831409be593afe1482ed2ef6f26ae2c8", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x06988165b30825735b1bb9bacba43fb9e04551af", + "value": "0x0", + "input": "0x94f3f81d000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "nonce": "0xd0", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x6a4c36", + "logs": [ + { + "address": "0x06988165b30825735b1bb9bacba43fb9e04551af", + "topics": [ + "0x599a298163e1678bb1c676052a8930bf0b8a1261ed6e01b8a2391e55f7000102" + ], + "data": "0x000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "blockHash": "0x362dc6eea88a020691bfe046a0f101aea68564c3d14bc3ad2e389ae876784347", + "blockNumber": "0xc5487a7", + "transactionHash": "0xbd34a2e75ae42bcdae759aff0e6e501ef5abc29d053ad2d04ccd98c34675b9ee", + "transactionIndex": "0x2", + "logIndex": "0x59", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000020000000000000000000000040000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xbd34a2e75ae42bcdae759aff0e6e501ef5abc29d053ad2d04ccd98c34675b9ee", + "transactionIndex": "0x2", + "blockHash": "0x362dc6eea88a020691bfe046a0f101aea68564c3d14bc3ad2e389ae876784347", + "blockNumber": "0xc5487a7", + "gasUsed": "0x57b675", + "effectiveGasPrice": "0x989680", + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": null, + "contractAddress": "0x06988165b30825735b1bb9bacba43fb9e04551af", + "gasUsedForL1": "0xaed11", + "l1BlockNumber": "0x12dcb79" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xa577a", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xa0c2ebd1ccb67689b4a389712dc65b2a22ab01eea7ac5236c2c4e62d305983f1", + "transactionIndex": "0x7", + "blockHash": "0x8c77907a8cde0757d9588f8bdaf32c31493cff22ece9b3e183f9e5195a719afe", + "blockNumber": "0xc5487c5", + "gasUsed": "0xf2ef", + "effectiveGasPrice": "0x989680", + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x06988165b30825735b1bb9bacba43fb9e04551af", + "contractAddress": null, + "gasUsedForL1": "0x3a94", + "l1BlockNumber": "0x12dcb7a" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x165460", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xc461cbc71dfd0216d67045f5a054f11a1a2d4ff73f3e2bb556533b559468e6e9", + "transactionIndex": "0x5", + "blockHash": "0x0bb992a81ce3adc70e277f214e311b03e4c32b7488eecc221936c6350a71d380", + "blockNumber": "0xc5487e2", + "gasUsed": "0xf3cd", + "effectiveGasPrice": "0x989680", + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x06988165b30825735b1bb9bacba43fb9e04551af", + "contractAddress": null, + "gasUsedForL1": "0x3b5a", + "l1BlockNumber": "0x12dcb7a" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x37f3f", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xc4f01b4b20132d2ba1582f873fe6f81a26629f4aa40d2126a733f95f293a5da6", + "transactionIndex": "0x2", + "blockHash": "0xf864cdb26482af62327ba997458f65040c1be12a98c723a790d275b75536155d", + "blockNumber": "0xc5487ff", + "gasUsed": "0xf02a", + "effectiveGasPrice": "0x989680", + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x06988165b30825735b1bb9bacba43fb9e04551af", + "contractAddress": null, + "gasUsedForL1": "0x37ff", + "l1BlockNumber": "0x12dcb7b" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x109f26", + "logs": [ + { + "address": "0x06988165b30825735b1bb9bacba43fb9e04551af", + "topics": [ + "0x599a298163e1678bb1c676052a8930bf0b8a1261ed6e01b8a2391e55f7000102" + ], + "data": "0x0000000000000000000000007a528ea3e06d85ed1c22219471cf0b1851943903", + "blockHash": "0x264ffb4cad358747431bcb8b57fc18c8c1b2fc969d5eba69ca13f82e8a4e2bc7", + "blockNumber": "0xc54881c", + "transactionHash": "0xa9bf00b6b65ce809a712315c1c68dfc6d974b217c283e38501d9bfc7119a04a6", + "transactionIndex": "0x5", + "logIndex": "0x13", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000020000000000000000000000040000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xa9bf00b6b65ce809a712315c1c68dfc6d974b217c283e38501d9bfc7119a04a6", + "transactionIndex": "0x5", + "blockHash": "0x264ffb4cad358747431bcb8b57fc18c8c1b2fc969d5eba69ca13f82e8a4e2bc7", + "blockNumber": "0xc54881c", + "gasUsed": "0x14acb", + "effectiveGasPrice": "0x989680", + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x06988165b30825735b1bb9bacba43fb9e04551af", + "contractAddress": null, + "gasUsedForL1": "0x2673", + "l1BlockNumber": "0x12dcb7b" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x32a52", + "logs": [ + { + "address": "0x06988165b30825735b1bb9bacba43fb9e04551af", + "topics": [ + "0x8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b903" + ], + "data": "0x000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "blockHash": "0x5075dd11c2066297c865902f380e99a4fe6ccef0d0a6025e9529edadac1391c6", + "blockNumber": "0xc548839", + "transactionHash": "0xf662ab0f7a733c63c36403d12e685429831409be593afe1482ed2ef6f26ae2c8", + "transactionIndex": "0x2", + "logIndex": "0x3", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000040000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xf662ab0f7a733c63c36403d12e685429831409be593afe1482ed2ef6f26ae2c8", + "transactionIndex": "0x2", + "blockHash": "0x5075dd11c2066297c865902f380e99a4fe6ccef0d0a6025e9529edadac1391c6", + "blockNumber": "0xc548839", + "gasUsed": "0xc1d4", + "effectiveGasPrice": "0x989680", + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x06988165b30825735b1bb9bacba43fb9e04551af", + "contractAddress": null, + "gasUsedForL1": "0x2673", + "l1BlockNumber": "0x12dcb7c" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1714604460, + "chain": 42161, + "commit": "afb8e5ad" +} \ No newline at end of file diff --git a/broadcast/RevokeDeployer.s.sol/42161/run-1714609325.json b/broadcast/RevokeDeployer.s.sol/42161/run-1714609325.json new file mode 100644 index 00000000..d7be2a9e --- /dev/null +++ b/broadcast/RevokeDeployer.s.sol/42161/run-1714609325.json @@ -0,0 +1,1221 @@ +{ + "transactions": [ + { + "hash": "0x877804e2b08086064f3b626d6ce7d69e559ae1acb76cc10dd5cbcb9306ceaa1c", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0xeff45e8e2353893bd0558bd5892a42786e9142f1", + "value": "0x0", + "input": "0x94f3f81d000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "nonce": "0xdb", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf906f30ff11f89399a4a2514a90c13f81221dc77188b425dba9272b82cad4052", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x17e546ddce2ea8a74bd667269457a2e80b309965", + "value": "0x0", + "input": "0x94f3f81d000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "nonce": "0xdc", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5d1206eeaf2e63442d46fa7a0eb29f6e43c136f95f267b6f984be1d0268aa40f", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x92bbc105430f96ddb09300a3b94cf77e3538d92c", + "value": "0x0", + "input": "0x94f3f81d000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "nonce": "0xdd", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x4973fe78a0e1728bb94cac105bee63fa3a19aa38e5ddef44e39d6db62476c081", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x7404fc1f3796748fae17011b57fad9713185c1d6", + "value": "0x0", + "input": "0x94f3f81d000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "nonce": "0xde", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xcea4ae3a08631dfce7a98816b714349e4a726846789cc2ffe0b44c76eb422784", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0xa18afb1953648ec7465d536287a015c237927369", + "value": "0x0", + "input": "0x94f3f81d000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "nonce": "0xdf", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x0166708ebae0a044cce0716d5bb9c6bf3d9994b8310253906ac23ff90768b2ba", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x5a021f2063bc2d26fd24a632e29587afe14d30e5", + "value": "0x0", + "input": "0x94f3f81d000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "nonce": "0xe0", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3adc7f01e612a8b419ff1b009906d8169fe1355301f63262eb70310333a0259e", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0xc93f938a95488a03b976a15b20facfd52d087fb2", + "value": "0x0", + "input": "0x94f3f81d000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "nonce": "0xe1", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd7009d167d1c2ddc8d66c65bb53309aae60870e9964532929278a61f08032005", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x9c86c719aa29d426c50ee3baed40008d292b02cf", + "value": "0x0", + "input": "0x94f3f81d000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "nonce": "0xe2", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb663055d17512be2fc259a8e406123d974823472be7b966b847aa5b6d8676850", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x221a0f68770658c15b525d0f89f5da2baab5f321", + "value": "0x0", + "input": "0x94f3f81d000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "nonce": "0xe3", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc1e7580ab38676fac248865ee7dc8e90994fead0427d6a3f6fa41eed1d402739", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x51f0434645aa8a98cfa9f0fe7b373297a95fe92c", + "value": "0x0", + "input": "0x94f3f81d000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "nonce": "0xe4", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xcfca8a99b6850a69985b7e99c71306008658eca3c79eba16acfa190e435a7351", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0xbbb7cc351e323f069602b28b3087b5a50eb9c654", + "value": "0x0", + "input": "0x94f3f81d000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "nonce": "0xe5", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd4dd1e93ba91f298500575809661627f6127f8ff98fc6b84cd3c8c622365c759", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0xee4393c6165a416c83756198a56395f48bbf480f", + "value": "0x0", + "input": "0x94f3f81d000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "nonce": "0xe6", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x86b55be4fd6de25d8b361f7905e8ed9de44c5f016f5447a58c561629e87bffe7", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x8646cbd915eaad1a4e2ba5e2b67acec4957d5f1a", + "value": "0x0", + "input": "0x94f3f81d000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "nonce": "0xe7", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x303fe7e83326401225da320baeaf9069e801e46d4e340bb7b02d3ed93bb70db6", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0xa83c0f1e9ed8e383919dde0fc90744ae370eb7b3", + "value": "0x0", + "input": "0x94f3f81d000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "nonce": "0xe8", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x911e5a8ac294423ce3be9da36bccec13fd66d95439ffcf37a729f74a3ba6e7b9", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x5dc1e86361fac018f24ae0d1e5eb01d70ab32a82", + "value": "0x0", + "input": "0x94f3f81d000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "nonce": "0xe9", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x917fd24a9bf2f0ca7032c45873d3e15e7904014cb4e898625aefbb0b830c9695", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x1c6b7ab018be82ed6b5c63ae82d9f07bb7b231a2", + "value": "0x0", + "input": "0x94f3f81d000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "nonce": "0xea", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2f6dc826eb85d545681ea5eaaf3745302bf2c2c321bbde4589f394c0e97bdca8", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x9b9ae60c5475c0735125c3fb42345aab780a7a2c", + "value": "0x0", + "input": "0x94f3f81d000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "nonce": "0xeb", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc5e6615cf278be66a04054bd2a86f2f6f730abbc441ec3e79def8021170e5842", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x6c70b191fc602bd3756f0ab3684662bbfd8599a6", + "value": "0x0", + "input": "0x94f3f81d000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "nonce": "0xec", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8f3a7e7a5bfaa3fd0e68f7314769d0f7cecbe96bd3cf4fb1425a5033d204260f", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x724f970b507f120f81130ce3924d738db08d69f2", + "value": "0x0", + "input": "0x94f3f81d000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "nonce": "0xed", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xaa732e6b61fd243924bfc8ba0497f2a4ba627895ea058503d627cbfcb119f23e", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x667f9a20d887ff5943ccf6b35944332adae7e2ed", + "value": "0x0", + "input": "0x94f3f81d000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "nonce": "0xee", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5ba35f41e788e99832e5a6410b59c76b2933e1f66fcff3a9b83c18a1a525a99c", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0xfad87e9c629c5c8d84edb3a134fb998ac80995ee", + "value": "0x0", + "input": "0x94f3f81d000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "nonce": "0xef", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x54a5d0270890d7cabada5f6d82c5de3242618d3e5fc9a2c429a04f073df84e22", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x7a528ea3e06d85ed1c22219471cf0b1851943903", + "value": "0x0", + "input": "0x36568abeb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "nonce": "0xf0", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x393cc533681f441590cdc2d81a4a4de9d71155daaa976859bcc615b09a573655", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x7a528ea3e06d85ed1c22219471cf0b1851943903", + "value": "0x0", + "input": "0x36568abed8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "nonce": "0xf1", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xda2d90f39d0eccb62cccaf0490f996528e5102bad0da31e8b560aade0b0df54e", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x7a528ea3e06d85ed1c22219471cf0b1851943903", + "value": "0x0", + "input": "0x36568abe5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca5000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "nonce": "0xf2", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xe240b", + "logs": [ + { + "address": "0xeff45e8e2353893bd0558bd5892a42786e9142f1", + "topics": [ + "0x8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b903" + ], + "data": "0x000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "blockHash": "0x8809e808bb4f732d333669fdff591831be87f17e3816224f7678bdd7cf9ca5d2", + "blockNumber": "0xc54d0aa", + "transactionHash": "0x877804e2b08086064f3b626d6ce7d69e559ae1acb76cc10dd5cbcb9306ceaa1c", + "transactionIndex": "0x6", + "logIndex": "0x5", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000004000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x877804e2b08086064f3b626d6ce7d69e559ae1acb76cc10dd5cbcb9306ceaa1c", + "transactionIndex": "0x6", + "blockHash": "0x8809e808bb4f732d333669fdff591831be87f17e3816224f7678bdd7cf9ca5d2", + "blockNumber": "0xc54d0aa", + "gasUsed": "0xcdb3", + "effectiveGasPrice": "0x989680", + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0xeff45e8e2353893bd0558bd5892a42786e9142f1", + "contractAddress": null, + "gasUsedForL1": "0x298f", + "l1BlockNumber": "0x12dcd03" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xc52a", + "logs": [ + { + "address": "0x17e546ddce2ea8a74bd667269457a2e80b309965", + "topics": [ + "0x8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b903" + ], + "data": "0x000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "blockHash": "0x47eabc100223a67d07095e8134c6779dc978b6c6ce3ce453f37d4e33188ac8cd", + "blockNumber": "0xc54d0c7", + "transactionHash": "0xf906f30ff11f89399a4a2514a90c13f81221dc77188b425dba9272b82cad4052", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xf906f30ff11f89399a4a2514a90c13f81221dc77188b425dba9272b82cad4052", + "transactionIndex": "0x1", + "blockHash": "0x47eabc100223a67d07095e8134c6779dc978b6c6ce3ce453f37d4e33188ac8cd", + "blockNumber": "0xc54d0c7", + "gasUsed": "0xc52a", + "effectiveGasPrice": "0x989680", + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x17e546ddce2ea8a74bd667269457a2e80b309965", + "contractAddress": null, + "gasUsedForL1": "0x298f", + "l1BlockNumber": "0x12dcd03" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x175f97", + "logs": [ + { + "address": "0x92bbc105430f96ddb09300a3b94cf77e3538d92c", + "topics": [ + "0x8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b903" + ], + "data": "0x000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "blockHash": "0x19b24961b2bd1957afafa77f6291a3f9c5090406cf3f754739e91052a732e16a", + "blockNumber": "0xc54d0e2", + "transactionHash": "0x5d1206eeaf2e63442d46fa7a0eb29f6e43c136f95f267b6f984be1d0268aa40f", + "transactionIndex": "0x6", + "logIndex": "0x1a", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000840000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x5d1206eeaf2e63442d46fa7a0eb29f6e43c136f95f267b6f984be1d0268aa40f", + "transactionIndex": "0x6", + "blockHash": "0x19b24961b2bd1957afafa77f6291a3f9c5090406cf3f754739e91052a732e16a", + "blockNumber": "0xc54d0e2", + "gasUsed": "0xc519", + "effectiveGasPrice": "0x989680", + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x92bbc105430f96ddb09300a3b94cf77e3538d92c", + "contractAddress": null, + "gasUsedForL1": "0x298f", + "l1BlockNumber": "0x12dcd04" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x113fa7", + "logs": [ + { + "address": "0x7404fc1f3796748fae17011b57fad9713185c1d6", + "topics": [ + "0x8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b903" + ], + "data": "0x000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "blockHash": "0x2960dd7ecc3f108deaca320a11da6dbeaaffe58a40a8856a2aac11146755bdd8", + "blockNumber": "0xc54d0ff", + "transactionHash": "0x4973fe78a0e1728bb94cac105bee63fa3a19aa38e5ddef44e39d6db62476c081", + "transactionIndex": "0x7", + "logIndex": "0x17", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000040000000000000000000000000000000000000000000000000000800000000000004000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x4973fe78a0e1728bb94cac105bee63fa3a19aa38e5ddef44e39d6db62476c081", + "transactionIndex": "0x7", + "blockHash": "0x2960dd7ecc3f108deaca320a11da6dbeaaffe58a40a8856a2aac11146755bdd8", + "blockNumber": "0xc54d0ff", + "gasUsed": "0xc506", + "effectiveGasPrice": "0x989680", + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x7404fc1f3796748fae17011b57fad9713185c1d6", + "contractAddress": null, + "gasUsedForL1": "0x298f", + "l1BlockNumber": "0x12dcd04" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xc519", + "logs": [ + { + "address": "0xa18afb1953648ec7465d536287a015c237927369", + "topics": [ + "0x8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b903" + ], + "data": "0x000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "blockHash": "0x648edfb268354773a328e3d49efe65f24fa4a9396a1d8bb1ff23164b324ff76d", + "blockNumber": "0xc54d11a", + "transactionHash": "0xcea4ae3a08631dfce7a98816b714349e4a726846789cc2ffe0b44c76eb422784", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000040000000000000000000000000000000000000000000000000000200000000000004000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xcea4ae3a08631dfce7a98816b714349e4a726846789cc2ffe0b44c76eb422784", + "transactionIndex": "0x1", + "blockHash": "0x648edfb268354773a328e3d49efe65f24fa4a9396a1d8bb1ff23164b324ff76d", + "blockNumber": "0xc54d11a", + "gasUsed": "0xc519", + "effectiveGasPrice": "0x989680", + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0xa18afb1953648ec7465d536287a015c237927369", + "contractAddress": null, + "gasUsedForL1": "0x298f", + "l1BlockNumber": "0x12dcd05" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x1abb89", + "logs": [ + { + "address": "0x5a021f2063bc2d26fd24a632e29587afe14d30e5", + "topics": [ + "0x8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b903" + ], + "data": "0x000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "blockHash": "0x11e54d99386b27f197e0109c54c3dbd62c0320734904d9068a110fe6d3673f87", + "blockNumber": "0xc54d137", + "transactionHash": "0x0166708ebae0a044cce0716d5bb9c6bf3d9994b8310253906ac23ff90768b2ba", + "transactionIndex": "0x6", + "logIndex": "0x26", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000004000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x0166708ebae0a044cce0716d5bb9c6bf3d9994b8310253906ac23ff90768b2ba", + "transactionIndex": "0x6", + "blockHash": "0x11e54d99386b27f197e0109c54c3dbd62c0320734904d9068a110fe6d3673f87", + "blockNumber": "0xc54d137", + "gasUsed": "0xc4f6", + "effectiveGasPrice": "0x989680", + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x5a021f2063bc2d26fd24a632e29587afe14d30e5", + "contractAddress": null, + "gasUsedForL1": "0x298f", + "l1BlockNumber": "0x12dcd05" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xc536", + "logs": [ + { + "address": "0xc93f938a95488a03b976a15b20facfd52d087fb2", + "topics": [ + "0x8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b903" + ], + "data": "0x000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "blockHash": "0x0c7d0d4fd71f2c411b2379f44eaa62f0a7fc8ff29ad74a980f9630f3005bdb64", + "blockNumber": "0xc54d154", + "transactionHash": "0x3adc7f01e612a8b419ff1b009906d8169fe1355301f63262eb70310333a0259e", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000040040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x3adc7f01e612a8b419ff1b009906d8169fe1355301f63262eb70310333a0259e", + "transactionIndex": "0x1", + "blockHash": "0x0c7d0d4fd71f2c411b2379f44eaa62f0a7fc8ff29ad74a980f9630f3005bdb64", + "blockNumber": "0xc54d154", + "gasUsed": "0xc536", + "effectiveGasPrice": "0x989680", + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0xc93f938a95488a03b976a15b20facfd52d087fb2", + "contractAddress": null, + "gasUsedForL1": "0x298f", + "l1BlockNumber": "0x12dcd06" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x5f9bf", + "logs": [ + { + "address": "0x9c86c719aa29d426c50ee3baed40008d292b02cf", + "topics": [ + "0x8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b903" + ], + "data": "0x000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "blockHash": "0xd64a7a24956b515c4cb5a738ee2f196b07680568bbf148ce61e99d17d50fd869", + "blockNumber": "0xc54d171", + "transactionHash": "0xd7009d167d1c2ddc8d66c65bb53309aae60870e9964532929278a61f08032005", + "transactionIndex": "0x5", + "logIndex": "0x4", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000040000000000000000000000000000001000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xd7009d167d1c2ddc8d66c65bb53309aae60870e9964532929278a61f08032005", + "transactionIndex": "0x5", + "blockHash": "0xd64a7a24956b515c4cb5a738ee2f196b07680568bbf148ce61e99d17d50fd869", + "blockNumber": "0xc54d171", + "gasUsed": "0xc509", + "effectiveGasPrice": "0x989680", + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x9c86c719aa29d426c50ee3baed40008d292b02cf", + "contractAddress": null, + "gasUsedForL1": "0x298f", + "l1BlockNumber": "0x12dcd06" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xd08e6", + "logs": [ + { + "address": "0x221a0f68770658c15b525d0f89f5da2baab5f321", + "topics": [ + "0x8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b903" + ], + "data": "0x000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "blockHash": "0xd5b97cf23f65507be550a414b7dc871ebf5683f1de6e845c0791ae683c502787", + "blockNumber": "0xc54d18e", + "transactionHash": "0xb663055d17512be2fc259a8e406123d974823472be7b966b847aa5b6d8676850", + "transactionIndex": "0x3", + "logIndex": "0x17", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xb663055d17512be2fc259a8e406123d974823472be7b966b847aa5b6d8676850", + "transactionIndex": "0x3", + "blockHash": "0xd5b97cf23f65507be550a414b7dc871ebf5683f1de6e845c0791ae683c502787", + "blockNumber": "0xc54d18e", + "gasUsed": "0xc4f6", + "effectiveGasPrice": "0x989680", + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x221a0f68770658c15b525d0f89f5da2baab5f321", + "contractAddress": null, + "gasUsedForL1": "0x298f", + "l1BlockNumber": "0x12dcd08" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x3fb78", + "logs": [ + { + "address": "0x51f0434645aa8a98cfa9f0fe7b373297a95fe92c", + "topics": [ + "0x8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b903" + ], + "data": "0x000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "blockHash": "0x8c1e58a431124417e14acc16b0fb75ece07ff1d112cf923218bdad413804b7df", + "blockNumber": "0xc54d1ab", + "transactionHash": "0xc1e7580ab38676fac248865ee7dc8e90994fead0427d6a3f6fa41eed1d402739", + "transactionIndex": "0x3", + "logIndex": "0x5", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000040000000000000000000000000000000000000000000000000000000000000800004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000800000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xc1e7580ab38676fac248865ee7dc8e90994fead0427d6a3f6fa41eed1d402739", + "transactionIndex": "0x3", + "blockHash": "0x8c1e58a431124417e14acc16b0fb75ece07ff1d112cf923218bdad413804b7df", + "blockNumber": "0xc54d1ab", + "gasUsed": "0xc4d3", + "effectiveGasPrice": "0x989680", + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x51f0434645aa8a98cfa9f0fe7b373297a95fe92c", + "contractAddress": null, + "gasUsedForL1": "0x298f", + "l1BlockNumber": "0x12dcd08" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xd537c", + "logs": [ + { + "address": "0xbbb7cc351e323f069602b28b3087b5a50eb9c654", + "topics": [ + "0x8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b903" + ], + "data": "0x000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "blockHash": "0x893050f6e3aede36b605c9fed2e55756b060191ac1086ac35fac4bf77152630a", + "blockNumber": "0xc54d1c6", + "transactionHash": "0xcfca8a99b6850a69985b7e99c71306008658eca3c79eba16acfa190e435a7351", + "transactionIndex": "0x4", + "logIndex": "0x5", + "removed": false + } + ], + "logsBloom": "0x00010000000000000000000000040000000000000000000000000000000000000000000000000000000000000000004000000000000041000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xcfca8a99b6850a69985b7e99c71306008658eca3c79eba16acfa190e435a7351", + "transactionIndex": "0x4", + "blockHash": "0x893050f6e3aede36b605c9fed2e55756b060191ac1086ac35fac4bf77152630a", + "blockNumber": "0xc54d1c6", + "gasUsed": "0xc4a0", + "effectiveGasPrice": "0x989680", + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0xbbb7cc351e323f069602b28b3087b5a50eb9c654", + "contractAddress": null, + "gasUsedForL1": "0x298f", + "l1BlockNumber": "0x12dcd09" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xaff90", + "logs": [ + { + "address": "0xee4393c6165a416c83756198a56395f48bbf480f", + "topics": [ + "0x8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b903" + ], + "data": "0x000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "blockHash": "0x5a9e917f63de8bff1d7421559fafe2256353058ecf463901050528b437861dbd", + "blockNumber": "0xc54d1e3", + "transactionHash": "0xd4dd1e93ba91f298500575809661627f6127f8ff98fc6b84cd3c8c622365c759", + "transactionIndex": "0x4", + "logIndex": "0x10", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xd4dd1e93ba91f298500575809661627f6127f8ff98fc6b84cd3c8c622365c759", + "transactionIndex": "0x4", + "blockHash": "0x5a9e917f63de8bff1d7421559fafe2256353058ecf463901050528b437861dbd", + "blockNumber": "0xc54d1e3", + "gasUsed": "0xc4ac", + "effectiveGasPrice": "0x989680", + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0xee4393c6165a416c83756198a56395f48bbf480f", + "contractAddress": null, + "gasUsedForL1": "0x298f", + "l1BlockNumber": "0x12dcd09" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xc54c", + "logs": [ + { + "address": "0x8646cbd915eaad1a4e2ba5e2b67acec4957d5f1a", + "topics": [ + "0x8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b903" + ], + "data": "0x000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "blockHash": "0x036b37876361ab3debe7b2f68c508dd7e7047fbf60b5162fee5af2aa67ad1062", + "blockNumber": "0xc54d200", + "transactionHash": "0x86b55be4fd6de25d8b361f7905e8ed9de44c5f016f5447a58c561629e87bffe7", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000040008000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x86b55be4fd6de25d8b361f7905e8ed9de44c5f016f5447a58c561629e87bffe7", + "transactionIndex": "0x1", + "blockHash": "0x036b37876361ab3debe7b2f68c508dd7e7047fbf60b5162fee5af2aa67ad1062", + "blockNumber": "0xc54d200", + "gasUsed": "0xc54c", + "effectiveGasPrice": "0x989680", + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x8646cbd915eaad1a4e2ba5e2b67acec4957d5f1a", + "contractAddress": null, + "gasUsedForL1": "0x298f", + "l1BlockNumber": "0x12dcd0a" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x72c1e", + "logs": [ + { + "address": "0xa83c0f1e9ed8e383919dde0fc90744ae370eb7b3", + "topics": [ + "0x8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b903" + ], + "data": "0x000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "blockHash": "0x17d272c2b550cf2279b23cda3c152acd063fe1d6c4eea6b5458b56bea5901f0a", + "blockNumber": "0xc54d21d", + "transactionHash": "0x303fe7e83326401225da320baeaf9069e801e46d4e340bb7b02d3ed93bb70db6", + "transactionIndex": "0x5", + "logIndex": "0x6", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000040000000000000000040000000000000000000000000000000000000000000000004000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x303fe7e83326401225da320baeaf9069e801e46d4e340bb7b02d3ed93bb70db6", + "transactionIndex": "0x5", + "blockHash": "0x17d272c2b550cf2279b23cda3c152acd063fe1d6c4eea6b5458b56bea5901f0a", + "blockNumber": "0xc54d21d", + "gasUsed": "0xc4d4", + "effectiveGasPrice": "0x989680", + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0xa83c0f1e9ed8e383919dde0fc90744ae370eb7b3", + "contractAddress": null, + "gasUsedForL1": "0x298f", + "l1BlockNumber": "0x12dcd0a" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x89130", + "logs": [ + { + "address": "0x5dc1e86361fac018f24ae0d1e5eb01d70ab32a82", + "topics": [ + "0x8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b903" + ], + "data": "0x000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "blockHash": "0xe1d70533e51f398ec986b623852992e4561c4c3bbe48af83c4c439057419a0e8", + "blockNumber": "0xc54d244", + "transactionHash": "0x911e5a8ac294423ce3be9da36bccec13fd66d95439ffcf37a729f74a3ba6e7b9", + "transactionIndex": "0x2", + "logIndex": "0x10", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x911e5a8ac294423ce3be9da36bccec13fd66d95439ffcf37a729f74a3ba6e7b9", + "transactionIndex": "0x2", + "blockHash": "0xe1d70533e51f398ec986b623852992e4561c4c3bbe48af83c4c439057419a0e8", + "blockNumber": "0xc54d244", + "gasUsed": "0xc7c1", + "effectiveGasPrice": "0x989680", + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x5dc1e86361fac018f24ae0d1e5eb01d70ab32a82", + "contractAddress": null, + "gasUsedForL1": "0x2c67", + "l1BlockNumber": "0x12dcd0c" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xc7f8", + "logs": [ + { + "address": "0x1c6b7ab018be82ed6b5c63ae82d9f07bb7b231a2", + "topics": [ + "0x8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b903" + ], + "data": "0x000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "blockHash": "0x8d96f1bb239948248fe243ddd5087653099930cba132a350fd907ff5b5016bd0", + "blockNumber": "0xc54d260", + "transactionHash": "0x917fd24a9bf2f0ca7032c45873d3e15e7904014cb4e898625aefbb0b830c9695", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000100001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x917fd24a9bf2f0ca7032c45873d3e15e7904014cb4e898625aefbb0b830c9695", + "transactionIndex": "0x1", + "blockHash": "0x8d96f1bb239948248fe243ddd5087653099930cba132a350fd907ff5b5016bd0", + "blockNumber": "0xc54d260", + "gasUsed": "0xc7f8", + "effectiveGasPrice": "0x989680", + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x1c6b7ab018be82ed6b5c63ae82d9f07bb7b231a2", + "contractAddress": null, + "gasUsedForL1": "0x2c67", + "l1BlockNumber": "0x12dcd0c" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xc78e", + "logs": [ + { + "address": "0x9b9ae60c5475c0735125c3fb42345aab780a7a2c", + "topics": [ + "0x8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b903" + ], + "data": "0x000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "blockHash": "0x50dcf9a9cf8f1e9c776b007520960540f45bdc292ef2dcd750ec514bae1e3d97", + "blockNumber": "0xc54d27e", + "transactionHash": "0x2f6dc826eb85d545681ea5eaaf3745302bf2c2c321bbde4589f394c0e97bdca8", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x2f6dc826eb85d545681ea5eaaf3745302bf2c2c321bbde4589f394c0e97bdca8", + "transactionIndex": "0x1", + "blockHash": "0x50dcf9a9cf8f1e9c776b007520960540f45bdc292ef2dcd750ec514bae1e3d97", + "blockNumber": "0xc54d27e", + "gasUsed": "0xc78e", + "effectiveGasPrice": "0x989680", + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x9b9ae60c5475c0735125c3fb42345aab780a7a2c", + "contractAddress": null, + "gasUsedForL1": "0x2c67", + "l1BlockNumber": "0x12dcd0d" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x3c911a", + "logs": [ + { + "address": "0x6c70b191fc602bd3756f0ab3684662bbfd8599a6", + "topics": [ + "0x8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b903" + ], + "data": "0x000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "blockHash": "0x7d612953d0e83de6dcb32e9d9ba32d7f731ad9f2b68754d704d0f6f19dc68e28", + "blockNumber": "0xc54d29b", + "transactionHash": "0xc5e6615cf278be66a04054bd2a86f2f6f730abbc441ec3e79def8021170e5842", + "transactionIndex": "0xa", + "logIndex": "0x67", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000004000000000000000000000080000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xc5e6615cf278be66a04054bd2a86f2f6f730abbc441ec3e79def8021170e5842", + "transactionIndex": "0xa", + "blockHash": "0x7d612953d0e83de6dcb32e9d9ba32d7f731ad9f2b68754d704d0f6f19dc68e28", + "blockNumber": "0xc54d29b", + "gasUsed": "0xc795", + "effectiveGasPrice": "0x989680", + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x6c70b191fc602bd3756f0ab3684662bbfd8599a6", + "contractAddress": null, + "gasUsedForL1": "0x2c67", + "l1BlockNumber": "0x12dcd0d" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x73af4", + "logs": [ + { + "address": "0x724f970b507f120f81130ce3924d738db08d69f2", + "topics": [ + "0x8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b903" + ], + "data": "0x000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "blockHash": "0xb4850c8624e96a92b6b0ff4e6208d25fae02b4d275c16f788f85ce8a89d0627b", + "blockNumber": "0xc54d2b8", + "transactionHash": "0x8f3a7e7a5bfaa3fd0e68f7314769d0f7cecbe96bd3cf4fb1425a5033d204260f", + "transactionIndex": "0x3", + "logIndex": "0x6", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000040000000000000000000000000000000008000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000", + "type": "0x2", + "transactionHash": "0x8f3a7e7a5bfaa3fd0e68f7314769d0f7cecbe96bd3cf4fb1425a5033d204260f", + "transactionIndex": "0x3", + "blockHash": "0xb4850c8624e96a92b6b0ff4e6208d25fae02b4d275c16f788f85ce8a89d0627b", + "blockNumber": "0xc54d2b8", + "gasUsed": "0xc78e", + "effectiveGasPrice": "0x989680", + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x724f970b507f120f81130ce3924d738db08d69f2", + "contractAddress": null, + "gasUsedForL1": "0x2c67", + "l1BlockNumber": "0x12dcd0e" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x44fc6", + "logs": [ + { + "address": "0x667f9a20d887ff5943ccf6b35944332adae7e2ed", + "topics": [ + "0x8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b903" + ], + "data": "0x000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "blockHash": "0xedd36431e259a39036871ca6a00e35fced66e45d15b90cf89c9b91d70b766c37", + "blockNumber": "0xc54d2d5", + "transactionHash": "0xaa732e6b61fd243924bfc8ba0497f2a4ba627895ea058503d627cbfcb119f23e", + "transactionIndex": "0x3", + "logIndex": "0x3", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xaa732e6b61fd243924bfc8ba0497f2a4ba627895ea058503d627cbfcb119f23e", + "transactionIndex": "0x3", + "blockHash": "0xedd36431e259a39036871ca6a00e35fced66e45d15b90cf89c9b91d70b766c37", + "blockNumber": "0xc54d2d5", + "gasUsed": "0xc7b1", + "effectiveGasPrice": "0x989680", + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x667f9a20d887ff5943ccf6b35944332adae7e2ed", + "contractAddress": null, + "gasUsedForL1": "0x2c67", + "l1BlockNumber": "0x12dcd0e" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x4495e", + "logs": [ + { + "address": "0xfad87e9c629c5c8d84edb3a134fb998ac80995ee", + "topics": [ + "0x8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b903" + ], + "data": "0x000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "blockHash": "0xf53688954df9312f1098159857549fa74768ad82f2c8170eba4d61847dbb1268", + "blockNumber": "0xc54d2f2", + "transactionHash": "0x5ba35f41e788e99832e5a6410b59c76b2933e1f66fcff3a9b83c18a1a525a99c", + "transactionIndex": "0x3", + "logIndex": "0x3", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000040000000000000000000000010000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000004000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x5ba35f41e788e99832e5a6410b59c76b2933e1f66fcff3a9b83c18a1a525a99c", + "transactionIndex": "0x3", + "blockHash": "0xf53688954df9312f1098159857549fa74768ad82f2c8170eba4d61847dbb1268", + "blockNumber": "0xc54d2f2", + "gasUsed": "0xc77f", + "effectiveGasPrice": "0x989680", + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0xfad87e9c629c5c8d84edb3a134fb998ac80995ee", + "contractAddress": null, + "gasUsedForL1": "0x2c67", + "l1BlockNumber": "0x12dcd0f" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x5732c", + "logs": [ + { + "address": "0x7a528ea3e06d85ed1c22219471cf0b1851943903", + "topics": [ + "0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b", + "0xb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1", + "0x000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "0x000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917" + ], + "data": "0x", + "blockHash": "0xd02308e47975298840cd08403a804a034d3523b554fa4fd61a71a6a05e4b1c47", + "blockNumber": "0xc54d30f", + "transactionHash": "0x54a5d0270890d7cabada5f6d82c5de3242618d3e5fc9a2c429a04f073df84e22", + "transactionIndex": "0x2", + "logIndex": "0x5", + "removed": false + } + ], + "logsBloom": "0x00000002000000000000000000000000020000000000000000000000000000000000000000000000000008000000000000200000000000000000000000200000000000000000000000000000000000000000000020000000000000000000000040000000000000100000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000021000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000", + "type": "0x2", + "transactionHash": "0x54a5d0270890d7cabada5f6d82c5de3242618d3e5fc9a2c429a04f073df84e22", + "transactionIndex": "0x2", + "blockHash": "0xd02308e47975298840cd08403a804a034d3523b554fa4fd61a71a6a05e4b1c47", + "blockNumber": "0xc54d30f", + "gasUsed": "0x9744", + "effectiveGasPrice": "0x989680", + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x7a528ea3e06d85ed1c22219471cf0b1851943903", + "contractAddress": null, + "gasUsedForL1": "0x35f0", + "l1BlockNumber": "0x12dcd0f" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x6b7fa", + "logs": [ + { + "address": "0x7a528ea3e06d85ed1c22219471cf0b1851943903", + "topics": [ + "0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b", + "0xd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63", + "0x000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "0x000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917" + ], + "data": "0x", + "blockHash": "0xbe0f588b3f827204bfb4a52ae8b7ba3d01686b4cd7f090dabf2fb213472e91e4", + "blockNumber": "0xc54d32c", + "transactionHash": "0x393cc533681f441590cdc2d81a4a4de9d71155daaa976859bcc615b09a573655", + "transactionIndex": "0x2", + "logIndex": "0x9", + "removed": false + } + ], + "logsBloom": "0x00000002000000000000000000000000000000000000000000000000000000000000000000000000000008000001000000200000000000000200000010000000000000000000000000000000000000000000000020000000000000000000000040000000000000100000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000", + "type": "0x2", + "transactionHash": "0x393cc533681f441590cdc2d81a4a4de9d71155daaa976859bcc615b09a573655", + "transactionIndex": "0x2", + "blockHash": "0xbe0f588b3f827204bfb4a52ae8b7ba3d01686b4cd7f090dabf2fb213472e91e4", + "blockNumber": "0xc54d32c", + "gasUsed": "0x9744", + "effectiveGasPrice": "0x989680", + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x7a528ea3e06d85ed1c22219471cf0b1851943903", + "contractAddress": null, + "gasUsedForL1": "0x35f0", + "l1BlockNumber": "0x12dcd11" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x3bf7e", + "logs": [ + { + "address": "0x7a528ea3e06d85ed1c22219471cf0b1851943903", + "topics": [ + "0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b", + "0x5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca5", + "0x000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "0x000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917" + ], + "data": "0x", + "blockHash": "0x86c782dbcc5a168b982c71e4fccd652d57a0c2112587a88bd078bb44cbef6bea", + "blockNumber": "0xc54d349", + "transactionHash": "0xda2d90f39d0eccb62cccaf0490f996528e5102bad0da31e8b560aade0b0df54e", + "transactionIndex": "0x3", + "logIndex": "0x2", + "removed": false + } + ], + "logsBloom": "0x00000002000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000200000000000000000000000000000000000000000000000000000000000000000000020000000000000000001000040000000000000100000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000001000000000000000000000000000000000000000010000000000", + "type": "0x2", + "transactionHash": "0xda2d90f39d0eccb62cccaf0490f996528e5102bad0da31e8b560aade0b0df54e", + "transactionIndex": "0x3", + "blockHash": "0x86c782dbcc5a168b982c71e4fccd652d57a0c2112587a88bd078bb44cbef6bea", + "blockNumber": "0xc54d349", + "gasUsed": "0x9744", + "effectiveGasPrice": "0x989680", + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x7a528ea3e06d85ed1c22219471cf0b1851943903", + "contractAddress": null, + "gasUsedForL1": "0x35f0", + "l1BlockNumber": "0x12dcd11" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1714609325, + "chain": 42161, + "commit": "38a0e8ae" +} \ No newline at end of file diff --git a/broadcast/RevokeDeployer.s.sol/42161/run-1714609387.json b/broadcast/RevokeDeployer.s.sol/42161/run-1714609387.json new file mode 100644 index 00000000..0f475e52 --- /dev/null +++ b/broadcast/RevokeDeployer.s.sol/42161/run-1714609387.json @@ -0,0 +1,62 @@ +{ + "transactions": [ + { + "hash": "0x0ce044854355c036f8e87833c41ccb02523172deea566b7093d7066603e8e3b4", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x0005afe00ff7e7ff83667bfe4f2996720baf0b36", + "value": "0x0", + "input": "0x94f3f81d000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "nonce": "0xf3", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x31c83", + "logs": [ + { + "address": "0x0005afe00ff7e7ff83667bfe4f2996720baf0b36", + "topics": [ + "0x8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b903" + ], + "data": "0x000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "blockHash": "0xd0b867e704277d8f02a240e4032931778389e309a58219a8b05141a5945283ea", + "blockNumber": "0xc54d43b", + "transactionHash": "0x0ce044854355c036f8e87833c41ccb02523172deea566b7093d7066603e8e3b4", + "transactionIndex": "0x2", + "logIndex": "0x3", + "removed": false + } + ], + "logsBloom": "0x00000000800000000000000000040000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000010000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x0ce044854355c036f8e87833c41ccb02523172deea566b7093d7066603e8e3b4", + "transactionIndex": "0x2", + "blockHash": "0xd0b867e704277d8f02a240e4032931778389e309a58219a8b05141a5945283ea", + "blockNumber": "0xc54d43b", + "gasUsed": "0xc83b", + "effectiveGasPrice": "0x989680", + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x0005afe00ff7e7ff83667bfe4f2996720baf0b36", + "contractAddress": null, + "gasUsedForL1": "0x2c67", + "l1BlockNumber": "0x12dcd16" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1714609387, + "chain": 42161, + "commit": "38a0e8ae" +} \ No newline at end of file diff --git a/broadcast/UpdateParams.s.sol/42161/run-1714605892.json b/broadcast/UpdateParams.s.sol/42161/run-1714605892.json new file mode 100644 index 00000000..439f5d6e --- /dev/null +++ b/broadcast/UpdateParams.s.sol/42161/run-1714605892.json @@ -0,0 +1,129 @@ +{ + "transactions": [ + { + "hash": "0x142203ff82facb7f8def1ab1b4557e0a1e8bf56cf57cfa064a35e87b1ae1ec59", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x7a528ea3e06d85ed1c22219471cf0b1851943903", + "value": "0x0", + "input": "0x01d5062a0000000000000000000000000005afe00ff7e7ff83667bfe4f2996720baf0b36000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002435b28153000000000000000000000000f78da2a37049627636546e0cfaab2ad66495091700000000000000000000000000000000000000000000000000000000", + "nonce": "0xd1", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd76387f15340226d59e953020a393f8cf8a2b5bcfabd16b239bbbc06be5fa344", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x7a528ea3e06d85ed1c22219471cf0b1851943903", + "value": "0x0", + "input": "0x134008d30000000000000000000000000005afe00ff7e7ff83667bfe4f2996720baf0b36000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002435b28153000000000000000000000000f78da2a37049627636546e0cfaab2ad66495091700000000000000000000000000000000000000000000000000000000", + "nonce": "0xd2", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x36f6f", + "logs": [ + { + "address": "0x7a528ea3e06d85ed1c22219471cf0b1851943903", + "topics": [ + "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", + "0x5e9b3269f3717ae5a0cc9ef16e172743c1e8cac0774ae106aa0e9eddb2af491d", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x0000000000000000000000000005afe00ff7e7ff83667bfe4f2996720baf0b36000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002435b28153000000000000000000000000f78da2a37049627636546e0cfaab2ad66495091700000000000000000000000000000000000000000000000000000000", + "blockHash": "0xe0890b965fb9590360017acff8fb02201d6ac7f7f92de3fec8a7b5e0c720f26a", + "blockNumber": "0xc549e6e", + "transactionHash": "0x142203ff82facb7f8def1ab1b4557e0a1e8bf56cf57cfa064a35e87b1ae1ec59", + "transactionIndex": "0x2", + "logIndex": "0x4", + "removed": false + } + ], + "logsBloom": "0x00000002000000000000000040000000000000000040000000400000000000000000000000000000000008000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000100000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400001000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x142203ff82facb7f8def1ab1b4557e0a1e8bf56cf57cfa064a35e87b1ae1ec59", + "transactionIndex": "0x2", + "blockHash": "0xe0890b965fb9590360017acff8fb02201d6ac7f7f92de3fec8a7b5e0c720f26a", + "blockNumber": "0xc549e6e", + "gasUsed": "0x123ff", + "effectiveGasPrice": "0x989680", + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x7a528ea3e06d85ed1c22219471cf0b1851943903", + "contractAddress": null, + "gasUsedForL1": "0x4e20", + "l1BlockNumber": "0x12dcbf3" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x8d9ae", + "logs": [ + { + "address": "0x0005afe00ff7e7ff83667bfe4f2996720baf0b36", + "topics": [ + "0x599a298163e1678bb1c676052a8930bf0b8a1261ed6e01b8a2391e55f7000102" + ], + "data": "0x000000000000000000000000f78da2a37049627636546e0cfaab2ad664950917", + "blockHash": "0xaf1d260e8c65b1511a510cb2f0e63bea470932fae7a3271a376b5a3536c37e1d", + "blockNumber": "0xc549e8b", + "transactionHash": "0xd76387f15340226d59e953020a393f8cf8a2b5bcfabd16b239bbbc06be5fa344", + "transactionIndex": "0x4", + "logIndex": "0x8", + "removed": false + }, + { + "address": "0x7a528ea3e06d85ed1c22219471cf0b1851943903", + "topics": [ + "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", + "0x5e9b3269f3717ae5a0cc9ef16e172743c1e8cac0774ae106aa0e9eddb2af491d", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x0000000000000000000000000005afe00ff7e7ff83667bfe4f2996720baf0b3600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002435b28153000000000000000000000000f78da2a37049627636546e0cfaab2ad66495091700000000000000000000000000000000000000000000000000000000", + "blockHash": "0xaf1d260e8c65b1511a510cb2f0e63bea470932fae7a3271a376b5a3536c37e1d", + "blockNumber": "0xc549e8b", + "transactionHash": "0xd76387f15340226d59e953020a393f8cf8a2b5bcfabd16b239bbbc06be5fa344", + "transactionIndex": "0x4", + "logIndex": "0x9", + "removed": false + } + ], + "logsBloom": "0x00000002800000000000000000000000000000000040000000400000000000000000000000000000000008000000000000000000000800000000000010000000000000000000000000002000000000000000000000000000000000000000002000000000020000100000000000000800000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000001000000000020200000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xd76387f15340226d59e953020a393f8cf8a2b5bcfabd16b239bbbc06be5fa344", + "transactionIndex": "0x4", + "blockHash": "0xaf1d260e8c65b1511a510cb2f0e63bea470932fae7a3271a376b5a3536c37e1d", + "blockNumber": "0xc549e8b", + "gasUsed": "0x1bdd5", + "effectiveGasPrice": "0x989680", + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x7a528ea3e06d85ed1c22219471cf0b1851943903", + "contractAddress": null, + "gasUsedForL1": "0x5021", + "l1BlockNumber": "0x12dcbf3" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1714605892, + "chain": 42161, + "commit": "aff445d0" +} \ No newline at end of file diff --git a/broadcast/UpdateParams.s.sol/42161/run-1714606166.json b/broadcast/UpdateParams.s.sol/42161/run-1714606166.json new file mode 100644 index 00000000..580973c5 --- /dev/null +++ b/broadcast/UpdateParams.s.sol/42161/run-1714606166.json @@ -0,0 +1,114 @@ +{ + "transactions": [ + { + "hash": "0x3a3f8c06acb702fd69d81f00bbb26cf2c58e4957650176c7a9cbe0694edff50e", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x0005afe00ff7e7ff83667bfe4f2996720baf0b36", + "value": "0x0", + "input": "0xda8a4bb86e667452656e64657265720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000002000000000000000000000000006988165b30825735b1bb9bacba43fb9e04551af", + "nonce": "0xd3", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xeaed6929a5189b5652a701eb463c64fcb2bd9e3cd56de8dbd8e0a2f7197ed94f", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x0005afe00ff7e7ff83667bfe4f2996720baf0b36", + "value": "0x0", + "input": "0x94f3f81d0000000000000000000000006edb251053b4f7670c98e18bbea20818367b4c0f", + "nonce": "0xd4", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xc6a2", + "logs": [ + { + "address": "0x0005afe00ff7e7ff83667bfe4f2996720baf0b36", + "topics": [ + "0xe436a8be7dc6aab90b400800ecc86e46fb600f2e18989b5d0389840fdabbf2ed", + "0x6e667452656e6465726572000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000006988165b30825735b1bb9bacba43fb9e04551af", + "blockHash": "0x4233d02bfaa975de06337865ce81ea96048b6a732fbf87d9523eb854e1304caa", + "blockNumber": "0xc54a2a7", + "transactionHash": "0x3a3f8c06acb702fd69d81f00bbb26cf2c58e4957650176c7a9cbe0694edff50e", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000400010000000000000000000000000002000000000000000000000000000000000000000000000000000020000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000020000000000000000000000000002000000000000001000000000000000000000000", + "type": "0x2", + "transactionHash": "0x3a3f8c06acb702fd69d81f00bbb26cf2c58e4957650176c7a9cbe0694edff50e", + "transactionIndex": "0x1", + "blockHash": "0x4233d02bfaa975de06337865ce81ea96048b6a732fbf87d9523eb854e1304caa", + "blockNumber": "0xc54a2a7", + "gasUsed": "0xc6a2", + "effectiveGasPrice": "0x989680", + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x0005afe00ff7e7ff83667bfe4f2996720baf0b36", + "contractAddress": null, + "gasUsedForL1": "0x45d3", + "l1BlockNumber": "0x12dcc0b" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xc613", + "logs": [ + { + "address": "0x0005afe00ff7e7ff83667bfe4f2996720baf0b36", + "topics": [ + "0x8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b903" + ], + "data": "0x0000000000000000000000006edb251053b4f7670c98e18bbea20818367b4c0f", + "blockHash": "0xb9037958a44a2b2b6f1e93b8d6c891406128ee7be6d3aed34e51fcb621617fa6", + "blockNumber": "0xc54a2c3", + "transactionHash": "0xeaed6929a5189b5652a701eb463c64fcb2bd9e3cd56de8dbd8e0a2f7197ed94f", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000800000000000000000040000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000010000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xeaed6929a5189b5652a701eb463c64fcb2bd9e3cd56de8dbd8e0a2f7197ed94f", + "transactionIndex": "0x1", + "blockHash": "0xb9037958a44a2b2b6f1e93b8d6c891406128ee7be6d3aed34e51fcb621617fa6", + "blockNumber": "0xc54a2c3", + "gasUsed": "0xc613", + "effectiveGasPrice": "0x989680", + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x0005afe00ff7e7ff83667bfe4f2996720baf0b36", + "contractAddress": null, + "gasUsedForL1": "0x2aa3", + "l1BlockNumber": "0x12dcc0c" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1714606166, + "chain": 42161, + "commit": "849769e8" +} \ No newline at end of file diff --git a/broadcast/UpdateParams.s.sol/42161/run-1714606362.json b/broadcast/UpdateParams.s.sol/42161/run-1714606362.json new file mode 100644 index 00000000..54d32211 --- /dev/null +++ b/broadcast/UpdateParams.s.sol/42161/run-1714606362.json @@ -0,0 +1,64 @@ +{ + "transactions": [ + { + "hash": "0x6f83ec2aacbb042626eae06ebea8c0234c275aee994f2e261c072d82d2c09bb6", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x17e546ddce2ea8a74bd667269457a2e80b309965", + "value": "0x0", + "input": "0xda8a4bb8736176696f75724761734c696d697400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000002dc6c0", + "nonce": "0xd5", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xc673", + "logs": [ + { + "address": "0x17e546ddce2ea8a74bd667269457a2e80b309965", + "topics": [ + "0xe436a8be7dc6aab90b400800ecc86e46fb600f2e18989b5d0389840fdabbf2ed", + "0x736176696f75724761734c696d69740000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000002dc6c0", + "blockHash": "0xcb3c5fbb41795f06ccf294972e2aea159a3e878f2dbf8f8181a8561f577344d8", + "blockNumber": "0xc54a5c3", + "transactionHash": "0x6f83ec2aacbb042626eae06ebea8c0234c275aee994f2e261c072d82d2c09bb6", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000080000000020000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000001000000000000000000000000000000000000000000000000000010000000000000000000400000000000000000000000000020000000000000000000000000002000040400000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x6f83ec2aacbb042626eae06ebea8c0234c275aee994f2e261c072d82d2c09bb6", + "transactionIndex": "0x1", + "blockHash": "0xcb3c5fbb41795f06ccf294972e2aea159a3e878f2dbf8f8181a8561f577344d8", + "blockNumber": "0xc54a5c3", + "gasUsed": "0xc673", + "effectiveGasPrice": "0x989680", + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x17e546ddce2ea8a74bd667269457a2e80b309965", + "contractAddress": null, + "gasUsedForL1": "0x34a8", + "l1BlockNumber": "0x12dcc1b" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1714606362, + "chain": 42161, + "commit": "d43a3b5f" +} \ No newline at end of file diff --git a/broadcast/UpdateParams.s.sol/42161/run-1714606506.json b/broadcast/UpdateParams.s.sol/42161/run-1714606506.json new file mode 100644 index 00000000..1ce4eb52 --- /dev/null +++ b/broadcast/UpdateParams.s.sol/42161/run-1714606506.json @@ -0,0 +1,116 @@ +{ + "transactions": [ + { + "hash": "0xee9d035d862647fb585092d2169911774da24f41c1e4d61429784a659a2f5c06", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x51f0434645aa8a98cfa9f0fe7b373297a95fe92c", + "value": "0x0", + "input": "0xda8a4bb86b7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000002dfbead7000", + "nonce": "0xd6", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe82ac04e62734cb3132d55d0906f2aa8251296c6469b6e25e2718f05d211db30", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x51f0434645aa8a98cfa9f0fe7b373297a95fe92c", + "value": "0x0", + "input": "0xda8a4bb86b6900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000004d260", + "nonce": "0xd7", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x885a4", + "logs": [ + { + "address": "0x51f0434645aa8a98cfa9f0fe7b373297a95fe92c", + "topics": [ + "0xe436a8be7dc6aab90b400800ecc86e46fb600f2e18989b5d0389840fdabbf2ed", + "0x6b70000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000002dfbead7000", + "blockHash": "0xc71b6bd5ce10e9f107aa767b5afbd3cce5c7530be50bd7cf755a6a2f3d92f5af", + "blockNumber": "0xc54a7e0", + "transactionHash": "0xee9d035d862647fb585092d2169911774da24f41c1e4d61429784a659a2f5c06", + "transactionIndex": "0x5", + "logIndex": "0xa", + "removed": false + } + ], + "logsBloom": "0x00000000400000000000000000000000000000000000000000000000000000000000000000000000000000000800000004000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000800000000000000000000000000000000000000080000000000000000000000000000000010000000000000000000000000000000000000000000000020000000000000000000000000002000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xee9d035d862647fb585092d2169911774da24f41c1e4d61429784a659a2f5c06", + "transactionIndex": "0x5", + "blockHash": "0xc71b6bd5ce10e9f107aa767b5afbd3cce5c7530be50bd7cf755a6a2f3d92f5af", + "blockNumber": "0xc54a7e0", + "gasUsed": "0xe697", + "effectiveGasPrice": "0x989680", + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x51f0434645aa8a98cfa9f0fe7b373297a95fe92c", + "contractAddress": null, + "gasUsedForL1": "0x31c4", + "l1BlockNumber": "0x12dcc27" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x24c78", + "logs": [ + { + "address": "0x51f0434645aa8a98cfa9f0fe7b373297a95fe92c", + "topics": [ + "0xe436a8be7dc6aab90b400800ecc86e46fb600f2e18989b5d0389840fdabbf2ed", + "0x6b69000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000004d260", + "blockHash": "0x076e2e0f68df1c5f04bc251bfc11f5934dbe188eef2600201d31889f8d8519a7", + "blockNumber": "0xc54a7fd", + "transactionHash": "0xe82ac04e62734cb3132d55d0906f2aa8251296c6469b6e25e2718f05d211db30", + "transactionIndex": "0x2", + "logIndex": "0x2", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000020000000000000000000000000000000000000000000000000000000000000800000000000000000000000000004000000000000000000000010000000000000000000000000000000000000000000000000000000000020000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000800000000000000000000000000000000000000080000000000000000000000000000000010000000000000000000000000000000000000000000000020000000000000000000000000002000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xe82ac04e62734cb3132d55d0906f2aa8251296c6469b6e25e2718f05d211db30", + "transactionIndex": "0x2", + "blockHash": "0x076e2e0f68df1c5f04bc251bfc11f5934dbe188eef2600201d31889f8d8519a7", + "blockNumber": "0xc54a7fd", + "gasUsed": "0xe5ec", + "effectiveGasPrice": "0x989680", + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x51f0434645aa8a98cfa9f0fe7b373297a95fe92c", + "contractAddress": null, + "gasUsedForL1": "0x311a", + "l1BlockNumber": "0x12dcc27" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1714606506, + "chain": 42161, + "commit": "7ba4bf3d" +} \ No newline at end of file diff --git a/broadcast/UpdateParams.s.sol/42161/run-1714606659.json b/broadcast/UpdateParams.s.sol/42161/run-1714606659.json new file mode 100644 index 00000000..b6a93298 --- /dev/null +++ b/broadcast/UpdateParams.s.sol/42161/run-1714606659.json @@ -0,0 +1,64 @@ +{ + "transactions": [ + { + "hash": "0x109010a3336177332f19f78116bd138bf34cc736c6e3965a5d33b8e1f5b2b6d8", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x667f9a20d887ff5943ccf6b35944332adae7e2ed", + "value": "0x0", + "input": "0xda8a4bb8726577617264416d6f756e740000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000de0b6b3a7640000", + "nonce": "0xd8", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x1dbbfb", + "logs": [ + { + "address": "0x667f9a20d887ff5943ccf6b35944332adae7e2ed", + "topics": [ + "0xe436a8be7dc6aab90b400800ecc86e46fb600f2e18989b5d0389840fdabbf2ed", + "0x726577617264416d6f756e740000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000de0b6b3a7640000", + "blockHash": "0x667eaa2503420b0a611d16426b0182aeb3674984cd32738590d5e14d814197e5", + "blockNumber": "0xc54aa58", + "transactionHash": "0x109010a3336177332f19f78116bd138bf34cc736c6e3965a5d33b8e1f5b2b6d8", + "transactionIndex": "0x8", + "logIndex": "0x24", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000080000000000020000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000080000000000000000000000000000000000000000000000000050000000000000000000000000000000002000400000000020000000000000000000000000002000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x109010a3336177332f19f78116bd138bf34cc736c6e3965a5d33b8e1f5b2b6d8", + "transactionIndex": "0x8", + "blockHash": "0x667eaa2503420b0a611d16426b0182aeb3674984cd32738590d5e14d814197e5", + "blockNumber": "0xc54aa58", + "gasUsed": "0xdfc0", + "effectiveGasPrice": "0x989680", + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x667f9a20d887ff5943ccf6b35944332adae7e2ed", + "contractAddress": null, + "gasUsedForL1": "0x3b1e", + "l1BlockNumber": "0x12dcc33" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1714606659, + "chain": 42161, + "commit": "8fa38532" +} \ No newline at end of file diff --git a/broadcast/UpdateParams.s.sol/42161/run-1714607380.json b/broadcast/UpdateParams.s.sol/42161/run-1714607380.json new file mode 100644 index 00000000..0497bf7c --- /dev/null +++ b/broadcast/UpdateParams.s.sol/42161/run-1714607380.json @@ -0,0 +1,129 @@ +{ + "transactions": [ + { + "hash": "0x0e9c04d54b7f66230ec012b699cc5228d078888185d9cd2c55e4d85969632c2f", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x7a528ea3e06d85ed1c22219471cf0b1851943903", + "value": "0x0", + "input": "0x01d5062a0000000000000000000000007a528ea3e06d85ed1c22219471cf0b1851943903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000031204461792074696d656c6f636b2064656c61790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002464d62353000000000000000000000000000000000000000000000000000000000001518000000000000000000000000000000000000000000000000000000000", + "nonce": "0xd9", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb8562f9b7d41fad34adf168d60392ff25a64566e2df260218f8b44960af6a0f7", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x7a528ea3e06d85ed1c22219471cf0b1851943903", + "value": "0x0", + "input": "0x134008d30000000000000000000000007a528ea3e06d85ed1c22219471cf0b1851943903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000031204461792074696d656c6f636b2064656c6179000000000000000000000000000000000000000000000000000000000000000000000000000000000000002464d62353000000000000000000000000000000000000000000000000000000000001518000000000000000000000000000000000000000000000000000000000", + "nonce": "0xda", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x35a73", + "logs": [ + { + "address": "0x7a528ea3e06d85ed1c22219471cf0b1851943903", + "topics": [ + "0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", + "0x28c41ba1af36612904934e9c55bfebd6f498f3a3e61cd76499552f776b97991b", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x0000000000000000000000007a528ea3e06d85ed1c22219471cf0b1851943903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002464d62353000000000000000000000000000000000000000000000000000000000001518000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x0bb3ad7a6df25d420f214e80dc0b7567f6b5024d1d39fba0e59649912b604451", + "blockNumber": "0xc54b54f", + "transactionHash": "0x0e9c04d54b7f66230ec012b699cc5228d078888185d9cd2c55e4d85969632c2f", + "transactionIndex": "0x2", + "logIndex": "0x4", + "removed": false + } + ], + "logsBloom": "0x00000002000000000000000040000000000000000000000000000000000000000000000000000000000008000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000020000100000000000000800000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x0e9c04d54b7f66230ec012b699cc5228d078888185d9cd2c55e4d85969632c2f", + "transactionIndex": "0x2", + "blockHash": "0x0bb3ad7a6df25d420f214e80dc0b7567f6b5024d1d39fba0e59649912b604451", + "blockNumber": "0xc54b54f", + "gasUsed": "0x11d00", + "effectiveGasPrice": "0x989680", + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x7a528ea3e06d85ed1c22219471cf0b1851943903", + "contractAddress": null, + "gasUsedForL1": "0x46f1", + "l1BlockNumber": "0x12dcc6f" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x222c3", + "logs": [ + { + "address": "0x7a528ea3e06d85ed1c22219471cf0b1851943903", + "topics": [ + "0x11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d5" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000015180", + "blockHash": "0xefd59b371a268c34685f2aa367fc7215924ac1aa449854e33902ee331292c236", + "blockNumber": "0xc54b56c", + "transactionHash": "0xb8562f9b7d41fad34adf168d60392ff25a64566e2df260218f8b44960af6a0f7", + "transactionIndex": "0x2", + "logIndex": "0x2", + "removed": false + }, + { + "address": "0x7a528ea3e06d85ed1c22219471cf0b1851943903", + "topics": [ + "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", + "0x28c41ba1af36612904934e9c55bfebd6f498f3a3e61cd76499552f776b97991b", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x0000000000000000000000007a528ea3e06d85ed1c22219471cf0b185194390300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002464d62353000000000000000000000000000000000000000000000000000000000001518000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xefd59b371a268c34685f2aa367fc7215924ac1aa449854e33902ee331292c236", + "blockNumber": "0xc54b56c", + "transactionHash": "0xb8562f9b7d41fad34adf168d60392ff25a64566e2df260218f8b44960af6a0f7", + "transactionIndex": "0x2", + "logIndex": "0x3", + "removed": false + } + ], + "logsBloom": "0x00000002000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000002040000000020000100000000000000800000000000000200000020000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000084000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xb8562f9b7d41fad34adf168d60392ff25a64566e2df260218f8b44960af6a0f7", + "transactionIndex": "0x2", + "blockHash": "0xefd59b371a268c34685f2aa367fc7215924ac1aa449854e33902ee331292c236", + "blockNumber": "0xc54b56c", + "gasUsed": "0x137e5", + "effectiveGasPrice": "0x989680", + "from": "0xf78da2a37049627636546e0cfaab2ad664950917", + "to": "0x7a528ea3e06d85ed1c22219471cf0b1851943903", + "contractAddress": null, + "gasUsedForL1": "0x4809", + "l1BlockNumber": "0x12dcc6f" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1714607380, + "chain": 42161, + "commit": "0f4a567c" +} \ No newline at end of file diff --git a/gov-input/sepolia/new-AddCollateral.json b/gov-input/sepolia/new-AddCollateral.json index 84b88f74..de42025e 100644 --- a/gov-input/sepolia/new-AddCollateral.json +++ b/gov-input/sepolia/new-AddCollateral.json @@ -1,10 +1,10 @@ { "chainid": "421614", "network": "sepolia", - "newCollateralAddress": "0xa513E6E4b8f2a923D98304ec87F64353C4D5C853", - "newCollateralType": "NEWADD", + "newCollateralAddress": "", + "newCollateralType": "", "proposalType": "AddCollateral", - "description": "add a new collateral type", + "description": "", "ProtocolToken_Address": "", "ODGovernor_Address": "", "SAFEEngine_Address": "", @@ -13,26 +13,26 @@ "TaxCollector_Address": "", "GlobalSettlement_Address": "", "SAFEEngineCollateralParams": { - "collateralDebtCeiling": "500000000000000000000000000000000000000000000000", - "collateralDebtFloor": "100000000000000000000000000000000000000000000000" + "collateralDebtCeiling": "", + "collateralDebtFloor": "" }, "TaxCollectorCollateralParams": { - "stabilityFee": "1000000000000000000000000000" + "stabilityFee": "" }, "LiquidationEngineCollateralParams": { - "newCAHChild": "0xb6EB8bC7f46D47c3a374511c727AB157Aa549DE1", - "liquidationPenalty": "1000000000000000000", - "liquidationQuantity": "1000000000000000000000000000000000000000000000" + "newCAHChild": "", + "liquidationPenalty": "", + "liquidationQuantity": "" }, "OracleRelayerCollateralParams": { - "delayedOracle": "0xa783CDc72e34a174CCa57a6d9a74904d0Bec05A9", - "safetyCRatio": "1000000000000000000000000000", - "liquidationCRatio": "1000000000000000000000000000" + "delayedOracle": "", + "safetyCRatio": "", + "liquidationCRatio": "" }, "CollateralAuctionHouseParams": { - "maximumDiscount": "1", - "minimumBid": "2", - "minimumDiscount": "3", - "perSecondDiscountUpdateRate": "999998607628240538157433861" + "maximumDiscount": "", + "minimumBid": "", + "minimumDiscount": "", + "perSecondDiscountUpdateRate": "" } } \ No newline at end of file diff --git a/script/MainnetParams.s.sol b/script/MainnetParams.s.sol index a65daf63..b916805a 100644 --- a/script/MainnetParams.s.sol +++ b/script/MainnetParams.s.sol @@ -39,7 +39,7 @@ abstract contract MainnetParams is Contracts, Params { _liquidationEngineParams = ILiquidationEngine.LiquidationEngineParams({ onAuctionSystemCoinLimit: 100_000 * RAD, // 10_000 COINs - saviourGasLimit: 10_000_000 // 10M gas + saviourGasLimit: 3_000_000 // 3M gas }); _stabilityFeeTreasuryParams = IStabilityFeeTreasury.StabilityFeeTreasuryParams({ diff --git a/script/gov/helpers/GovernanceHelpers.s.sol b/script/gov/helpers/GovernanceHelpers.s.sol index a476429d..959900a2 100644 --- a/script/gov/helpers/GovernanceHelpers.s.sol +++ b/script/gov/helpers/GovernanceHelpers.s.sol @@ -42,7 +42,6 @@ contract GovernanceHelpers is Script, ForkManagement { _loadBaseData(); vm.startBroadcast(_privateKey); - _Vote(); } function delegateTokens(string memory _filePath) public { @@ -57,7 +56,14 @@ contract GovernanceHelpers is Script, ForkManagement { console2.log('Current vote weight: ', voteWeight); } - function _Vote() internal { + function vote(string memory _filePath) public { + _loadJson(_filePath); + _checkNetworkParams(); + _loadPrivateKeys(); + _loadBaseData(); + + vm.startBroadcast(_privateKey); + console2.log('Voting Delay:', gov.votingDelay()); console2.log('Voting Period:', gov.votingPeriod()); console2.log('Voting weight: ', IVotes(address(protocolToken)).getVotes(proposer)); diff --git a/script/mainnet/GenerateDebt.s.sol b/script/mainnet/GenerateDebt.s.sol new file mode 100644 index 00000000..25219b27 --- /dev/null +++ b/script/mainnet/GenerateDebt.s.sol @@ -0,0 +1,36 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.13; + +import {MainnetScripts} from '@script/mainnet/MainnetScripts.s.sol'; +import {BasicActions} from '@contracts/proxies/actions/BasicActions.sol'; +import {WSTETH, ARB, RETH} from '@script/MainnetParams.s.sol'; +import {IERC20} from '@openzeppelin/token/ERC20/IERC20.sol'; +import 'forge-std/console2.sol'; +// ANVIL +// source .env && anvil --rpc-url $ARB_MAINNET_RPC +// source .env && forge script TestGenerate --with-gas-price 2000000000 -vvvvv --rpc-url $ANVIL_RPC --unlocked + +contract TestGenerate is MainnetScripts { + function run() public { + vm.startBroadcast(USER1); + address proxy = address(deployOrFind(USER1)); + basicActions = new BasicActions(); + + //open safe one + uint256 safeId = openSafe(RETH, proxy); + IERC20(_reth_Address).approve(proxy, type(uint256).max); + depositCollatAndGenDebt(RETH, safeId, 10 ether, 1000 ether, proxy); + // open safe 2 to get more OD + // uint256 safeId2 = openSafe(RETH, proxy); + // depositCollatAndGenDebt(RETH, safeId2, 150 ether, 200 ether, proxy); + uint256 balance = systemCoin.balanceOf(USER1); + console2.log('Ending balance: ', balance); + // assert(balance == 200 ether); + + vm.stopBroadcast(); + } +} + +/** + * 0xEff45E8e2353893BD0558bD5892A42786E9142F1::modifySAFECollateralization(0x5245544800000000000000000000000000000000000000000000000000000000, SAFEHandler: [0xD79b87bc3EB61B086d647c42EA7c1d70952c0c50], SAFEHandler: [0xD79b87bc3EB61B086d647c42EA7c1d70952c0c50], SAFEHandler: [0xD79b87bc3EB61B086d647c42EA7c1d70952c0c50], 0, -199987022715481439548 [-1.999e20]) + */ diff --git a/script/mainnet/MainnetScripts.s.sol b/script/mainnet/MainnetScripts.s.sol index ab84b8df..1a0fde0f 100644 --- a/script/mainnet/MainnetScripts.s.sol +++ b/script/mainnet/MainnetScripts.s.sol @@ -98,7 +98,7 @@ contract MainnetScripts is MainnetDeployment, Script, Test { bytes memory payload = abi.encodeWithSelector(basicActions.openSAFE.selector, address(safeManager), _cType, _proxy); bytes memory _safeData = ODProxy(_proxy).execute(address(basicActions), payload); _safeId = abi.decode(_safeData, (uint256)); - console2.log(IERC20(_reth_Address).balanceOf(USER1)); + console2.log('RETH BALANCE USER!: ', IERC20(_reth_Address).balanceOf(USER1)); } function depositCollatAndGenDebt( diff --git a/script/postdeployment/RedeployVault721.s.sol b/script/postdeployment/RedeployVault721.s.sol index 067628b4..400ba58c 100644 --- a/script/postdeployment/RedeployVault721.s.sol +++ b/script/postdeployment/RedeployVault721.s.sol @@ -17,6 +17,7 @@ import {WSTETH, RETH, ARB} from '@script/MainnetParams.s.sol'; abstract contract Base is MainnetDeployment, Script, Test { IODCreate2Factory internal _create2 = IODCreate2Factory(MAINNET_CREATE2FACTORY); + address internal constant _DEPLOYER = 0xF78dA2A37049627636546E0cFAaB2aD664950917; uint256 internal _deployerPk; address internal _deployer; @@ -57,8 +58,6 @@ contract VerifyVault721VanityAddr is Base { // source .env && forge script RedeployVault721 --with-gas-price 2000000000 -vvvvv --rpc-url $ARB_MAINNET_RPC contract RedeployVault721 is Base { - address internal constant _DEPLOYER = 0xF78dA2A37049627636546E0cFAaB2aD664950917; - function run() public { bool _broadcast; if (_deployer == _DEPLOYER) _broadcast = true; @@ -95,8 +94,6 @@ contract RedeployVault721 is Base { // SIMULATE // source .env && forge script UpdateSafeManager --with-gas-price 2000000000 -vvvvv --rpc-url $ARB_MAINNET_RPC contract UpdateSafeManager is Base { - address internal constant _DEPLOYER = 0xF78dA2A37049627636546E0cFAaB2aD664950917; - function run() public { bool _broadcast; if (_deployer == _DEPLOYER) _broadcast = true; @@ -121,8 +118,6 @@ contract UpdateSafeManager is Base { // SIMULATE // source .env && forge script UpdateOracles --with-gas-price 2000000000 -vvvvv --rpc-url $ARB_MAINNET_RPC contract UpdateOracles is Base { - address internal constant _DEPLOYER = 0xF78dA2A37049627636546E0cFAaB2aD664950917; - function run() public { bool _broadcast; if (_deployer == _DEPLOYER) _broadcast = true; @@ -169,8 +164,6 @@ contract UpdateOracles is Base { // SIMULATE // source .env && forge script UpdateStabilityFee --with-gas-price 2000000000 -vvvvv --rpc-url $ARB_MAINNET_RPC contract UpdateStabilityFee is Base { - address internal constant _DEPLOYER = 0xF78dA2A37049627636546E0cFAaB2aD664950917; - function run() public { bool _broadcast; if (_deployer == _DEPLOYER) _broadcast = true; @@ -185,3 +178,30 @@ contract UpdateStabilityFee is Base { else vm.stopPrank(); } } + +// BROADCAST +// source .env && forge script DeployNFTRendererMainnet --skip-simulation --with-gas-price 2000000000 -vvvvv --rpc-url $ARB_MAINNET_RPC --broadcast --verify --etherscan-api-key $ARB_ETHERSCAN_API_KEY + +// SIMULATE +// source .env && forge script DeployNFTRendererMainnet --with-gas-price 2000000000 -vvvvv --rpc-url $ARB_MAINNET_RPC + +contract DeployNFTRendererMainnet is Base { + function run() public { + bool _broadcast; + if (_deployer == _DEPLOYER) _broadcast = true; + + if (_broadcast) vm.startBroadcast(_deployerPk); + NFTRenderer nftRenderer = + new NFTRenderer(address(vault721), address(oracleRelayer), address(taxCollector), address(collateralJoinFactory)); + + nftRenderer.updateStabilityFee(RETH, '1.75'); + nftRenderer.updateStabilityFee(WSTETH, '1.85'); + nftRenderer.updateStabilityFee(ARB, '5'); + + nftRenderer.addAuthorization(address(timelockController)); + nftRenderer.removeAuthorization(_deployer); + + if (_broadcast) vm.stopBroadcast(); + else vm.stopPrank(); + } +} diff --git a/script/postdeployment/RevokeDeployer.s.sol b/script/postdeployment/RevokeDeployer.s.sol index 295577de..2462ee9a 100644 --- a/script/postdeployment/RevokeDeployer.s.sol +++ b/script/postdeployment/RevokeDeployer.s.sol @@ -4,6 +4,7 @@ pragma solidity 0.8.20; import '@script/Registry.s.sol'; import {Script} from 'forge-std/Script.sol'; import {Test} from 'forge-std/Test.sol'; +import {TimelockController} from '@openzeppelin/governance/TimelockController.sol'; import {IODCreate2Factory} from '@interfaces/factories/IODCreate2Factory.sol'; import {IAuthorizable} from '@interfaces/utils/IAuthorizable.sol'; import {Vault721} from '@contracts/proxies/Vault721.sol'; @@ -19,9 +20,16 @@ import {MainnetDeployment} from '@script/MainnetDeployment.s.sol'; contract RevokeDeployer is MainnetDeployment, Script, Test { address internal constant _TIMELOCKCONTROLLER = MAINNET_TIMELOCK_CONTROLLER; - address internal constant _OD_GOVERNOR = MAINNET_OD_GOVERNOR; address internal constant _DEPLOYER = 0xF78dA2A37049627636546E0cFAaB2aD664950917; + error AuthUpdateFail(); + + /** + * IMPORTANT! + * @notice renounces deployer from TIMELOCK_ADMIN_ROLE preventing governance upgradeability + * + * @dev this script can only be run once by deployer + */ function run() public { uint256 _deployerPk = vm.envUint('ARB_MAINNET_DEPLOYER_PK'); address _deployer = vm.addr(_deployerPk); @@ -49,6 +57,7 @@ contract RevokeDeployer is MainnetDeployment, Script, Test { // tokens _updateAuth(systemCoin); _updateAuth(protocolToken); + _updateAuth(vault721); // pid controller _updateAuth(pidController); @@ -74,24 +83,50 @@ contract RevokeDeployer is MainnetDeployment, Script, Test { _updateAuth(liquidationJob); _updateAuth(oracleJob); + // governance + _renounceRoles(TimelockController(payable(_TIMELOCKCONTROLLER))); + if (_broadcast) vm.stopBroadcast(); else vm.stopPrank(); } /** - * @dev authorize the timelockController to all protocol contracts - * && revoke the deployer and odGovernor - * - * @notice this script can only be run once by deployer + * @dev check authorization of authorizable contract + */ + function _checkAuth(IAuthorizable _contract, address _account) internal view returns (bool _auth) { + _auth = _contract.authorizedAccounts(_account); + } + + /** + * @dev check that authorization of timelockController added & authorization of deployer revoked + */ + function _enforceAuthTransfer(IAuthorizable _contract) internal view returns (bool) { + if (_checkAuth(_contract, _TIMELOCKCONTROLLER) && !_checkAuth(_contract, _DEPLOYER)) return true; + else return false; + } + + /** + * @dev authorize the timelockController to all protocol contracts & revoke the deployer */ function _updateAuth(IAuthorizable _contract) internal { if (!_checkAuth(_contract, _TIMELOCKCONTROLLER)) _contract.addAuthorization(_TIMELOCKCONTROLLER); - - if (_checkAuth(_contract, _OD_GOVERNOR)) _contract.removeAuthorization(_OD_GOVERNOR); if (_checkAuth(_contract, _DEPLOYER)) _contract.removeAuthorization(_DEPLOYER); + + if (!_enforceAuthTransfer(_contract)) revert AuthUpdateFail(); } - function _checkAuth(IAuthorizable _contract, address _account) internal view returns (bool _auth) { - _auth = _contract.authorizedAccounts(_account); + /** + * @dev revoke deployer from all roles on the timelockController + */ + function _renounceRoles(TimelockController _tlc) internal { + bytes32 proposer = _tlc.PROPOSER_ROLE(); + bytes32 executor = _tlc.EXECUTOR_ROLE(); + bytes32 canceller = _tlc.CANCELLER_ROLE(); + bytes32 admin = _tlc.TIMELOCK_ADMIN_ROLE(); + + if (_tlc.hasRole(proposer, _DEPLOYER)) _tlc.renounceRole(proposer, _DEPLOYER); + if (_tlc.hasRole(executor, _DEPLOYER)) _tlc.renounceRole(executor, _DEPLOYER); + if (_tlc.hasRole(canceller, _DEPLOYER)) _tlc.renounceRole(canceller, _DEPLOYER); + if (_tlc.hasRole(admin, _DEPLOYER)) _tlc.renounceRole(admin, _DEPLOYER); } } diff --git a/script/postdeployment/UpdateParams.s.sol b/script/postdeployment/UpdateParams.s.sol new file mode 100644 index 00000000..9d9c78fd --- /dev/null +++ b/script/postdeployment/UpdateParams.s.sol @@ -0,0 +1,221 @@ +// SPDX-License-Identifier: GPL-3.0 +pragma solidity 0.8.20; + +import '@script/Registry.s.sol'; +import {Script} from 'forge-std/Script.sol'; +import {MainnetDeployment} from '@script/MainnetDeployment.s.sol'; +import {TimelockController} from '@openzeppelin/governance/TimelockController.sol'; +import {IPIDController} from '@interfaces/IPIDController.sol'; +import {ILiquidationEngine} from '@interfaces/ILiquidationEngine.sol'; +import {Authorizable} from '@contracts/utils/Authorizable.sol'; + +import 'forge-std/console2.sol'; + +/** + * @dev update to desired values: + * _NEW_GAS_LIMIT, + * _NEW_PROPORTIONAL_GAIN, + * _NEW_INTEGRAL_GAIN + */ +abstract contract Base is MainnetDeployment, Script { + address internal constant _DEPLOYER = 0xF78dA2A37049627636546E0cFAaB2aD664950917; + address internal constant _NEW_NFV_RENDERER = 0x06988165b30825735B1BB9baCba43fb9e04551AF; + uint256 internal constant _NEW_GAS_LIMIT = 3_000_000; + int256 internal constant _NEW_PROPORTIONAL_GAIN = 3_160_000_000_000; // kp + int256 internal constant _NEW_INTEGRAL_GAIN = 316_000; // ki + + uint256 internal _deployerPk; + address internal _deployer; + bool internal _broadcast; + + modifier prankSwitch(bool b) { + if (b) vm.startBroadcast(_deployerPk); + else vm.startPrank(_DEPLOYER); + _; + if (b) vm.stopBroadcast(); + else vm.stopPrank(); + } + + function setUp() public { + _deployerPk = vm.envUint('ARB_MAINNET_DEPLOYER_PK'); + _deployer = vm.addr(_deployerPk); + if (_deployer == _DEPLOYER) _broadcast = true; + } +} + +// BROADCAST +// source .env && forge script UpdatePiParams --skip-simulation --with-gas-price 2000000000 -vvvvv --rpc-url $ARB_MAINNET_RPC --broadcast --verify --etherscan-api-key $ARB_ETHERSCAN_API_KEY + +// SIMULATE +// source .env && forge script UpdatePiParams --with-gas-price 2000000000 -vvvvv --rpc-url $ARB_MAINNET_RPC + +contract UpdatePiParams is Base { + function run() public prankSwitch(_broadcast) { + bytes memory kpData = abi.encode(_NEW_PROPORTIONAL_GAIN); + bytes memory kiData = abi.encode(_NEW_INTEGRAL_GAIN); + + pidController.modifyParameters('kp', kpData); + pidController.modifyParameters('ki', kiData); + + IPIDController.ControllerGains memory newControllerGains = pidController.controllerGains(); + console2.log(newControllerGains.kp); + console2.log(newControllerGains.ki); + assert(newControllerGains.kp == _NEW_PROPORTIONAL_GAIN); + assert(newControllerGains.ki == _NEW_INTEGRAL_GAIN); + } +} + +// BROADCAST +// source .env && forge script UpdateLiquidationEngineParams --skip-simulation --with-gas-price 2000000000 -vvvvv --rpc-url $ARB_MAINNET_RPC --broadcast --verify --etherscan-api-key $ARB_ETHERSCAN_API_KEY + +// SIMULATE +// source .env && forge script UpdateLiquidationEngineParams --with-gas-price 2000000000 -vvvvv --rpc-url $ARB_MAINNET_RPC + +contract UpdateLiquidationEngineParams is Base { + function run() public prankSwitch(_broadcast) { + bytes memory data = abi.encode(_NEW_GAS_LIMIT); + + liquidationEngine.modifyParameters('saviourGasLimit', data); + + ILiquidationEngine.LiquidationEngineParams memory newParams = liquidationEngine.params(); + console2.log(newParams.saviourGasLimit); + assert(newParams.saviourGasLimit == _NEW_GAS_LIMIT); + } +} + +// BROADCAST +// source .env && forge script AddNFVAuthorizationViaTimelock --skip-simulation --with-gas-price 2000000000 -vvvvv --rpc-url $ARB_MAINNET_RPC --broadcast --verify --etherscan-api-key $ARB_ETHERSCAN_API_KEY + +// SIMULATE +// source .env && forge script AddNFVAuthorizationViaTimelock --with-gas-price 2000000000 -vvvvv --rpc-url $ARB_MAINNET_RPC + +contract AddNFVAuthorizationViaTimelock is Base { + function run() public prankSwitch(_broadcast) { + address[] memory targets = new address[](1); + { + targets[0] = address(vault721); + } + uint256[] memory values = new uint256[](1); + { + values[0] = 0; + } + bytes[] memory calldatas = new bytes[](1); + { + calldatas[0] = abi.encodeWithSelector(Authorizable.addAuthorization.selector, _deployer); + } + + timelockController.schedule(targets[0], values[0], calldatas[0], bytes32(0), bytes32(0), 0); + timelockController.execute(targets[0], values[0], calldatas[0], bytes32(0), bytes32(0)); + + bool isDeployerAuthorized = vault721.authorizedAccounts(_deployer); + console2.log(isDeployerAuthorized); + assert(isDeployerAuthorized == true); + } +} + +// BROADCAST +// source .env && forge script UpdateNFVRenderer --skip-simulation --with-gas-price 2000000000 -vvvvv --rpc-url $ARB_MAINNET_RPC --broadcast --verify --etherscan-api-key $ARB_ETHERSCAN_API_KEY + +// SIMULATE +// source .env && forge script UpdateNFVRenderer --with-gas-price 2000000000 -vvvvv --rpc-url $ARB_MAINNET_RPC + +contract UpdateNFVRenderer is Base { + function run() public prankSwitch(_broadcast) { + bytes memory data = abi.encode(_NEW_NFV_RENDERER); + + vault721.modifyParameters('nftRenderer', data); + + vault721.removeAuthorization(MAINNET_CREATE2FACTORY); + + assert(address(vault721.nftRenderer()) == _NEW_NFV_RENDERER); + } +} + +// BROADCAST +// source .env && forge script UpdateLiquidationJobReward --skip-simulation --with-gas-price 2000000000 -vvvvv --rpc-url $ARB_MAINNET_RPC --broadcast --verify --etherscan-api-key $ARB_ETHERSCAN_API_KEY + +// SIMULATE +// source .env && forge script UpdateLiquidationJobReward --with-gas-price 2000000000 -vvvvv --rpc-url $ARB_MAINNET_RPC + +contract UpdateLiquidationJobReward is Base { + function run() public prankSwitch(_broadcast) { + uint256 newReward = 1e18; + bytes memory data = abi.encode(newReward); + + liquidationJob.modifyParameters('rewardAmount', data); + + assert(liquidationJob.rewardAmount() == newReward); + } +} + +// BROADCAST +// source .env && forge script UpdateTimelockMinDelay --skip-simulation --with-gas-price 2000000000 -vvvvv --rpc-url $ARB_MAINNET_RPC --broadcast --verify --etherscan-api-key $ARB_ETHERSCAN_API_KEY + +// SIMULATE +// source .env && forge script UpdateTimelockMinDelay --with-gas-price 2000000000 -vvvvv --rpc-url $ARB_MAINNET_RPC + +contract UpdateTimelockMinDelay is Base { + function run() public prankSwitch(_broadcast) { + uint256 _newDelay = 86_400; + + address[] memory targets = new address[](1); + { + targets[0] = address(timelockController); + } + uint256[] memory values = new uint256[](1); + { + values[0] = 0; + } + bytes[] memory calldatas = new bytes[](1); + { + calldatas[0] = abi.encodeWithSelector(TimelockController.updateDelay.selector, _newDelay); + } + + bytes32 salt = bytes32(abi.encodePacked('1 Day timelock delay')); + + timelockController.schedule(targets[0], values[0], calldatas[0], bytes32(0), salt, 0); + timelockController.execute(targets[0], values[0], calldatas[0], bytes32(0), salt); + + uint256 newMinDelay = timelockController.getMinDelay(); + console2.log(newMinDelay); + assert(newMinDelay == _newDelay); + } +} + +// BROADCAST +// source .env && forge script TimelockGrantRole --skip-simulation --with-gas-price 2000000000 -vvvvv --rpc-url $ARB_MAINNET_RPC --broadcast --verify --etherscan-api-key $ARB_ETHERSCAN_API_KEY + +// SIMULATE +// source .env && forge script TimelockGrantRole --with-gas-price 2000000000 -vvvvv --rpc-url $ARB_MAINNET_RPC + +contract TimelockGrantRole is Base { + function run() public { + vm.startPrank(0xf704735CE81165261156b41D33AB18a08803B86F); + + address _newGovernor = address(0x1234); + + address[] memory targets = new address[](1); + { + targets[0] = address(timelockController); + } + uint256[] memory values = new uint256[](1); + { + values[0] = 0; + } + bytes[] memory calldatas = new bytes[](1); + { + calldatas[0] = + abi.encodeWithSignature('grantRole(bytes32,address)', timelockController.PROPOSER_ROLE(), _newGovernor); + } + + timelockController.schedule(targets[0], values[0], calldatas[0], bytes32(0), bytes32(0), 86_400); + + vm.warp(block.timestamp + 86_401); + + timelockController.execute(targets[0], values[0], calldatas[0], bytes32(0), bytes32(0)); + + bool newGovernorHasRole = timelockController.hasRole(timelockController.PROPOSER_ROLE(), _newGovernor); + assert(newGovernorHasRole == true); + vm.stopPrank(); + } +} diff --git a/script/testdeployment/DeployNFTRenderer.sol b/script/testdeployment/DeployNFTRenderer.sol index 08f02125..5515fc75 100644 --- a/script/testdeployment/DeployNFTRenderer.sol +++ b/script/testdeployment/DeployNFTRenderer.sol @@ -7,12 +7,12 @@ import {SepoliaDeployment} from '@script/SepoliaDeployment.s.sol'; import {NFTRenderer} from '@contracts/proxies/NFTRenderer.sol'; // BROADCAST -// source .env && forge script DeployNFTRenderer --skip-simulation --with-gas-price 2000000000 -vvvvv --rpc-url $ARB_SEPOLIA_RPC --broadcast --verify --etherscan-api-key $ARB_ETHERSCAN_API_KEY +// source .env && forge script DeployNFTRendererSepolia --skip-simulation --with-gas-price 2000000000 -vvvvv --rpc-url $ARB_SEPOLIA_RPC --broadcast --verify --etherscan-api-key $ARB_ETHERSCAN_API_KEY // SIMULATE -// source .env && forge script DeployNFTRenderer --with-gas-price 2000000000 -vvvvv --rpc-url $ARB_SEPOLIA_RPC +// source .env && forge script DeployNFTRendererSepolia --with-gas-price 2000000000 -vvvvv --rpc-url $ARB_SEPOLIA_RPC -contract DeployNFTRenderer is SepoliaDeployment, Script { +contract DeployNFTRendererSepolia is SepoliaDeployment, Script { function run() public { vm.startBroadcast(vm.envUint('ARB_SEPOLIA_DEPLOYER_PK')); new NFTRenderer(address(vault721), address(oracleRelayer), address(taxCollector), address(collateralJoinFactory)); diff --git a/src/contracts/proxies/NFTRenderer.sol b/src/contracts/proxies/NFTRenderer.sol index 57bd5cc5..37cbe6f1 100644 --- a/src/contracts/proxies/NFTRenderer.sol +++ b/src/contracts/proxies/NFTRenderer.sol @@ -14,13 +14,14 @@ import {ITaxCollector} from '@interfaces/ITaxCollector.sol'; import {ICollateralJoinFactory} from '@interfaces/factories/ICollateralJoinFactory.sol'; import {ICollateralJoin} from '@interfaces/utils/ICollateralJoin.sol'; import {IERC20Metadata} from '@openzeppelin/token/ERC20/extensions/IERC20Metadata.sol'; +import {Authorizable} from '@contracts/utils/Authorizable.sol'; -contract NFTRenderer { +contract NFTRenderer is Authorizable { using Strings for uint256; using Math for uint256; using DateTime for uint256; - uint256 internal constant _RAY = 10 ** 27; + uint256 internal constant _RAY = 1e27; IVault721 public immutable vault721; @@ -31,11 +32,18 @@ contract NFTRenderer { ITaxCollector internal _taxCollector; ICollateralJoinFactory internal _collateralJoinFactory; + mapping(bytes32 cType => string stabilityFee) public stabilityFeesPerYear; + event ImplementationSet( address safeManager, address safeEngine, address oracleRelayer, address taxCollector, address collateralJoinFactory ); - constructor(address _vault721, address oracleRelayer, address taxCollector, address collateralJoinFactory) { + constructor( + address _vault721, + address oracleRelayer, + address taxCollector, + address collateralJoinFactory + ) Authorizable(msg.sender) { vault721 = IVault721(_vault721); vault721.initializeRenderer(); _safeManager = IODSafeManager(vault721.safeManager()); @@ -55,6 +63,7 @@ contract NFTRenderer { string debtSvg; string vaultId; string stabilityFee; + string stabilityFeePerYear; string symbol; string risk; string color; @@ -90,6 +99,13 @@ contract NFTRenderer { ); } + /** + * @dev update stabilityFeesPerYear mapping + */ + function updateStabilityFee(bytes32 _cType, string memory _stabilityFee) external isAuthorized { + stabilityFeesPerYear[_cType] = _stabilityFee; + } + /** * @dev render json object with NFT description and image * @notice svg needs to be broken into separate functions to reduce call stack for compilation @@ -108,7 +124,7 @@ contract NFTRenderer { string.concat( _renderVaultInfo(params.vaultId, params.color), _renderCollatAndDebt( - ratio, params.stabilityFee, params.debtSvg, params.collateralSvg, params.symbol, params.lastUpdate + ratio, params.stabilityFeePerYear, params.debtSvg, params.collateralSvg, params.symbol, params.lastUpdate ), _renderRisk(params.state, ratio, params.stroke, params.risk), _renderBackground(params.color) @@ -132,18 +148,17 @@ contract NFTRenderer { { IVault721.NFVState memory nfvState = vault721.getNfvState(_safeId); cType = nfvState.cType; + address safeHandler = nfvState.safeHandler; params.lastBlockNumber = nfvState.lastBlockNumber.toString(); params.lastBlockTimestamp = nfvState.lastBlockTimestamp.toString(); - uint256 collateral = nfvState.collateral; + (uint256 collateral, uint256 debt) = _renderValue(cType, safeHandler); params.collateralJson = collateral.toString(); params.collateralSvg = _formatNumberForSvg(collateral); - - uint256 debt = nfvState.debt; params.debtJson = debt.toString(); params.debtSvg = _formatNumberForSvg(debt); - params.tokenCollateral = _formatNumberForJson(_safeEngine.tokenCollateral(cType, nfvState.safeHandler)); + params.tokenCollateral = _formatNumberForJson(_safeEngine.tokenCollateral(cType, safeHandler)); IOracleRelayer.OracleRelayerCollateralParams memory oracleParams = _oracleRelayer.cParams(cType); IDelayedOracle oracle = oracleParams.oracle; @@ -172,11 +187,20 @@ contract NFTRenderer { params.state = state; } ITaxCollector.TaxCollectorCollateralData memory taxData = _taxCollector.cData(cType); - params.stabilityFee = (taxData.nextStabilityFee / _RAY).toString(); + params.stabilityFee = taxData.nextStabilityFee.toString(); + params.stabilityFeePerYear = stabilityFeesPerYear[cType]; return params; } + /** + * @dev generated debt & locked collateral + */ + function _renderValue(bytes32 _cType, address _safeHandler) internal view returns (uint256, uint256) { + ISAFEEngine.SAFE memory SafeEngineData = ISAFEEngine(_safeManager.safeEngine()).safes(_cType, _safeHandler); + return (SafeEngineData.lockedCollateral, SafeEngineData.generatedDebt); + } + /** * @dev json text */ @@ -246,7 +270,7 @@ contract NFTRenderer { color, ';}@keyframes progress {0% {stroke-dasharray: 0 1005;}} @keyframes liquidation {0% { opacity: 80%;} 50% { opacity: 20%;} 100 { opacity: 80%;}}VAULT ID', vaultId, - 'STABILITYFEE' + 'STABILITY FEE' ); } @@ -255,7 +279,7 @@ contract NFTRenderer { */ function _renderCollatAndDebt( uint256 ratio, - string memory stabilityFee, + string memory stabilityFeePerYear, string memory debt, string memory collateral, string memory symbol, @@ -264,10 +288,10 @@ contract NFTRenderer { string memory debtDetail; if (ratio != 0) { debtDetail = string.concat( - 'DEBT MINTED', + 'DEBT', debt, ' OD', - 'COLLATERAL DEPOSITED', + 'COLLATERAL', collateral, ' ', symbol, @@ -278,7 +302,7 @@ contract NFTRenderer { 'Zero BalanceUpdated '; } svg = string.concat( - stabilityFee, + stabilityFeePerYear, '%opendollar.com', debtDetail, lastUpdate diff --git a/src/contracts/proxies/ODSafeManager.sol b/src/contracts/proxies/ODSafeManager.sol index 1a06f76d..d72b38fa 100644 --- a/src/contracts/proxies/ODSafeManager.sol +++ b/src/contracts/proxies/ODSafeManager.sol @@ -291,7 +291,7 @@ contract ODSafeManager is IODSafeManager, Authorizable, Modifiable { } /** - * @notice internal check to only update nfvState if the vault vaule decreases. eg. debt increases or collateral decreases. + * @notice internal check to only update nfvState if the vault value decreases. eg. debt increases or collateral decreases. */ function _updateNfvState(uint256 _safe, int256 _deltaCollateral, int256 _deltaDebt) private { if (_deltaDebt > 0 || _deltaCollateral < 0) vault721.updateNfvState(_safe); diff --git a/src/contracts/proxies/actions/BasicActions.sol b/src/contracts/proxies/actions/BasicActions.sol index b6d00fda..8f688bab 100644 --- a/src/contracts/proxies/actions/BasicActions.sol +++ b/src/contracts/proxies/actions/BasicActions.sol @@ -99,8 +99,7 @@ contract BasicActions is CommonActions, IBasicActions { _modifySAFECollateralization(_manager, _safeId, 0, deltaDebt, false); // Moves the COIN amount to user's address - // deltaDebt should always be positive, but we use SafeCast as an extra guard - _collectAndExitCoins(_manager, _coinJoin, _safeId, deltaDebt.toUint256()); + _collectAndExitCoins(_manager, _coinJoin, _safeId, _deltaWad); } /** @@ -170,8 +169,7 @@ contract BasicActions is CommonActions, IBasicActions { _modifySAFECollateralization(_manager, _safeId, _collateralAmount.toInt(), deltaDebt, false); // Exits and transfers COIN amount to the user's address - // deltaDebt should always be positive, but we use SafeCast as an extra guard - _collectAndExitCoins(_manager, _coinJoin, _safeId, deltaDebt.toUint256()); + _collectAndExitCoins(_manager, _coinJoin, _safeId, _deltaWad); } /** diff --git a/tasks/governanceManager.sh b/tasks/governanceManager.sh index 838ddb23..06b51d98 100755 --- a/tasks/governanceManager.sh +++ b/tasks/governanceManager.sh @@ -22,13 +22,13 @@ function vote() { declare OUTPUT=($(node ./tasks/parseNetwork.js $1)) NETWORK=${OUTPUT[0]} CAST_PATH=${OUTPUT[1]} - CALLDATA=$(cast calldata "run(string)" $CAST_PATH) + CALLDATA=$(cast calldata "vote(string)" $CAST_PATH) getRpcAndPk $NETWORK echo "Simulating... " - simulate "GovernanceHelpers" $CALLDATA $ANVIL_RPC $PRIVATE_KEY + simulate "GovernanceHelpers" $CALLDATA $RPC_ENDPOINT $PRIVATE_KEY delimitier echo "VOTING" @@ -36,7 +36,7 @@ function vote() { if [[ $CONFIRMATION == "y" || $CONFIRMATION == "Y" ]]; then echo "Voting for proposal on $NETWORK..." - broadcast "GovernanceHelpers" $CALLDATA $ANVIL_RPC $PRIVATE_KEY + broadcast "GovernanceHelpers" $CALLDATA $RPC_ENDPOINT $PRIVATE_KEY fi } @@ -86,13 +86,13 @@ function delegate() { CALLDATA=$(cast calldata "delegateTokens(string)" $CAST_PATH) - simulate "GovernanceHelpers" $CALLDATA $ANVIL_RPC $PRIVATE_KEY + simulate "GovernanceHelpers" $CALLDATA $RPC_ENDPOINT $PRIVATE_KEY delimitier echo "DELEGATING" read -p "Please verify the data and confirm that you want to delegate your tokens (y/n): " CONFIRMATION if [[ $CONFIRMATION == "y" || $CONFIRMATION == "Y" ]]; then echo "Delegating your tokens..." - broadcast "GovernanceHelpers" $CALLDATA $ANVIL_RPC $PRIVATE_KEY + broadcast "GovernanceHelpers" $CALLDATA $RPC_ENDPOINT $PRIVATE_KEY fi } diff --git a/test/unit/LiquidationEngine.t.sol b/test/unit/LiquidationEngine.t.sol index ef6e20e0..72412567 100644 --- a/test/unit/LiquidationEngine.t.sol +++ b/test/unit/LiquidationEngine.t.sol @@ -19,6 +19,17 @@ import {StdStorage, stdStorage} from 'forge-std/StdStorage.sol'; import {Math, MAX_RAD, RAY, WAD} from '@libraries/Math.sol'; import {Assertions} from '@libraries/Assertions.sol'; +// Mock that will burn all gas +contract MockFatSaviour is ISAFESaviour { + event Log(string); + + function saveSAFE(address, bytes32, address) external returns (bool, uint256, uint256) { + emit Log('FatSaviour called'); + while (true) {} // this loop will consume all available gas + return (true, 0, 0); + } +} + abstract contract Base is ODTest { using stdStorage for StdStorage; @@ -44,7 +55,7 @@ abstract contract Base is ODTest { ILiquidationEngine.LiquidationEngineParams liquidationEngineParams = ILiquidationEngine.LiquidationEngineParams({ onAuctionSystemCoinLimit: type(uint256).max, - saviourGasLimit: 10_000_000 + saviourGasLimit: 3_000_000 }); function setUp() public virtual { @@ -743,6 +754,7 @@ contract Unit_LiquidationEngine_LiquidateSafe is Base { event UpdateCurrentOnAuctionSystemCoins(uint256 _currentOnAuctionSystemCoins); event SaveSAFE(bytes32 indexed _cType, address indexed _safe, uint256 _collateralAddedOrDebtRepaid); event FailedSAFESave(bytes _failReason); + event Log(string _msg); struct Liquidation { uint256 accumulatedRate; @@ -1352,6 +1364,19 @@ contract Unit_LiquidationEngine_LiquidateSafe is Base { liquidationEngine.liquidateSAFE(collateralType, safe); } + function test_Emit_Liquidate_withRougeSaviour(Liquidation memory _liquidation) + public + happyPathFullLiquidation(_liquidation) + { + MockFatSaviour _testSaveSaviour = new MockFatSaviour(); + _mockChosenSafeSaviour(collateralType, safe, address(_testSaveSaviour)); + _mockSafeSaviours(address(_testSaveSaviour), 1); + vm.prank(user); + vm.expectEmit(); + emit Log('FatSaviour called'); + liquidationEngine.liquidateSAFE(collateralType, safe); + } + function test_Emit_Liquidate_PartialLiquidation_LiquidationQuantity(Liquidation memory _liquidation) public happyPathPartialLiquidationLiquidationQuantity(_liquidation)