deposit-liquidity.ts 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. // import * as anchor from "@coral-xyz/anchor";
  2. // import type { Program } from "@coral-xyz/anchor";
  3. // import { expect } from "chai";
  4. // import type { SwapExample } from "../target/types/token_swap";
  5. // import { type TestValues, createValues, mintingTokens } from "./utils";
  6. // import { startAnchor } from "solana-bankrun";
  7. // import { BankrunProvider } from "anchor-bankrun";
  8. // const IDL = require("../target/idl/token_swap.json");
  9. // const PROGRAM_ID = new PublicKey(IDL.address);
  10. // describe("Deposit liquidity", async () => {
  11. // const context = await startAnchor(
  12. // "",
  13. // [{ name: "token_swap", programId: PROGRAM_ID }],
  14. // []
  15. // );
  16. // const provider = new BankrunProvider(context);
  17. // const connection = provider.connection;
  18. // const payer = provider.wallet as anchor.Wallet;
  19. // const program = new anchor.Program<TokenSwap>(IDL, provider);
  20. // let values: TestValues;
  21. // beforeEach(async () => {
  22. // values = createValues();
  23. // await program.methods
  24. // .createAmm(values.id, values.fee)
  25. // .accounts({ amm: values.ammKey, admin: values.admin.publicKey })
  26. // .rpc();
  27. // await mintingTokens({
  28. // connection,
  29. // creator: values.admin,
  30. // mintAKeypair: values.mintAKeypair,
  31. // mintBKeypair: values.mintBKeypair,
  32. // });
  33. // await program.methods
  34. // .createPool()
  35. // .accounts({
  36. // amm: values.ammKey,
  37. // pool: values.poolKey,
  38. // poolAuthority: values.poolAuthority,
  39. // mintLiquidity: values.mintLiquidity,
  40. // mintA: values.mintAKeypair.publicKey,
  41. // mintB: values.mintBKeypair.publicKey,
  42. // poolAccountA: values.poolAccountA,
  43. // poolAccountB: values.poolAccountB,
  44. // })
  45. // .rpc();
  46. // });
  47. // it("Deposit equal amounts", async () => {
  48. // await program.methods
  49. // .depositLiquidity(values.depositAmountA, values.depositAmountA)
  50. // .accounts({
  51. // pool: values.poolKey,
  52. // poolAuthority: values.poolAuthority,
  53. // depositor: values.admin.publicKey,
  54. // mintLiquidity: values.mintLiquidity,
  55. // mintA: values.mintAKeypair.publicKey,
  56. // mintB: values.mintBKeypair.publicKey,
  57. // poolAccountA: values.poolAccountA,
  58. // poolAccountB: values.poolAccountB,
  59. // depositorAccountLiquidity: values.liquidityAccount,
  60. // depositorAccountA: values.holderAccountA,
  61. // depositorAccountB: values.holderAccountB,
  62. // })
  63. // .signers([values.admin])
  64. // .rpc({ skipPreflight: true });
  65. // const depositTokenAccountLiquditiy =
  66. // await connection.getTokenAccountBalance(values.liquidityAccount);
  67. // expect(depositTokenAccountLiquditiy.value.amount).to.equal(
  68. // values.depositAmountA.sub(values.minimumLiquidity).toString()
  69. // );
  70. // const depositTokenAccountA = await connection.getTokenAccountBalance(
  71. // values.holderAccountA
  72. // );
  73. // expect(depositTokenAccountA.value.amount).to.equal(
  74. // values.defaultSupply.sub(values.depositAmountA).toString()
  75. // );
  76. // const depositTokenAccountB = await connection.getTokenAccountBalance(
  77. // values.holderAccountB
  78. // );
  79. // expect(depositTokenAccountB.value.amount).to.equal(
  80. // values.defaultSupply.sub(values.depositAmountA).toString()
  81. // );
  82. // });
  83. // });