{
    "abi": [
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "_paymentErc20Proxy",
                    "type": "address"
                },
                {
                    "internalType": "address",
                    "name": "_paymentNativeProxy",
                    "type": "address"
                },
                {
                    "internalType": "address",
                    "name": "_paymentErc20ConversionProxy",
                    "type": "address"
                },
                {
                    "internalType": "address",
                    "name": "_paymentNativeConversionFeeProxy",
                    "type": "address"
                },
                {
                    "internalType": "address",
                    "name": "_chainlinkConversionPath",
                    "type": "address"
                },
                {
                    "internalType": "address",
                    "name": "_owner",
                    "type": "address"
                }
            ],
            "stateMutability": "nonpayable",
            "type": "constructor"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "previousOwner",
                    "type": "address"
                },
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "newOwner",
                    "type": "address"
                }
            ],
            "name": "OwnershipTransferred",
            "type": "event"
        },
        {
            "inputs": [],
            "name": "NativeAddress",
            "outputs": [
                {
                    "internalType": "address",
                    "name": "",
                    "type": "address"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "USDAddress",
            "outputs": [
                {
                    "internalType": "address",
                    "name": "",
                    "type": "address"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "components": [
                        {
                            "internalType": "address",
                            "name": "recipient",
                            "type": "address"
                        },
                        {
                            "internalType": "uint256",
                            "name": "requestAmount",
                            "type": "uint256"
                        },
                        {
                            "internalType": "address[]",
                            "name": "path",
                            "type": "address[]"
                        },
                        {
                            "internalType": "bytes",
                            "name": "paymentReference",
                            "type": "bytes"
                        },
                        {
                            "internalType": "uint256",
                            "name": "feeAmount",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "maxToSpend",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "maxRateTimespan",
                            "type": "uint256"
                        }
                    ],
                    "internalType": "struct BatchNoConversionPayments.RequestDetail[]",
                    "name": "requestDetails",
                    "type": "tuple[]"
                },
                {
                    "internalType": "address[][]",
                    "name": "pathsToUSD",
                    "type": "address[][]"
                },
                {
                    "internalType": "address",
                    "name": "feeAddress",
                    "type": "address"
                }
            ],
            "name": "batchERC20Payments",
            "outputs": [
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                }
            ],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "batchFee",
            "outputs": [
                {
                    "internalType": "uint16",
                    "name": "",
                    "type": "uint16"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "batchFeeAmountUSDLimit",
            "outputs": [
                {
                    "internalType": "uint64",
                    "name": "",
                    "type": "uint64"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "components": [
                        {
                            "internalType": "address",
                            "name": "recipient",
                            "type": "address"
                        },
                        {
                            "internalType": "uint256",
                            "name": "requestAmount",
                            "type": "uint256"
                        },
                        {
                            "internalType": "address[]",
                            "name": "path",
                            "type": "address[]"
                        },
                        {
                            "internalType": "bytes",
                            "name": "paymentReference",
                            "type": "bytes"
                        },
                        {
                            "internalType": "uint256",
                            "name": "feeAmount",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "maxToSpend",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "maxRateTimespan",
                            "type": "uint256"
                        }
                    ],
                    "internalType": "struct BatchNoConversionPayments.RequestDetail[]",
                    "name": "requestDetails",
                    "type": "tuple[]"
                },
                {
                    "internalType": "address[][]",
                    "name": "pathsToUSD",
                    "type": "address[][]"
                },
                {
                    "internalType": "address",
                    "name": "feeAddress",
                    "type": "address"
                }
            ],
            "name": "batchMultiERC20ConversionPayments",
            "outputs": [
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                }
            ],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "components": [
                        {
                            "internalType": "address",
                            "name": "recipient",
                            "type": "address"
                        },
                        {
                            "internalType": "uint256",
                            "name": "requestAmount",
                            "type": "uint256"
                        },
                        {
                            "internalType": "address[]",
                            "name": "path",
                            "type": "address[]"
                        },
                        {
                            "internalType": "bytes",
                            "name": "paymentReference",
                            "type": "bytes"
                        },
                        {
                            "internalType": "uint256",
                            "name": "feeAmount",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "maxToSpend",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "maxRateTimespan",
                            "type": "uint256"
                        }
                    ],
                    "internalType": "struct BatchNoConversionPayments.RequestDetail[]",
                    "name": "requestDetails",
                    "type": "tuple[]"
                },
                {
                    "internalType": "address[][]",
                    "name": "pathsToUSD",
                    "type": "address[][]"
                },
                {
                    "internalType": "address",
                    "name": "feeAddress",
                    "type": "address"
                }
            ],
            "name": "batchMultiERC20Payments",
            "outputs": [
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                }
            ],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "components": [
                        {
                            "internalType": "address",
                            "name": "recipient",
                            "type": "address"
                        },
                        {
                            "internalType": "uint256",
                            "name": "requestAmount",
                            "type": "uint256"
                        },
                        {
                            "internalType": "address[]",
                            "name": "path",
                            "type": "address[]"
                        },
                        {
                            "internalType": "bytes",
                            "name": "paymentReference",
                            "type": "bytes"
                        },
                        {
                            "internalType": "uint256",
                            "name": "feeAmount",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "maxToSpend",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "maxRateTimespan",
                            "type": "uint256"
                        }
                    ],
                    "internalType": "struct BatchNoConversionPayments.RequestDetail[]",
                    "name": "requestDetails",
                    "type": "tuple[]"
                },
                {
                    "internalType": "bool",
                    "name": "skipFeeUSDLimit",
                    "type": "bool"
                },
                {
                    "internalType": "address payable",
                    "name": "feeAddress",
                    "type": "address"
                }
            ],
            "name": "batchNativeConversionPayments",
            "outputs": [
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                }
            ],
            "stateMutability": "payable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "components": [
                        {
                            "internalType": "address",
                            "name": "recipient",
                            "type": "address"
                        },
                        {
                            "internalType": "uint256",
                            "name": "requestAmount",
                            "type": "uint256"
                        },
                        {
                            "internalType": "address[]",
                            "name": "path",
                            "type": "address[]"
                        },
                        {
                            "internalType": "bytes",
                            "name": "paymentReference",
                            "type": "bytes"
                        },
                        {
                            "internalType": "uint256",
                            "name": "feeAmount",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "maxToSpend",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "maxRateTimespan",
                            "type": "uint256"
                        }
                    ],
                    "internalType": "struct BatchNoConversionPayments.RequestDetail[]",
                    "name": "requestDetails",
                    "type": "tuple[]"
                },
                {
                    "internalType": "bool",
                    "name": "skipFeeUSDLimit",
                    "type": "bool"
                },
                {
                    "internalType": "address payable",
                    "name": "feeAddress",
                    "type": "address"
                }
            ],
            "name": "batchNativePayments",
            "outputs": [
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                }
            ],
            "stateMutability": "payable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "components": [
                        {
                            "internalType": "uint256",
                            "name": "paymentNetworkId",
                            "type": "uint256"
                        },
                        {
                            "components": [
                                {
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "requestAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address[]",
                                    "name": "path",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "paymentReference",
                                    "type": "bytes"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "feeAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxToSpend",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxRateTimespan",
                                    "type": "uint256"
                                }
                            ],
                            "internalType": "struct BatchNoConversionPayments.RequestDetail[]",
                            "name": "requestDetails",
                            "type": "tuple[]"
                        }
                    ],
                    "internalType": "struct BatchConversionPayments.MetaDetail[]",
                    "name": "metaDetails",
                    "type": "tuple[]"
                },
                {
                    "internalType": "address[][]",
                    "name": "pathsToUSD",
                    "type": "address[][]"
                },
                {
                    "internalType": "address",
                    "name": "feeAddress",
                    "type": "address"
                }
            ],
            "name": "batchPayments",
            "outputs": [],
            "stateMutability": "payable",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "chainlinkConversionPath",
            "outputs": [
                {
                    "internalType": "contract ChainlinkConversionPath",
                    "name": "",
                    "type": "address"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "owner",
            "outputs": [
                {
                    "internalType": "address",
                    "name": "",
                    "type": "address"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                }
            ],
            "name": "pathsNativeToUSD",
            "outputs": [
                {
                    "internalType": "address",
                    "name": "",
                    "type": "address"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "paymentErc20ConversionProxy",
            "outputs": [
                {
                    "internalType": "contract IERC20ConversionProxy",
                    "name": "",
                    "type": "address"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "paymentErc20Proxy",
            "outputs": [
                {
                    "internalType": "contract IERC20FeeProxy",
                    "name": "",
                    "type": "address"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "paymentNativeConversionProxy",
            "outputs": [
                {
                    "internalType": "contract IEthConversionProxy",
                    "name": "",
                    "type": "address"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "paymentNativeProxy",
            "outputs": [
                {
                    "internalType": "contract IEthereumFeeProxy",
                    "name": "",
                    "type": "address"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "renounceOwnership",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "uint16",
                    "name": "_batchFee",
                    "type": "uint16"
                }
            ],
            "name": "setBatchFee",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "uint64",
                    "name": "_batchFeeAmountUSDLimit",
                    "type": "uint64"
                }
            ],
            "name": "setBatchFeeAmountUSDLimit",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "_chainlinkConversionPath",
                    "type": "address"
                }
            ],
            "name": "setChainlinkConversionPath",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "_NativeAddress",
                    "type": "address"
                },
                {
                    "internalType": "address",
                    "name": "_USDAddress",
                    "type": "address"
                }
            ],
            "name": "setNativeAndUSDAddress",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "_paymentErc20ConversionProxy",
                    "type": "address"
                }
            ],
            "name": "setPaymentErc20ConversionProxy",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "_paymentErc20Proxy",
                    "type": "address"
                }
            ],
            "name": "setPaymentErc20Proxy",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "_paymentNativeConversionProxy",
                    "type": "address"
                }
            ],
            "name": "setPaymentNativeConversionProxy",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "_paymentNativeProxy",
                    "type": "address"
                }
            ],
            "name": "setPaymentNativeProxy",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "newOwner",
                    "type": "address"
                }
            ],
            "name": "transferOwnership",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "stateMutability": "payable",
            "type": "receive"
        }
    ]
}
