mirror of
https://github.com/Instadapp/fluid-contracts-public.git
synced 2024-07-29 21:57:37 +00:00
211 lines
78 KiB
JSON
211 lines
78 KiB
JSON
|
{
|
||
|
"address": "0x324E8d488EAae9b1A932E540EA7B2bCa77a6a170",
|
||
|
"abi": [
|
||
|
{
|
||
|
"inputs": [],
|
||
|
"name": "FUSDC",
|
||
|
"outputs": [
|
||
|
{
|
||
|
"internalType": "contract IFToken",
|
||
|
"name": "",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "view",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [],
|
||
|
"name": "FUSDC_STAKING",
|
||
|
"outputs": [
|
||
|
{
|
||
|
"internalType": "contract IFluidLendingStakingRewards",
|
||
|
"name": "",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "view",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [],
|
||
|
"name": "FUSDT",
|
||
|
"outputs": [
|
||
|
{
|
||
|
"internalType": "contract IFToken",
|
||
|
"name": "",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "view",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [],
|
||
|
"name": "FUSDT_STAKING",
|
||
|
"outputs": [
|
||
|
{
|
||
|
"internalType": "contract IFluidLendingStakingRewards",
|
||
|
"name": "",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "view",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "address[]",
|
||
|
"name": "users_",
|
||
|
"type": "address[]"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "contract IFToken",
|
||
|
"name": "fToken_",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "contract IFluidLendingStakingRewards",
|
||
|
"name": "stakingContract_",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"name": "getUsersPosition",
|
||
|
"outputs": [
|
||
|
{
|
||
|
"components": [
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "user",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "shares",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "normalShares",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "stakeShares",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"internalType": "struct FluidStakingMerkleResolver.UserPosition[]",
|
||
|
"name": "positions_",
|
||
|
"type": "tuple[]"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "view",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "address[]",
|
||
|
"name": "users_",
|
||
|
"type": "address[]"
|
||
|
}
|
||
|
],
|
||
|
"name": "getUsersPositionFUSDC",
|
||
|
"outputs": [
|
||
|
{
|
||
|
"components": [
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "user",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "shares",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "normalShares",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "stakeShares",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"internalType": "struct FluidStakingMerkleResolver.UserPosition[]",
|
||
|
"name": "positions_",
|
||
|
"type": "tuple[]"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "view",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "address[]",
|
||
|
"name": "users_",
|
||
|
"type": "address[]"
|
||
|
}
|
||
|
],
|
||
|
"name": "getUsersPositionFUSDT",
|
||
|
"outputs": [
|
||
|
{
|
||
|
"components": [
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "user",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "shares",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "normalShares",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "stakeShares",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"internalType": "struct FluidStakingMerkleResolver.UserPosition[]",
|
||
|
"name": "positions_",
|
||
|
"type": "tuple[]"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "view",
|
||
|
"type": "function"
|
||
|
}
|
||
|
],
|
||
|
"args": [],
|
||
|
"numDeployments": 2,
|
||
|
"solcInputHash": "98f8e49e6b0ff74dde4176f150c6c4e8",
|
||
|
"metadata": "{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"FUSDC\",\"outputs\":[{\"internalType\":\"contract IFToken\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FUSDC_STAKING\",\"outputs\":[{\"internalType\":\"contract IFluidLendingStakingRewards\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FUSDT\",\"outputs\":[{\"internalType\":\"contract IFToken\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FUSDT_STAKING\",\"outputs\":[{\"internalType\":\"contract IFluidLendingStakingRewards\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"users_\",\"type\":\"address[]\"},{\"internalType\":\"contract IFToken\",\"name\":\"fToken_\",\"type\":\"address\"},{\"internalType\":\"contract IFluidLendingStakingRewards\",\"name\":\"stakingContract_\",\"type\":\"address\"}],\"name\":\"getUsersPosition\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"normalShares\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stakeShares\",\"type\":\"uint256\"}],\"internalType\":\"struct FluidStakingMerkleResolver.UserPosition[]\",\"name\":\"positions_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"users_\",\"type\":\"address[]\"}],\"name\":\"getUsersPositionFUSDC\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"normalShares\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stakeShares\",\"type\":\"uint256\"}],\"internalType\":\"struct FluidStakingMerkleResolver.UserPosition[]\",\"name\":\"positions_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"users_\",\"type\":\"address[]\"}],\"name\":\"getUsersPositionFUSDT\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"normalShares\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stakeShares\",\"type\":\"uint256\"}],\"internalType\":\"struct FluidStakingMerkleResolver.UserPosition[]\",\"name\":\"positions_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Fluid Lending protocol Merkle Staking Rewards resolver\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/periphery/resolvers/stakingMerkle/main.sol\":\"FluidStakingMerkleResolver\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/IERC4626.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts (last updated v4.8.0) (interfaces/IERC4626.sol)\\n\\npragma solidity ^0.8.0;\\n\\nimport \\\"../token/ERC20/IERC20.sol\\\";\\nimport \\\"../token/ERC20/extensions/IERC20Metadata.sol\\\";\\n\\n/**\\n * @dev Interface of the ERC4626 \\\"Tokenized Vault Standard\\\", as defined in\\n * https://eips.ethereum.org/EIPS/eip-4626[ERC-4626].\\n *\\n * _Available since v4.7._\\n */\\ninterface IERC4626 is IERC20, IERC20Metadata {\\n event Deposit(address indexed sender, address indexed owner, uint256 assets, uint256 shares);\\n\\n
|
||
|
"bytecode": "0x608060405234801561001057600080fd5b506107fa806100206000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063985410fd1161005b578063985410fd14610102578063a2a4cdb01461011d578063d608e20f14610138578063fcbdded11461014b57600080fd5b806323c358341461008257806352679591146100c75780637b3d134f146100e2575b600080fd5b61009d735c20b550819128074fd538edf79791733ccedd1881565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61009d732fa6c95b69c10f9f52b8990b6c03171f13c4622581565b6100f56100f036600461058b565b61015e565b6040516100be91906105f3565b61009d73490681095ed277b45377d28ca15ac41d6458304881565b61009d739fb7b4477576fe5b32be4c1843afb1e55f251b3381565b6100f561014636600461066d565b6104a5565b6100f561015936600461066d565b6104e4565b60608367ffffffffffffffff811115610179576101796106af565b6040519080825280602002602001820160405280156101eb57816020015b6101d86040518060800160405280600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081525090565b8152602001906001900390816101975790505b50905060005b8481101561049c5785858281811061020b5761020b6106de565b9050602002016020810190610220919061070d565b828281518110610232576102326106de565b602090810291909101015173ffffffffffffffffffffffffffffffffffffffff918216905284166370a08231878784818110610270576102706106de565b9050602002016020810190610285919061070d565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401602060405180830381865afa1580156102ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103129190610731565b828281518110610324576103246106de565b602002602001015160400181815250508273ffffffffffffffffffffffffffffffffffffffff166370a08231878784818110610362576103626106de565b9050602002016020810190610377919061070d565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401602060405180830381865afa1580156103e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104049190610731565b828281518110610416576104166106de565b60200260200101516060018181525050818181518110610438576104386106de565b602002602001015160600151828281518110610456576104566106de565b60200260200101516040015161046c9190610779565b82828151811061047e5761047e6106de565b60209081029190910181015101526104958161078c565b90506101f1565b50949350505050565b60606104db8383739fb7b4477576fe5b32be4c1843afb1e55f251b33732fa6c95b69c10f9f52b8990b6c03171f13c4622561015e565b90505b92915050565b60606104db8383735c20b550819128074fd538edf79791733ccedd1873490681095ed277b45377d28ca15ac41d6458304861015e565b60008083601f84011261052c57600080fd5b50813567ffffffffffffffff81111561054457600080fd5b6020830191508360208260051b850101111561055f57600080fd5b9250929050565b73ffffffffffffffffffffffffffffffffffffffff8116811461058857600080fd5b50565b600080600080606085870312156105a157600080fd5b843567ffffffffffffffff8111156105b857600080fd5b6105c48782880161051a565b90955093505060208501356105d881610566565b915060408501356105e881610566565b939692955090935050565b602080825282518282018190526000919060409081850190868401855b82811015610660578151805173ffffffffffffffffffffffffffffffffffffffff168552868101518786015285810151868601526060908101519085015260809093019290850190600101610610565b5091979650505050505050565b6000806020838503121561068057600080fd5b823567ffffffffffffffff81111561069757600080fd5b6106a38582860161051a565b90969095509350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006020828403121561071f57600080fd5b813561072a81610566565b9392505050565b60006020828403121561074357600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156104de576104de61074a565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036107bd576107bd61074a565b506001019056fea264697066735822122030c8e36c15ec8b8f
|
||
|
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063985410fd1161005b578063985410fd14610102578063a2a4cdb01461011d578063d608e20f14610138578063fcbdded11461014b57600080fd5b806323c358341461008257806352679591146100c75780637b3d134f146100e2575b600080fd5b61009d735c20b550819128074fd538edf79791733ccedd1881565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61009d732fa6c95b69c10f9f52b8990b6c03171f13c4622581565b6100f56100f036600461058b565b61015e565b6040516100be91906105f3565b61009d73490681095ed277b45377d28ca15ac41d6458304881565b61009d739fb7b4477576fe5b32be4c1843afb1e55f251b3381565b6100f561014636600461066d565b6104a5565b6100f561015936600461066d565b6104e4565b60608367ffffffffffffffff811115610179576101796106af565b6040519080825280602002602001820160405280156101eb57816020015b6101d86040518060800160405280600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081525090565b8152602001906001900390816101975790505b50905060005b8481101561049c5785858281811061020b5761020b6106de565b9050602002016020810190610220919061070d565b828281518110610232576102326106de565b602090810291909101015173ffffffffffffffffffffffffffffffffffffffff918216905284166370a08231878784818110610270576102706106de565b9050602002016020810190610285919061070d565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401602060405180830381865afa1580156102ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103129190610731565b828281518110610324576103246106de565b602002602001015160400181815250508273ffffffffffffffffffffffffffffffffffffffff166370a08231878784818110610362576103626106de565b9050602002016020810190610377919061070d565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401602060405180830381865afa1580156103e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104049190610731565b828281518110610416576104166106de565b60200260200101516060018181525050818181518110610438576104386106de565b602002602001015160600151828281518110610456576104566106de565b60200260200101516040015161046c9190610779565b82828151811061047e5761047e6106de565b60209081029190910181015101526104958161078c565b90506101f1565b50949350505050565b60606104db8383739fb7b4477576fe5b32be4c1843afb1e55f251b33732fa6c95b69c10f9f52b8990b6c03171f13c4622561015e565b90505b92915050565b60606104db8383735c20b550819128074fd538edf79791733ccedd1873490681095ed277b45377d28ca15ac41d6458304861015e565b60008083601f84011261052c57600080fd5b50813567ffffffffffffffff81111561054457600080fd5b6020830191508360208260051b850101111561055f57600080fd5b9250929050565b73ffffffffffffffffffffffffffffffffffffffff8116811461058857600080fd5b50565b600080600080606085870312156105a157600080fd5b843567ffffffffffffffff8111156105b857600080fd5b6105c48782880161051a565b90955093505060208501356105d881610566565b915060408501356105e881610566565b939692955090935050565b602080825282518282018190526000919060409081850190868401855b82811015610660578151805173ffffffffffffffffffffffffffffffffffffffff168552868101518786015285810151868601526060908101519085015260809093019290850190600101610610565b5091979650505050505050565b6000806020838503121561068057600080fd5b823567ffffffffffffffff81111561069757600080fd5b6106a38582860161051a565b90969095509350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006020828403121561071f57600080fd5b813561072a81610566565b9392505050565b60006020828403121561074357600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156104de576104de61074a565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036107bd576107bd61074a565b506001019056fea264697066735822122030c8e36c15ec8b8f376751206cade3ba6f7385c43c6abfc27f9e543118246ded64736f6c
|
||
|
"devdoc": {
|
||
|
"kind": "dev",
|
||
|
"methods": {},
|
||
|
"version": 1
|
||
|
},
|
||
|
"userdoc": {
|
||
|
"kind": "user",
|
||
|
"methods": {},
|
||
|
"notice": "Fluid Lending protocol Merkle Staking Rewards resolver",
|
||
|
"version": 1
|
||
|
},
|
||
|
"storageLayout": {
|
||
|
"storage": [],
|
||
|
"types": null
|
||
|
}
|
||
|
}
|