Crate smallet

Source
Expand description

This program can be used to allow a smallet to govern anything a regular Pubkey can govern. One can use the smallet as a BPF program upgrade authority, a mint authority, etc.

To use, one must first create a Smallet account, specifying two important parameters:

  1. Owners - the set of addresses that sign transactions for the smallet.
  2. Threshold - the number of signers required to execute a transaction.
  3. Minimum Delay - the minimum amount of time that must pass before a Transaction can be executed. If 0, this is ignored.

Once the Smallet account is created, one can create a Transaction account, specifying the parameters for a normal Solana instruction.

To sign, owners should invoke the smallet::approve instruction, and finally, smallet::execute_transaction, once enough (i.e. Smallet::threshold) of the owners have signed.

Modules§

accounts
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.
approve
Instruction handler for smallet:approve
instruction
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.
program
Module representing the program.
smallet
unapprove
Instruction handler for smallet::unapprove.

Structs§

Approve
Auth
CreateSmallet
CreateSubaccountInfo
CreateTransaction
ExecuteTransaction
OwnerInvokeInstruction
Smallet
SubaccountInfo
TXAccountMeta
TXInstruction
Transaction
TransactionApproveEvent
TransactionCreateEvent
TransactionExecuteEvent
TransactionUnapproveEvent
WalletChangeThresholdEvent
WalletCreateEvent
WalletSetOwnersEvent

Enums§

ErrorCode
SubaccountType

Constants§

DEFAULT_GRACE_PERIOD
MAX_DELAY_SECONDS
NO_ETA
SECONDS_PER_DAY

Statics§

ID
The static program ID

Functions§

check_id
Confirms that a given pubkey is equivalent to the program ID
entry
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.
entrypoint
Safety
handler
handler
id
Returns the program ID