@glamsystems/glam-cli 0.1.20 → 0.1.22

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 (2) hide show
  1. package/main.js +1424 -244
  2. package/package.json +2 -2
package/main.js CHANGED
@@ -25,11 +25,14 @@ tslib_1.__exportStar(__webpack_require__(4), exports);
25
25
  tslib_1.__exportStar(__webpack_require__(7), exports);
26
26
  tslib_1.__exportStar(__webpack_require__(11), exports);
27
27
  tslib_1.__exportStar(__webpack_require__(12), exports);
28
- tslib_1.__exportStar(__webpack_require__(22), exports);
28
+ tslib_1.__exportStar(__webpack_require__(23), exports);
29
29
  tslib_1.__exportStar(__webpack_require__(20), exports);
30
30
  tslib_1.__exportStar(__webpack_require__(13), exports);
31
31
  tslib_1.__exportStar(__webpack_require__(14), exports);
32
- tslib_1.__exportStar(__webpack_require__(35), exports);
32
+ tslib_1.__exportStar(__webpack_require__(36), exports);
33
+ tslib_1.__exportStar(__webpack_require__(37), exports);
34
+ tslib_1.__exportStar(__webpack_require__(21), exports);
35
+ tslib_1.__exportStar(__webpack_require__(22), exports);
33
36
  tslib_1.__exportStar(__webpack_require__(10), exports);
34
37
  tslib_1.__exportStar(__webpack_require__(17), exports);
35
38
  tslib_1.__exportStar(__webpack_require__(16), exports);
@@ -81,7 +84,7 @@ module.exports = require("@solana/web3.js");
81
84
  /* 6 */
