becrypto/build/contracts/MallBase.json

1602 lines
63 KiB
JSON

{
"contractName": "MallBase",
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "erc20",
"type": "address"
}
],
"name": "AddERC20Suppout",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "erc20",
"type": "address"
}
],
"name": "RemoveERC20Suppout",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "erc20Supported",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "executor",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "feeToAddress",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "erc20",
"type": "address"
}
],
"name": "addERC20Support",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "erc20",
"type": "address"
}
],
"name": "removeERC20Support",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "updateExecutor",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_feeToAddress",
"type": "address"
}
],
"name": "setFeeToAddress",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"erc20\",\"type\":\"address\"}],\"name\":\"AddERC20Suppout\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"erc20\",\"type\":\"address\"}],\"name\":\"RemoveERC20Suppout\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"erc20\",\"type\":\"address\"}],\"name\":\"addERC20Support\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"erc20Supported\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"executor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeToAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"erc20\",\"type\":\"address\"}],\"name\":\"removeERC20Support\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_feeToAddress\",\"type\":\"address\"}],\"name\":\"setFeeToAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"updateExecutor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"updateExecutor(address)\":{\"details\":\"update executor\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/market/MallBase.sol\":\"MallBase\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"project:/contracts/market/MallBase.sol\":{\"keccak256\":\"0xed857b8b9281b1594c81896d61271093a6470de4bae6791a2f5bf9058c7d93ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d5e235659046d2476d9101597cbe3eed54f361450a650d368bdc919c33d0641a\",\"dweb:/ipfs/QmNLuBDM2pzQqsGgo5Na4Jh2qqLHbJPSdFWisqJUBq5X4e\"]}},\"version\":1}",
"bytecode": "0x",
"deployedBytecode": "0x",
"immutableReferences": {},
"generatedSources": [],
"deployedGeneratedSources": [],
"sourceMap": "",
"deployedSourceMap": "",
"source": "// SPDX-License-Identifier: MIT\r\npragma solidity 0.8.10;\r\n\r\nimport \"@openzeppelin/contracts/access/Ownable.sol\";\r\n\r\nabstract contract MallBase is Ownable {\r\n address public executor;\r\n // Address to receive transaction fee\r\n address public feeToAddress;\r\n\r\n mapping(address => bool) public erc20Supported;\r\n event AddERC20Suppout(address erc20);\r\n event RemoveERC20Suppout(address erc20);\r\n\r\n function addERC20Support(address erc20) external onlyOwner {\r\n require(erc20 != address(0), \"ERC20 address is zero\");\r\n erc20Supported[erc20] = true;\r\n emit AddERC20Suppout(erc20);\r\n }\r\n\r\n function removeERC20Support(address erc20) external onlyOwner {\r\n erc20Supported[erc20] = false;\r\n emit RemoveERC20Suppout(erc20);\r\n }\r\n\r\n /**\r\n * @dev update executor\r\n */\r\n function updateExecutor(address account) external onlyOwner {\r\n require(account != address(0), \"address can not be zero\");\r\n executor = account;\r\n }\r\n\r\n function setFeeToAddress(address _feeToAddress) external onlyOwner {\r\n require(\r\n _feeToAddress != address(0),\r\n \"fee received address can not be zero\"\r\n );\r\n feeToAddress = _feeToAddress;\r\n }\r\n}\r\n",
"sourcePath": "C:\\work\\CEBG\\becrypto\\contracts\\market\\MallBase.sol",
"ast": {
"absolutePath": "project:/contracts/market/MallBase.sol",
"exportedSymbols": {
"Context": [
6470
],
"MallBase": [
15781
],
"Ownable": [
651
]
},
"id": 15782,
"license": "MIT",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 15670,
"literals": [
"solidity",
"0.8",
".10"
],
"nodeType": "PragmaDirective",
"src": "33:23:62"
},
{
"absolutePath": "@openzeppelin/contracts/access/Ownable.sol",
"file": "@openzeppelin/contracts/access/Ownable.sol",
"id": 15671,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 15782,
"sourceUnit": 652,
"src": "60:52:62",
"symbolAliases": [],
"unitAlias": ""
},
{
"abstract": true,
"baseContracts": [
{
"baseName": {
"id": 15672,
"name": "Ownable",
"nodeType": "IdentifierPath",
"referencedDeclaration": 651,
"src": "146:7:62"
},
"id": 15673,
"nodeType": "InheritanceSpecifier",
"src": "146:7:62"
}
],
"canonicalName": "MallBase",
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 15781,
"linearizedBaseContracts": [
15781,
651,
6470
],
"name": "MallBase",
"nameLocation": "134:8:62",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"functionSelector": "c34c08e5",
"id": 15675,
"mutability": "mutable",
"name": "executor",
"nameLocation": "174:8:62",
"nodeType": "VariableDeclaration",
"scope": 15781,
"src": "159:23:62",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 15674,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "159:7:62",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "public"
},
{
"constant": false,
"functionSelector": "083d80f9",
"id": 15677,
"mutability": "mutable",
"name": "feeToAddress",
"nameLocation": "243:12:62",
"nodeType": "VariableDeclaration",
"scope": 15781,
"src": "228:27:62",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 15676,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "228:7:62",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "public"
},
{
"constant": false,
"functionSelector": "9017f79e",
"id": 15681,
"mutability": "mutable",
"name": "erc20Supported",
"nameLocation": "294:14:62",
"nodeType": "VariableDeclaration",
"scope": 15781,
"src": "262:46:62",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
"typeString": "mapping(address => bool)"
},
"typeName": {
"id": 15680,
"keyType": {
"id": 15678,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "270:7:62",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Mapping",
"src": "262:24:62",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
"typeString": "mapping(address => bool)"
},
"valueType": {
"id": 15679,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "281:4:62",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
}
},
"visibility": "public"
},
{
"anonymous": false,
"id": 15685,
"name": "AddERC20Suppout",
"nameLocation": "319:15:62",
"nodeType": "EventDefinition",
"parameters": {
"id": 15684,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 15683,
"indexed": false,
"mutability": "mutable",
"name": "erc20",
"nameLocation": "343:5:62",
"nodeType": "VariableDeclaration",
"scope": 15685,
"src": "335:13:62",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 15682,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "335:7:62",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "334:15:62"
},
"src": "313:37:62"
},
{
"anonymous": false,
"id": 15689,
"name": "RemoveERC20Suppout",
"nameLocation": "360:18:62",
"nodeType": "EventDefinition",
"parameters": {
"id": 15688,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 15687,
"indexed": false,
"mutability": "mutable",
"name": "erc20",
"nameLocation": "387:5:62",
"nodeType": "VariableDeclaration",
"scope": 15689,
"src": "379:13:62",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 15686,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "379:7:62",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "378:15:62"
},
"src": "354:40:62"
},
{
"body": {
"id": 15716,
"nodeType": "Block",
"src": "459:135:62",
"statements": [
{
"expression": {
"arguments": [
{
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"id": 15702,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 15697,
"name": "erc20",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 15691,
"src": "474:5:62",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"arguments": [
{
"hexValue": "30",
"id": 15700,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "491:1:62",
"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": 15699,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "483:7:62",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": {
"id": 15698,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "483:7:62",
"typeDescriptions": {}
}
},
"id": 15701,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "483:10:62",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "474:19:62",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"hexValue": "45524332302061646472657373206973207a65726f",
"id": 15703,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "495:23:62",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_3d1d4adcc59749b5d042ef099480f6d549cd45fbb220ca097fe0a691a2a937ef",
"typeString": "literal_string \"ERC20 address is zero\""
},
"value": "ERC20 address is zero"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_3d1d4adcc59749b5d042ef099480f6d549cd45fbb220ca097fe0a691a2a937ef",
"typeString": "literal_string \"ERC20 address is zero\""
}
],
"id": 15696,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
4294967278,
4294967278
],
"referencedDeclaration": 4294967278,
"src": "466:7:62",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 15704,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "466:53:62",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 15705,
"nodeType": "ExpressionStatement",
"src": "466:53:62"
},
{
"expression": {
"id": 15710,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"baseExpression": {
"id": 15706,
"name": "erc20Supported",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 15681,
"src": "526:14:62",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
"typeString": "mapping(address => bool)"
}
},
"id": 15708,
"indexExpression": {
"id": 15707,
"name": "erc20",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 15691,
"src": "541:5:62",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
"src": "526:21:62",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"hexValue": "74727565",
"id": 15709,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "bool",
"lValueRequested": false,
"nodeType": "Literal",
"src": "550:4:62",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"value": "true"
},
"src": "526:28:62",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 15711,
"nodeType": "ExpressionStatement",
"src": "526:28:62"
},
{
"eventCall": {
"arguments": [
{
"id": 15713,
"name": "erc20",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 15691,
"src": "582:5:62",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 15712,
"name": "AddERC20Suppout",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 15685,
"src": "566:15:62",
"typeDescriptions": {
"typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$",
"typeString": "function (address)"
}
},
"id": 15714,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "566:22:62",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 15715,
"nodeType": "EmitStatement",
"src": "561:27:62"
}
]
},
"functionSelector": "b9d2df61",
"id": 15717,
"implemented": true,
"kind": "function",
"modifiers": [
{
"id": 15694,
"kind": "modifierInvocation",
"modifierName": {
"id": 15693,
"name": "onlyOwner",
"nodeType": "IdentifierPath",
"referencedDeclaration": 570,
"src": "449:9:62"
},
"nodeType": "ModifierInvocation",
"src": "449:9:62"
}
],
"name": "addERC20Support",
"nameLocation": "409:15:62",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 15692,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 15691,
"mutability": "mutable",
"name": "erc20",
"nameLocation": "433:5:62",
"nodeType": "VariableDeclaration",
"scope": 15717,
"src": "425:13:62",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 15690,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "425:7:62",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "424:15:62"
},
"returnParameters": {
"id": 15695,
"nodeType": "ParameterList",
"parameters": [],
"src": "459:0:62"
},
"scope": 15781,
"src": "400:194:62",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"body": {
"id": 15734,
"nodeType": "Block",
"src": "662:79:62",
"statements": [
{
"expression": {
"id": 15728,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"baseExpression": {
"id": 15724,
"name": "erc20Supported",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 15681,
"src": "669:14:62",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
"typeString": "mapping(address => bool)"
}
},
"id": 15726,
"indexExpression": {
"id": 15725,
"name": "erc20",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 15719,
"src": "684:5:62",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
"src": "669:21:62",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"hexValue": "66616c7365",
"id": 15727,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "bool",
"lValueRequested": false,
"nodeType": "Literal",
"src": "693:5:62",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"value": "false"
},
"src": "669:29:62",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 15729,
"nodeType": "ExpressionStatement",
"src": "669:29:62"
},
{
"eventCall": {
"arguments": [
{
"id": 15731,
"name": "erc20",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 15719,
"src": "729:5:62",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 15730,
"name": "RemoveERC20Suppout",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 15689,
"src": "710:18:62",
"typeDescriptions": {
"typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$",
"typeString": "function (address)"
}
},
"id": 15732,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "710:25:62",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 15733,
"nodeType": "EmitStatement",
"src": "705:30:62"
}
]
},
"functionSelector": "fdf397ee",
"id": 15735,
"implemented": true,
"kind": "function",
"modifiers": [
{
"id": 15722,
"kind": "modifierInvocation",
"modifierName": {
"id": 15721,
"name": "onlyOwner",
"nodeType": "IdentifierPath",
"referencedDeclaration": 570,
"src": "652:9:62"
},
"nodeType": "ModifierInvocation",
"src": "652:9:62"
}
],
"name": "removeERC20Support",
"nameLocation": "609:18:62",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 15720,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 15719,
"mutability": "mutable",
"name": "erc20",
"nameLocation": "636:5:62",
"nodeType": "VariableDeclaration",
"scope": 15735,
"src": "628:13:62",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 15718,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "628:7:62",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "627:15:62"
},
"returnParameters": {
"id": 15723,
"nodeType": "ParameterList",
"parameters": [],
"src": "662:0:62"
},
"scope": 15781,
"src": "600:141:62",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"body": {
"id": 15757,
"nodeType": "Block",
"src": "848:95:62",
"statements": [
{
"expression": {
"arguments": [
{
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"id": 15749,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 15744,
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 15738,
"src": "863:7:62",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"arguments": [
{
"hexValue": "30",
"id": 15747,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "882:1:62",
"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": 15746,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "874:7:62",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": {
"id": 15745,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "874:7:62",
"typeDescriptions": {}
}
},
"id": 15748,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "874:10:62",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "863:21:62",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"hexValue": "616464726573732063616e206e6f74206265207a65726f",
"id": 15750,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "886:25:62",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_8acc3ee93e123270baeb206c430cf52b6f082d016072bd6f96b9fec703556e4c",
"typeString": "literal_string \"address can not be zero\""
},
"value": "address can not be zero"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_8acc3ee93e123270baeb206c430cf52b6f082d016072bd6f96b9fec703556e4c",
"typeString": "literal_string \"address can not be zero\""
}
],
"id": 15743,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
4294967278,
4294967278
],
"referencedDeclaration": 4294967278,
"src": "855:7:62",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 15751,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "855:57:62",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 15752,
"nodeType": "ExpressionStatement",
"src": "855:57:62"
},
{
"expression": {
"id": 15755,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 15753,
"name": "executor",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 15675,
"src": "919:8:62",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"id": 15754,
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 15738,
"src": "930:7:62",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "919:18:62",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 15756,
"nodeType": "ExpressionStatement",
"src": "919:18:62"
}
]
},
"documentation": {
"id": 15736,
"nodeType": "StructuredDocumentation",
"src": "747:37:62",
"text": " @dev update executor"
},
"functionSelector": "74936c16",
"id": 15758,
"implemented": true,
"kind": "function",
"modifiers": [
{
"id": 15741,
"kind": "modifierInvocation",
"modifierName": {
"id": 15740,
"name": "onlyOwner",
"nodeType": "IdentifierPath",
"referencedDeclaration": 570,
"src": "838:9:62"
},
"nodeType": "ModifierInvocation",
"src": "838:9:62"
}
],
"name": "updateExecutor",
"nameLocation": "797:14:62",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 15739,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 15738,
"mutability": "mutable",
"name": "account",
"nameLocation": "820:7:62",
"nodeType": "VariableDeclaration",
"scope": 15758,
"src": "812:15:62",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 15737,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "812:7:62",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "811:17:62"
},
"returnParameters": {
"id": 15742,
"nodeType": "ParameterList",
"parameters": [],
"src": "848:0:62"
},
"scope": 15781,
"src": "788:155:62",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"body": {
"id": 15779,
"nodeType": "Block",
"src": "1016:145:62",
"statements": [
{
"expression": {
"arguments": [
{
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"id": 15771,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 15766,
"name": "_feeToAddress",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 15760,
"src": "1039:13:62",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"arguments": [
{
"hexValue": "30",
"id": 15769,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1064:1:62",
"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": 15768,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1056:7:62",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": {
"id": 15767,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1056:7:62",
"typeDescriptions": {}
}
},
"id": 15770,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1056:10:62",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "1039:27:62",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"hexValue": "66656520726563656976656420616464726573732063616e206e6f74206265207a65726f",
"id": 15772,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1075:38:62",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_aaa625db430dfb3ad2fa62eaddd511a6cd8de860cee36054f7986cfa0debb924",
"typeString": "literal_string \"fee received address can not be zero\""
},
"value": "fee received address can not be zero"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_aaa625db430dfb3ad2fa62eaddd511a6cd8de860cee36054f7986cfa0debb924",
"typeString": "literal_string \"fee received address can not be zero\""
}
],
"id": 15765,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
4294967278,
4294967278
],
"referencedDeclaration": 4294967278,
"src": "1023:7:62",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 15773,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1023:97:62",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 15774,
"nodeType": "ExpressionStatement",
"src": "1023:97:62"
},
{
"expression": {
"id": 15777,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 15775,
"name": "feeToAddress",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 15677,
"src": "1127:12:62",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"id": 15776,
"name": "_feeToAddress",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 15760,
"src": "1142:13:62",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "1127:28:62",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 15778,
"nodeType": "ExpressionStatement",
"src": "1127:28:62"
}
]
},
"functionSelector": "580bb9a5",
"id": 15780,
"implemented": true,
"kind": "function",
"modifiers": [
{
"id": 15763,
"kind": "modifierInvocation",
"modifierName": {
"id": 15762,
"name": "onlyOwner",
"nodeType": "IdentifierPath",
"referencedDeclaration": 570,
"src": "1006:9:62"
},
"nodeType": "ModifierInvocation",
"src": "1006:9:62"
}
],
"name": "setFeeToAddress",
"nameLocation": "958:15:62",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 15761,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 15760,
"mutability": "mutable",
"name": "_feeToAddress",
"nameLocation": "982:13:62",
"nodeType": "VariableDeclaration",
"scope": 15780,
"src": "974:21:62",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 15759,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "974:7:62",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "973:23:62"
},
"returnParameters": {
"id": 15764,
"nodeType": "ParameterList",
"parameters": [],
"src": "1016:0:62"
},
"scope": 15781,
"src": "949:212:62",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
}
],
"scope": 15782,
"src": "116:1048:62",
"usedErrors": []
}
],
"src": "33:1133:62"
},
"compiler": {
"name": "solc",
"version": "0.8.10+commit.fc410830.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.14",
"updatedAt": "2024-04-15T08:05:15.742Z",
"devdoc": {
"kind": "dev",
"methods": {
"owner()": {
"details": "Returns the address of the current owner."
},
"renounceOwnership()": {
"details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."
},
"transferOwnership(address)": {
"details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."
},
"updateExecutor(address)": {
"details": "update executor"
}
},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}