diff --git a/solidity/.openzeppelin/mainnet.json b/solidity/.openzeppelin/mainnet.json index 93150afe8..ee28efa74 100644 --- a/solidity/.openzeppelin/mainnet.json +++ b/solidity/.openzeppelin/mainnet.json @@ -14,6 +14,11 @@ "address": "0x64EA4b84e2BdfD313428b96658260E495a420093", "txHash": "0x0a8cd2034987664518ad1583c484fb43031f73edcd8e5e3d38dafc08de6f6bb1", "kind": "transparent" + }, + { + "address": "0xB8dF0A949aC45ff8f401553A1dcb742Feb38E6D3", + "txHash": "0xb74ab579e8858301eeb9813c870a9cb3d8c1f3ba66715b024d6891e713e17c60", + "kind": "transparent" } ], "impls": { @@ -3324,6 +3329,268 @@ } } } + }, + "3dde92409075bcb001c27423ca3fe84f0652ea92c6bed68a1503040d8a868b85": { + "address": "0xbfD04E3928923aD8C86256B9A8F64eBD01Cf1dAf", + "txHash": "0x84507b61da4a87b104c70a715742b86c3742028867e758ac1a00eac1bc02b46f", + "layout": { + "solcVersion": "0.8.17", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" + }, + { + "label": "_owner", + "offset": 0, + "slot": "51", + "type": "t_address", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94" + }, + { + "label": "isGuardian", + "offset": 0, + "slot": "101", + "type": "t_mapping(t_address,t_bool)", + "contract": "RedemptionWatchtower", + "src": "contracts/bridge/RedemptionWatchtower.sol:62" + }, + { + "label": "isBanned", + "offset": 0, + "slot": "102", + "type": "t_mapping(t_address,t_bool)", + "contract": "RedemptionWatchtower", + "src": "contracts/bridge/RedemptionWatchtower.sol:66" + }, + { + "label": "vetoProposals", + "offset": 0, + "slot": "103", + "type": "t_mapping(t_uint256,t_struct(VetoProposal)34059_storage)", + "contract": "RedemptionWatchtower", + "src": "contracts/bridge/RedemptionWatchtower.sol:74" + }, + { + "label": "objections", + "offset": 0, + "slot": "104", + "type": "t_mapping(t_uint256,t_bool)", + "contract": "RedemptionWatchtower", + "src": "contracts/bridge/RedemptionWatchtower.sol:82" + }, + { + "label": "bridge", + "offset": 0, + "slot": "105", + "type": "t_contract(Bridge)25855", + "contract": "RedemptionWatchtower", + "src": "contracts/bridge/RedemptionWatchtower.sol:84" + }, + { + "label": "watchtowerEnabledAt", + "offset": 20, + "slot": "105", + "type": "t_uint32", + "contract": "RedemptionWatchtower", + "src": "contracts/bridge/RedemptionWatchtower.sol:87" + }, + { + "label": "watchtowerLifetime", + "offset": 24, + "slot": "105", + "type": "t_uint32", + "contract": "RedemptionWatchtower", + "src": "contracts/bridge/RedemptionWatchtower.sol:91" + }, + { + "label": "watchtowerDisabledAt", + "offset": 28, + "slot": "105", + "type": "t_uint32", + "contract": "RedemptionWatchtower", + "src": "contracts/bridge/RedemptionWatchtower.sol:92" + }, + { + "label": "manager", + "offset": 0, + "slot": "106", + "type": "t_address", + "contract": "RedemptionWatchtower", + "src": "contracts/bridge/RedemptionWatchtower.sol:94" + }, + { + "label": "vetoPenaltyFeeDivisor", + "offset": 20, + "slot": "106", + "type": "t_uint64", + "contract": "RedemptionWatchtower", + "src": "contracts/bridge/RedemptionWatchtower.sol:103" + }, + { + "label": "vetoFreezePeriod", + "offset": 28, + "slot": "106", + "type": "t_uint32", + "contract": "RedemptionWatchtower", + "src": "contracts/bridge/RedemptionWatchtower.sol:109" + }, + { + "label": "bank", + "offset": 0, + "slot": "107", + "type": "t_contract(Bank)23538", + "contract": "RedemptionWatchtower", + "src": "contracts/bridge/RedemptionWatchtower.sol:111" + }, + { + "label": "defaultDelay", + "offset": 20, + "slot": "107", + "type": "t_uint32", + "contract": "RedemptionWatchtower", + "src": "contracts/bridge/RedemptionWatchtower.sol:117" + }, + { + "label": "levelOneDelay", + "offset": 24, + "slot": "107", + "type": "t_uint32", + "contract": "RedemptionWatchtower", + "src": "contracts/bridge/RedemptionWatchtower.sol:124" + }, + { + "label": "levelTwoDelay", + "offset": 28, + "slot": "107", + "type": "t_uint32", + "contract": "RedemptionWatchtower", + "src": "contracts/bridge/RedemptionWatchtower.sol:133" + }, + { + "label": "waivedAmountLimit", + "offset": 0, + "slot": "108", + "type": "t_uint64", + "contract": "RedemptionWatchtower", + "src": "contracts/bridge/RedemptionWatchtower.sol:146" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_contract(Bank)23538": { + "label": "contract Bank", + "numberOfBytes": "20" + }, + "t_contract(Bridge)25855": { + "label": "contract Bridge", + "numberOfBytes": "20" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_bool)": { + "label": "mapping(uint256 => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(VetoProposal)34059_storage)": { + "label": "mapping(uint256 => struct RedemptionWatchtower.VetoProposal)", + "numberOfBytes": "32" + }, + "t_struct(VetoProposal)34059_storage": { + "label": "struct RedemptionWatchtower.VetoProposal", + "members": [ + { + "label": "redeemer", + "type": "t_address", + "offset": 0, + "slot": "0" + }, + { + "label": "withdrawableAmount", + "type": "t_uint64", + "offset": 20, + "slot": "0" + }, + { + "label": "finalizedAt", + "type": "t_uint32", + "offset": 28, + "slot": "0" + }, + { + "label": "objectionsCount", + "type": "t_uint8", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint32": { + "label": "uint32", + "numberOfBytes": "4" + }, + "t_uint64": { + "label": "uint64", + "numberOfBytes": "8" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + } + } } } } diff --git a/solidity/deployments/mainnet/RedemptionWatchtower.json b/solidity/deployments/mainnet/RedemptionWatchtower.json new file mode 100644 index 000000000..839aaeb35 --- /dev/null +++ b/solidity/deployments/mainnet/RedemptionWatchtower.json @@ -0,0 +1,819 @@ +{ + "address": "0xB8dF0A949aC45ff8f401553A1dcb742Feb38E6D3", + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "redeemer", + "type": "address" + } + ], + "name": "Banned", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "guardian", + "type": "address" + } + ], + "name": "GuardianAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "guardian", + "type": "address" + } + ], + "name": "GuardianRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "redemptionKey", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "guardian", + "type": "address" + } + ], + "name": "ObjectionRaised", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "redeemer", + "type": "address" + } + ], + "name": "Unbanned", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "redemptionKey", + "type": "uint256" + } + ], + "name": "VetoFinalized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "redemptionKey", + "type": "uint256" + } + ], + "name": "VetoPeriodCheckOmitted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "redemptionKey", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "redeemer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint64", + "name": "amount", + "type": "uint64" + } + ], + "name": "VetoedFundsWithdrawn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint32", + "name": "disabledAt", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "address", + "name": "executor", + "type": "address" + } + ], + "name": "WatchtowerDisabled", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint32", + "name": "enabledAt", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "address", + "name": "manager", + "type": "address" + } + ], + "name": "WatchtowerEnabled", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint32", + "name": "watchtowerLifetime", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint64", + "name": "vetoPenaltyFeeDivisor", + "type": "uint64" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "vetoFreezePeriod", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "defaultDelay", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "levelOneDelay", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "levelTwoDelay", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint64", + "name": "waivedAmountLimit", + "type": "uint64" + } + ], + "name": "WatchtowerParametersUpdated", + "type": "event" + }, + { + "inputs": [], + "name": "REQUIRED_OBJECTIONS_COUNT", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "guardian", + "type": "address" + } + ], + "name": "addGuardian", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "bank", + "outputs": [ + { + "internalType": "contract Bank", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "bridge", + "outputs": [ + { + "internalType": "contract Bridge", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "defaultDelay", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "disableWatchtower", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_manager", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_guardians", + "type": "address[]" + } + ], + "name": "enableWatchtower", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "redemptionKey", + "type": "uint256" + } + ], + "name": "getRedemptionDelay", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract Bridge", + "name": "_bridge", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "isBanned", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "isGuardian", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes20", + "name": "walletPubKeyHash", + "type": "bytes20" + }, + { + "internalType": "bytes", + "name": "redeemerOutputScript", + "type": "bytes" + }, + { + "internalType": "address", + "name": "balanceOwner", + "type": "address" + }, + { + "internalType": "address", + "name": "redeemer", + "type": "address" + } + ], + "name": "isSafeRedemption", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "levelOneDelay", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "levelTwoDelay", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "manager", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "objections", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes20", + "name": "walletPubKeyHash", + "type": "bytes20" + }, + { + "internalType": "bytes", + "name": "redeemerOutputScript", + "type": "bytes" + } + ], + "name": "raiseObjection", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "guardian", + "type": "address" + } + ], + "name": "removeGuardian", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "redeemer", + "type": "address" + } + ], + "name": "unban", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_watchtowerLifetime", + "type": "uint32" + }, + { + "internalType": "uint64", + "name": "_vetoPenaltyFeeDivisor", + "type": "uint64" + }, + { + "internalType": "uint32", + "name": "_vetoFreezePeriod", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_defaultDelay", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_levelOneDelay", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_levelTwoDelay", + "type": "uint32" + }, + { + "internalType": "uint64", + "name": "_waivedAmountLimit", + "type": "uint64" + } + ], + "name": "updateWatchtowerParameters", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "vetoFreezePeriod", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "vetoPenaltyFeeDivisor", + "outputs": [ + { + "internalType": "uint64", + "name": "", + "type": "uint64" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "vetoProposals", + "outputs": [ + { + "internalType": "address", + "name": "redeemer", + "type": "address" + }, + { + "internalType": "uint64", + "name": "withdrawableAmount", + "type": "uint64" + }, + { + "internalType": "uint32", + "name": "finalizedAt", + "type": "uint32" + }, + { + "internalType": "uint8", + "name": "objectionsCount", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "waivedAmountLimit", + "outputs": [ + { + "internalType": "uint64", + "name": "", + "type": "uint64" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "watchtowerDisabledAt", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "watchtowerEnabledAt", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "watchtowerLifetime", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "redemptionKey", + "type": "uint256" + } + ], + "name": "withdrawVetoedFunds", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "transactionHash": "0xb74ab579e8858301eeb9813c870a9cb3d8c1f3ba66715b024d6891e713e17c60", + "receipt": { + "to": null, + "from": "0x123694886DBf5Ac94DDA07135349534536D14cAf", + "contractAddress": "0xB8dF0A949aC45ff8f401553A1dcb742Feb38E6D3", + "transactionIndex": 118, + "gasUsed": "725847", + "logsBloom": "0x00000000000000000000000000000000400000000000000000800001000000000000000000000000000000000000000000000000000000000000000000000400000000400000000000000000000002000001000000000000000000000000000000000000020000000000000000000800000000800000000000000000000000400800000000000000000000000000000000000000000080000000000000800000000001000000000000000000000400000000000000000000000000000000000000000020000000000002000000440000000000000400000000010000000020000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x2595a886ea3951e6f0fa83caabf6f5abb8f6486c6816384f4e40444d945c04f1", + "transactionHash": "0xb74ab579e8858301eeb9813c870a9cb3d8c1f3ba66715b024d6891e713e17c60", + "logs": [ + { + "transactionIndex": 118, + "blockNumber": 19413942, + "transactionHash": "0xb74ab579e8858301eeb9813c870a9cb3d8c1f3ba66715b024d6891e713e17c60", + "address": "0xB8dF0A949aC45ff8f401553A1dcb742Feb38E6D3", + "topics": [ + "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", + "0x000000000000000000000000bfd04e3928923ad8c86256b9a8f64ebd01cf1daf" + ], + "data": "0x", + "logIndex": 264, + "blockHash": "0x2595a886ea3951e6f0fa83caabf6f5abb8f6486c6816384f4e40444d945c04f1" + }, + { + "transactionIndex": 118, + "blockNumber": 19413942, + "transactionHash": "0xb74ab579e8858301eeb9813c870a9cb3d8c1f3ba66715b024d6891e713e17c60", + "address": "0xB8dF0A949aC45ff8f401553A1dcb742Feb38E6D3", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000123694886dbf5ac94dda07135349534536d14caf" + ], + "data": "0x", + "logIndex": 265, + "blockHash": "0x2595a886ea3951e6f0fa83caabf6f5abb8f6486c6816384f4e40444d945c04f1" + }, + { + "transactionIndex": 118, + "blockNumber": 19413942, + "transactionHash": "0xb74ab579e8858301eeb9813c870a9cb3d8c1f3ba66715b024d6891e713e17c60", + "address": "0xB8dF0A949aC45ff8f401553A1dcb742Feb38E6D3", + "topics": [ + "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "logIndex": 266, + "blockHash": "0x2595a886ea3951e6f0fa83caabf6f5abb8f6486c6816384f4e40444d945c04f1" + }, + { + "transactionIndex": 118, + "blockNumber": 19413942, + "transactionHash": "0xb74ab579e8858301eeb9813c870a9cb3d8c1f3ba66715b024d6891e713e17c60", + "address": "0xB8dF0A949aC45ff8f401553A1dcb742Feb38E6D3", + "topics": [ + "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016a76d3cd3c1e3ce843c6680d6b37e9116b5c706", + "logIndex": 267, + "blockHash": "0x2595a886ea3951e6f0fa83caabf6f5abb8f6486c6816384f4e40444d945c04f1" + } + ], + "blockNumber": 19413942, + "cumulativeGasUsed": "10065161", + "status": 1, + "byzantium": true + }, + "numDeployments": 1, + "implementation": "0xbfD04E3928923aD8C86256B9A8F64eBD01Cf1dAf", + "devdoc": "Contract deployed as upgradable proxy" +} \ No newline at end of file diff --git a/solidity/export.json b/solidity/export.json index 8825bbc41..1fb1ec6af 100644 --- a/solidity/export.json +++ b/solidity/export.json @@ -15163,6 +15163,754 @@ "type": "function" } ] + }, + "RedemptionWatchtower": { + "address": "0xB8dF0A949aC45ff8f401553A1dcb742Feb38E6D3", + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "redeemer", + "type": "address" + } + ], + "name": "Banned", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "guardian", + "type": "address" + } + ], + "name": "GuardianAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "guardian", + "type": "address" + } + ], + "name": "GuardianRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "redemptionKey", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "guardian", + "type": "address" + } + ], + "name": "ObjectionRaised", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "redeemer", + "type": "address" + } + ], + "name": "Unbanned", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "redemptionKey", + "type": "uint256" + } + ], + "name": "VetoFinalized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "redemptionKey", + "type": "uint256" + } + ], + "name": "VetoPeriodCheckOmitted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "redemptionKey", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "redeemer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint64", + "name": "amount", + "type": "uint64" + } + ], + "name": "VetoedFundsWithdrawn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint32", + "name": "disabledAt", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "address", + "name": "executor", + "type": "address" + } + ], + "name": "WatchtowerDisabled", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint32", + "name": "enabledAt", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "address", + "name": "manager", + "type": "address" + } + ], + "name": "WatchtowerEnabled", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint32", + "name": "watchtowerLifetime", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint64", + "name": "vetoPenaltyFeeDivisor", + "type": "uint64" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "vetoFreezePeriod", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "defaultDelay", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "levelOneDelay", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "levelTwoDelay", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint64", + "name": "waivedAmountLimit", + "type": "uint64" + } + ], + "name": "WatchtowerParametersUpdated", + "type": "event" + }, + { + "inputs": [], + "name": "REQUIRED_OBJECTIONS_COUNT", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "guardian", + "type": "address" + } + ], + "name": "addGuardian", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "bank", + "outputs": [ + { + "internalType": "contract Bank", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "bridge", + "outputs": [ + { + "internalType": "contract Bridge", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "defaultDelay", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "disableWatchtower", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_manager", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_guardians", + "type": "address[]" + } + ], + "name": "enableWatchtower", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "redemptionKey", + "type": "uint256" + } + ], + "name": "getRedemptionDelay", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract Bridge", + "name": "_bridge", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "isBanned", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "isGuardian", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes20", + "name": "walletPubKeyHash", + "type": "bytes20" + }, + { + "internalType": "bytes", + "name": "redeemerOutputScript", + "type": "bytes" + }, + { + "internalType": "address", + "name": "balanceOwner", + "type": "address" + }, + { + "internalType": "address", + "name": "redeemer", + "type": "address" + } + ], + "name": "isSafeRedemption", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "levelOneDelay", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "levelTwoDelay", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "manager", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "objections", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes20", + "name": "walletPubKeyHash", + "type": "bytes20" + }, + { + "internalType": "bytes", + "name": "redeemerOutputScript", + "type": "bytes" + } + ], + "name": "raiseObjection", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "guardian", + "type": "address" + } + ], + "name": "removeGuardian", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "redeemer", + "type": "address" + } + ], + "name": "unban", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_watchtowerLifetime", + "type": "uint32" + }, + { + "internalType": "uint64", + "name": "_vetoPenaltyFeeDivisor", + "type": "uint64" + }, + { + "internalType": "uint32", + "name": "_vetoFreezePeriod", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_defaultDelay", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_levelOneDelay", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_levelTwoDelay", + "type": "uint32" + }, + { + "internalType": "uint64", + "name": "_waivedAmountLimit", + "type": "uint64" + } + ], + "name": "updateWatchtowerParameters", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "vetoFreezePeriod", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "vetoPenaltyFeeDivisor", + "outputs": [ + { + "internalType": "uint64", + "name": "", + "type": "uint64" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "vetoProposals", + "outputs": [ + { + "internalType": "address", + "name": "redeemer", + "type": "address" + }, + { + "internalType": "uint64", + "name": "withdrawableAmount", + "type": "uint64" + }, + { + "internalType": "uint32", + "name": "finalizedAt", + "type": "uint32" + }, + { + "internalType": "uint8", + "name": "objectionsCount", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "waivedAmountLimit", + "outputs": [ + { + "internalType": "uint64", + "name": "", + "type": "uint64" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "watchtowerDisabledAt", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "watchtowerEnabledAt", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "watchtowerLifetime", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "redemptionKey", + "type": "uint256" + } + ], + "name": "withdrawVetoedFunds", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] } } } \ No newline at end of file