82
85
  /***/ ((module) => {
83
86
 
84
- module.exports = /*#__PURE__*/JSON.parse('{"address":"GLAMbTqav9N9witRjswJ8enwp9vv5G8bsSJ2kPJ4rcyc","metadata":{"name":"glam_protocol","version":"0.4.16","spec":"0.1.0","description":"Glam Protocol"},"instructions":[{"name":"add_mint","discriminator":[171,222,111,37,60,166,208,108],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_signer","writable":true,"signer":true},{"name":"new_mint","writable":true},{"name":"extra_metas_account","writable":true,"optional":true},{"name":"openfunds_metadata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"const","value":[109,101,116,97,100,97,116,97]},{"kind":"account","path":"glam_state"}]}},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"token_2022_program","address":"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"},{"name":"policies_program","address":"po1iCYakK3gHCLbuju4wGzFowTMpAJxkqK1iwUqMonY"}],"args":[{"name":"mint_model","type":{"defined":{"name":"MintModel"}}}]},{"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":"mint_id","type":"u8"},{"name":"amount","type":"u64"}]},{"name":"claim","discriminator":[62,198,214,193,213,159,108,210],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_escrow","pda":{"seeds":[{"kind":"const","value":[101,115,99,114,111,119]},{"kind":"account","path":"glam_state"}]}},{"name":"signer","writable":true,"signer":true},{"name":"token_mint"},{"name":"signer_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"signer"},{"kind":"account","path":"token_program"},{"kind":"account","path":"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":"token_program"},{"kind":"account","path":"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":"token_program"}],"args":[{"name":"mint_id","type":"u8"}]},{"name":"close_mint","discriminator":[149,251,157,212,65,181,235,129],"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":"glam_mint","writable":true},{"name":"extra_metas_account","writable":true,"optional":true},{"name":"metadata","writable":true,"pda":{"seeds":[{"kind":"const","value":[109,101,116,97,100,97,116,97]},{"kind":"account","path":"glam_state"}]}},{"name":"policies_program","address":"po1iCYakK3gHCLbuju4wGzFowTMpAJxkqK1iwUqMonY"},{"name":"token_2022_program","address":"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"mint_id","type":"u8"}]},{"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":"metadata","writable":true,"pda":{"seeds":[{"kind":"const","value":[109,101,116,97,100,97,116,97]},{"kind":"account","path":"glam_state"}]}},{"name":"system_program","address":"11111111111111111111111111111111"}],"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_state"}]}},{"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":"token_2022_program","address":"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"}],"args":[{"name":"mint_id","type":"u8"}]},{"name":"drift_cancel_orders","discriminator":[98,107,48,79,97,60,99,58],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH"},{"name":"state"},{"name":"user","writable":true}],"args":[{"name":"market_type","type":{"option":{"defined":{"name":"MarketType"}}}},{"name":"market_index","type":{"option":"u16"}},{"name":"direction","type":{"option":{"defined":{"name":"PositionDirection"}}}}]},{"name":"drift_cancel_orders_by_ids","discriminator":[172,99,108,14,81,89,228,183],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH"},{"name":"state"},{"name":"user","writable":true}],"args":[{"name":"order_ids","type":{"vec":"u32"}}]},{"name":"drift_delete_user","discriminator":[179,118,20,212,145,146,49,130],"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":"dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH"},{"name":"user","writable":true},{"name":"user_stats","writable":true},{"name":"state","writable":true}],"args":[]},{"name":"drift_deposit","discriminator":[252,63,250,201,98,55,130,12],"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":"dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH"},{"name":"state"},{"name":"user","writable":true},{"name":"user_stats","writable":true},{"name":"spot_market_vault","writable":true},{"name":"user_token_account","writable":true},{"name":"token_program"}],"args":[{"name":"market_index","type":"u16"},{"name":"amount","type":"u64"},{"name":"reduce_only","type":"bool"}]},{"name":"drift_initialize_user","discriminator":[107,244,158,15,225,239,98,245],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","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":"dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH"},{"name":"user","writable":true},{"name":"user_stats","writable":true},{"name":"state","writable":true},{"name":"payer","writable":true,"signer":true},{"name":"rent","address":"SysvarRent111111111111111111111111111111111"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"sub_account_id","type":"u16"},{"name":"name","type":{"array":["u8",32]}}]},{"name":"drift_initialize_user_stats","discriminator":[133,185,103,162,90,161,78,143],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH"},{"name":"user_stats","writable":true},{"name":"state","writable":true},{"name":"payer","writable":true,"signer":true},{"name":"rent","address":"SysvarRent111111111111111111111111111111111"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[]},{"name":"drift_modify_order","discriminator":[235,245,222,58,245,128,19,202],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH"},{"name":"state"},{"name":"user","writable":true}],"args":[{"name":"order_id","type":{"option":"u32"}},{"name":"modify_order_params","type":{"defined":{"name":"ModifyOrderParams"}}}]},{"name":"drift_place_orders","discriminator":[117,18,210,6,238,174,135,167],"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":"dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH"},{"name":"state"},{"name":"user","writable":true}],"args":[{"name":"params","type":{"vec":{"defined":{"name":"OrderParams"}}}}]},{"name":"drift_settle_multiple_pnls","discriminator":[100,72,3,45,69,37,10,144],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH"},{"name":"state"},{"name":"user","writable":true},{"name":"spot_market_vault"}],"args":[{"name":"market_indexes","type":{"vec":"u16"}},{"name":"mode","type":{"defined":{"name":"SettlePnlMode"}}}]},{"name":"drift_settle_pnl","discriminator":[161,254,255,100,140,113,169,175],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH"},{"name":"state"},{"name":"user","writable":true},{"name":"spot_market_vault"}],"args":[{"name":"market_index","type":"u16"}]},{"name":"drift_update_user_custom_margin_ratio","discriminator":[4,47,193,177,128,62,228,14],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH"},{"name":"user","writable":true}],"args":[{"name":"sub_account_id","type":"u16"},{"name":"margin_ratio","type":"u32"}]},{"name":"drift_update_user_delegate","discriminator":[36,181,34,31,22,77,36,154],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH"},{"name":"user","writable":true}],"args":[{"name":"sub_account_id","type":"u16"},{"name":"delegate","type":"pubkey"}]},{"name":"drift_update_user_margin_trading_enabled","discriminator":[157,175,12,19,202,114,17,36],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH"},{"name":"user","writable":true}],"args":[{"name":"sub_account_id","type":"u16"},{"name":"margin_trading_enabled","type":"bool"}]},{"name":"drift_withdraw","discriminator":[86,59,186,123,183,181,234,137],"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":"dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH"},{"name":"state"},{"name":"user","writable":true},{"name":"user_stats","writable":true},{"name":"spot_market_vault","writable":true},{"name":"drift_signer"},{"name":"user_token_account","writable":true},{"name":"token_program"}],"args":[{"name":"market_index","type":"u16"},{"name":"amount","type":"u64"},{"name":"reduce_only","type":"bool"}]},{"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":"mint_id","type":"u8"},{"name":"amount","type":"u64"}]},{"name":"fulfill","discriminator":[143,2,52,206,174,164,247,72],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_escrow","pda":{"seeds":[{"kind":"const","value":[101,115,99,114,111,119]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_mint","writable":true},{"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":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"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":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"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":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"token_2022_program","address":"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"}],"args":[{"name":"mint_id","type":"u8"}]},{"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_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":"openfunds_metadata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"const","value":[109,101,116,97,100,97,116,97]},{"kind":"account","path":"glam_state"}]}},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"state","type":{"defined":{"name":"StateModel"}}}]},{"name":"jupiter_gov_new_vote","discriminator":[235,179,170,64,64,57,17,69],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"GovaE4iu227srtG2s3tZzB4RmWBzw8sTwrCLZz7kN7rY"},{"name":"proposal"},{"name":"vote","writable":true},{"name":"payer","writable":true,"signer":true},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"voter","type":"pubkey"}]},{"name":"jupiter_set_max_swap_slippage","discriminator":[110,79,13,71,208,111,56,66],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_signer","writable":true,"signer":true}],"args":[{"name":"slippage","type":"u64"}]},{"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":"jupiter_vote_cast_vote","discriminator":[11,197,234,57,164,74,181,239],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"voTpe3tHQ7AjQHMapgSue2HJFAh2cGsdokqN3XqmVSj"},{"name":"locker"},{"name":"escrow"},{"name":"proposal","writable":true},{"name":"vote","writable":true},{"name":"governor"},{"name":"govern_program"}],"args":[{"name":"side","type":"u8"}]},{"name":"jupiter_vote_cast_vote_checked","discriminator":[247,3,146,233,35,189,192,187],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"voTpe3tHQ7AjQHMapgSue2HJFAh2cGsdokqN3XqmVSj"},{"name":"locker"},{"name":"escrow"},{"name":"proposal","writable":true},{"name":"vote","writable":true},{"name":"governor"},{"name":"govern_program"}],"args":[{"name":"side","type":"u8"},{"name":"expected_side","type":"u8"}]},{"name":"jupiter_vote_increase_locked_amount","discriminator":[225,38,201,123,148,23,47,128],"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":"voTpe3tHQ7AjQHMapgSue2HJFAh2cGsdokqN3XqmVSj"},{"name":"locker","writable":true},{"name":"escrow","writable":true},{"name":"escrow_tokens","writable":true},{"name":"source_tokens","writable":true},{"name":"token_program"}],"args":[{"name":"amount","type":"u64"}]},{"name":"jupiter_vote_merge_partial_unstaking","discriminator":[93,226,122,120,130,35,189,208],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"voTpe3tHQ7AjQHMapgSue2HJFAh2cGsdokqN3XqmVSj"},{"name":"locker","writable":true},{"name":"escrow","writable":true},{"name":"partial_unstake","writable":true}],"args":[]},{"name":"jupiter_vote_new_escrow","discriminator":[255,87,157,219,61,178,144,159],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"voTpe3tHQ7AjQHMapgSue2HJFAh2cGsdokqN3XqmVSj"},{"name":"locker","writable":true},{"name":"escrow","writable":true},{"name":"payer","writable":true,"signer":true},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[]},{"name":"jupiter_vote_open_partial_unstaking","discriminator":[84,7,113,220,212,63,237,218],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"voTpe3tHQ7AjQHMapgSue2HJFAh2cGsdokqN3XqmVSj"},{"name":"locker","writable":true},{"name":"escrow","writable":true},{"name":"partial_unstake","writable":true,"signer":true},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"amount","type":"u64"},{"name":"memo","type":"string"}]},{"name":"jupiter_vote_toggle_max_lock","discriminator":[204,158,192,21,219,25,154,87],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"voTpe3tHQ7AjQHMapgSue2HJFAh2cGsdokqN3XqmVSj"},{"name":"locker"},{"name":"escrow","writable":true}],"args":[{"name":"is_max_lock","type":"bool"}]},{"name":"jupiter_vote_withdraw","discriminator":[195,172,184,195,23,178,145,191],"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":"voTpe3tHQ7AjQHMapgSue2HJFAh2cGsdokqN3XqmVSj"},{"name":"locker","writable":true},{"name":"escrow","writable":true},{"name":"escrow_tokens","writable":true},{"name":"destination_tokens","writable":true},{"name":"token_program"}],"args":[]},{"name":"jupiter_vote_withdraw_partial_unstaking","discriminator":[109,98,65,252,184,0,216,240],"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":"voTpe3tHQ7AjQHMapgSue2HJFAh2cGsdokqN3XqmVSj"},{"name":"locker","writable":true},{"name":"escrow","writable":true},{"name":"partial_unstake","writable":true},{"name":"escrow_tokens","writable":true},{"name":"destination_tokens","writable":true},{"name":"token_program"}],"args":[]},{"name":"kamino_farm_harvest_reward","discriminator":[64,132,133,175,224,147,145,119],"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":"FarmsPZpWu9i7Kky8tPN37rs2TpmMrAZrC7S7vJa91Hr"},{"name":"user_state","writable":true},{"name":"farm_state","writable":true},{"name":"global_config"},{"name":"reward_mint"},{"name":"user_reward_ata","writable":true},{"name":"rewards_vault","writable":true},{"name":"rewards_treasury_vault","writable":true},{"name":"farm_vaults_authority"},{"name":"scope_prices","optional":true},{"name":"token_program"}],"args":[{"name":"reward_index","type":"u64"}]},{"name":"kamino_lending_borrow_obligation_liquidity_v2","discriminator":[175,198,39,162,103,76,51,121],"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":"KLend2g3cP87fffoy8q1mQqGKjrxjC8boSyAYavgmjD"},{"name":"obligation","writable":true},{"name":"lending_market"},{"name":"lending_market_authority"},{"name":"borrow_reserve","writable":true},{"name":"borrow_reserve_liquidity_mint"},{"name":"reserve_source_liquidity","writable":true},{"name":"borrow_reserve_liquidity_fee_receiver","writable":true},{"name":"user_destination_liquidity","writable":true},{"name":"referrer_token_state","writable":true,"optional":true},{"name":"token_program"},{"name":"instruction_sysvar_account"},{"name":"obligation_farm_user_state","writable":true,"optional":true},{"name":"reserve_farm_state","writable":true,"optional":true},{"name":"farms_program"}],"args":[{"name":"liquidity_amount","type":"u64"}]},{"name":"kamino_lending_deposit_reserve_liquidity_and_obligation_collateral_v2","discriminator":[93,120,106,112,40,45,84,32],"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":"KLend2g3cP87fffoy8q1mQqGKjrxjC8boSyAYavgmjD"},{"name":"obligation","writable":true},{"name":"lending_market"},{"name":"lending_market_authority"},{"name":"reserve","writable":true},{"name":"reserve_liquidity_mint"},{"name":"reserve_liquidity_supply","writable":true},{"name":"reserve_collateral_mint","writable":true},{"name":"reserve_destination_deposit_collateral","writable":true},{"name":"user_source_liquidity","writable":true},{"name":"placeholder_user_destination_collateral","optional":true},{"name":"collateral_token_program"},{"name":"liquidity_token_program"},{"name":"instruction_sysvar_account"},{"name":"obligation_farm_user_state","writable":true,"optional":true},{"name":"reserve_farm_state","writable":true,"optional":true},{"name":"farms_program"}],"args":[{"name":"liquidity_amount","type":"u64"}]},{"name":"kamino_lending_init_obligation","discriminator":[219,210,134,64,155,49,137,174],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","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":"KLend2g3cP87fffoy8q1mQqGKjrxjC8boSyAYavgmjD"},{"name":"fee_payer","writable":true,"signer":true},{"name":"obligation","writable":true},{"name":"lending_market"},{"name":"seed1_account"},{"name":"seed2_account"},{"name":"owner_user_metadata"},{"name":"rent","address":"SysvarRent111111111111111111111111111111111"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"args","type":{"defined":{"name":"InitObligationArgs"}}}]},{"name":"kamino_lending_init_obligation_farms_for_reserve","discriminator":[227,61,130,2,117,226,78,1],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"KLend2g3cP87fffoy8q1mQqGKjrxjC8boSyAYavgmjD"},{"name":"payer","writable":true,"signer":true},{"name":"obligation","writable":true},{"name":"lending_market_authority"},{"name":"reserve","writable":true},{"name":"reserve_farm_state","writable":true},{"name":"obligation_farm","writable":true},{"name":"lending_market"},{"name":"farms_program"},{"name":"rent","address":"SysvarRent111111111111111111111111111111111"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"mode","type":"u8"}]},{"name":"kamino_lending_init_user_metadata","discriminator":[200,95,140,132,190,65,17,161],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"KLend2g3cP87fffoy8q1mQqGKjrxjC8boSyAYavgmjD"},{"name":"fee_payer","writable":true,"signer":true},{"name":"user_metadata","writable":true},{"name":"referrer_user_metadata","optional":true},{"name":"rent","address":"SysvarRent111111111111111111111111111111111"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"user_lookup_table","type":"pubkey"}]},{"name":"kamino_lending_repay_obligation_liquidity_v2","discriminator":[135,57,236,69,153,77,15,88],"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":"KLend2g3cP87fffoy8q1mQqGKjrxjC8boSyAYavgmjD"},{"name":"obligation","writable":true},{"name":"lending_market"},{"name":"repay_reserve","writable":true},{"name":"reserve_liquidity_mint"},{"name":"reserve_destination_liquidity","writable":true},{"name":"user_source_liquidity","writable":true},{"name":"token_program"},{"name":"instruction_sysvar_account"},{"name":"obligation_farm_user_state","writable":true,"optional":true},{"name":"reserve_farm_state","writable":true,"optional":true},{"name":"lending_market_authority"},{"name":"farms_program"}],"args":[{"name":"liquidity_amount","type":"u64"}]},{"name":"kamino_lending_withdraw_obligation_collateral_and_redeem_reserve_collateral_v2","discriminator":[249,60,252,239,136,53,181,3],"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":"KLend2g3cP87fffoy8q1mQqGKjrxjC8boSyAYavgmjD"},{"name":"obligation","writable":true},{"name":"lending_market"},{"name":"lending_market_authority"},{"name":"withdraw_reserve","writable":true},{"name":"reserve_liquidity_mint"},{"name":"reserve_source_collateral","writable":true},{"name":"reserve_collateral_mint","writable":true},{"name":"reserve_liquidity_supply","writable":true},{"name":"user_destination_liquidity","writable":true},{"name":"placeholder_user_destination_collateral","optional":true},{"name":"collateral_token_program"},{"name":"liquidity_token_program"},{"name":"instruction_sysvar_account"},{"name":"obligation_farm_user_state","writable":true,"optional":true},{"name":"reserve_farm_state","writable":true,"optional":true},{"name":"farms_program"}],"args":[{"name":"collateral_amount","type":"u64"}]},{"name":"marinade_claim","discriminator":[54,44,48,204,218,141,36,5],"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":"MarBmsSgKXdrN1egZf5sqe1TMai9K1rChYNDJgjq7aD"},{"name":"state","writable":true},{"name":"reserve_pda","writable":true},{"name":"ticket_account","writable":true},{"name":"clock"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[]},{"name":"marinade_deposit","discriminator":[62,236,248,28,222,232,182,73],"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":"MarBmsSgKXdrN1egZf5sqe1TMai9K1rChYNDJgjq7aD"},{"name":"state","writable":true},{"name":"msol_mint","writable":true},{"name":"liq_pool_sol_leg_pda","writable":true},{"name":"liq_pool_msol_leg","writable":true},{"name":"liq_pool_msol_leg_authority"},{"name":"reserve_pda","writable":true},{"name":"mint_to","writable":true},{"name":"msol_mint_authority"},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"token_program"}],"args":[{"name":"lamports","type":"u64"}]},{"name":"marinade_deposit_stake_account","discriminator":[141,230,58,103,56,205,159,138],"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":"MarBmsSgKXdrN1egZf5sqe1TMai9K1rChYNDJgjq7aD"},{"name":"state","writable":true},{"name":"validator_list","writable":true},{"name":"stake_list","writable":true},{"name":"stake_account","writable":true},{"name":"duplication_flag","writable":true},{"name":"msol_mint","writable":true},{"name":"mint_to","writable":true},{"name":"msol_mint_authority"},{"name":"clock"},{"name":"rent","address":"SysvarRent111111111111111111111111111111111"},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"token_program"},{"name":"stake_program"}],"args":[{"name":"validator_idx","type":"u32"}]},{"name":"marinade_order_unstake","discriminator":[202,3,33,27,183,156,57,231],"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":"MarBmsSgKXdrN1egZf5sqe1TMai9K1rChYNDJgjq7aD"},{"name":"state","writable":true},{"name":"msol_mint","writable":true},{"name":"burn_msol_from","writable":true},{"name":"new_ticket_account","writable":true},{"name":"clock"},{"name":"rent","address":"SysvarRent111111111111111111111111111111111"},{"name":"token_program"}],"args":[{"name":"msol_amount","type":"u64"}]},{"name":"merkle_distributor_new_claim_and_stake","discriminator":[203,167,65,87,208,161,91,207],"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":"DiS3nNjFVMieMgmiQFm6wgJL7nevk4NrhXKLbtEH1Z2R"},{"name":"distributor","writable":true},{"name":"claim_status","writable":true},{"name":"from","writable":true},{"name":"token_program"},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"voter_program"},{"name":"locker","writable":true},{"name":"escrow","writable":true},{"name":"escrow_tokens","writable":true}],"args":[{"name":"amount_unlocked","type":"u64"},{"name":"amount_locked","type":"u64"},{"name":"proof","type":{"vec":{"array":["u8",32]}}}]},{"name":"meteora_dlmm_add_liquidity2","discriminator":[248,123,81,94,137,10,79,81],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo"},{"name":"position","writable":true},{"name":"lb_pair","writable":true},{"name":"bin_array_bitmap_extension","writable":true,"optional":true},{"name":"user_token_x","writable":true},{"name":"user_token_y","writable":true},{"name":"reserve_x","writable":true},{"name":"reserve_y","writable":true},{"name":"token_x_mint"},{"name":"token_y_mint"},{"name":"token_x_program"},{"name":"token_y_program"},{"name":"event_authority"},{"name":"program"}],"args":[{"name":"liquidity_parameter","type":{"defined":{"name":"LiquidityParameter"}}},{"name":"remaining_accounts_info","type":{"defined":{"name":"RemainingAccountsInfo"}}}]},{"name":"meteora_dlmm_add_liquidity_by_strategy2","discriminator":[219,171,159,202,167,192,209,25],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo"},{"name":"position","writable":true},{"name":"lb_pair","writable":true},{"name":"bin_array_bitmap_extension","writable":true,"optional":true},{"name":"user_token_x","writable":true},{"name":"user_token_y","writable":true},{"name":"reserve_x","writable":true},{"name":"reserve_y","writable":true},{"name":"token_x_mint"},{"name":"token_y_mint"},{"name":"token_x_program"},{"name":"token_y_program"},{"name":"event_authority"},{"name":"program"}],"args":[{"name":"liquidity_parameter","type":{"defined":{"name":"LiquidityParameterByStrategy"}}},{"name":"remaining_accounts_info","type":{"defined":{"name":"RemainingAccountsInfo"}}}]},{"name":"meteora_dlmm_add_liquidity_one_side_precise2","discriminator":[60,137,107,235,107,209,19,106],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo"},{"name":"position","writable":true},{"name":"lb_pair","writable":true},{"name":"bin_array_bitmap_extension","writable":true,"optional":true},{"name":"user_token","writable":true},{"name":"reserve","writable":true},{"name":"token_mint"},{"name":"token_program"},{"name":"event_authority"},{"name":"program"}],"args":[{"name":"parameter","type":{"defined":{"name":"AddLiquiditySingleSidePreciseParameter2"}}},{"name":"remaining_accounts_info","type":{"defined":{"name":"RemainingAccountsInfo"}}}]},{"name":"meteora_dlmm_claim_fee2","discriminator":[152,214,221,166,191,34,17,189],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo"},{"name":"lb_pair","writable":true},{"name":"position","writable":true},{"name":"reserve_x","writable":true},{"name":"reserve_y","writable":true},{"name":"user_token_x","writable":true},{"name":"user_token_y","writable":true},{"name":"token_x_mint"},{"name":"token_y_mint"},{"name":"token_program_x"},{"name":"token_program_y"},{"name":"memo_program"},{"name":"event_authority"},{"name":"program"}],"args":[{"name":"min_bin_id","type":"i32"},{"name":"max_bin_id","type":"i32"},{"name":"remaining_accounts_info","type":{"defined":{"name":"RemainingAccountsInfo"}}}]},{"name":"meteora_dlmm_claim_reward2","discriminator":[73,232,244,62,123,103,114,39],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo"},{"name":"lb_pair","writable":true},{"name":"position","writable":true},{"name":"reward_vault","writable":true},{"name":"reward_mint"},{"name":"user_token_account","writable":true},{"name":"token_program"},{"name":"memo_program"},{"name":"event_authority"},{"name":"program"}],"args":[{"name":"reward_index","type":"u64"},{"name":"min_bin_id","type":"i32"},{"name":"max_bin_id","type":"i32"},{"name":"remaining_accounts_info","type":{"defined":{"name":"RemainingAccountsInfo"}}}]},{"name":"meteora_dlmm_close_position","discriminator":[186,117,42,24,221,194,34,143],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","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":"LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo"},{"name":"position","writable":true},{"name":"lb_pair","writable":true},{"name":"bin_array_lower","writable":true},{"name":"bin_array_upper","writable":true},{"name":"rent_receiver","writable":true},{"name":"event_authority"},{"name":"program"}],"args":[]},{"name":"meteora_dlmm_initialize_position","discriminator":[223,94,215,96,175,181,195,204],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","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":"LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo"},{"name":"payer","writable":true,"signer":true},{"name":"position","writable":true,"signer":true},{"name":"lb_pair"},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"rent","address":"SysvarRent111111111111111111111111111111111"},{"name":"event_authority"},{"name":"program"}],"args":[{"name":"lower_bin_id","type":"i32"},{"name":"width","type":"i32"}]},{"name":"meteora_dlmm_initialize_position_pda","discriminator":[206,130,13,156,170,45,96,115],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","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":"LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo"},{"name":"payer","writable":true,"signer":true},{"name":"position","writable":true},{"name":"lb_pair"},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"rent","address":"SysvarRent111111111111111111111111111111111"},{"name":"event_authority"},{"name":"program"}],"args":[{"name":"lower_bin_id","type":"i32"},{"name":"width","type":"i32"}]},{"name":"meteora_dlmm_remove_liquidity2","discriminator":[118,111,170,14,224,187,21,119],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo"},{"name":"position","writable":true},{"name":"lb_pair","writable":true},{"name":"bin_array_bitmap_extension","writable":true,"optional":true},{"name":"user_token_x","writable":true},{"name":"user_token_y","writable":true},{"name":"reserve_x","writable":true},{"name":"reserve_y","writable":true},{"name":"token_x_mint"},{"name":"token_y_mint"},{"name":"token_x_program"},{"name":"token_y_program"},{"name":"memo_program"},{"name":"event_authority"},{"name":"program"}],"args":[{"name":"bin_liquidity_removal","type":{"vec":{"defined":{"name":"BinLiquidityReduction"}}}},{"name":"remaining_accounts_info","type":{"defined":{"name":"RemainingAccountsInfo"}}}]},{"name":"meteora_dlmm_remove_liquidity_by_range2","discriminator":[157,54,138,77,16,239,100,16],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo"},{"name":"position","writable":true},{"name":"lb_pair","writable":true},{"name":"bin_array_bitmap_extension","writable":true,"optional":true},{"name":"user_token_x","writable":true},{"name":"user_token_y","writable":true},{"name":"reserve_x","writable":true},{"name":"reserve_y","writable":true},{"name":"token_x_mint"},{"name":"token_y_mint"},{"name":"token_x_program"},{"name":"token_y_program"},{"name":"memo_program"},{"name":"event_authority"},{"name":"program"}],"args":[{"name":"from_bin_id","type":"i32"},{"name":"to_bin_id","type":"i32"},{"name":"bps_to_remove","type":"u16"},{"name":"remaining_accounts_info","type":{"defined":{"name":"RemainingAccountsInfo"}}}]},{"name":"meteora_dlmm_swap2","discriminator":[95,183,135,4,4,165,65,133],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo"},{"name":"lb_pair","writable":true},{"name":"bin_array_bitmap_extension","optional":true},{"name":"reserve_x","writable":true},{"name":"reserve_y","writable":true},{"name":"user_token_in","writable":true},{"name":"user_token_out","writable":true},{"name":"token_x_mint"},{"name":"token_y_mint"},{"name":"oracle","writable":true},{"name":"host_fee_in","writable":true,"optional":true},{"name":"token_x_program"},{"name":"token_y_program"},{"name":"memo_program"},{"name":"event_authority"},{"name":"program"}],"args":[{"name":"amount_in","type":"u64"},{"name":"min_amount_out","type":"u64"},{"name":"remaining_accounts_info","type":{"defined":{"name":"RemainingAccountsInfo"}}}]},{"name":"meteora_dlmm_swap_with_price_impact2","discriminator":[219,33,50,237,37,101,146,101],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo"},{"name":"lb_pair","writable":true},{"name":"bin_array_bitmap_extension","optional":true},{"name":"reserve_x","writable":true},{"name":"reserve_y","writable":true},{"name":"user_token_in","writable":true},{"name":"user_token_out","writable":true},{"name":"token_x_mint"},{"name":"token_y_mint"},{"name":"oracle","writable":true},{"name":"host_fee_in","writable":true,"optional":true},{"name":"token_x_program"},{"name":"token_y_program"},{"name":"memo_program"},{"name":"event_authority"},{"name":"program"}],"args":[{"name":"amount_in","type":"u64"},{"name":"active_id","type":{"option":"i32"}},{"name":"max_price_impact_bps","type":"u16"},{"name":"remaining_accounts_info","type":{"defined":{"name":"RemainingAccountsInfo"}}}]},{"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":"mint_id","type":"u8"},{"name":"amount","type":"u64"}]},{"name":"price_drift","discriminator":[240,91,209,89,155,0,97,133],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault"},{"name":"signer","writable":true,"signer":true},{"name":"sol_oracle"},{"name":"state"},{"name":"user"},{"name":"user_stats"}],"args":[{"name":"denom","type":{"defined":{"name":"PriceDenom"}}}]},{"name":"price_kamino_obligations","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"}]}},{"name":"glam_signer","writable":true,"signer":true},{"name":"sol_oracle"}],"args":[{"name":"denom","type":{"defined":{"name":"PriceDenom"}}}]},{"name":"price_meteora_positions","discriminator":[186,22,157,249,185,176,253,133],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_signer","writable":true,"signer":true},{"name":"sol_oracle"}],"args":[{"name":"denom","type":{"defined":{"name":"PriceDenom"}}}]},{"name":"price_stakes","discriminator":[0,60,60,103,201,94,72,223],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_signer","writable":true,"signer":true},{"name":"sol_oracle"}],"args":[{"name":"denom","type":{"defined":{"name":"PriceDenom"}}}]},{"name":"price_tickets","discriminator":[253,18,224,98,226,43,65,76],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_signer","writable":true,"signer":true},{"name":"sol_oracle"}],"args":[{"name":"denom","type":{"defined":{"name":"PriceDenom"}}}]},{"name":"price_vault","discriminator":[47,213,36,17,183,5,141,45],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_signer","writable":true,"signer":true},{"name":"sol_oracle"}],"args":[{"name":"denom","type":{"defined":{"name":"PriceDenom"}}}]},{"name":"queued_redeem","discriminator":[82,242,202,93,170,196,215,113],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_escrow","pda":{"seeds":[{"kind":"const","value":[101,115,99,114,111,119]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_mint","writable":true},{"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":"mint_id","type":"u8"},{"name":"shares_in","type":"u64"}]},{"name":"queued_subscribe","discriminator":[107,180,212,63,146,0,159,255],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_escrow","pda":{"seeds":[{"kind":"const","value":[101,115,99,114,111,119]},{"kind":"account","path":"glam_state"}]}},{"name":"signer","writable":true,"signer":true},{"name":"deposit_asset"},{"name":"escrow_deposit_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"glam_escrow"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"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":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"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":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"}],"args":[{"name":"mint_id","type":"u8"},{"name":"amount_in","type":"u64"}]},{"name":"set_redemption_paused","discriminator":[226,152,104,42,1,53,196,240],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_mint"},{"name":"glam_signer","writable":true,"signer":true}],"args":[{"name":"mint_id","type":"u8"},{"name":"paused","type":"bool"}]},{"name":"set_subscription_paused","discriminator":[220,144,129,4,136,251,85,234],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_mint"},{"name":"glam_signer","writable":true,"signer":true}],"args":[{"name":"mint_id","type":"u8"},{"name":"paused","type":"bool"}]},{"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":"mint_id","type":"u8"},{"name":"frozen","type":"bool"}]},{"name":"stake_authorize","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_with_withdrawer","type":"u32"}]},{"name":"stake_deactivate","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","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","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","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_move_lamports","discriminator":[21,85,218,122,182,189,82,200],"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":"source_stake","writable":true},{"name":"destination_stake","writable":true}],"args":[{"name":"lamports","type":"u64"}]},{"name":"stake_move_stake","discriminator":[9,190,67,62,46,251,144,186],"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":"source_stake","writable":true},{"name":"destination_stake","writable":true}],"args":[{"name":"lamports","type":"u64"}]},{"name":"stake_pool_deposit_sol","discriminator":[147,187,91,151,158,187,247,79],"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":"stake_pool","writable":true},{"name":"stake_pool_withdraw_authority"},{"name":"reserve_stake","writable":true},{"name":"pool_tokens_to","writable":true},{"name":"fee_account","writable":true},{"name":"referrer_pool_tokens_account","writable":true},{"name":"pool_mint","writable":true},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"token_program"}],"args":[{"name":"lamports_in","type":"u64"}]},{"name":"stake_pool_deposit_sol_with_slippage","discriminator":[57,21,43,19,86,36,25,172],"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":"stake_pool","writable":true},{"name":"stake_pool_withdraw_authority"},{"name":"reserve_stake","writable":true},{"name":"pool_tokens_to","writable":true},{"name":"fee_account","writable":true},{"name":"referrer_pool_tokens_account","writable":true},{"name":"pool_mint","writable":true},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"token_program"}],"args":[{"name":"lamports_in","type":"u64"},{"name":"minimum_pool_tokens_out","type":"u64"}]},{"name":"stake_pool_deposit_stake","discriminator":[212,158,195,174,179,105,9,97],"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":"stake_pool","writable":true},{"name":"validator_list","writable":true},{"name":"stake_pool_withdraw_authority"},{"name":"deposit_stake","writable":true},{"name":"validator_stake_account","writable":true},{"name":"reserve_stake_account","writable":true},{"name":"pool_tokens_to","writable":true},{"name":"fee_account","writable":true},{"name":"referrer_pool_tokens_account","writable":true},{"name":"pool_mint","writable":true},{"name":"clock","address":"SysvarC1ock11111111111111111111111111111111"},{"name":"stake_history","address":"SysvarStakeHistory1111111111111111111111111"},{"name":"token_program"},{"name":"stake_program","address":"Stake11111111111111111111111111111111111111"}],"args":[]},{"name":"stake_pool_deposit_stake_with_slippage","discriminator":[185,104,64,97,108,243,239,165],"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":"stake_pool","writable":true},{"name":"validator_list","writable":true},{"name":"stake_pool_withdraw_authority"},{"name":"deposit_stake","writable":true},{"name":"validator_stake_account","writable":true},{"name":"reserve_stake_account","writable":true},{"name":"pool_tokens_to","writable":true},{"name":"fee_account","writable":true},{"name":"referrer_pool_tokens_account","writable":true},{"name":"pool_mint","writable":true},{"name":"clock","address":"SysvarC1ock11111111111111111111111111111111"},{"name":"stake_history","address":"SysvarStakeHistory1111111111111111111111111"},{"name":"token_program"},{"name":"stake_program","address":"Stake11111111111111111111111111111111111111"}],"args":[{"name":"minimum_pool_tokens_out","type":"u64"}]},{"name":"stake_pool_withdraw_sol","discriminator":[179,100,204,0,192,46,233,181],"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"},{"name":"stake_pool","writable":true},{"name":"stake_pool_withdraw_authority"},{"name":"pool_tokens_from","writable":true},{"name":"reserve_stake","writable":true},{"name":"fee_account","writable":true},{"name":"pool_mint","writable":true},{"name":"clock","address":"SysvarC1ock11111111111111111111111111111111"},{"name":"stake_history","address":"SysvarStakeHistory1111111111111111111111111"},{"name":"stake_program","address":"Stake11111111111111111111111111111111111111"},{"name":"token_program"}],"args":[{"name":"pool_tokens_in","type":"u64"}]},{"name":"stake_pool_withdraw_sol_with_slippage","discriminator":[210,92,86,93,123,17,117,89],"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"},{"name":"stake_pool","writable":true},{"name":"stake_pool_withdraw_authority"},{"name":"pool_tokens_from","writable":true},{"name":"reserve_stake","writable":true},{"name":"fee_account","writable":true},{"name":"pool_mint","writable":true},{"name":"clock","address":"SysvarC1ock11111111111111111111111111111111"},{"name":"stake_history","address":"SysvarStakeHistory1111111111111111111111111"},{"name":"stake_program","address":"Stake11111111111111111111111111111111111111"},{"name":"token_program"}],"args":[{"name":"pool_tokens_in","type":"u64"},{"name":"minimum_lamports_out","type":"u64"}]},{"name":"stake_pool_withdraw_stake","discriminator":[7,70,250,22,49,1,143,1],"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":"stake_pool","writable":true},{"name":"validator_list","writable":true},{"name":"stake_pool_withdraw_authority"},{"name":"validator_stake_account","writable":true},{"name":"stake","writable":true},{"name":"pool_tokens_from","writable":true},{"name":"fee_account","writable":true},{"name":"pool_mint","writable":true},{"name":"clock","address":"SysvarC1ock11111111111111111111111111111111"},{"name":"token_program"},{"name":"stake_program","address":"Stake11111111111111111111111111111111111111"}],"args":[{"name":"pool_tokens_in","type":"u64"}]},{"name":"stake_pool_withdraw_stake_with_slippage","discriminator":[74,83,151,22,32,149,154,141],"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":"stake_pool","writable":true},{"name":"validator_list","writable":true},{"name":"stake_pool_withdraw_authority"},{"name":"validator_stake_account","writable":true},{"name":"stake","writable":true},{"name":"pool_tokens_from","writable":true},{"name":"fee_account","writable":true},{"name":"pool_mint","writable":true},{"name":"clock","address":"SysvarC1ock11111111111111111111111111111111"},{"name":"token_program"},{"name":"stake_program","address":"Stake11111111111111111111111111111111111111"}],"args":[{"name":"pool_tokens_in","type":"u64"},{"name":"minimum_lamports_out","type":"u64"}]},{"name":"stake_redelegate","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","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","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"}],"args":[{"name":"lamports","type":"u64"}]},{"name":"subscribe","discriminator":[254,28,191,138,156,179,183,53],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_escrow","pda":{"seeds":[{"kind":"const","value":[101,115,99,114,111,119]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_vault","pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_mint","writable":true},{"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":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"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":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"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":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"token_2022_program","address":"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{"name":"policies_program","address":"po1iCYakK3gHCLbuju4wGzFowTMpAJxkqK1iwUqMonY"}],"args":[{"name":"mint_id","type":"u8"},{"name":"amount_in","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_close_account","discriminator":[240,32,179,154,96,110,43,79],"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"},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"token_account","writable":true}],"args":[]},{"name":"token_transfer","discriminator":[210,16,52,5,247,164,59,18],"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"},{"name":"from","writable":true},{"name":"to","writable":true}],"args":[{"name":"lamports","type":"u64"}]},{"name":"token_transfer_checked","discriminator":[169,178,117,156,169,191,199,116],"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"},{"name":"from","writable":true},{"name":"mint"},{"name":"to","writable":true}],"args":[{"name":"lamports","type":"u64"},{"name":"decimals","type":"u8"}]},{"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":"token_2022_program","address":"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"}],"args":[{"name":"mint_id","type":"u8"},{"name":"mint_model","type":{"defined":{"name":"MintModel"}}}]},{"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":"withdraw","discriminator":[183,18,70,156,148,109,161,34],"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":"asset"},{"name":"vault_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"glam_vault"},{"kind":"account","path":"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":"signer_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"glam_signer"},{"kind":"account","path":"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":"token_program"}],"args":[{"name":"amount","type":"u64"}]}],"accounts":[{"name":"OpenfundsMetadataAccount","discriminator":[5,89,20,76,255,158,209,219]},{"name":"StateAccount","discriminator":[142,247,54,95,85,133,249,103]}],"errors":[{"code":48000,"name":"NotAuthorized","msg":"Signer is not authorized"},{"code":48001,"name":"IntegrationDisabled","msg":"Integration is disabled"},{"code":48002,"name":"StateAccountDisabled","msg":"State account is disabled"},{"code":48003,"name":"InvalidSignerAccount","msg":"Invalid signer token account"},{"code":49000,"name":"InvalidAccountType","msg":"Invalid account type"},{"code":49001,"name":"InvalidName","msg":"Name too long: max 64 chars"},{"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":"GlamMintNotFound","msg":"Glam mint not found"},{"code":49006,"name":"CannotCloseState","msg":"Glam state cannot be closed, all mints must be closed first"},{"code":49007,"name":"InvalidMintId","msg":"Invalid mint id"},{"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":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":"InvalidTokenAccount","msg":"Invalid token account"},{"code":50005,"name":"InvalidVoteSide","msg":"Invalid vote side"},{"code":50006,"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":51002,"name":"ActionPaused","msg":"Requested action is paused"},{"code":51003,"name":"InvalidAsset","msg":"Asset not allowed to subscribe"},{"code":51004,"name":"LedgerNotFound","msg":"Ledger not found"},{"code":51005,"name":"InvalidLedgerEntry","msg":"Invalid ledger entry"},{"code":51006,"name":"InvalidAmount","msg":"Invalid amount for subscription or redemption"},{"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":"ExternalAccountsNotPriced","msg":"Not all external vault accounts are priced"},{"code":51104,"name":"VaultAssetsNotPriced","msg":"Not all vault assets are priced"},{"code":51105,"name":"VaultNotPriced","msg":"No priced assets found"},{"code":51106,"name":"PositiveAumRequired","msg":"AUM must be positive"},{"code":51107,"name":"MathError","msg":"Math error"},{"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":"Mint"},{"name":"Fund"}]}},{"name":"AccountsType","type":{"kind":"enum","variants":[{"name":"TransferHookX"},{"name":"TransferHookY"},{"name":"TransferHookReward"}]}},{"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":"AddLiquiditySingleSidePreciseParameter2","type":{"kind":"struct","fields":[{"name":"bins","type":{"vec":{"defined":{"name":"CompressedBinDepositAmount"}}}},{"name":"decompress_multiplier","type":"u64"},{"name":"max_amount","type":"u64"}]}},{"name":"BinLiquidityDistribution","type":{"kind":"struct","fields":[{"name":"bin_id","type":"i32"},{"name":"distribution_x","type":"u16"},{"name":"distribution_y","type":"u16"}]}},{"name":"BinLiquidityReduction","type":{"kind":"struct","fields":[{"name":"bin_id","type":"i32"},{"name":"bps_to_remove","type":"u16"}]}},{"name":"CompanyField","type":{"kind":"struct","fields":[{"name":"name","type":{"defined":{"name":"CompanyFieldName"}}},{"name":"value","type":"string"}]}},{"name":"CompanyFieldName","type":{"kind":"enum","variants":[{"name":"FundGroupName"},{"name":"ManCo"},{"name":"DomicileOfManCo"},{"name":"BICOfCustodian"},{"name":"CollateralManagerName"},{"name":"CustodianBankName"},{"name":"DomicileOfCustodianBank"},{"name":"FundAdministratorName"},{"name":"FundAdvisorName"},{"name":"FundPromoterName"},{"name":"IsSelfManagedInvestmentCompany"},{"name":"LEIOfCustodianBank"},{"name":"LEIOfManCo"},{"name":"PortfolioManagingCompanyName"},{"name":"SecuritiesLendingCounterpartyName"},{"name":"SwapCounterpartyName"},{"name":"AddressofManCo"},{"name":"AuditorName"},{"name":"CityofManCo"},{"name":"EmailAddressOfManCo"},{"name":"FundWebsiteOfManCo"},{"name":"IsUNPRISignatory"},{"name":"PhoneCountryCodeofManCo"},{"name":"PhoneNumberofManCo"},{"name":"SubInvestmentAdvisorName"},{"name":"ZIPCodeofManCo"},{"name":"DomicileOfUmbrella"},{"name":"HasUmbrella"},{"name":"LEIOfUmbrella"},{"name":"Umbrella"},{"name":"GlobalIntermediaryIdentificationNumberOfUmbrella"}]}},{"name":"CompanyModel","type":{"kind":"struct","fields":[{"name":"fund_group_name","type":{"option":"string"}},{"name":"man_co","type":{"option":"string"}},{"name":"domicile_of_man_co","type":{"option":"string"}},{"name":"email_address_of_man_co","type":{"option":"string"}},{"name":"fund_website_of_man_co","type":{"option":"string"}}]}},{"name":"CompressedBinDepositAmount","type":{"kind":"struct","fields":[{"name":"bin_id","type":"i32"},{"name":"amount","type":"u32"}]}},{"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":"permissions","type":{"vec":{"defined":{"name":"Permission"}}}},{"name":"expires_at","type":"i64"}]}},{"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":"Allowlist"},{"name":"Blocklist"},{"name":"ExternalVaultAccounts"},{"name":"LockUp"},{"name":"DriftMarketIndexesPerp"},{"name":"DriftMarketIndexesSpot"},{"name":"DriftOrderTypes"},{"name":"MaxSwapSlippageBps"},{"name":"TransferToAllowlist"},{"name":"PricedAssets"},{"name":"BaseAsset"},{"name":"MaxCap"},{"name":"MinSubscription"},{"name":"MinRedemption"},{"name":"Valuation"},{"name":"Ledger"},{"name":"FeeStructure"},{"name":"FeeParams"},{"name":"ClaimableFees"},{"name":"ClaimedFees"},{"name":"SubscriptionPaused"},{"name":"RedemptionPaused"}]}},{"name":"EngineFieldValue","type":{"kind":"enum","variants":[{"name":"Boolean","fields":[{"name":"val","type":"bool"}]},{"name":"Date","fields":[{"name":"val","type":"string"}]},{"name":"Double","fields":[{"name":"val","type":"i64"}]},{"name":"Integer","fields":[{"name":"val","type":"i32"}]},{"name":"String","fields":[{"name":"val","type":"string"}]},{"name":"Time","fields":[{"name":"val","type":"string"}]},{"name":"U8","fields":[{"name":"val","type":"u8"}]},{"name":"U64","fields":[{"name":"val","type":"u64"}]},{"name":"Pubkey","fields":[{"name":"val","type":"pubkey"}]},{"name":"Percentage","fields":[{"name":"val","type":"u32"}]},{"name":"URI","fields":[{"name":"val","type":"string"}]},{"name":"Timestamp","fields":[{"name":"val","type":"i64"}]},{"name":"VecPubkey","fields":[{"name":"val","type":{"vec":"pubkey"}}]},{"name":"VecU32","fields":[{"name":"val","type":{"vec":"u32"}}]},{"name":"VecPricedAssets","fields":[{"name":"val","type":{"vec":{"defined":{"name":"PricedAssets"}}}}]},{"name":"Ledger","fields":[{"name":"val","type":{"vec":{"defined":{"name":"LedgerEntry"}}}}]},{"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":"Valuation","fields":[{"name":"val","type":{"defined":{"name":"Valuation"}}}]}]}},{"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":"FundField","type":{"kind":"struct","fields":[{"name":"name","type":{"defined":{"name":"FundFieldName"}}},{"name":"value","type":"string"}]}},{"name":"FundFieldName","type":{"kind":"enum","variants":[{"name":"FundDomicileAlpha2"},{"name":"FundDomicileAlpha3"},{"name":"LegalFundNameIncludingUmbrella"},{"name":"FiscalYearEnd"},{"name":"FundCurrency"},{"name":"FundLaunchDate"},{"name":"InvestmentObjective"},{"name":"IsETC"},{"name":"IsEUDirectiveRelevant"},{"name":"IsFundOfFunds"},{"name":"IsPassiveFund"},{"name":"IsREIT"},{"name":"LegalForm"},{"name":"LegalFundNameOnly"},{"name":"OpenEndedOrClosedEndedFundStructure"},{"name":"TypeOfEUDirective"},{"name":"UCITSVersion"},{"name":"CurrencyHedgePortfolio"},{"name":"DepositoryName"},{"name":"FundValuationPoint"},{"name":"FundValuationPointTimeZone"},{"name":"FundValuationPointTimeZoneUsingTZDatabase"},{"name":"HasCollateralManager"},{"name":"HasEmbeddedDerivatives"},{"name":"HasSecuritiesLending"},{"name":"HasSwap"},{"name":"IsLeveraged"},{"name":"IsShariaCompliant"},{"name":"IsShort"},{"name":"LEIofDepositoryBank"},{"name":"LEIOfFund"},{"name":"LocationOfBearerShare"},{"name":"LocationOfShareRegister"},{"name":"MaximumLeverageInFund"},{"name":"MiFIDSecuritiesClassification"},{"name":"MoneyMarketTypeOfFund"},{"name":"TrusteeName"},{"name":"AuMFund"},{"name":"AuMFundDate"},{"name":"NoSFund"},{"name":"NoSFundDate"}]}},{"name":"FundManagerField","type":{"kind":"struct","fields":[{"name":"name","type":{"defined":{"name":"FundManagerFieldName"}}},{"name":"value","type":"string"}]}},{"name":"FundManagerFieldName","type":{"kind":"enum","variants":[{"name":"PortfolioManagerForename"},{"name":"PortfolioManagerName"},{"name":"PortfolioManagerYearOfBirth"},{"name":"PortfolioManagerYearOfExperienceStart"},{"name":"PortfolioManagerBriefBiography"},{"name":"PortfolioManagerType"},{"name":"PortfolioManagerRoleStartingDate"},{"name":"PortfolioManagerRoleEndDate"}]}},{"name":"FundOpenfundsModel","type":{"kind":"struct","fields":[{"name":"fund_domicile_alpha_2","type":{"option":"string"}},{"name":"legal_fund_name_including_umbrella","type":{"option":"string"}},{"name":"fiscal_year_end","type":{"option":"string"}},{"name":"fund_currency","type":{"option":"string"}},{"name":"fund_launch_date","type":{"option":"string"}},{"name":"investment_objective","type":{"option":"string"}},{"name":"is_etc","type":{"option":"bool"}},{"name":"is_eu_directive_relevant","type":{"option":"bool"}},{"name":"is_fund_of_funds","type":{"option":"bool"}},{"name":"is_passive_fund","type":{"option":"bool"}},{"name":"is_reit","type":{"option":"bool"}},{"name":"legal_form","type":{"option":"string"}},{"name":"legal_fund_name_only","type":{"option":"string"}},{"name":"open_ended_or_closed_ended_fund_structure","type":{"option":"string"}},{"name":"type_of_eu_directive","type":{"option":"string"}},{"name":"ucits_version","type":{"option":"string"}}]}},{"name":"HurdleType","type":{"kind":"enum","variants":[{"name":"Hard"},{"name":"Soft"}]}},{"name":"InitObligationArgs","type":{"kind":"struct","fields":[{"name":"tag","type":"u8"},{"name":"id","type":"u8"}]}},{"name":"Integration","type":{"kind":"enum","variants":[{"name":"Drift"},{"name":"SplStakePool"},{"name":"SanctumStakePool"},{"name":"NativeStaking"},{"name":"Marinade"},{"name":"JupiterSwap"},{"name":"JupiterVote"},{"name":"KaminoLending"},{"name":"MeteoraDlmm"}]}},{"name":"LedgerEntry","type":{"kind":"struct","fields":[{"name":"user","type":"pubkey"},{"name":"created_at","type":"u64"},{"name":"fulfilled_at","type":"u64"},{"name":"time_unit","type":{"defined":{"name":"TimeUnit"}}},{"name":"kind","type":{"defined":{"name":"LedgerEntryKind"}}},{"name":"incoming","type":{"defined":{"name":"PubkeyAmount"}}},{"name":"value","type":"u64"},{"name":"outgoing","type":{"option":{"defined":{"name":"PubkeyAmount"}}}}]}},{"name":"LedgerEntryKind","type":{"kind":"enum","variants":[{"name":"Subscription"},{"name":"Redemption"}]}},{"name":"LiquidityParameter","type":{"kind":"struct","fields":[{"name":"amount_x","type":"u64"},{"name":"amount_y","type":"u64"},{"name":"bin_liquidity_dist","type":{"vec":{"defined":{"name":"BinLiquidityDistribution"}}}}]}},{"name":"LiquidityParameterByStrategy","type":{"kind":"struct","fields":[{"name":"amount_x","type":"u64"},{"name":"amount_y","type":"u64"},{"name":"active_id","type":"i32"},{"name":"max_active_bin_slippage","type":"i32"},{"name":"strategy_parameters","type":{"defined":{"name":"StrategyParameters"}}}]}},{"name":"ManagementFee","type":{"kind":"struct","fields":[{"name":"fee_bps","type":"u16"}]}},{"name":"ManagerKind","type":{"kind":"enum","variants":[{"name":"Wallet"},{"name":"Squads"}]}},{"name":"ManagerModel","type":{"kind":"struct","fields":[{"name":"portfolio_manager_name","type":{"option":"string"}},{"name":"pubkey","type":{"option":"pubkey"}},{"name":"kind","type":{"option":{"defined":{"name":"ManagerKind"}}}}]}},{"name":"MarketType","type":{"kind":"enum","variants":[{"name":"Spot"},{"name":"Perp"}]}},{"name":"Metadata","type":{"kind":"struct","fields":[{"name":"template","type":{"defined":{"name":"MetadataTemplate"}}},{"name":"pubkey","type":"pubkey"},{"name":"uri","type":"string"}]}},{"name":"MetadataTemplate","type":{"kind":"enum","variants":[{"name":"Openfunds"}]}},{"name":"MintModel","type":{"kind":"struct","fields":[{"name":"symbol","type":{"option":"string"}},{"name":"name","type":{"option":"string"}},{"name":"uri","type":{"option":"string"}},{"name":"state_pubkey","type":{"option":"pubkey"}},{"name":"asset","type":{"option":"pubkey"}},{"name":"image_uri","type":{"option":"string"}},{"name":"allowlist","type":{"option":{"vec":"pubkey"}}},{"name":"blocklist","type":{"option":{"vec":"pubkey"}}},{"name":"lock_up_period_in_seconds","type":{"option":"i32"}},{"name":"permanent_delegate","type":{"option":"pubkey"}},{"name":"default_account_state_frozen","type":{"option":"bool"}},{"name":"fee_structure","type":{"option":{"defined":{"name":"FeeStructure"}}}},{"name":"fee_params","type":{"option":{"defined":{"name":"FeeParams"}}}},{"name":"valuation","type":{"option":{"defined":{"name":"Valuation"}}}},{"name":"min_subscription","type":{"option":"u64"}},{"name":"min_redemption","type":{"option":"u64"}},{"name":"is_raw_openfunds","type":{"option":"bool"}},{"name":"raw_openfunds","type":{"option":{"defined":{"name":"MintOpenfundsModel"}}}}]}},{"name":"MintOpenfundsModel","type":{"kind":"struct","fields":[{"name":"isin","type":{"option":"string"}},{"name":"share_class_currency","type":{"option":"string"}},{"name":"full_share_class_name","type":{"option":"string"}},{"name":"has_performance_fee","type":{"option":"bool"}},{"name":"investment_status","type":{"option":"string"}},{"name":"minimal_initial_subscription_in_amount","type":{"option":"string"}},{"name":"minimal_initial_subscription_in_shares","type":{"option":"string"}},{"name":"minimal_subsequent_subscription_in_amount","type":{"option":"string"}},{"name":"minimal_subsequent_subscription_in_shares","type":{"option":"string"}},{"name":"share_class_launch_date","type":{"option":"string"}},{"name":"share_class_lifecycle","type":{"option":"string"}},{"name":"launch_price","type":{"option":"string"}},{"name":"launch_price_currency","type":{"option":"string"}},{"name":"launch_price_date","type":{"option":"string"}},{"name":"has_lock_up_for_redemption","type":{"option":"bool"}},{"name":"lock_up_comment","type":{"option":"string"}},{"name":"lock_up_period_in_days","type":{"option":"string"}},{"name":"minimal_initial_redemption_in_amount","type":{"option":"string"}},{"name":"minimal_initial_redemption_in_shares","type":{"option":"string"}},{"name":"minimal_subsequent_redemption_in_amount","type":{"option":"string"}},{"name":"minimal_subsequent_redemption_in_shares","type":{"option":"string"}},{"name":"rounding_method_for_prices","type":{"option":"string"}},{"name":"cusip","type":{"option":"string"}},{"name":"valor","type":{"option":"string"}}]}},{"name":"ModifyOrderParams","type":{"kind":"struct","fields":[{"name":"direction","type":{"option":{"defined":{"name":"PositionDirection"}}}},{"name":"base_asset_amount","type":{"option":"u64"}},{"name":"price","type":{"option":"u64"}},{"name":"reduce_only","type":{"option":"bool"}},{"name":"post_only","type":{"option":{"defined":{"name":"PostOnlyParam"}}}},{"name":"immediate_or_cancel","type":{"option":"bool"}},{"name":"max_ts","type":{"option":"i64"}},{"name":"trigger_price","type":{"option":"u64"}},{"name":"trigger_condition","type":{"option":{"defined":{"name":"OrderTriggerCondition"}}}},{"name":"oracle_price_offset","type":{"option":"i32"}},{"name":"auction_duration","type":{"option":"u8"}},{"name":"auction_start_price","type":{"option":"i64"}},{"name":"auction_end_price","type":{"option":"i64"}},{"name":"policy","type":{"option":"u8"}}]}},{"name":"NoticePeriodType","type":{"kind":"enum","variants":[{"name":"Hard"},{"name":"Soft"}]}},{"name":"OpenfundsMetadataAccount","type":{"kind":"struct","fields":[{"name":"fund_id","type":"pubkey"},{"name":"company","type":{"vec":{"defined":{"name":"CompanyField"}}}},{"name":"fund","type":{"vec":{"defined":{"name":"FundField"}}}},{"name":"share_classes","type":{"vec":{"vec":{"defined":{"name":"ShareClassField"}}}}},{"name":"fund_managers","type":{"vec":{"vec":{"defined":{"name":"FundManagerField"}}}}}]}},{"name":"OrderParams","type":{"kind":"struct","fields":[{"name":"order_type","type":{"defined":{"name":"OrderType"}}},{"name":"market_type","type":{"defined":{"name":"MarketType"}}},{"name":"direction","type":{"defined":{"name":"PositionDirection"}}},{"name":"user_order_id","type":"u8"},{"name":"base_asset_amount","type":"u64"},{"name":"price","type":"u64"},{"name":"market_index","type":"u16"},{"name":"reduce_only","type":"bool"},{"name":"post_only","type":{"defined":{"name":"PostOnlyParam"}}},{"name":"immediate_or_cancel","type":"bool"},{"name":"max_ts","type":{"option":"i64"}},{"name":"trigger_price","type":{"option":"u64"}},{"name":"trigger_condition","type":{"defined":{"name":"OrderTriggerCondition"}}},{"name":"oracle_price_offset","type":{"option":"i32"}},{"name":"auction_duration","type":{"option":"u8"}},{"name":"auction_start_price","type":{"option":"i64"}},{"name":"auction_end_price","type":{"option":"i64"}}]}},{"name":"OrderTriggerCondition","type":{"kind":"enum","variants":[{"name":"Above"},{"name":"Below"},{"name":"TriggeredAbove"},{"name":"TriggeredBelow"}]}},{"name":"OrderType","type":{"kind":"enum","variants":[{"name":"Market"},{"name":"Limit"},{"name":"TriggerMarket"},{"name":"TriggerLimit"},{"name":"Oracle"}]}},{"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":"Permission","docs":["* Delegate ACL"],"type":{"kind":"enum","variants":[{"name":"DriftInit"},{"name":"DriftUpdateUser"},{"name":"DriftDeleteUser"},{"name":"DriftDeposit"},{"name":"DriftWithdraw"},{"name":"DriftOrders"},{"name":"DriftBorrow"},{"name":"DriftPerpMarket"},{"name":"DriftSpotMarket"},{"name":"Stake"},{"name":"Unstake"},{"name":"__DeprecatedLiquidUnstake"},{"name":"JupiterSwapAllowlisted"},{"name":"JupiterSwapAny"},{"name":"WSol"},{"name":"__DeprecatedWSolUnwrap"},{"name":"MintMintTokens"},{"name":"MintBurnTokens"},{"name":"MintForceTransferTokens"},{"name":"MintSetTokenAccountState"},{"name":"JupiterGovStake"},{"name":"JupiterGovVoteOnProposal"},{"name":"JupiterGovUnstake"},{"name":"JupiterSwapLst"},{"name":"JupiterSwapPriceable"},{"name":"KaminoInit"},{"name":"KaminoDeposit"},{"name":"KaminoBorrow"},{"name":"KaminoWithdraw"},{"name":"KaminoClaim"},{"name":"MeteoraDlmmPosition"},{"name":"MeteoraDlmmLiquidity"},{"name":"MeteoraDlmmClaim"},{"name":"MeteoraDlmmSwap"},{"name":"TransferToAllowlisted"},{"name":"JupiterGovWithdraw"},{"name":"JupiterGovClaim"}]}},{"name":"PositionDirection","type":{"kind":"enum","variants":[{"name":"Long"},{"name":"Short"}]}},{"name":"PostOnlyParam","type":{"kind":"enum","variants":[{"name":"None"},{"name":"MustPostOnly"},{"name":"TryPostOnly"},{"name":"Slide"}]}},{"name":"PriceDenom","type":{"kind":"enum","variants":[{"name":"SOL"},{"name":"USD"},{"name":"ASSET6"}]}},{"name":"PricedAssets","type":{"kind":"struct","fields":[{"name":"denom","type":{"defined":{"name":"PriceDenom"}}},{"name":"accounts","type":{"vec":"pubkey"}},{"name":"rent","type":"u64"},{"name":"amount","type":"i128"},{"name":"decimals","type":"u8"},{"name":"last_updated_slot","type":"u64"},{"name":"integration","type":{"option":{"defined":{"name":"Integration"}}}}]}},{"name":"ProtocolFees","type":{"kind":"struct","fields":[{"name":"base_fee_bps","type":"u16"},{"name":"flow_fee_bps","type":"u16"}]}},{"name":"PubkeyAmount","type":{"kind":"struct","fields":[{"name":"pubkey","type":"pubkey"},{"name":"amount","type":"u64"},{"name":"decimals","type":"u8"}]}},{"name":"RemainingAccountsInfo","type":{"kind":"struct","fields":[{"name":"slices","type":{"vec":{"defined":{"name":"RemainingAccountsSlice"}}}}]}},{"name":"RemainingAccountsSlice","type":{"kind":"struct","fields":[{"name":"accounts_type","type":{"defined":{"name":"AccountsType"}}},{"name":"length","type":"u8"}]}},{"name":"SettlePnlMode","type":{"kind":"enum","variants":[{"name":"MustSettle"},{"name":"TrySettle"}]}},{"name":"ShareClassField","type":{"kind":"struct","fields":[{"name":"name","type":{"defined":{"name":"ShareClassFieldName"}}},{"name":"value","type":"string"}]}},{"name":"ShareClassFieldName","type":{"kind":"enum","variants":[{"name":"ISIN"},{"name":"ShareClassCurrency"},{"name":"AppliedSubscriptionFeeInFavourOfDistributor"},{"name":"AppliedSubscriptionFeeInFavourOfDistributorReferenceDate"},{"name":"CurrencyOfMinimalSubscription"},{"name":"FullShareClassName"},{"name":"HasPerformanceFee"},{"name":"HasSubscriptionFeeInFavourOfDistributor"},{"name":"InvestmentStatus"},{"name":"ManagementFeeApplied"},{"name":"ManagementFeeAppliedReferenceDate"},{"name":"ManagementFeeMaximum"},{"name":"MaximumSubscriptionFeeInFavourOfDistributor"},{"name":"MinimalInitialSubscriptionCategory"},{"name":"MinimalInitialSubscriptionInAmount"},{"name":"MinimalInitialSubscriptionInShares"},{"name":"MinimalSubsequentSubscriptionCategory"},{"name":"MinimalSubsequentSubscriptionInAmount"},{"name":"MinimalSubsequentSubscriptionInShares"},{"name":"MinimumSubscriptionFeeInFavourOfDistributor"},{"name":"ShareClassDistributionPolicy"},{"name":"ShareClassExtension"},{"name":"ShareClassLaunchDate"},{"name":"ShareClassLifecycle"},{"name":"SRRI"},{"name":"LaunchPrice"},{"name":"LaunchPriceCurrency"},{"name":"LaunchPriceDate"},{"name":"HasAppliedSubscriptionFeeInFavourOfFund"},{"name":"AppliedSubscriptionFeeInFavourOfFund"},{"name":"AppliedSubscriptionFeeInFavourOfFundReferenceDate"},{"name":"MaximumSubscriptionFeeInFavourOfFund"},{"name":"HasAppliedRedemptionFeeInFavourOfFund"},{"name":"AppliedRedemptionFeeInFavourOfFund"},{"name":"AppliedRedemptionFeeInFavourOfFundReferenceDate"},{"name":"MaximumRedemptionFeeInFavourOfFund"},{"name":"AppliedRedemptionFeeInFavourOfDistributor"},{"name":"AppliedRedemptionFeeInFavourOfDistributorReferenceDate"},{"name":"CurrencyOfMinimalOrMaximumRedemption"},{"name":"CutOffDateOffsetForRedemption"},{"name":"CutOffDateOffsetForSubscription"},{"name":"CutOffTimeForRedemption"},{"name":"CutOffTimeForSubscription"},{"name":"HasLockUpForRedemption"},{"name":"HasRedemptionFeeInFavourOfDistributor"},{"name":"IsValidISIN"},{"name":"LockUpComment"},{"name":"LockUpPeriodInDays"},{"name":"ManagementFeeMinimum"},{"name":"MaximalNumberOfPossibleDecimalsAmount"},{"name":"MaximalNumberOfPossibleDecimalsNAV"},{"name":"MaximalNumberOfPossibleDecimalsShares"},{"name":"MaximumInitialRedemptionInAmount"},{"name":"MaximumInitialRedemptionInShares"},{"name":"MaximumRedemptionFeeInFavourOfDistributor"},{"name":"MaximumSubsequentRedemptionInAmount"},{"name":"MaximumSubsequentRedemptionInShares"},{"name":"MinimalInitialRedemptionInAmount"},{"name":"MinimalInitialRedemptionInShares"},{"name":"MinimalRedemptionCategory"},{"name":"MinimalSubsequentRedemptionInAmount"},{"name":"MinimalSubsequentRedemptionInShares"},{"name":"MinimumRedemptionFeeInFavourOfDistributor"},{"name":"MinimumRedemptionFeeInFavourOfFund"},{"name":"MinimumSubscriptionFeeInFavourOfFund"},{"name":"PerformanceFeeMinimum"},{"name":"RoundingMethodForPrices"},{"name":"RoundingMethodForRedemptionInAmount"},{"name":"RoundingMethodForRedemptionInShares"},{"name":"RoundingMethodForSubscriptionInAmount"},{"name":"RoundingMethodForSubscriptionInShares"},{"name":"ShareClassDividendType"},{"name":"CUSIP"},{"name":"Valor"},{"name":"FundId"},{"name":"ImageUri"}]}},{"name":"StateAccount","type":{"kind":"struct","fields":[{"name":"account_type","type":{"defined":{"name":"AccountType"}}},{"name":"owner","type":"pubkey"},{"name":"vault","type":"pubkey"},{"name":"enabled","type":"bool"},{"name":"created","type":{"defined":{"name":"CreatedModel"}}},{"name":"engine","type":"pubkey"},{"name":"mints","type":{"vec":"pubkey"}},{"name":"metadata","type":{"option":{"defined":{"name":"Metadata"}}}},{"name":"name","type":"string"},{"name":"uri","type":"string"},{"name":"assets","type":{"vec":"pubkey"}},{"name":"delegate_acls","type":{"vec":{"defined":{"name":"DelegateAcl"}}}},{"name":"integrations","type":{"vec":{"defined":{"name":"Integration"}}}},{"name":"params","type":{"vec":{"vec":{"defined":{"name":"EngineField"}}}}}]}},{"name":"StateModel","type":{"kind":"struct","fields":[{"name":"id","type":{"option":"pubkey"}},{"name":"account_type","type":{"option":{"defined":{"name":"AccountType"}}}},{"name":"name","type":{"option":"string"}},{"name":"uri","type":{"option":"string"}},{"name":"enabled","type":{"option":"bool"}},{"name":"assets","type":{"option":{"vec":"pubkey"}}},{"name":"external_vault_accounts","type":{"option":{"vec":"pubkey"}}},{"name":"mints","type":{"option":{"vec":{"defined":{"name":"MintModel"}}}}},{"name":"company","type":{"option":{"defined":{"name":"CompanyModel"}}}},{"name":"owner","type":{"option":{"defined":{"name":"ManagerModel"}}}},{"name":"created","type":{"option":{"defined":{"name":"CreatedModel"}}}},{"name":"delegate_acls","type":{"option":{"vec":{"defined":{"name":"DelegateAcl"}}}}},{"name":"integrations","type":{"option":{"vec":{"defined":{"name":"Integration"}}}}},{"name":"drift_market_indexes_perp","type":{"option":{"vec":"u32"}}},{"name":"drift_market_indexes_spot","type":{"option":{"vec":"u32"}}},{"name":"drift_order_types","type":{"option":{"vec":"u32"}}},{"name":"base_asset","type":{"option":"pubkey"}},{"name":"max_cap","type":{"option":"u64"}},{"name":"metadata","type":{"option":{"defined":{"name":"Metadata"}}}},{"name":"raw_openfunds","type":{"option":{"defined":{"name":"FundOpenfundsModel"}}}}]}},{"name":"StrategyParameters","type":{"kind":"struct","fields":[{"name":"min_bin_id","type":"i32"},{"name":"max_bin_id","type":"i32"},{"name":"strategy_type","type":{"defined":{"name":"StrategyType"}}},{"name":"parameteres","type":{"array":["u8",64]}}]}},{"name":"StrategyType","type":{"kind":"enum","variants":[{"name":"SpotOneSide"},{"name":"CurveOneSide"},{"name":"BidAskOneSide"},{"name":"SpotBalanced"},{"name":"CurveBalanced"},{"name":"BidAskBalanced"},{"name":"SpotImBalanced"},{"name":"CurveImBalanced"},{"name":"BidAskImBalanced"}]}},{"name":"TimeUnit","type":{"kind":"enum","variants":[{"name":"Slot"},{"name":"Second"}]}},{"name":"Valuation","type":{"kind":"struct","fields":[{"name":"model","type":{"defined":{"name":"ValuationModel"}}},{"name":"notice_period","type":"u64"},{"name":"notice_period_type","type":{"defined":{"name":"NoticePeriodType"}}},{"name":"permissionless_fulfillment","type":"bool"},{"name":"settlement_period","type":"u64"},{"name":"cancellation_window","type":"u64"},{"name":"time_unit","type":{"defined":{"name":"TimeUnit"}}}]}},{"name":"ValuationModel","type":{"kind":"enum","variants":[{"name":"Continuous"},{"name":"Periodic"}]}}],"constants":[{"name":"SEED_ACCOUNT_POLICY","type":"string","value":"\\"account-policy\\""},{"name":"SEED_ESCROW","type":"string","value":"\\"escrow\\""},{"name":"SEED_METADATA","type":"string","value":"\\"metadata\\""},{"name":"SEED_MINT","type":"string","value":"\\"mint\\""},{"name":"SEED_STATE","type":"string","value":"\\"state\\""},{"name":"SEED_VAULT","type":"string","value":"\\"vault\\""}]}');
87
+ module.exports = /*#__PURE__*/JSON.parse('{"address":"GLAMbTqav9N9witRjswJ8enwp9vv5G8bsSJ2kPJ4rcyc","metadata":{"name":"glam_protocol","version":"0.4.16","spec":"0.1.0","description":"Glam Protocol"},"instructions":[{"name":"add_mint","discriminator":[171,222,111,37,60,166,208,108],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_signer","writable":true,"signer":true},{"name":"new_mint","writable":true},{"name":"extra_metas_account","writable":true,"optional":true},{"name":"openfunds_metadata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"const","value":[109,101,116,97,100,97,116,97]},{"kind":"account","path":"glam_state"}]}},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"token_2022_program","address":"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"},{"name":"policies_program","address":"po1iCYakK3gHCLbuju4wGzFowTMpAJxkqK1iwUqMonY"}],"args":[{"name":"mint_model","type":{"defined":{"name":"MintModel"}}}]},{"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":"mint_id","type":"u8"},{"name":"amount","type":"u64"}]},{"name":"claim","discriminator":[62,198,214,193,213,159,108,210],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_escrow","pda":{"seeds":[{"kind":"const","value":[101,115,99,114,111,119]},{"kind":"account","path":"glam_state"}]}},{"name":"signer","writable":true,"signer":true},{"name":"token_mint"},{"name":"signer_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"signer"},{"kind":"account","path":"token_program"},{"kind":"account","path":"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":"token_program"},{"kind":"account","path":"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":"token_program"}],"args":[{"name":"mint_id","type":"u8"}]},{"name":"close_mint","discriminator":[149,251,157,212,65,181,235,129],"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":"glam_mint","writable":true},{"name":"extra_metas_account","writable":true,"optional":true},{"name":"metadata","writable":true,"pda":{"seeds":[{"kind":"const","value":[109,101,116,97,100,97,116,97]},{"kind":"account","path":"glam_state"}]}},{"name":"policies_program","address":"po1iCYakK3gHCLbuju4wGzFowTMpAJxkqK1iwUqMonY"},{"name":"token_2022_program","address":"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"mint_id","type":"u8"}]},{"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":"metadata","writable":true,"pda":{"seeds":[{"kind":"const","value":[109,101,116,97,100,97,116,97]},{"kind":"account","path":"glam_state"}]}},{"name":"system_program","address":"11111111111111111111111111111111"}],"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_state"}]}},{"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":"token_2022_program","address":"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"}],"args":[{"name":"mint_id","type":"u8"}]},{"name":"drift_cancel_orders","discriminator":[98,107,48,79,97,60,99,58],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH"},{"name":"state"},{"name":"user","writable":true}],"args":[{"name":"market_type","type":{"option":{"defined":{"name":"MarketType"}}}},{"name":"market_index","type":{"option":"u16"}},{"name":"direction","type":{"option":{"defined":{"name":"PositionDirection"}}}}]},{"name":"drift_cancel_orders_by_ids","discriminator":[172,99,108,14,81,89,228,183],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH"},{"name":"state"},{"name":"user","writable":true}],"args":[{"name":"order_ids","type":{"vec":"u32"}}]},{"name":"drift_delete_user","discriminator":[179,118,20,212,145,146,49,130],"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":"dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH"},{"name":"user","writable":true},{"name":"user_stats","writable":true},{"name":"state","writable":true}],"args":[]},{"name":"drift_deposit","discriminator":[252,63,250,201,98,55,130,12],"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":"dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH"},{"name":"state"},{"name":"user","writable":true},{"name":"user_stats","writable":true},{"name":"spot_market_vault","writable":true},{"name":"user_token_account","writable":true},{"name":"token_program"}],"args":[{"name":"market_index","type":"u16"},{"name":"amount","type":"u64"},{"name":"reduce_only","type":"bool"}]},{"name":"drift_initialize_user","discriminator":[107,244,158,15,225,239,98,245],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","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":"dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH"},{"name":"user","writable":true},{"name":"user_stats","writable":true},{"name":"state","writable":true},{"name":"payer","writable":true,"signer":true},{"name":"rent","address":"SysvarRent111111111111111111111111111111111"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"sub_account_id","type":"u16"},{"name":"name","type":{"array":["u8",32]}}]},{"name":"drift_initialize_user_stats","discriminator":[133,185,103,162,90,161,78,143],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH"},{"name":"user_stats","writable":true},{"name":"state","writable":true},{"name":"payer","writable":true,"signer":true},{"name":"rent","address":"SysvarRent111111111111111111111111111111111"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[]},{"name":"drift_modify_order","discriminator":[235,245,222,58,245,128,19,202],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH"},{"name":"state"},{"name":"user","writable":true}],"args":[{"name":"order_id","type":{"option":"u32"}},{"name":"modify_order_params","type":{"defined":{"name":"ModifyOrderParams"}}}]},{"name":"drift_place_orders","discriminator":[117,18,210,6,238,174,135,167],"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":"dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH"},{"name":"state"},{"name":"user","writable":true}],"args":[{"name":"params","type":{"vec":{"defined":{"name":"OrderParams"}}}}]},{"name":"drift_settle_multiple_pnls","discriminator":[100,72,3,45,69,37,10,144],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH"},{"name":"state"},{"name":"user","writable":true},{"name":"spot_market_vault"}],"args":[{"name":"market_indexes","type":{"vec":"u16"}},{"name":"mode","type":{"defined":{"name":"SettlePnlMode"}}}]},{"name":"drift_settle_pnl","discriminator":[161,254,255,100,140,113,169,175],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH"},{"name":"state"},{"name":"user","writable":true},{"name":"spot_market_vault"}],"args":[{"name":"market_index","type":"u16"}]},{"name":"drift_update_user_custom_margin_ratio","discriminator":[4,47,193,177,128,62,228,14],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH"},{"name":"user","writable":true}],"args":[{"name":"sub_account_id","type":"u16"},{"name":"margin_ratio","type":"u32"}]},{"name":"drift_update_user_delegate","discriminator":[36,181,34,31,22,77,36,154],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH"},{"name":"user","writable":true}],"args":[{"name":"sub_account_id","type":"u16"},{"name":"delegate","type":"pubkey"}]},{"name":"drift_update_user_margin_trading_enabled","discriminator":[157,175,12,19,202,114,17,36],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH"},{"name":"user","writable":true}],"args":[{"name":"sub_account_id","type":"u16"},{"name":"margin_trading_enabled","type":"bool"}]},{"name":"drift_withdraw","discriminator":[86,59,186,123,183,181,234,137],"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":"dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH"},{"name":"state"},{"name":"user","writable":true},{"name":"user_stats","writable":true},{"name":"spot_market_vault","writable":true},{"name":"drift_signer"},{"name":"user_token_account","writable":true},{"name":"token_program"}],"args":[{"name":"market_index","type":"u16"},{"name":"amount","type":"u64"},{"name":"reduce_only","type":"bool"}]},{"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":"mint_id","type":"u8"},{"name":"amount","type":"u64"}]},{"name":"fulfill","discriminator":[143,2,52,206,174,164,247,72],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_escrow","pda":{"seeds":[{"kind":"const","value":[101,115,99,114,111,119]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_mint","writable":true},{"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":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"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":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"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":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"token_2022_program","address":"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"}],"args":[{"name":"mint_id","type":"u8"}]},{"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_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":"openfunds_metadata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"const","value":[109,101,116,97,100,97,116,97]},{"kind":"account","path":"glam_state"}]}},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"state","type":{"defined":{"name":"StateModel"}}}]},{"name":"jupiter_gov_new_vote","discriminator":[235,179,170,64,64,57,17,69],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"GovaE4iu227srtG2s3tZzB4RmWBzw8sTwrCLZz7kN7rY"},{"name":"proposal"},{"name":"vote","writable":true},{"name":"payer","writable":true,"signer":true},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"voter","type":"pubkey"}]},{"name":"jupiter_set_max_swap_slippage","discriminator":[110,79,13,71,208,111,56,66],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_signer","writable":true,"signer":true}],"args":[{"name":"slippage","type":"u64"}]},{"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":"jupiter_vote_cast_vote","discriminator":[11,197,234,57,164,74,181,239],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"voTpe3tHQ7AjQHMapgSue2HJFAh2cGsdokqN3XqmVSj"},{"name":"locker"},{"name":"escrow"},{"name":"proposal","writable":true},{"name":"vote","writable":true},{"name":"governor"},{"name":"govern_program"}],"args":[{"name":"side","type":"u8"}]},{"name":"jupiter_vote_cast_vote_checked","discriminator":[247,3,146,233,35,189,192,187],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"voTpe3tHQ7AjQHMapgSue2HJFAh2cGsdokqN3XqmVSj"},{"name":"locker"},{"name":"escrow"},{"name":"proposal","writable":true},{"name":"vote","writable":true},{"name":"governor"},{"name":"govern_program"}],"args":[{"name":"side","type":"u8"},{"name":"expected_side","type":"u8"}]},{"name":"jupiter_vote_increase_locked_amount","discriminator":[225,38,201,123,148,23,47,128],"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":"voTpe3tHQ7AjQHMapgSue2HJFAh2cGsdokqN3XqmVSj"},{"name":"locker","writable":true},{"name":"escrow","writable":true},{"name":"escrow_tokens","writable":true},{"name":"source_tokens","writable":true},{"name":"token_program"}],"args":[{"name":"amount","type":"u64"}]},{"name":"jupiter_vote_merge_partial_unstaking","discriminator":[93,226,122,120,130,35,189,208],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"voTpe3tHQ7AjQHMapgSue2HJFAh2cGsdokqN3XqmVSj"},{"name":"locker","writable":true},{"name":"escrow","writable":true},{"name":"partial_unstake","writable":true}],"args":[]},{"name":"jupiter_vote_new_escrow","discriminator":[255,87,157,219,61,178,144,159],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"voTpe3tHQ7AjQHMapgSue2HJFAh2cGsdokqN3XqmVSj"},{"name":"locker","writable":true},{"name":"escrow","writable":true},{"name":"payer","writable":true,"signer":true},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[]},{"name":"jupiter_vote_open_partial_unstaking","discriminator":[84,7,113,220,212,63,237,218],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"voTpe3tHQ7AjQHMapgSue2HJFAh2cGsdokqN3XqmVSj"},{"name":"locker","writable":true},{"name":"escrow","writable":true},{"name":"partial_unstake","writable":true,"signer":true},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"amount","type":"u64"},{"name":"memo","type":"string"}]},{"name":"jupiter_vote_toggle_max_lock","discriminator":[204,158,192,21,219,25,154,87],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"voTpe3tHQ7AjQHMapgSue2HJFAh2cGsdokqN3XqmVSj"},{"name":"locker"},{"name":"escrow","writable":true}],"args":[{"name":"is_max_lock","type":"bool"}]},{"name":"jupiter_vote_withdraw","discriminator":[195,172,184,195,23,178,145,191],"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":"voTpe3tHQ7AjQHMapgSue2HJFAh2cGsdokqN3XqmVSj"},{"name":"locker","writable":true},{"name":"escrow","writable":true},{"name":"escrow_tokens","writable":true},{"name":"destination_tokens","writable":true},{"name":"token_program"}],"args":[]},{"name":"jupiter_vote_withdraw_partial_unstaking","discriminator":[109,98,65,252,184,0,216,240],"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":"voTpe3tHQ7AjQHMapgSue2HJFAh2cGsdokqN3XqmVSj"},{"name":"locker","writable":true},{"name":"escrow","writable":true},{"name":"partial_unstake","writable":true},{"name":"escrow_tokens","writable":true},{"name":"destination_tokens","writable":true},{"name":"token_program"}],"args":[]},{"name":"kamino_farm_harvest_reward","discriminator":[64,132,133,175,224,147,145,119],"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":"FarmsPZpWu9i7Kky8tPN37rs2TpmMrAZrC7S7vJa91Hr"},{"name":"user_state","writable":true},{"name":"farm_state","writable":true},{"name":"global_config"},{"name":"reward_mint"},{"name":"user_reward_ata","writable":true},{"name":"rewards_vault","writable":true},{"name":"rewards_treasury_vault","writable":true},{"name":"farm_vaults_authority"},{"name":"scope_prices","optional":true},{"name":"token_program"}],"args":[{"name":"reward_index","type":"u64"}]},{"name":"kamino_lending_borrow_obligation_liquidity_v2","discriminator":[175,198,39,162,103,76,51,121],"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":"KLend2g3cP87fffoy8q1mQqGKjrxjC8boSyAYavgmjD"},{"name":"obligation","writable":true},{"name":"lending_market"},{"name":"lending_market_authority"},{"name":"borrow_reserve","writable":true},{"name":"borrow_reserve_liquidity_mint"},{"name":"reserve_source_liquidity","writable":true},{"name":"borrow_reserve_liquidity_fee_receiver","writable":true},{"name":"user_destination_liquidity","writable":true},{"name":"referrer_token_state","writable":true,"optional":true},{"name":"token_program"},{"name":"instruction_sysvar_account"},{"name":"obligation_farm_user_state","writable":true,"optional":true},{"name":"reserve_farm_state","writable":true,"optional":true},{"name":"farms_program"}],"args":[{"name":"liquidity_amount","type":"u64"}]},{"name":"kamino_lending_deposit_reserve_liquidity_and_obligation_collateral_v2","discriminator":[93,120,106,112,40,45,84,32],"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":"KLend2g3cP87fffoy8q1mQqGKjrxjC8boSyAYavgmjD"},{"name":"obligation","writable":true},{"name":"lending_market"},{"name":"lending_market_authority"},{"name":"reserve","writable":true},{"name":"reserve_liquidity_mint"},{"name":"reserve_liquidity_supply","writable":true},{"name":"reserve_collateral_mint","writable":true},{"name":"reserve_destination_deposit_collateral","writable":true},{"name":"user_source_liquidity","writable":true},{"name":"placeholder_user_destination_collateral","optional":true},{"name":"collateral_token_program"},{"name":"liquidity_token_program"},{"name":"instruction_sysvar_account"},{"name":"obligation_farm_user_state","writable":true,"optional":true},{"name":"reserve_farm_state","writable":true,"optional":true},{"name":"farms_program"}],"args":[{"name":"liquidity_amount","type":"u64"}]},{"name":"kamino_lending_init_obligation","discriminator":[219,210,134,64,155,49,137,174],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","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":"KLend2g3cP87fffoy8q1mQqGKjrxjC8boSyAYavgmjD"},{"name":"fee_payer","writable":true,"signer":true},{"name":"obligation","writable":true},{"name":"lending_market"},{"name":"seed1_account"},{"name":"seed2_account"},{"name":"owner_user_metadata"},{"name":"rent","address":"SysvarRent111111111111111111111111111111111"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"args","type":{"defined":{"name":"InitObligationArgs"}}}]},{"name":"kamino_lending_init_obligation_farms_for_reserve","discriminator":[227,61,130,2,117,226,78,1],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"KLend2g3cP87fffoy8q1mQqGKjrxjC8boSyAYavgmjD"},{"name":"payer","writable":true,"signer":true},{"name":"obligation","writable":true},{"name":"lending_market_authority"},{"name":"reserve","writable":true},{"name":"reserve_farm_state","writable":true},{"name":"obligation_farm","writable":true},{"name":"lending_market"},{"name":"farms_program"},{"name":"rent","address":"SysvarRent111111111111111111111111111111111"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"mode","type":"u8"}]},{"name":"kamino_lending_init_user_metadata","discriminator":[200,95,140,132,190,65,17,161],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"KLend2g3cP87fffoy8q1mQqGKjrxjC8boSyAYavgmjD"},{"name":"fee_payer","writable":true,"signer":true},{"name":"user_metadata","writable":true},{"name":"referrer_user_metadata","optional":true},{"name":"rent","address":"SysvarRent111111111111111111111111111111111"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"user_lookup_table","type":"pubkey"}]},{"name":"kamino_lending_repay_obligation_liquidity_v2","discriminator":[135,57,236,69,153,77,15,88],"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":"KLend2g3cP87fffoy8q1mQqGKjrxjC8boSyAYavgmjD"},{"name":"obligation","writable":true},{"name":"lending_market"},{"name":"repay_reserve","writable":true},{"name":"reserve_liquidity_mint"},{"name":"reserve_destination_liquidity","writable":true},{"name":"user_source_liquidity","writable":true},{"name":"token_program"},{"name":"instruction_sysvar_account"},{"name":"obligation_farm_user_state","writable":true,"optional":true},{"name":"reserve_farm_state","writable":true,"optional":true},{"name":"lending_market_authority"},{"name":"farms_program"}],"args":[{"name":"liquidity_amount","type":"u64"}]},{"name":"kamino_lending_withdraw_obligation_collateral_and_redeem_reserve_collateral_v2","discriminator":[249,60,252,239,136,53,181,3],"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":"KLend2g3cP87fffoy8q1mQqGKjrxjC8boSyAYavgmjD"},{"name":"obligation","writable":true},{"name":"lending_market"},{"name":"lending_market_authority"},{"name":"withdraw_reserve","writable":true},{"name":"reserve_liquidity_mint"},{"name":"reserve_source_collateral","writable":true},{"name":"reserve_collateral_mint","writable":true},{"name":"reserve_liquidity_supply","writable":true},{"name":"user_destination_liquidity","writable":true},{"name":"placeholder_user_destination_collateral","optional":true},{"name":"collateral_token_program"},{"name":"liquidity_token_program"},{"name":"instruction_sysvar_account"},{"name":"obligation_farm_user_state","writable":true,"optional":true},{"name":"reserve_farm_state","writable":true,"optional":true},{"name":"farms_program"}],"args":[{"name":"collateral_amount","type":"u64"}]},{"name":"marinade_claim","discriminator":[54,44,48,204,218,141,36,5],"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":"MarBmsSgKXdrN1egZf5sqe1TMai9K1rChYNDJgjq7aD"},{"name":"state","writable":true},{"name":"reserve_pda","writable":true},{"name":"ticket_account","writable":true},{"name":"clock"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[]},{"name":"marinade_deposit","discriminator":[62,236,248,28,222,232,182,73],"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":"MarBmsSgKXdrN1egZf5sqe1TMai9K1rChYNDJgjq7aD"},{"name":"state","writable":true},{"name":"msol_mint","writable":true},{"name":"liq_pool_sol_leg_pda","writable":true},{"name":"liq_pool_msol_leg","writable":true},{"name":"liq_pool_msol_leg_authority"},{"name":"reserve_pda","writable":true},{"name":"mint_to","writable":true},{"name":"msol_mint_authority"},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"token_program"}],"args":[{"name":"lamports","type":"u64"}]},{"name":"marinade_deposit_stake_account","discriminator":[141,230,58,103,56,205,159,138],"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":"MarBmsSgKXdrN1egZf5sqe1TMai9K1rChYNDJgjq7aD"},{"name":"state","writable":true},{"name":"validator_list","writable":true},{"name":"stake_list","writable":true},{"name":"stake_account","writable":true},{"name":"duplication_flag","writable":true},{"name":"msol_mint","writable":true},{"name":"mint_to","writable":true},{"name":"msol_mint_authority"},{"name":"clock"},{"name":"rent","address":"SysvarRent111111111111111111111111111111111"},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"token_program"},{"name":"stake_program"}],"args":[{"name":"validator_idx","type":"u32"}]},{"name":"marinade_order_unstake","discriminator":[202,3,33,27,183,156,57,231],"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":"MarBmsSgKXdrN1egZf5sqe1TMai9K1rChYNDJgjq7aD"},{"name":"state","writable":true},{"name":"msol_mint","writable":true},{"name":"burn_msol_from","writable":true},{"name":"new_ticket_account","writable":true},{"name":"clock"},{"name":"rent","address":"SysvarRent111111111111111111111111111111111"},{"name":"token_program"}],"args":[{"name":"msol_amount","type":"u64"}]},{"name":"merkle_distributor_new_claim_and_stake","discriminator":[203,167,65,87,208,161,91,207],"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":"DiS3nNjFVMieMgmiQFm6wgJL7nevk4NrhXKLbtEH1Z2R"},{"name":"distributor","writable":true},{"name":"claim_status","writable":true},{"name":"from","writable":true},{"name":"token_program"},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"voter_program"},{"name":"locker","writable":true},{"name":"escrow","writable":true},{"name":"escrow_tokens","writable":true}],"args":[{"name":"amount_unlocked","type":"u64"},{"name":"amount_locked","type":"u64"},{"name":"proof","type":{"vec":{"array":["u8",32]}}}]},{"name":"meteora_dlmm_add_liquidity2","discriminator":[248,123,81,94,137,10,79,81],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo"},{"name":"position","writable":true},{"name":"lb_pair","writable":true},{"name":"bin_array_bitmap_extension","writable":true,"optional":true},{"name":"user_token_x","writable":true},{"name":"user_token_y","writable":true},{"name":"reserve_x","writable":true},{"name":"reserve_y","writable":true},{"name":"token_x_mint"},{"name":"token_y_mint"},{"name":"token_x_program"},{"name":"token_y_program"},{"name":"event_authority"},{"name":"program"}],"args":[{"name":"liquidity_parameter","type":{"defined":{"name":"LiquidityParameter"}}},{"name":"remaining_accounts_info","type":{"defined":{"name":"RemainingAccountsInfo"}}}]},{"name":"meteora_dlmm_add_liquidity_by_strategy2","discriminator":[219,171,159,202,167,192,209,25],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo"},{"name":"position","writable":true},{"name":"lb_pair","writable":true},{"name":"bin_array_bitmap_extension","writable":true,"optional":true},{"name":"user_token_x","writable":true},{"name":"user_token_y","writable":true},{"name":"reserve_x","writable":true},{"name":"reserve_y","writable":true},{"name":"token_x_mint"},{"name":"token_y_mint"},{"name":"token_x_program"},{"name":"token_y_program"},{"name":"event_authority"},{"name":"program"}],"args":[{"name":"liquidity_parameter","type":{"defined":{"name":"LiquidityParameterByStrategy"}}},{"name":"remaining_accounts_info","type":{"defined":{"name":"RemainingAccountsInfo"}}}]},{"name":"meteora_dlmm_add_liquidity_one_side_precise2","discriminator":[60,137,107,235,107,209,19,106],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo"},{"name":"position","writable":true},{"name":"lb_pair","writable":true},{"name":"bin_array_bitmap_extension","writable":true,"optional":true},{"name":"user_token","writable":true},{"name":"reserve","writable":true},{"name":"token_mint"},{"name":"token_program"},{"name":"event_authority"},{"name":"program"}],"args":[{"name":"parameter","type":{"defined":{"name":"AddLiquiditySingleSidePreciseParameter2"}}},{"name":"remaining_accounts_info","type":{"defined":{"name":"RemainingAccountsInfo"}}}]},{"name":"meteora_dlmm_claim_fee2","discriminator":[152,214,221,166,191,34,17,189],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo"},{"name":"lb_pair","writable":true},{"name":"position","writable":true},{"name":"reserve_x","writable":true},{"name":"reserve_y","writable":true},{"name":"user_token_x","writable":true},{"name":"user_token_y","writable":true},{"name":"token_x_mint"},{"name":"token_y_mint"},{"name":"token_program_x"},{"name":"token_program_y"},{"name":"memo_program"},{"name":"event_authority"},{"name":"program"}],"args":[{"name":"min_bin_id","type":"i32"},{"name":"max_bin_id","type":"i32"},{"name":"remaining_accounts_info","type":{"defined":{"name":"RemainingAccountsInfo"}}}]},{"name":"meteora_dlmm_claim_reward2","discriminator":[73,232,244,62,123,103,114,39],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo"},{"name":"lb_pair","writable":true},{"name":"position","writable":true},{"name":"reward_vault","writable":true},{"name":"reward_mint"},{"name":"user_token_account","writable":true},{"name":"token_program"},{"name":"memo_program"},{"name":"event_authority"},{"name":"program"}],"args":[{"name":"reward_index","type":"u64"},{"name":"min_bin_id","type":"i32"},{"name":"max_bin_id","type":"i32"},{"name":"remaining_accounts_info","type":{"defined":{"name":"RemainingAccountsInfo"}}}]},{"name":"meteora_dlmm_close_position","discriminator":[186,117,42,24,221,194,34,143],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","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":"LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo"},{"name":"position","writable":true},{"name":"lb_pair","writable":true},{"name":"bin_array_lower","writable":true},{"name":"bin_array_upper","writable":true},{"name":"rent_receiver","writable":true},{"name":"event_authority"},{"name":"program"}],"args":[]},{"name":"meteora_dlmm_initialize_position","discriminator":[223,94,215,96,175,181,195,204],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","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":"LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo"},{"name":"payer","writable":true,"signer":true},{"name":"position","writable":true,"signer":true},{"name":"lb_pair"},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"rent","address":"SysvarRent111111111111111111111111111111111"},{"name":"event_authority"},{"name":"program"}],"args":[{"name":"lower_bin_id","type":"i32"},{"name":"width","type":"i32"}]},{"name":"meteora_dlmm_initialize_position_pda","discriminator":[206,130,13,156,170,45,96,115],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","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":"LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo"},{"name":"payer","writable":true,"signer":true},{"name":"position","writable":true},{"name":"lb_pair"},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"rent","address":"SysvarRent111111111111111111111111111111111"},{"name":"event_authority"},{"name":"program"}],"args":[{"name":"lower_bin_id","type":"i32"},{"name":"width","type":"i32"}]},{"name":"meteora_dlmm_remove_liquidity2","discriminator":[118,111,170,14,224,187,21,119],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo"},{"name":"position","writable":true},{"name":"lb_pair","writable":true},{"name":"bin_array_bitmap_extension","writable":true,"optional":true},{"name":"user_token_x","writable":true},{"name":"user_token_y","writable":true},{"name":"reserve_x","writable":true},{"name":"reserve_y","writable":true},{"name":"token_x_mint"},{"name":"token_y_mint"},{"name":"token_x_program"},{"name":"token_y_program"},{"name":"memo_program"},{"name":"event_authority"},{"name":"program"}],"args":[{"name":"bin_liquidity_removal","type":{"vec":{"defined":{"name":"BinLiquidityReduction"}}}},{"name":"remaining_accounts_info","type":{"defined":{"name":"RemainingAccountsInfo"}}}]},{"name":"meteora_dlmm_remove_liquidity_by_range2","discriminator":[157,54,138,77,16,239,100,16],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo"},{"name":"position","writable":true},{"name":"lb_pair","writable":true},{"name":"bin_array_bitmap_extension","writable":true,"optional":true},{"name":"user_token_x","writable":true},{"name":"user_token_y","writable":true},{"name":"reserve_x","writable":true},{"name":"reserve_y","writable":true},{"name":"token_x_mint"},{"name":"token_y_mint"},{"name":"token_x_program"},{"name":"token_y_program"},{"name":"memo_program"},{"name":"event_authority"},{"name":"program"}],"args":[{"name":"from_bin_id","type":"i32"},{"name":"to_bin_id","type":"i32"},{"name":"bps_to_remove","type":"u16"},{"name":"remaining_accounts_info","type":{"defined":{"name":"RemainingAccountsInfo"}}}]},{"name":"meteora_dlmm_swap2","discriminator":[95,183,135,4,4,165,65,133],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo"},{"name":"lb_pair","writable":true},{"name":"bin_array_bitmap_extension","optional":true},{"name":"reserve_x","writable":true},{"name":"reserve_y","writable":true},{"name":"user_token_in","writable":true},{"name":"user_token_out","writable":true},{"name":"token_x_mint"},{"name":"token_y_mint"},{"name":"oracle","writable":true},{"name":"host_fee_in","writable":true,"optional":true},{"name":"token_x_program"},{"name":"token_y_program"},{"name":"memo_program"},{"name":"event_authority"},{"name":"program"}],"args":[{"name":"amount_in","type":"u64"},{"name":"min_amount_out","type":"u64"},{"name":"remaining_accounts_info","type":{"defined":{"name":"RemainingAccountsInfo"}}}]},{"name":"meteora_dlmm_swap_with_price_impact2","discriminator":[219,33,50,237,37,101,146,101],"accounts":[{"name":"glam_state"},{"name":"glam_vault","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":"LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo"},{"name":"lb_pair","writable":true},{"name":"bin_array_bitmap_extension","optional":true},{"name":"reserve_x","writable":true},{"name":"reserve_y","writable":true},{"name":"user_token_in","writable":true},{"name":"user_token_out","writable":true},{"name":"token_x_mint"},{"name":"token_y_mint"},{"name":"oracle","writable":true},{"name":"host_fee_in","writable":true,"optional":true},{"name":"token_x_program"},{"name":"token_y_program"},{"name":"memo_program"},{"name":"event_authority"},{"name":"program"}],"args":[{"name":"amount_in","type":"u64"},{"name":"active_id","type":{"option":"i32"}},{"name":"max_price_impact_bps","type":"u16"},{"name":"remaining_accounts_info","type":{"defined":{"name":"RemainingAccountsInfo"}}}]},{"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":"mint_id","type":"u8"},{"name":"amount","type":"u64"}]},{"name":"price_drift","discriminator":[240,91,209,89,155,0,97,133],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault"},{"name":"signer","writable":true,"signer":true},{"name":"sol_oracle"},{"name":"state"},{"name":"user"},{"name":"user_stats"}],"args":[{"name":"denom","type":{"defined":{"name":"PriceDenom"}}}]},{"name":"price_kamino_obligations","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"}]}},{"name":"glam_signer","writable":true,"signer":true},{"name":"sol_oracle"}],"args":[{"name":"denom","type":{"defined":{"name":"PriceDenom"}}}]},{"name":"price_meteora_positions","discriminator":[186,22,157,249,185,176,253,133],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_signer","writable":true,"signer":true},{"name":"sol_oracle"}],"args":[{"name":"denom","type":{"defined":{"name":"PriceDenom"}}}]},{"name":"price_stakes","discriminator":[0,60,60,103,201,94,72,223],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_signer","writable":true,"signer":true},{"name":"sol_oracle"}],"args":[{"name":"denom","type":{"defined":{"name":"PriceDenom"}}}]},{"name":"price_tickets","discriminator":[253,18,224,98,226,43,65,76],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_signer","writable":true,"signer":true},{"name":"sol_oracle"}],"args":[{"name":"denom","type":{"defined":{"name":"PriceDenom"}}}]},{"name":"price_vault","discriminator":[47,213,36,17,183,5,141,45],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_vault","pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_signer","writable":true,"signer":true},{"name":"sol_oracle"}],"args":[{"name":"denom","type":{"defined":{"name":"PriceDenom"}}}]},{"name":"queued_redeem","discriminator":[82,242,202,93,170,196,215,113],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_escrow","pda":{"seeds":[{"kind":"const","value":[101,115,99,114,111,119]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_mint","writable":true},{"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":"mint_id","type":"u8"},{"name":"shares_in","type":"u64"}]},{"name":"queued_subscribe","discriminator":[107,180,212,63,146,0,159,255],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_escrow","pda":{"seeds":[{"kind":"const","value":[101,115,99,114,111,119]},{"kind":"account","path":"glam_state"}]}},{"name":"signer","writable":true,"signer":true},{"name":"deposit_asset"},{"name":"escrow_deposit_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"glam_escrow"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"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":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"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":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"}],"args":[{"name":"mint_id","type":"u8"},{"name":"amount_in","type":"u64"}]},{"name":"set_redemption_paused","discriminator":[226,152,104,42,1,53,196,240],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_mint"},{"name":"glam_signer","writable":true,"signer":true}],"args":[{"name":"mint_id","type":"u8"},{"name":"paused","type":"bool"}]},{"name":"set_subscription_paused","discriminator":[220,144,129,4,136,251,85,234],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_mint"},{"name":"glam_signer","writable":true,"signer":true}],"args":[{"name":"mint_id","type":"u8"},{"name":"paused","type":"bool"}]},{"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":"mint_id","type":"u8"},{"name":"frozen","type":"bool"}]},{"name":"stake_authorize","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_with_withdrawer","type":"u32"}]},{"name":"stake_deactivate","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","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","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","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_move_lamports","discriminator":[21,85,218,122,182,189,82,200],"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":"source_stake","writable":true},{"name":"destination_stake","writable":true}],"args":[{"name":"lamports","type":"u64"}]},{"name":"stake_move_stake","discriminator":[9,190,67,62,46,251,144,186],"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":"source_stake","writable":true},{"name":"destination_stake","writable":true}],"args":[{"name":"lamports","type":"u64"}]},{"name":"stake_pool_deposit_sol","discriminator":[147,187,91,151,158,187,247,79],"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":"stake_pool","writable":true},{"name":"stake_pool_withdraw_authority"},{"name":"reserve_stake","writable":true},{"name":"pool_tokens_to","writable":true},{"name":"fee_account","writable":true},{"name":"referrer_pool_tokens_account","writable":true},{"name":"pool_mint","writable":true},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"token_program"}],"args":[{"name":"lamports_in","type":"u64"}]},{"name":"stake_pool_deposit_sol_with_slippage","discriminator":[57,21,43,19,86,36,25,172],"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":"stake_pool","writable":true},{"name":"stake_pool_withdraw_authority"},{"name":"reserve_stake","writable":true},{"name":"pool_tokens_to","writable":true},{"name":"fee_account","writable":true},{"name":"referrer_pool_tokens_account","writable":true},{"name":"pool_mint","writable":true},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"token_program"}],"args":[{"name":"lamports_in","type":"u64"},{"name":"minimum_pool_tokens_out","type":"u64"}]},{"name":"stake_pool_deposit_stake","discriminator":[212,158,195,174,179,105,9,97],"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":"stake_pool","writable":true},{"name":"validator_list","writable":true},{"name":"stake_pool_withdraw_authority"},{"name":"deposit_stake","writable":true},{"name":"validator_stake_account","writable":true},{"name":"reserve_stake_account","writable":true},{"name":"pool_tokens_to","writable":true},{"name":"fee_account","writable":true},{"name":"referrer_pool_tokens_account","writable":true},{"name":"pool_mint","writable":true},{"name":"clock","address":"SysvarC1ock11111111111111111111111111111111"},{"name":"stake_history","address":"SysvarStakeHistory1111111111111111111111111"},{"name":"token_program"},{"name":"stake_program","address":"Stake11111111111111111111111111111111111111"}],"args":[]},{"name":"stake_pool_deposit_stake_with_slippage","discriminator":[185,104,64,97,108,243,239,165],"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":"stake_pool","writable":true},{"name":"validator_list","writable":true},{"name":"stake_pool_withdraw_authority"},{"name":"deposit_stake","writable":true},{"name":"validator_stake_account","writable":true},{"name":"reserve_stake_account","writable":true},{"name":"pool_tokens_to","writable":true},{"name":"fee_account","writable":true},{"name":"referrer_pool_tokens_account","writable":true},{"name":"pool_mint","writable":true},{"name":"clock","address":"SysvarC1ock11111111111111111111111111111111"},{"name":"stake_history","address":"SysvarStakeHistory1111111111111111111111111"},{"name":"token_program"},{"name":"stake_program","address":"Stake11111111111111111111111111111111111111"}],"args":[{"name":"minimum_pool_tokens_out","type":"u64"}]},{"name":"stake_pool_withdraw_sol","discriminator":[179,100,204,0,192,46,233,181],"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"},{"name":"stake_pool","writable":true},{"name":"stake_pool_withdraw_authority"},{"name":"pool_tokens_from","writable":true},{"name":"reserve_stake","writable":true},{"name":"fee_account","writable":true},{"name":"pool_mint","writable":true},{"name":"clock","address":"SysvarC1ock11111111111111111111111111111111"},{"name":"stake_history","address":"SysvarStakeHistory1111111111111111111111111"},{"name":"stake_program","address":"Stake11111111111111111111111111111111111111"},{"name":"token_program"}],"args":[{"name":"pool_tokens_in","type":"u64"}]},{"name":"stake_pool_withdraw_sol_with_slippage","discriminator":[210,92,86,93,123,17,117,89],"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"},{"name":"stake_pool","writable":true},{"name":"stake_pool_withdraw_authority"},{"name":"pool_tokens_from","writable":true},{"name":"reserve_stake","writable":true},{"name":"fee_account","writable":true},{"name":"pool_mint","writable":true},{"name":"clock","address":"SysvarC1ock11111111111111111111111111111111"},{"name":"stake_history","address":"SysvarStakeHistory1111111111111111111111111"},{"name":"stake_program","address":"Stake11111111111111111111111111111111111111"},{"name":"token_program"}],"args":[{"name":"pool_tokens_in","type":"u64"},{"name":"minimum_lamports_out","type":"u64"}]},{"name":"stake_pool_withdraw_stake","discriminator":[7,70,250,22,49,1,143,1],"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":"stake_pool","writable":true},{"name":"validator_list","writable":true},{"name":"stake_pool_withdraw_authority"},{"name":"validator_stake_account","writable":true},{"name":"stake","writable":true},{"name":"pool_tokens_from","writable":true},{"name":"fee_account","writable":true},{"name":"pool_mint","writable":true},{"name":"clock","address":"SysvarC1ock11111111111111111111111111111111"},{"name":"token_program"},{"name":"stake_program","address":"Stake11111111111111111111111111111111111111"}],"args":[{"name":"pool_tokens_in","type":"u64"}]},{"name":"stake_pool_withdraw_stake_with_slippage","discriminator":[74,83,151,22,32,149,154,141],"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":"stake_pool","writable":true},{"name":"validator_list","writable":true},{"name":"stake_pool_withdraw_authority"},{"name":"validator_stake_account","writable":true},{"name":"stake","writable":true},{"name":"pool_tokens_from","writable":true},{"name":"fee_account","writable":true},{"name":"pool_mint","writable":true},{"name":"clock","address":"SysvarC1ock11111111111111111111111111111111"},{"name":"token_program"},{"name":"stake_program","address":"Stake11111111111111111111111111111111111111"}],"args":[{"name":"pool_tokens_in","type":"u64"},{"name":"minimum_lamports_out","type":"u64"}]},{"name":"stake_redelegate","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","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","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"}],"args":[{"name":"lamports","type":"u64"}]},{"name":"subscribe","discriminator":[254,28,191,138,156,179,183,53],"accounts":[{"name":"glam_state","writable":true},{"name":"glam_escrow","pda":{"seeds":[{"kind":"const","value":[101,115,99,114,111,119]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_vault","pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"glam_state"}]}},{"name":"glam_mint","writable":true},{"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":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"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":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"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":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"token_2022_program","address":"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{"name":"policies_program","address":"po1iCYakK3gHCLbuju4wGzFowTMpAJxkqK1iwUqMonY"}],"args":[{"name":"mint_id","type":"u8"},{"name":"amount_in","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_close_account","discriminator":[240,32,179,154,96,110,43,79],"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"},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"token_account","writable":true}],"args":[]},{"name":"token_transfer","discriminator":[210,16,52,5,247,164,59,18],"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"},{"name":"from","writable":true},{"name":"to","writable":true}],"args":[{"name":"lamports","type":"u64"}]},{"name":"token_transfer_checked","discriminator":[169,178,117,156,169,191,199,116],"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"},{"name":"from","writable":true},{"name":"mint"},{"name":"to","writable":true}],"args":[{"name":"lamports","type":"u64"},{"name":"decimals","type":"u8"}]},{"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":"token_2022_program","address":"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"}],"args":[{"name":"mint_id","type":"u8"},{"name":"mint_model","type":{"defined":{"name":"MintModel"}}}]},{"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":"withdraw","discriminator":[183,18,70,156,148,109,161,34],"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":"asset"},{"name":"vault_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"glam_vault"},{"kind":"account","path":"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":"signer_ata","writable":true,"pda":{"seeds":[{"kind":"account","path":"glam_signer"},{"kind":"account","path":"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":"token_program"}],"args":[{"name":"amount","type":"u64"}]}],"accounts":[{"name":"OpenfundsMetadataAccount","discriminator":[5,89,20,76,255,158,209,219]},{"name":"StateAccount","discriminator":[142,247,54,95,85,133,249,103]}],"errors":[{"code":48000,"name":"NotAuthorized","msg":"Signer is not authorized"},{"code":48001,"name":"IntegrationDisabled","msg":"Integration is disabled"},{"code":48002,"name":"StateAccountDisabled","msg":"State account is disabled"},{"code":48003,"name":"InvalidSignerAccount","msg":"Invalid signer token account"},{"code":49000,"name":"InvalidAccountType","msg":"Invalid account type"},{"code":49001,"name":"InvalidName","msg":"Name too long: max 64 chars"},{"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":"GlamMintNotFound","msg":"Glam mint not found"},{"code":49006,"name":"CannotCloseState","msg":"Glam state cannot be closed, all mints must be closed first"},{"code":49007,"name":"InvalidMintId","msg":"Invalid mint id"},{"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":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":51002,"name":"ActionPaused","msg":"Requested action is paused"},{"code":51003,"name":"InvalidAsset","msg":"Asset not allowed to subscribe"},{"code":51004,"name":"LedgerNotFound","msg":"Ledger not found"},{"code":51005,"name":"InvalidLedgerEntry","msg":"Invalid ledger entry"},{"code":51006,"name":"InvalidAmount","msg":"Invalid amount for subscription or redemption"},{"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":"ExternalAccountsNotPriced","msg":"Not all external vault accounts are priced"},{"code":51104,"name":"VaultAssetsNotPriced","msg":"Not all vault assets are priced"},{"code":51105,"name":"VaultNotPriced","msg":"No priced assets found"},{"code":51106,"name":"PositiveAumRequired","msg":"AUM must be positive"},{"code":51107,"name":"MathError","msg":"Math error"},{"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":"Mint"},{"name":"Fund"}]}},{"name":"AccountsType","type":{"kind":"enum","variants":[{"name":"TransferHookX"},{"name":"TransferHookY"},{"name":"TransferHookReward"}]}},{"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":"AddLiquiditySingleSidePreciseParameter2","type":{"kind":"struct","fields":[{"name":"bins","type":{"vec":{"defined":{"name":"CompressedBinDepositAmount"}}}},{"name":"decompress_multiplier","type":"u64"},{"name":"max_amount","type":"u64"}]}},{"name":"BinLiquidityDistribution","type":{"kind":"struct","fields":[{"name":"bin_id","type":"i32"},{"name":"distribution_x","type":"u16"},{"name":"distribution_y","type":"u16"}]}},{"name":"BinLiquidityReduction","type":{"kind":"struct","fields":[{"name":"bin_id","type":"i32"},{"name":"bps_to_remove","type":"u16"}]}},{"name":"CompanyField","type":{"kind":"struct","fields":[{"name":"name","type":{"defined":{"name":"CompanyFieldName"}}},{"name":"value","type":"string"}]}},{"name":"CompanyFieldName","type":{"kind":"enum","variants":[{"name":"FundGroupName"},{"name":"ManCo"},{"name":"DomicileOfManCo"},{"name":"BICOfCustodian"},{"name":"CollateralManagerName"},{"name":"CustodianBankName"},{"name":"DomicileOfCustodianBank"},{"name":"FundAdministratorName"},{"name":"FundAdvisorName"},{"name":"FundPromoterName"},{"name":"IsSelfManagedInvestmentCompany"},{"name":"LEIOfCustodianBank"},{"name":"LEIOfManCo"},{"name":"PortfolioManagingCompanyName"},{"name":"SecuritiesLendingCounterpartyName"},{"name":"SwapCounterpartyName"},{"name":"AddressofManCo"},{"name":"AuditorName"},{"name":"CityofManCo"},{"name":"EmailAddressOfManCo"},{"name":"FundWebsiteOfManCo"},{"name":"IsUNPRISignatory"},{"name":"PhoneCountryCodeofManCo"},{"name":"PhoneNumberofManCo"},{"name":"SubInvestmentAdvisorName"},{"name":"ZIPCodeofManCo"},{"name":"DomicileOfUmbrella"},{"name":"HasUmbrella"},{"name":"LEIOfUmbrella"},{"name":"Umbrella"},{"name":"GlobalIntermediaryIdentificationNumberOfUmbrella"}]}},{"name":"CompanyModel","type":{"kind":"struct","fields":[{"name":"fund_group_name","type":{"option":"string"}},{"name":"man_co","type":{"option":"string"}},{"name":"domicile_of_man_co","type":{"option":"string"}},{"name":"email_address_of_man_co","type":{"option":"string"}},{"name":"fund_website_of_man_co","type":{"option":"string"}}]}},{"name":"CompressedBinDepositAmount","type":{"kind":"struct","fields":[{"name":"bin_id","type":"i32"},{"name":"amount","type":"u32"}]}},{"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":"permissions","type":{"vec":{"defined":{"name":"Permission"}}}},{"name":"expires_at","type":"i64"}]}},{"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":"Allowlist"},{"name":"Blocklist"},{"name":"ExternalVaultAccounts"},{"name":"LockUp"},{"name":"DriftMarketIndexesPerp"},{"name":"DriftMarketIndexesSpot"},{"name":"DriftOrderTypes"},{"name":"MaxSwapSlippageBps"},{"name":"TransferToAllowlist"},{"name":"PricedAssets"},{"name":"BaseAsset"},{"name":"MaxCap"},{"name":"MinSubscription"},{"name":"MinRedemption"},{"name":"Valuation"},{"name":"Ledger"},{"name":"FeeStructure"},{"name":"FeeParams"},{"name":"ClaimableFees"},{"name":"ClaimedFees"},{"name":"SubscriptionPaused"},{"name":"RedemptionPaused"}]}},{"name":"EngineFieldValue","type":{"kind":"enum","variants":[{"name":"Boolean","fields":[{"name":"val","type":"bool"}]},{"name":"Date","fields":[{"name":"val","type":"string"}]},{"name":"Double","fields":[{"name":"val","type":"i64"}]},{"name":"Integer","fields":[{"name":"val","type":"i32"}]},{"name":"String","fields":[{"name":"val","type":"string"}]},{"name":"Time","fields":[{"name":"val","type":"string"}]},{"name":"U8","fields":[{"name":"val","type":"u8"}]},{"name":"U64","fields":[{"name":"val","type":"u64"}]},{"name":"Pubkey","fields":[{"name":"val","type":"pubkey"}]},{"name":"Percentage","fields":[{"name":"val","type":"u32"}]},{"name":"URI","fields":[{"name":"val","type":"string"}]},{"name":"Timestamp","fields":[{"name":"val","type":"i64"}]},{"name":"VecPubkey","fields":[{"name":"val","type":{"vec":"pubkey"}}]},{"name":"VecU32","fields":[{"name":"val","type":{"vec":"u32"}}]},{"name":"VecPricedAssets","fields":[{"name":"val","type":{"vec":{"defined":{"name":"PricedAssets"}}}}]},{"name":"Ledger","fields":[{"name":"val","type":{"vec":{"defined":{"name":"LedgerEntry"}}}}]},{"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":"Valuation","fields":[{"name":"val","type":{"defined":{"name":"Valuation"}}}]}]}},{"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":"FundField","type":{"kind":"struct","fields":[{"name":"name","type":{"defined":{"name":"FundFieldName"}}},{"name":"value","type":"string"}]}},{"name":"FundFieldName","type":{"kind":"enum","variants":[{"name":"FundDomicileAlpha2"},{"name":"FundDomicileAlpha3"},{"name":"LegalFundNameIncludingUmbrella"},{"name":"FiscalYearEnd"},{"name":"FundCurrency"},{"name":"FundLaunchDate"},{"name":"InvestmentObjective"},{"name":"IsETC"},{"name":"IsEUDirectiveRelevant"},{"name":"IsFundOfFunds"},{"name":"IsPassiveFund"},{"name":"IsREIT"},{"name":"LegalForm"},{"name":"LegalFundNameOnly"},{"name":"OpenEndedOrClosedEndedFundStructure"},{"name":"TypeOfEUDirective"},{"name":"UCITSVersion"},{"name":"CurrencyHedgePortfolio"},{"name":"DepositoryName"},{"name":"FundValuationPoint"},{"name":"FundValuationPointTimeZone"},{"name":"FundValuationPointTimeZoneUsingTZDatabase"},{"name":"HasCollateralManager"},{"name":"HasEmbeddedDerivatives"},{"name":"HasSecuritiesLending"},{"name":"HasSwap"},{"name":"IsLeveraged"},{"name":"IsShariaCompliant"},{"name":"IsShort"},{"name":"LEIofDepositoryBank"},{"name":"LEIOfFund"},{"name":"LocationOfBearerShare"},{"name":"LocationOfShareRegister"},{"name":"MaximumLeverageInFund"},{"name":"MiFIDSecuritiesClassification"},{"name":"MoneyMarketTypeOfFund"},{"name":"TrusteeName"},{"name":"AuMFund"},{"name":"AuMFundDate"},{"name":"NoSFund"},{"name":"NoSFundDate"}]}},{"name":"FundManagerField","type":{"kind":"struct","fields":[{"name":"name","type":{"defined":{"name":"FundManagerFieldName"}}},{"name":"value","type":"string"}]}},{"name":"FundManagerFieldName","type":{"kind":"enum","variants":[{"name":"PortfolioManagerForename"},{"name":"PortfolioManagerName"},{"name":"PortfolioManagerYearOfBirth"},{"name":"PortfolioManagerYearOfExperienceStart"},{"name":"PortfolioManagerBriefBiography"},{"name":"PortfolioManagerType"},{"name":"PortfolioManagerRoleStartingDate"},{"name":"PortfolioManagerRoleEndDate"}]}},{"name":"FundOpenfundsModel","type":{"kind":"struct","fields":[{"name":"fund_domicile_alpha_2","type":{"option":"string"}},{"name":"legal_fund_name_including_umbrella","type":{"option":"string"}},{"name":"fiscal_year_end","type":{"option":"string"}},{"name":"fund_currency","type":{"option":"string"}},{"name":"fund_launch_date","type":{"option":"string"}},{"name":"investment_objective","type":{"option":"string"}},{"name":"is_etc","type":{"option":"bool"}},{"name":"is_eu_directive_relevant","type":{"option":"bool"}},{"name":"is_fund_of_funds","type":{"option":"bool"}},{"name":"is_passive_fund","type":{"option":"bool"}},{"name":"is_reit","type":{"option":"bool"}},{"name":"legal_form","type":{"option":"string"}},{"name":"legal_fund_name_only","type":{"option":"string"}},{"name":"open_ended_or_closed_ended_fund_structure","type":{"option":"string"}},{"name":"type_of_eu_directive","type":{"option":"string"}},{"name":"ucits_version","type":{"option":"string"}}]}},{"name":"HurdleType","type":{"kind":"enum","variants":[{"name":"Hard"},{"name":"Soft"}]}},{"name":"InitObligationArgs","type":{"kind":"struct","fields":[{"name":"tag","type":"u8"},{"name":"id","type":"u8"}]}},{"name":"Integration","type":{"kind":"enum","variants":[{"name":"Drift"},{"name":"SplStakePool"},{"name":"SanctumStakePool"},{"name":"NativeStaking"},{"name":"Marinade"},{"name":"JupiterSwap"},{"name":"JupiterVote"},{"name":"KaminoLending"},{"name":"MeteoraDlmm"}]}},{"name":"LedgerEntry","type":{"kind":"struct","fields":[{"name":"user","type":"pubkey"},{"name":"created_at","type":"u64"},{"name":"fulfilled_at","type":"u64"},{"name":"time_unit","type":{"defined":{"name":"TimeUnit"}}},{"name":"kind","type":{"defined":{"name":"LedgerEntryKind"}}},{"name":"incoming","type":{"defined":{"name":"PubkeyAmount"}}},{"name":"value","type":"u64"},{"name":"outgoing","type":{"option":{"defined":{"name":"PubkeyAmount"}}}}]}},{"name":"LedgerEntryKind","type":{"kind":"enum","variants":[{"name":"Subscription"},{"name":"Redemption"}]}},{"name":"LiquidityParameter","type":{"kind":"struct","fields":[{"name":"amount_x","type":"u64"},{"name":"amount_y","type":"u64"},{"name":"bin_liquidity_dist","type":{"vec":{"defined":{"name":"BinLiquidityDistribution"}}}}]}},{"name":"LiquidityParameterByStrategy","type":{"kind":"struct","fields":[{"name":"amount_x","type":"u64"},{"name":"amount_y","type":"u64"},{"name":"active_id","type":"i32"},{"name":"max_active_bin_slippage","type":"i32"},{"name":"strategy_parameters","type":{"defined":{"name":"StrategyParameters"}}}]}},{"name":"ManagementFee","type":{"kind":"struct","fields":[{"name":"fee_bps","type":"u16"}]}},{"name":"ManagerKind","type":{"kind":"enum","variants":[{"name":"Wallet"},{"name":"Squads"}]}},{"name":"ManagerModel","type":{"kind":"struct","fields":[{"name":"portfolio_manager_name","type":{"option":"string"}},{"name":"pubkey","type":{"option":"pubkey"}},{"name":"kind","type":{"option":{"defined":{"name":"ManagerKind"}}}}]}},{"name":"MarketType","type":{"kind":"enum","variants":[{"name":"Spot"},{"name":"Perp"}]}},{"name":"Metadata","type":{"kind":"struct","fields":[{"name":"template","type":{"defined":{"name":"MetadataTemplate"}}},{"name":"pubkey","type":"pubkey"},{"name":"uri","type":"string"}]}},{"name":"MetadataTemplate","type":{"kind":"enum","variants":[{"name":"Openfunds"}]}},{"name":"MintModel","type":{"kind":"struct","fields":[{"name":"symbol","type":{"option":"string"}},{"name":"name","type":{"option":"string"}},{"name":"uri","type":{"option":"string"}},{"name":"state_pubkey","type":{"option":"pubkey"}},{"name":"asset","type":{"option":"pubkey"}},{"name":"image_uri","type":{"option":"string"}},{"name":"allowlist","type":{"option":{"vec":"pubkey"}}},{"name":"blocklist","type":{"option":{"vec":"pubkey"}}},{"name":"lock_up_period_in_seconds","type":{"option":"i32"}},{"name":"permanent_delegate","type":{"option":"pubkey"}},{"name":"default_account_state_frozen","type":{"option":"bool"}},{"name":"fee_structure","type":{"option":{"defined":{"name":"FeeStructure"}}}},{"name":"fee_params","type":{"option":{"defined":{"name":"FeeParams"}}}},{"name":"valuation","type":{"option":{"defined":{"name":"Valuation"}}}},{"name":"min_subscription","type":{"option":"u64"}},{"name":"min_redemption","type":{"option":"u64"}},{"name":"is_raw_openfunds","type":{"option":"bool"}},{"name":"raw_openfunds","type":{"option":{"defined":{"name":"MintOpenfundsModel"}}}}]}},{"name":"MintOpenfundsModel","type":{"kind":"struct","fields":[{"name":"isin","type":{"option":"string"}},{"name":"share_class_currency","type":{"option":"string"}},{"name":"full_share_class_name","type":{"option":"string"}},{"name":"has_performance_fee","type":{"option":"bool"}},{"name":"investment_status","type":{"option":"string"}},{"name":"minimal_initial_subscription_in_amount","type":{"option":"string"}},{"name":"minimal_initial_subscription_in_shares","type":{"option":"string"}},{"name":"minimal_subsequent_subscription_in_amount","type":{"option":"string"}},{"name":"minimal_subsequent_subscription_in_shares","type":{"option":"string"}},{"name":"share_class_launch_date","type":{"option":"string"}},{"name":"share_class_lifecycle","type":{"option":"string"}},{"name":"launch_price","type":{"option":"string"}},{"name":"launch_price_currency","type":{"option":"string"}},{"name":"launch_price_date","type":{"option":"string"}},{"name":"has_lock_up_for_redemption","type":{"option":"bool"}},{"name":"lock_up_comment","type":{"option":"string"}},{"name":"lock_up_period_in_days","type":{"option":"string"}},{"name":"minimal_initial_redemption_in_amount","type":{"option":"string"}},{"name":"minimal_initial_redemption_in_shares","type":{"option":"string"}},{"name":"minimal_subsequent_redemption_in_amount","type":{"option":"string"}},{"name":"minimal_subsequent_redemption_in_shares","type":{"option":"string"}},{"name":"rounding_method_for_prices","type":{"option":"string"}},{"name":"cusip","type":{"option":"string"}},{"name":"valor","type":{"option":"string"}}]}},{"name":"ModifyOrderParams","type":{"kind":"struct","fields":[{"name":"direction","type":{"option":{"defined":{"name":"PositionDirection"}}}},{"name":"base_asset_amount","type":{"option":"u64"}},{"name":"price","type":{"option":"u64"}},{"name":"reduce_only","type":{"option":"bool"}},{"name":"post_only","type":{"option":{"defined":{"name":"PostOnlyParam"}}}},{"name":"immediate_or_cancel","type":{"option":"bool"}},{"name":"max_ts","type":{"option":"i64"}},{"name":"trigger_price","type":{"option":"u64"}},{"name":"trigger_condition","type":{"option":{"defined":{"name":"OrderTriggerCondition"}}}},{"name":"oracle_price_offset","type":{"option":"i32"}},{"name":"auction_duration","type":{"option":"u8"}},{"name":"auction_start_price","type":{"option":"i64"}},{"name":"auction_end_price","type":{"option":"i64"}},{"name":"policy","type":{"option":"u8"}}]}},{"name":"NoticePeriodType","type":{"kind":"enum","variants":[{"name":"Hard"},{"name":"Soft"}]}},{"name":"OpenfundsMetadataAccount","type":{"kind":"struct","fields":[{"name":"fund_id","type":"pubkey"},{"name":"company","type":{"vec":{"defined":{"name":"CompanyField"}}}},{"name":"fund","type":{"vec":{"defined":{"name":"FundField"}}}},{"name":"share_classes","type":{"vec":{"vec":{"defined":{"name":"ShareClassField"}}}}},{"name":"fund_managers","type":{"vec":{"vec":{"defined":{"name":"FundManagerField"}}}}}]}},{"name":"OrderParams","type":{"kind":"struct","fields":[{"name":"order_type","type":{"defined":{"name":"OrderType"}}},{"name":"market_type","type":{"defined":{"name":"MarketType"}}},{"name":"direction","type":{"defined":{"name":"PositionDirection"}}},{"name":"user_order_id","type":"u8"},{"name":"base_asset_amount","type":"u64"},{"name":"price","type":"u64"},{"name":"market_index","type":"u16"},{"name":"reduce_only","type":"bool"},{"name":"post_only","type":{"defined":{"name":"PostOnlyParam"}}},{"name":"immediate_or_cancel","type":"bool"},{"name":"max_ts","type":{"option":"i64"}},{"name":"trigger_price","type":{"option":"u64"}},{"name":"trigger_condition","type":{"defined":{"name":"OrderTriggerCondition"}}},{"name":"oracle_price_offset","type":{"option":"i32"}},{"name":"auction_duration","type":{"option":"u8"}},{"name":"auction_start_price","type":{"option":"i64"}},{"name":"auction_end_price","type":{"option":"i64"}}]}},{"name":"OrderTriggerCondition","type":{"kind":"enum","variants":[{"name":"Above"},{"name":"Below"},{"name":"TriggeredAbove"},{"name":"TriggeredBelow"}]}},{"name":"OrderType","type":{"kind":"enum","variants":[{"name":"Market"},{"name":"Limit"},{"name":"TriggerMarket"},{"name":"TriggerLimit"},{"name":"Oracle"}]}},{"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":"Permission","docs":["* Delegate ACL"],"type":{"kind":"enum","variants":[{"name":"DriftInit"},{"name":"DriftUpdateUser"},{"name":"DriftDeleteUser"},{"name":"DriftDeposit"},{"name":"DriftWithdraw"},{"name":"DriftOrders"},{"name":"DriftBorrow"},{"name":"DriftPerpMarket"},{"name":"DriftSpotMarket"},{"name":"Stake"},{"name":"Unstake"},{"name":"__DeprecatedLiquidUnstake"},{"name":"JupiterSwapAllowlisted"},{"name":"JupiterSwapAny"},{"name":"WSol"},{"name":"__DeprecatedWSolUnwrap"},{"name":"MintMintTokens"},{"name":"MintBurnTokens"},{"name":"MintForceTransferTokens"},{"name":"MintSetTokenAccountState"},{"name":"JupiterGovStake"},{"name":"JupiterGovVoteOnProposal"},{"name":"JupiterGovUnstake"},{"name":"JupiterSwapLst"},{"name":"JupiterSwapPriceable"},{"name":"KaminoInit"},{"name":"KaminoDeposit"},{"name":"KaminoBorrow"},{"name":"KaminoWithdraw"},{"name":"KaminoClaim"},{"name":"MeteoraDlmmPosition"},{"name":"MeteoraDlmmLiquidity"},{"name":"MeteoraDlmmClaim"},{"name":"MeteoraDlmmSwap"},{"name":"TransferToAllowlisted"},{"name":"JupiterGovWithdraw"},{"name":"JupiterGovClaim"}]}},{"name":"PositionDirection","type":{"kind":"enum","variants":[{"name":"Long"},{"name":"Short"}]}},{"name":"PostOnlyParam","type":{"kind":"enum","variants":[{"name":"None"},{"name":"MustPostOnly"},{"name":"TryPostOnly"},{"name":"Slide"}]}},{"name":"PriceDenom","type":{"kind":"enum","variants":[{"name":"SOL"},{"name":"USD"},{"name":"ASSET6"}]}},{"name":"PricedAssets","type":{"kind":"struct","fields":[{"name":"denom","type":{"defined":{"name":"PriceDenom"}}},{"name":"accounts","type":{"vec":"pubkey"}},{"name":"rent","type":"u64"},{"name":"amount","type":"i128"},{"name":"decimals","type":"u8"},{"name":"last_updated_slot","type":"u64"},{"name":"integration","type":{"option":{"defined":{"name":"Integration"}}}}]}},{"name":"ProtocolFees","type":{"kind":"struct","fields":[{"name":"base_fee_bps","type":"u16"},{"name":"flow_fee_bps","type":"u16"}]}},{"name":"PubkeyAmount","type":{"kind":"struct","fields":[{"name":"pubkey","type":"pubkey"},{"name":"amount","type":"u64"},{"name":"decimals","type":"u8"}]}},{"name":"RemainingAccountsInfo","type":{"kind":"struct","fields":[{"name":"slices","type":{"vec":{"defined":{"name":"RemainingAccountsSlice"}}}}]}},{"name":"RemainingAccountsSlice","type":{"kind":"struct","fields":[{"name":"accounts_type","type":{"defined":{"name":"AccountsType"}}},{"name":"length","type":"u8"}]}},{"name":"SettlePnlMode","type":{"kind":"enum","variants":[{"name":"MustSettle"},{"name":"TrySettle"}]}},{"name":"ShareClassField","type":{"kind":"struct","fields":[{"name":"name","type":{"defined":{"name":"ShareClassFieldName"}}},{"name":"value","type":"string"}]}},{"name":"ShareClassFieldName","type":{"kind":"enum","variants":[{"name":"ISIN"},{"name":"ShareClassCurrency"},{"name":"AppliedSubscriptionFeeInFavourOfDistributor"},{"name":"AppliedSubscriptionFeeInFavourOfDistributorReferenceDate"},{"name":"CurrencyOfMinimalSubscription"},{"name":"FullShareClassName"},{"name":"HasPerformanceFee"},{"name":"HasSubscriptionFeeInFavourOfDistributor"},{"name":"InvestmentStatus"},{"name":"ManagementFeeApplied"},{"name":"ManagementFeeAppliedReferenceDate"},{"name":"ManagementFeeMaximum"},{"name":"MaximumSubscriptionFeeInFavourOfDistributor"},{"name":"MinimalInitialSubscriptionCategory"},{"name":"MinimalInitialSubscriptionInAmount"},{"name":"MinimalInitialSubscriptionInShares"},{"name":"MinimalSubsequentSubscriptionCategory"},{"name":"MinimalSubsequentSubscriptionInAmount"},{"name":"MinimalSubsequentSubscriptionInShares"},{"name":"MinimumSubscriptionFeeInFavourOfDistributor"},{"name":"ShareClassDistributionPolicy"},{"name":"ShareClassExtension"},{"name":"ShareClassLaunchDate"},{"name":"ShareClassLifecycle"},{"name":"SRRI"},{"name":"LaunchPrice"},{"name":"LaunchPriceCurrency"},{"name":"LaunchPriceDate"},{"name":"HasAppliedSubscriptionFeeInFavourOfFund"},{"name":"AppliedSubscriptionFeeInFavourOfFund"},{"name":"AppliedSubscriptionFeeInFavourOfFundReferenceDate"},{"name":"MaximumSubscriptionFeeInFavourOfFund"},{"name":"HasAppliedRedemptionFeeInFavourOfFund"},{"name":"AppliedRedemptionFeeInFavourOfFund"},{"name":"AppliedRedemptionFeeInFavourOfFundReferenceDate"},{"name":"MaximumRedemptionFeeInFavourOfFund"},{"name":"AppliedRedemptionFeeInFavourOfDistributor"},{"name":"AppliedRedemptionFeeInFavourOfDistributorReferenceDate"},{"name":"CurrencyOfMinimalOrMaximumRedemption"},{"name":"CutOffDateOffsetForRedemption"},{"name":"CutOffDateOffsetForSubscription"},{"name":"CutOffTimeForRedemption"},{"name":"CutOffTimeForSubscription"},{"name":"HasLockUpForRedemption"},{"name":"HasRedemptionFeeInFavourOfDistributor"},{"name":"IsValidISIN"},{"name":"LockUpComment"},{"name":"LockUpPeriodInDays"},{"name":"ManagementFeeMinimum"},{"name":"MaximalNumberOfPossibleDecimalsAmount"},{"name":"MaximalNumberOfPossibleDecimalsNAV"},{"name":"MaximalNumberOfPossibleDecimalsShares"},{"name":"MaximumInitialRedemptionInAmount"},{"name":"MaximumInitialRedemptionInShares"},{"name":"MaximumRedemptionFeeInFavourOfDistributor"},{"name":"MaximumSubsequentRedemptionInAmount"},{"name":"MaximumSubsequentRedemptionInShares"},{"name":"MinimalInitialRedemptionInAmount"},{"name":"MinimalInitialRedemptionInShares"},{"name":"MinimalRedemptionCategory"},{"name":"MinimalSubsequentRedemptionInAmount"},{"name":"MinimalSubsequentRedemptionInShares"},{"name":"MinimumRedemptionFeeInFavourOfDistributor"},{"name":"MinimumRedemptionFeeInFavourOfFund"},{"name":"MinimumSubscriptionFeeInFavourOfFund"},{"name":"PerformanceFeeMinimum"},{"name":"RoundingMethodForPrices"},{"name":"RoundingMethodForRedemptionInAmount"},{"name":"RoundingMethodForRedemptionInShares"},{"name":"RoundingMethodForSubscriptionInAmount"},{"name":"RoundingMethodForSubscriptionInShares"},{"name":"ShareClassDividendType"},{"name":"CUSIP"},{"name":"Valor"},{"name":"FundId"},{"name":"ImageUri"}]}},{"name":"StateAccount","type":{"kind":"struct","fields":[{"name":"account_type","type":{"defined":{"name":"AccountType"}}},{"name":"owner","type":"pubkey"},{"name":"vault","type":"pubkey"},{"name":"enabled","type":"bool"},{"name":"created","type":{"defined":{"name":"CreatedModel"}}},{"name":"engine","type":"pubkey"},{"name":"mints","type":{"vec":"pubkey"}},{"name":"metadata","type":{"option":{"defined":{"name":"Metadata"}}}},{"name":"name","type":"string"},{"name":"uri","type":"string"},{"name":"assets","type":{"vec":"pubkey"}},{"name":"delegate_acls","type":{"vec":{"defined":{"name":"DelegateAcl"}}}},{"name":"integrations","type":{"vec":{"defined":{"name":"Integration"}}}},{"name":"params","type":{"vec":{"vec":{"defined":{"name":"EngineField"}}}}}]}},{"name":"StateModel","type":{"kind":"struct","fields":[{"name":"id","type":{"option":"pubkey"}},{"name":"account_type","type":{"option":{"defined":{"name":"AccountType"}}}},{"name":"name","type":{"option":"string"}},{"name":"uri","type":{"option":"string"}},{"name":"enabled","type":{"option":"bool"}},{"name":"assets","type":{"option":{"vec":"pubkey"}}},{"name":"external_vault_accounts","type":{"option":{"vec":"pubkey"}}},{"name":"mints","type":{"option":{"vec":{"defined":{"name":"MintModel"}}}}},{"name":"company","type":{"option":{"defined":{"name":"CompanyModel"}}}},{"name":"owner","type":{"option":{"defined":{"name":"ManagerModel"}}}},{"name":"created","type":{"option":{"defined":{"name":"CreatedModel"}}}},{"name":"delegate_acls","type":{"option":{"vec":{"defined":{"name":"DelegateAcl"}}}}},{"name":"integrations","type":{"option":{"vec":{"defined":{"name":"Integration"}}}}},{"name":"drift_market_indexes_perp","type":{"option":{"vec":"u32"}}},{"name":"drift_market_indexes_spot","type":{"option":{"vec":"u32"}}},{"name":"drift_order_types","type":{"option":{"vec":"u32"}}},{"name":"base_asset","type":{"option":"pubkey"}},{"name":"max_cap","type":{"option":"u64"}},{"name":"metadata","type":{"option":{"defined":{"name":"Metadata"}}}},{"name":"raw_openfunds","type":{"option":{"defined":{"name":"FundOpenfundsModel"}}}}]}},{"name":"StrategyParameters","type":{"kind":"struct","fields":[{"name":"min_bin_id","type":"i32"},{"name":"max_bin_id","type":"i32"},{"name":"strategy_type","type":{"defined":{"name":"StrategyType"}}},{"name":"parameteres","type":{"array":["u8",64]}}]}},{"name":"StrategyType","type":{"kind":"enum","variants":[{"name":"SpotOneSide"},{"name":"CurveOneSide"},{"name":"BidAskOneSide"},{"name":"SpotBalanced"},{"name":"CurveBalanced"},{"name":"BidAskBalanced"},{"name":"SpotImBalanced"},{"name":"CurveImBalanced"},{"name":"BidAskImBalanced"}]}},{"name":"TimeUnit","type":{"kind":"enum","variants":[{"name":"Slot"},{"name":"Second"}]}},{"name":"Valuation","type":{"kind":"struct","fields":[{"name":"model","type":{"defined":{"name":"ValuationModel"}}},{"name":"notice_period","type":"u64"},{"name":"notice_period_type","type":{"defined":{"name":"NoticePeriodType"}}},{"name":"permissionless_fulfillment","type":"bool"},{"name":"settlement_period","type":"u64"},{"name":"cancellation_window","type":"u64"},{"name":"time_unit","type":{"defined":{"name":"TimeUnit"}}}]}},{"name":"ValuationModel","type":{"kind":"enum","variants":[{"name":"Continuous"},{"name":"Periodic"}]}}],"constants":[{"name":"SEED_ACCOUNT_POLICY","type":"string","value":"\\"account-policy\\""},{"name":"SEED_ESCROW","type":"string","value":"\\"escrow\\""},{"name":"SEED_METADATA","type":"string","value":"\\"metadata\\""},{"name":"SEED_MINT","type":"string","value":"\\"mint\\""},{"name":"SEED_STATE","type":"string","value":"\\"state\\""},{"name":"SEED_VAULT","type":"string","value":"\\"vault\\""}]}');
85
88
 
86
89
  /***/ }),
