0 txs
12.7k calls
constructor
constructor(address _qeid, address _fmspcTcb, address _pcs, address _pck, address _pckHelper, address _crlHelper)
functions
crlHelperAddr
viewfunction crlHelperAddr() view returns (address)
fmspcTcbDaoAddr
viewfunction fmspcTcbDaoAddr() view returns (address)
getCert
viewfunction getCert(uint8 ca) view returns (bool success, bytes x509Der)
getCertHash
viewfunction getCertHash(uint8 ca) view returns (bool success, bytes32 hash)
getCrl
viewfunction getCrl(uint8 ca) view returns (bool success, bytes x509CrlDer)
getCrlHash
viewfunction getCrlHash(uint8 ca) view returns (bool success, bytes32 hash)
getFmspcTcbV2
viewfunction getFmspcTcbV2(bytes6 fmspc) view returns (bool valid, tuple[] tcbLevelsV2)
getFmspcTcbV3
viewfunction getFmspcTcbV3(uint8 id, bytes6 fmspc) view returns (bool valid, tuple[] tcbLevelsV3, tuple tdxModule, tuple[] tdxModuleIdentities)
getPckCert
viewfunction getPckCert(string qeid, string platformCpuSvn, string platformPceSvn, string pceid) view returns (bool success, bytes pckDer)
getQeIdentity
viewfunction getQeIdentity(uint8 id, uint256 quoteVersion) view returns (bool valid, tuple identity)
owner
viewfunction owner() view returns (address result)
ownershipHandoverExpiresAt
viewfunction ownershipHandoverExpiresAt(address pendingOwner) view returns (uint256 result)
pckDaoAddr
viewfunction pckDaoAddr() view returns (address)
pckHelperAddr
viewfunction pckHelperAddr() view returns (address)
pcsDaoAddr
viewfunction pcsDaoAddr() view returns (address)
qeIdDaoAddr
viewfunction qeIdDaoAddr() view returns (address)
cancelOwnershipHandover
payablefunction cancelOwnershipHandover() payable
completeOwnershipHandover
payablefunction completeOwnershipHandover(address pendingOwner) payable
disableCallerRestriction
nonpayablefunction disableCallerRestriction()
enableCallerRestriction
nonpayablefunction enableCallerRestriction()
renounceOwnership
payablefunction renounceOwnership() payable
requestOwnershipHandover
payablefunction requestOwnershipHandover() payable
setAuthorized
nonpayablefunction setAuthorized(address caller, bool authorized)
setConfig
nonpayablefunction setConfig(address _qeid, address _fmspcTcb, address _pcs, address _pck, address _pckHelper, address _crlHelper)
transferOwnership
payablefunction transferOwnership(address newOwner) payable
events
OwnershipHandoverCanceled
event OwnershipHandoverCanceled(address indexed pendingOwner)
OwnershipHandoverRequested
event OwnershipHandoverRequested(address indexed pendingOwner)
OwnershipTransferred
event OwnershipTransferred(address indexed oldOwner, address indexed newOwner)
errors
AlreadyInitialized
error AlreadyInitialized()
CertNotFound
error CertNotFound(uint8 ca)
CrlNotFound
error CrlNotFound(uint8 ca)
FmspcTcbNotFound
error FmspcTcbNotFound(uint8 id, uint256 tcbVersion)
Forbidden
error Forbidden()
NewOwnerIsZeroAddress
error NewOwnerIsZeroAddress()
NoHandoverRequest
error NoHandoverRequest()
QEIdentityNotFound
error QEIdentityNotFound(uint8 id, uint256 quoteVersion)
Unauthorized
error Unauthorized()
creation bytecode
0x60803461017d57601f6122b238819003918201601f19168301916001600160401b038311848410176101825780849260c09460405283398101031261017d5761004781610198565b9061005460208201610198565b61006060408301610198565b61006c60608401610198565b9161008560a061007e60808701610198565b9501610198565b9433638b78c6d819553360007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a360018054610100600160a81b03191660089290921b610100600160a81b0316919091178155600280546001600160a01b03199081166001600160a01b0394851617909155600380548216948416949094179093556004805484169483169490941790935560058054831694821694909417909355600680549091169390921692909217905560008080526020527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5805460ff1916909117905560405161210590816101ad8239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b038216820361017d5756fe608080604052600436101561001357600080fd5b60003560e01c90816301627c1514611983575080631a60341c1461185b578063256929621461180f5780633fcb603b146117e65780634a27215b146117bd57806354d1f13d1461177557806367ecb1391461174c578063711bf9b2146116f6578063715018a6146116aa5780637b3becf2146116835780637d0ab5421461165e578063812df3951461154b5780638da5cb5b1461151e578063943374c9146113d957806398e98ffe14611252578063a498226f1461106c578063b9f1b94f14610b59578063c64c7b90146109f4578063ccbfa648146108a0578063d137d4a314610877578063e69f638314610221578063e99bba53146101f8578063f04e283e146101a8578063f2fde38b1461016a5763fee81cf41461013257600080fd5b346101655760203660031901126101655761014b611a0e565b63389a75e1600c52600052602080600c2054604051908152f35b600080fd5b60203660031901126101655761017e611a0e565b610186612074565b8060601b1561019a5761019890612091565b005b637448fbae6000526004601cfd5b6020366003190112610165576101bc611a0e565b6101c4612074565b63389a75e1600c52806000526020600c2090815442116101ea5760006101989255612091565b636f5e88186000526004601cfd5b34610165576000366003190112610165576005546040516001600160a01b039091168152602090f35b3461016557604036600319011261016557600435600281108015610165576024359165ffffffffffff60d01b83168093036101655760006040805161026581611bdc565b60608152826020820152015260ff600154168061085e575b61084d5760025460405163b63e9e7b60e01b815260ff831660048201526024810194909452600360448501526001600160a01b03169260009190602081606481885afa90811561084257908391829161080d575b506102da611ccb565b50602460405180978193635a0a685960e11b835260048301525afa9384156108025782946107de575b50835115801593906107ac5750508251830192602084016101a0828603126105f5576103328160208401611d3b565b506101208201516001600160401b0381116107a8578201926060848703126105f2576040519361036185611bdc565b60208101516001600160401b0381116105f557816103898560206060946103a2960101611c34565b87526103976040820161205f565b60208801520161205f565b60408501526101408301516001600160401b0381116105f957830182603f820112156105f95760208101516103d681611dee565b976103e4604051998a611c13565b818952602080808b019360051b85010101928584116107a45760408101925b8484106105fd5750505050506101608301516001600160401b0381116105f95782602061043292860101611e79565b926101808101516001600160401b0381116105f55783602061045692840101611c34565b506101a0810151916001600160401b0383116105f257509160206104809261049b95940101611c34565b50939193604051938452608060208501526080840190611a95565b828103604084015260406104b885516060845260608401906119cd565b946001600160401b0360c01b6020820151166020840152816001600160401b0360c01b910151169101528183036060830152805180845260208401906020808260051b8701019301916000905b8282106105125785850386f35b90919293601f1987820301825284516080610577610539835160a0865260a08601906119cd565b6001600160401b0360c01b60208501511660208601526001600160401b0360c01b6040850151166040860152606084015185820360608701526119cd565b910151916080818303910152602080835192838152019201906000905b8082106105b257505050602080600192960192019201909291610505565b909192602060606001926105e76040885160ff81511684526001600160401b0386820151168685015201516040830190611a88565b019401920190610594565b80fd5b8280fd5b5080fd5b83516001600160401b0381116107a0578201602081019060a0908503601f1901126107a0576040519060a082018281106001600160401b0382111761078c5760405260208101516001600160401b0381116107885789602061066192840101611c34565b825261066f6040820161205f565b60208301526106806060820161205f565b604083015260808101516001600160401b038111610788578960206106a792840101611c34565b606083015260a0810151906001600160401b0382116107885790602091010188601f820112156107845780516106dc81611dee565b916106ea6040519384611c13565b818352602060608185019302820101908b821161078057602001915b818310610723575050506080820152815260209384019301610403565b60606020848a0301126107805760405161073c81611bdc565b61074584611d08565b815261075360208501611d27565b60208201526040840151600881101561077c576040820152815260609290920191602001610706565b8c80fd5b8a80fd5b8780fd5b8880fd5b634e487b7160e01b89526041600452602489fd5b8680fd5b8480fd5b8380fd5b63eb9cf5a360e01b83528290156107ca576044916004526003602452fd5b634e487b7160e01b81526021600452602490fd5b6107fb9194503d8084833e6107f38183611c13565b810190611c85565b9284610303565b6040513d84823e3d90fd5b9150506020813d60201161083a575b8161082960209383611c13565b810103126105f557829051866102d1565b3d915061081c565b6040513d85823e3d90fd5b631dd2188d60e31b60005260046000fd5b5033600052600060205260ff604060002054161561027d565b34610165576000366003190112610165576004546040516001600160a01b039091168152602090f35b346101655760203660031901126101655760043560048110156101655760ff60015416806109db575b61084d57600354604051630b13bf2960e41b8152600092916001600160a01b03169083906108f684611ba0565b836004820152816024820152602081604481865afa9081156108025782916109a9575b50602460405180948193635a0a685960e11b835260048301525afa92831561099d578093610980575b505081511590811591610963575061095f604051928392836119f2565b0390f35b63da23629360e01b60005261097781611ba0565b60045260246000fd5b6109959293503d8091833e6107f38183611c13565b908280610942565b604051903d90823e3d90fd5b90506020813d6020116109d3575b816109c460209383611c13565b810103126105f9575185610919565b3d91506109b7565b5033600052600060205260ff60406000205416156108c9565b346101655760203660031901126101655760043560048110156101655760ff6001541680610b40575b61084d57600354604051630b13bf2960e41b8152600092916001600160a01b031690610a4883611ba0565b82600482015260016024820152602081604481855afa8015610b35578490610b02575b6020915060246040518094819363bf721aaf60e01b835260048301525afa92831561099d578093610acb575b5050811590811591610ab757506040805191151582526020820192909252f35b630c637bb160e11b60005261097781611ba0565b909192506020823d602011610afa575b81610ae860209383611c13565b810103126105f2575051908280610a97565b3d9150610adb565b506020813d602011610b2d575b81610b1c60209383611c13565b810103126107a85760209051610a6b565b3d9150610b0f565b6040513d86823e3d90fd5b5033600052600060205260ff6040600020541615610a1d565b346101655760403660031901126101655760043560038110908115610165576024356060610160604051610b8c81611baa565b60008152600060208201526000604082015260008382015260006080820152600060a0820152600060c0820152600060e082015260006101008201526000610120820152600061014082015201526001549160ff831680611053575b61084d5760405163ca10876960e01b8152600481018290526024810183905260009360081c6001600160a01b03169290602081604481875afa908115611048579085918291611013575b50602460405180968193635a0a685960e11b835260048301525afa928315610b35578493610ff7575b5082511580159590610fc657505050805181019160208301916060818503126105f95760208101516001600160401b0381116105f557810193610180858203126105f55760405194610cac86611baa565b602081015160038110156107a4578652610cc860408201611d16565b6020870152610cd960608201611d27565b6040870152610cea60808201611d27565b6060870152610cfb60a08201611d16565b6080870152610d0c60c0820161202c565b60a0870152610d1d60e0820161202c565b60c0870152610d2f6101008201612041565b60e0870152610d416101208201612041565b610100870152610140810151610120870152610d606101608201611e05565b610140870152610180810151906001600160401b0382116107a45790602091010184601f820112156107a857805190610d9882611dee565b92610da66040519485611c13565b828452602060608186019402830101918783116107a057602001925b828410610f74575050505061016085015260408101516001600160401b0381116105f557836020610df592840101611c34565b506060810151916001600160401b0383116105f25750610e19929101602001611c34565b5060408051928352602083015280516101c08301916003821015610f5e5761016090849392604085015263ffffffff60208201511660608501526001600160401b0360408201511660808501526001600160401b0360608201511660a085015263ffffffff60808201511660c085015263ffffffff60e01b60a08201511660e085015263ffffffff60e01b60c0820151166101008501526001600160801b031960e0820151166101208501526001600160801b0319610100820151166101408501526101208101518285015261ffff610140820151166101808501520151906101806101a0840152815180915260206101e0840192019060005b818110610f21575050500390f35b91935091602060606001926040875161ffff815116835284810151858401520151610f4b81611ba0565b6040820152019401910191849392610f13565b634e487b7160e01b600052602160045260246000fd5b6060602085840301126107a057604051610f8d81611bdc565b610f9685611e05565b81526020850151602082015260408501516004811015610788576040820152815260609390930192602001610dc2565b63549fd69560e11b855284919015610fe357604492600452602452fd5b634e487b7160e01b82526021600452602482fd5b61100c9193503d8086833e6107f38183611c13565b9185610c5b565b9150506020813d602011611040575b8161102f60209383611c13565b810103126107a45784905187610c32565b3d9150611022565b6040513d87823e3d90fd5b5033600052600060205260ff6040600020541615610be8565b346101655760203660031901126101655760043565ffffffffffff60d01b81168091036101655760ff6001541680611239575b61084d576000908160018060a01b0360025416916040519063b63e9e7b60e01b8252826004830152602482015260026044820152602081606481865afa908115610802578291611207575b506110f3611ccb565b50602460405180948193635a0a685960e11b835260048301525afa9081156108025782916111ed575b50805115801592906111d457815182019061016083602084019303126105f2576111498260208501611d3b565b506101208301516001600160401b0381116105f95782602061116d92860101611e79565b926101408101516001600160401b0381116105f55783602061119192840101611c34565b50610160810151916001600160401b0383116105f257506111b6929101602001611c34565b509061095f6040519283928352604060208401526040830190611a95565b63eb9cf5a360e01b815260048190526002602452604490fd5b61120191503d8084833e6107f38183611c13565b8261111c565b90506020813d602011611231575b8161122260209383611c13565b810103126105f95751846110ea565b3d9150611215565b5033600052600060205260ff604060002054161561109f565b34610165576080366003190112610165576004356001600160401b03811161016557611282903690600401611a24565b6024356001600160401b038111610165576112a1903690600401611a24565b9290916044356001600160401b038111610165576112c3903690600401611a24565b906064356001600160401b038111610165576112e3903690600401611a24565b91909260ff60015416806113c0575b61084d57600160a01b6001900360045416966040519889978897630f1f5c4560e21b89526004890160809052608489019061132c92611caa565b9060031988830301602489015261134292611caa565b9060031986830301604487015261135892611caa565b9060031984830301606485015261136e92611caa565b03815a93600094fa9081156113b457600091611399575b508051151561095f604051928392836119f2565b6113ae91503d806000833e6107f38183611c13565b81611385565b6040513d6000823e3d90fd5b5033600052600060205260ff60406000205416156112f2565b346101655760203660031901126101655760043560048110156101655760ff6001541680611505575b61084d57600354604051630b13bf2960e41b8152600092916001600160a01b03169061142d83611ba0565b826004820152836024820152602081604481855afa8015610b355784906114d2575b6020915060246040518094819363bf721aaf60e01b835260048301525afa92831561099d57809361149b575b505081159081159161096357506040805191151582526020820192909252f35b909192506020823d6020116114ca575b816114b860209383611c13565b810103126105f257505190828061147b565b3d91506114ab565b506020813d6020116114fd575b816114ec60209383611c13565b810103126107a8576020905161144f565b3d91506114df565b5033600052600060205260ff6040600020541615611402565b3461016557600036600319011261016557638b78c6d819546040516001600160a01b039091168152602090f35b346101655760c036600319011261016557611564611a0e565b6024356001600160a01b03811690819003610165576044356001600160a01b03811690819003610165576064356001600160a01b0381169190829003610165576084356001600160a01b03811693908490036101655760a4356001600160a01b0381169590869003610165576115d8612074565b60015490610100600160a81b039060081b1690610100600160a81b031916176001556001600160601b0360a01b60025416176002556001600160601b0360a01b60035416176003556001600160601b0360a01b60045416176004556001600160601b0360a01b60055416176005556001600160601b0360a01b6006541617600655600080f35b3461016557600036600319011261016557611677612074565b6001805460ff19169055005b346101655760003660031901126101655761169c612074565b6001805460ff191681179055005b6000366003190112610165576116be612074565b6000638b78c6d819547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a36000638b78c6d81955005b346101655760403660031901126101655761170f611a0e565b6024359081151580920361016557611725612074565b60018060a01b0316600052600060205260406000209060ff80198354169116179055600080f35b34610165576000366003190112610165576003546040516001600160a01b039091168152602090f35b60003660031901126101655763389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2005b34610165576000366003190112610165576002546040516001600160a01b039091168152602090f35b34610165576000366003190112610165576006546040516001600160a01b039091168152602090f35b60003660031901126101655763389a75e1600c52336000526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a2005b346101655760203660031901126101655760043560048110156101655760ff600154168061196a575b61084d57600354604051630b13bf2960e41b8152600092916001600160a01b03169083906118b184611ba0565b83600482015260016024820152602081604481865afa908115610802578291611938575b50602460405180948193635a0a685960e11b835260048301525afa92831561099d57809361191b575b505081511590811591610ab7575061095f604051928392836119f2565b6119309293503d8091833e6107f38183611c13565b9082806118fe565b90506020813d602011611962575b8161195360209383611c13565b810103126105f95751856118d5565b3d9150611946565b5033600052600060205260ff6040600020541615611884565b346101655760003660031901126101655760015460081c6001600160a01b03168152602090f35b60005b8381106119bd5750506000910152565b81810151838201526020016119ad565b906020916119e6815180928185528580860191016119aa565b601f01601f1916010190565b604090611a0b93921515815281602082015201906119cd565b90565b600435906001600160a01b038216820361016557565b9181601f84011215610165578235916001600160401b038311610165576020838186019501011161016557565b906020808351928381520192019060005b818110611a6f5750505090565b825160ff16845260209384019390920191600101611a62565b906008821015610f5e5752565b9080602083519182815201916020808360051b8301019401926000915b838310611ac157505050505090565b9091929394601f19828203018352855161ffff815116825260a0611b09611af7602084015160c0602087015260c0860190611a51565b60408401518582036040870152611a51565b916001600160401b036060820151166060850152611b2f60808201516080860190611a88565b01519160a0818303910152815180825260208201906020808260051b85010194019260005b828110611b7557505050505060208060019297019301930191939290611ab2565b9091929394602080611b93600193601f1987820301895289516119cd565b9701950193929101611b54565b60041115610f5e57565b61018081019081106001600160401b03821117611bc657604052565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b03821117611bc657604052565b61010081019081106001600160401b03821117611bc657604052565b90601f801991011681019081106001600160401b03821117611bc657604052565b81601f8201121561016557602081519101906001600160401b038111611bc65760405192611c6c601f8301601f191660200185611c13565b8184528183011161016557611a0b9160208401906119aa565b906020828203126101655781516001600160401b03811161016557611a0b9201611c34565b908060209392818452848401376000828201840152601f01601f1916010190565b60405190611cd882611bf7565b600060e0838281528260208201528260408201528260608201528260808201528260a08201528260c08201520152565b519060ff8216820361016557565b519063ffffffff8216820361016557565b51906001600160401b038216820361016557565b91908261010091031261016557604051611d5481611bf7565b8092611d5f81611d08565b825260208101516002811015610165576020830152611d8060408201611d16565b6040830152611d9160608201611d27565b6060830152611da260808201611d27565b6080830152611db360a08201611d16565b60a083015260c0810151906001600160d01b0319821682036101655760e09160c084015201519061ffff60f01b821682036101655760e00152565b6001600160401b038111611bc65760051b60200190565b519061ffff8216820361016557565b9080601f83011215610165578151611e2b81611dee565b92611e396040519485611c13565b81845260208085019260051b82010192831161016557602001905b828210611e615750505090565b60208091611e6e84611d08565b815201910190611e54565b9080601f8301121561016557815191611e9183611dee565b92611e9f6040519485611c13565b80845260208085019160051b830101918383116101655760208101915b838310611ecb57505050505090565b82516001600160401b03811161016557820160c0818703601f190112610165576040519060c082018281106001600160401b03821117611bc657604052611f1460208201611e05565b825260408101516001600160401b03811161016557876020611f3892840101611e14565b602083015260608101516001600160401b03811161016557876020611f5f92840101611e14565b6040830152611f7060808201611d27565b606083015260a0810151600881101561016557608083015260c08101516001600160401b03811161016557602091010186601f82011215610165578051611fb681611dee565b91611fc46040519384611c13565b81835260208084019260051b820101918983116101655760208201905b838210611fff575050505060a0820152815260209283019201611ebc565b81516001600160401b038111610165576020916120218d848094880101611c34565b815201910190611fe1565b51906001600160e01b03198216820361016557565b51906fffffffffffffffffffffffffffffffff198216820361016557565b51906001600160c01b03198216820361016557565b638b78c6d81954330361208357565b6382b429006000526004601cfd5b60018060a01b031680638b78c6d819547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3638b78c6d8195556fea264697066735822122077be1c9b78adbeda1cab62bffb35ac14eb69cc3920a7f0103cb7e15ccb48494264736f6c634300081b003300000000000000000000000045f91c0d9cf651785d93fcf7e9e97de952cdb9100000000000000000000000009c54c72867b07caf2e6255ce32983c28afe40f26000000000000000000000000cf171acd6c0a776f9d3e1f6cac8067c982ac6ce100000000000000000000000031f18aa7b4cbad7a726bcbf5ab3e286fc0b02a820000000000000000000000004aca9c0eb063401c9f5c2fc4487dbc5ccf1c9e2b0000000000000000000000006e204feae40f668a06e78a83b66185ffc8892dda