{ "abi": [ { "type": "function", "name": "verifySignature", "inputs": [ { "name": "g1Key", "type": "tuple", "internalType": "struct BN254.G1Point", "components": [ { "name": "X", "type": "uint256", "internalType": "uint256" }, { "name": "Y", "type": "uint256", "internalType": "uint256" } ] }, { "name": "g2Key", "type": "tuple", "internalType": "struct BN254.G2Point", "components": [ { "name": "X", "type": "uint256[2]", "internalType": "uint256[2]" }, { "name": "Y", "type": "uint256[2]", "internalType": "uint256[2]" } ] }, { "name": "sign", "type": "tuple", "internalType": "struct BN254.G1Point", "components": [ { "name": "X", "type": "uint256", "internalType": "uint256" }, { "name": "Y", "type": "uint256", "internalType": "uint256" } ] }, { "name": "msgHash", "type": "bytes32", "internalType": "bytes32" } ], "outputs": [], "stateMutability": "view" }, { "type": "error", "name": "OperatorAlreadyRegistered", "inputs": [] }, { "type": "error", "name": "OperatorAndIndexDontMatch", "inputs": [] }, { "type": "error", "name": "OperatorIsNotRegistered", "inputs": [] }, { "type": "error", "name": "PairingNotSuccessful", "inputs": [] }, { "type": "error", "name": "SignatureVerificationFailed", "inputs": [] } ], "bytecode": { "object": "0x611366610039600b82828239805160001a607314602c57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100615760003560e01c806355a540cb146100665780635dfed53a1461007b578063af63f2ed146100a3578063d3fbb5b4146100c3578063e8305e85146100e3575b600080fd5b610079610074366004610fa1565b610103565b005b61008e610089366004611038565b61023a565b60405190151581526020015b60405180910390f35b8180156100af57600080fd5b506100796100be366004611038565b61025d565b6100d66100d1366004611064565b61056e565b60405161009a919061107d565b8180156100ef57600080fd5b506100796100fe3660046110c1565b610656565b835160208086015185518051908301518784015180519085015188518987015160408051808a019a909a52898101979097526060890195909552608088019390935260a087019190915260c086015260e085015261010084015261012080840185905281518085039091018152610140909301905281519101206000806101f1610197610190898661077a565b8790610810565b61019f6108a5565b6101e76101d8876101d2604080518082018252600080825260209182015281518083019092526001825260029082015290565b9061077a565b6101e189610965565b90610810565b896201d4c06109f4565b915091508161021357604051633704cb5160e11b815260040160405180910390fd5b806102315760405163729d0f6b60e01b815260040160405180910390fd5b50505050505050565b6001600160a01b03811660009081526020839052604090205460ff165b92915050565b6001600160a01b0381166000908152600183016020526040902054600283018054909190811061028f5761028f611175565b6000918252602090912001546001600160a01b038281169116146102c657604051630a0fb14560e21b815260040160405180910390fd5b6001600160a01b03811660009081526020839052604090205460ff166102ff57604051634d83abb360e11b815260040160405180910390fd5b6002820154600783018054610316906001906111a1565b8154811061032657610326611175565b906000526020600020906002020183600701846001016000856001600160a01b03166001600160a01b03168152602001908152602001600020548154811061037057610370611175565b600091825260209091208254600290920201908155600191820154910155600783018054806103a1576103a16111b4565b60008281526020812060026000199093018381029091018281556001908101929092559092558401906103d490836111a1565b815481106103e4576103e4611175565b60009182526020808320909101546001600160a01b03858116845260018701909252604090922054600286018054929093169291811061042657610426611175565b600091825260208083209190910180546001600160a01b0319166001600160a01b0394851617905591841681526001858101928390526040822054929190600287019061047390866111a1565b8154811061048357610483611175565b60009182526020808320909101546001600160a01b03168352820192909252604001902055600283018054806104bb576104bb6111b4565b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b03841682528481526040808320805460ff19169055600186810183528184208490556006870183529281902081518083019092528054825290920154908201526105569061053590610c0e565b60408051808201909152600486015481526005860154602082015290610810565b80516004850155602001516005909301929092555050565b600781015460609060009067ffffffffffffffff81111561059157610591610eae565b6040519080825280602002602001820160405280156105d657816020015b60408051808201909152600080825260208201528152602001906001900390816105af5790505b50905060005b600784015481101561064f578360070181815481106105fd576105fd611175565b90600052602060002090600202016040518060400160405290816000820154815260200160018201548152505082828151811061063c5761063c611175565b60209081029190910101526001016105dc565b5092915050565b600080600080848060200190518101906106709190611242565b6001600160a01b038a16600090815260208c905260409020549397509195509350915060ff16156106b4576040516342ee68b560e01b815260040160405180910390fd5b60028781018054600180820183556000928352602080842090920180546001600160a01b0319166001600160a01b038c1690811790915583528a82526040808420805460ff19168317905560078c018054838e018552918520829055818301815584529282902088519390940290930191825586015191015561073984848385610103565b60408051808201909152600488015481526005880154602082015261075e9085610810565b8051600489015560200151600590970196909655505050505050565b6040805180820190915260008082526020820152610796610dd4565b835181526020808501519082015260408082018490526000908360608460076107d05a03fa905080806107c557fe5b50806108085760405162461bcd60e51b815260206004820152600d60248201526c1958cb5b5d5b0b59985a5b1959609a1b60448201526064015b60405180910390fd5b505092915050565b604080518082019091526000808252602082015261082c610df2565b835181526020808501518183015283516040808401919091529084015160608301526000908360808460066107d05a03fa9050808061086757fe5b50806108085760405162461bcd60e51b815260206004820152600d60248201526c1958cb5859190b59985a5b1959609a1b60448201526064016107ff565b6108ad610e10565b50604080516080810182527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c28183019081527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6060830152815281518083019092527f275dc4a288d1afb3cbb1ac09187524c7db36395df7be3b99e673b13a075a65ec82527f1d9befcd05a5323e6da4d435f3b617cdb3af83285c2df711ef39c01571827f9d60208381019190915281019190915290565b604080518082019091526000808252602082015260008080610995600080516020611311833981519152866112c4565b90505b6109a181610ca9565b909350915060008051602061131183398151915282830983036109da576040805180820190915290815260208101919091529392505050565b600080516020611311833981519152600182089050610998565b604080518082018252868152602080820186905282518084019093528683528201849052600091829190610a26610e35565b60005b6002811015610be1576000610a3f8260066112e6565b9050848260028110610a5357610a53611175565b60200201515183610a658360006112fd565b600c8110610a7557610a75611175565b6020020152848260028110610a8c57610a8c611175565b60200201516020015183826001610aa391906112fd565b600c8110610ab357610ab3611175565b6020020152838260028110610aca57610aca611175565b6020020151515183610add8360026112fd565b600c8110610aed57610aed611175565b6020020152838260028110610b0457610b04611175565b6020020151516001602002015183610b1d8360036112fd565b600c8110610b2d57610b2d611175565b6020020152838260028110610b4457610b44611175565b602002015160200151600060028110610b5f57610b5f611175565b602002015183610b708360046112fd565b600c8110610b8057610b80611175565b6020020152838260028110610b9757610b97611175565b602002015160200151600160028110610bb257610bb2611175565b602002015183610bc38360056112fd565b600c8110610bd357610bd3611175565b602002015250600101610a29565b50610bea610e54565b60006020826101808560088cfa9151919c9115159b50909950505050505050505050565b60408051808201909152600080825260208201528151158015610c3357506020820151155b15610c51575050604080518082019091526000808252602082015290565b6040518060400160405280836000015181526020016000805160206113118339815191528460200151610c8491906112c4565b610c9c906000805160206113118339815191526111a1565b905292915050565b919050565b60008080600080516020611311833981519152600360008051602061131183398151915286600080516020611311833981519152888909090890506000610d1f827f0c19139cb84c680a6e14116da060561765e05aa45a1c72a34f082305b61f3f52600080516020611311833981519152610d2b565b91959194509092505050565b600080610d36610e54565b610d3e610e72565b602080825281810181905260408201819052606082018890526080820187905260a082018690528260c08360056107d05a03fa92508280610d7b57fe5b5082610dc95760405162461bcd60e51b815260206004820152601a60248201527f424e3235342e6578704d6f643a2063616c6c206661696c75726500000000000060448201526064016107ff565b505195945050505050565b60405180606001604052806003906020820280368337509192915050565b60405180608001604052806004906020820280368337509192915050565b6040518060400160405280610e23610e90565b8152602001610e30610e90565b905290565b604051806101800160405280600c906020820280368337509192915050565b60405180602001604052806001906020820280368337509192915050565b6040518060c001604052806006906020820280368337509192915050565b60405180604001604052806002906020820280368337509192915050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715610ee757610ee7610eae565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715610f1657610f16610eae565b604052919050565b600060408284031215610f3057600080fd5b610f38610ec4565b823581526020928301359281019290925250919050565b600082601f830112610f6057600080fd5b610f6a6040610eed565b806040840185811115610f7c57600080fd5b845b81811015610f96578035845260209384019301610f7e565b509095945050505050565b600080600080848603610120811215610fb957600080fd5b610fc38787610f1e565b94506080603f1982011215610fd757600080fd5b50610fe0610ec4565b610fed8760408801610f4f565b8152610ffc8760808801610f4f565b602082015292506110108660c08701610f1e565b939692955092936101000135925050565b80356001600160a01b0381168114610ca457600080fd5b6000806040838503121561104b57600080fd5b8235915061105b60208401611021565b90509250929050565b60006020828403121561107657600080fd5b5035919050565b602080825282518282018190526000918401906040840190835b81811015610f96578351805184526020908101518185015290930192604090920191600101611097565b6000806000606084860312156110d657600080fd5b833592506110e660208501611021565b9150604084013567ffffffffffffffff81111561110257600080fd5b8401601f8101861361111357600080fd5b803567ffffffffffffffff81111561112d5761112d610eae565b611140601f8201601f1916602001610eed565b81815287602083850101111561115557600080fd5b816020840160208301376000602083830101528093505050509250925092565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b818103818111156102575761025761118b565b634e487b7160e01b600052603160045260246000fd5b6000604082840312156111dc57600080fd5b6111e4610ec4565b825181526020928301519281019290925250919050565b600082601f83011261120c57600080fd5b6112166040610eed565b80604084018581111561122857600080fd5b845b81811015610f9657805184526020938401930161122a565b60008060008084860361012081121561125a57600080fd5b61126487876111ca565b94506080603f198201121561127857600080fd5b50611281610ec4565b61128e87604088016111fb565b815261129d87608088016111fb565b602082015260c086015190935091506112b98660e087016111ca565b905092959194509250565b6000826112e157634e487b7160e01b600052601260045260246000fd5b500690565b80820281158282048414176102575761025761118b565b808201808211156102575761025761118b56fe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47a26469706673582212208a671b70b1706e2dbdc3e27a1148abc3e6cc1f962dbb4dba500151bf7419a74964736f6c634300081a0033", "sourceMap": "136:3998:1:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;136:3998:1;;;;;;;;;;;;;;;;;", "linkReferences": {} } }