Closed nsjames closed 6 years ago
This happens due to the "signature" field. When removed it works fine.
Do you know the matching eosio branch or tag? I want to lookup wasm_interface.cpp line 808 ..
I'm on master but it looks like i'm a bit behind. I'll pull, rebuild, try again and report back.
Your branch is behind 'origin/master' by 273 commits, and can be fast-forwarded.
Yup looks like there's still an issue
Here's a comment from Jonathan Giszczak about this on Telegram
I'd say the signature hasn't been packaged up quite right. The actual error looks more or less unrelated, or misdirected, as if it were trying to interpret the signature as a contract action.
I think I found it.. I need an extra prefixing byte in the binary format. Where I still have 65 bytes there are 66 bytes now:
struct signature {
uint8_t data[66];
};
They have K1 and R1 signatures so the first byte identifies which type. I'm pretty sure I'm after the first format in the ecc name space:
using storage_type = static_variant<ecc::signature_shim, r1::signature_shim>;
npm published eosjs@9.0.1 (eosjs@dawn3) .. should be fixed
Yup that was definitely it! Thanks for the quick turnaround.
By the way it seems ecc
is not defined in the structs.js which leads to an error when trying to use it. I've put up a pull request fix for it but you might want to pull out the deeper Signature
object instead.
Version: 8.0.1
Error Message
It seems like perhaps nodeos isn't liking the packing for this method. When sending through
cleos
this works fine.eosjs
cleos
Relevant ABI
From empty action method
contract.user()