You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For each broadcasted transaction, response is printed using PrintProto function which first marshalls given message to json and later convert it to yaml using yaml.JSONToYAML(out) conversion (from package "sigs.k8s.io/yaml")
Problem arise if marshalled json contrain control characters. Then conversion will return an error:
yaml: control characters are not allowed
In one of the failed tests, response from node is:
{
"height": "0",
"txhash": "2ACF964F1DA8937764352ABC02C5B53E7ADDDF6E659D3FD3870B13F773BD4B75",
"codespace": "sdk",
"code": 38,
"data": "",
"raw_log": "��[�o\u001b��r�\\\f�(�W\u001a��Y does not allow to pay fees for \r�7���r�T�3۸�I\u0006#�V~: fee-grant not found: not found",
"logs": [],
"info": "",
"gas_wanted": "0",
"gas_used": "0",
"tx": null,
"timestamp": "",
"events": []
}
calling JSONToYAML will fail for this paylonad due to control character in raw_log field.
This is bug on the side of cosmos-sdk. Either conversion JSONToYAML should properly handle conversion with control characters or all returned errors should be properly encoded strings and not random byte arrays. Imo it should be the second option.
https://app.circleci.com/pipelines/github/babylonchain/babylon/2759/workflows/5a560144-469d-439b-982b-601a0bd4ee04/jobs/6507
The text was updated successfully, but these errors were encountered: