@settlemint/solidity-attestation-service
Version:
Smart contract set to use the Ethereum Attestation Service in SettleMint
197 lines (191 loc) • 13.4 kB
TypeScript
// This file was autogenerated by hardhat-viem, do not edit it.
// prettier-ignore
// tslint:disable
// eslint-disable
import type { Address } from "viem";
import type { GetContractReturnType } from "@nomicfoundation/hardhat-viem/types";
import "@nomicfoundation/hardhat-viem/types";
export interface CustomSchemaRegistry$Type {
"_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": "0x60e08060405234603e576001608052600360a0525f60c0526107d29081610043823960805181610458015260a05181610483015260c051816104ae0152f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c806354fd4d501461043957806360d7a278146101625763a2ea7c6e1461003a575f80fd5b3461015e57602036600319011261015e5760608060405161005a8161059d565b5f81525f60208201525f604082015201526004355f525f60205260405f206002604051916100878361059d565b8054835260ff600182015460018060a01b038116602086015260a01c161515604084015201906040515f928054906100be826105f7565b808452916001811690811561013657506001146100fc575b50506100e7816100f89403826105b9565b60608201526040519182918261055b565b0390f35b9093505f5260205f205f905b8482106101205750810160200192506100e7816100d6565b6001816020925483858701015201910190610108565b6100f8965084925060209150926100e79360ff191682840152151560051b82010194506100d6565b5f80fd5b3461015e57606036600319011261015e5760043567ffffffffffffffff811161015e573660238201121561015e57806004013567ffffffffffffffff811161015e57366024828401011161015e576024356001600160a01b038116919082900361015e576044359182151580930361015e57604051916101e18361059d565b5f835260208301918252604083019384525f60206101fe836105db565b9261020c60405194856105b9565b80845280602483860199018937830101526060830194818652610275601560208551938851151594604051958692848401985180918a5e8301916bffffffffffffffffffffffff199060601b168483015260f81b60348201520301600a198101845201826105b9565b51902092835f525f60205260405f205461042a57600291848452845f525f60205260405f209184518355600183019160018060a01b0390511682549160ff60a01b9051151560a01b16916affffffffffffffffffffff60a81b161717905501925192835167ffffffffffffffff8111610416576102f282546105f7565b601f81116103d1575b50806020958690601f831160011461036f575f92610364575b50508160011b915f199060031b1c19161790555b817fd0b86852e21f9e5fa4bc3b0cff9757ffe243d50c4b43968a42202153d651ea5e6040518061035933958261055b565b0390a3604051908152f35b015190508680610314565b5f8581528281209350601f198516905b8181106103ba57509084600195949392106103a2575b505050811b019055610328565b01515f1960f88460031b161c19169055868080610395565b92938960018192878601518155019501930161037f565b825f5260205f20601f830160051c8101916020841061040c575b601f0160051c01905b81811061040157506102fb565b5f81556001016103f4565b90915081906103eb565b634e487b7160e01b5f52604160045260245ffd5b63119b4fd360e11b5f5260045ffd5b3461015e575f36600319011261015e576100f86020610527600161047c7f000000000000000000000000000000000000000000000000000000000000000061062f565b81846104a77f000000000000000000000000000000000000000000000000000000000000000061062f565b81806104d27f000000000000000000000000000000000000000000000000000000000000000061062f565b9260405199878b985191829101848a015e870190601760f91b83830152805192839101602183015e010190601760f91b84830152805192839101600283015e01015f838201520301601f1981018352826105b9565b6040519182916020835260208301905b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60a0606061059a936020845280516020850152600180841b03602082015116604085015260408101511515828501520151916080808201520190610537565b90565b6080810190811067ffffffffffffffff82111761041657604052565b90601f8019910116810190811067ffffffffffffffff82111761041657604052565b67ffffffffffffffff811161041657601f01601f191660200190565b90600182811c92168015610625575b602083101461061157565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610606565b805f9172184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b821015610779575b806d04ee2d6d415b85acef8100000000600a92101561075e575b662386f26fc1000081101561074a575b6305f5e100811015610739575b61271081101561072a575b606481101561071c575b1015610711575b600a602160018401936106b6856105db565b946106c460405196876105b9565b8086526106d3601f19916105db565b013660208701378401015b5f1901916f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304801561070c57600a90916106de565b505090565b6001909101906106a4565b60646002910493019261069d565b61271060049104930192610693565b6305f5e10060089104930192610688565b662386f26fc100006010910493019261067b565b6d04ee2d6d415b85acef81000000006020910493019261066b565b506040915072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b810461065156fea264697066735822122012688bc4d77f45781e5a8e5c6a40a3dbc9e65f8fa33d3e9de63a2767644cfa0464736f6c634300081b0033",
"deployedBytecode": "0x60806040526004361015610011575f80fd5b5f3560e01c806354fd4d501461043957806360d7a278146101625763a2ea7c6e1461003a575f80fd5b3461015e57602036600319011261015e5760608060405161005a8161059d565b5f81525f60208201525f604082015201526004355f525f60205260405f206002604051916100878361059d565b8054835260ff600182015460018060a01b038116602086015260a01c161515604084015201906040515f928054906100be826105f7565b808452916001811690811561013657506001146100fc575b50506100e7816100f89403826105b9565b60608201526040519182918261055b565b0390f35b9093505f5260205f205f905b8482106101205750810160200192506100e7816100d6565b6001816020925483858701015201910190610108565b6100f8965084925060209150926100e79360ff191682840152151560051b82010194506100d6565b5f80fd5b3461015e57606036600319011261015e5760043567ffffffffffffffff811161015e573660238201121561015e57806004013567ffffffffffffffff811161015e57366024828401011161015e576024356001600160a01b038116919082900361015e576044359182151580930361015e57604051916101e18361059d565b5f835260208301918252604083019384525f60206101fe836105db565b9261020c60405194856105b9565b80845280602483860199018937830101526060830194818652610275601560208551938851151594604051958692848401985180918a5e8301916bffffffffffffffffffffffff199060601b168483015260f81b60348201520301600a198101845201826105b9565b51902092835f525f60205260405f205461042a57600291848452845f525f60205260405f209184518355600183019160018060a01b0390511682549160ff60a01b9051151560a01b16916affffffffffffffffffffff60a81b161717905501925192835167ffffffffffffffff8111610416576102f282546105f7565b601f81116103d1575b50806020958690601f831160011461036f575f92610364575b50508160011b915f199060031b1c19161790555b817fd0b86852e21f9e5fa4bc3b0cff9757ffe243d50c4b43968a42202153d651ea5e6040518061035933958261055b565b0390a3604051908152f35b015190508680610314565b5f8581528281209350601f198516905b8181106103ba57509084600195949392106103a2575b505050811b019055610328565b01515f1960f88460031b161c19169055868080610395565b92938960018192878601518155019501930161037f565b825f5260205f20601f830160051c8101916020841061040c575b601f0160051c01905b81811061040157506102fb565b5f81556001016103f4565b90915081906103eb565b634e487b7160e01b5f52604160045260245ffd5b63119b4fd360e11b5f5260045ffd5b3461015e575f36600319011261015e576100f86020610527600161047c7f000000000000000000000000000000000000000000000000000000000000000061062f565b81846104a77f000000000000000000000000000000000000000000000000000000000000000061062f565b81806104d27f000000000000000000000000000000000000000000000000000000000000000061062f565b9260405199878b985191829101848a015e870190601760f91b83830152805192839101602183015e010190601760f91b84830152805192839101600283015e01015f838201520301601f1981018352826105b9565b6040519182916020835260208301905b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60a0606061059a936020845280516020850152600180841b03602082015116604085015260408101511515828501520151916080808201520190610537565b90565b6080810190811067ffffffffffffffff82111761041657604052565b90601f8019910116810190811067ffffffffffffffff82111761041657604052565b67ffffffffffffffff811161041657601f01601f191660200190565b90600182811c92168015610625575b602083101461061157565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610606565b805f9172184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b821015610779575b806d04ee2d6d415b85acef8100000000600a92101561075e575b662386f26fc1000081101561074a575b6305f5e100811015610739575b61271081101561072a575b606481101561071c575b1015610711575b600a602160018401936106b6856105db565b946106c460405196876105b9565b8086526106d3601f19916105db565b013660208701378401015b5f1901916f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304801561070c57600a90916106de565b505090565b6001909101906106a4565b60646002910493019261069d565b61271060049104930192610693565b6305f5e10060089104930192610688565b662386f26fc100006010910493019261067b565b6d04ee2d6d415b85acef81000000006020910493019261066b565b506040915072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b810461065156fea264697066735822122012688bc4d77f45781e5a8e5c6a40a3dbc9e65f8fa33d3e9de63a2767644cfa0464736f6c634300081b0033",
"linkReferences": {},
"deployedLinkReferences": {}
}
declare module "@nomicfoundation/hardhat-viem/types" {
export function deployContract(
contractName: "CustomSchemaRegistry",
constructorArgs?: [],
config?: DeployContractConfig
): Promise<GetContractReturnType<CustomSchemaRegistry$Type["abi"]>>;
export function deployContract(
contractName: "contracts/CustomSchemaRegistry.sol:CustomSchemaRegistry",
constructorArgs?: [],
config?: DeployContractConfig
): Promise<GetContractReturnType<CustomSchemaRegistry$Type["abi"]>>;
export function sendDeploymentTransaction(
contractName: "CustomSchemaRegistry",
constructorArgs?: [],
config?: SendDeploymentTransactionConfig
): Promise<{
contract: GetContractReturnType<CustomSchemaRegistry$Type["abi"]>;
deploymentTransaction: GetTransactionReturnType;
}>;
export function sendDeploymentTransaction(
contractName: "contracts/CustomSchemaRegistry.sol:CustomSchemaRegistry",
constructorArgs?: [],
config?: SendDeploymentTransactionConfig
): Promise<{
contract: GetContractReturnType<CustomSchemaRegistry$Type["abi"]>;
deploymentTransaction: GetTransactionReturnType;
}>;
export function getContractAt(
contractName: "CustomSchemaRegistry",
address: Address,
config?: GetContractAtConfig
): Promise<GetContractReturnType<CustomSchemaRegistry$Type["abi"]>>;
export function getContractAt(
contractName: "contracts/CustomSchemaRegistry.sol:CustomSchemaRegistry",
address: Address,
config?: GetContractAtConfig
): Promise<GetContractReturnType<CustomSchemaRegistry$Type["abi"]>>;
}