Me gustaría intercambiar usando project-serum/serum-ts . Preparé lo siguiente mientras leía readme.MD .
readme.MDid.json que contiene el secreto de la billetera en ./config/solana/id.json Después de eso, intenté ejecutar node ./package/swap/example/swap.js , que está preparado para la muestra.
Este archivo -> https://github.com/project-serum/serum-ts/blob/master/packages/swap/examples/swap.js
Confirmé que funcionó hasta la línea 26 _srmSwapPairs .
Sin embargo, en la línea 29, aparece el siguiente 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)Mi sistema operativo es Windows 10, pero estoy usando WSL.
¿Qué podría ser la causa?
Lo más probable es que esto esté fallando porque está tratando de simular un intercambio de SRM a USDC en su billetera, pero su billetera no tiene suficiente SRM para completar la operación o no tiene las cuentas para realizar la operación.
Para obtener más información sobre el problema, puede piratear el código para imprimir más información sobre la falla:
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'); }Puede realizar los cambios en https://github.com/project-serum/serum-ts/blob/93946077cbacc4149a3372d9e6651bf4de18a255/packages/swap/src/index.ts#L535