airgap-it / tezos-rust-sdk

MIT License
20 stars 10 forks source link

SignedOperation::to_injectable_string sometimes fails with a an InvalidStringValue error, even on valid operations. #40

Open emchristiansen opened 1 year ago

emchristiansen commented 1 year ago

SignedOperation::to_injectable_string sometimes fails with a an InvalidStringValue, even on valid operations.

I'm trying to find a good test case, but I ran into it when going through the last 1000 blocks, loading every manager operation, and converting each to an injectable string.

BTW, it would be really helpful if the various errors contained context that described what caused them. I tried to modify tezos_michelson::Error to add some context but I ran into issues with the derive_more macros that I don't understand.

RomarQ commented 1 year ago

I suspect it is a bug introduced by https://github.com/airgap-it/tezos-rust-sdk/pull/19. Will try to have a look at it when possible.

Thanks for the report :+1:

emchristiansen commented 1 year ago

Here's an op that reproduces the issue: https://tzkt.io/opWqxkFrkSbDWjAhzUKbFjDuCTqB434p6C9ZiFCvtcdZutREoe5/62374469

It's an origination, so maybe it's using a new Michelson op that was introduced in a recent protocol?

RomarQ commented 1 year ago

Thanks for the reproducible example. It should be fixed on develop.

I will add a test for it this specific case on the weekend.