UNPKG

@civic/sol-did-idl

Version:

The official Solana IDL for did:sol

1,048 lines (1,047 loc) 33.3 kB
/** * Program IDL in camelCase format in order to be used in JS/TS. * * Note that this is only a type helper and is not the actual IDL. The original * IDL can be found at `target/idl/sol_did.json`. */ export type SolDid = { "address": "didso1Dpqpm4CsiCjzP766BGY89CAdD6ZBL68cRhFPc"; "metadata": { "name": "solDid"; "version": "3.3.0"; "spec": "0.1.0"; "description": "Martin Riedel"; "repository": "https://github.com/identity-com/sol-did"; }; "instructions": [ { "name": "addService"; "discriminator": [ 133, 207, 106, 32, 91, 111, 153, 30 ]; "accounts": [ { "name": "didData"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 100, 105, 100, 45, 97, 99, 99, 111, 117, 110, 116 ]; }, { "kind": "account"; "path": "did_data.initial_verification_method.key_data"; "account": "didAccount"; } ]; }; }, { "name": "authority"; "signer": true; } ]; "args": [ { "name": "service"; "type": { "defined": { "name": "service"; }; }; }, { "name": "allowOverwrite"; "type": "bool"; }, { "name": "ethSignature"; "type": { "option": { "defined": { "name": "secp256k1RawSignature"; }; }; }; } ]; }, { "name": "addVerificationMethod"; "discriminator": [ 213, 200, 190, 61, 28, 104, 245, 25 ]; "accounts": [ { "name": "didData"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 100, 105, 100, 45, 97, 99, 99, 111, 117, 110, 116 ]; }, { "kind": "account"; "path": "did_data.initial_verification_method.key_data"; "account": "didAccount"; } ]; }; }, { "name": "authority"; "signer": true; } ]; "args": [ { "name": "verificationMethod"; "type": { "defined": { "name": "verificationMethod"; }; }; }, { "name": "ethSignature"; "type": { "option": { "defined": { "name": "secp256k1RawSignature"; }; }; }; } ]; }, { "name": "close"; "discriminator": [ 98, 165, 201, 177, 108, 65, 206, 96 ]; "accounts": [ { "name": "didData"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 100, 105, 100, 45, 97, 99, 99, 111, 117, 110, 116 ]; }, { "kind": "account"; "path": "did_data.initial_verification_method.key_data"; "account": "didAccount"; } ]; }; }, { "name": "authority"; "signer": true; }, { "name": "destination"; "writable": true; }, { "name": "systemProgram"; "address": "11111111111111111111111111111111"; } ]; "args": [ { "name": "ethSignature"; "type": { "option": { "defined": { "name": "secp256k1RawSignature"; }; }; }; } ]; }, { "name": "initialize"; "discriminator": [ 175, 175, 109, 31, 13, 152, 155, 237 ]; "accounts": [ { "name": "didData"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 100, 105, 100, 45, 97, 99, 99, 111, 117, 110, 116 ]; }, { "kind": "account"; "path": "authority"; } ]; }; }, { "name": "authority"; "writable": true; "signer": true; }, { "name": "payer"; "writable": true; "signer": true; }, { "name": "systemProgram"; "address": "11111111111111111111111111111111"; } ]; "args": [ { "name": "size"; "type": "u32"; } ]; }, { "name": "removeService"; "discriminator": [ 19, 102, 8, 231, 40, 141, 9, 110 ]; "accounts": [ { "name": "didData"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 100, 105, 100, 45, 97, 99, 99, 111, 117, 110, 116 ]; }, { "kind": "account"; "path": "did_data.initial_verification_method.key_data"; "account": "didAccount"; } ]; }; }, { "name": "authority"; "signer": true; } ]; "args": [ { "name": "fragment"; "type": "string"; }, { "name": "ethSignature"; "type": { "option": { "defined": { "name": "secp256k1RawSignature"; }; }; }; } ]; }, { "name": "removeVerificationMethod"; "discriminator": [ 33, 238, 66, 183, 62, 210, 133, 150 ]; "accounts": [ { "name": "didData"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 100, 105, 100, 45, 97, 99, 99, 111, 117, 110, 116 ]; }, { "kind": "account"; "path": "did_data.initial_verification_method.key_data"; "account": "didAccount"; } ]; }; }, { "name": "authority"; "signer": true; } ]; "args": [ { "name": "fragment"; "type": "string"; }, { "name": "ethSignature"; "type": { "option": { "defined": { "name": "secp256k1RawSignature"; }; }; }; } ]; }, { "name": "resize"; "discriminator": [ 74, 27, 74, 155, 56, 134, 175, 125 ]; "accounts": [ { "name": "didData"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 100, 105, 100, 45, 97, 99, 99, 111, 117, 110, 116 ]; }, { "kind": "account"; "path": "did_data.initial_verification_method.key_data"; "account": "didAccount"; } ]; }; }, { "name": "payer"; "writable": true; "signer": true; }, { "name": "authority"; "signer": true; }, { "name": "systemProgram"; "address": "11111111111111111111111111111111"; } ]; "args": [ { "name": "size"; "type": "u32"; }, { "name": "ethSignature"; "type": { "option": { "defined": { "name": "secp256k1RawSignature"; }; }; }; } ]; }, { "name": "setControllers"; "discriminator": [ 65, 40, 24, 8, 30, 81, 20, 179 ]; "accounts": [ { "name": "didData"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 100, 105, 100, 45, 97, 99, 99, 111, 117, 110, 116 ]; }, { "kind": "account"; "path": "did_data.initial_verification_method.key_data"; "account": "didAccount"; } ]; }; }, { "name": "authority"; "signer": true; } ]; "args": [ { "name": "setControllersArg"; "type": { "defined": { "name": "setControllersArg"; }; }; }, { "name": "ethSignature"; "type": { "option": { "defined": { "name": "secp256k1RawSignature"; }; }; }; } ]; }, { "name": "setVmFlags"; "discriminator": [ 216, 172, 84, 171, 196, 72, 7, 41 ]; "accounts": [ { "name": "didData"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 100, 105, 100, 45, 97, 99, 99, 111, 117, 110, 116 ]; }, { "kind": "account"; "path": "did_data.initial_verification_method.key_data"; "account": "didAccount"; } ]; }; }, { "name": "authority"; "signer": true; } ]; "args": [ { "name": "flagsVm"; "type": { "defined": { "name": "updateFlagsVerificationMethod"; }; }; }, { "name": "ethSignature"; "type": { "option": { "defined": { "name": "secp256k1RawSignature"; }; }; }; } ]; }, { "name": "update"; "discriminator": [ 219, 200, 88, 176, 158, 63, 253, 127 ]; "accounts": [ { "name": "didData"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 100, 105, 100, 45, 97, 99, 99, 111, 117, 110, 116 ]; }, { "kind": "account"; "path": "did_data.initial_verification_method.key_data"; "account": "didAccount"; } ]; }; }, { "name": "authority"; "signer": true; } ]; "args": [ { "name": "updateArg"; "type": { "defined": { "name": "updateArg"; }; }; }, { "name": "ethSignature"; "type": { "option": { "defined": { "name": "secp256k1RawSignature"; }; }; }; } ]; } ]; "accounts": [ { "name": "didAccount"; "discriminator": [ 77, 88, 239, 141, 251, 29, 237, 243 ]; } ]; "errors": [ { "code": 6000; "name": "vmFragmentNotFound"; "msg": "No VM with the given fragment exists"; }, { "code": 6001; "name": "vmFragmentAlreadyInUse"; "msg": "Given VM fragment is already in use"; }, { "code": 6002; "name": "vmGuardedFlagOnAdd"; "msg": "Cannot add a verification method with guarded flag (OwnershipProof or Protected)"; }, { "code": 6003; "name": "vmCannotRemoveLastAuthority"; "msg": "Removing the last verification method would lead to a lockout"; }, { "code": 6004; "name": "serviceFragmentAlreadyInUse"; "msg": "Service already exists in current service list"; }, { "code": 6005; "name": "serviceFragmentNotFound"; "msg": "Service doesn't exists in current service list"; }, { "code": 6006; "name": "invalidOtherControllers"; "msg": "Invalid other controllers. Invalid DID format or did:sol:<did>"; }, { "code": 6007; "name": "invalidNativeControllers"; "msg": "Invalid native controllers. Cannot set itself as a controller"; }, { "code": 6008; "name": "insufficientInitialSize"; "msg": "Initial Account size is insufficient for serialization"; }, { "code": 6009; "name": "conversionError"; "msg": "Could not convert between data types"; }, { "code": 6010; "name": "invalidControllerChain"; "msg": "Invalid chain of controlling DidAccounts"; }, { "code": 6011; "name": "errorValidatingSecp256k1Signature"; "msg": "An error occurred while validating Secp256k1 signature"; }, { "code": 6012; "name": "wrongAuthorityForDid"; "msg": "Wrong Authority for given DID"; }, { "code": 6013; "name": "vmCannotRemoveProtected"; "msg": "Cannot remove a protected verification method. You need to first remove the Protected Verification Method Flag in order for this operation to succeed"; } ]; "types": [ { "name": "didAccount"; "type": { "kind": "struct"; "fields": [ { "name": "version"; "docs": [ "Version identifier" ]; "type": "u8"; }, { "name": "bump"; "docs": [ "Bump" ]; "type": "u8"; }, { "name": "nonce"; "docs": [ "Nonce, for protecting against replay attacks around secp256k1 signatures." ]; "type": "u64"; }, { "name": "initialVerificationMethod"; "docs": [ "The initial authority key, automatically being added to the array of all Verification Methods." ]; "type": { "defined": { "name": "verificationMethod"; }; }; }, { "name": "verificationMethods"; "docs": [ "All verification methods" ]; "type": { "vec": { "defined": { "name": "verificationMethod"; }; }; }; }, { "name": "services"; "docs": [ "Services" ]; "type": { "vec": { "defined": { "name": "service"; }; }; }; }, { "name": "nativeControllers"; "docs": [ "Controller (native) - did:sol:<controller>" ]; "type": { "vec": "pubkey"; }; }, { "name": "otherControllers"; "docs": [ "Controller (others) - all others" ]; "type": { "vec": "string"; }; } ]; }; }, { "name": "secp256k1RawSignature"; "type": { "kind": "struct"; "fields": [ { "name": "signature"; "type": { "array": [ "u8", 64 ]; }; }, { "name": "recoveryId"; "type": "u8"; } ]; }; }, { "name": "service"; "docs": [ "A Service Definition [`DidAccount`]" ]; "type": { "kind": "struct"; "fields": [ { "name": "fragment"; "type": "string"; }, { "name": "serviceType"; "type": "string"; }, { "name": "serviceEndpoint"; "type": "string"; } ]; }; }, { "name": "setControllersArg"; "docs": [ "Argument" ]; "type": { "kind": "struct"; "fields": [ { "name": "nativeControllers"; "type": { "vec": "pubkey"; }; }, { "name": "otherControllers"; "type": { "vec": "string"; }; } ]; }; }, { "name": "updateArg"; "docs": [ "Argument" ]; "type": { "kind": "struct"; "fields": [ { "name": "verificationMethods"; "docs": [ "All verification methods" ]; "type": { "vec": { "defined": { "name": "verificationMethod"; }; }; }; }, { "name": "services"; "docs": [ "Services" ]; "type": { "vec": { "defined": { "name": "service"; }; }; }; }, { "name": "nativeControllers"; "docs": [ "Controller (native) - did:sol:<controller>" ]; "type": { "vec": "pubkey"; }; }, { "name": "otherControllers"; "docs": [ "Controller (others) - all others" ]; "type": { "vec": "string"; }; } ]; }; }, { "name": "updateFlagsVerificationMethod"; "docs": [ "Argument" ]; "type": { "kind": "struct"; "fields": [ { "name": "fragment"; "type": "string"; }, { "name": "flags"; "type": "u16"; } ]; }; }, { "name": "verificationMethod"; "docs": [ "The native authority key for a [`DidAccount`]" ]; "type": { "kind": "struct"; "fields": [ { "name": "fragment"; "docs": [ "fragment" ]; "type": "string"; }, { "name": "flags"; "docs": [ "The permissions this key has" ]; "type": "u16"; }, { "name": "methodType"; "docs": [ "The actual verification method" ]; "type": "u8"; }, { "name": "keyData"; "docs": [ "Dynamically sized key matching the given VerificationType" ]; "type": "bytes"; } ]; }; } ]; };