@settlemint/solidity-attestation-service
Version:
Smart contract set to use the Ethereum Attestation Service in SettleMint
147 lines (146 loc) • 14.1 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "CustomSchemaRegistry",
"sourceName": "contracts/CustomSchemaRegistry.sol",
"abi": [
{
"inputs": [],
"name": "AlreadyExists",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "uid",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "registerer",
"type": "address"
},
{
"components": [
{
"internalType": "bytes32",
"name": "uid",
"type": "bytes32"
},
{
"internalType": "contract ISchemaResolver",
"name": "resolver",
"type": "address"
},
{
"internalType": "bool",
"name": "revocable",
"type": "bool"
},
{
"internalType": "string",
"name": "schema",
"type": "string"
}
],
"indexed": false,
"internalType": "struct SchemaRecord",
"name": "schema",
"type": "tuple"
}
],
"name": "Registered",
"type": "event"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "uid",
"type": "bytes32"
}
],
"name": "getSchema",
"outputs": [
{
"components": [
{
"internalType": "bytes32",
"name": "uid",
"type": "bytes32"
},
{
"internalType": "contract ISchemaResolver",
"name": "resolver",
"type": "address"
},
{
"internalType": "bool",
"name": "revocable",
"type": "bool"
},
{
"internalType": "string",
"name": "schema",
"type": "string"
}
],
"internalType": "struct SchemaRecord",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "schema",
"type": "string"
},
{
"internalType": "contract ISchemaResolver",
"name": "resolver",
"type": "address"
},
{
"internalType": "bool",
"name": "revocable",
"type": "bool"
}
],
"name": "register",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "version",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x60e08060405234603f576001608052600360a052600060c052610a6c90816100458239608051816105cb015260a051816105f9015260c051816106240152f35b600080fdfe6080604052600436101561001257600080fd5b60003560e01c806354fd4d501461059457806360d7a278146101ba5763a2ea7c6e1461003d57600080fd5b346101b55760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b55760608060405161007b81610795565b6000815260006020820152600060408201520152600435600052600060205260406000206002604051916100ae83610795565b8054835260ff600182015473ffffffffffffffffffffffffffffffffffffffff8116602086015260a01c161515604084015201906040516000928054906100f48261081f565b808452916001811690811561016f5750600114610132575b505061011d8161012e9403826107e0565b606082015260405191829182610744565b0390f35b90935060005260206000206000905b84821061015957508101602001925061011d8161010c565b6001816020925483858701015201910190610141565b61012e965084925060209150927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0061011d941682840152151560051b820101945061010c565b600080fd5b346101b55760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b55760043567ffffffffffffffff81116101b557366023820112156101b557806004013567ffffffffffffffff81116101b55736602482840101116101b5576024359073ffffffffffffffffffffffffffffffffffffffff82168092036101b557604435928315158094036101b5576024936040519261026684610795565b60008452602084019485526040840191825261028181610803565b9261028f60405194856107e0565b818452602080850192806000998a94018537850101527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000006103346015602060608801968088528951875115156040519687936102f38686019a8b92519283916106fc565b84019260601b168483015260f81b603482015203017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff58101845201826107e0565b5190209384865285602052604086205461056c57906002918585528587528660205260408720918551835573ffffffffffffffffffffffffffffffffffffffff600184019251167fffffffffffffffffffffff00000000000000000000000000000000000000000074ff000000000000000000000000000000000000000084549351151560a01b1692161717905501905180519067ffffffffffffffff821161053f576103e1835461081f565b601f81116104fa575b50602095829187916001601f85111461047c5792610471575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c19161790555b817fd0b86852e21f9e5fa4bc3b0cff9757ffe243d50c4b43968a42202153d651ea5e60405180610466339582610744565b0390a3604051908152f35b015190508680610403565b92601f1916858452828420935b8181106104e357509084600195949392106104ac575b505050811b019055610435565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c1916905586808061049f565b929389600181928786015181550195019301610489565b83875260208720601f840160051c81019160208510610535575b601f0160051c01905b81811061052a57506103ea565b87815560010161051d565b9091508190610514565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b6004867f23369fa6000000000000000000000000000000000000000000000000000000008152fd5b346101b55760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b55761012e6105ef7f0000000000000000000000000000000000000000000000000000000000000000610872565b6106e8600161061d7f0000000000000000000000000000000000000000000000000000000000000000610872565b92816106487f0000000000000000000000000000000000000000000000000000000000000000610872565b60206040519684610662899651809285808a0191016106fc565b85017f2e000000000000000000000000000000000000000000000000000000000000008382015261069c82518093856021850191016106fc565b01017f2e00000000000000000000000000000000000000000000000000000000000000838201526106d78251809360206002850191016106fc565b01010301601f1981018352826107e0565b60405191829160208352602083019061071f565b60005b83811061070f5750506000910152565b81810151838201526020016106ff565b90601f19601f60209361073d815180928187528780880191016106fc565b0116010190565b60a0606061079293602084528051602085015273ffffffffffffffffffffffffffffffffffffffff60208201511660408501526040810151151582850152015191608080820152019061071f565b90565b6080810190811067ffffffffffffffff8211176107b157604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f601f19910116810190811067ffffffffffffffff8211176107b157604052565b67ffffffffffffffff81116107b157601f01601f191660200190565b90600182811c92168015610868575b602083101461083957565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f169161082e565b806000917a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000821015610a0e575b806d04ee2d6d415b85acef8100000000600a9210156109f3575b662386f26fc100008110156109df575b6305f5e1008110156109ce575b6127108110156109bf575b60648110156109b1575b10156109a6575b600a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60216001850194601f1961093c61092688610803565b97610934604051998a6107e0565b808952610803565b013660208801378501015b01917f30313233343536373839616263646566000000000000000000000000000000008282061a83530480156109a1577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600a9192610947565b505090565b6001909101906108ed565b6064600291049301926108e6565b612710600491049301926108dc565b6305f5e100600891049301926108d1565b662386f26fc10000601091049301926108c4565b6d04ee2d6d415b85acef8100000000602091049301926108b4565b50604091507a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000810461089a56fea264697066735822122002e6f6db3140d32ffc7660cbec87676f35f9d75741e1fffaa8baa6f72988df4864736f6c634300081b0033",
"deployedBytecode": "0x6080604052600436101561001257600080fd5b60003560e01c806354fd4d501461059457806360d7a278146101ba5763a2ea7c6e1461003d57600080fd5b346101b55760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b55760608060405161007b81610795565b6000815260006020820152600060408201520152600435600052600060205260406000206002604051916100ae83610795565b8054835260ff600182015473ffffffffffffffffffffffffffffffffffffffff8116602086015260a01c161515604084015201906040516000928054906100f48261081f565b808452916001811690811561016f5750600114610132575b505061011d8161012e9403826107e0565b606082015260405191829182610744565b0390f35b90935060005260206000206000905b84821061015957508101602001925061011d8161010c565b6001816020925483858701015201910190610141565b61012e965084925060209150927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0061011d941682840152151560051b820101945061010c565b600080fd5b346101b55760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b55760043567ffffffffffffffff81116101b557366023820112156101b557806004013567ffffffffffffffff81116101b55736602482840101116101b5576024359073ffffffffffffffffffffffffffffffffffffffff82168092036101b557604435928315158094036101b5576024936040519261026684610795565b60008452602084019485526040840191825261028181610803565b9261028f60405194856107e0565b818452602080850192806000998a94018537850101527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000006103346015602060608801968088528951875115156040519687936102f38686019a8b92519283916106fc565b84019260601b168483015260f81b603482015203017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff58101845201826107e0565b5190209384865285602052604086205461056c57906002918585528587528660205260408720918551835573ffffffffffffffffffffffffffffffffffffffff600184019251167fffffffffffffffffffffff00000000000000000000000000000000000000000074ff000000000000000000000000000000000000000084549351151560a01b1692161717905501905180519067ffffffffffffffff821161053f576103e1835461081f565b601f81116104fa575b50602095829187916001601f85111461047c5792610471575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c19161790555b817fd0b86852e21f9e5fa4bc3b0cff9757ffe243d50c4b43968a42202153d651ea5e60405180610466339582610744565b0390a3604051908152f35b015190508680610403565b92601f1916858452828420935b8181106104e357509084600195949392106104ac575b505050811b019055610435565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c1916905586808061049f565b929389600181928786015181550195019301610489565b83875260208720601f840160051c81019160208510610535575b601f0160051c01905b81811061052a57506103ea565b87815560010161051d565b9091508190610514565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b6004867f23369fa6000000000000000000000000000000000000000000000000000000008152fd5b346101b55760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b55761012e6105ef7f0000000000000000000000000000000000000000000000000000000000000000610872565b6106e8600161061d7f0000000000000000000000000000000000000000000000000000000000000000610872565b92816106487f0000000000000000000000000000000000000000000000000000000000000000610872565b60206040519684610662899651809285808a0191016106fc565b85017f2e000000000000000000000000000000000000000000000000000000000000008382015261069c82518093856021850191016106fc565b01017f2e00000000000000000000000000000000000000000000000000000000000000838201526106d78251809360206002850191016106fc565b01010301601f1981018352826107e0565b60405191829160208352602083019061071f565b60005b83811061070f5750506000910152565b81810151838201526020016106ff565b90601f19601f60209361073d815180928187528780880191016106fc565b0116010190565b60a0606061079293602084528051602085015273ffffffffffffffffffffffffffffffffffffffff60208201511660408501526040810151151582850152015191608080820152019061071f565b90565b6080810190811067ffffffffffffffff8211176107b157604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f601f19910116810190811067ffffffffffffffff8211176107b157604052565b67ffffffffffffffff81116107b157601f01601f191660200190565b90600182811c92168015610868575b602083101461083957565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f169161082e565b806000917a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000821015610a0e575b806d04ee2d6d415b85acef8100000000600a9210156109f3575b662386f26fc100008110156109df575b6305f5e1008110156109ce575b6127108110156109bf575b60648110156109b1575b10156109a6575b600a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60216001850194601f1961093c61092688610803565b97610934604051998a6107e0565b808952610803565b013660208801378501015b01917f30313233343536373839616263646566000000000000000000000000000000008282061a83530480156109a1577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600a9192610947565b505090565b6001909101906108ed565b6064600291049301926108e6565b612710600491049301926108dc565b6305f5e100600891049301926108d1565b662386f26fc10000601091049301926108c4565b6d04ee2d6d415b85acef8100000000602091049301926108b4565b50604091507a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000810461089a56fea264697066735822122002e6f6db3140d32ffc7660cbec87676f35f9d75741e1fffaa8baa6f72988df4864736f6c634300081b0033",
"linkReferences": {},
"deployedLinkReferences": {}
}