@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
TypeScript
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;