@etherisc/registry-contracts
Version:
Etherisc's smart contracts for the registry.
1,567 lines (1,566 loc) • 503 kB
JSON
{
"abi": [
{
"inputs": [],
"name": "EXP",
"outputs": [
{
"internalType": "int8",
"name": "",
"type": "int8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "MULTIPLIER",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "MULTIPLIER_HALF",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "ROUNDING_DEFAULT",
"outputs": [
{
"internalType": "enum UFixedType.Rounding",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "UFixed",
"name": "a",
"type": "uint256"
},
{
"internalType": "UFixed",
"name": "b",
"type": "uint256"
}
],
"name": "add",
"outputs": [
{
"internalType": "UFixed",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "decimals",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "UFixed",
"name": "a",
"type": "uint256"
},
{
"internalType": "UFixed",
"name": "b",
"type": "uint256"
}
],
"name": "div",
"outputs": [
{
"internalType": "UFixed",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "UFixed",
"name": "a",
"type": "uint256"
},
{
"internalType": "UFixed",
"name": "b",
"type": "uint256"
}
],
"name": "dlt",
"outputs": [
{
"internalType": "UFixed",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "n",
"type": "uint256"
}
],
"name": "epsilon",
"outputs": [
{
"internalType": "UFixed",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "UFixed",
"name": "a",
"type": "uint256"
},
{
"internalType": "UFixed",
"name": "b",
"type": "uint256"
}
],
"name": "eq",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "UFixed",
"name": "a",
"type": "uint256"
}
],
"name": "eqzUFixed",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "UFixed",
"name": "a",
"type": "uint256"
},
{
"internalType": "enum UFixedType.Rounding",
"name": "rounding",
"type": "uint8"
}
],
"name": "ftoi",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "UFixed",
"name": "a",
"type": "uint256"
}
],
"name": "ftoi",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "UFixed",
"name": "a",
"type": "uint256"
},
{
"internalType": "UFixed",
"name": "b",
"type": "uint256"
}
],
"name": "gt",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "UFixed",
"name": "a",
"type": "uint256"
}
],
"name": "gtzUFixed",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "a",
"type": "uint256"
}
],
"name": "itof",
"outputs": [
{
"internalType": "UFixed",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "a",
"type": "uint256"
},
{
"internalType": "int8",
"name": "exp",
"type": "int8"
}
],
"name": "itof",
"outputs": [
{
"internalType": "UFixed",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "UFixed",
"name": "a",
"type": "uint256"
},
{
"internalType": "UFixed",
"name": "b",
"type": "uint256"
}
],
"name": "mul",
"outputs": [
{
"internalType": "UFixed",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "multiplier",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "UFixed",
"name": "a",
"type": "uint256"
},
{
"internalType": "UFixed",
"name": "b",
"type": "uint256"
}
],
"name": "sub",
"outputs": [
{
"internalType": "UFixed",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "testAdd",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "n",
"type": "uint256"
}
],
"name": "testFrac",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "testSub",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
}
],
"allSourcePaths": {
"47": "contracts/shared/UFixedMath.sol",
"65": "contracts/test/UFixedMathTest.sol"
},
"ast": {
"absolutePath": "contracts/test/UFixedMathTest.sol",
"exportedSymbols": {
"UFixed": [
5099
],
"UFixedMathTest": [
11643
],
"UFixedType": [
5591
],
"delta": [
5410
],
"eqz": [
5384
],
"gtz": [
5368
]
},
"id": 11644,
"license": "Apache-2.0",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 11224,
"literals": [
"solidity",
"^",
"0.8",
".19"
],
"nodeType": "PragmaDirective",
"src": "39:24:65"
},
{
"absolutePath": "contracts/shared/UFixedMath.sol",
"file": "../shared/UFixedMath.sol",
"id": 11230,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 11644,
"sourceUnit": 5592,
"src": "65:77:65",
"symbolAliases": [
{
"foreign": {
"id": 11225,
"name": "UFixed",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5099,
"src": "73:6:65",
"typeDescriptions": {}
},
"nameLocation": "-1:-1:-1"
},
{
"foreign": {
"id": 11226,
"name": "UFixedType",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5591,
"src": "81:10:65",
"typeDescriptions": {}
},
"nameLocation": "-1:-1:-1"
},
{
"foreign": {
"id": 11227,
"name": "delta",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5410,
"src": "93:5:65",
"typeDescriptions": {}
},
"nameLocation": "-1:-1:-1"
},
{
"foreign": {
"id": 11228,
"name": "eqz",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5384,
"src": "100:3:65",
"typeDescriptions": {}
},
"nameLocation": "-1:-1:-1"
},
{
"foreign": {
"id": 11229,
"name": "gtz",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5368,
"src": "105:3:65",
"typeDescriptions": {}
},
"nameLocation": "-1:-1:-1"
}
],
"unitAlias": ""
},
{
"abstract": false,
"baseContracts": [
{
"baseName": {
"id": 11231,
"name": "UFixedType",
"nameLocations": [
"171:10:65"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 5591,
"src": "171:10:65"
},
"id": 11232,
"nodeType": "InheritanceSpecifier",
"src": "171:10:65"
}
],
"canonicalName": "UFixedMathTest",
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 11643,
"linearizedBaseContracts": [
11643,
5591
],
"name": "UFixedMathTest",
"nameLocation": "153:14:65",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": {
"id": 11248,
"nodeType": "Block",
"src": "252:29:65",
"statements": [
{
"expression": {
"commonType": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
},
"function": 5137,
"id": 11246,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 11244,
"name": "a",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11235,
"src": "269:1:65",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
}
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"id": 11245,
"name": "b",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11238,
"src": "273:1:65",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
}
},
"src": "269:5:65",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
}
},
"functionReturnParameters": 11243,
"id": 11247,
"nodeType": "Return",
"src": "262:12:65"
}
]
},
"functionSelector": "771602f7",
"id": 11249,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "add",
"nameLocation": "198:3:65",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 11239,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 11235,
"mutability": "mutable",
"name": "a",
"nameLocation": "209:1:65",
"nodeType": "VariableDeclaration",
"scope": 11249,
"src": "202:8:65",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
},
"typeName": {
"id": 11234,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 11233,
"name": "UFixed",
"nameLocations": [
"202:6:65"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 5099,
"src": "202:6:65"
},
"referencedDeclaration": 5099,
"src": "202:6:65",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 11238,
"mutability": "mutable",
"name": "b",
"nameLocation": "219:1:65",
"nodeType": "VariableDeclaration",
"scope": 11249,
"src": "212:8:65",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
},
"typeName": {
"id": 11237,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 11236,
"name": "UFixed",
"nameLocations": [
"212:6:65"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 5099,
"src": "212:6:65"
},
"referencedDeclaration": 5099,
"src": "212:6:65",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
}
},
"visibility": "internal"
}
],
"src": "201:20:65"
},
"returnParameters": {
"id": 11243,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 11242,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 11249,
"src": "244:6:65",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
},
"typeName": {
"id": 11241,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 11240,
"name": "UFixed",
"nameLocations": [
"244:6:65"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 5099,
"src": "244:6:65"
},
"referencedDeclaration": 5099,
"src": "244:6:65",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
}
},
"visibility": "internal"
}
],
"src": "243:8:65"
},
"scope": 11643,
"src": "189:92:65",
"stateMutability": "pure",
"virtual": false,
"visibility": "external"
},
{
"body": {
"id": 11265,
"nodeType": "Block",
"src": "350:29:65",
"statements": [
{
"expression": {
"commonType": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
},
"function": 5170,
"id": 11263,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 11261,
"name": "a",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11252,
"src": "367:1:65",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
}
},
"nodeType": "BinaryOperation",
"operator": "-",
"rightExpression": {
"id": 11262,
"name": "b",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11255,
"src": "371:1:65",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
}
},
"src": "367:5:65",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
}
},
"functionReturnParameters": 11260,
"id": 11264,
"nodeType": "Return",
"src": "360:12:65"
}
]
},
"functionSelector": "b67d77c5",
"id": 11266,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "sub",
"nameLocation": "296:3:65",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 11256,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 11252,
"mutability": "mutable",
"name": "a",
"nameLocation": "307:1:65",
"nodeType": "VariableDeclaration",
"scope": 11266,
"src": "300:8:65",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
},
"typeName": {
"id": 11251,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 11250,
"name": "UFixed",
"nameLocations": [
"300:6:65"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 5099,
"src": "300:6:65"
},
"referencedDeclaration": 5099,
"src": "300:6:65",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 11255,
"mutability": "mutable",
"name": "b",
"nameLocation": "317:1:65",
"nodeType": "VariableDeclaration",
"scope": 11266,
"src": "310:8:65",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
},
"typeName": {
"id": 11254,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 11253,
"name": "UFixed",
"nameLocations": [
"310:6:65"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 5099,
"src": "310:6:65"
},
"referencedDeclaration": 5099,
"src": "310:6:65",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
}
},
"visibility": "internal"
}
],
"src": "299:20:65"
},
"returnParameters": {
"id": 11260,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 11259,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 11266,
"src": "342:6:65",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
},
"typeName": {
"id": 11258,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 11257,
"name": "UFixed",
"nameLocations": [
"342:6:65"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 5099,
"src": "342:6:65"
},
"referencedDeclaration": 5099,
"src": "342:6:65",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
}
},
"visibility": "internal"
}
],
"src": "341:8:65"
},
"scope": 11643,
"src": "287:92:65",
"stateMutability": "pure",
"virtual": false,
"visibility": "external"
},
{
"body": {
"id": 11283,
"nodeType": "Block",
"src": "448:35:65",
"statements": [
{
"expression": {
"arguments": [
{
"id": 11279,
"name": "a",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11269,
"src": "471:1:65",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
}
},
{
"id": 11280,
"name": "b",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11272,
"src": "474:1:65",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
},
{
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
}
],
"id": 11278,
"name": "delta",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5410,
"src": "465:5:65",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_UFixed_$5099_$_t_userDefinedValueType$_UFixed_$5099_$returns$_t_userDefinedValueType$_UFixed_$5099_$",
"typeString": "function (UFixed,UFixed) pure returns (UFixed)"
}
},
"id": 11281,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "465:11:65",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
}
},
"functionReturnParameters": 11277,
"id": 11282,
"nodeType": "Return",
"src": "458:18:65"
}
]
},
"functionSelector": "03f6d6ea",
"id": 11284,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "dlt",
"nameLocation": "394:3:65",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 11273,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 11269,
"mutability": "mutable",
"name": "a",
"nameLocation": "405:1:65",
"nodeType": "VariableDeclaration",
"scope": 11284,
"src": "398:8:65",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
},
"typeName": {
"id": 11268,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 11267,
"name": "UFixed",
"nameLocations": [
"398:6:65"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 5099,
"src": "398:6:65"
},
"referencedDeclaration": 5099,
"src": "398:6:65",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 11272,
"mutability": "mutable",
"name": "b",
"nameLocation": "415:1:65",
"nodeType": "VariableDeclaration",
"scope": 11284,
"src": "408:8:65",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
},
"typeName": {
"id": 11271,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 11270,
"name": "UFixed",
"nameLocations": [
"408:6:65"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 5099,
"src": "408:6:65"
},
"referencedDeclaration": 5099,
"src": "408:6:65",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
}
},
"visibility": "internal"
}
],
"src": "397:20:65"
},
"returnParameters": {
"id": 11277,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 11276,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 11284,
"src": "440:6:65",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
},
"typeName": {
"id": 11275,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 11274,
"name": "UFixed",
"nameLocations": [
"440:6:65"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 5099,
"src": "440:6:65"
},
"referencedDeclaration": 5099,
"src": "440:6:65",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
}
},
"visibility": "internal"
}
],
"src": "439:8:65"
},
"scope": 11643,
"src": "385:98:65",
"stateMutability": "pure",
"virtual": false,
"visibility": "external"
},
{
"body": {
"id": 11300,
"nodeType": "Block",
"src": "552:29:65",
"statements": [
{
"expression": {
"commonType": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
},
"function": 5201,
"id": 11298,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 11296,
"name": "a",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11287,
"src": "569:1:65",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
}
},
"nodeType": "BinaryOperation",
"operator": "*",
"rightExpression": {
"id": 11297,
"name": "b",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11290,
"src": "573:1:65",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
}
},
"src": "569:5:65",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
}
},
"functionReturnParameters": 11295,
"id": 11299,
"nodeType": "Return",
"src": "562:12:65"
}
]
},
"functionSelector": "c8a4ac9c",
"id": 11301,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "mul",
"nameLocation": "498:3:65",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 11291,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 11287,
"mutability": "mutable",
"name": "a",
"nameLocation": "509:1:65",
"nodeType": "VariableDeclaration",
"scope": 11301,
"src": "502:8:65",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
},
"typeName": {
"id": 11286,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 11285,
"name": "UFixed",
"nameLocations": [
"502:6:65"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 5099,
"src": "502:6:65"
},
"referencedDeclaration": 5099,
"src": "502:6:65",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 11290,
"mutability": "mutable",
"name": "b",
"nameLocation": "519:1:65",
"nodeType": "VariableDeclaration",
"scope": 11301,
"src": "512:8:65",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
},
"typeName": {
"id": 11289,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 11288,
"name": "UFixed",
"nameLocations": [
"512:6:65"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 5099,
"src": "512:6:65"
},
"referencedDeclaration": 5099,
"src": "512:6:65",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
}
},
"visibility": "internal"
}
],
"src": "501:20:65"
},
"returnParameters": {
"id": 11295,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 11294,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 11301,
"src": "544:6:65",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
},
"typeName": {
"id": 11293,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 11292,
"name": "UFixed",
"nameLocations": [
"544:6:65"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 5099,
"src": "544:6:65"
},
"referencedDeclaration": 5099,
"src": "544:6:65",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
}
},
"visibility": "internal"
}
],
"src": "543:8:65"
},
"scope": 11643,
"src": "489:92:65",
"stateMutability": "pure",
"virtual": false,
"visibility": "external"
},
{
"body": {
"id": 11317,
"nodeType": "Block",
"src": "650:29:65",
"statements": [
{
"expression": {
"commonType": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
},
"function": 5242,
"id": 11315,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 11313,
"name": "a",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11304,
"src": "667:1:65",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
}
},
"nodeType": "BinaryOperation",
"operator": "/",
"rightExpression": {
"id": 11314,
"name": "b",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11307,
"src": "671:1:65",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
}
},
"src": "667:5:65",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
}
},
"functionReturnParameters": 11312,
"id": 11316,
"nodeType": "Return",
"src": "660:12:65"
}
]
},
"functionSelector": "a391c15b",
"id": 11318,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "div",
"nameLocation": "596:3:65",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 11308,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 11304,
"mutability": "mutable",
"name": "a",
"nameLocation": "607:1:65",
"nodeType": "VariableDeclaration",
"scope": 11318,
"src": "600:8:65",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
},
"typeName": {
"id": 11303,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 11302,
"name": "UFixed",
"nameLocations": [
"600:6:65"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 5099,
"src": "600:6:65"
},
"referencedDeclaration": 5099,
"src": "600:6:65",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 11307,
"mutability": "mutable",
"name": "b",
"nameLocation": "617:1:65",
"nodeType": "VariableDeclaration",
"scope": 11318,
"src": "610:8:65",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
},
"typeName": {
"id": 11306,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 11305,
"name": "UFixed",
"nameLocations": [
"610:6:65"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 5099,
"src": "610:6:65"
},
"referencedDeclaration": 5099,
"src": "610:6:65",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
}
},
"visibility": "internal"
}
],
"src": "599:20:65"
},
"returnParameters": {
"id": 11312,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 11311,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 11318,
"src": "642:6:65",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_UFixed_$5099",
"typeString": "UFixed"
},
"typeName": {
"id": 11310,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 11309,
"name": "UFixed",
"nameLocations": [
"642:6:65"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 5099,
"src": "642:6:65"