SYMMIO is a trustless hybrid clearing house (combining on-chain and off-chain components) acting as a communication, settlement, and clearing layer for permissionless derivatives. At its core, SYMMIO is an intent-centric, meta-derivatives engine, with its first use case being a new type of hyper-efficient perpetuals trading technology.
This project utilizes the Diamond Proxy pattern (EIP-2535) for upgradability and modularity. Currently, we have 13 facets:
- AccountFacet
- ControlFacet
- DiamondLoupeFacet
- LiquidationFacet
- PartyAFacet
- BridgeFacet
- ViewFacet
- FundingRateFacet
- ForceActionsFacet
- SettlementFacet
- PartyBPositionActionsFacet
- PartyBQuoteActionsFacet
- PartyBGroupActionsFacet
There are also some additional second-layer contracts required by hedgers and frontends:
-
MultiAccount:
This contract allows each wallet to have multiple accounts within the system. Features like instant open/close and stop-loss bots require thedelegateAccess
feature provided by this contract. -
SymmioPartyB:
This contract enables hedgers to have multiple private keys behind their bots.
This project uses Hardhat. You can compile the code with:
npx hardhat compile
And you can run tests like this:
./utils/runTests.sh
The reason we cannot simply use npx hardhat test
is that there are some Muon signature verification parts in the code
that need to be commented out for the tests to run without issues. This script automates that task.
For detailed technical documentation, visit:
https://docs.symm.io/protocol-architecture/technical-documentation
SYMM-Core-Business-Source-License-1.1
For more information, see https://docs.symm.io/legal-disclaimer/license