87
90
  /* 7 */
@@ -536,17 +539,17 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
536
539
  exports.GlamClient = exports.JUPITER_API_DEFAULT = void 0;
537
540
  const base_1 = __webpack_require__(13);
538
541
  const drift_1 = __webpack_require__(20);
539
- const jupiter_1 = __webpack_require__(22);
540
- const jupiter_2 = __webpack_require__(22);
541
- const marinade_1 = __webpack_require__(23);
542
- const wsol_1 = __webpack_require__(25);
543
- const staking_1 = __webpack_require__(26);
544
- const state_1 = __webpack_require__(28);
545
- const mint_1 = __webpack_require__(29);
546
- const kamino_1 = __webpack_require__(30);
547
- const meteora_1 = __webpack_require__(32);
548
- const investor_1 = __webpack_require__(33);
549
- const price_1 = __webpack_require__(34);
542
+ const jupiter_1 = __webpack_require__(23);
543
+ const jupiter_2 = __webpack_require__(23);
544
+ const marinade_1 = __webpack_require__(24);
545
+ const wsol_1 = __webpack_require__(26);
546
+ const staking_1 = __webpack_require__(27);
547
+ const state_1 = __webpack_require__(29);
548
+ const mint_1 = __webpack_require__(30);
549
+ const kamino_1 = __webpack_require__(31);
550
+ const meteora_1 = __webpack_require__(33);
551
+ const investor_1 = __webpack_require__(34);
552
+ const price_1 = __webpack_require__(35);
550
553
  var base_2 = __webpack_require__(13);
