@@ -253,31 +253,60 @@ It is possible to re-balance channel liquidity (shifting more of the balance to
254## Milestones
254## Milestones
256−### transaction/invoice RFCs
256+### Milestone 1 - transaction/invoice RFCs
258−2 stars
258+Payment: 2 stars
260- Implement RFCs 2, 3 and 11 from BOLT.
260- Implement RFCs 2, 3 and 11 from BOLT.
261- Create the libs and types that further stages will depend on
261- Create the libs and types that further stages will depend on
263−### on-chain transaction RFC
263+### Milestone 2 - on-chain transaction RFC
265−2 stars
265+Payment: 2 stars
267- implement RFC 5, on-chain transaction handling
267- implement RFC 5, on-chain transaction handling
268- test that channels can be opened and closed in the manner described there
268- test that channels can be opened and closed in the manner described there
270−### provider libraries
270+### Milestone 3 - provider libraries
272−1 stars
272+Payment: 1 star
274- implement the `volt` provider that will talk to `lnd`
274- implement the `volt` provider that will talk to `lnd`
275- create any configuration files needed to start `lnd` locally
275- create any configuration files needed to start `lnd` locally
277−### `volt` agent and cleanup
277+### Milestone 4 - `volt` agent and cleanup
279−2 stars
279+Payment: 2 stars
281- create the Gall agent to manage transactions
281- create the Gall agent to manage transactions
282- connect it to the provider libs
282- connect it to the provider libs
283- use the RFC libs to wire up all on-chain transactions
283- use the RFC libs to wire up all on-chain transactions
285+### Milestone 5 - Create Signing Agent
289+The milestone is to create a signing agent that can be run either on the same host as the rest of the volt system or one of it's moons. The goal of this agent is to separate the key material from the rest of the system while providing signing and key-generation functionality. The agent will make use of the existing BIP-32 implementation and expose a set API calls similar to those of popular hardware wallets, albeit reduced to what is essential for the purposes of volt.
291+The agent will support the following core calls as %poke's:
294+ Only accessible from the host ship: generate a new wallet and give back the
295+ seed, which can be rendered using the BIP-39 mnemonic.
298+ Give the public key for a given BIP-32 path.
301+ Sign a message digest using the key at a given BIP-32 path.
303+Potential additional convenience calls, if the remainder of the volt project demands:
306+ A public key is generated using a given BIP-32 path and an address is computed from the resulting key.
309+ The message is hashed with dsha256 and then signed with the private key at a given BIP-32 path.
312+ Verify a signed message using the public key at a given BIP-32 path.