GLAMIDL Reference

initialize_bundle_depositor

Initialize a non-permissioned Neutral user bundle account for the GLAM vault.

Required conditions

  • The vault integration ACL must enable this integration before the instruction is accepted; that enablement is defined on the GLAM state account.
  • If the signer is not the owner, the delegate ACL on the GLAM state must contain the exact protocol permission required by this instruction; registering a delegate alone is insufficient.
  • Instruction-specific destination accounts must satisfy the external protocol's own account model; GLAM validates the accounts it needs for authorization and policy enforcement, then passes the remaining protocol accounts through CPI.
  • Creation-style flows require the target account or PDA to be uninitialized or intentionally updatable, the fee payer to be writable, and the System Program to be present when rent or allocation is needed.
  • The instruction metadata names InitializeBundleDepositor as the delegate permission for this instruction.
  • bundle_account must be present in the Neutral bundles allowlist.

Accounts

Uses the standard Big Seven account pattern, plus the instruction-specific accounts below.

AccountRoleDescription
bundle_accountwritableNeutral bundle account for the asset bundle being deposited into or withdrawn from.
user_bundle_accountwritableNeutral user bundle account that tracks this vault's bundle deposit or withdrawal requests.

No arguments

Policy & permissions

  • Enable the Neutral integration program on the vault integration ACL before Neutral bundle actions.
  • Delegate permission: InitializeBundleDepositor.