{
    "_format": "hh-sol-artifact-1",
    "contractName": "IVectorChannel",
    "sourceName": "src.sol/interfaces/IVectorChannel.sol",
    "abi": [
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "internalType": "address",
                    "name": "assetId",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "amount",
                    "type": "uint256"
                }
            ],
            "name": "AliceDeposited",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "internalType": "address",
                    "name": "defunder",
                    "type": "address"
                },
                {
                    "components": [
                        {
                            "internalType": "address",
                            "name": "channelAddress",
                            "type": "address"
                        },
                        {
                            "internalType": "address",
                            "name": "alice",
                            "type": "address"
                        },
                        {
                            "internalType": "address",
                            "name": "bob",
                            "type": "address"
                        },
                        {
                            "internalType": "address[]",
                            "name": "assetIds",
                            "type": "address[]"
                        },
                        {
                            "components": [
                                {
                                    "internalType": "uint256[2]",
                                    "name": "amount",
                                    "type": "uint256[2]"
                                },
                                {
                                    "internalType": "address payable[2]",
                                    "name": "to",
                                    "type": "address[2]"
                                }
                            ],
                            "internalType": "struct Balance[]",
                            "name": "balances",
                            "type": "tuple[]"
                        },
                        {
                            "internalType": "uint256[]",
                            "name": "processedDepositsA",
                            "type": "uint256[]"
                        },
                        {
                            "internalType": "uint256[]",
                            "name": "processedDepositsB",
                            "type": "uint256[]"
                        },
                        {
                            "internalType": "uint256[]",
                            "name": "defundNonces",
                            "type": "uint256[]"
                        },
                        {
                            "internalType": "uint256",
                            "name": "timeout",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "nonce",
                            "type": "uint256"
                        },
                        {
                            "internalType": "bytes32",
                            "name": "merkleRoot",
                            "type": "bytes32"
                        }
                    ],
                    "indexed": false,
                    "internalType": "struct ICMCAdjudicator.CoreChannelState",
                    "name": "state",
                    "type": "tuple"
                },
                {
                    "components": [
                        {
                            "internalType": "bytes32",
                            "name": "channelStateHash",
                            "type": "bytes32"
                        },
                        {
                            "internalType": "uint256",
                            "name": "nonce",
                            "type": "uint256"
                        },
                        {
                            "internalType": "bytes32",
                            "name": "merkleRoot",
                            "type": "bytes32"
                        },
                        {
                            "internalType": "uint256",
                            "name": "consensusExpiry",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "defundExpiry",
                            "type": "uint256"
                        }
                    ],
                    "indexed": false,
                    "internalType": "struct ICMCAdjudicator.ChannelDispute",
                    "name": "dispute",
                    "type": "tuple"
                },
                {
                    "indexed": false,
                    "internalType": "address[]",
                    "name": "assetIds",
                    "type": "address[]"
                }
            ],
            "name": "ChannelDefunded",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "internalType": "address",
                    "name": "disputer",
                    "type": "address"
                },
                {
                    "components": [
                        {
                            "internalType": "address",
                            "name": "channelAddress",
                            "type": "address"
                        },
                        {
                            "internalType": "address",
                            "name": "alice",
                            "type": "address"
                        },
                        {
                            "internalType": "address",
                            "name": "bob",
                            "type": "address"
                        },
                        {
                            "internalType": "address[]",
                            "name": "assetIds",
                            "type": "address[]"
                        },
                        {
                            "components": [
                                {
                                    "internalType": "uint256[2]",
                                    "name": "amount",
                                    "type": "uint256[2]"
                                },
                                {
                                    "internalType": "address payable[2]",
                                    "name": "to",
                                    "type": "address[2]"
                                }
                            ],
                            "internalType": "struct Balance[]",
                            "name": "balances",
                            "type": "tuple[]"
                        },
                        {
                            "internalType": "uint256[]",
                            "name": "processedDepositsA",
                            "type": "uint256[]"
                        },
                        {
                            "internalType": "uint256[]",
                            "name": "processedDepositsB",
                            "type": "uint256[]"
                        },
                        {
                            "internalType": "uint256[]",
                            "name": "defundNonces",
                            "type": "uint256[]"
                        },
                        {
                            "internalType": "uint256",
                            "name": "timeout",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "nonce",
                            "type": "uint256"
                        },
                        {
                            "internalType": "bytes32",
                            "name": "merkleRoot",
                            "type": "bytes32"
                        }
                    ],
                    "indexed": false,
                    "internalType": "struct ICMCAdjudicator.CoreChannelState",
                    "name": "state",
                    "type": "tuple"
                },
                {
                    "components": [
                        {
                            "internalType": "bytes32",
                            "name": "channelStateHash",
                            "type": "bytes32"
                        },
                        {
                            "internalType": "uint256",
                            "name": "nonce",
                            "type": "uint256"
                        },
                        {
                            "internalType": "bytes32",
                            "name": "merkleRoot",
                            "type": "bytes32"
                        },
                        {
                            "internalType": "uint256",
                            "name": "consensusExpiry",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "defundExpiry",
                            "type": "uint256"
                        }
                    ],
                    "indexed": false,
                    "internalType": "struct ICMCAdjudicator.ChannelDispute",
                    "name": "dispute",
                    "type": "tuple"
                }
            ],
            "name": "ChannelDisputed",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "internalType": "address",
                    "name": "defunder",
                    "type": "address"
                },
                {
                    "components": [
                        {
                            "internalType": "address",
                            "name": "channelAddress",
                            "type": "address"
                        },
                        {
                            "internalType": "bytes32",
                            "name": "transferId",
                            "type": "bytes32"
                        },
                        {
                            "internalType": "address",
                            "name": "transferDefinition",
                            "type": "address"
                        },
                        {
                            "internalType": "address",
                            "name": "initiator",
                            "type": "address"
                        },
                        {
                            "internalType": "address",
                            "name": "responder",
                            "type": "address"
                        },
                        {
                            "internalType": "address",
                            "name": "assetId",
                            "type": "address"
                        },
                        {
                            "components": [
                                {
                                    "internalType": "uint256[2]",
                                    "name": "amount",
                                    "type": "uint256[2]"
                                },
                                {
                                    "internalType": "address payable[2]",
                                    "name": "to",
                                    "type": "address[2]"
                                }
                            ],
                            "internalType": "struct Balance",
                            "name": "balance",
                            "type": "tuple"
                        },
                        {
                            "internalType": "uint256",
                            "name": "transferTimeout",
                            "type": "uint256"
                        },
                        {
                            "internalType": "bytes32",
                            "name": "initialStateHash",
                            "type": "bytes32"
                        }
                    ],
                    "indexed": false,
                    "internalType": "struct ICMCAdjudicator.CoreTransferState",
                    "name": "state",
                    "type": "tuple"
                },
                {
                    "components": [
                        {
                            "internalType": "bytes32",
                            "name": "transferStateHash",
                            "type": "bytes32"
                        },
                        {
                            "internalType": "uint256",
                            "name": "transferDisputeExpiry",
                            "type": "uint256"
                        },
                        {
                            "internalType": "bool",
                            "name": "isDefunded",
                            "type": "bool"
                        }
                    ],
                    "indexed": false,
                    "internalType": "struct ICMCAdjudicator.TransferDispute",
                    "name": "dispute",
                    "type": "tuple"
                },
                {
                    "indexed": false,
                    "internalType": "bytes",
                    "name": "encodedInitialState",
                    "type": "bytes"
                },
                {
                    "indexed": false,
                    "internalType": "bytes",
                    "name": "encodedResolver",
                    "type": "bytes"
                },
                {
                    "components": [
                        {
                            "internalType": "uint256[2]",
                            "name": "amount",
                            "type": "uint256[2]"
                        },
                        {
                            "internalType": "address payable[2]",
                            "name": "to",
                            "type": "address[2]"
                        }
                    ],
                    "indexed": false,
                    "internalType": "struct Balance",
                    "name": "balance",
                    "type": "tuple"
                }
            ],
            "name": "TransferDefunded",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "internalType": "address",
                    "name": "disputer",
                    "type": "address"
                },
                {
                    "components": [
                        {
                            "internalType": "address",
                            "name": "channelAddress",
                            "type": "address"
                        },
                        {
                            "internalType": "bytes32",
                            "name": "transferId",
                            "type": "bytes32"
                        },
                        {
                            "internalType": "address",
                            "name": "transferDefinition",
                            "type": "address"
                        },
                        {
                            "internalType": "address",
                            "name": "initiator",
                            "type": "address"
                        },
                        {
                            "internalType": "address",
                            "name": "responder",
                            "type": "address"
                        },
                        {
                            "internalType": "address",
                            "name": "assetId",
                            "type": "address"
                        },
                        {
                            "components": [
                                {
                                    "internalType": "uint256[2]",
                                    "name": "amount",
                                    "type": "uint256[2]"
                                },
                                {
                                    "internalType": "address payable[2]",
                                    "name": "to",
                                    "type": "address[2]"
                                }
                            ],
                            "internalType": "struct Balance",
                            "name": "balance",
                            "type": "tuple"
                        },
                        {
                            "internalType": "uint256",
                            "name": "transferTimeout",
                            "type": "uint256"
                        },
                        {
                            "internalType": "bytes32",
                            "name": "initialStateHash",
                            "type": "bytes32"
                        }
                    ],
                    "indexed": false,
                    "internalType": "struct ICMCAdjudicator.CoreTransferState",
                    "name": "state",
                    "type": "tuple"
                },
                {
                    "components": [
                        {
                            "internalType": "bytes32",
                            "name": "transferStateHash",
                            "type": "bytes32"
                        },
                        {
                            "internalType": "uint256",
                            "name": "transferDisputeExpiry",
                            "type": "uint256"
                        },
                        {
                            "internalType": "bool",
                            "name": "isDefunded",
                            "type": "bool"
                        }
                    ],
                    "indexed": false,
                    "internalType": "struct ICMCAdjudicator.TransferDispute",
                    "name": "dispute",
                    "type": "tuple"
                }
            ],
            "name": "TransferDisputed",
            "type": "event"
        },
        {
            "inputs": [
                {
                    "components": [
                        {
                            "internalType": "address",
                            "name": "channelAddress",
                            "type": "address"
                        },
                        {
                            "internalType": "address",
                            "name": "alice",
                            "type": "address"
                        },
                        {
                            "internalType": "address",
                            "name": "bob",
                            "type": "address"
                        },
                        {
                            "internalType": "address[]",
                            "name": "assetIds",
                            "type": "address[]"
                        },
                        {
                            "components": [
                                {
                                    "internalType": "uint256[2]",
                                    "name": "amount",
                                    "type": "uint256[2]"
                                },
                                {
                                    "internalType": "address payable[2]",
                                    "name": "to",
                                    "type": "address[2]"
                                }
                            ],
                            "internalType": "struct Balance[]",
                            "name": "balances",
                            "type": "tuple[]"
                        },
                        {
                            "internalType": "uint256[]",
                            "name": "processedDepositsA",
                            "type": "uint256[]"
                        },
                        {
                            "internalType": "uint256[]",
                            "name": "processedDepositsB",
                            "type": "uint256[]"
                        },
                        {
                            "internalType": "uint256[]",
                            "name": "defundNonces",
                            "type": "uint256[]"
                        },
                        {
                            "internalType": "uint256",
                            "name": "timeout",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "nonce",
                            "type": "uint256"
                        },
                        {
                            "internalType": "bytes32",
                            "name": "merkleRoot",
                            "type": "bytes32"
                        }
                    ],
                    "internalType": "struct ICMCAdjudicator.CoreChannelState",
                    "name": "ccs",
                    "type": "tuple"
                },
                {
                    "internalType": "address[]",
                    "name": "assetIds",
                    "type": "address[]"
                },
                {
                    "internalType": "uint256[]",
                    "name": "indices",
                    "type": "uint256[]"
                }
            ],
            "name": "defundChannel",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "components": [
                        {
                            "internalType": "address",
                            "name": "channelAddress",
                            "type": "address"
                        },
                        {
                            "internalType": "bytes32",
                            "name": "transferId",
                            "type": "bytes32"
                        },
                        {
                            "internalType": "address",
                            "name": "transferDefinition",
                            "type": "address"
                        },
                        {
                            "internalType": "address",
                            "name": "initiator",
                            "type": "address"
                        },
                        {
                            "internalType": "address",
                            "name": "responder",
                            "type": "address"
                        },
                        {
                            "internalType": "address",
                            "name": "assetId",
                            "type": "address"
                        },
                        {
                            "components": [
                                {
                                    "internalType": "uint256[2]",
                                    "name": "amount",
                                    "type": "uint256[2]"
                                },
                                {
                                    "internalType": "address payable[2]",
                                    "name": "to",
                                    "type": "address[2]"
                                }
                            ],
                            "internalType": "struct Balance",
                            "name": "balance",
                            "type": "tuple"
                        },
                        {
                            "internalType": "uint256",
                            "name": "transferTimeout",
                            "type": "uint256"
                        },
                        {
                            "internalType": "bytes32",
                            "name": "initialStateHash",
                            "type": "bytes32"
                        }
                    ],
                    "internalType": "struct ICMCAdjudicator.CoreTransferState",
                    "name": "cts",
                    "type": "tuple"
                },
                {
                    "internalType": "bytes",
                    "name": "encodedInitialTransferState",
                    "type": "bytes"
                },
                {
                    "internalType": "bytes",
                    "name": "encodedTransferResolver",
                    "type": "bytes"
                },
                {
                    "internalType": "bytes",
                    "name": "responderSignature",
                    "type": "bytes"
                }
            ],
            "name": "defundTransfer",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "assetId",
                    "type": "address"
                },
                {
                    "internalType": "uint256",
                    "name": "amount",
                    "type": "uint256"
                }
            ],
            "name": "depositAlice",
            "outputs": [],
            "stateMutability": "payable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "components": [
                        {
                            "internalType": "address",
                            "name": "channelAddress",
                            "type": "address"
                        },
                        {
                            "internalType": "address",
                            "name": "alice",
                            "type": "address"
                        },
                        {
                            "internalType": "address",
                            "name": "bob",
                            "type": "address"
                        },
                        {
                            "internalType": "address[]",
                            "name": "assetIds",
                            "type": "address[]"
                        },
                        {
                            "components": [
                                {
                                    "internalType": "uint256[2]",
                                    "name": "amount",
                                    "type": "uint256[2]"
                                },
                                {
                                    "internalType": "address payable[2]",
                                    "name": "to",
                                    "type": "address[2]"
                                }
                            ],
                            "internalType": "struct Balance[]",
                            "name": "balances",
                            "type": "tuple[]"
                        },
                        {
                            "internalType": "uint256[]",
                            "name": "processedDepositsA",
                            "type": "uint256[]"
                        },
                        {
                            "internalType": "uint256[]",
                            "name": "processedDepositsB",
                            "type": "uint256[]"
                        },
                        {
                            "internalType": "uint256[]",
                            "name": "defundNonces",
                            "type": "uint256[]"
                        },
                        {
                            "internalType": "uint256",
                            "name": "timeout",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "nonce",
                            "type": "uint256"
                        },
                        {
                            "internalType": "bytes32",
                            "name": "merkleRoot",
                            "type": "bytes32"
                        }
                    ],
                    "internalType": "struct ICMCAdjudicator.CoreChannelState",
                    "name": "ccs",
                    "type": "tuple"
                },
                {
                    "internalType": "bytes",
                    "name": "aliceSignature",
                    "type": "bytes"
                },
                {
                    "internalType": "bytes",
                    "name": "bobSignature",
                    "type": "bytes"
                }
            ],
            "name": "disputeChannel",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "components": [
                        {
                            "internalType": "address",
                            "name": "channelAddress",
                            "type": "address"
                        },
                        {
                            "internalType": "bytes32",
                            "name": "transferId",
                            "type": "bytes32"
                        },
                        {
                            "internalType": "address",
                            "name": "transferDefinition",
                            "type": "address"
                        },
                        {
                            "internalType": "address",
                            "name": "initiator",
                            "type": "address"
                        },
                        {
                            "internalType": "address",
                            "name": "responder",
                            "type": "address"
                        },
                        {
                            "internalType": "address",
                            "name": "assetId",
                            "type": "address"
                        },
                        {
                            "components": [
                                {
                                    "internalType": "uint256[2]",
                                    "name": "amount",
                                    "type": "uint256[2]"
                                },
                                {
                                    "internalType": "address payable[2]",
                                    "name": "to",
                                    "type": "address[2]"
                                }
                            ],
                            "internalType": "struct Balance",
                            "name": "balance",
                            "type": "tuple"
                        },
                        {
                            "internalType": "uint256",
                            "name": "transferTimeout",
                            "type": "uint256"
                        },
                        {
                            "internalType": "bytes32",
                            "name": "initialStateHash",
                            "type": "bytes32"
                        }
                    ],
                    "internalType": "struct ICMCAdjudicator.CoreTransferState",
                    "name": "cts",
                    "type": "tuple"
                },
                {
                    "internalType": "bytes32[]",
                    "name": "merkleProofData",
                    "type": "bytes32[]"
                }
            ],
            "name": "disputeTransfer",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "assetId",
                    "type": "address"
                },
                {
                    "internalType": "address",
                    "name": "owner",
                    "type": "address"
                },
                {
                    "internalType": "address payable",
                    "name": "recipient",
                    "type": "address"
                }
            ],
            "name": "exit",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "getAlice",
            "outputs": [
                {
                    "internalType": "address",
                    "name": "",
                    "type": "address"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "getBob",
            "outputs": [
                {
                    "internalType": "address",
                    "name": "",
                    "type": "address"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "getChannelDispute",
            "outputs": [
                {
                    "components": [
                        {
                            "internalType": "bytes32",
                            "name": "channelStateHash",
                            "type": "bytes32"
                        },
                        {
                            "internalType": "uint256",
                            "name": "nonce",
                            "type": "uint256"
                        },
                        {
                            "internalType": "bytes32",
                            "name": "merkleRoot",
                            "type": "bytes32"
                        },
                        {
                            "internalType": "uint256",
                            "name": "consensusExpiry",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "defundExpiry",
                            "type": "uint256"
                        }
                    ],
                    "internalType": "struct ICMCAdjudicator.ChannelDispute",
                    "name": "",
                    "type": "tuple"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "assetId",
                    "type": "address"
                }
            ],
            "name": "getDefundNonce",
            "outputs": [
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "assetId",
                    "type": "address"
                },
                {
                    "internalType": "address",
                    "name": "owner",
                    "type": "address"
                }
            ],
            "name": "getExitableAmount",
            "outputs": [
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "assetId",
                    "type": "address"
                }
            ],
            "name": "getTotalDepositsAlice",
            "outputs": [
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "assetId",
                    "type": "address"
                }
            ],
            "name": "getTotalDepositsBob",
            "outputs": [
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "assetId",
                    "type": "address"
                }
            ],
            "name": "getTotalTransferred",
            "outputs": [
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "bytes32",
                    "name": "transferId",
                    "type": "bytes32"
                }
            ],
            "name": "getTransferDispute",
            "outputs": [
                {
                    "components": [
                        {
                            "internalType": "bytes32",
                            "name": "transferStateHash",
                            "type": "bytes32"
                        },
                        {
                            "internalType": "uint256",
                            "name": "transferDisputeExpiry",
                            "type": "uint256"
                        },
                        {
                            "internalType": "bool",
                            "name": "isDefunded",
                            "type": "bool"
                        }
                    ],
                    "internalType": "struct ICMCAdjudicator.TransferDispute",
                    "name": "",
                    "type": "tuple"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "components": [
                        {
                            "internalType": "address",
                            "name": "channelAddress",
                            "type": "address"
                        },
                        {
                            "internalType": "address",
                            "name": "assetId",
                            "type": "address"
                        },
                        {
                            "internalType": "address payable",
                            "name": "recipient",
                            "type": "address"
                        },
                        {
                            "internalType": "uint256",
                            "name": "amount",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "nonce",
                            "type": "uint256"
                        },
                        {
                            "internalType": "address",
                            "name": "callTo",
                            "type": "address"
                        },
                        {
                            "internalType": "bytes",
                            "name": "callData",
                            "type": "bytes"
                        }
                    ],
                    "internalType": "struct WithdrawData",
                    "name": "wd",
                    "type": "tuple"
                }
            ],
            "name": "getWithdrawalTransactionRecord",
            "outputs": [
                {
                    "internalType": "bool",
                    "name": "",
                    "type": "bool"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "_alice",
                    "type": "address"
                },
                {
                    "internalType": "address",
                    "name": "_bob",
                    "type": "address"
                }
            ],
            "name": "setup",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "components": [
                        {
                            "internalType": "address",
                            "name": "channelAddress",
                            "type": "address"
                        },
                        {
                            "internalType": "address",
                            "name": "assetId",
                            "type": "address"
                        },
                        {
                            "internalType": "address payable",
                            "name": "recipient",
                            "type": "address"
                        },
                        {
                            "internalType": "uint256",
                            "name": "amount",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "nonce",
                            "type": "uint256"
                        },
                        {
                            "internalType": "address",
                            "name": "callTo",
                            "type": "address"
                        },
                        {
                            "internalType": "bytes",
                            "name": "callData",
                            "type": "bytes"
                        }
                    ],
                    "internalType": "struct WithdrawData",
                    "name": "wd",
                    "type": "tuple"
                },
                {
                    "internalType": "bytes",
                    "name": "aliceSignature",
                    "type": "bytes"
                },
                {
                    "internalType": "bytes",
                    "name": "bobSignature",
                    "type": "bytes"
                }
            ],
            "name": "withdraw",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        }
    ],
    "bytecode": "0x",
    "deployedBytecode": "0x",
    "linkReferences": {},
    "deployedLinkReferences": {}
}
