現象
実行すると以下のエラーが出る。
TypeError: context.rpc.getAsset is not a function
    at getAssetWithProof (metaplex/bubblegum_CompressedNFT/node_modules/@metaplex-foundation/mpl-bubblegum/src/getAssetWithProof.ts:37:17)
    at createCollection (metaplex/bubblegum_CompressedNFT/src/verifyCreator.ts:50:49)
    at Object.<anonymous> (metaplex/bubblegum_CompressedNFT/src/verifyCreator.ts:73:1)
    at Module._compile (node:internal/modules/cjs/loader:1376:14)
    at Module.m._compile (/usr/local/lib/node_modules/ts-node/src/index.ts:1618:23)
    at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
    at Object.require.extensions.<computed> [as .ts] (/usr/local/lib/node_modules/ts-node/src/index.ts:1621:12)
    at Module.load (node:internal/modules/cjs/loader:1207:32)
    at Function.Module._load (node:internal/modules/cjs/loader:1023:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:135:12)
ソース
// Lib
import * as dotenv from 'dotenv';
// Metaplex
import { createUmi } from '@metaplex-foundation/umi-bundle-defaults';
import {
  createSignerFromKeypair,
  keypairIdentity,
  generateSigner,
  percentAmount,
  publicKey,
} from '@metaplex-foundation/umi';
import {
  mplTokenMetadata,
  createNft,
} from '@metaplex-foundation/mpl-token-metadata';
import {
  getAssetWithProof,
} from '@metaplex-foundation/mpl-bubblegum';
const assetWithProof = async () => {
  // ----------------------------------------------------
  //  Setup
  // ----------------------------------------------------
  dotenv.config();
  // Public RPC unavailbale DAS on Devnet. Use following RPC:
  //  https://developers.metaplex.com/bubblegum/rpcs
  const endpoint =
    'https://devnet.helius-rpc.com/?api-key=<HELIUS_API>';
  const umi = createUmi(endpoint).use(mplTokenMetadata());
  // Set Payer
  const payerSecretKey = process.env.PAYER_SECRET_KEY;
  if (!payerSecretKey) throw new Error('payerSecretKey not found.');
  const secretKeyUInt8Array = new Uint8Array(JSON.parse(payerSecretKey));
  const payerKeypair =
    umi.eddsa.createKeypairFromSecretKey(secretKeyUInt8Array);
  umi.use(keypairIdentity(payerKeypair));
  // -------------------------------------
  //  Create a Collection NFT
  // -------------------------------------
  const assetId = publicKey('CjBKALu6F1CERdXmyJVfKRXviBQWAcgYGPejyuQpgGb8');
  const assetWithProof = await getAssetWithProof(umi, assetId);
  console.log('payer =>', umi.identity.publicKey.toString());
  console.log('assetId =>', assetId);
  console.log('assetWithProof =>', assetWithProof);
};
assetWithProof();
原因
getAssetWithProof を呼び出すための関数が見つからない。
つまり、Umiで使うプラグインの宣言不足。
具体的には、以下のプラグインが誤っている。
 const umi = createUmi(endpoint).use(mplTokenMetadata());
対応
assetWithProofに必要なプラグインを宣言する。
~~~
import {
  mplBubblegum, // ← 追加
  getAssetWithProof,
} from '@metaplex-foundation/mpl-bubblegum';
~~~
  const umi = createUmi(endpoint).use(mplBubblegum()); // ← プラグインmplBubblegumを宣言
~~~