551
554
  Object.defineProperty(exports, "JUPITER_API_DEFAULT", ({ enumerable: true, get: function () { return base_2.JUPITER_API_DEFAULT; } }));
552
555
  /**
@@ -1151,7 +1154,7 @@ exports.BaseClient = BaseClient;
1151
1154
 
1152
1155
 
1153
1156
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1154
- exports.getSimulationComputeUnits = exports.parseMeteoraPosition = exports.fetchMeteoraPositions = exports.fetchKaminoObligations = exports.fetchMarinadeTicketAccounts = exports.fetchStakeAccounts = void 0;
1157
+ exports.setsAreEqual = exports.getSimulationComputeUnits = exports.parseMeteoraPosition = exports.fetchMeteoraPositions = exports.fetchKaminoObligations = exports.fetchMarinadeTicketAccounts = exports.fetchStakeAccounts = void 0;
1155
1158
  const web3_js_1 = __webpack_require__(5);
1156
1159
  const constants_1 = __webpack_require__(10);
1157
1160
  const dlmm_1 = __webpack_require__(15);
@@ -1303,6 +1306,16 @@ const getErrorFromRPCResponse = (rpcResponse) => {
1303
1306
  throw Error(error.toString());
1304
1307
  }
1305
1308
  };
1309
+ const setsAreEqual = (a, b) => {
1310
+ if (a.size !== b.size)
1311
+ return false;
1312
+ for (let item of a) {
1313
+ if (!b.has(item))
1314
+ return false;
1315
+ }
1316
+ return true;
1317
+ };
1318
+ exports.setsAreEqual = setsAreEqual;
1306
1319
 
1307
1320
 
1308
1321
  /***/ }),
