openPosition
function is used to open a new farming position. This function requires, as input, the FarmingPositionRequest
struct:positionID
that represents the position is generated:uniqueOwner
(owner position) address
. This means that each address can correspond to one and only one position within each setup; a single address cannot have multiple positions in a setup.address
. In this case, the uniqueOwner
is not the msg.sender
, but rather the address
passed in the FarmingPositionRequest
:_addLiquidity
function, which calculates the amount of inserted liquidity (liquidityAmount
). _addLiquidity
function mints the NFT, using the parameters previously passed by the host at the moment of setup creation. See here for more details._addLiquidity
can then call the increaseLiquidity
method of INonfungiblePositionManager
).FarmingPosition
struct for the created position is populated as follow: