2018-09-10 10:49:15 +00:00
|
|
|
{
|
|
|
|
"absolutePath" : "a",
|
|
|
|
"exportedSymbols" :
|
|
|
|
{
|
|
|
|
"C" :
|
|
|
|
[
|
|
|
|
37
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"id" : 38,
|
|
|
|
"nodeType" : "SourceUnit",
|
|
|
|
"nodes" :
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"baseContracts" : [],
|
|
|
|
"contractDependencies" : [],
|
|
|
|
"contractKind" : "contract",
|
|
|
|
"documentation" : null,
|
|
|
|
"fullyImplemented" : true,
|
|
|
|
"id" : 37,
|
|
|
|
"linearizedBaseContracts" :
|
|
|
|
[
|
|
|
|
37
|
|
|
|
],
|
|
|
|
"name" : "C",
|
|
|
|
"nodeType" : "ContractDefinition",
|
|
|
|
"nodes" :
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"constant" : false,
|
|
|
|
"id" : 4,
|
|
|
|
"name" : "m",
|
|
|
|
"nodeType" : "VariableDeclaration",
|
2019-08-13 11:00:46 +00:00
|
|
|
"overrides" : null,
|
2018-09-10 10:49:15 +00:00
|
|
|
"scope" : 37,
|
|
|
|
"src" : "17:44:1",
|
|
|
|
"stateVariable" : true,
|
|
|
|
"storageLocation" : "default",
|
|
|
|
"typeDescriptions" :
|
|
|
|
{
|
|
|
|
"typeIdentifier" : "t_mapping$_t_address_$_t_address_payable_$",
|
|
|
|
"typeString" : "mapping(address => address payable)"
|
|
|
|
},
|
|
|
|
"typeName" :
|
|
|
|
{
|
|
|
|
"id" : 3,
|
|
|
|
"keyType" :
|
|
|
|
{
|
|
|
|
"id" : 1,
|
|
|
|
"name" : "address",
|
|
|
|
"nodeType" : "ElementaryTypeName",
|
|
|
|
"src" : "25:7:1",
|
|
|
|
"typeDescriptions" :
|
|
|
|
{
|
|
|
|
"typeIdentifier" : "t_address",
|
|
|
|
"typeString" : "address"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"nodeType" : "Mapping",
|
|
|
|
"src" : "17:35:1",
|
|
|
|
"typeDescriptions" :
|
|
|
|
{
|
|
|
|
"typeIdentifier" : "t_mapping$_t_address_$_t_address_payable_$",
|
|
|
|
"typeString" : "mapping(address => address payable)"
|
|
|
|
},
|
|
|
|
"valueType" :
|
|
|
|
{
|
|
|
|
"id" : 2,
|
|
|
|
"name" : "address",
|
|
|
|
"nodeType" : "ElementaryTypeName",
|
|
|
|
"src" : "36:15:1",
|
|
|
|
"stateMutability" : "payable",
|
|
|
|
"typeDescriptions" :
|
|
|
|
{
|
|
|
|
"typeIdentifier" : "t_address_payable",
|
|
|
|
"typeString" : "address payable"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"value" : null,
|
|
|
|
"visibility" : "public"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"body" :
|
|
|
|
{
|
|
|
|
"id" : 35,
|
|
|
|
"nodeType" : "Block",
|
|
|
|
"src" : "134:122:1",
|
|
|
|
"statements" :
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"assignments" :
|
|
|
|
[
|
|
|
|
12
|
|
|
|
],
|
|
|
|
"declarations" :
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"constant" : false,
|
|
|
|
"id" : 12,
|
|
|
|
"name" : "a",
|
|
|
|
"nodeType" : "VariableDeclaration",
|
2019-08-13 11:00:46 +00:00
|
|
|
"overrides" : null,
|
2018-09-10 10:49:15 +00:00
|
|
|
"scope" : 35,
|
|
|
|
"src" : "144:17:1",
|
|
|
|
"stateVariable" : false,
|
|
|
|
"storageLocation" : "default",
|
|
|
|
"typeDescriptions" :
|
|
|
|
{
|
|
|
|
"typeIdentifier" : "t_address_payable",
|
|
|
|
"typeString" : "address payable"
|
|
|
|
},
|
|
|
|
"typeName" :
|
|
|
|
{
|
|
|
|
"id" : 11,
|
|
|
|
"name" : "address",
|
|
|
|
"nodeType" : "ElementaryTypeName",
|
|
|
|
"src" : "144:15:1",
|
|
|
|
"stateMutability" : "payable",
|
|
|
|
"typeDescriptions" :
|
|
|
|
{
|
|
|
|
"typeIdentifier" : "t_address_payable",
|
|
|
|
"typeString" : "address payable"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"value" : null,
|
|
|
|
"visibility" : "internal"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"id" : 16,
|
|
|
|
"initialValue" :
|
|
|
|
{
|
|
|
|
"argumentTypes" : null,
|
|
|
|
"baseExpression" :
|
|
|
|
{
|
|
|
|
"argumentTypes" : null,
|
|
|
|
"id" : 13,
|
|
|
|
"name" : "m",
|
|
|
|
"nodeType" : "Identifier",
|
|
|
|
"overloadedDeclarations" : [],
|
|
|
|
"referencedDeclaration" : 4,
|
|
|
|
"src" : "164:1:1",
|
|
|
|
"typeDescriptions" :
|
|
|
|
{
|
|
|
|
"typeIdentifier" : "t_mapping$_t_address_$_t_address_payable_$",
|
|
|
|
"typeString" : "mapping(address => address payable)"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"id" : 15,
|
|
|
|
"indexExpression" :
|
|
|
|
{
|
|
|
|
"argumentTypes" : null,
|
|
|
|
"id" : 14,
|
|
|
|
"name" : "arg",
|
|
|
|
"nodeType" : "Identifier",
|
|
|
|
"overloadedDeclarations" : [],
|
|
|
|
"referencedDeclaration" : 6,
|
|
|
|
"src" : "166:3:1",
|
|
|
|
"typeDescriptions" :
|
|
|
|
{
|
|
|
|
"typeIdentifier" : "t_address_payable",
|
|
|
|
"typeString" : "address payable"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"isConstant" : false,
|
|
|
|
"isLValue" : true,
|
|
|
|
"isPure" : false,
|
|
|
|
"lValueRequested" : false,
|
|
|
|
"nodeType" : "IndexAccess",
|
|
|
|
"src" : "164:6:1",
|
|
|
|
"typeDescriptions" :
|
|
|
|
{
|
|
|
|
"typeIdentifier" : "t_address_payable",
|
|
|
|
"typeString" : "address payable"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"nodeType" : "VariableDeclarationStatement",
|
|
|
|
"src" : "144:26:1"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"expression" :
|
|
|
|
{
|
|
|
|
"argumentTypes" : null,
|
|
|
|
"id" : 19,
|
|
|
|
"isConstant" : false,
|
|
|
|
"isLValue" : false,
|
|
|
|
"isPure" : false,
|
|
|
|
"lValueRequested" : false,
|
|
|
|
"leftHandSide" :
|
|
|
|
{
|
|
|
|
"argumentTypes" : null,
|
|
|
|
"id" : 17,
|
|
|
|
"name" : "r",
|
|
|
|
"nodeType" : "Identifier",
|
|
|
|
"overloadedDeclarations" : [],
|
|
|
|
"referencedDeclaration" : 9,
|
|
|
|
"src" : "180:1:1",
|
|
|
|
"typeDescriptions" :
|
|
|
|
{
|
|
|
|
"typeIdentifier" : "t_address_payable",
|
|
|
|
"typeString" : "address payable"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"nodeType" : "Assignment",
|
|
|
|
"operator" : "=",
|
|
|
|
"rightHandSide" :
|
|
|
|
{
|
|
|
|
"argumentTypes" : null,
|
|
|
|
"id" : 18,
|
|
|
|
"name" : "arg",
|
|
|
|
"nodeType" : "Identifier",
|
|
|
|
"overloadedDeclarations" : [],
|
|
|
|
"referencedDeclaration" : 6,
|
|
|
|
"src" : "184:3:1",
|
|
|
|
"typeDescriptions" :
|
|
|
|
{
|
|
|
|
"typeIdentifier" : "t_address_payable",
|
|
|
|
"typeString" : "address payable"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"src" : "180:7:1",
|
|
|
|
"typeDescriptions" :
|
|
|
|
{
|
|
|
|
"typeIdentifier" : "t_address_payable",
|
|
|
|
"typeString" : "address payable"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"id" : 20,
|
|
|
|
"nodeType" : "ExpressionStatement",
|
|
|
|
"src" : "180:7:1"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"assignments" :
|
|
|
|
[
|
|
|
|
22
|
|
|
|
],
|
|
|
|
"declarations" :
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"constant" : false,
|
|
|
|
"id" : 22,
|
|
|
|
"name" : "c",
|
|
|
|
"nodeType" : "VariableDeclaration",
|
2019-08-13 11:00:46 +00:00
|
|
|
"overrides" : null,
|
2018-09-10 10:49:15 +00:00
|
|
|
"scope" : 35,
|
|
|
|
"src" : "197:9:1",
|
|
|
|
"stateVariable" : false,
|
|
|
|
"storageLocation" : "default",
|
|
|
|
"typeDescriptions" :
|
|
|
|
{
|
|
|
|
"typeIdentifier" : "t_address",
|
|
|
|
"typeString" : "address"
|
|
|
|
},
|
|
|
|
"typeName" :
|
|
|
|
{
|
|
|
|
"id" : 21,
|
|
|
|
"name" : "address",
|
|
|
|
"nodeType" : "ElementaryTypeName",
|
|
|
|
"src" : "197:7:1",
|
|
|
|
"stateMutability" : "nonpayable",
|
|
|
|
"typeDescriptions" :
|
|
|
|
{
|
|
|
|
"typeIdentifier" : "t_address",
|
|
|
|
"typeString" : "address"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"value" : null,
|
|
|
|
"visibility" : "internal"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"id" : 26,
|
|
|
|
"initialValue" :
|
|
|
|
{
|
|
|
|
"argumentTypes" : null,
|
|
|
|
"arguments" :
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"argumentTypes" : null,
|
|
|
|
"id" : 24,
|
|
|
|
"name" : "this",
|
|
|
|
"nodeType" : "Identifier",
|
|
|
|
"overloadedDeclarations" : [],
|
2019-01-10 15:28:39 +00:00
|
|
|
"referencedDeclaration" : 66,
|
2018-09-10 10:49:15 +00:00
|
|
|
"src" : "217:4:1",
|
|
|
|
"typeDescriptions" :
|
|
|
|
{
|
|
|
|
"typeIdentifier" : "t_contract$_C_$37",
|
|
|
|
"typeString" : "contract C"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"expression" :
|
|
|
|
{
|
|
|
|
"argumentTypes" :
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"typeIdentifier" : "t_contract$_C_$37",
|
|
|
|
"typeString" : "contract C"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"id" : 23,
|
|
|
|
"isConstant" : false,
|
|
|
|
"isLValue" : false,
|
|
|
|
"isPure" : true,
|
|
|
|
"lValueRequested" : false,
|
|
|
|
"nodeType" : "ElementaryTypeNameExpression",
|
|
|
|
"src" : "209:7:1",
|
|
|
|
"typeDescriptions" :
|
|
|
|
{
|
|
|
|
"typeIdentifier" : "t_type$_t_address_$",
|
|
|
|
"typeString" : "type(address)"
|
|
|
|
},
|
|
|
|
"typeName" : "address"
|
|
|
|
},
|
|
|
|
"id" : 25,
|
|
|
|
"isConstant" : false,
|
|
|
|
"isLValue" : false,
|
|
|
|
"isPure" : false,
|
|
|
|
"kind" : "typeConversion",
|
|
|
|
"lValueRequested" : false,
|
|
|
|
"names" : [],
|
|
|
|
"nodeType" : "FunctionCall",
|
|
|
|
"src" : "209:13:1",
|
|
|
|
"typeDescriptions" :
|
|
|
|
{
|
|
|
|
"typeIdentifier" : "t_address",
|
|
|
|
"typeString" : "address"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"nodeType" : "VariableDeclarationStatement",
|
|
|
|
"src" : "197:25:1"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"expression" :
|
|
|
|
{
|
|
|
|
"argumentTypes" : null,
|
|
|
|
"id" : 33,
|
|
|
|
"isConstant" : false,
|
|
|
|
"isLValue" : false,
|
|
|
|
"isPure" : false,
|
|
|
|
"lValueRequested" : false,
|
|
|
|
"leftHandSide" :
|
|
|
|
{
|
|
|
|
"argumentTypes" : null,
|
|
|
|
"baseExpression" :
|
|
|
|
{
|
|
|
|
"argumentTypes" : null,
|
|
|
|
"id" : 27,
|
|
|
|
"name" : "m",
|
|
|
|
"nodeType" : "Identifier",
|
|
|
|
"overloadedDeclarations" : [],
|
|
|
|
"referencedDeclaration" : 4,
|
|
|
|
"src" : "232:1:1",
|
|
|
|
"typeDescriptions" :
|
|
|
|
{
|
|
|
|
"typeIdentifier" : "t_mapping$_t_address_$_t_address_payable_$",
|
|
|
|
"typeString" : "mapping(address => address payable)"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"id" : 29,
|
|
|
|
"indexExpression" :
|
|
|
|
{
|
|
|
|
"argumentTypes" : null,
|
|
|
|
"id" : 28,
|
|
|
|
"name" : "c",
|
|
|
|
"nodeType" : "Identifier",
|
|
|
|
"overloadedDeclarations" : [],
|
|
|
|
"referencedDeclaration" : 22,
|
|
|
|
"src" : "234:1:1",
|
|
|
|
"typeDescriptions" :
|
|
|
|
{
|
|
|
|
"typeIdentifier" : "t_address",
|
|
|
|
"typeString" : "address"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"isConstant" : false,
|
|
|
|
"isLValue" : true,
|
|
|
|
"isPure" : false,
|
|
|
|
"lValueRequested" : true,
|
|
|
|
"nodeType" : "IndexAccess",
|
|
|
|
"src" : "232:4:1",
|
|
|
|
"typeDescriptions" :
|
|
|
|
{
|
|
|
|
"typeIdentifier" : "t_address_payable",
|
|
|
|
"typeString" : "address payable"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"nodeType" : "Assignment",
|
|
|
|
"operator" : "=",
|
|
|
|
"rightHandSide" :
|
|
|
|
{
|
|
|
|
"argumentTypes" : null,
|
|
|
|
"arguments" :
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"argumentTypes" : null,
|
|
|
|
"hexValue" : "30",
|
|
|
|
"id" : 31,
|
|
|
|
"isConstant" : false,
|
|
|
|
"isLValue" : false,
|
|
|
|
"isPure" : true,
|
|
|
|
"kind" : "number",
|
|
|
|
"lValueRequested" : false,
|
|
|
|
"nodeType" : "Literal",
|
|
|
|
"src" : "247:1:1",
|
|
|
|
"subdenomination" : null,
|
|
|
|
"typeDescriptions" :
|
|
|
|
{
|
|
|
|
"typeIdentifier" : "t_rational_0_by_1",
|
|
|
|
"typeString" : "int_const 0"
|
|
|
|
},
|
|
|
|
"value" : "0"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"expression" :
|
|
|
|
{
|
|
|
|
"argumentTypes" :
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"typeIdentifier" : "t_rational_0_by_1",
|
|
|
|
"typeString" : "int_const 0"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"id" : 30,
|
|
|
|
"isConstant" : false,
|
|
|
|
"isLValue" : false,
|
|
|
|
"isPure" : true,
|
|
|
|
"lValueRequested" : false,
|
|
|
|
"nodeType" : "ElementaryTypeNameExpression",
|
|
|
|
"src" : "239:7:1",
|
|
|
|
"typeDescriptions" :
|
|
|
|
{
|
|
|
|
"typeIdentifier" : "t_type$_t_address_$",
|
|
|
|
"typeString" : "type(address)"
|
|
|
|
},
|
|
|
|
"typeName" : "address"
|
|
|
|
},
|
|
|
|
"id" : 32,
|
|
|
|
"isConstant" : false,
|
|
|
|
"isLValue" : false,
|
|
|
|
"isPure" : true,
|
|
|
|
"kind" : "typeConversion",
|
|
|
|
"lValueRequested" : false,
|
|
|
|
"names" : [],
|
|
|
|
"nodeType" : "FunctionCall",
|
|
|
|
"src" : "239:10:1",
|
|
|
|
"typeDescriptions" :
|
|
|
|
{
|
|
|
|
"typeIdentifier" : "t_address_payable",
|
|
|
|
"typeString" : "address payable"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"src" : "232:17:1",
|
|
|
|
"typeDescriptions" :
|
|
|
|
{
|
|
|
|
"typeIdentifier" : "t_address_payable",
|
|
|
|
"typeString" : "address payable"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"id" : 34,
|
|
|
|
"nodeType" : "ExpressionStatement",
|
|
|
|
"src" : "232:17:1"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"documentation" : null,
|
|
|
|
"id" : 36,
|
|
|
|
"implemented" : true,
|
2018-10-08 21:07:10 +00:00
|
|
|
"kind" : "function",
|
2018-09-10 10:49:15 +00:00
|
|
|
"modifiers" : [],
|
|
|
|
"name" : "f",
|
|
|
|
"nodeType" : "FunctionDefinition",
|
2019-08-13 11:00:46 +00:00
|
|
|
"overrides" : null,
|
2018-09-10 10:49:15 +00:00
|
|
|
"parameters" :
|
|
|
|
{
|
|
|
|
"id" : 7,
|
|
|
|
"nodeType" : "ParameterList",
|
|
|
|
"parameters" :
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"constant" : false,
|
|
|
|
"id" : 6,
|
|
|
|
"name" : "arg",
|
|
|
|
"nodeType" : "VariableDeclaration",
|
2019-08-13 11:00:46 +00:00
|
|
|
"overrides" : null,
|
2018-09-10 10:49:15 +00:00
|
|
|
"scope" : 36,
|
|
|
|
"src" : "78:19:1",
|
|
|
|
"stateVariable" : false,
|
|
|
|
"storageLocation" : "default",
|
|
|
|
"typeDescriptions" :
|
|
|
|
{
|
|
|
|
"typeIdentifier" : "t_address_payable",
|
|
|
|
"typeString" : "address payable"
|
|
|
|
},
|
|
|
|
"typeName" :
|
|
|
|
{
|
|
|
|
"id" : 5,
|
|
|
|
"name" : "address",
|
|
|
|
"nodeType" : "ElementaryTypeName",
|
|
|
|
"src" : "78:15:1",
|
|
|
|
"stateMutability" : "payable",
|
|
|
|
"typeDescriptions" :
|
|
|
|
{
|
|
|
|
"typeIdentifier" : "t_address_payable",
|
|
|
|
"typeString" : "address payable"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"value" : null,
|
|
|
|
"visibility" : "internal"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"src" : "77:21:1"
|
|
|
|
},
|
|
|
|
"returnParameters" :
|
|
|
|
{
|
|
|
|
"id" : 10,
|
|
|
|
"nodeType" : "ParameterList",
|
|
|
|
"parameters" :
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"constant" : false,
|
|
|
|
"id" : 9,
|
|
|
|
"name" : "r",
|
|
|
|
"nodeType" : "VariableDeclaration",
|
2019-08-13 11:00:46 +00:00
|
|
|
"overrides" : null,
|
2018-09-10 10:49:15 +00:00
|
|
|
"scope" : 36,
|
|
|
|
"src" : "115:17:1",
|
|
|
|
"stateVariable" : false,
|
|
|
|
"storageLocation" : "default",
|
|
|
|
"typeDescriptions" :
|
|
|
|
{
|
|
|
|
"typeIdentifier" : "t_address_payable",
|
|
|
|
"typeString" : "address payable"
|
|
|
|
},
|
|
|
|
"typeName" :
|
|
|
|
{
|
|
|
|
"id" : 8,
|
|
|
|
"name" : "address",
|
|
|
|
"nodeType" : "ElementaryTypeName",
|
|
|
|
"src" : "115:15:1",
|
|
|
|
"stateMutability" : "payable",
|
|
|
|
"typeDescriptions" :
|
|
|
|
{
|
|
|
|
"typeIdentifier" : "t_address_payable",
|
|
|
|
"typeString" : "address payable"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"value" : null,
|
|
|
|
"visibility" : "internal"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"src" : "114:19:1"
|
|
|
|
},
|
|
|
|
"scope" : 37,
|
|
|
|
"src" : "67:189:1",
|
|
|
|
"stateMutability" : "nonpayable",
|
|
|
|
"superFunction" : null,
|
|
|
|
"visibility" : "public"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"scope" : 38,
|
|
|
|
"src" : "0:258:1"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"src" : "0:259:1"
|
|
|
|
}
|