@etherisc/depeg-contracts
Version:
Etherisc's smart contracts for a depeg insurance for stable coins.
1,514 lines • 314 kB
JSON
{
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"inputs": [],
"name": "DECIMALS",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "INITIAL_SUPPLY",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "NAME",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "SYMBOL",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "decimals",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "subtractedValue",
"type": "uint256"
}
],
"name": "decreaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "addedValue",
"type": "uint256"
}
],
"name": "increaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "symbol",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
],
"allSourcePaths": {
"11": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/utils/Context.sol",
"3": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/token/ERC20/ERC20.sol",
"4": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/token/ERC20/IERC20.sol",
"5": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/token/ERC20/extensions/IERC20Metadata.sol",
"66": "contracts/test/Tokens.sol"
},
"ast": {
"absolutePath": "contracts/test/Tokens.sol",
"exportedSymbols": {
"DIP": [
9363
],
"ERC20": [
15626
],
"USD1": [
9239
],
"USD2": [
9279
],
"USD3": [
9319
]
},
"id": 9364,
"license": "Apache-2.0",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 9111,
"literals": [
"solidity",
"0.8",
".2"
],
"nodeType": "PragmaDirective",
"src": "39:22:66"
},
{
"absolutePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/token/ERC20/ERC20.sol",
"file": "@openzeppelin/contracts/token/ERC20/ERC20.sol",
"id": 9113,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 9364,
"sourceUnit": 15627,
"src": "63:68:66",
"symbolAliases": [
{
"foreign": {
"id": 9112,
"name": "ERC20",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"src": "71:5:66",
"typeDescriptions": {}
},
"nameLocation": "-1:-1:-1"
}
],
"unitAlias": ""
},
{
"abstract": false,
"baseContracts": [
{
"baseName": {
"id": 9114,
"name": "ERC20",
"nodeType": "IdentifierPath",
"referencedDeclaration": 15626,
"src": "150:5:66"
},
"id": 9115,
"nodeType": "InheritanceSpecifier",
"src": "150:5:66"
}
],
"contractDependencies": [
9510,
15626,
15648,
15820
],
"contractKind": "contract",
"fullyImplemented": true,
"id": 9239,
"linearizedBaseContracts": [
9239,
15626,
9510,
15820,
15648
],
"name": "USD1",
"nameLocation": "142:4:66",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": true,
"functionSelector": "a3f4df7e",
"id": 9118,
"mutability": "constant",
"name": "NAME",
"nameLocation": "283:4:66",
"nodeType": "VariableDeclaration",
"scope": 9239,
"src": "260:48:66",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 9116,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "260:6:66",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": {
"hexValue": "55534420436f696e202d2044554d4d59",
"id": 9117,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "290:18:66",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_f1f77fb2c2c60421f2302e24a7e4cd9881e813fbb52a287a66078d21b2506554",
"typeString": "literal_string \"USD Coin - DUMMY\""
},
"value": "USD Coin - DUMMY"
},
"visibility": "public"
},
{
"constant": true,
"functionSelector": "f76f8d78",
"id": 9121,
"mutability": "constant",
"name": "SYMBOL",
"nameLocation": "337:6:66",
"nodeType": "VariableDeclaration",
"scope": 9239,
"src": "314:38:66",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 9119,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "314:6:66",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": {
"hexValue": "55534443",
"id": 9120,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "346:6:66",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_d6aca1be9729c13d677335161321649cccae6a591554772516700f986f942eaa",
"typeString": "literal_string \"USDC\""
},
"value": "USDC"
},
"visibility": "public"
},
{
"constant": true,
"functionSelector": "2e0f2625",
"id": 9124,
"mutability": "constant",
"name": "DECIMALS",
"nameLocation": "380:8:66",
"nodeType": "VariableDeclaration",
"scope": 9239,
"src": "358:34:66",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 9122,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "358:5:66",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": {
"hexValue": "36",
"id": 9123,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "391:1:66",
"typeDescriptions": {
"typeIdentifier": "t_rational_6_by_1",
"typeString": "int_const 6"
},
"value": "6"
},
"visibility": "public"
},
{
"constant": true,
"functionSelector": "2ff2e9dc",
"id": 9129,
"mutability": "constant",
"name": "INITIAL_SUPPLY",
"nameLocation": "423:14:66",
"nodeType": "VariableDeclaration",
"scope": 9239,
"src": "399:47:66",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 9125,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "399:7:66",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": {
"commonType": {
"typeIdentifier": "t_rational_1000000000000000000000000_by_1",
"typeString": "int_const 1000000000000000000000000"
},
"id": 9128,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"leftExpression": {
"hexValue": "3130",
"id": 9126,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "440:2:66",
"typeDescriptions": {
"typeIdentifier": "t_rational_10_by_1",
"typeString": "int_const 10"
},
"value": "10"
},
"nodeType": "BinaryOperation",
"operator": "**",
"rightExpression": {
"hexValue": "3234",
"id": 9127,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "444:2:66",
"typeDescriptions": {
"typeIdentifier": "t_rational_24_by_1",
"typeString": "int_const 24"
},
"value": "24"
},
"src": "440:6:66",
"typeDescriptions": {
"typeIdentifier": "t_rational_1000000000000000000000000_by_1",
"typeString": "int_const 1000000000000000000000000"
}
},
"visibility": "public"
},
{
"anonymous": false,
"id": 9141,
"name": "LogUsd1Transfer",
"nameLocation": "459:15:66",
"nodeType": "EventDefinition",
"parameters": {
"id": 9140,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 9131,
"indexed": false,
"mutability": "mutable",
"name": "from",
"nameLocation": "483:4:66",
"nodeType": "VariableDeclaration",
"scope": 9141,
"src": "475:12:66",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 9130,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "475:7:66",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 9133,
"indexed": false,
"mutability": "mutable",
"name": "to",
"nameLocation": "497:2:66",
"nodeType": "VariableDeclaration",
"scope": 9141,
"src": "489:10:66",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 9132,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "489:7:66",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 9135,
"indexed": false,
"mutability": "mutable",
"name": "amount",
"nameLocation": "509:6:66",
"nodeType": "VariableDeclaration",
"scope": 9141,
"src": "501:14:66",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 9134,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "501:7:66",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 9137,
"indexed": false,
"mutability": "mutable",
"name": "time",
"nameLocation": "525:4:66",
"nodeType": "VariableDeclaration",
"scope": 9141,
"src": "517:12:66",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 9136,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "517:7:66",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 9139,
"indexed": false,
"mutability": "mutable",
"name": "blockNumber",
"nameLocation": "539:11:66",
"nodeType": "VariableDeclaration",
"scope": 9141,
"src": "531:19:66",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 9138,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "531:7:66",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "474:77:66"
},
"src": "453:99:66"
},
{
"anonymous": false,
"id": 9153,
"name": "LogUsd1TransferFrom",
"nameLocation": "563:19:66",
"nodeType": "EventDefinition",
"parameters": {
"id": 9152,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 9143,
"indexed": false,
"mutability": "mutable",
"name": "from",
"nameLocation": "591:4:66",
"nodeType": "VariableDeclaration",
"scope": 9153,
"src": "583:12:66",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 9142,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "583:7:66",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 9145,
"indexed": false,
"mutability": "mutable",
"name": "to",
"nameLocation": "605:2:66",
"nodeType": "VariableDeclaration",
"scope": 9153,
"src": "597:10:66",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 9144,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "597:7:66",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 9147,
"indexed": false,
"mutability": "mutable",
"name": "amount",
"nameLocation": "617:6:66",
"nodeType": "VariableDeclaration",
"scope": 9153,
"src": "609:14:66",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 9146,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "609:7:66",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 9149,
"indexed": false,
"mutability": "mutable",
"name": "time",
"nameLocation": "633:4:66",
"nodeType": "VariableDeclaration",
"scope": 9153,
"src": "625:12:66",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 9148,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "625:7:66",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 9151,
"indexed": false,
"mutability": "mutable",
"name": "blockNumber",
"nameLocation": "647:11:66",
"nodeType": "VariableDeclaration",
"scope": 9153,
"src": "639:19:66",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 9150,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "639:7:66",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "582:77:66"
},
"src": "557:103:66"
},
{
"body": {
"id": 9166,
"nodeType": "Block",
"src": "711:86:66",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [],
"expression": {
"argumentTypes": [],
"id": 9161,
"name": "_msgSender",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 15638,
"src": "740:10:66",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
"typeString": "function () view returns (address)"
}
},
"id": 9162,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "740:12:66",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"id": 9163,
"name": "INITIAL_SUPPLY",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9129,
"src": "766:14:66",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 9160,
"name": "_mint",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 15443,
"src": "721:5:66",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
"typeString": "function (address,uint256)"
}
},
"id": 9164,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "721:69:66",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 9165,
"nodeType": "ExpressionStatement",
"src": "721:69:66"
}
]
},
"id": 9167,
"implemented": true,
"kind": "constructor",
"modifiers": [
{
"arguments": [
{
"id": 9156,
"name": "NAME",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9118,
"src": "693:4:66",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 9157,
"name": "SYMBOL",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9121,
"src": "699:6:66",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"id": 9158,
"modifierName": {
"id": 9155,
"name": "ERC20",
"nodeType": "IdentifierPath",
"referencedDeclaration": 15626,
"src": "687:5:66"
},
"nodeType": "ModifierInvocation",
"src": "687:19:66"
}
],
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 9154,
"nodeType": "ParameterList",
"parameters": [],
"src": "676:2:66"
},
"returnParameters": {
"id": 9159,
"nodeType": "ParameterList",
"parameters": [],
"src": "711:0:66"
},
"scope": 9239,
"src": "665:132:66",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"baseFunctions": [
15115
],
"body": {
"id": 9175,
"nodeType": "Block",
"src": "859:32:66",
"statements": [
{
"expression": {
"id": 9173,
"name": "DECIMALS",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9124,
"src": "876:8:66",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"functionReturnParameters": 9172,
"id": 9174,
"nodeType": "Return",
"src": "869:15:66"
}
]
},
"functionSelector": "313ce567",
"id": 9176,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "decimals",
"nameLocation": "812:8:66",
"nodeType": "FunctionDefinition",
"overrides": {
"id": 9169,
"nodeType": "OverrideSpecifier",
"overrides": [],
"src": "835:8:66"
},
"parameters": {
"id": 9168,
"nodeType": "ParameterList",
"parameters": [],
"src": "820:2:66"
},
"returnParameters": {
"id": 9172,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 9171,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 9176,
"src": "852:5:66",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 9170,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "852:5:66",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"visibility": "internal"
}
],
"src": "851:7:66"
},
"scope": 9239,
"src": "803:88:66",
"stateMutability": "pure",
"virtual": false,
"visibility": "public"
},
{
"baseFunctions": [
15164
],
"body": {
"id": 9207,
"nodeType": "Block",
"src": "982:224:66",
"statements": [
{
"assignments": [
9187
],
"declarations": [
{
"constant": false,
"id": 9187,
"mutability": "mutable",
"name": "from",
"nameLocation": "1000:4:66",
"nodeType": "VariableDeclaration",
"scope": 9207,
"src": "992:12:66",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 9186,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "992:7:66",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"id": 9190,
"initialValue": {
"arguments": [],
"expression": {
"argumentTypes": [],
"id": 9188,
"name": "_msgSender",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 15638,
"src": "1007:10:66",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
"typeString": "function () view returns (address)"
}
},
"id": 9189,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1007:12:66",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "992:27:66"
},
{
"eventCall": {
"arguments": [
{
"id": 9192,
"name": "from",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9187,
"src": "1108:4:66",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"id": 9193,
"name": "to",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9178,
"src": "1114:2:66",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"id": 9194,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9180,
"src": "1118:6:66",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
{
"expression": {
"id": 9195,
"name": "block",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -4,
"src": "1126:5:66",
"typeDescriptions": {
"typeIdentifier": "t_magic_block",
"typeString": "block"
}
},
"id": 9196,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "timestamp",
"nodeType": "MemberAccess",
"src": "1126:15:66",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
{
"expression": {
"id": 9197,
"name": "block",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -4,
"src": "1143:5:66",
"typeDescriptions": {
"typeIdentifier": "t_magic_block",
"typeString": "block"
}
},
"id": 9198,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "number",
"nodeType": "MemberAccess",
"src": "1143:12:66",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 9191,
"name": "LogUsd1TransferFrom",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9153,
"src": "1088:19:66",
"typeDescriptions": {
"typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$",
"typeString": "function (address,address,uint256,uint256,uint256)"
}
},
"id": 9199,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1088:68:66",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 9200,
"nodeType": "EmitStatement",
"src": "1083:73:66"
},
{
"expression": {
"arguments": [
{
"id": 9203,
"name": "to",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9178,
"src": "1188:2:66",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"id": 9204,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9180,
"src": "1192:6:66",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"id": 9201,
"name": "super",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -25,
"src": "1173:5:66",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_super$_USD1_$9239_$",
"typeString": "type(contract super USD1)"
}
},
"id": 9202,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "transfer",
"nodeType": "MemberAccess",
"referencedDeclaration": 15164,
"src": "1173:14:66",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
"typeString": "function (address,uint256) returns (bool)"
}
},
"id": 9205,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1173:26:66",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"functionReturnParameters": 9185,
"id": 9206,
"nodeType": "Return",
"src": "1166:33:66"
}
]
},
"functionSelector": "a9059cbb",
"id": 9208,
"implemen