What it offers
- deposit: Deposit collateral into an account
- withdraw: Withdraw collateral from an account
- delegateCollateral: Delegate collateral to a pool (via CoreProxy)
- commitOrder: Commit a perps trade order (via PerpsMarketProxy)
- modifyCollateral: Modify perps account collateral
Notes
- Account-based system - create account NFT first
- accountId is uint128, collateral ops use token amount in token decimals
- delegateCollateral assigns collateral to a specific pool for earning fees
- commitOrder sizeDelta: positive = long, negative = short
- Settlement happens asynchronously via keepers after commitOrder
Its names in a program
On Base,SynthetixV3 is a namespace: its contracts need no import.
Deployments
ABI
CoreProxyABI
import CoreProxyABI from "./protocols/synthetix-v3/CoreProxyABI.json"; Speaks for: coreProxy.
deposit(uint128 accountId, address collateralType, uint256 tokenAmount)withdraw(uint128 accountId, address collateralType, uint256 tokenAmount)delegateCollateral(uint128 accountId, uint128 poolId, address collateralType, uint256 amount, uint256 leverage)
PerpsMarketProxyABI
import PerpsMarketProxyABI from "./protocols/synthetix-v3/PerpsMarketProxyABI.json"; Speaks for: perpsMarketProxy.
commitOrder((uint128 marketId, uint128 accountId, int128 sizeDelta, uint128 settlementStrategyId, uint256 acceptablePrice, bytes32 trackingCode, address referrer) commitment) returns ((uint256 commitmentTime, (uint128 marketId, uint128 accountId, int128 sizeDelta, uint128 settlementStrategyId, uint256 acceptablePrice, bytes32 trackingCode, address referrer) request) retOrder, uint256 fees)modifyCollateral(uint128 accountId, uint128 collateralId, int256 amountDelta)
Next steps
- Protocols: the other protocols, by what they do.
- Protocols and tokens: calling a contract by its namespace, or through its ABI.
- Glossary: the words these pages use, in plain terms.
