From d5c6597ad5ddca5b0b63cf41b972fa461f1d1966 Mon Sep 17 00:00:00 2001 From: Nagaprasadvr Date: Wed, 4 Oct 2023 12:22:44 +0530 Subject: [PATCH] add updated psyoptions american instrument program binaries and implement PUT option logic --- .../helpers.ts | 10 +- .../instrument.ts | 135 +++++++++++++----- .../helpers.ts | 26 ++-- packages/js/tests/helpers.ts | 4 +- .../psyoptions_american_instrument.so | Bin 483600 -> 486200 bytes .../psyoptions_european_instrument.so | Bin 481632 -> 481648 bytes 6 files changed, 119 insertions(+), 56 deletions(-) diff --git a/packages/js/src/plugins/psyoptionsAmericanInstrumentModule/helpers.ts b/packages/js/src/plugins/psyoptionsAmericanInstrumentModule/helpers.ts index f70c5c2f5..f216f356c 100644 --- a/packages/js/src/plugins/psyoptionsAmericanInstrumentModule/helpers.ts +++ b/packages/js/src/plugins/psyoptionsAmericanInstrumentModule/helpers.ts @@ -32,7 +32,7 @@ export const prepareAmericanOptions = async ( const callerSide = caller.equals(rfq.taker) ? 'taker' : 'maker'; - const { legs } = convergence.rfqs().getSettlementResult({ + const { legs: legExchangeResult } = convergence.rfqs().getSettlementResult({ response, rfq, }); @@ -40,7 +40,7 @@ export const prepareAmericanOptions = async ( const ataTxBuilderArray: TransactionBuilder[] = []; const mintTxBuilderArray: TransactionBuilder[] = []; for (const [index, leg] of rfq.legs.entries()) { - const { receiver, amount } = legs[index]; + const { receiver, amount } = legExchangeResult[index]; if ( !(leg instanceof PsyoptionsAmericanInstrument) || receiver === callerSide @@ -83,14 +83,14 @@ export const prepareAmericanOptions = async ( }); const tokensToMint = amount - tokenBalance; - if (tokensToMint! <= 0) continue; + if (tokensToMint <= 0) continue; const ixWithSigners = - await psyoptionsAmerican.instructions.mintOptionInstruction( + await psyoptionsAmerican.instructions.mintOptionV2Instruction( americanProgram, optionToken.ataPubKey, writerToken.ataPubKey, underlyingToken.ataPubKey, - new BN(tokensToMint!), + new BN(tokensToMint), optionMarket as psyoptionsAmerican.OptionMarketWithKey ); ixWithSigners.ix.keys[0] = { diff --git a/packages/js/src/plugins/psyoptionsAmericanInstrumentModule/instrument.ts b/packages/js/src/plugins/psyoptionsAmericanInstrumentModule/instrument.ts index c458b57b2..47b5ab463 100644 --- a/packages/js/src/plugins/psyoptionsAmericanInstrumentModule/instrument.ts +++ b/packages/js/src/plugins/psyoptionsAmericanInstrumentModule/instrument.ts @@ -90,7 +90,8 @@ export class PsyoptionsAmericanInstrument implements LegInstrument { this.stableAssetMint, this.strikePriceDecimals, this.strikePrice, - this.expirationTimestamp + this.expirationTimestamp, + this.optionType ); return optionMarketIxs; } @@ -126,9 +127,9 @@ export class PsyoptionsAmericanInstrument implements LegInstrument { stableMint, expirationTimestamp, strike, - underlyingAmountPerContract + underlyingAmountPerContract, + optionType ); - return new PsyoptionsAmericanInstrument( convergence, optionType, @@ -303,7 +304,8 @@ export const getPsyAmericanMarketIxs = async ( stableMint: PublicKey, stableMintDecimals: number, strike: number, - expirationTimestamp: number + expirationTimestamp: number, + optionType: OptionType ): Promise => { const cvgWallet = new CvgWallet(cvg); const americanProgram = createAmericanProgram(cvg, cvgWallet); @@ -317,19 +319,35 @@ export const getPsyAmericanMarketIxs = async ( ); let optionMarket: psyoptionsAmerican.OptionMarketWithKey | null = null; - const [optionMarketKey] = await psyoptionsAmerican.deriveOptionKeyFromParams({ - expirationUnixTimestamp: expirationTimestampBN, - programId: americanProgram.programId, - quoteAmountPerContract: quoteAmountPerContractBN, - quoteMint: stableMint, - underlyingAmountPerContract: underlyingAmountPerContractBN, - underlyingMint, - }); - optionMarket = await psyoptionsAmerican.getOptionByKey( - americanProgram, - optionMarketKey - ); - + if (optionType === OptionType.CALL) { + const [optionMarketKey] = + await psyoptionsAmerican.deriveOptionKeyFromParams({ + expirationUnixTimestamp: expirationTimestampBN, + programId: americanProgram.programId, + quoteAmountPerContract: quoteAmountPerContractBN, + quoteMint: stableMint, + underlyingAmountPerContract: underlyingAmountPerContractBN, + underlyingMint, + }); + optionMarket = await psyoptionsAmerican.getOptionByKey( + americanProgram, + optionMarketKey + ); + } else if (optionType === OptionType.PUT) { + const [optionMarketKey] = + await psyoptionsAmerican.deriveOptionKeyFromParams({ + expirationUnixTimestamp: expirationTimestampBN, + programId: americanProgram.programId, + quoteAmountPerContract: underlyingAmountPerContractBN, + quoteMint: underlyingMint, + underlyingAmountPerContract: quoteAmountPerContractBN, + underlyingMint: stableMint, + }); + optionMarket = await psyoptionsAmerican.getOptionByKey( + americanProgram, + optionMarketKey + ); + } if (optionMarket) { return []; } @@ -343,7 +361,8 @@ export const getPsyAmericanMarketIxs = async ( quoteAmountPerContractBN, stableMint, underlyingAmountPerContractBN, - underlyingMint + underlyingMint, + optionType ); if (mintFeeAccount.txBuilder) { optionMarketIxs.push(...mintFeeAccount.txBuilder.getInstructions()); @@ -354,7 +373,6 @@ export const getPsyAmericanMarketIxs = async ( } optionMarketIxs.push(optionMarketIx.tx); - return optionMarketIxs; }; @@ -368,7 +386,8 @@ export const getAmericanOptionkeys = async ( stableMint: Mint, expirationUnixTimestamp: number, strike: number, - underlyingAmountPerContract: number + underlyingAmountPerContract: number, + optionType: OptionType ): Promise => { const quoteAmountPerContractBN = new BN( addDecimals(strike, stableMint.decimals) @@ -377,21 +396,38 @@ export const getAmericanOptionkeys = async ( addDecimals(underlyingAmountPerContract, underlyingMint.decimals) ); + if (optionType === OptionType.CALL) { + const [metaKey] = await psyoptionsAmerican.deriveOptionKeyFromParams({ + expirationUnixTimestamp: new BN(expirationUnixTimestamp), + programId: americanProgram.programId, + quoteAmountPerContract: quoteAmountPerContractBN, + quoteMint: stableMint.address, + underlyingAmountPerContract: underlyingAmountPerContractBN, + underlyingMint: underlyingMint.address, + }); + + const [callOptionMint] = PublicKey.findProgramAddressSync( + [metaKey.toBuffer(), Buffer.from('optionToken')], + americanProgram.programId + ); + + return { optionMint: callOptionMint, metaKey }; + } const [metaKey] = await psyoptionsAmerican.deriveOptionKeyFromParams({ expirationUnixTimestamp: new BN(expirationUnixTimestamp), programId: americanProgram.programId, - quoteAmountPerContract: quoteAmountPerContractBN, - quoteMint: stableMint.address, - underlyingAmountPerContract: underlyingAmountPerContractBN, - underlyingMint: underlyingMint.address, + quoteAmountPerContract: underlyingAmountPerContractBN, + quoteMint: underlyingMint.address, + underlyingAmountPerContract: quoteAmountPerContractBN, + underlyingMint: stableMint.address, }); - const [optionMint] = PublicKey.findProgramAddressSync( + const [putOptionMint] = PublicKey.findProgramAddressSync( [metaKey.toBuffer(), Buffer.from('optionToken')], americanProgram.programId ); - return { optionMint, metaKey }; + return { optionMint: putOptionMint, metaKey }; }; export type GetPsyAmericanOptionMarketAccounts = { @@ -414,30 +450,63 @@ const getPsyAmericanOptionMarketAccounts = async ( quoteAmountPerContract: BN, stableMint: PublicKey, underlyingAmountPerContract: BN, - underlyingMint: PublicKey + underlyingMint: PublicKey, + optionType: OptionType ): Promise => { + if (optionType === OptionType.CALL) { + const optionMarketIx = + await psyoptionsAmerican.instructions.initializeOptionInstruction( + americanProgram, + { + /** The option market expiration timestamp in seconds */ + expirationUnixTimestamp, + quoteAmountPerContract, + quoteMint: stableMint, + underlyingAmountPerContract, + underlyingMint, + } + ); + const feeOwner = psyoptionsAmerican.FEE_OWNER_KEY; + const mintFeeAccount = await getOrCreateATAtxBuilder( + cvg, + underlyingMint, + feeOwner + ); + + const exerciseFeeAccount = await getOrCreateATAtxBuilder( + cvg, + stableMint, + feeOwner + ); + + return { + optionMarketIx, + mintFeeAccount, + exerciseFeeAccount, + }; + } const optionMarketIx = await psyoptionsAmerican.instructions.initializeOptionInstruction( americanProgram, { /** The option market expiration timestamp in seconds */ expirationUnixTimestamp, - quoteAmountPerContract, - quoteMint: stableMint, - underlyingAmountPerContract, - underlyingMint, + quoteAmountPerContract: underlyingAmountPerContract, + quoteMint: underlyingMint, + underlyingAmountPerContract: quoteAmountPerContract, + underlyingMint: stableMint, } ); const feeOwner = psyoptionsAmerican.FEE_OWNER_KEY; const mintFeeAccount = await getOrCreateATAtxBuilder( cvg, - underlyingMint, + stableMint, feeOwner ); const exerciseFeeAccount = await getOrCreateATAtxBuilder( cvg, - stableMint, + underlyingMint, feeOwner ); diff --git a/packages/js/src/plugins/psyoptionsEuropeanInstrumentModule/helpers.ts b/packages/js/src/plugins/psyoptionsEuropeanInstrumentModule/helpers.ts index 97158ec4d..6d14ea69d 100644 --- a/packages/js/src/plugins/psyoptionsEuropeanInstrumentModule/helpers.ts +++ b/packages/js/src/plugins/psyoptionsEuropeanInstrumentModule/helpers.ts @@ -31,14 +31,14 @@ export const prepareEuropeanOptions = async ( const callerSide = caller.equals(rfq.taker) ? 'taker' : 'maker'; - const { legs } = convergence.rfqs().getSettlementResult({ + const { legs: legExchangeResult } = convergence.rfqs().getSettlementResult({ response, rfq, }); const mintTxBuilderArray: TransactionBuilder[] = []; const ataTxBuilderArray: TransactionBuilder[] = []; for (const [index, leg] of rfq.legs.entries()) { - const { receiver, amount } = legs[index]; + const { receiver, amount } = legExchangeResult[index]; if ( !(leg instanceof PsyoptionsEuropeanInstrument) || receiver === callerSide @@ -63,7 +63,7 @@ export const prepareEuropeanOptions = async ( ? stableMintToken : underlyingMintToken; - const optionDestination = await getOrCreateATAtxBuilder( + const optionToken = await getOrCreateATAtxBuilder( convergence, leg.optionType == psyoptionsEuropean.OptionType.PUT ? euroMeta.putOptionMint @@ -71,24 +71,18 @@ export const prepareEuropeanOptions = async ( caller ); - if ( - optionDestination.txBuilder && - ixTracker.checkedAdd(optionDestination.txBuilder) - ) { - ataTxBuilderArray.push(optionDestination.txBuilder); + if (optionToken.txBuilder && ixTracker.checkedAdd(optionToken.txBuilder)) { + ataTxBuilderArray.push(optionToken.txBuilder); } - const writerDestination = await getOrCreateATAtxBuilder( + const writerToken = await getOrCreateATAtxBuilder( convergence, leg.optionType == psyoptionsEuropean.OptionType.PUT ? euroMeta.putWriterMint : euroMeta.callWriterMint, caller ); - if ( - writerDestination.txBuilder && - ixTracker.checkedAdd(writerDestination.txBuilder) - ) { - ataTxBuilderArray.push(writerDestination.txBuilder); + if (writerToken.txBuilder && ixTracker.checkedAdd(writerToken.txBuilder)) { + ataTxBuilderArray.push(writerToken.txBuilder); } const { tokenBalance } = await convergence.tokens().getTokenBalance({ @@ -107,8 +101,8 @@ export const prepareEuropeanOptions = async ( leg.optionMetaPubKey, euroMeta as psyoptionsEuropean.EuroMeta, minterCollateralKey, - optionDestination.ataPubKey, - writerDestination.ataPubKey, + optionToken.ataPubKey, + writerToken.ataPubKey, addDecimals(tokensToMint, PsyoptionsEuropeanInstrument.decimals), leg.optionType ); diff --git a/packages/js/tests/helpers.ts b/packages/js/tests/helpers.ts index d5e0b1c89..aa52d4ade 100644 --- a/packages/js/tests/helpers.ts +++ b/packages/js/tests/helpers.ts @@ -237,11 +237,11 @@ export const createAmericanFixedBaseStraddle = async ( cvg, baseMint, quoteMint, - OptionType.CALL, + OptionType.PUT, 1, 'long', 1, - 29_000, + 27_000, expirationTimestamp ), ], diff --git a/packages/validator/fixtures/programs/psyoptions_american_instrument.so b/packages/validator/fixtures/programs/psyoptions_american_instrument.so index 1af845b28f8ccae22bd0eca6d75a655979a3d2bb..8438fa296e20031343625005d6c49580251da5be 100755 GIT binary patch delta 71386 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 D)^efL diff --git a/packages/validator/fixtures/programs/psyoptions_european_instrument.so b/packages/validator/fixtures/programs/psyoptions_european_instrument.so index 13dc0928862abeddbc7058b6729de56c3066068d..a97b3252da72f49073a2dcb4eeed9cf7dd79a86a 100755 GIT binary patch delta 17465 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