Skip to main content

AmmalgamFactory

Git Source

Inherits: IAmmalgamFactory

State Variables

pairBeacon

IBeacon public immutable override pairBeacon;

hookRegistry

IHookRegistry public immutable hookRegistry;

liquidityTokenFactory

ITokenFactory private immutable liquidityTokenFactory;

depositTokenFactory

ITokenFactory private immutable depositTokenFactory;

debtTokenFactory

ITokenFactory private immutable debtTokenFactory;

liquidityDebtTokenFactory

ITokenFactory private immutable liquidityDebtTokenFactory;

saturationAndGeometricTWAPState

ISaturationAndGeometricTWAPState public immutable saturationAndGeometricTWAPState;

config

IFactoryCallback.TokenFactoryConfig private config;

feeTo

address public feeTo;

feeToSetter

address public feeToSetter;

getPair

mapping(address => mapping(address => address)) public getPair;

allPairs

address[] public allPairs;

Functions

onlyFeeToSetter

modifier onlyFeeToSetter();

constructor

constructor(
address _feeToSetter,
IBeacon _pairBeacon,
IHookRegistry _hookRegistry,
ITransparentUpgradeableProxy _saturationProxy,
ITokenFactory _liquidityTokenFactory,
ITokenFactory _depositTokenFactory,
ITokenFactory _borrowTokenFactory,
ITokenFactory _liquidityDebtTokenFactory
);

allPairsLength

function allPairsLength() external view returns (uint256);

createPair

function createPair(address tokenA, address tokenB) external returns (address pair);

getConfig

function getConfig() private view returns (IFactoryCallback.TokenFactoryConfig memory);

generateTokensWithinFactory

function generateTokensWithinFactory() external returns (IERC20, IERC20, IAmmalgamERC20[6] memory);

createAllTokens

function createAllTokens(
address pair,
address tokenX,
address tokenY
) private returns (IAmmalgamERC20[6] memory tokens);

setFeeTo

function setFeeTo(
address newFeeTo
) external onlyFeeToSetter;

setFeeToSetter

function setFeeToSetter(
address newFeeToSetter
) external onlyFeeToSetter;

createPairFromSalt

function createPairFromSalt(
bytes32 salt
) private returns (address pair);

createToken

function createToken(
address tokenFactory,
address asset,
ERC20BaseConfig memory _config
) private returns (IAmmalgamERC20);

Events

NewFeeTo

event NewFeeTo(address indexed feeTo);

NewFeeToSetter

event NewFeeToSetter(address indexed feeToSetter);

Errors

IdenticalAddresses

error IdenticalAddresses();

ZeroAddress

error ZeroAddress();

FeeToIsZeroAddress

error FeeToIsZeroAddress();

FeeToSetterIsZeroAddress

error FeeToSetterIsZeroAddress();

PairExists

error PairExists();

BytecodeLengthZero

error BytecodeLengthZero();

NewSatProxyIsZeroAddress

error NewSatProxyIsZeroAddress();

FailedOnDeploy

error FailedOnDeploy();

Forbidden

error Forbidden();

NewTokensFailed

error NewTokensFailed();

ERC20TokenFactoryFailed

error ERC20TokenFactoryFailed();