21 lines
959 B
Markdown
21 lines
959 B
Markdown
|
# The Pool Protocol
|
||
|
|
||
|
This is a protocol, on Solana, that defines pool-like functionality. Like Ethereum interfaces, the setup doesn't do much
|
||
|
to constrain the actual behavior of programs which claim to implement this program. This crate defines
|
||
|
an instruction format for pool operations, and provides a library that maps Solana's primitives onto the
|
||
|
Pool protocol's semantics.
|
||
|
|
||
|
## Data Layout
|
||
|
The serialization and deserialization code are generated by [borsh](https://crates.io/crates/borsh).
|
||
|
The instruction and state types are defined in the [schema crate](schema).
|
||
|
|
||
|
## Implementing the Pool protocol
|
||
|
Implement the `Pool` trait on a marker type `ExamplePool`, and invoke `declare_pool_entrypoint!(ExamplePool)`
|
||
|
in your program's source somewhere.
|
||
|
The crate is mostly complete, but there may be minor breaking changes before the first release.
|
||
|
|
||
|
### To-do
|
||
|
- [x] specify the protocol.
|
||
|
- [ ] Finish implementing the `pool` crate.
|
||
|
- [ ] Implement the pool GUI.
|