hexresearch / hexresearch/hexstody

Node Adaptor ETH

Open
#4 0 comments 0 reactions 1 assignee Claimed by @nazgull08 View on GitHub
ETH
Dominant language
Rust
Stars
1
Forks
1
PR merge metrics
No merged PRs in 30d

Description

Each node adaptor is a separate service that is deployed next to the corresponding full node with the wallet. Each adaptor implements the #5 API.

* Each user has a unique ETH address/account.

The new user scenario:
- New user is registered within the hot wallet service. Hot wallet service notifies the adaptor about the new user.
- The adaptor responds with the deposit address for the new user.

The withdrawal scenario:
- Hot wallet service sends a withdrawal request to the node adaptor. The request can have one of the following auth info:
1. No auth. Small amounts per day are configured in the node adaptor.
2. Signatures of operators for large amounts and email users.
3. Signature of the user for the self-custody scenario when the user has their own keys on the device.
- Adaptor checks that auth is valid, and the amount is lower than the user balance. If there are not enough funds in the hot wallet, the refill request to the cold wallet is sent automatically.
- Adaptor sends the transaction and notifies the hot wallet service that the request is finished.

The deposit scenario:
- Adaptor sees that there is an incoming transaction for some user address.
- Adaptor notifies the hot wallet service about the transaction when it is first seen and when it is completely finalized (has enough confirmations).

The cold wallet dump scenario:
- Some account receives too many funds (that is configured).
- The adaptor waits for some time (configurable) and sends excess funds to the cold wallet multi-sig address.

The ticker contains a task for developing a standalone executable service that will be deployed in an isolated host with its own Eth full node.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.