becrypto/build/contracts/IToken.json

1838 lines
72 KiB
JSON

{
"contractName": "IToken",
"abi": [
{
"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"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "startTime",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "saltNonce",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "signature",
"type": "bytes"
}
],
"name": "signApprove",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"startTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"saltNonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"signApprove\",\"outputs\":[],\"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\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/logic/ExecuteRelay.sol\":\"IToken\"},\"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\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2\",\"dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"project:/contracts/core/HasSignature712.sol\":{\"keccak256\":\"0xcfa1b32a388ca7c5cd41676719aac8ab49abedb549f7a46904e5e4d7186a0ee9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://298ca85faceec294adfda8692785a5c5d01f045a5780fce480614dc88172ad81\",\"dweb:/ipfs/QmQe7He5SHxZzZm6ekLDMHGYdWCjLmyjoF9cdgbDvZVmYc\"]},\"project:/contracts/logic/ExecuteRelay.sol\":{\"keccak256\":\"0x70003174a37eb768b6ac6c604233093d39d5b540d5c34a3f53e06976d347cea0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e3132e268570846983b5162ca31fb3f81891a555d4bd8a6878165f8b637d2cd\",\"dweb:/ipfs/QmcoKwPUrfuFF5mKTBka5H2stwATnx33KexcNLZHA3kh45\"]},\"project:/contracts/utils/TimeChecker.sol\":{\"keccak256\":\"0xf8ee7429455aaab77928e8473db10bd19711785a6882b530ca2bff0fcd827935\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://47d15b16737402cca53bc604b3ae7330378f1a8cd4be9134aa598515907286be\",\"dweb:/ipfs/QmaQu5HH7BZbwS42pnQVCXmMLrdhdcxCwtu8jYUSuqMA56\"]}},\"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 \"../core/HasSignature712.sol\";\r\nimport \"../utils/TimeChecker.sol\";\r\n\r\ninterface IToken {\r\n function transferFrom(\r\n address from,\r\n address to,\r\n uint256 amount\r\n ) external returns (bool);\r\n\r\n function signApprove(\r\n address spender,\r\n uint256 amount,\r\n uint256 startTime,\r\n uint256 saltNonce,\r\n bytes calldata signature\r\n ) external;\r\n}\r\n\r\ncontract ExecuteRelay is HasSignatureEx, TimeChecker {\r\n constructor() HasSignatureEx(\"ExecuteRelay\", \"1\") {}\r\n\r\n address public tokenAddress;\r\n\r\n event MethodExecuted(\r\n address indexed sender,\r\n address indexed target,\r\n bytes data,\r\n uint256 gasUsed,\r\n uint256 tokenAmount\r\n );\r\n\r\n function execute(\r\n address sender,\r\n address target,\r\n uint256 value,\r\n bytes calldata data,\r\n uint256 startTime,\r\n uint256 saltNonce,\r\n bytes calldata signature\r\n ) external payable signatureValid(signature) timeValid(startTime) {\r\n // bytes32 messageHash = getMessageHash(\r\n // target,\r\n // value,\r\n // data,\r\n // startTime,\r\n // saltNonce\r\n // );\r\n // uint256 gasStart = gasleft();\r\n // checkSigner712(sender, messageHash, signature);\r\n // uint256 gasPrice = tx.gasprice;\r\n // _call(target, value, data);\r\n // uint256 gasUsed = gasStart - gasleft();\r\n // uint256 tokenAmount = gasPrice * gasUsed; // TODO:: calc real token amount\r\n // IToken(tokenAddress).signApprove(\r\n // sender,\r\n // tokenAmount,\r\n // startTime,\r\n // saltNonce,\r\n // signature\r\n // );\r\n // IToken(tokenAddress).transferFrom(sender, address(this), tokenAmount);\r\n // _useSignature(signature);\r\n // emit MethodExecuted(sender, target, data, gasUsed, tokenAmount);\r\n }\r\n\r\n /**\r\n * @dev Execute an operation's call.\r\n *\r\n * Emits a {CallExecuted} event.\r\n */\r\n function _call(address target, uint256 value, bytes calldata data) private {\r\n (bool success, ) = target.call{value: value}(data);\r\n require(success, \"ExecuteRelay: underlying transaction reverted\");\r\n }\r\n\r\n function getMessageHash(\r\n address _target,\r\n uint256 _value,\r\n bytes calldata _data,\r\n uint256 _startTime,\r\n uint256 _saltNonce\r\n ) public pure returns (bytes32) {\r\n bytes memory encoded = abi.encodePacked(\r\n _target,\r\n _value,\r\n _data,\r\n _startTime,\r\n _saltNonce\r\n );\r\n return keccak256(encoded);\r\n }\r\n}\r\n",
"sourcePath": "D:\\res\\CEBG\\becrypto\\contracts\\logic\\ExecuteRelay.sol",
"ast": {
"absolutePath": "project:/contracts/logic/ExecuteRelay.sol",
"exportedSymbols": {
"Context": [
6470
],
"ECDSA": [
7139
],
"ExecuteRelay": [
10703
],
"HasSignatureEx": [
10312
],
"IToken": [
10596
],
"Math": [
8041
],
"Ownable": [
651
],
"SignedMath": [
8146
],
"Strings": [
6773
],
"TimeChecker": [
17510
]
},
"id": 10704,
"license": "MIT",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 10569,
"literals": [
"solidity",
"0.8",
".10"
],
"nodeType": "PragmaDirective",
"src": "33:23:50"
},
{
"absolutePath": "project:/contracts/core/HasSignature712.sol",
"file": "../core/HasSignature712.sol",
"id": 10570,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 10704,
"sourceUnit": 10313,
"src": "60:37:50",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "project:/contracts/utils/TimeChecker.sol",
"file": "../utils/TimeChecker.sol",
"id": 10571,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 10704,
"sourceUnit": 17511,
"src": "99:34:50",
"symbolAliases": [],
"unitAlias": ""
},
{
"abstract": false,
"baseContracts": [],
"canonicalName": "IToken",
"contractDependencies": [],
"contractKind": "interface",
"fullyImplemented": false,
"id": 10596,
"linearizedBaseContracts": [
10596
],
"name": "IToken",
"nameLocation": "147:6:50",
"nodeType": "ContractDefinition",
"nodes": [
{
"functionSelector": "23b872dd",
"id": 10582,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "transferFrom",
"nameLocation": "168:12:50",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 10578,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 10573,
"mutability": "mutable",
"name": "from",
"nameLocation": "195:4:50",
"nodeType": "VariableDeclaration",
"scope": 10582,
"src": "187:12:50",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 10572,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "187:7:50",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 10575,
"mutability": "mutable",
"name": "to",
"nameLocation": "214:2:50",
"nodeType": "VariableDeclaration",
"scope": 10582,
"src": "206:10:50",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 10574,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "206:7:50",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 10577,
"mutability": "mutable",
"name": "amount",
"nameLocation": "231:6:50",
"nodeType": "VariableDeclaration",
"scope": 10582,
"src": "223:14:50",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 10576,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "223:7:50",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "180:62:50"
},
"returnParameters": {
"id": 10581,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 10580,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 10582,
"src": "261:4:50",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 10579,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "261:4:50",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"visibility": "internal"
}
],
"src": "260:6:50"
},
"scope": 10596,
"src": "159:108:50",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "dae1631e",
"id": 10595,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "signApprove",
"nameLocation": "282:11:50",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 10593,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 10584,
"mutability": "mutable",
"name": "spender",
"nameLocation": "308:7:50",
"nodeType": "VariableDeclaration",
"scope": 10595,
"src": "300:15:50",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 10583,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "300:7:50",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 10586,
"mutability": "mutable",
"name": "amount",
"nameLocation": "330:6:50",
"nodeType": "VariableDeclaration",
"scope": 10595,
"src": "322:14:50",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 10585,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "322:7:50",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 10588,
"mutability": "mutable",
"name": "startTime",
"nameLocation": "351:9:50",
"nodeType": "VariableDeclaration",
"scope": 10595,
"src": "343:17:50",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 10587,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "343:7:50",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 10590,
"mutability": "mutable",
"name": "saltNonce",
"nameLocation": "375:9:50",
"nodeType": "VariableDeclaration",
"scope": 10595,
"src": "367:17:50",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 10589,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "367:7:50",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 10592,
"mutability": "mutable",
"name": "signature",
"nameLocation": "406:9:50",
"nodeType": "VariableDeclaration",
"scope": 10595,
"src": "391:24:50",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 10591,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "391:5:50",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"visibility": "internal"
}
],
"src": "293:127:50"
},
"returnParameters": {
"id": 10594,
"nodeType": "ParameterList",
"parameters": [],
"src": "429:0:50"
},
"scope": 10596,
"src": "273:157:50",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
}
],
"scope": 10704,
"src": "137:296:50",
"usedErrors": []
},
{
"abstract": false,
"baseContracts": [
{
"baseName": {
"id": 10597,
"name": "HasSignatureEx",
"nodeType": "IdentifierPath",
"referencedDeclaration": 10312,
"src": "462:14:50"
},
"id": 10598,
"nodeType": "InheritanceSpecifier",
"src": "462:14:50"
},
{
"baseName": {
"id": 10599,
"name": "TimeChecker",
"nodeType": "IdentifierPath",
"referencedDeclaration": 17510,
"src": "478:11:50"
},
"id": 10600,
"nodeType": "InheritanceSpecifier",
"src": "478:11:50"
}
],
"canonicalName": "ExecuteRelay",
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 10703,
"linearizedBaseContracts": [
10703,
17510,
10312,
651,
6470
],
"name": "ExecuteRelay",
"nameLocation": "446:12:50",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": {
"id": 10607,
"nodeType": "Block",
"src": "545:2:50",
"statements": []
},
"id": 10608,
"implemented": true,
"kind": "constructor",
"modifiers": [
{
"arguments": [
{
"hexValue": "4578656375746552656c6179",
"id": 10603,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "524:14:50",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_57615082dca7dd95fd3b96c0919b1d90008d781048808a231fb3294174c9e982",
"typeString": "literal_string \"ExecuteRelay\""
},
"value": "ExecuteRelay"
},
{
"hexValue": "31",
"id": 10604,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "540:3:50",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6",
"typeString": "literal_string \"1\""
},
"value": "1"
}
],
"id": 10605,
"kind": "baseConstructorSpecifier",
"modifierName": {
"id": 10602,
"name": "HasSignatureEx",
"nodeType": "IdentifierPath",
"referencedDeclaration": 10312,
"src": "509:14:50"
},
"nodeType": "ModifierInvocation",
"src": "509:35:50"
}
],
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 10601,
"nodeType": "ParameterList",
"parameters": [],
"src": "506:2:50"
},
"returnParameters": {
"id": 10606,
"nodeType": "ParameterList",
"parameters": [],
"src": "545:0:50"
},
"scope": 10703,
"src": "495:52:50",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"constant": false,
"functionSelector": "9d76ea58",
"id": 10610,
"mutability": "mutable",
"name": "tokenAddress",
"nameLocation": "568:12:50",
"nodeType": "VariableDeclaration",
"scope": 10703,
"src": "553:27:50",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 10609,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "553:7:50",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "public"
},
{
"anonymous": false,
"id": 10622,
"name": "MethodExecuted",
"nameLocation": "593:14:50",
"nodeType": "EventDefinition",
"parameters": {
"id": 10621,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 10612,
"indexed": true,
"mutability": "mutable",
"name": "sender",
"nameLocation": "630:6:50",
"nodeType": "VariableDeclaration",
"scope": 10622,
"src": "614:22:50",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 10611,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "614:7:50",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 10614,
"indexed": true,
"mutability": "mutable",
"name": "target",
"nameLocation": "659:6:50",
"nodeType": "VariableDeclaration",
"scope": 10622,
"src": "643:22:50",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 10613,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "643:7:50",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 10616,
"indexed": false,
"mutability": "mutable",
"name": "data",
"nameLocation": "678:4:50",
"nodeType": "VariableDeclaration",
"scope": 10622,
"src": "672:10:50",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 10615,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "672:5:50",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 10618,
"indexed": false,
"mutability": "mutable",
"name": "gasUsed",
"nameLocation": "697:7:50",
"nodeType": "VariableDeclaration",
"scope": 10622,
"src": "689:15:50",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 10617,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "689:7:50",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 10620,
"indexed": false,
"mutability": "mutable",
"name": "tokenAmount",
"nameLocation": "719:11:50",
"nodeType": "VariableDeclaration",
"scope": 10622,
"src": "711:19:50",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 10619,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "711:7:50",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "607:128:50"
},
"src": "587:149:50"
},
{
"body": {
"id": 10645,
"nodeType": "Block",
"src": "995:798:50",
"statements": []
},
"functionSelector": "a09b6707",
"id": 10646,
"implemented": true,
"kind": "function",
"modifiers": [
{
"arguments": [
{
"id": 10639,
"name": "signature",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10636,
"src": "963:9:50",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes calldata"
}
}
],
"id": 10640,
"kind": "modifierInvocation",
"modifierName": {
"id": 10638,
"name": "signatureValid",
"nodeType": "IdentifierPath",
"referencedDeclaration": 10293,
"src": "948:14:50"
},
"nodeType": "ModifierInvocation",
"src": "948:25:50"
},
{
"arguments": [
{
"id": 10642,
"name": "startTime",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10632,
"src": "984:9:50",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"id": 10643,
"kind": "modifierInvocation",
"modifierName": {
"id": 10641,
"name": "timeValid",
"nodeType": "IdentifierPath",
"referencedDeclaration": 17480,
"src": "974:9:50"
},
"nodeType": "ModifierInvocation",
"src": "974:20:50"
}
],
"name": "execute",
"nameLocation": "751:7:50",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 10637,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 10624,
"mutability": "mutable",
"name": "sender",
"nameLocation": "773:6:50",
"nodeType": "VariableDeclaration",
"scope": 10646,
"src": "765:14:50",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 10623,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "765:7:50",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 10626,
"mutability": "mutable",
"name": "target",
"nameLocation": "794:6:50",
"nodeType": "VariableDeclaration",
"scope": 10646,
"src": "786:14:50",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 10625,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "786:7:50",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 10628,
"mutability": "mutable",
"name": "value",
"nameLocation": "815:5:50",
"nodeType": "VariableDeclaration",
"scope": 10646,
"src": "807:13:50",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 10627,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "807:7:50",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 10630,
"mutability": "mutable",
"name": "data",
"nameLocation": "842:4:50",
"nodeType": "VariableDeclaration",
"scope": 10646,
"src": "827:19:50",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 10629,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "827:5:50",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 10632,
"mutability": "mutable",
"name": "startTime",
"nameLocation": "861:9:50",
"nodeType": "VariableDeclaration",
"scope": 10646,
"src": "853:17:50",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 10631,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "853:7:50",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 10634,
"mutability": "mutable",
"name": "saltNonce",
"nameLocation": "885:9:50",
"nodeType": "VariableDeclaration",
"scope": 10646,
"src": "877:17:50",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 10633,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "877:7:50",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 10636,
"mutability": "mutable",
"name": "signature",
"nameLocation": "916:9:50",
"nodeType": "VariableDeclaration",
"scope": 10646,
"src": "901:24:50",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 10635,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "901:5:50",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"visibility": "internal"
}
],
"src": "758:172:50"
},
"returnParameters": {
"id": 10644,
"nodeType": "ParameterList",
"parameters": [],
"src": "995:0:50"
},
"scope": 10703,
"src": "742:1051:50",
"stateMutability": "payable",
"virtual": false,
"visibility": "external"
},
{
"body": {
"id": 10670,
"nodeType": "Block",
"src": "1970:135:50",
"statements": [
{
"assignments": [
10657,
null
],
"declarations": [
{
"constant": false,
"id": 10657,
"mutability": "mutable",
"name": "success",
"nameLocation": "1983:7:50",
"nodeType": "VariableDeclaration",
"scope": 10670,
"src": "1978:12:50",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 10656,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "1978:4:50",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"visibility": "internal"
},
null
],
"id": 10664,
"initialValue": {
"arguments": [
{
"id": 10662,
"name": "data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10653,
"src": "2022:4:50",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes calldata"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes calldata"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes calldata"
}
],
"expression": {
"id": 10658,
"name": "target",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10649,
"src": "1996:6:50",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 10659,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "call",
"nodeType": "MemberAccess",
"src": "1996:11:50",
"typeDescriptions": {
"typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$",
"typeString": "function (bytes memory) payable returns (bool,bytes memory)"
}
},
"id": 10661,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"names": [
"value"
],
"nodeType": "FunctionCallOptions",
"options": [
{
"id": 10660,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10651,
"src": "2015:5:50",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"src": "1996:25:50",
"typeDescriptions": {
"typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value",
"typeString": "function (bytes memory) payable returns (bool,bytes memory)"
}
},
"id": 10663,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1996:31:50",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
"typeString": "tuple(bool,bytes memory)"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "1977:50:50"
},
{
"expression": {
"arguments": [
{
"id": 10666,
"name": "success",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10657,
"src": "2042:7:50",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"hexValue": "4578656375746552656c61793a20756e6465726c79696e67207472616e73616374696f6e207265766572746564",
"id": 10667,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "2051:47:50",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_e7343df179b0011dd92de2b6a43b7ae9de446773f7d576e3a20aa52132d6c15e",
"typeString": "literal_string \"ExecuteRelay: underlying transaction reverted\""
},
"value": "ExecuteRelay: underlying transaction reverted"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_e7343df179b0011dd92de2b6a43b7ae9de446773f7d576e3a20aa52132d6c15e",
"typeString": "literal_string \"ExecuteRelay: underlying transaction reverted\""
}
],
"id": 10665,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
4294967278,
4294967278
],
"referencedDeclaration": 4294967278,
"src": "2034:7:50",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 10668,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2034:65:50",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 10669,
"nodeType": "ExpressionStatement",
"src": "2034:65:50"
}
]
},
"documentation": {
"id": 10647,
"nodeType": "StructuredDocumentation",
"src": "1799:92:50",
"text": " @dev Execute an operation's call.\n Emits a {CallExecuted} event."
},
"id": 10671,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "_call",
"nameLocation": "1904:5:50",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 10654,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 10649,
"mutability": "mutable",
"name": "target",
"nameLocation": "1918:6:50",
"nodeType": "VariableDeclaration",
"scope": 10671,
"src": "1910:14:50",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 10648,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1910:7:50",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 10651,
"mutability": "mutable",
"name": "value",
"nameLocation": "1934:5:50",
"nodeType": "VariableDeclaration",
"scope": 10671,
"src": "1926:13:50",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 10650,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1926:7:50",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 10653,
"mutability": "mutable",
"name": "data",
"nameLocation": "1956:4:50",
"nodeType": "VariableDeclaration",
"scope": 10671,
"src": "1941:19:50",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 10652,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "1941:5:50",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"visibility": "internal"
}
],
"src": "1909:52:50"
},
"returnParameters": {
"id": 10655,
"nodeType": "ParameterList",
"parameters": [],
"src": "1970:0:50"
},
"scope": 10703,
"src": "1895:210:50",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "private"
},
{
"body": {
"id": 10701,
"nodeType": "Block",
"src": "2290:174:50",
"statements": [
{
"assignments": [
10687
],
"declarations": [
{
"constant": false,
"id": 10687,
"mutability": "mutable",
"name": "encoded",
"nameLocation": "2310:7:50",
"nodeType": "VariableDeclaration",
"scope": 10701,
"src": "2297:20:50",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 10686,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "2297:5:50",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"visibility": "internal"
}
],
"id": 10696,
"initialValue": {
"arguments": [
{
"id": 10690,
"name": "_target",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10673,
"src": "2345:7:50",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"id": 10691,
"name": "_value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10675,
"src": "2361:6:50",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
{
"id": 10692,
"name": "_data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10677,
"src": "2376:5:50",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes calldata"
}
},
{
"id": 10693,
"name": "_startTime",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10679,
"src": "2390:10:50",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
{
"id": 10694,
"name": "_saltNonce",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10681,
"src": "2409:10:50",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
{
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes calldata"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"id": 10688,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967295,
"src": "2320:3:50",
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
"id": 10689,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberName": "encodePacked",
"nodeType": "MemberAccess",
"src": "2320:16:50",
"typeDescriptions": {
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
"typeString": "function () pure returns (bytes memory)"
}
},
"id": 10695,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2320:106:50",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "2297:129:50"
},
{
"expression": {
"arguments": [
{
"id": 10698,
"name": "encoded",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10687,
"src": "2450:7:50",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
"id": 10697,
"name": "keccak256",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967288,
"src": "2440:9:50",
"typeDescriptions": {
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
"typeString": "function (bytes memory) pure returns (bytes32)"
}
},
"id": 10699,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2440:18:50",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"functionReturnParameters": 10685,
"id": 10700,
"nodeType": "Return",
"src": "2433:25:50"
}
]
},
"functionSelector": "e42c6b6b",
"id": 10702,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "getMessageHash",
"nameLocation": "2120:14:50",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 10682,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 10673,
"mutability": "mutable",
"name": "_target",
"nameLocation": "2149:7:50",
"nodeType": "VariableDeclaration",
"scope": 10702,
"src": "2141:15:50",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 10672,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2141:7:50",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 10675,
"mutability": "mutable",
"name": "_value",
"nameLocation": "2171:6:50",
"nodeType": "VariableDeclaration",
"scope": 10702,
"src": "2163:14:50",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 10674,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2163:7:50",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 10677,
"mutability": "mutable",
"name": "_data",
"nameLocation": "2199:5:50",
"nodeType": "VariableDeclaration",
"scope": 10702,
"src": "2184:20:50",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 10676,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "2184:5:50",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 10679,
"mutability": "mutable",
"name": "_startTime",
"nameLocation": "2219:10:50",
"nodeType": "VariableDeclaration",
"scope": 10702,
"src": "2211:18:50",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 10678,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2211:7:50",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 10681,
"mutability": "mutable",
"name": "_saltNonce",
"nameLocation": "2244:10:50",
"nodeType": "VariableDeclaration",
"scope": 10702,
"src": "2236:18:50",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 10680,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2236:7:50",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "2134:125:50"
},
"returnParameters": {
"id": 10685,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 10684,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 10702,
"src": "2281:7:50",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 10683,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "2281:7:50",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
}
],
"src": "2280:9:50"
},
"scope": 10703,
"src": "2111:353:50",
"stateMutability": "pure",
"virtual": false,
"visibility": "public"
}
],
"scope": 10704,
"src": "437:2030:50",
"usedErrors": []
}
],
"src": "33:2436:50"
},
"compiler": {
"name": "solc",
"version": "0.8.10+commit.fc410830.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.14",
"updatedAt": "2023-07-12T06:52:15.486Z",
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}