program.ts 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import { PublicKey } from "@solana/web3.js";
  2. import { Program, AnchorProvider } from "@coral-xyz/anchor";
  3. import { SplMemoCoder } from "./coder";
  4. export const SPL_MEMO_PROGRAM_ID = new PublicKey(
  5. "Memo1UhkJRfHyvLMcVucJwxXeuD728EqVDDwQDxFMNo"
  6. );
  7. interface GetProgramParams {
  8. programId?: PublicKey;
  9. provider?: AnchorProvider;
  10. }
  11. export function splMemoProgram(params?: GetProgramParams): Program<SplMemo> {
  12. return new Program<SplMemo>(
  13. IDL,
  14. params?.programId ?? SPL_MEMO_PROGRAM_ID,
  15. params?.provider,
  16. new SplMemoCoder(IDL)
  17. );
  18. }
  19. type SplMemo = {
  20. version: "3.0.1";
  21. name: "spl_memo";
  22. instructions: [
  23. {
  24. name: "addMemo";
  25. accounts: [];
  26. args: [
  27. {
  28. name: "memo";
  29. type: "string";
  30. }
  31. ];
  32. }
  33. ];
  34. };
  35. const IDL: SplMemo = {
  36. version: "3.0.1",
  37. name: "spl_memo",
  38. instructions: [
  39. {
  40. name: "addMemo",
  41. accounts: [],
  42. args: [
  43. {
  44. name: "memo",
  45. type: "string",
  46. },
  47. ],
  48. },
  49. ],
  50. };