Expand description

Unique Delegation Manager

Unique Delegation Manager is a toolset built for managing a “master-delegate” relationship between 1-to-many wallets. Protocols that implement it can allow safe execution of numerous actions for users without exposing their assets to any risks.

Modules

An Anchor generated module, providing a set of structs mirroring the structs deriving Accounts, where each field is a Pubkey. This is useful for specifying accounts for a client.
Unique program library’s Delegation Manager program.
An Anchor generated module containing the program’s set of instructions, where each method handler in the #[program] mod is associated with a struct defining the input arguments to the method. These should be used directly, when one wants to serialize Anchor instruction data, for example, when speciying instructions on a client.
Module representing the program.

Structs

Accounts passed to CancelDelegation instruction
Accounts passed to ConfirmDelegation instruction
State account storing the delegation
Accounts passed to InitializeDelegation instruction

Enums

Program errors

Constants

Statics

The static program ID

Functions

Function used to determine if a representative is authorised by master. If the master is the same as a representative, the delegation_option argument can be None. If the master is not the same as a representative, Delegation account needs to be passed
Confirms that a given pubkey is equivalent to the program ID
The Anchor codegen exposes a programming model where a user defines a set of methods inside of a #[program] module in a way similar to writing RPC request handlers. The macro then generates a bunch of code wrapping these user defined methods into something that can be executed on Solana.
Safety
Returns the program ID