The BalancerLBPSwapper may not have enough Tribe tokens
Whenever the `swap` function is called, it should re-initialize the Balancer pool that requires adding liquidity: 99% Fei and 1% Tribe. So the Tribe should initially be in the contract.\\n```\\nfunction \\_getTokensIn(uint256 spentTokenBalance) internal view returns(uint256[] memory amountsIn) {\\n    amountsIn = new uint256[](2);\\n\\n    uint256 receivedTokenBalance = readOracle().mul(spentTokenBalance).mul(ONE\\_PERCENT).div(NINETY\\_NINE\\_PERCENT).asUint256();\\n\\n    if (address(assets[0]) == tokenSpent) {\\n        amountsIn[0] = spentTokenBalance;\\n        amountsIn[1] = receivedTokenBalance;\\n    } else {\\n        amountsIn[0] = receivedTokenBalance;\\n        amountsIn[1] = spentTokenBalance;\\n    }\\n}\\n```\\n\\nAdditionally, when the `swap` is called, and there is not enough FEI to re-initiate the Balancer auction, all the Tribe gets withdrawn. So the next time the `swap` is called, there is no Tribe in the contract again.\\n```\\n// 5. Send remaining tokenReceived to target\\nIERC20(tokenReceived).transfer(tokenReceivingAddress, IERC20(tokenReceived).balanceOf(address(this)));\\n```\\n
Create an automated mechanism that mints/transfers Tribe when it is needed in the swapper contract.
```\\nfunction \\_getTokensIn(uint256 spentTokenBalance) internal view returns(uint256[] memory amountsIn) {\\n    amountsIn = new uint256[](2);\\n\\n    uint256 receivedTokenBalance = readOracle().mul(spentTokenBalance).mul(ONE\\_PERCENT).div(NINETY\\_NINE\\_PERCENT).asUint256();\\n\\n    if (address(assets[0]) == tokenSpent) {\\n        amountsIn[0] = spentTokenBalance;\\n        amountsIn[1] = receivedTokenBalance;\\n    } else {\\n        amountsIn[0] = receivedTokenBalance;\\n        amountsIn[1] = spentTokenBalance;\\n    }\\n}\\n```\\n