@mantleio/contracts
Version:
[Mantle] L1 and L2 smart contracts for Mantle
652 lines (651 loc) • 15.7 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "DelegationManagerStorage",
"sourceName": "contracts/L1/delegation/DelegationManagerStorage.sol",
"abi": [
{
"inputs": [],
"name": "DEPOSIT_TYPEHASH",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "DOMAIN_SEPARATOR",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "DOMAIN_TYPEHASH",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "REASONABLE_STAKES_UPDATE_PERIOD",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "WITHDRAWAL_WAITING_PERIOD",
"outputs": [
{
"internalType": "uint32",
"name": "",
"type": "uint32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "contract IDelegationShare[]",
"name": "delegations",
"type": "address[]"
},
{
"internalType": "contract IERC20[]",
"name": "tokens",
"type": "address[]"
},
{
"internalType": "uint256[]",
"name": "shares",
"type": "uint256[]"
},
{
"internalType": "address",
"name": "depositor",
"type": "address"
},
{
"components": [
{
"internalType": "address",
"name": "withdrawer",
"type": "address"
},
{
"internalType": "uint96",
"name": "nonce",
"type": "uint96"
}
],
"internalType": "struct IDelegationManager.WithdrawerAndNonce",
"name": "withdrawerAndNonce",
"type": "tuple"
},
{
"internalType": "address",
"name": "delegatedAddress",
"type": "address"
}
],
"internalType": "struct IDelegationManager.QueuedWithdrawal",
"name": "queuedWithdrawal",
"type": "tuple"
}
],
"name": "calculateWithdrawalRoot",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "contract IDelegationShare[]",
"name": "delegations",
"type": "address[]"
},
{
"internalType": "contract IERC20[]",
"name": "tokens",
"type": "address[]"
},
{
"internalType": "uint256[]",
"name": "shares",
"type": "uint256[]"
},
{
"internalType": "address",
"name": "depositor",
"type": "address"
},
{
"components": [
{
"internalType": "address",
"name": "withdrawer",
"type": "address"
},
{
"internalType": "uint96",
"name": "nonce",
"type": "uint96"
}
],
"internalType": "struct IDelegationManager.WithdrawerAndNonce",
"name": "withdrawerAndNonce",
"type": "tuple"
},
{
"internalType": "address",
"name": "delegatedAddress",
"type": "address"
}
],
"internalType": "struct IDelegationManager.QueuedWithdrawal",
"name": "queuedWithdrawal",
"type": "tuple"
}
],
"name": "canCompleteQueuedWithdrawal",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "contract IDelegationShare[]",
"name": "delegations",
"type": "address[]"
},
{
"internalType": "contract IERC20[]",
"name": "tokens",
"type": "address[]"
},
{
"internalType": "uint256[]",
"name": "shares",
"type": "uint256[]"
},
{
"internalType": "address",
"name": "depositor",
"type": "address"
},
{
"components": [
{
"internalType": "address",
"name": "withdrawer",
"type": "address"
},
{
"internalType": "uint96",
"name": "nonce",
"type": "uint96"
}
],
"internalType": "struct IDelegationManager.WithdrawerAndNonce",
"name": "withdrawerAndNonce",
"type": "tuple"
},
{
"internalType": "address",
"name": "delegatedAddress",
"type": "address"
}
],
"internalType": "struct IDelegationManager.QueuedWithdrawal",
"name": "queuedWithdrawal",
"type": "tuple"
},
{
"internalType": "bool",
"name": "receiveAsTokens",
"type": "bool"
}
],
"name": "completeQueuedWithdrawal",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "delegation",
"outputs": [
{
"internalType": "contract IDelegation",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "delegationSlasher",
"outputs": [
{
"internalType": "contract IDelegationSlasher",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IDelegationShare",
"name": "delegationShare",
"type": "address"
},
{
"internalType": "contract IERC20",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "depositInto",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "depositor",
"type": "address"
}
],
"name": "getDeposits",
"outputs": [
{
"internalType": "contract IDelegationShare[]",
"name": "",
"type": "address[]"
},
{
"internalType": "uint256[]",
"name": "",
"type": "uint256[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "staker",
"type": "address"
}
],
"name": "investorDelegationLength",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
},
{
"internalType": "contract IDelegationShare",
"name": "",
"type": "address"
}
],
"name": "investorDelegationShares",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
},
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "investorDelegations",
"outputs": [
{
"internalType": "contract IDelegationShare",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "nonces",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "numWithdrawalsQueued",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256[]",
"name": "delegationShareIndexes",
"type": "uint256[]"
},
{
"internalType": "contract IDelegationShare[]",
"name": "delegationShares",
"type": "address[]"
},
{
"internalType": "contract IERC20[]",
"name": "tokens",
"type": "address[]"
},
{
"internalType": "uint256[]",
"name": "shareAmounts",
"type": "uint256[]"
},
{
"components": [
{
"internalType": "address",
"name": "withdrawer",
"type": "address"
},
{
"internalType": "uint96",
"name": "nonce",
"type": "uint96"
}
],
"internalType": "struct IDelegationManager.WithdrawerAndNonce",
"name": "withdrawerAndNonce",
"type": "tuple"
},
{
"internalType": "bool",
"name": "undelegateIfPossible",
"type": "bool"
}
],
"name": "queueWithdrawal",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "queuedWithdrawals",
"outputs": [
{
"internalType": "uint32",
"name": "initTimestamp",
"type": "uint32"
},
{
"internalType": "uint32",
"name": "unlockTimestamp",
"type": "uint32"
},
{
"internalType": "address",
"name": "withdrawer",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"components": [
{
"internalType": "contract IDelegationShare[]",
"name": "delegations",
"type": "address[]"
},
{
"internalType": "contract IERC20[]",
"name": "tokens",
"type": "address[]"
},
{
"internalType": "uint256[]",
"name": "shares",
"type": "uint256[]"
},
{
"internalType": "address",
"name": "depositor",
"type": "address"
},
{
"components": [
{
"internalType": "address",
"name": "withdrawer",
"type": "address"
},
{
"internalType": "uint96",
"name": "nonce",
"type": "uint96"
}
],
"internalType": "struct IDelegationManager.WithdrawerAndNonce",
"name": "withdrawerAndNonce",
"type": "tuple"
},
{
"internalType": "address",
"name": "delegatedAddress",
"type": "address"
}
],
"internalType": "struct IDelegationManager.QueuedWithdrawal",
"name": "queuedWithdrawal",
"type": "tuple"
}
],
"name": "slashQueuedWithdrawal",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "slashedAddress",
"type": "address"
},
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "contract IDelegationShare[]",
"name": "delegationShares",
"type": "address[]"
},
{
"internalType": "contract IERC20[]",
"name": "tokens",
"type": "address[]"
},
{
"internalType": "uint256[]",
"name": "delegationShareIndexes",
"type": "uint256[]"
},
{
"internalType": "uint256[]",
"name": "shareAmounts",
"type": "uint256[]"
}
],
"name": "slashShares",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "withdrawalRoot",
"type": "bytes32"
},
{
"internalType": "uint32",
"name": "stakeInactiveAfter",
"type": "uint32"
}
],
"name": "startQueuedWithdrawalWaitingPeriod",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x",
"deployedBytecode": "0x",
"linkReferences": {},
"deployedLinkReferences": {}
}