{"action":"created","issue":{"url":"https://api.github.com/repos/nanocurrency/raiblocks/issues/734","repository_url":"https://api.github.com/repos/nanocurrency/raiblocks","labels_url":"https://api.github.com/repos/nanocurrency/raiblocks/issues/734/labels{/name}","comments_url":"https://api.github.com/repos/nanocurrency/raiblocks/issues/734/comments","events_url":"https://api.github.com/repos/nanocurrency/raiblocks/issues/734/events","html_url":"https://github.com/nanocurrency/raiblocks/issues/734","id":305235949,"number":734,"title":"UTX callback: Link field is always base32-encoded, even if referencing a block hash","user":{"login":"renesq","id":35303112,"avatar_url":"https://avatars3.githubusercontent.com/u/35303112?v=4","gravatar_id":"","url":"https://api.github.com/users/renesq","html_url":"https://github.com/renesq","followers_url":"https://api.github.com/users/renesq/followers","following_url":"https://api.github.com/users/renesq/following{/other_user}","gists_url":"https://api.github.com/users/renesq/gists{/gist_id}","starred_url":"https://api.github.com/users/renesq/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/renesq/subscriptions","organizations_url":"https://api.github.com/users/renesq/orgs","repos_url":"https://api.github.com/users/renesq/repos","events_url":"https://api.github.com/users/renesq/events{/privacy}","received_events_url":"https://api.github.com/users/renesq/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2018-03-14T16:33:21Z","updated_at":"2018-03-14T17:15:37Z","closed_at":null,"author_association":"NONE","body":"I find the RPC callback behavior a little odd. Block hashes in the Link field get encoded with base32. \r\n\r\nE.g. Beta network's block `711366594E5E8D17AA1340CEC4D2C7A354F23179DA6E5CEB7C88FEABEED6D043` is a UTX-style receive block, so the Link field references the sender block hash, but RPC callback sends ` \\\"link\\\": \\\"xrb_3u7go5p597us1eieg7un3t44rcpmnuunztgoxfxcyag48pozpzzkmfue3r8j\\\"` instead, so you have to decode it first in order to get the block hash `ECAEA8EC3397790320C717740E842C2AD3A6F74FE9D5EB7AAF21C235ABFB7FF2`. \r\n\r\nIs this really intentional? I see more reasons against this behavior than in favor of it. "},"comment":{"url":"https://api.github.com/repos/nanocurrency/raiblocks/issues/comments/373103050","html_url":"https://github.com/nanocurrency/raiblocks/issues/734#issuecomment-373103050","issue_url":"https://api.github.com/repos/nanocurrency/raiblocks/issues/734","id":373103050,"user":{"login":"renesq","id":35303112,"avatar_url":"https://avatars3.githubusercontent.com/u/35303112?v=4","gravatar_id":"","url":"https://api.github.com/users/renesq","html_url":"https://github.com/renesq","followers_url":"https://api.github.com/users/renesq/followers","following_url":"https://api.github.com/users/renesq/following{/other_user}","gists_url":"https://api.github.com/users/renesq/gists{/gist_id}","starred_url":"https://api.github.com/users/renesq/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/renesq/subscriptions","organizations_url":"https://api.github.com/users/renesq/orgs","repos_url":"https://api.github.com/users/renesq/repos","events_url":"https://api.github.com/users/renesq/events{/privacy}","received_events_url":"https://api.github.com/users/renesq/received_events","type":"User","site_admin":false},"created_at":"2018-03-14T17:15:37Z","updated_at":"2018-03-14T17:15:37Z","author_association":"NONE","body":"Splitting the serialization is a feasible option. But even using the same field for differently encoded content should work, since hashes are the same length as addresses and only use a slightly different charset (hashes contain 0s and 2s). \r\n\r\nAnother food for thought:\r\nIf I only make a rep change, does the `link` field show the burn account or is it blank? I know the UTX block type has some trade-offs but we should make callback user-friendly nonetheless. The `is_send` field is a good start. I'm fully aware that you can't specify an exact block type anymore, because one block can contain multiple operations at the same time, like a concurrent send&rep-change. "}}
{"actor":{"display_login":"renesq"}}