failed to serialize the context_free_actions
crazybits opened this issue · 2 comments
Version of EOSJS
eosjs@master
Describe the bug
failed to serialize the context_free_actions,looks like eosio.null
has no abi on mainnet, but the eosjs try to fetch abi.
To Reproduce
await api.transact({
actions: actions,
context_free_actions: [{ account: "eosio.null",name: "nonce",authorization: [],data: "010f"}],
}, { blocksBehind: 3, expireSeconds: 3600 });
err | 2020-11-24 13:34: Error: fetching abi for eosio.null: Read past end of buffer
2|app | 2020-11-24 13:34: at SerialBuffer.get
/node_modules/eosjs/src/eosjs-serialize.ts:182:15)
2|app | 2020-11-24 13:34: at SerialBuffer.getVaruint32 (/node_modules/eosjs/src/eosjs-serialize.ts:273:28)
Desktop (please complete the following information):
- OS: macOS Catalina
This is a constraint on how mainnet was configured. Please try on your personal network and verify if eosjs works as expected with the correct ABI. Thanks.
Having the same issue in testnet.
Btw, nonce
doesn't exist in the master
branch in tests
- only exists in the legacy branch with the latest update in 2018
Has the recommended approach to make transactions unique changed?
probably, addingnonce
as a property todata
within one of the transaction's actions should be fine
No, it's a bug in eosjs
. See #1009