async function createAttestation(
attestation: Attestation,
options?: CreateAttestationOnChainOptions
): Promise<AttestationResult>;
CreateAttestationOnChainOptions
const res = await client.createAttestation({
schemaId: "0x3e",
data: { name: "a" },
indexingValue: "xxx",
});
Delegating On-chain Attestation via ECDSA
async function delegateSignAttestation(
attestation: Attestation,
options: DelegateSignAttestationOptions
): Promise<AttestationDelegationSignature>;
DelegateSignAttestationOptions
const { privateKeyToAccount } = require("viem/accounts");
const delegationPrivateKey = "0x...";
const delegationResult = await delegateSignAttestation(
{ schemaId: "0x3e", data: { name: "a" }, indexingValue: "xxx" },
{
chain: EvmChains.baseSepolia,
delegationAccount: privateKeyToAccount(delegationPrivateKey),
}
);
const res = await client.createAttestation(delegationResult.attestation, {
delegationSignature: delegationResult.delegationSignature,
});
Retrieving an Attestation
async function getAttestation(attestationId: string): Promise<Attestation>;
const res = await client.getAttestation("0x44");
async function revokeAttestation(
attestationId: string,
options?: RevokeAttestationOptions
): Promise<RevokeAttestationResult>;
const res = await client.revokeAttestation("0x44");
Delegating On-chain Revocation via ECDSA
async function delegateSignRevokeAttestation(
attestationId: string,
options: {
chain: EvmChains;
delegationAccount?: PrivateKeyAccount;
reason?: string;
}
): Promise<RevokeDelegationSignature>;
DelegateSignRevokeAttestationOptions
const { privateKeyToAccount } = require("viem/accounts");
const delegationPrivateKey = "0x...";
const delegationResult = await delegateSignRevokeAttestation("0x46", {
chain: EvmChains.baseSepolia,
reason: "revoke reason",
delegationAccount: privateKeyToAccount(delegationPrivateKey),
});
const res = await client.revokeAttestation(delegationResult.attestationId, {
reason: delegationResult.reason,
delegationSignature: delegationResult.delegationSignature,
});