GLAMIDL Reference

update_mint

Updates mutable mint configuration.

Handler narrative

  1. Load the GLAM state or program account required by the instruction and verify the signer.
  2. Apply mint lifecycle, token-account, ACL, or policy changes after verifying the required authority.

Required conditions

  • The submitted accounts must match the declared account list, signer requirements, writable requirements, fixed program addresses, and account relationships shown below.
  • The GLAM state account is the source of truth for owner, enabled integrations, delegate permissions, policies, assets, borrowable assets, timelock settings, mint linkage, and pricing records.
  • Mint actions must satisfy the linked GLAM state, Token-2022 mint configuration, mint policy, and any request queue or escrow state involved in the flow.
  • Configuration changes must pass owner or authorized-manager checks and, when the state or mint timelock is active, must follow the propose/apply timing model instead of taking effect immediately.

Accounts

AccountRoleDescription
glam_statewritableState account owned by the GLAM Protocol program; it records vault configuration, policies, and pricing records.
glam_signersigner, writableCalling authority. It must be the owner or a delegate with the explicit permission required by this instruction.
glam_mintwritableToken-2022 mint associated with the GLAM mint or tokenized vault.
system_programread-onlyStandard Solana program account required by the instruction.
token_2022_programread-onlyStandard Solana program account required by the instruction.
glam_protocolread-onlyGLAM Protocol program account used for authorization or CPI.

Arguments

ArgumentTypeNotes
mint_modelMintModelsymbol: option<string>; name: option<[u8; 32]>; uri: option<string>; year_in_seconds: option<u32>; permanent_delegate: option<pubkey>; default_account_state_frozen: option<bool> - Whether new Token-2022 token accounts start frozen for permissioned distribution.; fee_structure: option<FeeStructure> - Manager, vault, and protocol fee configuration for tokenized vault shares.; notify_and_settle: option<NotifyAndSettle> - Notice, settlement, cancellation window, and fulfillment timing settings.; lockup_period: option<u32> - Time-based restriction enforced through Token-2022 transfer hooks and GLAM Policies.; max_cap: option<u64> - Maximum vault capacity.; min_subscription: option<u64> - Minimum subscription amount.; min_redemption: option<u64> - Minimum redemption amount.; allowlist: option<vec<pubkey>> - Investor allowlist.; blocklist: option<vec<pubkey>> - Investor blocklist.

Policy & permissions

  • No external integration enablement is required beyond the program-level functionality involved in this instruction.
  • Only the owner is expected. Delegates do not receive this capability by being added; it must be granted explicitly if supported.

TypeScript SDK usage

await glamClient.mint.update({
  maxCap: new BN(5_000_000_000_000),
  minSubscription: new BN(500_000_000),
});

Cross-instruction constraints

  • No additional cross-instruction constraint is documented beyond account initialization, authority checks, and policy validation.