GITBOOK-5: change request with no subject merged in GitBook

This commit is contained in:
Markus Schmitt
2023-11-13 08:27:35 +00:00
committed by gitbook-bot
parent b24498244e
commit 9c5e9a2b38

View File

@@ -1,26 +1,26 @@
# Propeller Protocol Lib # Propeller Protocol Lib
Protocol lib is a library used by Propellerheads.xyz solvers to integrate decentralised protocols. Currently only swap/exchange protocols are supported. 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: To integrate with PropellerHeads solvers, two components need to be provided:
* **Protocol logic:** Provides simualtions, 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. * **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: 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. Currently, only Solidity is supported.
* **Native Rust Integration:** Coming soon, this integration type requires implementing a Rust trait that describes the protocols logic. * **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. 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. 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.
_Specifications coming soon._ _Specifications coming soon._