GLAMIDL Reference

price_managed_transfers

Prices managed inflight transfers and publishes aggregated amount.

Handler narrative

  1. Load the GLAM state or program account required by the instruction and verify the signer.
  2. Verify that the integration is enabled on the vault and that the caller has the required delegate permission or owner authority.
  3. Validate the instruction-specific policy, then invoke the external protocol with the vault authority where required.
  4. Prices managed inflight transfers and publishes aggregated amount.

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.
  • 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.
  • All pricing instructions for the same pricing operation must be in one Solana transaction; splitting them across multiple transactions is unsupported and can produce stale, inconsistent, or rejected NAV calculations.
  • Oracle, token-account, position, and pricing-record accounts must all refer to the same vault state and base asset so the AUM calculation is internally consistent.
  • Asset, amount, and destination restrictions must satisfy the configured transfer or destination policy when that policy is present.

Accounts

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

AccountRoleDescription
bridge_registryread-onlyBridge configuration or registry account used by the instruction.
glam_configread-onlyGlobal GLAM configuration account for fee and asset/oracle metadata.
base_asset_oracleread-onlyPricing or oracle account used to calculate value for the instruction.

Arguments

No arguments.

Policy & permissions

  • Enable the Bridge integration program before LayerZero OFT or managed-transfer actions.
  • Pricing callers must be authorized to update valuation records for the vault. Pricing does not grant asset-movement rights.
  • Destination and asset restrictions must satisfy the configured transfer or destination policy when one is set.

TypeScript SDK usage

const pricingIxs = await glamClient.price.priceVaultIxs();
const validateIx = await glamClient.price.validateAumIx();
// Submit all pricing instructions and validation together.

Cross-instruction constraints

  • All pricing instructions for this pricing operation must be included in the same Solana transaction. Splitting them across multiple transactions is not supported and will produce incorrect or rejected NAV calculations.
  • Managed transfers must be validated before they are priceable.