{
    "abi": [
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "_paymentProxyAddress",
                    "type": "address"
                },
                {
                    "internalType": "address",
                    "name": "_chainlinkConversionPathAddress",
                    "type": "address"
                },
                {
                    "internalType": "address",
                    "name": "_nativeTokenHash",
                    "type": "address"
                },
                {
                    "internalType": "address",
                    "name": "_owner",
                    "type": "address"
                }
            ],
            "stateMutability": "nonpayable",
            "type": "constructor"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "amount",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "internalType": "address",
                    "name": "currency",
                    "type": "address"
                },
                {
                    "indexed": true,
                    "internalType": "bytes",
                    "name": "paymentReference",
                    "type": "bytes"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "feeAmount",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "maxRateTimespan",
                    "type": "uint256"
                }
            ],
            "name": "TransferWithConversionAndReference",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "internalType": "address",
                    "name": "to",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "amount",
                    "type": "uint256"
                },
                {
                    "indexed": true,
                    "internalType": "bytes",
                    "name": "paymentReference",
                    "type": "bytes"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "feeAmount",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "internalType": "address",
                    "name": "feeAddress",
                    "type": "address"
                }
            ],
            "name": "TransferWithReferenceAndFee",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "account",
                    "type": "address"
                }
            ],
            "name": "WhitelistAdminAdded",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "account",
                    "type": "address"
                }
            ],
            "name": "WhitelistAdminRemoved",
            "type": "event"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "account",
                    "type": "address"
                }
            ],
            "name": "addWhitelistAdmin",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "chainlinkConversionPath",
            "outputs": [
                {
                    "internalType": "contract ChainlinkConversionPath",
                    "name": "",
                    "type": "address"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "account",
                    "type": "address"
                }
            ],
            "name": "isWhitelistAdmin",
            "outputs": [
                {
                    "internalType": "bool",
                    "name": "",
                    "type": "bool"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "nativeTokenHash",
            "outputs": [
                {
                    "internalType": "address",
                    "name": "",
                    "type": "address"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "paymentProxy",
            "outputs": [
                {
                    "internalType": "address",
                    "name": "",
                    "type": "address"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "renounceWhitelistAdmin",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "_to",
                    "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": "address",
                    "name": "_feeAddress",
                    "type": "address"
                },
                {
                    "internalType": "uint256",
                    "name": "_maxRateTimespan",
                    "type": "uint256"
                }
            ],
            "name": "transferWithReferenceAndFee",
            "outputs": [],
            "stateMutability": "payable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "_chainlinkConversionPathAddress",
                    "type": "address"
                }
            ],
            "name": "updateConversionPathAddress",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "_paymentProxyAddress",
                    "type": "address"
                }
            ],
            "name": "updateConversionProxyAddress",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "_nativeTokenHash",
                    "type": "address"
                }
            ],
            "name": "updateNativeTokenHash",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        }
    ]
}
