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.

254 lines (252 loc) 5.18 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 const IDL: 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!', }, ], };