7181 lines
298 KiB
JSON
7181 lines
298 KiB
JSON
{
|
|
"contractName": "IBurnableERC721",
|
|
"abi": [
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "owner",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "approved",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "Approval",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "owner",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "operator",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "bool",
|
|
"name": "approved",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"name": "ApprovalForAll",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "from",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "to",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "Transfer",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "to",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "approve",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "owner",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "balanceOf",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "balance",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "getApproved",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "operator",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "owner",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "operator",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "isApprovedForAll",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "ownerOf",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "owner",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "from",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "to",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "safeTransferFrom",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "from",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "to",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bytes",
|
|
"name": "data",
|
|
"type": "bytes"
|
|
}
|
|
],
|
|
"name": "safeTransferFrom",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "operator",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "approved",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"name": "setApprovalForAll",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes4",
|
|
"name": "interfaceId",
|
|
"type": "bytes4"
|
|
}
|
|
],
|
|
"name": "supportsInterface",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "from",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "to",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "transferFrom",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "burn",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "to",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256[]",
|
|
"name": "tokenIds",
|
|
"type": "uint256[]"
|
|
}
|
|
],
|
|
"name": "batchMint",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
}
|
|
],
|
|
"metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\"}],\"name\":\"batchMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/logic/EvolveProxy.sol\":\"IBurnableERC721\"},\"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/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@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/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"@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/HasSignature.sol\":{\"keccak256\":\"0x8d4aed7c48ff80fa8feddd3644aed86f94a8246a40023072e58996b3461ee399\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bbba2c6d64bc44877420629c9d7c37c446080336595322d9991b0714be21936\",\"dweb:/ipfs/QmUd6KxHMxDYJjoeeByZLJRAfiytzgsd3HQV1PFfBHgeka\"]},\"project:/contracts/logic/EvolveProxy.sol\":{\"keccak256\":\"0x30f2b5ce15ecd95d268fd93ddc55a74dd81470c1159f96b059a56661212469ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://216111be26f1ea22791295c65266941f35926c45ecb5c024ac590ee2ca2bfa07\",\"dweb:/ipfs/QmZbBRDtgGmx1ebwFuBU1B5P6pxKcEkCGA9P4HyAfLjWG9\"]},\"project:/contracts/utils/TimeChecker.sol\":{\"keccak256\":\"0x1f73a457228fbce3dc365f0c5199f00b2b004c217af932b691a9f823af266804\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0659f8f79b89ac12e5c58bb1560ad26b70a5bf9f1f860a2dbbf7f00088e99d62\",\"dweb:/ipfs/QmPqqPTteQHPQejcnNbpiQkwe9iQ9nPBZe1SCfFabnUeii\"]},\"project:/contracts/utils/UInt.sol\":{\"keccak256\":\"0xabf10d6f1fd47ffe04ab44b8b2f6638eece2276c3a8ba170d0c660e8212a7a8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b2b1d61926fb315a771d8fd0d5d9a85ea58a154cd976a7500e12a1e2b3e14083\",\"dweb:/ipfs/QmbJkytTjjABgWbYLJBHv3uoLEAcbF7pWig71sd2rjGG2M\"]}},\"version\":1}",
|
|
"bytecode": "0x",
|
|
"deployedBytecode": "0x",
|
|
"immutableReferences": {},
|
|
"generatedSources": [],
|
|
"deployedGeneratedSources": [],
|
|
"sourceMap": "",
|
|
"deployedSourceMap": "",
|
|
"source": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.10;\nimport \"@openzeppelin/contracts/access/Ownable.sol\";\nimport \"@openzeppelin/contracts/token/ERC721/IERC721.sol\";\nimport \"../core/HasSignature.sol\";\nimport \"../utils/TimeChecker.sol\";\nimport \"../utils/UInt.sol\";\n\ninterface IBurnableERC721 is IERC721 {\n function burn(uint256 tokenId) external;\n\n function batchMint(address to, uint256[] memory tokenIds) external;\n}\n\ncontract EvolveProxy is Ownable, TimeChecker, HasSignature {\n using UInt for uint256;\n\n IBurnableERC721 public nft;\n\n address public executor;\n\n event TokenEvolved(\n uint256 indexed evolveEventId,\n address indexed owner,\n uint256[] tokenIds\n );\n\n constructor(address _address){\n nft = IBurnableERC721(_address);\n }\n\n /**\n * @dev update executor\n */\n function updateExecutor(address account) external onlyOwner {\n require(account != address(0), \"address can not be zero\");\n executor = account;\n }\n\n /**\n * @dev evolve function to Counter Fire nft NFT\n * tokenIds: [nft_to_evolve, nft_for_burn, nft_for_burn...]\n * nft_to_evolve: nft to evolve, auto mint if not exist\n */\n function evolveNft(\n uint256 evolveEventId,\n uint256[] calldata tokenIds,\n uint256 startTime,\n uint256 saltNonce,\n bytes calldata signature\n ) external signatureValid(signature) timeValid(startTime) {\n require(tokenIds.length > 0, \"EvolveProxy: tokenIds length must > 0\");\n require(tokenIds[0] > 0, \"EvolveProxy: nft to evolve can not be 0\");\n address user = _msgSender();\n \n bytes32 criteriaMessageHash = getMessageHash(\n evolveEventId,\n user,\n startTime,\n saltNonce,\n tokenIds\n );\n checkSigner(executor, criteriaMessageHash, signature);\n try nft.batchMint(user, tokenIds[0].asSingletonArray()) {} catch {}\n require(nft.ownerOf(tokenIds[0]) == user,\"EvolveProxy: not owner of this nft now\");\n if (tokenIds.length > 1) {\n for (uint256 i = 1; i < tokenIds.length; ++i) {\n nft.burn(tokenIds[i]);\n }\n }\n _useSignature(signature);\n emit TokenEvolved(evolveEventId,user,tokenIds);\n }\n\n function getMessageHash(\n uint256 _eventId,\n address _user,\n uint256 _startTime,\n uint256 _saltNonce,\n uint256[] memory _tokenIds\n ) public pure returns (bytes32) {\n bytes memory encoded = abi.encodePacked(_eventId, _user, _startTime, _saltNonce);\n uint256 len = _tokenIds.length;\n for (uint256 i = 0; i < len; ++i) {\n encoded = bytes.concat(encoded, abi.encodePacked(_tokenIds[i]));\n }\n return keccak256(encoded);\n }\n}\n",
|
|
"sourcePath": "/Users/zhl/Documents/workspace/crypto/becrypto/contracts/logic/EvolveProxy.sol",
|
|
"ast": {
|
|
"absolutePath": "project:/contracts/logic/EvolveProxy.sol",
|
|
"exportedSymbols": {
|
|
"Context": [
|
|
6696
|
|
],
|
|
"ECDSA": [
|
|
7365
|
|
],
|
|
"EvolveProxy": [
|
|
11623
|
|
],
|
|
"HasSignature": [
|
|
10869
|
|
],
|
|
"IBurnableERC721": [
|
|
11379
|
|
],
|
|
"IERC165": [
|
|
7401
|
|
],
|
|
"IERC721": [
|
|
5840
|
|
],
|
|
"Math": [
|
|
8267
|
|
],
|
|
"Ownable": [
|
|
651
|
|
],
|
|
"SignedMath": [
|
|
8684
|
|
],
|
|
"Strings": [
|
|
6999
|
|
],
|
|
"TimeChecker": [
|
|
21232
|
|
],
|
|
"UInt": [
|
|
21263
|
|
]
|
|
},
|
|
"id": 11624,
|
|
"license": "MIT",
|
|
"nodeType": "SourceUnit",
|
|
"nodes": [
|
|
{
|
|
"id": 11358,
|
|
"literals": [
|
|
"solidity",
|
|
"0.8",
|
|
".10"
|
|
],
|
|
"nodeType": "PragmaDirective",
|
|
"src": "32:23:54"
|
|
},
|
|
{
|
|
"absolutePath": "@openzeppelin/contracts/access/Ownable.sol",
|
|
"file": "@openzeppelin/contracts/access/Ownable.sol",
|
|
"id": 11359,
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "ImportDirective",
|
|
"scope": 11624,
|
|
"sourceUnit": 652,
|
|
"src": "56:52:54",
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol",
|
|
"file": "@openzeppelin/contracts/token/ERC721/IERC721.sol",
|
|
"id": 11360,
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "ImportDirective",
|
|
"scope": 11624,
|
|
"sourceUnit": 5841,
|
|
"src": "109:58:54",
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"absolutePath": "project:/contracts/core/HasSignature.sol",
|
|
"file": "../core/HasSignature.sol",
|
|
"id": 11361,
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "ImportDirective",
|
|
"scope": 11624,
|
|
"sourceUnit": 10870,
|
|
"src": "168:34:54",
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"absolutePath": "project:/contracts/utils/TimeChecker.sol",
|
|
"file": "../utils/TimeChecker.sol",
|
|
"id": 11362,
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "ImportDirective",
|
|
"scope": 11624,
|
|
"sourceUnit": 21233,
|
|
"src": "203:34:54",
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"absolutePath": "project:/contracts/utils/UInt.sol",
|
|
"file": "../utils/UInt.sol",
|
|
"id": 11363,
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "ImportDirective",
|
|
"scope": 11624,
|
|
"sourceUnit": 21264,
|
|
"src": "238:27:54",
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"abstract": false,
|
|
"baseContracts": [
|
|
{
|
|
"baseName": {
|
|
"id": 11364,
|
|
"name": "IERC721",
|
|
"nodeType": "IdentifierPath",
|
|
"referencedDeclaration": 5840,
|
|
"src": "296:7:54"
|
|
},
|
|
"id": 11365,
|
|
"nodeType": "InheritanceSpecifier",
|
|
"src": "296:7:54"
|
|
}
|
|
],
|
|
"canonicalName": "IBurnableERC721",
|
|
"contractDependencies": [],
|
|
"contractKind": "interface",
|
|
"fullyImplemented": false,
|
|
"id": 11379,
|
|
"linearizedBaseContracts": [
|
|
11379,
|
|
5840,
|
|
7401
|
|
],
|
|
"name": "IBurnableERC721",
|
|
"nameLocation": "277:15:54",
|
|
"nodeType": "ContractDefinition",
|
|
"nodes": [
|
|
{
|
|
"functionSelector": "42966c68",
|
|
"id": 11370,
|
|
"implemented": false,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "burn",
|
|
"nameLocation": "317:4:54",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 11368,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 11367,
|
|
"mutability": "mutable",
|
|
"name": "tokenId",
|
|
"nameLocation": "330:7:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11370,
|
|
"src": "322:15:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 11366,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "322:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "321:17:54"
|
|
},
|
|
"returnParameters": {
|
|
"id": 11369,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "347:0:54"
|
|
},
|
|
"scope": 11379,
|
|
"src": "308:40:54",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"functionSelector": "4684d7e9",
|
|
"id": 11378,
|
|
"implemented": false,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "batchMint",
|
|
"nameLocation": "361:9:54",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 11376,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 11372,
|
|
"mutability": "mutable",
|
|
"name": "to",
|
|
"nameLocation": "379:2:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11378,
|
|
"src": "371:10:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 11371,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "371:7:54",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 11375,
|
|
"mutability": "mutable",
|
|
"name": "tokenIds",
|
|
"nameLocation": "400:8:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11378,
|
|
"src": "383:25:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "memory",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
|
|
"typeString": "uint256[]"
|
|
},
|
|
"typeName": {
|
|
"baseType": {
|
|
"id": 11373,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "383:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 11374,
|
|
"nodeType": "ArrayTypeName",
|
|
"src": "383:9:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
|
|
"typeString": "uint256[]"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "370:39:54"
|
|
},
|
|
"returnParameters": {
|
|
"id": 11377,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "418:0:54"
|
|
},
|
|
"scope": 11379,
|
|
"src": "352:67:54",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "external"
|
|
}
|
|
],
|
|
"scope": 11624,
|
|
"src": "267:154:54",
|
|
"usedErrors": []
|
|
},
|
|
{
|
|
"abstract": false,
|
|
"baseContracts": [
|
|
{
|
|
"baseName": {
|
|
"id": 11380,
|
|
"name": "Ownable",
|
|
"nodeType": "IdentifierPath",
|
|
"referencedDeclaration": 651,
|
|
"src": "447:7:54"
|
|
},
|
|
"id": 11381,
|
|
"nodeType": "InheritanceSpecifier",
|
|
"src": "447:7:54"
|
|
},
|
|
{
|
|
"baseName": {
|
|
"id": 11382,
|
|
"name": "TimeChecker",
|
|
"nodeType": "IdentifierPath",
|
|
"referencedDeclaration": 21232,
|
|
"src": "456:11:54"
|
|
},
|
|
"id": 11383,
|
|
"nodeType": "InheritanceSpecifier",
|
|
"src": "456:11:54"
|
|
},
|
|
{
|
|
"baseName": {
|
|
"id": 11384,
|
|
"name": "HasSignature",
|
|
"nodeType": "IdentifierPath",
|
|
"referencedDeclaration": 10869,
|
|
"src": "469:12:54"
|
|
},
|
|
"id": 11385,
|
|
"nodeType": "InheritanceSpecifier",
|
|
"src": "469:12:54"
|
|
}
|
|
],
|
|
"canonicalName": "EvolveProxy",
|
|
"contractDependencies": [],
|
|
"contractKind": "contract",
|
|
"fullyImplemented": true,
|
|
"id": 11623,
|
|
"linearizedBaseContracts": [
|
|
11623,
|
|
10869,
|
|
21232,
|
|
651,
|
|
6696
|
|
],
|
|
"name": "EvolveProxy",
|
|
"nameLocation": "432:11:54",
|
|
"nodeType": "ContractDefinition",
|
|
"nodes": [
|
|
{
|
|
"id": 11388,
|
|
"libraryName": {
|
|
"id": 11386,
|
|
"name": "UInt",
|
|
"nodeType": "IdentifierPath",
|
|
"referencedDeclaration": 21263,
|
|
"src": "492:4:54"
|
|
},
|
|
"nodeType": "UsingForDirective",
|
|
"src": "486:23:54",
|
|
"typeName": {
|
|
"id": 11387,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "501:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"constant": false,
|
|
"functionSelector": "47ccca02",
|
|
"id": 11391,
|
|
"mutability": "mutable",
|
|
"name": "nft",
|
|
"nameLocation": "536:3:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11623,
|
|
"src": "513:26:54",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IBurnableERC721_$11379",
|
|
"typeString": "contract IBurnableERC721"
|
|
},
|
|
"typeName": {
|
|
"id": 11390,
|
|
"nodeType": "UserDefinedTypeName",
|
|
"pathNode": {
|
|
"id": 11389,
|
|
"name": "IBurnableERC721",
|
|
"nodeType": "IdentifierPath",
|
|
"referencedDeclaration": 11379,
|
|
"src": "513:15:54"
|
|
},
|
|
"referencedDeclaration": 11379,
|
|
"src": "513:15:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IBurnableERC721_$11379",
|
|
"typeString": "contract IBurnableERC721"
|
|
}
|
|
},
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"functionSelector": "c34c08e5",
|
|
"id": 11393,
|
|
"mutability": "mutable",
|
|
"name": "executor",
|
|
"nameLocation": "559:8:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11623,
|
|
"src": "544:23:54",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 11392,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "544:7:54",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"id": 11402,
|
|
"name": "TokenEvolved",
|
|
"nameLocation": "578:12:54",
|
|
"nodeType": "EventDefinition",
|
|
"parameters": {
|
|
"id": 11401,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 11395,
|
|
"indexed": true,
|
|
"mutability": "mutable",
|
|
"name": "evolveEventId",
|
|
"nameLocation": "612:13:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11402,
|
|
"src": "596:29:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 11394,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "596:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 11397,
|
|
"indexed": true,
|
|
"mutability": "mutable",
|
|
"name": "owner",
|
|
"nameLocation": "647:5:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11402,
|
|
"src": "631:21:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 11396,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "631:7:54",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 11400,
|
|
"indexed": false,
|
|
"mutability": "mutable",
|
|
"name": "tokenIds",
|
|
"nameLocation": "668:8:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11402,
|
|
"src": "658:18:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
|
|
"typeString": "uint256[]"
|
|
},
|
|
"typeName": {
|
|
"baseType": {
|
|
"id": 11398,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "658:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 11399,
|
|
"nodeType": "ArrayTypeName",
|
|
"src": "658:9:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
|
|
"typeString": "uint256[]"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "590:90:54"
|
|
},
|
|
"src": "572:109:54"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 11413,
|
|
"nodeType": "Block",
|
|
"src": "714:42:54",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"id": 11411,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"id": 11407,
|
|
"name": "nft",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11391,
|
|
"src": "720:3:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IBurnableERC721_$11379",
|
|
"typeString": "contract IBurnableERC721"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"arguments": [
|
|
{
|
|
"id": 11409,
|
|
"name": "_address",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11404,
|
|
"src": "742:8:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
],
|
|
"id": 11408,
|
|
"name": "IBurnableERC721",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11379,
|
|
"src": "726:15:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_IBurnableERC721_$11379_$",
|
|
"typeString": "type(contract IBurnableERC721)"
|
|
}
|
|
},
|
|
"id": 11410,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "726:25:54",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IBurnableERC721_$11379",
|
|
"typeString": "contract IBurnableERC721"
|
|
}
|
|
},
|
|
"src": "720:31:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IBurnableERC721_$11379",
|
|
"typeString": "contract IBurnableERC721"
|
|
}
|
|
},
|
|
"id": 11412,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "720:31:54"
|
|
}
|
|
]
|
|
},
|
|
"id": 11414,
|
|
"implemented": true,
|
|
"kind": "constructor",
|
|
"modifiers": [],
|
|
"name": "",
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 11405,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 11404,
|
|
"mutability": "mutable",
|
|
"name": "_address",
|
|
"nameLocation": "705:8:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11414,
|
|
"src": "697:16:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 11403,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "697:7:54",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "696:18:54"
|
|
},
|
|
"returnParameters": {
|
|
"id": 11406,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "714:0:54"
|
|
},
|
|
"scope": 11623,
|
|
"src": "685:71:54",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 11436,
|
|
"nodeType": "Block",
|
|
"src": "858:92:54",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"commonType": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"id": 11428,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 11423,
|
|
"name": "account",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11417,
|
|
"src": "872:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "!=",
|
|
"rightExpression": {
|
|
"arguments": [
|
|
{
|
|
"hexValue": "30",
|
|
"id": 11426,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "891:1:54",
|
|
"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": 11425,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "883:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 11424,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "883:7:54",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 11427,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "883:10:54",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "872:21:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"hexValue": "616464726573732063616e206e6f74206265207a65726f",
|
|
"id": 11429,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "895:25:54",
|
|
"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": 11422,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
4294967278,
|
|
4294967278
|
|
],
|
|
"referencedDeclaration": 4294967278,
|
|
"src": "864:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 11430,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "864:57:54",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 11431,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "864:57:54"
|
|
},
|
|
{
|
|
"expression": {
|
|
"id": 11434,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"id": 11432,
|
|
"name": "executor",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11393,
|
|
"src": "927:8:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"id": 11433,
|
|
"name": "account",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11417,
|
|
"src": "938:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "927:18:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"id": 11435,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "927:18:54"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 11415,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "760:35:54",
|
|
"text": " @dev update executor"
|
|
},
|
|
"functionSelector": "74936c16",
|
|
"id": 11437,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [
|
|
{
|
|
"id": 11420,
|
|
"kind": "modifierInvocation",
|
|
"modifierName": {
|
|
"id": 11419,
|
|
"name": "onlyOwner",
|
|
"nodeType": "IdentifierPath",
|
|
"referencedDeclaration": 570,
|
|
"src": "848:9:54"
|
|
},
|
|
"nodeType": "ModifierInvocation",
|
|
"src": "848:9:54"
|
|
}
|
|
],
|
|
"name": "updateExecutor",
|
|
"nameLocation": "807:14:54",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 11418,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 11417,
|
|
"mutability": "mutable",
|
|
"name": "account",
|
|
"nameLocation": "830:7:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11437,
|
|
"src": "822:15:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 11416,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "822:7:54",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "821:17:54"
|
|
},
|
|
"returnParameters": {
|
|
"id": 11421,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "858:0:54"
|
|
},
|
|
"scope": 11623,
|
|
"src": "798:152:54",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 11559,
|
|
"nodeType": "Block",
|
|
"src": "1351:761:54",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 11462,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"expression": {
|
|
"id": 11459,
|
|
"name": "tokenIds",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11443,
|
|
"src": "1365:8:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
|
|
"typeString": "uint256[] calldata"
|
|
}
|
|
},
|
|
"id": 11460,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "length",
|
|
"nodeType": "MemberAccess",
|
|
"src": "1365:15:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": ">",
|
|
"rightExpression": {
|
|
"hexValue": "30",
|
|
"id": 11461,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1383:1:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "1365:19:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"hexValue": "45766f6c766550726f78793a20746f6b656e496473206c656e677468206d757374203e2030",
|
|
"id": 11463,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1386:39:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_8621f1acaf303cbf3d59288adfded750d8b832d0e195e7ed11c71e6adcd95106",
|
|
"typeString": "literal_string \"EvolveProxy: tokenIds length must > 0\""
|
|
},
|
|
"value": "EvolveProxy: tokenIds length must > 0"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_8621f1acaf303cbf3d59288adfded750d8b832d0e195e7ed11c71e6adcd95106",
|
|
"typeString": "literal_string \"EvolveProxy: tokenIds length must > 0\""
|
|
}
|
|
],
|
|
"id": 11458,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
4294967278,
|
|
4294967278
|
|
],
|
|
"referencedDeclaration": 4294967278,
|
|
"src": "1357:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 11464,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1357:69:54",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 11465,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1357:69:54"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 11471,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"baseExpression": {
|
|
"id": 11467,
|
|
"name": "tokenIds",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11443,
|
|
"src": "1440:8:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
|
|
"typeString": "uint256[] calldata"
|
|
}
|
|
},
|
|
"id": 11469,
|
|
"indexExpression": {
|
|
"hexValue": "30",
|
|
"id": 11468,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1449:1:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "1440:11:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": ">",
|
|
"rightExpression": {
|
|
"hexValue": "30",
|
|
"id": 11470,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1454:1:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "1440:15:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"hexValue": "45766f6c766550726f78793a206e667420746f2065766f6c76652063616e206e6f742062652030",
|
|
"id": 11472,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1457:41:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_b4a8830f3b93c410a9e6707b0f453ccc025d08a261e6c89cde145ebecb9afb39",
|
|
"typeString": "literal_string \"EvolveProxy: nft to evolve can not be 0\""
|
|
},
|
|
"value": "EvolveProxy: nft to evolve can not be 0"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_b4a8830f3b93c410a9e6707b0f453ccc025d08a261e6c89cde145ebecb9afb39",
|
|
"typeString": "literal_string \"EvolveProxy: nft to evolve can not be 0\""
|
|
}
|
|
],
|
|
"id": 11466,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
4294967278,
|
|
4294967278
|
|
],
|
|
"referencedDeclaration": 4294967278,
|
|
"src": "1432:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 11473,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1432:67:54",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 11474,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1432:67:54"
|
|
},
|
|
{
|
|
"assignments": [
|
|
11476
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 11476,
|
|
"mutability": "mutable",
|
|
"name": "user",
|
|
"nameLocation": "1513:4:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11559,
|
|
"src": "1505:12:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 11475,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1505:7:54",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 11479,
|
|
"initialValue": {
|
|
"arguments": [],
|
|
"expression": {
|
|
"argumentTypes": [],
|
|
"id": 11477,
|
|
"name": "_msgSender",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 6686,
|
|
"src": "1520:10:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
|
|
"typeString": "function () view returns (address)"
|
|
}
|
|
},
|
|
"id": 11478,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1520:12:54",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "1505:27:54"
|
|
},
|
|
{
|
|
"assignments": [
|
|
11481
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 11481,
|
|
"mutability": "mutable",
|
|
"name": "criteriaMessageHash",
|
|
"nameLocation": "1551:19:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11559,
|
|
"src": "1543:27:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 11480,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1543:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 11489,
|
|
"initialValue": {
|
|
"arguments": [
|
|
{
|
|
"id": 11483,
|
|
"name": "evolveEventId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11440,
|
|
"src": "1595:13:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"id": 11484,
|
|
"name": "user",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11476,
|
|
"src": "1616:4:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 11485,
|
|
"name": "startTime",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11445,
|
|
"src": "1628:9:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"id": 11486,
|
|
"name": "saltNonce",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11447,
|
|
"src": "1645:9:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"id": 11487,
|
|
"name": "tokenIds",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11443,
|
|
"src": "1662:8:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
|
|
"typeString": "uint256[] calldata"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
|
|
"typeString": "uint256[] calldata"
|
|
}
|
|
],
|
|
"id": 11482,
|
|
"name": "getMessageHash",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11622,
|
|
"src": "1573:14:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bytes32_$",
|
|
"typeString": "function (uint256,address,uint256,uint256,uint256[] memory) pure returns (bytes32)"
|
|
}
|
|
},
|
|
"id": 11488,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1573:103:54",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "1543:133:54"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"id": 11491,
|
|
"name": "executor",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11393,
|
|
"src": "1694:8:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 11492,
|
|
"name": "criteriaMessageHash",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11481,
|
|
"src": "1704:19:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
{
|
|
"id": 11493,
|
|
"name": "signature",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11449,
|
|
"src": "1725:9:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
],
|
|
"id": 11490,
|
|
"name": "checkSigner",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 10836,
|
|
"src": "1682:11:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$__$",
|
|
"typeString": "function (address,bytes32,bytes memory) pure"
|
|
}
|
|
},
|
|
"id": 11494,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1682:53:54",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 11495,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1682:53:54"
|
|
},
|
|
{
|
|
"clauses": [
|
|
{
|
|
"block": {
|
|
"id": 11505,
|
|
"nodeType": "Block",
|
|
"src": "1797:2:54",
|
|
"statements": []
|
|
},
|
|
"errorName": "",
|
|
"id": 11506,
|
|
"nodeType": "TryCatchClause",
|
|
"src": "1797:2:54"
|
|
},
|
|
{
|
|
"block": {
|
|
"id": 11507,
|
|
"nodeType": "Block",
|
|
"src": "1806:2:54",
|
|
"statements": []
|
|
},
|
|
"errorName": "",
|
|
"id": 11508,
|
|
"nodeType": "TryCatchClause",
|
|
"src": "1800:8:54"
|
|
}
|
|
],
|
|
"externalCall": {
|
|
"arguments": [
|
|
{
|
|
"id": 11498,
|
|
"name": "user",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11476,
|
|
"src": "1759:4:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"arguments": [],
|
|
"expression": {
|
|
"argumentTypes": [],
|
|
"expression": {
|
|
"baseExpression": {
|
|
"id": 11499,
|
|
"name": "tokenIds",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11443,
|
|
"src": "1765:8:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
|
|
"typeString": "uint256[] calldata"
|
|
}
|
|
},
|
|
"id": 11501,
|
|
"indexExpression": {
|
|
"hexValue": "30",
|
|
"id": 11500,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1774:1:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "1765:11:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 11502,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "asSingletonArray",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 21262,
|
|
"src": "1765:28:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$bound_to$_t_uint256_$",
|
|
"typeString": "function (uint256) pure returns (uint256[] memory)"
|
|
}
|
|
},
|
|
"id": 11503,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1765:30:54",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
|
|
"typeString": "uint256[] memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
|
|
"typeString": "uint256[] memory"
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 11496,
|
|
"name": "nft",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11391,
|
|
"src": "1745:3:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IBurnableERC721_$11379",
|
|
"typeString": "contract IBurnableERC721"
|
|
}
|
|
},
|
|
"id": 11497,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "batchMint",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 11378,
|
|
"src": "1745:13:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$",
|
|
"typeString": "function (address,uint256[] memory) external"
|
|
}
|
|
},
|
|
"id": 11504,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1745:51:54",
|
|
"tryCall": true,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 11509,
|
|
"nodeType": "TryStatement",
|
|
"src": "1741:67:54"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"commonType": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"id": 11518,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"arguments": [
|
|
{
|
|
"baseExpression": {
|
|
"id": 11513,
|
|
"name": "tokenIds",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11443,
|
|
"src": "1833:8:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
|
|
"typeString": "uint256[] calldata"
|
|
}
|
|
},
|
|
"id": 11515,
|
|
"indexExpression": {
|
|
"hexValue": "30",
|
|
"id": 11514,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1842:1:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "1833:11:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 11511,
|
|
"name": "nft",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11391,
|
|
"src": "1821:3:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IBurnableERC721_$11379",
|
|
"typeString": "contract IBurnableERC721"
|
|
}
|
|
},
|
|
"id": 11512,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "ownerOf",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 5773,
|
|
"src": "1821:11:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_address_$",
|
|
"typeString": "function (uint256) view external returns (address)"
|
|
}
|
|
},
|
|
"id": 11516,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1821:24:54",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"id": 11517,
|
|
"name": "user",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11476,
|
|
"src": "1849:4:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "1821:32:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"hexValue": "45766f6c766550726f78793a206e6f74206f776e6572206f662074686973206e6674206e6f77",
|
|
"id": 11519,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1854:40:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_5ebbc34bdac4db27a4af5b77a5bf5ab3476d8a96b6a96535d1460b8ed795cdf1",
|
|
"typeString": "literal_string \"EvolveProxy: not owner of this nft now\""
|
|
},
|
|
"value": "EvolveProxy: not owner of this nft now"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_5ebbc34bdac4db27a4af5b77a5bf5ab3476d8a96b6a96535d1460b8ed795cdf1",
|
|
"typeString": "literal_string \"EvolveProxy: not owner of this nft now\""
|
|
}
|
|
],
|
|
"id": 11510,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
4294967278,
|
|
4294967278
|
|
],
|
|
"referencedDeclaration": 4294967278,
|
|
"src": "1813:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 11520,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1813:82:54",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 11521,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1813:82:54"
|
|
},
|
|
{
|
|
"condition": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 11525,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"expression": {
|
|
"id": 11522,
|
|
"name": "tokenIds",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11443,
|
|
"src": "1905:8:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
|
|
"typeString": "uint256[] calldata"
|
|
}
|
|
},
|
|
"id": 11523,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "length",
|
|
"nodeType": "MemberAccess",
|
|
"src": "1905:15:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": ">",
|
|
"rightExpression": {
|
|
"hexValue": "31",
|
|
"id": 11524,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1923:1:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "1905:19:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 11548,
|
|
"nodeType": "IfStatement",
|
|
"src": "1901:125:54",
|
|
"trueBody": {
|
|
"id": 11547,
|
|
"nodeType": "Block",
|
|
"src": "1926:100:54",
|
|
"statements": [
|
|
{
|
|
"body": {
|
|
"id": 11545,
|
|
"nodeType": "Block",
|
|
"src": "1980:40:54",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"baseExpression": {
|
|
"id": 11540,
|
|
"name": "tokenIds",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11443,
|
|
"src": "1999:8:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
|
|
"typeString": "uint256[] calldata"
|
|
}
|
|
},
|
|
"id": 11542,
|
|
"indexExpression": {
|
|
"id": 11541,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11527,
|
|
"src": "2008:1:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "1999:11:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 11537,
|
|
"name": "nft",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11391,
|
|
"src": "1990:3:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IBurnableERC721_$11379",
|
|
"typeString": "contract IBurnableERC721"
|
|
}
|
|
},
|
|
"id": 11539,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "burn",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 11370,
|
|
"src": "1990:8:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$",
|
|
"typeString": "function (uint256) external"
|
|
}
|
|
},
|
|
"id": 11543,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1990:21:54",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 11544,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1990:21:54"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 11533,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 11530,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11527,
|
|
"src": "1954:1:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "<",
|
|
"rightExpression": {
|
|
"expression": {
|
|
"id": 11531,
|
|
"name": "tokenIds",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11443,
|
|
"src": "1958:8:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
|
|
"typeString": "uint256[] calldata"
|
|
}
|
|
},
|
|
"id": 11532,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "length",
|
|
"nodeType": "MemberAccess",
|
|
"src": "1958:15:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "1954:19:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 11546,
|
|
"initializationExpression": {
|
|
"assignments": [
|
|
11527
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 11527,
|
|
"mutability": "mutable",
|
|
"name": "i",
|
|
"nameLocation": "1947:1:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11546,
|
|
"src": "1939:9:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 11526,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1939:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 11529,
|
|
"initialValue": {
|
|
"hexValue": "31",
|
|
"id": 11528,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1951:1:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "1939:13:54"
|
|
},
|
|
"loopExpression": {
|
|
"expression": {
|
|
"id": 11535,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "UnaryOperation",
|
|
"operator": "++",
|
|
"prefix": true,
|
|
"src": "1975:3:54",
|
|
"subExpression": {
|
|
"id": 11534,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11527,
|
|
"src": "1977:1:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 11536,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1975:3:54"
|
|
},
|
|
"nodeType": "ForStatement",
|
|
"src": "1934:86:54"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"id": 11550,
|
|
"name": "signature",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11449,
|
|
"src": "2045:9:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
],
|
|
"id": 11549,
|
|
"name": "_useSignature",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 10868,
|
|
"src": "2031:13:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes_calldata_ptr_$returns$__$",
|
|
"typeString": "function (bytes calldata)"
|
|
}
|
|
},
|
|
"id": 11551,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2031:24:54",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 11552,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2031:24:54"
|
|
},
|
|
{
|
|
"eventCall": {
|
|
"arguments": [
|
|
{
|
|
"id": 11554,
|
|
"name": "evolveEventId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11440,
|
|
"src": "2079:13:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"id": 11555,
|
|
"name": "user",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11476,
|
|
"src": "2093:4:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 11556,
|
|
"name": "tokenIds",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11443,
|
|
"src": "2098:8:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
|
|
"typeString": "uint256[] calldata"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
|
|
"typeString": "uint256[] calldata"
|
|
}
|
|
],
|
|
"id": 11553,
|
|
"name": "TokenEvolved",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11402,
|
|
"src": "2066:12:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$",
|
|
"typeString": "function (uint256,address,uint256[] memory)"
|
|
}
|
|
},
|
|
"id": 11557,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2066:41:54",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 11558,
|
|
"nodeType": "EmitStatement",
|
|
"src": "2061:46:54"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 11438,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "954:179:54",
|
|
"text": " @dev evolve function to Counter Fire nft NFT\n tokenIds: [nft_to_evolve, nft_for_burn, nft_for_burn...]\n nft_to_evolve: nft to evolve, auto mint if not exist"
|
|
},
|
|
"functionSelector": "89cc6c67",
|
|
"id": 11560,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"id": 11452,
|
|
"name": "signature",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11449,
|
|
"src": "1319:9:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
}
|
|
],
|
|
"id": 11453,
|
|
"kind": "modifierInvocation",
|
|
"modifierName": {
|
|
"id": 11451,
|
|
"name": "signatureValid",
|
|
"nodeType": "IdentifierPath",
|
|
"referencedDeclaration": 10850,
|
|
"src": "1304:14:54"
|
|
},
|
|
"nodeType": "ModifierInvocation",
|
|
"src": "1304:25:54"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"id": 11455,
|
|
"name": "startTime",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11445,
|
|
"src": "1340:9:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"id": 11456,
|
|
"kind": "modifierInvocation",
|
|
"modifierName": {
|
|
"id": 11454,
|
|
"name": "timeValid",
|
|
"nodeType": "IdentifierPath",
|
|
"referencedDeclaration": 21202,
|
|
"src": "1330:9:54"
|
|
},
|
|
"nodeType": "ModifierInvocation",
|
|
"src": "1330:20:54"
|
|
}
|
|
],
|
|
"name": "evolveNft",
|
|
"nameLocation": "1145:9:54",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 11450,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 11440,
|
|
"mutability": "mutable",
|
|
"name": "evolveEventId",
|
|
"nameLocation": "1168:13:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11560,
|
|
"src": "1160:21:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 11439,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1160:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 11443,
|
|
"mutability": "mutable",
|
|
"name": "tokenIds",
|
|
"nameLocation": "1206:8:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11560,
|
|
"src": "1187:27:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "calldata",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
|
|
"typeString": "uint256[]"
|
|
},
|
|
"typeName": {
|
|
"baseType": {
|
|
"id": 11441,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1187:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 11442,
|
|
"nodeType": "ArrayTypeName",
|
|
"src": "1187:9:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
|
|
"typeString": "uint256[]"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 11445,
|
|
"mutability": "mutable",
|
|
"name": "startTime",
|
|
"nameLocation": "1228:9:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11560,
|
|
"src": "1220:17:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 11444,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1220:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 11447,
|
|
"mutability": "mutable",
|
|
"name": "saltNonce",
|
|
"nameLocation": "1251:9:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11560,
|
|
"src": "1243:17:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 11446,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1243:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 11449,
|
|
"mutability": "mutable",
|
|
"name": "signature",
|
|
"nameLocation": "1281:9:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11560,
|
|
"src": "1266:24:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "calldata",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 11448,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1266:5:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1154:140:54"
|
|
},
|
|
"returnParameters": {
|
|
"id": 11457,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "1351:0:54"
|
|
},
|
|
"scope": 11623,
|
|
"src": "1136:976:54",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 11621,
|
|
"nodeType": "Block",
|
|
"src": "2295:275:54",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
11577
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 11577,
|
|
"mutability": "mutable",
|
|
"name": "encoded",
|
|
"nameLocation": "2314:7:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11621,
|
|
"src": "2301:20:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "memory",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 11576,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2301:5:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 11585,
|
|
"initialValue": {
|
|
"arguments": [
|
|
{
|
|
"id": 11580,
|
|
"name": "_eventId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11562,
|
|
"src": "2341:8:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"id": 11581,
|
|
"name": "_user",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11564,
|
|
"src": "2351:5:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 11582,
|
|
"name": "_startTime",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11566,
|
|
"src": "2358:10:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"id": 11583,
|
|
"name": "_saltNonce",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11568,
|
|
"src": "2370:10:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 11578,
|
|
"name": "abi",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4294967295,
|
|
"src": "2324:3:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_abi",
|
|
"typeString": "abi"
|
|
}
|
|
},
|
|
"id": 11579,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "encodePacked",
|
|
"nodeType": "MemberAccess",
|
|
"src": "2324:16:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
|
|
"typeString": "function () pure returns (bytes memory)"
|
|
}
|
|
},
|
|
"id": 11584,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2324:57:54",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "2301:80:54"
|
|
},
|
|
{
|
|
"assignments": [
|
|
11587
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 11587,
|
|
"mutability": "mutable",
|
|
"name": "len",
|
|
"nameLocation": "2395:3:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11621,
|
|
"src": "2387:11:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 11586,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2387:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 11590,
|
|
"initialValue": {
|
|
"expression": {
|
|
"id": 11588,
|
|
"name": "_tokenIds",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11571,
|
|
"src": "2401:9:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
|
|
"typeString": "uint256[] memory"
|
|
}
|
|
},
|
|
"id": 11589,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "length",
|
|
"nodeType": "MemberAccess",
|
|
"src": "2401:16:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "2387:30:54"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 11615,
|
|
"nodeType": "Block",
|
|
"src": "2457:78:54",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"id": 11613,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"id": 11601,
|
|
"name": "encoded",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11577,
|
|
"src": "2465:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"arguments": [
|
|
{
|
|
"id": 11605,
|
|
"name": "encoded",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11577,
|
|
"src": "2488:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"baseExpression": {
|
|
"id": 11608,
|
|
"name": "_tokenIds",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11571,
|
|
"src": "2514:9:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
|
|
"typeString": "uint256[] memory"
|
|
}
|
|
},
|
|
"id": 11610,
|
|
"indexExpression": {
|
|
"id": 11609,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11592,
|
|
"src": "2524:1:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "2514:12:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 11606,
|
|
"name": "abi",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4294967295,
|
|
"src": "2497:3:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_abi",
|
|
"typeString": "abi"
|
|
}
|
|
},
|
|
"id": 11607,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "encodePacked",
|
|
"nodeType": "MemberAccess",
|
|
"src": "2497:16:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
|
|
"typeString": "function () pure returns (bytes memory)"
|
|
}
|
|
},
|
|
"id": 11611,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2497:30:54",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 11603,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "2475:5:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
|
|
"typeString": "type(bytes storage pointer)"
|
|
},
|
|
"typeName": {
|
|
"id": 11602,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2475:5:54",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 11604,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "concat",
|
|
"nodeType": "MemberAccess",
|
|
"src": "2475:12:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_bytesconcat_pure$__$returns$_t_bytes_memory_ptr_$",
|
|
"typeString": "function () pure returns (bytes memory)"
|
|
}
|
|
},
|
|
"id": 11612,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2475:53:54",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"src": "2465:63:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"id": 11614,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2465:63:54"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 11597,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 11595,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11592,
|
|
"src": "2443:1:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "<",
|
|
"rightExpression": {
|
|
"id": 11596,
|
|
"name": "len",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11587,
|
|
"src": "2447:3:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "2443:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 11616,
|
|
"initializationExpression": {
|
|
"assignments": [
|
|
11592
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 11592,
|
|
"mutability": "mutable",
|
|
"name": "i",
|
|
"nameLocation": "2436:1:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11616,
|
|
"src": "2428:9:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 11591,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2428:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 11594,
|
|
"initialValue": {
|
|
"hexValue": "30",
|
|
"id": 11593,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2440:1:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "2428:13:54"
|
|
},
|
|
"loopExpression": {
|
|
"expression": {
|
|
"id": 11599,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "UnaryOperation",
|
|
"operator": "++",
|
|
"prefix": true,
|
|
"src": "2452:3:54",
|
|
"subExpression": {
|
|
"id": 11598,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11592,
|
|
"src": "2454:1:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 11600,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2452:3:54"
|
|
},
|
|
"nodeType": "ForStatement",
|
|
"src": "2423:112:54"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"id": 11618,
|
|
"name": "encoded",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11577,
|
|
"src": "2557:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 11617,
|
|
"name": "keccak256",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4294967288,
|
|
"src": "2547:9:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
|
|
"typeString": "function (bytes memory) pure returns (bytes32)"
|
|
}
|
|
},
|
|
"id": 11619,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2547:18:54",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"functionReturnParameters": 11575,
|
|
"id": 11620,
|
|
"nodeType": "Return",
|
|
"src": "2540:25:54"
|
|
}
|
|
]
|
|
},
|
|
"functionSelector": "79578cc8",
|
|
"id": 11622,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "getMessageHash",
|
|
"nameLocation": "2125:14:54",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 11572,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 11562,
|
|
"mutability": "mutable",
|
|
"name": "_eventId",
|
|
"nameLocation": "2153:8:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11622,
|
|
"src": "2145:16:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 11561,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2145:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 11564,
|
|
"mutability": "mutable",
|
|
"name": "_user",
|
|
"nameLocation": "2175:5:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11622,
|
|
"src": "2167:13:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 11563,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2167:7:54",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 11566,
|
|
"mutability": "mutable",
|
|
"name": "_startTime",
|
|
"nameLocation": "2194:10:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11622,
|
|
"src": "2186:18:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 11565,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2186:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 11568,
|
|
"mutability": "mutable",
|
|
"name": "_saltNonce",
|
|
"nameLocation": "2218:10:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11622,
|
|
"src": "2210:18:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 11567,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2210:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 11571,
|
|
"mutability": "mutable",
|
|
"name": "_tokenIds",
|
|
"nameLocation": "2251:9:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11622,
|
|
"src": "2234:26:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "memory",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
|
|
"typeString": "uint256[]"
|
|
},
|
|
"typeName": {
|
|
"baseType": {
|
|
"id": 11569,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2234:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 11570,
|
|
"nodeType": "ArrayTypeName",
|
|
"src": "2234:9:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
|
|
"typeString": "uint256[]"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2139:125:54"
|
|
},
|
|
"returnParameters": {
|
|
"id": 11575,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 11574,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11622,
|
|
"src": "2286:7:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 11573,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2286:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2285:9:54"
|
|
},
|
|
"scope": 11623,
|
|
"src": "2116:454:54",
|
|
"stateMutability": "pure",
|
|
"virtual": false,
|
|
"visibility": "public"
|
|
}
|
|
],
|
|
"scope": 11624,
|
|
"src": "423:2149:54",
|
|
"usedErrors": []
|
|
}
|
|
],
|
|
"src": "32:2541:54"
|
|
},
|
|
"legacyAST": {
|
|
"absolutePath": "project:/contracts/logic/EvolveProxy.sol",
|
|
"exportedSymbols": {
|
|
"Context": [
|
|
6696
|
|
],
|
|
"ECDSA": [
|
|
7365
|
|
],
|
|
"EvolveProxy": [
|
|
11623
|
|
],
|
|
"HasSignature": [
|
|
10869
|
|
],
|
|
"IBurnableERC721": [
|
|
11379
|
|
],
|
|
"IERC165": [
|
|
7401
|
|
],
|
|
"IERC721": [
|
|
5840
|
|
],
|
|
"Math": [
|
|
8267
|
|
],
|
|
"Ownable": [
|
|
651
|
|
],
|
|
"SignedMath": [
|
|
8684
|
|
],
|
|
"Strings": [
|
|
6999
|
|
],
|
|
"TimeChecker": [
|
|
21232
|
|
],
|
|
"UInt": [
|
|
21263
|
|
]
|
|
},
|
|
"id": 11624,
|
|
"license": "MIT",
|
|
"nodeType": "SourceUnit",
|
|
"nodes": [
|
|
{
|
|
"id": 11358,
|
|
"literals": [
|
|
"solidity",
|
|
"0.8",
|
|
".10"
|
|
],
|
|
"nodeType": "PragmaDirective",
|
|
"src": "32:23:54"
|
|
},
|
|
{
|
|
"absolutePath": "@openzeppelin/contracts/access/Ownable.sol",
|
|
"file": "@openzeppelin/contracts/access/Ownable.sol",
|
|
"id": 11359,
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "ImportDirective",
|
|
"scope": 11624,
|
|
"sourceUnit": 652,
|
|
"src": "56:52:54",
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol",
|
|
"file": "@openzeppelin/contracts/token/ERC721/IERC721.sol",
|
|
"id": 11360,
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "ImportDirective",
|
|
"scope": 11624,
|
|
"sourceUnit": 5841,
|
|
"src": "109:58:54",
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"absolutePath": "project:/contracts/core/HasSignature.sol",
|
|
"file": "../core/HasSignature.sol",
|
|
"id": 11361,
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "ImportDirective",
|
|
"scope": 11624,
|
|
"sourceUnit": 10870,
|
|
"src": "168:34:54",
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"absolutePath": "project:/contracts/utils/TimeChecker.sol",
|
|
"file": "../utils/TimeChecker.sol",
|
|
"id": 11362,
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "ImportDirective",
|
|
"scope": 11624,
|
|
"sourceUnit": 21233,
|
|
"src": "203:34:54",
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"absolutePath": "project:/contracts/utils/UInt.sol",
|
|
"file": "../utils/UInt.sol",
|
|
"id": 11363,
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "ImportDirective",
|
|
"scope": 11624,
|
|
"sourceUnit": 21264,
|
|
"src": "238:27:54",
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"abstract": false,
|
|
"baseContracts": [
|
|
{
|
|
"baseName": {
|
|
"id": 11364,
|
|
"name": "IERC721",
|
|
"nodeType": "IdentifierPath",
|
|
"referencedDeclaration": 5840,
|
|
"src": "296:7:54"
|
|
},
|
|
"id": 11365,
|
|
"nodeType": "InheritanceSpecifier",
|
|
"src": "296:7:54"
|
|
}
|
|
],
|
|
"canonicalName": "IBurnableERC721",
|
|
"contractDependencies": [],
|
|
"contractKind": "interface",
|
|
"fullyImplemented": false,
|
|
"id": 11379,
|
|
"linearizedBaseContracts": [
|
|
11379,
|
|
5840,
|
|
7401
|
|
],
|
|
"name": "IBurnableERC721",
|
|
"nameLocation": "277:15:54",
|
|
"nodeType": "ContractDefinition",
|
|
"nodes": [
|
|
{
|
|
"functionSelector": "42966c68",
|
|
"id": 11370,
|
|
"implemented": false,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "burn",
|
|
"nameLocation": "317:4:54",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 11368,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 11367,
|
|
"mutability": "mutable",
|
|
"name": "tokenId",
|
|
"nameLocation": "330:7:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11370,
|
|
"src": "322:15:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 11366,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "322:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "321:17:54"
|
|
},
|
|
"returnParameters": {
|
|
"id": 11369,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "347:0:54"
|
|
},
|
|
"scope": 11379,
|
|
"src": "308:40:54",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"functionSelector": "4684d7e9",
|
|
"id": 11378,
|
|
"implemented": false,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "batchMint",
|
|
"nameLocation": "361:9:54",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 11376,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 11372,
|
|
"mutability": "mutable",
|
|
"name": "to",
|
|
"nameLocation": "379:2:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11378,
|
|
"src": "371:10:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 11371,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "371:7:54",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 11375,
|
|
"mutability": "mutable",
|
|
"name": "tokenIds",
|
|
"nameLocation": "400:8:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11378,
|
|
"src": "383:25:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "memory",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
|
|
"typeString": "uint256[]"
|
|
},
|
|
"typeName": {
|
|
"baseType": {
|
|
"id": 11373,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "383:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 11374,
|
|
"nodeType": "ArrayTypeName",
|
|
"src": "383:9:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
|
|
"typeString": "uint256[]"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "370:39:54"
|
|
},
|
|
"returnParameters": {
|
|
"id": 11377,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "418:0:54"
|
|
},
|
|
"scope": 11379,
|
|
"src": "352:67:54",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "external"
|
|
}
|
|
],
|
|
"scope": 11624,
|
|
"src": "267:154:54",
|
|
"usedErrors": []
|
|
},
|
|
{
|
|
"abstract": false,
|
|
"baseContracts": [
|
|
{
|
|
"baseName": {
|
|
"id": 11380,
|
|
"name": "Ownable",
|
|
"nodeType": "IdentifierPath",
|
|
"referencedDeclaration": 651,
|
|
"src": "447:7:54"
|
|
},
|
|
"id": 11381,
|
|
"nodeType": "InheritanceSpecifier",
|
|
"src": "447:7:54"
|
|
},
|
|
{
|
|
"baseName": {
|
|
"id": 11382,
|
|
"name": "TimeChecker",
|
|
"nodeType": "IdentifierPath",
|
|
"referencedDeclaration": 21232,
|
|
"src": "456:11:54"
|
|
},
|
|
"id": 11383,
|
|
"nodeType": "InheritanceSpecifier",
|
|
"src": "456:11:54"
|
|
},
|
|
{
|
|
"baseName": {
|
|
"id": 11384,
|
|
"name": "HasSignature",
|
|
"nodeType": "IdentifierPath",
|
|
"referencedDeclaration": 10869,
|
|
"src": "469:12:54"
|
|
},
|
|
"id": 11385,
|
|
"nodeType": "InheritanceSpecifier",
|
|
"src": "469:12:54"
|
|
}
|
|
],
|
|
"canonicalName": "EvolveProxy",
|
|
"contractDependencies": [],
|
|
"contractKind": "contract",
|
|
"fullyImplemented": true,
|
|
"id": 11623,
|
|
"linearizedBaseContracts": [
|
|
11623,
|
|
10869,
|
|
21232,
|
|
651,
|
|
6696
|
|
],
|
|
"name": "EvolveProxy",
|
|
"nameLocation": "432:11:54",
|
|
"nodeType": "ContractDefinition",
|
|
"nodes": [
|
|
{
|
|
"id": 11388,
|
|
"libraryName": {
|
|
"id": 11386,
|
|
"name": "UInt",
|
|
"nodeType": "IdentifierPath",
|
|
"referencedDeclaration": 21263,
|
|
"src": "492:4:54"
|
|
},
|
|
"nodeType": "UsingForDirective",
|
|
"src": "486:23:54",
|
|
"typeName": {
|
|
"id": 11387,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "501:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"constant": false,
|
|
"functionSelector": "47ccca02",
|
|
"id": 11391,
|
|
"mutability": "mutable",
|
|
"name": "nft",
|
|
"nameLocation": "536:3:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11623,
|
|
"src": "513:26:54",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IBurnableERC721_$11379",
|
|
"typeString": "contract IBurnableERC721"
|
|
},
|
|
"typeName": {
|
|
"id": 11390,
|
|
"nodeType": "UserDefinedTypeName",
|
|
"pathNode": {
|
|
"id": 11389,
|
|
"name": "IBurnableERC721",
|
|
"nodeType": "IdentifierPath",
|
|
"referencedDeclaration": 11379,
|
|
"src": "513:15:54"
|
|
},
|
|
"referencedDeclaration": 11379,
|
|
"src": "513:15:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IBurnableERC721_$11379",
|
|
"typeString": "contract IBurnableERC721"
|
|
}
|
|
},
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"functionSelector": "c34c08e5",
|
|
"id": 11393,
|
|
"mutability": "mutable",
|
|
"name": "executor",
|
|
"nameLocation": "559:8:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11623,
|
|
"src": "544:23:54",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 11392,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "544:7:54",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"id": 11402,
|
|
"name": "TokenEvolved",
|
|
"nameLocation": "578:12:54",
|
|
"nodeType": "EventDefinition",
|
|
"parameters": {
|
|
"id": 11401,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 11395,
|
|
"indexed": true,
|
|
"mutability": "mutable",
|
|
"name": "evolveEventId",
|
|
"nameLocation": "612:13:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11402,
|
|
"src": "596:29:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 11394,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "596:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 11397,
|
|
"indexed": true,
|
|
"mutability": "mutable",
|
|
"name": "owner",
|
|
"nameLocation": "647:5:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11402,
|
|
"src": "631:21:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 11396,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "631:7:54",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 11400,
|
|
"indexed": false,
|
|
"mutability": "mutable",
|
|
"name": "tokenIds",
|
|
"nameLocation": "668:8:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11402,
|
|
"src": "658:18:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
|
|
"typeString": "uint256[]"
|
|
},
|
|
"typeName": {
|
|
"baseType": {
|
|
"id": 11398,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "658:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 11399,
|
|
"nodeType": "ArrayTypeName",
|
|
"src": "658:9:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
|
|
"typeString": "uint256[]"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "590:90:54"
|
|
},
|
|
"src": "572:109:54"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 11413,
|
|
"nodeType": "Block",
|
|
"src": "714:42:54",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"id": 11411,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"id": 11407,
|
|
"name": "nft",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11391,
|
|
"src": "720:3:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IBurnableERC721_$11379",
|
|
"typeString": "contract IBurnableERC721"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"arguments": [
|
|
{
|
|
"id": 11409,
|
|
"name": "_address",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11404,
|
|
"src": "742:8:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
],
|
|
"id": 11408,
|
|
"name": "IBurnableERC721",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11379,
|
|
"src": "726:15:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_IBurnableERC721_$11379_$",
|
|
"typeString": "type(contract IBurnableERC721)"
|
|
}
|
|
},
|
|
"id": 11410,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "726:25:54",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IBurnableERC721_$11379",
|
|
"typeString": "contract IBurnableERC721"
|
|
}
|
|
},
|
|
"src": "720:31:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IBurnableERC721_$11379",
|
|
"typeString": "contract IBurnableERC721"
|
|
}
|
|
},
|
|
"id": 11412,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "720:31:54"
|
|
}
|
|
]
|
|
},
|
|
"id": 11414,
|
|
"implemented": true,
|
|
"kind": "constructor",
|
|
"modifiers": [],
|
|
"name": "",
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 11405,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 11404,
|
|
"mutability": "mutable",
|
|
"name": "_address",
|
|
"nameLocation": "705:8:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11414,
|
|
"src": "697:16:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 11403,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "697:7:54",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "696:18:54"
|
|
},
|
|
"returnParameters": {
|
|
"id": 11406,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "714:0:54"
|
|
},
|
|
"scope": 11623,
|
|
"src": "685:71:54",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 11436,
|
|
"nodeType": "Block",
|
|
"src": "858:92:54",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"commonType": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"id": 11428,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 11423,
|
|
"name": "account",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11417,
|
|
"src": "872:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "!=",
|
|
"rightExpression": {
|
|
"arguments": [
|
|
{
|
|
"hexValue": "30",
|
|
"id": 11426,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "891:1:54",
|
|
"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": 11425,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "883:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 11424,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "883:7:54",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 11427,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "883:10:54",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "872:21:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"hexValue": "616464726573732063616e206e6f74206265207a65726f",
|
|
"id": 11429,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "895:25:54",
|
|
"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": 11422,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
4294967278,
|
|
4294967278
|
|
],
|
|
"referencedDeclaration": 4294967278,
|
|
"src": "864:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 11430,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "864:57:54",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 11431,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "864:57:54"
|
|
},
|
|
{
|
|
"expression": {
|
|
"id": 11434,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"id": 11432,
|
|
"name": "executor",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11393,
|
|
"src": "927:8:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"id": 11433,
|
|
"name": "account",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11417,
|
|
"src": "938:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "927:18:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"id": 11435,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "927:18:54"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 11415,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "760:35:54",
|
|
"text": " @dev update executor"
|
|
},
|
|
"functionSelector": "74936c16",
|
|
"id": 11437,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [
|
|
{
|
|
"id": 11420,
|
|
"kind": "modifierInvocation",
|
|
"modifierName": {
|
|
"id": 11419,
|
|
"name": "onlyOwner",
|
|
"nodeType": "IdentifierPath",
|
|
"referencedDeclaration": 570,
|
|
"src": "848:9:54"
|
|
},
|
|
"nodeType": "ModifierInvocation",
|
|
"src": "848:9:54"
|
|
}
|
|
],
|
|
"name": "updateExecutor",
|
|
"nameLocation": "807:14:54",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 11418,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 11417,
|
|
"mutability": "mutable",
|
|
"name": "account",
|
|
"nameLocation": "830:7:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11437,
|
|
"src": "822:15:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 11416,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "822:7:54",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "821:17:54"
|
|
},
|
|
"returnParameters": {
|
|
"id": 11421,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "858:0:54"
|
|
},
|
|
"scope": 11623,
|
|
"src": "798:152:54",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 11559,
|
|
"nodeType": "Block",
|
|
"src": "1351:761:54",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 11462,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"expression": {
|
|
"id": 11459,
|
|
"name": "tokenIds",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11443,
|
|
"src": "1365:8:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
|
|
"typeString": "uint256[] calldata"
|
|
}
|
|
},
|
|
"id": 11460,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "length",
|
|
"nodeType": "MemberAccess",
|
|
"src": "1365:15:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": ">",
|
|
"rightExpression": {
|
|
"hexValue": "30",
|
|
"id": 11461,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1383:1:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "1365:19:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"hexValue": "45766f6c766550726f78793a20746f6b656e496473206c656e677468206d757374203e2030",
|
|
"id": 11463,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1386:39:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_8621f1acaf303cbf3d59288adfded750d8b832d0e195e7ed11c71e6adcd95106",
|
|
"typeString": "literal_string \"EvolveProxy: tokenIds length must > 0\""
|
|
},
|
|
"value": "EvolveProxy: tokenIds length must > 0"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_8621f1acaf303cbf3d59288adfded750d8b832d0e195e7ed11c71e6adcd95106",
|
|
"typeString": "literal_string \"EvolveProxy: tokenIds length must > 0\""
|
|
}
|
|
],
|
|
"id": 11458,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
4294967278,
|
|
4294967278
|
|
],
|
|
"referencedDeclaration": 4294967278,
|
|
"src": "1357:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 11464,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1357:69:54",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 11465,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1357:69:54"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 11471,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"baseExpression": {
|
|
"id": 11467,
|
|
"name": "tokenIds",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11443,
|
|
"src": "1440:8:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
|
|
"typeString": "uint256[] calldata"
|
|
}
|
|
},
|
|
"id": 11469,
|
|
"indexExpression": {
|
|
"hexValue": "30",
|
|
"id": 11468,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1449:1:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "1440:11:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": ">",
|
|
"rightExpression": {
|
|
"hexValue": "30",
|
|
"id": 11470,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1454:1:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "1440:15:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"hexValue": "45766f6c766550726f78793a206e667420746f2065766f6c76652063616e206e6f742062652030",
|
|
"id": 11472,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1457:41:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_b4a8830f3b93c410a9e6707b0f453ccc025d08a261e6c89cde145ebecb9afb39",
|
|
"typeString": "literal_string \"EvolveProxy: nft to evolve can not be 0\""
|
|
},
|
|
"value": "EvolveProxy: nft to evolve can not be 0"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_b4a8830f3b93c410a9e6707b0f453ccc025d08a261e6c89cde145ebecb9afb39",
|
|
"typeString": "literal_string \"EvolveProxy: nft to evolve can not be 0\""
|
|
}
|
|
],
|
|
"id": 11466,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
4294967278,
|
|
4294967278
|
|
],
|
|
"referencedDeclaration": 4294967278,
|
|
"src": "1432:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 11473,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1432:67:54",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 11474,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1432:67:54"
|
|
},
|
|
{
|
|
"assignments": [
|
|
11476
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 11476,
|
|
"mutability": "mutable",
|
|
"name": "user",
|
|
"nameLocation": "1513:4:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11559,
|
|
"src": "1505:12:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 11475,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1505:7:54",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 11479,
|
|
"initialValue": {
|
|
"arguments": [],
|
|
"expression": {
|
|
"argumentTypes": [],
|
|
"id": 11477,
|
|
"name": "_msgSender",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 6686,
|
|
"src": "1520:10:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
|
|
"typeString": "function () view returns (address)"
|
|
}
|
|
},
|
|
"id": 11478,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1520:12:54",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "1505:27:54"
|
|
},
|
|
{
|
|
"assignments": [
|
|
11481
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 11481,
|
|
"mutability": "mutable",
|
|
"name": "criteriaMessageHash",
|
|
"nameLocation": "1551:19:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11559,
|
|
"src": "1543:27:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 11480,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1543:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 11489,
|
|
"initialValue": {
|
|
"arguments": [
|
|
{
|
|
"id": 11483,
|
|
"name": "evolveEventId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11440,
|
|
"src": "1595:13:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"id": 11484,
|
|
"name": "user",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11476,
|
|
"src": "1616:4:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 11485,
|
|
"name": "startTime",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11445,
|
|
"src": "1628:9:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"id": 11486,
|
|
"name": "saltNonce",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11447,
|
|
"src": "1645:9:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"id": 11487,
|
|
"name": "tokenIds",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11443,
|
|
"src": "1662:8:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
|
|
"typeString": "uint256[] calldata"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
|
|
"typeString": "uint256[] calldata"
|
|
}
|
|
],
|
|
"id": 11482,
|
|
"name": "getMessageHash",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11622,
|
|
"src": "1573:14:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bytes32_$",
|
|
"typeString": "function (uint256,address,uint256,uint256,uint256[] memory) pure returns (bytes32)"
|
|
}
|
|
},
|
|
"id": 11488,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1573:103:54",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "1543:133:54"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"id": 11491,
|
|
"name": "executor",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11393,
|
|
"src": "1694:8:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 11492,
|
|
"name": "criteriaMessageHash",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11481,
|
|
"src": "1704:19:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
{
|
|
"id": 11493,
|
|
"name": "signature",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11449,
|
|
"src": "1725:9:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
],
|
|
"id": 11490,
|
|
"name": "checkSigner",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 10836,
|
|
"src": "1682:11:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$__$",
|
|
"typeString": "function (address,bytes32,bytes memory) pure"
|
|
}
|
|
},
|
|
"id": 11494,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1682:53:54",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 11495,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1682:53:54"
|
|
},
|
|
{
|
|
"clauses": [
|
|
{
|
|
"block": {
|
|
"id": 11505,
|
|
"nodeType": "Block",
|
|
"src": "1797:2:54",
|
|
"statements": []
|
|
},
|
|
"errorName": "",
|
|
"id": 11506,
|
|
"nodeType": "TryCatchClause",
|
|
"src": "1797:2:54"
|
|
},
|
|
{
|
|
"block": {
|
|
"id": 11507,
|
|
"nodeType": "Block",
|
|
"src": "1806:2:54",
|
|
"statements": []
|
|
},
|
|
"errorName": "",
|
|
"id": 11508,
|
|
"nodeType": "TryCatchClause",
|
|
"src": "1800:8:54"
|
|
}
|
|
],
|
|
"externalCall": {
|
|
"arguments": [
|
|
{
|
|
"id": 11498,
|
|
"name": "user",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11476,
|
|
"src": "1759:4:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"arguments": [],
|
|
"expression": {
|
|
"argumentTypes": [],
|
|
"expression": {
|
|
"baseExpression": {
|
|
"id": 11499,
|
|
"name": "tokenIds",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11443,
|
|
"src": "1765:8:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
|
|
"typeString": "uint256[] calldata"
|
|
}
|
|
},
|
|
"id": 11501,
|
|
"indexExpression": {
|
|
"hexValue": "30",
|
|
"id": 11500,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1774:1:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "1765:11:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 11502,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "asSingletonArray",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 21262,
|
|
"src": "1765:28:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$bound_to$_t_uint256_$",
|
|
"typeString": "function (uint256) pure returns (uint256[] memory)"
|
|
}
|
|
},
|
|
"id": 11503,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1765:30:54",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
|
|
"typeString": "uint256[] memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
|
|
"typeString": "uint256[] memory"
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 11496,
|
|
"name": "nft",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11391,
|
|
"src": "1745:3:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IBurnableERC721_$11379",
|
|
"typeString": "contract IBurnableERC721"
|
|
}
|
|
},
|
|
"id": 11497,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "batchMint",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 11378,
|
|
"src": "1745:13:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$",
|
|
"typeString": "function (address,uint256[] memory) external"
|
|
}
|
|
},
|
|
"id": 11504,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1745:51:54",
|
|
"tryCall": true,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 11509,
|
|
"nodeType": "TryStatement",
|
|
"src": "1741:67:54"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"commonType": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"id": 11518,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"arguments": [
|
|
{
|
|
"baseExpression": {
|
|
"id": 11513,
|
|
"name": "tokenIds",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11443,
|
|
"src": "1833:8:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
|
|
"typeString": "uint256[] calldata"
|
|
}
|
|
},
|
|
"id": 11515,
|
|
"indexExpression": {
|
|
"hexValue": "30",
|
|
"id": 11514,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1842:1:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "1833:11:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 11511,
|
|
"name": "nft",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11391,
|
|
"src": "1821:3:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IBurnableERC721_$11379",
|
|
"typeString": "contract IBurnableERC721"
|
|
}
|
|
},
|
|
"id": 11512,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "ownerOf",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 5773,
|
|
"src": "1821:11:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_address_$",
|
|
"typeString": "function (uint256) view external returns (address)"
|
|
}
|
|
},
|
|
"id": 11516,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1821:24:54",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"id": 11517,
|
|
"name": "user",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11476,
|
|
"src": "1849:4:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "1821:32:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"hexValue": "45766f6c766550726f78793a206e6f74206f776e6572206f662074686973206e6674206e6f77",
|
|
"id": 11519,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1854:40:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_5ebbc34bdac4db27a4af5b77a5bf5ab3476d8a96b6a96535d1460b8ed795cdf1",
|
|
"typeString": "literal_string \"EvolveProxy: not owner of this nft now\""
|
|
},
|
|
"value": "EvolveProxy: not owner of this nft now"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_5ebbc34bdac4db27a4af5b77a5bf5ab3476d8a96b6a96535d1460b8ed795cdf1",
|
|
"typeString": "literal_string \"EvolveProxy: not owner of this nft now\""
|
|
}
|
|
],
|
|
"id": 11510,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
4294967278,
|
|
4294967278
|
|
],
|
|
"referencedDeclaration": 4294967278,
|
|
"src": "1813:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 11520,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1813:82:54",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 11521,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1813:82:54"
|
|
},
|
|
{
|
|
"condition": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 11525,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"expression": {
|
|
"id": 11522,
|
|
"name": "tokenIds",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11443,
|
|
"src": "1905:8:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
|
|
"typeString": "uint256[] calldata"
|
|
}
|
|
},
|
|
"id": 11523,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "length",
|
|
"nodeType": "MemberAccess",
|
|
"src": "1905:15:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": ">",
|
|
"rightExpression": {
|
|
"hexValue": "31",
|
|
"id": 11524,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1923:1:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "1905:19:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 11548,
|
|
"nodeType": "IfStatement",
|
|
"src": "1901:125:54",
|
|
"trueBody": {
|
|
"id": 11547,
|
|
"nodeType": "Block",
|
|
"src": "1926:100:54",
|
|
"statements": [
|
|
{
|
|
"body": {
|
|
"id": 11545,
|
|
"nodeType": "Block",
|
|
"src": "1980:40:54",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"baseExpression": {
|
|
"id": 11540,
|
|
"name": "tokenIds",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11443,
|
|
"src": "1999:8:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
|
|
"typeString": "uint256[] calldata"
|
|
}
|
|
},
|
|
"id": 11542,
|
|
"indexExpression": {
|
|
"id": 11541,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11527,
|
|
"src": "2008:1:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "1999:11:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 11537,
|
|
"name": "nft",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11391,
|
|
"src": "1990:3:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IBurnableERC721_$11379",
|
|
"typeString": "contract IBurnableERC721"
|
|
}
|
|
},
|
|
"id": 11539,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "burn",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 11370,
|
|
"src": "1990:8:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$",
|
|
"typeString": "function (uint256) external"
|
|
}
|
|
},
|
|
"id": 11543,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1990:21:54",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 11544,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1990:21:54"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 11533,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 11530,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11527,
|
|
"src": "1954:1:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "<",
|
|
"rightExpression": {
|
|
"expression": {
|
|
"id": 11531,
|
|
"name": "tokenIds",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11443,
|
|
"src": "1958:8:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
|
|
"typeString": "uint256[] calldata"
|
|
}
|
|
},
|
|
"id": 11532,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "length",
|
|
"nodeType": "MemberAccess",
|
|
"src": "1958:15:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "1954:19:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 11546,
|
|
"initializationExpression": {
|
|
"assignments": [
|
|
11527
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 11527,
|
|
"mutability": "mutable",
|
|
"name": "i",
|
|
"nameLocation": "1947:1:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11546,
|
|
"src": "1939:9:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 11526,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1939:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 11529,
|
|
"initialValue": {
|
|
"hexValue": "31",
|
|
"id": 11528,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1951:1:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "1939:13:54"
|
|
},
|
|
"loopExpression": {
|
|
"expression": {
|
|
"id": 11535,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "UnaryOperation",
|
|
"operator": "++",
|
|
"prefix": true,
|
|
"src": "1975:3:54",
|
|
"subExpression": {
|
|
"id": 11534,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11527,
|
|
"src": "1977:1:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 11536,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1975:3:54"
|
|
},
|
|
"nodeType": "ForStatement",
|
|
"src": "1934:86:54"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"id": 11550,
|
|
"name": "signature",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11449,
|
|
"src": "2045:9:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
],
|
|
"id": 11549,
|
|
"name": "_useSignature",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 10868,
|
|
"src": "2031:13:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes_calldata_ptr_$returns$__$",
|
|
"typeString": "function (bytes calldata)"
|
|
}
|
|
},
|
|
"id": 11551,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2031:24:54",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 11552,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2031:24:54"
|
|
},
|
|
{
|
|
"eventCall": {
|
|
"arguments": [
|
|
{
|
|
"id": 11554,
|
|
"name": "evolveEventId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11440,
|
|
"src": "2079:13:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"id": 11555,
|
|
"name": "user",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11476,
|
|
"src": "2093:4:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 11556,
|
|
"name": "tokenIds",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11443,
|
|
"src": "2098:8:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
|
|
"typeString": "uint256[] calldata"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
|
|
"typeString": "uint256[] calldata"
|
|
}
|
|
],
|
|
"id": 11553,
|
|
"name": "TokenEvolved",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11402,
|
|
"src": "2066:12:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$",
|
|
"typeString": "function (uint256,address,uint256[] memory)"
|
|
}
|
|
},
|
|
"id": 11557,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2066:41:54",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 11558,
|
|
"nodeType": "EmitStatement",
|
|
"src": "2061:46:54"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 11438,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "954:179:54",
|
|
"text": " @dev evolve function to Counter Fire nft NFT\n tokenIds: [nft_to_evolve, nft_for_burn, nft_for_burn...]\n nft_to_evolve: nft to evolve, auto mint if not exist"
|
|
},
|
|
"functionSelector": "89cc6c67",
|
|
"id": 11560,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"id": 11452,
|
|
"name": "signature",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11449,
|
|
"src": "1319:9:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes calldata"
|
|
}
|
|
}
|
|
],
|
|
"id": 11453,
|
|
"kind": "modifierInvocation",
|
|
"modifierName": {
|
|
"id": 11451,
|
|
"name": "signatureValid",
|
|
"nodeType": "IdentifierPath",
|
|
"referencedDeclaration": 10850,
|
|
"src": "1304:14:54"
|
|
},
|
|
"nodeType": "ModifierInvocation",
|
|
"src": "1304:25:54"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"id": 11455,
|
|
"name": "startTime",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11445,
|
|
"src": "1340:9:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"id": 11456,
|
|
"kind": "modifierInvocation",
|
|
"modifierName": {
|
|
"id": 11454,
|
|
"name": "timeValid",
|
|
"nodeType": "IdentifierPath",
|
|
"referencedDeclaration": 21202,
|
|
"src": "1330:9:54"
|
|
},
|
|
"nodeType": "ModifierInvocation",
|
|
"src": "1330:20:54"
|
|
}
|
|
],
|
|
"name": "evolveNft",
|
|
"nameLocation": "1145:9:54",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 11450,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 11440,
|
|
"mutability": "mutable",
|
|
"name": "evolveEventId",
|
|
"nameLocation": "1168:13:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11560,
|
|
"src": "1160:21:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 11439,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1160:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 11443,
|
|
"mutability": "mutable",
|
|
"name": "tokenIds",
|
|
"nameLocation": "1206:8:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11560,
|
|
"src": "1187:27:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "calldata",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
|
|
"typeString": "uint256[]"
|
|
},
|
|
"typeName": {
|
|
"baseType": {
|
|
"id": 11441,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1187:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 11442,
|
|
"nodeType": "ArrayTypeName",
|
|
"src": "1187:9:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
|
|
"typeString": "uint256[]"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 11445,
|
|
"mutability": "mutable",
|
|
"name": "startTime",
|
|
"nameLocation": "1228:9:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11560,
|
|
"src": "1220:17:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 11444,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1220:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 11447,
|
|
"mutability": "mutable",
|
|
"name": "saltNonce",
|
|
"nameLocation": "1251:9:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11560,
|
|
"src": "1243:17:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 11446,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1243:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 11449,
|
|
"mutability": "mutable",
|
|
"name": "signature",
|
|
"nameLocation": "1281:9:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11560,
|
|
"src": "1266:24:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "calldata",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 11448,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1266:5:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1154:140:54"
|
|
},
|
|
"returnParameters": {
|
|
"id": 11457,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "1351:0:54"
|
|
},
|
|
"scope": 11623,
|
|
"src": "1136:976:54",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 11621,
|
|
"nodeType": "Block",
|
|
"src": "2295:275:54",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
11577
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 11577,
|
|
"mutability": "mutable",
|
|
"name": "encoded",
|
|
"nameLocation": "2314:7:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11621,
|
|
"src": "2301:20:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "memory",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 11576,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2301:5:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 11585,
|
|
"initialValue": {
|
|
"arguments": [
|
|
{
|
|
"id": 11580,
|
|
"name": "_eventId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11562,
|
|
"src": "2341:8:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"id": 11581,
|
|
"name": "_user",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11564,
|
|
"src": "2351:5:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 11582,
|
|
"name": "_startTime",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11566,
|
|
"src": "2358:10:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"id": 11583,
|
|
"name": "_saltNonce",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11568,
|
|
"src": "2370:10:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 11578,
|
|
"name": "abi",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4294967295,
|
|
"src": "2324:3:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_abi",
|
|
"typeString": "abi"
|
|
}
|
|
},
|
|
"id": 11579,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "encodePacked",
|
|
"nodeType": "MemberAccess",
|
|
"src": "2324:16:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
|
|
"typeString": "function () pure returns (bytes memory)"
|
|
}
|
|
},
|
|
"id": 11584,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2324:57:54",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "2301:80:54"
|
|
},
|
|
{
|
|
"assignments": [
|
|
11587
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 11587,
|
|
"mutability": "mutable",
|
|
"name": "len",
|
|
"nameLocation": "2395:3:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11621,
|
|
"src": "2387:11:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 11586,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2387:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 11590,
|
|
"initialValue": {
|
|
"expression": {
|
|
"id": 11588,
|
|
"name": "_tokenIds",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11571,
|
|
"src": "2401:9:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
|
|
"typeString": "uint256[] memory"
|
|
}
|
|
},
|
|
"id": 11589,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "length",
|
|
"nodeType": "MemberAccess",
|
|
"src": "2401:16:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "2387:30:54"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 11615,
|
|
"nodeType": "Block",
|
|
"src": "2457:78:54",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"id": 11613,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"id": 11601,
|
|
"name": "encoded",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11577,
|
|
"src": "2465:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"arguments": [
|
|
{
|
|
"id": 11605,
|
|
"name": "encoded",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11577,
|
|
"src": "2488:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"baseExpression": {
|
|
"id": 11608,
|
|
"name": "_tokenIds",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11571,
|
|
"src": "2514:9:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
|
|
"typeString": "uint256[] memory"
|
|
}
|
|
},
|
|
"id": 11610,
|
|
"indexExpression": {
|
|
"id": 11609,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11592,
|
|
"src": "2524:1:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "2514:12:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 11606,
|
|
"name": "abi",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4294967295,
|
|
"src": "2497:3:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_abi",
|
|
"typeString": "abi"
|
|
}
|
|
},
|
|
"id": 11607,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "encodePacked",
|
|
"nodeType": "MemberAccess",
|
|
"src": "2497:16:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
|
|
"typeString": "function () pure returns (bytes memory)"
|
|
}
|
|
},
|
|
"id": 11611,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2497:30:54",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 11603,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "2475:5:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
|
|
"typeString": "type(bytes storage pointer)"
|
|
},
|
|
"typeName": {
|
|
"id": 11602,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2475:5:54",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 11604,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "concat",
|
|
"nodeType": "MemberAccess",
|
|
"src": "2475:12:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_bytesconcat_pure$__$returns$_t_bytes_memory_ptr_$",
|
|
"typeString": "function () pure returns (bytes memory)"
|
|
}
|
|
},
|
|
"id": 11612,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2475:53:54",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"src": "2465:63:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"id": 11614,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2465:63:54"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 11597,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 11595,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11592,
|
|
"src": "2443:1:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "<",
|
|
"rightExpression": {
|
|
"id": 11596,
|
|
"name": "len",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11587,
|
|
"src": "2447:3:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "2443:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 11616,
|
|
"initializationExpression": {
|
|
"assignments": [
|
|
11592
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 11592,
|
|
"mutability": "mutable",
|
|
"name": "i",
|
|
"nameLocation": "2436:1:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11616,
|
|
"src": "2428:9:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 11591,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2428:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 11594,
|
|
"initialValue": {
|
|
"hexValue": "30",
|
|
"id": 11593,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2440:1:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "2428:13:54"
|
|
},
|
|
"loopExpression": {
|
|
"expression": {
|
|
"id": 11599,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "UnaryOperation",
|
|
"operator": "++",
|
|
"prefix": true,
|
|
"src": "2452:3:54",
|
|
"subExpression": {
|
|
"id": 11598,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11592,
|
|
"src": "2454:1:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 11600,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2452:3:54"
|
|
},
|
|
"nodeType": "ForStatement",
|
|
"src": "2423:112:54"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"id": 11618,
|
|
"name": "encoded",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11577,
|
|
"src": "2557:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 11617,
|
|
"name": "keccak256",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4294967288,
|
|
"src": "2547:9:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
|
|
"typeString": "function (bytes memory) pure returns (bytes32)"
|
|
}
|
|
},
|
|
"id": 11619,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2547:18:54",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"functionReturnParameters": 11575,
|
|
"id": 11620,
|
|
"nodeType": "Return",
|
|
"src": "2540:25:54"
|
|
}
|
|
]
|
|
},
|
|
"functionSelector": "79578cc8",
|
|
"id": 11622,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "getMessageHash",
|
|
"nameLocation": "2125:14:54",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 11572,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 11562,
|
|
"mutability": "mutable",
|
|
"name": "_eventId",
|
|
"nameLocation": "2153:8:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11622,
|
|
"src": "2145:16:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 11561,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2145:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 11564,
|
|
"mutability": "mutable",
|
|
"name": "_user",
|
|
"nameLocation": "2175:5:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11622,
|
|
"src": "2167:13:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 11563,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2167:7:54",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 11566,
|
|
"mutability": "mutable",
|
|
"name": "_startTime",
|
|
"nameLocation": "2194:10:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11622,
|
|
"src": "2186:18:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 11565,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2186:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 11568,
|
|
"mutability": "mutable",
|
|
"name": "_saltNonce",
|
|
"nameLocation": "2218:10:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11622,
|
|
"src": "2210:18:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 11567,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2210:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 11571,
|
|
"mutability": "mutable",
|
|
"name": "_tokenIds",
|
|
"nameLocation": "2251:9:54",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11622,
|
|
"src": "2234:26:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "memory",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
|
|
"typeString": "uint256[]"
|
|
},
|
|
"typeName": {
|
|
"baseType": {
|
|
"id": 11569,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2234:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 11570,
|
|
"nodeType": "ArrayTypeName",
|
|
"src": "2234:9:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
|
|
"typeString": "uint256[]"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2139:125:54"
|
|
},
|
|
"returnParameters": {
|
|
"id": 11575,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 11574,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 11622,
|
|
"src": "2286:7:54",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 11573,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2286:7:54",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2285:9:54"
|
|
},
|
|
"scope": 11623,
|
|
"src": "2116:454:54",
|
|
"stateMutability": "pure",
|
|
"virtual": false,
|
|
"visibility": "public"
|
|
}
|
|
],
|
|
"scope": 11624,
|
|
"src": "423:2149:54",
|
|
"usedErrors": []
|
|
}
|
|
],
|
|
"src": "32:2541:54"
|
|
},
|
|
"compiler": {
|
|
"name": "solc",
|
|
"version": "0.8.10+commit.fc410830.Emscripten.clang"
|
|
},
|
|
"networks": {},
|
|
"schemaVersion": "3.4.4",
|
|
"updatedAt": "2023-12-01T09:03:16.575Z",
|
|
"devdoc": {
|
|
"kind": "dev",
|
|
"methods": {
|
|
"approve(address,uint256)": {
|
|
"details": "Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event."
|
|
},
|
|
"balanceOf(address)": {
|
|
"details": "Returns the number of tokens in ``owner``'s account."
|
|
},
|
|
"getApproved(uint256)": {
|
|
"details": "Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist."
|
|
},
|
|
"isApprovedForAll(address,address)": {
|
|
"details": "Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}"
|
|
},
|
|
"ownerOf(uint256)": {
|
|
"details": "Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist."
|
|
},
|
|
"safeTransferFrom(address,address,uint256)": {
|
|
"details": "Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event."
|
|
},
|
|
"safeTransferFrom(address,address,uint256,bytes)": {
|
|
"details": "Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event."
|
|
},
|
|
"setApprovalForAll(address,bool)": {
|
|
"details": "Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event."
|
|
},
|
|
"supportsInterface(bytes4)": {
|
|
"details": "Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas."
|
|
},
|
|
"transferFrom(address,address,uint256)": {
|
|
"details": "Transfers `tokenId` token from `from` to `to`. WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event."
|
|
}
|
|
},
|
|
"version": 1
|
|
},
|
|
"userdoc": {
|
|
"kind": "user",
|
|
"methods": {},
|
|
"version": 1
|
|
}
|
|
} |