@@ -1531,16 +1544,36 @@ exports.BlockhashWithCache = BlockhashWithCache;
1531
1544
 
1532
1545
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1533
1546
  exports.DriftClient = void 0;
1547
+ const tslib_1 = __webpack_require__(1);
1548
+ const anchor = tslib_1.__importStar(__webpack_require__(2));
1534
1549
  const web3_js_1 = __webpack_require__(5);
1535
- const sdk_1 = __webpack_require__(21);
1550
+ const driftTypes_1 = __webpack_require__(21);
1551
+ const driftUser_1 = __webpack_require__(22);
1536
1552
  const constants_1 = __webpack_require__(10);
1537
1553
  const spl_token_1 = __webpack_require__(8);
1538
1554
  const assets_1 = __webpack_require__(16);
1539
- const DRIFT_VAULT = new web3_js_1.PublicKey("JCNCMFXo5M5qwUPg2Utu1u6YWp3MbygxqBsBeXXJfrw");
1555
+ const anchor_1 = __webpack_require__(2);
1556
+ const DRIFT_SIGNER = new web3_js_1.PublicKey("JCNCMFXo5M5qwUPg2Utu1u6YWp3MbygxqBsBeXXJfrw");
1540
1557
  const DRIFT_MARGIN_PRECISION = 10000;
1541
1558
  class DriftClient {
1542
1559
  constructor(base) {
1543
1560
  this.base = base;
1561
+ this.spotMarkets = new Map();
1562
+ this.perpMarkets = new Map();
1563
+ this.marketConfigs = null;
1564
+ /*
1565
+ * Utils
1566
+ */
1567
+ this.getMarketPda = (marketType, marketIndex) => web3_js_1.PublicKey.findProgramAddressSync([
1568
+ Buffer.from(`${marketType === driftTypes_1.MarketType.PERP ? "perp" : "spot"}_market`),
1569
+ new anchor.BN(marketIndex).toArrayLike(Buffer, "le", 2),
1570
+ ], constants_1.DRIFT_PROGRAM_ID)[0];
1571
+ this.getUserPda = (authority, subAccountId = 0) => web3_js_1.PublicKey.findProgramAddressSync([
1572
+ Buffer.from("user"),
1573
+ authority.toBuffer(),
1574
+ new anchor.BN(subAccountId).toArrayLike(Buffer, "le", 2),
1575
+ ], constants_1.DRIFT_PROGRAM_ID)[0];
1576
+ this.getUserStatsPda = (authority) => web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("user_stats"), authority.toBuffer()], constants_1.DRIFT_PROGRAM_ID)[0];
1544
1577
  this.marketTypeEquals = (a, b) => a && Object.keys(a)[0] === Object.keys(b)[0];
1545
1578
  }
1546
1579
  /*
@@ -1567,87 +1600,273 @@ class DriftClient {
1567
1600
  const tx = await this.deleteUserTx(new web3_js_1.PublicKey(statePda), subAccountId, txOptions);
1568
1601
  return await this.base.sendAndConfirm(tx);
1569
1602
  }
1570
- async deposit(statePda, amount, marketIndex = 1, subAccountId = 0, marketConfigs, txOptions = {}) {
1571
- const tx = await this.depositTx(new web3_js_1.PublicKey(statePda), amount, marketIndex, subAccountId, marketConfigs, txOptions);
1603
+ async deposit(statePda, amount, marketIndex = 1, subAccountId = 0, txOptions = {}) {
1604
+ const tx = await this.depositTx(new web3_js_1.PublicKey(statePda), amount, marketIndex, subAccountId, txOptions);
1572
1605
  return await this.base.sendAndConfirm(tx);
1573
1606
  }
1574
- async withdraw(statePda, amount, marketIndex = 1, subAccountId = 0, marketConfigs, txOptions = {}) {
1575
- const tx = await this.withdrawTx(new web3_js_1.PublicKey(statePda), amount, marketIndex, subAccountId, marketConfigs, txOptions);
1607
+ async withdraw(statePda, amount, marketIndex = 1, subAccountId = 0, txOptions = {}) {
1608
+ const tx = await this.withdrawTx(new web3_js_1.PublicKey(statePda), amount, marketIndex, subAccountId, txOptions);
1576
1609
  return await this.base.sendAndConfirm(tx);
1577
1610
  }
1578
- async placeOrder(statePda, orderParams, subAccountId = 0, marketConfigs, txOptions = {}) {
1579
- const tx = await this.placeOrderTx(new web3_js_1.PublicKey(statePda), orderParams, subAccountId, marketConfigs, txOptions);
1611
+ async placeOrder(statePda, orderParams, subAccountId = 0, txOptions = {}) {
1612
+ const tx = await this.placeOrderTx(new web3_js_1.PublicKey(statePda), orderParams, subAccountId, txOptions);
1580
1613
  return await this.base.sendAndConfirm(tx);
1581
1614
  }
1582
- async modifyOrder(statePda, modifyOrderParams, subAccountId = 0, marketConfigs, txOptions = {}) {
1583
- const tx = await this.modifyOrderTx(new web3_js_1.PublicKey(statePda), modifyOrderParams, subAccountId, marketConfigs, txOptions);
1615
+ async modifyOrder(statePda, modifyOrderParams, subAccountId = 0, txOptions = {}) {
1616
+ const tx = await this.modifyOrderTx(new web3_js_1.PublicKey(statePda), modifyOrderParams, subAccountId, txOptions);
1584
1617
  return await this.base.sendAndConfirm(tx);
1585
1618
  }
1586
- async cancelOrders(statePda, marketType, marketIndex, direction, subAccountId = 0, marketConfigs, txOptions = {}) {
1587
- const tx = await this.cancelOrdersTx(new web3_js_1.PublicKey(statePda), marketType, marketIndex, direction, subAccountId, marketConfigs, txOptions);
1619
+ async cancelOrders(statePda, marketType, marketIndex, direction, subAccountId = 0, txOptions = {}) {
1620
+ const tx = await this.cancelOrdersTx(new web3_js_1.PublicKey(statePda), marketType, marketIndex, direction, subAccountId, txOptions);
1588
1621
  return await this.base.sendAndConfirm(tx);
1589
1622
  }
1590
- async cancelOrdersByIds(statePda, orderIds, subAccountId = 0, marketConfigs, txOptions = {}) {
1591
- const tx = await this.cancelOrdersByIdsTx(new web3_js_1.PublicKey(statePda), orderIds, subAccountId, marketConfigs, txOptions);
1623
+ async cancelOrdersByIds(statePda, orderIds, subAccountId = 0, txOptions = {}) {
1624
+ const tx = await this.cancelOrdersByIdsTx(new web3_js_1.PublicKey(statePda), orderIds, subAccountId, txOptions);
1592
1625
  return await this.base.sendAndConfirm(tx);
1593
1626
  }
1594
- async settlePnl(statePda, marketIndex, subAccountId = 0, marketConfigs, txOptions = {}) {
1595
- const tx = await this.settlePnlTx(new web3_js_1.PublicKey(statePda), marketIndex, subAccountId, marketConfigs, txOptions);
1627
+ async settlePnl(statePda, marketIndex, subAccountId = 0, txOptions = {}) {
1628
+ const tx = await this.settlePnlTx(new web3_js_1.PublicKey(statePda), marketIndex, subAccountId, txOptions);
1596
1629
  return await this.base.sendAndConfirm(tx);
1597
1630
  }
1598
- async priceDrift(statePda, marketConfigs, priceDenom, txOptions = {}) {
1599
- const tx = await this.priceDriftTx(new web3_js_1.PublicKey(statePda), marketConfigs, priceDenom, txOptions);
1631
+ async priceDrift(statePda, priceDenom, txOptions = {}) {
1632
+ const tx = await this.priceDriftTx(new web3_js_1.PublicKey(statePda), priceDenom, txOptions);
1600
1633
  return await this.base.sendAndConfirm(tx);
1601
1634
  }
1602
- /*
1603
- * Utils
1604
- */
1605
- getUser(statePda, subAccountId = 0) {
1635
+ getGlamReferrerPdas() {
1636
+ return {
1637
+ user: this.getUserPda(constants_1.GLAM_REFERRER, 0),
1638
+ userStats: this.getUserStatsPda(constants_1.GLAM_REFERRER),
1639
+ };
1640
+ }
1641
+ parsePerpMarket(data) {
1642
+ const marketPda = new web3_js_1.PublicKey(data.subarray(8, 40));
1643
+ const oracle = new web3_js_1.PublicKey(data.subarray(40, 72));
1644
+ const name = this.charsToName(data.subarray(1000, 1032));
1645
+ const oralceEnum = data.subarray(926, 927).readUint8();
1646
+ const oracleSource = driftTypes_1.OracleSource.get(oralceEnum);
1647
+ const marketIndex = data.subarray(1160, 1162).readUint16LE();
1648
+ return {
1649
+ name,
1650
+ marketPda,
1651
+ marketIndex,
1652
+ oracle,
1653
+ oracleSource,
1654
+ };
1655
+ }
1656
+ parseSpotMarket(data) {
1657
+ const marketPda = new web3_js_1.PublicKey(data.subarray(8, 40));
1658
+ const oracle = new web3_js_1.PublicKey(data.subarray(40, 72));
1659
+ const mint = new web3_js_1.PublicKey(data.subarray(72, 104));
1660
+ const vault = new web3_js_1.PublicKey(data.subarray(104, 136));
1661
+ const name = this.charsToName(data.subarray(136, 168));
1662
+ const cumulativeDepositInterest = new anchor_1.BN(data.subarray(464, 480), "le");
1663
+ const cumulativeBorrowInterest = new anchor_1.BN(data.subarray(480, 496), "le");
1664
+ const decimals = data.subarray(680, 684).readUint32LE();
1665
+ const marketIndex = data.subarray(684, 686).readUint16LE();
1666
+ const oralceEnum = data.subarray(687, 688).readUint8();
1667
+ const oracleSource = driftTypes_1.OracleSource.get(oralceEnum);
1668
+ const tokenProgram = data.subarray(734, 735).readUint8() == 0
1669
+ ? spl_token_1.TOKEN_PROGRAM_ID
1670
+ : spl_token_1.TOKEN_2022_PROGRAM_ID;
1671
+ return {
1672
+ name,
1673
+ marketIndex,
1674
+ marketPda,
1675
+ oracle,
1676
+ oracleSource,
1677
+ vault,
1678
+ mint,
1679
+ decimals,
1680
+ tokenProgram,
1681
+ cumulativeDepositInterest,
1682
+ cumulativeBorrowInterest,
1683
+ };
1684
+ }
1685
+ async calcSpotBalance(marketIndex, scaledBalance, scaledBalanceType) {
1686
+ const { decimals, cumulativeDepositInterest, cumulativeBorrowInterest } = await this.fetchAndParseSpotMarket(marketIndex);
1687
+ const precisionAdjustment = new anchor_1.BN(10 ** (19 - decimals));
1688
+ let interest = cumulativeDepositInterest;
1689
+ if (scaledBalanceType === driftTypes_1.SpotBalanceType.BORROW) {
1690
+ interest = cumulativeBorrowInterest;
1691
+ }
1692
+ const balance = scaledBalance.mul(interest).div(precisionAdjustment);
1693
+ const amount = scaledBalanceType === driftTypes_1.SpotBalanceType.BORROW
1694
+ ? balance.neg().toNumber()
1695
+ : balance.toNumber();
1696
+ const uiAmount = amount / 10 ** decimals;
1697
+ return { amount, uiAmount };
1698
+ }
1699
+ getDriftUserPdas(statePda, subAccountId = 0) {
1606
1700
  const vault = this.base.getVaultPda(new web3_js_1.PublicKey(statePda));
1607
- return [
1608
- (0, sdk_1.getUserAccountPublicKeySync)(constants_1.DRIFT_PROGRAM_ID, vault, subAccountId),
1609
- (0, sdk_1.getUserStatsAccountPublicKey)(constants_1.DRIFT_PROGRAM_ID, vault),
1610
- ];
1701
+ return {
1702
+ user: this.getUserPda(vault, subAccountId),
1703
+ userStats: this.getUserStatsPda(vault),
1704
+ };
1611
1705
  }
1612
- getGlamReferrer() {
1613
- return [
1614
- (0, sdk_1.getUserAccountPublicKeySync)(constants_1.DRIFT_PROGRAM_ID, constants_1.GLAM_REFERRER, 0),
1615
- (0, sdk_1.getUserStatsAccountPublicKey)(constants_1.DRIFT_PROGRAM_ID, constants_1.GLAM_REFERRER),
1616
- ];
1706
+ get driftStatePda() {
1707
+ return web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("drift_state")], constants_1.DRIFT_PROGRAM_ID)[0];
1617
1708
  }
