Interactions
Pool Deployment
createPool
Creates a new SPA with all associated contracts in a single transaction.
function createPool(CreatePoolArgument memory argument) external returns (WSPAToken wspaToken, Keeper keeper, ParameterRegistry parameterRegistry);
Parameters
argument
CreatePoolArgument
Struct containing pool configuration parameters
Returns
wspaToken
WSPAToken
The wrapped SPA token contract address
keeper
Keeper
The governance keeper contract address
parameterRegistry
ParameterRegistry
The parameter registry contract address
CreatePoolArgument Structure:
struct CreatePoolArgument {
address tokenA; // Address of token A
address tokenB; // Address of token B
TokenType tokenAType; // Type of token A (Standard, Oracle, Rebasing, ERC4626)
address tokenAOracle; // Oracle address for token A (if Oracle type)
bytes tokenARateFunctionSig; // Rate function signature for token A oracle
bytes tokenADecimalsFunctionSig; // Decimals function signature for token A oracle
TokenType tokenBType; // Type of token B
address tokenBOracle; // Oracle address for token B (if Oracle type)
bytes tokenBRateFunctionSig; // Rate function signature for token B oracle
bytes tokenBDecimalsFunctionSig; // Decimals function signature for token B oracle
}
Default Parameter Management
setGovernor
Sets the default governor address for newly deployed pools.
function setGovernor(address _governor) external;
Parameters
_governor
address
The new governor address
Access: only Owner
setMintFee
Sets the default mint fee for newly deployed pools.
function setMintFee(uint256 _mintFee) external;
Parameters
_mintFee
uint256
The new default mint fee value. Uses 10 decimal precision (denominator = 10^10). Examples: 1e6 = 0.01%, 1e7 = 0.1%, 1e8 = 1%
Access: only Owner
setSwapFee
Sets the default swap fee for newly deployed pools.
function setSwapFee(uint256 _swapFee) external;
Parameters
_swapFee
uint256
The new default swap fee value. Uses 10 decimal precision (denominator = 10^10). Examples: 1e6 = 0.01%, 1e7 = 0.1%, 1e8 = 1%
Access: Owner only
setRedeemFee
Sets the default redeem fee for newly deployed pools.
function setRedeemFee(uint256 _redeemFee) external;
Parameters
_redeemFee
uint256
The new default redeem fee value. Uses 10 decimal precision (denominator = 10^10). Examples: 1e6 = 0.01%, 1e7 = 0.1%, 1e8 = 1%
Access: Owner only
setOffPegFeeMultiplier
Sets the default off-peg fee multiplier for newly deployed pools.
function setOffPegFeeMultiplier(uint256 _offPegFeeMultiplier) external;
Parameters
_offPegFeeMultiplier
uint256
The new default off-peg fee multiplier value
Access: only Owner
setA
Sets the default amplification coefficient for newly deployed pools.
function setA(uint256 _A) external;
Parameters
_A
uint256
The new default A parameter value
Access: only Owner
setMinRampTime
Sets the default minimum ramp time for newly deployed pools.
function setMinRampTime(uint256 _minRampTime) external;
Parameters
_minRampTime
uint256
The new default minimum ramp time in seconds
Access: only Owner
setExchangeRateFeeFactor
Sets the default exchange rate fee factor for newly deployed pools.
function setExchangeRateFeeFactor(uint256 _exchangeRateFeeFactor) external;
Parameters
_exchangeRateFeeFactor
uint256
The new default exchange rate fee factor value
Access: only Owner
setBufferPercent
Sets the default buffer percentage for newly deployed pools.
function setBufferPercent(uint256 _bufferPercent) external;
Parameters
_bufferPercent
uint256
The new default buffer percentage value
Access: only Owner
Contract Management
upgradeTo
Upgrades the factory contract implementation.
function upgradeTo(address newImplementation) external;
Parameters
newImplementation
address
The new factory implementation address
Access: only Owner
setKeeperImplementation
function setKeeperImplementation(address _keeperImplementation) external;
Parameters
_keeperImplementation
address
The new keeper implementation contract address
Access: only Owner
Last updated