UNPKG

@ethsub/sol

Version:
1,082 lines 43.9 kB
{ "contractName": "ChainAsset", "abi": [ { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "asset", "type": "bytes32" } ], "name": "AssetStored", "type": "event" }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "name": "_assetsStored", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "asset", "type": "bytes32" } ], "name": "store", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "metadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"asset\",\"type\":\"bytes32\"}],\"name\":\"AssetStored\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"_assetsStored\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"asset\",\"type\":\"bytes32\"}],\"name\":\"store\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"ChainSafe Systems.\",\"kind\":\"dev\",\"methods\":{\"store(bytes32)\":{\"params\":{\"asset\":\"Hash of asset deposited on Chain chain.\"}}},\"title\":\"Represents a bridged Chain asset.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"store(bytes32)\":{\"notice\":\"Marks {asset} as stored.{asset} must not have already been stored.Emits {AssetStored} event.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/ChainAsset.sol\":\"ChainAsset\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/ChainAsset.sol\":{\"keccak256\":\"0x5825a3266f7fc68ab073c6f81bf153ce00ebd39100bea93244edfcab6db15c10\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://29a4c386fb92272ed09e673e406c03c2d26bb581984737f1da8ad1d9a8be1d05\",\"dweb:/ipfs/QmYKK4qxFPXmtehWe8ndQkvwvSdNE6h2Zi4gMkCVLFnZVP\"]}},\"version\":1}", "bytecode": "0x608060405234801561001057600080fd5b50610199806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063654cf88c1461003b57806396add60014610050575b600080fd5b61004e610049366004610109565b610079565b005b61006361005e366004610109565b6100f4565b6040516100709190610121565b60405180910390f35b60008181526020819052604090205460ff16156100b15760405162461bcd60e51b81526004016100a89061012c565b60405180910390fd5b600081815260208190526040808220805460ff191660011790555182917f08ae553713effae7116be03743b167b8b803449ee8fb912c2ec43dc2c824f53591a250565b60006020819052908152604090205460ff1681565b60006020828403121561011a578081fd5b5035919050565b901515815260200190565b60208082526017908201527f617373657420697320616c72656164792073746f72656400000000000000000060408201526060019056fea2646970667358221220ad7b538a49ce49dfb0f2443fb62b5d31a734af7ff657c31cb96d6cbca3ccb3d464736f6c634300060c0033", "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063654cf88c1461003b57806396add60014610050575b600080fd5b61004e610049366004610109565b610079565b005b61006361005e366004610109565b6100f4565b6040516100709190610121565b60405180910390f35b60008181526020819052604090205460ff16156100b15760405162461bcd60e51b81526004016100a89061012c565b60405180910390fd5b600081815260208190526040808220805460ff191660011790555182917f08ae553713effae7116be03743b167b8b803449ee8fb912c2ec43dc2c824f53591a250565b60006020819052908152604090205460ff1681565b60006020828403121561011a578081fd5b5035919050565b901515815260200190565b60208082526017908201527f617373657420697320616c72656164792073746f72656400000000000000000060408201526060019056fea2646970667358221220ad7b538a49ce49dfb0f2443fb62b5d31a734af7ff657c31cb96d6cbca3ccb3d464736f6c634300060c0033", "immutableReferences": {}, "sourceMap": "185:498:35:-:0;;;;;;;;;;;;;;;;;;;", "deployedSourceMap": "185:498:35:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;505:176;;;;;;:::i;:::-;;:::i;:::-;;209:46;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;505:176;561:13;:20;;;;;;;;;;;;;560:21;552:57;;;;-1:-1:-1;;;552:57:35;;;;;;;:::i;:::-;;;;;;;;;618:13;:20;;;;;;;;;;;:27;;-1:-1:-1;;618:27:35;641:4;618:27;;;658:18;632:5;;658:18;;;505:176;:::o;209:46::-;;;;;;;;;;;;;;;;:::o;142:241:-1:-;;246:2;234:9;225:7;221:23;217:32;214:2;;;-1:-1;;252:12;214:2;-1:-1;72:20;;208:175;-1:-1;208:175::o;833:210::-;1711:13;;1704:21;455:34;;954:2;939:18;;925:118::o;1050:416::-;1250:2;1264:47;;;726:2;1235:18;;;1577:19;762:25;1617:14;;;742:46;807:12;;;1221:245::o", "source": "// SPDX-License-Identifier: LGPL-3.0-only\npragma solidity 0.6.12;\npragma experimental ABIEncoderV2;\n\n/**\n @title Represents a bridged Chain asset.\n @author ChainSafe Systems.\n */\ncontract ChainAsset {\n mapping (bytes32 => bool) public _assetsStored;\n\n event AssetStored(bytes32 indexed asset);\n\n /**\n @notice Marks {asset} as stored.\n @param asset Hash of asset deposited on Chain chain.\n @notice {asset} must not have already been stored.\n @notice Emits {AssetStored} event.\n */\n function store(bytes32 asset) external {\n require(!_assetsStored[asset], \"asset is already stored\");\n\n _assetsStored[asset] = true;\n emit AssetStored(asset);\n }\n}", "sourcePath": "/home/sigo/w/deer/ethsub/packages/sol/contracts/ChainAsset.sol", "ast": { "absolutePath": "project:/contracts/ChainAsset.sol", "exportedSymbols": { "ChainAsset": [ 7384 ] }, "id": 7385, "license": "LGPL-3.0-only", "nodeType": "SourceUnit", "nodes": [ { "id": 7348, "literals": [ "solidity", "0.6", ".12" ], "nodeType": "PragmaDirective", "src": "42:23:35" }, { "id": 7349, "literals": [ "experimental", "ABIEncoderV2" ], "nodeType": "PragmaDirective", "src": "66:33:35" }, { "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": { "id": 7350, "nodeType": "StructuredDocumentation", "src": "101:83:35", "text": "@title Represents a bridged Chain asset.\n@author ChainSafe Systems." }, "fullyImplemented": true, "id": 7384, "linearizedBaseContracts": [ 7384 ], "name": "ChainAsset", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "functionSelector": "96add600", "id": 7354, "mutability": "mutable", "name": "_assetsStored", "nodeType": "VariableDeclaration", "overrides": null, "scope": 7384, "src": "209:46:35", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" }, "typeName": { "id": 7353, "keyType": { "id": 7351, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "218:7:35", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", "src": "209:25:35", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" }, "valueType": { "id": 7352, "name": "bool", "nodeType": "ElementaryTypeName", "src": "229:4:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } }, "value": null, "visibility": "public" }, { "anonymous": false, "documentation": null, "id": 7358, "name": "AssetStored", "nodeType": "EventDefinition", "parameters": { "id": 7357, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7356, "indexed": true, "mutability": "mutable", "name": "asset", "nodeType": "VariableDeclaration", "overrides": null, "scope": 7358, "src": "278:21:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 7355, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "278:7:35", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "value": null, "visibility": "internal" } ], "src": "277:23:35" }, "src": "260:41:35" }, { "body": { "id": 7382, "nodeType": "Block", "src": "544:137:35", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 7368, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "!", "prefix": true, "src": "560:21:35", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 7365, "name": "_assetsStored", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7354, "src": "561:13:35", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, "id": 7367, "indexExpression": { "argumentTypes": null, "id": 7366, "name": "asset", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7361, "src": "575:5:35", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "561:20:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "617373657420697320616c72656164792073746f726564", "id": 7369, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "583:25:35", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_bc642c1798a3fc3c118745685dd76c066cfa68ac78864d110f41537703db5089", "typeString": "literal_string \"asset is already stored\"" }, "value": "asset is already stored" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_bc642c1798a3fc3c118745685dd76c066cfa68ac78864d110f41537703db5089", "typeString": "literal_string \"asset is already stored\"" } ], "id": 7364, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "552:7:35", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 7370, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "552:57:35", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 7371, "nodeType": "ExpressionStatement", "src": "552:57:35" }, { "expression": { "argumentTypes": null, "id": 7376, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 7372, "name": "_assetsStored", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7354, "src": "618:13:35", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, "id": 7374, "indexExpression": { "argumentTypes": null, "id": 7373, "name": "asset", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7361, "src": "632:5:35", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "618:20:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", "id": 7375, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "641:4:35", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, "src": "618:27:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 7377, "nodeType": "ExpressionStatement", "src": "618:27:35" }, { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 7379, "name": "asset", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7361, "src": "670:5:35", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 7378, "name": "AssetStored", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7358, "src": "658:11:35", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", "typeString": "function (bytes32)" } }, "id": 7380, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "658:18:35", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 7381, "nodeType": "EmitStatement", "src": "653:23:35" } ] }, "documentation": { "id": 7359, "nodeType": "StructuredDocumentation", "src": "305:197:35", "text": "@notice Marks {asset} as stored.\n@param asset Hash of asset deposited on Chain chain.\n@notice {asset} must not have already been stored.\n@notice Emits {AssetStored} event." }, "functionSelector": "654cf88c", "id": 7383, "implemented": true, "kind": "function", "modifiers": [], "name": "store", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 7362, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7361, "mutability": "mutable", "name": "asset", "nodeType": "VariableDeclaration", "overrides": null, "scope": 7383, "src": "520:13:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 7360, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "520:7:35", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "value": null, "visibility": "internal" } ], "src": "519:15:35" }, "returnParameters": { "id": 7363, "nodeType": "ParameterList", "parameters": [], "src": "544:0:35" }, "scope": 7384, "src": "505:176:35", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" } ], "scope": 7385, "src": "185:498:35" } ], "src": "42:641:35" }, "legacyAST": { "attributes": { "absolutePath": "project:/contracts/ChainAsset.sol", "exportedSymbols": { "ChainAsset": [ 7384 ] }, "license": "LGPL-3.0-only" }, "children": [ { "attributes": { "literals": [ "solidity", "0.6", ".12" ] }, "id": 7348, "name": "PragmaDirective", "src": "42:23:35" }, { "attributes": { "literals": [ "experimental", "ABIEncoderV2" ] }, "id": 7349, "name": "PragmaDirective", "src": "66:33:35" }, { "attributes": { "abstract": false, "baseContracts": [ null ], "contractDependencies": [ null ], "contractKind": "contract", "fullyImplemented": true, "linearizedBaseContracts": [ 7384 ], "name": "ChainAsset", "scope": 7385 }, "children": [ { "attributes": { "text": "@title Represents a bridged Chain asset.\n@author ChainSafe Systems." }, "id": 7350, "name": "StructuredDocumentation", "src": "101:83:35" }, { "attributes": { "constant": false, "functionSelector": "96add600", "mutability": "mutable", "name": "_assetsStored", "overrides": null, "scope": 7384, "stateVariable": true, "storageLocation": "default", "type": "mapping(bytes32 => bool)", "value": null, "visibility": "public" }, "children": [ { "attributes": { "type": "mapping(bytes32 => bool)" }, "children": [ { "attributes": { "name": "bytes32", "type": "bytes32" }, "id": 7351, "name": "ElementaryTypeName", "src": "218:7:35" }, { "attributes": { "name": "bool", "type": "bool" }, "id": 7352, "name": "ElementaryTypeName", "src": "229:4:35" } ], "id": 7353, "name": "Mapping", "src": "209:25:35" } ], "id": 7354, "name": "VariableDeclaration", "src": "209:46:35" }, { "attributes": { "anonymous": false, "documentation": null, "name": "AssetStored" }, "children": [ { "children": [ { "attributes": { "constant": false, "indexed": true, "mutability": "mutable", "name": "asset", "overrides": null, "scope": 7358, "stateVariable": false, "storageLocation": "default", "type": "bytes32", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "bytes32", "type": "bytes32" }, "id": 7355, "name": "ElementaryTypeName", "src": "278:7:35" } ], "id": 7356, "name": "VariableDeclaration", "src": "278:21:35" } ], "id": 7357, "name": "ParameterList", "src": "277:23:35" } ], "id": 7358, "name": "EventDefinition", "src": "260:41:35" }, { "attributes": { "functionSelector": "654cf88c", "implemented": true, "isConstructor": false, "kind": "function", "modifiers": [ null ], "name": "store", "overrides": null, "scope": 7384, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, "children": [ { "attributes": { "text": "@notice Marks {asset} as stored.\n@param asset Hash of asset deposited on Chain chain.\n@notice {asset} must not have already been stored.\n@notice Emits {AssetStored} event." }, "id": 7359, "name": "StructuredDocumentation", "src": "305:197:35" }, { "children": [ { "attributes": { "constant": false, "mutability": "mutable", "name": "asset", "overrides": null, "scope": 7383, "stateVariable": false, "storageLocation": "default", "type": "bytes32", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "bytes32", "type": "bytes32" }, "id": 7360, "name": "ElementaryTypeName", "src": "520:7:35" } ], "id": 7361, "name": "VariableDeclaration", "src": "520:13:35" } ], "id": 7362, "name": "ParameterList", "src": "519:15:35" }, { "attributes": { "parameters": [ null ] }, "children": [], "id": 7363, "name": "ParameterList", "src": "544:0:35" }, { "children": [ { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "isStructConstructorCall": false, "lValueRequested": false, "names": [ null ], "tryCall": false, "type": "tuple()", "type_conversion": false }, "children": [ { "attributes": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_bc642c1798a3fc3c118745685dd76c066cfa68ac78864d110f41537703db5089", "typeString": "literal_string \"asset is already stored\"" } ], "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "type": "function (bool,string memory) pure", "value": "require" }, "id": 7364, "name": "Identifier", "src": "552:7:35" }, { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "!", "prefix": true, "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 7354, "type": "mapping(bytes32 => bool)", "value": "_assetsStored" }, "id": 7365, "name": "Identifier", "src": "561:13:35" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 7361, "type": "bytes32", "value": "asset" }, "id": 7366, "name": "Identifier", "src": "575:5:35" } ], "id": 7367, "name": "IndexAccess", "src": "561:20:35" } ], "id": 7368, "name": "UnaryOperation", "src": "560:21:35" }, { "attributes": { "argumentTypes": null, "hexvalue": "617373657420697320616c72656164792073746f726564", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "string", "type": "literal_string \"asset is already stored\"", "value": "asset is already stored" }, "id": 7369, "name": "Literal", "src": "583:25:35" } ], "id": 7370, "name": "FunctionCall", "src": "552:57:35" } ], "id": 7371, "name": "ExpressionStatement", "src": "552:57:35" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "=", "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 7354, "type": "mapping(bytes32 => bool)", "value": "_assetsStored" }, "id": 7372, "name": "Identifier", "src": "618:13:35" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 7361, "type": "bytes32", "value": "asset" }, "id": 7373, "name": "Identifier", "src": "632:5:35" } ], "id": 7374, "name": "IndexAccess", "src": "618:20:35" }, { "attributes": { "argumentTypes": null, "hexvalue": "74727565", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "bool", "type": "bool", "value": "true" }, "id": 7375, "name": "Literal", "src": "641:4:35" } ], "id": 7376, "name": "Assignment", "src": "618:27:35" } ], "id": 7377, "name": "ExpressionStatement", "src": "618:27:35" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "isStructConstructorCall": false, "lValueRequested": false, "names": [ null ], "tryCall": false, "type": "tuple()", "type_conversion": false }, "children": [ { "attributes": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "overloadedDeclarations": [ null ], "referencedDeclaration": 7358, "type": "function (bytes32)", "value": "AssetStored" }, "id": 7378, "name": "Identifier", "src": "658:11:35" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 7361, "type": "bytes32", "value": "asset" }, "id": 7379, "name": "Identifier", "src": "670:5:35" } ], "id": 7380, "name": "FunctionCall", "src": "658:18:35" } ], "id": 7381, "name": "EmitStatement", "src": "653:23:35" } ], "id": 7382, "name": "Block", "src": "544:137:35" } ], "id": 7383, "name": "FunctionDefinition", "src": "505:176:35" } ], "id": 7384, "name": "ContractDefinition", "src": "185:498:35" } ], "id": 7385, "name": "SourceUnit", "src": "42:641:35" }, "compiler": { "name": "solc", "version": "0.6.12+commit.27d51765.Emscripten.clang" }, "networks": {}, "schemaVersion": "3.4.3", "updatedAt": "2021-11-29T02:07:34.239Z", "devdoc": { "author": "ChainSafe Systems.", "kind": "dev", "methods": { "store(bytes32)": { "params": { "asset": "Hash of asset deposited on Chain chain." } } }, "title": "Represents a bridged Chain asset.", "version": 1 }, "userdoc": { "kind": "user", "methods": { "store(bytes32)": { "notice": "Marks {asset} as stored.{asset} must not have already been stored.Emits {AssetStored} event." } }, "version": 1 } }