1618
- async fetchMarketConfigs() {
1619
- const response = await fetch("https://api.glam.systems/v0/drift/market_configs/");
1620
- if (!response.ok) {
1621
- throw new Error(`Failed to fetch market configs: ${response.status}`);
1709
+ async fetchAndParseSpotMarket(marketIndex) {
1710
+ const markets = await this.fetchAndParseSpotMarkets([marketIndex]);
1711
+ if (!markets || markets.length === 0) {
1712
+ throw new Error(`Spot market not found at index ${marketIndex}`);
1622
1713
  }
1623
- const data = await response.json();
1624
- return data;
1714
+ return markets[0];
1625
1715
  }
1626
- async fetchGlamDriftUser(glamState, subAccountId = 0) {
1627
- const vault = this.base.getVaultPda(new web3_js_1.PublicKey(glamState));
1628
- const response = await fetch(`https://api.glam.systems/v0/drift/user?authority=${vault.toBase58()}&accountId=${subAccountId}`);
1629
- const data = await response.json();
1630
- if (!data) {
1631
- throw new Error("Failed to fetch drift user.");
1716
+ async fetchAndParseSpotMarkets(marketIndexes) {
1717
+ const indexesToFetch = marketIndexes.filter((marketIndex) => !this.spotMarkets.has(marketIndex));
1718
+ if (indexesToFetch.length > 0) {
1719
+ if (process.env.NODE_ENV === "development") {
1720
+ console.log("Fetching spot markets:", indexesToFetch);
1721
+ }
1722
+ const marketPdas = indexesToFetch.map((marketIndex) => this.getMarketPda(driftTypes_1.MarketType.SPOT, marketIndex));
1723
+ const accounts = await this.base.provider.connection.getMultipleAccountsInfo(marketPdas);
1724
+ accounts.forEach((account) => {
1725
+ if (account) {
1726
+ const spotMarket = this.parseSpotMarket(account.data);
1727
+ this.spotMarkets.set(spotMarket.marketIndex, spotMarket);
1728
+ }
1729
+ });
1632
1730
  }
1633
- return data;
1731
+ // At this point this.spotMarkets has all the requested markets
1732
+ return marketIndexes
1733
+ .map((marketIndex) => this.spotMarkets.get(marketIndex))
1734
+ .filter((m) => m);
1634
1735
  }
1635
- async getPositions(statePda, subAccountId = 0) {
1636
- const { spotPositions, perpPositions } = await this.fetchGlamDriftUser(new web3_js_1.PublicKey(statePda), subAccountId);
1637
- return { spotPositions, perpPositions };
1736
+ async fetchAndParsePerpMarket(marketIndex) {
1737
+ const markets = await this.fetchAndParsePerpMarkets([marketIndex]);
1738
+ if (!markets || markets.length === 0) {
1739
+ throw new Error(`Perp market not found at index ${marketIndex}`);
1740
+ }
1741
+ return markets[0];
1638
1742
  }
1639
- async fetchPolicyConfig(glamState) {
1640
- let driftUserAccount;
1641
- if (glamState && glamState.id) {
1642
- const [driftUserAddress] = this.getUser(glamState.id);
1643
- const connection = this.base.provider.connection;
1644
- const info = await connection.getAccountInfo(driftUserAddress, connection.commitment);
1645
- if (info) {
1646
- driftUserAccount = (0, sdk_1.decodeUser)(info.data);
1743
+ async fetchAndParsePerpMarkets(marketIndexes) {
1744
+ const indexesToFetch = marketIndexes.filter((marketIndex) => !this.perpMarkets.has(marketIndex));
1745
+ if (indexesToFetch.length > 0) {
1746
+ if (process.env.NODE_ENV === "development") {
1747
+ console.log("Fetching perp markets:", indexesToFetch);
1647
1748
  }
1749
+ const marketPdas = marketIndexes.map((marketIndex) => this.getMarketPda(driftTypes_1.MarketType.PERP, marketIndex));
1750
+ const accounts = await this.base.provider.connection.getMultipleAccountsInfo(marketPdas);
1751
+ accounts.forEach((account) => {
1752
+ if (account) {
1753
+ const perpMarket = this.parsePerpMarket(account.data);
1754
+ this.perpMarkets.set(perpMarket.marketIndex, perpMarket);
1755
+ }
1756
+ });
1648
1757
  }
1758
+ else {
1759
+ if (process.env.NODE_ENV === "development") {
1760
+ console.log("Requested perp markets already cached:", marketIndexes);
1761
+ }
1762
+ }
1763
+ return marketIndexes
1764
+ .map((marketIndex) => this.perpMarkets.get(marketIndex))
1765
+ .filter((m) => m);
1766
+ }
1767
+ async fetchMarketConfigs() {
1768
+ // const response = await fetch(
1769
+ // "https://api.glam.systems/v0/drift/market_configs/",
1770
+ // );
1771
+ // if (!response.ok) {
1772
+ // throw new Error(`Failed to fetch market configs: ${response.status}`);
1773
+ // }
1774
+ // const data = await response.json();
1775
+ // const { orderConstants, perp, spot } = data;
1776
+ // // Transform perp market from API to `PerpMarket` type
1777
+ // const perpMarkets = perp.map((m: any) => ({
1778
+ // marketIndex: m.marketIndex,
1779
+ // marketPda: m.marketPDA,
1780
+ // oracle: new PublicKey(m.oracle),
1781
+ // }));
1782
+ // // Transform spot market from API to `SpotMarket` type
1783
+ // const spotMarkets = spot.map((m: any) => ({
1784
+ // marketIndex: m.marketIndex,
1785
+ // marketPda: m.marketPDA,
1786
+ // oracle: new PublicKey(m.oracle),
1787
+ // mint: new PublicKey(m.mint),
1788
+ // vault: new PublicKey(m.vaultPDA),
1789
+ // decimals: m.decimals,
1790
+ // }));
1791
+ if (!this.marketConfigs) {
1792
+ const perpMarkets = await this.fetchAndParsePerpMarkets(Array.from(Array(100).keys()));
1793
+ const spotMarkets = await this.fetchAndParseSpotMarkets(Array.from(Array(100).keys()));
1794
+ this.marketConfigs = {
1795
+ orderConstants: { perpBaseScale: 9, quoteScale: 6 },
1796
+ perpMarkets,
1797
+ spotMarkets,
1798
+ };
1799
+ }
1800
+ return this.marketConfigs;
1801
+ }
1802
+ // public async fetchGlamDriftUser(
1803
+ // glamState: PublicKey | string,
1804
+ // subAccountId: number = 0,
1805
+ // ): Promise<GlamDriftUser> {
1806
+ // const vault = this.base.getVaultPda(new PublicKey(glamState));
1807
+ // const response = await fetch(
1808
+ // `https://api.glam.systems/v0/drift/user?authority=${vault.toBase58()}&accountId=${subAccountId}`,
1809
+ // );
1810
+ // const data = await response.json();
1811
+ // if (!data) {
1812
+ // throw new Error("Failed to fetch drift user.");
1813
+ // }
1814
+ // return data as GlamDriftUser;
1815
+ // }
1816
+ charsToName(chars) {
1817
+ return String.fromCharCode(...chars)
1818
+ .replace(/\0/g, "")
1819
+ .trim();
1820
+ }
1821
+ async fetchDriftUser(statePda, subAccountId = 0) {
1822
+ const { user } = this.getDriftUserPdas(new web3_js_1.PublicKey(statePda), subAccountId);
1823
+ const accountInfo = await this.base.provider.connection.getAccountInfo(user);
1824
+ if (!accountInfo) {
1825
+ return null;
1826
+ }
1827
+ const { delegate, name, spotPositions, marginMode, perpPositions, isMarginTradingEnabled, maxMarginRatio, orders, } = (0, driftUser_1.decodeUser)(accountInfo.data);
1828
+ // Prefetch market configs
1829
+ const marketConfigs = await this.fetchMarketConfigs();
1830
+ const spotPositionsExt = await Promise.all(spotPositions.map(async (p) => {
1831
+ const { amount, uiAmount } = await this.calcSpotBalance(p.marketIndex, p.scaledBalance, p.balanceType);
1832
+ const spotMarket = marketConfigs.spotMarkets.find((m) => m.marketIndex === p.marketIndex);
1833
+ return {
1834
+ ...p,
1835
+ amount,
1836
+ uiAmount,
1837
+ mint: spotMarket.mint,
1838
+ decimals: spotMarket.decimals,
1839
+ marketName: spotMarket.name,
1840
+ };
1841
+ }));
1842
+ return {
1843
+ delegate,
1844
+ name: this.charsToName(name),
1845
+ spotPositions: spotPositionsExt,
1846
+ perpPositions,
1847
+ orders,
1848
+ marginMode,
1849
+ subAccountId,
1850
+ isMarginTradingEnabled,
1851
+ maxMarginRatio,
1852
+ };
1853
+ }
1854
+ // async getPositions(statePda: PublicKey | string, subAccountId: number = 0) {
1855
+ // const driftUser = await this.fetchDriftUser(
1856
+ // new PublicKey(statePda),
1857
+ // subAccountId,
1858
+ // );
1859
+ // if (!driftUser) {
1860
+ // return { spotPositions: [], perpPositions: [] };
1861
+ // }
1862
+ // const marketConfigs = await this.fetchMarketConfigs();
1863
+ // const { spotPositions, perpPositions } = driftUser;
1864
+ // return { spotPositions, perpPositions };
1865
+ // }
1866
+ async fetchPolicyConfig(glamState) {
1867
+ const driftUserAccount = glamState && glamState.id && (await this.fetchDriftUser(glamState.id));
1649
1868
  let delegate = driftUserAccount?.delegate;
1650
- if (delegate && delegate.equals(new web3_js_1.PublicKey(0))) {
1869
+ if (delegate && delegate.equals(web3_js_1.PublicKey.default)) {
1651
1870
  delegate = undefined;
1652
1871
  }
1653
1872
  return {
@@ -1662,36 +1881,47 @@ class DriftClient {
1662
1881
  driftMarketIndexesSpot: glamState?.driftMarketIndexesSpot || [],
1663
1882
  };
1664
1883
  }
1665
- async composeRemainingAccounts(glamState, subAccountId, marketConfigs, marketType, marketIndex) {
1666
- const { spotPositions, perpPositions } = await this.getPositions(glamState, subAccountId);
1884
+ async composeRemainingAccounts(glamState, subAccountId, marketType, marketIndex) {
1885
+ const driftUser = await this.fetchDriftUser(glamState, subAccountId);
1886
+ if (!driftUser) {
1887
+ throw new Error("Drift user not found");
1888
+ }
1889
+ const { spotPositions, perpPositions } = driftUser;
1667
1890
  const spotMarketIndexes = spotPositions.map((p) => p.marketIndex);
1668
1891
  const perpMarketIndexes = perpPositions.map((p) => p.marketIndex);
1669
1892
  // Note that marketIndex is could be 0, need to explicitly check undefined
1670
- if (this.marketTypeEquals(marketType, sdk_1.MarketType.SPOT) &&
1893
+ if (this.marketTypeEquals(marketType, driftTypes_1.MarketType.SPOT) &&
1671
1894
  marketIndex !== undefined &&
1672
1895
  !spotMarketIndexes.includes(marketIndex)) {
1673
1896
  spotMarketIndexes.push(marketIndex);
1674
1897
  }
1675
- else if (this.marketTypeEquals(marketType, sdk_1.MarketType.PERP) &&
1898
+ else if (this.marketTypeEquals(marketType, driftTypes_1.MarketType.PERP) &&
1676
1899
  marketIndex !== undefined &&
1677
1900
  !perpMarketIndexes.includes(marketIndex)) {
1678
1901
  perpMarketIndexes.push(marketIndex);
1679
1902
  }
1680
1903
  // Also include USDC spot market if we're composing remaining accounts for spot or perp orders
1681
- if (this.marketTypeEquals(marketType, sdk_1.MarketType.PERP) ||
1682
- this.marketTypeEquals(marketType, sdk_1.MarketType.SPOT)) {
1904
+ if (this.marketTypeEquals(marketType, driftTypes_1.MarketType.PERP) ||
1905
+ this.marketTypeEquals(marketType, driftTypes_1.MarketType.SPOT)) {
1683
1906
  if (!spotMarketIndexes.includes(0)) {
1684
1907
  spotMarketIndexes.push(0);
1685
1908
  }
1686
1909
  }
1687
- const oracles = spotMarketIndexes
1688
- .map((i) => marketConfigs.spot[i].oracle)
1689
- .concat(perpMarketIndexes.map((i) => marketConfigs.perp[i].oracle));
1690
- const markets = spotMarketIndexes
1691
- .map((i) => marketConfigs.spot[i].marketPDA)
1692
- .concat(perpMarketIndexes.map((i) => marketConfigs.perp[i].marketPDA));
1693
- console.log("[composeRemainingAccounts] markets:", markets);
1694
- console.log("[composeRemainingAccounts] oracles:", oracles);
1910
+ const spotMarkets = await this.fetchAndParseSpotMarkets(spotMarketIndexes);
1911
+ const perpMarkets = await this.fetchAndParsePerpMarkets(perpMarketIndexes);
1912
+ if (process.env.NODE_ENV === "development") {
1913
+ console.log("[composeRemainingAccounts] perpMarkets:", perpMarkets);
1914
+ }
1915
+ const oracles = spotMarkets
1916
+ .map((m) => m.oracle)
1917
+ .concat(perpMarkets.map((m) => m.oracle));
1918
+ const markets = spotMarkets
1919
+ .map((m) => m.marketPda)
1920
+ .concat(perpMarkets.map((m) => m.marketPda));
1921
+ if (process.env.NODE_ENV === "development") {
1922
+ console.log("[composeRemainingAccounts] markets:", markets.map((m) => m.toBase58()));
1923
+ console.log("[composeRemainingAccounts] oracles:", oracles.map((o) => o.toBase58()));
1924
+ }
1695
1925
  return oracles
1696
1926
  .map((o) => ({
1697
1927
  pubkey: new web3_js_1.PublicKey(o),
@@ -1705,15 +1935,14 @@ class DriftClient {
1705
1935
  })));
1706
1936
  }
1707
1937
  async initializeUserStatsIx(glamState, glamSigner) {
1708
- const [_, userStats] = this.getUser(glamState);
1709
- const state = await (0, sdk_1.getDriftStateAccountPublicKey)(constants_1.DRIFT_PROGRAM_ID);
1938
+ const { userStats } = this.getDriftUserPdas(glamState);
1710
1939
  // @ts-ignore
1711
1940
  return await this.base.program.methods
1712
1941
  .driftInitializeUserStats()
1713
1942
  .accounts({
1714
1943
  glamState,
1715
1944
  glamSigner,
1716
- state,
1945
+ state: this.driftStatePda,
1717
1946
  userStats,
1718
1947
  })
1719
1948
  .instruction();
@@ -1723,20 +1952,19 @@ class DriftClient {
1723
1952
  .split("")
1724
1953
  .map((char) => char.charCodeAt(0))
1725
1954
  .concat(Array(24).fill(0));
1726
- const [user, userStats] = this.getUser(glamState, subAccountId);
1727
- const state = await (0, sdk_1.getDriftStateAccountPublicKey)(constants_1.DRIFT_PROGRAM_ID);
1728
- const remainingAccounts = this.getGlamReferrer().map((p) => ({
1729
- pubkey: p,
1730
- isWritable: true,
1731
- isSigner: false,
1732
- }));
1955
+ const { user, userStats } = this.getDriftUserPdas(glamState, subAccountId);
1956
+ const { user: referrer, userStats: referrerStats } = this.getGlamReferrerPdas();
1957
+ const remainingAccounts = [
1958
+ { pubkey: referrer, isWritable: true, isSigner: false },
1959
+ { pubkey: referrerStats, isWritable: true, isSigner: false },
1960
+ ];
1733
1961
  return await this.base.program.methods
1734
1962
  .driftInitializeUser(subAccountId, name)
1735
1963
  .accounts({
1736
1964
  glamState,
1737
1965
  user,
1738
1966
  userStats,
1739
- state,
1967
+ state: this.driftStatePda,
1740
1968
  glamSigner,
1741
1969
  })
1742
1970
  .remainingAccounts(remainingAccounts)
@@ -1746,7 +1974,7 @@ class DriftClient {
1746
1974
  const glamSigner = txOptions.signer || this.base.getSigner();
1747
1975
  const tx = new web3_js_1.Transaction();
1748
1976
  // Create userStats account if it doesn't exist
1749
- const [_, userStats] = this.getUser(glamState);
1977
+ const { userStats } = this.getDriftUserPdas(glamState);
1750
1978
  const userStatsInfo = await this.base.provider.connection.getAccountInfo(userStats);
1751
1979
  if (!userStatsInfo) {
1752
1980
  tx.add(await this.initializeUserStatsIx(glamState, glamSigner));
@@ -1758,7 +1986,7 @@ class DriftClient {
1758
1986
  async updateUserCustomMarginRatioIx(glamState, maxLeverage, // 1=1x, 2=2x ... 50=50x leverage
1759
1987
  subAccountId = 0, txOptions = {}) {
1760
1988
  const glamSigner = txOptions.signer || this.base.getSigner();
1761
- const [user] = this.getUser(glamState, subAccountId);
1989
+ const { user } = this.getDriftUserPdas(glamState, subAccountId);
1762
1990
  // https://github.com/drift-labs/protocol-v2/blob/babed162b08b1fe34e49a81c5aa3e4ec0a88ecdf/programs/drift/src/math/constants.rs#L183-L184
1763
1991
  const marginRatio = DRIFT_MARGIN_PRECISION / maxLeverage;
1764
1992
  return await this.base.program.methods
@@ -1777,7 +2005,7 @@ class DriftClient {
1777
2005
  }
1778
2006
  async updateUserMarginTradingEnabledIx(glamState, marginTradingEnabled, subAccountId = 0, txOptions = {}) {
1779
2007
  const glamSigner = txOptions.signer || this.base.getSigner();
1780
- const [user] = this.getUser(glamState, subAccountId);
2008
+ const { user } = this.getDriftUserPdas(glamState, subAccountId);
1781
2009
  return await this.base.program.methods
1782
2010
  .driftUpdateUserMarginTradingEnabled(subAccountId, marginTradingEnabled)
1783
2011
  .accounts({
@@ -1793,7 +2021,7 @@ class DriftClient {
1793
2021
  }
1794
2022
  async updateUserDelegateIx(glamState, delegate, subAccountId = 0, txOptions = {}) {
1795
2023
  const glamSigner = txOptions.signer || this.base.getSigner();
1796
- const [user] = this.getUser(glamState, subAccountId);
2024
+ const { user } = this.getDriftUserPdas(glamState, subAccountId);
1797
2025
  return await this.base.program.methods
1798
2026
  .driftUpdateUserDelegate(subAccountId, new web3_js_1.PublicKey(delegate))
1799
2027
  .accounts({
@@ -1809,13 +2037,12 @@ class DriftClient {
1809
2037
  }
1810
2038
  async deleteUserTx(glamState, subAccountId = 0, txOptions = {}) {
1811
2039
  const glamSigner = txOptions.signer || this.base.getSigner();
1812
- const [user, userStats] = this.getUser(glamState, subAccountId);
1813
- const state = await (0, sdk_1.getDriftStateAccountPublicKey)(constants_1.DRIFT_PROGRAM_ID);
2040
+ const { user, userStats } = this.getDriftUserPdas(glamState, subAccountId);
1814
2041
  const tx = await this.base.program.methods
1815
2042
  .driftDeleteUser()
1816
2043
  .accounts({
1817
2044
  glamState,
1818
- state,
2045
+ state: this.driftStatePda,
1819
2046
  user,
1820
2047
  userStats,
1821
2048
  glamSigner,
@@ -1823,22 +2050,18 @@ class DriftClient {
1823
2050
  .transaction();
1824
2051
  return await this.base.intoVersionedTransaction(tx, txOptions);
1825
2052
  }
1826
- async depositTx(glamState, amount, marketIndex = 1, subAccountId = 0, marketConfigs, txOptions = {}) {
2053
+ async depositTx(glamState, amount, marketIndex = 1, subAccountId = 0, txOptions = {}) {
1827
2054
  const glamSigner = txOptions.signer || this.base.getSigner();
1828
- const [user, userStats] = this.getUser(glamState, subAccountId);
1829
- const state = await (0, sdk_1.getDriftStateAccountPublicKey)(constants_1.DRIFT_PROGRAM_ID);
1830
- const { mint, oracle, marketPDA, vaultPDA } = marketConfigs.spot[marketIndex];
1831
- console.log("mint, oracle, marketPDA, vaultPDA", mint, oracle, marketPDA, vaultPDA);
2055
+ const { user, userStats } = this.getDriftUserPdas(glamState, subAccountId);
2056
+ const { mint, oracle, tokenProgram, marketPda, vault: driftVault, } = await this.fetchAndParseSpotMarket(marketIndex);
2057
+ console.log(`Spot market ${marketIndex} mint ${mint}, oracle: ${oracle}, marketPda: ${marketPda}, vault: ${driftVault}`);
1832
2058
  const preInstructions = [];
1833
2059
  const postInstructions = [];
1834
2060
  // If drift user doesn't exist, prepend initializeUserStats and initializeUser instructions
1835
- try {
1836
- await this.fetchGlamDriftUser(glamState, subAccountId);
1837
- }
1838
- catch (_) {
2061
+ if (!(await this.fetchDriftUser(glamState, subAccountId))) {
1839
2062
  preInstructions.push(await this.initializeUserStatsIx(glamState, glamSigner), await this.initializeUserIx(glamState, glamSigner, subAccountId));
1840
2063
  }
1841
- if (mint === constants_1.WSOL.toBase58()) {
2064
+ if (mint.equals(constants_1.WSOL)) {
1842
2065
  const wrapSolIxs = await this.base.maybeWrapSol(glamState, amount, glamSigner);
1843
2066
  preInstructions.push(...wrapSolIxs);
1844
2067
  // If we need to wrap SOL, it means the wSOL balance will be drained,
@@ -1855,84 +2078,94 @@ class DriftClient {
1855
2078
  .instruction();
1856
2079
  postInstructions.push(closeTokenAccountIx);
1857
2080
  }
2081
+ const remainingAccounts = [
2082
+ { pubkey: new web3_js_1.PublicKey(oracle), isSigner: false, isWritable: false },
2083
+ { pubkey: new web3_js_1.PublicKey(marketPda), isSigner: false, isWritable: true },
2084
+ ];
2085
+ if (tokenProgram.equals(spl_token_1.TOKEN_2022_PROGRAM_ID)) {
2086
+ remainingAccounts.push({
2087
+ pubkey: mint,
2088
+ isSigner: false,
2089
+ isWritable: false,
2090
+ });
2091
+ }
1858
2092
  const tx = await this.base.program.methods
1859
2093
  .driftDeposit(marketIndex, amount, false)
1860
2094
  .accounts({
1861
2095
  glamState,
1862
- state,
2096
+ state: this.driftStatePda,
1863
2097
  user,
1864
2098
  userStats,
1865
- spotMarketVault: new web3_js_1.PublicKey(vaultPDA),
1866
- userTokenAccount: this.base.getVaultAta(glamState, new web3_js_1.PublicKey(mint)),
2099
+ spotMarketVault: driftVault,
2100
+ userTokenAccount: this.base.getVaultAta(glamState, mint, tokenProgram),
1867
2101
  glamSigner,
1868
- tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
2102
+ tokenProgram,
1869
2103
  })
1870
- .remainingAccounts([
1871
- { pubkey: new web3_js_1.PublicKey(oracle), isSigner: false, isWritable: false },
1872
- { pubkey: new web3_js_1.PublicKey(marketPDA), isSigner: false, isWritable: true },
1873
- ])
2104
+ .remainingAccounts(remainingAccounts)
1874
2105
  .preInstructions(preInstructions)
1875
2106
  .postInstructions(postInstructions)
1876
2107
  .transaction();
1877
2108
  return await this.base.intoVersionedTransaction(tx, txOptions);
1878
2109
  }
1879
- async withdrawTx(statePda, amount, marketIndex = 1, subAccountId = 0, marketConfigs, txOptions = {}) {
2110
+ async withdrawTx(statePda, amount, marketIndex = 1, subAccountId = 0, txOptions = {}) {
1880
2111
  const glamSigner = txOptions.signer || this.base.getSigner();
1881
- const [user, userStats] = this.getUser(statePda, subAccountId);
1882
- const state = await (0, sdk_1.getDriftStateAccountPublicKey)(constants_1.DRIFT_PROGRAM_ID);
1883
- const { mint: m, vaultPDA: d } = marketConfigs.spot[marketIndex];
1884
- const mint = new web3_js_1.PublicKey(m);
1885
- const driftAta = new web3_js_1.PublicKey(d); // drift vault ata
1886
- const vault = this.base.getVaultPda(statePda);
1887
- const vaultAta = this.base.getVaultAta(statePda, mint); // glam vault ata
1888
- const remainingAccounts = await this.composeRemainingAccounts(statePda, subAccountId, marketConfigs, sdk_1.MarketType.SPOT, marketIndex);
1889
- const { tokenProgram } = await this.base.fetchMintWithOwner(mint);
2112
+ const { user, userStats } = this.getDriftUserPdas(statePda, subAccountId);
2113
+ const { mint, tokenProgram, vault: driftVault, } = await this.fetchAndParseSpotMarket(marketIndex);
2114
+ const glamVault = this.base.getVaultPda(statePda);
2115
+ const glamVaultAta = this.base.getVaultAta(statePda, mint, tokenProgram);
2116
+ const remainingAccounts = await this.composeRemainingAccounts(statePda, subAccountId, driftTypes_1.MarketType.SPOT, marketIndex);
2117
+ if (tokenProgram.equals(spl_token_1.TOKEN_2022_PROGRAM_ID)) {
2118
+ remainingAccounts.push({
2119
+ pubkey: mint,
2120
+ isSigner: false,
2121
+ isWritable: false,
2122
+ });
2123
+ }
1890
2124
  // Create vault ata in case it doesn't exist
1891
2125
  const preInstructions = [
1892
- (0, spl_token_1.createAssociatedTokenAccountIdempotentInstruction)(glamSigner, vaultAta, vault, mint, tokenProgram),
2126
+ (0, spl_token_1.createAssociatedTokenAccountIdempotentInstruction)(glamSigner, glamVaultAta, glamVault, mint, tokenProgram),
1893
2127
  ];
1894
2128
  const tx = await this.base.program.methods
1895
2129
  .driftWithdraw(marketIndex, amount, false)
1896
2130
  .accounts({
1897
2131
  glamState: statePda,
1898
- state,
2132
+ state: this.driftStatePda,
1899
2133
  user,
1900
2134
  userStats,
1901
2135
  glamSigner,
1902
- spotMarketVault: driftAta,
1903
- userTokenAccount: vaultAta,
1904
- driftSigner: DRIFT_VAULT,
1905
- tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
2136
+ spotMarketVault: driftVault,
2137
+ userTokenAccount: glamVaultAta,
2138
+ driftSigner: DRIFT_SIGNER,
2139
+ tokenProgram,
1906
2140
  })
1907
2141
  .remainingAccounts(remainingAccounts)
1908
2142
  .preInstructions(preInstructions)
1909
2143
  .transaction();
1910
2144
  return await this.base.intoVersionedTransaction(tx, txOptions);
1911
2145
  }
1912
- async placeOrderTx(glamState, orderParams, subAccountId = 0, marketConfigs, txOptions = {}) {
2146
+ async placeOrderTx(glamState, orderParams, subAccountId = 0, txOptions = {}) {
1913
2147
  const { marketIndex, marketType } = orderParams;
1914
- const remainingAccounts = (await this.composeRemainingAccounts(glamState, subAccountId, marketConfigs, marketType, marketIndex)).concat(this.getGlamReferrer().map((p) => ({
1915
- pubkey: p,
1916
- isWritable: true,
1917
- isSigner: false,
1918
- })));
2148
+ const { user: referrer, userStats: referrerStats } = this.getGlamReferrerPdas();
2149
+ const remainingAccounts = (await this.composeRemainingAccounts(glamState, subAccountId, marketType, marketIndex)).concat([
2150
+ { pubkey: referrer, isWritable: true, isSigner: false },
2151
+ { pubkey: referrerStats, isWritable: true, isSigner: false },
2152
+ ]);
1919
2153
  const glamSigner = txOptions.signer || this.base.getSigner();
1920
- const [user] = this.getUser(glamState, subAccountId);
1921
- const state = await (0, sdk_1.getDriftStateAccountPublicKey)(constants_1.DRIFT_PROGRAM_ID);
2154
+ const { user } = this.getDriftUserPdas(glamState, subAccountId);
2155
+ // @ts-ignore
1922
2156
  const tx = await this.base.program.methods
1923
- // @ts-ignore
1924
2157
  .driftPlaceOrders([orderParams])
1925
2158
  .accounts({
1926
2159
  glamState,
1927
2160
  user,
1928
- state,
2161
+ state: this.driftStatePda,
1929
2162
  glamSigner,
1930
2163
  })
1931
2164
  .remainingAccounts(remainingAccounts)
1932
2165
  .transaction();
1933
2166
  return await this.base.intoVersionedTransaction(tx, txOptions);
1934
2167
  }
1935
- async modifyOrderTx(statePda, modifyOrderParams, subAccountId = 0, marketConfigs, txOptions = {}) {
2168
+ async modifyOrderTx(statePda, modifyOrderParams, subAccountId = 0, txOptions = {}) {
1936
2169
  // const { marketIndex, marketType } = orderParams;
1937
2170
  // const remainingAccounts = await this.composeRemainingAccounts(
1938
2171
  // statePda,
@@ -1942,8 +2175,7 @@ class DriftClient {
1942
2175
  // marketIndex,
1943
2176
  // );
1944
2177
  const signer = txOptions.signer || this.base.getSigner();
1945
- const [user] = this.getUser(statePda, subAccountId);
1946
- const driftState = await (0, sdk_1.getDriftStateAccountPublicKey)(constants_1.DRIFT_PROGRAM_ID);
2178
+ const { user } = this.getDriftUserPdas(statePda, subAccountId);
1947
2179
  const tx = await this.base.program.methods
1948
2180
  // @ts-ignore
1949
2181
  .driftModifyOrder(1, modifyOrderParams)
@@ -1951,17 +2183,16 @@ class DriftClient {
1951
2183
  glamState: statePda,
1952
2184
  glamSigner: signer,
1953
2185
  user,
1954
- state: driftState,
2186
+ state: this.driftStatePda,
1955
2187
  })
1956
2188
  // .remainingAccounts(remainingAccounts)
1957
2189
  .transaction();
1958
2190
  return await this.base.intoVersionedTransaction(tx, txOptions);
1959
2191
  }
1960
- async cancelOrdersTx(glamState, marketType, marketIndex, direction, subAccountId = 0, marketConfigs, txOptions = {}) {
2192
+ async cancelOrdersTx(glamState, marketType, marketIndex, direction, subAccountId = 0, txOptions = {}) {
1961
2193
  const glamSigner = txOptions.signer || this.base.getSigner();
1962
- const [user] = this.getUser(glamState, subAccountId);
1963
- const driftState = await (0, sdk_1.getDriftStateAccountPublicKey)(constants_1.DRIFT_PROGRAM_ID);
1964
- const remainingAccounts = await this.composeRemainingAccounts(glamState, subAccountId, marketConfigs, marketType, marketIndex);
2194
+ const { user } = this.getDriftUserPdas(glamState, subAccountId);
2195
+ const remainingAccounts = await this.composeRemainingAccounts(glamState, subAccountId, marketType, marketIndex);
1965
2196
  // @ts-ignore
1966
2197
  const tx = await this.base.program.methods
1967
2198
  .driftCancelOrders(marketType, marketIndex, direction)
@@ -1969,52 +2200,51 @@ class DriftClient {
1969
2200
  glamState,
1970
2201
  glamSigner,
1971
2202
  user,
1972
- state: driftState,
2203
+ state: this.driftStatePda,
1973
2204
  })
1974
2205
  .remainingAccounts(remainingAccounts)
1975
2206
  .transaction();
1976
2207
  return await this.base.intoVersionedTransaction(tx, txOptions);
1977
2208
  }
1978
- async cancelOrdersByIdsTx(glamState, orderIds, subAccountId = 0, marketConfigs, txOptions = {}) {
2209
+ async cancelOrdersByIdsTx(glamState, orderIds, subAccountId = 0, txOptions = {}) {
1979
2210
  const glamSigner = txOptions.signer || this.base.getSigner();
1980
- const [user] = this.getUser(glamState, subAccountId);
1981
- const driftState = await (0, sdk_1.getDriftStateAccountPublicKey)(constants_1.DRIFT_PROGRAM_ID);
1982
- const remainingAccounts = await this.composeRemainingAccounts(glamState, subAccountId, marketConfigs);
2211
+ const { user } = this.getDriftUserPdas(glamState, subAccountId);
2212
+ const remainingAccounts = await this.composeRemainingAccounts(glamState, subAccountId);
2213
+ // @ts-ignore
1983
2214
  const tx = await this.base.program.methods
1984
2215
  .driftCancelOrdersByIds(orderIds)
1985
2216
  .accounts({
1986
2217
  glamState,
1987
2218
  glamSigner,
1988
2219
  user,
1989
- state: driftState,
2220
+ state: this.driftStatePda,
1990
2221
  })
1991
2222
  .remainingAccounts(remainingAccounts)
1992
2223
  .transaction();
1993
2224
  return await this.base.intoVersionedTransaction(tx, txOptions);
1994
2225
  }
1995
- async settlePnlTx(glamState, marketIndex, subAccountId = 0, marketConfigs, txOptions = {}) {
2226
+ async settlePnlTx(glamState, marketIndex, subAccountId = 0, txOptions = {}) {
1996
2227
  const glamSigner = txOptions.signer || this.base.getSigner();
1997
- const [user] = this.getUser(glamState, subAccountId);
1998
- const driftState = await (0, sdk_1.getDriftStateAccountPublicKey)(constants_1.DRIFT_PROGRAM_ID);
1999
- const { vaultPDA } = marketConfigs.spot[marketIndex];
2228
+ const { user } = this.getDriftUserPdas(glamState, subAccountId);
2229
+ const { vault: driftVault } = await this.fetchAndParseSpotMarket(marketIndex);
2230
+ // @ts-ignore
2000
2231
  const tx = await this.base.program.methods
2001
2232
  .driftSettlePnl(marketIndex)
2002
2233
  .accounts({
2003
2234
  glamState,
2004
2235
  glamSigner,
2005
2236
  user,
2006
- state: driftState,
2007
- spotMarketVault: new web3_js_1.PublicKey(vaultPDA),
2237
+ state: this.driftStatePda,
2238
+ spotMarketVault: driftVault,
2008
2239
  })
2009
2240
  .transaction();
2010
2241
  return await this.base.intoVersionedTransaction(tx, txOptions);
2011
2242
  }
2012
- async priceDriftTx(glamState, marketConfigs, priceDenom, txOptions = {}) {
2243
+ async priceDriftTx(glamState, priceDenom, txOptions = {}) {
2013
2244
  const signer = txOptions.signer || this.base.getSigner();
2014
2245
  const glamVault = this.base.getVaultPda(glamState);
2015
- const [user, userStats] = this.getUser(glamState);
2016
- const driftState = await (0, sdk_1.getDriftStateAccountPublicKey)(constants_1.DRIFT_PROGRAM_ID);
2017
- const remainingAccounts = await this.composeRemainingAccounts(glamState, 0, marketConfigs);
2246
+ const { user, userStats } = this.getDriftUserPdas(glamState);
2247
+ const remainingAccounts = await this.composeRemainingAccounts(glamState, 0);
2018
2248
  const tx = await this.base.program.methods
2019
2249
  .priceDrift(priceDenom)
2020
2250
  .accounts({
@@ -2024,7 +2254,7 @@ class DriftClient {
2024
2254
  user,
2025
2255
  userStats,
2026
2256
  solOracle: assets_1.SOL_ORACLE,
2027
- state: driftState,
2257
+ state: this.driftStatePda,
2028
2258
  })
2029
2259
  .remainingAccounts(remainingAccounts)
2030
2260
  .transaction();
@@ -2036,15 +2266,767 @@ exports.DriftClient = DriftClient;
2036
2266
 
2037
2267
  /***/ }),
2038
2268
  /* 21 */
2039
- /***/ ((module) => {
2269
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2270
+
2271
+
2272
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2273
+ exports.SwapReduceOnly = exports.PlaceAndTakeOrderSuccessCondition = exports.FuelOverflowStatus = exports.ReferrerStatus = exports.DefaultOrderParams = exports.ModifyOrderPolicy = exports.PostOnlyParams = exports.LiquidationType = exports.LPAction = exports.TradeSide = exports.SettlePnlMode = exports.StakeAction = exports.SpotFulfillmentConfigStatus = exports.SettlePnlExplanation = exports.DepositExplanation = exports.SpotFulfillmentStatus = exports.SpotFulfillmentType = exports.OrderTriggerCondition = exports.OrderActionExplanation = exports.OrderAction = exports.OrderStatus = exports.MarketType = exports.OrderType = exports.OracleSourceNum = exports.OracleSource = exports.DepositDirection = exports.PositionDirection = exports.SpotBalanceType = exports.SwapDirection = exports.AssetTier = exports.ContractTier = exports.ContractType = exports.MarginMode = exports.UserStatus = exports.InsuranceFundOperation = exports.SpotOperation = exports.PerpOperation = exports.MarketStatus = exports.ExchangeStatus = exports.ZERO = void 0;
2274
+ exports.isVariant = isVariant;
2275
+ exports.isOneOfVariant = isOneOfVariant;
2276
+ exports.getVariant = getVariant;
2277
+ const anchor_1 = __webpack_require__(2);
2278
+ exports.ZERO = new anchor_1.BN(0);
2279
+ // # Utility Types / Enums / Constants
2280
+ var ExchangeStatus;
2281
+ (function (ExchangeStatus) {
2282
+ ExchangeStatus[ExchangeStatus["ACTIVE"] = 0] = "ACTIVE";
2283
+ ExchangeStatus[ExchangeStatus["DEPOSIT_PAUSED"] = 1] = "DEPOSIT_PAUSED";
2284
+ ExchangeStatus[ExchangeStatus["WITHDRAW_PAUSED"] = 2] = "WITHDRAW_PAUSED";
2285
+ ExchangeStatus[ExchangeStatus["AMM_PAUSED"] = 4] = "AMM_PAUSED";
2286
+ ExchangeStatus[ExchangeStatus["FILL_PAUSED"] = 8] = "FILL_PAUSED";
2287
+ ExchangeStatus[ExchangeStatus["LIQ_PAUSED"] = 16] = "LIQ_PAUSED";
2288
+ ExchangeStatus[ExchangeStatus["FUNDING_PAUSED"] = 32] = "FUNDING_PAUSED";
2289
+ ExchangeStatus[ExchangeStatus["SETTLE_PNL_PAUSED"] = 64] = "SETTLE_PNL_PAUSED";
2290
+ ExchangeStatus[ExchangeStatus["AMM_IMMEDIATE_FILL_PAUSED"] = 128] = "AMM_IMMEDIATE_FILL_PAUSED";
2291
+ ExchangeStatus[ExchangeStatus["PAUSED"] = 255] = "PAUSED";
2292
+ })(ExchangeStatus || (exports.ExchangeStatus = ExchangeStatus = {}));
2293
+ class MarketStatus {
2294
+ }
2295
+ exports.MarketStatus = MarketStatus;
2296
+ MarketStatus.INITIALIZED = { initialized: {} };
2297
+ MarketStatus.ACTIVE = { active: {} };
2298
+ MarketStatus.FUNDING_PAUSED = { fundingPaused: {} };
2299
+ MarketStatus.AMM_PAUSED = { ammPaused: {} };
2300
+ MarketStatus.FILL_PAUSED = { fillPaused: {} };
2301
+ MarketStatus.WITHDRAW_PAUSED = { withdrawPaused: {} };
2302
+ MarketStatus.REDUCE_ONLY = { reduceOnly: {} };
2303
+ MarketStatus.SETTLEMENT = { settlement: {} };
2304
+ MarketStatus.DELISTED = { delisted: {} };
2305
+ var PerpOperation;
2306
+ (function (PerpOperation) {
2307
+ PerpOperation[PerpOperation["UPDATE_FUNDING"] = 1] = "UPDATE_FUNDING";
2308
+ PerpOperation[PerpOperation["AMM_FILL"] = 2] = "AMM_FILL";
2309
+ PerpOperation[PerpOperation["FILL"] = 4] = "FILL";
2310
+ PerpOperation[PerpOperation["SETTLE_PNL"] = 8] = "SETTLE_PNL";
2311
+ PerpOperation[PerpOperation["SETTLE_PNL_WITH_POSITION"] = 16] = "SETTLE_PNL_WITH_POSITION";
2312
+ PerpOperation[PerpOperation["LIQUIDATION"] = 32] = "LIQUIDATION";
2313
+ })(PerpOperation || (exports.PerpOperation = PerpOperation = {}));
2314
+ var SpotOperation;
2315
+ (function (SpotOperation) {
2316
+ SpotOperation[SpotOperation["UPDATE_CUMULATIVE_INTEREST"] = 1] = "UPDATE_CUMULATIVE_INTEREST";
2317
+ SpotOperation[SpotOperation["FILL"] = 2] = "FILL";
2318
+ SpotOperation[SpotOperation["DEPOSIT"] = 4] = "DEPOSIT";
2319
+ SpotOperation[SpotOperation["WITHDRAW"] = 8] = "WITHDRAW";
2320
+ SpotOperation[SpotOperation["LIQUIDATION"] = 16] = "LIQUIDATION";
2321
+ })(SpotOperation || (exports.SpotOperation = SpotOperation = {}));
2322
+ var InsuranceFundOperation;
2323
+ (function (InsuranceFundOperation) {
2324
+ InsuranceFundOperation[InsuranceFundOperation["INIT"] = 1] = "INIT";
2325
+ InsuranceFundOperation[InsuranceFundOperation["ADD"] = 2] = "ADD";
2326
+ InsuranceFundOperation[InsuranceFundOperation["REQUEST_REMOVE"] = 4] = "REQUEST_REMOVE";
2327
+ InsuranceFundOperation[InsuranceFundOperation["REMOVE"] = 8] = "REMOVE";
2328
+ })(InsuranceFundOperation || (exports.InsuranceFundOperation = InsuranceFundOperation = {}));
2329
+ var UserStatus;
2330
+ (function (UserStatus) {
2331
+ UserStatus[UserStatus["BEING_LIQUIDATED"] = 1] = "BEING_LIQUIDATED";
2332
+ UserStatus[UserStatus["BANKRUPT"] = 2] = "BANKRUPT";
2333
+ UserStatus[UserStatus["REDUCE_ONLY"] = 4] = "REDUCE_ONLY";
2334
+ UserStatus[UserStatus["ADVANCED_LP"] = 8] = "ADVANCED_LP";
2335
+ UserStatus[UserStatus["PROTECTED_MAKER"] = 16] = "PROTECTED_MAKER";
2336
+ })(UserStatus || (exports.UserStatus = UserStatus = {}));
2337
+ class MarginMode {
2338
+ }
2339
+ exports.MarginMode = MarginMode;
2340
+ MarginMode.DEFAULT = { default: {} };
2341
+ MarginMode.HIGH_LEVERAGE = { highLeverage: {} };
2342
+ class ContractType {
2343
+ }
2344
+ exports.ContractType = ContractType;
2345
+ ContractType.PERPETUAL = { perpetual: {} };
2346
+ ContractType.FUTURE = { future: {} };
2347
+ ContractType.PREDICTION = { prediction: {} };
2348
+ class ContractTier {
2349
+ }
2350
+ exports.ContractTier = ContractTier;
2351
+ ContractTier.A = { a: {} };
2352
+ ContractTier.B = { b: {} };
2353
+ ContractTier.C = { c: {} };
2354
+ ContractTier.SPECULATIVE = { speculative: {} };
2355
+ ContractTier.HIGHLY_SPECULATIVE = { highlySpeculative: {} };
2356
+ ContractTier.ISOLATED = { isolated: {} };
2357
+ class AssetTier {
2358
+ }
2359
+ exports.AssetTier = AssetTier;
2360
+ AssetTier.COLLATERAL = { collateral: {} };
2361
+ AssetTier.PROTECTED = { protected: {} };
2362
+ AssetTier.CROSS = { cross: {} };
2363
+ AssetTier.ISOLATED = { isolated: {} };
2364
+ AssetTier.UNLISTED = { unlisted: {} };
2365
+ class SwapDirection {
2366
+ }
2367
+ exports.SwapDirection = SwapDirection;
2368
+ SwapDirection.ADD = { add: {} };
2369
+ SwapDirection.REMOVE = { remove: {} };
2370
+ class SpotBalanceType {
2371
+ }
2372
+ exports.SpotBalanceType = SpotBalanceType;
2373
+ SpotBalanceType.DEPOSIT = { deposit: {} };
2374
+ SpotBalanceType.BORROW = { borrow: {} };
2375
+ class PositionDirection {
2376
+ }
2377
+ exports.PositionDirection = PositionDirection;
2378
+ PositionDirection.LONG = { long: {} };
2379
+ PositionDirection.SHORT = { short: {} };
2380
+ class DepositDirection {
2381
+ }
2382
+ exports.DepositDirection = DepositDirection;
2383
+ DepositDirection.DEPOSIT = { deposit: {} };
2384
+ DepositDirection.WITHDRAW = { withdraw: {} };
2385
+ class OracleSource {
2386
+ static get(n) {
2387
+ const name = Object.entries(OracleSourceNum).find(([, v]) => v === n)?.[0];
2388
+ const source = Object.entries(OracleSource).find(([key, _]) => key.toLocaleLowerCase() === name?.toLocaleLowerCase())?.[1];
2389
+ if (!source) {
2390
+ throw new Error(`Invalid oracle source enum value: ${n}`);
2391
+ }
2392
+ return source;
2393
+ }
2394
+ }
2395
+ exports.OracleSource = OracleSource;
2396
+ OracleSource.PYTH = { pyth: {} };
2397
+ OracleSource.PYTH_1K = { pyth1K: {} };
2398
+ OracleSource.PYTH_1M = { pyth1M: {} };
2399
+ OracleSource.PYTH_PULL = { pythPull: {} };
2400
+ OracleSource.PYTH_1K_PULL = { pyth1KPull: {} };
2401
+ OracleSource.PYTH_1M_PULL = { pyth1MPull: {} };
2402
+ OracleSource.SWITCHBOARD = { switchboard: {} };
2403
+ OracleSource.QUOTE_ASSET = { quoteAsset: {} };
2404
+ OracleSource.PYTH_STABLE_COIN = { pythStableCoin: {} };
2405
+ OracleSource.PYTH_STABLE_COIN_PULL = { pythStableCoinPull: {} };
2406
+ OracleSource.Prelaunch = { prelaunch: {} };
2407
+ OracleSource.SWITCHBOARD_ON_DEMAND = { switchboardOnDemand: {} };
2408
+ OracleSource.PYTH_LAZER = { pythLazer: {} };
2409
+ OracleSource.PYTH_LAZER_1K = { pythLazer1K: {} };
2410
+ OracleSource.PYTH_LAZER_1M = { pythLazer1M: {} };
2411
+ OracleSource.PYTH_LAZER_STABLE_COIN = { pythLazerStableCoin: {} };
2412
+ class OracleSourceNum {
2413
+ }
2414
+ exports.OracleSourceNum = OracleSourceNum;
2415
+ OracleSourceNum.PYTH = 0;
2416
+ OracleSourceNum.PYTH_1K = 1;
2417
+ OracleSourceNum.PYTH_1M = 2;
2418
+ OracleSourceNum.PYTH_PULL = 3;
2419
+ OracleSourceNum.PYTH_1K_PULL = 4;
2420
+ OracleSourceNum.PYTH_1M_PULL = 5;
2421
+ OracleSourceNum.SWITCHBOARD = 6;
2422
+ OracleSourceNum.QUOTE_ASSET = 7;
2423
+ OracleSourceNum.PYTH_STABLE_COIN = 8;
2424
+ OracleSourceNum.PYTH_STABLE_COIN_PULL = 9;
2425
+ OracleSourceNum.PRELAUNCH = 10;
2426
+ OracleSourceNum.SWITCHBOARD_ON_DEMAND = 11;
2427
+ OracleSourceNum.PYTH_LAZER = 12;
2428
+ OracleSourceNum.PYTH_LAZER_1K = 13;
2429
+ OracleSourceNum.PYTH_LAZER_1M = 14;
2430
+ OracleSourceNum.PYTH_LAZER_STABLE_COIN = 15;
2431
+ class OrderType {
2432
+ }
2433
+ exports.OrderType = OrderType;
2434
+ OrderType.LIMIT = { limit: {} };
2435
+ OrderType.TRIGGER_MARKET = { triggerMarket: {} };
2436
+ OrderType.TRIGGER_LIMIT = { triggerLimit: {} };
2437
+ OrderType.MARKET = { market: {} };
2438
+ OrderType.ORACLE = { oracle: {} };
2439
+ class MarketType {
2440
+ }
2441
+ exports.MarketType = MarketType;
2442
+ MarketType.SPOT = { spot: {} };
2443
+ MarketType.PERP = { perp: {} };
2444
+ class OrderStatus {
2445
+ }
2446
+ exports.OrderStatus = OrderStatus;
2447
+ OrderStatus.INIT = { init: {} };
2448
+ OrderStatus.OPEN = { open: {} };
2449
+ OrderStatus.FILLED = { filled: {} };
2450
+ OrderStatus.CANCELED = { canceled: {} };
2451
+ class OrderAction {
2452
+ }
2453
+ exports.OrderAction = OrderAction;
2454
+ OrderAction.PLACE = { place: {} };
2455
+ OrderAction.CANCEL = { cancel: {} };
2456
+ OrderAction.EXPIRE = { expire: {} };
2457
+ OrderAction.FILL = { fill: {} };
2458
+ OrderAction.TRIGGER = { trigger: {} };
2459
+ class OrderActionExplanation {
2460
+ }
2461
+ exports.OrderActionExplanation = OrderActionExplanation;
2462
+ OrderActionExplanation.NONE = { none: {} };
2463
+ OrderActionExplanation.INSUFFICIENT_FREE_COLLATERAL = {
2464
+ insufficientFreeCollateral: {},
2465
+ };
2466
+ OrderActionExplanation.ORACLE_PRICE_BREACHED_LIMIT_PRICE = {
2467
+ oraclePriceBreachedLimitPrice: {},
2468
+ };
2469
+ OrderActionExplanation.MARKET_ORDER_FILLED_TO_LIMIT_PRICE = {
2470
+ marketOrderFilledToLimitPrice: {},
2471
+ };
2472
+ OrderActionExplanation.ORDER_EXPIRED = {
2473
+ orderExpired: {},
2474
+ };
2475
+ OrderActionExplanation.LIQUIDATION = {
2476
+ liquidation: {},
2477
+ };
2478
+ OrderActionExplanation.ORDER_FILLED_WITH_AMM = {
2479
+ orderFilledWithAmm: {},
2480
+ };
2481
+ OrderActionExplanation.ORDER_FILLED_WITH_AMM_JIT = {
2482
+ orderFilledWithAmmJit: {},
2483
+ };
2484
+ OrderActionExplanation.ORDER_FILLED_WITH_AMM_JIT_LP_SPLIT = {
2485
+ orderFilledWithAmmJitLpSplit: {},
2486
+ };
2487
+ OrderActionExplanation.ORDER_FILLED_WITH_LP_JIT = {
2488
+ orderFilledWithLpJit: {},
2489
+ };
2490
+ OrderActionExplanation.ORDER_FILLED_WITH_MATCH = {
2491
+ orderFilledWithMatch: {},
2492
+ };
2493
+ OrderActionExplanation.ORDER_FILLED_WITH_MATCH_JIT = {
2494
+ orderFilledWithMatchJit: {},
2495
+ };
2496
+ OrderActionExplanation.MARKET_EXPIRED = {
2497
+ marketExpired: {},
2498
+ };
2499
+ OrderActionExplanation.RISK_INCREASING_ORDER = {
2500
+ riskingIncreasingOrder: {},
2501
+ };
2502
+ OrderActionExplanation.ORDER_FILLED_WITH_SERUM = {
2503
+ orderFillWithSerum: {},
2504
+ };
2505
+ OrderActionExplanation.ORDER_FILLED_WITH_OPENBOOK_V2 = {
2506
+ orderFilledWithOpenbookV2: {},
2507
+ };
2508
+ OrderActionExplanation.ORDER_FILLED_WITH_PHOENIX = {
2509
+ orderFillWithPhoenix: {},
2510
+ };
2511
+ OrderActionExplanation.REDUCE_ONLY_ORDER_INCREASED_POSITION = {
2512
+ reduceOnlyOrderIncreasedPosition: {},
2513
+ };
2514
+ OrderActionExplanation.DERISK_LP = {
2515
+ deriskLp: {},
2516
+ };
2517
+ OrderActionExplanation.TRANSFER_PERP_POSITION = {
2518
+ transferPerpPosition: {},
2519
+ };
2520
+ class OrderTriggerCondition {
2521
+ }
2522
+ exports.OrderTriggerCondition = OrderTriggerCondition;
2523
+ OrderTriggerCondition.ABOVE = { above: {} };
2524
+ OrderTriggerCondition.BELOW = { below: {} };
2525
+ OrderTriggerCondition.TRIGGERED_ABOVE = { triggeredAbove: {} }; // above condition has been triggered
2526
+ OrderTriggerCondition.TRIGGERED_BELOW = { triggeredBelow: {} }; // below condition has been triggered
2527
+ class SpotFulfillmentType {
2528
+ }
2529
+ exports.SpotFulfillmentType = SpotFulfillmentType;
2530
+ SpotFulfillmentType.EXTERNAL = { external: {} };
2531
+ SpotFulfillmentType.MATCH = { match: {} };
2532
+ class SpotFulfillmentStatus {
2533
+ }
2534
+ exports.SpotFulfillmentStatus = SpotFulfillmentStatus;
2535
+ SpotFulfillmentStatus.ENABLED = { enabled: {} };
2536
+ SpotFulfillmentStatus.DISABLED = { disabled: {} };
2537
+ class DepositExplanation {
2538
+ }
2539
+ exports.DepositExplanation = DepositExplanation;
2540
+ DepositExplanation.NONE = { none: {} };
2541
+ DepositExplanation.TRANSFER = { transfer: {} };
2542
+ DepositExplanation.BORROW = { borrow: {} };
2543
+ DepositExplanation.REPAY_BORROW = { repayBorrow: {} };
2544
+ class SettlePnlExplanation {
2545
+ }
2546
+ exports.SettlePnlExplanation = SettlePnlExplanation;
2547
+ SettlePnlExplanation.NONE = { none: {} };
2548
+ SettlePnlExplanation.EXPIRED_POSITION = { expiredPosition: {} };
2549
+ class SpotFulfillmentConfigStatus {
2550
+ }
2551
+ exports.SpotFulfillmentConfigStatus = SpotFulfillmentConfigStatus;
2552
+ SpotFulfillmentConfigStatus.ENABLED = { enabled: {} };
2553
+ SpotFulfillmentConfigStatus.DISABLED = { disabled: {} };
2554
+ class StakeAction {
2555
+ }
2556
+ exports.StakeAction = StakeAction;
2557
+ StakeAction.STAKE = { stake: {} };
2558
+ StakeAction.UNSTAKE_REQUEST = { unstakeRequest: {} };
2559
+ StakeAction.UNSTAKE_CANCEL_REQUEST = { unstakeCancelRequest: {} };
2560
+ StakeAction.UNSTAKE = { unstake: {} };
2561
+ StakeAction.UNSTAKE_TRANSFER = { unstakeTransfer: {} };
2562
+ StakeAction.STAKE_TRANSFER = { stakeTransfer: {} };
2563
+ class SettlePnlMode {
2564
+ }
2565
+ exports.SettlePnlMode = SettlePnlMode;
2566
+ SettlePnlMode.TRY_SETTLE = { trySettle: {} };
2567
+ SettlePnlMode.MUST_SETTLE = { mustSettle: {} };
2568
+ function isVariant(object, type) {
2569
+ return object.hasOwnProperty(type);
2570
+ }
2571
+ function isOneOfVariant(object, types) {
2572
+ return types.reduce((result, type) => {
2573
+ return result || object.hasOwnProperty(type);
2574
+ }, false);
2575
+ }
2576
+ function getVariant(object) {
2577
+ return Object.keys(object)[0];
2578
+ }
2579
+ var TradeSide;
2580
+ (function (TradeSide) {
2581
+ TradeSide[TradeSide["None"] = 0] = "None";
2582
+ TradeSide[TradeSide["Buy"] = 1] = "Buy";
2583
+ TradeSide[TradeSide["Sell"] = 2] = "Sell";
2584
+ })(TradeSide || (exports.TradeSide = TradeSide = {}));
2585
+ class LPAction {
2586
+ }
2587
+ exports.LPAction = LPAction;
2588
+ LPAction.ADD_LIQUIDITY = { addLiquidity: {} };
2589
+ LPAction.REMOVE_LIQUIDITY = { removeLiquidity: {} };
2590
+ LPAction.SETTLE_LIQUIDITY = { settleLiquidity: {} };
2591
+ LPAction.REMOVE_LIQUIDITY_DERISK = { removeLiquidityDerisk: {} };
2592
+ class LiquidationType {
2593
+ }
2594
+ exports.LiquidationType = LiquidationType;
2595
+ LiquidationType.LIQUIDATE_PERP = { liquidatePerp: {} };
2596
+ LiquidationType.LIQUIDATE_BORROW_FOR_PERP_PNL = {
2597
+ liquidateBorrowForPerpPnl: {},
2598
+ };
2599
+ LiquidationType.LIQUIDATE_PERP_PNL_FOR_DEPOSIT = {
2600
+ liquidatePerpPnlForDeposit: {},
2601
+ };
2602
+ LiquidationType.PERP_BANKRUPTCY = {
2603
+ perpBankruptcy: {},
2604
+ };
2605
+ LiquidationType.SPOT_BANKRUPTCY = {
2606
+ spotBankruptcy: {},
2607
+ };
2608
+ LiquidationType.LIQUIDATE_SPOT = {
2609
+ liquidateSpot: {},
2610
+ };
2611
+ class PostOnlyParams {
2612
+ }
2613
+ exports.PostOnlyParams = PostOnlyParams;
2614
+ PostOnlyParams.NONE = { none: {} };
2615
+ PostOnlyParams.MUST_POST_ONLY = { mustPostOnly: {} }; // Tx fails if order can't be post only
2616
+ PostOnlyParams.TRY_POST_ONLY = { tryPostOnly: {} }; // Tx succeeds and order not placed if can't be post only
2617
+ PostOnlyParams.SLIDE = { slide: {} }; // Modify price to be post only if can't be post only
2618
+ var ModifyOrderPolicy;
2619
+ (function (ModifyOrderPolicy) {
2620
+ ModifyOrderPolicy[ModifyOrderPolicy["MustModify"] = 1] = "MustModify";
2621
+ ModifyOrderPolicy[ModifyOrderPolicy["ExcludePreviousFill"] = 2] = "ExcludePreviousFill";
2622
+ })(ModifyOrderPolicy || (exports.ModifyOrderPolicy = ModifyOrderPolicy = {}));
2623
+ exports.DefaultOrderParams = {
2624
+ orderType: OrderType.MARKET,
2625
+ marketType: MarketType.PERP,
2626
+ userOrderId: 0,
2627
+ direction: PositionDirection.LONG,
2628
+ baseAssetAmount: exports.ZERO,
2629
+ price: exports.ZERO,
2630
+ marketIndex: 0,
2631
+ reduceOnly: false,
2632
+ postOnly: PostOnlyParams.NONE,
2633
+ immediateOrCancel: false,
2634
+ triggerPrice: null,
2635
+ triggerCondition: OrderTriggerCondition.ABOVE,
2636
+ oraclePriceOffset: null,
2637
+ auctionDuration: null,
2638
+ maxTs: null,
2639
+ auctionStartPrice: null,
2640
+ auctionEndPrice: null,
2641
+ };
2642
+ var ReferrerStatus;
2643
+ (function (ReferrerStatus) {
2644
+ ReferrerStatus[ReferrerStatus["IsReferrer"] = 1] = "IsReferrer";
2645
+ ReferrerStatus[ReferrerStatus["IsReferred"] = 2] = "IsReferred";
2646
+ })(ReferrerStatus || (exports.ReferrerStatus = ReferrerStatus = {}));
2647
+ var FuelOverflowStatus;
2648
+ (function (FuelOverflowStatus) {
2649
+ FuelOverflowStatus[FuelOverflowStatus["Exists"] = 1] = "Exists";
2650
+ })(FuelOverflowStatus || (exports.FuelOverflowStatus = FuelOverflowStatus = {}));
2651
+ var PlaceAndTakeOrderSuccessCondition;
2652
+ (function (PlaceAndTakeOrderSuccessCondition) {
2653
+ PlaceAndTakeOrderSuccessCondition[PlaceAndTakeOrderSuccessCondition["PartialFill"] = 1] = "PartialFill";
2654
+ PlaceAndTakeOrderSuccessCondition[PlaceAndTakeOrderSuccessCondition["FullFill"] = 2] = "FullFill";
2655
+ })(PlaceAndTakeOrderSuccessCondition || (exports.PlaceAndTakeOrderSuccessCondition = PlaceAndTakeOrderSuccessCondition = {}));
2656
+ class SwapReduceOnly {
2657
+ }
2658
+ exports.SwapReduceOnly = SwapReduceOnly;
2659
+ SwapReduceOnly.In = { in: {} };
2660
+ SwapReduceOnly.Out = { out: {} };
2040
2661
 
2041
- module.exports = require("@drift-labs/sdk");
2042
2662
 
2043
2663
  /***/ }),
2044
2664
  /* 22 */
2045
2665
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2046
2666
 
2047
2667
 
2668
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2669
+ exports.decodeUser = decodeUser;
2670
+ const driftTypes_1 = __webpack_require__(21);
2671
+ const web3_js_1 = __webpack_require__(5);
2672
+ const anchor_1 = __webpack_require__(2);
2673
+ const driftTypes_2 = __webpack_require__(21);
2674
+ function readUnsignedBigInt64LE(buffer, offset) {
2675
+ return new anchor_1.BN(buffer.subarray(offset, offset + 8), 10, "le");
2676
+ }
2677
+ function readSignedBigInt64LE(buffer, offset) {
2678
+ const unsignedValue = new anchor_1.BN(buffer.subarray(offset, offset + 8), 10, "le");
2679
+ if (unsignedValue.testn(63)) {
2680
+ const inverted = unsignedValue.notn(64).addn(1);
2681
+ return inverted.neg();
2682
+ }
2683
+ else {
2684
+ return unsignedValue;
2685
+ }
2686
+ }
2687
+ function decodeUser(buffer) {
2688
+ let offset = 8;
2689
+ const authority = new web3_js_1.PublicKey(buffer.slice(offset, offset + 32));
2690
+ offset += 32;
2691
+ const delegate = new web3_js_1.PublicKey(buffer.slice(offset, offset + 32));
2692
+ offset += 32;
2693
+ const name = [];
2694
+ for (let i = 0; i < 32; i++) {
2695
+ name.push(buffer.readUint8(offset + i));
2696
+ }
2697
+ offset += 32;
2698
+ const spotPositions = [];
2699
+ for (let i = 0; i < 8; i++) {
2700
+ const scaledBalance = readUnsignedBigInt64LE(buffer, offset);
2701
+ const openOrders = buffer.readUInt8(offset + 35);
2702
+ if (scaledBalance.eq(driftTypes_2.ZERO) && openOrders === 0) {
2703
+ offset += 40;
2704
+ continue;
2705
+ }
2706
+ offset += 8;
2707
+ const openBids = readSignedBigInt64LE(buffer, offset);
2708
+ offset += 8;
2709
+ const openAsks = readSignedBigInt64LE(buffer, offset);
2710
+ offset += 8;
2711
+ const cumulativeDeposits = readSignedBigInt64LE(buffer, offset);
2712
+ offset += 8;
2713
+ const marketIndex = buffer.readUInt16LE(offset);
2714
+ offset += 2;
2715
+ const balanceTypeNum = buffer.readUInt8(offset);
2716
+ let balanceType;
2717
+ if (balanceTypeNum === 0) {
2718
+ balanceType = driftTypes_1.SpotBalanceType.DEPOSIT;
2719
+ }
2720
+ else {
2721
+ balanceType = driftTypes_1.SpotBalanceType.BORROW;
2722
+ }
2723
+ offset += 6;
2724
+ spotPositions.push({
2725
+ scaledBalance,
2726
+ openBids,
2727
+ openAsks,
2728
+ cumulativeDeposits,
2729
+ marketIndex,
2730
+ balanceType,
2731
+ openOrders,
2732
+ });
2733
+ }
2734
+ const perpPositions = [];
2735
+ for (let i = 0; i < 8; i++) {
2736
+ const baseAssetAmount = readSignedBigInt64LE(buffer, offset + 8);
2737
+ const quoteAssetAmount = readSignedBigInt64LE(buffer, offset + 16);
2738
+ const lpShares = readUnsignedBigInt64LE(buffer, offset + 64);
2739
+ const openOrders = buffer.readUInt8(offset + 94);
2740
+ if (baseAssetAmount.eq(driftTypes_2.ZERO) &&
2741
+ openOrders === 0 &&
2742
+ quoteAssetAmount.eq(driftTypes_2.ZERO) &&
2743
+ lpShares.eq(driftTypes_2.ZERO)) {
2744
+ offset += 96;
2745
+ continue;
2746
+ }
2747
+ const lastCumulativeFundingRate = readSignedBigInt64LE(buffer, offset);
2748
+ offset += 24;
2749
+ const quoteBreakEvenAmount = readSignedBigInt64LE(buffer, offset);
2750
+ offset += 8;
2751
+ const quoteEntryAmount = readSignedBigInt64LE(buffer, offset);
2752
+ offset += 8;
2753
+ const openBids = readSignedBigInt64LE(buffer, offset);
2754
+ offset += 8;
2755
+ const openAsks = readSignedBigInt64LE(buffer, offset);
2756
+ offset += 8;
2757
+ const settledPnl = readSignedBigInt64LE(buffer, offset);
2758
+ offset += 16;
2759
+ const lastBaseAssetAmountPerLp = readSignedBigInt64LE(buffer, offset);
2760
+ offset += 8;
2761
+ const lastQuoteAssetAmountPerLp = readSignedBigInt64LE(buffer, offset);
2762
+ offset += 8;
2763
+ const remainderBaseAssetAmount = buffer.readInt32LE(offset);
2764
+ offset += 4;
2765
+ const marketIndex = buffer.readUInt16LE(offset);
2766
+ offset += 3;
2767
+ const perLpBase = buffer.readUInt8(offset);
2768
+ offset += 1;
2769
+ perpPositions.push({
2770
+ lastCumulativeFundingRate,
2771
+ baseAssetAmount,
2772
+ quoteAssetAmount,
2773
+ quoteBreakEvenAmount,
2774
+ quoteEntryAmount,
2775
+ openBids,
2776
+ openAsks,
2777
+ settledPnl,
2778
+ lpShares,
2779
+ lastBaseAssetAmountPerLp,
2780
+ lastQuoteAssetAmountPerLp,
2781
+ remainderBaseAssetAmount,
2782
+ marketIndex,
2783
+ openOrders,
2784
+ perLpBase,
2785
+ });
2786
+ }
2787
+ const orders = [];
2788
+ for (let i = 0; i < 32; i++) {
2789
+ // skip order if it's not open
2790
+ if (buffer.readUint8(offset + 82) !== 1) {
2791
+ offset += 96;
2792
+ continue;
2793
+ }
2794
+ const slot = readUnsignedBigInt64LE(buffer, offset);
2795
+ offset += 8;
2796
+ const price = readUnsignedBigInt64LE(buffer, offset);
2797
+ offset += 8;
2798
+ const baseAssetAmount = readUnsignedBigInt64LE(buffer, offset);
2799
+ offset += 8;
2800
+ const baseAssetAmountFilled = readUnsignedBigInt64LE(buffer, offset);
2801
+ offset += 8;
2802
+ const quoteAssetAmountFilled = readUnsignedBigInt64LE(buffer, offset);
2803
+ offset += 8;
2804
+ const triggerPrice = readUnsignedBigInt64LE(buffer, offset);
2805
+ offset += 8;
2806
+ const auctionStartPrice = readSignedBigInt64LE(buffer, offset);
2807
+ offset += 8;
2808
+ const auctionEndPrice = readSignedBigInt64LE(buffer, offset);
2809
+ offset += 8;
2810
+ const maxTs = readSignedBigInt64LE(buffer, offset);
2811
+ offset += 8;
2812
+ const oraclePriceOffset = buffer.readInt32LE(offset);
2813
+ offset += 4;
2814
+ const orderId = buffer.readUInt32LE(offset);
2815
+ offset += 4;
2816
+ const marketIndex = buffer.readUInt16LE(offset);
2817
+ offset += 2;
2818
+ const orderStatusNum = buffer.readUInt8(offset);
2819
+ let status = driftTypes_1.OrderStatus.INIT;
2820
+ if (orderStatusNum === 0) {
2821
+ status = driftTypes_1.OrderStatus.INIT;
2822
+ }
2823
+ else if (orderStatusNum === 1) {
2824
+ status = driftTypes_1.OrderStatus.OPEN;
2825
+ }
2826
+ else if (orderStatusNum === 2) {
2827
+ status = driftTypes_1.OrderStatus.FILLED;
2828
+ }
2829
+ else if (orderStatusNum === 3) {
2830
+ status = driftTypes_1.OrderStatus.CANCELED;
2831
+ }
2832
+ offset += 1;
2833
+ const orderTypeNum = buffer.readUInt8(offset);
2834
+ let orderType = driftTypes_1.OrderType.MARKET;
2835
+ if (orderTypeNum === 0) {
2836
+ orderType = driftTypes_1.OrderType.MARKET;
2837
+ }
2838
+ else if (orderTypeNum === 1) {
2839
+ orderType = driftTypes_1.OrderType.LIMIT;
2840
+ }
2841
+ else if (orderTypeNum === 2) {
2842
+ orderType = driftTypes_1.OrderType.TRIGGER_MARKET;
2843
+ }
2844
+ else if (orderTypeNum === 3) {
2845
+ orderType = driftTypes_1.OrderType.TRIGGER_LIMIT;
2846
+ }
2847
+ else if (orderTypeNum === 4) {
2848
+ orderType = driftTypes_1.OrderType.ORACLE;
2849
+ }
2850
+ offset += 1;
2851
+ const marketTypeNum = buffer.readUInt8(offset);
2852
+ let marketType;
2853
+ if (marketTypeNum === 0) {
2854
+ marketType = driftTypes_1.MarketType.SPOT;
2855
+ }
2856
+ else {
2857
+ marketType = driftTypes_1.MarketType.PERP;
2858
+ }
2859
+ offset += 1;
2860
+ const userOrderId = buffer.readUint8(offset);
2861
+ offset += 1;
2862
+ const existingPositionDirectionNum = buffer.readUInt8(offset);
2863
+ let existingPositionDirection;
2864
+ if (existingPositionDirectionNum === 0) {
2865
+ existingPositionDirection = driftTypes_1.PositionDirection.LONG;
2866
+ }
2867
+ else {
2868
+ existingPositionDirection = driftTypes_1.PositionDirection.SHORT;
2869
+ }
2870
+ offset += 1;
2871
+ const positionDirectionNum = buffer.readUInt8(offset);
2872
+ let direction;
2873
+ if (positionDirectionNum === 0) {
2874
+ direction = driftTypes_1.PositionDirection.LONG;
2875
+ }
2876
+ else {
2877
+ direction = driftTypes_1.PositionDirection.SHORT;
2878
+ }
2879
+ offset += 1;
2880
+ const reduceOnly = buffer.readUInt8(offset) === 1;
2881
+ offset += 1;
2882
+ const postOnly = buffer.readUInt8(offset) === 1;
2883
+ offset += 1;
2884
+ const immediateOrCancel = buffer.readUInt8(offset) === 1;
2885
+ offset += 1;
2886
+ const triggerConditionNum = buffer.readUInt8(offset);
2887
+ let triggerCondition = driftTypes_1.OrderTriggerCondition.ABOVE;
2888
+ if (triggerConditionNum === 0) {
2889
+ triggerCondition = driftTypes_1.OrderTriggerCondition.ABOVE;
2890
+ }
2891
+ else if (triggerConditionNum === 1) {
2892
+ triggerCondition = driftTypes_1.OrderTriggerCondition.BELOW;
2893
+ }
2894
+ else if (triggerConditionNum === 2) {
2895
+ triggerCondition = driftTypes_1.OrderTriggerCondition.TRIGGERED_ABOVE;
2896
+ }
2897
+ else if (triggerConditionNum === 3) {
2898
+ triggerCondition = driftTypes_1.OrderTriggerCondition.TRIGGERED_BELOW;
2899
+ }
2900
+ offset += 1;
2901
+ const auctionDuration = buffer.readUInt8(offset);
2902
+ offset += 1;
2903
+ const postedSlotTail = buffer.readUint8(offset);
2904
+ offset += 1;
2905
+ const bitFlags = buffer.readUint8(offset);
2906
+ offset += 1;
2907
+ offset += 1; // padding
2908
+ orders.push({
2909
+ slot,
2910
+ price,
2911
+ baseAssetAmount,
2912
+ quoteAssetAmount: undefined,
2913
+ baseAssetAmountFilled,
2914
+ quoteAssetAmountFilled,
2915
+ triggerPrice,
2916
+ auctionStartPrice,
2917
+ auctionEndPrice,
2918
+ maxTs,
2919
+ oraclePriceOffset,
2920
+ orderId,
2921
+ marketIndex,
2922
+ status,
2923
+ orderType,
2924
+ marketType,
2925
+ userOrderId,
2926
+ existingPositionDirection,
2927
+ direction,
2928
+ reduceOnly,
2929
+ postOnly,
2930
+ immediateOrCancel,
2931
+ triggerCondition,
2932
+ auctionDuration,
2933
+ bitFlags,
2934
+ postedSlotTail,
2935
+ });
2936
+ }
2937
+ const lastAddPerpLpSharesTs = readSignedBigInt64LE(buffer, offset);
2938
+ offset += 8;
2939
+ const totalDeposits = readUnsignedBigInt64LE(buffer, offset);
2940
+ offset += 8;
2941
+ const totalWithdraws = readUnsignedBigInt64LE(buffer, offset);
2942
+ offset += 8;
2943
+ const totalSocialLoss = readUnsignedBigInt64LE(buffer, offset);
2944
+ offset += 8;
2945
+ const settledPerpPnl = readSignedBigInt64LE(buffer, offset);
2946
+ offset += 8;
2947
+ const cumulativeSpotFees = readSignedBigInt64LE(buffer, offset);
2948
+ offset += 8;
2949
+ const cumulativePerpFunding = readSignedBigInt64LE(buffer, offset);
2950
+ offset += 8;
2951
+ const liquidationMarginFreed = readUnsignedBigInt64LE(buffer, offset);
2952
+ offset += 8;
2953
+ const lastActiveSlot = readUnsignedBigInt64LE(buffer, offset);
2954
+ offset += 8;
2955
+ const nextOrderId = buffer.readUInt32LE(offset);
2956
+ offset += 4;
2957
+ const maxMarginRatio = buffer.readUInt32LE(offset);
2958
+ offset += 4;
2959
+ const nextLiquidationId = buffer.readUInt16LE(offset);
2960
+ offset += 2;
2961
+ const subAccountId = buffer.readUInt16LE(offset);
2962
+ offset += 2;
2963
+ const status = buffer.readUInt8(offset);
2964
+ offset += 1;
2965
+ const isMarginTradingEnabled = buffer.readUInt8(offset) === 1;
2966
+ offset += 1;
2967
+ const idle = buffer.readUInt8(offset) === 1;
2968
+ offset += 1;
2969
+ const openOrders = buffer.readUInt8(offset);
2970
+ offset += 1;
2971
+ const hasOpenOrder = buffer.readUInt8(offset) === 1;
2972
+ offset += 1;
2973
+ const openAuctions = buffer.readUInt8(offset);
2974
+ offset += 1;
2975
+ const hasOpenAuction = buffer.readUInt8(offset) === 1;
2976
+ offset += 1;
2977
+ let marginMode;
2978
+ const marginModeNum = buffer.readUInt8(offset);
2979
+ if (marginModeNum === 0) {
2980
+ marginMode = driftTypes_1.MarginMode.DEFAULT;
2981
+ }
2982
+ else {
2983
+ marginMode = driftTypes_1.MarginMode.HIGH_LEVERAGE;
2984
+ }
2985
+ offset += 1;
2986
+ const poolId = buffer.readUint8(offset);
2987
+ offset += 1;
2988
+ offset += 3; // padding
2989
+ const lastFuelBonusUpdateTs = buffer.readUint32LE(offset);
2990
+ offset += 4;
2991
+ return {
2992
+ authority,
2993
+ delegate,
2994
+ name,
2995
+ spotPositions,
2996
+ perpPositions,
2997
+ orders,
2998
+ lastAddPerpLpSharesTs,
2999
+ totalDeposits,
3000
+ totalWithdraws,
3001
+ totalSocialLoss,
3002
+ settledPerpPnl,
3003
+ cumulativeSpotFees,
3004
+ cumulativePerpFunding,
3005
+ liquidationMarginFreed,
3006
+ lastActiveSlot,
3007
+ nextOrderId,
3008
+ maxMarginRatio,
3009
+ nextLiquidationId,
3010
+ subAccountId,
3011
+ status,
3012
+ isMarginTradingEnabled,
3013
+ idle,
3014
+ openOrders,
3015
+ hasOpenOrder,
3016
+ openAuctions,
3017
+ hasOpenAuction,
3018
+ marginMode,
3019
+ poolId,
3020
+ lastFuelBonusUpdateTs,
3021
+ };
3022
+ }
3023
+
3024
+
3025
+ /***/ }),
3026
+ /* 23 */
3027
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3028
+
3029
+
2048
3030
  Object.defineProperty(exports, "__esModule", ({ value: true }));
2049
3031
  exports.JupiterVoteClient = exports.JupiterSwapClient = void 0;
2050
3032
  const anchor_1 = __webpack_require__(2);
@@ -2472,7 +3454,7 @@ exports.JupiterVoteClient = JupiterVoteClient;
2472
3454
 
2473
3455
 
2474
3456
  /***/ }),
2475
- /* 23 */
3457
+ /* 24 */
2476
3458
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2477
3459
 
2478
3460
 
@@ -2480,7 +3462,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
2480
3462
  exports.MarinadeClient = void 0;
2481
3463
  const web3_js_1 = __webpack_require__(5);
2482
3464
  const spl_token_1 = __webpack_require__(8);
2483
- const marinade_ts_sdk_1 = __webpack_require__(24);
3465
+ const marinade_ts_sdk_1 = __webpack_require__(25);
2484
3466
  const constants_1 = __webpack_require__(10);
2485
3467
  const helpers_1 = __webpack_require__(14);
2486
3468
  class MarinadeClient {
@@ -2684,13 +3666,13 @@ exports.MarinadeClient = MarinadeClient;
2684
3666
 
2685
3667
 
2686
3668
  /***/ }),
2687
- /* 24 */
3669
+ /* 25 */
2688
3670
  /***/ ((module) => {
2689
3671
 
2690
3672
  module.exports = require("@marinade.finance/marinade-ts-sdk");
2691
3673
 
2692
3674
  /***/ }),
2693
- /* 25 */
3675
+ /* 26 */
2694
3676
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2695
3677
 
2696
3678
 
@@ -2754,7 +3736,7 @@ exports.WSolClient = WSolClient;
2754
3736
 
2755
3737
 
2756
3738
  /***/ }),
2757
- /* 26 */
3739
+ /* 27 */
2758
3740
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2759
3741
 
2760
3742
 
@@ -2763,7 +3745,7 @@ exports.StakingClient = void 0;
2763
3745
  const anchor_1 = __webpack_require__(2);
2764
3746
  const web3_js_1 = __webpack_require__(5);
2765
3747
  const constants_1 = __webpack_require__(10);
2766
- const spl_stake_pool_1 = __webpack_require__(27);
3748
+ const spl_stake_pool_1 = __webpack_require__(28);
2767
3749
  const spl_token_1 = __webpack_require__(8);
2768
3750
  class StakingClient {
2769
3751
  constructor(base, marinade) {
@@ -3185,13 +4167,13 @@ exports.StakingClient = StakingClient;
3185
4167
 
3186
4168
 
3187
4169
  /***/ }),
3188
- /* 27 */
4170
+ /* 28 */
3189
4171
  /***/ ((module) => {
3190
4172
 
3191
4173
  module.exports = require("@solana/spl-stake-pool");
3192
4174
 
3193
4175
  /***/ }),
3194
- /* 28 */
4176
+ /* 29 */
3195
4177
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3196
4178
 
3197
4179
 
@@ -3555,7 +4537,7 @@ exports.StateClient = StateClient;
3555
4537
 
3556
4538
 
3557
4539
  /***/ }),
3558
- /* 29 */
4540
+ /* 30 */
3559
4541
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3560
4542
 
3561
4543
 
@@ -3893,7 +4875,7 @@ exports.MintClient = MintClient;
3893
4875
 
3894
4876
 
3895
4877
  /***/ }),
3896
- /* 30 */
4878
+ /* 31 */
3897
4879
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3898
4880
 
3899
4881
 
@@ -3902,7 +4884,7 @@ exports.KaminoFarmClient = exports.KaminoLendingClient = void 0;
3902
4884
  const tslib_1 = __webpack_require__(1);
3903
4885
  const anchor_1 = __webpack_require__(2);
3904
4886
  const web3_js_1 = __webpack_require__(5);
3905
- const borsh = tslib_1.__importStar(__webpack_require__(31));
4887
+ const borsh = tslib_1.__importStar(__webpack_require__(32));
3906
4888
  const spl_token_1 = __webpack_require__(8);
3907
4889
  const constants_1 = __webpack_require__(10);
3908
4890
  const LOOKUP_TABLE = new web3_js_1.PublicKey("284iwGtA9X9aLy3KsyV8uT2pXLARhYbiSi5SiM2g47M2");
@@ -4796,13 +5778,13 @@ exports.KaminoFarmClient = KaminoFarmClient;
4796
5778
 
4797
5779
 
4798
5780
  /***/ }),
4799
- /* 31 */
5781
+ /* 32 */
4800
5782
  /***/ ((module) => {
4801
5783
 
4802
5784
  module.exports = require("@coral-xyz/borsh");
4803
5785
 
4804
5786
  /***/ }),
4805
- /* 32 */
5787
+ /* 33 */
4806
5788
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4807
5789
 
4808
5790
 
@@ -5058,7 +6040,7 @@ exports.MeteoraDlmmClient = MeteoraDlmmClient;
5058
6040
 
5059
6041
 
5060
6042
  /***/ }),
5061
- /* 33 */
6043
+ /* 34 */
5062
6044
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5063
6045
 
5064
6046
 
@@ -5330,7 +6312,7 @@ exports.InvestorClient = InvestorClient;
5330
6312
 
5331
6313
 
5332
6314
  /***/ }),
5333
- /* 34 */
6315
+ /* 35 */
5334
6316
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5335
6317
 
5336
6318
 
@@ -5481,7 +6463,7 @@ exports.PriceClient = PriceClient;
5481
6463
 
5482
6464
 
5483
6465
  /***/ }),
5484
- /* 35 */
6466
+ /* 36 */
5485
6467
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5486
6468
 
5487
6469
 
@@ -5521,19 +6503,68 @@ exports.getPriorityFeeEstimate = getPriorityFeeEstimate;
5521
6503
 
5522
6504
 
5523
6505
  /***/ }),
5524
- /* 36 */
6506
+ /* 37 */
6507
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6508
+
6509
+
6510
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
6511
+ exports.getLimitOrderParams = getLimitOrderParams;
6512
+ exports.getTriggerMarketOrderParams = getTriggerMarketOrderParams;
6513
+ exports.getTriggerLimitOrderParams = getTriggerLimitOrderParams;
6514
+ exports.getMarketOrderParams = getMarketOrderParams;
6515
+ exports.getOrderParams = getOrderParams;
6516
+ const driftTypes_1 = __webpack_require__(21);
6517
+ function getLimitOrderParams(params) {
6518
+ return getOrderParams(Object.assign({}, params, {
6519
+ orderType: driftTypes_1.OrderType.LIMIT,
6520
+ }));
6521
+ }
6522
+ function getTriggerMarketOrderParams(params) {
6523
+ return getOrderParams(Object.assign({}, params, {
6524
+ orderType: driftTypes_1.OrderType.TRIGGER_MARKET,
6525
+ }));
6526
+ }
6527
+ function getTriggerLimitOrderParams(params) {
6528
+ return getOrderParams(Object.assign({}, params, {
6529
+ orderType: driftTypes_1.OrderType.TRIGGER_LIMIT,
6530
+ }));
6531
+ }
6532
+ function getMarketOrderParams(params) {
6533
+ return getOrderParams(Object.assign({}, params, {
6534
+ orderType: driftTypes_1.OrderType.MARKET,
6535
+ }));
6536
+ }
6537
+ /**
6538
+ * Creates an OrderParams object with the given OptionalOrderParams and any params to override.
6539
+ *
6540
+ * example:
6541
+ * ```
6542
+ * const orderParams = getOrderParams(optionalOrderParams, { marketType: MarketType.PERP });
6543
+ * ```
6544
+ *
6545
+ * @param optionalOrderParams
6546
+ * @param overridingParams
6547
+ * @returns
6548
+ */
6549
+ function getOrderParams(optionalOrderParams, overridingParams = {}) {
6550
+ return Object.assign({}, driftTypes_1.DefaultOrderParams, optionalOrderParams, overridingParams);
6551
+ }
6552
+
6553
+
6554
+ /***/ }),
6555
+ /* 38 */
5525
6556
  /***/ ((module) => {
5526
6557
 
5527
6558
  module.exports = require("commander");
5528
6559
 
5529
6560
  /***/ }),
5530
- /* 37 */
6561
+ /* 39 */
5531
6562
  /***/ ((module) => {
5532
6563
 
5533
6564
  module.exports = require("fs");
5534
6565
 
5535
6566
  /***/ }),
5536
- /* 38 */
6567
+ /* 40 */
5537
6568
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5538
6569
 
5539
6570
 
@@ -5543,10 +6574,10 @@ exports.confirmOperation = confirmOperation;
5543
6574
  const tslib_1 = __webpack_require__(1);
5544
6575
  const anchor_1 = __webpack_require__(2);
5545
6576
  const web3_js_1 = __webpack_require__(5);
5546
- const fs_1 = tslib_1.__importDefault(__webpack_require__(37));
5547
- const inquirer_1 = tslib_1.__importDefault(__webpack_require__(39));
5548
- const os_1 = tslib_1.__importDefault(__webpack_require__(40));
5549
- const path_1 = tslib_1.__importDefault(__webpack_require__(41));
6577
+ const fs_1 = tslib_1.__importDefault(__webpack_require__(39));
6578
+ const inquirer_1 = tslib_1.__importDefault(__webpack_require__(41));
6579
+ const os_1 = tslib_1.__importDefault(__webpack_require__(42));
6580
+ const path_1 = tslib_1.__importDefault(__webpack_require__(43));
5550
6581
  class CliConfig {
5551
6582
  constructor(config = {}) {
5552
6583
  this.cluster = config.cluster || "";
@@ -5643,25 +6674,25 @@ async function confirmOperation(message) {
5643
6674
 
5644
6675
 
5645
6676
  /***/ }),
5646
- /* 39 */
6677
+ /* 41 */
5647
6678
  /***/ ((module) => {
5648
6679
 
5649
6680
  module.exports = require("inquirer");
5650
6681
 
5651
6682
  /***/ }),
5652
- /* 40 */
6683
+ /* 42 */
5653
6684
  /***/ ((module) => {
5654
6685
 
5655
6686
  module.exports = require("os");
5656
6687
 
5657
6688
  /***/ }),
5658
- /* 41 */
6689
+ /* 43 */
5659
6690
  /***/ ((module) => {
5660
6691
 
5661
6692
  module.exports = require("path");
5662
6693
 
5663
6694
  /***/ }),
5664
- /* 42 */
6695
+ /* 44 */
5665
6696
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5666
6697
 
5667
6698
 
@@ -5669,15 +6700,14 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
5669
6700
  exports.installDriftCommands = installDriftCommands;
5670
6701
  const anchor_1 = __webpack_require__(2);
5671
6702
  const glam_sdk_1 = __webpack_require__(3);
5672
- const utils_1 = __webpack_require__(38);
6703
+ const utils_1 = __webpack_require__(40);
5673
6704
  function installDriftCommands(drift, glamClient, cliConfig, txOptions = {}) {
5674
6705
  drift
5675
6706
  .command("price")
5676
6707
  .description("Price drift")
5677
6708
  .action(async () => {
5678
6709
  try {
5679
- const marketConfigs = await glamClient.drift.fetchMarketConfigs();
5680
- const txSig = await glamClient.drift.priceDrift(cliConfig.glamState, marketConfigs, glam_sdk_1.PriceDenom.USD, txOptions);
6710
+ const txSig = await glamClient.drift.priceDrift(cliConfig.glamState, glam_sdk_1.PriceDenom.USD, txOptions);
5681
6711
  console.log(`Pricing tx: ${txSig}`);
5682
6712
  }
5683
6713
  catch (e) {
@@ -5704,13 +6734,15 @@ function installDriftCommands(drift, glamClient, cliConfig, txOptions = {}) {
5704
6734
  }
5705
6735
  });
5706
6736
  drift
5707
- .command("list")
6737
+ .command("positions")
5708
6738
  .description("List drift positions")
5709
6739
  .action(async () => {
5710
6740
  try {
5711
- const { spotPositions, perpPositions } = await glamClient.drift.getPositions(cliConfig.glamState, 0);
5712
- console.log("Spot positions:", spotPositions);
5713
- console.log("Perp positions:", perpPositions);
6741
+ const { spotPositions } = await glamClient.drift.fetchDriftUser(cliConfig.glamState);
6742
+ for (const { marketIndex, uiAmount, marketName } of spotPositions) {
6743
+ console.log(`${uiAmount} ${marketName} (market index: ${marketIndex})`);
6744
+ }
6745
+ // TODO: print perp positions
5714
6746
  }
5715
6747
  catch (e) {
5716
6748
  console.error(e);
@@ -5723,9 +6755,9 @@ function installDriftCommands(drift, glamClient, cliConfig, txOptions = {}) {
5723
6755
  .action(async (market_index, amount) => {
5724
6756
  try {
5725
6757
  const marketConfigs = await glamClient.drift.fetchMarketConfigs();
5726
- const marketConfig = marketConfigs.spot.find((m) => m.marketIndex === parseInt(market_index));
6758
+ const marketConfig = marketConfigs.spotMarkets.find((m) => m.marketIndex === parseInt(market_index));
5727
6759
  const amountBn = new anchor_1.BN(Number(amount) * 10 ** marketConfig.decimals);
5728
- const txSig = await glamClient.drift.withdraw(cliConfig.glamState, amountBn, marketConfig.marketIndex, 0, marketConfigs, txOptions);
6760
+ const txSig = await glamClient.drift.withdraw(cliConfig.glamState, amountBn, marketConfig.marketIndex, 0, txOptions);
5729
6761
  console.log(`Withdraw from drift: ${txSig}`);
5730
6762
  }
5731
6763
  catch (e) {
@@ -5739,9 +6771,9 @@ function installDriftCommands(drift, glamClient, cliConfig, txOptions = {}) {
5739
6771
  .action(async (market_index, amount) => {
5740
6772
  try {
5741
6773
  const marketConfigs = await glamClient.drift.fetchMarketConfigs();
5742
- const marketConfig = marketConfigs.spot.find((m) => m.marketIndex === parseInt(market_index));
6774
+ const marketConfig = marketConfigs.spotMarkets.find((m) => m.marketIndex === parseInt(market_index));
5743
6775
  const amountBn = new anchor_1.BN(Number(amount) * 10 ** marketConfig.decimals);
5744
- const txSig = await glamClient.drift.deposit(cliConfig.glamState, amountBn, marketConfig.marketIndex, 0, marketConfigs, txOptions);
6776
+ const txSig = await glamClient.drift.deposit(cliConfig.glamState, amountBn, marketConfig.marketIndex, 0, txOptions);
5745
6777
  console.log(`Deposited to drift: ${txSig}`);
5746
6778
  }
5747
6779
  catch (e) {
@@ -5749,6 +6781,154 @@ function installDriftCommands(drift, glamClient, cliConfig, txOptions = {}) {
5749
6781
  process.exit(1);
5750
6782
  }
5751
6783
  });
6784
+ drift
6785
+ .command("spot <direction> <market_index> <amount> <price_limit>")
6786
+ .description("Place a limit spot order. Price limit is in USD.")
6787
+ .option("-y, --yes", "Skip confirmation prompt")
6788
+ .action(async (direction, market_index, amount, price_limit, options) => {
6789
+ if (!["long", "short"].includes(direction)) {
6790
+ console.error("Invalid direction. Must be 'long' or 'short'");
6791
+ process.exit(1);
6792
+ }
6793
+ const marketConfigs = await glamClient.drift.fetchMarketConfigs();
6794
+ const spotMarket = marketConfigs?.spotMarkets?.find((m) => m.marketIndex === parseInt(market_index));
6795
+ if (!spotMarket) {
6796
+ console.error(`Invalid market index: ${market_index}`);
6797
+ process.exit(1);
6798
+ }
6799
+ const baseAssetAmount = new anchor_1.BN(Number(amount) * 10 ** spotMarket.decimals);
6800
+ const price = new anchor_1.BN(Number(price_limit) * 10 ** marketConfigs.orderConstants.quoteScale);
6801
+ const orderParams = (0, glam_sdk_1.getOrderParams)({
6802
+ orderType: glam_sdk_1.OrderType.LIMIT,
6803
+ marketType: glam_sdk_1.MarketType.SPOT,
6804
+ direction: direction === "long"
6805
+ ? glam_sdk_1.PositionDirection.LONG
6806
+ : glam_sdk_1.PositionDirection.SHORT,
6807
+ marketIndex: spotMarket.marketIndex,
6808
+ baseAssetAmount,
6809
+ price,
6810
+ });
6811
+ options?.yes ||
6812
+ (await (0, utils_1.confirmOperation)(`Confirm placing ${direction} order for ${amount} ${spotMarket.name} at ${price_limit} USD?`));
6813
+ try {
6814
+ const txSig = await glamClient.drift.placeOrder(cliConfig.glamState, orderParams, 0, txOptions);
6815
+ console.log(`Spot order placed: ${txSig}`);
6816
+ }
6817
+ catch (e) {
6818
+ console.error((0, utils_1.parseTxError)(e));
6819
+ process.exit(1);
6820
+ }
6821
+ });
6822
+ drift
6823
+ .command("perp <direction> <market_index> <amount> <price_limit>")
6824
+ .description("Place a limit perp order. Price limit is in USD.")
6825
+ .option("-y, --yes", "Skip confirmation prompt")
6826
+ .action(async (direction, market_index, amount, price_limit, options) => {
6827
+ if (!["long", "short"].includes(direction)) {
6828
+ console.error("Invalid direction. Must be 'long' or 'short'");
6829
+ process.exit(1);
6830
+ }
6831
+ const marketConfigs = await glamClient.drift.fetchMarketConfigs();
6832
+ const perpMarket = marketConfigs?.perpMarkets?.find((m) => m.marketIndex === parseInt(market_index));
6833
+ if (!perpMarket) {
6834
+ console.error(`Invalid market index: ${market_index}`);
6835
+ process.exit(1);
6836
+ }
6837
+ const baseAssetAmount = new anchor_1.BN(Number(amount) * 10 ** marketConfigs.orderConstants.perpBaseScale);
6838
+ const price = new anchor_1.BN(Number(price_limit) * 10 ** marketConfigs.orderConstants.quoteScale);
6839
+ const orderParams = (0, glam_sdk_1.getOrderParams)({
6840
+ orderType: glam_sdk_1.OrderType.LIMIT,
6841
+ marketType: glam_sdk_1.MarketType.PERP,
6842
+ direction: direction === "long"
6843
+ ? glam_sdk_1.PositionDirection.LONG
6844
+ : glam_sdk_1.PositionDirection.SHORT,
6845
+ marketIndex: perpMarket.marketIndex,
6846
+ baseAssetAmount,
6847
+ price,
6848
+ });
6849
+ options?.yes ||
6850
+ (await (0, utils_1.confirmOperation)(`Confirm placing ${direction} order for ${amount} ${perpMarket.name} at ${price_limit} USD?`));
6851
+ try {
6852
+ const txSig = await glamClient.drift.placeOrder(cliConfig.glamState, orderParams, 0, txOptions);
6853
+ console.log(`Perp order placed: ${txSig}`);
6854
+ }
6855
+ catch (e) {
6856
+ console.error((0, utils_1.parseTxError)(e));
6857
+ process.exit(1);
6858
+ }
6859
+ });
6860
+ drift
6861
+ .command("orders")
6862
+ .description("List open orders")
6863
+ .action(async () => {
6864
+ const driftUser = await glamClient.drift.fetchDriftUser(cliConfig.glamState);
6865
+ if (!driftUser) {
6866
+ console.error("Drift user not found");
6867
+ process.exit(1);
6868
+ }
6869
+ const marketConfigs = await glamClient.drift.fetchMarketConfigs();
6870
+ const { orders } = driftUser;
6871
+ for (const { orderId, marketIndex, direction, baseAssetAmount, price, orderType, marketType, } of orders) {
6872
+ const orderTypeStr = Object.entries(orderType)[0][0];
6873
+ const directionStr = Object.entries(direction)[0][0];
6874
+ if (marketType === glam_sdk_1.MarketType.SPOT) {
6875
+ const marketConfig = marketConfigs.spotMarkets.find((m) => m.marketIndex === marketIndex);
6876
+ const amount = baseAssetAmount.toNumber() / 10 ** marketConfig.decimals;
6877
+ const priceStr = price.toNumber() / 10 ** marketConfigs.orderConstants.quoteScale;
6878
+ const marketName = marketConfig.name;
6879
+ console.log(`Order ID ${orderId}: ${orderTypeStr} ${directionStr} order for ${amount} ${marketName} at $${priceStr}`);
6880
+ }
6881
+ else {
6882
+ const marketConfig = marketConfigs.perpMarkets.find((m) => m.marketIndex === marketIndex);
6883
+ const amount = baseAssetAmount.toNumber() /
6884
+ 10 ** marketConfigs.orderConstants.perpBaseScale;
6885
+ const priceStr = price.toNumber() / 10 ** marketConfigs.orderConstants.quoteScale;
6886
+ const marketName = marketConfig.name;
6887
+ console.log(`Order ID ${orderId}: ${orderTypeStr} ${directionStr} order for ${amount} ${marketName} at $${priceStr}`);
6888
+ }
6889
+ }
6890
+ });
6891
+ drift
6892
+ .command("cancel")
6893
+ .argument("<order_ids...>", "A space-separated list of order IDs. Use `drift orders` to list open orders.")
6894
+ .description("Cancel order")
6895
+ .action(async (order_ids) => {
6896
+ try {
6897
+ const txSig = await glamClient.drift.cancelOrdersByIds(cliConfig.glamState, order_ids.map((id) => Number(id)), 0, txOptions);
6898
+ console.log(`Order cancelled: ${txSig}`);
6899
+ }
6900
+ catch (e) {
6901
+ console.error((0, utils_1.parseTxError)(e));
6902
+ process.exit(1);
6903
+ }
6904
+ });
6905
+ drift
6906
+ .command("margin <enabled>")
6907
+ .description("Enable margin trading")
6908
+ .action(async (enabled) => {
6909
+ let shouldEnable = false;
6910
+ if (["true", "1", "yes", "y", "enabled"].includes(enabled)) {
6911
+ shouldEnable = true;
6912
+ }
6913
+ const driftUser = await glamClient.drift.fetchDriftUser(cliConfig.glamState);
6914
+ if (!driftUser) {
6915
+ console.error("Drift user not found");
6916
+ process.exit(1);
6917
+ }
6918
+ const { isMarginTradingEnabled } = driftUser;
6919
+ if (isMarginTradingEnabled === shouldEnable) {
6920
+ console.log(`Margin trading already ${shouldEnable ? "enabled" : "disabled"}`);
6921
+ return;
6922
+ }
6923
+ try {
6924
+ const txSig = await glamClient.drift.updateUserMarginTradingEnabled(cliConfig.glamState, shouldEnable, 0, txOptions);
6925
+ console.log(`Margin trading ${shouldEnable ? "enabled" : "disabled"}: ${txSig}`);
6926
+ }
6927
+ catch (e) {
6928
+ console.error((0, utils_1.parseTxError)(e));
6929
+ process.exit(1);
6930
+ }
6931
+ });
5752
6932
  drift
5753
6933
  .command("delete")
5754
6934
  .description("Delete a drift user")
@@ -5766,7 +6946,7 @@ function installDriftCommands(drift, glamClient, cliConfig, txOptions = {}) {
5766
6946
 
5767
6947
 
5768
6948
  /***/ }),
5769
- /* 43 */
6949
+ /* 45 */
5770
6950
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5771
6951
 
5772
6952
 
@@ -5774,7 +6954,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
5774
6954
  exports.installMintCommands = installMintCommands;
5775
6955
  const anchor_1 = __webpack_require__(2);
5776
6956
  const web3_js_1 = __webpack_require__(5);
5777
- const utils_1 = __webpack_require__(38);
6957
+ const utils_1 = __webpack_require__(40);
5778
6958
  function installMintCommands(mint, glamClient, cliConfig, txOptions = {}) {
5779
6959
  mint
5780
6960
  .command("holders")
@@ -5971,7 +7151,7 @@ function installMintCommands(mint, glamClient, cliConfig, txOptions = {}) {
5971
7151
 
5972
7152
 
5973
7153
  /***/ }),
5974
- /* 44 */
7154
+ /* 46 */
5975
7155
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5976
7156
 
5977
7157
 
@@ -5979,7 +7159,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
5979
7159
  exports.installMeteoraCommands = installMeteoraCommands;
5980
7160
  const anchor_1 = __webpack_require__(2);
5981
7161
  const glam_sdk_1 = __webpack_require__(3);
5982
- const utils_1 = __webpack_require__(38);
7162
+ const utils_1 = __webpack_require__(40);
5983
7163
  function installMeteoraCommands(meteora, glamClient, cliConfig, txOptions = {}) {
5984
7164
  meteora
5985
7165
  .command("init <pool>")
@@ -6078,7 +7258,7 @@ function installMeteoraCommands(meteora, glamClient, cliConfig, txOptions = {})
6078
7258
 
6079
7259
 
6080
7260
  /***/ }),
6081
- /* 45 */
7261
+ /* 47 */
6082
7262
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6083
7263
 
6084
7264
 
@@ -6086,7 +7266,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
6086
7266
  exports.installLstCommands = installLstCommands;
6087
7267
  const anchor_1 = __webpack_require__(2);
6088
7268
  const web3_js_1 = __webpack_require__(5);
6089
- const utils_1 = __webpack_require__(38);
7269
+ const utils_1 = __webpack_require__(40);
6090
7270
  function installLstCommands(lst, glamClient, cliConfig, txOptions = {}) {
6091
7271
  lst
6092
7272
  .command("stake <stakepool> <amount>")
@@ -6180,14 +7360,14 @@ function installLstCommands(lst, glamClient, cliConfig, txOptions = {}) {
6180
7360
 
6181
7361
 
6182
7362
  /***/ }),
6183
- /* 46 */
7363
+ /* 48 */
6184
7364
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6185
7365
 
6186
7366
 
6187
7367
  Object.defineProperty(exports, "__esModule", ({ value: true }));
6188
7368
  exports.installMarinadeCommands = installMarinadeCommands;
6189
7369
  const anchor_1 = __webpack_require__(2);
6190
- const utils_1 = __webpack_require__(38);
7370
+ const utils_1 = __webpack_require__(40);
6191
7371
  const web3_js_1 = __webpack_require__(5);
6192
7372
  function installMarinadeCommands(marinade, glamClient, cliConfig, txOptions = {}) {
6193
7373
  marinade
@@ -6256,14 +7436,14 @@ function installMarinadeCommands(marinade, glamClient, cliConfig, txOptions = {}
6256
7436
 
6257
7437
 
6258
7438
  /***/ }),
6259
- /* 47 */
7439
+ /* 49 */
6260
7440
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6261
7441
 
6262
7442
 
6263
7443
  Object.defineProperty(exports, "__esModule", ({ value: true }));
6264
7444
  exports.installKlendCommands = installKlendCommands;
6265
7445
  const glam_sdk_1 = __webpack_require__(3);
6266
- const utils_1 = __webpack_require__(38);
7446
+ const utils_1 = __webpack_require__(40);
6267
7447
  const web3_js_1 = __webpack_require__(5);
6268
7448
  function installKlendCommands(klend, glamClient, cliConfig, txOptions = {}) {
6269
7449
  klend
@@ -6418,14 +7598,14 @@ function installKlendCommands(klend, glamClient, cliConfig, txOptions = {}) {
6418
7598
 
6419
7599
 
6420
7600
  /***/ }),
6421
- /* 48 */
7601
+ /* 50 */
6422
7602
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6423
7603
 
6424
7604
 
6425
7605
  Object.defineProperty(exports, "__esModule", ({ value: true }));
6426
7606
  exports.installJupCommands = installJupCommands;
6427
7607
  const anchor_1 = __webpack_require__(2);
6428
- const utils_1 = __webpack_require__(38);
7608
+ const utils_1 = __webpack_require__(40);
6429
7609
  const web3_js_1 = __webpack_require__(5);
6430
7610
  function installJupCommands(jup, glamClient, cliConfig, txOptions = {}) {
6431
7611
  jup
@@ -6527,14 +7707,14 @@ function installJupCommands(jup, glamClient, cliConfig, txOptions = {}) {
6527
7707
 
6528
7708
 
6529
7709
  /***/ }),
6530
- /* 49 */
7710
+ /* 51 */
6531
7711
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6532
7712
 
6533
7713
 
6534
7714
  Object.defineProperty(exports, "__esModule", ({ value: true }));
6535
7715
  exports.installIntegrationCommands = installIntegrationCommands;
6536
7716
  const glam_sdk_1 = __webpack_require__(3);
6537
- const utils_1 = __webpack_require__(38);
7717
+ const utils_1 = __webpack_require__(40);
6538
7718
  const web3_js_1 = __webpack_require__(5);
6539
7719
  function installIntegrationCommands(integration, glamClient, cliConfig, txOptions = {}) {
6540
7720
  integration
@@ -6623,7 +7803,7 @@ function installIntegrationCommands(integration, glamClient, cliConfig, txOption
6623
7803
 
6624
7804
 
6625
7805
  /***/ }),
6626
- /* 50 */
7806
+ /* 52 */
6627
7807
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6628
7808
 
6629
7809
 
@@ -6631,7 +7811,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
6631
7811
  exports.installDelegateCommands = installDelegateCommands;
6632
7812
  const anchor_1 = __webpack_require__(2);
6633
7813
  const glam_sdk_1 = __webpack_require__(3);
6634
- const utils_1 = __webpack_require__(38);
7814
+ const utils_1 = __webpack_require__(40);
6635
7815
  const web3_js_1 = __webpack_require__(5);
6636
7816
  const allowedPermissions = glam_sdk_1.GlamPermissions.map((p) => p.slice(0, 1).toLowerCase() + p.slice(1));
6637
7817
  const validate = (permissions) => {
@@ -6773,13 +7953,13 @@ function installDelegateCommands(delegate, glamClient, cliConfig, txOptions = {}
6773
7953
 
6774
7954
 
6775
7955
  /***/ }),
6776
- /* 51 */
7956
+ /* 53 */
6777
7957
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6778
7958
 
6779
7959
 
6780
7960
  Object.defineProperty(exports, "__esModule", ({ value: true }));
6781
7961
  exports.installSwapCommands = installSwapCommands;
6782
- const utils_1 = __webpack_require__(38);
7962
+ const utils_1 = __webpack_require__(40);
6783
7963
  function installSwapCommands(program, glamClient, cliConfig, txOptions = {}) {
6784
7964
  program
6785
7965
  .command("swap <from> <to> <amount>")
@@ -6869,19 +8049,19 @@ const tslib_1 = __webpack_require__(1);
6869
8049
  const anchor = tslib_1.__importStar(__webpack_require__(2));
6870
8050
  const glam_sdk_1 = __webpack_require__(3);
6871
8051
  const web3_js_1 = __webpack_require__(5);
6872
- const commander_1 = __webpack_require__(36);
6873
- const fs_1 = tslib_1.__importDefault(__webpack_require__(37));
6874
- const utils_1 = __webpack_require__(38);
6875
- const drift_1 = __webpack_require__(42);
6876
- const mint_1 = __webpack_require__(43);
6877
- const meteora_1 = __webpack_require__(44);
6878
- const lst_1 = __webpack_require__(45);
6879
- const marinade_1 = __webpack_require__(46);
6880
- const klend_1 = __webpack_require__(47);
6881
- const jup_1 = __webpack_require__(48);
6882
- const integration_1 = __webpack_require__(49);
6883
- const delegate_1 = __webpack_require__(50);
6884
- const swap_1 = __webpack_require__(51);
8052
+ const commander_1 = __webpack_require__(38);
8053
+ const fs_1 = tslib_1.__importDefault(__webpack_require__(39));
8054
+ const utils_1 = __webpack_require__(40);
8055
+ const drift_1 = __webpack_require__(44);
8056
+ const mint_1 = __webpack_require__(45);
8057
+ const meteora_1 = __webpack_require__(46);
8058
+ const lst_1 = __webpack_require__(47);
8059
+ const marinade_1 = __webpack_require__(48);
8060
+ const klend_1 = __webpack_require__(49);
8061
+ const jup_1 = __webpack_require__(50);
8062
+ const integration_1 = __webpack_require__(51);
8063
+ const delegate_1 = __webpack_require__(52);
8064
+ const swap_1 = __webpack_require__(53);
6885
8065
  const cliConfig = utils_1.CliConfig.get();
6886
8066
  const glamClient = new glam_sdk_1.GlamClient();
6887
8067
  const txOptions = {
@@ -6906,7 +8086,7 @@ let globalOpts = { skipSimulation: false };
6906
8086
  program
6907
8087
  .name("glam-cli")
6908
8088
  .description("CLI for interacting with the GLAM Protocol")
6909
- .version("0.1.20")
8089
+ .version("0.1.22")
6910
8090
  .option("-S, --skip-simulation", "Skip transaction simulation");
6911
8091
  program
6912
8092
  .command("env")