/** * Program IDL in camelCase format in order to be used in JS/TS. * * Note that this is only a type helper and is not the actual IDL. The original * IDL can be found at `target/idl/glam_mint.json`. */ export type GlamMint = { "address": "GM1NtvvnSXUptTrMCqbogAdZJydZSNv98DoU5AZVLmGh"; "metadata": { "name": "glamMint"; "version": "1.0.3"; "spec": "0.1.0"; "description": "GLAM mint program"; }; "instructions": [ { "name": "burnTokens"; "discriminator": [ 76, 15, 51, 254, 229, 215, 121, 66 ]; "accounts": [ { "name": "glamState"; }, { "name": "glamSigner"; "writable": true; "signer": true; }, { "name": "glamMint"; "writable": true; }, { "name": "fromTokenAccount"; "writable": true; }, { "name": "from"; }, { "name": "token2022Program"; "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"; } ]; "args": [ { "name": "amount"; "type": "u64"; } ]; }, { "name": "cancel"; "discriminator": [ 232, 219, 223, 41, 219, 236, 220, 190 ]; "accounts": [ { "name": "glamState"; "writable": true; }, { "name": "glamMint"; "writable": true; }, { "name": "glamEscrow"; "pda": { "seeds": [ { "kind": "const"; "value": [ 101, 115, 99, 114, 111, 119 ]; }, { "kind": "account"; "path": "glamMint"; } ]; }; }, { "name": "requestQueue"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 114, 101, 113, 117, 101, 115, 116, 45, 113, 117, 101, 117, 101 ]; }, { "kind": "account"; "path": "glamMint"; } ]; }; }, { "name": "signer"; "writable": true; "signer": true; }, { "name": "user"; }, { "name": "recoverTokenMint"; }, { "name": "userAta"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "user"; }, { "kind": "account"; "path": "recoverTokenProgram"; }, { "kind": "account"; "path": "recoverTokenMint"; } ]; "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": "escrowAta"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "glamEscrow"; }, { "kind": "account"; "path": "recoverTokenProgram"; }, { "kind": "account"; "path": "recoverTokenMint"; } ]; "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": "systemProgram"; "address": "11111111111111111111111111111111"; }, { "name": "recoverTokenProgram"; }, { "name": "associatedTokenProgram"; "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"; } ]; "args": []; }, { "name": "claim"; "discriminator": [ 62, 198, 214, 193, 213, 159, 108, 210 ]; "accounts": [ { "name": "glamState"; }, { "name": "glamMint"; "writable": true; }, { "name": "glamEscrow"; "pda": { "seeds": [ { "kind": "const"; "value": [ 101, 115, 99, 114, 111, 119 ]; }, { "kind": "account"; "path": "glamMint"; } ]; }; }, { "name": "requestQueue"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 114, 101, 113, 117, 101, 115, 116, 45, 113, 117, 101, 117, 101 ]; }, { "kind": "account"; "path": "glamMint"; } ]; }; }, { "name": "signer"; "writable": true; "signer": true; }, { "name": "claimUser"; }, { "name": "claimTokenMint"; }, { "name": "claimUserAta"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "claimUser"; }, { "kind": "account"; "path": "claimTokenProgram"; }, { "kind": "account"; "path": "claimTokenMint"; } ]; "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": "escrowAta"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "glamEscrow"; }, { "kind": "account"; "path": "claimTokenProgram"; }, { "kind": "account"; "path": "claimTokenMint"; } ]; "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": "claimUserPolicy"; "writable": true; "optional": true; }, { "name": "systemProgram"; "address": "11111111111111111111111111111111"; }, { "name": "claimTokenProgram"; }, { "name": "glamPoliciesProgram"; "address": "po1iCYakK3gHCLbuju4wGzFowTMpAJxkqK1iwUqMonY"; }, { "name": "associatedTokenProgram"; "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"; } ]; "args": []; }, { "name": "claimFees"; "discriminator": [ 82, 251, 233, 156, 12, 52, 184, 202 ]; "accounts": [ { "name": "glamState"; }, { "name": "glamVault"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 118, 97, 117, 108, 116 ]; }, { "kind": "account"; "path": "glamState"; } ]; "program": { "kind": "const"; "value": [ 227, 199, 235, 230, 176, 132, 243, 117, 43, 131, 173, 18, 78, 255, 26, 50, 209, 135, 86, 219, 140, 126, 61, 255, 0, 218, 252, 224, 172, 8, 223, 207 ]; }; }; }, { "name": "glamMint"; "writable": true; }, { "name": "glamEscrow"; "pda": { "seeds": [ { "kind": "const"; "value": [ 101, 115, 99, 114, 111, 119 ]; }, { "kind": "account"; "path": "glamMint"; } ]; }; }, { "name": "escrowMintAta"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "glamEscrow"; }, { "kind": "account"; "path": "token2022Program"; }, { "kind": "account"; "path": "glamMint"; } ]; "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": "depositAsset"; }, { "name": "vaultDepositAta"; "docs": [ "To pay out fees" ]; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "glamVault"; }, { "kind": "account"; "path": "depositTokenProgram"; }, { "kind": "account"; "path": "depositAsset"; } ]; "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": "protocolFeeAuthority"; "docs": [ "To receive protocol fee" ]; }, { "name": "protocolFeeAuthorityAta"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "protocolFeeAuthority"; }, { "kind": "account"; "path": "depositTokenProgram"; }, { "kind": "account"; "path": "depositAsset"; } ]; "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": "managerFeeAuthority"; "docs": [ "To receive manager fee" ]; }, { "name": "managerFeeAuthorityAta"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "managerFeeAuthority"; }, { "kind": "account"; "path": "depositTokenProgram"; }, { "kind": "account"; "path": "depositAsset"; } ]; "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": "glamConfig"; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108, 45, 99, 111, 110, 102, 105, 103 ]; } ]; "program": { "kind": "const"; "value": [ 10, 11, 0, 83, 72, 16, 46, 144, 46, 42, 79, 22, 157, 123, 21, 242, 192, 146, 1, 78, 88, 59, 102, 9, 190, 226, 92, 189, 187, 232, 83, 220 ]; }; }; }, { "name": "glamProtocolProgram"; "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"; }, { "name": "systemProgram"; "address": "11111111111111111111111111111111"; }, { "name": "associatedTokenProgram"; "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"; }, { "name": "depositTokenProgram"; }, { "name": "token2022Program"; "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"; } ]; "args": []; }, { "name": "closeMint"; "discriminator": [ 149, 251, 157, 212, 65, 181, 235, 129 ]; "accounts": [ { "name": "glamState"; "writable": true; }, { "name": "glamSigner"; "writable": true; "signer": true; }, { "name": "glamMint"; "writable": true; }, { "name": "requestQueue"; "writable": true; "optional": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 114, 101, 113, 117, 101, 115, 116, 45, 113, 117, 101, 117, 101 ]; }, { "kind": "account"; "path": "glamMint"; } ]; }; }, { "name": "extraMetasAccount"; "writable": true; }, { "name": "systemProgram"; "address": "11111111111111111111111111111111"; }, { "name": "policiesProgram"; "address": "po1iCYakK3gHCLbuju4wGzFowTMpAJxkqK1iwUqMonY"; }, { "name": "token2022Program"; "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"; }, { "name": "glamProtocol"; "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"; } ]; "args": []; }, { "name": "crystallizeFees"; "discriminator": [ 78, 0, 111, 26, 7, 12, 41, 249 ]; "accounts": [ { "name": "glamState"; "writable": true; }, { "name": "glamEscrow"; "pda": { "seeds": [ { "kind": "const"; "value": [ 101, 115, 99, 114, 111, 119 ]; }, { "kind": "account"; "path": "glamMint"; } ]; }; }, { "name": "glamMint"; "writable": true; }, { "name": "escrowMintAta"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "glamEscrow"; }, { "kind": "account"; "path": "token2022Program"; }, { "kind": "account"; "path": "glamMint"; } ]; "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": "glamProtocolProgram"; "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"; }, { "name": "token2022Program"; "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"; } ]; "args": []; }, { "name": "emergencyUpdateMint"; "discriminator": [ 141, 210, 26, 160, 120, 140, 28, 239 ]; "accounts": [ { "name": "glamState"; }, { "name": "glamSigner"; "writable": true; "signer": true; }, { "name": "glamMint"; }, { "name": "requestQueue"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 114, 101, 113, 117, 101, 115, 116, 45, 113, 117, 101, 117, 101 ]; }, { "kind": "account"; "path": "glamMint"; } ]; }; } ]; "args": [ { "name": "args"; "type": { "defined": { "name": "emergencyUpdateMintArgs"; }; }; } ]; }, { "name": "forceTransferTokens"; "discriminator": [ 185, 34, 78, 211, 192, 13, 160, 37 ]; "accounts": [ { "name": "glamState"; "writable": true; }, { "name": "glamSigner"; "writable": true; "signer": true; }, { "name": "glamMint"; "writable": true; }, { "name": "fromTokenAccount"; "writable": true; }, { "name": "toAta"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "to"; }, { "kind": "account"; "path": "token2022Program"; }, { "kind": "account"; "path": "glamMint"; } ]; "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": "toPolicyAccount"; "writable": true; "optional": true; }, { "name": "systemProgram"; "address": "11111111111111111111111111111111"; }, { "name": "token2022Program"; "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"; }, { "name": "policiesProgram"; "address": "po1iCYakK3gHCLbuju4wGzFowTMpAJxkqK1iwUqMonY"; } ]; "args": [ { "name": "amount"; "type": "u64"; } ]; }, { "name": "fulfill"; "discriminator": [ 143, 2, 52, 206, 174, 164, 247, 72 ]; "accounts": [ { "name": "glamState"; "writable": true; }, { "name": "glamVault"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 118, 97, 117, 108, 116 ]; }, { "kind": "account"; "path": "glamState"; } ]; "program": { "kind": "const"; "value": [ 227, 199, 235, 230, 176, 132, 243, 117, 43, 131, 173, 18, 78, 255, 26, 50, 209, 135, 86, 219, 140, 126, 61, 255, 0, 218, 252, 224, 172, 8, 223, 207 ]; }; }; }, { "name": "glamMint"; "writable": true; }, { "name": "glamEscrow"; "pda": { "seeds": [ { "kind": "const"; "value": [ 101, 115, 99, 114, 111, 119 ]; }, { "kind": "account"; "path": "glamMint"; } ]; }; }, { "name": "requestQueue"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 114, 101, 113, 117, 101, 115, 116, 45, 113, 117, 101, 117, 101 ]; }, { "kind": "account"; "path": "glamMint"; } ]; }; }, { "name": "signer"; "writable": true; "signer": true; }, { "name": "escrowMintAta"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "glamEscrow"; }, { "kind": "account"; "path": "token2022Program"; }, { "kind": "account"; "path": "glamMint"; } ]; "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": "vaultAssetAta"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "glamVault"; }, { "kind": "account"; "path": "depositTokenProgram"; }, { "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": "escrowAssetAta"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "glamEscrow"; }, { "kind": "account"; "path": "depositTokenProgram"; }, { "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": "systemProgram"; "address": "11111111111111111111111111111111"; }, { "name": "depositTokenProgram"; }, { "name": "token2022Program"; "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"; }, { "name": "associatedTokenProgram"; "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"; }, { "name": "glamProtocolProgram"; "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"; } ]; "args": [ { "name": "limit"; "type": { "option": "u32"; }; } ]; }, { "name": "initializeMint"; "docs": [ "Initialize a new GLAM mint with extensions and metadata.", "", "- `mint_model` - Configuration model containing mint parameters and metadata", "- `created_key` - 8-byte key used in the GLAM state PDA derivation", "- `account_type` - Fund (for tokenized vault mint) or Mint", "- `decimals` - Decimals of new mint" ]; "discriminator": [ 209, 42, 195, 4, 129, 85, 209, 44 ]; "accounts": [ { "name": "glamState"; "writable": true; }, { "name": "signer"; "writable": true; "signer": true; }, { "name": "newMint"; "writable": true; }, { "name": "requestQueue"; "writable": true; "optional": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 114, 101, 113, 117, 101, 115, 116, 45, 113, 117, 101, 117, 101 ]; }, { "kind": "account"; "path": "newMint"; } ]; }; }, { "name": "extraMetasAccount"; "writable": true; }, { "name": "baseAssetMint"; }, { "name": "systemProgram"; "address": "11111111111111111111111111111111"; }, { "name": "token2022Program"; "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"; }, { "name": "policiesProgram"; "address": "po1iCYakK3gHCLbuju4wGzFowTMpAJxkqK1iwUqMonY"; }, { "name": "glamProtocol"; "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"; } ]; "args": [ { "name": "mintModel"; "type": { "defined": { "name": "mintModel"; }; }; }, { "name": "createdKey"; "type": { "array": [ "u8", 8 ]; }; }, { "name": "accountType"; "type": { "defined": { "name": "accountType"; }; }; }, { "name": "decimals"; "type": { "option": "u8"; }; } ]; }, { "name": "mintTokens"; "discriminator": [ 59, 132, 24, 246, 122, 39, 8, 243 ]; "accounts": [ { "name": "glamState"; "writable": true; }, { "name": "glamSigner"; "writable": true; "signer": true; }, { "name": "glamMint"; "writable": true; }, { "name": "mintTo"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "recipient"; }, { "kind": "account"; "path": "token2022Program"; }, { "kind": "account"; "path": "glamMint"; } ]; "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": "policyAccount"; "writable": true; "optional": true; }, { "name": "systemProgram"; "address": "11111111111111111111111111111111"; }, { "name": "token2022Program"; "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"; }, { "name": "policiesProgram"; "address": "po1iCYakK3gHCLbuju4wGzFowTMpAJxkqK1iwUqMonY"; } ]; "args": [ { "name": "amount"; "type": "u64"; } ]; }, { "name": "priceDriftUsers"; "docs": [ "Extra accounts for pricing N drift users under the same user stats:", "- user_stats x 1", "- drift_user x N", "- markets and oracles used by all drift users (no specific order)", "", "Clients must pre-refresh any stale Drift spot market cumulative interest by", "prepending Drift `update_spot_market_cumulative_interest` instructions for the", "referenced spot markets. Calls will fail with `StaleDriftInterest` if a required", "spot market's cumulative interest is too old." ]; "discriminator": [ 12, 5, 143, 51, 101, 81, 200, 150 ]; "accounts": [ { "name": "glamState"; "writable": true; }, { "name": "glamVault"; "pda": { "seeds": [ { "kind": "const"; "value": [ 118, 97, 117, 108, 116 ]; }, { "kind": "account"; "path": "glamState"; } ]; "program": { "kind": "const"; "value": [ 227, 199, 235, 230, 176, 132, 243, 117, 43, 131, 173, 18, 78, 255, 26, 50, 209, 135, 86, 219, 140, 126, 61, 255, 0, 218, 252, 224, 172, 8, 223, 207 ]; }; }; }, { "name": "signer"; "writable": true; "signer": true; }, { "name": "solUsdOracle"; }, { "name": "baseAssetOracle"; }, { "name": "integrationAuthority"; "pda": { "seeds": [ { "kind": "const"; "value": [ 105, 110, 116, 101, 103, 114, 97, 116, 105, 111, 110, 45, 97, 117, 116, 104, 111, 114, 105, 116, 121 ]; } ]; }; }, { "name": "glamConfig"; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108, 45, 99, 111, 110, 102, 105, 103 ]; } ]; "program": { "kind": "const"; "value": [ 10, 11, 0, 83, 72, 16, 46, 144, 46, 42, 79, 22, 157, 123, 21, 242, 192, 146, 1, 78, 88, 59, 102, 9, 190, 226, 92, 189, 187, 232, 83, 220 ]; }; }; }, { "name": "glamProtocol"; "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"; }, { "name": "eventAuthority"; "optional": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ]; } ]; }; }, { "name": "eventProgram"; "optional": true; "address": "GM1NtvvnSXUptTrMCqbogAdZJydZSNv98DoU5AZVLmGh"; } ]; "args": [ { "name": "numUsers"; "type": "u8"; } ]; }, { "name": "priceDriftVaultDepositors"; "docs": [ "Extra accounts for pricing N vault depositors:", "- (vault_depositor, drift_vault, drift_user) x N", "- spot_market used by drift users of vaults (no specific order)", "- perp markets used by drift users of vaults (no specific order)", "- oracles of spot markets and perp markets (no specific order)", "", "Clients must pre-refresh any stale Drift spot market cumulative interest by", "prepending Drift `update_spot_market_cumulative_interest` instructions for the", "referenced spot markets. Calls will fail with `StaleDriftInterest` if a required", "spot market's cumulative interest is too old." ]; "discriminator": [ 234, 16, 238, 70, 189, 23, 98, 160 ]; "accounts": [ { "name": "glamState"; "writable": true; }, { "name": "glamVault"; "pda": { "seeds": [ { "kind": "const"; "value": [ 118, 97, 117, 108, 116 ]; }, { "kind": "account"; "path": "glamState"; } ]; "program": { "kind": "const"; "value": [ 227, 199, 235, 230, 176, 132, 243, 117, 43, 131, 173, 18, 78, 255, 26, 50, 209, 135, 86, 219, 140, 126, 61, 255, 0, 218, 252, 224, 172, 8, 223, 207 ]; }; }; }, { "name": "signer"; "writable": true; "signer": true; }, { "name": "solUsdOracle"; }, { "name": "baseAssetOracle"; }, { "name": "integrationAuthority"; "pda": { "seeds": [ { "kind": "const"; "value": [ 105, 110, 116, 101, 103, 114, 97, 116, 105, 111, 110, 45, 97, 117, 116, 104, 111, 114, 105, 116, 121 ]; } ]; }; }, { "name": "glamConfig"; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108, 45, 99, 111, 110, 102, 105, 103 ]; } ]; "program": { "kind": "const"; "value": [ 10, 11, 0, 83, 72, 16, 46, 144, 46, 42, 79, 22, 157, 123, 21, 242, 192, 146, 1, 78, 88, 59, 102, 9, 190, 226, 92, 189, 187, 232, 83, 220 ]; }; }; }, { "name": "glamProtocol"; "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"; }, { "name": "eventAuthority"; "optional": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ]; } ]; }; }, { "name": "eventProgram"; "optional": true; "address": "GM1NtvvnSXUptTrMCqbogAdZJydZSNv98DoU5AZVLmGh"; } ]; "args": [ { "name": "numVaultDepositors"; "type": "u8"; }, { "name": "numSpotMarkets"; "type": "u8"; }, { "name": "numPerpMarkets"; "type": "u8"; } ]; }, { "name": "priceKaminoObligations"; "docs": [ "Prices Kamino obligations. Reserves and obligations must be refreshed in the same slot before calling this ix.", "", "Extra accounts for pricing N kamino obligations:", "- obligations x N" ]; "discriminator": [ 166, 110, 234, 179, 240, 179, 69, 246 ]; "accounts": [ { "name": "glamState"; "writable": true; }, { "name": "glamVault"; "pda": { "seeds": [ { "kind": "const"; "value": [ 118, 97, 117, 108, 116 ]; }, { "kind": "account"; "path": "glamState"; } ]; "program": { "kind": "const"; "value": [ 227, 199, 235, 230, 176, 132, 243, 117, 43, 131, 173, 18, 78, 255, 26, 50, 209, 135, 86, 219, 140, 126, 61, 255, 0, 218, 252, 224, 172, 8, 223, 207 ]; }; }; }, { "name": "signer"; "writable": true; "signer": true; }, { "name": "solUsdOracle"; }, { "name": "baseAssetOracle"; }, { "name": "integrationAuthority"; "pda": { "seeds": [ { "kind": "const"; "value": [ 105, 110, 116, 101, 103, 114, 97, 116, 105, 111, 110, 45, 97, 117, 116, 104, 111, 114, 105, 116, 121 ]; } ]; }; }, { "name": "glamConfig"; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108, 45, 99, 111, 110, 102, 105, 103 ]; } ]; "program": { "kind": "const"; "value": [ 10, 11, 0, 83, 72, 16, 46, 144, 46, 42, 79, 22, 157, 123, 21, 242, 192, 146, 1, 78, 88, 59, 102, 9, 190, 226, 92, 189, 187, 232, 83, 220 ]; }; }; }, { "name": "glamProtocol"; "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"; }, { "name": "eventAuthority"; "optional": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ]; } ]; }; }, { "name": "eventProgram"; "optional": true; "address": "GM1NtvvnSXUptTrMCqbogAdZJydZSNv98DoU5AZVLmGh"; } ]; "args": []; }, { "name": "priceKaminoVaultShares"; "docs": [ "Prices Kamino vault shares.", "- `num_vaults` Number of kamino vaults to price.", "", "Extra accounts for pricing N kamino vault shares:", "- (kvault_share_ata, kvault_share_mint, kvault_state, kvault_deposit_token_oracle) x N", "- reserve x M", "- M = number of reserves used by all kvaults' allocations", "- reserve pubkeys must follow the same order of reserves used by each allocation" ]; "discriminator": [ 112, 92, 238, 224, 145, 105, 38, 249 ]; "accounts": [ { "name": "glamState"; "writable": true; }, { "name": "glamVault"; "pda": { "seeds": [ { "kind": "const"; "value": [ 118, 97, 117, 108, 116 ]; }, { "kind": "account"; "path": "glamState"; } ]; "program": { "kind": "const"; "value": [ 227, 199, 235, 230, 176, 132, 243, 117, 43, 131, 173, 18, 78, 255, 26, 50, 209, 135, 86, 219, 140, 126, 61, 255, 0, 218, 252, 224, 172, 8, 223, 207 ]; }; }; }, { "name": "signer"; "writable": true; "signer": true; }, { "name": "solUsdOracle"; }, { "name": "baseAssetOracle"; }, { "name": "integrationAuthority"; "pda": { "seeds": [ { "kind": "const"; "value": [ 105, 110, 116, 101, 103, 114, 97, 116, 105, 111, 110, 45, 97, 117, 116, 104, 111, 114, 105, 116, 121 ]; } ]; }; }, { "name": "glamConfig"; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108, 45, 99, 111, 110, 102, 105, 103 ]; } ]; "program": { "kind": "const"; "value": [ 10, 11, 0, 83, 72, 16, 46, 144, 46, 42, 79, 22, 157, 123, 21, 242, 192, 146, 1, 78, 88, 59, 102, 9, 190, 226, 92, 189, 187, 232, 83, 220 ]; }; }; }, { "name": "glamProtocol"; "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"; }, { "name": "eventAuthority"; "optional": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ]; } ]; }; }, { "name": "eventProgram"; "optional": true; "address": "GM1NtvvnSXUptTrMCqbogAdZJydZSNv98DoU5AZVLmGh"; } ]; "args": [ { "name": "numVaults"; "type": "u8"; } ]; }, { "name": "priceOrcaWhirlpoolPositions"; "docs": [ "Prices Orca Whirlpools positions registered as vault external positions.", "", "Remaining accounts for each position:", "- position", "- position_token_account", "- whirlpool", "- tick_array_lower", "- tick_array_upper", "- token_mint_a", "- token_oracle_a", "- token_mint_b", "- token_oracle_b", "- optional reward_mint, reward_oracle pairs for initialized rewards with nonzero value" ]; "discriminator": [ 3, 81, 117, 34, 5, 238, 158, 232 ]; "accounts": [ { "name": "glamState"; "writable": true; }, { "name": "glamVault"; "pda": { "seeds": [ { "kind": "const"; "value": [ 118, 97, 117, 108, 116 ]; }, { "kind": "account"; "path": "glamState"; } ]; "program": { "kind": "const"; "value": [ 227, 199, 235, 230, 176, 132, 243, 117, 43, 131, 173, 18, 78, 255, 26, 50, 209, 135, 86, 219, 140, 126, 61, 255, 0, 218, 252, 224, 172, 8, 223, 207 ]; }; }; }, { "name": "signer"; "writable": true; "signer": true; }, { "name": "solUsdOracle"; }, { "name": "baseAssetOracle"; }, { "name": "integrationAuthority"; "pda": { "seeds": [ { "kind": "const"; "value": [ 105, 110, 116, 101, 103, 114, 97, 116, 105, 111, 110, 45, 97, 117, 116, 104, 111, 114, 105, 116, 121 ]; } ]; }; }, { "name": "glamConfig"; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108, 45, 99, 111, 110, 102, 105, 103 ]; } ]; "program": { "kind": "const"; "value": [ 10, 11, 0, 83, 72, 16, 46, 144, 46, 42, 79, 22, 157, 123, 21, 242, 192, 146, 1, 78, 88, 59, 102, 9, 190, 226, 92, 189, 187, 232, 83, 220 ]; }; }; }, { "name": "glamProtocol"; "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"; }, { "name": "eventAuthority"; "optional": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ]; } ]; }; }, { "name": "eventProgram"; "optional": true; "address": "GM1NtvvnSXUptTrMCqbogAdZJydZSNv98DoU5AZVLmGh"; } ]; "args": [ { "name": "numPositions"; "type": "u8"; } ]; }, { "name": "priceSingleAssetVault"; "docs": [ "Prices a single asset vault." ]; "discriminator": [ 93, 213, 219, 25, 38, 74, 9, 167 ]; "accounts": [ { "name": "glamState"; "writable": true; }, { "name": "glamVault"; "pda": { "seeds": [ { "kind": "const"; "value": [ 118, 97, 117, 108, 116 ]; }, { "kind": "account"; "path": "glamState"; } ]; "program": { "kind": "const"; "value": [ 227, 199, 235, 230, 176, 132, 243, 117, 43, 131, 173, 18, 78, 255, 26, 50, 209, 135, 86, 219, 140, 126, 61, 255, 0, 218, 252, 224, 172, 8, 223, 207 ]; }; }; }, { "name": "signer"; "writable": true; "signer": true; }, { "name": "baseAssetAta"; }, { "name": "integrationAuthority"; "pda": { "seeds": [ { "kind": "const"; "value": [ 105, 110, 116, 101, 103, 114, 97, 116, 105, 111, 110, 45, 97, 117, 116, 104, 111, 114, 105, 116, 121 ]; } ]; }; }, { "name": "glamProtocol"; "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"; }, { "name": "eventAuthority"; "optional": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ]; } ]; }; }, { "name": "eventProgram"; "optional": true; "address": "GM1NtvvnSXUptTrMCqbogAdZJydZSNv98DoU5AZVLmGh"; } ]; "args": []; }, { "name": "priceVaultTokens"; "docs": [ "Prices vault SOL balance and tokens it holds.", "", "Args:", "- `denom`: Denomination of the price.", "- `agg_indexes`: Indexes of the aggregation oracles for the tokens (must follow the same order of mints in extra accounts). If aggregation oracle is not used for token #`i`, `agg_indexes[i]` should be set to -1.", "", "Extra accounts for pricing N tokens:", "- (ata, mint, oracle) x N", "- optional oracle mapping (only add it if any token uses an agg oracle)" ]; "discriminator": [ 54, 42, 16, 199, 20, 183, 50, 137 ]; "accounts": [ { "name": "glamState"; "writable": true; }, { "name": "glamVault"; "pda": { "seeds": [ { "kind": "const"; "value": [ 118, 97, 117, 108, 116 ]; }, { "kind": "account"; "path": "glamState"; } ]; "program": { "kind": "const"; "value": [ 227, 199, 235, 230, 176, 132, 243, 117, 43, 131, 173, 18, 78, 255, 26, 50, 209, 135, 86, 219, 140, 126, 61, 255, 0, 218, 252, 224, 172, 8, 223, 207 ]; }; }; }, { "name": "signer"; "writable": true; "signer": true; }, { "name": "solUsdOracle"; }, { "name": "baseAssetOracle"; }, { "name": "integrationAuthority"; "pda": { "seeds": [ { "kind": "const"; "value": [ 105, 110, 116, 101, 103, 114, 97, 116, 105, 111, 110, 45, 97, 117, 116, 104, 111, 114, 105, 116, 121 ]; } ]; }; }, { "name": "glamConfig"; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108, 45, 99, 111, 110, 102, 105, 103 ]; } ]; "program": { "kind": "const"; "value": [ 10, 11, 0, 83, 72, 16, 46, 144, 46, 42, 79, 22, 157, 123, 21, 242, 192, 146, 1, 78, 88, 59, 102, 9, 190, 226, 92, 189, 187, 232, 83, 220 ]; }; }; }, { "name": "glamProtocol"; "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"; }, { "name": "eventAuthority"; "optional": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ]; } ]; }; }, { "name": "eventProgram"; "optional": true; "address": "GM1NtvvnSXUptTrMCqbogAdZJydZSNv98DoU5AZVLmGh"; } ]; "args": [ { "name": "aggIndexes"; "type": { "vec": { "array": [ "i16", 4 ]; }; }; } ]; }, { "name": "queuedRedeem"; "discriminator": [ 82, 242, 202, 93, 170, 196, 215, 113 ]; "accounts": [ { "name": "glamState"; }, { "name": "glamMint"; "writable": true; }, { "name": "glamEscrow"; "pda": { "seeds": [ { "kind": "const"; "value": [ 101, 115, 99, 114, 111, 119 ]; }, { "kind": "account"; "path": "glamMint"; } ]; }; }, { "name": "requestQueue"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 114, 101, 113, 117, 101, 115, 116, 45, 113, 117, 101, 117, 101 ]; }, { "kind": "account"; "path": "glamMint"; } ]; }; }, { "name": "signer"; "writable": true; "signer": true; }, { "name": "signerMintAta"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "signer"; }, { "kind": "account"; "path": "token2022Program"; }, { "kind": "account"; "path": "glamMint"; } ]; "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": "escrowMintAta"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "glamEscrow"; }, { "kind": "account"; "path": "token2022Program"; }, { "kind": "account"; "path": "glamMint"; } ]; "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": "systemProgram"; "address": "11111111111111111111111111111111"; }, { "name": "token2022Program"; "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"; }, { "name": "associatedTokenProgram"; "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"; } ]; "args": [ { "name": "amountIn"; "type": "u64"; } ]; }, { "name": "queuedSubscribe"; "discriminator": [ 107, 180, 212, 63, 146, 0, 159, 255 ]; "accounts": [ { "name": "glamState"; }, { "name": "glamMint"; "writable": true; }, { "name": "glamEscrow"; "pda": { "seeds": [ { "kind": "const"; "value": [ 101, 115, 99, 114, 111, 119 ]; }, { "kind": "account"; "path": "glamMint"; } ]; }; }, { "name": "requestQueue"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 114, 101, 113, 117, 101, 115, 116, 45, 113, 117, 101, 117, 101 ]; }, { "kind": "account"; "path": "glamMint"; } ]; }; }, { "name": "signer"; "writable": true; "signer": true; }, { "name": "depositAsset"; }, { "name": "escrowDepositAta"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "glamEscrow"; }, { "kind": "account"; "path": "depositTokenProgram"; }, { "kind": "account"; "path": "depositAsset"; } ]; "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": "signerDepositAta"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "signer"; }, { "kind": "account"; "path": "depositTokenProgram"; }, { "kind": "account"; "path": "depositAsset"; } ]; "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": "systemProgram"; "address": "11111111111111111111111111111111"; }, { "name": "depositTokenProgram"; }, { "name": "associatedTokenProgram"; "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"; } ]; "args": [ { "name": "amountIn"; "type": "u64"; } ]; }, { "name": "setMintPolicy"; "discriminator": [ 12, 208, 252, 52, 166, 250, 137, 169 ]; "accounts": [ { "name": "glamState"; "writable": true; }, { "name": "glamSigner"; "writable": true; "signer": true; }, { "name": "glamProtocolProgram"; "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"; } ]; "args": [ { "name": "policy"; "type": { "defined": { "name": "mintPolicy"; }; }; } ]; }, { "name": "setProtocolFees"; "discriminator": [ 49, 143, 189, 18, 56, 206, 158, 226 ]; "accounts": [ { "name": "glamState"; "writable": true; }, { "name": "glamMint"; }, { "name": "signer"; "writable": true; "signer": true; }, { "name": "glamConfig"; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108, 45, 99, 111, 110, 102, 105, 103 ]; } ]; "program": { "kind": "const"; "value": [ 10, 11, 0, 83, 72, 16, 46, 144, 46, 42, 79, 22, 157, 123, 21, 242, 192, 146, 1, 78, 88, 59, 102, 9, 190, 226, 92, 189, 187, 232, 83, 220 ]; }; }; }, { "name": "glamProtocolProgram"; "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"; } ]; "args": [ { "name": "baseFeeBps"; "type": "u16"; }, { "name": "flowFeeBps"; "type": "u16"; } ]; }, { "name": "setTokenAccountsStates"; "discriminator": [ 50, 133, 45, 86, 117, 66, 115, 195 ]; "accounts": [ { "name": "glamState"; }, { "name": "glamSigner"; "writable": true; "signer": true; }, { "name": "glamMint"; "writable": true; }, { "name": "token2022Program"; "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"; } ]; "args": [ { "name": "frozen"; "type": "bool"; } ]; }, { "name": "subscribe"; "discriminator": [ 254, 28, 191, 138, 156, 179, 183, 53 ]; "accounts": [ { "name": "glamState"; "writable": true; }, { "name": "glamVault"; "pda": { "seeds": [ { "kind": "const"; "value": [ 118, 97, 117, 108, 116 ]; }, { "kind": "account"; "path": "glamState"; } ]; "program": { "kind": "const"; "value": [ 227, 199, 235, 230, 176, 132, 243, 117, 43, 131, 173, 18, 78, 255, 26, 50, 209, 135, 86, 219, 140, 126, 61, 255, 0, 218, 252, 224, 172, 8, 223, 207 ]; }; }; }, { "name": "glamMint"; "writable": true; }, { "name": "glamEscrow"; "pda": { "seeds": [ { "kind": "const"; "value": [ 101, 115, 99, 114, 111, 119 ]; }, { "kind": "account"; "path": "glamMint"; } ]; }; }, { "name": "requestQueue"; "pda": { "seeds": [ { "kind": "const"; "value": [ 114, 101, 113, 117, 101, 115, 116, 45, 113, 117, 101, 117, 101 ]; }, { "kind": "account"; "path": "glamMint"; } ]; }; }, { "name": "signer"; "writable": true; "signer": true; }, { "name": "signerMintAta"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "signer"; }, { "kind": "account"; "path": "token2022Program"; }, { "kind": "account"; "path": "glamMint"; } ]; "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": "escrowMintAta"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "glamEscrow"; }, { "kind": "account"; "path": "token2022Program"; }, { "kind": "account"; "path": "glamMint"; } ]; "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": "depositAsset"; }, { "name": "vaultDepositAta"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "glamVault"; }, { "kind": "account"; "path": "depositTokenProgram"; }, { "kind": "account"; "path": "depositAsset"; } ]; "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": "signerDepositAta"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "signer"; }, { "kind": "account"; "path": "depositTokenProgram"; }, { "kind": "account"; "path": "depositAsset"; } ]; "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": "signerPolicy"; "writable": true; "optional": true; }, { "name": "systemProgram"; "address": "11111111111111111111111111111111"; }, { "name": "depositTokenProgram"; }, { "name": "token2022Program"; "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"; }, { "name": "associatedTokenProgram"; "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"; }, { "name": "policiesProgram"; "address": "po1iCYakK3gHCLbuju4wGzFowTMpAJxkqK1iwUqMonY"; }, { "name": "glamProtocolProgram"; "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"; } ]; "args": [ { "name": "amountIn"; "type": "u64"; } ]; }, { "name": "updateMint"; "discriminator": [ 212, 203, 57, 78, 75, 245, 222, 5 ]; "accounts": [ { "name": "glamState"; "writable": true; }, { "name": "glamSigner"; "writable": true; "signer": true; }, { "name": "glamMint"; "writable": true; }, { "name": "systemProgram"; "address": "11111111111111111111111111111111"; }, { "name": "token2022Program"; "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"; }, { "name": "glamProtocol"; "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"; } ]; "args": [ { "name": "mintModel"; "type": { "defined": { "name": "mintModel"; }; }; } ]; }, { "name": "updateMintApplyTimelock"; "discriminator": [ 223, 241, 80, 24, 120, 25, 82, 134 ]; "accounts": [ { "name": "glamState"; "writable": true; }, { "name": "glamSigner"; "writable": true; "signer": true; }, { "name": "glamMint"; "writable": true; }, { "name": "requestQueue"; "optional": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 114, 101, 113, 117, 101, 115, 116, 45, 113, 117, 101, 117, 101 ]; }, { "kind": "account"; "path": "glamMint"; } ]; }; }, { "name": "systemProgram"; "address": "11111111111111111111111111111111"; }, { "name": "token2022Program"; "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"; }, { "name": "glamProtocol"; "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"; } ]; "args": []; }, { "name": "validateAum"; "docs": [ "Validates AUM of the vault and emits AumRecord event." ]; "discriminator": [ 101, 15, 233, 89, 134, 123, 224, 99 ]; "accounts": [ { "name": "glamState"; }, { "name": "signer"; "writable": true; "signer": true; }, { "name": "eventAuthority"; "optional": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ]; } ]; }; }, { "name": "eventProgram"; "optional": true; "address": "GM1NtvvnSXUptTrMCqbogAdZJydZSNv98DoU5AZVLmGh"; } ]; "args": []; } ]; "accounts": [ { "name": "globalConfig"; "discriminator": [ 149, 8, 156, 202, 160, 252, 176, 217 ]; }, { "name": "requestQueue"; "discriminator": [ 172, 124, 172, 253, 233, 63, 70, 234 ]; }, { "name": "stateAccount"; "discriminator": [ 142, 247, 54, 95, 85, 133, 249, 103 ]; } ]; "events": [ { "name": "aumRecord"; "discriminator": [ 162, 116, 55, 29, 223, 230, 239, 205 ]; }, { "name": "pricedProtocolRecord"; "discriminator": [ 232, 89, 187, 82, 49, 200, 127, 132 ]; } ]; "errors": [ { "code": 6000; "name": "invalidAuthority"; "msg": "Invalid authority"; }, { "code": 6001; "name": "unauthorizedSigner"; "msg": "Signer is not authorized"; }, { "code": 6002; "name": "actionPaused"; "msg": "Requested action is paused"; }, { "code": 6003; "name": "invalidAsset"; "msg": "Asset not allowed to subscribe"; }, { "code": 6004; "name": "maxCapExceeded"; "msg": "Max cap exceeded"; }, { "code": 6005; "name": "invalidAmount"; "msg": "Invalid amount for subscription or redemption"; }, { "code": 6006; "name": "newRequestNotAllowed"; "msg": "New request is not allowed"; }, { "code": 6007; "name": "requestNotClaimable"; "msg": "Request is not claimable"; }, { "code": 6008; "name": "requestNotCancellable"; "msg": "Request is not cancellable"; }, { "code": 6009; "name": "requestNotFound"; "msg": "Request not found"; }, { "code": 6010; "name": "requestQueueNotEmpty"; "msg": "Request queue not empty"; }, { "code": 6011; "name": "invalidRequestQueueData"; "msg": "Invalid request queue data"; }, { "code": 6012; "name": "requestQueueFull"; "msg": "Request queue full"; }, { "code": 6013; "name": "protocolFeesNotCrystallized"; "msg": "Protocol fees should be crystallized before updating"; }, { "code": 6014; "name": "amountBelowMinimum"; "msg": "Amount is below the minimum required"; }, { "code": 6015; "name": "managerFeesNotCrystallized"; "msg": "Manager fees should be crystallized before updating"; }, { "code": 6016; "name": "amountAboveMaximum"; "msg": "Amount exceeds maximum threshold"; }, { "code": 6017; "name": "insufficientEscrowBalance"; "msg": "Insufficient escrow balance for fee burn"; }, { "code": 6018; "name": "tokenAclManagesFreezeThaw"; "msg": "Token ACL is enabled; freeze/thaw is managed by the Token ACL program"; }, { "code": 6019; "name": "invalidMintState"; "msg": "Invalid mint state"; } ]; "types": [ { "name": "accountType"; "type": { "kind": "enum"; "variants": [ { "name": "vault"; }, { "name": "tokenizedVault"; }, { "name": "mint"; }, { "name": "singleAssetVault"; } ]; }; }, { "name": "accruedFees"; "type": { "kind": "struct"; "fields": [ { "name": "vaultSubscriptionFee"; "type": "u128"; }, { "name": "vaultRedemptionFee"; "type": "u128"; }, { "name": "managerSubscriptionFee"; "type": "u128"; }, { "name": "managerRedemptionFee"; "type": "u128"; }, { "name": "managementFee"; "type": "u128"; }, { "name": "performanceFee"; "type": "u128"; }, { "name": "protocolBaseFee"; "type": "u128"; }, { "name": "protocolFlowFee"; "type": "u128"; } ]; }; }, { "name": "assetMeta"; "type": { "kind": "struct"; "fields": [ { "name": "asset"; "type": "pubkey"; }, { "name": "decimals"; "type": "u8"; }, { "name": "oracle"; "type": "pubkey"; }, { "name": "oracleSource"; "type": { "defined": { "name": "oracleSource"; }; }; }, { "name": "maxAgeSeconds"; "type": "u16"; }, { "name": "priority"; "type": "i8"; }, { "name": "padding"; "type": { "array": [ "u8", 3 ]; }; } ]; }; }, { "name": "aumRecord"; "type": { "kind": "struct"; "fields": [ { "name": "baseAssetAmount"; "type": "i128"; } ]; }; }, { "name": "createdModel"; "type": { "kind": "struct"; "fields": [ { "name": "key"; "type": { "array": [ "u8", 8 ]; }; }, { "name": "createdBy"; "type": "pubkey"; }, { "name": "createdAt"; "type": "i64"; } ]; }; }, { "name": "delegateAcl"; "type": { "kind": "struct"; "fields": [ { "name": "pubkey"; "type": "pubkey"; }, { "name": "integrationPermissions"; "type": { "vec": { "defined": { "name": "integrationPermissions"; }; }; }; }, { "name": "expiresAt"; "type": "i64"; } ]; }; }, { "name": "emergencyUpdateMintArgs"; "type": { "kind": "struct"; "fields": [ { "name": "requestType"; "type": { "defined": { "name": "requestType"; }; }; }, { "name": "setPaused"; "type": "bool"; } ]; }; }, { "name": "engineField"; "type": { "kind": "struct"; "fields": [ { "name": "name"; "type": { "defined": { "name": "engineFieldName"; }; }; }, { "name": "value"; "type": { "defined": { "name": "engineFieldValue"; }; }; } ]; }; }, { "name": "engineFieldName"; "type": { "kind": "enum"; "variants": [ { "name": "owner"; }, { "name": "portfolioManagerName"; }, { "name": "name"; }, { "name": "uri"; }, { "name": "assets"; }, { "name": "delegateAcls"; }, { "name": "integrationAcls"; }, { "name": "timelockDuration"; }, { "name": "borrowable"; }, { "name": "defaultAccountStateFrozen"; }, { "name": "permanentDelegate"; }, { "name": "notifyAndSettle"; }, { "name": "feeStructure"; }, { "name": "feeParams"; }, { "name": "claimableFees"; }, { "name": "claimedFees"; }, { "name": "oracleConfigs"; } ]; }; }, { "name": "engineFieldValue"; "type": { "kind": "enum"; "variants": [ { "name": "boolean"; "fields": [ { "name": "val"; "type": "bool"; } ]; }, { "name": "u8"; "fields": [ { "name": "val"; "type": "u8"; } ]; }, { "name": "u32"; "fields": [ { "name": "val"; "type": "u32"; } ]; }, { "name": "u64"; "fields": [ { "name": "val"; "type": "u64"; } ]; }, { "name": "string"; "fields": [ { "name": "val"; "type": "string"; } ]; }, { "name": "pubkey"; "fields": [ { "name": "val"; "type": "pubkey"; } ]; }, { "name": "vecPubkey"; "fields": [ { "name": "val"; "type": { "vec": "pubkey"; }; } ]; }, { "name": "vecU8"; "fields": [ { "name": "val"; "type": "bytes"; } ]; }, { "name": "vecU32"; "fields": [ { "name": "val"; "type": { "vec": "u32"; }; } ]; }, { "name": "vecDelegateAcl"; "fields": [ { "name": "val"; "type": { "vec": { "defined": { "name": "delegateAcl"; }; }; }; } ]; }, { "name": "vecIntegrationAcl"; "fields": [ { "name": "val"; "type": { "vec": { "defined": { "name": "integrationAcl"; }; }; }; } ]; }, { "name": "feeStructure"; "fields": [ { "name": "val"; "type": { "defined": { "name": "feeStructure"; }; }; } ]; }, { "name": "feeParams"; "fields": [ { "name": "val"; "type": { "defined": { "name": "feeParams"; }; }; } ]; }, { "name": "accruedFees"; "fields": [ { "name": "val"; "type": { "defined": { "name": "accruedFees"; }; }; } ]; }, { "name": "notifyAndSettle"; "fields": [ { "name": "val"; "type": { "defined": { "name": "notifyAndSettle"; }; }; } ]; }, { "name": "oracleConfigs"; "fields": [ { "name": "val"; "type": { "defined": { "name": "oracleConfigs"; }; }; } ]; } ]; }; }, { "name": "entryExitFees"; "type": { "kind": "struct"; "fields": [ { "name": "subscriptionFeeBps"; "type": "u16"; }, { "name": "redemptionFeeBps"; "type": "u16"; } ]; }; }, { "name": "feeParams"; "type": { "kind": "struct"; "fields": [ { "name": "yearInSeconds"; "type": "u32"; }, { "name": "paHighWaterMark"; "type": "i128"; }, { "name": "paLastNav"; "type": "i128"; }, { "name": "lastAum"; "type": "i128"; }, { "name": "lastPerformanceFeeCrystallized"; "type": "i64"; }, { "name": "lastManagementFeeCrystallized"; "type": "i64"; }, { "name": "lastProtocolFeeCrystallized"; "type": "i64"; } ]; }; }, { "name": "feeStructure"; "type": { "kind": "struct"; "fields": [ { "name": "vault"; "type": { "defined": { "name": "entryExitFees"; }; }; }, { "name": "manager"; "type": { "defined": { "name": "entryExitFees"; }; }; }, { "name": "management"; "type": { "defined": { "name": "managementFee"; }; }; }, { "name": "performance"; "type": { "defined": { "name": "performanceFee"; }; }; }, { "name": "protocol"; "type": { "defined": { "name": "protocolFees"; }; }; } ]; }; }, { "name": "globalConfig"; "type": { "kind": "struct"; "fields": [ { "name": "admin"; "docs": [ "The authority that can modify the config" ]; "type": "pubkey"; }, { "name": "feeAuthority"; "docs": [ "The authority that can modify fee structure of individual glam state and claim protocol fees" ]; "type": "pubkey"; }, { "name": "referrer"; "docs": [ "Default GLAM referrer" ]; "type": "pubkey"; }, { "name": "baseFeeBps"; "docs": [ "Default protocol base fee applied to all vaults" ]; "type": "u16"; }, { "name": "flowFeeBps"; "docs": [ "Default protocol flow fee applied to all vaults" ]; "type": "u16"; }, { "name": "assetMetas"; "docs": [ "List of assets and their oracle configs supported by the protocol" ]; "type": { "vec": { "defined": { "name": "assetMeta"; }; }; }; } ]; }; }, { "name": "hurdleType"; "type": { "kind": "enum"; "variants": [ { "name": "hard"; }, { "name": "soft"; } ]; }; }, { "name": "integrationAcl"; "docs": [ "An integration program can have multiple protocols supported.", "Enabled protocols are stored in a bitmask, and each protocol can have its own policy." ]; "type": { "kind": "struct"; "fields": [ { "name": "integrationProgram"; "type": "pubkey"; }, { "name": "protocolsBitmask"; "type": "u16"; }, { "name": "protocolPolicies"; "type": { "vec": { "defined": { "name": "protocolPolicy"; }; }; }; } ]; }; }, { "name": "integrationPermissions"; "docs": [ "Stores delegate permissions for an integration program." ]; "type": { "kind": "struct"; "fields": [ { "name": "integrationProgram"; "type": "pubkey"; }, { "name": "protocolPermissions"; "type": { "vec": { "defined": { "name": "protocolPermissions"; }; }; }; } ]; }; }, { "name": "managementFee"; "type": { "kind": "struct"; "fields": [ { "name": "feeBps"; "type": "u16"; } ]; }; }, { "name": "mintModel"; "type": { "kind": "struct"; "fields": [ { "name": "symbol"; "type": { "option": "string"; }; }, { "name": "name"; "type": { "option": { "array": [ "u8", 32 ]; }; }; }, { "name": "uri"; "type": { "option": "string"; }; }, { "name": "yearInSeconds"; "type": { "option": "u32"; }; }, { "name": "permanentDelegate"; "type": { "option": "pubkey"; }; }, { "name": "defaultAccountStateFrozen"; "type": { "option": "bool"; }; }, { "name": "feeStructure"; "type": { "option": { "defined": { "name": "feeStructure"; }; }; }; }, { "name": "notifyAndSettle"; "type": { "option": { "defined": { "name": "notifyAndSettle"; }; }; }; }, { "name": "lockupPeriod"; "type": { "option": "u32"; }; }, { "name": "maxCap"; "type": { "option": "u64"; }; }, { "name": "minSubscription"; "type": { "option": "u64"; }; }, { "name": "minRedemption"; "type": { "option": "u64"; }; }, { "name": "allowlist"; "type": { "option": { "vec": "pubkey"; }; }; }, { "name": "blocklist"; "type": { "option": { "vec": "pubkey"; }; }; } ]; }; }, { "name": "mintPolicy"; "type": { "kind": "struct"; "fields": [ { "name": "lockupPeriod"; "type": "u32"; }, { "name": "maxCap"; "type": "u64"; }, { "name": "minSubscription"; "type": "u64"; }, { "name": "minRedemption"; "type": "u64"; }, { "name": "reserved"; "type": "u64"; }, { "name": "allowlist"; "type": { "option": { "vec": "pubkey"; }; }; }, { "name": "blocklist"; "type": { "option": { "vec": "pubkey"; }; }; } ]; }; }, { "name": "noticePeriodType"; "type": { "kind": "enum"; "variants": [ { "name": "hard"; }, { "name": "soft"; } ]; }; }, { "name": "notifyAndSettle"; "type": { "kind": "struct"; "fields": [ { "name": "model"; "type": { "defined": { "name": "valuationModel"; }; }; }, { "name": "permissionlessFulfillment"; "type": "bool"; }, { "name": "subscribeNoticePeriodType"; "type": { "defined": { "name": "noticePeriodType"; }; }; }, { "name": "subscribeNoticePeriod"; "type": "u64"; }, { "name": "subscribeSettlementPeriod"; "type": "u64"; }, { "name": "subscribeCancellationWindow"; "type": "u64"; }, { "name": "redeemNoticePeriodType"; "type": { "defined": { "name": "noticePeriodType"; }; }; }, { "name": "redeemNoticePeriod"; "type": "u64"; }, { "name": "redeemSettlementPeriod"; "type": "u64"; }, { "name": "redeemCancellationWindow"; "type": "u64"; }, { "name": "timeUnit"; "type": { "defined": { "name": "timeUnit"; }; }; }, { "name": "padding"; "type": { "array": [ "u8", 3 ]; }; } ]; }; }, { "name": "oracleConfigs"; "docs": [ "Vault-specific oracle configs. If available, these configs are preferred over the global config." ]; "type": { "kind": "struct"; "fields": [ { "name": "maxAgesSeconds"; "type": { "vec": { "array": [ "u16", 2 ]; }; }; }, { "name": "padding"; "type": { "array": [ "u8", 12 ]; }; } ]; }; }, { "name": "oracleSource"; "type": { "kind": "enum"; "variants": [ { "name": "pyth"; }, { "name": "switchboard"; }, { "name": "quoteAsset"; }, { "name": "pyth1K"; }, { "name": "pyth1M"; }, { "name": "pythStableCoin"; }, { "name": "prelaunch"; }, { "name": "pythPull"; }, { "name": "pyth1KPull"; }, { "name": "pyth1MPull"; }, { "name": "pythStableCoinPull"; }, { "name": "switchboardOnDemand"; }, { "name": "pythLazer"; }, { "name": "pythLazer1K"; }, { "name": "pythLazer1M"; }, { "name": "pythLazerStableCoin"; }, { "name": "notSet"; }, { "name": "lstPoolState"; }, { "name": "marinadeState"; }, { "name": "baseAsset"; }, { "name": "chainlinkRwa"; }, { "name": "chainlinkX"; }, { "name": "kaminoReserve"; } ]; }; }, { "name": "pendingRequest"; "type": { "kind": "struct"; "fields": [ { "name": "user"; "type": "pubkey"; }, { "name": "incoming"; "type": "u64"; }, { "name": "outgoing"; "type": "u64"; }, { "name": "createdAt"; "type": "u64"; }, { "name": "fulfilledAt"; "type": "u64"; }, { "name": "timeUnit"; "type": "u8"; }, { "name": "requestType"; "type": { "defined": { "name": "requestType"; }; }; }, { "name": "reserved"; "type": { "array": [ "u8", 6 ]; }; } ]; }; }, { "name": "performanceFee"; "type": { "kind": "struct"; "fields": [ { "name": "feeBps"; "type": "u16"; }, { "name": "hurdleRateBps"; "type": "u16"; }, { "name": "hurdleType"; "type": { "defined": { "name": "hurdleType"; }; }; } ]; }; }, { "name": "pricedProtocol"; "type": { "kind": "struct"; "fields": [ { "name": "rent"; "type": "u64"; }, { "name": "amount"; "type": "i128"; }, { "name": "decimals"; "type": "u8"; }, { "name": "lastUpdatedSlot"; "type": "u64"; }, { "name": "integrationProgram"; "type": "pubkey"; }, { "name": "protocolBitflag"; "type": "u16"; }, { "name": "positions"; "type": { "vec": "pubkey"; }; } ]; }; }, { "name": "pricedProtocolRecord"; "type": { "kind": "struct"; "fields": [ { "name": "baseAssetAmount"; "type": "i128"; } ]; }; }, { "name": "protocolFees"; "type": { "kind": "struct"; "fields": [ { "name": "baseFeeBps"; "type": "u16"; }, { "name": "flowFeeBps"; "type": "u16"; } ]; }; }, { "name": "protocolPermissions"; "docs": [ "Represents a delegate's permissions for a specific protocol" ]; "type": { "kind": "struct"; "fields": [ { "name": "protocolBitflag"; "type": "u16"; }, { "name": "permissionsBitmask"; "type": "u64"; } ]; }; }, { "name": "protocolPolicy"; "docs": [ "Stores policy data for an integrated protocol.", "Integration programs serialize/deserialize this data." ]; "type": { "kind": "struct"; "fields": [ { "name": "protocolBitflag"; "type": "u16"; }, { "name": "data"; "type": "bytes"; } ]; }; }, { "name": "requestQueue"; "type": { "kind": "struct"; "fields": [ { "name": "glamState"; "type": "pubkey"; }, { "name": "glamMint"; "type": "pubkey"; }, { "name": "subscriptionPaused"; "type": "bool"; }, { "name": "redemptionPaused"; "type": "bool"; }, { "name": "data"; "type": { "vec": { "defined": { "name": "pendingRequest"; }; }; }; } ]; }; }, { "name": "requestType"; "type": { "kind": "enum"; "variants": [ { "name": "subscription"; }, { "name": "redemption"; } ]; }; }, { "name": "stateAccount"; "type": { "kind": "struct"; "fields": [ { "name": "accountType"; "type": { "defined": { "name": "accountType"; }; }; }, { "name": "enabled"; "type": "bool"; }, { "name": "vault"; "type": "pubkey"; }, { "name": "owner"; "type": "pubkey"; }, { "name": "portfolioManagerName"; "type": { "array": [ "u8", 32 ]; }; }, { "name": "created"; "type": { "defined": { "name": "createdModel"; }; }; }, { "name": "baseAssetMint"; "type": "pubkey"; }, { "name": "baseAssetDecimals"; "type": "u8"; }, { "name": "baseAssetTokenProgram"; "type": "u8"; }, { "name": "name"; "type": { "array": [ "u8", 32 ]; }; }, { "name": "timelockDuration"; "type": "u32"; }, { "name": "timelockExpiresAt"; "type": "u64"; }, { "name": "mint"; "type": "pubkey"; }, { "name": "assets"; "type": { "vec": "pubkey"; }; }, { "name": "integrationAcls"; "type": { "vec": { "defined": { "name": "integrationAcl"; }; }; }; }, { "name": "delegateAcls"; "type": { "vec": { "defined": { "name": "delegateAcl"; }; }; }; }, { "name": "externalPositions"; "type": { "vec": "pubkey"; }; }, { "name": "pricedProtocols"; "type": { "vec": { "defined": { "name": "pricedProtocol"; }; }; }; }, { "name": "params"; "type": { "vec": { "vec": { "defined": { "name": "engineField"; }; }; }; }; } ]; }; }, { "name": "timeUnit"; "type": { "kind": "enum"; "variants": [ { "name": "second"; }, { "name": "slot"; } ]; }; }, { "name": "valuationModel"; "type": { "kind": "enum"; "variants": [ { "name": "continuous"; }, { "name": "periodic"; } ]; }; } ]; "constants": [ { "name": "protoMint"; "type": "u16"; "value": "1"; }, { "name": "protoMintPermBurnTokens"; "type": "u64"; "value": "2"; }, { "name": "protoMintPermCancelRequest"; "type": "u64"; "value": "128"; }, { "name": "protoMintPermClaimFees"; "type": "u64"; "value": "16"; }, { "name": "protoMintPermClaimRequest"; "type": "u64"; "value": "256"; }, { "name": "protoMintPermEmergencyUpdate"; "type": "u64"; "value": "64"; }, { "name": "protoMintPermForceTransferTokens"; "type": "u64"; "value": "4"; }, { "name": "protoMintPermFulfill"; "type": "u64"; "value": "32"; }, { "name": "protoMintPermMintTokens"; "type": "u64"; "value": "1"; }, { "name": "protoMintPermSetTokenAccountState"; "type": "u64"; "value": "8"; }, { "name": "protoMintPermTokenAclApplyList"; "type": "u64"; "value": "2048"; }, { "name": "protoMintPermTokenAclFreezeThaw"; "type": "u64"; "value": "512"; }, { "name": "protoMintPermTokenAclManageList"; "type": "u64"; "value": "1024"; } ]; };