We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hopefully this helps someone who is facing the same issue, and or the EOSRIO team is able to patch something
NOTE: This seems to be fixed in the latest https://github.com/EOSIO/eosjs/blob/v22.1.0/src/eosjs-numeric.ts - but that doesn't match the code in addons/eosjs-native
addons/eosjs-native
Nodeos version: 2.1 Parser version: 2.1
2.1
Ran into an error synchronizing blocks signed with SIG_WA_ - here are 2 examples: 79955656 79996963
SIG_WA_
Would cause my indexer to kick into constant complaint mode about a missing block:
0|proton-indexer | 2022-04-03T18:55:51: | SHIP Status Report 0|proton-indexer | 2022-04-03T18:55:51: | Init block: 2 0|proton-indexer | 2022-04-03T18:55:51: | Head block: 122792569 0|proton-indexer | 2022-04-03T18:55:51: Error: unrecognized signature format 0|proton-indexer | 2022-04-03T18:55:51: at Object.signatureToString (/opt/eosio/src/Hyperion-History-API/addons/eosjs-native/eosjs-numeric.js:463:15) 0|proton-indexer | 2022-04-03T18:55:51: at SerialBuffer.getSignature (/opt/eosio/src/Hyperion-History-API/addons/src/eosjs-serialize.ts:521:24) 0|proton-indexer | 2022-04-03T18:55:51: at Object.deserialize (/opt/eosio/src/Hyperion-History-API/addons/src/eosjs-serialize.ts:952:63) 0|proton-indexer | 2022-04-03T18:55:51: at Object.deserializeArray [as deserialize] (/opt/eosio/src/Hyperion-History-API/addons/src/eosjs-serialize.ts:701:34) 0|proton-indexer | 2022-04-03T18:55:51: at Object.deserializeStruct [as deserialize] (/opt/eosio/src/Hyperion-History-API/addons/src/eosjs-serialize.ts:661:45) 0|proton-indexer | 2022-04-03T18:55:51: at Object.deserializeVariant [as deserialize] (/opt/eosio/src/Hyperion-History-API/addons/src/eosjs-serialize.ts:686:36) 0|proton-indexer | 2022-04-03T18:55:51: at Object.deserializeStruct [as deserialize] (/opt/eosio/src/Hyperion-History-API/addons/src/eosjs-serialize.ts:661:45) 0|proton-indexer | 2022-04-03T18:55:51: at Object.deserializeStruct [as deserialize] (/opt/eosio/src/Hyperion-History-API/addons/src/eosjs-serialize.ts:661:45) 0|proton-indexer | 2022-04-03T18:55:51: at Object.deserializeVariant [as deserialize] (/opt/eosio/src/Hyperion-History-API/addons/src/eosjs-serialize.ts:686:36) 0|proton-indexer | 2022-04-03T18:55:51: at Object.deserializeStruct [as deserialize] (/opt/eosio/src/Hyperion-History-API/addons/src/eosjs-serialize.ts:661:45) 0|proton-indexer | 2022-04-03T18:55:51: at Object.deserializeArray [as deserialize] (/opt/eosio/src/Hyperion-History-API/addons/src/eosjs-serialize.ts:701:34) 0|proton-indexer | 2022-04-03T18:55:51: at Object.deserializeStruct [as deserialize] (/opt/eosio/src/Hyperion-History-API/addons/src/eosjs-serialize.ts:661:45) 0|proton-indexer | 2022-04-03T18:55:51: at Object.deserializeVariant [as deserialize] (/opt/eosio/src/Hyperion-History-API/addons/src/eosjs-serialize.ts:686:36) 0|proton-indexer | 2022-04-03T18:55:51: at Object.deserializeOptional [as deserialize] (/opt/eosio/src/Hyperion-History-API/addons/src/eosjs-serialize.ts:718:32) 0|proton-indexer | 2022-04-03T18:55:51: at Object.deserializeStruct [as deserialize] (/opt/eosio/src/Hyperion-History-API/addons/src/eosjs-serialize.ts:661:45) 0|proton-indexer | 2022-04-03T18:55:51: at Object.deserializeVariant [as deserialize] (/opt/eosio/src/Hyperion-History-API/addons/src/eosjs-serialize.ts:686:36) 0|proton-indexer | 2022-04-03T18:55:51: [208714 - 01_reader] Missing block: 79955656 current block: 79955657 0|proton-indexer | 2022-04-03T18:55:51: Missing block 79955658 received! 0|proton-indexer | 2022-04-03T18:55:51: [208714 - 01_reader] Missing block: 79955656 current block: 79955658 0|proton-indexer | 2022-04-03T18:55:51: Missing block 79955659 received! 0|proton-indexer | 2022-04-03T18:55:51: [208714 - 01_reader] Missing block: 79955656 current block: 79955659 0|proton-indexer | 2022-04-03T18:55:51: Missing block 79955660 received! 0|proton-indexer | 2022-04-03T18:55:51: [208714 - 01_reader] Missing block: 79955656 current block: 79955660 0|proton-indexer | 2022-04-03T18:55:51: Missing block 79955661 received! 0|proton-indexer | 2022-04-03T18:55:51: [208714 - 01_reader] Missing block: 79955656 current block: 79955661 0|proton-indexer | 2022-04-03T18:55:51: Missing block 79955662 received! 0|proton-indexer | 2022-04-03T18:55:51: [208714 - 01_reader] Missing block: 79955656 current block: 79955662 0|proton-indexer | 2022-04-03T18:55:51: Missing block 79955663 received! 0|proton-indexer | 2022-04-03T18:55:51: [208714 - 01_reader] Missing block: 79955656 current block: 79955663 0|proton-indexer | 2022-04-03T18:55:51: Missing block 79955664 received! 0|proton-indexer | 2022-04-03T18:55:51: [208714 - 01_reader] Missing block: 79955656 current block: 79955664 0|proton-indexer | 2022-04-03T18:55:51: Missing block 79955665 received! 0|proton-indexer | 2022-04-03T18:55:51: [208714 - 01_reader] Missing block: 79955656 current block: 79955665 0|proton-indexer | 2022-04-03T18:55:51: Missing block 79955666 received! 0|proton-indexer | 2022-04-03T18:55:51: [208714 - 01_reader] Missing block: 79955656 current block: 79955666 0|proton-indexer | 2022-04-03T18:55:51: Missing block 79955667 received! 0|proton-indexer | 2022-04-03T18:55:51: [208714 - 01_reader] Missing block: 79955656 current block: 79955667 0|proton-indexer | 2022-04-03T18:55:51: Missing block 79955668 received! 0|proton-indexer | 2022-04-03T18:55:51: [208714 - 01_reader] Missing block: 79955656 current block: 79955668
The end of this logfile would just continue to have the same "Missing block" error forever and would not write many blocks to the queue...
I was able to patch the file addons/eosjs-native/eosjs-numeric.jswith an update to translate the WA keytype.
addons/eosjs-native/eosjs-numeric.js
git diff addons/eosjs-native/eosjs-numeric.js diff --git a/addons/eosjs-native/eosjs-numeric.js b/addons/eosjs-native/eosjs-numeric.js index 8ed5a78..249ea9d 100644 --- a/addons/eosjs-native/eosjs-numeric.js +++ b/addons/eosjs-native/eosjs-numeric.js @@ -308,6 +308,7 @@ var KeyType; (function (KeyType) { KeyType[KeyType["k1"] = 0] = "k1"; KeyType[KeyType["r1"] = 1] = "r1"; + KeyType[KeyType["wa"] = 2] = "wa"; })(KeyType = exports.KeyType || (exports.KeyType = {})); /** Public key data size, excluding type field */ exports.publicKeyDataSize = 33; @@ -459,6 +460,8 @@ function signatureToString(signature) { return keyToString(signature, 'K1', 'SIG_K1_'); } else if (signature.type === KeyType.r1) { return keyToString(signature, 'R1', 'SIG_R1_'); + } else if (signature.type === KeyType.wa) { + return keyToString(signature, 'WA', 'SIG_WA_'); } else { throw new Error('unrecognized signature format'); }
Now I am able to completely synchronize the range, even though I am seeing this new error in the pm2 out:
0|proton-indexer | 2022-04-03T19:44:18: [222902 - 07_deserializer] deserializeNative >> transaction_trace[] >> Bad variant index 0|proton-indexer | 2022-04-03T19:44:18: [222902 - 07_deserializer] transaction_trace[] deserialization failed with eosjs! 0|proton-indexer | 2022-04-03T19:44:18: [222902 - 07_deserializer] [WARNING] transaction_trace[] deserialization failed on block 79955656
Nothing shows in the deserialization error logs for these errors.
The text was updated successfully, but these errors were encountered:
No branches or pull requests
Hopefully this helps someone who is facing the same issue, and or the EOSRIO team is able to patch something
NOTE: This seems to be fixed in the latest https://github.com/EOSIO/eosjs/blob/v22.1.0/src/eosjs-numeric.ts - but that doesn't match the code in
addons/eosjs-native
Nodeos version:
2.1
Parser version:
2.1
Ran into an error synchronizing blocks signed with
SIG_WA_
- here are 2 examples:79955656
79996963
Would cause my indexer to kick into constant complaint mode about a missing block:
The end of this logfile would just continue to have the same "Missing block" error forever and would not write many blocks to the queue...
I was able to patch the file
addons/eosjs-native/eosjs-numeric.js
with an update to translate the WA keytype.Now I am able to completely synchronize the range, even though I am seeing this new error in the pm2 out:
Nothing shows in the deserialization error logs for these errors.
The text was updated successfully, but these errors were encountered: