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.

130 lines (129 loc) 3.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.IDL = void 0; exports.IDL = { 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!', }, ], };