血清错误 什么是"Unable to simulate swap"?



我想使用project-serum/serum-ts交换。我在阅读readme.MD时准备了以下内容。

  • 使用最新版本的Yarn等
  • 根据readme.MD
  • 安装相关模块
  • 准备./config/solana/id.json中包含钱包秘密的id.json文件
  • 在主网测试版的钱包里放0.01个SOL

之后,我尝试运行node ./package/swap/example/swap.js,这是为样品准备的。

这个文件->https://github.com/project-serum/serum-ts/blob/master/packages/swap/examples/swap.js

我确认它可以工作到第26行_srmSwapPairs.

然而,在第29行,我得到了以下错误
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)

我的操作系统是Windows 10,但我使用WSL。

原因是什么?

这很可能会失败,因为您试图在钱包上模拟从SRM到USDC的交换,但是您的钱包没有足够的SRM来完成交易,或者没有进行交易的帐户。

要了解有关该问题的更多信息,可以修改代码以打印出有关该故障的更多信息:

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');
}

您可以在https://github.com/project-serum/serum-ts/blob/93946077cbacc4149a3372d9e6651bf4de18a255/packages/swap/src/index.ts#L535

进行更改

相关内容

  • 没有找到相关文章

最新更新