{"action":"created","issue":{"url":"https://api.github.com/repos/NebulousLabs/Sia/issues/576","labels_url":"https://api.github.com/repos/NebulousLabs/Sia/issues/576/labels{/name}","comments_url":"https://api.github.com/repos/NebulousLabs/Sia/issues/576/comments","events_url":"https://api.github.com/repos/NebulousLabs/Sia/issues/576/events","html_url":"https://github.com/NebulousLabs/Sia/issues/576","id":86790534,"number":576,"title":"API Functions for Exchange Implementation","user":{"login":"poloniex","id":6934310,"avatar_url":"https://avatars.githubusercontent.com/u/6934310?v=3","gravatar_id":"","url":"https://api.github.com/users/poloniex","html_url":"https://github.com/poloniex","followers_url":"https://api.github.com/users/poloniex/followers","following_url":"https://api.github.com/users/poloniex/following{/other_user}","gists_url":"https://api.github.com/users/poloniex/gists{/gist_id}","starred_url":"https://api.github.com/users/poloniex/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/poloniex/subscriptions","organizations_url":"https://api.github.com/users/poloniex/orgs","repos_url":"https://api.github.com/users/poloniex/repos","events_url":"https://api.github.com/users/poloniex/events{/privacy}","received_events_url":"https://api.github.com/users/poloniex/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/NebulousLabs/Sia/milestones/6","html_url":"https://github.com/NebulousLabs/Sia/milestones/0.4.0%20Quality","labels_url":"https://api.github.com/repos/NebulousLabs/Sia/milestones/6/labels","id":1182574,"number":6,"title":"0.4.0 Quality","description":"Features for the 0.4.0 milestone are split into two separate categories. The first category is the 'critical' category, which is a set of issues that are considered mandatory given our product and long term goals. Without resolving these, the project will either die or doom itself  to being nothing speical.\r\n\r\nThe second category is 'Quality', which are issues that relate to the overall quality of the currency, project, and experience. These are not to be confused as 'nice to have' or 'luxury' - having a quality currency and user experience is practically mandatory. But as we move forward for the next few weeks, I wanted to distinguish between the live-or-die issues vs. the 'reputation-and-respect' issues. Quality is still incredibly important.","creator":{"login":"DavidVorick","id":2316841,"avatar_url":"https://avatars.githubusercontent.com/u/2316841?v=3","gravatar_id":"","url":"https://api.github.com/users/DavidVorick","html_url":"https://github.com/DavidVorick","followers_url":"https://api.github.com/users/DavidVorick/followers","following_url":"https://api.github.com/users/DavidVorick/following{/other_user}","gists_url":"https://api.github.com/users/DavidVorick/gists{/gist_id}","starred_url":"https://api.github.com/users/DavidVorick/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DavidVorick/subscriptions","organizations_url":"https://api.github.com/users/DavidVorick/orgs","repos_url":"https://api.github.com/users/DavidVorick/repos","events_url":"https://api.github.com/users/DavidVorick/events{/privacy}","received_events_url":"https://api.github.com/users/DavidVorick/received_events","type":"User","site_admin":false},"open_issues":21,"closed_issues":4,"state":"open","created_at":"2015-06-26T13:02:56Z","updated_at":"2015-07-12T00:28:20Z","due_on":"2015-07-30T04:00:00Z","closed_at":null},"comments":1,"created_at":"2015-06-10T01:11:28Z","updated_at":"2015-07-22T08:05:11Z","closed_at":null,"body":"Some additional features are needed for exchange implementation to be possible:\r\n\r\n1. An API method that lists all transactions the wallet is involved with, including both sending and receiving. Each transaction listed should include at minimum the amount, the number of confirmations, the destination address, the transaction ID/hash, and the timestamp.\r\n\r\n2. Methods for wallet encryption. This could be like bitcoin, where there is an unlock call and a lock call, or the encryption key/passphrase could be supplied as a param of the /wallet/send method."},"comment":{"url":"https://api.github.com/repos/NebulousLabs/Sia/issues/comments/123608947","html_url":"https://github.com/NebulousLabs/Sia/issues/576#issuecomment-123608947","issue_url":"https://api.github.com/repos/NebulousLabs/Sia/issues/576","id":123608947,"user":{"login":"DavidVorick","id":2316841,"avatar_url":"https://avatars.githubusercontent.com/u/2316841?v=3","gravatar_id":"","url":"https://api.github.com/users/DavidVorick","html_url":"https://github.com/DavidVorick","followers_url":"https://api.github.com/users/DavidVorick/followers","following_url":"https://api.github.com/users/DavidVorick/following{/other_user}","gists_url":"https://api.github.com/users/DavidVorick/gists{/gist_id}","starred_url":"https://api.github.com/users/DavidVorick/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DavidVorick/subscriptions","organizations_url":"https://api.github.com/users/DavidVorick/orgs","repos_url":"https://api.github.com/users/DavidVorick/repos","events_url":"https://api.github.com/users/DavidVorick/events{/privacy}","received_events_url":"https://api.github.com/users/DavidVorick/received_events","type":"User","site_admin":false},"created_at":"2015-07-22T08:05:11Z","updated_at":"2015-07-22T08:05:11Z","body":"@poloniex \r\n\r\nSorry it took so long to get here, but I'm working on the wallet right now. The new wallet should be coded up by Aug. 1st, and the first release with the changes should be on Aug. 15th.\r\n\r\nWanted to run the api calls by you though.\r\n\r\n`/wallet` (GET) :: display the balance of the wallet, both siacoins and siafunds, potentially with additional information\r\n\r\nI wasn't planning on having this call list all transactions related to the wallet, it seemed unwieldy.\r\n\r\n`/wallet/address` (GET) :: list all active addresses (and maybe their respective balances)\r\n\r\n`/wallet/address` (POST) :: returns a new address that can receive coins\r\n\r\n`/wallet/$(ADDR)` ::  display the balance of an address, and return every txn related to the address. Each txn will also have a number of confirmations. The receiver will need to parse the transactions to figure out how many confirmations the balance as a whole has (or some subset of the balance). In the simplest case, this just means looking at the # of confirmations on each transaction and then taking the lowest number - that will give you the number of confirmations on the balance.\r\n\r\nFrom the transaction you will be able to parse the amount, the confirmations, the source(s), the destination, the ids (both of the outputs and of the transaction), and the timestamp, as well as the actual raw transaction.\r\n\r\n`/wallet/siacoins/send` (POST) :: requires a password, which will be established by the user when the wallet is created. The wallet will temporarily decrypt the private key, send the coins, and then wipe the decrypted key from memory.\r\n\r\n`/wallet/siafunds/send` (POST) :: same as `/wallet/siacoins/send`, except it sends siafunds.\r\n\r\nThere will be a few other calls related to backups, setting passwords, and similar functions, but the above are the ones related to sending and receiving coins."}}