UNPKG

@unique.vc/udm.js

Version:

UDM - Unique Delegation Manager is a simple yet efficient solution allowing to bridge self-custody and user experience, have best from both worlds and potentially extend the reach of the industry.

128 lines (127 loc) 3.53 kB
export type DelegationManager = { version: '0.1.0'; name: 'delegation_manager'; docs: ["Unique program library's Delegation Manager program."]; instructions: [ { name: 'initializeDelegate'; docs: ['Initializes delegation account']; accounts: [ { name: 'master'; isMut: true; isSigner: true; }, { name: 'representative'; isMut: false; isSigner: false; }, { name: 'delegation'; isMut: true; isSigner: false; }, { name: 'systemProgram'; isMut: false; isSigner: false; } ]; args: []; }, { name: 'confirmDelegate'; docs: ['Confirms delegation']; accounts: [ { name: 'representative'; isMut: true; isSigner: true; }, { name: 'delegation'; isMut: true; isSigner: false; }, { name: 'systemProgram'; isMut: false; isSigner: false; } ]; args: []; }, { name: 'cancelDelegate'; docs: ['Cancels delegation']; accounts: [ { name: 'delegation'; isMut: true; isSigner: false; }, { name: 'systemProgram'; isMut: false; isSigner: false; } ]; args: []; } ]; accounts: [ { name: 'delegation'; docs: ['State account storing the delegation']; type: { kind: 'struct'; fields: [ { name: 'master'; docs: ['The creator of the delegation']; type: 'publicKey'; }, { name: 'representative'; docs: ['The wallet who delegates']; type: 'publicKey'; }, { name: 'authorised'; docs: ['Confirmation flag']; type: 'bool'; } ]; }; } ]; errors: [ { code: 6000; name: 'WrongRepresentative'; msg: 'Wrong representative!'; }, { code: 6001; name: 'WrongMaster'; msg: 'Wrong authority!'; }, { code: 6002; name: 'WrongSigner'; msg: 'Wrong signer!'; }, { code: 6003; name: 'AlreadyAuthorised'; msg: 'Authorization already approved!'; }, { code: 6004; name: 'NotAuthorized'; msg: 'The account provided has no authority!'; } ]; }; export declare const IDL: DelegationManager;