{ "address": "JUPUSDecMzAVgztLe6eGhwUBj1Pn3j9WAXwmtHmfbRr", "metadata": { "name": "jup_stable", "version": "0.1.0", "spec": "0.1.0", "description": "Created with Anchor" }, "instructions": [ { "name": "create_benefactor", "discriminator": [ 184, 241, 45, 0, 53, 40, 201, 54 ], "accounts": [ { "name": "operator_authority", "signer": true, "relations": [ "operator" ] }, { "name": "operator" }, { "name": "payer", "writable": true, "signer": true }, { "name": "benefactor_authority" }, { "name": "benefactor", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 98, 101, 110, 101, 102, 97, 99, 116, 111, 114 ] }, { "kind": "account", "path": "benefactor_authority" } ] } }, { "name": "system_program", "address": "11111111111111111111111111111111" } ], "args": [ { "name": "mint_fee_rate", "type": "u16" }, { "name": "redeem_fee_rate", "type": "u16" } ] }, { "name": "create_operator", "discriminator": [ 145, 40, 238, 75, 181, 252, 59, 11 ], "accounts": [ { "name": "operator_authority", "signer": true, "relations": [ "operator" ] }, { "name": "payer", "writable": true, "signer": true }, { "name": "operator" }, { "name": "new_operator_authority" }, { "name": "new_operator", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 111, 112, 101, 114, 97, 116, 111, 114 ] }, { "kind": "account", "path": "new_operator_authority" } ] } }, { "name": "system_program", "address": "11111111111111111111111111111111" } ], "args": [ { "name": "role", "type": { "defined": { "name": "OperatorRole" } } } ] }, { "name": "create_vault", "discriminator": [ 29, 237, 247, 208, 193, 82, 54, 135 ], "accounts": [ { "name": "operator_authority", "signer": true, "relations": [ "operator" ] }, { "name": "operator" }, { "name": "payer", "writable": true, "signer": true }, { "name": "mint" }, { "name": "config" }, { "name": "authority", "relations": [ "config" ] }, { "name": "vault", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 118, 97, 117, 108, 116 ] }, { "kind": "account", "path": "mint" } ] } }, { "name": "token_account", "writable": true, "pda": { "seeds": [ { "kind": "account", "path": "authority" }, { "kind": "account", "path": "token_program" }, { "kind": "account", "path": "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": "token_program" }, { "name": "associated_token_program", "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL" }, { "name": "system_program", "address": "11111111111111111111111111111111" } ], "args": [] }, { "name": "delete_benefactor", "discriminator": [ 216, 227, 84, 147, 79, 177, 152, 147 ], "accounts": [ { "name": "operator_authority", "writable": true, "signer": true, "relations": [ "operator" ] }, { "name": "operator" }, { "name": "receiver", "writable": true }, { "name": "benefactor", "writable": true } ], "args": [] }, { "name": "delete_operator", "discriminator": [ 208, 84, 168, 116, 138, 201, 98, 16 ], "accounts": [ { "name": "operator_authority", "signer": true, "relations": [ "operator" ] }, { "name": "payer", "writable": true, "signer": true }, { "name": "operator" }, { "name": "deleted_operator", "writable": true } ], "args": [] }, { "name": "init", "discriminator": [ 220, 59, 207, 236, 108, 250, 47, 100 ], "accounts": [ { "name": "payer", "writable": true, "signer": true }, { "name": "upgrade_authority", "signer": true }, { "name": "operator", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 111, 112, 101, 114, 97, 116, 111, 114 ] }, { "kind": "account", "path": "upgrade_authority" } ] } }, { "name": "config", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 99, 111, 110, 102, 105, 103 ] } ] } }, { "name": "authority", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { "name": "mint", "writable": true, "signer": true }, { "name": "metadata", "writable": true }, { "name": "program_data" }, { "name": "program", "address": "JUPUSDecMzAVgztLe6eGhwUBj1Pn3j9WAXwmtHmfbRr" }, { "name": "metadata_program", "address": "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s" }, { "name": "token_program" }, { "name": "system_program", "address": "11111111111111111111111111111111" }, { "name": "rent", "address": "SysvarRent111111111111111111111111111111111" } ], "args": [ { "name": "decimals", "type": "u8" }, { "name": "name", "type": "string" }, { "name": "symbol", "type": "string" }, { "name": "uri", "type": "string" } ] }, { "name": "manage_benefactor", "discriminator": [ 22, 231, 128, 62, 115, 219, 149, 14 ], "accounts": [ { "name": "operator_authority", "writable": true, "signer": true, "relations": [ "operator" ] }, { "name": "operator" }, { "name": "benefactor", "writable": true } ], "args": [ { "name": "action", "type": { "defined": { "name": "BenefactorManagementAction" } } } ] }, { "name": "manage_config", "discriminator": [ 119, 51, 144, 55, 24, 242, 232, 231 ], "accounts": [ { "name": "operator_authority", "writable": true, "signer": true, "relations": [ "operator" ] }, { "name": "operator" }, { "name": "config", "writable": true } ], "args": [ { "name": "action", "type": { "defined": { "name": "ConfigManagementAction" } } } ] }, { "name": "manage_operator", "discriminator": [ 82, 172, 106, 235, 147, 246, 96, 85 ], "accounts": [ { "name": "operator_authority", "signer": true, "relations": [ "operator" ] }, { "name": "operator" }, { "name": "managed_operator", "writable": true }, { "name": "system_program", "address": "11111111111111111111111111111111" } ], "args": [ { "name": "action", "type": { "defined": { "name": "OperatorManagementAction" } } } ] }, { "name": "manage_vault", "discriminator": [ 165, 7, 106, 242, 73, 193, 195, 128 ], "accounts": [ { "name": "operator_authority", "signer": true, "relations": [ "operator" ] }, { "name": "operator" }, { "name": "vault", "writable": true } ], "args": [ { "name": "action", "type": { "defined": { "name": "VaultManagementAction" } } } ] }, { "name": "mint", "discriminator": [ 51, 57, 225, 47, 182, 146, 137, 166 ], "accounts": [ { "name": "user", "writable": true, "signer": true }, { "name": "user_collateral_token_account", "writable": true }, { "name": "user_lp_token_account", "writable": true }, { "name": "config", "writable": true }, { "name": "authority" }, { "name": "lp_mint", "writable": true }, { "name": "vault", "writable": true }, { "name": "vault_mint" }, { "name": "custodian" }, { "name": "custodian_token_account", "writable": true, "pda": { "seeds": [ { "kind": "account", "path": "custodian" }, { "kind": "account", "path": "vault_token_program" }, { "kind": "account", "path": "vault_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": "benefactor", "writable": true }, { "name": "lp_token_program" }, { "name": "vault_token_program" }, { "name": "system_program", "address": "11111111111111111111111111111111" }, { "name": "event_authority", "pda": { "seeds": [ { "kind": "const", "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { "name": "program" } ], "args": [ { "name": "amount", "type": "u64" }, { "name": "min_amount_out", "type": "u64" } ] }, { "name": "redeem", "discriminator": [ 184, 12, 86, 149, 70, 196, 97, 225 ], "accounts": [ { "name": "user", "writable": true, "signer": true }, { "name": "user_lp_token_account", "writable": true }, { "name": "user_collateral_token_account", "writable": true }, { "name": "config", "writable": true }, { "name": "authority" }, { "name": "lp_mint", "writable": true }, { "name": "vault", "writable": true }, { "name": "vault_token_account", "writable": true }, { "name": "vault_mint" }, { "name": "benefactor", "writable": true }, { "name": "lp_token_program" }, { "name": "vault_token_program" }, { "name": "system_program", "address": "11111111111111111111111111111111" }, { "name": "event_authority", "pda": { "seeds": [ { "kind": "const", "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { "name": "program" } ], "args": [ { "name": "amount", "type": "u64" }, { "name": "min_amount_out", "type": "u64" } ] }, { "name": "withdraw", "discriminator": [ 183, 18, 70, 156, 148, 109, 161, 34 ], "accounts": [ { "name": "operator_authority", "signer": true, "relations": [ "operator" ] }, { "name": "operator" }, { "name": "custodian" }, { "name": "custodian_token_account", "writable": true, "pda": { "seeds": [ { "kind": "account", "path": "custodian" }, { "kind": "account", "path": "token_program" }, { "kind": "account", "path": "vault_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": "config" }, { "name": "authority" }, { "name": "vault", "writable": true }, { "name": "vault_token_account", "writable": true }, { "name": "vault_mint" }, { "name": "token_program" } ], "args": [ { "name": "amount", "type": "u64" } ] } ], "accounts": [ { "name": "Benefactor", "discriminator": [ 98, 159, 41, 233, 19, 232, 104, 12 ] }, { "name": "Config", "discriminator": [ 155, 12, 170, 224, 30, 250, 204, 130 ] }, { "name": "Operator", "discriminator": [ 219, 31, 188, 145, 69, 139, 204, 117 ] }, { "name": "Vault", "discriminator": [ 211, 8, 232, 43, 2, 152, 117, 119 ] } ], "events": [ { "name": "MintV0Event", "discriminator": [ 217, 98, 231, 213, 105, 77, 68, 88 ] }, { "name": "MintV1Event", "discriminator": [ 63, 113, 88, 48, 163, 187, 48, 83 ] }, { "name": "RedeemV0Event", "discriminator": [ 50, 202, 68, 30, 122, 77, 84, 153 ] }, { "name": "RedeemV1Event", "discriminator": [ 67, 51, 207, 92, 219, 144, 44, 2 ] } ], "errors": [ { "code": 6000, "name": "SomeError", "msg": "" }, { "code": 6001, "name": "AdminArrayFull", "msg": "Admin Array Full" }, { "code": 6002, "name": "NotAuthorized", "msg": "Not Authorized" }, { "code": 6003, "name": "BadInput", "msg": "Bad Input" }, { "code": 6004, "name": "BenefactorDisabled", "msg": "Benefactor Disabled" }, { "code": 6005, "name": "BenefactorActive", "msg": "Benefactor Active" }, { "code": 6006, "name": "VaultNotActive", "msg": "Vault Not Active" }, { "code": 6007, "name": "InsufficientAmount", "msg": "Insufficient Amount" }, { "code": 6008, "name": "InvalidFeeRate", "msg": "Invalid Fee Rate" }, { "code": 6009, "name": "MintLimitExceeded", "msg": "Mint Limit Exceeded" }, { "code": 6010, "name": "RedeemLimitExceeded", "msg": "Redeem Limit Exceeded" }, { "code": 6011, "name": "SlippageToleranceExceeded", "msg": "Slippage Tolerance Exceeded" }, { "code": 6012, "name": "MathOverflow", "msg": "Math Overflow" }, { "code": 6013, "name": "InvalidLPMint", "msg": "Invalid LP Mint" }, { "code": 6014, "name": "InvalidVaultMint", "msg": "Invalid Vault Mint" }, { "code": 6015, "name": "InvalidAuthority", "msg": "Invalid Authority" }, { "code": 6016, "name": "InvalidVaultTokenAccount", "msg": "Invalid Vault Token Account" }, { "code": 6017, "name": "InvalidTokenProgram", "msg": "Invalid Token Program" }, { "code": 6018, "name": "InvalidVaultFeeTokenAccount", "msg": "Invalid Vault Fee Token Account" }, { "code": 6019, "name": "BadOracle", "msg": "Bad Oracle" }, { "code": 6020, "name": "NoValidPrice", "msg": "No Valid Price" }, { "code": 6021, "name": "InvalidBenefactor", "msg": "Invalid Benefactor" }, { "code": 6022, "name": "InvalidCustodian", "msg": "Invalid Custodian" }, { "code": 6023, "name": "InvalidPeriodLimit", "msg": "Invalid Rate Limit Window" }, { "code": 6024, "name": "MissingOracleAccounts", "msg": "Missing Oracle Accounts" }, { "code": 6025, "name": "NoOraclesFound", "msg": "No Oracles Found" }, { "code": 6026, "name": "ZeroAmount", "msg": "Zero Amount" }, { "code": 6027, "name": "ProtocolPaused", "msg": "Protocol Paused" }, { "code": 6028, "name": "OperatorDisabled", "msg": "Operator Disabled" }, { "code": 6029, "name": "VaultDisabled", "msg": "Vault Disabled" }, { "code": 6030, "name": "VaultEnabled", "msg": "Vault Enabled" }, { "code": 6031, "name": "VaultIsDry", "msg": "Vault Is Dry" }, { "code": 6032, "name": "InvalidPegPriceUSD", "msg": "Invalid Peg Price USD" }, { "code": 6033, "name": "NoValidOracle", "msg": "No Valid Oracle" }, { "code": 6034, "name": "PriceConfidenceTooWide", "msg": "Price Confidence Too Wide" }, { "code": 6035, "name": "OperatorCannotDeleteItself", "msg": "Operator Cannot Delete Itself" } ], "types": [ { "name": "Benefactor", "serialization": "bytemuck", "repr": { "kind": "c" }, "type": { "kind": "struct", "fields": [ { "name": "authority", "type": "pubkey" }, { "name": "status", "type": { "defined": { "name": "BenefactorStatus" } } }, { "name": "_padding0", "type": { "array": [ "u8", 7 ] } }, { "name": "mint_fee_rate", "type": "u16" }, { "name": "redeem_fee_rate", "type": "u16" }, { "name": "_padding1", "type": { "array": [ "u8", 4 ] } }, { "name": "period_limits", "type": { "array": [ { "defined": { "name": "PeriodLimit" } }, 4 ] } }, { "name": "total_minted", "type": { "array": [ "u8", 16 ] } }, { "name": "total_redeemed", "type": { "array": [ "u8", 16 ] } }, { "name": "fee_overrides", "type": { "array": [ { "defined": { "name": "FeeOverride" } }, 4 ] } }, { "name": "reserved", "type": { "array": [ "u8", 96 ] } } ] } }, { "name": "BenefactorManagementAction", "type": { "kind": "enum", "variants": [ { "name": "Disable" }, { "name": "SetStatus", "fields": [ { "name": "status", "type": { "defined": { "name": "BenefactorStatus" } } } ] }, { "name": "UpdateFeeRates", "fields": [ { "name": "mint_fee_rate", "type": "u16" }, { "name": "redeem_fee_rate", "type": "u16" } ] }, { "name": "UpdatePeriodLimit", "fields": [ { "name": "index", "type": "u8" }, { "name": "duration_seconds", "type": "u64" }, { "name": "max_mint_amount", "type": "u64" }, { "name": "max_redeem_amount", "type": "u64" } ] }, { "name": "ResetPeriodLimit", "fields": [ { "name": "index", "type": "u8" } ] }, { "name": "UpdateFeeOverride", "fields": [ { "name": "index", "type": "u8" }, { "name": "mint", "type": "pubkey" }, { "name": "mint_fee_rate", "type": "u16" }, { "name": "redeem_fee_rate", "type": "u16" } ] }, { "name": "DeleteFeeOverride", "fields": [ { "name": "index", "type": "u8" } ] } ] } }, { "name": "BenefactorStatus", "repr": { "kind": "rust" }, "type": { "kind": "enum", "variants": [ { "name": "Active" }, { "name": "Disabled" } ] } }, { "name": "Config", "serialization": "bytemuck", "repr": { "kind": "c" }, "type": { "kind": "struct", "fields": [ { "name": "mint", "type": "pubkey" }, { "name": "authority", "type": "pubkey" }, { "name": "token_program", "type": "pubkey" }, { "name": "period_limits", "type": { "array": [ { "defined": { "name": "PeriodLimit" } }, 4 ] } }, { "name": "peg_price_usd", "type": "u64" }, { "name": "decimals", "type": "u8" }, { "name": "is_mint_redeem_enabled", "type": "u8" }, { "name": "authority_bump", "type": "u8" }, { "name": "config_bump", "type": "u8" }, { "name": "_padding", "type": { "array": [ "u8", 4 ] } }, { "name": "reserved", "type": { "array": [ "u8", 192 ] } } ] } }, { "name": "ConfigManagementAction", "type": { "kind": "enum", "variants": [ { "name": "Pause" }, { "name": "UpdatePauseFlag", "fields": [ { "name": "is_mint_redeem_enabled", "type": "bool" } ] }, { "name": "UpdatePeriodLimit", "fields": [ { "name": "index", "type": "u8" }, { "name": "duration_seconds", "type": "u64" }, { "name": "max_mint_amount", "type": "u64" }, { "name": "max_redeem_amount", "type": "u64" } ] }, { "name": "ResetPeriodLimit", "fields": [ { "name": "index", "type": "u8" } ] }, { "name": "SetPegPriceUSD", "fields": [ { "name": "peg_price_usd", "type": "u64" } ] } ] } }, { "name": "DovesOracle", "repr": { "kind": "c" }, "type": { "kind": "struct", "fields": [ { "name": "account", "type": "pubkey" }, { "name": "reserved1", "type": { "array": [ "u8", 32 ] } }, { "name": "reserved2", "type": { "array": [ "u8", 32 ] } }, { "name": "reserved3", "type": { "array": [ "u8", 24 ] } } ] } }, { "name": "EmptyOracle", "repr": { "kind": "c" }, "type": { "kind": "struct", "fields": [ { "name": "reserved", "type": { "array": [ "u8", 32 ] } }, { "name": "reserved1", "type": { "array": [ "u8", 32 ] } }, { "name": "reserved2", "type": { "array": [ "u8", 32 ] } }, { "name": "reserved3", "type": { "array": [ "u8", 24 ] } } ] } }, { "name": "FeeOverride", "repr": { "kind": "c" }, "type": { "kind": "struct", "fields": [ { "name": "mint", "type": "pubkey" }, { "name": "mint_fee_rate", "type": "u16" }, { "name": "redeem_fee_rate", "type": "u16" }, { "name": "_padding", "type": { "array": [ "u8", 4 ] } } ] } }, { "name": "MintV0Event", "type": { "kind": "struct", "fields": [ { "name": "amount", "type": "u64" }, { "name": "net_amount", "type": "u64" }, { "name": "oracle_price", "type": "u64" }, { "name": "one_to_one_amount", "type": "u64" }, { "name": "oracle_amount", "type": "u64" }, { "name": "mint_amount", "type": "u64" } ] } }, { "name": "MintV1Event", "type": { "kind": "struct", "fields": [ { "name": "amount", "type": "u64" }, { "name": "net_amount", "type": "u64" }, { "name": "oracle_price", "type": "u64" }, { "name": "one_to_one_amount", "type": "u64" }, { "name": "oracle_amount", "type": "u64" }, { "name": "mint_amount", "type": "u64" }, { "name": "collateral", "type": "pubkey" }, { "name": "benefactor", "type": "pubkey" } ] } }, { "name": "Operator", "serialization": "bytemuck", "repr": { "kind": "c" }, "type": { "kind": "struct", "fields": [ { "name": "operator_authority", "type": "pubkey" }, { "name": "role", "type": "u64" }, { "name": "status", "type": { "defined": { "name": "OperatorStatus" } } }, { "name": "_padding0", "type": { "array": [ "u8", 7 ] } }, { "name": "reserved", "type": { "array": [ "u8", 128 ] } } ] } }, { "name": "OperatorManagementAction", "type": { "kind": "enum", "variants": [ { "name": "SetStatus", "fields": [ { "name": "status", "type": { "defined": { "name": "OperatorStatus" } } } ] }, { "name": "SetRole", "fields": [ { "name": "role", "type": { "defined": { "name": "OperatorRole" } } } ] }, { "name": "ClearRole", "fields": [ { "name": "role", "type": { "defined": { "name": "OperatorRole" } } } ] } ] } }, { "name": "OperatorRole", "type": { "kind": "enum", "variants": [ { "name": "Admin" }, { "name": "PeriodManager" }, { "name": "GlobalDisabler" }, { "name": "VaultManager" }, { "name": "VaultDisabler" }, { "name": "BenefactorManager" }, { "name": "BenefactorDisabler" }, { "name": "PegManager" }, { "name": "CollateralManager" } ] } }, { "name": "OperatorStatus", "repr": { "kind": "rust" }, "type": { "kind": "enum", "variants": [ { "name": "Enabled" }, { "name": "Disabled" } ] } }, { "name": "OracleConfig", "type": { "kind": "enum", "variants": [ { "name": "None" }, { "name": "Pyth", "fields": [ { "array": [ "u8", 32 ] }, "pubkey" ] }, { "name": "SwitchboardOnDemand", "fields": [ "pubkey" ] }, { "name": "Doves", "fields": [ "pubkey" ] } ] } }, { "name": "OracleType", "repr": { "kind": "c" }, "type": { "kind": "enum", "variants": [ { "name": "Empty", "fields": [ { "defined": { "name": "EmptyOracle" } } ] }, { "name": "Pyth", "fields": [ { "defined": { "name": "PythV2Oracle" } } ] }, { "name": "Doves", "fields": [ { "defined": { "name": "DovesOracle" } } ] }, { "name": "SwitchboardOnDemand", "fields": [ { "defined": { "name": "SwitchboardOnDemandOracle" } } ] } ] } }, { "name": "PeriodLimit", "repr": { "kind": "c" }, "type": { "kind": "struct", "fields": [ { "name": "duration_seconds", "docs": [ "Window duration in seconds (0 = disabled)" ], "type": "u64" }, { "name": "max_mint_amount", "docs": [ "Maximum mint amount in this window" ], "type": "u64" }, { "name": "max_redeem_amount", "docs": [ "Maximum redeem amount in this window" ], "type": "u64" }, { "name": "minted_amount", "docs": [ "Amount minted in current window" ], "type": "u64" }, { "name": "redeemed_amount", "docs": [ "Amount redeemed in current window" ], "type": "u64" }, { "name": "window_start", "docs": [ "Window start timestamp" ], "type": "i64" } ] } }, { "name": "PythV2Oracle", "repr": { "kind": "c" }, "type": { "kind": "struct", "fields": [ { "name": "feed_id", "type": { "array": [ "u8", 32 ] } }, { "name": "account", "type": "pubkey" }, { "name": "reserved1", "type": { "array": [ "u8", 32 ] } }, { "name": "reserved2", "type": { "array": [ "u8", 24 ] } } ] } }, { "name": "RedeemV0Event", "type": { "kind": "struct", "fields": [ { "name": "amount", "type": "u64" }, { "name": "net_amount", "type": "u64" }, { "name": "oracle_price", "type": "u64" }, { "name": "one_to_one_amount", "type": "u64" }, { "name": "oracle_amount", "type": "u64" }, { "name": "redeem_amount", "type": "u64" } ] } }, { "name": "RedeemV1Event", "type": { "kind": "struct", "fields": [ { "name": "amount", "type": "u64" }, { "name": "net_amount", "type": "u64" }, { "name": "oracle_price", "type": "u64" }, { "name": "one_to_one_amount", "type": "u64" }, { "name": "oracle_amount", "type": "u64" }, { "name": "redeem_amount", "type": "u64" }, { "name": "collateral", "type": "pubkey" }, { "name": "benefactor", "type": "pubkey" } ] } }, { "name": "SwitchboardOnDemandOracle", "repr": { "kind": "c" }, "type": { "kind": "struct", "fields": [ { "name": "account", "type": "pubkey" }, { "name": "reserved", "type": { "array": [ "u8", 32 ] } }, { "name": "reserved1", "type": { "array": [ "u8", 32 ] } }, { "name": "reserved2", "type": { "array": [ "u8", 24 ] } } ] } }, { "name": "Vault", "serialization": "bytemuck", "repr": { "kind": "c" }, "type": { "kind": "struct", "fields": [ { "name": "mint", "type": "pubkey" }, { "name": "custodian", "type": "pubkey" }, { "name": "token_account", "type": "pubkey" }, { "name": "token_program", "type": "pubkey" }, { "name": "stalesness_threshold", "type": "u64" }, { "name": "min_oracle_price_usd", "type": "u64" }, { "name": "max_oracle_price_usd", "type": "u64" }, { "name": "status", "type": { "defined": { "name": "VaultStatus" } } }, { "name": "_padding1", "type": { "array": [ "u8", 7 ] } }, { "name": "bump", "type": "u8" }, { "name": "decimals", "type": "u8" }, { "name": "_padding2", "type": { "array": [ "u8", 6 ] } }, { "name": "oracles", "type": { "array": [ { "defined": { "name": "OracleType" } }, 5 ] } }, { "name": "_padding3", "type": { "array": [ "u8", 3 ] } }, { "name": "period_limits", "type": { "array": [ { "defined": { "name": "PeriodLimit" } }, 4 ] } }, { "name": "reserved1", "type": { "array": [ "u8", 32 ] } }, { "name": "total_minted", "type": { "array": [ "u8", 16 ] } }, { "name": "total_redeemed", "type": { "array": [ "u8", 16 ] } }, { "name": "reserved", "type": { "array": [ "u8", 256 ] } } ] } }, { "name": "VaultManagementAction", "type": { "kind": "enum", "variants": [ { "name": "Disable" }, { "name": "SetStatus", "fields": [ { "name": "status", "type": { "defined": { "name": "VaultStatus" } } } ] }, { "name": "UpdateOracle", "fields": [ { "name": "index", "type": "u8" }, { "name": "oracle", "type": { "defined": { "name": "OracleConfig" } } } ] }, { "name": "UpdatePeriodLimit", "fields": [ { "name": "index", "type": "u8" }, { "name": "duration_seconds", "type": "u64" }, { "name": "max_mint_amount", "type": "u64" }, { "name": "max_redeem_amount", "type": "u64" } ] }, { "name": "ResetPeriodLimit", "fields": [ { "name": "index", "type": "u8" } ] }, { "name": "SetCustodian", "fields": [ { "name": "new_custodian", "type": "pubkey" } ] }, { "name": "SetStalesnessThreshold", "fields": [ { "name": "stalesness_threshold", "type": "u64" } ] }, { "name": "SetMinOraclePrice", "fields": [ { "name": "min_oracle_price_usd", "type": "u64" } ] }, { "name": "SetMaxOraclePrice", "fields": [ { "name": "max_oracle_price_usd", "type": "u64" } ] } ] } }, { "name": "VaultStatus", "repr": { "kind": "rust" }, "type": { "kind": "enum", "variants": [ { "name": "Enabled" }, { "name": "Disabled" } ] } } ] }