@glamsystems/glam-cli 1.0.0-alpha.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +2 -2
  2. package/main.js +115 -78
  3. package/package.json +2 -2
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ![NPM Version](https://img.shields.io/npm/v/%40glamsystems%2Fglam-cli)
4
4
 
5
- A powerful command-line interface for managing GLAM vaults.
5
+ Command-line interface for managing GLAM vaults.
6
6
 
7
7
  **Note:** This repository is automatically synced from GLAM's private monorepo. Pull requests cannot be accepted here, but we welcome bug reports and feature requests through GitHub Issues.
8
8
 
@@ -16,4 +16,4 @@ After installation, you can use the CLI with the `glam-cli` command.
16
16
 
17
17
  ## Documentation
18
18
 
19
- Please visit [GLAM CLI Documentation](https://docs.glam.systems/cli/) for more information.
19
+ Please visit [GLAM CLI Documentation](https://docs.glam.systems/v1/cli/) for more information.
package/main.js CHANGED
@@ -115,19 +115,19 @@ module.exports = require("@coral-xyz/anchor");
115
115
  /* 5 */
116
116
  /***/ ((module) => {
117
117
 
118
- module.exports = /*#__PURE__*/JSON.parse('{"address":"GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz","metadata":{"name":"glam_protocol","version":"0.4.36","spec":"0.1.0","description":"Glam Protocol"},"instructions":[{"name":"close_state","discriminator":[25,1,184,101,200,245,210,246],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_signer","writable":true,"signer":true},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[]},{"name":"cpi_proxy","docs":["Only accessible by integration programs"],"discriminator":[65,134,48,2,7,232,199,46],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_signer","writable":true,"signer":true},{"name":"cpi_program"},{"name":"integration_authority","signer":true},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"data","type":"bytes"},{"name":"extra_params","type":{"vec":{"defined":{"name":"ExtraParams"}}}}]},{"name":"emergency_access_update","docs":["Bypasses the timelock for emergency updates on access control rules. Allowed operations:","- removing an integration program","- removing a delegate","- enabling/disabling glam state"],"discriminator":[207,247,157,14,87,132,230,0],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_signer","writable":true,"signer":true}],"args":[{"name":"args","type":{"defined":{"name":"EmergencyAccessUpdateArgs"}}}]},{"name":"enable_disable_protocols","discriminator":[222,198,164,163,194,161,11,171],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_signer","writable":true,"signer":true}],"args":[{"name":"integration_program","type":"pubkey"},{"name":"protocols_bitmask","type":"u16"},{"name":"set_enabled","type":"bool"}]},{"name":"extend_state","discriminator":[34,147,151,206,134,128,82,228],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_signer","writable":true,"signer":true},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"bytes","type":"u32"}]},{"name":"grant_revoke_delegate_permissions","discriminator":[162,21,218,157,218,86,114,171],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_signer","writable":true,"signer":true}],"args":[{"name":"delegate","type":"pubkey"},{"name":"integration_program","type":"pubkey"},{"name":"protocol_bitflag","type":"u16"},{"name":"permissions_bitmask","type":"u64"},{"name":"set_granted","type":"bool"}]},{"name":"initialize_state","discriminator":[190,171,224,219,217,72,199,176],"accounts":[{"name":"glam_state","writable":true,"pda":{"seeds":[{"kind":"const","value":[115,116,97,116,101]},{"kind":"account","path":"glam_signer"},{"kind":"arg","path":"state_model.created"}]}},{"name":"glam_signer","writable":true,"signer":true},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"base_asset_mint"}],"args":[{"name":"state","type":{"defined":{"name":"StateModel"}}}]},{"name":"jupiter_swap","discriminator":[116,207,0,196,252,120,243,18],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_signer","writable":true,"signer":true},{"name":"cpi_program","address":"JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4"},{"name":"input_vault_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"glam_vault"},{"kind":"account","path":"input_token_program"},{"kind":"account","path":"input_mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"output_vault_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"glam_vault"},{"kind":"account","path":"output_token_program"},{"kind":"account","path":"output_mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"input_mint"},{"name":"output_mint"},{"name":"input_stake_pool","optional":true},{"name":"output_stake_pool","optional":true},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{"name":"input_token_program"},{"name":"output_token_program"}],"args":[{"name":"data","type":"bytes"}]},{"name":"link_unlink_mint_by_mint_authority","docs":["For glam mint program\'s use only"],"discriminator":[85,67,58,245,175,14,122,6],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_mint"},{"name":"glam_mint_authority","signer":true}],"args":[{"name":"link","type":"bool"}]},{"name":"reset_priced_protocols","docs":["Resets glam_state.priced_protocols to an empty vector"],"discriminator":[60,176,141,208,132,51,54,9],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_signer","signer":true}],"args":[]},{"name":"set_jupiter_swap_policy","discriminator":[189,182,227,165,127,148,246,189],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_signer","writable":true,"signer":true}],"args":[{"name":"policy","type":{"defined":{"name":"JupiterSwapPolicy"}}}]},{"name":"set_protocol_policy","discriminator":[37,99,61,122,227,102,182,180],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_signer","writable":true,"signer":true}],"args":[{"name":"integration_program","type":"pubkey"},{"name":"protocol_bitflag","type":"u16"},{"name":"data","type":"bytes"}]},{"name":"set_system_transfer_policy","discriminator":[102,21,157,101,19,4,100,213],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_signer","writable":true,"signer":true}],"args":[{"name":"policy","type":{"defined":{"name":"TransferPolicy"}}}]},{"name":"stake_authorize","docs":["Out-of-scope for audit"],"discriminator":[127,247,88,164,201,0,79,7],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_signer","writable":true,"signer":true},{"name":"cpi_program","address":"Stake11111111111111111111111111111111111111"},{"name":"stake","writable":true},{"name":"clock","address":"SysvarC1ock11111111111111111111111111111111"}],"args":[{"name":"new_authority","type":"pubkey"},{"name":"staker_or_withdrawer","type":"u32"}]},{"name":"stake_deactivate","docs":["Out-of-scope for audit"],"discriminator":[224,10,93,175,175,145,237,169],"accounts":[{"name":"glam_state"},{"name":"glam_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_signer","writable":true,"signer":true},{"name":"cpi_program","address":"Stake11111111111111111111111111111111111111"},{"name":"stake","writable":true},{"name":"clock","address":"SysvarC1ock11111111111111111111111111111111"}],"args":[]},{"name":"stake_delegate_stake","docs":["Out-of-scope for audit"],"discriminator":[202,40,152,239,175,251,66,228],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_signer","writable":true,"signer":true},{"name":"cpi_program","address":"Stake11111111111111111111111111111111111111"},{"name":"stake","writable":true},{"name":"vote"},{"name":"clock","address":"SysvarC1ock11111111111111111111111111111111"},{"name":"stake_history","address":"SysvarStakeHistory1111111111111111111111111"},{"name":"stake_config"}],"args":[]},{"name":"stake_initialize","docs":["Out-of-scope for audit"],"discriminator":[68,66,118,79,15,144,190,190],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_signer","writable":true,"signer":true},{"name":"cpi_program","address":"Stake11111111111111111111111111111111111111"},{"name":"stake","writable":true},{"name":"rent","address":"SysvarRent111111111111111111111111111111111"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[]},{"name":"stake_merge","docs":["Out-of-scope for audit"],"discriminator":[46,181,125,12,51,179,134,176],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_signer","writable":true,"signer":true},{"name":"cpi_program","address":"Stake11111111111111111111111111111111111111"},{"name":"destination_stake","writable":true},{"name":"source_stake","writable":true},{"name":"clock","address":"SysvarC1ock11111111111111111111111111111111"},{"name":"stake_history","address":"SysvarStakeHistory1111111111111111111111111"}],"args":[]},{"name":"stake_redelegate","docs":["Out-of-scope for audit"],"discriminator":[134,227,164,247,120,0,225,174],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_signer","writable":true,"signer":true},{"name":"cpi_program","address":"Stake11111111111111111111111111111111111111"},{"name":"stake","writable":true},{"name":"new_stake","writable":true},{"name":"vote"},{"name":"stake_config"}],"args":[]},{"name":"stake_split","docs":["Out-of-scope for audit"],"discriminator":[63,128,169,206,158,60,135,48],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_signer","writable":true,"signer":true},{"name":"cpi_program","address":"Stake11111111111111111111111111111111111111"},{"name":"stake","writable":true},{"name":"split_stake","writable":true}],"args":[{"name":"lamports","type":"u64"}]},{"name":"stake_withdraw","docs":["Out-of-scope for audit"],"discriminator":[199,13,168,20,92,151,29,56],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_signer","writable":true,"signer":true},{"name":"cpi_program","address":"Stake11111111111111111111111111111111111111"},{"name":"stake","writable":true},{"name":"clock","address":"SysvarC1ock11111111111111111111111111111111"},{"name":"stake_history","address":"SysvarStakeHistory1111111111111111111111111"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"lamports","type":"u64"}]},{"name":"system_transfer","discriminator":[167,164,195,155,219,152,191,230],"accounts":[{"name":"glam_state"},{"name":"glam_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_signer","writable":true,"signer":true},{"name":"cpi_program","address":"11111111111111111111111111111111"},{"name":"to","writable":true}],"args":[{"name":"lamports","type":"u64"}]},{"name":"token_transfer_checked_by_mint_authority","docs":["For glam mint program\'s use only"],"discriminator":[37,131,188,85,45,183,8,81],"accounts":[{"name":"glam_state"},{"name":"glam_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_mint","writable":true},{"name":"glam_mint_authority","writable":true,"signer":true},{"name":"from","writable":true},{"name":"to","writable":true},{"name":"mint"},{"name":"token_program"}],"args":[{"name":"amount","type":"u64"},{"name":"decimals","type":"u8"}]},{"name":"update_mint_params","discriminator":[45,42,115,25,179,27,57,191],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_signer","writable":true,"signer":true}],"args":[{"name":"params","type":{"vec":{"defined":{"name":"EngineField"}}}}]},{"name":"update_mint_params_by_mint_authority","docs":["For glam mint program\'s use only, timelock is not enforced"],"discriminator":[94,160,55,53,175,225,62,118],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_mint"},{"name":"glam_mint_authority","signer":true}],"args":[{"name":"params","type":{"vec":{"defined":{"name":"EngineField"}}}}]},{"name":"update_priced_protocol","docs":["Only accessible by integration programs"],"discriminator":[10,106,94,171,118,217,62,98],"accounts":[{"name":"glam_state","writable":true},{"name":"integration_authority","signer":true}],"args":[{"name":"priced_protocol","type":{"defined":{"name":"PricedProtocol"}}}]},{"name":"update_state","discriminator":[135,112,215,75,247,185,53,176],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_signer","writable":true,"signer":true}],"args":[{"name":"state","type":{"defined":{"name":"StateModel"}}}]},{"name":"update_state_apply_timelock","discriminator":[66,12,138,80,133,85,46,220],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_signer","writable":true,"signer":true}],"args":[]}],"accounts":[{"name":"StateAccount","discriminator":[142,247,54,95,85,133,249,103]}],"errors":[{"code":48000,"name":"UnauthorizedSigner","msg":"Signer is not authorized"},{"code":48001,"name":"UnauthorizedIntegrationProgram","msg":"Integration program is not authorized"},{"code":48002,"name":"IntegrationNotEnabled","msg":"Integration is not enabled"},{"code":48003,"name":"ProtocolNotEnabled","msg":"Protocol is not enabled"},{"code":48004,"name":"GlamStateDisabled","msg":"GLAM state is disabled"},{"code":48005,"name":"ProtocolPolicyViolation","msg":"Protocol policy violation"},{"code":48006,"name":"EmergencyUpdateDenied","msg":"Emergency update denied"},{"code":48007,"name":"TimelockStillActive","msg":"Timelock still active"},{"code":48008,"name":"CannotApplyChanges","msg":"Pending changes cannot be applied due to unfulfilled requests"},{"code":48009,"name":"AssetNotBorrowable","msg":"Asset is not allowed to borrow"},{"code":48010,"name":"UnexpectedProgramOwner","msg":"Account is owned by an unexpected program"},{"code":48011,"name":"InvalidAuthority","msg":"Invalid authority"},{"code":49000,"name":"InvalidAccountType","msg":"Invalid account type"},{"code":49001,"name":"InvalidName","msg":"Invalid name"},{"code":49002,"name":"InvalidSymbol","msg":"Symbol too long: max 32 chars"},{"code":49003,"name":"InvalidUri","msg":"Uri too long: max 128 chars"},{"code":49004,"name":"InvalidAssetsLen","msg":"Too many assets: max 100"},{"code":49005,"name":"InvalidIxArgs","msg":"Invalid instruction arguments"},{"code":49006,"name":"CannotCloseState","msg":"Glam state cannot be closed: mint must be closed and state must be disabled"},{"code":49007,"name":"InvalidMintParams","msg":"Invalid mint params"},{"code":49008,"name":"InvalidRemainingAccounts","msg":"Invalid accounts: the transaction is malformed"},{"code":49009,"name":"InvalidVaultTokenAccount","msg":"Invalid vault ata"},{"code":49010,"name":"NonZeroSupply","msg":"Glam mint supply not zero"},{"code":49011,"name":"MissingAccount","msg":"An account required by the instruction is missing"},{"code":49012,"name":"InvalidTimestamp","msg":"Invalid timestamp"},{"code":49013,"name":"EngineFieldNotFound","msg":"Engine field not found"},{"code":49014,"name":"InvalidBaseAsset","msg":"Invalid base asset"},{"code":49015,"name":"InvalidProtocolBitflag","msg":"Invalid protocol bitflag"},{"code":50000,"name":"WithdrawDenied","msg":"Withdraw denied. Only vaults allow withdraws (funds and mints don\'t)"},{"code":50001,"name":"InvalidAssetForSwap","msg":"Asset cannot be swapped"},{"code":50002,"name":"UnsupportedSwapIx","msg":"Unsupported swap instruction"},{"code":50003,"name":"SlippageLimitExceeded","msg":"Max slippage exceeded"},{"code":50004,"name":"InvalidPlatformFeeForSwap","msg":"Invalid platform fee"},{"code":50005,"name":"InvalidTokenAccount","msg":"Invalid token account"},{"code":50006,"name":"InvalidVoteSide","msg":"Invalid vote side"},{"code":50007,"name":"MultipleStakeAccountsDisallowed","msg":"Multiple stake accounts disallowed"},{"code":51000,"name":"InvalidAssetPrice","msg":"Invalid asset price"},{"code":51001,"name":"InvalidStableCoinPriceForSubscribe","msg":"Subscription not allowed: invalid stable coin price"},{"code":51100,"name":"InvalidPricingOracle","msg":"Invalid oracle for asset price"},{"code":51101,"name":"PricingError","msg":"Pricing error"},{"code":51102,"name":"PriceTooOld","msg":"Price is too old"},{"code":51103,"name":"ExternalPositionsNotPriced","msg":"Not all external vault accounts are priced"},{"code":51104,"name":"VaultTokensNotPriced","msg":"Not all vault tokens are priced"},{"code":51105,"name":"PriceDivergenceTooLarge","msg":"No priced assets found"},{"code":51106,"name":"PositiveAumRequired","msg":"AUM must be positive"},{"code":51107,"name":"MathError","msg":"Math error"},{"code":51108,"name":"TypeCastingError","msg":"Type casting error"},{"code":51109,"name":"BaseAssetNotSupported","msg":"Base asset must have 6 decimals."},{"code":51110,"name":"InvalidQuoteSpotMarket","msg":"Unsupported spot market for perp quotes"},{"code":51111,"name":"UnknownExternalVaultAsset","msg":"Unknown external vault account"},{"code":51112,"name":"InvalidPriceDenom","msg":"Invalid price denom"},{"code":51113,"name":"UnexpectedDiscriminator","msg":"Invalid account: discriminator mismatch"},{"code":52000,"name":"TransfersDisabled","msg":"Policy violation: transfers disabled"},{"code":52001,"name":"InvalidPolicyAccount","msg":"Policy account is mandatory"},{"code":52002,"name":"AmountTooBig","msg":"Policy violation: amount too big"},{"code":52003,"name":"LockUp","msg":"Policy violation: lock-up has not expired"}],"types":[{"name":"AccountType","type":{"kind":"enum","variants":[{"name":"Vault"},{"name":"TokenizedVault"},{"name":"Mint"}]}},{"name":"AccruedFees","type":{"kind":"struct","fields":[{"name":"vault_subscription_fee","type":"u128"},{"name":"vault_redemption_fee","type":"u128"},{"name":"manager_subscription_fee","type":"u128"},{"name":"manager_redemption_fee","type":"u128"},{"name":"management_fee","type":"u128"},{"name":"performance_fee","type":"u128"},{"name":"protocol_base_fee","type":"u128"},{"name":"protocol_flow_fee","type":"u128"}]}},{"name":"ActionType","type":{"kind":"enum","variants":[{"name":"AddExternalAccount"},{"name":"DeleteExternalAccount"},{"name":"DeleteExternalAccountIfZeroLamports"},{"name":"DeleteExternalAccountIfZeroBalance"},{"name":"AddAsset"},{"name":"DeleteAsset"}]}},{"name":"CreatedModel","type":{"kind":"struct","fields":[{"name":"key","type":{"array":["u8",8]}},{"name":"created_by","type":"pubkey"},{"name":"created_at","type":"i64"}]}},{"name":"DelegateAcl","type":{"kind":"struct","fields":[{"name":"pubkey","type":"pubkey"},{"name":"integration_permissions","type":{"vec":{"defined":{"name":"IntegrationPermissions"}}}},{"name":"expires_at","type":"i64"}]}},{"name":"EmergencyAccessUpdateArgs","type":{"kind":"struct","fields":[{"name":"disabled_integrations","type":{"vec":"pubkey"}},{"name":"disabled_delegates","type":{"vec":"pubkey"}},{"name":"state_enabled","type":{"option":"bool"}}]}},{"name":"EngineField","type":{"kind":"struct","fields":[{"name":"name","type":{"defined":{"name":"EngineFieldName"}}},{"name":"value","type":{"defined":{"name":"EngineFieldValue"}}}]}},{"name":"EngineFieldName","type":{"kind":"enum","variants":[{"name":"Owner"},{"name":"PortfolioManagerName"},{"name":"Name"},{"name":"Uri"},{"name":"Assets"},{"name":"DelegateAcls"},{"name":"IntegrationAcls"},{"name":"TimelockDuration"},{"name":"Borrowable"},{"name":"DefaultAccountStateFrozen"},{"name":"PermanentDelegate"},{"name":"NotifyAndSettle"},{"name":"FeeStructure"},{"name":"FeeParams"},{"name":"ClaimableFees"},{"name":"ClaimedFees"},{"name":"OracleConfigs"}]}},{"name":"EngineFieldValue","type":{"kind":"enum","variants":[{"name":"Boolean","fields":[{"name":"val","type":"bool"}]},{"name":"U8","fields":[{"name":"val","type":"u8"}]},{"name":"U32","fields":[{"name":"val","type":"u32"}]},{"name":"U64","fields":[{"name":"val","type":"u64"}]},{"name":"String","fields":[{"name":"val","type":"string"}]},{"name":"Pubkey","fields":[{"name":"val","type":"pubkey"}]},{"name":"VecPubkey","fields":[{"name":"val","type":{"vec":"pubkey"}}]},{"name":"VecU8","fields":[{"name":"val","type":"bytes"}]},{"name":"VecU32","fields":[{"name":"val","type":{"vec":"u32"}}]},{"name":"VecDelegateAcl","fields":[{"name":"val","type":{"vec":{"defined":{"name":"DelegateAcl"}}}}]},{"name":"VecIntegrationAcl","fields":[{"name":"val","type":{"vec":{"defined":{"name":"IntegrationAcl"}}}}]},{"name":"FeeStructure","fields":[{"name":"val","type":{"defined":{"name":"FeeStructure"}}}]},{"name":"FeeParams","fields":[{"name":"val","type":{"defined":{"name":"FeeParams"}}}]},{"name":"AccruedFees","fields":[{"name":"val","type":{"defined":{"name":"AccruedFees"}}}]},{"name":"NotifyAndSettle","fields":[{"name":"val","type":{"defined":{"name":"NotifyAndSettle"}}}]},{"name":"OracleConfigs","fields":[{"name":"val","type":{"defined":{"name":"OracleConfigs"}}}]}]}},{"name":"EntryExitFees","type":{"kind":"struct","fields":[{"name":"subscription_fee_bps","type":"u16"},{"name":"redemption_fee_bps","type":"u16"}]}},{"name":"ExtraParams","type":{"kind":"struct","fields":[{"name":"action_type","type":{"defined":{"name":"ActionType"}}},{"name":"pubkey","type":"pubkey"},{"name":"amount","type":{"option":"u64"}}]}},{"name":"FeeParams","type":{"kind":"struct","fields":[{"name":"year_in_seconds","type":"u32"},{"name":"pa_high_water_mark","type":"i128"},{"name":"pa_last_nav","type":"i128"},{"name":"last_aum","type":"i128"},{"name":"last_performance_fee_crystallized","type":"i64"},{"name":"last_management_fee_crystallized","type":"i64"},{"name":"last_protocol_fee_crystallized","type":"i64"}]}},{"name":"FeeStructure","type":{"kind":"struct","fields":[{"name":"vault","type":{"defined":{"name":"EntryExitFees"}}},{"name":"manager","type":{"defined":{"name":"EntryExitFees"}}},{"name":"management","type":{"defined":{"name":"ManagementFee"}}},{"name":"performance","type":{"defined":{"name":"PerformanceFee"}}},{"name":"protocol","type":{"defined":{"name":"ProtocolFees"}}}]}},{"name":"HurdleType","type":{"kind":"enum","variants":[{"name":"Hard"},{"name":"Soft"}]}},{"name":"IntegrationAcl","docs":["An integration program can have multiple protocols supported.","Enabled protocols are stored in a bitmask, and each protocol can have its own policy."],"type":{"kind":"struct","fields":[{"name":"integration_program","type":"pubkey"},{"name":"protocols_bitmask","type":"u16"},{"name":"protocol_policies","type":{"vec":{"defined":{"name":"ProtocolPolicy"}}}}]}},{"name":"IntegrationPermissions","docs":["Stores delegate permissions for an integration program."],"type":{"kind":"struct","fields":[{"name":"integration_program","type":"pubkey"},{"name":"protocol_permissions","type":{"vec":{"defined":{"name":"ProtocolPermissions"}}}}]}},{"name":"JupiterSwapPolicy","type":{"kind":"struct","fields":[{"name":"max_slippage_bps","type":"u16"},{"name":"swap_allowlist","type":{"option":{"vec":"pubkey"}}}]}},{"name":"ManagementFee","type":{"kind":"struct","fields":[{"name":"fee_bps","type":"u16"}]}},{"name":"NoticePeriodType","type":{"kind":"enum","variants":[{"name":"Hard"},{"name":"Soft"}]}},{"name":"NotifyAndSettle","type":{"kind":"struct","fields":[{"name":"model","type":{"defined":{"name":"ValuationModel"}}},{"name":"permissionless_fulfillment","type":"bool"},{"name":"subscribe_notice_period_type","type":{"defined":{"name":"NoticePeriodType"}}},{"name":"subscribe_notice_period","type":"u64"},{"name":"subscribe_settlement_period","type":"u64"},{"name":"subscribe_cancellation_window","type":"u64"},{"name":"redeem_notice_period_type","type":{"defined":{"name":"NoticePeriodType"}}},{"name":"redeem_notice_period","type":"u64"},{"name":"redeem_settlement_period","type":"u64"},{"name":"redeem_cancellation_window","type":"u64"},{"name":"time_unit","type":{"defined":{"name":"TimeUnit"}}},{"name":"_padding","type":{"array":["u8",3]}}]}},{"name":"OracleConfigs","docs":["Vault-specific oracle configs. If available, these configs are preferred over the global config."],"type":{"kind":"struct","fields":[{"name":"max_ages_seconds","type":{"vec":{"array":["u16",2]}}},{"name":"padding","type":{"array":["u8",12]}}]}},{"name":"PerformanceFee","type":{"kind":"struct","fields":[{"name":"fee_bps","type":"u16"},{"name":"hurdle_rate_bps","type":"u16"},{"name":"hurdle_type","type":{"defined":{"name":"HurdleType"}}}]}},{"name":"PricedProtocol","type":{"kind":"struct","fields":[{"name":"rent","type":"u64"},{"name":"amount","type":"i128"},{"name":"decimals","type":"u8"},{"name":"last_updated_slot","type":"u64"},{"name":"integration_program","type":"pubkey"},{"name":"protocol_bitflag","type":"u16"},{"name":"positions","type":{"vec":"pubkey"}}]}},{"name":"ProtocolFees","type":{"kind":"struct","fields":[{"name":"base_fee_bps","type":"u16"},{"name":"flow_fee_bps","type":"u16"}]}},{"name":"ProtocolPermissions","docs":["Represents a delegate\'s permissions for a specific protocol"],"type":{"kind":"struct","fields":[{"name":"protocol_bitflag","type":"u16"},{"name":"permissions_bitmask","type":"u64"}]}},{"name":"ProtocolPolicy","docs":["Stores policy data for an integrated protocol.","Integration programs serialize/deserialize this data."],"type":{"kind":"struct","fields":[{"name":"protocol_bitflag","type":"u16"},{"name":"data","type":"bytes"}]}},{"name":"StateAccount","type":{"kind":"struct","fields":[{"name":"account_type","type":{"defined":{"name":"AccountType"}}},{"name":"enabled","type":"bool"},{"name":"vault","type":"pubkey"},{"name":"owner","type":"pubkey"},{"name":"portfolio_manager_name","type":{"array":["u8",32]}},{"name":"created","type":{"defined":{"name":"CreatedModel"}}},{"name":"base_asset_mint","type":"pubkey"},{"name":"base_asset_decimals","type":"u8"},{"name":"base_asset_token_program","type":"u8"},{"name":"name","type":{"array":["u8",32]}},{"name":"timelock_duration","type":"u32"},{"name":"timelock_expires_at","type":"u64"},{"name":"mint","type":"pubkey"},{"name":"assets","type":{"vec":"pubkey"}},{"name":"integration_acls","type":{"vec":{"defined":{"name":"IntegrationAcl"}}}},{"name":"delegate_acls","type":{"vec":{"defined":{"name":"DelegateAcl"}}}},{"name":"external_positions","type":{"vec":"pubkey"}},{"name":"priced_protocols","type":{"vec":{"defined":{"name":"PricedProtocol"}}}},{"name":"params","type":{"vec":{"vec":{"defined":{"name":"EngineField"}}}}}]}},{"name":"StateModel","type":{"kind":"struct","fields":[{"name":"account_type","type":{"option":{"defined":{"name":"AccountType"}}}},{"name":"name","type":{"option":{"array":["u8",32]}}},{"name":"uri","type":{"option":"string"}},{"name":"enabled","type":{"option":"bool"}},{"name":"assets","type":{"option":{"vec":"pubkey"}}},{"name":"created","type":{"option":{"defined":{"name":"CreatedModel"}}}},{"name":"owner","type":{"option":"pubkey"}},{"name":"portfolio_manager_name","type":{"option":{"array":["u8",32]}}},{"name":"borrowable","type":{"option":{"vec":"pubkey"}}},{"name":"timelock_duration","type":{"option":"u32"}},{"name":"integration_acls","type":{"option":{"vec":{"defined":{"name":"IntegrationAcl"}}}}},{"name":"delegate_acls","type":{"option":{"vec":{"defined":{"name":"DelegateAcl"}}}}}]}},{"name":"TimeUnit","type":{"kind":"enum","variants":[{"name":"Second"},{"name":"Slot"}]}},{"name":"TransferPolicy","type":{"kind":"struct","fields":[{"name":"allowlist","type":{"vec":"pubkey"}}]}},{"name":"ValuationModel","type":{"kind":"enum","variants":[{"name":"Continuous"},{"name":"Periodic"}]}}],"constants":[{"name":"PROTO_JUPITER_SWAP","type":"u16","value":"4"},{"name":"PROTO_JUPITER_SWAP_PERM_SWAP_ALLOWLISTED","type":"u64","value":"4"},{"name":"PROTO_JUPITER_SWAP_PERM_SWAP_ANY","type":"u64","value":"1"},{"name":"PROTO_JUPITER_SWAP_PERM_SWAP_LST","type":"u64","value":"2"},{"name":"PROTO_STAKE","type":"u16","value":"2"},{"name":"PROTO_STAKE_PERM_STAKE","type":"u64","value":"1"},{"name":"PROTO_STAKE_PERM_UNSTAKE","type":"u64","value":"2"},{"name":"PROTO_SYSTEM","type":"u16","value":"1"},{"name":"PROTO_SYSTEM_PERM_TRANSFER","type":"u64","value":"2"},{"name":"PROTO_SYSTEM_PERM_WSOL","type":"u64","value":"1"}]}');
118
+ module.exports = /*#__PURE__*/JSON.parse('{"address":"GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz","metadata":{"name":"glam_protocol","version":"1.0.0","spec":"0.1.0","description":"Glam Protocol"},"instructions":[{"name":"close_state","discriminator":[25,1,184,101,200,245,210,246],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_signer","writable":true,"signer":true},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[]},{"name":"cpi_proxy","docs":["Only accessible by integration programs"],"discriminator":[65,134,48,2,7,232,199,46],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_signer","writable":true,"signer":true},{"name":"cpi_program"},{"name":"integration_authority","signer":true},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"data","type":"bytes"},{"name":"extra_params","type":{"vec":{"defined":{"name":"ExtraParams"}}}}]},{"name":"emergency_access_update","docs":["Bypasses the timelock for emergency updates on access control rules. Allowed operations:","- removing an integration program","- removing a delegate","- enabling/disabling glam state"],"discriminator":[207,247,157,14,87,132,230,0],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_signer","writable":true,"signer":true}],"args":[{"name":"args","type":{"defined":{"name":"EmergencyAccessUpdateArgs"}}}]},{"name":"enable_disable_protocols","discriminator":[222,198,164,163,194,161,11,171],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_signer","writable":true,"signer":true}],"args":[{"name":"integration_program","type":"pubkey"},{"name":"protocols_bitmask","type":"u16"},{"name":"set_enabled","type":"bool"}]},{"name":"extend_state","discriminator":[34,147,151,206,134,128,82,228],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_signer","writable":true,"signer":true},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"bytes","type":"u32"}]},{"name":"grant_revoke_delegate_permissions","discriminator":[162,21,218,157,218,86,114,171],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_signer","writable":true,"signer":true}],"args":[{"name":"delegate","type":"pubkey"},{"name":"integration_program","type":"pubkey"},{"name":"protocol_bitflag","type":"u16"},{"name":"permissions_bitmask","type":"u64"},{"name":"set_granted","type":"bool"}]},{"name":"initialize_state","discriminator":[190,171,224,219,217,72,199,176],"accounts":[{"name":"glam_state","writable":true,"pda":{"seeds":[{"kind":"const","value":[115,116,97,116,101]},{"kind":"account","path":"glam_signer"},{"kind":"arg","path":"state_model.created"}]}},{"name":"glam_signer","writable":true,"signer":true},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"base_asset_mint"}],"args":[{"name":"state","type":{"defined":{"name":"StateModel"}}}]},{"name":"jupiter_swap","discriminator":[116,207,0,196,252,120,243,18],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_signer","writable":true,"signer":true},{"name":"cpi_program","address":"JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4"},{"name":"input_vault_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"glam_vault"},{"kind":"account","path":"input_token_program"},{"kind":"account","path":"input_mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"output_vault_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"glam_vault"},{"kind":"account","path":"output_token_program"},{"kind":"account","path":"output_mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"input_mint"},{"name":"output_mint"},{"name":"input_stake_pool","optional":true},{"name":"output_stake_pool","optional":true},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{"name":"input_token_program"},{"name":"output_token_program"}],"args":[{"name":"data","type":"bytes"}]},{"name":"link_unlink_mint_by_mint_authority","docs":["For glam mint program\'s use only"],"discriminator":[85,67,58,245,175,14,122,6],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_mint"},{"name":"glam_mint_authority","signer":true}],"args":[{"name":"link","type":"bool"}]},{"name":"reset_priced_protocols","docs":["Resets glam_state.priced_protocols to an empty vector"],"discriminator":[60,176,141,208,132,51,54,9],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_signer","signer":true}],"args":[]},{"name":"set_jupiter_swap_policy","discriminator":[189,182,227,165,127,148,246,189],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_signer","writable":true,"signer":true}],"args":[{"name":"policy","type":{"defined":{"name":"JupiterSwapPolicy"}}}]},{"name":"set_protocol_policy","discriminator":[37,99,61,122,227,102,182,180],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_signer","writable":true,"signer":true}],"args":[{"name":"integration_program","type":"pubkey"},{"name":"protocol_bitflag","type":"u16"},{"name":"data","type":"bytes"}]},{"name":"set_system_transfer_policy","discriminator":[102,21,157,101,19,4,100,213],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_signer","writable":true,"signer":true}],"args":[{"name":"policy","type":{"defined":{"name":"TransferPolicy"}}}]},{"name":"stake_authorize","docs":["Out-of-scope for audit"],"discriminator":[127,247,88,164,201,0,79,7],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_signer","writable":true,"signer":true},{"name":"cpi_program","address":"Stake11111111111111111111111111111111111111"},{"name":"stake","writable":true},{"name":"clock","address":"SysvarC1ock11111111111111111111111111111111"}],"args":[{"name":"new_authority","type":"pubkey"},{"name":"staker_or_withdrawer","type":"u32"}]},{"name":"stake_deactivate","docs":["Out-of-scope for audit"],"discriminator":[224,10,93,175,175,145,237,169],"accounts":[{"name":"glam_state"},{"name":"glam_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_signer","writable":true,"signer":true},{"name":"cpi_program","address":"Stake11111111111111111111111111111111111111"},{"name":"stake","writable":true},{"name":"clock","address":"SysvarC1ock11111111111111111111111111111111"}],"args":[]},{"name":"stake_delegate_stake","docs":["Out-of-scope for audit"],"discriminator":[202,40,152,239,175,251,66,228],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_signer","writable":true,"signer":true},{"name":"cpi_program","address":"Stake11111111111111111111111111111111111111"},{"name":"stake","writable":true},{"name":"vote"},{"name":"clock","address":"SysvarC1ock11111111111111111111111111111111"},{"name":"stake_history","address":"SysvarStakeHistory1111111111111111111111111"},{"name":"stake_config"}],"args":[]},{"name":"stake_initialize","docs":["Out-of-scope for audit"],"discriminator":[68,66,118,79,15,144,190,190],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_signer","writable":true,"signer":true},{"name":"cpi_program","address":"Stake11111111111111111111111111111111111111"},{"name":"stake","writable":true},{"name":"rent","address":"SysvarRent111111111111111111111111111111111"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[]},{"name":"stake_merge","docs":["Out-of-scope for audit"],"discriminator":[46,181,125,12,51,179,134,176],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_signer","writable":true,"signer":true},{"name":"cpi_program","address":"Stake11111111111111111111111111111111111111"},{"name":"destination_stake","writable":true},{"name":"source_stake","writable":true},{"name":"clock","address":"SysvarC1ock11111111111111111111111111111111"},{"name":"stake_history","address":"SysvarStakeHistory1111111111111111111111111"}],"args":[]},{"name":"stake_redelegate","docs":["Out-of-scope for audit"],"discriminator":[134,227,164,247,120,0,225,174],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_signer","writable":true,"signer":true},{"name":"cpi_program","address":"Stake11111111111111111111111111111111111111"},{"name":"stake","writable":true},{"name":"new_stake","writable":true},{"name":"vote"},{"name":"stake_config"}],"args":[]},{"name":"stake_split","docs":["Out-of-scope for audit"],"discriminator":[63,128,169,206,158,60,135,48],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_signer","writable":true,"signer":true},{"name":"cpi_program","address":"Stake11111111111111111111111111111111111111"},{"name":"stake","writable":true},{"name":"split_stake","writable":true}],"args":[{"name":"lamports","type":"u64"}]},{"name":"stake_withdraw","docs":["Out-of-scope for audit"],"discriminator":[199,13,168,20,92,151,29,56],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_signer","writable":true,"signer":true},{"name":"cpi_program","address":"Stake11111111111111111111111111111111111111"},{"name":"stake","writable":true},{"name":"clock","address":"SysvarC1ock11111111111111111111111111111111"},{"name":"stake_history","address":"SysvarStakeHistory1111111111111111111111111"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"lamports","type":"u64"}]},{"name":"system_transfer","discriminator":[167,164,195,155,219,152,191,230],"accounts":[{"name":"glam_state"},{"name":"glam_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_signer","writable":true,"signer":true},{"name":"cpi_program","address":"11111111111111111111111111111111"},{"name":"to","writable":true}],"args":[{"name":"lamports","type":"u64"}]},{"name":"token_transfer_checked_by_mint_authority","docs":["For glam mint program\'s use only"],"discriminator":[37,131,188,85,45,183,8,81],"accounts":[{"name":"glam_state"},{"name":"glam_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_mint","writable":true},{"name":"glam_mint_authority","writable":true,"signer":true},{"name":"from","writable":true},{"name":"to","writable":true},{"name":"mint"},{"name":"token_program"}],"args":[{"name":"amount","type":"u64"},{"name":"decimals","type":"u8"}]},{"name":"update_mint_params","discriminator":[45,42,115,25,179,27,57,191],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_signer","writable":true,"signer":true}],"args":[{"name":"params","type":{"vec":{"defined":{"name":"EngineField"}}}}]},{"name":"update_mint_params_by_mint_authority","docs":["For glam mint program\'s use only, timelock is not enforced"],"discriminator":[94,160,55,53,175,225,62,118],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_mint"},{"name":"glam_mint_authority","signer":true}],"args":[{"name":"params","type":{"vec":{"defined":{"name":"EngineField"}}}}]},{"name":"update_priced_protocol","docs":["Only accessible by integration programs"],"discriminator":[10,106,94,171,118,217,62,98],"accounts":[{"name":"glam_state","writable":true},{"name":"integration_authority","signer":true}],"args":[{"name":"priced_protocol","type":{"defined":{"name":"PricedProtocol"}}}]},{"name":"update_state","discriminator":[135,112,215,75,247,185,53,176],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_signer","writable":true,"signer":true}],"args":[{"name":"state","type":{"defined":{"name":"StateModel"}}}]},{"name":"update_state_apply_timelock","discriminator":[66,12,138,80,133,85,46,220],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_signer","writable":true,"signer":true}],"args":[]}],"accounts":[{"name":"StateAccount","discriminator":[142,247,54,95,85,133,249,103]}],"errors":[{"code":48000,"name":"UnauthorizedSigner","msg":"Signer is not authorized"},{"code":48001,"name":"UnauthorizedIntegrationProgram","msg":"Integration program is not authorized"},{"code":48002,"name":"IntegrationNotEnabled","msg":"Integration is not enabled"},{"code":48003,"name":"ProtocolNotEnabled","msg":"Protocol is not enabled"},{"code":48004,"name":"GlamStateDisabled","msg":"GLAM state is disabled"},{"code":48005,"name":"ProtocolPolicyViolation","msg":"Protocol policy violation"},{"code":48006,"name":"EmergencyUpdateDenied","msg":"Emergency update denied"},{"code":48007,"name":"TimelockStillActive","msg":"Timelock still active"},{"code":48008,"name":"CannotApplyChanges","msg":"Pending changes cannot be applied due to unfulfilled requests"},{"code":48009,"name":"AssetNotBorrowable","msg":"Asset is not allowed to borrow"},{"code":48010,"name":"UnexpectedProgramOwner","msg":"Account is owned by an unexpected program"},{"code":48011,"name":"InvalidAuthority","msg":"Invalid authority"},{"code":49000,"name":"InvalidAccountType","msg":"Invalid account type"},{"code":49001,"name":"InvalidName","msg":"Invalid name"},{"code":49002,"name":"InvalidSymbol","msg":"Symbol too long: max 32 chars"},{"code":49003,"name":"InvalidUri","msg":"Uri too long: max 128 chars"},{"code":49004,"name":"InvalidAssetsLen","msg":"Too many assets: max 100"},{"code":49005,"name":"InvalidIxArgs","msg":"Invalid instruction arguments"},{"code":49006,"name":"CannotCloseState","msg":"Glam state cannot be closed: mint must be closed and state must be disabled"},{"code":49007,"name":"InvalidMintParams","msg":"Invalid mint params"},{"code":49008,"name":"InvalidRemainingAccounts","msg":"Invalid accounts: the transaction is malformed"},{"code":49009,"name":"InvalidVaultTokenAccount","msg":"Invalid vault ata"},{"code":49010,"name":"NonZeroSupply","msg":"Glam mint supply not zero"},{"code":49011,"name":"MissingAccount","msg":"An account required by the instruction is missing"},{"code":49012,"name":"InvalidTimestamp","msg":"Invalid timestamp"},{"code":49013,"name":"EngineFieldNotFound","msg":"Engine field not found"},{"code":49014,"name":"InvalidBaseAsset","msg":"Invalid base asset"},{"code":49015,"name":"InvalidProtocolBitflag","msg":"Invalid protocol bitflag"},{"code":50000,"name":"WithdrawDenied","msg":"Withdraw denied. Only vaults allow withdraws (funds and mints don\'t)"},{"code":50001,"name":"InvalidAssetForSwap","msg":"Asset cannot be swapped"},{"code":50002,"name":"UnsupportedSwapIx","msg":"Unsupported swap instruction"},{"code":50003,"name":"SlippageLimitExceeded","msg":"Max slippage exceeded"},{"code":50004,"name":"InvalidPlatformFeeForSwap","msg":"Invalid platform fee"},{"code":50005,"name":"InvalidTokenAccount","msg":"Invalid token account"},{"code":50006,"name":"InvalidVoteSide","msg":"Invalid vote side"},{"code":50007,"name":"MultipleStakeAccountsDisallowed","msg":"Multiple stake accounts disallowed"},{"code":51000,"name":"InvalidAssetPrice","msg":"Invalid asset price"},{"code":51001,"name":"InvalidStableCoinPriceForSubscribe","msg":"Subscription not allowed: invalid stable coin price"},{"code":51100,"name":"InvalidPricingOracle","msg":"Invalid oracle for asset price"},{"code":51101,"name":"PricingError","msg":"Pricing error"},{"code":51102,"name":"PriceTooOld","msg":"Price is too old"},{"code":51103,"name":"ExternalPositionsNotPriced","msg":"Not all external vault accounts are priced"},{"code":51104,"name":"VaultTokensNotPriced","msg":"Not all vault tokens are priced"},{"code":51105,"name":"PriceDivergenceTooLarge","msg":"No priced assets found"},{"code":51106,"name":"PositiveAumRequired","msg":"AUM must be positive"},{"code":51107,"name":"MathError","msg":"Math error"},{"code":51108,"name":"TypeCastingError","msg":"Type casting error"},{"code":51109,"name":"BaseAssetNotSupported","msg":"Base asset must have 6 decimals."},{"code":51110,"name":"InvalidQuoteSpotMarket","msg":"Unsupported spot market for perp quotes"},{"code":51111,"name":"UnknownExternalVaultAsset","msg":"Unknown external vault account"},{"code":51112,"name":"InvalidPriceDenom","msg":"Invalid price denom"},{"code":51113,"name":"UnexpectedDiscriminator","msg":"Invalid account: discriminator mismatch"},{"code":52000,"name":"TransfersDisabled","msg":"Policy violation: transfers disabled"},{"code":52001,"name":"InvalidPolicyAccount","msg":"Policy account is mandatory"},{"code":52002,"name":"AmountTooBig","msg":"Policy violation: amount too big"},{"code":52003,"name":"LockUp","msg":"Policy violation: lock-up has not expired"}],"types":[{"name":"AccountType","type":{"kind":"enum","variants":[{"name":"Vault"},{"name":"TokenizedVault"},{"name":"Mint"}]}},{"name":"AccruedFees","type":{"kind":"struct","fields":[{"name":"vault_subscription_fee","type":"u128"},{"name":"vault_redemption_fee","type":"u128"},{"name":"manager_subscription_fee","type":"u128"},{"name":"manager_redemption_fee","type":"u128"},{"name":"management_fee","type":"u128"},{"name":"performance_fee","type":"u128"},{"name":"protocol_base_fee","type":"u128"},{"name":"protocol_flow_fee","type":"u128"}]}},{"name":"ActionType","type":{"kind":"enum","variants":[{"name":"AddExternalAccount"},{"name":"DeleteExternalAccount"},{"name":"DeleteExternalAccountIfZeroLamports"},{"name":"DeleteExternalAccountIfZeroBalance"},{"name":"AddAsset"},{"name":"DeleteAsset"}]}},{"name":"CreatedModel","type":{"kind":"struct","fields":[{"name":"key","type":{"array":["u8",8]}},{"name":"created_by","type":"pubkey"},{"name":"created_at","type":"i64"}]}},{"name":"DelegateAcl","type":{"kind":"struct","fields":[{"name":"pubkey","type":"pubkey"},{"name":"integration_permissions","type":{"vec":{"defined":{"name":"IntegrationPermissions"}}}},{"name":"expires_at","type":"i64"}]}},{"name":"EmergencyAccessUpdateArgs","type":{"kind":"struct","fields":[{"name":"disabled_integrations","type":{"vec":"pubkey"}},{"name":"disabled_delegates","type":{"vec":"pubkey"}},{"name":"state_enabled","type":{"option":"bool"}}]}},{"name":"EngineField","type":{"kind":"struct","fields":[{"name":"name","type":{"defined":{"name":"EngineFieldName"}}},{"name":"value","type":{"defined":{"name":"EngineFieldValue"}}}]}},{"name":"EngineFieldName","type":{"kind":"enum","variants":[{"name":"Owner"},{"name":"PortfolioManagerName"},{"name":"Name"},{"name":"Uri"},{"name":"Assets"},{"name":"DelegateAcls"},{"name":"IntegrationAcls"},{"name":"TimelockDuration"},{"name":"Borrowable"},{"name":"DefaultAccountStateFrozen"},{"name":"PermanentDelegate"},{"name":"NotifyAndSettle"},{"name":"FeeStructure"},{"name":"FeeParams"},{"name":"ClaimableFees"},{"name":"ClaimedFees"},{"name":"OracleConfigs"}]}},{"name":"EngineFieldValue","type":{"kind":"enum","variants":[{"name":"Boolean","fields":[{"name":"val","type":"bool"}]},{"name":"U8","fields":[{"name":"val","type":"u8"}]},{"name":"U32","fields":[{"name":"val","type":"u32"}]},{"name":"U64","fields":[{"name":"val","type":"u64"}]},{"name":"String","fields":[{"name":"val","type":"string"}]},{"name":"Pubkey","fields":[{"name":"val","type":"pubkey"}]},{"name":"VecPubkey","fields":[{"name":"val","type":{"vec":"pubkey"}}]},{"name":"VecU8","fields":[{"name":"val","type":"bytes"}]},{"name":"VecU32","fields":[{"name":"val","type":{"vec":"u32"}}]},{"name":"VecDelegateAcl","fields":[{"name":"val","type":{"vec":{"defined":{"name":"DelegateAcl"}}}}]},{"name":"VecIntegrationAcl","fields":[{"name":"val","type":{"vec":{"defined":{"name":"IntegrationAcl"}}}}]},{"name":"FeeStructure","fields":[{"name":"val","type":{"defined":{"name":"FeeStructure"}}}]},{"name":"FeeParams","fields":[{"name":"val","type":{"defined":{"name":"FeeParams"}}}]},{"name":"AccruedFees","fields":[{"name":"val","type":{"defined":{"name":"AccruedFees"}}}]},{"name":"NotifyAndSettle","fields":[{"name":"val","type":{"defined":{"name":"NotifyAndSettle"}}}]},{"name":"OracleConfigs","fields":[{"name":"val","type":{"defined":{"name":"OracleConfigs"}}}]}]}},{"name":"EntryExitFees","type":{"kind":"struct","fields":[{"name":"subscription_fee_bps","type":"u16"},{"name":"redemption_fee_bps","type":"u16"}]}},{"name":"ExtraParams","type":{"kind":"struct","fields":[{"name":"action_type","type":{"defined":{"name":"ActionType"}}},{"name":"pubkey","type":"pubkey"},{"name":"amount","type":{"option":"u64"}}]}},{"name":"FeeParams","type":{"kind":"struct","fields":[{"name":"year_in_seconds","type":"u32"},{"name":"pa_high_water_mark","type":"i128"},{"name":"pa_last_nav","type":"i128"},{"name":"last_aum","type":"i128"},{"name":"last_performance_fee_crystallized","type":"i64"},{"name":"last_management_fee_crystallized","type":"i64"},{"name":"last_protocol_fee_crystallized","type":"i64"}]}},{"name":"FeeStructure","type":{"kind":"struct","fields":[{"name":"vault","type":{"defined":{"name":"EntryExitFees"}}},{"name":"manager","type":{"defined":{"name":"EntryExitFees"}}},{"name":"management","type":{"defined":{"name":"ManagementFee"}}},{"name":"performance","type":{"defined":{"name":"PerformanceFee"}}},{"name":"protocol","type":{"defined":{"name":"ProtocolFees"}}}]}},{"name":"HurdleType","type":{"kind":"enum","variants":[{"name":"Hard"},{"name":"Soft"}]}},{"name":"IntegrationAcl","docs":["An integration program can have multiple protocols supported.","Enabled protocols are stored in a bitmask, and each protocol can have its own policy."],"type":{"kind":"struct","fields":[{"name":"integration_program","type":"pubkey"},{"name":"protocols_bitmask","type":"u16"},{"name":"protocol_policies","type":{"vec":{"defined":{"name":"ProtocolPolicy"}}}}]}},{"name":"IntegrationPermissions","docs":["Stores delegate permissions for an integration program."],"type":{"kind":"struct","fields":[{"name":"integration_program","type":"pubkey"},{"name":"protocol_permissions","type":{"vec":{"defined":{"name":"ProtocolPermissions"}}}}]}},{"name":"JupiterSwapPolicy","type":{"kind":"struct","fields":[{"name":"max_slippage_bps","type":"u16"},{"name":"swap_allowlist","type":{"option":{"vec":"pubkey"}}}]}},{"name":"ManagementFee","type":{"kind":"struct","fields":[{"name":"fee_bps","type":"u16"}]}},{"name":"NoticePeriodType","type":{"kind":"enum","variants":[{"name":"Hard"},{"name":"Soft"}]}},{"name":"NotifyAndSettle","type":{"kind":"struct","fields":[{"name":"model","type":{"defined":{"name":"ValuationModel"}}},{"name":"permissionless_fulfillment","type":"bool"},{"name":"subscribe_notice_period_type","type":{"defined":{"name":"NoticePeriodType"}}},{"name":"subscribe_notice_period","type":"u64"},{"name":"subscribe_settlement_period","type":"u64"},{"name":"subscribe_cancellation_window","type":"u64"},{"name":"redeem_notice_period_type","type":{"defined":{"name":"NoticePeriodType"}}},{"name":"redeem_notice_period","type":"u64"},{"name":"redeem_settlement_period","type":"u64"},{"name":"redeem_cancellation_window","type":"u64"},{"name":"time_unit","type":{"defined":{"name":"TimeUnit"}}},{"name":"_padding","type":{"array":["u8",3]}}]}},{"name":"OracleConfigs","docs":["Vault-specific oracle configs. If available, these configs are preferred over the global config."],"type":{"kind":"struct","fields":[{"name":"max_ages_seconds","type":{"vec":{"array":["u16",2]}}},{"name":"padding","type":{"array":["u8",12]}}]}},{"name":"PerformanceFee","type":{"kind":"struct","fields":[{"name":"fee_bps","type":"u16"},{"name":"hurdle_rate_bps","type":"u16"},{"name":"hurdle_type","type":{"defined":{"name":"HurdleType"}}}]}},{"name":"PricedProtocol","type":{"kind":"struct","fields":[{"name":"rent","type":"u64"},{"name":"amount","type":"i128"},{"name":"decimals","type":"u8"},{"name":"last_updated_slot","type":"u64"},{"name":"integration_program","type":"pubkey"},{"name":"protocol_bitflag","type":"u16"},{"name":"positions","type":{"vec":"pubkey"}}]}},{"name":"ProtocolFees","type":{"kind":"struct","fields":[{"name":"base_fee_bps","type":"u16"},{"name":"flow_fee_bps","type":"u16"}]}},{"name":"ProtocolPermissions","docs":["Represents a delegate\'s permissions for a specific protocol"],"type":{"kind":"struct","fields":[{"name":"protocol_bitflag","type":"u16"},{"name":"permissions_bitmask","type":"u64"}]}},{"name":"ProtocolPolicy","docs":["Stores policy data for an integrated protocol.","Integration programs serialize/deserialize this data."],"type":{"kind":"struct","fields":[{"name":"protocol_bitflag","type":"u16"},{"name":"data","type":"bytes"}]}},{"name":"StateAccount","type":{"kind":"struct","fields":[{"name":"account_type","type":{"defined":{"name":"AccountType"}}},{"name":"enabled","type":"bool"},{"name":"vault","type":"pubkey"},{"name":"owner","type":"pubkey"},{"name":"portfolio_manager_name","type":{"array":["u8",32]}},{"name":"created","type":{"defined":{"name":"CreatedModel"}}},{"name":"base_asset_mint","type":"pubkey"},{"name":"base_asset_decimals","type":"u8"},{"name":"base_asset_token_program","type":"u8"},{"name":"name","type":{"array":["u8",32]}},{"name":"timelock_duration","type":"u32"},{"name":"timelock_expires_at","type":"u64"},{"name":"mint","type":"pubkey"},{"name":"assets","type":{"vec":"pubkey"}},{"name":"integration_acls","type":{"vec":{"defined":{"name":"IntegrationAcl"}}}},{"name":"delegate_acls","type":{"vec":{"defined":{"name":"DelegateAcl"}}}},{"name":"external_positions","type":{"vec":"pubkey"}},{"name":"priced_protocols","type":{"vec":{"defined":{"name":"PricedProtocol"}}}},{"name":"params","type":{"vec":{"vec":{"defined":{"name":"EngineField"}}}}}]}},{"name":"StateModel","type":{"kind":"struct","fields":[{"name":"account_type","type":{"option":{"defined":{"name":"AccountType"}}}},{"name":"name","type":{"option":{"array":["u8",32]}}},{"name":"uri","type":{"option":"string"}},{"name":"enabled","type":{"option":"bool"}},{"name":"assets","type":{"option":{"vec":"pubkey"}}},{"name":"created","type":{"option":{"defined":{"name":"CreatedModel"}}}},{"name":"owner","type":{"option":"pubkey"}},{"name":"portfolio_manager_name","type":{"option":{"array":["u8",32]}}},{"name":"borrowable","type":{"option":{"vec":"pubkey"}}},{"name":"timelock_duration","type":{"option":"u32"}},{"name":"integration_acls","type":{"option":{"vec":{"defined":{"name":"IntegrationAcl"}}}}},{"name":"delegate_acls","type":{"option":{"vec":{"defined":{"name":"DelegateAcl"}}}}}]}},{"name":"TimeUnit","type":{"kind":"enum","variants":[{"name":"Second"},{"name":"Slot"}]}},{"name":"TransferPolicy","type":{"kind":"struct","fields":[{"name":"allowlist","type":{"vec":"pubkey"}}]}},{"name":"ValuationModel","type":{"kind":"enum","variants":[{"name":"Continuous"},{"name":"Periodic"}]}}],"constants":[{"name":"PROTO_JUPITER_SWAP","type":"u16","value":"4"},{"name":"PROTO_JUPITER_SWAP_PERM_SWAP_ALLOWLISTED","type":"u64","value":"4"},{"name":"PROTO_JUPITER_SWAP_PERM_SWAP_ANY","type":"u64","value":"1"},{"name":"PROTO_JUPITER_SWAP_PERM_SWAP_LST","type":"u64","value":"2"},{"name":"PROTO_STAKE","type":"u16","value":"2"},{"name":"PROTO_STAKE_PERM_STAKE","type":"u64","value":"1"},{"name":"PROTO_STAKE_PERM_UNSTAKE","type":"u64","value":"2"},{"name":"PROTO_SYSTEM","type":"u16","value":"1"},{"name":"PROTO_SYSTEM_PERM_TRANSFER","type":"u64","value":"2"},{"name":"PROTO_SYSTEM_PERM_WSOL","type":"u64","value":"1"}]}');
119
119
 
120
120
  /***/ }),
121
121
  /* 6 */
122
122
  /***/ ((module) => {
123
123
 
124
- module.exports = /*#__PURE__*/JSON.parse('{"address":"gConFzxKL9USmwTdJoeQJvfKmqhJ2CyUaXTyQ8v9TGX","metadata":{"name":"glam_config","version":"0.1.1","spec":"0.1.0","description":"Configuration program for GLAM protocol"},"instructions":[{"name":"close","discriminator":[98,165,201,177,108,65,206,96],"accounts":[{"name":"global_config","writable":true},{"name":"admin","writable":true,"signer":true},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[]},{"name":"delete_asset_meta","discriminator":[108,173,149,99,144,203,21,115],"accounts":[{"name":"global_config","writable":true,"pda":{"seeds":[{"kind":"const","value":[103,108,111,98,97,108,45,99,111,110,102,105,103]}]}},{"name":"admin","writable":true,"signer":true,"relations":["global_config"]},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"asset","type":"pubkey"},{"name":"oracle","type":"pubkey"}]},{"name":"initialize","discriminator":[175,175,109,31,13,152,155,237],"accounts":[{"name":"global_config","writable":true,"pda":{"seeds":[{"kind":"const","value":[103,108,111,98,97,108,45,99,111,110,102,105,103]}]}},{"name":"payer","writable":true,"signer":true},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"admin","type":"pubkey"},{"name":"fee_authority","type":"pubkey"},{"name":"referrer","type":"pubkey"},{"name":"base_fee_bps","type":"u16"},{"name":"flow_fee_bps","type":"u16"}]},{"name":"update_admin","discriminator":[161,176,40,213,60,184,179,228],"accounts":[{"name":"global_config","writable":true,"pda":{"seeds":[{"kind":"const","value":[103,108,111,98,97,108,45,99,111,110,102,105,103]}]}},{"name":"admin","writable":true,"signer":true,"relations":["global_config"]},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"new_admin","type":"pubkey"}]},{"name":"update_protocol_fees","discriminator":[158,219,253,143,54,45,113,182],"accounts":[{"name":"global_config","writable":true,"pda":{"seeds":[{"kind":"const","value":[103,108,111,98,97,108,45,99,111,110,102,105,103]}]}},{"name":"fee_authority","signer":true,"relations":["global_config"]}],"args":[{"name":"base_fee_bps","type":"u16"},{"name":"flow_fee_bps","type":"u16"}]},{"name":"update_referrer","discriminator":[208,225,56,15,244,21,195,34],"accounts":[{"name":"global_config","writable":true,"pda":{"seeds":[{"kind":"const","value":[103,108,111,98,97,108,45,99,111,110,102,105,103]}]}},{"name":"fee_authority","signer":true,"relations":["global_config"]}],"args":[{"name":"referrer","type":"pubkey"}]},{"name":"upsert_asset_meta","discriminator":[29,40,115,194,215,146,222,212],"accounts":[{"name":"global_config","writable":true,"pda":{"seeds":[{"kind":"const","value":[103,108,111,98,97,108,45,99,111,110,102,105,103]}]}},{"name":"admin","writable":true,"signer":true,"relations":["global_config"]},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"asset_meta","type":{"defined":{"name":"AssetMeta"}}}]}],"accounts":[{"name":"GlobalConfig","discriminator":[149,8,156,202,160,252,176,217]}],"errors":[{"code":6000,"name":"InvalidAuthority","msg":"Invalid authority"},{"code":6001,"name":"InvalidAssetMeta","msg":"Invalid asset meta"},{"code":6002,"name":"AssetMetaAlreadyExists","msg":"Asset meta already exists"},{"code":6003,"name":"InvalidParameters","msg":"Invalid parameters"}],"types":[{"name":"AssetMeta","type":{"kind":"struct","fields":[{"name":"asset","type":"pubkey"},{"name":"decimals","type":"u8"},{"name":"oracle","type":"pubkey"},{"name":"oracle_source","type":{"defined":{"name":"OracleSource"}}},{"name":"max_age_seconds","type":"u16"},{"name":"priority","type":"u8"},{"name":"padding","type":{"array":["u8",3]}}]}},{"name":"GlobalConfig","type":{"kind":"struct","fields":[{"name":"admin","docs":["The authority that can modify the config"],"type":"pubkey"},{"name":"fee_authority","docs":["The authority that can modify fee structure of individual glam state and claim protocol fees"],"type":"pubkey"},{"name":"referrer","type":"pubkey"},{"name":"base_fee_bps","type":"u16"},{"name":"flow_fee_bps","type":"u16"},{"name":"asset_metas","type":{"vec":{"defined":{"name":"AssetMeta"}}}}]}},{"name":"OracleSource","type":{"kind":"enum","variants":[{"name":"Pyth"},{"name":"Switchboard"},{"name":"QuoteAsset"},{"name":"Pyth1K"},{"name":"Pyth1M"},{"name":"PythStableCoin"},{"name":"Prelaunch"},{"name":"PythPull"},{"name":"Pyth1KPull"},{"name":"Pyth1MPull"},{"name":"PythStableCoinPull"},{"name":"SwitchboardOnDemand"},{"name":"PythLazer"},{"name":"PythLazer1K"},{"name":"PythLazer1M"},{"name":"PythLazerStableCoin"},{"name":"NotSet"},{"name":"LstPoolState"},{"name":"MarinadeState"},{"name":"BaseAsset"},{"name":"ChainlinkRWA"}]}}]}');
124
+ module.exports = /*#__PURE__*/JSON.parse('{"address":"gConFzxKL9USmwTdJoeQJvfKmqhJ2CyUaXTyQ8v9TGX","metadata":{"name":"glam_config","version":"1.0.0","spec":"0.1.0","description":"Configuration program for GLAM protocol"},"instructions":[{"name":"close","discriminator":[98,165,201,177,108,65,206,96],"accounts":[{"name":"global_config","writable":true},{"name":"admin","writable":true,"signer":true},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[]},{"name":"delete_asset_meta","discriminator":[108,173,149,99,144,203,21,115],"accounts":[{"name":"global_config","writable":true,"pda":{"seeds":[{"kind":"const","value":[103,108,111,98,97,108,45,99,111,110,102,105,103]}]}},{"name":"admin","writable":true,"signer":true,"relations":["global_config"]},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"asset","type":"pubkey"},{"name":"oracle","type":"pubkey"}]},{"name":"initialize","discriminator":[175,175,109,31,13,152,155,237],"accounts":[{"name":"global_config","writable":true,"pda":{"seeds":[{"kind":"const","value":[103,108,111,98,97,108,45,99,111,110,102,105,103]}]}},{"name":"payer","writable":true,"signer":true},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"admin","type":"pubkey"},{"name":"fee_authority","type":"pubkey"},{"name":"referrer","type":"pubkey"},{"name":"base_fee_bps","type":"u16"},{"name":"flow_fee_bps","type":"u16"}]},{"name":"update_admin","discriminator":[161,176,40,213,60,184,179,228],"accounts":[{"name":"global_config","writable":true,"pda":{"seeds":[{"kind":"const","value":[103,108,111,98,97,108,45,99,111,110,102,105,103]}]}},{"name":"admin","writable":true,"signer":true,"relations":["global_config"]},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"new_admin","type":"pubkey"}]},{"name":"update_protocol_fees","discriminator":[158,219,253,143,54,45,113,182],"accounts":[{"name":"global_config","writable":true,"pda":{"seeds":[{"kind":"const","value":[103,108,111,98,97,108,45,99,111,110,102,105,103]}]}},{"name":"fee_authority","signer":true,"relations":["global_config"]}],"args":[{"name":"base_fee_bps","type":"u16"},{"name":"flow_fee_bps","type":"u16"}]},{"name":"update_referrer","discriminator":[208,225,56,15,244,21,195,34],"accounts":[{"name":"global_config","writable":true,"pda":{"seeds":[{"kind":"const","value":[103,108,111,98,97,108,45,99,111,110,102,105,103]}]}},{"name":"fee_authority","signer":true,"relations":["global_config"]}],"args":[{"name":"referrer","type":"pubkey"}]},{"name":"upsert_asset_meta","discriminator":[29,40,115,194,215,146,222,212],"accounts":[{"name":"global_config","writable":true,"pda":{"seeds":[{"kind":"const","value":[103,108,111,98,97,108,45,99,111,110,102,105,103]}]}},{"name":"admin","writable":true,"signer":true,"relations":["global_config"]},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"asset_meta","type":{"defined":{"name":"AssetMeta"}}}]}],"accounts":[{"name":"GlobalConfig","discriminator":[149,8,156,202,160,252,176,217]}],"errors":[{"code":6000,"name":"InvalidAuthority","msg":"Invalid authority"},{"code":6001,"name":"InvalidAssetMeta","msg":"Invalid asset meta"},{"code":6002,"name":"AssetMetaAlreadyExists","msg":"Asset meta already exists"},{"code":6003,"name":"InvalidParameters","msg":"Invalid parameters"}],"types":[{"name":"AssetMeta","type":{"kind":"struct","fields":[{"name":"asset","type":"pubkey"},{"name":"decimals","type":"u8"},{"name":"oracle","type":"pubkey"},{"name":"oracle_source","type":{"defined":{"name":"OracleSource"}}},{"name":"max_age_seconds","type":"u16"},{"name":"priority","type":"u8"},{"name":"padding","type":{"array":["u8",3]}}]}},{"name":"GlobalConfig","type":{"kind":"struct","fields":[{"name":"admin","docs":["The authority that can modify the config"],"type":"pubkey"},{"name":"fee_authority","docs":["The authority that can modify fee structure of individual glam state and claim protocol fees"],"type":"pubkey"},{"name":"referrer","type":"pubkey"},{"name":"base_fee_bps","type":"u16"},{"name":"flow_fee_bps","type":"u16"},{"name":"asset_metas","type":{"vec":{"defined":{"name":"AssetMeta"}}}}]}},{"name":"OracleSource","type":{"kind":"enum","variants":[{"name":"Pyth"},{"name":"Switchboard"},{"name":"QuoteAsset"},{"name":"Pyth1K"},{"name":"Pyth1M"},{"name":"PythStableCoin"},{"name":"Prelaunch"},{"name":"PythPull"},{"name":"Pyth1KPull"},{"name":"Pyth1MPull"},{"name":"PythStableCoinPull"},{"name":"SwitchboardOnDemand"},{"name":"PythLazer"},{"name":"PythLazer1K"},{"name":"PythLazer1M"},{"name":"PythLazerStableCoin"},{"name":"NotSet"},{"name":"LstPoolState"},{"name":"MarinadeState"},{"name":"BaseAsset"},{"name":"ChainlinkRWA"}]}}]}');
125
125
 
126
126
  /***/ }),
127
127
  /* 7 */
128
128
  /***/ ((module) => {
129
129
 
130
- module.exports = /*#__PURE__*/JSON.parse('{"address":"GM1NtvvnSXUptTrMCqbogAdZJydZSNv98DoU5AZVLmGh","metadata":{"name":"glam_mint","version":"0.1.0","spec":"0.1.0","description":"GLAM mint program"},"instructions":[{"name":"burn_tokens","discriminator":[76,15,51,254,229,215,121,66],"accounts":[{"name":"glam_state"},{"name":"glam_signer","writable":true,"signer":true},{"name":"glam_mint","writable":true},{"name":"from_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"from"},{"kind":"account","path":"token_2022_program"},{"kind":"account","path":"glam_mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"from"},{"name":"token_2022_program","address":"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"}],"args":[{"name":"amount","type":"u64"}]},{"name":"cancel","discriminator":[232,219,223,41,219,236,220,190],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_mint","writable":true},{"name":"glam_escrow","pda":{"seeds":[{"kind":"const","value":[101,115,99,114,111,119]},{"kind":"account","path":"glam_mint"}]}},{"name":"request_queue","writable":true,"pda":{"seeds":[{"kind":"const","value":[114,101,113,117,101,115,116,45,113,117,101,117,101]},{"kind":"account","path":"glam_mint"}]}},{"name":"signer","writable":true,"signer":true},{"name":"recover_token_mint"},{"name":"signer_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"signer"},{"kind":"account","path":"recover_token_program"},{"kind":"account","path":"recover_token_mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"escrow_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"glam_escrow"},{"kind":"account","path":"recover_token_program"},{"kind":"account","path":"recover_token_mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"recover_token_program"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"}],"args":[]},{"name":"claim","discriminator":[62,198,214,193,213,159,108,210],"accounts":[{"name":"glam_state"},{"name":"glam_mint","writable":true},{"name":"glam_escrow","pda":{"seeds":[{"kind":"const","value":[101,115,99,114,111,119]},{"kind":"account","path":"glam_mint"}]}},{"name":"request_queue","writable":true,"pda":{"seeds":[{"kind":"const","value":[114,101,113,117,101,115,116,45,113,117,101,117,101]},{"kind":"account","path":"glam_mint"}]}},{"name":"signer","writable":true,"signer":true},{"name":"claim_token_mint"},{"name":"signer_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"signer"},{"kind":"account","path":"claim_token_program"},{"kind":"account","path":"claim_token_mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"escrow_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"glam_escrow"},{"kind":"account","path":"claim_token_program"},{"kind":"account","path":"claim_token_mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"signer_policy","writable":true,"optional":true},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"claim_token_program"},{"name":"glam_policies_program","address":"po1iCYakK3gHCLbuju4wGzFowTMpAJxkqK1iwUqMonY"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"}],"args":[]},{"name":"claim_fees","discriminator":[82,251,233,156,12,52,184,202],"accounts":[{"name":"glam_state"},{"name":"glam_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}],"program":{"kind":"const","value":[227,199,235,230,176,132,243,117,43,131,173,18,78,255,26,50,209,135,86,219,140,126,61,255,0,218,252,224,172,8,223,207]}}},{"name":"glam_mint","writable":true},{"name":"glam_escrow","pda":{"seeds":[{"kind":"const","value":[101,115,99,114,111,119]},{"kind":"account","path":"glam_mint"}]}},{"name":"escrow_mint_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"glam_escrow"},{"kind":"account","path":"token_2022_program"},{"kind":"account","path":"glam_mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"signer","writable":true,"signer":true},{"name":"deposit_asset"},{"name":"vault_deposit_ata","docs":["To pay out fees"],"writable":true,"pda":{"seeds":[{"kind":"account","path":"glam_vault"},{"kind":"account","path":"deposit_token_program"},{"kind":"account","path":"deposit_asset"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"protocol_fee_authority","docs":["To receive protocol fee"]},{"name":"protocol_fee_authority_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"protocol_fee_authority"},{"kind":"account","path":"deposit_token_program"},{"kind":"account","path":"deposit_asset"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"manager_fee_authority","docs":["To receive manager fee"]},{"name":"manager_fee_authority_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"manager_fee_authority"},{"kind":"account","path":"deposit_token_program"},{"kind":"account","path":"deposit_asset"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"glam_config","pda":{"seeds":[{"kind":"const","value":[103,108,111,98,97,108,45,99,111,110,102,105,103]}],"program":{"kind":"const","value":[10,11,0,83,72,16,46,144,46,42,79,22,157,123,21,242,192,146,1,78,88,59,102,9,190,226,92,189,187,232,83,220]}}},{"name":"glam_protocol_program","address":"GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{"name":"deposit_token_program"},{"name":"token_2022_program","address":"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"}],"args":[]},{"name":"close_mint","discriminator":[149,251,157,212,65,181,235,129],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_signer","writable":true,"signer":true},{"name":"glam_mint","writable":true},{"name":"request_queue","writable":true,"optional":true,"pda":{"seeds":[{"kind":"const","value":[114,101,113,117,101,115,116,45,113,117,101,117,101]},{"kind":"account","path":"glam_mint"}]}},{"name":"extra_metas_account","writable":true},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"policies_program","address":"po1iCYakK3gHCLbuju4wGzFowTMpAJxkqK1iwUqMonY"},{"name":"token_2022_program","address":"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"},{"name":"glam_protocol","address":"GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"}],"args":[]},{"name":"crystallize_fees","discriminator":[78,0,111,26,7,12,41,249],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_escrow","pda":{"seeds":[{"kind":"const","value":[101,115,99,114,111,119]},{"kind":"account","path":"glam_mint"}]}},{"name":"glam_mint","writable":true},{"name":"escrow_mint_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"glam_escrow"},{"kind":"account","path":"token_2022_program"},{"kind":"account","path":"glam_mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"signer","writable":true,"signer":true},{"name":"glam_protocol_program","address":"GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"},{"name":"token_2022_program","address":"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"}],"args":[]},{"name":"emergency_update_mint","discriminator":[141,210,26,160,120,140,28,239],"accounts":[{"name":"glam_state"},{"name":"glam_signer","writable":true,"signer":true},{"name":"glam_mint"},{"name":"request_queue","writable":true,"pda":{"seeds":[{"kind":"const","value":[114,101,113,117,101,115,116,45,113,117,101,117,101]},{"kind":"account","path":"glam_mint"}]}}],"args":[{"name":"args","type":{"defined":{"name":"EmergencyUpdateMintArgs"}}}]},{"name":"force_transfer_tokens","discriminator":[185,34,78,211,192,13,160,37],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_signer","writable":true,"signer":true},{"name":"glam_mint","writable":true},{"name":"from_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"from"},{"kind":"account","path":"token_2022_program"},{"kind":"account","path":"glam_mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"to_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"to"},{"kind":"account","path":"token_2022_program"},{"kind":"account","path":"glam_mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"from"},{"name":"to"},{"name":"to_policy_account","writable":true,"optional":true},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"token_2022_program","address":"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"},{"name":"policies_program","address":"po1iCYakK3gHCLbuju4wGzFowTMpAJxkqK1iwUqMonY"}],"args":[{"name":"amount","type":"u64"}]},{"name":"fulfill","discriminator":[143,2,52,206,174,164,247,72],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}],"program":{"kind":"const","value":[227,199,235,230,176,132,243,117,43,131,173,18,78,255,26,50,209,135,86,219,140,126,61,255,0,218,252,224,172,8,223,207]}}},{"name":"glam_mint","writable":true},{"name":"glam_escrow","pda":{"seeds":[{"kind":"const","value":[101,115,99,114,111,119]},{"kind":"account","path":"glam_mint"}]}},{"name":"request_queue","writable":true,"pda":{"seeds":[{"kind":"const","value":[114,101,113,117,101,115,116,45,113,117,101,117,101]},{"kind":"account","path":"glam_mint"}]}},{"name":"signer","writable":true,"signer":true},{"name":"escrow_mint_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"glam_escrow"},{"kind":"account","path":"token_2022_program"},{"kind":"account","path":"glam_mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"asset"},{"name":"vault_asset_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"glam_vault"},{"kind":"account","path":"deposit_token_program"},{"kind":"account","path":"asset"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"escrow_asset_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"glam_escrow"},{"kind":"account","path":"deposit_token_program"},{"kind":"account","path":"asset"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"deposit_token_program"},{"name":"token_2022_program","address":"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{"name":"glam_protocol_program","address":"GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"}],"args":[]},{"name":"initialize_mint","docs":["Initialize a new GLAM mint with extensions and metadata.","","- `mint_model` - Configuration model containing mint parameters and metadata","- `created_key` - 8-byte key used in the GLAM state PDA derivation","- `account_type` - Fund (for tokenized vault mint) or Mint","- `decimals` - Decimals of new mint"],"discriminator":[209,42,195,4,129,85,209,44],"accounts":[{"name":"glam_state","writable":true},{"name":"signer","writable":true,"signer":true},{"name":"new_mint","writable":true},{"name":"request_queue","writable":true,"optional":true,"pda":{"seeds":[{"kind":"const","value":[114,101,113,117,101,115,116,45,113,117,101,117,101]},{"kind":"account","path":"new_mint"}]}},{"name":"extra_metas_account","writable":true},{"name":"base_asset_mint"},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"token_2022_program","address":"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"},{"name":"policies_program","address":"po1iCYakK3gHCLbuju4wGzFowTMpAJxkqK1iwUqMonY"},{"name":"glam_protocol","address":"GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"}],"args":[{"name":"mint_model","type":{"defined":{"name":"MintModel"}}},{"name":"created_key","type":{"array":["u8",8]}},{"name":"account_type","type":{"defined":{"name":"AccountType"}}},{"name":"decimals","type":{"option":"u8"}}]},{"name":"mint_tokens","discriminator":[59,132,24,246,122,39,8,243],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_signer","writable":true,"signer":true},{"name":"glam_mint","writable":true},{"name":"mint_to","writable":true,"pda":{"seeds":[{"kind":"account","path":"recipient"},{"kind":"account","path":"token_2022_program"},{"kind":"account","path":"glam_mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"recipient","writable":true},{"name":"policy_account","writable":true,"optional":true},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"token_2022_program","address":"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"},{"name":"policies_program","address":"po1iCYakK3gHCLbuju4wGzFowTMpAJxkqK1iwUqMonY"}],"args":[{"name":"amount","type":"u64"}]},{"name":"price_drift_users","docs":["Extra accounts for pricing N drift users under the same user stats:","- user_stats x 1","- drift_user x N","- markets and oracles used by all drift users (no specific order)"],"discriminator":[12,5,143,51,101,81,200,150],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}],"program":{"kind":"const","value":[227,199,235,230,176,132,243,117,43,131,173,18,78,255,26,50,209,135,86,219,140,126,61,255,0,218,252,224,172,8,223,207]}}},{"name":"signer","writable":true,"signer":true},{"name":"sol_usd_oracle"},{"name":"base_asset_usd_oracle"},{"name":"integration_authority","pda":{"seeds":[{"kind":"const","value":[105,110,116,101,103,114,97,116,105,111,110,45,97,117,116,104,111,114,105,116,121]}]}},{"name":"glam_config","pda":{"seeds":[{"kind":"const","value":[103,108,111,98,97,108,45,99,111,110,102,105,103]}],"program":{"kind":"const","value":[10,11,0,83,72,16,46,144,46,42,79,22,157,123,21,242,192,146,1,78,88,59,102,9,190,226,92,189,187,232,83,220]}}},{"name":"glam_protocol","address":"GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"}],"args":[{"name":"num_users","type":"u8"}]},{"name":"price_drift_vault_depositors","docs":["Extra accounts for pricing N vault depositors:","- (vault_depositor, drift_vault, drift_user) x N","- spot_market used by drift users of vaults (no specific order)","- perp markets used by drift users of vaults (no specific order)","- oracles of spot markets and perp markets (no specific order)"],"discriminator":[234,16,238,70,189,23,98,160],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}],"program":{"kind":"const","value":[227,199,235,230,176,132,243,117,43,131,173,18,78,255,26,50,209,135,86,219,140,126,61,255,0,218,252,224,172,8,223,207]}}},{"name":"signer","writable":true,"signer":true},{"name":"sol_usd_oracle"},{"name":"base_asset_usd_oracle"},{"name":"integration_authority","pda":{"seeds":[{"kind":"const","value":[105,110,116,101,103,114,97,116,105,111,110,45,97,117,116,104,111,114,105,116,121]}]}},{"name":"glam_config","pda":{"seeds":[{"kind":"const","value":[103,108,111,98,97,108,45,99,111,110,102,105,103]}],"program":{"kind":"const","value":[10,11,0,83,72,16,46,144,46,42,79,22,157,123,21,242,192,146,1,78,88,59,102,9,190,226,92,189,187,232,83,220]}}},{"name":"glam_protocol","address":"GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"}],"args":[{"name":"num_vault_depositors","type":"u8"},{"name":"num_spot_markets","type":"u8"},{"name":"num_perp_markets","type":"u8"}]},{"name":"price_kamino_obligations","docs":["Prices Kamino obligations.","- `num_obligations` Number of kamino obligations to price.","- `num_markets` Number of unique markets used by obligations.","- `num_reserves` Number of unique reserves used by obligations.","","Extra accounts for pricing N kamino obligations:","- obligation x num_obligations","- reserve x num_reserves: no specific order","- market x num_markets: no specific order"],"discriminator":[166,110,234,179,240,179,69,246],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}],"program":{"kind":"const","value":[227,199,235,230,176,132,243,117,43,131,173,18,78,255,26,50,209,135,86,219,140,126,61,255,0,218,252,224,172,8,223,207]}}},{"name":"signer","writable":true,"signer":true},{"name":"kamino_lending_program","address":"KLend2g3cP87fffoy8q1mQqGKjrxjC8boSyAYavgmjD"},{"name":"sol_usd_oracle"},{"name":"base_asset_usd_oracle"},{"name":"integration_authority","pda":{"seeds":[{"kind":"const","value":[105,110,116,101,103,114,97,116,105,111,110,45,97,117,116,104,111,114,105,116,121]}]}},{"name":"glam_config","pda":{"seeds":[{"kind":"const","value":[103,108,111,98,97,108,45,99,111,110,102,105,103]}],"program":{"kind":"const","value":[10,11,0,83,72,16,46,144,46,42,79,22,157,123,21,242,192,146,1,78,88,59,102,9,190,226,92,189,187,232,83,220]}}},{"name":"glam_protocol","address":"GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"},{"name":"pyth_oracle","optional":true},{"name":"switchboard_price_oracle","optional":true},{"name":"switchboard_twap_oracle","optional":true},{"name":"scope_prices","optional":true}],"args":[{"name":"num_obligations","type":"u8"},{"name":"num_markets","type":"u8"},{"name":"num_reserves","type":"u8"}]},{"name":"price_kamino_vault_shares","docs":["Prices Kamino vault shares.","- `num_vaults` Number of kamino vaults to price.","","Extra accounts for pricing N kamino vault shares:","- (kvault_share_ata, kvault_share_mint, kvault_state, kvault_deposit_token_oracle) x N","- reserve x M","- M = number of reserves used by all kvaults\' allocations","- reserve pubkeys must follow the same order of reserves used by each allocation"],"discriminator":[112,92,238,224,145,105,38,249],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}],"program":{"kind":"const","value":[227,199,235,230,176,132,243,117,43,131,173,18,78,255,26,50,209,135,86,219,140,126,61,255,0,218,252,224,172,8,223,207]}}},{"name":"signer","writable":true,"signer":true},{"name":"sol_usd_oracle"},{"name":"base_asset_usd_oracle"},{"name":"integration_authority","pda":{"seeds":[{"kind":"const","value":[105,110,116,101,103,114,97,116,105,111,110,45,97,117,116,104,111,114,105,116,121]}]}},{"name":"glam_config","pda":{"seeds":[{"kind":"const","value":[103,108,111,98,97,108,45,99,111,110,102,105,103]}],"program":{"kind":"const","value":[10,11,0,83,72,16,46,144,46,42,79,22,157,123,21,242,192,146,1,78,88,59,102,9,190,226,92,189,187,232,83,220]}}},{"name":"glam_protocol","address":"GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"}],"args":[{"name":"num_vaults","type":"u8"}]},{"name":"price_stake_accounts","discriminator":[119,137,9,15,196,73,30,27],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}],"program":{"kind":"const","value":[227,199,235,230,176,132,243,117,43,131,173,18,78,255,26,50,209,135,86,219,140,126,61,255,0,218,252,224,172,8,223,207]}}},{"name":"signer","writable":true,"signer":true},{"name":"sol_usd_oracle"},{"name":"base_asset_usd_oracle"},{"name":"integration_authority","pda":{"seeds":[{"kind":"const","value":[105,110,116,101,103,114,97,116,105,111,110,45,97,117,116,104,111,114,105,116,121]}]}},{"name":"glam_config","pda":{"seeds":[{"kind":"const","value":[103,108,111,98,97,108,45,99,111,110,102,105,103]}],"program":{"kind":"const","value":[10,11,0,83,72,16,46,144,46,42,79,22,157,123,21,242,192,146,1,78,88,59,102,9,190,226,92,189,187,232,83,220]}}},{"name":"glam_protocol","address":"GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"}],"args":[]},{"name":"price_vault_tokens","docs":["Prices vault SOL balance and tokens it holds.","","Args:","- `denom`: Denomination of the price.","- `agg_indexes`: Indexes of the aggregation oracles for the tokens (must follow the same order of mints in extra accounts). If aggregation oracle is not used for token #`i`, `agg_indexes[i]` should be set to -1.","","Extra accounts for pricing N tokens:","- (ata, mint, oracle) x N","- optional oracle mapping (only add it if any token uses an agg oracle)"],"discriminator":[54,42,16,199,20,183,50,137],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}],"program":{"kind":"const","value":[227,199,235,230,176,132,243,117,43,131,173,18,78,255,26,50,209,135,86,219,140,126,61,255,0,218,252,224,172,8,223,207]}}},{"name":"signer","writable":true,"signer":true},{"name":"sol_usd_oracle"},{"name":"base_asset_usd_oracle"},{"name":"integration_authority","pda":{"seeds":[{"kind":"const","value":[105,110,116,101,103,114,97,116,105,111,110,45,97,117,116,104,111,114,105,116,121]}]}},{"name":"glam_config","pda":{"seeds":[{"kind":"const","value":[103,108,111,98,97,108,45,99,111,110,102,105,103]}],"program":{"kind":"const","value":[10,11,0,83,72,16,46,144,46,42,79,22,157,123,21,242,192,146,1,78,88,59,102,9,190,226,92,189,187,232,83,220]}}},{"name":"glam_protocol","address":"GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"}],"args":[{"name":"agg_indexes","type":{"vec":{"array":["i16",4]}}}]},{"name":"queued_redeem","discriminator":[82,242,202,93,170,196,215,113],"accounts":[{"name":"glam_state"},{"name":"glam_mint","writable":true},{"name":"glam_escrow","pda":{"seeds":[{"kind":"const","value":[101,115,99,114,111,119]},{"kind":"account","path":"glam_mint"}]}},{"name":"request_queue","writable":true,"pda":{"seeds":[{"kind":"const","value":[114,101,113,117,101,115,116,45,113,117,101,117,101]},{"kind":"account","path":"glam_mint"}]}},{"name":"signer","writable":true,"signer":true},{"name":"signer_mint_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"signer"},{"kind":"account","path":"token_2022_program"},{"kind":"account","path":"glam_mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"escrow_mint_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"glam_escrow"},{"kind":"account","path":"token_2022_program"},{"kind":"account","path":"glam_mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"token_2022_program","address":"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"}],"args":[{"name":"amount_in","type":"u64"}]},{"name":"queued_subscribe","discriminator":[107,180,212,63,146,0,159,255],"accounts":[{"name":"glam_state"},{"name":"glam_mint","writable":true},{"name":"glam_escrow","pda":{"seeds":[{"kind":"const","value":[101,115,99,114,111,119]},{"kind":"account","path":"glam_mint"}]}},{"name":"request_queue","writable":true,"pda":{"seeds":[{"kind":"const","value":[114,101,113,117,101,115,116,45,113,117,101,117,101]},{"kind":"account","path":"glam_mint"}]}},{"name":"signer","writable":true,"signer":true},{"name":"deposit_asset"},{"name":"escrow_deposit_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"glam_escrow"},{"kind":"account","path":"deposit_token_program"},{"kind":"account","path":"deposit_asset"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"signer_deposit_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"signer"},{"kind":"account","path":"deposit_token_program"},{"kind":"account","path":"deposit_asset"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"deposit_token_program"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"}],"args":[{"name":"amount_in","type":"u64"}]},{"name":"set_mint_policy","discriminator":[12,208,252,52,166,250,137,169],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_signer","writable":true,"signer":true},{"name":"glam_protocol_program","address":"GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"}],"args":[{"name":"policy","type":{"defined":{"name":"MintPolicy"}}}]},{"name":"set_protocol_fees","discriminator":[49,143,189,18,56,206,158,226],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_mint"},{"name":"signer","writable":true,"signer":true},{"name":"glam_config","pda":{"seeds":[{"kind":"const","value":[103,108,111,98,97,108,45,99,111,110,102,105,103]}],"program":{"kind":"const","value":[10,11,0,83,72,16,46,144,46,42,79,22,157,123,21,242,192,146,1,78,88,59,102,9,190,226,92,189,187,232,83,220]}}},{"name":"glam_protocol_program","address":"GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"}],"args":[{"name":"base_fee_bps","type":"u16"},{"name":"flow_fee_bps","type":"u16"}]},{"name":"set_token_accounts_states","discriminator":[50,133,45,86,117,66,115,195],"accounts":[{"name":"glam_state"},{"name":"glam_signer","writable":true,"signer":true},{"name":"glam_mint","writable":true},{"name":"token_2022_program","address":"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"}],"args":[{"name":"frozen","type":"bool"}]},{"name":"subscribe","discriminator":[254,28,191,138,156,179,183,53],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}],"program":{"kind":"const","value":[227,199,235,230,176,132,243,117,43,131,173,18,78,255,26,50,209,135,86,219,140,126,61,255,0,218,252,224,172,8,223,207]}}},{"name":"glam_mint","writable":true},{"name":"glam_escrow","pda":{"seeds":[{"kind":"const","value":[101,115,99,114,111,119]},{"kind":"account","path":"glam_mint"}]}},{"name":"request_queue","pda":{"seeds":[{"kind":"const","value":[114,101,113,117,101,115,116,45,113,117,101,117,101]},{"kind":"account","path":"glam_mint"}]}},{"name":"signer","writable":true,"signer":true},{"name":"signer_mint_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"signer"},{"kind":"account","path":"token_2022_program"},{"kind":"account","path":"glam_mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"escrow_mint_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"glam_escrow"},{"kind":"account","path":"token_2022_program"},{"kind":"account","path":"glam_mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"deposit_asset"},{"name":"vault_deposit_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"glam_vault"},{"kind":"account","path":"deposit_token_program"},{"kind":"account","path":"deposit_asset"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"signer_deposit_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"signer"},{"kind":"account","path":"deposit_token_program"},{"kind":"account","path":"deposit_asset"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"signer_policy","writable":true,"optional":true},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"deposit_token_program"},{"name":"token_2022_program","address":"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{"name":"policies_program","address":"po1iCYakK3gHCLbuju4wGzFowTMpAJxkqK1iwUqMonY"},{"name":"glam_protocol_program","address":"GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"}],"args":[{"name":"amount_in","type":"u64"}]},{"name":"update_mint","discriminator":[212,203,57,78,75,245,222,5],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_signer","writable":true,"signer":true},{"name":"glam_mint","writable":true},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"token_2022_program","address":"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"},{"name":"glam_protocol","address":"GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"}],"args":[{"name":"mint_model","type":{"defined":{"name":"MintModel"}}}]},{"name":"update_mint_apply_timelock","discriminator":[223,241,80,24,120,25,82,134],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_signer","writable":true,"signer":true},{"name":"glam_mint","writable":true},{"name":"request_queue","optional":true,"pda":{"seeds":[{"kind":"const","value":[114,101,113,117,101,115,116,45,113,117,101,117,101]},{"kind":"account","path":"glam_mint"}]}},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"token_2022_program","address":"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"},{"name":"glam_protocol","address":"GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"}],"args":[]}],"accounts":[{"name":"GlobalConfig","discriminator":[149,8,156,202,160,252,176,217]},{"name":"RequestQueue","discriminator":[172,124,172,253,233,63,70,234]},{"name":"StateAccount","discriminator":[142,247,54,95,85,133,249,103]}],"errors":[{"code":6000,"name":"InvalidAuthority","msg":"Invalid authority"},{"code":6001,"name":"UnauthorizedSigner","msg":"Signer is not authorized"},{"code":6002,"name":"ActionPaused","msg":"Requested action is paused"},{"code":6003,"name":"InvalidAsset","msg":"Asset not allowed to subscribe"},{"code":6004,"name":"MaxCapExceeded","msg":"Max cap exceeded"},{"code":6005,"name":"InvalidAmount","msg":"Invalid amount for subscription or redemption"},{"code":6006,"name":"NewRequestNotAllowed","msg":"New request is not allowed"},{"code":6007,"name":"RequestNotClaimable","msg":"Request is not claimable"},{"code":6008,"name":"RequestNotCancellable","msg":"Request is not cancellable"},{"code":6009,"name":"RequestNotFound","msg":"Request not found"},{"code":6010,"name":"RequestQueueNotEmpty","msg":"Request queue not empty"}],"types":[{"name":"AccountType","type":{"kind":"enum","variants":[{"name":"Vault"},{"name":"TokenizedVault"},{"name":"Mint"}]}},{"name":"AccruedFees","type":{"kind":"struct","fields":[{"name":"vault_subscription_fee","type":"u128"},{"name":"vault_redemption_fee","type":"u128"},{"name":"manager_subscription_fee","type":"u128"},{"name":"manager_redemption_fee","type":"u128"},{"name":"management_fee","type":"u128"},{"name":"performance_fee","type":"u128"},{"name":"protocol_base_fee","type":"u128"},{"name":"protocol_flow_fee","type":"u128"}]}},{"name":"AssetMeta","type":{"kind":"struct","fields":[{"name":"asset","type":"pubkey"},{"name":"decimals","type":"u8"},{"name":"oracle","type":"pubkey"},{"name":"oracle_source","type":{"defined":{"name":"OracleSource"}}},{"name":"max_age_seconds","type":"u16"},{"name":"priority","type":"u8"},{"name":"padding","type":{"array":["u8",3]}}]}},{"name":"CreatedModel","type":{"kind":"struct","fields":[{"name":"key","type":{"array":["u8",8]}},{"name":"created_by","type":"pubkey"},{"name":"created_at","type":"i64"}]}},{"name":"DelegateAcl","type":{"kind":"struct","fields":[{"name":"pubkey","type":"pubkey"},{"name":"integration_permissions","type":{"vec":{"defined":{"name":"IntegrationPermissions"}}}},{"name":"expires_at","type":"i64"}]}},{"name":"EmergencyUpdateMintArgs","type":{"kind":"struct","fields":[{"name":"request_type","type":{"defined":{"name":"RequestType"}}},{"name":"set_paused","type":"bool"}]}},{"name":"EngineField","type":{"kind":"struct","fields":[{"name":"name","type":{"defined":{"name":"EngineFieldName"}}},{"name":"value","type":{"defined":{"name":"EngineFieldValue"}}}]}},{"name":"EngineFieldName","type":{"kind":"enum","variants":[{"name":"Owner"},{"name":"PortfolioManagerName"},{"name":"Name"},{"name":"Uri"},{"name":"Assets"},{"name":"DelegateAcls"},{"name":"IntegrationAcls"},{"name":"TimelockDuration"},{"name":"Borrowable"},{"name":"DefaultAccountStateFrozen"},{"name":"PermanentDelegate"},{"name":"NotifyAndSettle"},{"name":"FeeStructure"},{"name":"FeeParams"},{"name":"ClaimableFees"},{"name":"ClaimedFees"},{"name":"OracleConfigs"}]}},{"name":"EngineFieldValue","type":{"kind":"enum","variants":[{"name":"Boolean","fields":[{"name":"val","type":"bool"}]},{"name":"U8","fields":[{"name":"val","type":"u8"}]},{"name":"U32","fields":[{"name":"val","type":"u32"}]},{"name":"U64","fields":[{"name":"val","type":"u64"}]},{"name":"String","fields":[{"name":"val","type":"string"}]},{"name":"Pubkey","fields":[{"name":"val","type":"pubkey"}]},{"name":"VecPubkey","fields":[{"name":"val","type":{"vec":"pubkey"}}]},{"name":"VecU8","fields":[{"name":"val","type":"bytes"}]},{"name":"VecU32","fields":[{"name":"val","type":{"vec":"u32"}}]},{"name":"VecDelegateAcl","fields":[{"name":"val","type":{"vec":{"defined":{"name":"DelegateAcl"}}}}]},{"name":"VecIntegrationAcl","fields":[{"name":"val","type":{"vec":{"defined":{"name":"IntegrationAcl"}}}}]},{"name":"FeeStructure","fields":[{"name":"val","type":{"defined":{"name":"FeeStructure"}}}]},{"name":"FeeParams","fields":[{"name":"val","type":{"defined":{"name":"FeeParams"}}}]},{"name":"AccruedFees","fields":[{"name":"val","type":{"defined":{"name":"AccruedFees"}}}]},{"name":"NotifyAndSettle","fields":[{"name":"val","type":{"defined":{"name":"NotifyAndSettle"}}}]},{"name":"OracleConfigs","fields":[{"name":"val","type":{"defined":{"name":"OracleConfigs"}}}]}]}},{"name":"EntryExitFees","type":{"kind":"struct","fields":[{"name":"subscription_fee_bps","type":"u16"},{"name":"redemption_fee_bps","type":"u16"}]}},{"name":"FeeParams","type":{"kind":"struct","fields":[{"name":"year_in_seconds","type":"u32"},{"name":"pa_high_water_mark","type":"i128"},{"name":"pa_last_nav","type":"i128"},{"name":"last_aum","type":"i128"},{"name":"last_performance_fee_crystallized","type":"i64"},{"name":"last_management_fee_crystallized","type":"i64"},{"name":"last_protocol_fee_crystallized","type":"i64"}]}},{"name":"FeeStructure","type":{"kind":"struct","fields":[{"name":"vault","type":{"defined":{"name":"EntryExitFees"}}},{"name":"manager","type":{"defined":{"name":"EntryExitFees"}}},{"name":"management","type":{"defined":{"name":"ManagementFee"}}},{"name":"performance","type":{"defined":{"name":"PerformanceFee"}}},{"name":"protocol","type":{"defined":{"name":"ProtocolFees"}}}]}},{"name":"GlobalConfig","type":{"kind":"struct","fields":[{"name":"admin","docs":["The authority that can modify the config"],"type":"pubkey"},{"name":"fee_authority","docs":["The authority that can modify fee structure of individual glam state and claim protocol fees"],"type":"pubkey"},{"name":"referrer","type":"pubkey"},{"name":"base_fee_bps","type":"u16"},{"name":"flow_fee_bps","type":"u16"},{"name":"asset_metas","type":{"vec":{"defined":{"name":"AssetMeta"}}}}]}},{"name":"HurdleType","type":{"kind":"enum","variants":[{"name":"Hard"},{"name":"Soft"}]}},{"name":"IntegrationAcl","docs":["An integration program can have multiple protocols supported.","Enabled protocols are stored in a bitmask, and each protocol can have its own policy."],"type":{"kind":"struct","fields":[{"name":"integration_program","type":"pubkey"},{"name":"protocols_bitmask","type":"u16"},{"name":"protocol_policies","type":{"vec":{"defined":{"name":"ProtocolPolicy"}}}}]}},{"name":"IntegrationPermissions","docs":["Stores delegate permissions for an integration program."],"type":{"kind":"struct","fields":[{"name":"integration_program","type":"pubkey"},{"name":"protocol_permissions","type":{"vec":{"defined":{"name":"ProtocolPermissions"}}}}]}},{"name":"ManagementFee","type":{"kind":"struct","fields":[{"name":"fee_bps","type":"u16"}]}},{"name":"MintModel","type":{"kind":"struct","fields":[{"name":"symbol","type":{"option":"string"}},{"name":"name","type":{"option":{"array":["u8",32]}}},{"name":"uri","type":{"option":"string"}},{"name":"year_in_seconds","type":{"option":"u32"}},{"name":"permanent_delegate","type":{"option":"pubkey"}},{"name":"default_account_state_frozen","type":{"option":"bool"}},{"name":"fee_structure","type":{"option":{"defined":{"name":"FeeStructure"}}}},{"name":"notify_and_settle","type":{"option":{"defined":{"name":"NotifyAndSettle"}}}},{"name":"lockup_period","type":{"option":"u32"}},{"name":"max_cap","type":{"option":"u64"}},{"name":"min_subscription","type":{"option":"u64"}},{"name":"min_redemption","type":{"option":"u64"}},{"name":"allowlist","type":{"option":{"vec":"pubkey"}}},{"name":"blocklist","type":{"option":{"vec":"pubkey"}}}]}},{"name":"MintPolicy","type":{"kind":"struct","fields":[{"name":"lockup_period","type":"u32"},{"name":"max_cap","type":"u64"},{"name":"min_subscription","type":"u64"},{"name":"min_redemption","type":"u64"},{"name":"reserved","type":"u64"},{"name":"allowlist","type":{"option":{"vec":"pubkey"}}},{"name":"blocklist","type":{"option":{"vec":"pubkey"}}}]}},{"name":"NoticePeriodType","type":{"kind":"enum","variants":[{"name":"Hard"},{"name":"Soft"}]}},{"name":"NotifyAndSettle","type":{"kind":"struct","fields":[{"name":"model","type":{"defined":{"name":"ValuationModel"}}},{"name":"permissionless_fulfillment","type":"bool"},{"name":"subscribe_notice_period_type","type":{"defined":{"name":"NoticePeriodType"}}},{"name":"subscribe_notice_period","type":"u64"},{"name":"subscribe_settlement_period","type":"u64"},{"name":"subscribe_cancellation_window","type":"u64"},{"name":"redeem_notice_period_type","type":{"defined":{"name":"NoticePeriodType"}}},{"name":"redeem_notice_period","type":"u64"},{"name":"redeem_settlement_period","type":"u64"},{"name":"redeem_cancellation_window","type":"u64"},{"name":"time_unit","type":{"defined":{"name":"TimeUnit"}}},{"name":"_padding","type":{"array":["u8",3]}}]}},{"name":"OracleConfigs","docs":["Vault-specific oracle configs. If available, these configs are preferred over the global config."],"type":{"kind":"struct","fields":[{"name":"max_ages_seconds","type":{"vec":{"array":["u16",2]}}},{"name":"padding","type":{"array":["u8",12]}}]}},{"name":"OracleSource","type":{"kind":"enum","variants":[{"name":"Pyth"},{"name":"Switchboard"},{"name":"QuoteAsset"},{"name":"Pyth1K"},{"name":"Pyth1M"},{"name":"PythStableCoin"},{"name":"Prelaunch"},{"name":"PythPull"},{"name":"Pyth1KPull"},{"name":"Pyth1MPull"},{"name":"PythStableCoinPull"},{"name":"SwitchboardOnDemand"},{"name":"PythLazer"},{"name":"PythLazer1K"},{"name":"PythLazer1M"},{"name":"PythLazerStableCoin"},{"name":"NotSet"},{"name":"LstPoolState"},{"name":"MarinadeState"},{"name":"BaseAsset"},{"name":"ChainlinkRWA"}]}},{"name":"PendingRequest","type":{"kind":"struct","fields":[{"name":"user","type":"pubkey"},{"name":"incoming","type":"u64"},{"name":"outgoing","type":"u64"},{"name":"created_at","type":"u64"},{"name":"fulfilled_at","type":"u64"},{"name":"time_unit","type":"u8"},{"name":"request_type","type":{"defined":{"name":"RequestType"}}},{"name":"reserved","type":{"array":["u8",6]}}]}},{"name":"PerformanceFee","type":{"kind":"struct","fields":[{"name":"fee_bps","type":"u16"},{"name":"hurdle_rate_bps","type":"u16"},{"name":"hurdle_type","type":{"defined":{"name":"HurdleType"}}}]}},{"name":"PricedProtocol","type":{"kind":"struct","fields":[{"name":"rent","type":"u64"},{"name":"amount","type":"i128"},{"name":"decimals","type":"u8"},{"name":"last_updated_slot","type":"u64"},{"name":"integration_program","type":"pubkey"},{"name":"protocol_bitflag","type":"u16"},{"name":"positions","type":{"vec":"pubkey"}}]}},{"name":"ProtocolFees","type":{"kind":"struct","fields":[{"name":"base_fee_bps","type":"u16"},{"name":"flow_fee_bps","type":"u16"}]}},{"name":"ProtocolPermissions","docs":["Represents a delegate\'s permissions for a specific protocol"],"type":{"kind":"struct","fields":[{"name":"protocol_bitflag","type":"u16"},{"name":"permissions_bitmask","type":"u64"}]}},{"name":"ProtocolPolicy","docs":["Stores policy data for an integrated protocol.","Integration programs serialize/deserialize this data."],"type":{"kind":"struct","fields":[{"name":"protocol_bitflag","type":"u16"},{"name":"data","type":"bytes"}]}},{"name":"RequestQueue","type":{"kind":"struct","fields":[{"name":"glam_state","type":"pubkey"},{"name":"glam_mint","type":"pubkey"},{"name":"subscription_paused","type":"bool"},{"name":"redemption_paused","type":"bool"},{"name":"data","type":{"vec":{"defined":{"name":"PendingRequest"}}}}]}},{"name":"RequestType","type":{"kind":"enum","variants":[{"name":"Subscription"},{"name":"Redemption"}]}},{"name":"StateAccount","type":{"kind":"struct","fields":[{"name":"account_type","type":{"defined":{"name":"AccountType"}}},{"name":"enabled","type":"bool"},{"name":"vault","type":"pubkey"},{"name":"owner","type":"pubkey"},{"name":"portfolio_manager_name","type":{"array":["u8",32]}},{"name":"created","type":{"defined":{"name":"CreatedModel"}}},{"name":"base_asset_mint","type":"pubkey"},{"name":"base_asset_decimals","type":"u8"},{"name":"base_asset_token_program","type":"u8"},{"name":"name","type":{"array":["u8",32]}},{"name":"timelock_duration","type":"u32"},{"name":"timelock_expires_at","type":"u64"},{"name":"mint","type":"pubkey"},{"name":"assets","type":{"vec":"pubkey"}},{"name":"integration_acls","type":{"vec":{"defined":{"name":"IntegrationAcl"}}}},{"name":"delegate_acls","type":{"vec":{"defined":{"name":"DelegateAcl"}}}},{"name":"external_positions","type":{"vec":"pubkey"}},{"name":"priced_protocols","type":{"vec":{"defined":{"name":"PricedProtocol"}}}},{"name":"params","type":{"vec":{"vec":{"defined":{"name":"EngineField"}}}}}]}},{"name":"TimeUnit","type":{"kind":"enum","variants":[{"name":"Second"},{"name":"Slot"}]}},{"name":"ValuationModel","type":{"kind":"enum","variants":[{"name":"Continuous"},{"name":"Periodic"}]}}],"constants":[{"name":"PROTO_MINT","type":"u16","value":"1"},{"name":"PROTO_MINT_PERM_BURN_TOKENS","type":"u64","value":"2"},{"name":"PROTO_MINT_PERM_CLAIM_FEES","type":"u64","value":"16"},{"name":"PROTO_MINT_PERM_EMERGENCY_UPDATE","type":"u64","value":"64"},{"name":"PROTO_MINT_PERM_FORCE_TRANSFER_TOKENS","type":"u64","value":"4"},{"name":"PROTO_MINT_PERM_FULFILL","type":"u64","value":"32"},{"name":"PROTO_MINT_PERM_MINT_TOKENS","type":"u64","value":"1"},{"name":"PROTO_MINT_PERM_SET_TOKEN_ACCOUNT_STATE","type":"u64","value":"8"}]}');
130
+ module.exports = /*#__PURE__*/JSON.parse('{"address":"GM1NtvvnSXUptTrMCqbogAdZJydZSNv98DoU5AZVLmGh","metadata":{"name":"glam_mint","version":"1.0.0","spec":"0.1.0","description":"GLAM mint program"},"instructions":[{"name":"burn_tokens","discriminator":[76,15,51,254,229,215,121,66],"accounts":[{"name":"glam_state"},{"name":"glam_signer","writable":true,"signer":true},{"name":"glam_mint","writable":true},{"name":"from_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"from"},{"kind":"account","path":"token_2022_program"},{"kind":"account","path":"glam_mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"from"},{"name":"token_2022_program","address":"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"}],"args":[{"name":"amount","type":"u64"}]},{"name":"cancel","discriminator":[232,219,223,41,219,236,220,190],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_mint","writable":true},{"name":"glam_escrow","pda":{"seeds":[{"kind":"const","value":[101,115,99,114,111,119]},{"kind":"account","path":"glam_mint"}]}},{"name":"request_queue","writable":true,"pda":{"seeds":[{"kind":"const","value":[114,101,113,117,101,115,116,45,113,117,101,117,101]},{"kind":"account","path":"glam_mint"}]}},{"name":"signer","writable":true,"signer":true},{"name":"recover_token_mint"},{"name":"signer_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"signer"},{"kind":"account","path":"recover_token_program"},{"kind":"account","path":"recover_token_mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"escrow_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"glam_escrow"},{"kind":"account","path":"recover_token_program"},{"kind":"account","path":"recover_token_mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"recover_token_program"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"}],"args":[]},{"name":"claim","discriminator":[62,198,214,193,213,159,108,210],"accounts":[{"name":"glam_state"},{"name":"glam_mint","writable":true},{"name":"glam_escrow","pda":{"seeds":[{"kind":"const","value":[101,115,99,114,111,119]},{"kind":"account","path":"glam_mint"}]}},{"name":"request_queue","writable":true,"pda":{"seeds":[{"kind":"const","value":[114,101,113,117,101,115,116,45,113,117,101,117,101]},{"kind":"account","path":"glam_mint"}]}},{"name":"signer","writable":true,"signer":true},{"name":"claim_user"},{"name":"claim_token_mint"},{"name":"claim_user_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"claim_user"},{"kind":"account","path":"claim_token_program"},{"kind":"account","path":"claim_token_mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"escrow_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"glam_escrow"},{"kind":"account","path":"claim_token_program"},{"kind":"account","path":"claim_token_mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"claim_user_policy","writable":true,"optional":true},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"claim_token_program"},{"name":"glam_policies_program","address":"po1iCYakK3gHCLbuju4wGzFowTMpAJxkqK1iwUqMonY"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"}],"args":[]},{"name":"claim_fees","discriminator":[82,251,233,156,12,52,184,202],"accounts":[{"name":"glam_state"},{"name":"glam_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}],"program":{"kind":"const","value":[227,199,235,230,176,132,243,117,43,131,173,18,78,255,26,50,209,135,86,219,140,126,61,255,0,218,252,224,172,8,223,207]}}},{"name":"glam_mint","writable":true},{"name":"glam_escrow","pda":{"seeds":[{"kind":"const","value":[101,115,99,114,111,119]},{"kind":"account","path":"glam_mint"}]}},{"name":"escrow_mint_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"glam_escrow"},{"kind":"account","path":"token_2022_program"},{"kind":"account","path":"glam_mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"signer","writable":true,"signer":true},{"name":"deposit_asset"},{"name":"vault_deposit_ata","docs":["To pay out fees"],"writable":true,"pda":{"seeds":[{"kind":"account","path":"glam_vault"},{"kind":"account","path":"deposit_token_program"},{"kind":"account","path":"deposit_asset"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"protocol_fee_authority","docs":["To receive protocol fee"]},{"name":"protocol_fee_authority_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"protocol_fee_authority"},{"kind":"account","path":"deposit_token_program"},{"kind":"account","path":"deposit_asset"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"manager_fee_authority","docs":["To receive manager fee"]},{"name":"manager_fee_authority_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"manager_fee_authority"},{"kind":"account","path":"deposit_token_program"},{"kind":"account","path":"deposit_asset"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"glam_config","pda":{"seeds":[{"kind":"const","value":[103,108,111,98,97,108,45,99,111,110,102,105,103]}],"program":{"kind":"const","value":[10,11,0,83,72,16,46,144,46,42,79,22,157,123,21,242,192,146,1,78,88,59,102,9,190,226,92,189,187,232,83,220]}}},{"name":"glam_protocol_program","address":"GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{"name":"deposit_token_program"},{"name":"token_2022_program","address":"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"}],"args":[]},{"name":"close_mint","discriminator":[149,251,157,212,65,181,235,129],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_signer","writable":true,"signer":true},{"name":"glam_mint","writable":true},{"name":"request_queue","writable":true,"optional":true,"pda":{"seeds":[{"kind":"const","value":[114,101,113,117,101,115,116,45,113,117,101,117,101]},{"kind":"account","path":"glam_mint"}]}},{"name":"extra_metas_account","writable":true},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"policies_program","address":"po1iCYakK3gHCLbuju4wGzFowTMpAJxkqK1iwUqMonY"},{"name":"token_2022_program","address":"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"},{"name":"glam_protocol","address":"GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"}],"args":[]},{"name":"crystallize_fees","discriminator":[78,0,111,26,7,12,41,249],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_escrow","pda":{"seeds":[{"kind":"const","value":[101,115,99,114,111,119]},{"kind":"account","path":"glam_mint"}]}},{"name":"glam_mint","writable":true},{"name":"escrow_mint_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"glam_escrow"},{"kind":"account","path":"token_2022_program"},{"kind":"account","path":"glam_mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"signer","writable":true,"signer":true},{"name":"glam_protocol_program","address":"GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"},{"name":"token_2022_program","address":"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"}],"args":[]},{"name":"emergency_update_mint","discriminator":[141,210,26,160,120,140,28,239],"accounts":[{"name":"glam_state"},{"name":"glam_signer","writable":true,"signer":true},{"name":"glam_mint"},{"name":"request_queue","writable":true,"pda":{"seeds":[{"kind":"const","value":[114,101,113,117,101,115,116,45,113,117,101,117,101]},{"kind":"account","path":"glam_mint"}]}}],"args":[{"name":"args","type":{"defined":{"name":"EmergencyUpdateMintArgs"}}}]},{"name":"force_transfer_tokens","discriminator":[185,34,78,211,192,13,160,37],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_signer","writable":true,"signer":true},{"name":"glam_mint","writable":true},{"name":"from_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"from"},{"kind":"account","path":"token_2022_program"},{"kind":"account","path":"glam_mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"to_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"to"},{"kind":"account","path":"token_2022_program"},{"kind":"account","path":"glam_mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"from"},{"name":"to"},{"name":"to_policy_account","writable":true,"optional":true},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"token_2022_program","address":"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"},{"name":"policies_program","address":"po1iCYakK3gHCLbuju4wGzFowTMpAJxkqK1iwUqMonY"}],"args":[{"name":"amount","type":"u64"}]},{"name":"fulfill","discriminator":[143,2,52,206,174,164,247,72],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}],"program":{"kind":"const","value":[227,199,235,230,176,132,243,117,43,131,173,18,78,255,26,50,209,135,86,219,140,126,61,255,0,218,252,224,172,8,223,207]}}},{"name":"glam_mint","writable":true},{"name":"glam_escrow","pda":{"seeds":[{"kind":"const","value":[101,115,99,114,111,119]},{"kind":"account","path":"glam_mint"}]}},{"name":"request_queue","writable":true,"pda":{"seeds":[{"kind":"const","value":[114,101,113,117,101,115,116,45,113,117,101,117,101]},{"kind":"account","path":"glam_mint"}]}},{"name":"signer","writable":true,"signer":true},{"name":"escrow_mint_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"glam_escrow"},{"kind":"account","path":"token_2022_program"},{"kind":"account","path":"glam_mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"asset"},{"name":"vault_asset_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"glam_vault"},{"kind":"account","path":"deposit_token_program"},{"kind":"account","path":"asset"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"escrow_asset_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"glam_escrow"},{"kind":"account","path":"deposit_token_program"},{"kind":"account","path":"asset"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"deposit_token_program"},{"name":"token_2022_program","address":"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{"name":"glam_protocol_program","address":"GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"}],"args":[{"name":"limit","type":{"option":"u32"}}]},{"name":"initialize_mint","docs":["Initialize a new GLAM mint with extensions and metadata.","","- `mint_model` - Configuration model containing mint parameters and metadata","- `created_key` - 8-byte key used in the GLAM state PDA derivation","- `account_type` - Fund (for tokenized vault mint) or Mint","- `decimals` - Decimals of new mint"],"discriminator":[209,42,195,4,129,85,209,44],"accounts":[{"name":"glam_state","writable":true},{"name":"signer","writable":true,"signer":true},{"name":"new_mint","writable":true},{"name":"request_queue","writable":true,"optional":true,"pda":{"seeds":[{"kind":"const","value":[114,101,113,117,101,115,116,45,113,117,101,117,101]},{"kind":"account","path":"new_mint"}]}},{"name":"extra_metas_account","writable":true},{"name":"base_asset_mint"},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"token_2022_program","address":"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"},{"name":"policies_program","address":"po1iCYakK3gHCLbuju4wGzFowTMpAJxkqK1iwUqMonY"},{"name":"glam_protocol","address":"GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"}],"args":[{"name":"mint_model","type":{"defined":{"name":"MintModel"}}},{"name":"created_key","type":{"array":["u8",8]}},{"name":"account_type","type":{"defined":{"name":"AccountType"}}},{"name":"decimals","type":{"option":"u8"}}]},{"name":"mint_tokens","discriminator":[59,132,24,246,122,39,8,243],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_signer","writable":true,"signer":true},{"name":"glam_mint","writable":true},{"name":"mint_to","writable":true,"pda":{"seeds":[{"kind":"account","path":"recipient"},{"kind":"account","path":"token_2022_program"},{"kind":"account","path":"glam_mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"recipient","writable":true},{"name":"policy_account","writable":true,"optional":true},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"token_2022_program","address":"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"},{"name":"policies_program","address":"po1iCYakK3gHCLbuju4wGzFowTMpAJxkqK1iwUqMonY"}],"args":[{"name":"amount","type":"u64"}]},{"name":"price_drift_users","docs":["Extra accounts for pricing N drift users under the same user stats:","- user_stats x 1","- drift_user x N","- markets and oracles used by all drift users (no specific order)"],"discriminator":[12,5,143,51,101,81,200,150],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}],"program":{"kind":"const","value":[227,199,235,230,176,132,243,117,43,131,173,18,78,255,26,50,209,135,86,219,140,126,61,255,0,218,252,224,172,8,223,207]}}},{"name":"signer","writable":true,"signer":true},{"name":"sol_usd_oracle"},{"name":"base_asset_usd_oracle"},{"name":"integration_authority","pda":{"seeds":[{"kind":"const","value":[105,110,116,101,103,114,97,116,105,111,110,45,97,117,116,104,111,114,105,116,121]}]}},{"name":"glam_config","pda":{"seeds":[{"kind":"const","value":[103,108,111,98,97,108,45,99,111,110,102,105,103]}],"program":{"kind":"const","value":[10,11,0,83,72,16,46,144,46,42,79,22,157,123,21,242,192,146,1,78,88,59,102,9,190,226,92,189,187,232,83,220]}}},{"name":"glam_protocol","address":"GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"}],"args":[{"name":"num_users","type":"u8"}]},{"name":"price_drift_vault_depositors","docs":["Extra accounts for pricing N vault depositors:","- (vault_depositor, drift_vault, drift_user) x N","- spot_market used by drift users of vaults (no specific order)","- perp markets used by drift users of vaults (no specific order)","- oracles of spot markets and perp markets (no specific order)"],"discriminator":[234,16,238,70,189,23,98,160],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}],"program":{"kind":"const","value":[227,199,235,230,176,132,243,117,43,131,173,18,78,255,26,50,209,135,86,219,140,126,61,255,0,218,252,224,172,8,223,207]}}},{"name":"signer","writable":true,"signer":true},{"name":"sol_usd_oracle"},{"name":"base_asset_usd_oracle"},{"name":"integration_authority","pda":{"seeds":[{"kind":"const","value":[105,110,116,101,103,114,97,116,105,111,110,45,97,117,116,104,111,114,105,116,121]}]}},{"name":"glam_config","pda":{"seeds":[{"kind":"const","value":[103,108,111,98,97,108,45,99,111,110,102,105,103]}],"program":{"kind":"const","value":[10,11,0,83,72,16,46,144,46,42,79,22,157,123,21,242,192,146,1,78,88,59,102,9,190,226,92,189,187,232,83,220]}}},{"name":"glam_protocol","address":"GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"}],"args":[{"name":"num_vault_depositors","type":"u8"},{"name":"num_spot_markets","type":"u8"},{"name":"num_perp_markets","type":"u8"}]},{"name":"price_kamino_obligations","docs":["Prices Kamino obligations.","- `num_obligations` Number of kamino obligations to price.","- `num_markets` Number of unique markets used by obligations.","- `num_reserves` Number of unique reserves used by obligations.","","Extra accounts for pricing N kamino obligations:","- obligation x num_obligations","- reserve x num_reserves: no specific order","- market x num_markets: no specific order"],"discriminator":[166,110,234,179,240,179,69,246],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}],"program":{"kind":"const","value":[227,199,235,230,176,132,243,117,43,131,173,18,78,255,26,50,209,135,86,219,140,126,61,255,0,218,252,224,172,8,223,207]}}},{"name":"signer","writable":true,"signer":true},{"name":"kamino_lending_program","address":"KLend2g3cP87fffoy8q1mQqGKjrxjC8boSyAYavgmjD"},{"name":"sol_usd_oracle"},{"name":"base_asset_usd_oracle"},{"name":"integration_authority","pda":{"seeds":[{"kind":"const","value":[105,110,116,101,103,114,97,116,105,111,110,45,97,117,116,104,111,114,105,116,121]}]}},{"name":"glam_config","pda":{"seeds":[{"kind":"const","value":[103,108,111,98,97,108,45,99,111,110,102,105,103]}],"program":{"kind":"const","value":[10,11,0,83,72,16,46,144,46,42,79,22,157,123,21,242,192,146,1,78,88,59,102,9,190,226,92,189,187,232,83,220]}}},{"name":"glam_protocol","address":"GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"},{"name":"pyth_oracle","optional":true},{"name":"switchboard_price_oracle","optional":true},{"name":"switchboard_twap_oracle","optional":true},{"name":"scope_prices","optional":true}],"args":[{"name":"num_obligations","type":"u8"},{"name":"num_markets","type":"u8"},{"name":"num_reserves","type":"u8"}]},{"name":"price_kamino_vault_shares","docs":["Prices Kamino vault shares.","- `num_vaults` Number of kamino vaults to price.","","Extra accounts for pricing N kamino vault shares:","- (kvault_share_ata, kvault_share_mint, kvault_state, kvault_deposit_token_oracle) x N","- reserve x M","- M = number of reserves used by all kvaults\' allocations","- reserve pubkeys must follow the same order of reserves used by each allocation"],"discriminator":[112,92,238,224,145,105,38,249],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}],"program":{"kind":"const","value":[227,199,235,230,176,132,243,117,43,131,173,18,78,255,26,50,209,135,86,219,140,126,61,255,0,218,252,224,172,8,223,207]}}},{"name":"signer","writable":true,"signer":true},{"name":"sol_usd_oracle"},{"name":"base_asset_usd_oracle"},{"name":"integration_authority","pda":{"seeds":[{"kind":"const","value":[105,110,116,101,103,114,97,116,105,111,110,45,97,117,116,104,111,114,105,116,121]}]}},{"name":"glam_config","pda":{"seeds":[{"kind":"const","value":[103,108,111,98,97,108,45,99,111,110,102,105,103]}],"program":{"kind":"const","value":[10,11,0,83,72,16,46,144,46,42,79,22,157,123,21,242,192,146,1,78,88,59,102,9,190,226,92,189,187,232,83,220]}}},{"name":"glam_protocol","address":"GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"}],"args":[{"name":"num_vaults","type":"u8"}]},{"name":"price_stake_accounts","discriminator":[119,137,9,15,196,73,30,27],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}],"program":{"kind":"const","value":[227,199,235,230,176,132,243,117,43,131,173,18,78,255,26,50,209,135,86,219,140,126,61,255,0,218,252,224,172,8,223,207]}}},{"name":"signer","writable":true,"signer":true},{"name":"sol_usd_oracle"},{"name":"base_asset_usd_oracle"},{"name":"integration_authority","pda":{"seeds":[{"kind":"const","value":[105,110,116,101,103,114,97,116,105,111,110,45,97,117,116,104,111,114,105,116,121]}]}},{"name":"glam_config","pda":{"seeds":[{"kind":"const","value":[103,108,111,98,97,108,45,99,111,110,102,105,103]}],"program":{"kind":"const","value":[10,11,0,83,72,16,46,144,46,42,79,22,157,123,21,242,192,146,1,78,88,59,102,9,190,226,92,189,187,232,83,220]}}},{"name":"glam_protocol","address":"GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"}],"args":[]},{"name":"price_vault_tokens","docs":["Prices vault SOL balance and tokens it holds.","","Args:","- `denom`: Denomination of the price.","- `agg_indexes`: Indexes of the aggregation oracles for the tokens (must follow the same order of mints in extra accounts). If aggregation oracle is not used for token #`i`, `agg_indexes[i]` should be set to -1.","","Extra accounts for pricing N tokens:","- (ata, mint, oracle) x N","- optional oracle mapping (only add it if any token uses an agg oracle)"],"discriminator":[54,42,16,199,20,183,50,137],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}],"program":{"kind":"const","value":[227,199,235,230,176,132,243,117,43,131,173,18,78,255,26,50,209,135,86,219,140,126,61,255,0,218,252,224,172,8,223,207]}}},{"name":"signer","writable":true,"signer":true},{"name":"sol_usd_oracle"},{"name":"base_asset_usd_oracle"},{"name":"integration_authority","pda":{"seeds":[{"kind":"const","value":[105,110,116,101,103,114,97,116,105,111,110,45,97,117,116,104,111,114,105,116,121]}]}},{"name":"glam_config","pda":{"seeds":[{"kind":"const","value":[103,108,111,98,97,108,45,99,111,110,102,105,103]}],"program":{"kind":"const","value":[10,11,0,83,72,16,46,144,46,42,79,22,157,123,21,242,192,146,1,78,88,59,102,9,190,226,92,189,187,232,83,220]}}},{"name":"glam_protocol","address":"GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"}],"args":[{"name":"agg_indexes","type":{"vec":{"array":["i16",4]}}}]},{"name":"queued_redeem","discriminator":[82,242,202,93,170,196,215,113],"accounts":[{"name":"glam_state"},{"name":"glam_mint","writable":true},{"name":"glam_escrow","pda":{"seeds":[{"kind":"const","value":[101,115,99,114,111,119]},{"kind":"account","path":"glam_mint"}]}},{"name":"request_queue","writable":true,"pda":{"seeds":[{"kind":"const","value":[114,101,113,117,101,115,116,45,113,117,101,117,101]},{"kind":"account","path":"glam_mint"}]}},{"name":"signer","writable":true,"signer":true},{"name":"signer_mint_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"signer"},{"kind":"account","path":"token_2022_program"},{"kind":"account","path":"glam_mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"escrow_mint_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"glam_escrow"},{"kind":"account","path":"token_2022_program"},{"kind":"account","path":"glam_mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"token_2022_program","address":"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"}],"args":[{"name":"amount_in","type":"u64"}]},{"name":"queued_subscribe","discriminator":[107,180,212,63,146,0,159,255],"accounts":[{"name":"glam_state"},{"name":"glam_mint","writable":true},{"name":"glam_escrow","pda":{"seeds":[{"kind":"const","value":[101,115,99,114,111,119]},{"kind":"account","path":"glam_mint"}]}},{"name":"request_queue","writable":true,"pda":{"seeds":[{"kind":"const","value":[114,101,113,117,101,115,116,45,113,117,101,117,101]},{"kind":"account","path":"glam_mint"}]}},{"name":"signer","writable":true,"signer":true},{"name":"deposit_asset"},{"name":"escrow_deposit_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"glam_escrow"},{"kind":"account","path":"deposit_token_program"},{"kind":"account","path":"deposit_asset"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"signer_deposit_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"signer"},{"kind":"account","path":"deposit_token_program"},{"kind":"account","path":"deposit_asset"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"deposit_token_program"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"}],"args":[{"name":"amount_in","type":"u64"}]},{"name":"set_mint_policy","discriminator":[12,208,252,52,166,250,137,169],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_signer","writable":true,"signer":true},{"name":"glam_protocol_program","address":"GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"}],"args":[{"name":"policy","type":{"defined":{"name":"MintPolicy"}}}]},{"name":"set_protocol_fees","discriminator":[49,143,189,18,56,206,158,226],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_mint"},{"name":"signer","writable":true,"signer":true},{"name":"glam_config","pda":{"seeds":[{"kind":"const","value":[103,108,111,98,97,108,45,99,111,110,102,105,103]}],"program":{"kind":"const","value":[10,11,0,83,72,16,46,144,46,42,79,22,157,123,21,242,192,146,1,78,88,59,102,9,190,226,92,189,187,232,83,220]}}},{"name":"glam_protocol_program","address":"GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"}],"args":[{"name":"base_fee_bps","type":"u16"},{"name":"flow_fee_bps","type":"u16"}]},{"name":"set_token_accounts_states","discriminator":[50,133,45,86,117,66,115,195],"accounts":[{"name":"glam_state"},{"name":"glam_signer","writable":true,"signer":true},{"name":"glam_mint","writable":true},{"name":"token_2022_program","address":"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"}],"args":[{"name":"frozen","type":"bool"}]},{"name":"subscribe","discriminator":[254,28,191,138,156,179,183,53],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}],"program":{"kind":"const","value":[227,199,235,230,176,132,243,117,43,131,173,18,78,255,26,50,209,135,86,219,140,126,61,255,0,218,252,224,172,8,223,207]}}},{"name":"glam_mint","writable":true},{"name":"glam_escrow","pda":{"seeds":[{"kind":"const","value":[101,115,99,114,111,119]},{"kind":"account","path":"glam_mint"}]}},{"name":"request_queue","pda":{"seeds":[{"kind":"const","value":[114,101,113,117,101,115,116,45,113,117,101,117,101]},{"kind":"account","path":"glam_mint"}]}},{"name":"signer","writable":true,"signer":true},{"name":"signer_mint_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"signer"},{"kind":"account","path":"token_2022_program"},{"kind":"account","path":"glam_mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"escrow_mint_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"glam_escrow"},{"kind":"account","path":"token_2022_program"},{"kind":"account","path":"glam_mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"deposit_asset"},{"name":"vault_deposit_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"glam_vault"},{"kind":"account","path":"deposit_token_program"},{"kind":"account","path":"deposit_asset"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"signer_deposit_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"signer"},{"kind":"account","path":"deposit_token_program"},{"kind":"account","path":"deposit_asset"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"signer_policy","writable":true,"optional":true},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"deposit_token_program"},{"name":"token_2022_program","address":"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{"name":"policies_program","address":"po1iCYakK3gHCLbuju4wGzFowTMpAJxkqK1iwUqMonY"},{"name":"glam_protocol_program","address":"GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"}],"args":[{"name":"amount_in","type":"u64"}]},{"name":"update_mint","discriminator":[212,203,57,78,75,245,222,5],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_signer","writable":true,"signer":true},{"name":"glam_mint","writable":true},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"token_2022_program","address":"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"},{"name":"glam_protocol","address":"GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"}],"args":[{"name":"mint_model","type":{"defined":{"name":"MintModel"}}}]},{"name":"update_mint_apply_timelock","discriminator":[223,241,80,24,120,25,82,134],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_signer","writable":true,"signer":true},{"name":"glam_mint","writable":true},{"name":"request_queue","optional":true,"pda":{"seeds":[{"kind":"const","value":[114,101,113,117,101,115,116,45,113,117,101,117,101]},{"kind":"account","path":"glam_mint"}]}},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"token_2022_program","address":"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"},{"name":"glam_protocol","address":"GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"}],"args":[]}],"accounts":[{"name":"GlobalConfig","discriminator":[149,8,156,202,160,252,176,217]},{"name":"RequestQueue","discriminator":[172,124,172,253,233,63,70,234]},{"name":"StateAccount","discriminator":[142,247,54,95,85,133,249,103]}],"errors":[{"code":6000,"name":"InvalidAuthority","msg":"Invalid authority"},{"code":6001,"name":"UnauthorizedSigner","msg":"Signer is not authorized"},{"code":6002,"name":"ActionPaused","msg":"Requested action is paused"},{"code":6003,"name":"InvalidAsset","msg":"Asset not allowed to subscribe"},{"code":6004,"name":"MaxCapExceeded","msg":"Max cap exceeded"},{"code":6005,"name":"InvalidAmount","msg":"Invalid amount for subscription or redemption"},{"code":6006,"name":"NewRequestNotAllowed","msg":"New request is not allowed"},{"code":6007,"name":"RequestNotClaimable","msg":"Request is not claimable"},{"code":6008,"name":"RequestNotCancellable","msg":"Request is not cancellable"},{"code":6009,"name":"RequestNotFound","msg":"Request not found"},{"code":6010,"name":"RequestQueueNotEmpty","msg":"Request queue not empty"},{"code":6011,"name":"InvalidRequestQueueData","msg":"Invalid request queue data"},{"code":6012,"name":"RequestQueueFull","msg":"Request queue full"}],"types":[{"name":"AccountType","type":{"kind":"enum","variants":[{"name":"Vault"},{"name":"TokenizedVault"},{"name":"Mint"}]}},{"name":"AccruedFees","type":{"kind":"struct","fields":[{"name":"vault_subscription_fee","type":"u128"},{"name":"vault_redemption_fee","type":"u128"},{"name":"manager_subscription_fee","type":"u128"},{"name":"manager_redemption_fee","type":"u128"},{"name":"management_fee","type":"u128"},{"name":"performance_fee","type":"u128"},{"name":"protocol_base_fee","type":"u128"},{"name":"protocol_flow_fee","type":"u128"}]}},{"name":"AssetMeta","type":{"kind":"struct","fields":[{"name":"asset","type":"pubkey"},{"name":"decimals","type":"u8"},{"name":"oracle","type":"pubkey"},{"name":"oracle_source","type":{"defined":{"name":"OracleSource"}}},{"name":"max_age_seconds","type":"u16"},{"name":"priority","type":"u8"},{"name":"padding","type":{"array":["u8",3]}}]}},{"name":"CreatedModel","type":{"kind":"struct","fields":[{"name":"key","type":{"array":["u8",8]}},{"name":"created_by","type":"pubkey"},{"name":"created_at","type":"i64"}]}},{"name":"DelegateAcl","type":{"kind":"struct","fields":[{"name":"pubkey","type":"pubkey"},{"name":"integration_permissions","type":{"vec":{"defined":{"name":"IntegrationPermissions"}}}},{"name":"expires_at","type":"i64"}]}},{"name":"EmergencyUpdateMintArgs","type":{"kind":"struct","fields":[{"name":"request_type","type":{"defined":{"name":"RequestType"}}},{"name":"set_paused","type":"bool"}]}},{"name":"EngineField","type":{"kind":"struct","fields":[{"name":"name","type":{"defined":{"name":"EngineFieldName"}}},{"name":"value","type":{"defined":{"name":"EngineFieldValue"}}}]}},{"name":"EngineFieldName","type":{"kind":"enum","variants":[{"name":"Owner"},{"name":"PortfolioManagerName"},{"name":"Name"},{"name":"Uri"},{"name":"Assets"},{"name":"DelegateAcls"},{"name":"IntegrationAcls"},{"name":"TimelockDuration"},{"name":"Borrowable"},{"name":"DefaultAccountStateFrozen"},{"name":"PermanentDelegate"},{"name":"NotifyAndSettle"},{"name":"FeeStructure"},{"name":"FeeParams"},{"name":"ClaimableFees"},{"name":"ClaimedFees"},{"name":"OracleConfigs"}]}},{"name":"EngineFieldValue","type":{"kind":"enum","variants":[{"name":"Boolean","fields":[{"name":"val","type":"bool"}]},{"name":"U8","fields":[{"name":"val","type":"u8"}]},{"name":"U32","fields":[{"name":"val","type":"u32"}]},{"name":"U64","fields":[{"name":"val","type":"u64"}]},{"name":"String","fields":[{"name":"val","type":"string"}]},{"name":"Pubkey","fields":[{"name":"val","type":"pubkey"}]},{"name":"VecPubkey","fields":[{"name":"val","type":{"vec":"pubkey"}}]},{"name":"VecU8","fields":[{"name":"val","type":"bytes"}]},{"name":"VecU32","fields":[{"name":"val","type":{"vec":"u32"}}]},{"name":"VecDelegateAcl","fields":[{"name":"val","type":{"vec":{"defined":{"name":"DelegateAcl"}}}}]},{"name":"VecIntegrationAcl","fields":[{"name":"val","type":{"vec":{"defined":{"name":"IntegrationAcl"}}}}]},{"name":"FeeStructure","fields":[{"name":"val","type":{"defined":{"name":"FeeStructure"}}}]},{"name":"FeeParams","fields":[{"name":"val","type":{"defined":{"name":"FeeParams"}}}]},{"name":"AccruedFees","fields":[{"name":"val","type":{"defined":{"name":"AccruedFees"}}}]},{"name":"NotifyAndSettle","fields":[{"name":"val","type":{"defined":{"name":"NotifyAndSettle"}}}]},{"name":"OracleConfigs","fields":[{"name":"val","type":{"defined":{"name":"OracleConfigs"}}}]}]}},{"name":"EntryExitFees","type":{"kind":"struct","fields":[{"name":"subscription_fee_bps","type":"u16"},{"name":"redemption_fee_bps","type":"u16"}]}},{"name":"FeeParams","type":{"kind":"struct","fields":[{"name":"year_in_seconds","type":"u32"},{"name":"pa_high_water_mark","type":"i128"},{"name":"pa_last_nav","type":"i128"},{"name":"last_aum","type":"i128"},{"name":"last_performance_fee_crystallized","type":"i64"},{"name":"last_management_fee_crystallized","type":"i64"},{"name":"last_protocol_fee_crystallized","type":"i64"}]}},{"name":"FeeStructure","type":{"kind":"struct","fields":[{"name":"vault","type":{"defined":{"name":"EntryExitFees"}}},{"name":"manager","type":{"defined":{"name":"EntryExitFees"}}},{"name":"management","type":{"defined":{"name":"ManagementFee"}}},{"name":"performance","type":{"defined":{"name":"PerformanceFee"}}},{"name":"protocol","type":{"defined":{"name":"ProtocolFees"}}}]}},{"name":"GlobalConfig","type":{"kind":"struct","fields":[{"name":"admin","docs":["The authority that can modify the config"],"type":"pubkey"},{"name":"fee_authority","docs":["The authority that can modify fee structure of individual glam state and claim protocol fees"],"type":"pubkey"},{"name":"referrer","type":"pubkey"},{"name":"base_fee_bps","type":"u16"},{"name":"flow_fee_bps","type":"u16"},{"name":"asset_metas","type":{"vec":{"defined":{"name":"AssetMeta"}}}}]}},{"name":"HurdleType","type":{"kind":"enum","variants":[{"name":"Hard"},{"name":"Soft"}]}},{"name":"IntegrationAcl","docs":["An integration program can have multiple protocols supported.","Enabled protocols are stored in a bitmask, and each protocol can have its own policy."],"type":{"kind":"struct","fields":[{"name":"integration_program","type":"pubkey"},{"name":"protocols_bitmask","type":"u16"},{"name":"protocol_policies","type":{"vec":{"defined":{"name":"ProtocolPolicy"}}}}]}},{"name":"IntegrationPermissions","docs":["Stores delegate permissions for an integration program."],"type":{"kind":"struct","fields":[{"name":"integration_program","type":"pubkey"},{"name":"protocol_permissions","type":{"vec":{"defined":{"name":"ProtocolPermissions"}}}}]}},{"name":"ManagementFee","type":{"kind":"struct","fields":[{"name":"fee_bps","type":"u16"}]}},{"name":"MintModel","type":{"kind":"struct","fields":[{"name":"symbol","type":{"option":"string"}},{"name":"name","type":{"option":{"array":["u8",32]}}},{"name":"uri","type":{"option":"string"}},{"name":"year_in_seconds","type":{"option":"u32"}},{"name":"permanent_delegate","type":{"option":"pubkey"}},{"name":"default_account_state_frozen","type":{"option":"bool"}},{"name":"fee_structure","type":{"option":{"defined":{"name":"FeeStructure"}}}},{"name":"notify_and_settle","type":{"option":{"defined":{"name":"NotifyAndSettle"}}}},{"name":"lockup_period","type":{"option":"u32"}},{"name":"max_cap","type":{"option":"u64"}},{"name":"min_subscription","type":{"option":"u64"}},{"name":"min_redemption","type":{"option":"u64"}},{"name":"allowlist","type":{"option":{"vec":"pubkey"}}},{"name":"blocklist","type":{"option":{"vec":"pubkey"}}}]}},{"name":"MintPolicy","type":{"kind":"struct","fields":[{"name":"lockup_period","type":"u32"},{"name":"max_cap","type":"u64"},{"name":"min_subscription","type":"u64"},{"name":"min_redemption","type":"u64"},{"name":"reserved","type":"u64"},{"name":"allowlist","type":{"option":{"vec":"pubkey"}}},{"name":"blocklist","type":{"option":{"vec":"pubkey"}}}]}},{"name":"NoticePeriodType","type":{"kind":"enum","variants":[{"name":"Hard"},{"name":"Soft"}]}},{"name":"NotifyAndSettle","type":{"kind":"struct","fields":[{"name":"model","type":{"defined":{"name":"ValuationModel"}}},{"name":"permissionless_fulfillment","type":"bool"},{"name":"subscribe_notice_period_type","type":{"defined":{"name":"NoticePeriodType"}}},{"name":"subscribe_notice_period","type":"u64"},{"name":"subscribe_settlement_period","type":"u64"},{"name":"subscribe_cancellation_window","type":"u64"},{"name":"redeem_notice_period_type","type":{"defined":{"name":"NoticePeriodType"}}},{"name":"redeem_notice_period","type":"u64"},{"name":"redeem_settlement_period","type":"u64"},{"name":"redeem_cancellation_window","type":"u64"},{"name":"time_unit","type":{"defined":{"name":"TimeUnit"}}},{"name":"_padding","type":{"array":["u8",3]}}]}},{"name":"OracleConfigs","docs":["Vault-specific oracle configs. If available, these configs are preferred over the global config."],"type":{"kind":"struct","fields":[{"name":"max_ages_seconds","type":{"vec":{"array":["u16",2]}}},{"name":"padding","type":{"array":["u8",12]}}]}},{"name":"OracleSource","type":{"kind":"enum","variants":[{"name":"Pyth"},{"name":"Switchboard"},{"name":"QuoteAsset"},{"name":"Pyth1K"},{"name":"Pyth1M"},{"name":"PythStableCoin"},{"name":"Prelaunch"},{"name":"PythPull"},{"name":"Pyth1KPull"},{"name":"Pyth1MPull"},{"name":"PythStableCoinPull"},{"name":"SwitchboardOnDemand"},{"name":"PythLazer"},{"name":"PythLazer1K"},{"name":"PythLazer1M"},{"name":"PythLazerStableCoin"},{"name":"NotSet"},{"name":"LstPoolState"},{"name":"MarinadeState"},{"name":"BaseAsset"},{"name":"ChainlinkRWA"}]}},{"name":"PendingRequest","type":{"kind":"struct","fields":[{"name":"user","type":"pubkey"},{"name":"incoming","type":"u64"},{"name":"outgoing","type":"u64"},{"name":"created_at","type":"u64"},{"name":"fulfilled_at","type":"u64"},{"name":"time_unit","type":"u8"},{"name":"request_type","type":{"defined":{"name":"RequestType"}}},{"name":"reserved","type":{"array":["u8",6]}}]}},{"name":"PerformanceFee","type":{"kind":"struct","fields":[{"name":"fee_bps","type":"u16"},{"name":"hurdle_rate_bps","type":"u16"},{"name":"hurdle_type","type":{"defined":{"name":"HurdleType"}}}]}},{"name":"PricedProtocol","type":{"kind":"struct","fields":[{"name":"rent","type":"u64"},{"name":"amount","type":"i128"},{"name":"decimals","type":"u8"},{"name":"last_updated_slot","type":"u64"},{"name":"integration_program","type":"pubkey"},{"name":"protocol_bitflag","type":"u16"},{"name":"positions","type":{"vec":"pubkey"}}]}},{"name":"ProtocolFees","type":{"kind":"struct","fields":[{"name":"base_fee_bps","type":"u16"},{"name":"flow_fee_bps","type":"u16"}]}},{"name":"ProtocolPermissions","docs":["Represents a delegate\'s permissions for a specific protocol"],"type":{"kind":"struct","fields":[{"name":"protocol_bitflag","type":"u16"},{"name":"permissions_bitmask","type":"u64"}]}},{"name":"ProtocolPolicy","docs":["Stores policy data for an integrated protocol.","Integration programs serialize/deserialize this data."],"type":{"kind":"struct","fields":[{"name":"protocol_bitflag","type":"u16"},{"name":"data","type":"bytes"}]}},{"name":"RequestQueue","type":{"kind":"struct","fields":[{"name":"glam_state","type":"pubkey"},{"name":"glam_mint","type":"pubkey"},{"name":"subscription_paused","type":"bool"},{"name":"redemption_paused","type":"bool"},{"name":"data","type":{"vec":{"defined":{"name":"PendingRequest"}}}}]}},{"name":"RequestType","type":{"kind":"enum","variants":[{"name":"Subscription"},{"name":"Redemption"}]}},{"name":"StateAccount","type":{"kind":"struct","fields":[{"name":"account_type","type":{"defined":{"name":"AccountType"}}},{"name":"enabled","type":"bool"},{"name":"vault","type":"pubkey"},{"name":"owner","type":"pubkey"},{"name":"portfolio_manager_name","type":{"array":["u8",32]}},{"name":"created","type":{"defined":{"name":"CreatedModel"}}},{"name":"base_asset_mint","type":"pubkey"},{"name":"base_asset_decimals","type":"u8"},{"name":"base_asset_token_program","type":"u8"},{"name":"name","type":{"array":["u8",32]}},{"name":"timelock_duration","type":"u32"},{"name":"timelock_expires_at","type":"u64"},{"name":"mint","type":"pubkey"},{"name":"assets","type":{"vec":"pubkey"}},{"name":"integration_acls","type":{"vec":{"defined":{"name":"IntegrationAcl"}}}},{"name":"delegate_acls","type":{"vec":{"defined":{"name":"DelegateAcl"}}}},{"name":"external_positions","type":{"vec":"pubkey"}},{"name":"priced_protocols","type":{"vec":{"defined":{"name":"PricedProtocol"}}}},{"name":"params","type":{"vec":{"vec":{"defined":{"name":"EngineField"}}}}}]}},{"name":"TimeUnit","type":{"kind":"enum","variants":[{"name":"Second"},{"name":"Slot"}]}},{"name":"ValuationModel","type":{"kind":"enum","variants":[{"name":"Continuous"},{"name":"Periodic"}]}}],"constants":[{"name":"PROTO_MINT","type":"u16","value":"1"},{"name":"PROTO_MINT_PERM_BURN_TOKENS","type":"u64","value":"2"},{"name":"PROTO_MINT_PERM_CLAIM_FEES","type":"u64","value":"16"},{"name":"PROTO_MINT_PERM_EMERGENCY_UPDATE","type":"u64","value":"64"},{"name":"PROTO_MINT_PERM_FORCE_TRANSFER_TOKENS","type":"u64","value":"4"},{"name":"PROTO_MINT_PERM_FULFILL","type":"u64","value":"32"},{"name":"PROTO_MINT_PERM_MINT_TOKENS","type":"u64","value":"1"},{"name":"PROTO_MINT_PERM_SET_TOKEN_ACCOUNT_STATE","type":"u64","value":"8"}]}');
131
131
 
132
132
  /***/ }),
133
133
  /* 8 */
@@ -363,6 +363,7 @@ class StateModel extends StateIdlModel {
363
363
  if (requestQueue) {
364
364
  mintModel.subscriptionPaused = requestQueue.subscriptionPaused;
365
365
  mintModel.redemptionPaused = requestQueue.redemptionPaused;
366
+ mintModel.pendingRequests = requestQueue.data;
366
367
  }
367
368
  // Assign mint model
368
369
  stateModel.mintModel = new MintModel(mintModel);
@@ -401,6 +402,7 @@ class MintModel extends MintIdlModel {
401
402
  this.feeParams = data.feeParams ?? null;
402
403
  this.subscriptionPaused = data.subscriptionPaused ?? null;
403
404
  this.redemptionPaused = data.redemptionPaused ?? null;
405
+ this.pendingRequests = data.pendingRequests ?? null;
404
406
  }
405
407
  get nameStr() {
406
408
  return this.name ? (0, helpers_1.charsToName)(this.name) : "";
@@ -1911,8 +1913,10 @@ class BaseClient {
1911
1913
  ]);
1912
1914
  lookupTableAccounts.push(...accounts);
1913
1915
  }
1914
- const glamLookupTableAccounts = await (0, glamApi_1.getGlamLookupTableAccounts)(this.statePda);
1915
- lookupTableAccounts.push(...glamLookupTableAccounts);
1916
+ if (this._statePda) {
1917
+ const glamLookupTableAccounts = await (0, glamApi_1.getGlamLookupTableAccounts)(this.statePda);
1918
+ lookupTableAccounts.push(...glamLookupTableAccounts);
1919
+ }
1916
1920
  // console.log(
1917
1921
  // "lookupTableAccounts:",
1918
1922
  // lookupTableAccounts.map((t) => t.key.toBase58()),
@@ -2327,8 +2331,16 @@ class BaseClient {
2327
2331
  for (let i = 0; i < mintPubkeys.length; i++) {
2328
2332
  mintsCache.set(mintPubkeys[i].toBase58(), mints[i].mint);
2329
2333
  }
2334
+ // { publicKey, account: RequestQueue }[]
2335
+ const requestQueues = await this.mintProgram.account.requestQueue.all();
2336
+ const requestQueueMap = new Map(requestQueues.map((r) => [r.publicKey.toBase58(), r.account]));
2330
2337
  return filteredStateAccounts.map(({ publicKey, account: stateAccount }) => {
2331
- return models_1.StateModel.fromOnchainAccounts(publicKey, stateAccount, mintsCache.get(stateAccount.mint.toBase58()), this.protocolProgram.programId);
2338
+ const mint = mintsCache.get(stateAccount.mint.toBase58());
2339
+ const requestQueuePda = mint
2340
+ ? (0, glamPDAs_1.getRequestQueuePda)(stateAccount.mint, this.mintProgram.programId)
2341
+ : web3_js_1.PublicKey.default;
2342
+ const requestQueue = requestQueueMap.get(requestQueuePda.toBase58());
2343
+ return models_1.StateModel.fromOnchainAccounts(publicKey, stateAccount, mint, requestQueue, this.protocolProgram.programId);
2332
2344
  });
2333
2345
  }
2334
2346
  async fetchProtocolPolicy(integProgramId, protocolBitflag, policyClass) {
@@ -6086,6 +6098,16 @@ class TxBuilder {
6086
6098
  .transaction();
6087
6099
  return await this.base.intoVersionedTransaction(tx, txOptions);
6088
6100
  }
6101
+ async updateIx(updated, txOptions) {
6102
+ const glamSigner = txOptions.signer || this.base.getSigner();
6103
+ return await this.base.protocolProgram.methods
6104
+ .updateState(new models_1.StateIdlModel(updated))
6105
+ .accounts({
6106
+ glamState: this.base.statePda,
6107
+ glamSigner,
6108
+ })
6109
+ .instruction();
6110
+ }
6089
6111
  async updateApplyTimelock(txOptions) {
6090
6112
  const glamSigner = txOptions.signer || this.base.getSigner();
6091
6113
  const tx = await this.base.protocolProgram.methods
@@ -7404,16 +7426,21 @@ class InvestClient {
7404
7426
  const tx = await this.cancelTx(txOptions);
7405
7427
  return await this.base.sendAndConfirm(tx);
7406
7428
  }
7407
- async fulfill(txOptions = {}) {
7408
- const tx = await this.fulfillTx(txOptions);
7429
+ async fulfill(limit, txOptions = {}) {
7430
+ const tx = await this.fulfillTx(limit, txOptions);
7409
7431
  return await this.base.sendAndConfirm(tx);
7410
7432
  }
7411
- async claim(requestType, txOptions = {}) {
7412
- if (models_1.RequestType.equals(requestType, models_1.RequestType.SUBSCRIPTION)) {
7413
- const tx = await this.claimSharesTx(txOptions);
7414
- return await this.base.sendAndConfirm(tx);
7415
- }
7416
- const tx = await this.claimTokensTx(txOptions);
7433
+ /**
7434
+ * Claims the pending request for the signer.
7435
+ * @param txOptions
7436
+ * @returns
7437
+ */
7438
+ async claim(txOptions = {}) {
7439
+ const tx = await this.claimTx(null, txOptions);
7440
+ return await this.base.sendAndConfirm(tx);
7441
+ }
7442
+ async claimForUser(user, txOptions = {}) {
7443
+ const tx = await this.claimTx(user, txOptions);
7417
7444
  return await this.base.sendAndConfirm(tx);
7418
7445
  }
7419
7446
  async fetchPendingRequest(user) {
@@ -7575,12 +7602,12 @@ class InvestClient {
7575
7602
  .transaction();
7576
7603
  return await this.base.intoVersionedTransaction(tx, txOptions);
7577
7604
  }
7578
- async fulfillTx(txOptions = {}) {
7605
+ async fulfillTx(limit, txOptions = {}) {
7579
7606
  const signer = txOptions.signer || this.base.getSigner();
7580
7607
  const { baseAssetMint } = await this.base.fetchStateModel();
7581
7608
  const { tokenProgram: depositTokenProgram } = await this.base.fetchMintAndTokenProgram(baseAssetMint);
7582
7609
  const tx = await this.base.mintProgram.methods
7583
- .fulfill()
7610
+ .fulfill(limit)
7584
7611
  .accounts({
7585
7612
  glamState: this.base.statePda,
7586
7613
  glamMint: this.base.mintPda,
@@ -7592,58 +7619,56 @@ class InvestClient {
7592
7619
  .transaction();
7593
7620
  return await this.base.intoVersionedTransaction(tx, txOptions);
7594
7621
  }
7595
- async claimTokensTx(txOptions = {}) {
7596
- const signer = txOptions.signer || this.base.getSigner();
7597
- const { baseAssetMint } = await this.base.fetchStateModel();
7598
- const { tokenProgram: claimTokenProgram } = await this.base.fetchMintAndTokenProgram(baseAssetMint);
7599
- const signerAta = this.base.getAta(baseAssetMint, signer, claimTokenProgram);
7600
- const escrowAta = this.base.getAta(baseAssetMint, this.base.escrowPda, claimTokenProgram);
7601
- const preInstructions = [
7602
- ...(txOptions.preInstructions || []),
7603
- (0, spl_token_1.createAssociatedTokenAccountIdempotentInstruction)(signer, signerAta, signer, baseAssetMint),
7604
- ];
7605
- // Close wSOL ata so user gets SOL
7606
- const postInstructions = baseAssetMint.equals(constants_1.WSOL)
7607
- ? [(0, spl_token_1.createCloseAccountInstruction)(signerAta, signer, signer)]
7608
- : [];
7609
- const tx = await this.base.mintProgram.methods
7610
- .claim()
7611
- .accountsPartial({
7612
- glamState: this.base.statePda,
7613
- glamEscrow: this.base.escrowPda,
7614
- glamMint: this.base.mintPda,
7615
- signer,
7616
- claimTokenMint: baseAssetMint,
7617
- signerAta,
7618
- escrowAta,
7619
- signerPolicy: null, // not needed for claiming redemption
7620
- claimTokenProgram,
7621
- })
7622
- .preInstructions(preInstructions)
7623
- .postInstructions(postInstructions)
7624
- .transaction();
7625
- return await this.base.intoVersionedTransaction(tx, txOptions);
7626
- }
7627
- async claimSharesTx(txOptions = {}) {
7628
- const signer = txOptions.signer || this.base.getSigner();
7629
- const signerShareAta = this.base.getMintAta();
7630
- const escrowShareAta = this.base.getMintAta(this.base.escrowPda);
7631
- let signerPolicy = null;
7622
+ async claimTx(user, txOptions = {}) {
7623
+ const signer = txOptions.signer || this.base.signer;
7624
+ const claimUser = user || signer;
7625
+ const pendingRequest = await this.fetchPendingRequest(claimUser);
7626
+ if (!pendingRequest) {
7627
+ throw new Error("No eligible request found to claim.");
7628
+ }
7629
+ const requestType = pendingRequest.requestType;
7630
+ let claimUserAta = null;
7631
+ let claimUserPolicy = null;
7632
+ let claimTokenMint = null;
7633
+ let claimTokenProgram = null;
7634
+ let escrowAta = null;
7632
7635
  const remainingAccounts = [];
7633
- if (await this.base.isLockupEnabled()) {
7634
- const extraMetasAccount = this.base.extraMetasPda;
7635
- const escrowPolicy = (0, glamPDAs_1.getAccountPolicyPda)(signerShareAta);
7636
- signerPolicy = (0, glamPDAs_1.getAccountPolicyPda)(signerShareAta);
7637
- remainingAccounts.push(...[
7638
- extraMetasAccount,
7639
- escrowPolicy,
7640
- signerPolicy,
7641
- constants_1.TRANSFER_HOOK_PROGRAM,
7642
- ].map((pubkey) => ({
7643
- pubkey,
7644
- isSigner: false,
7645
- isWritable: false,
7646
- })));
7636
+ const postInstructions = [];
7637
+ // Claim redemption, user gets base asset back
7638
+ if (models_1.RequestType.equals(requestType, models_1.RequestType.REDEMPTION)) {
7639
+ const { baseAssetMint, baseAssetTokenProgramId } = await this.base.fetchStateModel();
7640
+ claimTokenProgram = baseAssetTokenProgramId;
7641
+ claimTokenMint = baseAssetMint;
7642
+ claimUserAta = this.base.getAta(baseAssetMint, claimUser, claimTokenProgram);
7643
+ escrowAta = this.base.getAta(baseAssetMint, this.base.escrowPda, claimTokenProgram);
7644
+ // Close wSOL ata so user gets SOL, only possible if signer is claiming for themselves
7645
+ baseAssetMint.equals(constants_1.WSOL) &&
7646
+ claimUser.equals(this.base.signer) &&
7647
+ postInstructions.push((0, spl_token_1.createCloseAccountInstruction)(claimUserAta, claimUser, claimUser));
7648
+ }
7649
+ else if (models_1.RequestType.equals(requestType, models_1.RequestType.SUBSCRIPTION)) {
7650
+ claimTokenMint = this.base.mintPda;
7651
+ claimTokenProgram = spl_token_1.TOKEN_2022_PROGRAM_ID;
7652
+ claimUserAta = this.base.getMintAta(claimUser);
7653
+ escrowAta = this.base.getMintAta(this.base.escrowPda);
7654
+ if (await this.base.isLockupEnabled()) {
7655
+ const extraMetasAccount = this.base.extraMetasPda;
7656
+ const escrowPolicy = (0, glamPDAs_1.getAccountPolicyPda)(escrowAta);
7657
+ claimUserPolicy = (0, glamPDAs_1.getAccountPolicyPda)(claimUserAta);
7658
+ [
7659
+ extraMetasAccount,
7660
+ escrowPolicy,
7661
+ claimUserPolicy,
7662
+ constants_1.TRANSFER_HOOK_PROGRAM,
7663
+ ].forEach((pubkey) => remainingAccounts.push({
7664
+ pubkey,
7665
+ isSigner: false,
7666
+ isWritable: false,
7667
+ }));
7668
+ }
7669
+ }
7670
+ if (!claimUserAta || !claimTokenMint || !claimTokenProgram || !escrowAta) {
7671
+ throw new Error("Missing required accounts.");
7647
7672
  }
7648
7673
  const tx = await this.base.mintProgram.methods
7649
7674
  .claim()
@@ -7652,11 +7677,12 @@ class InvestClient {
7652
7677
  glamEscrow: this.base.escrowPda,
7653
7678
  glamMint: this.base.mintPda,
7654
7679
  signer,
7655
- claimTokenMint: this.base.mintPda,
7656
- signerAta: signerShareAta,
7657
- escrowAta: escrowShareAta,
7658
- signerPolicy,
7659
- claimTokenProgram: spl_token_1.TOKEN_2022_PROGRAM_ID,
7680
+ claimTokenMint,
7681
+ claimUser,
7682
+ claimUserAta,
7683
+ escrowAta,
7684
+ claimUserPolicy,
7685
+ claimTokenProgram,
7660
7686
  })
7661
7687
  .remainingAccounts(remainingAccounts)
7662
7688
  .transaction();
@@ -8521,6 +8547,7 @@ class TxBuilder {
8521
8547
  extraMetasAccount: this.base.extraMetasPda,
8522
8548
  baseAssetMint: mintModel.baseAssetMint,
8523
8549
  })
8550
+ .postInstructions(txOptions.postInstructions || [])
8524
8551
  .transaction();
8525
8552
  return await this.base.intoVersionedTransaction(tx, txOptions);
8526
8553
  }
@@ -11097,7 +11124,7 @@ function installInvestCommands(invest, context) {
11097
11124
  const preInstructions = await context.glamClient.price.priceVaultIxs();
11098
11125
  const lookupTables = context.glamClient.price.lookupTables;
11099
11126
  try {
11100
- const txSig = await context.glamClient.invest.claim(glam_sdk_1.RequestType.SUBSCRIPTION, {
11127
+ const txSig = await context.glamClient.invest.claim({
11101
11128
  ...context.txOptions,
11102
11129
  preInstructions,
11103
11130
  lookupTables,
@@ -11142,7 +11169,7 @@ function installInvestCommands(invest, context) {
11142
11169
  const preInstructions = await context.glamClient.price.priceVaultIxs(); // this loads lookup tables
11143
11170
  const lookupTables = context.glamClient.price.lookupTables;
11144
11171
  try {
11145
- const txSig = await context.glamClient.invest.claim(glam_sdk_1.RequestType.REDEMPTION, {
11172
+ const txSig = await context.glamClient.invest.claim({
11146
11173
  ...context.txOptions,
11147
11174
  preInstructions,
11148
11175
  lookupTables,
@@ -11375,7 +11402,7 @@ function installVaultCommands(program, context) {
11375
11402
  .argument("<new-owner>", "New owner public key", utils_1.validatePublicKey)
11376
11403
  .option("-n, --name <name>", "New portfolio manager name")
11377
11404
  .option("-y, --yes", "Skip confirmation prompt")
11378
- .description("Update the owner of a GLAM instance")
11405
+ .description("Update the owner of a GLAM vault")
11379
11406
  .action(async (newOwner, options) => {
11380
11407
  const newPortfolioManagerName = options?.name
11381
11408
  ? (0, glam_sdk_1.nameToChars)(options.name)
@@ -11489,10 +11516,20 @@ function installVaultCommands(program, context) {
11489
11516
  throw new Error("Invalid JSON file: must contain 'state' or 'mint' property");
11490
11517
  }
11491
11518
  const stateModel = (0, utils_1.parseStateJson)(json);
11519
+ const postInstructions = stateModel.portfolioManagerName
11520
+ ? [
11521
+ await context.glamClient.state.txBuilder.updateIx({
11522
+ portfolioManagerName: stateModel.portfolioManagerName,
11523
+ }, context.txOptions),
11524
+ ]
11525
+ : [];
11492
11526
  try {
11493
11527
  if (glam_sdk_1.StateAccountType.equals(stateModel.accountType, glam_sdk_1.StateAccountType.TOKENIZED_VAULT)) {
11494
11528
  const mintModel = (0, utils_1.parseMintJson)(json, stateModel.accountType);
11495
- const txSig = await context.glamClient.mint.initialize(mintModel, stateModel.accountType, context.txOptions);
11529
+ const txSig = await context.glamClient.mint.initialize(mintModel, stateModel.accountType, {
11530
+ ...context.txOptions,
11531
+ postInstructions,
11532
+ });
11496
11533
  console.log("GLAM tokenized vault initialized:", txSig);
11497
11534
  console.log("State PDA:", context.glamClient.statePda.toBase58());
11498
11535
  console.log("Vault PDA:", context.glamClient.vaultPda.toBase58());
@@ -11760,7 +11797,7 @@ function installManageCommands(manage, context) {
11760
11797
  const preInstructions = await context.glamClient.price.priceVaultIxs(); // this loads lookup tables
11761
11798
  const lookupTables = context.glamClient.price.lookupTables;
11762
11799
  try {
11763
- const txSig = await context.glamClient.invest.fulfill({
11800
+ const txSig = await context.glamClient.invest.fulfill(null, {
11764
11801
  ...context.txOptions,
11765
11802
  preInstructions,
11766
11803
  lookupTables,
@@ -12390,7 +12427,7 @@ program
12390
12427
  }
12391
12428
  await (0, idl_1.idlCheck)(context.glamClient);
12392
12429
  })
12393
- .version("1.0.0-alpha.0");
12430
+ .version("1.0.0");
12394
12431
  program
12395
12432
  .command("env")
12396
12433
  .description("Display current environment setup")
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@glamsystems/glam-cli",
3
- "version": "1.0.0-alpha.0",
3
+ "version": "1.0.0",
4
4
  "description": "CLI for interacting with the GLAM Protocol",
5
5
  "main": "./main.js",
6
6
  "bin": {
@@ -21,7 +21,7 @@
21
21
  "node": ">=20.18.0"
22
22
  },
23
23
  "dependencies": {
24
- "@glamsystems/glam-sdk": "1.0.0-alpha.0",
24
+ "@glamsystems/glam-sdk": "1.0.0",
25
25
  "commander": "^11.1.0",
26
26
  "inquirer": "^8.2.6",
27
27
  "@switchboard-xyz/common": "^3.0.0"