export declare type EuroPrimitive = { "version": "0.3.0"; "name": "euro_primitive"; "instructions": [ { "name": "initializeStablePool"; "accounts": [ { "name": "payer"; "isMut": true; "isSigner": true; }, { "name": "stableMint"; "isMut": false; "isSigner": false; }, { "name": "stablePool"; "isMut": true; "isSigner": false; }, { "name": "poolAuthority"; "isMut": false; "isSigner": false; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; }, { "name": "rent"; "isMut": false; "isSigner": false; }, { "name": "systemProgram"; "isMut": false; "isSigner": false; } ]; "args": []; }, { "name": "initializeUnderlyingPool"; "accounts": [ { "name": "payer"; "isMut": true; "isSigner": true; }, { "name": "underlyingMint"; "isMut": false; "isSigner": false; }, { "name": "underlyingPool"; "isMut": true; "isSigner": false; }, { "name": "poolAuthority"; "isMut": false; "isSigner": false; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; }, { "name": "rent"; "isMut": false; "isSigner": false; }, { "name": "systemProgram"; "isMut": false; "isSigner": false; } ]; "args": []; }, { "name": "initExpirationData"; "accounts": [ { "name": "payer"; "isMut": true; "isSigner": true; }, { "name": "underlyingMint"; "isMut": false; "isSigner": false; }, { "name": "expirationData"; "isMut": true; "isSigner": false; }, { "name": "oracle"; "isMut": false; "isSigner": false; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; }, { "name": "rent"; "isMut": false; "isSigner": false; }, { "name": "systemProgram"; "isMut": false; "isSigner": false; } ]; "args": [ { "name": "expiration"; "type": "i64"; }, { "name": "priceDecimals"; "type": "u8"; }, { "name": "oracleProviderId"; "type": "u8"; } ]; }, { "name": "createEuroMeta"; "accounts": [ { "name": "payer"; "isMut": true; "isSigner": true; }, { "name": "underlyingMint"; "isMut": false; "isSigner": false; }, { "name": "underlyingPool"; "isMut": false; "isSigner": false; }, { "name": "stableMint"; "isMut": false; "isSigner": false; }, { "name": "stablePool"; "isMut": false; "isSigner": false; }, { "name": "euroMeta"; "isMut": true; "isSigner": false; }, { "name": "expirationData"; "isMut": false; "isSigner": false; }, { "name": "callOptionMint"; "isMut": true; "isSigner": false; }, { "name": "callWriterMint"; "isMut": true; "isSigner": false; }, { "name": "putOptionMint"; "isMut": true; "isSigner": false; }, { "name": "putWriterMint"; "isMut": true; "isSigner": false; }, { "name": "oracle"; "isMut": false; "isSigner": false; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; }, { "name": "rent"; "isMut": false; "isSigner": false; }, { "name": "systemProgram"; "isMut": false; "isSigner": false; } ]; "args": [ { "name": "underlyingAmountPerContract"; "type": "u64"; }, { "name": "expiration"; "type": "i64"; }, { "name": "strikePrice"; "type": "u64"; }, { "name": "priceDecimals"; "type": "u8"; }, { "name": "bump"; "type": "u8"; }, { "name": "expirationDataBump"; "type": "u8"; }, { "name": "oracleProviderId"; "type": "u8"; } ]; }, { "name": "createEuroMetaV2"; "accounts": [ { "name": "payer"; "isMut": true; "isSigner": true; }, { "name": "underlyingMint"; "isMut": false; "isSigner": false; }, { "name": "collateralPool"; "isMut": false; "isSigner": false; }, { "name": "stableMint"; "isMut": false; "isSigner": false; }, { "name": "euroMeta"; "isMut": true; "isSigner": false; }, { "name": "expirationData"; "isMut": false; "isSigner": false; }, { "name": "optionMint"; "isMut": true; "isSigner": false; }, { "name": "writerMint"; "isMut": true; "isSigner": false; }, { "name": "oracle"; "isMut": false; "isSigner": false; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; }, { "name": "rent"; "isMut": false; "isSigner": false; }, { "name": "systemProgram"; "isMut": false; "isSigner": false; } ]; "args": [ { "name": "underlyingAmountPerContract"; "type": "u64"; }, { "name": "expiration"; "type": "i64"; }, { "name": "strikePrices"; "type": { "vec": "u64"; }; }, { "name": "priceDecimals"; "type": "u8"; }, { "name": "oracleProviderId"; "type": "u8"; }, { "name": "optionType"; "type": "u8"; } ]; }, { "name": "mintOptions"; "accounts": [ { "name": "payer"; "isMut": false; "isSigner": true; }, { "name": "euroMeta"; "isMut": false; "isSigner": false; }, { "name": "collateralPool"; "isMut": true; "isSigner": false; }, { "name": "optionMint"; "isMut": true; "isSigner": false; }, { "name": "writerMint"; "isMut": true; "isSigner": false; }, { "name": "minterCollateral"; "isMut": true; "isSigner": false; }, { "name": "optionDestination"; "isMut": true; "isSigner": false; }, { "name": "writerDestination"; "isMut": true; "isSigner": false; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; } ]; "args": [ { "name": "amount"; "type": "u64"; }, { "name": "optionType"; "type": "u8"; } ]; }, { "name": "mintOptionsV2"; "accounts": [ { "name": "payer"; "isMut": false; "isSigner": true; }, { "name": "euroMeta"; "isMut": false; "isSigner": false; }, { "name": "collateralPool"; "isMut": true; "isSigner": false; }, { "name": "optionMint"; "isMut": true; "isSigner": false; }, { "name": "writerMint"; "isMut": true; "isSigner": false; }, { "name": "minterCollateral"; "isMut": true; "isSigner": false; }, { "name": "optionDestination"; "isMut": true; "isSigner": false; }, { "name": "writerDestination"; "isMut": true; "isSigner": false; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; } ]; "args": [ { "name": "amount"; "type": "u64"; }, { "name": "optionType"; "type": "u8"; } ]; }, { "name": "closeOptions"; "accounts": [ { "name": "payer"; "isMut": false; "isSigner": true; }, { "name": "euroMeta"; "isMut": false; "isSigner": false; }, { "name": "collateralPool"; "isMut": true; "isSigner": false; }, { "name": "poolAuthority"; "isMut": false; "isSigner": false; }, { "name": "optionMint"; "isMut": true; "isSigner": false; }, { "name": "writerMint"; "isMut": true; "isSigner": false; }, { "name": "optionSource"; "isMut": true; "isSigner": false; }, { "name": "writerSource"; "isMut": true; "isSigner": false; }, { "name": "collateralDestination"; "isMut": true; "isSigner": false; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; } ]; "args": [ { "name": "amount"; "type": "u64"; }, { "name": "optionType"; "type": "u8"; } ]; }, { "name": "closeOptionsV2"; "accounts": [ { "name": "payer"; "isMut": false; "isSigner": true; }, { "name": "euroMeta"; "isMut": false; "isSigner": false; }, { "name": "collateralPool"; "isMut": true; "isSigner": false; }, { "name": "poolAuthority"; "isMut": false; "isSigner": false; }, { "name": "optionMint"; "isMut": true; "isSigner": false; }, { "name": "writerMint"; "isMut": true; "isSigner": false; }, { "name": "optionSource"; "isMut": true; "isSigner": false; }, { "name": "writerSource"; "isMut": true; "isSigner": false; }, { "name": "collateralDestination"; "isMut": true; "isSigner": false; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; } ]; "args": [ { "name": "amount"; "type": "u64"; } ]; }, { "name": "setExpirationPrice"; "accounts": [ { "name": "payer"; "isMut": false; "isSigner": true; }, { "name": "expirationData"; "isMut": true; "isSigner": false; }, { "name": "priceOracle"; "isMut": false; "isSigner": false; } ]; "args": []; }, { "name": "settleExpiredOptions"; "accounts": [ { "name": "payer"; "isMut": false; "isSigner": true; }, { "name": "euroMeta"; "isMut": false; "isSigner": false; }, { "name": "expirationData"; "isMut": false; "isSigner": false; }, { "name": "optionMint"; "isMut": true; "isSigner": false; }, { "name": "collateralMint"; "isMut": false; "isSigner": false; }, { "name": "optionSource"; "isMut": true; "isSigner": false; }, { "name": "collateralPool"; "isMut": true; "isSigner": false; }, { "name": "poolAuthority"; "isMut": false; "isSigner": false; }, { "name": "collateralDestination"; "isMut": true; "isSigner": false; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; } ]; "args": [ { "name": "amount"; "type": "u64"; }, { "name": "optionType"; "type": "u8"; } ]; }, { "name": "settleExpiredOptionV2"; "accounts": [ { "name": "payer"; "isMut": false; "isSigner": true; }, { "name": "euroMeta"; "isMut": false; "isSigner": false; }, { "name": "expirationData"; "isMut": false; "isSigner": false; }, { "name": "optionMint"; "isMut": true; "isSigner": false; }, { "name": "optionSource"; "isMut": true; "isSigner": false; }, { "name": "collateralPool"; "isMut": true; "isSigner": false; }, { "name": "poolAuthority"; "isMut": false; "isSigner": false; }, { "name": "collateralDestination"; "isMut": true; "isSigner": false; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; } ]; "args": [ { "name": "amount"; "type": "u64"; } ]; }, { "name": "settleExpiredWriters"; "accounts": [ { "name": "payer"; "isMut": false; "isSigner": true; }, { "name": "euroMeta"; "isMut": false; "isSigner": false; }, { "name": "expirationData"; "isMut": false; "isSigner": false; }, { "name": "writerMint"; "isMut": true; "isSigner": false; }, { "name": "collateralMint"; "isMut": false; "isSigner": false; }, { "name": "writerSource"; "isMut": true; "isSigner": false; }, { "name": "collateralPool"; "isMut": true; "isSigner": false; }, { "name": "poolAuthority"; "isMut": false; "isSigner": false; }, { "name": "collateralDestination"; "isMut": true; "isSigner": false; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; } ]; "args": [ { "name": "amount"; "type": "u64"; }, { "name": "optionType"; "type": "u8"; } ]; }, { "name": "settleExpiredWritersV2"; "accounts": [ { "name": "payer"; "isMut": false; "isSigner": true; }, { "name": "euroMeta"; "isMut": false; "isSigner": false; }, { "name": "expirationData"; "isMut": false; "isSigner": false; }, { "name": "writerMint"; "isMut": true; "isSigner": false; }, { "name": "writerSource"; "isMut": true; "isSigner": false; }, { "name": "collateralPool"; "isMut": true; "isSigner": false; }, { "name": "poolAuthority"; "isMut": false; "isSigner": false; }, { "name": "collateralDestination"; "isMut": true; "isSigner": false; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; } ]; "args": [ { "name": "amount"; "type": "u64"; } ]; }, { "name": "initSerumMarket"; "accounts": [ { "name": "userAuthority"; "isMut": true; "isSigner": true; }, { "name": "serumMarket"; "isMut": true; "isSigner": false; }, { "name": "systemProgram"; "isMut": false; "isSigner": false; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; }, { "name": "dexProgram"; "isMut": false; "isSigner": false; }, { "name": "rent"; "isMut": false; "isSigner": false; }, { "name": "pcMint"; "isMut": false; "isSigner": false; }, { "name": "optionMint"; "isMut": false; "isSigner": false; }, { "name": "requestQueue"; "isMut": true; "isSigner": false; }, { "name": "eventQueue"; "isMut": true; "isSigner": false; }, { "name": "bids"; "isMut": true; "isSigner": false; }, { "name": "asks"; "isMut": true; "isSigner": false; }, { "name": "coinVault"; "isMut": true; "isSigner": false; }, { "name": "pcVault"; "isMut": true; "isSigner": false; }, { "name": "vaultSigner"; "isMut": false; "isSigner": false; }, { "name": "marketAuthority"; "isMut": false; "isSigner": false; } ]; "args": [ { "name": "marketSpace"; "type": "u64"; }, { "name": "vaultSignerNonce"; "type": "u64"; }, { "name": "coinLotSize"; "type": "u64"; }, { "name": "pcLotSize"; "type": "u64"; }, { "name": "pcDustThreshold"; "type": "u64"; } ]; } ]; "accounts": [ { "name": "euroMeta"; "type": { "kind": "struct"; "fields": [ { "name": "underlyingMint"; "type": "publicKey"; }, { "name": "underlyingDecimals"; "type": "u8"; }, { "name": "underlyingAmountPerContract"; "type": "u64"; }, { "name": "stableMint"; "type": "publicKey"; }, { "name": "stableDecimals"; "type": "u8"; }, { "name": "stablePool"; "type": "publicKey"; }, { "name": "oracle"; "type": "publicKey"; }, { "name": "strikePrice"; "type": "u64"; }, { "name": "priceDecimals"; "type": "u8"; }, { "name": "callOptionMint"; "type": "publicKey"; }, { "name": "callWriterMint"; "type": "publicKey"; }, { "name": "putOptionMint"; "type": "publicKey"; }, { "name": "putWriterMint"; "type": "publicKey"; }, { "name": "underlyingPool"; "type": "publicKey"; }, { "name": "expiration"; "type": "i64"; }, { "name": "bumpSeed"; "type": "u8"; }, { "name": "expirationData"; "type": "publicKey"; }, { "name": "oracleProviderId"; "type": "u8"; } ]; }; }, { "name": "expirationData"; "type": { "kind": "struct"; "fields": [ { "name": "expiration"; "type": "i64"; }, { "name": "oracle"; "type": "publicKey"; }, { "name": "priceAtExpiration"; "type": "u64"; }, { "name": "priceSetAtTime"; "type": "i64"; }, { "name": "priceDecimals"; "type": "u8"; }, { "name": "priceSet"; "type": "bool"; }, { "name": "bump"; "type": "u8"; }, { "name": "oracleProviderId"; "type": "u8"; } ]; }; }, { "name": "euroMetaV2"; "type": { "kind": "struct"; "fields": [ { "name": "underlyingMint"; "type": "publicKey"; }, { "name": "underlyingDecimals"; "type": "u8"; }, { "name": "underlyingAmountPerContract"; "type": "u64"; }, { "name": "stableMint"; "type": "publicKey"; }, { "name": "stableDecimals"; "type": "u8"; }, { "name": "collateralPool"; "type": "publicKey"; }, { "name": "oracle"; "type": "publicKey"; }, { "name": "strikePrices"; "type": { "vec": "u64"; }; }, { "name": "priceDecimals"; "type": "u8"; }, { "name": "writerMint"; "type": "publicKey"; }, { "name": "optionMint"; "type": "publicKey"; }, { "name": "expiration"; "type": "i64"; }, { "name": "bumpSeed"; "type": "u8"; }, { "name": "expirationData"; "type": "publicKey"; }, { "name": "oracleProviderId"; "type": "u8"; }, { "name": "optionType"; "type": { "defined": "OptionTypeV2"; }; } ]; }; } ]; "types": [ { "name": "SelfTradeBehavior"; "type": { "kind": "enum"; "variants": [ { "name": "DecrementTake"; }, { "name": "CancelProvide"; }, { "name": "AbortTransaction"; } ]; }; }, { "name": "OrderType"; "type": { "kind": "enum"; "variants": [ { "name": "Limit"; }, { "name": "ImmediateOrCancel"; }, { "name": "PostOnly"; } ]; }; }, { "name": "Side"; "type": { "kind": "enum"; "variants": [ { "name": "Bid"; }, { "name": "Ask"; } ]; }; }, { "name": "OracleProvider"; "type": { "kind": "enum"; "variants": [ { "name": "PYTH"; }, { "name": "SWITCHBOARD"; } ]; }; }, { "name": "OptionType"; "type": { "kind": "enum"; "variants": [ { "name": "CALL"; }, { "name": "PUT"; } ]; }; }, { "name": "OptionTypeV2"; "type": { "kind": "enum"; "variants": [ { "name": "Call"; }, { "name": "Put"; }, { "name": "LongCallSpread"; }, { "name": "LongPutSpread"; } ]; }; }, { "name": "CollateralType"; "type": { "kind": "enum"; "variants": [ { "name": "STABLE"; }, { "name": "UNDERLYING"; } ]; }; } ]; "events": [ { "name": "EuroMetaCreated"; "fields": [ { "name": "euroMeta"; "type": "publicKey"; "index": false; } ]; }, { "name": "ExpirationDataCreated"; "fields": [ { "name": "expirationData"; "type": "publicKey"; "index": false; } ]; }, { "name": "StablePoolCreated"; "fields": [ { "name": "stablePool"; "type": "publicKey"; "index": false; } ]; }, { "name": "UnderlyingPoolCreated"; "fields": [ { "name": "underlyingPool"; "type": "publicKey"; "index": false; } ]; } ]; "errors": [ { "code": 6000; "name": "ExpirationIsInThePast"; "msg": "Expiration must be in the future"; }, { "code": 6001; "name": "UnderlyingAmountLessThan0"; "msg": "Underlying amount per contract must be greater than 0"; }, { "code": 6002; "name": "AccountMustBeOwnedByPyth"; "msg": "Pyth program does not own oracle"; }, { "code": 6003; "name": "AccountMustBeOwnedByOracleProgram"; "msg": "Oracle program does not own oracle"; }, { "code": 6004; "name": "PythOracleMustBePrice"; "msg": "Pyth oracle must be a Price account"; }, { "code": 6005; "name": "NumberOverflow"; "msg": "Number overflow"; }, { "code": 6006; "name": "AmountMustBeGreaterThanZero"; "msg": "Amount must be greater than 0"; }, { "code": 6007; "name": "EuroMetaIsExpired"; "msg": "EuroMeta is expired"; }, { "code": 6008; "name": "OptionMintDoesNotMatch"; "msg": "Option Mint does not match EuroMeta"; }, { "code": 6009; "name": "WriterMintDoesNotMatch"; "msg": "Writer Mint does not match EuroMeta"; }, { "code": 6010; "name": "PriceAtExpirationIsSet"; "msg": "Price at expiration is already set"; }, { "code": 6011; "name": "OracleDoesNotMatch"; "msg": "Oracle does not match ExpirationData"; }, { "code": 6012; "name": "EuroMetaNotExpired"; "msg": "EuroMeta is not expired"; }, { "code": 6013; "name": "PriceAtExpirationNotSet"; "msg": "Price at expiration has not been set"; }, { "code": 6014; "name": "UnknownOptionType"; "msg": "Unknown OptionType"; }, { "code": 6015; "name": "CannotPruneActiveMarket"; "msg": "Cannot prune the market while it's still active"; }, { "code": 6016; "name": "ExpirationDataDoesNotMatch"; "msg": "ExpirationData address does not match EuroMeta"; }, { "code": 6017; "name": "CallsMustUseUnderlyingPool"; "msg": "Calls must use the underlying pool"; }, { "code": 6018; "name": "PutsMustUseStablePool"; "msg": "Puts must use the stable pool"; }, { "code": 6019; "name": "CallsMustUseUnderlyingAsCollateral"; "msg": "Calls must use the underlying as collateral"; }, { "code": 6020; "name": "PutsMustUseStableAsCollateral"; "msg": "Puts must use the stable as collateral"; }, { "code": 6021; "name": "NumericTypeConversionError"; "msg": "Failed to convert numeric types"; }, { "code": 6022; "name": "DecimalConversionError"; "msg": "Decimal conversion error"; }, { "code": 6023; "name": "PythOrcaleMustHaveNegativeExpo"; "msg": "Pyth oracle must have negative expo"; }, { "code": 6024; "name": "PythPriceWasNone"; "msg": "Pyth Price returned None"; }, { "code": 6025; "name": "PriceDecimalsExceeds15"; "msg": "Price decimals cannot exceed 15"; }, { "code": 6026; "name": "OracleProviderIdDoesNotMatch"; "msg": "Oracle provider ID for EuroMeta does not match ExpirationData"; }, { "code": 6027; "name": "SetTimeExpirationTimeDeltaIsLargerThanPresent"; "msg": "Set Expiration Price should be called before settling writer or option tokens"; }, { "code": 6028; "name": "OptionTypeOutOfBounds"; "msg": "Option type enum not a valid number"; }, { "code": 6029; "name": "CollateralPoolPDAWrong"; "msg": "Collateral pool PDA does not match "; }, { "code": 6030; "name": "StrikePricesUnsorted"; "msg": "Strike prices must unique and be sorted in ascending order"; }, { "code": 6031; "name": "StrikePricesLenMismatch"; "msg": "Length of strike prices is not appropriate according to the option type"; }, { "code": 6032; "name": "OptionAndCollateralTypeMismatch"; "msg": "The collateral type is not allowed for this option type"; }, { "code": 6033; "name": "OptionTypeMismatch"; "msg": "The option type does not match with EuroMeta"; }, { "code": 6034; "name": "CollateralMintMismatch"; "msg": "Collateral mint doesn't match either stable or underlying"; } ]; }; export declare const IDL: EuroPrimitive; //# sourceMappingURL=euro_primitive.d.ts.map