7. Deploy Integration Contract (optional)
Guide to deploy an integration contract and connecting it to a vPool
.
You can ask Kiln to deploy an integration contract for you or deploy it yourself.
If you want to deploy it yourself ask Kiln to give the right to deploy using the IntegrationFactory
and give us the address you want as deployer
.
Deploying a new integration contract
Kiln or your can deploy an Integration contract using a deployer
account on the IntegrationFactory:
These function use the following structs:
Let's go through all of them one by one:
Common parameters :
name
: An ERC-20 style display name of the token.symbol
: an ERC-20 style display symbol of the token.admin
: The address of the admin. This account can change the fees, andcommissionRecipient
as well as add pools and enable/disable them.pools
: List of underlying pools addresses. Those are the pools to which the staked funds will flow to. You must provide at least one pool.poolFees
: List of fee for each pool, in basis points. Must be the same length aspools
. The fee for a single pool must not exceedmaxCommissionBps
.commissionRecipients
: List of addresses to which the accumulated integrator fee will be dispatched.commissionDistribution
: List of the share of the fee eachcommissionRecipient
will receive, in basis points, must add up to 10 000. Must be the the same length ascommissionRecipients
.maxCommissionBps
: A limit on the pool fee given at initialization so the stakers can be sure the fee will never go above a certain level.poolPercentages
: The desired repartitions of ETH between the pools. In basis points, must add up to 10 000. Must be the same length aspools
. This can be changed by theadmin
.monoTicketThreshold
: A value that modify the behaviour ofrequestExit()
when the contract is connected to multiple pools, when exiting we want to limit the number of tickets minted for gas efficiency but we also want to limit the imbalance caused by not exiting through all the pools using the the configuredpoolPercentages
. If a user requests the exit of an ETH amount belowmonoTicketThreshold
the code will try to exit through only one pool if possible thus minting only one ticket hence the namemonoTicketThreshold
. This value can be changed later on by theadmin
as the TVL grows and the pools can support bigger exit without significant imbalance.
Allow the integration contract to deposit to the pool
If you are using Kiln's pool ask us to allow your contract to deposit to our pool.
If you manage your pool, allow your integration contract to deposit on the vPool
by calling this function :
Last updated