0

I would like to swap using project-serum/serum-ts. I prepared the following while reading readme.MD.

  • Use the latest version of Yarn etc.
  • Install the dependent modules according to readme.MD
  • Prepare the id.json file containing the wallet secret in ./config/solana/id.json
  • Put 0.01 SOL in the wallet on mainnet-beta.

After that, I tried to run node ./package/swap/example/swap.js, which is prepared for the sample.

This file -> https://github.com/project-serum/serum-ts/blob/master/packages/swap/examples/swap.js

I confirmed that it worked until line 26 _srmSwapPairs.

However, at line 29, I get the following error

Error: Unable to simulate swap
at Swap.estimate (/mnt/c/Users/username/Desktop/solana_test/serum-ts/packages/swap/lib/index.js:401:19)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async main (/mnt/c/Users/username/Desktop/solana_test/serum-ts/packages/swap/examples/swap.js:29:25)

My OS is Windows 10, but I am using WSL.

What could be the cause?

1 Answers1

0

This is most likely failing because you're trying to simulate a swap from SRM to USDC on your wallet, but your wallet doesn't have enough SRM to complete the trade, or doesn't have the accounts to conduct the trade.

To learn more about the issue, you can hack the code to print out more information about the failure:

    const resp = await this.program.provider.simulate(
      tx,
      signers,
      params.options,
    );
    if (resp === undefined || resp.value.err || !resp.value.logs) {
      console.error(resp); // get more information about the error
      throw new Error('Unable to simulate swap');
    }

You can make the changes at https://github.com/project-serum/serum-ts/blob/93946077cbacc4149a3372d9e6651bf4de18a255/packages/swap/src/index.ts#L535

Jon C
  • 7,019
  • 10
  • 17
  • Sorry for the late reply! I had missed it. Thanks for the answer, I bought only 0.1 SRM and tried again, but got the same error. ("Error: Unable to simulate swap") Now that I know where the error is, I will do some more research. – DEV inoue May 08 '22 at 10:31