diff --git a/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694169616.json b/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694169616.json new file mode 100644 index 00000000..d170232f --- /dev/null +++ b/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694169616.json @@ -0,0 +1,33 @@ +{ + "transactions": [ + { + "hash": "0xd421f4b5694318e9af9b505a9fefa9d22ea3cf8124d9414a872906d53b6e34ed", + "transactionType": "CREATE2", + "contractName": "WeightedECDSAValidator", + "contractAddress": "0xF9B3Dfc8868E9Fa3FDe60F8Fd6e69eD822340afa", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x13abed", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006080806040523461001657610fe9908161001c8239f35b600080fdfe608060405260048036101561001357600080fd5b60003560e01c80630c959556146106fe5780633a871cdd146106b85780634f1169a81461065a578063666d05f4146105e85780638025aa49146103a55780639469d1481461032e578063b2e2c99b14610168578063e6f68b9f146101045763fb6f93f91461008057600080fd5b346100ff5760203660031901126100ff578035600052600260205260406000203360005260205260406000209081549060ff82169060038210156100ea5750906100d682600293159081156100df575b50610ca0565b60ff1916179055005b6001915014386100d0565b602190634e487b7160e01b6000525260246000fd5b600080fd5b346100ff5760203660031901126100ff576001600160a01b03610125610baa565b16600052600060205260806040600020546040519062ffffff80821683528160181c16602083015265ffffffffffff8160301c16604083015260601c6060820152f35b50346100ff5760403660031901126100ff578035610184610bc0565b336000526020906001825260406000209060018060a01b03169081600052825262ffffff918260406000205416156102f4578360005260028152604060002082600052815260406000209360ff85541660038110156102df576101e79015610ca0565b6000526003815260406000203360005281526040600020826000528152604060002080549560ff87169060028210156100ea5750906102296000939215610ce3565b600160ff198098161790553382526001815260408220838352815261027b61025d8560408520541686885460381c16610c89565b865462ffffff60381b191660389190911b62ffffff60381b16178655565b84549282525260406000209180835460181c16908260381c16101561029c57005b6102dd93600191161782556102be65ffffffffffff80925460301c1642610d1f565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b005b602187634e487b7160e01b6000525260246000fd5b846064916040519162461bcd60e51b8352820152601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152fd5b50346100ff5760403660031901126100ff57610348610bc0565b8135600052600260205260406000209060018060a01b03166000526020526040600020549060ff82166040519160038210156100ea575060609262ffffff91835265ffffffffffff8160081c16602084015260381c166040820152f35b50346100ff5760603660031901126100ff576103bf610bc0565b9060443567ffffffffffffffff81116100ff576103df9036908301610b7c565b92909180356000526002602052604060002060018060a01b03831660005260205260406000209360ff85541660038110156105d35761041e9015610ca0565b60005b604180830482101561057c578082028281048214831517156105525760018301808411610567578281029281840414901517156105525761046a6104789261047192868a610d2c565b3691610d44565b8435610d86565b833560009081526003602090815260408083206001600160a01b038581168552908352818420908916845290915290208054600260ff8216101561053d57906001826104cc60ff6105389796951615610ce3565b60ff191617905560018060a01b03166000526001602052604060002060018060a01b03861660005260205261053361051562ffffff8060406000205416908a5460381c16610c89565b885462ffffff60381b191660389190911b62ffffff60381b16178855565b610c3a565b610421565b602186634e487b7160e01b6000525260246000fd5b601185634e487b7160e01b6000525260246000fd5b601186634e487b7160e01b6000525260246000fd5b848780549160018060a01b03166000526000602052604060002062ffffff80825460181c16908460381c1610156105af57005b60016102dd9360ff19161782556102be65ffffffffffff80925460301c1642610d1f565b602183634e487b7160e01b6000525260246000fd5b50346100ff5760603660031901126100ff57610602610bc0565b6044356001600160a01b0381811692918390036100ff57833560005260036020526040600020911660005260205260406000209060005260205260ff604060002054166040519060028110156105d357602092508152f35b346100ff5760403660031901126100ff576040610675610baa565b61067d610bc0565b60018060a01b0380921660005260016020528183600020911660005260205281600020549082519162ffffff8116835260181c166020820152f35b506003196060368201126100ff5781359067ffffffffffffffff82116100ff576101609082360301126100ff576020916106f6916024359101610dfc565b604051908152f35b50346100ff57602090816003193601126100ff5767ffffffffffffffff9080358281116100ff576107329036908301610b7c565b810193906080818603126100ff5780358481116100ff57810185601f820112156100ff5780359061076a61076583610c12565b610bd6565b91848084838152019160051b830101918883116100ff578501905b828210610b5d57505050828201358581116100ff5782019580601f880112156100ff5786356107b661076582610c12565b9785808a848152019260051b8201019283116100ff5785809101915b838310610b4557505050506107e960408301610c2a565b936060809301359565ffffffffffff871687036100ff578251885103610b0f57336000526000855262ffffff958660406000205416610ad9573360005260008652610852336040600020906bffffffffffffffffffffffff82549181199060601b169116179055565b60005b8451811015610a91576001600160a01b03806108718388610c5f565b511615610a565788610883838d610c5f565b511615610a1d57806108958388610c5f565b51166000526001808952604060002033600052895289604060002054166109d957896108c1848e610c5f565b5116903360005260008a52604060002054891c906040519260408401848110898211176109c457916109bf96959391610985959360405283528c83019182528361090b878d610c5f565b51166000528c526040600020336000528c528c60406000209251168254916301000000600160b81b03905160181b169168ffffffffffffffffff60b81b16171790556109578389610c5f565b51163360005260008a526040600020906bffffffffffffffffffffffff82549181199060601b169116179055565b88610990828d610c5f565b511633600052600089526040600020908a6109af835492828416610c89565b169062ffffff1916179055610c3a565b610855565b60418a634e487b7160e01b6000525260246000fd5b60405162461bcd60e51b81528087018a9052601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b60405162461bcd60e51b8152808601899052601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b60405162461bcd60e51b815280860189905260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b5087600087338252526040600020916bffffffffffff00000000000065ffffff00000084549260181b169260301b16906bffffffffffffffffff000000191617179055600080f35b60405162461bcd60e51b8152808401879052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b60405162461bcd60e51b8152808301869052600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b8190610b5084610c2a565b81520191019085906107d2565b81356001600160a01b03811681036100ff578152908501908501610785565b9181601f840112156100ff5782359167ffffffffffffffff83116100ff57602083818601950101116100ff57565b600435906001600160a01b03821682036100ff57565b602435906001600160a01b03821682036100ff57565b6040519190601f01601f1916820167ffffffffffffffff811183821017610bfc57604052565b634e487b7160e01b600052604160045260246000fd5b67ffffffffffffffff8111610bfc5760051b60200190565b359062ffffff821682036100ff57565b6000198114610c495760010190565b634e487b7160e01b600052601160045260246000fd5b8051821015610c735760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b91909162ffffff80809416911601918211610c4957565b15610ca757565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b15610cea57565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610c4957565b909392938483116100ff5784116100ff578101920390565b92919267ffffffffffffffff8211610bfc57610d69601f8301601f1916602001610bd6565b93828552828201116100ff57816000926020928387013784010152565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d15610def57606052604052565b638baa579f90526004601cfd5b90806000526002602052604060002033600052602052604060002091600060205260406000209083549060ff82166003811015610fa85780610fc8575065ffffffffffff835460301c16610fbe5761014081013590601e19813603018212156100ff57019067ffffffffffffffff8235116100ff578135360360208301136100ff5760381c62ffffff1692600091905b60418235048310610ec35750505062ffffff905460181c161115600014610ebd57805460ff19166001179055600090565b50600190565b9091936041850285810460411486151715610c495760018601808711610c4957604181029080820460411490151715610c495761046a610f0c91610f1293873560208901610d2c565b83610d86565b826000526003602052604060002060018060a01b038216600052602052604060002033600052602052604060002091825491600260ff84161015610fa857610fa193600184610f6760ff610f9b971615610ce3565b60ff191617905560018060a01b0316600052600160205260406000203360005260205262ffffff6040600020541690610d1f565b94610c3a565b9190610e8c565b634e487b7160e01b600052602160045260246000fd5b5050505050600190565b92505092506001915014600014610ebd5760c81b6001600160d01b0319169056", + "nonce": "0x17e" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xd421f4b5694318e9af9b505a9fefa9d22ea3cf8124d9414a872906d53b6e34ed" + ], + "returns": {}, + "timestamp": 1694169616, + "chain": 80001, + "multi": false, + "commit": "704ba5b" +} \ No newline at end of file diff --git a/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694169660.json b/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694169660.json new file mode 100644 index 00000000..886de6eb --- /dev/null +++ b/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694169660.json @@ -0,0 +1,65 @@ +{ + "transactions": [ + { + "hash": "0xd421f4b5694318e9af9b505a9fefa9d22ea3cf8124d9414a872906d53b6e34ed", + "transactionType": "CREATE2", + "contractName": "WeightedECDSAValidator", + "contractAddress": "0xF9B3Dfc8868E9Fa3FDe60F8Fd6e69eD822340afa", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x13abed", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006080806040523461001657610fe9908161001c8239f35b600080fdfe608060405260048036101561001357600080fd5b60003560e01c80630c959556146106fe5780633a871cdd146106b85780634f1169a81461065a578063666d05f4146105e85780638025aa49146103a55780639469d1481461032e578063b2e2c99b14610168578063e6f68b9f146101045763fb6f93f91461008057600080fd5b346100ff5760203660031901126100ff578035600052600260205260406000203360005260205260406000209081549060ff82169060038210156100ea5750906100d682600293159081156100df575b50610ca0565b60ff1916179055005b6001915014386100d0565b602190634e487b7160e01b6000525260246000fd5b600080fd5b346100ff5760203660031901126100ff576001600160a01b03610125610baa565b16600052600060205260806040600020546040519062ffffff80821683528160181c16602083015265ffffffffffff8160301c16604083015260601c6060820152f35b50346100ff5760403660031901126100ff578035610184610bc0565b336000526020906001825260406000209060018060a01b03169081600052825262ffffff918260406000205416156102f4578360005260028152604060002082600052815260406000209360ff85541660038110156102df576101e79015610ca0565b6000526003815260406000203360005281526040600020826000528152604060002080549560ff87169060028210156100ea5750906102296000939215610ce3565b600160ff198098161790553382526001815260408220838352815261027b61025d8560408520541686885460381c16610c89565b865462ffffff60381b191660389190911b62ffffff60381b16178655565b84549282525260406000209180835460181c16908260381c16101561029c57005b6102dd93600191161782556102be65ffffffffffff80925460301c1642610d1f565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b005b602187634e487b7160e01b6000525260246000fd5b846064916040519162461bcd60e51b8352820152601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152fd5b50346100ff5760403660031901126100ff57610348610bc0565b8135600052600260205260406000209060018060a01b03166000526020526040600020549060ff82166040519160038210156100ea575060609262ffffff91835265ffffffffffff8160081c16602084015260381c166040820152f35b50346100ff5760603660031901126100ff576103bf610bc0565b9060443567ffffffffffffffff81116100ff576103df9036908301610b7c565b92909180356000526002602052604060002060018060a01b03831660005260205260406000209360ff85541660038110156105d35761041e9015610ca0565b60005b604180830482101561057c578082028281048214831517156105525760018301808411610567578281029281840414901517156105525761046a6104789261047192868a610d2c565b3691610d44565b8435610d86565b833560009081526003602090815260408083206001600160a01b038581168552908352818420908916845290915290208054600260ff8216101561053d57906001826104cc60ff6105389796951615610ce3565b60ff191617905560018060a01b03166000526001602052604060002060018060a01b03861660005260205261053361051562ffffff8060406000205416908a5460381c16610c89565b885462ffffff60381b191660389190911b62ffffff60381b16178855565b610c3a565b610421565b602186634e487b7160e01b6000525260246000fd5b601185634e487b7160e01b6000525260246000fd5b601186634e487b7160e01b6000525260246000fd5b848780549160018060a01b03166000526000602052604060002062ffffff80825460181c16908460381c1610156105af57005b60016102dd9360ff19161782556102be65ffffffffffff80925460301c1642610d1f565b602183634e487b7160e01b6000525260246000fd5b50346100ff5760603660031901126100ff57610602610bc0565b6044356001600160a01b0381811692918390036100ff57833560005260036020526040600020911660005260205260406000209060005260205260ff604060002054166040519060028110156105d357602092508152f35b346100ff5760403660031901126100ff576040610675610baa565b61067d610bc0565b60018060a01b0380921660005260016020528183600020911660005260205281600020549082519162ffffff8116835260181c166020820152f35b506003196060368201126100ff5781359067ffffffffffffffff82116100ff576101609082360301126100ff576020916106f6916024359101610dfc565b604051908152f35b50346100ff57602090816003193601126100ff5767ffffffffffffffff9080358281116100ff576107329036908301610b7c565b810193906080818603126100ff5780358481116100ff57810185601f820112156100ff5780359061076a61076583610c12565b610bd6565b91848084838152019160051b830101918883116100ff578501905b828210610b5d57505050828201358581116100ff5782019580601f880112156100ff5786356107b661076582610c12565b9785808a848152019260051b8201019283116100ff5785809101915b838310610b4557505050506107e960408301610c2a565b936060809301359565ffffffffffff871687036100ff578251885103610b0f57336000526000855262ffffff958660406000205416610ad9573360005260008652610852336040600020906bffffffffffffffffffffffff82549181199060601b169116179055565b60005b8451811015610a91576001600160a01b03806108718388610c5f565b511615610a565788610883838d610c5f565b511615610a1d57806108958388610c5f565b51166000526001808952604060002033600052895289604060002054166109d957896108c1848e610c5f565b5116903360005260008a52604060002054891c906040519260408401848110898211176109c457916109bf96959391610985959360405283528c83019182528361090b878d610c5f565b51166000528c526040600020336000528c528c60406000209251168254916301000000600160b81b03905160181b169168ffffffffffffffffff60b81b16171790556109578389610c5f565b51163360005260008a526040600020906bffffffffffffffffffffffff82549181199060601b169116179055565b88610990828d610c5f565b511633600052600089526040600020908a6109af835492828416610c89565b169062ffffff1916179055610c3a565b610855565b60418a634e487b7160e01b6000525260246000fd5b60405162461bcd60e51b81528087018a9052601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b60405162461bcd60e51b8152808601899052601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b60405162461bcd60e51b815280860189905260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b5087600087338252526040600020916bffffffffffff00000000000065ffffff00000084549260181b169260301b16906bffffffffffffffffff000000191617179055600080f35b60405162461bcd60e51b8152808401879052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b60405162461bcd60e51b8152808301869052600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b8190610b5084610c2a565b81520191019085906107d2565b81356001600160a01b03811681036100ff578152908501908501610785565b9181601f840112156100ff5782359167ffffffffffffffff83116100ff57602083818601950101116100ff57565b600435906001600160a01b03821682036100ff57565b602435906001600160a01b03821682036100ff57565b6040519190601f01601f1916820167ffffffffffffffff811183821017610bfc57604052565b634e487b7160e01b600052604160045260246000fd5b67ffffffffffffffff8111610bfc5760051b60200190565b359062ffffff821682036100ff57565b6000198114610c495760010190565b634e487b7160e01b600052601160045260246000fd5b8051821015610c735760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b91909162ffffff80809416911601918211610c4957565b15610ca757565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b15610cea57565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610c4957565b909392938483116100ff5784116100ff578101920390565b92919267ffffffffffffffff8211610bfc57610d69601f8301601f1916602001610bd6565b93828552828201116100ff57816000926020928387013784010152565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d15610def57606052604052565b638baa579f90526004601cfd5b90806000526002602052604060002033600052602052604060002091600060205260406000209083549060ff82166003811015610fa85780610fc8575065ffffffffffff835460301c16610fbe5761014081013590601e19813603018212156100ff57019067ffffffffffffffff8235116100ff578135360360208301136100ff5760381c62ffffff1692600091905b60418235048310610ec35750505062ffffff905460181c161115600014610ebd57805460ff19166001179055600090565b50600190565b9091936041850285810460411486151715610c495760018601808711610c4957604181029080820460411490151715610c495761046a610f0c91610f1293873560208901610d2c565b83610d86565b826000526003602052604060002060018060a01b038216600052602052604060002033600052602052604060002091825491600260ff84161015610fa857610fa193600184610f6760ff610f9b971615610ce3565b60ff191617905560018060a01b0316600052600160205260406000203360005260205262ffffff6040600020541690610d1f565b94610c3a565b9190610e8c565b634e487b7160e01b600052602160045260246000fd5b5050505050600190565b92505092506001915014600014610ebd5760c81b6001600160d01b0319169056", + "nonce": "0x17e" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xd421f4b5694318e9af9b505a9fefa9d22ea3cf8124d9414a872906d53b6e34ed", + "transactionIndex": "0x31", + "blockHash": "0xc28546c3b5b48362333cea1079ee49302a0bbc0f3e0066d91dd7a4600c834cff", + "blockNumber": "0x260ac02", + "from": "0xA02CDdFa44B8C01b4257F54ac1c43F75801E8175", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1002a0b", + "gasUsed": "0xe3dec", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x000000000000000000000000a02cddfa44b8c01b4257f54ac1c43f75801e8175", + "0x0000000000000000000000005082f249cdb2f2c1ee035e4f423c46ea2dab3ab1" + ], + "data": "0x0000000000000000000000000000000000000000000000000004f952d1690dc400000000000000000000000000000000000000000000000002013114541d750400000000000000000000000000000000000000000000011fb0c6b6269f6ade7a00000000000000000000000000000000000000000000000001fc37c182b4674000000000000000000000000000000000000000000000011fb0cbaf7970d3ec3e", + "blockHash": "0xc28546c3b5b48362333cea1079ee49302a0bbc0f3e0066d91dd7a4600c834cff", + "blockNumber": "0x260ac02", + "transactionHash": "0xd421f4b5694318e9af9b505a9fefa9d22ea3cf8124d9414a872906d53b6e34ed", + "transactionIndex": "0x31", + "logIndex": "0x8f7", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000020000000000000002000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000000000000000000000000000000000000000000020000000080000040000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000004000000000000000000001000008000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000100000", + "type": "0x0", + "effectiveGasPrice": "0x59682f14" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1694169660, + "chain": 80001, + "multi": false, + "commit": "704ba5b" +} \ No newline at end of file diff --git a/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694176464.json b/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694176464.json new file mode 100644 index 00000000..1a4689b4 --- /dev/null +++ b/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694176464.json @@ -0,0 +1,33 @@ +{ + "transactions": [ + { + "hash": "0xc2a8533f9d7a1744c6b39653ac54fddc88103d0092b7e442cb6555c0b1fb4ac4", + "transactionType": "CREATE2", + "contractName": "RecoveryAction", + "contractAddress": "0x2f65dB8039fe5CAEE0a8680D2879deB800F31Ae1", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x263b2", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006080806040523461001657610114908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c63ac39fd0f1461002a57600080fd5b34610110576040366003190112610110576004356001600160a01b0381169081900361010c578260243567ffffffffffffffff9283821161010c573660238301121561010c57816004013584811161010857366024828501011161010857813b156101085783604487838196946024839663064acaab60e11b855260206004860152828286015201848401378181018301849052601f01601f191681010301925af180156100fd576100da578280f35b81116100e95760405238808280f35b634e487b7160e01b82526041600452602482fd5b6040513d85823e3d90fd5b8380fd5b8280fd5b5080fd", + "nonce": "0x17f" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xc2a8533f9d7a1744c6b39653ac54fddc88103d0092b7e442cb6555c0b1fb4ac4" + ], + "returns": {}, + "timestamp": 1694176464, + "chain": 80001, + "multi": false, + "commit": "704ba5b" +} \ No newline at end of file diff --git a/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694176476.json b/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694176476.json new file mode 100644 index 00000000..de7f2f3d --- /dev/null +++ b/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694176476.json @@ -0,0 +1,65 @@ +{ + "transactions": [ + { + "hash": "0xc2a8533f9d7a1744c6b39653ac54fddc88103d0092b7e442cb6555c0b1fb4ac4", + "transactionType": "CREATE2", + "contractName": "RecoveryAction", + "contractAddress": "0x2f65dB8039fe5CAEE0a8680D2879deB800F31Ae1", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x263b2", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006080806040523461001657610114908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c63ac39fd0f1461002a57600080fd5b34610110576040366003190112610110576004356001600160a01b0381169081900361010c578260243567ffffffffffffffff9283821161010c573660238301121561010c57816004013584811161010857366024828501011161010857813b156101085783604487838196946024839663064acaab60e11b855260206004860152828286015201848401378181018301849052601f01601f191681010301925af180156100fd576100da578280f35b81116100e95760405238808280f35b634e487b7160e01b82526041600452602482fd5b6040513d85823e3d90fd5b8380fd5b8280fd5b5080fd", + "nonce": "0x17f" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xc2a8533f9d7a1744c6b39653ac54fddc88103d0092b7e442cb6555c0b1fb4ac4", + "transactionIndex": "0x1e", + "blockHash": "0x8b903b4850d93bba15a00f48098fa4faacfcd7c37866bbf2944da4f2d6bba246", + "blockNumber": "0x260b785", + "from": "0xA02CDdFa44B8C01b4257F54ac1c43F75801E8175", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x569fac", + "gasUsed": "0x1badc", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x000000000000000000000000a02cddfa44b8c01b4257f54ac1c43f75801e8175", + "0x000000000000000000000000f903ba9e006193c1527bfbe65fe2123704ea3f99" + ], + "data": "0x0000000000000000000000000000000000000000000000000000d150d85f98d000000000000000000000000000000000000000000000000001fc37c181c24a940000000000000000000000000000000000000000000010f167e5b435835d3dc400000000000000000000000000000000000000000000000001fb6670a962b1c40000000000000000000000000000000000000000000010f167e685865bbcd694", + "blockHash": "0x8b903b4850d93bba15a00f48098fa4faacfcd7c37866bbf2944da4f2d6bba246", + "blockNumber": "0x260b785", + "transactionHash": "0xc2a8533f9d7a1744c6b39653ac54fddc88103d0092b7e442cb6555c0b1fb4ac4", + "transactionIndex": "0x1e", + "logIndex": "0xc9", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000010000000000000000000000020000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000000000000000000000000000000000000000000020000000080000040000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000004000000000000000000001000008000000000000000000000000100000001000000000000000000000000000000000000000000000000000000000000000100000", + "type": "0x0", + "effectiveGasPrice": "0x78ff5781" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1694176476, + "chain": 80001, + "multi": false, + "commit": "704ba5b" +} \ No newline at end of file diff --git a/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694423209.json b/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694423209.json new file mode 100644 index 00000000..0baeb6d2 --- /dev/null +++ b/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694423209.json @@ -0,0 +1,33 @@ +{ + "transactions": [ + { + "hash": "0xe5ef47a29e9171f511c4fc94eea8fc728aae7181e8925a5afafae8cecc370b93", + "transactionType": "CREATE2", + "contractName": "WeightedECDSAValidator", + "contractAddress": "0xEA418351BeA324Ce834E8073B5E7B32F677850Fc", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x199139", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101203461011c57306080524660a0526040906001600160401b03908083018281118282101761010657835260168152602081017f5765696768746564454344534156616c696461746f72000000000000000000008152835190848201938285109085111761010657602060019260a09587528381520192603160f81b845251902091208160c0528060e0528351917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152838201524660608201523060808201522090610100918252516114e29182610122833960805182610faa015260a05182610fcd015260c0518261103f015260e0518261106501525181610f890152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6040608081526004908136101561001557600080fd5b600090813560e01c80630c9595561461081f5780633a871cdd146107d75780634f1169a81461077e578063666d05f4146106ff5780638025aa491461048b57806384b0196e146103b45780639469d14814610331578063b2e2c99b14610165578063e6f68b9f146101055763fb6f93f91461008f57600080fd5b34610101576020366003190112610101578235825260026020528082203383526020528120805460ff8116848110156100ee57906100d982600293159081156100e3575b50610e26565b60ff191617905580f35b6001915014866100d3565b634e487b7160e01b845260218552602484fd5b5080fd5b50346101015760203660031901126101015760809181906001600160a01b0361012c610cbc565b16815280602052205481519162ffffff80831684528260181c16602084015265ffffffffffff8260301c169083015260601c6060820152f35b5082903461032d578060031936011261032d57813590610183610cd2565b338552600160209081528286206001600160a01b039092168087529181528286205462ffffff9391908416156102f4578487526002815281872083885281528187209460ff865416878110156102e1576101dd9015610e26565b8752600381528187203388528152818720838852815281872080549660ff88169060028210156102ce57509061021589939215610e69565b600160ff1980991617905533825260018152828220848352815261026561024786858520541687895460381c16610e0f565b875462ffffff60381b191660389190911b62ffffff60381b16178755565b85549382525285209180835460181c16908260381c161015610285578480f35b6102c693600191161782556102a765ffffffffffff80925460301c1642610ea5565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b818080808480f35b634e487b7160e01b8a5260219052602489fd5b634e487b7160e01b895260218852602489fd5b8590606492519162461bcd60e51b8352820152601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152fd5b8280fd5b503461010157806003193601126101015761034a610cd2565b83358352600260209081528284206001600160a01b039092168452528082205481519260ff821690858210156103a1576060858562ffffff8686845265ffffffffffff8160081c16602085015260381c1690820152f35b634e487b7160e01b815260218652602490fd5b509034610488578060031936011261048857908051906103d382610d5a565b60168252602092752bb2b4b3b43a32b222a1a229a0ab30b634b230ba37b960511b8484015261044082519261040784610d5a565b600193848152603160f81b87820152610433825196600f60f81b885260e08989015260e0880190610ce8565b9186830390870152610ce8565b4660608501523060808501528160a085015283810360c0850152846060519182815201946080925b8281106104755785870386f35b8351875295810195928101928401610468565b80fd5b5034610101576060366003190112610101576104a5610cd2565b9060443567ffffffffffffffff81116106fb576104c59036908601610c89565b939085358083526002906020918083528585209360018060a01b038098169485875284528686209760ff91828a54168c8110156106e8576105069015610e26565b875b6041808d04821015610694576105598b8051898b8201927fbc3ccb89f157919ad65276b66b69d700cf23d61c6e84cd56ab1cadee2e2995e384528201528d815261055181610d28565b519020610f87565b818302918383048114841517156106805760019283850180861161066a57828102928184041490151715610655578f6105a893926105a29261059b9289610eb2565b3691610eca565b90610f11565b878b5260038952848c8c20911690818c5289528b8b208a8c5289528b8b2080548781168981101561063f5793809392916105e661063a979615610e69565b60ff19161790558b5288528a8a20898b5288526106356106178d8d8d62ffffff918291205416915460381c16610e0f565b8d5462ffffff60381b191660389190911b62ffffff60381b16178d55565b610dc0565b610508565b50508f8c6021602492634e487b7160e01b835252fd5b508f8c6011602492634e487b7160e01b835252fd5b50508f8c6011602492634e487b7160e01b835252fd5b8f8c6011602492634e487b7160e01b835252fd5b89898d8d838c835494825252832062ffffff80825460181c16908460381c1610156106bd578380f35b60016106e19360ff19161782556102a765ffffffffffff80925460301c1642610ea5565b8180808380f35b634e487b7160e01b895260218d52602489fd5b8380fd5b503461010157606036600319011261010157610719610cd2565b6044356001600160a01b03818116929183900361077a578535855260036020528385209116845260205281832090835260205260ff8183205416905191600282101561076757602083838152f35b634e487b7160e01b815260218452602490fd5b8480fd5b50903461048857816003193601126104885781610799610cbc565b916107a2610cd2565b60018060a01b0380941682526001602052838383209116825260205220549082519162ffffff8116835260181c166020820152f35b5090600319906060368301126104885783359167ffffffffffffffff83116101015761016090833603011261048857506020926108189160243591016110ce565b9051908152f35b509034610488576020806003193601126101015767ffffffffffffffff9284358481116106fb576108539036908701610c89565b8194910160808582031261010157843586811161032d5785019481601f8701121561032d5785359561088487610d98565b9661089186519889610d76565b808852868089019160051b83010191848311610c62578701905b828210610c6657505050848101358781116106fb5781019180601f840112156106fb5782356108d981610d98565b936108e687519586610d76565b818552878086019260051b820101928311610c625787809101915b838310610c4a5750505050610917848201610db0565b956060809201359765ffffffffffff8916890361077a578151845103610c155733855284875262ffffff97888787205416610be05733865285885261097833888820906bffffffffffffffffffffffff82549181199060601b169116179055565b855b8351811015610b9e576001600160a01b03806109968387610de5565b511615610b64578a6109a88389610de5565b511615610b2c57806109ba8387610de5565b511688526001808b52898920338a528b528b8a8a205416610ae9578b6109e0848a610de5565b511690338a52898c528a8a2054881c908b51928c840184811089821117610ad3578f908f8f8f929589610a2a8f9c610ace9d819d9b99610a989d9b87528b52868b01998a52610de5565b511684528252822033909252528d8d209251835492516001600160b81b031990931691161760189190911b6301000000600160b81b0316179055610a6e8388610de5565b5116338a52898c528a8a20906bffffffffffffffffffffffff82549181199060601b169116179055565b8a610aa38289610de5565b5116338952888b52898920908c610abe835492828416610e0f565b169062ffffff1916179055610dc0565b61097a565b50508f8b6041602492634e487b7160e01b835252fd5b895162461bcd60e51b8152808f018c9052601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b885162461bcd60e51b8152808e018b9052601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b885162461bcd60e51b8152808e018b905260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b33875286895287872080546bffffffffffffffffff000000191660308d901b6bffffffffffff0000000000001617601884901b65ffffff000000161790558680f35b865162461bcd60e51b8152808c01899052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b855162461bcd60e51b8152808b01889052600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b8190610c5584610db0565b8152019101908790610901565b8580fd5b81356001600160a01b0381168103610c855781529087019087016108ab565b8680fd5b9181601f84011215610cb75782359167ffffffffffffffff8311610cb75760208381860195010111610cb757565b600080fd5b600435906001600160a01b0382168203610cb757565b602435906001600160a01b0382168203610cb757565b919082519283825260005b848110610d14575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610cf3565b6060810190811067ffffffffffffffff821117610d4457604052565b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff821117610d4457604052565b90601f8019910116810190811067ffffffffffffffff821117610d4457604052565b67ffffffffffffffff8111610d445760051b60200190565b359062ffffff82168203610cb757565b6000198114610dcf5760010190565b634e487b7160e01b600052601160045260246000fd5b8051821015610df95760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b91909162ffffff80809416911601918211610dcf57565b15610e2d57565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b15610e7057565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610dcf57565b90939293848311610cb7578411610cb7578101920390565b92919267ffffffffffffffff8211610d445760405191610ef4601f8201601f191660200184610d76565b829481845281830111610cb7578281602093846000960137010152565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d15610f7a57606052604052565b638baa579f90526004601cfd5b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611014575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220610ff5565b903590601e1981360301821215610cb7570180359067ffffffffffffffff8211610cb757602001918136038313610cb757565b91906110e061059b606085018561109b565b6020815191012090816000526002602052604060002033600052602052604060002092600060205260406000209084549460ff861696600497888110156114cd5780611428575065ffffffffffff845460301c1661141b578061014061114792019061109b565b92909362ffffff604185049860381c16956000965b89600019810111611406576000198a018810156112d3576111b460405160208101907fbc3ccb89f157919ad65276b66b69d700cf23d61c6e84cd56ab1cadee2e2995e382528b60408201526040815261055181610d28565b886041810204604114891517156112be5760018901808a116112a957806041810204604114811517156112a957906105a261059b60416111fa940260418d028b8d610eb2565b896000526003602052604060002060018060a01b0382166000526020526040600020336000526020526040600020805460ff811660028110156112945761128757916112819391600161127b9460ff191617905560018060a01b0316600052600160205260406000203360005260205262ffffff6040600020541690610ea5565b97610dc0565b9661115c565b5050509661128190610dc0565b60218f634e487b7160e01b6000525260246000fd5b60118d634e487b7160e01b6000525260246000fd5b60118c634e487b7160e01b6000525260246000fd5b97959399949298509095506020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c8320916040198201908282116113f157826105a292611326959461059b93610eb2565b91600052600360205260406000209160018060a01b0316918260005260205260406000203360005260205260406000209081549060ff82169060028210156113dc57501561139c575b50505062ffffff905460181c1611156000146113965760ff19825416916003600093179055565b60019150565b9162ffffff93949160016113d39460ff19161790556000526001602052604060002033600052602052826040600020541690610ea5565b9190388061136f565b602190634e487b7160e01b6000525260246000fd5b601185634e487b7160e01b6000525260246000fd5b60118b634e487b7160e01b6000525260246000fd5b5050945050505050600190565b91509450600191959250959295146000146114c4579161148b603c61149d936105a29565ffffffffffff60d01b9060c81b16976020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052209161014081019061109b565b6001600160a01b039491369190610eca565b16600052600160205260406000203360005260205262ffffff604060002054161561139657565b50600193505050565b602189634e487b7160e01b6000525260246000fd", + "nonce": "0x180" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xe5ef47a29e9171f511c4fc94eea8fc728aae7181e8925a5afafae8cecc370b93" + ], + "returns": {}, + "timestamp": 1694423209, + "chain": 80001, + "multi": false, + "commit": "24e783c" +} \ No newline at end of file diff --git a/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694423222.json b/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694423222.json new file mode 100644 index 00000000..071dc02a --- /dev/null +++ b/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694423222.json @@ -0,0 +1,65 @@ +{ + "transactions": [ + { + "hash": "0xe5ef47a29e9171f511c4fc94eea8fc728aae7181e8925a5afafae8cecc370b93", + "transactionType": "CREATE2", + "contractName": "WeightedECDSAValidator", + "contractAddress": "0xEA418351BeA324Ce834E8073B5E7B32F677850Fc", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x199139", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101203461011c57306080524660a0526040906001600160401b03908083018281118282101761010657835260168152602081017f5765696768746564454344534156616c696461746f72000000000000000000008152835190848201938285109085111761010657602060019260a09587528381520192603160f81b845251902091208160c0528060e0528351917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152838201524660608201523060808201522090610100918252516114e29182610122833960805182610faa015260a05182610fcd015260c0518261103f015260e0518261106501525181610f890152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6040608081526004908136101561001557600080fd5b600090813560e01c80630c9595561461081f5780633a871cdd146107d75780634f1169a81461077e578063666d05f4146106ff5780638025aa491461048b57806384b0196e146103b45780639469d14814610331578063b2e2c99b14610165578063e6f68b9f146101055763fb6f93f91461008f57600080fd5b34610101576020366003190112610101578235825260026020528082203383526020528120805460ff8116848110156100ee57906100d982600293159081156100e3575b50610e26565b60ff191617905580f35b6001915014866100d3565b634e487b7160e01b845260218552602484fd5b5080fd5b50346101015760203660031901126101015760809181906001600160a01b0361012c610cbc565b16815280602052205481519162ffffff80831684528260181c16602084015265ffffffffffff8260301c169083015260601c6060820152f35b5082903461032d578060031936011261032d57813590610183610cd2565b338552600160209081528286206001600160a01b039092168087529181528286205462ffffff9391908416156102f4578487526002815281872083885281528187209460ff865416878110156102e1576101dd9015610e26565b8752600381528187203388528152818720838852815281872080549660ff88169060028210156102ce57509061021589939215610e69565b600160ff1980991617905533825260018152828220848352815261026561024786858520541687895460381c16610e0f565b875462ffffff60381b191660389190911b62ffffff60381b16178755565b85549382525285209180835460181c16908260381c161015610285578480f35b6102c693600191161782556102a765ffffffffffff80925460301c1642610ea5565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b818080808480f35b634e487b7160e01b8a5260219052602489fd5b634e487b7160e01b895260218852602489fd5b8590606492519162461bcd60e51b8352820152601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152fd5b8280fd5b503461010157806003193601126101015761034a610cd2565b83358352600260209081528284206001600160a01b039092168452528082205481519260ff821690858210156103a1576060858562ffffff8686845265ffffffffffff8160081c16602085015260381c1690820152f35b634e487b7160e01b815260218652602490fd5b509034610488578060031936011261048857908051906103d382610d5a565b60168252602092752bb2b4b3b43a32b222a1a229a0ab30b634b230ba37b960511b8484015261044082519261040784610d5a565b600193848152603160f81b87820152610433825196600f60f81b885260e08989015260e0880190610ce8565b9186830390870152610ce8565b4660608501523060808501528160a085015283810360c0850152846060519182815201946080925b8281106104755785870386f35b8351875295810195928101928401610468565b80fd5b5034610101576060366003190112610101576104a5610cd2565b9060443567ffffffffffffffff81116106fb576104c59036908601610c89565b939085358083526002906020918083528585209360018060a01b038098169485875284528686209760ff91828a54168c8110156106e8576105069015610e26565b875b6041808d04821015610694576105598b8051898b8201927fbc3ccb89f157919ad65276b66b69d700cf23d61c6e84cd56ab1cadee2e2995e384528201528d815261055181610d28565b519020610f87565b818302918383048114841517156106805760019283850180861161066a57828102928184041490151715610655578f6105a893926105a29261059b9289610eb2565b3691610eca565b90610f11565b878b5260038952848c8c20911690818c5289528b8b208a8c5289528b8b2080548781168981101561063f5793809392916105e661063a979615610e69565b60ff19161790558b5288528a8a20898b5288526106356106178d8d8d62ffffff918291205416915460381c16610e0f565b8d5462ffffff60381b191660389190911b62ffffff60381b16178d55565b610dc0565b610508565b50508f8c6021602492634e487b7160e01b835252fd5b508f8c6011602492634e487b7160e01b835252fd5b50508f8c6011602492634e487b7160e01b835252fd5b8f8c6011602492634e487b7160e01b835252fd5b89898d8d838c835494825252832062ffffff80825460181c16908460381c1610156106bd578380f35b60016106e19360ff19161782556102a765ffffffffffff80925460301c1642610ea5565b8180808380f35b634e487b7160e01b895260218d52602489fd5b8380fd5b503461010157606036600319011261010157610719610cd2565b6044356001600160a01b03818116929183900361077a578535855260036020528385209116845260205281832090835260205260ff8183205416905191600282101561076757602083838152f35b634e487b7160e01b815260218452602490fd5b8480fd5b50903461048857816003193601126104885781610799610cbc565b916107a2610cd2565b60018060a01b0380941682526001602052838383209116825260205220549082519162ffffff8116835260181c166020820152f35b5090600319906060368301126104885783359167ffffffffffffffff83116101015761016090833603011261048857506020926108189160243591016110ce565b9051908152f35b509034610488576020806003193601126101015767ffffffffffffffff9284358481116106fb576108539036908701610c89565b8194910160808582031261010157843586811161032d5785019481601f8701121561032d5785359561088487610d98565b9661089186519889610d76565b808852868089019160051b83010191848311610c62578701905b828210610c6657505050848101358781116106fb5781019180601f840112156106fb5782356108d981610d98565b936108e687519586610d76565b818552878086019260051b820101928311610c625787809101915b838310610c4a5750505050610917848201610db0565b956060809201359765ffffffffffff8916890361077a578151845103610c155733855284875262ffffff97888787205416610be05733865285885261097833888820906bffffffffffffffffffffffff82549181199060601b169116179055565b855b8351811015610b9e576001600160a01b03806109968387610de5565b511615610b64578a6109a88389610de5565b511615610b2c57806109ba8387610de5565b511688526001808b52898920338a528b528b8a8a205416610ae9578b6109e0848a610de5565b511690338a52898c528a8a2054881c908b51928c840184811089821117610ad3578f908f8f8f929589610a2a8f9c610ace9d819d9b99610a989d9b87528b52868b01998a52610de5565b511684528252822033909252528d8d209251835492516001600160b81b031990931691161760189190911b6301000000600160b81b0316179055610a6e8388610de5565b5116338a52898c528a8a20906bffffffffffffffffffffffff82549181199060601b169116179055565b8a610aa38289610de5565b5116338952888b52898920908c610abe835492828416610e0f565b169062ffffff1916179055610dc0565b61097a565b50508f8b6041602492634e487b7160e01b835252fd5b895162461bcd60e51b8152808f018c9052601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b885162461bcd60e51b8152808e018b9052601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b885162461bcd60e51b8152808e018b905260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b33875286895287872080546bffffffffffffffffff000000191660308d901b6bffffffffffff0000000000001617601884901b65ffffff000000161790558680f35b865162461bcd60e51b8152808c01899052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b855162461bcd60e51b8152808b01889052600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b8190610c5584610db0565b8152019101908790610901565b8580fd5b81356001600160a01b0381168103610c855781529087019087016108ab565b8680fd5b9181601f84011215610cb75782359167ffffffffffffffff8311610cb75760208381860195010111610cb757565b600080fd5b600435906001600160a01b0382168203610cb757565b602435906001600160a01b0382168203610cb757565b919082519283825260005b848110610d14575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610cf3565b6060810190811067ffffffffffffffff821117610d4457604052565b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff821117610d4457604052565b90601f8019910116810190811067ffffffffffffffff821117610d4457604052565b67ffffffffffffffff8111610d445760051b60200190565b359062ffffff82168203610cb757565b6000198114610dcf5760010190565b634e487b7160e01b600052601160045260246000fd5b8051821015610df95760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b91909162ffffff80809416911601918211610dcf57565b15610e2d57565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b15610e7057565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610dcf57565b90939293848311610cb7578411610cb7578101920390565b92919267ffffffffffffffff8211610d445760405191610ef4601f8201601f191660200184610d76565b829481845281830111610cb7578281602093846000960137010152565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d15610f7a57606052604052565b638baa579f90526004601cfd5b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611014575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220610ff5565b903590601e1981360301821215610cb7570180359067ffffffffffffffff8211610cb757602001918136038313610cb757565b91906110e061059b606085018561109b565b6020815191012090816000526002602052604060002033600052602052604060002092600060205260406000209084549460ff861696600497888110156114cd5780611428575065ffffffffffff845460301c1661141b578061014061114792019061109b565b92909362ffffff604185049860381c16956000965b89600019810111611406576000198a018810156112d3576111b460405160208101907fbc3ccb89f157919ad65276b66b69d700cf23d61c6e84cd56ab1cadee2e2995e382528b60408201526040815261055181610d28565b886041810204604114891517156112be5760018901808a116112a957806041810204604114811517156112a957906105a261059b60416111fa940260418d028b8d610eb2565b896000526003602052604060002060018060a01b0382166000526020526040600020336000526020526040600020805460ff811660028110156112945761128757916112819391600161127b9460ff191617905560018060a01b0316600052600160205260406000203360005260205262ffffff6040600020541690610ea5565b97610dc0565b9661115c565b5050509661128190610dc0565b60218f634e487b7160e01b6000525260246000fd5b60118d634e487b7160e01b6000525260246000fd5b60118c634e487b7160e01b6000525260246000fd5b97959399949298509095506020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c8320916040198201908282116113f157826105a292611326959461059b93610eb2565b91600052600360205260406000209160018060a01b0316918260005260205260406000203360005260205260406000209081549060ff82169060028210156113dc57501561139c575b50505062ffffff905460181c1611156000146113965760ff19825416916003600093179055565b60019150565b9162ffffff93949160016113d39460ff19161790556000526001602052604060002033600052602052826040600020541690610ea5565b9190388061136f565b602190634e487b7160e01b6000525260246000fd5b601185634e487b7160e01b6000525260246000fd5b60118b634e487b7160e01b6000525260246000fd5b5050945050505050600190565b91509450600191959250959295146000146114c4579161148b603c61149d936105a29565ffffffffffff60d01b9060c81b16976020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052209161014081019061109b565b6001600160a01b039491369190610eca565b16600052600160205260406000203360005260205262ffffff604060002054161561139657565b50600193505050565b602189634e487b7160e01b6000525260246000fd", + "nonce": "0x180" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xe5ef47a29e9171f511c4fc94eea8fc728aae7181e8925a5afafae8cecc370b93", + "transactionIndex": "0xb", + "blockHash": "0x1e6b169984798260c336f21a325d757f390c21505518c2e89d7a4c1767840af7", + "blockNumber": "0x2625030", + "from": "0xA02CDdFa44B8C01b4257F54ac1c43F75801E8175", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0xff019c", + "gasUsed": "0x1282a0", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x000000000000000000000000a02cddfa44b8c01b4257f54ac1c43f75801e8175", + "0x000000000000000000000000f903ba9e006193c1527bfbe65fe2123704ea3f99" + ], + "data": "0x000000000000000000000000000000000000000000000000000676f21720654000000000000000000000000000000000000000000000000001fb6670a93e5db8000000000000000000000000000000000000000000001110c5dfc8212d92fd1600000000000000000000000000000000000000000000000001f4ef7e921df878000000000000000000000000000000000000000000001110c5e63f1344b36256", + "blockHash": "0x1e6b169984798260c336f21a325d757f390c21505518c2e89d7a4c1767840af7", + "blockNumber": "0x2625030", + "transactionHash": "0xe5ef47a29e9171f511c4fc94eea8fc728aae7181e8925a5afafae8cecc370b93", + "transactionIndex": "0xb", + "logIndex": "0x5c", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000010000000000000000000000020000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000000000000000000000000000000000000000000020000000080000040000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000004000000000000000000001000008000000000000000000000000100000001000000000000000000000000000000000000000000000000000000000000000100000", + "type": "0x0", + "effectiveGasPrice": "0x59682f55" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1694423222, + "chain": 80001, + "multi": false, + "commit": "24e783c" +} \ No newline at end of file diff --git a/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694429050.json b/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694429050.json new file mode 100644 index 00000000..56a66bbf --- /dev/null +++ b/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694429050.json @@ -0,0 +1,33 @@ +{ + "transactions": [ + { + "hash": "0x63ca02ed7576b54bc55448b48a4148911d023c8a69ba70b32dbbd67060e4c16c", + "transactionType": "CREATE2", + "contractName": "WeightedECDSAValidator", + "contractAddress": "0xA197430D966045eD332D9fD4EADE86F5e0846c58", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1b6180", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101203461011c57306080524660a0526040906001600160401b03908083018281118282101761010657835260168152602081017f5765696768746564454344534156616c696461746f72000000000000000000008152835190848201938285109085111761010657602060019260a09587528381520192603160f81b845251902091208160c0528060e0528351917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152838201524660608201523060808201522090610100918252516115229182610122833960805182610faa015260a05182610fcd015260c0518261103f015260e0518261106501525181610f890152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6040608081526004908136101561001557600080fd5b600090813560e01c80630c9595561461081f5780633a871cdd146107d75780634f1169a81461077e578063666d05f4146106ff5780638025aa491461048b57806384b0196e146103b45780639469d14814610331578063b2e2c99b14610165578063e6f68b9f146101055763fb6f93f91461008f57600080fd5b34610101576020366003190112610101578235825260026020528082203383526020528120805460ff8116848110156100ee57906100d982600293159081156100e3575b50610e26565b60ff191617905580f35b6001915014866100d3565b634e487b7160e01b845260218552602484fd5b5080fd5b50346101015760203660031901126101015760809181906001600160a01b0361012c610cbc565b16815280602052205481519162ffffff80831684528260181c16602084015265ffffffffffff8260301c169083015260601c6060820152f35b5082903461032d578060031936011261032d57813590610183610cd2565b338552600160209081528286206001600160a01b039092168087529181528286205462ffffff9391908416156102f4578487526002815281872083885281528187209460ff865416878110156102e1576101dd9015610e26565b8752600381528187203388528152818720838852815281872080549660ff88169060028210156102ce57509061021589939215610e69565b600160ff1980991617905533825260018152828220848352815261026561024786858520541687895460381c16610e0f565b875462ffffff60381b191660389190911b62ffffff60381b16178755565b85549382525285209180835460181c16908260381c161015610285578480f35b6102c693600191161782556102a765ffffffffffff80925460301c1642610ea5565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b818080808480f35b634e487b7160e01b8a5260219052602489fd5b634e487b7160e01b895260218852602489fd5b8590606492519162461bcd60e51b8352820152601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152fd5b8280fd5b503461010157806003193601126101015761034a610cd2565b83358352600260209081528284206001600160a01b039092168452528082205481519260ff821690858210156103a1576060858562ffffff8686845265ffffffffffff8160081c16602085015260381c1690820152f35b634e487b7160e01b815260218652602490fd5b509034610488578060031936011261048857908051906103d382610d5a565b60168252602092752bb2b4b3b43a32b222a1a229a0ab30b634b230ba37b960511b8484015261044082519261040784610d5a565b600193848152603160f81b87820152610433825196600f60f81b885260e08989015260e0880190610ce8565b9186830390870152610ce8565b4660608501523060808501528160a085015283810360c0850152846060519182815201946080925b8281106104755785870386f35b8351875295810195928101928401610468565b80fd5b5034610101576060366003190112610101576104a5610cd2565b9060443567ffffffffffffffff81116106fb576104c59036908601610c89565b939085358083526002906020918083528585209360018060a01b038098169485875284528686209760ff91828a54168c8110156106e8576105069015610e26565b875b6041808d04821015610694576105598b8051898b8201927f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd84528201528d815261055181610d28565b519020610f87565b818302918383048114841517156106805760019283850180861161066a57828102928184041490151715610655578f6105a893926105a29261059b9289610eb2565b3691610eca565b90610f11565b878b5260038952848c8c20911690818c5289528b8b208a8c5289528b8b2080548781168981101561063f5793809392916105e661063a979615610e69565b60ff19161790558b5288528a8a20898b5288526106356106178d8d8d62ffffff918291205416915460381c16610e0f565b8d5462ffffff60381b191660389190911b62ffffff60381b16178d55565b610dc0565b610508565b50508f8c6021602492634e487b7160e01b835252fd5b508f8c6011602492634e487b7160e01b835252fd5b50508f8c6011602492634e487b7160e01b835252fd5b8f8c6011602492634e487b7160e01b835252fd5b89898d8d838c835494825252832062ffffff80825460181c16908460381c1610156106bd578380f35b60016106e19360ff19161782556102a765ffffffffffff80925460301c1642610ea5565b8180808380f35b634e487b7160e01b895260218d52602489fd5b8380fd5b503461010157606036600319011261010157610719610cd2565b6044356001600160a01b03818116929183900361077a578535855260036020528385209116845260205281832090835260205260ff8183205416905191600282101561076757602083838152f35b634e487b7160e01b815260218452602490fd5b8480fd5b50903461048857816003193601126104885781610799610cbc565b916107a2610cd2565b60018060a01b0380941682526001602052838383209116825260205220549082519162ffffff8116835260181c166020820152f35b5090600319906060368301126104885783359167ffffffffffffffff83116101015761016090833603011261048857506020926108189160243591016110ce565b9051908152f35b509034610488576020806003193601126101015767ffffffffffffffff9284358481116106fb576108539036908701610c89565b8194910160808582031261010157843586811161032d5785019481601f8701121561032d5785359561088487610d98565b9661089186519889610d76565b808852868089019160051b83010191848311610c62578701905b828210610c6657505050848101358781116106fb5781019180601f840112156106fb5782356108d981610d98565b936108e687519586610d76565b818552878086019260051b820101928311610c625787809101915b838310610c4a5750505050610917848201610db0565b956060809201359765ffffffffffff8916890361077a578151845103610c155733855284875262ffffff97888787205416610be05733865285885261097833888820906bffffffffffffffffffffffff82549181199060601b169116179055565b855b8351811015610b9e576001600160a01b03806109968387610de5565b511615610b64578a6109a88389610de5565b511615610b2c57806109ba8387610de5565b511688526001808b52898920338a528b528b8a8a205416610ae9578b6109e0848a610de5565b511690338a52898c528a8a2054881c908b51928c840184811089821117610ad3578f908f8f8f929589610a2a8f9c610ace9d819d9b99610a989d9b87528b52868b01998a52610de5565b511684528252822033909252528d8d209251835492516001600160b81b031990931691161760189190911b6301000000600160b81b0316179055610a6e8388610de5565b5116338a52898c528a8a20906bffffffffffffffffffffffff82549181199060601b169116179055565b8a610aa38289610de5565b5116338952888b52898920908c610abe835492828416610e0f565b169062ffffff1916179055610dc0565b61097a565b50508f8b6041602492634e487b7160e01b835252fd5b895162461bcd60e51b8152808f018c9052601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b885162461bcd60e51b8152808e018b9052601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b885162461bcd60e51b8152808e018b905260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b33875286895287872080546bffffffffffffffffff000000191660308d901b6bffffffffffff0000000000001617601884901b65ffffff000000161790558680f35b865162461bcd60e51b8152808c01899052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b855162461bcd60e51b8152808b01889052600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b8190610c5584610db0565b8152019101908790610901565b8580fd5b81356001600160a01b0381168103610c855781529087019087016108ab565b8680fd5b9181601f84011215610cb75782359167ffffffffffffffff8311610cb75760208381860195010111610cb757565b600080fd5b600435906001600160a01b0382168203610cb757565b602435906001600160a01b0382168203610cb757565b919082519283825260005b848110610d14575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610cf3565b6060810190811067ffffffffffffffff821117610d4457604052565b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff821117610d4457604052565b90601f8019910116810190811067ffffffffffffffff821117610d4457604052565b67ffffffffffffffff8111610d445760051b60200190565b359062ffffff82168203610cb757565b6000198114610dcf5760010190565b634e487b7160e01b600052601160045260246000fd5b8051821015610df95760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b91909162ffffff80809416911601918211610dcf57565b15610e2d57565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b15610e7057565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610dcf57565b90939293848311610cb7578411610cb7578101920390565b92919267ffffffffffffffff8211610d445760405191610ef4601f8201601f191660200184610d76565b829481845281830111610cb7578281602093846000960137010152565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d15610f7a57606052604052565b638baa579f90526004601cfd5b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611014575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220610ff5565b903590601e1981360301821215610cb7570180359067ffffffffffffffff8211610cb757602001918136038313610cb757565b91906110dd606084018461109b565b611124608060405183819460208301966040885281606085015284840137600083828401015260208901356040830152601f80199101168101036060810184520182610d76565b51902090816000526002602052604060002033600052602052604060002092600060205260406000209084549460ff8616966004978881101561150d5780611468575065ffffffffffff845460301c1661145b578061014061118792019061109b565b92909362ffffff604185049860381c16956000965b89600019810111611446576000198a01881015611313576111f460405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd82528b60408201526040815261055181610d28565b886041810204604114891517156112fe5760018901808a116112e957806041810204604114811517156112e957906105a261059b604161123a940260418d028b8d610eb2565b896000526003602052604060002060018060a01b0382166000526020526040600020336000526020526040600020805460ff811660028110156112d4576112c757916112c1939160016112bb9460ff191617905560018060a01b0316600052600160205260406000203360005260205262ffffff6040600020541690610ea5565b97610dc0565b9661119c565b505050966112c190610dc0565b60218f634e487b7160e01b6000525260246000fd5b60118d634e487b7160e01b6000525260246000fd5b60118c634e487b7160e01b6000525260246000fd5b97959399949298509095506020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c83209160401982019082821161143157826105a292611366959461059b93610eb2565b91600052600360205260406000209160018060a01b0316918260005260205260406000203360005260205260406000209081549060ff821690600282101561141c5750156113dc575b50505062ffffff905460181c1611156000146113d65760ff19825416916003600093179055565b60019150565b9162ffffff93949160016114139460ff19161790556000526001602052604060002033600052602052826040600020541690610ea5565b919038806113af565b602190634e487b7160e01b6000525260246000fd5b601185634e487b7160e01b6000525260246000fd5b60118b634e487b7160e01b6000525260246000fd5b5050945050505050600190565b915094506001919592509592951460001461150457916114cb603c6114dd936105a29565ffffffffffff60d01b9060c81b16976020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052209161014081019061109b565b6001600160a01b039491369190610eca565b16600052600160205260406000203360005260205262ffffff60406000205416156113d657565b50600193505050565b602189634e487b7160e01b6000525260246000fd", + "nonce": "0x181" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x63ca02ed7576b54bc55448b48a4148911d023c8a69ba70b32dbbd67060e4c16c" + ], + "returns": {}, + "timestamp": 1694429050, + "chain": 80001, + "multi": false, + "commit": "52b9907" +} \ No newline at end of file diff --git a/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694429057.json b/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694429057.json new file mode 100644 index 00000000..697e2903 --- /dev/null +++ b/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694429057.json @@ -0,0 +1,65 @@ +{ + "transactions": [ + { + "hash": "0x63ca02ed7576b54bc55448b48a4148911d023c8a69ba70b32dbbd67060e4c16c", + "transactionType": "CREATE2", + "contractName": "WeightedECDSAValidator", + "contractAddress": "0xA197430D966045eD332D9fD4EADE86F5e0846c58", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1b6180", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101203461011c57306080524660a0526040906001600160401b03908083018281118282101761010657835260168152602081017f5765696768746564454344534156616c696461746f72000000000000000000008152835190848201938285109085111761010657602060019260a09587528381520192603160f81b845251902091208160c0528060e0528351917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152838201524660608201523060808201522090610100918252516115229182610122833960805182610faa015260a05182610fcd015260c0518261103f015260e0518261106501525181610f890152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6040608081526004908136101561001557600080fd5b600090813560e01c80630c9595561461081f5780633a871cdd146107d75780634f1169a81461077e578063666d05f4146106ff5780638025aa491461048b57806384b0196e146103b45780639469d14814610331578063b2e2c99b14610165578063e6f68b9f146101055763fb6f93f91461008f57600080fd5b34610101576020366003190112610101578235825260026020528082203383526020528120805460ff8116848110156100ee57906100d982600293159081156100e3575b50610e26565b60ff191617905580f35b6001915014866100d3565b634e487b7160e01b845260218552602484fd5b5080fd5b50346101015760203660031901126101015760809181906001600160a01b0361012c610cbc565b16815280602052205481519162ffffff80831684528260181c16602084015265ffffffffffff8260301c169083015260601c6060820152f35b5082903461032d578060031936011261032d57813590610183610cd2565b338552600160209081528286206001600160a01b039092168087529181528286205462ffffff9391908416156102f4578487526002815281872083885281528187209460ff865416878110156102e1576101dd9015610e26565b8752600381528187203388528152818720838852815281872080549660ff88169060028210156102ce57509061021589939215610e69565b600160ff1980991617905533825260018152828220848352815261026561024786858520541687895460381c16610e0f565b875462ffffff60381b191660389190911b62ffffff60381b16178755565b85549382525285209180835460181c16908260381c161015610285578480f35b6102c693600191161782556102a765ffffffffffff80925460301c1642610ea5565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b818080808480f35b634e487b7160e01b8a5260219052602489fd5b634e487b7160e01b895260218852602489fd5b8590606492519162461bcd60e51b8352820152601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152fd5b8280fd5b503461010157806003193601126101015761034a610cd2565b83358352600260209081528284206001600160a01b039092168452528082205481519260ff821690858210156103a1576060858562ffffff8686845265ffffffffffff8160081c16602085015260381c1690820152f35b634e487b7160e01b815260218652602490fd5b509034610488578060031936011261048857908051906103d382610d5a565b60168252602092752bb2b4b3b43a32b222a1a229a0ab30b634b230ba37b960511b8484015261044082519261040784610d5a565b600193848152603160f81b87820152610433825196600f60f81b885260e08989015260e0880190610ce8565b9186830390870152610ce8565b4660608501523060808501528160a085015283810360c0850152846060519182815201946080925b8281106104755785870386f35b8351875295810195928101928401610468565b80fd5b5034610101576060366003190112610101576104a5610cd2565b9060443567ffffffffffffffff81116106fb576104c59036908601610c89565b939085358083526002906020918083528585209360018060a01b038098169485875284528686209760ff91828a54168c8110156106e8576105069015610e26565b875b6041808d04821015610694576105598b8051898b8201927f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd84528201528d815261055181610d28565b519020610f87565b818302918383048114841517156106805760019283850180861161066a57828102928184041490151715610655578f6105a893926105a29261059b9289610eb2565b3691610eca565b90610f11565b878b5260038952848c8c20911690818c5289528b8b208a8c5289528b8b2080548781168981101561063f5793809392916105e661063a979615610e69565b60ff19161790558b5288528a8a20898b5288526106356106178d8d8d62ffffff918291205416915460381c16610e0f565b8d5462ffffff60381b191660389190911b62ffffff60381b16178d55565b610dc0565b610508565b50508f8c6021602492634e487b7160e01b835252fd5b508f8c6011602492634e487b7160e01b835252fd5b50508f8c6011602492634e487b7160e01b835252fd5b8f8c6011602492634e487b7160e01b835252fd5b89898d8d838c835494825252832062ffffff80825460181c16908460381c1610156106bd578380f35b60016106e19360ff19161782556102a765ffffffffffff80925460301c1642610ea5565b8180808380f35b634e487b7160e01b895260218d52602489fd5b8380fd5b503461010157606036600319011261010157610719610cd2565b6044356001600160a01b03818116929183900361077a578535855260036020528385209116845260205281832090835260205260ff8183205416905191600282101561076757602083838152f35b634e487b7160e01b815260218452602490fd5b8480fd5b50903461048857816003193601126104885781610799610cbc565b916107a2610cd2565b60018060a01b0380941682526001602052838383209116825260205220549082519162ffffff8116835260181c166020820152f35b5090600319906060368301126104885783359167ffffffffffffffff83116101015761016090833603011261048857506020926108189160243591016110ce565b9051908152f35b509034610488576020806003193601126101015767ffffffffffffffff9284358481116106fb576108539036908701610c89565b8194910160808582031261010157843586811161032d5785019481601f8701121561032d5785359561088487610d98565b9661089186519889610d76565b808852868089019160051b83010191848311610c62578701905b828210610c6657505050848101358781116106fb5781019180601f840112156106fb5782356108d981610d98565b936108e687519586610d76565b818552878086019260051b820101928311610c625787809101915b838310610c4a5750505050610917848201610db0565b956060809201359765ffffffffffff8916890361077a578151845103610c155733855284875262ffffff97888787205416610be05733865285885261097833888820906bffffffffffffffffffffffff82549181199060601b169116179055565b855b8351811015610b9e576001600160a01b03806109968387610de5565b511615610b64578a6109a88389610de5565b511615610b2c57806109ba8387610de5565b511688526001808b52898920338a528b528b8a8a205416610ae9578b6109e0848a610de5565b511690338a52898c528a8a2054881c908b51928c840184811089821117610ad3578f908f8f8f929589610a2a8f9c610ace9d819d9b99610a989d9b87528b52868b01998a52610de5565b511684528252822033909252528d8d209251835492516001600160b81b031990931691161760189190911b6301000000600160b81b0316179055610a6e8388610de5565b5116338a52898c528a8a20906bffffffffffffffffffffffff82549181199060601b169116179055565b8a610aa38289610de5565b5116338952888b52898920908c610abe835492828416610e0f565b169062ffffff1916179055610dc0565b61097a565b50508f8b6041602492634e487b7160e01b835252fd5b895162461bcd60e51b8152808f018c9052601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b885162461bcd60e51b8152808e018b9052601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b885162461bcd60e51b8152808e018b905260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b33875286895287872080546bffffffffffffffffff000000191660308d901b6bffffffffffff0000000000001617601884901b65ffffff000000161790558680f35b865162461bcd60e51b8152808c01899052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b855162461bcd60e51b8152808b01889052600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b8190610c5584610db0565b8152019101908790610901565b8580fd5b81356001600160a01b0381168103610c855781529087019087016108ab565b8680fd5b9181601f84011215610cb75782359167ffffffffffffffff8311610cb75760208381860195010111610cb757565b600080fd5b600435906001600160a01b0382168203610cb757565b602435906001600160a01b0382168203610cb757565b919082519283825260005b848110610d14575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610cf3565b6060810190811067ffffffffffffffff821117610d4457604052565b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff821117610d4457604052565b90601f8019910116810190811067ffffffffffffffff821117610d4457604052565b67ffffffffffffffff8111610d445760051b60200190565b359062ffffff82168203610cb757565b6000198114610dcf5760010190565b634e487b7160e01b600052601160045260246000fd5b8051821015610df95760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b91909162ffffff80809416911601918211610dcf57565b15610e2d57565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b15610e7057565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610dcf57565b90939293848311610cb7578411610cb7578101920390565b92919267ffffffffffffffff8211610d445760405191610ef4601f8201601f191660200184610d76565b829481845281830111610cb7578281602093846000960137010152565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d15610f7a57606052604052565b638baa579f90526004601cfd5b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611014575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220610ff5565b903590601e1981360301821215610cb7570180359067ffffffffffffffff8211610cb757602001918136038313610cb757565b91906110dd606084018461109b565b611124608060405183819460208301966040885281606085015284840137600083828401015260208901356040830152601f80199101168101036060810184520182610d76565b51902090816000526002602052604060002033600052602052604060002092600060205260406000209084549460ff8616966004978881101561150d5780611468575065ffffffffffff845460301c1661145b578061014061118792019061109b565b92909362ffffff604185049860381c16956000965b89600019810111611446576000198a01881015611313576111f460405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd82528b60408201526040815261055181610d28565b886041810204604114891517156112fe5760018901808a116112e957806041810204604114811517156112e957906105a261059b604161123a940260418d028b8d610eb2565b896000526003602052604060002060018060a01b0382166000526020526040600020336000526020526040600020805460ff811660028110156112d4576112c757916112c1939160016112bb9460ff191617905560018060a01b0316600052600160205260406000203360005260205262ffffff6040600020541690610ea5565b97610dc0565b9661119c565b505050966112c190610dc0565b60218f634e487b7160e01b6000525260246000fd5b60118d634e487b7160e01b6000525260246000fd5b60118c634e487b7160e01b6000525260246000fd5b97959399949298509095506020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c83209160401982019082821161143157826105a292611366959461059b93610eb2565b91600052600360205260406000209160018060a01b0316918260005260205260406000203360005260205260406000209081549060ff821690600282101561141c5750156113dc575b50505062ffffff905460181c1611156000146113d65760ff19825416916003600093179055565b60019150565b9162ffffff93949160016114139460ff19161790556000526001602052604060002033600052602052826040600020541690610ea5565b919038806113af565b602190634e487b7160e01b6000525260246000fd5b601185634e487b7160e01b6000525260246000fd5b60118b634e487b7160e01b6000525260246000fd5b5050945050505050600190565b915094506001919592509592951460001461150457916114cb603c6114dd936105a29565ffffffffffff60d01b9060c81b16976020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052209161014081019061109b565b6001600160a01b039491369190610eca565b16600052600160205260406000203360005260205262ffffff60406000205416156113d657565b50600193505050565b602189634e487b7160e01b6000525260246000fd", + "nonce": "0x181" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x63ca02ed7576b54bc55448b48a4148911d023c8a69ba70b32dbbd67060e4c16c", + "transactionIndex": "0x2d", + "blockHash": "0xb5c7f6dc5549960cf902b49b70e926e181426c9083ba495886fe9eade55378f2", + "blockNumber": "0x2625962", + "from": "0xA02CDdFa44B8C01b4257F54ac1c43F75801E8175", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0xa9c353", + "gasUsed": "0x12b8d3", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x000000000000000000000000a02cddfa44b8c01b4257f54ac1c43f75801e8175", + "0x000000000000000000000000f903ba9e006193c1527bfbe65fe2123704ea3f99" + ], + "data": "0x000000000000000000000000000000000000000000000000000689dfd82afd6400000000000000000000000000000000000000000000000001f4ef7e8c1d9e980000000000000000000000000000000000000000000011125ffdaa8c6f08c33800000000000000000000000000000000000000000000000001ee659eb3f2a1340000000000000000000000000000000000000000000011126004346c4733c09c", + "blockHash": "0xb5c7f6dc5549960cf902b49b70e926e181426c9083ba495886fe9eade55378f2", + "blockNumber": "0x2625962", + "transactionHash": "0x63ca02ed7576b54bc55448b48a4148911d023c8a69ba70b32dbbd67060e4c16c", + "transactionIndex": "0x2d", + "logIndex": "0xf2", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000010000000000000000000000020000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000000000000000000000000000000000000000000020000000080000040000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000004000000000000000000001000008000000000000000000000000100000001000000000000000000000000000000000000000000000000000000000000000100000", + "type": "0x0", + "effectiveGasPrice": "0x59683bf4" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1694429057, + "chain": 80001, + "multi": false, + "commit": "52b9907" +} \ No newline at end of file diff --git a/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694507612.json b/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694507612.json new file mode 100644 index 00000000..31f7b5c8 --- /dev/null +++ b/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694507612.json @@ -0,0 +1,33 @@ +{ + "transactions": [ + { + "hash": "0xc4f4293a92e1fcc442c5051b09972484be79f9068efc778d259ae233381d6b56", + "transactionType": "CREATE2", + "contractName": "WeightedECDSAValidator", + "contractAddress": "0x24D89a6DE2A256Aa2aBf6e509EFf946d0220743a", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1991ce", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101203461011c57306080524660a0526040906001600160401b03908083018281118282101761010657835260168152602081017f5765696768746564454344534156616c696461746f72000000000000000000008152835190848201938285109085111761010657602060019260a09587528381520192603160f81b845251902091208160c0528060e0528351917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152838201524660608201523060808201522090610100918252516114e1918261012283396080518261110b015260a0518261112e015260c051826111a0015260e051826111c6015251816110ea0152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6040608081526004908136101561001557600080fd5b600090813560e01c80630c9595561461098c578063333daf921461094f5780633a871cdd1461090c5780634f1169a8146108b3578063666d05f4146108345780638025aa49146105c157806384b0196e146104ea5780638fc925aa146104175780639469d148146103945780639ea9bd5914610352578063b2e2c99b14610186578063e6f68b9f146101265763fb6f93f9146100b057600080fd5b34610122576020366003190112610122578235825260026020528082203383526020528120805460ff81168481101561010f57906100fa8260029315908115610104575b50610f88565b60ff191617905580f35b6001915014866100f4565b634e487b7160e01b845260218552602484fd5b5080fd5b50346101225760203660031901126101225760809181906001600160a01b0361014d610e22565b16815280602052205481519162ffffff80831684528260181c16602084015265ffffffffffff8260301c169083015260601c6060820152f35b5082903461034e578060031936011261034e578135906101a4610e38565b338552600160209081528286206001600160a01b039092168087529181528286205462ffffff939190841615610315578487526002815281872083885281528187209460ff86541687811015610302576101fe9015610f88565b8752600381528187203388528152818720838852815281872080549660ff88169060028210156102ef57509061023689939215610fcb565b600160ff1980991617905533825260018152828220848352815261028661026886858520541687895460381c16610f71565b875462ffffff60381b191660389190911b62ffffff60381b16178755565b85549382525285209180835460181c16908260381c1610156102a6578480f35b6102e793600191161782556102c865ffffffffffff80925460301c1642611007565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b818080808480f35b634e487b7160e01b8a5260219052602489fd5b634e487b7160e01b895260218852602489fd5b8590606492519162461bcd60e51b8352820152601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152fd5b8280fd5b503461012257806003193601126101225761036b610e22565b506024356001600160401b03811161034e5760209361038c91369101610df0565b505051908152f35b50346101225780600319360112610122576103ad610e38565b83358352600260209081528284206001600160a01b039092168452528082205481519260ff82169085821015610404576060858562ffffff8686845265ffffffffffff8160081c16602085015260381c1690820152f35b634e487b7160e01b815260218652602490fd5b5090602092836003193601126101225780356001600160401b03811161034e576104449036908301610df0565b505033825281845262ffffff8383205416156104b957503381528083528181205460601c5b6001600160a01b039081163381146104aa57808352600190818652848420338552865283858120558352845282822033835284528282205460181c16610469565b82808581883382525281205580f35b825162461bcd60e51b8152908101849052600b60248201526a139bdd08195b98589b195960aa1b6044820152606490fd5b5090346105be57806003193601126105be579080519061050982610ebf565b60168252602092752bb2b4b3b43a32b222a1a229a0ab30b634b230ba37b960511b8484015261057682519261053d84610ebf565b600193848152603160f81b87820152610569825196600f60f81b885260e08989015260e0880190610e4e565b9186830390870152610e4e565b4660608501523060808501528160a085015283810360c0850152846060519182815201946080925b8281106105ab5785870386f35b835187529581019592810192840161059e565b80fd5b5034610122576060366003190112610122576105db610e38565b906044356001600160401b038111610830576105fa9036908601610df0565b939085358083526002906020918083528585209360018060a01b038098169485875284528686209760ff91828a54168c81101561081d5761063b9015610f88565b875b6041808d048210156107c95761068e8b8051898b8201927f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd84528201528d815261068681610e8e565b5190206110e8565b818302918383048114841517156107b55760019283850180861161079f5782810292818404149015171561078a578f6106dd93926106d7926106d09289611014565b369161102c565b90611072565b878b5260038952848c8c20911690818c5289528b8b208a8c5289528b8b2080548781168981101561077457938093929161071b61076f979615610fcb565b60ff19161790558b5288528a8a20898b52885261076a61074c8d8d8d62ffffff918291205416915460381c16610f71565b8d5462ffffff60381b191660389190911b62ffffff60381b16178d55565b610f22565b61063d565b50508f8c6021602492634e487b7160e01b835252fd5b508f8c6011602492634e487b7160e01b835252fd5b50508f8c6011602492634e487b7160e01b835252fd5b8f8c6011602492634e487b7160e01b835252fd5b89898d8d838c835494825252832062ffffff80825460181c16908460381c1610156107f2578380f35b60016108169360ff19161782556102c865ffffffffffff80925460301c1642611007565b8180808380f35b634e487b7160e01b895260218d52602489fd5b8380fd5b50346101225760603660031901126101225761084e610e38565b6044356001600160a01b0381811692918390036108af578535855260036020528385209116845260205281832090835260205260ff8183205416905191600282101561089c57602083838152f35b634e487b7160e01b815260218452602490fd5b8480fd5b5090346105be57816003193601126105be57816108ce610e22565b916108d7610e38565b60018060a01b0380941682526001602052838383209116825260205220549082519162ffffff8116835260181c166020820152f35b5082600319926060843601126105be578135936001600160401b038511610122576101609085360301126105be5750602092610948910161122e565b9051908152f35b5090346105be57816003193601126105be57602435906001600160401b0382116105be575060209261098391369101610df0565b50505160018152f35b5090602080600319360112610122576001600160401b03928435848111610830576109ba9036908701610df0565b8194910160808582031261012257843586811161034e5785019481601f8701121561034e578535956109eb87610efb565b966109f886519889610eda565b808852868089019160051b83010191848311610dc9578701905b828210610dcd57505050848101358781116108305781019180601f84011215610830578235610a4081610efb565b93610a4d87519586610eda565b818552878086019260051b820101928311610dc95787809101915b838310610db15750505050610a7e848201610f12565b956060809201359765ffffffffffff891689036108af578151845103610d7c5733855284875262ffffff97888787205416610d4757338652858852610adf33888820906bffffffffffffffffffffffff82549181199060601b169116179055565b855b8351811015610d05576001600160a01b0380610afd8387610f47565b511615610ccb578a610b0f8389610f47565b511615610c935780610b218387610f47565b511688526001808b52898920338a528b528b8a8a205416610c50578b610b47848a610f47565b511690338a52898c528a8a2054881c908b51928c840184811089821117610c3a578f908f8f8f929589610b918f9c610c359d819d9b99610bff9d9b87528b52868b01998a52610f47565b511684528252822033909252528d8d209251835492516001600160b81b031990931691161760189190911b6301000000600160b81b0316179055610bd58388610f47565b5116338a52898c528a8a20906bffffffffffffffffffffffff82549181199060601b169116179055565b8a610c0a8289610f47565b5116338952888b52898920908c610c25835492828416610f71565b169062ffffff1916179055610f22565b610ae1565b50508f8b6041602492634e487b7160e01b835252fd5b895162461bcd60e51b8152808f018c9052601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b885162461bcd60e51b8152808e018b9052601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b885162461bcd60e51b8152808e018b905260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b33875286895287872080546bffffffffffffffffff000000191660308d901b6bffffffffffff0000000000001617601884901b65ffffff000000161790558680f35b865162461bcd60e51b8152808c01899052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b855162461bcd60e51b8152808b01889052600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b8190610dbc84610f12565b8152019101908790610a68565b8580fd5b81356001600160a01b0381168103610dec578152908701908701610a12565b8680fd5b9181601f84011215610e1d578235916001600160401b038311610e1d5760208381860195010111610e1d57565b600080fd5b600435906001600160a01b0382168203610e1d57565b602435906001600160a01b0382168203610e1d57565b919082519283825260005b848110610e7a575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610e59565b606081019081106001600160401b03821117610ea957604052565b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b03821117610ea957604052565b90601f801991011681019081106001600160401b03821117610ea957604052565b6001600160401b038111610ea95760051b60200190565b359062ffffff82168203610e1d57565b6000198114610f315760010190565b634e487b7160e01b600052601160045260246000fd5b8051821015610f5b5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b91909162ffffff80809416911601918211610f3157565b15610f8f57565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b15610fd257565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610f3157565b90939293848311610e1d578411610e1d578101920390565b9291926001600160401b038211610ea95760405191611055601f8201601f191660200184610eda565b829481845281830111610e1d578281602093846000960137010152565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d156110db57606052604052565b638baa579f90526004601cfd5b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611175575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611156565b903590601e1981360301821215610e1d57018035906001600160401b038211610e1d57602001918136038313610e1d57565b9061123c60608301836111fc565b611283608060405183819460208301966040885281606085015284840137600083828401015260208801356040830152601f80199101168101036060810184520182610eda565b51902080600052600290816020526040600020336000526020526040600020906000602052604060002082549560ff871696600497888110156114cc578061149757505065ffffffffffff825460301c1661148c57806101406112e79201906111fc565b919062ffffff855460381c16946000955b60418086048810156114595761134560405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd82528960408201526040815261068681610e8e565b9088818102048114891517156114445760018901808a1161142f57808281020482148115171561142f576106d08261138794936106d79302908c028a89611014565b86600052600360205260406000209060018060a01b031690816000526020526040600020336000526020526040600020805460ff81168b81101561141a5761140d5791611407939160016114019460ff1916179055600052600160205260406000203360005260205262ffffff6040600020541690611007565b96610f22565b956112f8565b5050509561140790610f22565b60218e634e487b7160e01b6000525260246000fd5b60118d634e487b7160e01b6000525260246000fd5b60118c634e487b7160e01b6000525260246000fd5b50965097505091505062ffffff91505460181c16111560001461148657600091600360ff19825416179055565b60019150565b506001955050505050565b9350965050506001919250146000146114c557600365ffffffffffff60d01b8460c81b169360ff1916179055565b5060019150565b602189634e487b7160e01b6000525260246000fd", + "nonce": "0x187" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xc4f4293a92e1fcc442c5051b09972484be79f9068efc778d259ae233381d6b56" + ], + "returns": {}, + "timestamp": 1694507612, + "chain": 80001, + "multi": false, + "commit": "5e71aab" +} \ No newline at end of file diff --git a/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694507650.json b/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694507650.json new file mode 100644 index 00000000..9389e85b --- /dev/null +++ b/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694507650.json @@ -0,0 +1,65 @@ +{ + "transactions": [ + { + "hash": "0xc4f4293a92e1fcc442c5051b09972484be79f9068efc778d259ae233381d6b56", + "transactionType": "CREATE2", + "contractName": "WeightedECDSAValidator", + "contractAddress": "0x24D89a6DE2A256Aa2aBf6e509EFf946d0220743a", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1991ce", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101203461011c57306080524660a0526040906001600160401b03908083018281118282101761010657835260168152602081017f5765696768746564454344534156616c696461746f72000000000000000000008152835190848201938285109085111761010657602060019260a09587528381520192603160f81b845251902091208160c0528060e0528351917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152838201524660608201523060808201522090610100918252516114e1918261012283396080518261110b015260a0518261112e015260c051826111a0015260e051826111c6015251816110ea0152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6040608081526004908136101561001557600080fd5b600090813560e01c80630c9595561461098c578063333daf921461094f5780633a871cdd1461090c5780634f1169a8146108b3578063666d05f4146108345780638025aa49146105c157806384b0196e146104ea5780638fc925aa146104175780639469d148146103945780639ea9bd5914610352578063b2e2c99b14610186578063e6f68b9f146101265763fb6f93f9146100b057600080fd5b34610122576020366003190112610122578235825260026020528082203383526020528120805460ff81168481101561010f57906100fa8260029315908115610104575b50610f88565b60ff191617905580f35b6001915014866100f4565b634e487b7160e01b845260218552602484fd5b5080fd5b50346101225760203660031901126101225760809181906001600160a01b0361014d610e22565b16815280602052205481519162ffffff80831684528260181c16602084015265ffffffffffff8260301c169083015260601c6060820152f35b5082903461034e578060031936011261034e578135906101a4610e38565b338552600160209081528286206001600160a01b039092168087529181528286205462ffffff939190841615610315578487526002815281872083885281528187209460ff86541687811015610302576101fe9015610f88565b8752600381528187203388528152818720838852815281872080549660ff88169060028210156102ef57509061023689939215610fcb565b600160ff1980991617905533825260018152828220848352815261028661026886858520541687895460381c16610f71565b875462ffffff60381b191660389190911b62ffffff60381b16178755565b85549382525285209180835460181c16908260381c1610156102a6578480f35b6102e793600191161782556102c865ffffffffffff80925460301c1642611007565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b818080808480f35b634e487b7160e01b8a5260219052602489fd5b634e487b7160e01b895260218852602489fd5b8590606492519162461bcd60e51b8352820152601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152fd5b8280fd5b503461012257806003193601126101225761036b610e22565b506024356001600160401b03811161034e5760209361038c91369101610df0565b505051908152f35b50346101225780600319360112610122576103ad610e38565b83358352600260209081528284206001600160a01b039092168452528082205481519260ff82169085821015610404576060858562ffffff8686845265ffffffffffff8160081c16602085015260381c1690820152f35b634e487b7160e01b815260218652602490fd5b5090602092836003193601126101225780356001600160401b03811161034e576104449036908301610df0565b505033825281845262ffffff8383205416156104b957503381528083528181205460601c5b6001600160a01b039081163381146104aa57808352600190818652848420338552865283858120558352845282822033835284528282205460181c16610469565b82808581883382525281205580f35b825162461bcd60e51b8152908101849052600b60248201526a139bdd08195b98589b195960aa1b6044820152606490fd5b5090346105be57806003193601126105be579080519061050982610ebf565b60168252602092752bb2b4b3b43a32b222a1a229a0ab30b634b230ba37b960511b8484015261057682519261053d84610ebf565b600193848152603160f81b87820152610569825196600f60f81b885260e08989015260e0880190610e4e565b9186830390870152610e4e565b4660608501523060808501528160a085015283810360c0850152846060519182815201946080925b8281106105ab5785870386f35b835187529581019592810192840161059e565b80fd5b5034610122576060366003190112610122576105db610e38565b906044356001600160401b038111610830576105fa9036908601610df0565b939085358083526002906020918083528585209360018060a01b038098169485875284528686209760ff91828a54168c81101561081d5761063b9015610f88565b875b6041808d048210156107c95761068e8b8051898b8201927f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd84528201528d815261068681610e8e565b5190206110e8565b818302918383048114841517156107b55760019283850180861161079f5782810292818404149015171561078a578f6106dd93926106d7926106d09289611014565b369161102c565b90611072565b878b5260038952848c8c20911690818c5289528b8b208a8c5289528b8b2080548781168981101561077457938093929161071b61076f979615610fcb565b60ff19161790558b5288528a8a20898b52885261076a61074c8d8d8d62ffffff918291205416915460381c16610f71565b8d5462ffffff60381b191660389190911b62ffffff60381b16178d55565b610f22565b61063d565b50508f8c6021602492634e487b7160e01b835252fd5b508f8c6011602492634e487b7160e01b835252fd5b50508f8c6011602492634e487b7160e01b835252fd5b8f8c6011602492634e487b7160e01b835252fd5b89898d8d838c835494825252832062ffffff80825460181c16908460381c1610156107f2578380f35b60016108169360ff19161782556102c865ffffffffffff80925460301c1642611007565b8180808380f35b634e487b7160e01b895260218d52602489fd5b8380fd5b50346101225760603660031901126101225761084e610e38565b6044356001600160a01b0381811692918390036108af578535855260036020528385209116845260205281832090835260205260ff8183205416905191600282101561089c57602083838152f35b634e487b7160e01b815260218452602490fd5b8480fd5b5090346105be57816003193601126105be57816108ce610e22565b916108d7610e38565b60018060a01b0380941682526001602052838383209116825260205220549082519162ffffff8116835260181c166020820152f35b5082600319926060843601126105be578135936001600160401b038511610122576101609085360301126105be5750602092610948910161122e565b9051908152f35b5090346105be57816003193601126105be57602435906001600160401b0382116105be575060209261098391369101610df0565b50505160018152f35b5090602080600319360112610122576001600160401b03928435848111610830576109ba9036908701610df0565b8194910160808582031261012257843586811161034e5785019481601f8701121561034e578535956109eb87610efb565b966109f886519889610eda565b808852868089019160051b83010191848311610dc9578701905b828210610dcd57505050848101358781116108305781019180601f84011215610830578235610a4081610efb565b93610a4d87519586610eda565b818552878086019260051b820101928311610dc95787809101915b838310610db15750505050610a7e848201610f12565b956060809201359765ffffffffffff891689036108af578151845103610d7c5733855284875262ffffff97888787205416610d4757338652858852610adf33888820906bffffffffffffffffffffffff82549181199060601b169116179055565b855b8351811015610d05576001600160a01b0380610afd8387610f47565b511615610ccb578a610b0f8389610f47565b511615610c935780610b218387610f47565b511688526001808b52898920338a528b528b8a8a205416610c50578b610b47848a610f47565b511690338a52898c528a8a2054881c908b51928c840184811089821117610c3a578f908f8f8f929589610b918f9c610c359d819d9b99610bff9d9b87528b52868b01998a52610f47565b511684528252822033909252528d8d209251835492516001600160b81b031990931691161760189190911b6301000000600160b81b0316179055610bd58388610f47565b5116338a52898c528a8a20906bffffffffffffffffffffffff82549181199060601b169116179055565b8a610c0a8289610f47565b5116338952888b52898920908c610c25835492828416610f71565b169062ffffff1916179055610f22565b610ae1565b50508f8b6041602492634e487b7160e01b835252fd5b895162461bcd60e51b8152808f018c9052601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b885162461bcd60e51b8152808e018b9052601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b885162461bcd60e51b8152808e018b905260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b33875286895287872080546bffffffffffffffffff000000191660308d901b6bffffffffffff0000000000001617601884901b65ffffff000000161790558680f35b865162461bcd60e51b8152808c01899052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b855162461bcd60e51b8152808b01889052600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b8190610dbc84610f12565b8152019101908790610a68565b8580fd5b81356001600160a01b0381168103610dec578152908701908701610a12565b8680fd5b9181601f84011215610e1d578235916001600160401b038311610e1d5760208381860195010111610e1d57565b600080fd5b600435906001600160a01b0382168203610e1d57565b602435906001600160a01b0382168203610e1d57565b919082519283825260005b848110610e7a575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610e59565b606081019081106001600160401b03821117610ea957604052565b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b03821117610ea957604052565b90601f801991011681019081106001600160401b03821117610ea957604052565b6001600160401b038111610ea95760051b60200190565b359062ffffff82168203610e1d57565b6000198114610f315760010190565b634e487b7160e01b600052601160045260246000fd5b8051821015610f5b5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b91909162ffffff80809416911601918211610f3157565b15610f8f57565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b15610fd257565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610f3157565b90939293848311610e1d578411610e1d578101920390565b9291926001600160401b038211610ea95760405191611055601f8201601f191660200184610eda565b829481845281830111610e1d578281602093846000960137010152565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d156110db57606052604052565b638baa579f90526004601cfd5b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611175575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611156565b903590601e1981360301821215610e1d57018035906001600160401b038211610e1d57602001918136038313610e1d57565b9061123c60608301836111fc565b611283608060405183819460208301966040885281606085015284840137600083828401015260208801356040830152601f80199101168101036060810184520182610eda565b51902080600052600290816020526040600020336000526020526040600020906000602052604060002082549560ff871696600497888110156114cc578061149757505065ffffffffffff825460301c1661148c57806101406112e79201906111fc565b919062ffffff855460381c16946000955b60418086048810156114595761134560405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd82528960408201526040815261068681610e8e565b9088818102048114891517156114445760018901808a1161142f57808281020482148115171561142f576106d08261138794936106d79302908c028a89611014565b86600052600360205260406000209060018060a01b031690816000526020526040600020336000526020526040600020805460ff81168b81101561141a5761140d5791611407939160016114019460ff1916179055600052600160205260406000203360005260205262ffffff6040600020541690611007565b96610f22565b956112f8565b5050509561140790610f22565b60218e634e487b7160e01b6000525260246000fd5b60118d634e487b7160e01b6000525260246000fd5b60118c634e487b7160e01b6000525260246000fd5b50965097505091505062ffffff91505460181c16111560001461148657600091600360ff19825416179055565b60019150565b506001955050505050565b9350965050506001919250146000146114c557600365ffffffffffff60d01b8460c81b169360ff1916179055565b5060019150565b602189634e487b7160e01b6000525260246000fd", + "nonce": "0x187" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xc4f4293a92e1fcc442c5051b09972484be79f9068efc778d259ae233381d6b56", + "transactionIndex": "0x5f", + "blockHash": "0x92f362153a0b4884b4a94d697e58c2be150d5197650b55cc449c42ef0c055959", + "blockNumber": "0x262d483", + "from": "0xA02CDdFa44B8C01b4257F54ac1c43F75801E8175", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x14b0179", + "gasUsed": "0x12830c", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x000000000000000000000000a02cddfa44b8c01b4257f54ac1c43f75801e8175", + "0x0000000000000000000000005082f249cdb2f2c1ee035e4f423c46ea2dab3ab1" + ], + "data": "0x00000000000000000000000000000000000000000000000000067717d086770800000000000000000000000000000000000000000000000001e6b3ac97e2a1c100000000000000000000000000000000000000000000016d77d92856767d529c00000000000000000000000000000000000000000000000001e03c94c75c2ab900000000000000000000000000000000000000000000016d77df9f6e4703c9a4", + "blockHash": "0x92f362153a0b4884b4a94d697e58c2be150d5197650b55cc449c42ef0c055959", + "blockNumber": "0x262d483", + "transactionHash": "0xc4f4293a92e1fcc442c5051b09972484be79f9068efc778d259ae233381d6b56", + "transactionIndex": "0x5f", + "logIndex": "0x20c", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000020000000000000002000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000000000000000000000000000000000000000000020000000080000040000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000004000000000000000000001000008000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000100000", + "type": "0x0", + "effectiveGasPrice": "0x59682f28" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1694507650, + "chain": 80001, + "multi": false, + "commit": "5e71aab" +} \ No newline at end of file diff --git a/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694884855.json b/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694884855.json new file mode 100644 index 00000000..89eb68cd --- /dev/null +++ b/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694884855.json @@ -0,0 +1,33 @@ +{ + "transactions": [ + { + "hash": "0xd719ea3aabf951236f9988dea70edfc8586fc4459f9970f0aa953600f29f4d9d", + "transactionType": "CREATE2", + "contractName": "WeightedECDSAValidator", + "contractAddress": "0x4fd47D861c349bD49DC61341a922cb72F9dF7E8d", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1b1184", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101203461011c57306080524660a0526040906001600160401b03908083018281118282101761010657835260168152602081017f5765696768746564454344534156616c696461746f72000000000000000000008152835190848201938285109085111761010657602060019260a09587528381520192603160f81b845251902091208160c0528060e0528351917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152838201524660608201523060808201522090610100918252516114e0918261012283396080518261110a015260a0518261112d015260c0518261119f015260e051826111c5015251816110e90152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6040608081526004908136101561001557600080fd5b600090813560e01c80630c9595561461098b578063333daf921461094e5780633a871cdd1461090b5780634f1169a8146108b2578063666d05f4146108335780638025aa49146105c457806384b0196e146104ed5780638fc925aa146104175780639469d148146103945780639ea9bd5914610352578063b2e2c99b14610186578063e6f68b9f146101265763fb6f93f9146100b057600080fd5b34610122576020366003190112610122578235825260026020528082203383526020528120805460ff81168481101561010f57906100fa8260029315908115610104575b50610f87565b60ff191617905580f35b6001915014866100f4565b634e487b7160e01b845260218552602484fd5b5080fd5b50346101225760203660031901126101225760809181906001600160a01b0361014d610e21565b16815280602052205481519162ffffff80831684528260181c16602084015265ffffffffffff8260301c169083015260601c6060820152f35b5082903461034e578060031936011261034e578135906101a4610e37565b338552600160209081528286206001600160a01b039092168087529181528286205462ffffff939190841615610315578487526002815281872083885281528187209460ff86541687811015610302576101fe9015610f87565b8752600381528187203388528152818720838852815281872080549660ff88169060028210156102ef57509061023689939215610fca565b600160ff1980991617905533825260018152828220848352815261028661026886858520541687895460381c16610f70565b875462ffffff60381b191660389190911b62ffffff60381b16178755565b85549382525285209180835460181c16908260381c1610156102a6578480f35b6102e793600191161782556102c865ffffffffffff80925460301c1642611006565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b818080808480f35b634e487b7160e01b8a5260219052602489fd5b634e487b7160e01b895260218852602489fd5b8590606492519162461bcd60e51b8352820152601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152fd5b8280fd5b503461012257806003193601126101225761036b610e21565b506024356001600160401b03811161034e5760209361038c91369101610def565b505051908152f35b50346101225780600319360112610122576103ad610e37565b83358352600260209081528284206001600160a01b039092168452528082205481519260ff82169085821015610404576060858562ffffff8686845265ffffffffffff8160081c16602085015260381c1690820152f35b634e487b7160e01b815260218652602490fd5b506020928360031936011261034e5780356001600160401b0381116104e9576104439036908301610def565b505033835282845262ffffff8284205416156104ba57503382528183528082205460601c5b6001600160a01b03908116903382146104ab5781845260019081865283852033865286528385205460181c16918452845281832033845284528282812055610468565b50508180933382525281205580f35b83606492519162461bcd60e51b8352820152600b60248201526a139bdd08195b98589b195960aa1b6044820152fd5b8380fd5b5090346105c157806003193601126105c1579080519061050c82610ebe565b60168252602092752bb2b4b3b43a32b222a1a229a0ab30b634b230ba37b960511b8484015261057982519261054084610ebe565b600193848152603160f81b8782015261056c825196600f60f81b885260e08989015260e0880190610e4d565b9186830390870152610e4d565b4660608501523060808501528160a085015283810360c0850152846060519182815201946080925b8281106105ae5785870386f35b83518752958101959281019284016105a1565b80fd5b5034610122576060366003190112610122576105de610e37565b906044356001600160401b0381116104e9576105fd9036908601610def565b939085358083526002906020918083528585209360018060a01b038098169485875284528686209760ff91828a54168c8110156108205761063e9015610f87565b875b6041808d048210156107cc576106918b8051898b8201927f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd84528201528d815261068981610e8d565b5190206110e7565b818302918383048114841517156107b8576001928385018086116107a25782810292818404149015171561078d578f6106e093926106da926106d39289611013565b369161102b565b90611071565b878b5260038952848c8c20911690818c5289528b8b208a8c5289528b8b2080548781168981101561077757938093929161071e610772979615610fca565b60ff19161790558b5288528a8a20898b52885261076d61074f8d8d8d62ffffff918291205416915460381c16610f70565b8d5462ffffff60381b191660389190911b62ffffff60381b16178d55565b610f21565b610640565b50508f8c6021602492634e487b7160e01b835252fd5b508f8c6011602492634e487b7160e01b835252fd5b50508f8c6011602492634e487b7160e01b835252fd5b8f8c6011602492634e487b7160e01b835252fd5b89898d8d838c835494825252832062ffffff80825460181c16908460381c1610156107f5578380f35b60016108199360ff19161782556102c865ffffffffffff80925460301c1642611006565b8180808380f35b634e487b7160e01b895260218d52602489fd5b50346101225760603660031901126101225761084d610e37565b6044356001600160a01b0381811692918390036108ae578535855260036020528385209116845260205281832090835260205260ff8183205416905191600282101561089b57602083838152f35b634e487b7160e01b815260218452602490fd5b8480fd5b5090346105c157816003193601126105c157816108cd610e21565b916108d6610e37565b60018060a01b0380941682526001602052838383209116825260205220549082519162ffffff8116835260181c166020820152f35b5082600319926060843601126105c1578135936001600160401b038511610122576101609085360301126105c15750602092610947910161122d565b9051908152f35b5090346105c157816003193601126105c157602435906001600160401b0382116105c1575060209261098291369101610def565b50505160018152f35b5090602080600319360112610122576001600160401b039284358481116104e9576109b99036908701610def565b8194910160808582031261012257843586811161034e5785019481601f8701121561034e578535956109ea87610efa565b966109f786519889610ed9565b808852868089019160051b83010191848311610dc8578701905b828210610dcc57505050848101358781116104e95781019180601f840112156104e9578235610a3f81610efa565b93610a4c87519586610ed9565b818552878086019260051b820101928311610dc85787809101915b838310610db05750505050610a7d848201610f11565b956060809201359765ffffffffffff891689036108ae578151845103610d7b5733855284875262ffffff97888787205416610d4657338652858852610ade33888820906bffffffffffffffffffffffff82549181199060601b169116179055565b855b8351811015610d04576001600160a01b0380610afc8387610f46565b511615610cca578a610b0e8389610f46565b511615610c925780610b208387610f46565b511688526001808b52898920338a528b528b8a8a205416610c4f578b610b46848a610f46565b511690338a52898c528a8a2054881c908b51928c840184811089821117610c39578f908f8f8f929589610b908f9c610c349d819d9b99610bfe9d9b87528b52868b01998a52610f46565b511684528252822033909252528d8d209251835492516001600160b81b031990931691161760189190911b6301000000600160b81b0316179055610bd48388610f46565b5116338a52898c528a8a20906bffffffffffffffffffffffff82549181199060601b169116179055565b8a610c098289610f46565b5116338952888b52898920908c610c24835492828416610f70565b169062ffffff1916179055610f21565b610ae0565b50508f8b6041602492634e487b7160e01b835252fd5b895162461bcd60e51b8152808f018c9052601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b885162461bcd60e51b8152808e018b9052601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b885162461bcd60e51b8152808e018b905260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b33875286895287872080546bffffffffffffffffff000000191660308d901b6bffffffffffff0000000000001617601884901b65ffffff000000161790558680f35b865162461bcd60e51b8152808c01899052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b855162461bcd60e51b8152808b01889052600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b8190610dbb84610f11565b8152019101908790610a67565b8580fd5b81356001600160a01b0381168103610deb578152908701908701610a11565b8680fd5b9181601f84011215610e1c578235916001600160401b038311610e1c5760208381860195010111610e1c57565b600080fd5b600435906001600160a01b0382168203610e1c57565b602435906001600160a01b0382168203610e1c57565b919082519283825260005b848110610e79575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610e58565b606081019081106001600160401b03821117610ea857604052565b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b03821117610ea857604052565b90601f801991011681019081106001600160401b03821117610ea857604052565b6001600160401b038111610ea85760051b60200190565b359062ffffff82168203610e1c57565b6000198114610f305760010190565b634e487b7160e01b600052601160045260246000fd5b8051821015610f5a5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b91909162ffffff80809416911601918211610f3057565b15610f8e57565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b15610fd157565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610f3057565b90939293848311610e1c578411610e1c578101920390565b9291926001600160401b038211610ea85760405191611054601f8201601f191660200184610ed9565b829481845281830111610e1c578281602093846000960137010152565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d156110da57606052604052565b638baa579f90526004601cfd5b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611174575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611155565b903590601e1981360301821215610e1c57018035906001600160401b038211610e1c57602001918136038313610e1c57565b9061123b60608301836111fb565b611282608060405183819460208301966040885281606085015284840137600083828401015260208801356040830152601f80199101168101036060810184520182610ed9565b51902080600052600290816020526040600020336000526020526040600020906000602052604060002082549560ff871696600497888110156114cb578061149657505065ffffffffffff825460301c1661148b57806101406112e69201906111fb565b919062ffffff855460381c16946000955b60418086048810156114585761134460405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd82528960408201526040815261068981610e8d565b9088818102048114891517156114435760018901808a1161142e57808281020482148115171561142e576106d38261138694936106da9302908c028a89611013565b86600052600360205260406000209060018060a01b031690816000526020526040600020336000526020526040600020805460ff81168b8110156114195761140c5791611406939160016114009460ff1916179055600052600160205260406000203360005260205262ffffff6040600020541690611006565b96610f21565b956112f7565b5050509561140690610f21565b60218e634e487b7160e01b6000525260246000fd5b60118d634e487b7160e01b6000525260246000fd5b60118c634e487b7160e01b6000525260246000fd5b50965097505091505062ffffff91505460181c16111560001461148557600091600360ff19825416179055565b60019150565b506001955050505050565b9350965050506001919250146000146114c457600365ffffffffffff60d01b8460c81b169360ff1916179055565b5060019150565b602189634e487b7160e01b6000525260246000fd", + "nonce": "0x18b" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xd719ea3aabf951236f9988dea70edfc8586fc4459f9970f0aa953600f29f4d9d" + ], + "returns": {}, + "timestamp": 1694884855, + "chain": 80001, + "multi": false, + "commit": "5e71aab" +} \ No newline at end of file diff --git a/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694884893.json b/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694884893.json new file mode 100644 index 00000000..2273f643 --- /dev/null +++ b/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694884893.json @@ -0,0 +1,65 @@ +{ + "transactions": [ + { + "hash": "0xd719ea3aabf951236f9988dea70edfc8586fc4459f9970f0aa953600f29f4d9d", + "transactionType": "CREATE2", + "contractName": "WeightedECDSAValidator", + "contractAddress": "0x4fd47D861c349bD49DC61341a922cb72F9dF7E8d", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1b1184", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101203461011c57306080524660a0526040906001600160401b03908083018281118282101761010657835260168152602081017f5765696768746564454344534156616c696461746f72000000000000000000008152835190848201938285109085111761010657602060019260a09587528381520192603160f81b845251902091208160c0528060e0528351917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152838201524660608201523060808201522090610100918252516114e0918261012283396080518261110a015260a0518261112d015260c0518261119f015260e051826111c5015251816110e90152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6040608081526004908136101561001557600080fd5b600090813560e01c80630c9595561461098b578063333daf921461094e5780633a871cdd1461090b5780634f1169a8146108b2578063666d05f4146108335780638025aa49146105c457806384b0196e146104ed5780638fc925aa146104175780639469d148146103945780639ea9bd5914610352578063b2e2c99b14610186578063e6f68b9f146101265763fb6f93f9146100b057600080fd5b34610122576020366003190112610122578235825260026020528082203383526020528120805460ff81168481101561010f57906100fa8260029315908115610104575b50610f87565b60ff191617905580f35b6001915014866100f4565b634e487b7160e01b845260218552602484fd5b5080fd5b50346101225760203660031901126101225760809181906001600160a01b0361014d610e21565b16815280602052205481519162ffffff80831684528260181c16602084015265ffffffffffff8260301c169083015260601c6060820152f35b5082903461034e578060031936011261034e578135906101a4610e37565b338552600160209081528286206001600160a01b039092168087529181528286205462ffffff939190841615610315578487526002815281872083885281528187209460ff86541687811015610302576101fe9015610f87565b8752600381528187203388528152818720838852815281872080549660ff88169060028210156102ef57509061023689939215610fca565b600160ff1980991617905533825260018152828220848352815261028661026886858520541687895460381c16610f70565b875462ffffff60381b191660389190911b62ffffff60381b16178755565b85549382525285209180835460181c16908260381c1610156102a6578480f35b6102e793600191161782556102c865ffffffffffff80925460301c1642611006565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b818080808480f35b634e487b7160e01b8a5260219052602489fd5b634e487b7160e01b895260218852602489fd5b8590606492519162461bcd60e51b8352820152601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152fd5b8280fd5b503461012257806003193601126101225761036b610e21565b506024356001600160401b03811161034e5760209361038c91369101610def565b505051908152f35b50346101225780600319360112610122576103ad610e37565b83358352600260209081528284206001600160a01b039092168452528082205481519260ff82169085821015610404576060858562ffffff8686845265ffffffffffff8160081c16602085015260381c1690820152f35b634e487b7160e01b815260218652602490fd5b506020928360031936011261034e5780356001600160401b0381116104e9576104439036908301610def565b505033835282845262ffffff8284205416156104ba57503382528183528082205460601c5b6001600160a01b03908116903382146104ab5781845260019081865283852033865286528385205460181c16918452845281832033845284528282812055610468565b50508180933382525281205580f35b83606492519162461bcd60e51b8352820152600b60248201526a139bdd08195b98589b195960aa1b6044820152fd5b8380fd5b5090346105c157806003193601126105c1579080519061050c82610ebe565b60168252602092752bb2b4b3b43a32b222a1a229a0ab30b634b230ba37b960511b8484015261057982519261054084610ebe565b600193848152603160f81b8782015261056c825196600f60f81b885260e08989015260e0880190610e4d565b9186830390870152610e4d565b4660608501523060808501528160a085015283810360c0850152846060519182815201946080925b8281106105ae5785870386f35b83518752958101959281019284016105a1565b80fd5b5034610122576060366003190112610122576105de610e37565b906044356001600160401b0381116104e9576105fd9036908601610def565b939085358083526002906020918083528585209360018060a01b038098169485875284528686209760ff91828a54168c8110156108205761063e9015610f87565b875b6041808d048210156107cc576106918b8051898b8201927f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd84528201528d815261068981610e8d565b5190206110e7565b818302918383048114841517156107b8576001928385018086116107a25782810292818404149015171561078d578f6106e093926106da926106d39289611013565b369161102b565b90611071565b878b5260038952848c8c20911690818c5289528b8b208a8c5289528b8b2080548781168981101561077757938093929161071e610772979615610fca565b60ff19161790558b5288528a8a20898b52885261076d61074f8d8d8d62ffffff918291205416915460381c16610f70565b8d5462ffffff60381b191660389190911b62ffffff60381b16178d55565b610f21565b610640565b50508f8c6021602492634e487b7160e01b835252fd5b508f8c6011602492634e487b7160e01b835252fd5b50508f8c6011602492634e487b7160e01b835252fd5b8f8c6011602492634e487b7160e01b835252fd5b89898d8d838c835494825252832062ffffff80825460181c16908460381c1610156107f5578380f35b60016108199360ff19161782556102c865ffffffffffff80925460301c1642611006565b8180808380f35b634e487b7160e01b895260218d52602489fd5b50346101225760603660031901126101225761084d610e37565b6044356001600160a01b0381811692918390036108ae578535855260036020528385209116845260205281832090835260205260ff8183205416905191600282101561089b57602083838152f35b634e487b7160e01b815260218452602490fd5b8480fd5b5090346105c157816003193601126105c157816108cd610e21565b916108d6610e37565b60018060a01b0380941682526001602052838383209116825260205220549082519162ffffff8116835260181c166020820152f35b5082600319926060843601126105c1578135936001600160401b038511610122576101609085360301126105c15750602092610947910161122d565b9051908152f35b5090346105c157816003193601126105c157602435906001600160401b0382116105c1575060209261098291369101610def565b50505160018152f35b5090602080600319360112610122576001600160401b039284358481116104e9576109b99036908701610def565b8194910160808582031261012257843586811161034e5785019481601f8701121561034e578535956109ea87610efa565b966109f786519889610ed9565b808852868089019160051b83010191848311610dc8578701905b828210610dcc57505050848101358781116104e95781019180601f840112156104e9578235610a3f81610efa565b93610a4c87519586610ed9565b818552878086019260051b820101928311610dc85787809101915b838310610db05750505050610a7d848201610f11565b956060809201359765ffffffffffff891689036108ae578151845103610d7b5733855284875262ffffff97888787205416610d4657338652858852610ade33888820906bffffffffffffffffffffffff82549181199060601b169116179055565b855b8351811015610d04576001600160a01b0380610afc8387610f46565b511615610cca578a610b0e8389610f46565b511615610c925780610b208387610f46565b511688526001808b52898920338a528b528b8a8a205416610c4f578b610b46848a610f46565b511690338a52898c528a8a2054881c908b51928c840184811089821117610c39578f908f8f8f929589610b908f9c610c349d819d9b99610bfe9d9b87528b52868b01998a52610f46565b511684528252822033909252528d8d209251835492516001600160b81b031990931691161760189190911b6301000000600160b81b0316179055610bd48388610f46565b5116338a52898c528a8a20906bffffffffffffffffffffffff82549181199060601b169116179055565b8a610c098289610f46565b5116338952888b52898920908c610c24835492828416610f70565b169062ffffff1916179055610f21565b610ae0565b50508f8b6041602492634e487b7160e01b835252fd5b895162461bcd60e51b8152808f018c9052601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b885162461bcd60e51b8152808e018b9052601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b885162461bcd60e51b8152808e018b905260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b33875286895287872080546bffffffffffffffffff000000191660308d901b6bffffffffffff0000000000001617601884901b65ffffff000000161790558680f35b865162461bcd60e51b8152808c01899052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b855162461bcd60e51b8152808b01889052600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b8190610dbb84610f11565b8152019101908790610a67565b8580fd5b81356001600160a01b0381168103610deb578152908701908701610a11565b8680fd5b9181601f84011215610e1c578235916001600160401b038311610e1c5760208381860195010111610e1c57565b600080fd5b600435906001600160a01b0382168203610e1c57565b602435906001600160a01b0382168203610e1c57565b919082519283825260005b848110610e79575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610e58565b606081019081106001600160401b03821117610ea857604052565b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b03821117610ea857604052565b90601f801991011681019081106001600160401b03821117610ea857604052565b6001600160401b038111610ea85760051b60200190565b359062ffffff82168203610e1c57565b6000198114610f305760010190565b634e487b7160e01b600052601160045260246000fd5b8051821015610f5a5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b91909162ffffff80809416911601918211610f3057565b15610f8e57565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b15610fd157565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610f3057565b90939293848311610e1c578411610e1c578101920390565b9291926001600160401b038211610ea85760405191611054601f8201601f191660200184610ed9565b829481845281830111610e1c578281602093846000960137010152565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d156110da57606052604052565b638baa579f90526004601cfd5b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611174575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611155565b903590601e1981360301821215610e1c57018035906001600160401b038211610e1c57602001918136038313610e1c57565b9061123b60608301836111fb565b611282608060405183819460208301966040885281606085015284840137600083828401015260208801356040830152601f80199101168101036060810184520182610ed9565b51902080600052600290816020526040600020336000526020526040600020906000602052604060002082549560ff871696600497888110156114cb578061149657505065ffffffffffff825460301c1661148b57806101406112e69201906111fb565b919062ffffff855460381c16946000955b60418086048810156114585761134460405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd82528960408201526040815261068981610e8d565b9088818102048114891517156114435760018901808a1161142e57808281020482148115171561142e576106d38261138694936106da9302908c028a89611013565b86600052600360205260406000209060018060a01b031690816000526020526040600020336000526020526040600020805460ff81168b8110156114195761140c5791611406939160016114009460ff1916179055600052600160205260406000203360005260205262ffffff6040600020541690611006565b96610f21565b956112f7565b5050509561140690610f21565b60218e634e487b7160e01b6000525260246000fd5b60118d634e487b7160e01b6000525260246000fd5b60118c634e487b7160e01b6000525260246000fd5b50965097505091505062ffffff91505460181c16111560001461148557600091600360ff19825416179055565b60019150565b506001955050505050565b9350965050506001919250146000146114c457600365ffffffffffff60d01b8460c81b169360ff1916179055565b5060019150565b602189634e487b7160e01b6000525260246000fd", + "nonce": "0x18b" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xd719ea3aabf951236f9988dea70edfc8586fc4459f9970f0aa953600f29f4d9d", + "transactionIndex": "0x9c", + "blockHash": "0xcd65d739a166cbee1c47842f7764c871db864c03c0674cd13b8df6477c9d2578", + "blockNumber": "0x26523e0", + "from": "0xA02CDdFa44B8C01b4257F54ac1c43F75801E8175", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x14f3b13", + "gasUsed": "0x128222", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x000000000000000000000000a02cddfa44b8c01b4257f54ac1c43f75801e8175", + "0x0000000000000000000000005082f249cdb2f2c1ee035e4f423c46ea2dab3ab1" + ], + "data": "0x0000000000000000000000000000000000000000000000000008e08e534373e0000000000000000000000000000000000000000000000000012032203cd574420000000000000000000000000000000000000000000001cc1a85878c43cd08d500000000000000000000000000000000000000000000000001175191e99200620000000000000000000000000000000000000000000001cc1a8e681a97107cb5", + "blockHash": "0xcd65d739a166cbee1c47842f7764c871db864c03c0674cd13b8df6477c9d2578", + "blockNumber": "0x26523e0", + "transactionHash": "0xd719ea3aabf951236f9988dea70edfc8586fc4459f9970f0aa953600f29f4d9d", + "transactionIndex": "0x9c", + "logIndex": "0x2e9", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000020000000000000002000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000000000000000000000000000000000000000000020000000080000040000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000004000000000000000000001000008000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000100000", + "type": "0x0", + "effectiveGasPrice": "0x7ac91aff" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1694884893, + "chain": 80001, + "multi": false, + "commit": "5e71aab" +} \ No newline at end of file diff --git a/broadcast/DeployWeightedECDSA.s.sol/80001/run-1695305019.json b/broadcast/DeployWeightedECDSA.s.sol/80001/run-1695305019.json new file mode 100644 index 00000000..8db300b0 --- /dev/null +++ b/broadcast/DeployWeightedECDSA.s.sol/80001/run-1695305019.json @@ -0,0 +1,33 @@ +{ + "transactions": [ + { + "hash": "0xa634526a3e1e346707cc64143ee18503821c53879519fc0b9e60da68af444e70", + "transactionType": "CREATE2", + "contractName": "WeightedECDSAValidator", + "contractAddress": "0xa24C32F45092AfB64F79CF0D31361000D5b70BD5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x19954d", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101203461011c57306080524660a0526040906001600160401b03908083018281118282101761010657835260168152602081017f5765696768746564454344534156616c696461746f72000000000000000000008152835190848201938285109085111761010657602060019260a09587528381520192603160f81b845251902091208160c0528060e0528351917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152838201524660608201523060808201522090610100918252516114e4918261012283396080518261110a015260a0518261112d015260c0518261119f015260e051826111c5015251816110e90152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6040608081526004908136101561001557600080fd5b600090813560e01c80630c9595561461098b578063333daf921461094e5780633a871cdd1461090b5780634f1169a8146108b2578063666d05f4146108335780638025aa49146105c457806384b0196e146104ed5780638fc925aa146104175780639469d148146103945780639ea9bd5914610352578063b2e2c99b14610186578063e6f68b9f146101265763fb6f93f9146100b057600080fd5b34610122576020366003190112610122578235825260026020528082203383526020528120805460ff81168481101561010f57906100fa8260029315908115610104575b50610f87565b60ff191617905580f35b6001915014866100f4565b634e487b7160e01b845260218552602484fd5b5080fd5b50346101225760203660031901126101225760809181906001600160a01b0361014d610e21565b16815280602052205481519162ffffff80831684528260181c16602084015265ffffffffffff8260301c169083015260601c6060820152f35b5082903461034e578060031936011261034e578135906101a4610e37565b338552600160209081528286206001600160a01b039092168087529181528286205462ffffff939190841615610315578487526002815281872083885281528187209460ff86541687811015610302576101fe9015610f87565b8752600381528187203388528152818720838852815281872080549660ff88169060028210156102ef57509061023689939215610fca565b600160ff1980991617905533825260018152828220848352815261028661026886858520541687895460381c16610f70565b875462ffffff60381b191660389190911b62ffffff60381b16178755565b85549382525285209180835460181c16908260381c1610156102a6578480f35b6102e793600191161782556102c865ffffffffffff80925460301c1642611006565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b818080808480f35b634e487b7160e01b8a5260219052602489fd5b634e487b7160e01b895260218852602489fd5b8590606492519162461bcd60e51b8352820152601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152fd5b8280fd5b503461012257806003193601126101225761036b610e21565b506024356001600160401b03811161034e5760209361038c91369101610def565b505051908152f35b50346101225780600319360112610122576103ad610e37565b83358352600260209081528284206001600160a01b039092168452528082205481519260ff82169085821015610404576060858562ffffff8686845265ffffffffffff8160081c16602085015260381c1690820152f35b634e487b7160e01b815260218652602490fd5b506020928360031936011261034e5780356001600160401b0381116104e9576104439036908301610def565b505033835282845262ffffff8284205416156104ba57503382528183528082205460601c5b6001600160a01b03908116903382146104ab5781845260019081865283852033865286528385205460181c16918452845281832033845284528282812055610468565b50508180933382525281205580f35b83606492519162461bcd60e51b8352820152600b60248201526a139bdd08195b98589b195960aa1b6044820152fd5b8380fd5b5090346105c157806003193601126105c1579080519061050c82610ebe565b60168252602092752bb2b4b3b43a32b222a1a229a0ab30b634b230ba37b960511b8484015261057982519261054084610ebe565b600193848152603160f81b8782015261056c825196600f60f81b885260e08989015260e0880190610e4d565b9186830390870152610e4d565b4660608501523060808501528160a085015283810360c0850152846060519182815201946080925b8281106105ae5785870386f35b83518752958101959281019284016105a1565b80fd5b5034610122576060366003190112610122576105de610e37565b906044356001600160401b0381116104e9576105fd9036908601610def565b939085358083526002906020918083528585209360018060a01b038098169485875284528686209760ff91828a54168c8110156108205761063e9015610f87565b875b6041808d048210156107cc576106918b8051898b8201927f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd84528201528d815261068981610e8d565b5190206110e7565b818302918383048114841517156107b8576001928385018086116107a25782810292818404149015171561078d578f6106e093926106da926106d39289611013565b369161102b565b90611071565b878b5260038952848c8c20911690818c5289528b8b208a8c5289528b8b2080548781168981101561077757938093929161071e610772979615610fca565b60ff19161790558b5288528a8a20898b52885261076d61074f8d8d8d62ffffff918291205416915460381c16610f70565b8d5462ffffff60381b191660389190911b62ffffff60381b16178d55565b610f21565b610640565b50508f8c6021602492634e487b7160e01b835252fd5b508f8c6011602492634e487b7160e01b835252fd5b50508f8c6011602492634e487b7160e01b835252fd5b8f8c6011602492634e487b7160e01b835252fd5b89898d8d838c835494825252832062ffffff80825460181c16908460381c1610156107f5578380f35b60016108199360ff19161782556102c865ffffffffffff80925460301c1642611006565b8180808380f35b634e487b7160e01b895260218d52602489fd5b50346101225760603660031901126101225761084d610e37565b6044356001600160a01b0381811692918390036108ae578535855260036020528385209116845260205281832090835260205260ff8183205416905191600282101561089b57602083838152f35b634e487b7160e01b815260218452602490fd5b8480fd5b5090346105c157816003193601126105c157816108cd610e21565b916108d6610e37565b60018060a01b0380941682526001602052838383209116825260205220549082519162ffffff8116835260181c166020820152f35b5082600319926060843601126105c1578135936001600160401b038511610122576101609085360301126105c15750602092610947910161122d565b9051908152f35b5090346105c157816003193601126105c157602435906001600160401b0382116105c1575060209261098291369101610def565b50505160018152f35b5090602080600319360112610122576001600160401b039284358481116104e9576109b99036908701610def565b8194910160808582031261012257843586811161034e5785019481601f8701121561034e578535956109ea87610efa565b966109f786519889610ed9565b808852868089019160051b83010191848311610dc8578701905b828210610dcc57505050848101358781116104e95781019180601f840112156104e9578235610a3f81610efa565b93610a4c87519586610ed9565b818552878086019260051b820101928311610dc85787809101915b838310610db05750505050610a7d848201610f11565b956060809201359765ffffffffffff891689036108ae578151845103610d7b5733855284875262ffffff97888787205416610d4657338652858852610ade33888820906bffffffffffffffffffffffff82549181199060601b169116179055565b855b8351811015610d04576001600160a01b0380610afc8387610f46565b511615610cca578a610b0e8389610f46565b511615610c925780610b208387610f46565b511688526001808b52898920338a528b528b8a8a205416610c4f578b610b46848a610f46565b511690338a52898c528a8a2054881c908b51928c840184811089821117610c39578f908f8f8f929589610b908f9c610c349d819d9b99610bfe9d9b87528b52868b01998a52610f46565b511684528252822033909252528d8d209251835492516001600160b81b031990931691161760189190911b6301000000600160b81b0316179055610bd48388610f46565b5116338a52898c528a8a20906bffffffffffffffffffffffff82549181199060601b169116179055565b8a610c098289610f46565b5116338952888b52898920908c610c24835492828416610f70565b169062ffffff1916179055610f21565b610ae0565b50508f8b6041602492634e487b7160e01b835252fd5b895162461bcd60e51b8152808f018c9052601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b885162461bcd60e51b8152808e018b9052601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b885162461bcd60e51b8152808e018b905260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b33875286895287872080546bffffffffffffffffff000000191660308d901b6bffffffffffff0000000000001617601884901b65ffffff000000161790558680f35b865162461bcd60e51b8152808c01899052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b855162461bcd60e51b8152808b01889052600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b8190610dbb84610f11565b8152019101908790610a67565b8580fd5b81356001600160a01b0381168103610deb578152908701908701610a11565b8680fd5b9181601f84011215610e1c578235916001600160401b038311610e1c5760208381860195010111610e1c57565b600080fd5b600435906001600160a01b0382168203610e1c57565b602435906001600160a01b0382168203610e1c57565b919082519283825260005b848110610e79575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610e58565b606081019081106001600160401b03821117610ea857604052565b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b03821117610ea857604052565b90601f801991011681019081106001600160401b03821117610ea857604052565b6001600160401b038111610ea85760051b60200190565b359062ffffff82168203610e1c57565b6000198114610f305760010190565b634e487b7160e01b600052601160045260246000fd5b8051821015610f5a5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b91909162ffffff80809416911601918211610f3057565b15610f8e57565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b15610fd157565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610f3057565b90939293848311610e1c578411610e1c578101920390565b9291926001600160401b038211610ea85760405191611054601f8201601f191660200184610ed9565b829481845281830111610e1c578281602093846000960137010152565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d156110da57606052604052565b638baa579f90526004601cfd5b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611174575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611155565b903590601e1981360301821215610e1c57018035906001600160401b038211610e1c57602001918136038313610e1c57565b9061123b60608301836111fb565b611282608060405183819460208301966040885281606085015284840137600083828401015260208801356040830152601f80199101168101036060810184520182610ed9565b519020908160005260029081602052604060002033600052602052604060002092600060205260406000209380549560ff871696600497888110156114cf578061149957505065ffffffffffff865460301c1661148d57806101406112e89201906111fb565b919062ffffff825460381c16946000955b604180860488101561145a5761134660405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd82528960408201526040815261068981610e8d565b9088818102048114891517156114455760018901808a11611430578082810204821481151715611430576106d38261138894936106da9302908c028a89611013565b86600052600360205260406000209060018060a01b031690816000526020526040600020336000526020526040600020805460ff81168b81101561141b5761140e5791611408939160016114029460ff1916179055600052600160205260406000203360005260205262ffffff6040600020541690611006565b96610f21565b956112f9565b5050509561140890610f21565b60218e634e487b7160e01b6000525260246000fd5b60118d634e487b7160e01b6000525260246000fd5b60118c634e487b7160e01b6000525260246000fd5b5097955097505091505062ffffff9250600360ff198254161790555460181c16111560001461148857600090565b600190565b50505092505050600190565b935096505092506001919350146000146114c857600365ffffffffffff60d01b8460c81b169360ff1916179055565b5060019150565b602189634e487b7160e01b6000525260246000fd", + "nonce": "0x190" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xa634526a3e1e346707cc64143ee18503821c53879519fc0b9e60da68af444e70" + ], + "returns": {}, + "timestamp": 1695305019, + "chain": 80001, + "multi": false, + "commit": "a6ecd6a" +} \ No newline at end of file diff --git a/broadcast/DeployWeightedECDSA.s.sol/80001/run-1695305026.json b/broadcast/DeployWeightedECDSA.s.sol/80001/run-1695305026.json new file mode 100644 index 00000000..11dfcc67 --- /dev/null +++ b/broadcast/DeployWeightedECDSA.s.sol/80001/run-1695305026.json @@ -0,0 +1,65 @@ +{ + "transactions": [ + { + "hash": "0xa634526a3e1e346707cc64143ee18503821c53879519fc0b9e60da68af444e70", + "transactionType": "CREATE2", + "contractName": "WeightedECDSAValidator", + "contractAddress": "0xa24C32F45092AfB64F79CF0D31361000D5b70BD5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x19954d", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101203461011c57306080524660a0526040906001600160401b03908083018281118282101761010657835260168152602081017f5765696768746564454344534156616c696461746f72000000000000000000008152835190848201938285109085111761010657602060019260a09587528381520192603160f81b845251902091208160c0528060e0528351917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152838201524660608201523060808201522090610100918252516114e4918261012283396080518261110a015260a0518261112d015260c0518261119f015260e051826111c5015251816110e90152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6040608081526004908136101561001557600080fd5b600090813560e01c80630c9595561461098b578063333daf921461094e5780633a871cdd1461090b5780634f1169a8146108b2578063666d05f4146108335780638025aa49146105c457806384b0196e146104ed5780638fc925aa146104175780639469d148146103945780639ea9bd5914610352578063b2e2c99b14610186578063e6f68b9f146101265763fb6f93f9146100b057600080fd5b34610122576020366003190112610122578235825260026020528082203383526020528120805460ff81168481101561010f57906100fa8260029315908115610104575b50610f87565b60ff191617905580f35b6001915014866100f4565b634e487b7160e01b845260218552602484fd5b5080fd5b50346101225760203660031901126101225760809181906001600160a01b0361014d610e21565b16815280602052205481519162ffffff80831684528260181c16602084015265ffffffffffff8260301c169083015260601c6060820152f35b5082903461034e578060031936011261034e578135906101a4610e37565b338552600160209081528286206001600160a01b039092168087529181528286205462ffffff939190841615610315578487526002815281872083885281528187209460ff86541687811015610302576101fe9015610f87565b8752600381528187203388528152818720838852815281872080549660ff88169060028210156102ef57509061023689939215610fca565b600160ff1980991617905533825260018152828220848352815261028661026886858520541687895460381c16610f70565b875462ffffff60381b191660389190911b62ffffff60381b16178755565b85549382525285209180835460181c16908260381c1610156102a6578480f35b6102e793600191161782556102c865ffffffffffff80925460301c1642611006565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b818080808480f35b634e487b7160e01b8a5260219052602489fd5b634e487b7160e01b895260218852602489fd5b8590606492519162461bcd60e51b8352820152601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152fd5b8280fd5b503461012257806003193601126101225761036b610e21565b506024356001600160401b03811161034e5760209361038c91369101610def565b505051908152f35b50346101225780600319360112610122576103ad610e37565b83358352600260209081528284206001600160a01b039092168452528082205481519260ff82169085821015610404576060858562ffffff8686845265ffffffffffff8160081c16602085015260381c1690820152f35b634e487b7160e01b815260218652602490fd5b506020928360031936011261034e5780356001600160401b0381116104e9576104439036908301610def565b505033835282845262ffffff8284205416156104ba57503382528183528082205460601c5b6001600160a01b03908116903382146104ab5781845260019081865283852033865286528385205460181c16918452845281832033845284528282812055610468565b50508180933382525281205580f35b83606492519162461bcd60e51b8352820152600b60248201526a139bdd08195b98589b195960aa1b6044820152fd5b8380fd5b5090346105c157806003193601126105c1579080519061050c82610ebe565b60168252602092752bb2b4b3b43a32b222a1a229a0ab30b634b230ba37b960511b8484015261057982519261054084610ebe565b600193848152603160f81b8782015261056c825196600f60f81b885260e08989015260e0880190610e4d565b9186830390870152610e4d565b4660608501523060808501528160a085015283810360c0850152846060519182815201946080925b8281106105ae5785870386f35b83518752958101959281019284016105a1565b80fd5b5034610122576060366003190112610122576105de610e37565b906044356001600160401b0381116104e9576105fd9036908601610def565b939085358083526002906020918083528585209360018060a01b038098169485875284528686209760ff91828a54168c8110156108205761063e9015610f87565b875b6041808d048210156107cc576106918b8051898b8201927f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd84528201528d815261068981610e8d565b5190206110e7565b818302918383048114841517156107b8576001928385018086116107a25782810292818404149015171561078d578f6106e093926106da926106d39289611013565b369161102b565b90611071565b878b5260038952848c8c20911690818c5289528b8b208a8c5289528b8b2080548781168981101561077757938093929161071e610772979615610fca565b60ff19161790558b5288528a8a20898b52885261076d61074f8d8d8d62ffffff918291205416915460381c16610f70565b8d5462ffffff60381b191660389190911b62ffffff60381b16178d55565b610f21565b610640565b50508f8c6021602492634e487b7160e01b835252fd5b508f8c6011602492634e487b7160e01b835252fd5b50508f8c6011602492634e487b7160e01b835252fd5b8f8c6011602492634e487b7160e01b835252fd5b89898d8d838c835494825252832062ffffff80825460181c16908460381c1610156107f5578380f35b60016108199360ff19161782556102c865ffffffffffff80925460301c1642611006565b8180808380f35b634e487b7160e01b895260218d52602489fd5b50346101225760603660031901126101225761084d610e37565b6044356001600160a01b0381811692918390036108ae578535855260036020528385209116845260205281832090835260205260ff8183205416905191600282101561089b57602083838152f35b634e487b7160e01b815260218452602490fd5b8480fd5b5090346105c157816003193601126105c157816108cd610e21565b916108d6610e37565b60018060a01b0380941682526001602052838383209116825260205220549082519162ffffff8116835260181c166020820152f35b5082600319926060843601126105c1578135936001600160401b038511610122576101609085360301126105c15750602092610947910161122d565b9051908152f35b5090346105c157816003193601126105c157602435906001600160401b0382116105c1575060209261098291369101610def565b50505160018152f35b5090602080600319360112610122576001600160401b039284358481116104e9576109b99036908701610def565b8194910160808582031261012257843586811161034e5785019481601f8701121561034e578535956109ea87610efa565b966109f786519889610ed9565b808852868089019160051b83010191848311610dc8578701905b828210610dcc57505050848101358781116104e95781019180601f840112156104e9578235610a3f81610efa565b93610a4c87519586610ed9565b818552878086019260051b820101928311610dc85787809101915b838310610db05750505050610a7d848201610f11565b956060809201359765ffffffffffff891689036108ae578151845103610d7b5733855284875262ffffff97888787205416610d4657338652858852610ade33888820906bffffffffffffffffffffffff82549181199060601b169116179055565b855b8351811015610d04576001600160a01b0380610afc8387610f46565b511615610cca578a610b0e8389610f46565b511615610c925780610b208387610f46565b511688526001808b52898920338a528b528b8a8a205416610c4f578b610b46848a610f46565b511690338a52898c528a8a2054881c908b51928c840184811089821117610c39578f908f8f8f929589610b908f9c610c349d819d9b99610bfe9d9b87528b52868b01998a52610f46565b511684528252822033909252528d8d209251835492516001600160b81b031990931691161760189190911b6301000000600160b81b0316179055610bd48388610f46565b5116338a52898c528a8a20906bffffffffffffffffffffffff82549181199060601b169116179055565b8a610c098289610f46565b5116338952888b52898920908c610c24835492828416610f70565b169062ffffff1916179055610f21565b610ae0565b50508f8b6041602492634e487b7160e01b835252fd5b895162461bcd60e51b8152808f018c9052601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b885162461bcd60e51b8152808e018b9052601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b885162461bcd60e51b8152808e018b905260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b33875286895287872080546bffffffffffffffffff000000191660308d901b6bffffffffffff0000000000001617601884901b65ffffff000000161790558680f35b865162461bcd60e51b8152808c01899052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b855162461bcd60e51b8152808b01889052600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b8190610dbb84610f11565b8152019101908790610a67565b8580fd5b81356001600160a01b0381168103610deb578152908701908701610a11565b8680fd5b9181601f84011215610e1c578235916001600160401b038311610e1c5760208381860195010111610e1c57565b600080fd5b600435906001600160a01b0382168203610e1c57565b602435906001600160a01b0382168203610e1c57565b919082519283825260005b848110610e79575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610e58565b606081019081106001600160401b03821117610ea857604052565b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b03821117610ea857604052565b90601f801991011681019081106001600160401b03821117610ea857604052565b6001600160401b038111610ea85760051b60200190565b359062ffffff82168203610e1c57565b6000198114610f305760010190565b634e487b7160e01b600052601160045260246000fd5b8051821015610f5a5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b91909162ffffff80809416911601918211610f3057565b15610f8e57565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b15610fd157565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610f3057565b90939293848311610e1c578411610e1c578101920390565b9291926001600160401b038211610ea85760405191611054601f8201601f191660200184610ed9565b829481845281830111610e1c578281602093846000960137010152565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d156110da57606052604052565b638baa579f90526004601cfd5b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611174575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611155565b903590601e1981360301821215610e1c57018035906001600160401b038211610e1c57602001918136038313610e1c57565b9061123b60608301836111fb565b611282608060405183819460208301966040885281606085015284840137600083828401015260208801356040830152601f80199101168101036060810184520182610ed9565b519020908160005260029081602052604060002033600052602052604060002092600060205260406000209380549560ff871696600497888110156114cf578061149957505065ffffffffffff865460301c1661148d57806101406112e89201906111fb565b919062ffffff825460381c16946000955b604180860488101561145a5761134660405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd82528960408201526040815261068981610e8d565b9088818102048114891517156114455760018901808a11611430578082810204821481151715611430576106d38261138894936106da9302908c028a89611013565b86600052600360205260406000209060018060a01b031690816000526020526040600020336000526020526040600020805460ff81168b81101561141b5761140e5791611408939160016114029460ff1916179055600052600160205260406000203360005260205262ffffff6040600020541690611006565b96610f21565b956112f9565b5050509561140890610f21565b60218e634e487b7160e01b6000525260246000fd5b60118d634e487b7160e01b6000525260246000fd5b60118c634e487b7160e01b6000525260246000fd5b5097955097505091505062ffffff9250600360ff198254161790555460181c16111560001461148857600090565b600190565b50505092505050600190565b935096505092506001919350146000146114c857600365ffffffffffff60d01b8460c81b169360ff1916179055565b5060019150565b602189634e487b7160e01b6000525260246000fd", + "nonce": "0x190" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xa634526a3e1e346707cc64143ee18503821c53879519fc0b9e60da68af444e70", + "transactionIndex": "0x7", + "blockHash": "0xf185114dc6dde6b3c0e4f9d6f565aa2ec01ee86c39b9b7728091ab064e594b16", + "blockNumber": "0x267c47a", + "from": "0xA02CDdFa44B8C01b4257F54ac1c43F75801E8175", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1a845e", + "gasUsed": "0x128594", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x000000000000000000000000a02cddfa44b8c01b4257f54ac1c43f75801e8175", + "0x000000000000000000000000f903ba9e006193c1527bfbe65fe2123704ea3f99" + ], + "data": "0x000000000000000000000000000000000000000000000000000677fa1ea62c00000000000000000000000000000000000000000000000000011633372b336590000000000000000000000000000000000000000000001154a17fc27e1daf1e6b000000000000000000000000000000000000000000000000010fbb3d0c8d3990000000000000000000000000000000000000000000001154a1863a783c554a6b", + "blockHash": "0xf185114dc6dde6b3c0e4f9d6f565aa2ec01ee86c39b9b7728091ab064e594b16", + "blockNumber": "0x267c47a", + "transactionHash": "0xa634526a3e1e346707cc64143ee18503821c53879519fc0b9e60da68af444e70", + "transactionIndex": "0x7", + "logIndex": "0x10", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000010000000000000000000000020000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000000000000000000000000000000000000000000020000000080000040000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000004000000000000000000001000008000000000000000000000000100000001000000000000000000000000000000000000000000000000000000000000000100000", + "type": "0x0", + "effectiveGasPrice": "0x59682f10" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1695305026, + "chain": 80001, + "multi": false, + "commit": "a6ecd6a" +} \ No newline at end of file diff --git a/broadcast/DeployWeightedECDSA.s.sol/80001/run-latest.json b/broadcast/DeployWeightedECDSA.s.sol/80001/run-latest.json new file mode 100644 index 00000000..11dfcc67 --- /dev/null +++ b/broadcast/DeployWeightedECDSA.s.sol/80001/run-latest.json @@ -0,0 +1,65 @@ +{ + "transactions": [ + { + "hash": "0xa634526a3e1e346707cc64143ee18503821c53879519fc0b9e60da68af444e70", + "transactionType": "CREATE2", + "contractName": "WeightedECDSAValidator", + "contractAddress": "0xa24C32F45092AfB64F79CF0D31361000D5b70BD5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x19954d", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101203461011c57306080524660a0526040906001600160401b03908083018281118282101761010657835260168152602081017f5765696768746564454344534156616c696461746f72000000000000000000008152835190848201938285109085111761010657602060019260a09587528381520192603160f81b845251902091208160c0528060e0528351917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152838201524660608201523060808201522090610100918252516114e4918261012283396080518261110a015260a0518261112d015260c0518261119f015260e051826111c5015251816110e90152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6040608081526004908136101561001557600080fd5b600090813560e01c80630c9595561461098b578063333daf921461094e5780633a871cdd1461090b5780634f1169a8146108b2578063666d05f4146108335780638025aa49146105c457806384b0196e146104ed5780638fc925aa146104175780639469d148146103945780639ea9bd5914610352578063b2e2c99b14610186578063e6f68b9f146101265763fb6f93f9146100b057600080fd5b34610122576020366003190112610122578235825260026020528082203383526020528120805460ff81168481101561010f57906100fa8260029315908115610104575b50610f87565b60ff191617905580f35b6001915014866100f4565b634e487b7160e01b845260218552602484fd5b5080fd5b50346101225760203660031901126101225760809181906001600160a01b0361014d610e21565b16815280602052205481519162ffffff80831684528260181c16602084015265ffffffffffff8260301c169083015260601c6060820152f35b5082903461034e578060031936011261034e578135906101a4610e37565b338552600160209081528286206001600160a01b039092168087529181528286205462ffffff939190841615610315578487526002815281872083885281528187209460ff86541687811015610302576101fe9015610f87565b8752600381528187203388528152818720838852815281872080549660ff88169060028210156102ef57509061023689939215610fca565b600160ff1980991617905533825260018152828220848352815261028661026886858520541687895460381c16610f70565b875462ffffff60381b191660389190911b62ffffff60381b16178755565b85549382525285209180835460181c16908260381c1610156102a6578480f35b6102e793600191161782556102c865ffffffffffff80925460301c1642611006565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b818080808480f35b634e487b7160e01b8a5260219052602489fd5b634e487b7160e01b895260218852602489fd5b8590606492519162461bcd60e51b8352820152601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152fd5b8280fd5b503461012257806003193601126101225761036b610e21565b506024356001600160401b03811161034e5760209361038c91369101610def565b505051908152f35b50346101225780600319360112610122576103ad610e37565b83358352600260209081528284206001600160a01b039092168452528082205481519260ff82169085821015610404576060858562ffffff8686845265ffffffffffff8160081c16602085015260381c1690820152f35b634e487b7160e01b815260218652602490fd5b506020928360031936011261034e5780356001600160401b0381116104e9576104439036908301610def565b505033835282845262ffffff8284205416156104ba57503382528183528082205460601c5b6001600160a01b03908116903382146104ab5781845260019081865283852033865286528385205460181c16918452845281832033845284528282812055610468565b50508180933382525281205580f35b83606492519162461bcd60e51b8352820152600b60248201526a139bdd08195b98589b195960aa1b6044820152fd5b8380fd5b5090346105c157806003193601126105c1579080519061050c82610ebe565b60168252602092752bb2b4b3b43a32b222a1a229a0ab30b634b230ba37b960511b8484015261057982519261054084610ebe565b600193848152603160f81b8782015261056c825196600f60f81b885260e08989015260e0880190610e4d565b9186830390870152610e4d565b4660608501523060808501528160a085015283810360c0850152846060519182815201946080925b8281106105ae5785870386f35b83518752958101959281019284016105a1565b80fd5b5034610122576060366003190112610122576105de610e37565b906044356001600160401b0381116104e9576105fd9036908601610def565b939085358083526002906020918083528585209360018060a01b038098169485875284528686209760ff91828a54168c8110156108205761063e9015610f87565b875b6041808d048210156107cc576106918b8051898b8201927f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd84528201528d815261068981610e8d565b5190206110e7565b818302918383048114841517156107b8576001928385018086116107a25782810292818404149015171561078d578f6106e093926106da926106d39289611013565b369161102b565b90611071565b878b5260038952848c8c20911690818c5289528b8b208a8c5289528b8b2080548781168981101561077757938093929161071e610772979615610fca565b60ff19161790558b5288528a8a20898b52885261076d61074f8d8d8d62ffffff918291205416915460381c16610f70565b8d5462ffffff60381b191660389190911b62ffffff60381b16178d55565b610f21565b610640565b50508f8c6021602492634e487b7160e01b835252fd5b508f8c6011602492634e487b7160e01b835252fd5b50508f8c6011602492634e487b7160e01b835252fd5b8f8c6011602492634e487b7160e01b835252fd5b89898d8d838c835494825252832062ffffff80825460181c16908460381c1610156107f5578380f35b60016108199360ff19161782556102c865ffffffffffff80925460301c1642611006565b8180808380f35b634e487b7160e01b895260218d52602489fd5b50346101225760603660031901126101225761084d610e37565b6044356001600160a01b0381811692918390036108ae578535855260036020528385209116845260205281832090835260205260ff8183205416905191600282101561089b57602083838152f35b634e487b7160e01b815260218452602490fd5b8480fd5b5090346105c157816003193601126105c157816108cd610e21565b916108d6610e37565b60018060a01b0380941682526001602052838383209116825260205220549082519162ffffff8116835260181c166020820152f35b5082600319926060843601126105c1578135936001600160401b038511610122576101609085360301126105c15750602092610947910161122d565b9051908152f35b5090346105c157816003193601126105c157602435906001600160401b0382116105c1575060209261098291369101610def565b50505160018152f35b5090602080600319360112610122576001600160401b039284358481116104e9576109b99036908701610def565b8194910160808582031261012257843586811161034e5785019481601f8701121561034e578535956109ea87610efa565b966109f786519889610ed9565b808852868089019160051b83010191848311610dc8578701905b828210610dcc57505050848101358781116104e95781019180601f840112156104e9578235610a3f81610efa565b93610a4c87519586610ed9565b818552878086019260051b820101928311610dc85787809101915b838310610db05750505050610a7d848201610f11565b956060809201359765ffffffffffff891689036108ae578151845103610d7b5733855284875262ffffff97888787205416610d4657338652858852610ade33888820906bffffffffffffffffffffffff82549181199060601b169116179055565b855b8351811015610d04576001600160a01b0380610afc8387610f46565b511615610cca578a610b0e8389610f46565b511615610c925780610b208387610f46565b511688526001808b52898920338a528b528b8a8a205416610c4f578b610b46848a610f46565b511690338a52898c528a8a2054881c908b51928c840184811089821117610c39578f908f8f8f929589610b908f9c610c349d819d9b99610bfe9d9b87528b52868b01998a52610f46565b511684528252822033909252528d8d209251835492516001600160b81b031990931691161760189190911b6301000000600160b81b0316179055610bd48388610f46565b5116338a52898c528a8a20906bffffffffffffffffffffffff82549181199060601b169116179055565b8a610c098289610f46565b5116338952888b52898920908c610c24835492828416610f70565b169062ffffff1916179055610f21565b610ae0565b50508f8b6041602492634e487b7160e01b835252fd5b895162461bcd60e51b8152808f018c9052601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b885162461bcd60e51b8152808e018b9052601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b885162461bcd60e51b8152808e018b905260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b33875286895287872080546bffffffffffffffffff000000191660308d901b6bffffffffffff0000000000001617601884901b65ffffff000000161790558680f35b865162461bcd60e51b8152808c01899052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b855162461bcd60e51b8152808b01889052600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b8190610dbb84610f11565b8152019101908790610a67565b8580fd5b81356001600160a01b0381168103610deb578152908701908701610a11565b8680fd5b9181601f84011215610e1c578235916001600160401b038311610e1c5760208381860195010111610e1c57565b600080fd5b600435906001600160a01b0382168203610e1c57565b602435906001600160a01b0382168203610e1c57565b919082519283825260005b848110610e79575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610e58565b606081019081106001600160401b03821117610ea857604052565b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b03821117610ea857604052565b90601f801991011681019081106001600160401b03821117610ea857604052565b6001600160401b038111610ea85760051b60200190565b359062ffffff82168203610e1c57565b6000198114610f305760010190565b634e487b7160e01b600052601160045260246000fd5b8051821015610f5a5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b91909162ffffff80809416911601918211610f3057565b15610f8e57565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b15610fd157565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610f3057565b90939293848311610e1c578411610e1c578101920390565b9291926001600160401b038211610ea85760405191611054601f8201601f191660200184610ed9565b829481845281830111610e1c578281602093846000960137010152565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d156110da57606052604052565b638baa579f90526004601cfd5b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611174575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611155565b903590601e1981360301821215610e1c57018035906001600160401b038211610e1c57602001918136038313610e1c57565b9061123b60608301836111fb565b611282608060405183819460208301966040885281606085015284840137600083828401015260208801356040830152601f80199101168101036060810184520182610ed9565b519020908160005260029081602052604060002033600052602052604060002092600060205260406000209380549560ff871696600497888110156114cf578061149957505065ffffffffffff865460301c1661148d57806101406112e89201906111fb565b919062ffffff825460381c16946000955b604180860488101561145a5761134660405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd82528960408201526040815261068981610e8d565b9088818102048114891517156114455760018901808a11611430578082810204821481151715611430576106d38261138894936106da9302908c028a89611013565b86600052600360205260406000209060018060a01b031690816000526020526040600020336000526020526040600020805460ff81168b81101561141b5761140e5791611408939160016114029460ff1916179055600052600160205260406000203360005260205262ffffff6040600020541690611006565b96610f21565b956112f9565b5050509561140890610f21565b60218e634e487b7160e01b6000525260246000fd5b60118d634e487b7160e01b6000525260246000fd5b60118c634e487b7160e01b6000525260246000fd5b5097955097505091505062ffffff9250600360ff198254161790555460181c16111560001461148857600090565b600190565b50505092505050600190565b935096505092506001919350146000146114c857600365ffffffffffff60d01b8460c81b169360ff1916179055565b5060019150565b602189634e487b7160e01b6000525260246000fd", + "nonce": "0x190" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xa634526a3e1e346707cc64143ee18503821c53879519fc0b9e60da68af444e70", + "transactionIndex": "0x7", + "blockHash": "0xf185114dc6dde6b3c0e4f9d6f565aa2ec01ee86c39b9b7728091ab064e594b16", + "blockNumber": "0x267c47a", + "from": "0xA02CDdFa44B8C01b4257F54ac1c43F75801E8175", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1a845e", + "gasUsed": "0x128594", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x000000000000000000000000a02cddfa44b8c01b4257f54ac1c43f75801e8175", + "0x000000000000000000000000f903ba9e006193c1527bfbe65fe2123704ea3f99" + ], + "data": "0x000000000000000000000000000000000000000000000000000677fa1ea62c00000000000000000000000000000000000000000000000000011633372b336590000000000000000000000000000000000000000000001154a17fc27e1daf1e6b000000000000000000000000000000000000000000000000010fbb3d0c8d3990000000000000000000000000000000000000000000001154a1863a783c554a6b", + "blockHash": "0xf185114dc6dde6b3c0e4f9d6f565aa2ec01ee86c39b9b7728091ab064e594b16", + "blockNumber": "0x267c47a", + "transactionHash": "0xa634526a3e1e346707cc64143ee18503821c53879519fc0b9e60da68af444e70", + "transactionIndex": "0x7", + "logIndex": "0x10", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000010000000000000000000000020000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000000000000000000000000000000000000000000020000000080000040000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000004000000000000000000001000008000000000000000000000000100000001000000000000000000000000000000000000000000000000000000000000000100000", + "type": "0x0", + "effectiveGasPrice": "0x59682f10" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1695305026, + "chain": 80001, + "multi": false, + "commit": "a6ecd6a" +} \ No newline at end of file diff --git a/scripts/DeployWeightedECDSA.s.sol b/scripts/DeployWeightedECDSA.s.sol new file mode 100644 index 00000000..5be69942 --- /dev/null +++ b/scripts/DeployWeightedECDSA.s.sol @@ -0,0 +1,31 @@ +pragma solidity ^0.8.0; + +import "src/validator/WeightedECDSAValidator.sol"; +import "src/executor/RecoveryAction.sol"; +import "forge-std/Script.sol"; +import "forge-std/console.sol"; + +contract DeployWeightedECDSA is Script { + address constant EXPECTED_ADDRESS_WEIGHTED_ECDSA_VALIDATOR = 0x4fd47D861c349bD49DC61341a922cb72F9dF7E8d; + address constant EXPECTED_ADDRESS_RECOVERY_ACTION = 0x2f65dB8039fe5CAEE0a8680D2879deB800F31Ae1; + + function run() public { + uint256 key = vm.envUint("DEPLOYER_PRIVATE_KEY"); + vm.startBroadcast(key); + if (EXPECTED_ADDRESS_WEIGHTED_ECDSA_VALIDATOR.code.length == 0) { + console.log("deploying WeightedECDSAValidator"); + WeightedECDSAValidator validator = new WeightedECDSAValidator{salt:0}(); + console.log("validator address: %s", address(validator)); + } else { + console.log("validator address: %s", address(EXPECTED_ADDRESS_WEIGHTED_ECDSA_VALIDATOR)); + } + if (EXPECTED_ADDRESS_RECOVERY_ACTION.code.length == 0) { + console.log("deploying RecoveryAction"); + RecoveryAction action = new RecoveryAction{salt:0}(); + console.log("RecoveryAction address: %s", address(action)); + } else { + console.log("RecoveryAction address: %s", address(EXPECTED_ADDRESS_RECOVERY_ACTION)); + } + vm.stopBroadcast(); + } +} diff --git a/src/executor/RecoveryAction.sol b/src/executor/RecoveryAction.sol new file mode 100644 index 00000000..d224ed77 --- /dev/null +++ b/src/executor/RecoveryAction.sol @@ -0,0 +1,9 @@ +pragma solidity ^0.8.0; + +import "src/interfaces/IValidator.sol"; + +contract RecoveryAction { + function doRecovery(address _validator, bytes calldata _data) external { + IKernelValidator(_validator).enable(_data); + } +} diff --git a/src/validator/WeightedECDSAValidator.sol b/src/validator/WeightedECDSAValidator.sol new file mode 100644 index 00000000..109b82b6 --- /dev/null +++ b/src/validator/WeightedECDSAValidator.sol @@ -0,0 +1,182 @@ +pragma solidity ^0.8.0; + +import "src/common/Types.sol"; +import {UserOperation} from "account-abstraction/interfaces/UserOperation.sol"; +import {ECDSA} from "solady/utils/ECDSA.sol"; +import {EIP712} from "solady/utils/EIP712.sol"; +import {IKernelValidator} from "src/interfaces/IValidator.sol"; + +struct WeightedECDSAValidatorStorage { + uint24 totalWeight; + uint24 threshold; + uint48 delay; + address firstGuardian; +} + +struct GuardianStorage { + uint24 weight; + address nextGuardian; +} + +enum ProposalStatus { + Ongoing, // all proposal is ongoing by default + Approved, + Rejected, + Executed +} + +struct ProposalStorage { + ProposalStatus status; + ValidAfter validAfter; + uint24 weightApproved; +} + +enum VoteStatus { + NA, + Approved +} + +struct VoteStorage { + VoteStatus status; +} + +contract WeightedECDSAValidator is EIP712, IKernelValidator { + mapping(address kernel => WeightedECDSAValidatorStorage) public weightedStorage; + mapping(address guardian => mapping(address kernel => GuardianStorage)) public guardian; + mapping(bytes32 callDataAndNonceHash => mapping(address kernel => ProposalStorage)) public proposalStatus; + mapping(bytes32 callDataAndNonceHash => mapping(address guardian => mapping(address kernel => VoteStorage))) public + voteStatus; + + function _domainNameAndVersion() internal pure override returns (string memory, string memory) { + return ("WeightedECDSAValidator", "1"); + } + + function enable(bytes calldata _data) external payable override { + (address[] memory _guardians, uint24[] memory _weights, uint24 _threshold, uint48 _delay) = + abi.decode(_data, (address[], uint24[], uint24, uint48)); + require(_guardians.length == _weights.length, "Length mismatch"); + require(weightedStorage[msg.sender].totalWeight == 0, "Already enabled"); + weightedStorage[msg.sender].firstGuardian = msg.sender; + for (uint256 i = 0; i < _guardians.length; i++) { + require(_guardians[i] != address(0), "Guardian cannot be 0"); + require(_weights[i] != 0, "Weight cannot be 0"); + require(guardian[_guardians[i]][msg.sender].weight == 0, "Guardian already enabled"); + guardian[_guardians[i]][msg.sender] = + GuardianStorage({weight: _weights[i], nextGuardian: weightedStorage[msg.sender].firstGuardian}); + weightedStorage[msg.sender].firstGuardian = _guardians[i]; + weightedStorage[msg.sender].totalWeight += _weights[i]; + } + weightedStorage[msg.sender].delay = _delay; + weightedStorage[msg.sender].threshold = _threshold; + } + + function disable(bytes calldata) external payable override { + require(weightedStorage[msg.sender].totalWeight != 0, "Not enabled"); + address currentGuardian = weightedStorage[msg.sender].firstGuardian; + while (currentGuardian != msg.sender) { + address nextGuardian = guardian[currentGuardian][msg.sender].nextGuardian; + delete guardian[currentGuardian][msg.sender]; + currentGuardian = nextGuardian; + } + delete weightedStorage[msg.sender]; + } + + function approve(bytes32 _callDataAndNonceHash, address _kernel) external { + require(guardian[msg.sender][_kernel].weight != 0, "Guardian not enabled"); + ProposalStorage storage proposal = proposalStatus[_callDataAndNonceHash][_kernel]; + require(proposal.status == ProposalStatus.Ongoing, "Proposal not ongoing"); + VoteStorage storage vote = voteStatus[_callDataAndNonceHash][msg.sender][_kernel]; + require(vote.status == VoteStatus.NA, "Already voted"); + vote.status = VoteStatus.Approved; + proposal.weightApproved += guardian[msg.sender][_kernel].weight; + if (proposal.weightApproved >= weightedStorage[_kernel].threshold) { + proposal.status = ProposalStatus.Approved; + proposal.validAfter = ValidAfter.wrap(uint48(block.timestamp + weightedStorage[_kernel].delay)); + } + } + + function approveWithSig(bytes32 _callDataAndNonceHash, address _kernel, bytes calldata sigs) external { + uint256 sigCount = sigs.length / 65; + ProposalStorage storage proposal = proposalStatus[_callDataAndNonceHash][_kernel]; + require(proposal.status == ProposalStatus.Ongoing, "Proposal not ongoing"); + for (uint256 i = 0; i < sigCount; i++) { + address signer = ECDSA.recover( + _hashTypedData( + keccak256(abi.encode(keccak256("Approve(bytes32 callDataAndNonceHash)"), _callDataAndNonceHash)) + ), + sigs[i * 65:(i + 1) * 65] + ); + VoteStorage storage vote = voteStatus[_callDataAndNonceHash][signer][_kernel]; + require(vote.status == VoteStatus.NA, "Already voted"); + vote.status = VoteStatus.Approved; + proposal.weightApproved += guardian[signer][_kernel].weight; + } + if (proposal.weightApproved >= weightedStorage[_kernel].threshold) { + proposal.status = ProposalStatus.Approved; + proposal.validAfter = ValidAfter.wrap(uint48(block.timestamp + weightedStorage[_kernel].delay)); + } + } + + function veto(bytes32 _callDataAndNonceHash) external { + ProposalStorage storage proposal = proposalStatus[_callDataAndNonceHash][msg.sender]; + require( + proposal.status == ProposalStatus.Ongoing || proposal.status == ProposalStatus.Approved, + "Proposal not ongoing" + ); + proposal.status = ProposalStatus.Rejected; + } + + function validateUserOp(UserOperation calldata userOp, bytes32 userOpHash, uint256 missingFunds) + external + payable + returns (ValidationData validationData) + { + bytes32 callDataAndNonceHash = keccak256(abi.encode(userOp.callData, userOp.nonce)); + ProposalStorage storage proposal = proposalStatus[callDataAndNonceHash][msg.sender]; + WeightedECDSAValidatorStorage storage strg = weightedStorage[msg.sender]; + if (proposal.status == ProposalStatus.Ongoing) { + if (strg.delay != 0) { + // if delay > 0, only allow proposal to be approved before execution + return SIG_VALIDATION_FAILED; + } + bytes calldata sig = userOp.signature; + // parse sig with 65 bytes + uint256 sigCount = sig.length / 65; + uint256 totalWeight = proposal.weightApproved; + address signer; + VoteStorage storage vote; + for (uint256 i = 0; i < sigCount; i++) { + // last sig is for userOpHash verification + signer = ECDSA.recover( + _hashTypedData(keccak256(abi.encode(keccak256("Approve(bytes32 callDataAndNonceHash)"), callDataAndNonceHash))), + sig[i * 65:(i + 1) * 65] + ); + vote = voteStatus[callDataAndNonceHash][signer][msg.sender]; + if (vote.status != VoteStatus.NA) { + continue; + } // skip if already voted + vote.status = VoteStatus.Approved; + totalWeight += guardian[signer][msg.sender].weight; + } + if (totalWeight >= strg.threshold) { + validationData = packValidationData(ValidAfter.wrap(0), ValidUntil.wrap(0)); + proposal.status = ProposalStatus.Executed; + } else { + validationData = SIG_VALIDATION_FAILED; + } + } else if (proposal.status == ProposalStatus.Approved) { + validationData = packValidationData(proposal.validAfter, ValidUntil.wrap(0)); + proposal.status = ProposalStatus.Executed; + } else { + return SIG_VALIDATION_FAILED; + } + } + + function validCaller(address, bytes calldata) external view override returns (bool) { + return false; + } + + function validateSignature(bytes32 hash, bytes calldata signature) external view returns (ValidationData) { + return SIG_VALIDATION_FAILED; + } +}