@@ -447,181 +447,181 @@ async function initializeDAO(META: any, USDC: any) {
447447// .rpc();
448448// }
449449
450- // async function placeOrdersOnBothSides(twapMarket: any) {
451- // let market = (await openbookTwap.account.twapMarket.fetch(twapMarket)).market;
452-
453- // let buyArgs: PlaceOrderArgs = {
454- // side: Side.Bid,
455- // priceLots: new BN(9_000), // 1 USDC for 1 META
456- // maxBaseLots: new BN(10),
457- // maxQuoteLotsIncludingFees: new BN(10 * 10_000), // 10 USDC
458- // clientOrderId: new BN(1),
459- // orderType: OrderType.Limit,
460- // expiryTimestamp: new BN(0),
461- // selfTradeBehavior: SelfTradeBehavior.DecrementTake,
462- // limit: 255,
463- // };
464-
465- // let sellArgs: PlaceOrderArgs = {
466- // side: Side.Ask,
467- // priceLots: new BN(12_000), // 1.2 USDC for 1 META
468- // maxBaseLots: new BN(10),
469- // maxQuoteLotsIncludingFees: new BN(10 * 12_000),
470- // clientOrderId: new BN(2),
471- // orderType: OrderType.Limit,
472- // expiryTimestamp: new BN(0),
473- // selfTradeBehavior: SelfTradeBehavior.DecrementTake,
474- // limit: 255,
475- // };
476-
477- // const storedMarket = await openbook.getMarket(market);
478- // let openOrdersAccount = await openbook.getOrCreateOpenOrders(
479- // market,
480- // new BN(4),
481- // "oo"
482- // );
483- // // let openOrdersAccount = await openbook.createOpenOrders(market, new BN(4), "oo2");
484-
485- // const userBaseAccount = await token.getOrCreateAssociatedTokenAccount(
486- // provider.connection,
487- // payer,
488- // storedMarket.baseMint,
489- // payer.publicKey
490- // );
491- // const userQuoteAccount = await token.getOrCreateAssociatedTokenAccount(
492- // provider.connection,
493- // payer,
494- // storedMarket.quoteMint,
495- // payer.publicKey
496- // );
450+ async function placeOrdersOnBothSides ( twapMarket : any ) {
451+ let market = ( await openbookTwap . account . twapMarket . fetch ( twapMarket ) ) . market ;
452+
453+ let buyArgs : PlaceOrderArgs = {
454+ side : Side . Bid ,
455+ priceLots : new BN ( 9_000 ) , // 1 USDC for 1 META
456+ maxBaseLots : new BN ( 10 ) ,
457+ maxQuoteLotsIncludingFees : new BN ( 10 * 10_000 ) , // 10 USDC
458+ clientOrderId : new BN ( 1 ) ,
459+ orderType : OrderType . Limit ,
460+ expiryTimestamp : new BN ( 0 ) ,
461+ selfTradeBehavior : SelfTradeBehavior . DecrementTake ,
462+ limit : 255 ,
463+ } ;
464+
465+ let sellArgs : PlaceOrderArgs = {
466+ side : Side . Ask ,
467+ priceLots : new BN ( 12_000 ) , // 1.2 USDC for 1 META
468+ maxBaseLots : new BN ( 10 ) ,
469+ maxQuoteLotsIncludingFees : new BN ( 10 * 12_000 ) ,
470+ clientOrderId : new BN ( 2 ) ,
471+ orderType : OrderType . Limit ,
472+ expiryTimestamp : new BN ( 0 ) ,
473+ selfTradeBehavior : SelfTradeBehavior . DecrementTake ,
474+ limit : 255 ,
475+ } ;
476+
477+ const storedMarket = await openbook . getMarket ( market ) ;
478+ let openOrdersAccount = await openbook . getOrCreateOpenOrders (
479+ market ,
480+ new BN ( 4 ) ,
481+ "oo"
482+ ) ;
483+ // let openOrdersAccount = await openbook.createOpenOrders(market, new BN(4), "oo2");
497484
498- // await openbookTwap.methods
499- // .placeOrder(buyArgs)
500- // .accounts({
501- // asks: storedMarket.asks,
502- // bids: storedMarket.bids,
503- // marketVault: storedMarket.marketQuoteVault,
504- // eventHeap: storedMarket.eventHeap,
505- // market,
506- // openOrdersAccount,
507- // userTokenAccount: userQuoteAccount.address,
508- // twapMarket,
509- // openbookProgram: OPENBOOK_PROGRAM_ID,
510- // })
511- // .rpc();
485+ const userBaseAccount = await token . getOrCreateAssociatedTokenAccount (
486+ provider . connection ,
487+ payer ,
488+ storedMarket . baseMint ,
489+ payer . publicKey
490+ ) ;
491+ const userQuoteAccount = await token . getOrCreateAssociatedTokenAccount (
492+ provider . connection ,
493+ payer ,
494+ storedMarket . quoteMint ,
495+ payer . publicKey
496+ ) ;
512497
513- // await openbookTwap.methods
514- // .placeOrder(sellArgs)
515- // .accounts({
516- // asks: storedMarket.asks,
517- // bids: storedMarket.bids,
518- // marketVault: storedMarket.marketBaseVault,
519- // eventHeap: storedMarket.eventHeap,
520- // market,
521- // openOrdersAccount,
522- // userTokenAccount: userBaseAccount.address,
523- // twapMarket,
524- // openbookProgram: OPENBOOK_PROGRAM_ID,
525- // })
526- // .rpc();
527- // }
498+ await openbookTwap . methods
499+ . placeOrder ( buyArgs )
500+ . accounts ( {
501+ asks : storedMarket . asks ,
502+ bids : storedMarket . bids ,
503+ marketVault : storedMarket . marketQuoteVault ,
504+ eventHeap : storedMarket . eventHeap ,
505+ market,
506+ openOrdersAccount,
507+ userTokenAccount : userQuoteAccount . address ,
508+ twapMarket,
509+ openbookProgram : OPENBOOK_PROGRAM_ID ,
510+ } )
511+ . rpc ( ) ;
528512
529- // async function placeTakeOrder(twapMarket: any) {
530- // let market = (await openbookTwap.account.twapMarket.fetch(twapMarket)).market;
531- // const storedMarket = await openbook.getMarket(market);
513+ await openbookTwap . methods
514+ . placeOrder ( sellArgs )
515+ . accounts ( {
516+ asks : storedMarket . asks ,
517+ bids : storedMarket . bids ,
518+ marketVault : storedMarket . marketBaseVault ,
519+ eventHeap : storedMarket . eventHeap ,
520+ market,
521+ openOrdersAccount,
522+ userTokenAccount : userBaseAccount . address ,
523+ twapMarket,
524+ openbookProgram : OPENBOOK_PROGRAM_ID ,
525+ } )
526+ . rpc ( ) ;
527+ }
532528
533- // const userBaseAccount = await token.getOrCreateAssociatedTokenAccount(
534- // provider.connection,
535- // payer,
536- // storedMarket.baseMint,
537- // payer.publicKey
538- // );
539- // const userQuoteAccount = await token.getOrCreateAssociatedTokenAccount(
540- // provider.connection,
541- // payer,
542- // storedMarket.quoteMint,
543- // payer.publicKey
544- // );
529+ async function placeTakeOrder ( twapMarket : any ) {
530+ let market = ( await openbookTwap . account . twapMarket . fetch ( twapMarket ) ) . market ;
531+ const storedMarket = await openbook . getMarket ( market ) ;
545532
546- // let buyArgs: PlaceOrderArgs = {
547- // side: Side.Bid,
548- // priceLots: new BN(13_000), // 1 USDC for 1 META
549- // maxBaseLots: new BN(1),
550- // maxQuoteLotsIncludingFees: new BN(1 * 13_000), // 10 USDC
551- // clientOrderId: new BN(1),
552- // orderType: OrderType.Market,
553- // expiryTimestamp: new BN(0),
554- // selfTradeBehavior: SelfTradeBehavior.DecrementTake,
555- // limit: 255,
556- // };
533+ const userBaseAccount = await token . getOrCreateAssociatedTokenAccount (
534+ provider . connection ,
535+ payer ,
536+ storedMarket . baseMint ,
537+ payer . publicKey
538+ ) ;
539+ const userQuoteAccount = await token . getOrCreateAssociatedTokenAccount (
540+ provider . connection ,
541+ payer ,
542+ storedMarket . quoteMint ,
543+ payer . publicKey
544+ ) ;
557545
558- // console.log(
559- // "base balance before:",
560- // (await token.getAccount(provider.connection, userBaseAccount.address))
561- // .amount
562- // );
563- // console.log(
564- // "quote balance before",
565- // (await token.getAccount(provider.connection, userQuoteAccount.address))
566- // .amount
567- // );
546+ let buyArgs : PlaceOrderArgs = {
547+ side : Side . Bid ,
548+ priceLots : new BN ( 13_000 ) , // 1 USDC for 1 META
549+ maxBaseLots : new BN ( 1 ) ,
550+ maxQuoteLotsIncludingFees : new BN ( 1 * 13_000 ) , // 10 USDC
551+ clientOrderId : new BN ( 1 ) ,
552+ orderType : OrderType . Market ,
553+ expiryTimestamp : new BN ( 0 ) ,
554+ selfTradeBehavior : SelfTradeBehavior . DecrementTake ,
555+ limit : 255 ,
556+ } ;
557+
558+ console . log (
559+ "base balance before:" ,
560+ ( await token . getAccount ( provider . connection , userBaseAccount . address ) )
561+ . amount
562+ ) ;
563+ console . log (
564+ "quote balance before" ,
565+ ( await token . getAccount ( provider . connection , userQuoteAccount . address ) )
566+ . amount
567+ ) ;
568568
569- // let tx = await openbookTwap.methods
570- // .placeTakeOrder(buyArgs)
571- // .accounts({
572- // asks: storedMarket.asks,
573- // bids: storedMarket.bids,
574- // eventHeap: storedMarket.eventHeap,
575- // market,
576- // marketAuthority: storedMarket.marketAuthority,
577- // marketBaseVault: storedMarket.marketBaseVault,
578- // marketQuoteVault: storedMarket.marketQuoteVault,
579- // userQuoteAccount: userQuoteAccount.address,
580- // userBaseAccount: userBaseAccount.address,
581- // referrerAccount: null,
582- // twapMarket,
583- // openbookProgram: OPENBOOK_PROGRAM_ID,
584- // })
585- // .transaction();
586-
587- // tx.feePayer = payer.publicKey;
588-
589- // const sim = await provider.connection.simulateTransaction(tx, undefined, [
590- // userBaseAccount.address,
591- // userQuoteAccount.address,
592- // ]);
593- // // console.log(sim.value.accounts[0])
594- // const data = sim.value.accounts[0].data;
595- // const buf = Buffer.from(data[0], data[1] as BufferEncoding);
596-
597- // console.log(
598- // token.unpackAccount(userBaseAccount.address, {
599- // data: Buffer.from(
600- // Buffer.from(
601- // sim.value.accounts[0].data[0],
602- // sim.value.accounts[0].data[1] as BufferEncoding
603- // )
604- // ),
605- // executable: false,
606- // lamports: 0,
607- // owner: token.TOKEN_PROGRAM_ID,
608- // }).amount
609- // );
569+ let tx = await openbookTwap . methods
570+ . placeTakeOrder ( buyArgs )
571+ . accounts ( {
572+ asks : storedMarket . asks ,
573+ bids : storedMarket . bids ,
574+ eventHeap : storedMarket . eventHeap ,
575+ market,
576+ marketAuthority : storedMarket . marketAuthority ,
577+ marketBaseVault : storedMarket . marketBaseVault ,
578+ marketQuoteVault : storedMarket . marketQuoteVault ,
579+ userQuoteAccount : userQuoteAccount . address ,
580+ userBaseAccount : userBaseAccount . address ,
581+ referrerAccount : null ,
582+ twapMarket,
583+ openbookProgram : OPENBOOK_PROGRAM_ID ,
584+ } )
585+ . transaction ( ) ;
586+
587+ tx . feePayer = payer . publicKey ;
588+
589+ const sim = await provider . connection . simulateTransaction ( tx , undefined , [
590+ userBaseAccount . address ,
591+ userQuoteAccount . address ,
592+ ] ) ;
593+ // console.log(sim.value.accounts[0])
594+ const data = sim . value . accounts [ 0 ] . data ;
595+ const buf = Buffer . from ( data [ 0 ] , data [ 1 ] as BufferEncoding ) ;
596+
597+ console . log (
598+ token . unpackAccount ( userBaseAccount . address , {
599+ data : Buffer . from (
600+ Buffer . from (
601+ sim . value . accounts [ 0 ] . data [ 0 ] ,
602+ sim . value . accounts [ 0 ] . data [ 1 ] as BufferEncoding
603+ )
604+ ) ,
605+ executable : false ,
606+ lamports : 0 ,
607+ owner : token . TOKEN_PROGRAM_ID ,
608+ } ) . amount
609+ ) ;
610610
611- // console.log(
612- // token.unpackAccount(userQuoteAccount.address, {
613- // data: Buffer.from(
614- // Buffer.from(
615- // sim.value.accounts[1].data[0],
616- // sim.value.accounts[1].data[1] as BufferEncoding
617- // )
618- // ),
619- // executable: false,
620- // lamports: 0,
621- // owner: token.TOKEN_PROGRAM_ID,
622- // }).amount
623- // );
624- // }
611+ console . log (
612+ token . unpackAccount ( userQuoteAccount . address , {
613+ data : Buffer . from (
614+ Buffer . from (
615+ sim . value . accounts [ 1 ] . data [ 0 ] ,
616+ sim . value . accounts [ 1 ] . data [ 1 ] as BufferEncoding
617+ )
618+ ) ,
619+ executable : false ,
620+ lamports : 0 ,
621+ owner : token . TOKEN_PROGRAM_ID ,
622+ } ) . amount
623+ ) ;
624+ }
625625
626626// async function oldMain() {
627627// let USDC = await createMint(provider.publicKey, provider.publicKey, 6);
0 commit comments