0 txs
80.49m calls
constructor
constructor()
functions
facetAddress
viewfunction facetAddress(bytes4 _functionSelector) view returns (address facetAddress_)
facetAddresses
viewfunction facetAddresses() view returns (address[] facetAddresses_)
facetFunctionSelectors
viewfunction facetFunctionSelectors(address _facet) view returns (bytes4[] facetFunctionSelectors_)
facets
viewfunction facets() view returns (tuple[] facets_)
getAddresses
viewfunction getAddresses() view returns (tuple)
hasRole
viewfunction hasRole(address _account, uint8 _role) view returns (bool)
hasRoles
viewfunction hasRoles(address _account, uint8 _roleA, uint8 _roleB) view returns (bool)
diamondCut
nonpayablefunction diamondCut(tuple[] _faceCut, address _init, bytes _calldata)
initialize
nonpayablefunction initialize(address _govTimelock)
initializeGovEmergencyTimelock
nonpayablefunction initializeGovEmergencyTimelock(address _govEmergencyTimelock)
setRoles
nonpayablefunction setRoles(address[] _accounts, uint8[] _roles, bool[] _values)
events
AccessControlUpdated
event AccessControlUpdated(address target, uint8 role, bool access)
AddressesUpdated
event AddressesUpdated((address gns, address gnsStaking, address treasury) addresses)
DiamondCut
event DiamondCut((address facetAddress, uint8 action, bytes4[] functionSelectors)[] _diamondCut, address _init, bytes _calldata)
Initialized
event Initialized(uint8 version)
errors
AboveMax
error AboveMax()
AlreadyExists
error AlreadyExists()
BelowMin
error BelowMin()
BlockOrder
error BlockOrder()
DoesntExist
error DoesntExist()
InitError
error InitError()
InitializationFunctionReverted
error InitializationFunctionReverted(address _initializationContractAddress, bytes _calldata)
InsufficientBalance
error InsufficientBalance()
InvalidAddress
error InvalidAddress()
InvalidAddresses
error InvalidAddresses()
InvalidCollateralIndex
error InvalidCollateralIndex()
InvalidFacetCutAction
error InvalidFacetCutAction()
InvalidInputLength
error InvalidInputLength()
NotAllowed
error NotAllowed()
NotAuthorized
error NotAuthorized()
NotContract
error NotContract()
NotFound
error NotFound()
Overflow
error Overflow()
Paused
error Paused()
UnsupportedChain
error UnsupportedChain()
WrongAccess
error WrongAccess()
WrongIndex
error WrongIndex()
WrongLength
error WrongLength()
WrongOrder
error WrongOrder()
WrongOrderType
error WrongOrderType()
WrongParams
error WrongParams()
WrongTradeType
error WrongTradeType()
ZeroAddress
error ZeroAddress()
ZeroValue
error ZeroValue()
creation bytecode
0x608060405234801561001057600080fd5b5061001961001e565b6100dd565b600054610100900460ff161561008a5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116146100db576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b61216e80620000ed6000396000f3fe6080604052600436106100c05760003560e01c806395a8c58d11610074578063b9c972291161004e578063b9c97229146102d7578063c4d66de8146102f7578063cdffacc614610317576100c7565b806395a8c58d146101e8578063a39fac1214610218578063adfca15e146102aa576100c7565b806352b3aaca116100a557806352b3aaca1461017b57806352ef6b2c1461019b5780637a0ed627146101c6576100c7565b8063101e65031461013b5780631f931c1c1461015b576100c7565b366100c757005b60006100d161034f565b600080356001600160e01b0319168152602082905260409020549091506001600160a01b0316806101155760405163c5723b5160e01b815260040160405180910390fd5b3660008037600080366000845af43d6000803e808015610134573d6000f35b3d6000fd5b005b34801561014757600080fd5b5061013961015636600461198b565b61035b565b34801561016757600080fd5b50610139610176366004611a41565b6104c4565b34801561018757600080fd5b50610139610196366004611aef565b610525565b3480156101a757600080fd5b506101b061063d565b6040516101bd9190611b11565b60405180910390f35b3480156101d257600080fd5b506101db6106a9565b6040516101bd9190611ba4565b3480156101f457600080fd5b50610208610203366004611c32565b61085c565b60405190151581526020016101bd565b34801561022457600080fd5b50610278604080516060810182526000808252602082018190529181019190915250604080516060810182526003546001600160a01b03908116825260045481166020830152600554169181019190915290565b6040805182516001600160a01b03908116825260208085015182169083015292820151909216908201526060016101bd565b3480156102b657600080fd5b506102ca6102c5366004611aef565b6108b3565b6040516101bd9190611c65565b3480156102e357600080fd5b506102086102f2366004611ca7565b610972565b34801561030357600080fd5b50610139610312366004611aef565b610a21565b34801561032357600080fd5b50610337610332366004611d02565b610b5b565b6040516001600160a01b0390911681526020016101bd565b60008060fb5b92915050565b600060046103698282610b90565b86851415806103785750868314155b1561039657604051637db491eb60e01b815260040160405180910390fd5b60005b878110156104b95760008787838181106103b5576103b5611d33565b90506020020160208101906103ca9190611d49565b60048111156103db576103db611d1d565b1480156104165750338989838181106103f6576103f6611d33565b905060200201602081019061040b9190611aef565b6001600160a01b0316145b1561043457604051631eb49d6d60e11b815260040160405180910390fd5b6104b189898381811061044957610449611d33565b905060200201602081019061045e9190611aef565b88888481811061047057610470611d33565b90506020020160208101906104859190611d49565b87878581811061049757610497611d33565b90506020020160208101906104ac9190611d64565b610bb8565b600101610399565b505050505050505050565b600060046104d28282610b90565b61051c6104df8789611e1a565b8686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610c5a92505050565b50505050505050565b600054601790610100900460ff16158015610547575060005460ff8083169116105b6105af5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805461ffff191660ff8316176101001790556001600160a01b0382166105ea57604051632c1c702960e21b815260040160405180910390fd5b6105f78260046001610bb8565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b6060600061064961034f565b6002810180546040805160208084028201810190925282815293945083018282801561069e57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610680575b505050505091505090565b606060006106b561034f565b60028101549091508067ffffffffffffffff8111156106d6576106d6611d86565b60405190808252806020026020018201604052801561071c57816020015b6040805180820190915260008152606060208201528152602001906001900390816106f45790505b50925060005b8181101561085657600083600201828154811061074157610741611d33565b9060005260206000200160009054906101000a90046001600160a01b031690508085838151811061077457610774611d33565b6020908102919091018101516001600160a01b03928316905290821660009081526001860182526040908190208054825181850281018501909352808352919290919083018282801561082857602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116107d55790505b505050505085838151811061083f5761083f611d33565b602090810291909101810151015250600101610722565b50505090565b6001600160a01b03821660009081526002602052604081208183600481111561088757610887611d1d565b600481111561089857610898611d1d565b815260208101919091526040016000205460ff169392505050565b606060006108bf61034f565b6001600160a01b0384166000908152600182016020908152604091829020805483518184028101840190945280845293945091929083018282801561096557602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116109125790505b5050505050915050919050565b6001600160a01b03831660009081526002602052604081208184600481111561099d5761099d611d1d565b60048111156109ae576109ae611d1d565b815260208101919091526040016000205460ff1680610a1957506001600160a01b0384166000908152600260205260408120908360048111156109f3576109f3611d1d565b6004811115610a0457610a04611d1d565b815260208101919091526040016000205460ff165b949350505050565b600054610100900460ff1615808015610a415750600054600160ff909116105b80610a5b5750303b158015610a5b575060005460ff166001145b610abe5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016105a6565b6000805460ff191660011790558015610ae1576000805461ff0019166101001790555b6001600160a01b038216610b0857604051632c1c702960e21b815260040160405180910390fd5b610b158260006001610bb8565b8015610b57576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001610631565b5050565b600080610b6661034f565b6001600160e01b03199093166000908152602093909352505060409020546001600160a01b031690565b610b9b338383610972565b610b5757604051631b17ff5560e21b815260040160405180910390fd5b6001600160a01b03831660009081526002602052604081208291846004811115610be457610be4611d1d565b6004811115610bf557610bf5611d1d565b815260200190815260200160002060006101000a81548160ff0219169083151502179055507f8d7fdec37f50c07219a6a0859420936836eb9254bf412035e3acede18b8b093d838383604051610c4d93929190611f4e565b60405180910390a1505050565b60005b8351811015610dd7576000848281518110610c7a57610c7a611d33565b602002602001015160200151905060006003811115610c9b57610c9b611d1d565b816003811115610cad57610cad611d1d565b03610cfb57610cf6858381518110610cc757610cc7611d33565b602002602001015160000151868481518110610ce557610ce5611d33565b602002602001015160400151610e22565b610dce565b6001816003811115610d0f57610d0f611d1d565b03610d5857610cf6858381518110610d2957610d29611d33565b602002602001015160000151868481518110610d4757610d47611d33565b60200260200101516040015161102d565b6002816003811115610d6c57610d6c611d1d565b03610db557610cf6858381518110610d8657610d86611d33565b602002602001015160000151868481518110610da457610da4611d33565b602002602001015160400151611241565b60405163609c600560e11b815260040160405180910390fd5b50600101610c5d565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb673838383604051610e0b93929190611fd4565b60405180910390a1610e1d828261139c565b505050565b6000815111610e875760405162461bcd60e51b815260206004820152602b60248201527f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660448201526a1858d95d081d1bc818dd5d60aa1b60648201526084016105a6565b6000610e9161034f565b90506001600160a01b038316610efe5760405162461bcd60e51b815260206004820152602c60248201527f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260448201526b65206164647265737328302960a01b60648201526084016105a6565b6001600160a01b0383166000908152600182016020526040812054906bffffffffffffffffffffffff82169003610f3957610f398285611449565b60005b8351811015611026576000848281518110610f5957610f59611d33565b6020908102919091018101516001600160e01b031981166000908152918690526040909120549091506001600160a01b03168015610fff5760405162461bcd60e51b815260206004820152603560248201527f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60448201527f6e207468617420616c726561647920657869737473000000000000000000000060648201526084016105a6565b61100b8583868a61149a565b83611015816120a6565b94505060019092019150610f3c9050565b5050505050565b60008151116110925760405162461bcd60e51b815260206004820152602b60248201527f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660448201526a1858d95d081d1bc818dd5d60aa1b60648201526084016105a6565b600061109c61034f565b90506001600160a01b0383166111095760405162461bcd60e51b815260206004820152602c60248201527f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260448201526b65206164647265737328302960a01b60648201526084016105a6565b6001600160a01b0383166000908152600182016020526040812054906bffffffffffffffffffffffff82169003611144576111448285611449565b60005b835181101561102657600084828151811061116457611164611d33565b6020908102919091018101516001600160e01b031981166000908152918690526040909120549091506001600160a01b03908116908716810361120f5760405162461bcd60e51b815260206004820152603860248201527f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60448201527f6374696f6e20776974682073616d652066756e6374696f6e000000000000000060648201526084016105a6565b61121a85828461153f565b6112268583868a61149a565b83611230816120a6565b945050600190920191506111479050565b60008151116112a65760405162461bcd60e51b815260206004820152602b60248201527f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660448201526a1858d95d081d1bc818dd5d60aa1b60648201526084016105a6565b60006112b061034f565b90506001600160a01b0383161561132f5760405162461bcd60e51b815260206004820152603660248201527f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260448201527f657373206d75737420626520616464726573732830290000000000000000000060648201526084016105a6565b60005b825181101561139657600083828151811061134f5761134f611d33565b6020908102919091018101516001600160e01b031981166000908152918590526040909120549091506001600160a01b031661138c84828461153f565b5050600101611332565b50505050565b6001600160a01b0382166113ae575050565b6113b78261191b565b600080836001600160a01b0316836040516113d291906120d1565b600060405180830381855af49150503d806000811461140d576040519150601f19603f3d011682016040523d82523d6000602084013e611412565b606091505b5091509150816113965780511561142c5780518082602001fd5b838360405163192105d760e01b81526004016105a69291906120ed565b6114528161191b565b6002820180546001600160a01b0390921660008181526001948501602090815260408220860185905594840183559182529290200180546001600160a01b0319169091179055565b6001600160e01b0319831660008181526020868152604080832080546bffffffffffffffffffffffff909716600160a01b026001600160a01b0397881617815594909516808352600180890183529583208054968701815583528183206008870401805460e09890981c60046007909816979097026101000a96870263ffffffff9097021990971695909517909555529290915281546001600160a01b031916179055565b6001600160a01b0382166115bb5760405162461bcd60e51b815260206004820152603760248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360448201527f74696f6e207468617420646f65736e277420657869737400000000000000000060648201526084016105a6565b306001600160a01b038316036116395760405162461bcd60e51b815260206004820152602e60248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560448201527f7461626c652066756e6374696f6e00000000000000000000000000000000000060648201526084016105a6565b6001600160e01b03198116600090815260208481526040808320546001600160a01b0386168452600180880190935290832054600160a01b9091046bffffffffffffffffffffffff16929161168d9161210f565b9050808214611784576001600160a01b038416600090815260018601602052604081208054839081106116c2576116c2611d33565b600091825260208083206008830401546001600160a01b038916845260018a019091526040909220805460079092166004026101000a90920460e01b92508291908590811061171357611713611d33565b600091825260208083206008830401805463ffffffff60079094166004026101000a938402191660e09590951c929092029390931790556001600160e01b03199290921682528690526040902080546001600160a01b0316600160a01b6bffffffffffffffffffffffff8516021790555b6001600160a01b038416600090815260018601602052604090208054806117ad576117ad612122565b60008281526020808220600860001990940193840401805463ffffffff600460078716026101000a0219169055919092556001600160e01b031985168252869052604081208190558190036110265760028501546000906118109060019061210f565b6001600160a01b03861660009081526001808901602052604090912001549091508082146118bf57600087600201838154811061184f5761184f611d33565b6000918252602090912001546002890180546001600160a01b03909216925082918490811061188057611880611d33565b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055929091168152600189810190925260409020018190555b866002018054806118d2576118d2612122565b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b0388168252600189810190915260408220015550505050505050565b803b6000819003610b5757604051636f7c43f160e01b815260040160405180910390fd5b60008083601f84011261195157600080fd5b50813567ffffffffffffffff81111561196957600080fd5b6020830191508360208260051b850101111561198457600080fd5b9250929050565b600080600080600080606087890312156119a457600080fd5b863567ffffffffffffffff808211156119bc57600080fd5b6119c88a838b0161193f565b909850965060208901359150808211156119e157600080fd5b6119ed8a838b0161193f565b90965094506040890135915080821115611a0657600080fd5b50611a1389828a0161193f565b979a9699509497509295939492505050565b80356001600160a01b0381168114611a3c57600080fd5b919050565b600080600080600060608688031215611a5957600080fd5b853567ffffffffffffffff80821115611a7157600080fd5b611a7d89838a0161193f565b9097509550859150611a9160208901611a25565b94506040880135915080821115611aa757600080fd5b818801915088601f830112611abb57600080fd5b813581811115611aca57600080fd5b896020828501011115611adc57600080fd5b9699959850939650602001949392505050565b600060208284031215611b0157600080fd5b611b0a82611a25565b9392505050565b6020808252825182820181905260009190848201906040850190845b81811015611b525783516001600160a01b031683529284019291840191600101611b2d565b50909695505050505050565b60008151808452602080850194506020840160005b83811015611b995781516001600160e01b03191687529582019590820190600101611b73565b509495945050505050565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b83811015611c1557888303603f19018552815180516001600160a01b03168452870151878401879052611c0287850182611b5e565b9588019593505090860190600101611bcd565b509098975050505050505050565b803560058110611a3c57600080fd5b60008060408385031215611c4557600080fd5b611c4e83611a25565b9150611c5c60208401611c23565b90509250929050565b6020808252825182820181905260009190848201906040850190845b81811015611b525783516001600160e01b03191683529284019291840191600101611c81565b600080600060608486031215611cbc57600080fd5b611cc584611a25565b9250611cd360208501611c23565b9150611ce160408501611c23565b90509250925092565b80356001600160e01b031981168114611a3c57600080fd5b600060208284031215611d1457600080fd5b611b0a82611cea565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600060208284031215611d5b57600080fd5b611b0a82611c23565b600060208284031215611d7657600080fd5b81358015158114611b0a57600080fd5b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff81118282101715611dbf57611dbf611d86565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715611dee57611dee611d86565b604052919050565b600067ffffffffffffffff821115611e1057611e10611d86565b5060051b60200190565b6000611e2d611e2884611df6565b611dc5565b83815260208082019190600586811b860136811115611e4b57600080fd5b865b81811015611f4157803567ffffffffffffffff80821115611e6e5760008081fd5b818a01915060608236031215611e845760008081fd5b611e8c611d9c565b611e9583611a25565b81528683013560048110611ea95760008081fd5b8188015260408381013583811115611ec15760008081fd5b939093019236601f850112611ed857600092508283fd5b83359250611ee8611e2884611df6565b83815292871b84018801928881019036851115611f055760008081fd5b948901945b84861015611f2a57611f1b86611cea565b82529489019490890190611f0a565b918301919091525088525050948301948301611e4d565b5092979650505050505050565b6001600160a01b03841681526060810160058410611f6e57611f6e611d1d565b8360208301528215156040830152949350505050565b60005b83811015611f9f578181015183820152602001611f87565b50506000910152565b60008151808452611fc0816020860160208601611f84565b601f01601f19169290920160200192915050565b600060608083016060845280875180835260808601915060808160051b87010192506020808a0160005b8381101561206157888603607f19018552815180516001600160a01b03168752838101516004811061203257612032611d1d565b8785015260409081015190870188905261204e88880182611b5e565b9650509382019390820190600101611ffe565b50506001600160a01b03891690870152505083810360408501526120858186611fa8565b979650505050505050565b634e487b7160e01b600052601160045260246000fd5b60006bffffffffffffffffffffffff8083168181036120c7576120c7612090565b6001019392505050565b600082516120e3818460208701611f84565b9190910192915050565b6001600160a01b0383168152604060208201526000610a196040830184611fa8565b8181038181111561035557610355612090565b634e487b7160e01b600052603160045260246000fdfea26469706673582212204a22d626bf3fbed420b02631955e5190cbf2ea1f0cb9675803c2dd87be5b4eaa64736f6c63430008170033