Untitled

mail@pastecode.io avatar
unknown
json
a year ago
14 kB
3
Indexable
Never
[
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "tokenAddress",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "dateStart",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "dateEnd",
          "type": "uint256"
        },
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "duration",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "maxTokensBeStaked",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "availableTokensBeStaked",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "rewardsPool",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "rewardsWithdrawn",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "mycFeesPool",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "maxStakingAmount",
              "type": "uint256"
            },
            {
              "internalType": "bool",
              "name": "isSignatureRequired",
              "type": "bool"
            }
          ],
          "internalType": "struct StakingPlan[]",
          "name": "plans",
          "type": "tuple[]"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "AlreadyRescued",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "AmountCantBeZero",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "DateInFuture",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "DateInPast",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "EndOfStakeNotReached",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "MaxStakingAmountExceed",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "NoSlotsAvailable",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "NoTokensAvailableToStake",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "NothingToWithdraw",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "OnlyFactory",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "StakeAlreadyExists",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "StakeNotFound",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "StakingPeriodNotEnded",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "staker",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "stakingPlanId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "unstakeDate",
          "type": "uint256"
        }
      ],
      "name": "Staked",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "staker",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "stakingPlanId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "unstakeDate",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "nonce",
          "type": "uint256"
        }
      ],
      "name": "StakedWithSignature",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "staker",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "stakingPlanId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "reward",
          "type": "uint256"
        }
      ],
      "name": "Unstaked",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "staker",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "stakingPlanId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "staked",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "withdrawn",
          "type": "uint256"
        }
      ],
      "name": "UnstakedWithPenalty",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "claimUnusedRewards",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "factory",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "planId",
          "type": "uint256"
        }
      ],
      "name": "getPlan",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "duration",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "maxTokensBeStaked",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "availableTokensBeStaked",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "rewardsPool",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "rewardsWithdrawn",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "mycFeesPool",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "maxStakingAmount",
              "type": "uint256"
            },
            {
              "internalType": "bool",
              "name": "isSignatureRequired",
              "type": "bool"
            }
          ],
          "internalType": "struct StakingPlan",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getPlans",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "duration",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "maxTokensBeStaked",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "availableTokensBeStaked",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "rewardsPool",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "rewardsWithdrawn",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "mycFeesPool",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "maxStakingAmount",
              "type": "uint256"
            },
            {
              "internalType": "bool",
              "name": "isSignatureRequired",
              "type": "bool"
            }
          ],
          "internalType": "struct StakingPlan[]",
          "name": "",
          "type": "tuple[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getPlansLength",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "isNonceUsed",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "stakingPlanId",
          "type": "uint256"
        }
      ],
      "name": "stake",
      "outputs": [],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "staker",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "planId",
          "type": "uint256"
        }
      ],
      "name": "stakeInfoOf",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "stakeDate",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "amount",
              "type": "uint256"
            }
          ],
          "internalType": "struct UserStake",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "staker",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "stakingPlanId",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "nonce",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "deadline",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "signature",
          "type": "bytes"
        }
      ],
      "name": "stakeWithSignature",
      "outputs": [],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "staker",
          "type": "address"
        }
      ],
      "name": "stakesInfoOf",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "stakeDate",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "amount",
              "type": "uint256"
            }
          ],
          "internalType": "struct UserStake[]",
          "name": "",
          "type": "tuple[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "stakingPool",
      "outputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "tokenAddress",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "owner",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "dateStart",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "dateEnd",
              "type": "uint256"
            },
            {
              "internalType": "bool",
              "name": "rescued",
              "type": "bool"
            },
            {
              "internalType": "uint256",
              "name": "mycFeesWithdrawn",
              "type": "uint256"
            }
          ],
          "internalType": "struct StakingPool",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "stakingPlanId",
          "type": "uint256"
        }
      ],
      "name": "unstake",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "stakingPlanId",
          "type": "uint256"
        }
      ],
      "name": "unstakeWithPenalty",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "stateMutability": "payable",
      "type": "receive"
    }
  ]