Port go-nitro payment channels to TypeScript
ashwinphatak opened this issue · 0 comments
ashwinphatak commented
- Setup monorepo
- Add package for go-nitro library
- Add web-app using go-nitro library
- Add tests to run in CI
- Implement CI
- Port types and interfaces
- Port classes and implementations
- Port classes with empty methods
- Port implementation
- Methods required for commands (
direct-fund
,virtual-fund
,pay
,virtual-defund
,direct-defund
)
- Methods required for commands (
- DurableStore implementation
- Metrics implementation
- Implement
RecordQueueLength
method - Implement
RecordObjectiveStarted
andRecordObjectiveCompleted
methods - Implement
RecordFunctionDuration
method
- Implement
- Test command flows
- direct-fund
- get-ledger-channel
- virtual-fund
- Test command in node environment
- Handle nil pointer case for bigint serialization
- get-payment-channel
- pay
- Test command in node environment
- virtual-defund
- Test command in node environment
- direct-defund
- Test command in node environment
- Debug empty slice serialization mismatch
- Match serialization for objects stored in memstore
- Payments through intermediaries
- End-to-end integration tests for CI
- Implement message service for browser
- Browser <-> Browser
- Relayed connection
- Direct WebRTC connection
- Browser <-> NodeJS
- Browser <-> go-nitro
- Use
@cerc-io/peer
in ts-nitro
- Browser <-> Browser
- Integrate ts-nitro in mobymask-v2
- Run
ts-nitro
client along with watcher server - Payments
- For watcher queries
- For phisher reports
- For p2p network services (data forwarding)
- Wallet/key/signature management (MetaMask snaps)
- Routing of nitro messages in federated relay network
- Run
- Update ts-nitro with latest go-nitro changes