Skip to content

Commit

Permalink
Merge pull request #5 from will-break-it/cip
Browse files Browse the repository at this point in the history
CIP
  • Loading branch information
will-break-it authored Jul 24, 2024
2 parents 27b1bc3 + 42c81aa commit eb17bba
Show file tree
Hide file tree
Showing 22 changed files with 1,344 additions and 587 deletions.
20 changes: 4 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,13 @@

The primary goal of a well-designed API for a multi-chain digital wallet is to provide the data required to construct transactions and to allow deriving the current state of the wallet while the set of subscribed blockchains is continuously extended. This includes aggregating transactions and on-chain events to present users their transaction history, current balance, as well as chain-specific features such as stake delegation or staking rewards.

The proposed API design offers different endpoints to retrieve the same data in order to support a wide range of edge clients,
The proposed API design offers different endpoints to retrieve the same data in order to support a wide range of edge clients,
in particular clients with an intermittent connection or that are bandwidth-constrained.

The API was desgined with an overarching abstraction in mind to focus on the fundamental value that wallets provide:

> #### The ability to transact
> The ability to transact
### What does a wallet need to construct transactions?
## Problem Description [CPS](./docs/CPS/CPS-XXXX/)

In general, to be able to construct transactions the following data is required:

- any transaction related to a client's wallet (incoming/ receiving & outgoing/ spending)
- staking rewards *if applicable*
- network, era or epoch specific data, like:
- protocol parameters - tx fee calculation (Cardano)
- current fee rate, satoshis per byte, sats/byte (Bitcoin)
- gas limit, max fee per gas, max priority fee per gas, nonce (Ethereum)
- the current tip/ block height for validity intervals of transactions

## API Design

We divide the wallet-optimized API into a [push-based, event-driven API](./docs/01-Stream-api.md) and a request/ response API.
## Improvement Proposal [CIP](./docs/CIP/CIP-XXXX/)
137 changes: 0 additions & 137 deletions docs/01-Stream-api.md

This file was deleted.

1 change: 0 additions & 1 deletion docs/02-Synchronization-Sequence.svg

This file was deleted.

3 changes: 0 additions & 3 deletions docs/02-Synchronization.md

This file was deleted.

20 changes: 0 additions & 20 deletions docs/03-Encoding.md

This file was deleted.

Loading

0 comments on commit eb17bba

Please sign in to comment.