Browse Source

move metadataSerializer into constructor

Theo Brigitte 1 year ago
parent
commit
3c850c4c1a
2 changed files with 6 additions and 4 deletions
  1. 4 3
      filters/mutable.filter.ts
  2. 2 1
      filters/pool-filters.ts

+ 4 - 3
filters/mutable.filter.ts

@@ -2,11 +2,12 @@ import { Filter, FilterResult } from './pool-filters';
 import { Connection, PublicKey } from '@solana/web3.js';
 import { LiquidityPoolKeysV4 } from '@raydium-io/raydium-sdk';
 import { getPdaMetadataKey } from '@raydium-io/raydium-sdk';
-import { getMetadataAccountDataSerializer, MetadataAccountData } from '@metaplex-foundation/mpl-token-metadata';
+import { getMetadataAccountDataSerializer, MetadataAccountData, MetadataAccountDataArgs } from '@metaplex-foundation/mpl-token-metadata';
+import { Serializer } from '@metaplex-foundation/umi/serializers';
 import { logger } from '../helpers';
 
 export class MutableFilter implements Filter {
-  constructor(private readonly connection: Connection) {}
+  constructor(private readonly connection: Connection, private readonly metadataSerializer: Serializer<MetadataAccountDataArgs, MetadataAccountData>) {}
 
   async execute(poolKeys: LiquidityPoolKeysV4): Promise<FilterResult> {
     try {
@@ -15,7 +16,7 @@ export class MutableFilter implements Filter {
       if (!metadataAccount?.data) {
         return { ok: false, message: 'Mutable -> Failed to fetch account data' };
       }
-      const deserialize = getMetadataAccountDataSerializer().deserialize(metadataAccount.data);
+      const deserialize = this.metadataSerializer.deserialize(metadataAccount.data);
       const mutable = deserialize[0].isMutable;
 
       return { ok: !mutable, message: !mutable ? undefined : "Mutable -> Creator can change metadata" };

+ 2 - 1
filters/pool-filters.ts

@@ -1,5 +1,6 @@
 import { Connection } from '@solana/web3.js';
 import { LiquidityPoolKeysV4, Token, TokenAmount } from '@raydium-io/raydium-sdk';
+import { getMetadataAccountDataSerializer } from '@metaplex-foundation/mpl-token-metadata';
 import { BurnFilter } from './burn.filter';
 import { MutableFilter } from './mutable.filter';
 import { RenouncedFreezeFilter } from './renounced.filter';
@@ -37,7 +38,7 @@ export class PoolFilters {
     }
 
     if (CHECK_IF_MUTABLE) {
-      this.filters.push(new MutableFilter(connection));
+      this.filters.push(new MutableFilter(connection, getMetadataAccountDataSerializer()));
     }
 
     if (!args.minPoolSize.isZero() || !args.maxPoolSize.isZero()) {