mirror of
https://github.com/Instadapp/dsa-polygon-migration.git
synced 2024-07-29 22:27:58 +00:00
Fixed allownace issue on transferAtokens
This commit is contained in:
parent
b3b289bddf
commit
1cc999a995
|
@ -63,6 +63,7 @@ abstract contract Helpers is Stores, DSMath, Variables {
|
||||||
data.token = supplyTokens[i] == maticAddr ? wmaticAddr : supplyTokens[i];
|
data.token = supplyTokens[i] == maticAddr ? wmaticAddr : supplyTokens[i];
|
||||||
(data.atoken, ,) = aaveData.getReserveTokensAddresses(data.token);
|
(data.atoken, ,) = aaveData.getReserveTokensAddresses(data.token);
|
||||||
IERC20 _atokenContract = IERC20(data.atoken);
|
IERC20 _atokenContract = IERC20(data.atoken);
|
||||||
|
IERC20 _tokenContract = IERC20(data.token);
|
||||||
data.atokenBal = _atokenContract.balanceOf(address(this));
|
data.atokenBal = _atokenContract.balanceOf(address(this));
|
||||||
data.supplyAmt = supplyAmts[i];
|
data.supplyAmt = supplyAmts[i];
|
||||||
|
|
||||||
|
@ -73,6 +74,7 @@ abstract contract Helpers is Stores, DSMath, Variables {
|
||||||
if (data.tokenLiq < _reqAmt) {
|
if (data.tokenLiq < _reqAmt) {
|
||||||
data.flashAmt = flashAmts[data.token];
|
data.flashAmt = flashAmts[data.token];
|
||||||
if (data.flashAmt > 0) {
|
if (data.flashAmt > 0) {
|
||||||
|
_tokenContract.approve(address(aave), data.flashAmt);
|
||||||
aave.deposit(data.token, data.flashAmt, address(this), 3288); // TODO: what is our ID on Polygon?
|
aave.deposit(data.token, data.flashAmt, address(this), 3288); // TODO: what is our ID on Polygon?
|
||||||
data.tokenLiq += data.flashAmt;
|
data.tokenLiq += data.flashAmt;
|
||||||
data.isFlash = true;
|
data.isFlash = true;
|
||||||
|
@ -83,6 +85,7 @@ abstract contract Helpers is Stores, DSMath, Variables {
|
||||||
uint splitAmt = _reqAmt/num; // TODO: Check decimal
|
uint splitAmt = _reqAmt/num; // TODO: Check decimal
|
||||||
uint finalSplit = _reqAmt - (splitAmt * (num - 1)); // TODO: to resolve upper decimal error
|
uint finalSplit = _reqAmt - (splitAmt * (num - 1)); // TODO: to resolve upper decimal error
|
||||||
|
|
||||||
|
_tokenContract.approve(address(aave), _reqAmt);
|
||||||
for (uint j = 0; j < num; j++) {
|
for (uint j = 0; j < num; j++) {
|
||||||
if (j < num - 1) {
|
if (j < num - 1) {
|
||||||
aave.borrow(data.token, splitAmt, 2, 3288, address(this));
|
aave.borrow(data.token, splitAmt, 2, 3288, address(this));
|
||||||
|
|
Loading…
Reference in New Issue
Block a user