-
Notifications
You must be signed in to change notification settings - Fork 50
New issue
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
Fail to unmarshal tx data from a block #14
Comments
Thanks for the report! Can you show me how you're getting the base64 data? |
by fetching block data from any lcd REST server then I get tx_data from block["block]["data"]["txs"] |
can confirm this is happening for Microtick as well on the hub-3-gaia-2-alpha branch, hub-3-gaia-2, and extend branches |
Error: unmarshal to types.Tx failed after 102 bytes (error reading array contents: expected field number: 1; got: 4): 282816A90A43A8A3619A0A14B9DFAC7AD79B372F91CD1D9A8B2983E908ADED8912141791471EA49EE4443EC00F6ED90032F1011AB2301A110A057561746F6D1208313136353739393512130A0D0A057561746F6D12043530303010C09A0C1A6A0A26EB5AE9872102D41A0AA167B21699429EAB224BC03F2CD386F0AF5D20CEFBD0336F1544AEA24F1240D6751C207D022D3D3F9D0D260530EB4FA90C1B6D0D63F3EC1FB3F681CE1BA583462C46230667567AF5D4268B9213FF40FFAD101BD7187AAC937B99050DE20FC5220A31313232363732373534 |
also happens if we call marshal, unmarshal with 'false' as the second parameter for length prefixed encoding |
I've tracked this issue down to the pub_key field for a Secp256k1 signature. In the JSON example above if you omit the following, it works.
Specifically, it appears to be having trouble with the base64 byte array in the pub_key.value. I don't have a good idea why yet. |
I have the same issue, when i parse the transaction D11E6BD640D9B5F1A5C5C39E03C75CFAD519CD45FE415D082A79421D9483C8B9 in block 1861036 with raw: iBgoKBapCv8WtC1hTgrQFuaBeAcKMUNvc21XYXNtIEludGVncmF0aW9uIDEgLSBQZXJtaXNzaW9ucyBhbmQgVXBncmFkZXMS6hVDb3NtV2FzbSBJbnRlZ3JhdGlvbiAxIC0gUGVybWlzc2lvbnMgYW5kIFVwZ3JhZGVzCgpDb21tdW5pdHktc3BlbmQgcHJvcG9zYWwgc3VibWl0dGVkIGJ5IEV0aGFuIEZyZXkgKGh0dHBzOi8vZ2l0aHViLmNvbS9ldGhhbmZyZXkpIG9mIENvbmZpbyBVTyAoaHR0cDovL2NvbmZpby50ZWNoLykgYW5kIENvc21XYXNtIChodHRwczovL3d3dy5jb3Ntd2FzbS5jb20pCgotPS09LQoKRnVsbCBwcm9wb3NhbDogaHR0cHM6Ly9pcGZzLmlvL2lwZnMvUW1iRDNiTWFqUUNGbXREbWt1UlZXaG1NV1ZkTjJzSzhRUDJGb0ZDejljalBpQwpGb3J1bSBQb3N0OiBodHRwczovL2ZvcnVtLmNvc21vcy5uZXR3b3JrL3QvcHJvcG9zYWwtY29zbXdhc20tb24tY29zbW9zLWh1Yi8zNjI5CgotPS09LQoKQW1vdW50IHRvIHNwZW5kIGZyb20gdGhlIGNvbW11bml0eSBwb29sOiAyNTAwMCBBVE9NcwoKVGltZWxpbmU6IDItNCBtb250aHMgZnJvbSBhcHByb3ZhbAoKRGVsaXZlcmFibGVzOgoxLiBBZGRpbmcgZ292ZXJuYW5jZSBjb250cm9sIHRvIGFsbCBhc3BlY3RzIG9mIHRoZSBDb3NtV2FzbSBjb250cmFjdCBsaWZlY3ljbGUgdG8gbWFrZSBpdCBjb21wYXRpYmxlIHdpdGggdGhlIGh1Yi4gQWxsb3dpbmcgZ292ZXJuYW5jZSB0byBjb250cm9sIGNvZGUgdXBsb2FkLCBjb250cmFjdCBpbnN0YW50aWF0aW9uLCB1cGdyYWRlcywgYW5kIGRlc3RydWN0aW9uIChpZiBuZWVkZWQpLgoyLiBBZGRpbmcgYWJpbGl0eSB0byB1cGdyYWRlIGNvbnRyYWN0cyBhbG9uZyB3aXRoIG1pZ3JhdGlvbnMgKGFsc28gYWxsb3dpbmcgb3JkZXJseSBzaHV0ZG93bnMpLiBUaGlzIGNvbnRyb2xsZWQgYnkgYSBnb3Zlcm5hbmNlIHZvdGUuCjMuIExhdW5jaCBhIHRlc3RuZXQgd2l0aCB3b3JraW5nIHZlcnNpb24gb2YgdGhpcyBjb2RlIChDb3Ntb3MgU0RLIDAuMzggb3IgMC4zOSkgdG8gZW5hYmxlIGFsbCBpbnRlcmVzdGVkIHBhcnRpZXMgdG8gdHJpYWwgdGhlIHByb2Nlc3MgYW5kIHByb3ZpZGUgZmVlZGJhY2suCjQuIFByb3ZpZGUgc2FtcGxlIGNvbnRyYWN0cyB0byBkZW1vIG9uIHRoZSB0ZXN0bmV0LCBhbG9uZyB3aXRoIHNvbWUgbWlncmF0aW9uIHNjZW5hcmlvcwoKV2l0aGluIDIgbW9udGhzLCB0aGUgd29ya2luZyBjb2RlIGFuZCBiaW5hcmllcyBzaG91bGQgYmUgZGVsaXZlcmVkIGFuZCBvcGVuIGZvciBwdWJsaWMgcmV2aWV3LiBXaXRoaW4gNCBtb250aHMsIHRoZXNlIGJpbmFyaWVzIHdpbGwgYmUgdXNlZCBvbiBhIHRlc3RuZXQsIHdpdGggc3VmZmljaWVudCBzdGFraW5nIHRva2VucyBnaXZlbiB0byBhbGwgYWN0aXZlIHZvdGVycyBvbiB0aGUgQ29zbW9zIEh1YiwgYW5kIHdlIHdpbGwgZ28gdGhyb3VnaCBhIGZldyBnb3Zlcm5hbmNlIHZvdGluZyBjeWNsZXMgdG8gdHJpYWwgY29udHJhY3QgZGVwbG95bWVudCBhbmQgbWlncmF0aW9ucyAod2l0aCBhIHNob3J0ZXIgdm90aW5nIGN5Y2xlcywgZWcuIDMgZGF5cykKCkRldGFpbGVkIG1pbGVzdG9uZXMgaW4gdGhlIGZ1bGwgcHJvcG9zYWw6Cmh0dHBzOi8vaXBmcy5pby9pcGZzL1FtYkQzYk1halFDRm10RG1rdVJWV2htTVdWZE4yc0s4UVAyRm9GQ3o5Y2pQaUMKCkJleW9uZCB0aGUgbWlsZXN0b25lcywgQ29zbVdhc20gd2lsbCBlbmhhbmNlIGRvY3VtZW50YXRpb24gb2YgdGhlIHBsYXRmb3JtIGFuZCBvZmZlciB0ZWNobmljYWwgc3VwcG9ydCBvbiBvdXIgVGVsZWdyYW0gY2hhbm5lbC4KCi09LT0tCgpfUHJvYmxlbV8KV2l0aCB0aGUgdXBjb21pbmcgbGF1bmNoIG9mIElCQywgdGhlIGh1YiB3aWxsIG5lZWQgdG8gYWRhcHQgbW9yZSByYXBpZGx5IHRvIHRoZSBuZWVkcyBvZiB0aGUgZWNvc3lzdGVtLCB3aGlsZSBhbHNvIGxpbWl0aW5nIGNoYWluIHJlc3RhcnRzLCB3aGljaCBtYXkgYmUgZGV0cmltZW50YWwgdG8gSUJDIGNvbm5lY3Rpb25zLiBJbiBwYXJ0aWN1bGFyIHN1cHBvcnQgZm9yIHJlbGF5aW5nIER5bmFtaWMgSUJDIFByb3RvY29scyBhbmQgUmVudGVkIFNlY3VyaXR5LCB1c2luZyBBVE9NcyBhcyBjb2xsYXRlcmFsIGZvciBzbWFsbGVyIHpvbmVzLCB3b3VsZCBncmVhdGx5IGJlbmVmaXQgZnJvbSBDb3NtV2FzbSdzIGZsZXhpYmlsaXR5LgoKX1NvbHV0aW9uXwpXZeKAmXJlIGFkZGluZyBzb21lIGtleSBmZWF0dXJlcyB0byBDb3NtV2FzbSB0byBjb252ZXJ0IGl0IGZyb20gYSBwZXJtaXNzaW9ubGVzcywgaW1tdXRhYmxlIHNtYXJ0IGNvbnRyYWN0IHBsYXRmb3JtIHRvIGEgcGVybWlzc2lvbmVkIHBsYXRmb3JtIHdpdGggZ292ZXJuYW5jZSBjb250cm9sIGZvciB1cGdyYWRpbmcgb3Igc2h1dHRpbmcgZG93biBjb250cmFjdHMuIFRoaXMgaXMgYSBrZXkgcmVxdWlyZW1lbnQgdG8gYmUgYWJsZSB0byBpbnRlZ3JhdGUgQ29zbVdhc20gdG8gdGhlIENvc21vcyBIdWIgd2l0aCBtaW5pbWFsIGRpc3J1cHRpb24uCgpfRnV0dXJlXwpXZSB3aWxsIGNvbnRpbnVlIGRldmVsb3BtZW50IG9mIENvc21XYXNtLCBlc3BlY2lhbGx5IGFkZGluZyBJQkMgaW50ZWdyYXRpb24gYXMgd2VsbCBhcyB3b3JraW5nIHRvd2FyZHMgYSBzdGFibGUgMS4wIHJlbGVhc2UgdGhhdCBjYW4gYmUgYXVkaXRlZCBhbmQgc2FmZWx5IGRlcGxveWVkIChRMy9RNCAyMDIwKS4KCi09LT0tCgpUd2l0dGVyOiBodHRwczovL3R3aXR0ZXIuY29tL0Nvc21XYXNtCk1lZGl1bTogaHR0cHM6Ly9tZWRpdW0uY29tL2NvbmZpbwpUZWxlZ3JhbTogaHR0cHM6Ly90Lm1lL2pvaW5jaGF0L0FrWnJpRWhrOXFjUnc1QTVVMk1hcEEKV2Vic2l0ZTogaHR0cHM6Ly93d3cuY29zbXdhc20uY29tCkdpdGh1YjogaHR0cHM6Ly9naXRodWIuY29tL0Nvc21XYXNtGhQkTeB7yuHgqmKCZktSpv2Y7s2ufCIUCgV1YXRvbRILMjUwMDAwMDAwMDASEAoFdWF0b20SBzEwMDAwMDAaFNLeTkR7r4sZBGNww1wp6GKnFM8jEhQKDgoFdWF0b20SBTc1MDAwEKDCHhpqCibrWumHIQPV9nf5JdcbunAdCyEux+ZHFqRY1VezQ7CoWte2jIpzBxJAb6fNnsKfFqxNwZJwzrMDfdDLxxh4I7jlIIK/p5TCjUceB1UhhZbNq3NPRkkC1ojv5F27qru/7wBgHbzJOCxMIQ==. it doesn't work, i can see it on https://hubble.figment.network/cosmos/chains/cosmoshub-3/blocks/1861036/transactions/D11E6BD640D9B5F1A5C5C39E03C75CFAD519CD45FE415D082A79421D9483C8B9?format=json. |
I made some progress on this. the old pub_key format no longer works. instead, the pubkey is a base64 encoded value of the following format: 0xEB5AE987 + 0x21 + pubkey bytes The first two values are amino headers discussed here: https://docs.tendermint.com/master/spec/blockchain/encoding.html Once I made this change I was able to successfully sign Tx's and decode transactions as well. |
Is there a work around regarding this issue? I think I'm seeing similar issue... |
Any update on this? |
Using:
[email protected]
@tendermint/[email protected]
@tendermint/[email protected]
Trying to decode tx from block with:
Throws this error on every tx data string from blocks:
For example:
at block 1416024
The text was updated successfully, but these errors were encountered: