{"action":"reopened","issue":{"url":"https://api.github.com/repos/steemit/steem/issues/2067","repository_url":"https://api.github.com/repos/steemit/steem","labels_url":"https://api.github.com/repos/steemit/steem/issues/2067/labels{/name}","comments_url":"https://api.github.com/repos/steemit/steem/issues/2067/comments","events_url":"https://api.github.com/repos/steemit/steem/issues/2067/events","html_url":"https://github.com/steemit/steem/issues/2067","id":293213626,"number":2067,"title":"claim_reward_balance2_operation reward_tokens member needs changed","user":{"login":"theoreticalbts","id":10215982,"avatar_url":"https://avatars3.githubusercontent.com/u/10215982?v=4","gravatar_id":"","url":"https://api.github.com/users/theoreticalbts","html_url":"https://github.com/theoreticalbts","followers_url":"https://api.github.com/users/theoreticalbts/followers","following_url":"https://api.github.com/users/theoreticalbts/following{/other_user}","gists_url":"https://api.github.com/users/theoreticalbts/gists{/gist_id}","starred_url":"https://api.github.com/users/theoreticalbts/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/theoreticalbts/subscriptions","organizations_url":"https://api.github.com/users/theoreticalbts/orgs","repos_url":"https://api.github.com/users/theoreticalbts/repos","events_url":"https://api.github.com/users/theoreticalbts/events{/privacy}","received_events_url":"https://api.github.com/users/theoreticalbts/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":7,"created_at":"2018-01-31T16:02:39Z","updated_at":"2018-02-01T16:43:26Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"\r\nThis ticket is about PR #1997.\r\n\r\nThe `claim_reward_balance2_operation` has a field `flat_map< asset_symbol_type, asset > reward_tokens;`\r\n\r\nThe code assumes for any `item` in `reward_tokens`, `item.first == item.second.symbol`, but this is not enforced anywhere.\r\n\r\nAdditionally, the binary serialization is inefficient, since each element's symbol must be serialized twice.  A couple ways to fix this:\r\n\r\n- Use `flat_map< asset_symbol_type, share_type >` instead\r\n- Use `vector< asset >` instead, and have `validate()` enforce `reward_tokens[i].symbol > reward_tokens[i-1].symbol` for all `i > 0`"}}
{"actor":{"display_login":"mvandeberg"}}