{
    "contractName": "Rates",
    "abi": [
        {
            "constant": false,
            "inputs": [],
            "name": "initialize",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "feeTo",
                    "type": "address"
                },
                {
                    "name": "fee",
                    "type": "uint256"
                },
                {
                    "name": "feeType",
                    "type": "bytes32"
                }
            ],
            "name": "setFeeTo",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "feeType",
                    "type": "bytes32"
                }
            ],
            "name": "getFee",
            "outputs": [
                {
                    "name": "fee",
                    "type": "uint256"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "_feeToSetter",
                    "type": "address"
                }
            ],
            "name": "setFeeToSetter",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "_custodian",
                    "type": "address"
                }
            ],
            "name": "setCustodian",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [],
            "name": "getFeeToSetter",
            "outputs": [
                {
                    "name": "",
                    "type": "address"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [],
            "name": "getCustodian",
            "outputs": [
                {
                    "name": "",
                    "type": "address"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        }
    ],
    "metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"name\":\"_custodian\",\"type\":\"address\"}],\"name\":\"setCustodian\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"feeTo\",\"type\":\"address\"},{\"name\":\"fee\",\"type\":\"uint256\"},{\"name\":\"feeType\",\"type\":\"bytes32\"}],\"name\":\"setFeeTo\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"initialize\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_feeToSetter\",\"type\":\"address\"}],\"name\":\"setFeeToSetter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getCustodian\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"feeType\",\"type\":\"bytes32\"}],\"name\":\"getFee\",\"outputs\":[{\"name\":\"fee\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getFeeToSetter\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"project:/contracts/Rates.sol\":\"Rates\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/upgrades/contracts/Initializable.sol\":{\"keccak256\":\"0x9bfec92e36234ecc99b5d37230acb6cd1f99560233753162204104a4897e8721\",\"urls\":[\"bzzr://f75d88b16fe25a9e19b3512691c496e2bb6d8451bc9a636196c4e17ca9b40201\"]},\"project:/contracts/Rates.sol\":{\"keccak256\":\"0xe48e2ba01b5a6c5b67a5005fb4b230663dfc860ef92f822320e71035ea182779\",\"urls\":[\"bzzr://f4b024b4a7d526cbd1d0a6d9d62722b34dd3fc899f68068209a139017dbb391d\"]},\"project:/contracts/interfaces/VerifiedRates.sol\":{\"keccak256\":\"0x5c637fe1bca7c152e7fc41237459b65b6147632ad110c747584a6566424cb8da\",\"urls\":[\"bzzr://e9647e2e2b1768908061c2ea083d26bd9b2b764f91b5bc49207f3d30696a7a0c\"]}},\"version\":1}",
    "bytecode": "0x608060405234801561001057600080fd5b506105a5806100206000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063a2e74af61161005b578063a2e74af6146100e4578063c561d4b71461010a578063e5f3d3a51461012e578063f4aa13021461015d5761007d565b8063403f373114610082578063501e33fa146100aa5780638129fc1c146100dc575b600080fd5b6100a86004803603602081101561009857600080fd5b50356001600160a01b0316610165565b005b6100a8600480360360608110156100c057600080fd5b506001600160a01b0381351690602081013590604001356101d6565b6100a8610308565b6100a8600480360360208110156100fa57600080fd5b50356001600160a01b03166103cf565b610112610440565b604080516001600160a01b039092168252519081900360200190f35b61014b6004803603602081101561014457600080fd5b503561044f565b60408051918252519081900360200190f35b61011261050c565b60355433906001600160a01b031681146101b357604051600160e51b62461bcd02815260040180806020018281038252602a815260200180610522602a913960400191505060405180910390fd5b50603680546001600160a01b0319166001600160a01b0392909216919091179055565b60355433906001600160a01b0316811461022457604051600160e51b62461bcd02815260040180806020018281038252602a815260200180610522602a913960400191505060405180910390fd5b81600160c81b6669737375696e67021415610259576001600160a01b0384166000908152603460205260409020839055610302565b81600160b11b693932b232b6b83a34b7b7021415610294576001600160a01b0384166000908152603460205260409020600101839055610302565b81600160b01b6972656d697474616e63650214156102cc576001600160a01b0384166000908152603360205260409020839055610302565b81600160ba1b681dda5d1a191c985ddb021415610302576001600160a01b03841660009081526033602052604090206001018390555b50505050565b600054610100900460ff1680610321575061032161051b565b8061032f575060005460ff16155b61036d57604051600160e51b62461bcd02815260040180806020018281038252602e81526020018061054c602e913960400191505060405180910390fd5b600054610100900460ff16158015610398576000805460ff1961ff0019909116610100171660011790555b60358054336001600160a01b0319918216811790925560368054909116909117905580156103cc576000805461ff00191690555b50565b60355433906001600160a01b0316811461041d57604051600160e51b62461bcd02815260040180806020018281038252602a815260200180610522602a913960400191505060405180910390fd5b50603580546001600160a01b0319166001600160a01b0392909216919091179055565b6036546001600160a01b031690565b600081600160c81b6669737375696e6702141561047c575033600090815260346020526040902054610507565b81600160b11b693932b232b6b83a34b7b70214156104ad575033600090815260346020526040902060010154610507565b81600160b01b6972656d697474616e63650214156104db575033600090815260336020526040902054610507565b81600160ba1b681dda5d1a191c985ddb0214156105075750336000908152603360205260409020600101545b919050565b6035546001600160a01b031690565b303b159056fe556e617574686f72697a65642061636365737320666f72206665652061646d696e697374726174696f6e436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a165627a7a7230582090e33951e9cfe08e0f86fcb9cd3154ff5b7e495c1a4d434fabaed9ca99ada38f0029",
    "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063a2e74af61161005b578063a2e74af6146100e4578063c561d4b71461010a578063e5f3d3a51461012e578063f4aa13021461015d5761007d565b8063403f373114610082578063501e33fa146100aa5780638129fc1c146100dc575b600080fd5b6100a86004803603602081101561009857600080fd5b50356001600160a01b0316610165565b005b6100a8600480360360608110156100c057600080fd5b506001600160a01b0381351690602081013590604001356101d6565b6100a8610308565b6100a8600480360360208110156100fa57600080fd5b50356001600160a01b03166103cf565b610112610440565b604080516001600160a01b039092168252519081900360200190f35b61014b6004803603602081101561014457600080fd5b503561044f565b60408051918252519081900360200190f35b61011261050c565b60355433906001600160a01b031681146101b357604051600160e51b62461bcd02815260040180806020018281038252602a815260200180610522602a913960400191505060405180910390fd5b50603680546001600160a01b0319166001600160a01b0392909216919091179055565b60355433906001600160a01b0316811461022457604051600160e51b62461bcd02815260040180806020018281038252602a815260200180610522602a913960400191505060405180910390fd5b81600160c81b6669737375696e67021415610259576001600160a01b0384166000908152603460205260409020839055610302565b81600160b11b693932b232b6b83a34b7b7021415610294576001600160a01b0384166000908152603460205260409020600101839055610302565b81600160b01b6972656d697474616e63650214156102cc576001600160a01b0384166000908152603360205260409020839055610302565b81600160ba1b681dda5d1a191c985ddb021415610302576001600160a01b03841660009081526033602052604090206001018390555b50505050565b600054610100900460ff1680610321575061032161051b565b8061032f575060005460ff16155b61036d57604051600160e51b62461bcd02815260040180806020018281038252602e81526020018061054c602e913960400191505060405180910390fd5b600054610100900460ff16158015610398576000805460ff1961ff0019909116610100171660011790555b60358054336001600160a01b0319918216811790925560368054909116909117905580156103cc576000805461ff00191690555b50565b60355433906001600160a01b0316811461041d57604051600160e51b62461bcd02815260040180806020018281038252602a815260200180610522602a913960400191505060405180910390fd5b50603580546001600160a01b0319166001600160a01b0392909216919091179055565b6036546001600160a01b031690565b600081600160c81b6669737375696e6702141561047c575033600090815260346020526040902054610507565b81600160b11b693932b232b6b83a34b7b70214156104ad575033600090815260346020526040902060010154610507565b81600160b01b6972656d697474616e63650214156104db575033600090815260336020526040902054610507565b81600160ba1b681dda5d1a191c985ddb0214156105075750336000908152603360205260409020600101545b919050565b6035546001600160a01b031690565b303b159056fe556e617574686f72697a65642061636365737320666f72206665652061646d696e697374726174696f6e436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a165627a7a7230582090e33951e9cfe08e0f86fcb9cd3154ff5b7e495c1a4d434fabaed9ca99ada38f0029",
    "sourceMap": "259:2556:19:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;259:2556:19;;;;;;;",
    "deployedSourceMap": "259:2556:19:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;259:2556:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2355:125;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2355:125:19;-1:-1:-1;;;;;2355:125:19;;:::i;:::-;;1156:500;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;1156:500:19;;;;;;;;;;;;;:::i;1032:116::-;;;:::i;2212:133::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2212:133:19;-1:-1:-1;;;;;2212:133:19;;:::i;2721:89::-;;;:::i;:::-;;;;-1:-1:-1;;;;;2721:89:19;;;;;;;;;;;;;;1702:502;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1702:502:19;;:::i;:::-;;;;;;;;;;;;;;;;2554:93;;;:::i;2355:125::-;946:11;;2410:10;;-1:-1:-1;;;;;946:11:19;936:21;;928:76;;;;-1:-1:-1;;;;;928:76:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2450:9:19;:22;;-1:-1:-1;;;;;;2450:22:19;-1:-1:-1;;;;;2450:22:19;;;;;;;;;;2355:125::o;1156:500::-;946:11;;1232:10;;-1:-1:-1;;;;;946:11:19;936:21;;928:76;;;;-1:-1:-1;;;;;928:76:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1267:7;-1:-1:-1;;;;;1267:18:19;1264:385;;;-1:-1:-1;;;;;1301:18:19;;;;;;:11;:18;;;;;:32;;;1264:385;;;1363:7;-1:-1:-1;;;;;1363:21:19;1360:289;;;-1:-1:-1;;;;;1400:18:19;;;;;;:11;:18;;;;;:29;;:35;;;1360:289;;;1465:7;-1:-1:-1;;;;;1465:21:19;1462:187;;;-1:-1:-1;;;;;1502:18:19;;;;;;:11;:18;;;;;:35;;;1462:187;;;1567:7;-1:-1:-1;;;;;1567:20:19;1564:85;;;-1:-1:-1;;;;;1603:18:19;;;;;;:11;:18;;;;;:28;;:34;;;1564:85;1156:500;;;;:::o;1032:116::-;1024:12:4;;;;;;;;:31;;;1040:15;:13;:15::i;:::-;1024:47;;;-1:-1:-1;1060:11:4;;;;1059:12;1024:47;1016:106;;;;-1:-1:-1;;;;;1016:106:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1129:19;1152:12;;;;;;1151:13;1170:80;;;;1198:12;:19;;-1:-1:-1;;;;1198:19:4;;;;;1225:18;1213:4;1225:18;;;1170:80;1083:11:19;:24;;1097:10;-1:-1:-1;;;;;;1083:24:19;;;;;;;;1118:9;:22;;;;;;;;;;1264:55:4;;;;1307:5;1292:20;;-1:-1:-1;;1292:20:4;;;1264:55;1032:116:19;:::o;2212:133::-;946:11;;2271:10;;-1:-1:-1;;;;;946:11:19;936:21;;928:76;;;;-1:-1:-1;;;;;928:76:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2311:11:19;:26;;-1:-1:-1;;;;;;2311:26:19;-1:-1:-1;;;;;2311:26:19;;;;;;;;;;2212:133::o;2721:89::-;2793:9;;-1:-1:-1;;;;;2793:9:19;2721:89;:::o;1702:502::-;1757:11;1783:7;-1:-1:-1;;;;;1783:18:19;1780:417;;;-1:-1:-1;1837:10:19;1825:23;;;;:11;:23;;;;;:31;1817:40;;1780:417;1887:7;-1:-1:-1;;;;;1887:21:19;1884:313;;;-1:-1:-1;1944:10:19;1932:23;;;;:11;:23;;;;;:34;;;1924:43;;1884:313;1997:7;-1:-1:-1;;;;;1997:21:19;1994:203;;;-1:-1:-1;2054:10:19;2042:23;;;;:11;:23;;;;;:34;2034:43;;1994:203;2107:7;-1:-1:-1;;;;;2107:20:19;2104:93;;;-1:-1:-1;2163:10:19;2151:23;;;;:11;:23;;;;;:33;;;2104:93;1702:502;;;:::o;2554:93::-;2628:11;;-1:-1:-1;;;;;2628:11:19;2554:93;:::o;1409:498:4:-;1820:4;1864:17;1895:7;1409:498;:::o",
    "source": "// (c) Kallol Borah, 2020\r\n// Implementation of authorized persons and rates for services\r\n// SPDX-License-Identifier: BUSL\r\n\r\npragma solidity 0.5.7;\r\n\r\nimport \"./interfaces/VerifiedRates.sol\";\r\nimport \"@openzeppelin/upgrades/contracts/Initializable.sol\";\r\n\r\ncontract Rates is VerifiedRates, Initializable {\r\n\r\n    //fee structure for payments\r\n    struct payments{\r\n        uint256 remittance;\r\n        uint256 withdrawl;\r\n    }\r\n\r\n    mapping(address => payments) private paymentFees;\r\n\r\n    //fee structure for bond and securities issuing\r\n    struct issues{\r\n        uint256 issuing;\r\n        uint256 redemption;\r\n    }\r\n\r\n    mapping(address => issues) private issuingFees;\r\n\r\n    //address of who gets Via fees\r\n    address private feeToSetter;\r\n\r\n    //address of custodian\r\n    address private custodian;\r\n\r\n    //mutex\r\n    mapping(bytes32 => bool) private _lock;\r\n\r\n    modifier onlyFeeAdmin(address sender){\r\n        require(sender == feeToSetter, 'Unauthorized access for fee administration');\r\n        _;\r\n    }\r\n\r\n    function initialize() public initializer{\r\n        feeToSetter = msg.sender;\r\n        custodian = msg.sender;\r\n    }\r\n\r\n    function setFeeTo(address feeTo, uint256 fee, bytes32 feeType) onlyFeeAdmin(msg.sender) external {\r\n        if(feeType==\"issuing\"){\r\n            issuingFees[feeTo].issuing = fee;\r\n        }\r\n        else if(feeType==\"redemption\"){\r\n            issuingFees[feeTo].redemption = fee;\r\n        }\r\n        else if(feeType==\"remittance\"){\r\n            paymentFees[feeTo].remittance = fee;\r\n        }\r\n        else if(feeType==\"withdrawl\"){\r\n            paymentFees[feeTo].withdrawl = fee;\r\n        }\r\n    }\r\n\r\n    //get fee for different services\r\n    function getFee(bytes32 feeType) external view returns(uint256 fee){\r\n        if(feeType==\"issuing\"){\r\n            return (issuingFees[msg.sender].issuing);\r\n        }\r\n        else if(feeType==\"redemption\"){\r\n            return (issuingFees[msg.sender].redemption);\r\n        }\r\n        else if(feeType==\"remittance\"){\r\n            return (paymentFees[msg.sender].remittance);\r\n        }\r\n        else if(feeType==\"withdrawl\"){\r\n            return (paymentFees[msg.sender].withdrawl);\r\n        }\r\n    }\r\n\r\n    function setFeeToSetter(address _feeToSetter) onlyFeeAdmin(msg.sender) external {        \r\n        feeToSetter = _feeToSetter;\r\n    }  \r\n\r\n    function setCustodian(address _custodian) onlyFeeAdmin(msg.sender) external {        \r\n        custodian = _custodian;\r\n    }    \r\n\r\n    //gets address to which fee income has to be transferred\r\n    function getFeeToSetter() external view returns(address){\r\n        return feeToSetter;\r\n    }\r\n\r\n    //get Custodian address for transferring (backing up) assets\r\n    function getCustodian() external view returns(address){\r\n        return custodian;\r\n    }\r\n\r\n}",
    "sourcePath": "D:\\Code\\verified-payments\\contracts\\Rates.sol",
    "ast": {
        "absolutePath": "project:/contracts/Rates.sol",
        "exportedSymbols": {
            "Rates": [
                7564
            ]
        },
        "id": 7565,
        "nodeType": "SourceUnit",
        "nodes": [
            {
                "id": 7340,
                "literals": [
                    "solidity",
                    "0.5",
                    ".7"
                ],
                "nodeType": "PragmaDirective",
                "src": "127:22:19"
            },
            {
                "absolutePath": "project:/contracts/interfaces/VerifiedRates.sol",
                "file": "./interfaces/VerifiedRates.sol",
                "id": 7341,
                "nodeType": "ImportDirective",
                "scope": 7565,
                "sourceUnit": 8062,
                "src": "153:40:19",
                "symbolAliases": [],
                "unitAlias": ""
            },
            {
                "absolutePath": "@openzeppelin/upgrades/contracts/Initializable.sol",
                "file": "@openzeppelin/upgrades/contracts/Initializable.sol",
                "id": 7342,
                "nodeType": "ImportDirective",
                "scope": 7565,
                "sourceUnit": 479,
                "src": "195:60:19",
                "symbolAliases": [],
                "unitAlias": ""
            },
            {
                "baseContracts": [
                    {
                        "arguments": null,
                        "baseName": {
                            "contractScope": null,
                            "id": 7343,
                            "name": "VerifiedRates",
                            "nodeType": "UserDefinedTypeName",
                            "referencedDeclaration": 8061,
                            "src": "277:13:19",
                            "typeDescriptions": {
                                "typeIdentifier": "t_contract$_VerifiedRates_$8061",
                                "typeString": "contract VerifiedRates"
                            }
                        },
                        "id": 7344,
                        "nodeType": "InheritanceSpecifier",
                        "src": "277:13:19"
                    },
                    {
                        "arguments": null,
                        "baseName": {
                            "contractScope": null,
                            "id": 7345,
                            "name": "Initializable",
                            "nodeType": "UserDefinedTypeName",
                            "referencedDeclaration": 478,
                            "src": "292:13:19",
                            "typeDescriptions": {
                                "typeIdentifier": "t_contract$_Initializable_$478",
                                "typeString": "contract Initializable"
                            }
                        },
                        "id": 7346,
                        "nodeType": "InheritanceSpecifier",
                        "src": "292:13:19"
                    }
                ],
                "contractDependencies": [
                    478,
                    8061
                ],
                "contractKind": "contract",
                "documentation": null,
                "fullyImplemented": true,
                "id": 7564,
                "linearizedBaseContracts": [
                    7564,
                    478,
                    8061
                ],
                "name": "Rates",
                "nodeType": "ContractDefinition",
                "nodes": [
                    {
                        "canonicalName": "Rates.payments",
                        "id": 7351,
                        "members": [
                            {
                                "constant": false,
                                "id": 7348,
                                "name": "remittance",
                                "nodeType": "VariableDeclaration",
                                "scope": 7351,
                                "src": "375:18:19",
                                "stateVariable": false,
                                "storageLocation": "default",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                },
                                "typeName": {
                                    "id": 7347,
                                    "name": "uint256",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "375:7:19",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    }
                                },
                                "value": null,
                                "visibility": "internal"
                            },
                            {
                                "constant": false,
                                "id": 7350,
                                "name": "withdrawl",
                                "nodeType": "VariableDeclaration",
                                "scope": 7351,
                                "src": "404:17:19",
                                "stateVariable": false,
                                "storageLocation": "default",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                },
                                "typeName": {
                                    "id": 7349,
                                    "name": "uint256",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "404:7:19",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    }
                                },
                                "value": null,
                                "visibility": "internal"
                            }
                        ],
                        "name": "payments",
                        "nodeType": "StructDefinition",
                        "scope": 7564,
                        "src": "349:80:19",
                        "visibility": "public"
                    },
                    {
                        "constant": false,
                        "id": 7355,
                        "name": "paymentFees",
                        "nodeType": "VariableDeclaration",
                        "scope": 7564,
                        "src": "437:48:19",
                        "stateVariable": true,
                        "storageLocation": "default",
                        "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_address_$_t_struct$_payments_$7351_storage_$",
                            "typeString": "mapping(address => struct Rates.payments)"
                        },
                        "typeName": {
                            "id": 7354,
                            "keyType": {
                                "id": 7352,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "445:7:19",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                }
                            },
                            "nodeType": "Mapping",
                            "src": "437:28:19",
                            "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_address_$_t_struct$_payments_$7351_storage_$",
                                "typeString": "mapping(address => struct Rates.payments)"
                            },
                            "valueType": {
                                "contractScope": null,
                                "id": 7353,
                                "name": "payments",
                                "nodeType": "UserDefinedTypeName",
                                "referencedDeclaration": 7351,
                                "src": "456:8:19",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_payments_$7351_storage_ptr",
                                    "typeString": "struct Rates.payments"
                                }
                            }
                        },
                        "value": null,
                        "visibility": "private"
                    },
                    {
                        "canonicalName": "Rates.issues",
                        "id": 7360,
                        "members": [
                            {
                                "constant": false,
                                "id": 7357,
                                "name": "issuing",
                                "nodeType": "VariableDeclaration",
                                "scope": 7360,
                                "src": "571:15:19",
                                "stateVariable": false,
                                "storageLocation": "default",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                },
                                "typeName": {
                                    "id": 7356,
                                    "name": "uint256",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "571:7:19",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    }
                                },
                                "value": null,
                                "visibility": "internal"
                            },
                            {
                                "constant": false,
                                "id": 7359,
                                "name": "redemption",
                                "nodeType": "VariableDeclaration",
                                "scope": 7360,
                                "src": "597:18:19",
                                "stateVariable": false,
                                "storageLocation": "default",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                },
                                "typeName": {
                                    "id": 7358,
                                    "name": "uint256",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "597:7:19",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    }
                                },
                                "value": null,
                                "visibility": "internal"
                            }
                        ],
                        "name": "issues",
                        "nodeType": "StructDefinition",
                        "scope": 7564,
                        "src": "547:76:19",
                        "visibility": "public"
                    },
                    {
                        "constant": false,
                        "id": 7364,
                        "name": "issuingFees",
                        "nodeType": "VariableDeclaration",
                        "scope": 7564,
                        "src": "631:46:19",
                        "stateVariable": true,
                        "storageLocation": "default",
                        "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_address_$_t_struct$_issues_$7360_storage_$",
                            "typeString": "mapping(address => struct Rates.issues)"
                        },
                        "typeName": {
                            "id": 7363,
                            "keyType": {
                                "id": 7361,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "639:7:19",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                }
                            },
                            "nodeType": "Mapping",
                            "src": "631:26:19",
                            "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_address_$_t_struct$_issues_$7360_storage_$",
                                "typeString": "mapping(address => struct Rates.issues)"
                            },
                            "valueType": {
                                "contractScope": null,
                                "id": 7362,
                                "name": "issues",
                                "nodeType": "UserDefinedTypeName",
                                "referencedDeclaration": 7360,
                                "src": "650:6:19",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_issues_$7360_storage_ptr",
                                    "typeString": "struct Rates.issues"
                                }
                            }
                        },
                        "value": null,
                        "visibility": "private"
                    },
                    {
                        "constant": false,
                        "id": 7366,
                        "name": "feeToSetter",
                        "nodeType": "VariableDeclaration",
                        "scope": 7564,
                        "src": "722:27:19",
                        "stateVariable": true,
                        "storageLocation": "default",
                        "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                        },
                        "typeName": {
                            "id": 7365,
                            "name": "address",
                            "nodeType": "ElementaryTypeName",
                            "src": "722:7:19",
                            "stateMutability": "nonpayable",
                            "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                            }
                        },
                        "value": null,
                        "visibility": "private"
                    },
                    {
                        "constant": false,
                        "id": 7368,
                        "name": "custodian",
                        "nodeType": "VariableDeclaration",
                        "scope": 7564,
                        "src": "786:25:19",
                        "stateVariable": true,
                        "storageLocation": "default",
                        "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                        },
                        "typeName": {
                            "id": 7367,
                            "name": "address",
                            "nodeType": "ElementaryTypeName",
                            "src": "786:7:19",
                            "stateMutability": "nonpayable",
                            "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                            }
                        },
                        "value": null,
                        "visibility": "private"
                    },
                    {
                        "constant": false,
                        "id": 7372,
                        "name": "_lock",
                        "nodeType": "VariableDeclaration",
                        "scope": 7564,
                        "src": "833:38:19",
                        "stateVariable": true,
                        "storageLocation": "default",
                        "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$",
                            "typeString": "mapping(bytes32 => bool)"
                        },
                        "typeName": {
                            "id": 7371,
                            "keyType": {
                                "id": 7369,
                                "name": "bytes32",
                                "nodeType": "ElementaryTypeName",
                                "src": "841:7:19",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                }
                            },
                            "nodeType": "Mapping",
                            "src": "833:24:19",
                            "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$",
                                "typeString": "mapping(bytes32 => bool)"
                            },
                            "valueType": {
                                "id": 7370,
                                "name": "bool",
                                "nodeType": "ElementaryTypeName",
                                "src": "852:4:19",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                }
                            }
                        },
                        "value": null,
                        "visibility": "private"
                    },
                    {
                        "body": {
                            "id": 7384,
                            "nodeType": "Block",
                            "src": "917:107:19",
                            "statements": [
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "commonType": {
                                                    "typeIdentifier": "t_address",
                                                    "typeString": "address"
                                                },
                                                "id": 7379,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "leftExpression": {
                                                    "argumentTypes": null,
                                                    "id": 7377,
                                                    "name": "sender",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 7374,
                                                    "src": "936:6:19",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    }
                                                },
                                                "nodeType": "BinaryOperation",
                                                "operator": "==",
                                                "rightExpression": {
                                                    "argumentTypes": null,
                                                    "id": 7378,
                                                    "name": "feeToSetter",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 7366,
                                                    "src": "946:11:19",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    }
                                                },
                                                "src": "936:21:19",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "hexValue": "556e617574686f72697a65642061636365737320666f72206665652061646d696e697374726174696f6e",
                                                "id": 7380,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "kind": "string",
                                                "lValueRequested": false,
                                                "nodeType": "Literal",
                                                "src": "959:44:19",
                                                "subdenomination": null,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_stringliteral_80a2faa9ae5285bc5e4dfa764441d2fd3d588a4b5128653500aaf68b2c1b7735",
                                                    "typeString": "literal_string \"Unauthorized access for fee administration\""
                                                },
                                                "value": "Unauthorized access for fee administration"
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                },
                                                {
                                                    "typeIdentifier": "t_stringliteral_80a2faa9ae5285bc5e4dfa764441d2fd3d588a4b5128653500aaf68b2c1b7735",
                                                    "typeString": "literal_string \"Unauthorized access for fee administration\""
                                                }
                                            ],
                                            "id": 7376,
                                            "name": "require",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [
                                                13010,
                                                13011
                                            ],
                                            "referencedDeclaration": 13011,
                                            "src": "928:7:19",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                                                "typeString": "function (bool,string memory) pure"
                                            }
                                        },
                                        "id": 7381,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "928:76:19",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 7382,
                                    "nodeType": "ExpressionStatement",
                                    "src": "928:76:19"
                                },
                                {
                                    "id": 7383,
                                    "nodeType": "PlaceholderStatement",
                                    "src": "1015:1:19"
                                }
                            ]
                        },
                        "documentation": null,
                        "id": 7385,
                        "name": "onlyFeeAdmin",
                        "nodeType": "ModifierDefinition",
                        "parameters": {
                            "id": 7375,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 7374,
                                    "name": "sender",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 7385,
                                    "src": "902:14:19",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 7373,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "902:7:19",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "901:16:19"
                        },
                        "src": "880:144:19",
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 7400,
                            "nodeType": "Block",
                            "src": "1072:76:19",
                            "statements": [
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 7393,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftHandSide": {
                                            "argumentTypes": null,
                                            "id": 7390,
                                            "name": "feeToSetter",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 7366,
                                            "src": "1083:11:19",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address",
                                                "typeString": "address"
                                            }
                                        },
                                        "nodeType": "Assignment",
                                        "operator": "=",
                                        "rightHandSide": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "id": 7391,
                                                "name": "msg",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 13007,
                                                "src": "1097:3:19",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_magic_message",
                                                    "typeString": "msg"
                                                }
                                            },
                                            "id": 7392,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "sender",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": null,
                                            "src": "1097:10:19",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address_payable",
                                                "typeString": "address payable"
                                            }
                                        },
                                        "src": "1083:24:19",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "id": 7394,
                                    "nodeType": "ExpressionStatement",
                                    "src": "1083:24:19"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 7398,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftHandSide": {
                                            "argumentTypes": null,
                                            "id": 7395,
                                            "name": "custodian",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 7368,
                                            "src": "1118:9:19",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address",
                                                "typeString": "address"
                                            }
                                        },
                                        "nodeType": "Assignment",
                                        "operator": "=",
                                        "rightHandSide": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "id": 7396,
                                                "name": "msg",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 13007,
                                                "src": "1130:3:19",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_magic_message",
                                                    "typeString": "msg"
                                                }
                                            },
                                            "id": 7397,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "sender",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": null,
                                            "src": "1130:10:19",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address_payable",
                                                "typeString": "address payable"
                                            }
                                        },
                                        "src": "1118:22:19",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "id": 7399,
                                    "nodeType": "ExpressionStatement",
                                    "src": "1118:22:19"
                                }
                            ]
                        },
                        "documentation": null,
                        "id": 7401,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [
                            {
                                "arguments": null,
                                "id": 7388,
                                "modifierName": {
                                    "argumentTypes": null,
                                    "id": 7387,
                                    "name": "initializer",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 453,
                                    "src": "1061:11:19",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_modifier$__$",
                                        "typeString": "modifier ()"
                                    }
                                },
                                "nodeType": "ModifierInvocation",
                                "src": "1061:11:19"
                            }
                        ],
                        "name": "initialize",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 7386,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "1051:2:19"
                        },
                        "returnParameters": {
                            "id": 7389,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "1072:0:19"
                        },
                        "scope": 7564,
                        "src": "1032:116:19",
                        "stateMutability": "nonpayable",
                        "superFunction": null,
                        "visibility": "public"
                    },
                    {
                        "body": {
                            "id": 7462,
                            "nodeType": "Block",
                            "src": "1253:403:19",
                            "statements": [
                                {
                                    "condition": {
                                        "argumentTypes": null,
                                        "commonType": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        },
                                        "id": 7416,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                            "argumentTypes": null,
                                            "id": 7414,
                                            "name": "feeType",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 7407,
                                            "src": "1267:7:19",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bytes32",
                                                "typeString": "bytes32"
                                            }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "==",
                                        "rightExpression": {
                                            "argumentTypes": null,
                                            "hexValue": "69737375696e67",
                                            "id": 7415,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "string",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "1276:9:19",
                                            "subdenomination": null,
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_stringliteral_fe2717aad5755f7dec032c6177c0d8d1b95a78ce0f26cacb98283972ec0e168a",
                                                "typeString": "literal_string \"issuing\""
                                            },
                                            "value": "issuing"
                                        },
                                        "src": "1267:18:19",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "falseBody": {
                                        "condition": {
                                            "argumentTypes": null,
                                            "commonType": {
                                                "typeIdentifier": "t_bytes32",
                                                "typeString": "bytes32"
                                            },
                                            "id": 7427,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "leftExpression": {
                                                "argumentTypes": null,
                                                "id": 7425,
                                                "name": "feeType",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 7407,
                                                "src": "1363:7:19",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                }
                                            },
                                            "nodeType": "BinaryOperation",
                                            "operator": "==",
                                            "rightExpression": {
                                                "argumentTypes": null,
                                                "hexValue": "726564656d7074696f6e",
                                                "id": 7426,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "kind": "string",
                                                "lValueRequested": false,
                                                "nodeType": "Literal",
                                                "src": "1372:12:19",
                                                "subdenomination": null,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_stringliteral_847ba63e6bbb3e653c37db9bd3c246a577160e62eadcd79dc7eca0d96665213b",
                                                    "typeString": "literal_string \"redemption\""
                                                },
                                                "value": "redemption"
                                            },
                                            "src": "1363:21:19",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bool",
                                                "typeString": "bool"
                                            }
                                        },
                                        "falseBody": {
                                            "condition": {
                                                "argumentTypes": null,
                                                "commonType": {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                },
                                                "id": 7438,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "leftExpression": {
                                                    "argumentTypes": null,
                                                    "id": 7436,
                                                    "name": "feeType",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 7407,
                                                    "src": "1465:7:19",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "nodeType": "BinaryOperation",
                                                "operator": "==",
                                                "rightExpression": {
                                                    "argumentTypes": null,
                                                    "hexValue": "72656d697474616e6365",
                                                    "id": 7437,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "kind": "string",
                                                    "lValueRequested": false,
                                                    "nodeType": "Literal",
                                                    "src": "1474:12:19",
                                                    "subdenomination": null,
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_stringliteral_43b4a8ffdd1b6d1390de3a3b084de3a8b97aafc97b375dd2c5ba53c4371d99b5",
                                                        "typeString": "literal_string \"remittance\""
                                                    },
                                                    "value": "remittance"
                                                },
                                                "src": "1465:21:19",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                }
                                            },
                                            "falseBody": {
                                                "condition": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    },
                                                    "id": 7449,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                        "argumentTypes": null,
                                                        "id": 7447,
                                                        "name": "feeType",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 7407,
                                                        "src": "1567:7:19",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "==",
                                                    "rightExpression": {
                                                        "argumentTypes": null,
                                                        "hexValue": "77697468647261776c",
                                                        "id": 7448,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "1576:11:19",
                                                        "subdenomination": null,
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_014ab85ea8e748688cc6784b5e57ac1916c5079c4b0ea7171a3ee030794a44d0",
                                                            "typeString": "literal_string \"withdrawl\""
                                                        },
                                                        "value": "withdrawl"
                                                    },
                                                    "src": "1567:20:19",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                },
                                                "falseBody": null,
                                                "id": 7458,
                                                "nodeType": "IfStatement",
                                                "src": "1564:85:19",
                                                "trueBody": {
                                                    "id": 7457,
                                                    "nodeType": "Block",
                                                    "src": "1588:61:19",
                                                    "statements": [
                                                        {
                                                            "expression": {
                                                                "argumentTypes": null,
                                                                "id": 7455,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "leftHandSide": {
                                                                    "argumentTypes": null,
                                                                    "expression": {
                                                                        "argumentTypes": null,
                                                                        "baseExpression": {
                                                                            "argumentTypes": null,
                                                                            "id": 7450,
                                                                            "name": "paymentFees",
                                                                            "nodeType": "Identifier",
                                                                            "overloadedDeclarations": [],
                                                                            "referencedDeclaration": 7355,
                                                                            "src": "1603:11:19",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_mapping$_t_address_$_t_struct$_payments_$7351_storage_$",
                                                                                "typeString": "mapping(address => struct Rates.payments storage ref)"
                                                                            }
                                                                        },
                                                                        "id": 7452,
                                                                        "indexExpression": {
                                                                            "argumentTypes": null,
                                                                            "id": 7451,
                                                                            "name": "feeTo",
                                                                            "nodeType": "Identifier",
                                                                            "overloadedDeclarations": [],
                                                                            "referencedDeclaration": 7403,
                                                                            "src": "1615:5:19",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_address",
                                                                                "typeString": "address"
                                                                            }
                                                                        },
                                                                        "isConstant": false,
                                                                        "isLValue": true,
                                                                        "isPure": false,
                                                                        "lValueRequested": false,
                                                                        "nodeType": "IndexAccess",
                                                                        "src": "1603:18:19",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_struct$_payments_$7351_storage",
                                                                            "typeString": "struct Rates.payments storage ref"
                                                                        }
                                                                    },
                                                                    "id": 7453,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": true,
                                                                    "memberName": "withdrawl",
                                                                    "nodeType": "MemberAccess",
                                                                    "referencedDeclaration": 7350,
                                                                    "src": "1603:28:19",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_uint256",
                                                                        "typeString": "uint256"
                                                                    }
                                                                },
                                                                "nodeType": "Assignment",
                                                                "operator": "=",
                                                                "rightHandSide": {
                                                                    "argumentTypes": null,
                                                                    "id": 7454,
                                                                    "name": "fee",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 7405,
                                                                    "src": "1634:3:19",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_uint256",
                                                                        "typeString": "uint256"
                                                                    }
                                                                },
                                                                "src": "1603:34:19",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            },
                                                            "id": 7456,
                                                            "nodeType": "ExpressionStatement",
                                                            "src": "1603:34:19"
                                                        }
                                                    ]
                                                }
                                            },
                                            "id": 7459,
                                            "nodeType": "IfStatement",
                                            "src": "1462:187:19",
                                            "trueBody": {
                                                "id": 7446,
                                                "nodeType": "Block",
                                                "src": "1487:62:19",
                                                "statements": [
                                                    {
                                                        "expression": {
                                                            "argumentTypes": null,
                                                            "id": 7444,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "leftHandSide": {
                                                                "argumentTypes": null,
                                                                "expression": {
                                                                    "argumentTypes": null,
                                                                    "baseExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 7439,
                                                                        "name": "paymentFees",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 7355,
                                                                        "src": "1502:11:19",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_mapping$_t_address_$_t_struct$_payments_$7351_storage_$",
                                                                            "typeString": "mapping(address => struct Rates.payments storage ref)"
                                                                        }
                                                                    },
                                                                    "id": 7441,
                                                                    "indexExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 7440,
                                                                        "name": "feeTo",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 7403,
                                                                        "src": "1514:5:19",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_address",
                                                                            "typeString": "address"
                                                                        }
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "nodeType": "IndexAccess",
                                                                    "src": "1502:18:19",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_struct$_payments_$7351_storage",
                                                                        "typeString": "struct Rates.payments storage ref"
                                                                    }
                                                                },
                                                                "id": 7442,
                                                                "isConstant": false,
                                                                "isLValue": true,
                                                                "isPure": false,
                                                                "lValueRequested": true,
                                                                "memberName": "remittance",
                                                                "nodeType": "MemberAccess",
                                                                "referencedDeclaration": 7348,
                                                                "src": "1502:29:19",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            },
                                                            "nodeType": "Assignment",
                                                            "operator": "=",
                                                            "rightHandSide": {
                                                                "argumentTypes": null,
                                                                "id": 7443,
                                                                "name": "fee",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 7405,
                                                                "src": "1534:3:19",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            },
                                                            "src": "1502:35:19",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            }
                                                        },
                                                        "id": 7445,
                                                        "nodeType": "ExpressionStatement",
                                                        "src": "1502:35:19"
                                                    }
                                                ]
                                            }
                                        },
                                        "id": 7460,
                                        "nodeType": "IfStatement",
                                        "src": "1360:289:19",
                                        "trueBody": {
                                            "id": 7435,
                                            "nodeType": "Block",
                                            "src": "1385:62:19",
                                            "statements": [
                                                {
                                                    "expression": {
                                                        "argumentTypes": null,
                                                        "id": 7433,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "leftHandSide": {
                                                            "argumentTypes": null,
                                                            "expression": {
                                                                "argumentTypes": null,
                                                                "baseExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 7428,
                                                                    "name": "issuingFees",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 7364,
                                                                    "src": "1400:11:19",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_mapping$_t_address_$_t_struct$_issues_$7360_storage_$",
                                                                        "typeString": "mapping(address => struct Rates.issues storage ref)"
                                                                    }
                                                                },
                                                                "id": 7430,
                                                                "indexExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 7429,
                                                                    "name": "feeTo",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 7403,
                                                                    "src": "1412:5:19",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_address",
                                                                        "typeString": "address"
                                                                    }
                                                                },
                                                                "isConstant": false,
                                                                "isLValue": true,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "nodeType": "IndexAccess",
                                                                "src": "1400:18:19",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_struct$_issues_$7360_storage",
                                                                    "typeString": "struct Rates.issues storage ref"
                                                                }
                                                            },
                                                            "id": 7431,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": true,
                                                            "memberName": "redemption",
                                                            "nodeType": "MemberAccess",
                                                            "referencedDeclaration": 7359,
                                                            "src": "1400:29:19",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            }
                                                        },
                                                        "nodeType": "Assignment",
                                                        "operator": "=",
                                                        "rightHandSide": {
                                                            "argumentTypes": null,
                                                            "id": 7432,
                                                            "name": "fee",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 7405,
                                                            "src": "1432:3:19",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            }
                                                        },
                                                        "src": "1400:35:19",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    "id": 7434,
                                                    "nodeType": "ExpressionStatement",
                                                    "src": "1400:35:19"
                                                }
                                            ]
                                        }
                                    },
                                    "id": 7461,
                                    "nodeType": "IfStatement",
                                    "src": "1264:385:19",
                                    "trueBody": {
                                        "id": 7424,
                                        "nodeType": "Block",
                                        "src": "1286:59:19",
                                        "statements": [
                                            {
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "id": 7422,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftHandSide": {
                                                        "argumentTypes": null,
                                                        "expression": {
                                                            "argumentTypes": null,
                                                            "baseExpression": {
                                                                "argumentTypes": null,
                                                                "id": 7417,
                                                                "name": "issuingFees",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 7364,
                                                                "src": "1301:11:19",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_mapping$_t_address_$_t_struct$_issues_$7360_storage_$",
                                                                    "typeString": "mapping(address => struct Rates.issues storage ref)"
                                                                }
                                                            },
                                                            "id": 7419,
                                                            "indexExpression": {
                                                                "argumentTypes": null,
                                                                "id": 7418,
                                                                "name": "feeTo",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 7403,
                                                                "src": "1313:5:19",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_address",
                                                                    "typeString": "address"
                                                                }
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "nodeType": "IndexAccess",
                                                            "src": "1301:18:19",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_struct$_issues_$7360_storage",
                                                                "typeString": "struct Rates.issues storage ref"
                                                            }
                                                        },
                                                        "id": 7420,
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": true,
                                                        "memberName": "issuing",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": 7357,
                                                        "src": "1301:26:19",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    "nodeType": "Assignment",
                                                    "operator": "=",
                                                    "rightHandSide": {
                                                        "argumentTypes": null,
                                                        "id": 7421,
                                                        "name": "fee",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 7405,
                                                        "src": "1330:3:19",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    "src": "1301:32:19",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                },
                                                "id": 7423,
                                                "nodeType": "ExpressionStatement",
                                                "src": "1301:32:19"
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        "documentation": null,
                        "id": 7463,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [
                            {
                                "arguments": [
                                    {
                                        "argumentTypes": null,
                                        "expression": {
                                            "argumentTypes": null,
                                            "id": 7410,
                                            "name": "msg",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 13007,
                                            "src": "1232:3:19",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_magic_message",
                                                "typeString": "msg"
                                            }
                                        },
                                        "id": 7411,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "sender",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": null,
                                        "src": "1232:10:19",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address_payable",
                                            "typeString": "address payable"
                                        }
                                    }
                                ],
                                "id": 7412,
                                "modifierName": {
                                    "argumentTypes": null,
                                    "id": 7409,
                                    "name": "onlyFeeAdmin",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 7385,
                                    "src": "1219:12:19",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_modifier$_t_address_$",
                                        "typeString": "modifier (address)"
                                    }
                                },
                                "nodeType": "ModifierInvocation",
                                "src": "1219:24:19"
                            }
                        ],
                        "name": "setFeeTo",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 7408,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 7403,
                                    "name": "feeTo",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 7463,
                                    "src": "1174:13:19",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 7402,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1174:7:19",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 7405,
                                    "name": "fee",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 7463,
                                    "src": "1189:11:19",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 7404,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1189:7:19",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 7407,
                                    "name": "feeType",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 7463,
                                    "src": "1202:15:19",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 7406,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1202:7:19",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "1173:45:19"
                        },
                        "returnParameters": {
                            "id": 7413,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "1253:0:19"
                        },
                        "scope": 7564,
                        "src": "1156:500:19",
                        "stateMutability": "nonpayable",
                        "superFunction": 8060,
                        "visibility": "external"
                    },
                    {
                        "body": {
                            "id": 7518,
                            "nodeType": "Block",
                            "src": "1769:435:19",
                            "statements": [
                                {
                                    "condition": {
                                        "argumentTypes": null,
                                        "commonType": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        },
                                        "id": 7472,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                            "argumentTypes": null,
                                            "id": 7470,
                                            "name": "feeType",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 7465,
                                            "src": "1783:7:19",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bytes32",
                                                "typeString": "bytes32"
                                            }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "==",
                                        "rightExpression": {
                                            "argumentTypes": null,
                                            "hexValue": "69737375696e67",
                                            "id": 7471,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "string",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "1792:9:19",
                                            "subdenomination": null,
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_stringliteral_fe2717aad5755f7dec032c6177c0d8d1b95a78ce0f26cacb98283972ec0e168a",
                                                "typeString": "literal_string \"issuing\""
                                            },
                                            "value": "issuing"
                                        },
                                        "src": "1783:18:19",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "falseBody": {
                                        "condition": {
                                            "argumentTypes": null,
                                            "commonType": {
                                                "typeIdentifier": "t_bytes32",
                                                "typeString": "bytes32"
                                            },
                                            "id": 7483,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "leftExpression": {
                                                "argumentTypes": null,
                                                "id": 7481,
                                                "name": "feeType",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 7465,
                                                "src": "1887:7:19",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                }
                                            },
                                            "nodeType": "BinaryOperation",
                                            "operator": "==",
                                            "rightExpression": {
                                                "argumentTypes": null,
                                                "hexValue": "726564656d7074696f6e",
                                                "id": 7482,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "kind": "string",
                                                "lValueRequested": false,
                                                "nodeType": "Literal",
                                                "src": "1896:12:19",
                                                "subdenomination": null,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_stringliteral_847ba63e6bbb3e653c37db9bd3c246a577160e62eadcd79dc7eca0d96665213b",
                                                    "typeString": "literal_string \"redemption\""
                                                },
                                                "value": "redemption"
                                            },
                                            "src": "1887:21:19",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bool",
                                                "typeString": "bool"
                                            }
                                        },
                                        "falseBody": {
                                            "condition": {
                                                "argumentTypes": null,
                                                "commonType": {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                },
                                                "id": 7494,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "leftExpression": {
                                                    "argumentTypes": null,
                                                    "id": 7492,
                                                    "name": "feeType",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 7465,
                                                    "src": "1997:7:19",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "nodeType": "BinaryOperation",
                                                "operator": "==",
                                                "rightExpression": {
                                                    "argumentTypes": null,
                                                    "hexValue": "72656d697474616e6365",
                                                    "id": 7493,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "kind": "string",
                                                    "lValueRequested": false,
                                                    "nodeType": "Literal",
                                                    "src": "2006:12:19",
                                                    "subdenomination": null,
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_stringliteral_43b4a8ffdd1b6d1390de3a3b084de3a8b97aafc97b375dd2c5ba53c4371d99b5",
                                                        "typeString": "literal_string \"remittance\""
                                                    },
                                                    "value": "remittance"
                                                },
                                                "src": "1997:21:19",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                }
                                            },
                                            "falseBody": {
                                                "condition": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    },
                                                    "id": 7505,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                        "argumentTypes": null,
                                                        "id": 7503,
                                                        "name": "feeType",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 7465,
                                                        "src": "2107:7:19",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "==",
                                                    "rightExpression": {
                                                        "argumentTypes": null,
                                                        "hexValue": "77697468647261776c",
                                                        "id": 7504,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "2116:11:19",
                                                        "subdenomination": null,
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_014ab85ea8e748688cc6784b5e57ac1916c5079c4b0ea7171a3ee030794a44d0",
                                                            "typeString": "literal_string \"withdrawl\""
                                                        },
                                                        "value": "withdrawl"
                                                    },
                                                    "src": "2107:20:19",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                },
                                                "falseBody": null,
                                                "id": 7514,
                                                "nodeType": "IfStatement",
                                                "src": "2104:93:19",
                                                "trueBody": {
                                                    "id": 7513,
                                                    "nodeType": "Block",
                                                    "src": "2128:69:19",
                                                    "statements": [
                                                        {
                                                            "expression": {
                                                                "argumentTypes": null,
                                                                "components": [
                                                                    {
                                                                        "argumentTypes": null,
                                                                        "expression": {
                                                                            "argumentTypes": null,
                                                                            "baseExpression": {
                                                                                "argumentTypes": null,
                                                                                "id": 7506,
                                                                                "name": "paymentFees",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 7355,
                                                                                "src": "2151:11:19",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_mapping$_t_address_$_t_struct$_payments_$7351_storage_$",
                                                                                    "typeString": "mapping(address => struct Rates.payments storage ref)"
                                                                                }
                                                                            },
                                                                            "id": 7509,
                                                                            "indexExpression": {
                                                                                "argumentTypes": null,
                                                                                "expression": {
                                                                                    "argumentTypes": null,
                                                                                    "id": 7507,
                                                                                    "name": "msg",
                                                                                    "nodeType": "Identifier",
                                                                                    "overloadedDeclarations": [],
                                                                                    "referencedDeclaration": 13007,
                                                                                    "src": "2163:3:19",
                                                                                    "typeDescriptions": {
                                                                                        "typeIdentifier": "t_magic_message",
                                                                                        "typeString": "msg"
                                                                                    }
                                                                                },
                                                                                "id": 7508,
                                                                                "isConstant": false,
                                                                                "isLValue": false,
                                                                                "isPure": false,
                                                                                "lValueRequested": false,
                                                                                "memberName": "sender",
                                                                                "nodeType": "MemberAccess",
                                                                                "referencedDeclaration": null,
                                                                                "src": "2163:10:19",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_address_payable",
                                                                                    "typeString": "address payable"
                                                                                }
                                                                            },
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "nodeType": "IndexAccess",
                                                                            "src": "2151:23:19",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_struct$_payments_$7351_storage",
                                                                                "typeString": "struct Rates.payments storage ref"
                                                                            }
                                                                        },
                                                                        "id": 7510,
                                                                        "isConstant": false,
                                                                        "isLValue": true,
                                                                        "isPure": false,
                                                                        "lValueRequested": false,
                                                                        "memberName": "withdrawl",
                                                                        "nodeType": "MemberAccess",
                                                                        "referencedDeclaration": 7350,
                                                                        "src": "2151:33:19",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_uint256",
                                                                            "typeString": "uint256"
                                                                        }
                                                                    }
                                                                ],
                                                                "id": 7511,
                                                                "isConstant": false,
                                                                "isInlineArray": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "nodeType": "TupleExpression",
                                                                "src": "2150:35:19",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            },
                                                            "functionReturnParameters": 7469,
                                                            "id": 7512,
                                                            "nodeType": "Return",
                                                            "src": "2143:42:19"
                                                        }
                                                    ]
                                                }
                                            },
                                            "id": 7515,
                                            "nodeType": "IfStatement",
                                            "src": "1994:203:19",
                                            "trueBody": {
                                                "id": 7502,
                                                "nodeType": "Block",
                                                "src": "2019:70:19",
                                                "statements": [
                                                    {
                                                        "expression": {
                                                            "argumentTypes": null,
                                                            "components": [
                                                                {
                                                                    "argumentTypes": null,
                                                                    "expression": {
                                                                        "argumentTypes": null,
                                                                        "baseExpression": {
                                                                            "argumentTypes": null,
                                                                            "id": 7495,
                                                                            "name": "paymentFees",
                                                                            "nodeType": "Identifier",
                                                                            "overloadedDeclarations": [],
                                                                            "referencedDeclaration": 7355,
                                                                            "src": "2042:11:19",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_mapping$_t_address_$_t_struct$_payments_$7351_storage_$",
                                                                                "typeString": "mapping(address => struct Rates.payments storage ref)"
                                                                            }
                                                                        },
                                                                        "id": 7498,
                                                                        "indexExpression": {
                                                                            "argumentTypes": null,
                                                                            "expression": {
                                                                                "argumentTypes": null,
                                                                                "id": 7496,
                                                                                "name": "msg",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 13007,
                                                                                "src": "2054:3:19",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_magic_message",
                                                                                    "typeString": "msg"
                                                                                }
                                                                            },
                                                                            "id": 7497,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "memberName": "sender",
                                                                            "nodeType": "MemberAccess",
                                                                            "referencedDeclaration": null,
                                                                            "src": "2054:10:19",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_address_payable",
                                                                                "typeString": "address payable"
                                                                            }
                                                                        },
                                                                        "isConstant": false,
                                                                        "isLValue": true,
                                                                        "isPure": false,
                                                                        "lValueRequested": false,
                                                                        "nodeType": "IndexAccess",
                                                                        "src": "2042:23:19",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_struct$_payments_$7351_storage",
                                                                            "typeString": "struct Rates.payments storage ref"
                                                                        }
                                                                    },
                                                                    "id": 7499,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "memberName": "remittance",
                                                                    "nodeType": "MemberAccess",
                                                                    "referencedDeclaration": 7348,
                                                                    "src": "2042:34:19",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_uint256",
                                                                        "typeString": "uint256"
                                                                    }
                                                                }
                                                            ],
                                                            "id": 7500,
                                                            "isConstant": false,
                                                            "isInlineArray": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "nodeType": "TupleExpression",
                                                            "src": "2041:36:19",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            }
                                                        },
                                                        "functionReturnParameters": 7469,
                                                        "id": 7501,
                                                        "nodeType": "Return",
                                                        "src": "2034:43:19"
                                                    }
                                                ]
                                            }
                                        },
                                        "id": 7516,
                                        "nodeType": "IfStatement",
                                        "src": "1884:313:19",
                                        "trueBody": {
                                            "id": 7491,
                                            "nodeType": "Block",
                                            "src": "1909:70:19",
                                            "statements": [
                                                {
                                                    "expression": {
                                                        "argumentTypes": null,
                                                        "components": [
                                                            {
                                                                "argumentTypes": null,
                                                                "expression": {
                                                                    "argumentTypes": null,
                                                                    "baseExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 7484,
                                                                        "name": "issuingFees",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 7364,
                                                                        "src": "1932:11:19",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_mapping$_t_address_$_t_struct$_issues_$7360_storage_$",
                                                                            "typeString": "mapping(address => struct Rates.issues storage ref)"
                                                                        }
                                                                    },
                                                                    "id": 7487,
                                                                    "indexExpression": {
                                                                        "argumentTypes": null,
                                                                        "expression": {
                                                                            "argumentTypes": null,
                                                                            "id": 7485,
                                                                            "name": "msg",
                                                                            "nodeType": "Identifier",
                                                                            "overloadedDeclarations": [],
                                                                            "referencedDeclaration": 13007,
                                                                            "src": "1944:3:19",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_magic_message",
                                                                                "typeString": "msg"
                                                                            }
                                                                        },
                                                                        "id": 7486,
                                                                        "isConstant": false,
                                                                        "isLValue": false,
                                                                        "isPure": false,
                                                                        "lValueRequested": false,
                                                                        "memberName": "sender",
                                                                        "nodeType": "MemberAccess",
                                                                        "referencedDeclaration": null,
                                                                        "src": "1944:10:19",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_address_payable",
                                                                            "typeString": "address payable"
                                                                        }
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "nodeType": "IndexAccess",
                                                                    "src": "1932:23:19",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_struct$_issues_$7360_storage",
                                                                        "typeString": "struct Rates.issues storage ref"
                                                                    }
                                                                },
                                                                "id": 7488,
                                                                "isConstant": false,
                                                                "isLValue": true,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "memberName": "redemption",
                                                                "nodeType": "MemberAccess",
                                                                "referencedDeclaration": 7359,
                                                                "src": "1932:34:19",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            }
                                                        ],
                                                        "id": 7489,
                                                        "isConstant": false,
                                                        "isInlineArray": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "nodeType": "TupleExpression",
                                                        "src": "1931:36:19",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    "functionReturnParameters": 7469,
                                                    "id": 7490,
                                                    "nodeType": "Return",
                                                    "src": "1924:43:19"
                                                }
                                            ]
                                        }
                                    },
                                    "id": 7517,
                                    "nodeType": "IfStatement",
                                    "src": "1780:417:19",
                                    "trueBody": {
                                        "id": 7480,
                                        "nodeType": "Block",
                                        "src": "1802:67:19",
                                        "statements": [
                                            {
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "components": [
                                                        {
                                                            "argumentTypes": null,
                                                            "expression": {
                                                                "argumentTypes": null,
                                                                "baseExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 7473,
                                                                    "name": "issuingFees",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 7364,
                                                                    "src": "1825:11:19",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_mapping$_t_address_$_t_struct$_issues_$7360_storage_$",
                                                                        "typeString": "mapping(address => struct Rates.issues storage ref)"
                                                                    }
                                                                },
                                                                "id": 7476,
                                                                "indexExpression": {
                                                                    "argumentTypes": null,
                                                                    "expression": {
                                                                        "argumentTypes": null,
                                                                        "id": 7474,
                                                                        "name": "msg",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 13007,
                                                                        "src": "1837:3:19",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_magic_message",
                                                                            "typeString": "msg"
                                                                        }
                                                                    },
                                                                    "id": 7475,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "memberName": "sender",
                                                                    "nodeType": "MemberAccess",
                                                                    "referencedDeclaration": null,
                                                                    "src": "1837:10:19",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_address_payable",
                                                                        "typeString": "address payable"
                                                                    }
                                                                },
                                                                "isConstant": false,
                                                                "isLValue": true,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "nodeType": "IndexAccess",
                                                                "src": "1825:23:19",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_struct$_issues_$7360_storage",
                                                                    "typeString": "struct Rates.issues storage ref"
                                                                }
                                                            },
                                                            "id": 7477,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "memberName": "issuing",
                                                            "nodeType": "MemberAccess",
                                                            "referencedDeclaration": 7357,
                                                            "src": "1825:31:19",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            }
                                                        }
                                                    ],
                                                    "id": 7478,
                                                    "isConstant": false,
                                                    "isInlineArray": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "TupleExpression",
                                                    "src": "1824:33:19",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                },
                                                "functionReturnParameters": 7469,
                                                "id": 7479,
                                                "nodeType": "Return",
                                                "src": "1817:40:19"
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        "documentation": null,
                        "id": 7519,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "getFee",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 7466,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 7465,
                                    "name": "feeType",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 7519,
                                    "src": "1718:15:19",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 7464,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1718:7:19",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "1717:17:19"
                        },
                        "returnParameters": {
                            "id": 7469,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 7468,
                                    "name": "fee",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 7519,
                                    "src": "1757:11:19",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 7467,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1757:7:19",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "1756:13:19"
                        },
                        "scope": 7564,
                        "src": "1702:502:19",
                        "stateMutability": "view",
                        "superFunction": 8051,
                        "visibility": "external"
                    },
                    {
                        "body": {
                            "id": 7532,
                            "nodeType": "Block",
                            "src": "2292:53:19",
                            "statements": [
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 7530,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftHandSide": {
                                            "argumentTypes": null,
                                            "id": 7528,
                                            "name": "feeToSetter",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 7366,
                                            "src": "2311:11:19",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address",
                                                "typeString": "address"
                                            }
                                        },
                                        "nodeType": "Assignment",
                                        "operator": "=",
                                        "rightHandSide": {
                                            "argumentTypes": null,
                                            "id": 7529,
                                            "name": "_feeToSetter",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 7521,
                                            "src": "2325:12:19",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address",
                                                "typeString": "address"
                                            }
                                        },
                                        "src": "2311:26:19",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "id": 7531,
                                    "nodeType": "ExpressionStatement",
                                    "src": "2311:26:19"
                                }
                            ]
                        },
                        "documentation": null,
                        "id": 7533,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [
                            {
                                "arguments": [
                                    {
                                        "argumentTypes": null,
                                        "expression": {
                                            "argumentTypes": null,
                                            "id": 7524,
                                            "name": "msg",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 13007,
                                            "src": "2271:3:19",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_magic_message",
                                                "typeString": "msg"
                                            }
                                        },
                                        "id": 7525,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "sender",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": null,
                                        "src": "2271:10:19",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address_payable",
                                            "typeString": "address payable"
                                        }
                                    }
                                ],
                                "id": 7526,
                                "modifierName": {
                                    "argumentTypes": null,
                                    "id": 7523,
                                    "name": "onlyFeeAdmin",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 7385,
                                    "src": "2258:12:19",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_modifier$_t_address_$",
                                        "typeString": "modifier (address)"
                                    }
                                },
                                "nodeType": "ModifierInvocation",
                                "src": "2258:24:19"
                            }
                        ],
                        "name": "setFeeToSetter",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 7522,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 7521,
                                    "name": "_feeToSetter",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 7533,
                                    "src": "2236:20:19",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 7520,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2236:7:19",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "2235:22:19"
                        },
                        "returnParameters": {
                            "id": 7527,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "2292:0:19"
                        },
                        "scope": 7564,
                        "src": "2212:133:19",
                        "stateMutability": "nonpayable",
                        "superFunction": 8044,
                        "visibility": "external"
                    },
                    {
                        "body": {
                            "id": 7546,
                            "nodeType": "Block",
                            "src": "2431:49:19",
                            "statements": [
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 7544,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftHandSide": {
                                            "argumentTypes": null,
                                            "id": 7542,
                                            "name": "custodian",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 7368,
                                            "src": "2450:9:19",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address",
                                                "typeString": "address"
                                            }
                                        },
                                        "nodeType": "Assignment",
                                        "operator": "=",
                                        "rightHandSide": {
                                            "argumentTypes": null,
                                            "id": 7543,
                                            "name": "_custodian",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 7535,
                                            "src": "2462:10:19",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address",
                                                "typeString": "address"
                                            }
                                        },
                                        "src": "2450:22:19",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "id": 7545,
                                    "nodeType": "ExpressionStatement",
                                    "src": "2450:22:19"
                                }
                            ]
                        },
                        "documentation": null,
                        "id": 7547,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [
                            {
                                "arguments": [
                                    {
                                        "argumentTypes": null,
                                        "expression": {
                                            "argumentTypes": null,
                                            "id": 7538,
                                            "name": "msg",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 13007,
                                            "src": "2410:3:19",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_magic_message",
                                                "typeString": "msg"
                                            }
                                        },
                                        "id": 7539,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "sender",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": null,
                                        "src": "2410:10:19",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address_payable",
                                            "typeString": "address payable"
                                        }
                                    }
                                ],
                                "id": 7540,
                                "modifierName": {
                                    "argumentTypes": null,
                                    "id": 7537,
                                    "name": "onlyFeeAdmin",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 7385,
                                    "src": "2397:12:19",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_modifier$_t_address_$",
                                        "typeString": "modifier (address)"
                                    }
                                },
                                "nodeType": "ModifierInvocation",
                                "src": "2397:24:19"
                            }
                        ],
                        "name": "setCustodian",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 7536,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 7535,
                                    "name": "_custodian",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 7547,
                                    "src": "2377:18:19",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 7534,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2377:7:19",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "2376:20:19"
                        },
                        "returnParameters": {
                            "id": 7541,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "2431:0:19"
                        },
                        "scope": 7564,
                        "src": "2355:125:19",
                        "stateMutability": "nonpayable",
                        "superFunction": 8034,
                        "visibility": "external"
                    },
                    {
                        "body": {
                            "id": 7554,
                            "nodeType": "Block",
                            "src": "2610:37:19",
                            "statements": [
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 7552,
                                        "name": "feeToSetter",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 7366,
                                        "src": "2628:11:19",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "functionReturnParameters": 7551,
                                    "id": 7553,
                                    "nodeType": "Return",
                                    "src": "2621:18:19"
                                }
                            ]
                        },
                        "documentation": null,
                        "id": 7555,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "getFeeToSetter",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 7548,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "2577:2:19"
                        },
                        "returnParameters": {
                            "id": 7551,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 7550,
                                    "name": "",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 7555,
                                    "src": "2602:7:19",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 7549,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2602:7:19",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "2601:9:19"
                        },
                        "scope": 7564,
                        "src": "2554:93:19",
                        "stateMutability": "view",
                        "superFunction": 8039,
                        "visibility": "external"
                    },
                    {
                        "body": {
                            "id": 7562,
                            "nodeType": "Block",
                            "src": "2775:35:19",
                            "statements": [
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 7560,
                                        "name": "custodian",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 7368,
                                        "src": "2793:9:19",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "functionReturnParameters": 7559,
                                    "id": 7561,
                                    "nodeType": "Return",
                                    "src": "2786:16:19"
                                }
                            ]
                        },
                        "documentation": null,
                        "id": 7563,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "getCustodian",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 7556,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "2742:2:19"
                        },
                        "returnParameters": {
                            "id": 7559,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 7558,
                                    "name": "",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 7563,
                                    "src": "2767:7:19",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 7557,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2767:7:19",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "2766:9:19"
                        },
                        "scope": 7564,
                        "src": "2721:89:19",
                        "stateMutability": "view",
                        "superFunction": 8029,
                        "visibility": "external"
                    }
                ],
                "scope": 7565,
                "src": "259:2556:19"
            }
        ],
        "src": "127:2688:19"
    },
    "legacyAST": {
        "attributes": {
            "absolutePath": "project:/contracts/Rates.sol",
            "exportedSymbols": {
                "Rates": [
                    7564
                ]
            }
        },
        "children": [
            {
                "attributes": {
                    "literals": [
                        "solidity",
                        "0.5",
                        ".7"
                    ]
                },
                "id": 7340,
                "name": "PragmaDirective",
                "src": "127:22:19"
            },
            {
                "attributes": {
                    "SourceUnit": 8062,
                    "absolutePath": "project:/contracts/interfaces/VerifiedRates.sol",
                    "file": "./interfaces/VerifiedRates.sol",
                    "scope": 7565,
                    "symbolAliases": [
                        null
                    ],
                    "unitAlias": ""
                },
                "id": 7341,
                "name": "ImportDirective",
                "src": "153:40:19"
            },
            {
                "attributes": {
                    "SourceUnit": 479,
                    "absolutePath": "@openzeppelin/upgrades/contracts/Initializable.sol",
                    "file": "@openzeppelin/upgrades/contracts/Initializable.sol",
                    "scope": 7565,
                    "symbolAliases": [
                        null
                    ],
                    "unitAlias": ""
                },
                "id": 7342,
                "name": "ImportDirective",
                "src": "195:60:19"
            },
            {
                "attributes": {
                    "contractDependencies": [
                        478,
                        8061
                    ],
                    "contractKind": "contract",
                    "documentation": null,
                    "fullyImplemented": true,
                    "linearizedBaseContracts": [
                        7564,
                        478,
                        8061
                    ],
                    "name": "Rates",
                    "scope": 7565
                },
                "children": [
                    {
                        "attributes": {
                            "arguments": null
                        },
                        "children": [
                            {
                                "attributes": {
                                    "contractScope": null,
                                    "name": "VerifiedRates",
                                    "referencedDeclaration": 8061,
                                    "type": "contract VerifiedRates"
                                },
                                "id": 7343,
                                "name": "UserDefinedTypeName",
                                "src": "277:13:19"
                            }
                        ],
                        "id": 7344,
                        "name": "InheritanceSpecifier",
                        "src": "277:13:19"
                    },
                    {
                        "attributes": {
                            "arguments": null
                        },
                        "children": [
                            {
                                "attributes": {
                                    "contractScope": null,
                                    "name": "Initializable",
                                    "referencedDeclaration": 478,
                                    "type": "contract Initializable"
                                },
                                "id": 7345,
                                "name": "UserDefinedTypeName",
                                "src": "292:13:19"
                            }
                        ],
                        "id": 7346,
                        "name": "InheritanceSpecifier",
                        "src": "292:13:19"
                    },
                    {
                        "attributes": {
                            "canonicalName": "Rates.payments",
                            "name": "payments",
                            "scope": 7564,
                            "visibility": "public"
                        },
                        "children": [
                            {
                                "attributes": {
                                    "constant": false,
                                    "name": "remittance",
                                    "scope": 7351,
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "type": "uint256",
                                    "value": null,
                                    "visibility": "internal"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "uint256",
                                            "type": "uint256"
                                        },
                                        "id": 7347,
                                        "name": "ElementaryTypeName",
                                        "src": "375:7:19"
                                    }
                                ],
                                "id": 7348,
                                "name": "VariableDeclaration",
                                "src": "375:18:19"
                            },
                            {
                                "attributes": {
                                    "constant": false,
                                    "name": "withdrawl",
                                    "scope": 7351,
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "type": "uint256",
                                    "value": null,
                                    "visibility": "internal"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "uint256",
                                            "type": "uint256"
                                        },
                                        "id": 7349,
                                        "name": "ElementaryTypeName",
                                        "src": "404:7:19"
                                    }
                                ],
                                "id": 7350,
                                "name": "VariableDeclaration",
                                "src": "404:17:19"
                            }
                        ],
                        "id": 7351,
                        "name": "StructDefinition",
                        "src": "349:80:19"
                    },
                    {
                        "attributes": {
                            "constant": false,
                            "name": "paymentFees",
                            "scope": 7564,
                            "stateVariable": true,
                            "storageLocation": "default",
                            "type": "mapping(address => struct Rates.payments)",
                            "value": null,
                            "visibility": "private"
                        },
                        "children": [
                            {
                                "attributes": {
                                    "type": "mapping(address => struct Rates.payments)"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "address",
                                            "type": "address"
                                        },
                                        "id": 7352,
                                        "name": "ElementaryTypeName",
                                        "src": "445:7:19"
                                    },
                                    {
                                        "attributes": {
                                            "contractScope": null,
                                            "name": "payments",
                                            "referencedDeclaration": 7351,
                                            "type": "struct Rates.payments"
                                        },
                                        "id": 7353,
                                        "name": "UserDefinedTypeName",
                                        "src": "456:8:19"
                                    }
                                ],
                                "id": 7354,
                                "name": "Mapping",
                                "src": "437:28:19"
                            }
                        ],
                        "id": 7355,
                        "name": "VariableDeclaration",
                        "src": "437:48:19"
                    },
                    {
                        "attributes": {
                            "canonicalName": "Rates.issues",
                            "name": "issues",
                            "scope": 7564,
                            "visibility": "public"
                        },
                        "children": [
                            {
                                "attributes": {
                                    "constant": false,
                                    "name": "issuing",
                                    "scope": 7360,
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "type": "uint256",
                                    "value": null,
                                    "visibility": "internal"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "uint256",
                                            "type": "uint256"
                                        },
                                        "id": 7356,
                                        "name": "ElementaryTypeName",
                                        "src": "571:7:19"
                                    }
                                ],
                                "id": 7357,
                                "name": "VariableDeclaration",
                                "src": "571:15:19"
                            },
                            {
                                "attributes": {
                                    "constant": false,
                                    "name": "redemption",
                                    "scope": 7360,
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "type": "uint256",
                                    "value": null,
                                    "visibility": "internal"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "uint256",
                                            "type": "uint256"
                                        },
                                        "id": 7358,
                                        "name": "ElementaryTypeName",
                                        "src": "597:7:19"
                                    }
                                ],
                                "id": 7359,
                                "name": "VariableDeclaration",
                                "src": "597:18:19"
                            }
                        ],
                        "id": 7360,
                        "name": "StructDefinition",
                        "src": "547:76:19"
                    },
                    {
                        "attributes": {
                            "constant": false,
                            "name": "issuingFees",
                            "scope": 7564,
                            "stateVariable": true,
                            "storageLocation": "default",
                            "type": "mapping(address => struct Rates.issues)",
                            "value": null,
                            "visibility": "private"
                        },
                        "children": [
                            {
                                "attributes": {
                                    "type": "mapping(address => struct Rates.issues)"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "address",
                                            "type": "address"
                                        },
                                        "id": 7361,
                                        "name": "ElementaryTypeName",
                                        "src": "639:7:19"
                                    },
                                    {
                                        "attributes": {
                                            "contractScope": null,
                                            "name": "issues",
                                            "referencedDeclaration": 7360,
                                            "type": "struct Rates.issues"
                                        },
                                        "id": 7362,
                                        "name": "UserDefinedTypeName",
                                        "src": "650:6:19"
                                    }
                                ],
                                "id": 7363,
                                "name": "Mapping",
                                "src": "631:26:19"
                            }
                        ],
                        "id": 7364,
                        "name": "VariableDeclaration",
                        "src": "631:46:19"
                    },
                    {
                        "attributes": {
                            "constant": false,
                            "name": "feeToSetter",
                            "scope": 7564,
                            "stateVariable": true,
                            "storageLocation": "default",
                            "type": "address",
                            "value": null,
                            "visibility": "private"
                        },
                        "children": [
                            {
                                "attributes": {
                                    "name": "address",
                                    "stateMutability": "nonpayable",
                                    "type": "address"
                                },
                                "id": 7365,
                                "name": "ElementaryTypeName",
                                "src": "722:7:19"
                            }
                        ],
                        "id": 7366,
                        "name": "VariableDeclaration",
                        "src": "722:27:19"
                    },
                    {
                        "attributes": {
                            "constant": false,
                            "name": "custodian",
                            "scope": 7564,
                            "stateVariable": true,
                            "storageLocation": "default",
                            "type": "address",
                            "value": null,
                            "visibility": "private"
                        },
                        "children": [
                            {
                                "attributes": {
                                    "name": "address",
                                    "stateMutability": "nonpayable",
                                    "type": "address"
                                },
                                "id": 7367,
                                "name": "ElementaryTypeName",
                                "src": "786:7:19"
                            }
                        ],
                        "id": 7368,
                        "name": "VariableDeclaration",
                        "src": "786:25:19"
                    },
                    {
                        "attributes": {
                            "constant": false,
                            "name": "_lock",
                            "scope": 7564,
                            "stateVariable": true,
                            "storageLocation": "default",
                            "type": "mapping(bytes32 => bool)",
                            "value": null,
                            "visibility": "private"
                        },
                        "children": [
                            {
                                "attributes": {
                                    "type": "mapping(bytes32 => bool)"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "bytes32",
                                            "type": "bytes32"
                                        },
                                        "id": 7369,
                                        "name": "ElementaryTypeName",
                                        "src": "841:7:19"
                                    },
                                    {
                                        "attributes": {
                                            "name": "bool",
                                            "type": "bool"
                                        },
                                        "id": 7370,
                                        "name": "ElementaryTypeName",
                                        "src": "852:4:19"
                                    }
                                ],
                                "id": 7371,
                                "name": "Mapping",
                                "src": "833:24:19"
                            }
                        ],
                        "id": 7372,
                        "name": "VariableDeclaration",
                        "src": "833:38:19"
                    },
                    {
                        "attributes": {
                            "documentation": null,
                            "name": "onlyFeeAdmin",
                            "visibility": "internal"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "sender",
                                            "scope": 7385,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "address",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "address",
                                                    "stateMutability": "nonpayable",
                                                    "type": "address"
                                                },
                                                "id": 7373,
                                                "name": "ElementaryTypeName",
                                                "src": "902:7:19"
                                            }
                                        ],
                                        "id": 7374,
                                        "name": "VariableDeclaration",
                                        "src": "902:14:19"
                                    }
                                ],
                                "id": 7375,
                                "name": "ParameterList",
                                "src": "901:16:19"
                            },
                            {
                                "children": [
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "isStructConstructorCall": false,
                                                    "lValueRequested": false,
                                                    "names": [
                                                        null
                                                    ],
                                                    "type": "tuple()",
                                                    "type_conversion": false
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": [
                                                                {
                                                                    "typeIdentifier": "t_bool",
                                                                    "typeString": "bool"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_stringliteral_80a2faa9ae5285bc5e4dfa764441d2fd3d588a4b5128653500aaf68b2c1b7735",
                                                                    "typeString": "literal_string \"Unauthorized access for fee administration\""
                                                                }
                                                            ],
                                                            "overloadedDeclarations": [
                                                                13010,
                                                                13011
                                                            ],
                                                            "referencedDeclaration": 13011,
                                                            "type": "function (bool,string memory) pure",
                                                            "value": "require"
                                                        },
                                                        "id": 7376,
                                                        "name": "Identifier",
                                                        "src": "928:7:19"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "commonType": {
                                                                "typeIdentifier": "t_address",
                                                                "typeString": "address"
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "operator": "==",
                                                            "type": "bool"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 7374,
                                                                    "type": "address",
                                                                    "value": "sender"
                                                                },
                                                                "id": 7377,
                                                                "name": "Identifier",
                                                                "src": "936:6:19"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 7366,
                                                                    "type": "address",
                                                                    "value": "feeToSetter"
                                                                },
                                                                "id": 7378,
                                                                "name": "Identifier",
                                                                "src": "946:11:19"
                                                            }
                                                        ],
                                                        "id": 7379,
                                                        "name": "BinaryOperation",
                                                        "src": "936:21:19"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "556e617574686f72697a65642061636365737320666f72206665652061646d696e697374726174696f6e",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "string",
                                                            "type": "literal_string \"Unauthorized access for fee administration\"",
                                                            "value": "Unauthorized access for fee administration"
                                                        },
                                                        "id": 7380,
                                                        "name": "Literal",
                                                        "src": "959:44:19"
                                                    }
                                                ],
                                                "id": 7381,
                                                "name": "FunctionCall",
                                                "src": "928:76:19"
                                            }
                                        ],
                                        "id": 7382,
                                        "name": "ExpressionStatement",
                                        "src": "928:76:19"
                                    },
                                    {
                                        "id": 7383,
                                        "name": "PlaceholderStatement",
                                        "src": "1015:1:19"
                                    }
                                ],
                                "id": 7384,
                                "name": "Block",
                                "src": "917:107:19"
                            }
                        ],
                        "id": 7385,
                        "name": "ModifierDefinition",
                        "src": "880:144:19"
                    },
                    {
                        "attributes": {
                            "documentation": null,
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "name": "initialize",
                            "scope": 7564,
                            "stateMutability": "nonpayable",
                            "superFunction": null,
                            "visibility": "public"
                        },
                        "children": [
                            {
                                "attributes": {
                                    "parameters": [
                                        null
                                    ]
                                },
                                "children": [],
                                "id": 7386,
                                "name": "ParameterList",
                                "src": "1051:2:19"
                            },
                            {
                                "attributes": {
                                    "parameters": [
                                        null
                                    ]
                                },
                                "children": [],
                                "id": 7389,
                                "name": "ParameterList",
                                "src": "1072:0:19"
                            },
                            {
                                "attributes": {
                                    "arguments": null
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 453,
                                            "type": "modifier ()",
                                            "value": "initializer"
                                        },
                                        "id": 7387,
                                        "name": "Identifier",
                                        "src": "1061:11:19"
                                    }
                                ],
                                "id": 7388,
                                "name": "ModifierInvocation",
                                "src": "1061:11:19"
                            },
                            {
                                "children": [
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "=",
                                                    "type": "address"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 7366,
                                                            "type": "address",
                                                            "value": "feeToSetter"
                                                        },
                                                        "id": 7390,
                                                        "name": "Identifier",
                                                        "src": "1083:11:19"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "sender",
                                                            "referencedDeclaration": null,
                                                            "type": "address payable"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 13007,
                                                                    "type": "msg",
                                                                    "value": "msg"
                                                                },
                                                                "id": 7391,
                                                                "name": "Identifier",
                                                                "src": "1097:3:19"
                                                            }
                                                        ],
                                                        "id": 7392,
                                                        "name": "MemberAccess",
                                                        "src": "1097:10:19"
                                                    }
                                                ],
                                                "id": 7393,
                                                "name": "Assignment",
                                                "src": "1083:24:19"
                                            }
                                        ],
                                        "id": 7394,
                                        "name": "ExpressionStatement",
                                        "src": "1083:24:19"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "=",
                                                    "type": "address"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 7368,
                                                            "type": "address",
                                                            "value": "custodian"
                                                        },
                                                        "id": 7395,
                                                        "name": "Identifier",
                                                        "src": "1118:9:19"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "sender",
                                                            "referencedDeclaration": null,
                                                            "type": "address payable"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 13007,
                                                                    "type": "msg",
                                                                    "value": "msg"
                                                                },
                                                                "id": 7396,
                                                                "name": "Identifier",
                                                                "src": "1130:3:19"
                                                            }
                                                        ],
                                                        "id": 7397,
                                                        "name": "MemberAccess",
                                                        "src": "1130:10:19"
                                                    }
                                                ],
                                                "id": 7398,
                                                "name": "Assignment",
                                                "src": "1118:22:19"
                                            }
                                        ],
                                        "id": 7399,
                                        "name": "ExpressionStatement",
                                        "src": "1118:22:19"
                                    }
                                ],
                                "id": 7400,
                                "name": "Block",
                                "src": "1072:76:19"
                            }
                        ],
                        "id": 7401,
                        "name": "FunctionDefinition",
                        "src": "1032:116:19"
                    },
                    {
                        "attributes": {
                            "documentation": null,
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "name": "setFeeTo",
                            "scope": 7564,
                            "stateMutability": "nonpayable",
                            "superFunction": 8060,
                            "visibility": "external"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "feeTo",
                                            "scope": 7463,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "address",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "address",
                                                    "stateMutability": "nonpayable",
                                                    "type": "address"
                                                },
                                                "id": 7402,
                                                "name": "ElementaryTypeName",
                                                "src": "1174:7:19"
                                            }
                                        ],
                                        "id": 7403,
                                        "name": "VariableDeclaration",
                                        "src": "1174:13:19"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "fee",
                                            "scope": 7463,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "uint256",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "uint256",
                                                    "type": "uint256"
                                                },
                                                "id": 7404,
                                                "name": "ElementaryTypeName",
                                                "src": "1189:7:19"
                                            }
                                        ],
                                        "id": 7405,
                                        "name": "VariableDeclaration",
                                        "src": "1189:11:19"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "feeType",
                                            "scope": 7463,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 7406,
                                                "name": "ElementaryTypeName",
                                                "src": "1202:7:19"
                                            }
                                        ],
                                        "id": 7407,
                                        "name": "VariableDeclaration",
                                        "src": "1202:15:19"
                                    }
                                ],
                                "id": 7408,
                                "name": "ParameterList",
                                "src": "1173:45:19"
                            },
                            {
                                "attributes": {
                                    "parameters": [
                                        null
                                    ]
                                },
                                "children": [],
                                "id": 7413,
                                "name": "ParameterList",
                                "src": "1253:0:19"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 7385,
                                            "type": "modifier (address)",
                                            "value": "onlyFeeAdmin"
                                        },
                                        "id": 7409,
                                        "name": "Identifier",
                                        "src": "1219:12:19"
                                    },
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "member_name": "sender",
                                            "referencedDeclaration": null,
                                            "type": "address payable"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "overloadedDeclarations": [
                                                        null
                                                    ],
                                                    "referencedDeclaration": 13007,
                                                    "type": "msg",
                                                    "value": "msg"
                                                },
                                                "id": 7410,
                                                "name": "Identifier",
                                                "src": "1232:3:19"
                                            }
                                        ],
                                        "id": 7411,
                                        "name": "MemberAccess",
                                        "src": "1232:10:19"
                                    }
                                ],
                                "id": 7412,
                                "name": "ModifierInvocation",
                                "src": "1219:24:19"
                            },
                            {
                                "children": [
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "==",
                                                    "type": "bool"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 7407,
                                                            "type": "bytes32",
                                                            "value": "feeType"
                                                        },
                                                        "id": 7414,
                                                        "name": "Identifier",
                                                        "src": "1267:7:19"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "69737375696e67",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "string",
                                                            "type": "literal_string \"issuing\"",
                                                            "value": "issuing"
                                                        },
                                                        "id": 7415,
                                                        "name": "Literal",
                                                        "src": "1276:9:19"
                                                    }
                                                ],
                                                "id": 7416,
                                                "name": "BinaryOperation",
                                                "src": "1267:18:19"
                                            },
                                            {
                                                "children": [
                                                    {
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "operator": "=",
                                                                    "type": "uint256"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": true,
                                                                            "member_name": "issuing",
                                                                            "referencedDeclaration": 7357,
                                                                            "type": "uint256"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "type": "struct Rates.issues storage ref"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 7364,
                                                                                            "type": "mapping(address => struct Rates.issues storage ref)",
                                                                                            "value": "issuingFees"
                                                                                        },
                                                                                        "id": 7417,
                                                                                        "name": "Identifier",
                                                                                        "src": "1301:11:19"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 7403,
                                                                                            "type": "address",
                                                                                            "value": "feeTo"
                                                                                        },
                                                                                        "id": 7418,
                                                                                        "name": "Identifier",
                                                                                        "src": "1313:5:19"
                                                                                    }
                                                                                ],
                                                                                "id": 7419,
                                                                                "name": "IndexAccess",
                                                                                "src": "1301:18:19"
                                                                            }
                                                                        ],
                                                                        "id": 7420,
                                                                        "name": "MemberAccess",
                                                                        "src": "1301:26:19"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 7405,
                                                                            "type": "uint256",
                                                                            "value": "fee"
                                                                        },
                                                                        "id": 7421,
                                                                        "name": "Identifier",
                                                                        "src": "1330:3:19"
                                                                    }
                                                                ],
                                                                "id": 7422,
                                                                "name": "Assignment",
                                                                "src": "1301:32:19"
                                                            }
                                                        ],
                                                        "id": 7423,
                                                        "name": "ExpressionStatement",
                                                        "src": "1301:32:19"
                                                    }
                                                ],
                                                "id": 7424,
                                                "name": "Block",
                                                "src": "1286:59:19"
                                            },
                                            {
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "commonType": {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "operator": "==",
                                                            "type": "bool"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 7407,
                                                                    "type": "bytes32",
                                                                    "value": "feeType"
                                                                },
                                                                "id": 7425,
                                                                "name": "Identifier",
                                                                "src": "1363:7:19"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "hexvalue": "726564656d7074696f6e",
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "lValueRequested": false,
                                                                    "subdenomination": null,
                                                                    "token": "string",
                                                                    "type": "literal_string \"redemption\"",
                                                                    "value": "redemption"
                                                                },
                                                                "id": 7426,
                                                                "name": "Literal",
                                                                "src": "1372:12:19"
                                                            }
                                                        ],
                                                        "id": 7427,
                                                        "name": "BinaryOperation",
                                                        "src": "1363:21:19"
                                                    },
                                                    {
                                                        "children": [
                                                            {
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "operator": "=",
                                                                            "type": "uint256"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": true,
                                                                                    "member_name": "redemption",
                                                                                    "referencedDeclaration": 7359,
                                                                                    "type": "uint256"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "type": "struct Rates.issues storage ref"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 7364,
                                                                                                    "type": "mapping(address => struct Rates.issues storage ref)",
                                                                                                    "value": "issuingFees"
                                                                                                },
                                                                                                "id": 7428,
                                                                                                "name": "Identifier",
                                                                                                "src": "1400:11:19"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 7403,
                                                                                                    "type": "address",
                                                                                                    "value": "feeTo"
                                                                                                },
                                                                                                "id": 7429,
                                                                                                "name": "Identifier",
                                                                                                "src": "1412:5:19"
                                                                                            }
                                                                                        ],
                                                                                        "id": 7430,
                                                                                        "name": "IndexAccess",
                                                                                        "src": "1400:18:19"
                                                                                    }
                                                                                ],
                                                                                "id": 7431,
                                                                                "name": "MemberAccess",
                                                                                "src": "1400:29:19"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 7405,
                                                                                    "type": "uint256",
                                                                                    "value": "fee"
                                                                                },
                                                                                "id": 7432,
                                                                                "name": "Identifier",
                                                                                "src": "1432:3:19"
                                                                            }
                                                                        ],
                                                                        "id": 7433,
                                                                        "name": "Assignment",
                                                                        "src": "1400:35:19"
                                                                    }
                                                                ],
                                                                "id": 7434,
                                                                "name": "ExpressionStatement",
                                                                "src": "1400:35:19"
                                                            }
                                                        ],
                                                        "id": 7435,
                                                        "name": "Block",
                                                        "src": "1385:62:19"
                                                    },
                                                    {
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "commonType": {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "operator": "==",
                                                                    "type": "bool"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 7407,
                                                                            "type": "bytes32",
                                                                            "value": "feeType"
                                                                        },
                                                                        "id": 7436,
                                                                        "name": "Identifier",
                                                                        "src": "1465:7:19"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "hexvalue": "72656d697474616e6365",
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": true,
                                                                            "lValueRequested": false,
                                                                            "subdenomination": null,
                                                                            "token": "string",
                                                                            "type": "literal_string \"remittance\"",
                                                                            "value": "remittance"
                                                                        },
                                                                        "id": 7437,
                                                                        "name": "Literal",
                                                                        "src": "1474:12:19"
                                                                    }
                                                                ],
                                                                "id": 7438,
                                                                "name": "BinaryOperation",
                                                                "src": "1465:21:19"
                                                            },
                                                            {
                                                                "children": [
                                                                    {
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "operator": "=",
                                                                                    "type": "uint256"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": true,
                                                                                            "member_name": "remittance",
                                                                                            "referencedDeclaration": 7348,
                                                                                            "type": "uint256"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": true,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": false,
                                                                                                    "type": "struct Rates.payments storage ref"
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "overloadedDeclarations": [
                                                                                                                null
                                                                                                            ],
                                                                                                            "referencedDeclaration": 7355,
                                                                                                            "type": "mapping(address => struct Rates.payments storage ref)",
                                                                                                            "value": "paymentFees"
                                                                                                        },
                                                                                                        "id": 7439,
                                                                                                        "name": "Identifier",
                                                                                                        "src": "1502:11:19"
                                                                                                    },
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "overloadedDeclarations": [
                                                                                                                null
                                                                                                            ],
                                                                                                            "referencedDeclaration": 7403,
                                                                                                            "type": "address",
                                                                                                            "value": "feeTo"
                                                                                                        },
                                                                                                        "id": 7440,
                                                                                                        "name": "Identifier",
                                                                                                        "src": "1514:5:19"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 7441,
                                                                                                "name": "IndexAccess",
                                                                                                "src": "1502:18:19"
                                                                                            }
                                                                                        ],
                                                                                        "id": 7442,
                                                                                        "name": "MemberAccess",
                                                                                        "src": "1502:29:19"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 7405,
                                                                                            "type": "uint256",
                                                                                            "value": "fee"
                                                                                        },
                                                                                        "id": 7443,
                                                                                        "name": "Identifier",
                                                                                        "src": "1534:3:19"
                                                                                    }
                                                                                ],
                                                                                "id": 7444,
                                                                                "name": "Assignment",
                                                                                "src": "1502:35:19"
                                                                            }
                                                                        ],
                                                                        "id": 7445,
                                                                        "name": "ExpressionStatement",
                                                                        "src": "1502:35:19"
                                                                    }
                                                                ],
                                                                "id": 7446,
                                                                "name": "Block",
                                                                "src": "1487:62:19"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "falseBody": null
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "commonType": {
                                                                                "typeIdentifier": "t_bytes32",
                                                                                "typeString": "bytes32"
                                                                            },
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "operator": "==",
                                                                            "type": "bool"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 7407,
                                                                                    "type": "bytes32",
                                                                                    "value": "feeType"
                                                                                },
                                                                                "id": 7447,
                                                                                "name": "Identifier",
                                                                                "src": "1567:7:19"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "hexvalue": "77697468647261776c",
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": true,
                                                                                    "lValueRequested": false,
                                                                                    "subdenomination": null,
                                                                                    "token": "string",
                                                                                    "type": "literal_string \"withdrawl\"",
                                                                                    "value": "withdrawl"
                                                                                },
                                                                                "id": 7448,
                                                                                "name": "Literal",
                                                                                "src": "1576:11:19"
                                                                            }
                                                                        ],
                                                                        "id": 7449,
                                                                        "name": "BinaryOperation",
                                                                        "src": "1567:20:19"
                                                                    },
                                                                    {
                                                                        "children": [
                                                                            {
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": false,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "operator": "=",
                                                                                            "type": "uint256"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": true,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": true,
                                                                                                    "member_name": "withdrawl",
                                                                                                    "referencedDeclaration": 7350,
                                                                                                    "type": "uint256"
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "isConstant": false,
                                                                                                            "isLValue": true,
                                                                                                            "isPure": false,
                                                                                                            "lValueRequested": false,
                                                                                                            "type": "struct Rates.payments storage ref"
                                                                                                        },
                                                                                                        "children": [
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "overloadedDeclarations": [
                                                                                                                        null
                                                                                                                    ],
                                                                                                                    "referencedDeclaration": 7355,
                                                                                                                    "type": "mapping(address => struct Rates.payments storage ref)",
                                                                                                                    "value": "paymentFees"
                                                                                                                },
                                                                                                                "id": 7450,
                                                                                                                "name": "Identifier",
                                                                                                                "src": "1603:11:19"
                                                                                                            },
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "overloadedDeclarations": [
                                                                                                                        null
                                                                                                                    ],
                                                                                                                    "referencedDeclaration": 7403,
                                                                                                                    "type": "address",
                                                                                                                    "value": "feeTo"
                                                                                                                },
                                                                                                                "id": 7451,
                                                                                                                "name": "Identifier",
                                                                                                                "src": "1615:5:19"
                                                                                                            }
                                                                                                        ],
                                                                                                        "id": 7452,
                                                                                                        "name": "IndexAccess",
                                                                                                        "src": "1603:18:19"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 7453,
                                                                                                "name": "MemberAccess",
                                                                                                "src": "1603:28:19"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 7405,
                                                                                                    "type": "uint256",
                                                                                                    "value": "fee"
                                                                                                },
                                                                                                "id": 7454,
                                                                                                "name": "Identifier",
                                                                                                "src": "1634:3:19"
                                                                                            }
                                                                                        ],
                                                                                        "id": 7455,
                                                                                        "name": "Assignment",
                                                                                        "src": "1603:34:19"
                                                                                    }
                                                                                ],
                                                                                "id": 7456,
                                                                                "name": "ExpressionStatement",
                                                                                "src": "1603:34:19"
                                                                            }
                                                                        ],
                                                                        "id": 7457,
                                                                        "name": "Block",
                                                                        "src": "1588:61:19"
                                                                    }
                                                                ],
                                                                "id": 7458,
                                                                "name": "IfStatement",
                                                                "src": "1564:85:19"
                                                            }
                                                        ],
                                                        "id": 7459,
                                                        "name": "IfStatement",
                                                        "src": "1462:187:19"
                                                    }
                                                ],
                                                "id": 7460,
                                                "name": "IfStatement",
                                                "src": "1360:289:19"
                                            }
                                        ],
                                        "id": 7461,
                                        "name": "IfStatement",
                                        "src": "1264:385:19"
                                    }
                                ],
                                "id": 7462,
                                "name": "Block",
                                "src": "1253:403:19"
                            }
                        ],
                        "id": 7463,
                        "name": "FunctionDefinition",
                        "src": "1156:500:19"
                    },
                    {
                        "attributes": {
                            "documentation": null,
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "modifiers": [
                                null
                            ],
                            "name": "getFee",
                            "scope": 7564,
                            "stateMutability": "view",
                            "superFunction": 8051,
                            "visibility": "external"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "feeType",
                                            "scope": 7519,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 7464,
                                                "name": "ElementaryTypeName",
                                                "src": "1718:7:19"
                                            }
                                        ],
                                        "id": 7465,
                                        "name": "VariableDeclaration",
                                        "src": "1718:15:19"
                                    }
                                ],
                                "id": 7466,
                                "name": "ParameterList",
                                "src": "1717:17:19"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "fee",
                                            "scope": 7519,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "uint256",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "uint256",
                                                    "type": "uint256"
                                                },
                                                "id": 7467,
                                                "name": "ElementaryTypeName",
                                                "src": "1757:7:19"
                                            }
                                        ],
                                        "id": 7468,
                                        "name": "VariableDeclaration",
                                        "src": "1757:11:19"
                                    }
                                ],
                                "id": 7469,
                                "name": "ParameterList",
                                "src": "1756:13:19"
                            },
                            {
                                "children": [
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "==",
                                                    "type": "bool"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 7465,
                                                            "type": "bytes32",
                                                            "value": "feeType"
                                                        },
                                                        "id": 7470,
                                                        "name": "Identifier",
                                                        "src": "1783:7:19"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "69737375696e67",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "string",
                                                            "type": "literal_string \"issuing\"",
                                                            "value": "issuing"
                                                        },
                                                        "id": 7471,
                                                        "name": "Literal",
                                                        "src": "1792:9:19"
                                                    }
                                                ],
                                                "id": 7472,
                                                "name": "BinaryOperation",
                                                "src": "1783:18:19"
                                            },
                                            {
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "functionReturnParameters": 7469
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isInlineArray": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "type": "uint256"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "member_name": "issuing",
                                                                            "referencedDeclaration": 7357,
                                                                            "type": "uint256"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "type": "struct Rates.issues storage ref"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 7364,
                                                                                            "type": "mapping(address => struct Rates.issues storage ref)",
                                                                                            "value": "issuingFees"
                                                                                        },
                                                                                        "id": 7473,
                                                                                        "name": "Identifier",
                                                                                        "src": "1825:11:19"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": false,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "member_name": "sender",
                                                                                            "referencedDeclaration": null,
                                                                                            "type": "address payable"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 13007,
                                                                                                    "type": "msg",
                                                                                                    "value": "msg"
                                                                                                },
                                                                                                "id": 7474,
                                                                                                "name": "Identifier",
                                                                                                "src": "1837:3:19"
                                                                                            }
                                                                                        ],
                                                                                        "id": 7475,
                                                                                        "name": "MemberAccess",
                                                                                        "src": "1837:10:19"
                                                                                    }
                                                                                ],
                                                                                "id": 7476,
                                                                                "name": "IndexAccess",
                                                                                "src": "1825:23:19"
                                                                            }
                                                                        ],
                                                                        "id": 7477,
                                                                        "name": "MemberAccess",
                                                                        "src": "1825:31:19"
                                                                    }
                                                                ],
                                                                "id": 7478,
                                                                "name": "TupleExpression",
                                                                "src": "1824:33:19"
                                                            }
                                                        ],
                                                        "id": 7479,
                                                        "name": "Return",
                                                        "src": "1817:40:19"
                                                    }
                                                ],
                                                "id": 7480,
                                                "name": "Block",
                                                "src": "1802:67:19"
                                            },
                                            {
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "commonType": {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "operator": "==",
                                                            "type": "bool"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 7465,
                                                                    "type": "bytes32",
                                                                    "value": "feeType"
                                                                },
                                                                "id": 7481,
                                                                "name": "Identifier",
                                                                "src": "1887:7:19"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "hexvalue": "726564656d7074696f6e",
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "lValueRequested": false,
                                                                    "subdenomination": null,
                                                                    "token": "string",
                                                                    "type": "literal_string \"redemption\"",
                                                                    "value": "redemption"
                                                                },
                                                                "id": 7482,
                                                                "name": "Literal",
                                                                "src": "1896:12:19"
                                                            }
                                                        ],
                                                        "id": 7483,
                                                        "name": "BinaryOperation",
                                                        "src": "1887:21:19"
                                                    },
                                                    {
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "functionReturnParameters": 7469
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isInlineArray": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "type": "uint256"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "member_name": "redemption",
                                                                                    "referencedDeclaration": 7359,
                                                                                    "type": "uint256"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "type": "struct Rates.issues storage ref"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 7364,
                                                                                                    "type": "mapping(address => struct Rates.issues storage ref)",
                                                                                                    "value": "issuingFees"
                                                                                                },
                                                                                                "id": 7484,
                                                                                                "name": "Identifier",
                                                                                                "src": "1932:11:19"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": false,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": false,
                                                                                                    "member_name": "sender",
                                                                                                    "referencedDeclaration": null,
                                                                                                    "type": "address payable"
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "overloadedDeclarations": [
                                                                                                                null
                                                                                                            ],
                                                                                                            "referencedDeclaration": 13007,
                                                                                                            "type": "msg",
                                                                                                            "value": "msg"
                                                                                                        },
                                                                                                        "id": 7485,
                                                                                                        "name": "Identifier",
                                                                                                        "src": "1944:3:19"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 7486,
                                                                                                "name": "MemberAccess",
                                                                                                "src": "1944:10:19"
                                                                                            }
                                                                                        ],
                                                                                        "id": 7487,
                                                                                        "name": "IndexAccess",
                                                                                        "src": "1932:23:19"
                                                                                    }
                                                                                ],
                                                                                "id": 7488,
                                                                                "name": "MemberAccess",
                                                                                "src": "1932:34:19"
                                                                            }
                                                                        ],
                                                                        "id": 7489,
                                                                        "name": "TupleExpression",
                                                                        "src": "1931:36:19"
                                                                    }
                                                                ],
                                                                "id": 7490,
                                                                "name": "Return",
                                                                "src": "1924:43:19"
                                                            }
                                                        ],
                                                        "id": 7491,
                                                        "name": "Block",
                                                        "src": "1909:70:19"
                                                    },
                                                    {
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "commonType": {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "operator": "==",
                                                                    "type": "bool"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 7465,
                                                                            "type": "bytes32",
                                                                            "value": "feeType"
                                                                        },
                                                                        "id": 7492,
                                                                        "name": "Identifier",
                                                                        "src": "1997:7:19"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "hexvalue": "72656d697474616e6365",
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": true,
                                                                            "lValueRequested": false,
                                                                            "subdenomination": null,
                                                                            "token": "string",
                                                                            "type": "literal_string \"remittance\"",
                                                                            "value": "remittance"
                                                                        },
                                                                        "id": 7493,
                                                                        "name": "Literal",
                                                                        "src": "2006:12:19"
                                                                    }
                                                                ],
                                                                "id": 7494,
                                                                "name": "BinaryOperation",
                                                                "src": "1997:21:19"
                                                            },
                                                            {
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "functionReturnParameters": 7469
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isInlineArray": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "type": "uint256"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "member_name": "remittance",
                                                                                            "referencedDeclaration": 7348,
                                                                                            "type": "uint256"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": true,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": false,
                                                                                                    "type": "struct Rates.payments storage ref"
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "overloadedDeclarations": [
                                                                                                                null
                                                                                                            ],
                                                                                                            "referencedDeclaration": 7355,
                                                                                                            "type": "mapping(address => struct Rates.payments storage ref)",
                                                                                                            "value": "paymentFees"
                                                                                                        },
                                                                                                        "id": 7495,
                                                                                                        "name": "Identifier",
                                                                                                        "src": "2042:11:19"
                                                                                                    },
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "isConstant": false,
                                                                                                            "isLValue": false,
                                                                                                            "isPure": false,
                                                                                                            "lValueRequested": false,
                                                                                                            "member_name": "sender",
                                                                                                            "referencedDeclaration": null,
                                                                                                            "type": "address payable"
                                                                                                        },
                                                                                                        "children": [
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "overloadedDeclarations": [
                                                                                                                        null
                                                                                                                    ],
                                                                                                                    "referencedDeclaration": 13007,
                                                                                                                    "type": "msg",
                                                                                                                    "value": "msg"
                                                                                                                },
                                                                                                                "id": 7496,
                                                                                                                "name": "Identifier",
                                                                                                                "src": "2054:3:19"
                                                                                                            }
                                                                                                        ],
                                                                                                        "id": 7497,
                                                                                                        "name": "MemberAccess",
                                                                                                        "src": "2054:10:19"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 7498,
                                                                                                "name": "IndexAccess",
                                                                                                "src": "2042:23:19"
                                                                                            }
                                                                                        ],
                                                                                        "id": 7499,
                                                                                        "name": "MemberAccess",
                                                                                        "src": "2042:34:19"
                                                                                    }
                                                                                ],
                                                                                "id": 7500,
                                                                                "name": "TupleExpression",
                                                                                "src": "2041:36:19"
                                                                            }
                                                                        ],
                                                                        "id": 7501,
                                                                        "name": "Return",
                                                                        "src": "2034:43:19"
                                                                    }
                                                                ],
                                                                "id": 7502,
                                                                "name": "Block",
                                                                "src": "2019:70:19"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "falseBody": null
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "commonType": {
                                                                                "typeIdentifier": "t_bytes32",
                                                                                "typeString": "bytes32"
                                                                            },
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "operator": "==",
                                                                            "type": "bool"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 7465,
                                                                                    "type": "bytes32",
                                                                                    "value": "feeType"
                                                                                },
                                                                                "id": 7503,
                                                                                "name": "Identifier",
                                                                                "src": "2107:7:19"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "hexvalue": "77697468647261776c",
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": true,
                                                                                    "lValueRequested": false,
                                                                                    "subdenomination": null,
                                                                                    "token": "string",
                                                                                    "type": "literal_string \"withdrawl\"",
                                                                                    "value": "withdrawl"
                                                                                },
                                                                                "id": 7504,
                                                                                "name": "Literal",
                                                                                "src": "2116:11:19"
                                                                            }
                                                                        ],
                                                                        "id": 7505,
                                                                        "name": "BinaryOperation",
                                                                        "src": "2107:20:19"
                                                                    },
                                                                    {
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "functionReturnParameters": 7469
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isInlineArray": false,
                                                                                            "isLValue": false,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "type": "uint256"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": true,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": false,
                                                                                                    "member_name": "withdrawl",
                                                                                                    "referencedDeclaration": 7350,
                                                                                                    "type": "uint256"
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "isConstant": false,
                                                                                                            "isLValue": true,
                                                                                                            "isPure": false,
                                                                                                            "lValueRequested": false,
                                                                                                            "type": "struct Rates.payments storage ref"
                                                                                                        },
                                                                                                        "children": [
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "overloadedDeclarations": [
                                                                                                                        null
                                                                                                                    ],
                                                                                                                    "referencedDeclaration": 7355,
                                                                                                                    "type": "mapping(address => struct Rates.payments storage ref)",
                                                                                                                    "value": "paymentFees"
                                                                                                                },
                                                                                                                "id": 7506,
                                                                                                                "name": "Identifier",
                                                                                                                "src": "2151:11:19"
                                                                                                            },
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "isConstant": false,
                                                                                                                    "isLValue": false,
                                                                                                                    "isPure": false,
                                                                                                                    "lValueRequested": false,
                                                                                                                    "member_name": "sender",
                                                                                                                    "referencedDeclaration": null,
                                                                                                                    "type": "address payable"
                                                                                                                },
                                                                                                                "children": [
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "overloadedDeclarations": [
                                                                                                                                null
                                                                                                                            ],
                                                                                                                            "referencedDeclaration": 13007,
                                                                                                                            "type": "msg",
                                                                                                                            "value": "msg"
                                                                                                                        },
                                                                                                                        "id": 7507,
                                                                                                                        "name": "Identifier",
                                                                                                                        "src": "2163:3:19"
                                                                                                                    }
                                                                                                                ],
                                                                                                                "id": 7508,
                                                                                                                "name": "MemberAccess",
                                                                                                                "src": "2163:10:19"
                                                                                                            }
                                                                                                        ],
                                                                                                        "id": 7509,
                                                                                                        "name": "IndexAccess",
                                                                                                        "src": "2151:23:19"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 7510,
                                                                                                "name": "MemberAccess",
                                                                                                "src": "2151:33:19"
                                                                                            }
                                                                                        ],
                                                                                        "id": 7511,
                                                                                        "name": "TupleExpression",
                                                                                        "src": "2150:35:19"
                                                                                    }
                                                                                ],
                                                                                "id": 7512,
                                                                                "name": "Return",
                                                                                "src": "2143:42:19"
                                                                            }
                                                                        ],
                                                                        "id": 7513,
                                                                        "name": "Block",
                                                                        "src": "2128:69:19"
                                                                    }
                                                                ],
                                                                "id": 7514,
                                                                "name": "IfStatement",
                                                                "src": "2104:93:19"
                                                            }
                                                        ],
                                                        "id": 7515,
                                                        "name": "IfStatement",
                                                        "src": "1994:203:19"
                                                    }
                                                ],
                                                "id": 7516,
                                                "name": "IfStatement",
                                                "src": "1884:313:19"
                                            }
                                        ],
                                        "id": 7517,
                                        "name": "IfStatement",
                                        "src": "1780:417:19"
                                    }
                                ],
                                "id": 7518,
                                "name": "Block",
                                "src": "1769:435:19"
                            }
                        ],
                        "id": 7519,
                        "name": "FunctionDefinition",
                        "src": "1702:502:19"
                    },
                    {
                        "attributes": {
                            "documentation": null,
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "name": "setFeeToSetter",
                            "scope": 7564,
                            "stateMutability": "nonpayable",
                            "superFunction": 8044,
                            "visibility": "external"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_feeToSetter",
                                            "scope": 7533,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "address",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "address",
                                                    "stateMutability": "nonpayable",
                                                    "type": "address"
                                                },
                                                "id": 7520,
                                                "name": "ElementaryTypeName",
                                                "src": "2236:7:19"
                                            }
                                        ],
                                        "id": 7521,
                                        "name": "VariableDeclaration",
                                        "src": "2236:20:19"
                                    }
                                ],
                                "id": 7522,
                                "name": "ParameterList",
                                "src": "2235:22:19"
                            },
                            {
                                "attributes": {
                                    "parameters": [
                                        null
                                    ]
                                },
                                "children": [],
                                "id": 7527,
                                "name": "ParameterList",
                                "src": "2292:0:19"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 7385,
                                            "type": "modifier (address)",
                                            "value": "onlyFeeAdmin"
                                        },
                                        "id": 7523,
                                        "name": "Identifier",
                                        "src": "2258:12:19"
                                    },
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "member_name": "sender",
                                            "referencedDeclaration": null,
                                            "type": "address payable"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "overloadedDeclarations": [
                                                        null
                                                    ],
                                                    "referencedDeclaration": 13007,
                                                    "type": "msg",
                                                    "value": "msg"
                                                },
                                                "id": 7524,
                                                "name": "Identifier",
                                                "src": "2271:3:19"
                                            }
                                        ],
                                        "id": 7525,
                                        "name": "MemberAccess",
                                        "src": "2271:10:19"
                                    }
                                ],
                                "id": 7526,
                                "name": "ModifierInvocation",
                                "src": "2258:24:19"
                            },
                            {
                                "children": [
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "=",
                                                    "type": "address"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 7366,
                                                            "type": "address",
                                                            "value": "feeToSetter"
                                                        },
                                                        "id": 7528,
                                                        "name": "Identifier",
                                                        "src": "2311:11:19"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 7521,
                                                            "type": "address",
                                                            "value": "_feeToSetter"
                                                        },
                                                        "id": 7529,
                                                        "name": "Identifier",
                                                        "src": "2325:12:19"
                                                    }
                                                ],
                                                "id": 7530,
                                                "name": "Assignment",
                                                "src": "2311:26:19"
                                            }
                                        ],
                                        "id": 7531,
                                        "name": "ExpressionStatement",
                                        "src": "2311:26:19"
                                    }
                                ],
                                "id": 7532,
                                "name": "Block",
                                "src": "2292:53:19"
                            }
                        ],
                        "id": 7533,
                        "name": "FunctionDefinition",
                        "src": "2212:133:19"
                    },
                    {
                        "attributes": {
                            "documentation": null,
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "name": "setCustodian",
                            "scope": 7564,
                            "stateMutability": "nonpayable",
                            "superFunction": 8034,
                            "visibility": "external"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_custodian",
                                            "scope": 7547,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "address",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "address",
                                                    "stateMutability": "nonpayable",
                                                    "type": "address"
                                                },
                                                "id": 7534,
                                                "name": "ElementaryTypeName",
                                                "src": "2377:7:19"
                                            }
                                        ],
                                        "id": 7535,
                                        "name": "VariableDeclaration",
                                        "src": "2377:18:19"
                                    }
                                ],
                                "id": 7536,
                                "name": "ParameterList",
                                "src": "2376:20:19"
                            },
                            {
                                "attributes": {
                                    "parameters": [
                                        null
                                    ]
                                },
                                "children": [],
                                "id": 7541,
                                "name": "ParameterList",
                                "src": "2431:0:19"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 7385,
                                            "type": "modifier (address)",
                                            "value": "onlyFeeAdmin"
                                        },
                                        "id": 7537,
                                        "name": "Identifier",
                                        "src": "2397:12:19"
                                    },
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "member_name": "sender",
                                            "referencedDeclaration": null,
                                            "type": "address payable"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "overloadedDeclarations": [
                                                        null
                                                    ],
                                                    "referencedDeclaration": 13007,
                                                    "type": "msg",
                                                    "value": "msg"
                                                },
                                                "id": 7538,
                                                "name": "Identifier",
                                                "src": "2410:3:19"
                                            }
                                        ],
                                        "id": 7539,
                                        "name": "MemberAccess",
                                        "src": "2410:10:19"
                                    }
                                ],
                                "id": 7540,
                                "name": "ModifierInvocation",
                                "src": "2397:24:19"
                            },
                            {
                                "children": [
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "=",
                                                    "type": "address"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 7368,
                                                            "type": "address",
                                                            "value": "custodian"
                                                        },
                                                        "id": 7542,
                                                        "name": "Identifier",
                                                        "src": "2450:9:19"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 7535,
                                                            "type": "address",
                                                            "value": "_custodian"
                                                        },
                                                        "id": 7543,
                                                        "name": "Identifier",
                                                        "src": "2462:10:19"
                                                    }
                                                ],
                                                "id": 7544,
                                                "name": "Assignment",
                                                "src": "2450:22:19"
                                            }
                                        ],
                                        "id": 7545,
                                        "name": "ExpressionStatement",
                                        "src": "2450:22:19"
                                    }
                                ],
                                "id": 7546,
                                "name": "Block",
                                "src": "2431:49:19"
                            }
                        ],
                        "id": 7547,
                        "name": "FunctionDefinition",
                        "src": "2355:125:19"
                    },
                    {
                        "attributes": {
                            "documentation": null,
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "modifiers": [
                                null
                            ],
                            "name": "getFeeToSetter",
                            "scope": 7564,
                            "stateMutability": "view",
                            "superFunction": 8039,
                            "visibility": "external"
                        },
                        "children": [
                            {
                                "attributes": {
                                    "parameters": [
                                        null
                                    ]
                                },
                                "children": [],
                                "id": 7548,
                                "name": "ParameterList",
                                "src": "2577:2:19"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "",
                                            "scope": 7555,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "address",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "address",
                                                    "stateMutability": "nonpayable",
                                                    "type": "address"
                                                },
                                                "id": 7549,
                                                "name": "ElementaryTypeName",
                                                "src": "2602:7:19"
                                            }
                                        ],
                                        "id": 7550,
                                        "name": "VariableDeclaration",
                                        "src": "2602:7:19"
                                    }
                                ],
                                "id": 7551,
                                "name": "ParameterList",
                                "src": "2601:9:19"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "functionReturnParameters": 7551
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "overloadedDeclarations": [
                                                        null
                                                    ],
                                                    "referencedDeclaration": 7366,
                                                    "type": "address",
                                                    "value": "feeToSetter"
                                                },
                                                "id": 7552,
                                                "name": "Identifier",
                                                "src": "2628:11:19"
                                            }
                                        ],
                                        "id": 7553,
                                        "name": "Return",
                                        "src": "2621:18:19"
                                    }
                                ],
                                "id": 7554,
                                "name": "Block",
                                "src": "2610:37:19"
                            }
                        ],
                        "id": 7555,
                        "name": "FunctionDefinition",
                        "src": "2554:93:19"
                    },
                    {
                        "attributes": {
                            "documentation": null,
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "modifiers": [
                                null
                            ],
                            "name": "getCustodian",
                            "scope": 7564,
                            "stateMutability": "view",
                            "superFunction": 8029,
                            "visibility": "external"
                        },
                        "children": [
                            {
                                "attributes": {
                                    "parameters": [
                                        null
                                    ]
                                },
                                "children": [],
                                "id": 7556,
                                "name": "ParameterList",
                                "src": "2742:2:19"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "",
                                            "scope": 7563,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "address",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "address",
                                                    "stateMutability": "nonpayable",
                                                    "type": "address"
                                                },
                                                "id": 7557,
                                                "name": "ElementaryTypeName",
                                                "src": "2767:7:19"
                                            }
                                        ],
                                        "id": 7558,
                                        "name": "VariableDeclaration",
                                        "src": "2767:7:19"
                                    }
                                ],
                                "id": 7559,
                                "name": "ParameterList",
                                "src": "2766:9:19"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "functionReturnParameters": 7559
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "overloadedDeclarations": [
                                                        null
                                                    ],
                                                    "referencedDeclaration": 7368,
                                                    "type": "address",
                                                    "value": "custodian"
                                                },
                                                "id": 7560,
                                                "name": "Identifier",
                                                "src": "2793:9:19"
                                            }
                                        ],
                                        "id": 7561,
                                        "name": "Return",
                                        "src": "2786:16:19"
                                    }
                                ],
                                "id": 7562,
                                "name": "Block",
                                "src": "2775:35:19"
                            }
                        ],
                        "id": 7563,
                        "name": "FunctionDefinition",
                        "src": "2721:89:19"
                    }
                ],
                "id": 7564,
                "name": "ContractDefinition",
                "src": "259:2556:19"
            }
        ],
        "id": 7565,
        "name": "SourceUnit",
        "src": "127:2688:19"
    },
    "compiler": {
        "name": "solc",
        "version": "0.5.7+commit.6da8b019.Emscripten.clang"
    },
    "networks": {
        "11155111": {
            "events": {},
            "links": {},
            "address": "0xfC63cBB9aC6F6de3cAfbb1df7430339f3989fe14",
            "transactionHash": "0x8bd4be156a1d60bb7c4fab7d51e6daa48e78c8460193c7afd112436b28cfae7d"
        }
    },
    "schemaVersion": "3.4.16",
    "updatedAt": "2025-07-26T12:25:15.348Z",
    "networkType": "ethereum",
    "devdoc": {
        "methods": {}
    },
    "userdoc": {
        "methods": {}
    }
}
