{
    "contractName": "OneTxPayment",
    "abi": [
        {
            "inputs": [
                {
                    "name": "_colony",
                    "type": "address"
                }
            ],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "constructor"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "_permissionDomainId",
                    "type": "uint256"
                },
                {
                    "name": "_childSkillIndex",
                    "type": "uint256"
                },
                {
                    "name": "_callerPermissionDomainId",
                    "type": "uint256"
                },
                {
                    "name": "_callerChildSkillIndex",
                    "type": "uint256"
                },
                {
                    "name": "_worker",
                    "type": "address"
                },
                {
                    "name": "_token",
                    "type": "address"
                },
                {
                    "name": "_amount",
                    "type": "uint256"
                },
                {
                    "name": "_domainId",
                    "type": "uint256"
                },
                {
                    "name": "_skillId",
                    "type": "uint256"
                }
            ],
            "name": "makePayment",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        }
    ],
    "devdoc": {
        "methods": {
            "makePayment(uint256,uint256,uint256,uint256,address,address,uint256,uint256,uint256)": {
                "details": "Assumes that each entity holds administration and funding roles in the same domain, although contract and caller can have the permissions in different domains.",
                "params": {
                    "_callerChildSkillIndex": "Index of the _callerPermissionDomainId skill.children array to get",
                    "_callerPermissionDomainId": "The domainId in which the _contract_ has permissions to add a payment and fund it",
                    "_childSkillIndex": "Index of the _permissionDomainId skill.children array to get",
                    "_permissionDomainId": "The domainId in which the _caller_ has permissions to add a payment and fund it"
                }
            }
        }
    },
    "userdoc": {
        "methods": {
            "makePayment(uint256,uint256,uint256,uint256,address,address,uint256,uint256,uint256)": {
                "notice": "Completes a colony payment in a single transaction"
            }
        }
    }
}