2 txs
3 calls
constructor
constructor(address _kycRegistry, address initialAdmin)
functions
ADMIN_ROLE
viewfunction ADMIN_ROLE() view returns (bytes32)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getAddresses
viewfunction getAddresses() view returns (address kycRegistry_, tuple[] layers, address[2][] tokenPairs)
getLayersCount
viewfunction getLayersCount() view returns (uint256)
getRegisteredLayers
viewfunction getRegisteredLayers() view returns (address[])
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
isRegistered
viewfunction isRegistered(address prestaking) view returns (bool)
kycRegistry
viewfunction kycRegistry() view returns (address)
MAX_LAYERS
viewfunction MAX_LAYERS() view returns (uint256)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
addLayer
nonpayablefunction addLayer(address prestaking)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
removeLayer
nonpayablefunction removeLayer(address prestaking)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address callerConfirmation)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
events
LayerAdded
event LayerAdded(address indexed prestaking)
LayerRemoved
event LayerRemoved(address indexed prestaking)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
errors
AccessControlBadConfirmation
error AccessControlBadConfirmation()
AccessControlUnauthorizedAccount
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole)
LayerAlreadyRegistered
error LayerAlreadyRegistered(address layer)
LayerNotRegistered
error LayerNotRegistered(address layer)
MaxLayersReached
error MaxLayersReached()
ZeroAddress
error ZeroAddress()
creation bytecode
0x60a0346200011e576200133290601f38839003908101601f19168201906001600160401b038211838310176200012357808391604095869485528339810103126200011e576200005d6020620000558362000139565b920162000139565b906001600160a01b03808216156200010d57821615620000fc5760805262000091906200008a816200014e565b50620001ce565b5060008051602062001312833981519152906000908282528160205260018183200190828254925551927fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff8380a4611092908162000260823960805181818161023c01526108b30152f35b825163d92e233d60e01b8152600490fd5b835163d92e233d60e01b8152600490fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036200011e57565b6001600160a01b031660008181527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205490919060ff16620001ca57818052816020526040822081835260205260408220600160ff198254161790553391600080516020620012f28339815191528180a4600190565b5090565b6001600160a01b031660008181527f7d7ffb7a348e1c6a02869081a26547b49160dd3df72d1d75a570eb9b698292ec6020526040812054909190600080516020620013128339815191529060ff166200025a57808352826020526040832082845260205260408320600160ff19825416179055600080516020620012f2833981519152339380a4600190565b50509056fe608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a714610cd9575081630aa5494714610b4e5781631245ae5f14610a93578163248a9ca314610a695781632f2ff15d14610a3f57816336568abe146109f95781633c2bc4cd146108e25781634b155b971461089e57816375b238fc1461086357816391d148541461081d578163a217fddf14610802578163a39fac1214610193578163c3c5a54714610155578163c829b0e314610139578163d547741f146100f6575063e26dc263146100d557600080fd5b346100f257816003193601126100f2576020906001549051908152f35b5080fd5b91905034610135578060031936011261013557610131913561012c600161011b610d47565b938387528660205286200154610dd7565b610e7b565b5080f35b8280fd5b5050346100f257816003193601126100f2576020905160648152f35b5050346100f25760203660031901126100f25760209160ff9082906001600160a01b03610180610d2c565b1681526002855220541690519015158152f35b8383346100f257816003193601126100f257906001908154936101b585610f75565b906101c285519283610f53565b858252601f1995866101d382610f75565b01845b8181106107c85750508396845b82811061054f575061020c6101f789610f75565b9861020489519a8b610f53565b808a52610f75565b01845b8181106105015750508391845b82811061032a57505050508351936060928386019160018060a01b0394857f000000000000000000000000000000000000000000000000000000000000000016885260209381858a0152855180915260809185838b0197019285915b8383106102f457505050505086840381880152828089519586815201980194825b8584106102a657888a0389f35b909192939495968584829b8a51818587915b600283106102d85750505050019801940192919098969895949395610299565b83518a1681528c968b96509384019391909201918791016102b8565b845180518b168a52808901518b168a8a0152808701518b168a8801528101518a16898201529781019793870193918a0191610278565b61033a8199979998959698610ef0565b90548651630f74461560e01b81526001600160a01b0392602092839183918891839160039190911b1c87165afa9081156104f7579083918c916104bb575b5016918751632a6071ed60e21b815282818781875afa9081156104745782918d91829161047e575b50878b51809481936317bab80360e11b8352165afa90811561047457908d949392918d91610452575b5090849392918d955b6103f2575b5050505050506103e690610f8d565b9795979694939661021c565b9091929394988c82518b10156104485781868661042f61043d958f958961041c610437988b610fc6565b51166104288383610fc6565b5152610fc6565b510152610f8d565b99610f8d565b9493929190846103d2565b50988594506103d7565b61046e91503d808f833e6104668183610f53565b810190610fda565b8e6103c9565b89513d8e823e3d90fd5b925050508281813d83116104b4575b6104978183610f53565b810103126104b0578b6104aa8392610fb2565b8f6103a0565b8b80fd5b503d61048d565b809250838092503d83116104f0575b6104d48183610f53565b810103126104ec576104e68391610fb2565b8d610378565b8a80fd5b503d6104ca565b88513d8d823e3d90fd5b879495979896985185810181811067ffffffffffffffff82111761053c578652602091908636823782828a010152019795979694939661020f565b634e487b7160e01b8a526041865260248afd5b959761055e8798959698610ef0565b90548651630f74461560e01b81526001600160a01b039260209260039190911b1c83169082818981855afa908115610474579084918d91610790575b5016908851632a6071ed60e21b9182825284828b81875afa918215610784578e92610749575b508a5163364fd2cf60e11b81529085828c81885afa91821561073d57918f918d889695948a94936106f7575b50839051946105fa86610f21565b88865216868501528d8401521660608201526106168d8d610fc6565b526106218c8c610fc6565b50888a518094819382525afa9182156104f757908b929183926106bb575b5050868851809481936317bab80360e11b8352165afa9081156106b1578991610697575b50518101809111610684576106789096610f8d565b979597969493966101e3565b634e487b7160e01b885260118452602488fd5b6106ab91503d808b833e6104668183610f53565b8a610663565b86513d8b823e3d90fd5b8193508092503d83116106f0575b6106d38183610f53565b810103126106ec576106e58a91610fb2565b8c8061063f565b8980fd5b503d6106c9565b935050929394905081813d8311610736575b6107138183610f53565b81010312610732578b869493928861072b8194610fb2565b92906105ec565b8e80fd5b503d610709565b8f8d51903d90823e3d90fd5b9091508481813d831161077d575b6107618183610f53565b810103126107795761077290610fb2565b908f6105c0565b8d80fd5b503d610757565b8e8c51903d90823e3d90fd5b809250848092503d83116107c1575b6107a98183610f53565b810103126104b0576107bb8491610fb2565b8e61059a565b503d61079f565b60209088959698999799516107dc81610f21565b898152828a818301528a888301528a6060830152828901015201979597969493966101d6565b5050346100f257816003193601126100f25751908152602090f35b9050346101355781600319360112610135578160209360ff9261083e610d47565b903582528186528282206001600160a01b039091168252855220549151911615158152f35b5050346100f257816003193601126100f257602090517fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217758152f35b5050346100f257816003193601126100f257517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b91905034610135576020366003190112610135576108fe610d2c565b610906610d5d565b6001600160a01b0381169283156109eb57838552600260205260ff83862054166109d4576001549060648210156109c657600160401b8210156109b35750906109588260016109779401600155610ef0565b90919082549060031b9160018060a01b03809116831b921b1916179055565b81835260026020528220805460ff191660011790557f895dcf90608b0be6376145f1b710f140cd1f667c71bc3dd56a390c48f6ac12ec8280a280f35b634e487b7160e01b865260419052602485fd5b8351637d9d732d60e01b8152fd5b825163c584a6d960e01b8152908101849052602490fd5b825163d92e233d60e01b8152fd5b8383346100f257806003193601126100f257610a13610d47565b90336001600160a01b03831603610a305750610131919235610e7b565b5163334bd91960e11b81528390fd5b919050346101355780600319360112610135576101319135610a64600161011b610d47565b610dfd565b90503461013557602036600319011261013557816020936001923581528085522001549051908152f35b5050346100f257816003193601126100f25780516001805480835281855260208084019592939186907fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf690855b818110610b325750505082610af6910383610f53565b8451948186019282875251809352850195925b828110610b165785870386f35b83516001600160a01b0316875295810195928101928401610b09565b82546001600160a01b0316845292840192918701918701610ae0565b839150346100f25760208060031936011261013557610b6b610d2c565b93610b74610d5d565b6001600160a01b039485168085526002808452828620549193909160ff1615610cc2576001968754805b610ba6578780f35b600019818101828111610caf57908188610bc08694610ef0565b949054600395861b1c1614610bf5575050508015610be2576000190180610b9e565b634e487b7160e01b885260118752602488fd5b9092508a949698919597999a54838101908111610c9c579061095885610c1d610c2a94610ef0565b9054908a1b1c1691610ef0565b8354908115610c8957500192610c3f84610ef0565b81939154921b1b191690555583855252822060ff1981541690557f4f43ce8ea1c21bc94dd7670b7b9092ec6e9febef801db4fcd3fa4997b43f0afb8280a280828080808080808780f35b634e487b7160e01b8b526031905260248afd5b634e487b7160e01b8c526011835260248cfd5b634e487b7160e01b8a526011895260248afd5b505051631852a58160e01b81529182015260249150fd5b849134610135576020366003190112610135573563ffffffff60e01b81168091036101355760209250637965db0b60e01b8114908115610d1b575b5015158152f35b6301ffc9a760e01b14905083610d14565b600435906001600160a01b0382168203610d4257565b600080fd5b602435906001600160a01b0382168203610d4257565b3360009081527f7d7ffb7a348e1c6a02869081a26547b49160dd3df72d1d75a570eb9b698292ec60205260409020547fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217759060ff1615610db95750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b80600052600060205260406000203360005260205260ff6040600020541615610db95750565b9060009180835282602052604083209160018060a01b03169182845260205260ff60408420541615600014610e7657808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b9060009180835282602052604083209160018060a01b03169182845260205260ff604084205416600014610e765780835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b600154811015610f0b57600160005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b6080810190811067ffffffffffffffff821117610f3d57604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610f3d57604052565b67ffffffffffffffff8111610f3d5760051b60200190565b6000198114610f9c5760010190565b634e487b7160e01b600052601160045260246000fd5b51906001600160a01b0382168203610d4257565b8051821015610f0b5760209160051b010190565b6020908181840312610d425780519067ffffffffffffffff8211610d4257019180601f84011215610d4257825161101081610f75565b9361101e6040519586610f53565b818552838086019260051b820101928311610d42578301905b828210611045575050505090565b83809161105184610fb2565b81520191019061103756fea2646970667358221220f314514925ca05dd03fb995e008cea0dc74e804c2aebdc9c595f94e07ac4d76c64736f6c634300081400332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0da49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177500000000000000000000000082f1806aeab5ecb9a485eb041d5ed4940b1239950000000000000000000000006c15b25e9750dccb698c1a4023f34015bfe57649