{"action":"created","issue":{"url":"https://api.github.com/repos/omisego/plasma-mvp/issues/170","repository_url":"https://api.github.com/repos/omisego/plasma-mvp","labels_url":"https://api.github.com/repos/omisego/plasma-mvp/issues/170/labels{/name}","comments_url":"https://api.github.com/repos/omisego/plasma-mvp/issues/170/comments","events_url":"https://api.github.com/repos/omisego/plasma-mvp/issues/170/events","html_url":"https://github.com/omisego/plasma-mvp/issues/170","id":350632763,"node_id":"MDU6SXNzdWUzNTA2MzI3NjM=","number":170,"title":"Create an RLP encoding library","user":{"login":"kfichter","id":14298799,"node_id":"MDQ6VXNlcjE0Mjk4Nzk5","avatar_url":"https://avatars1.githubusercontent.com/u/14298799?v=4","gravatar_id":"","url":"https://api.github.com/users/kfichter","html_url":"https://github.com/kfichter","followers_url":"https://api.github.com/users/kfichter/followers","following_url":"https://api.github.com/users/kfichter/following{/other_user}","gists_url":"https://api.github.com/users/kfichter/gists{/gist_id}","starred_url":"https://api.github.com/users/kfichter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kfichter/subscriptions","organizations_url":"https://api.github.com/users/kfichter/orgs","repos_url":"https://api.github.com/users/kfichter/repos","events_url":"https://api.github.com/users/kfichter/events{/privacy}","received_events_url":"https://api.github.com/users/kfichter/received_events","type":"User","site_admin":false},"labels":[{"id":807751337,"node_id":"MDU6TGFiZWw4MDc3NTEzMzc=","url":"https://api.github.com/repos/omisego/plasma-mvp/labels/enhancement","name":"enhancement","color":"84b6eb","default":true}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":12,"created_at":"2018-08-14T23:30:44Z","updated_at":"2018-09-07T10:08:10Z","closed_at":"2018-08-31T03:22:53Z","author_association":"MEMBER","body":"<!--\r\nSee https://help.github.com/articles/basic-writing-and-formatting-syntax/ for help with formatting code.\r\n-->\r\n\r\n## Issue Type \r\n<!-- Check one with \"x\" -->\r\n\r\n```\r\n[ ] bug report\r\n[x] feature request\r\n```\r\n\r\n## Current Behavior\r\n<!-- Describe the issue -->\r\nWe currently differ from the Plasma MVP spec by creating a simplified `deposit` function at the cost of a more complicated `withdrawDeposit` addition. This should be removed, but requires that we be able to encode transactions on-chain.\r\n\r\n## Suggested Fix\r\n<!-- Fill out if you have an idea of how to fix the problem (optional) -->\r\n\r\n### Solidity RLP Encoding Library\r\n\r\n#### Description\r\n\r\nRLP (Recursive Length Prefix) is a method for encoding arbitrarily nested arrays of binary data. You can learn more about RLP encoding [here](https://github.com/ethereum/wiki/wiki/%5BEnglish%5D-RLP).\r\n\r\nWe’re using RLP to decode transactions for our [Plasma MVP](https://github.com/omisego/plasma-mvp) implementation. However, we’re also maintaining a simplified Plasma contract (as a learning resource) that could be made even simpler with an *RLP encoding library* written in Solidity.\r\n\r\n#### Requirements\r\n\r\nWe’re looking for a relatively simple RLP encoding library. It doesn’t need to be hyper-optimized, but optimizations are always appreciated! You should look to the Ethereum [RLP wiki page](https://github.com/ethereum/wiki/wiki/%5BEnglish%5D-RLP) for a detailed spec of how RLP works.\r\n\r\nRLP operates on arbitrary binary data. However, we’d like to be able to RLP encode typed objects in Solidity. Therefore, the contract should expose a few key functions:\r\n\r\n- `encodeBytes(bytes memory self) internal pure returns (bytes)`\r\n- `encodeAddress(address self) internal pure returns (bytes)`\r\n- `encodeUint(uint self) internal pure returns (bytes)`\r\n- `encodeInt(int self) internal pure returns (bytes)`\r\n- `encodeBool(bool self) internal pure returns (bytes)`\r\n- `encodeList(bytes[] memory self) internal pure returns (bytes)`\r\n\r\nNote that `encodeList` does not need to recursively encode the contents of the list (you can assume they’re already encoded).\r\n\r\n## Motivation for Change\r\n<!-- Explain why the problem needs to be addressed -->\r\nWe want to match the original Plasma MVP specification, and therefore need to remove `withdrawDeposit`."},"comment":{"url":"https://api.github.com/repos/omisego/plasma-mvp/issues/comments/419391474","html_url":"https://github.com/omisego/plasma-mvp/issues/170#issuecomment-419391474","issue_url":"https://api.github.com/repos/omisego/plasma-mvp/issues/170","id":419391474,"node_id":"MDEyOklzc3VlQ29tbWVudDQxOTM5MTQ3NA==","user":{"login":"gitcoinbot","id":27903976,"node_id":"MDQ6VXNlcjI3OTAzOTc2","avatar_url":"https://avatars2.githubusercontent.com/u/27903976?v=4","gravatar_id":"","url":"https://api.github.com/users/gitcoinbot","html_url":"https://github.com/gitcoinbot","followers_url":"https://api.github.com/users/gitcoinbot/followers","following_url":"https://api.github.com/users/gitcoinbot/following{/other_user}","gists_url":"https://api.github.com/users/gitcoinbot/gists{/gist_id}","starred_url":"https://api.github.com/users/gitcoinbot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gitcoinbot/subscriptions","organizations_url":"https://api.github.com/users/gitcoinbot/orgs","repos_url":"https://api.github.com/users/gitcoinbot/repos","events_url":"https://api.github.com/users/gitcoinbot/events{/privacy}","received_events_url":"https://api.github.com/users/gitcoinbot/received_events","type":"User","site_admin":false},"created_at":"2018-09-07T10:08:10Z","updated_at":"2018-09-07T10:08:10Z","author_association":"NONE","body":"Issue Status: 1. Open 2. Started 3. Submitted 4. **Done** \n\n<hr>\n\n__The funding of 500.0 DAI (500.0 USD @ $1.0/DAI)  attached to this issue has been approved & issued to @bakaoh.__  \n\n * Learn more [on the Gitcoin Issue Details page](https://gitcoin.co/issue/omisego/plasma-mvp/170/967)\n* Questions? Checkout <a href='https://gitcoin.co/help'>Gitcoin Help</a> or the <a href='https://gitcoin.co/slack'>Gitcoin Slack</a>\n* $19,226.08 more funded OSS Work available on the [Gitcoin Issue Explorer](https://gitcoin.co/explorer)\n"}}
{"actor":{"display_login":"gitcoinbot"}}