5 txs
5 calls
constructor
constructor(address _storage, address _p256, address _pcs, address _fmspcHelper, address _x509Helper)
functions
FMSPC_TCB_KEY
purefunction FMSPC_TCB_KEY(uint8 tcbType, bytes6 fmspc, uint32 version) pure returns (bytes32 key)
FmspcTcbLib
viewfunction FmspcTcbLib() view returns (address)
getAttestedData
viewfunction getAttestedData(bytes32 key) view returns (bytes attestationData)
getCollateralHash
viewfunction getCollateralHash(bytes32 key) view returns (bytes32 collateralHash)
getTcbInfo
viewfunction getTcbInfo(uint256 tcbType, string fmspc, uint256 version) view returns (tuple tcbObj)
getTcbIssuerChain
viewfunction getTcbIssuerChain() view returns (bytes signingCert, bytes rootCert)
P256_VERIFIER
viewfunction P256_VERIFIER() view returns (address)
Pcs
viewfunction Pcs() view returns (address)
resolver
viewfunction resolver() view returns (address)
x509
viewfunction x509() view returns (address)
upsertFmspcTcb
nonpayablefunction upsertFmspcTcb(tuple tcbInfoObj) returns (bytes32 attestationId)
events
No events.
errors
Invalid_TCB_Cert_Signature
error Invalid_TCB_Cert_Signature()
TCB_Expired
error TCB_Expired()
creation bytecode
0x60c03461011e57601f61299238819003918201601f19168301916001600160401b038311848410176101235780849260a09460405283398101031261011e5761004781610139565b61005360208301610139565b9061006060408401610139565b91610079608061007260608701610139565b9501610139565b6001600160a01b0392831660805260a091909152600080546001600160a01b031990811692841692909217905560018054821693831693909317909255600280549092169216919091179055604051612844908161014e823960805181818161011201528181610749015281816118d4015281816119a201528181611aa201528181611b4101528181611bca0152611d25015260a0518181816101d801526125520152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b038216820361011e5756fe6080604052600436101561001257600080fd5b60003560e01c806304f3bcec146100c75780634ba52fa5146100c2578063536c633d146100bd578063a53e7275146100b8578063a8349fb7146100b3578063b414d0b2146100ae578063b63e9e7b146100a9578063bf721aaf146100a4578063cfbc42fb1461009f578063d88d1df61461009a5763ec950d331461009557600080fd5b610965565b610913565b610882565b6106f6565b610690565b610620565b6103f1565b61028a565b61018d565b61013b565b346101365760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013657602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b600080fd5b346101365760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013657602073ffffffffffffffffffffffffffffffffffffffff60025416604051908152f35b346101365760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013657602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b60005b83811061020f5750506000910152565b81810151838201526020016101ff565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f60209361025b815180928187528780880191016101fc565b0116010190565b90916102796102879360408452604084019061021f565b91602081840391015261021f565b90565b346101365760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610136576102f46102db60015473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b6040517fb13bf2900000000000000000000000000000000000000000000000000000000081526003600482015260006024820152602081604481855afa80156103ec57610349916000916103bd575b50611d0a565b90602060405180927fb13bf290000000000000000000000000000000000000000000000000000000008252818061038e60048201906000602060408401938281520152565b03915afa80156103ec576103a9916000916103bd5750611d0a565b906103b960405192839283610262565b0390f35b6103df915060203d6020116103e5575b6103d78183610a24565b810190610a65565b38610343565b503d6103cd565b610aa3565b346101365760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101365760043567ffffffffffffffff811161013657806004019060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8236030112610136576104856102db60015473ffffffffffffffffffffffffffffffffffffffff1690565b602060405180927fb13bf29000000000000000000000000000000000000000000000000000000000825281806104ca6004820190600060206040840193600381520152565b03915afa80156103ec576104e6916000916105c0575b5061195d565b90602060006104f58580610aaf565b9061050560405180938193610b00565b039060025afa156103ec5761053c916105389161053261052b6024600051930187610aaf565b3691610c26565b90611e42565b1590565b61059657806020600061055161055a946114e3565b94909380610aaf565b9061056a60405180938193610b00565b039060025afa156103ec576103b991610586916000519061186c565b6040519081529081906020820190565b7f8de7233f0000000000000000000000000000000000000000000000000000000060005260046000fd5b6105d9915060203d6020116103e5576103d78183610a24565b386104e0565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60209101126101365760043590565b90602061028792818152019061021f565b34610136576103b9610639610634366105df565b61195d565b60405191829160208352602083019061021f565b60ff81160361013657565b7fffffffffffff000000000000000000000000000000000000000000000000000081160361013657565b63ffffffff81160361013657565b346101365760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101365760206106ee6004356106d08161064d565b6024356106dc81610658565b604435916106e983610682565b610b0e565b604051908152f35b3461013657610704366105df565b6040517fe973fddc000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690600090602081602481865afa80156103ec576107c3938392839261080e575b5060405180809681947f9e5464b2000000000000000000000000000000000000000000000000000000008352600483019190602083019252565b03915afa80156103ec57602092826106ee93926107eb575b5050828082518301019101610a65565b61080792503d8091833e6107ff8183610a24565b810190611937565b38806107db565b61082891925060203d6020116103e5576103d78183610a24565b9038610789565b906102879160208152602061084f8351604083850152606084019061021f565b9201519060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08285030191015261021f565b346101365760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101365760243560043567ffffffffffffffff821161013657366023830112156101365781600401359167ffffffffffffffff8311610136573660248483010111610136576103b9926109079260246044359301906113bb565b6040519182918261082f565b346101365760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013657602073ffffffffffffffffffffffffffffffffffffffff60015416604051908152f35b346101365760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013657602073ffffffffffffffffffffffffffffffffffffffff60005416604051908152f35b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610100810190811067ffffffffffffffff821117610a0357604052565b6109b7565b6060810190811067ffffffffffffffff821117610a0357604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610a0357604052565b90816020910312610136575190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6040513d6000823e3d90fd5b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610136570180359067ffffffffffffffff82116101365760200191813603831361013657565b908092918237016000815290565b917fffffffff00000000000000000000000000000000000000000000000000000000907fffffffffffff0000000000000000000000000000000000000000000000000000604051937fff0000000000000000000000000000000000000000000000000000000000000060208601967fbb69b29c00000000000000000000000000000000000000000000000000000000885260f81b16602486015216602584015260e01b16602b820152600f8152610bc6602f82610a24565b51902090565b60405190610bdb60a083610a24565b565b60405190610bdb60c083610a24565b67ffffffffffffffff8111610a0357601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b929192610c3282610bec565b91610c406040519384610a24565b829481845281830111610136578281602093846000960137010152565b5190610bdb8261064d565b5190600282101561013657565b5190610bdb82610682565b519067ffffffffffffffff8216820361013657565b5190610bdb82610658565b51907fffff0000000000000000000000000000000000000000000000000000000000008216820361013657565b91908261010091031261013657604051610ce6816109e6565b60e0610d65818395610cf781610c5d565b8552610d0560208201610c68565b6020860152610d1660408201610c75565b6040860152610d2760608201610c80565b6060860152610d3860808201610c80565b6080860152610d4960a08201610c75565b60a0860152610d5a60c08201610c95565b60c086015201610ca0565b910152565b81601f820112156101365760208151910190610d8581610bec565b92610d936040519485610a24565b81845281830111610136576102879160208401906101fc565b51907fffffffffffffffff0000000000000000000000000000000000000000000000008216820361013657565b9190916060818403126101365760405190610df382610a08565b819381519067ffffffffffffffff82116101365782610e1b60409492610d6594869401610d6a565b8552610e2960208201610dac565b602086015201610dac565b67ffffffffffffffff8111610a035760051b60200190565b5190600882101561013657565b81601f8201121561013657805190610e7082610e34565b92610e7e6040519485610a24565b8284526020606081860194028301019181831161013657602001925b828410610ea8575050505090565b606084830312610136576020606091604051610ec381610a08565b8651610ece8161064d565b8152610edb838801610c80565b83820152610eeb60408801610e4c565b6040820152815201930192610e9a565b9080601f8301121561013657815191610f1383610e34565b92610f216040519485610a24565b80845260208085019160051b830101918383116101365760208101915b838310610f4d57505050505090565b825167ffffffffffffffff81116101365782019060a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0838803011261013657610f95610bcc565b90602083015167ffffffffffffffff811161013657876020610fb992860101610d6a565b8252610fc760408401610dac565b6020830152610fd860608401610dac565b6040830152608083015167ffffffffffffffff81116101365787602061100092860101610d6a565b606083015260a08301519167ffffffffffffffff83116101365761102c88602080969581960101610e59565b6080820152815201920191610f3e565b519061ffff8216820361013657565b9080601f8301121561013657815161106281610e34565b926110706040519485610a24565b81845260208085019260051b82010192831161013657602001905b8282106110985750505090565b6020809183516110a78161064d565b81520191019061108b565b9080601f830112156101365781516110c981610e34565b926110d76040519485610a24565b81845260208085019260051b820101918383116101365760208201905b83821061110357505050505090565b815167ffffffffffffffff81116101365760209161112687848094880101610d6a565b8152019101906110f4565b9080601f830112156101365781519161114983610e34565b926111576040519485610a24565b80845260208085019160051b830101918383116101365760208101915b83831061118357505050505090565b825167ffffffffffffffff81116101365782019060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08388030112610136576111cb610bdd565b906111d86020840161103c565b8252604083015167ffffffffffffffff8111610136578760206111fd9286010161104b565b6020830152606083015167ffffffffffffffff8111610136578760206112259286010161104b565b604083015261123660808401610c80565b606083015261124760a08401610e4c565b608083015260c08301519167ffffffffffffffff831161013657611273886020809695819601016110b2565b60a0820152815201920191611174565b916101a083830312610136576112998284610ccd565b9261010081015167ffffffffffffffff811161013657836112bb918301610dd9565b9261012082015167ffffffffffffffff811161013657816112dd918401610efb565b9261014083015167ffffffffffffffff811161013657826112ff918501611131565b9261016081015167ffffffffffffffff81116101365783611321918301610d6a565b9261018082015167ffffffffffffffff8111610136576102879201610d6a565b9061016082820312610136576113578183610ccd565b9261010083015167ffffffffffffffff81116101365782611379918501611131565b9261012081015167ffffffffffffffff8111610136578361139b918301610d6a565b9261014082015167ffffffffffffffff8111610136576102879201610d6a565b9091939260405191604083019083821067ffffffffffffffff831117610a0357611452611457916003936040526060865261144261141a61140f61140a60208a019a60608c528a9d3691610c26565b611c3b565b65ffffffffffff1690565b60d01b7fffffffffffff00000000000000000000000000000000000000000000000000001690565b60ff63ffffffff87169216610b0e565b611d0a565b911015611479578060208061147193518301019101611341565b909452505052565b8060208061148c93518301019101611283565b945095925050505252565b604051906114a4826109e6565b600060e0838281528260208201528260408201528260608201528260808201528260a08201528260c08201520152565b600211156114de57565b610a74565b6114eb611497565b5061151e61150c6115166114ff8480610aaf565b9290946020810190610aaf565b9490923691610c26565b923691610c26565b9160009161152a611497565b5061154d6102db60025473ffffffffffffffffffffffffffffffffffffffff1690565b93604051907f0985653c000000000000000000000000000000000000000000000000000000008252848280611585866004830161060f565b0381895afa9182156103ec578592611846575b50604051947f0f1dbf4500000000000000000000000000000000000000000000000000000000865261010086806115d2876004830161060f565b03818a5afa9586156103ec578196611815575b506040860196600363ffffffff6116008a5163ffffffff1690565b16101561172c5750506116ab9291611625611651926040519485938960208601612407565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610a24565b93602084015190611661826114d4565b61166a826114d4565b6116a561169a60c08701517fffffffffffff00000000000000000000000000000000000000000000000000001690565b915163ffffffff1690565b91610b0e565b916116d16116c4606083015167ffffffffffffffff1690565b67ffffffffffffffff1690565b421090811561170c575b506116e257565b7fbae576490000000000000000000000000000000000000000000000000000000060005260046000fd5b60800151611724915067ffffffffffffffff166116c4565b4211386116db565b919092611737611f36565b92606094600160208a015161174b816114d4565b611754816114d4565b1461177e575b505061177992916116ab95611625926040519687958b60208801612354565b611651565b9350949350908260405180967f2793d5d200000000000000000000000000000000000000000000000000000000825281806117bc896004830161060f565b03915afa80156103ec576116ab958480926117e2575b509495909450909190829061175a565b611779955061162593925090611809913d8091833e6118018183610a24565b810190611f56565b909450909185906117d2565b6118389196506101003d811161183f575b6118308183610a24565b810190611f21565b94386115e5565b503d611826565b6118639192503d8087833e61185b8183610a24565b810190611ef3565b90509038611598565b6118b392604092835194859384937f5778ea32000000000000000000000000000000000000000000000000000000008552600485015260606024850152606484019061021f565b9060448301520381600073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af19081156103ec57600091611908575090565b90506040813d60401161192f575b8161192360409383610a24565b81010312610136575190565b3d9150611916565b9060208282031261013657815167ffffffffffffffff8111610136576102879201610d6a565b6040517f7fc1ca02000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690602081602481855afa80156103ec57611a1a926000928392611a45575b5060405180809581947f9e5464b2000000000000000000000000000000000000000000000000000000008352600483019190602083019252565b03915afa9081156103ec57600091611a30575090565b61028791503d806000833e6107ff8183610a24565b611a5f91925060203d6020116103e5576103d78183610a24565b90386119e0565b9015611b94576040517fe973fddc00000000000000000000000000000000000000000000000000000000815260048101919091526020816024817f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff165afa9081156103ec57611b28916000918291611b75575b505b604051809381927f9e5464b2000000000000000000000000000000000000000000000000000000008352600483019190602083019252565b038173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa9081156103ec57600091611a30575090565b611b8e915060203d6020116103e5576103d78183610a24565b38611aee565b6040517f7fc1ca0200000000000000000000000000000000000000000000000000000000815260048101919091526020816024817f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff165afa9081156103ec57611b28916000918291611c1c575b50611af0565b611c35915060203d6020116103e5576103d78183610a24565b38611c16565b90600082517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001821160208087015160f01c17613078141660011b915b7403010a071000000b0104040208000c05090d060e0f6d03e4088843e41bac00000000000060ff6001808701968a010151161c601f161a908460fc1c82151715029360041b01019082811015611cf25790917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90611c79565b50925015611cfc57565b63101827966000526004601cfd5b9060609173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016604051907f5c975abb000000000000000000000000000000000000000000000000000000008252602082600481845afa9182156103ec57600092611e21575b508115611da2575b50611d945750565b610287919250600090611a66565b6040517f59d14b410000000000000000000000000000000000000000000000000000000081523360048201529150602090829060249082905afa9081156103ec57600091611df2575b5038611d8c565b611e14915060203d602011611e1a575b611e0c8183610a24565b81019061244f565b38611deb565b503d611e02565b611e3b91925060203d602011611e1a57611e0c8183610a24565b9038611d84565b91906040815103611ece576000611ea89273ffffffffffffffffffffffffffffffffffffffff808354161660405180809681947f6d3537a0000000000000000000000000000000000000000000000000000000008352602060048401818152019061021f565b03915afa9182156103ec57600092611ed6575b506040825103611ece57610287926124de565b505050600090565b611eec9192503d806000833e6107ff8183610a24565b9038611ebb565b91909160408184031261013657805192602082015167ffffffffffffffff8111610136576102879201611131565b90610100828203126101365761028791610ccd565b60405190611f4382610a08565b6000604083606081528260208201520152565b91909160408184031261013657805167ffffffffffffffff81116101365783611f80918301610dd9565b92602082015167ffffffffffffffff8111610136576102879201610efb565b9060ff825116815260208201519160028310156114de5760e08091610bdb946020850152611fda6040820151604086019063ffffffff169052565b60608181015167ffffffffffffffff169085015260808181015167ffffffffffffffff169085015260a08181015163ffffffff169085015260c0818101517fffffffffffff0000000000000000000000000000000000000000000000000000169085015201517fffff00000000000000000000000000000000000000000000000000000000000016910152565b9060088210156114de5752565b9080602083519182815201906020808260051b8501019401916000905b8282106120a057505050505090565b9091929395947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0878203018252845160806121516120e7835160a0865260a086019061021f565b7fffffffffffffffff00000000000000000000000000000000000000000000000060208501511660208601527fffffffffffffffff00000000000000000000000000000000000000000000000060408501511660408601526060840151858203606087015261021f565b910151916080818303910152602080835192838152019201906000905b8082106121905750505060208060019296019201920190929195939495612091565b909192602060606001926121c66040885160ff815116845267ffffffffffffffff86820151168685015201516040830190612067565b01940192019061216e565b906020808351928381520192019060005b8181106121ef5750505090565b825160ff168452602093840193909201916001016121e2565b9080602083519182815201906020808260051b8501019401916000905b82821061223457505050505090565b9091929395947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0878203018252845161ffff815116825260a061229b612289602084015160c0602087015260c08601906121d1565b604084015185820360408701526121d1565b9167ffffffffffffffff60608201511660608501526122c260808201516080860190612067565b01519160a0818303910152815180825260208201906020808260051b85010194019260005b82811061230b57505050505060208060019296019201920190929195939495612225565b9091929394602080612347837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08760019603018952895161021f565b97019501939291016122e7565b9491936123da61028797956123f895612370896123e996611f9f565b6101a06101008a01527fffffffffffffffff00000000000000000000000000000000000000000000000060406123b58b60606101a087519201526102008d019061021f565b93826020820151166101c08d01520151166101e08a01528882036101208a0152612074565b90868203610140880152612208565b9084820361016086015261021f565b9161018081840391015261021f565b92612431610287959361241d8661244095611f9f565b610160610100870152610160860190612208565b9084820361012086015261021f565b9161014081840391015261021f565b90816020910312610136575180151581036101365790565b60208151910151906020811061247b575090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9060200360031b1b1690565b156124af57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b600080916125b3936001956125066124fb6125006124fb856125f1565b612467565b93612700565b9061251f6124fb6125196124fb846125f1565b92612700565b91604051936020850195865260408501526060840152608083015260a082015260a0815261254e60c082610a24565b51907f00000000000000000000000000000000000000000000000000000000000000005afa3d156125b7576125a43d9161258783610bec565b926125956040519485610a24565b83523d6000602085013e6124a8565b60208082518301019101610a65565b1490565b6125a46060916124a8565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8051602011610136576126046020610bec565b906126126040519283610a24565b602082526126206020610bec565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0602084019101368237602080920190915b60208110156126b1578061269257507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff905b518251821691191617905290565b6126a66126a16126ab926127c4565b6127ff565b6127d2565b90612684565b909182518152602081018091116126fb5791602081018091116126fb57907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810190811115612652575b6125c2565b8051604011610136576127136020610bec565b906127216040519283610a24565b6020825261272f6020610bec565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06020840191013682379060400160205b6020811015612776578061269257509192915050565b909182518152602081018091116126fb5791602081018091116126fb57907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810190811115612760576125c2565b60200390602082116126fb57565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82019182116126fb57565b601f81116126fb576101000a9056fea26469706673582212205df5d0d3353297302284faab01be01a750d2166e63d11d0ffbb2ea591b9c0bb364736f6c634300081b00330000000000000000000000002bbc0ccc218e63ad4d2bbb7bde1375b092fd38a20000000000000000000000000000000000000000000000000000000000000100000000000000000000000000cf171acd6c0a776f9d3e1f6cac8067c982ac6ce100000000000000000000000071056b540b4e60d0e8efb55fad487c486b09fff50000000000000000000000004aca9c0eb063401c9f5c2fc4487dbc5ccf1c9e2b