@mean-finance/dca-v2-periphery
Version:
💱 Periphery smart contracts of DCA V2 by mean.finance
411 lines (410 loc) • 10.4 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "IDCAFeeManager",
"sourceName": "contracts/interfaces/IDCAFeeManager.sol",
"abi": [
{
"inputs": [],
"name": "MAX_TOKEN_TOTAL_SHARE",
"outputs": [
{
"internalType": "uint16",
"name": "",
"type": "uint16"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "SWAP_INTERVAL",
"outputs": [
{
"internalType": "uint32",
"name": "",
"type": "uint32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IDCAHub",
"name": "hub",
"type": "address"
},
{
"internalType": "address[]",
"name": "tokens",
"type": "address[]"
}
],
"name": "availableBalances",
"outputs": [
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "platformBalance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "feeManagerBalance",
"type": "uint256"
},
{
"components": [
{
"internalType": "uint256",
"name": "positionId",
"type": "uint256"
},
{
"internalType": "contract IERC20Metadata",
"name": "from",
"type": "address"
},
{
"internalType": "contract IERC20Metadata",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "swapped",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "remaining",
"type": "uint256"
}
],
"internalType": "struct IDCAFeeManager.PositionBalance[]",
"name": "positions",
"type": "tuple[]"
}
],
"internalType": "struct IDCAFeeManager.AvailableBalance[]",
"name": "",
"type": "tuple[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IDCAHub",
"name": "hub",
"type": "address"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint32",
"name": "amountOfSwaps",
"type": "uint32"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"internalType": "struct IDCAFeeManager.AmountToFill[]",
"name": "amounts",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint16",
"name": "shares",
"type": "uint16"
}
],
"internalType": "struct IDCAFeeManager.TargetTokenShare[]",
"name": "distribution",
"type": "tuple[]"
}
],
"name": "fillPositions",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "pairKey",
"type": "bytes32"
}
],
"name": "positions",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "contract IERC20[]",
"name": "tokens",
"type": "address[]"
}
],
"internalType": "struct ISwapAdapter.RevokeAction[]",
"name": "revokeActions",
"type": "tuple[]"
}
],
"name": "revokeAllowances",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"components": [
{
"internalType": "contract IERC20",
"name": "token",
"type": "address"
},
{
"internalType": "address",
"name": "allowanceTarget",
"type": "address"
},
{
"internalType": "uint256",
"name": "minAllowance",
"type": "uint256"
}
],
"internalType": "struct Allowance[]",
"name": "allowanceTargets",
"type": "tuple[]"
},
{
"internalType": "address[]",
"name": "swappers",
"type": "address[]"
},
{
"internalType": "bytes[]",
"name": "swaps",
"type": "bytes[]"
},
{
"components": [
{
"internalType": "uint8",
"name": "swapperIndex",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"internalType": "struct SwapContext[]",
"name": "swapContext",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "address",
"name": "recipient",
"type": "address"
}
],
"internalType": "struct TransferOutBalance[]",
"name": "transferOutBalance",
"type": "tuple[]"
}
],
"internalType": "struct IDCAFeeManager.RunSwapsAndTransferManyParams",
"name": "parameters",
"type": "tuple"
}
],
"name": "runSwapsAndTransferMany",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IDCAHub",
"name": "hub",
"type": "address"
},
{
"internalType": "uint256[]",
"name": "positionIds",
"type": "uint256[]"
},
{
"internalType": "address",
"name": "recipient",
"type": "address"
}
],
"name": "terminatePositions",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"internalType": "struct IDCAHub.AmountOfToken[]",
"name": "amountToWithdraw",
"type": "tuple[]"
},
{
"internalType": "address",
"name": "recipient",
"type": "address"
}
],
"name": "withdrawFromBalance",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IDCAHub",
"name": "hub",
"type": "address"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"internalType": "struct IDCAHub.AmountOfToken[]",
"name": "amountToWithdraw",
"type": "tuple[]"
},
{
"internalType": "address",
"name": "recipient",
"type": "address"
}
],
"name": "withdrawFromPlatformBalance",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IDCAHub",
"name": "hub",
"type": "address"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256[]",
"name": "positionIds",
"type": "uint256[]"
}
],
"internalType": "struct IDCAHubPositionHandler.PositionSet[]",
"name": "positionSets",
"type": "tuple[]"
},
{
"internalType": "address",
"name": "recipient",
"type": "address"
}
],
"name": "withdrawFromPositions",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x",
"deployedBytecode": "0x",
"linkReferences": {},
"deployedLinkReferences": {}
}