Small improvements to the docs

This commit is contained in:
Michał D
2023-12-08 16:59:09 +01:00
parent a7798374e1
commit 194e7caa15
5 changed files with 63 additions and 47 deletions

View File

@@ -2,25 +2,25 @@
Protocol lib is a library used by Propellerheads.xyz solvers to integrate decentralized protocols. Currently, only swap/exchange protocols are supported.
### Integration Process
## Integration Process
To integrate with PropellerHeads solvers, two components need to be provided:
* **Protocol logic:** Provides simulations, of the protocols logic.
* **Protocol logic:** Provides simulations of the protocols logic.
* **Indexing**: Provides access to the protocol state used by the simulation. This component is optional if your protocol is stateless.
#### Protocol Logic
### Protocol Logic
PropellerHeads currently exposes two integration modes to specify the protocols' underlying logic:
* **VM Integration:** This integration type requires implementing an adapter interface in any language that compiles to the respective vm byte code. Currently, only Solidity is supported.
* **VM Integration:** This integration type requires implementing an adapter interface in any language that compiles to the respective vm byte code. This SDK provides the interface only in Solidity. **[Read more here.](logic/vm-integration/README.md)**
* **Native Rust Integration:** Coming soon, this integration type requires implementing a Rust trait that describes the protocol logic.
While VM integration is certainly the quickest and probably most accessible one for protocol developers, native implementations are much faster and allow us to consider the protocol for more time-sensitive use cases - e.g. quoting.
#### Indexing
### Indexing
For indexing purposes, it is required that you provide a [substreams](https://thegraph.com/docs/en/substreams/) package that emits a specified set of messages. Most new protocols will already have a [substreams](https://thegraph.com/docs/en/substreams/) package for indexing implemented this will only need to be adjusted to emit the required messages.
For indexing purposes, it is required that you provide a [substreams](https://thegraph.com/docs/en/substreams/) package that emits a specified set of messages. If your protocol already has a [substreams](https://thegraph.com/docs/en/substreams/) package for indexing implemented, you can adjust it to emit the required messages.
_Specifications coming soon._