From 37240228fcedec62cc0c4acca89d5ae11ca8cd14 Mon Sep 17 00:00:00 2001 From: zhl Date: Mon, 17 Jan 2022 19:00:25 +0800 Subject: [PATCH] change allow public evolve to update --- build/contracts/BEBoxMall.json | 26 +- build/contracts/BEChip.json | 6 +- build/contracts/BECoin.json | 6 +- build/contracts/BEEquipment.json | 6 +- build/contracts/BEHero.json | 6 +- build/contracts/EvolveProxy.json | 1754 ++++++++++++++++---------- build/contracts/IBurnableERC721.json | 1742 +++++++++++++++---------- build/contracts/MarketPlace.json | 6 +- build/contracts/Migrations.json | 6 +- build/contracts/MinterFactory.json | 6 +- contracts/EvolveProxy.sol | 6 +- 11 files changed, 2161 insertions(+), 1409 deletions(-) diff --git a/build/contracts/BEBoxMall.json b/build/contracts/BEBoxMall.json index 098af9c..706b114 100644 --- a/build/contracts/BEBoxMall.json +++ b/build/contracts/BEBoxMall.json @@ -15109,7 +15109,7 @@ 1508 ], "HasSignature": [ - 1998 + 2010 ], "IERC20": [ 256 @@ -15182,7 +15182,7 @@ "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 1715, - "sourceUnit": 1999, + "sourceUnit": 2011, "src": "233:28:10", "symbolAliases": [], "unitAlias": "" @@ -15207,7 +15207,7 @@ "id": 1529, "name": "HasSignature", "nodeType": "IdentifierPath", - "referencedDeclaration": 1998, + "referencedDeclaration": 2010, "src": "294:12:10" }, "id": 1530, @@ -15222,7 +15222,7 @@ "id": 1714, "linearizedBaseContracts": [ 1714, - 1998, + 2010, 104, 915 ], @@ -16273,7 +16273,7 @@ "name": "checkSigner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1997, + "referencedDeclaration": 2009, "src": "1672:11:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$__$", @@ -17718,7 +17718,7 @@ 1508 ], "HasSignature": [ - 1998 + 2010 ], "IERC20": [ 256 @@ -17791,7 +17791,7 @@ "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 1715, - "sourceUnit": 1999, + "sourceUnit": 2011, "src": "233:28:10", "symbolAliases": [], "unitAlias": "" @@ -17816,7 +17816,7 @@ "id": 1529, "name": "HasSignature", "nodeType": "IdentifierPath", - "referencedDeclaration": 1998, + "referencedDeclaration": 2010, "src": "294:12:10" }, "id": 1530, @@ -17831,7 +17831,7 @@ "id": 1714, "linearizedBaseContracts": [ 1714, - 1998, + 2010, 104, 915 ], @@ -18882,7 +18882,7 @@ "name": "checkSigner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1997, + "referencedDeclaration": 2009, "src": "1672:11:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$__$", @@ -20376,12 +20376,12 @@ } }, "links": {}, - "address": "0xfc74976db6972E0D338C7495fB4a1C49A748D375", - "transactionHash": "0x0a32ac918a3e7401ac37f1741f76fab739190fc19e079d621ee1371771a02775" + "address": "0x46Af8E31d02E6BB20335070d14004935e3AeF1A8", + "transactionHash": "0xe346859101fee94a3ddcdd6c0681b804623f9fcb16cafef8fdc9eee6e223ee1f" } }, "schemaVersion": "3.4.4", - "updatedAt": "2022-01-17T08:25:53.101Z", + "updatedAt": "2022-01-17T08:46:52.541Z", "networkType": "ethereum", "devdoc": { "kind": "dev", diff --git a/build/contracts/BEChip.json b/build/contracts/BEChip.json index a2d32a3..8a86290 100644 --- a/build/contracts/BEChip.json +++ b/build/contracts/BEChip.json @@ -23898,12 +23898,12 @@ } }, "links": {}, - "address": "0x4BF5304F85cE3D291b5d444F945e73CCe05a7735", - "transactionHash": "0x3a8a1d75467022e9eae6e2511495f28541dca0ece79298db84c9c946e7473136" + "address": "0x328B2A164EA88A647e8aF172e0f4BCEA6e3705fD", + "transactionHash": "0xfb260f8732c62952a6649cd177818d258f27756a4c8f7c2e7c295b23a62e9c6a" } }, "schemaVersion": "3.4.4", - "updatedAt": "2022-01-17T08:25:53.051Z", + "updatedAt": "2022-01-17T08:46:52.492Z", "networkType": "ethereum", "devdoc": { "kind": "dev", diff --git a/build/contracts/BECoin.json b/build/contracts/BECoin.json index d05a05a..c4df7f8 100644 --- a/build/contracts/BECoin.json +++ b/build/contracts/BECoin.json @@ -18080,12 +18080,12 @@ } }, "links": {}, - "address": "0x74cEf89Add624B17015d685B2b348Bb342D47De6", - "transactionHash": "0x75cc240d26a0b1514add3be75cd45a780024761c1bbde67d5a27929d023c42d1" + "address": "0xA4A3Ed4Fc11300EEd87A0d62a966321F3751B317", + "transactionHash": "0x6369a8c2aa27fcf6e30fa28f9a3ad593627bd70119c9a6f5723a4c0fde4a303e" } }, "schemaVersion": "3.4.4", - "updatedAt": "2022-01-17T08:25:53.090Z", + "updatedAt": "2022-01-17T08:46:52.529Z", "networkType": "ethereum", "devdoc": { "kind": "dev", diff --git a/build/contracts/BEEquipment.json b/build/contracts/BEEquipment.json index 9274aa0..4bf860e 100644 --- a/build/contracts/BEEquipment.json +++ b/build/contracts/BEEquipment.json @@ -23898,12 +23898,12 @@ } }, "links": {}, - "address": "0x96D2D8C439d0a48C6bDB38bb017E989572C68Cc9", - "transactionHash": "0x17a91183a73eb0af7247e5c9bb418304da1440aa73a12ae2080bf70d159004bf" + "address": "0xf4D675AABdCa98eC15d1A2c7217CF1bAEa89940b", + "transactionHash": "0x063e2a1b649f42f1aae8e692fa4f5a8976bfa9b83063805bc514e3bd9c0bbbe2" } }, "schemaVersion": "3.4.4", - "updatedAt": "2022-01-17T08:25:53.036Z", + "updatedAt": "2022-01-17T08:46:52.478Z", "networkType": "ethereum", "devdoc": { "kind": "dev", diff --git a/build/contracts/BEHero.json b/build/contracts/BEHero.json index 157d55e..22108bc 100644 --- a/build/contracts/BEHero.json +++ b/build/contracts/BEHero.json @@ -23904,12 +23904,12 @@ } }, "links": {}, - "address": "0x0C4EF120a11D2F5BC19e1C38238A366dacBb77Ff", - "transactionHash": "0x69aa3671746f802a46bfc1266eb41b3a34afba137d8b1fa6e4698adba05a60d2" + "address": "0xce808dfc7AB9C56e5a3485377bfa8163Bd61efFf", + "transactionHash": "0xa997482f220821f19d798013071a8b29615297faea1c4c61719b2ea87004af70" } }, "schemaVersion": "3.4.4", - "updatedAt": "2022-01-17T08:25:53.020Z", + "updatedAt": "2022-01-17T08:46:52.464Z", "networkType": "ethereum", "devdoc": { "kind": "dev", diff --git a/build/contracts/EvolveProxy.json b/build/contracts/EvolveProxy.json index eb47950..100e2c3 100644 --- a/build/contracts/EvolveProxy.json +++ b/build/contracts/EvolveProxy.json @@ -204,9 +204,9 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenEvolved\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokenBurned\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"chip\",\"type\":\"uint256\"}],\"name\":\"TokenEvolved\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"allowPublicEvolve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"chip\",\"outputs\":[{\"internalType\":\"contract IBurnableERC721\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"equip\",\"outputs\":[{\"internalType\":\"contract IBurnableERC721\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256[3]\",\"name\":\"tokenIds\",\"type\":\"uint256[3]\"}],\"name\":\"evolveEquip\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256[3]\",\"name\":\"tokenIds\",\"type\":\"uint256[3]\"}],\"name\":\"evolveHero\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"hero\",\"outputs\":[{\"internalType\":\"contract IBurnableERC721\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[3]\",\"name\":\"_erc721s\",\"type\":\"address[3]\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"publicEvolveAllowed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"allowPublicEvolve()\":{\"details\":\"function to allow user evolve items\"},\"evolveEquip(address,uint256[3])\":{\"details\":\"evolve function to Blissful Elites Equip NFT tokenIds: [equip_to_evolve, equip_for_burn, chip]\"},\"evolveHero(address,uint256[3])\":{\"details\":\"evolve function to Blissful Elites Hero NFT tokenIds: [hero_to_evolve, hero_for_burn, chip]\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/EvolveProxy.sol\":\"EvolveProxy\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0x24e0364e503a9bbde94c715d26573a76f14cd2a202d45f96f52134ab806b67b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12cbaa7378fd9b62280e4e1d164bedcb4399ce238f5f98fc0eefb7e50577981\",\"dweb:/ipfs/QmXRoFGUgfsaRkoPT5bxNMtSayKTQ8GZATLPXf69HcRA51\"]},\"@openzeppelin/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x94dd781aa290742d990ccb720b3cab52a3865d1ba004e35c1dc757aa3ee788e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d762e5eb6f74a6228a744b0261fb2dda4e2c8a214206ca67a443c06feb16ce2\",\"dweb:/ipfs/QmU85d56LUBCQ5j24hVf3WJ2uwjNoyLJr8ZYyDXWKmJGpU\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x516a22876c1fab47f49b1bc22b4614491cd05338af8bd2e7b382da090a079990\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a439187f7126d31add4557f82d8aed6be0162007cd7182c48fd934dbab8f3849\",\"dweb:/ipfs/QmRPLguRFvrRJS7r6F1bcLvsx6q1VrgjEpZafyeL8D7xZh\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x51b758a8815ecc9596c66c37d56b1d33883a444631a3f916b9fe65cb863ef7c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://997ca03557985b3c6f9143a18b6c3a710b3bc1c7f189ee956d305a966ecfb922\",\"dweb:/ipfs/QmQaD3Wb62F88SHqmpLttvF6wKuPDQep2LLUcKPekeRzvz\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"project:/contracts/EvolveProxy.sol\":{\"keccak256\":\"0xde1dd5725a26e7958192f9534b2d23a9f21c694cf42277c400335d73e304fb91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b18eb07ff48be1c46be499584335606f3e8338a1273a07fb1ea4e2496165c31a\",\"dweb:/ipfs/QmZdCr4by1FCsHu9mtTxyREzJFv6GUj5wVFgzccZQ3nrNS\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b5061002d61002261003260201b60201c565b61003a60201b60201c565b6100fe565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61157a8061010d6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80638da5cb5b116100715780638da5cb5b1461012e5780639cad50d91461014c578063a592533614610168578063b61500e414610184578063db529ad5146101a2578063f2fde38b146101ac576100a9565b806358a79d73146100ae578063715018a6146100cc5780637f513d5d146100d657806383c9aba6146100f45780638961054b14610112575b600080fd5b6100b66101c8565b6040516100c39190610fcb565b60405180910390f35b6100d46101ee565b005b6100de610276565b6040516100eb9190610fcb565b60405180910390f35b6100fc61029c565b6040516101099190611001565b60405180910390f35b61012c60048036038101906101279190611086565b6102af565b005b610136610649565b60405161014391906110d5565b60405180910390f35b61016660048036038101906101619190611112565b610672565b005b610182600480360381019061017d9190611086565b61090b565b005b61018c610ca5565b6040516101999190610fcb565b60405180910390f35b6101aa610ccb565b005b6101c660048036038101906101c1919061113f565b610d64565b005b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6101f6610e5c565b73ffffffffffffffffffffffffffffffffffffffff16610214610649565b73ffffffffffffffffffffffffffffffffffffffff161461026a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610261906111c9565b60405180910390fd5b6102746000610e64565b565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360149054906101000a900460ff1681565b600360149054906101000a900460ff168061030357506102cd610649565b73ffffffffffffffffffffffffffffffffffffffff166102eb610e5c565b73ffffffffffffffffffffffffffffffffffffffff16145b61030c57600080fd5b8173ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e83600060038110610375576103746111e9565b5b60200201356040518263ffffffff1660e01b81526004016103969190611231565b602060405180830381865afa1580156103b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103d79190611261565b73ffffffffffffffffffffffffffffffffffffffff161461042d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042490611300565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639dc29fac83836001600381106104805761047f6111e9565b5b60200201356040518363ffffffff1660e01b81526004016104a2929190611320565b600060405180830381600087803b1580156104bc57600080fd5b505af11580156104d0573d6000803e3d6000fd5b505050506000816002600381106104ea576104e96111e9565b5b6020020135111561059d57600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639dc29fac8383600260038110610548576105476111e9565b5b60200201356040518363ffffffff1660e01b815260040161056a929190611320565b600060405180830381600087803b15801561058457600080fd5b505af1158015610598573d6000803e3d6000fd5b505050505b806000600381106105b1576105b06111e9565b5b60200201357f6ff7763a38c6d416b693f0297741e56ac65d97a30c18863826c8eb7b2701b982600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848460016003811061060f5761060e6111e9565b5b602002013585600260038110610628576106276111e9565b5b602002013560405161063d9493929190611349565b60405180910390a25050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600060159054906101000a900460ff1661069c57600060149054906101000a900460ff16156106a5565b6106a4610f28565b5b6106e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106db90611400565b60405180910390fd5b60008060159054906101000a900460ff161590508015610735576001600060156101000a81548160ff0219169083151502179055506001600060146101000a81548160ff0219169083151502179055505b61073d610e5c565b73ffffffffffffffffffffffffffffffffffffffff1661075b610649565b73ffffffffffffffffffffffffffffffffffffffff16146107b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a8906111c9565b60405180910390fd5b816000600381106107c5576107c46111e9565b5b6020020160208101906107d8919061113f565b600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160016003811061082c5761082b6111e9565b5b60200201602081019061083f919061113f565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600260038110610893576108926111e9565b5b6020020160208101906108a6919061113f565b600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080156109075760008060156101000a81548160ff0219169083151502179055505b5050565b600360149054906101000a900460ff168061095f5750610929610649565b73ffffffffffffffffffffffffffffffffffffffff16610947610e5c565b73ffffffffffffffffffffffffffffffffffffffff16145b61096857600080fd5b8173ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e836000600381106109d1576109d06111e9565b5b60200201356040518263ffffffff1660e01b81526004016109f29190611231565b602060405180830381865afa158015610a0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a339190611261565b73ffffffffffffffffffffffffffffffffffffffff1614610a89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8090611492565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639dc29fac8383600160038110610adc57610adb6111e9565b5b60200201356040518363ffffffff1660e01b8152600401610afe929190611320565b600060405180830381600087803b158015610b1857600080fd5b505af1158015610b2c573d6000803e3d6000fd5b50505050600081600260038110610b4657610b456111e9565b5b60200201351115610bf957600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639dc29fac8383600260038110610ba457610ba36111e9565b5b60200201356040518363ffffffff1660e01b8152600401610bc6929190611320565b600060405180830381600087803b158015610be057600080fd5b505af1158015610bf4573d6000803e3d6000fd5b505050505b80600060038110610c0d57610c0c6111e9565b5b60200201357f6ff7763a38c6d416b693f0297741e56ac65d97a30c18863826c8eb7b2701b982600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168484600160038110610c6b57610c6a6111e9565b5b602002013585600260038110610c8457610c836111e9565b5b6020020135604051610c999493929190611349565b60405180910390a25050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610cd3610e5c565b73ffffffffffffffffffffffffffffffffffffffff16610cf1610649565b73ffffffffffffffffffffffffffffffffffffffff1614610d47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3e906111c9565b60405180910390fd5b6001600360146101000a81548160ff021916908315150217905550565b610d6c610e5c565b73ffffffffffffffffffffffffffffffffffffffff16610d8a610649565b73ffffffffffffffffffffffffffffffffffffffff1614610de0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd7906111c9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610e50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4790611524565b60405180910390fd5b610e5981610e64565b50565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000610f3330610f39565b15905090565b600080823b905060008111915050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610f91610f8c610f8784610f4c565b610f6c565b610f4c565b9050919050565b6000610fa382610f76565b9050919050565b6000610fb582610f98565b9050919050565b610fc581610faa565b82525050565b6000602082019050610fe06000830184610fbc565b92915050565b60008115159050919050565b610ffb81610fe6565b82525050565b60006020820190506110166000830184610ff2565b92915050565b600080fd5b600061102c82610f4c565b9050919050565b61103c81611021565b811461104757600080fd5b50565b60008135905061105981611033565b92915050565b600080fd5b6000819050826020600302820111156110805761107f61105f565b5b92915050565b6000806080838503121561109d5761109c61101c565b5b60006110ab8582860161104a565b92505060206110bc85828601611064565b9150509250929050565b6110cf81611021565b82525050565b60006020820190506110ea60008301846110c6565b92915050565b60008190508260206003028201111561110c5761110b61105f565b5b92915050565b6000606082840312156111285761112761101c565b5b6000611136848285016110f0565b91505092915050565b6000602082840312156111555761115461101c565b5b60006111638482850161104a565b91505092915050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006111b360208361116c565b91506111be8261117d565b602082019050919050565b600060208201905081810360008301526111e2816111a6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b61122b81611218565b82525050565b60006020820190506112466000830184611222565b92915050565b60008151905061125b81611033565b92915050565b6000602082840312156112775761127661101c565b5b60006112858482850161124c565b91505092915050565b7f63757272656e742061646472657373206973206e6f74206f776e6572206f662060008201527f74686973206865726f206e6f7700000000000000000000000000000000000000602082015250565b60006112ea602d8361116c565b91506112f58261128e565b604082019050919050565b60006020820190508181036000830152611319816112dd565b9050919050565b600060408201905061133560008301856110c6565b6113426020830184611222565b9392505050565b600060808201905061135e60008301876110c6565b61136b60208301866110c6565b6113786040830185611222565b6113856060830184611222565b95945050505050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b60006113ea602e8361116c565b91506113f58261138e565b604082019050919050565b60006020820190508181036000830152611419816113dd565b9050919050565b7f63757272656e742061646472657373206973206e6f74206f776e6572206f662060008201527f746869732065717569706d656e74206e6f770000000000000000000000000000602082015250565b600061147c60328361116c565b915061148782611420565b604082019050919050565b600060208201905081810360008301526114ab8161146f565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061150e60268361116c565b9150611519826114b2565b604082019050919050565b6000602082019050818103600083015261153d81611501565b905091905056fea26469706673582212203e0a01db31ec50371ee131667d94dee75b65a8836ecff04b1f116d9f59ed4c1964736f6c634300080a0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80638da5cb5b116100715780638da5cb5b1461012e5780639cad50d91461014c578063a592533614610168578063b61500e414610184578063db529ad5146101a2578063f2fde38b146101ac576100a9565b806358a79d73146100ae578063715018a6146100cc5780637f513d5d146100d657806383c9aba6146100f45780638961054b14610112575b600080fd5b6100b66101c8565b6040516100c39190610fcb565b60405180910390f35b6100d46101ee565b005b6100de610276565b6040516100eb9190610fcb565b60405180910390f35b6100fc61029c565b6040516101099190611001565b60405180910390f35b61012c60048036038101906101279190611086565b6102af565b005b610136610649565b60405161014391906110d5565b60405180910390f35b61016660048036038101906101619190611112565b610672565b005b610182600480360381019061017d9190611086565b61090b565b005b61018c610ca5565b6040516101999190610fcb565b60405180910390f35b6101aa610ccb565b005b6101c660048036038101906101c1919061113f565b610d64565b005b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6101f6610e5c565b73ffffffffffffffffffffffffffffffffffffffff16610214610649565b73ffffffffffffffffffffffffffffffffffffffff161461026a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610261906111c9565b60405180910390fd5b6102746000610e64565b565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360149054906101000a900460ff1681565b600360149054906101000a900460ff168061030357506102cd610649565b73ffffffffffffffffffffffffffffffffffffffff166102eb610e5c565b73ffffffffffffffffffffffffffffffffffffffff16145b61030c57600080fd5b8173ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e83600060038110610375576103746111e9565b5b60200201356040518263ffffffff1660e01b81526004016103969190611231565b602060405180830381865afa1580156103b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103d79190611261565b73ffffffffffffffffffffffffffffffffffffffff161461042d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042490611300565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639dc29fac83836001600381106104805761047f6111e9565b5b60200201356040518363ffffffff1660e01b81526004016104a2929190611320565b600060405180830381600087803b1580156104bc57600080fd5b505af11580156104d0573d6000803e3d6000fd5b505050506000816002600381106104ea576104e96111e9565b5b6020020135111561059d57600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639dc29fac8383600260038110610548576105476111e9565b5b60200201356040518363ffffffff1660e01b815260040161056a929190611320565b600060405180830381600087803b15801561058457600080fd5b505af1158015610598573d6000803e3d6000fd5b505050505b806000600381106105b1576105b06111e9565b5b60200201357f6ff7763a38c6d416b693f0297741e56ac65d97a30c18863826c8eb7b2701b982600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848460016003811061060f5761060e6111e9565b5b602002013585600260038110610628576106276111e9565b5b602002013560405161063d9493929190611349565b60405180910390a25050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600060159054906101000a900460ff1661069c57600060149054906101000a900460ff16156106a5565b6106a4610f28565b5b6106e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106db90611400565b60405180910390fd5b60008060159054906101000a900460ff161590508015610735576001600060156101000a81548160ff0219169083151502179055506001600060146101000a81548160ff0219169083151502179055505b61073d610e5c565b73ffffffffffffffffffffffffffffffffffffffff1661075b610649565b73ffffffffffffffffffffffffffffffffffffffff16146107b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a8906111c9565b60405180910390fd5b816000600381106107c5576107c46111e9565b5b6020020160208101906107d8919061113f565b600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160016003811061082c5761082b6111e9565b5b60200201602081019061083f919061113f565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600260038110610893576108926111e9565b5b6020020160208101906108a6919061113f565b600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080156109075760008060156101000a81548160ff0219169083151502179055505b5050565b600360149054906101000a900460ff168061095f5750610929610649565b73ffffffffffffffffffffffffffffffffffffffff16610947610e5c565b73ffffffffffffffffffffffffffffffffffffffff16145b61096857600080fd5b8173ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e836000600381106109d1576109d06111e9565b5b60200201356040518263ffffffff1660e01b81526004016109f29190611231565b602060405180830381865afa158015610a0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a339190611261565b73ffffffffffffffffffffffffffffffffffffffff1614610a89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8090611492565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639dc29fac8383600160038110610adc57610adb6111e9565b5b60200201356040518363ffffffff1660e01b8152600401610afe929190611320565b600060405180830381600087803b158015610b1857600080fd5b505af1158015610b2c573d6000803e3d6000fd5b50505050600081600260038110610b4657610b456111e9565b5b60200201351115610bf957600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639dc29fac8383600260038110610ba457610ba36111e9565b5b60200201356040518363ffffffff1660e01b8152600401610bc6929190611320565b600060405180830381600087803b158015610be057600080fd5b505af1158015610bf4573d6000803e3d6000fd5b505050505b80600060038110610c0d57610c0c6111e9565b5b60200201357f6ff7763a38c6d416b693f0297741e56ac65d97a30c18863826c8eb7b2701b982600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168484600160038110610c6b57610c6a6111e9565b5b602002013585600260038110610c8457610c836111e9565b5b6020020135604051610c999493929190611349565b60405180910390a25050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610cd3610e5c565b73ffffffffffffffffffffffffffffffffffffffff16610cf1610649565b73ffffffffffffffffffffffffffffffffffffffff1614610d47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3e906111c9565b60405180910390fd5b6001600360146101000a81548160ff021916908315150217905550565b610d6c610e5c565b73ffffffffffffffffffffffffffffffffffffffff16610d8a610649565b73ffffffffffffffffffffffffffffffffffffffff1614610de0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd7906111c9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610e50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4790611524565b60405180910390fd5b610e5981610e64565b50565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000610f3330610f39565b15905090565b600080823b905060008111915050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610f91610f8c610f8784610f4c565b610f6c565b610f4c565b9050919050565b6000610fa382610f76565b9050919050565b6000610fb582610f98565b9050919050565b610fc581610faa565b82525050565b6000602082019050610fe06000830184610fbc565b92915050565b60008115159050919050565b610ffb81610fe6565b82525050565b60006020820190506110166000830184610ff2565b92915050565b600080fd5b600061102c82610f4c565b9050919050565b61103c81611021565b811461104757600080fd5b50565b60008135905061105981611033565b92915050565b600080fd5b6000819050826020600302820111156110805761107f61105f565b5b92915050565b6000806080838503121561109d5761109c61101c565b5b60006110ab8582860161104a565b92505060206110bc85828601611064565b9150509250929050565b6110cf81611021565b82525050565b60006020820190506110ea60008301846110c6565b92915050565b60008190508260206003028201111561110c5761110b61105f565b5b92915050565b6000606082840312156111285761112761101c565b5b6000611136848285016110f0565b91505092915050565b6000602082840312156111555761115461101c565b5b60006111638482850161104a565b91505092915050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006111b360208361116c565b91506111be8261117d565b602082019050919050565b600060208201905081810360008301526111e2816111a6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b61122b81611218565b82525050565b60006020820190506112466000830184611222565b92915050565b60008151905061125b81611033565b92915050565b6000602082840312156112775761127661101c565b5b60006112858482850161124c565b91505092915050565b7f63757272656e742061646472657373206973206e6f74206f776e6572206f662060008201527f74686973206865726f206e6f7700000000000000000000000000000000000000602082015250565b60006112ea602d8361116c565b91506112f58261128e565b604082019050919050565b60006020820190508181036000830152611319816112dd565b9050919050565b600060408201905061133560008301856110c6565b6113426020830184611222565b9392505050565b600060808201905061135e60008301876110c6565b61136b60208301866110c6565b6113786040830185611222565b6113856060830184611222565b95945050505050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b60006113ea602e8361116c565b91506113f58261138e565b604082019050919050565b60006020820190508181036000830152611419816113dd565b9050919050565b7f63757272656e742061646472657373206973206e6f74206f776e6572206f662060008201527f746869732065717569706d656e74206e6f770000000000000000000000000000602082015250565b600061147c60328361116c565b915061148782611420565b604082019050919050565b600060208201905081810360008301526114ab8161146f565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061150e60268361116c565b9150611519826114b2565b604082019050919050565b6000602082019050818103600083015261153d81611501565b905091905056fea26469706673582212203e0a01db31ec50371ee131667d94dee75b65a8836ecff04b1f116d9f59ed4c1964736f6c634300080a0033", + "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenEvolved\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokenBurned\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"chip\",\"type\":\"uint256\"}],\"name\":\"TokenEvolved\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"allowPublicEvolve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"chip\",\"outputs\":[{\"internalType\":\"contract IBurnableERC721\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"equip\",\"outputs\":[{\"internalType\":\"contract IBurnableERC721\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256[3]\",\"name\":\"tokenIds\",\"type\":\"uint256[3]\"}],\"name\":\"evolveEquip\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256[3]\",\"name\":\"tokenIds\",\"type\":\"uint256[3]\"}],\"name\":\"evolveHero\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"hero\",\"outputs\":[{\"internalType\":\"contract IBurnableERC721\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[3]\",\"name\":\"_erc721s\",\"type\":\"address[3]\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"publicEvolveAllowed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"allowPublicEvolve()\":{\"details\":\"function to allow user evolve items\"},\"evolveEquip(address,uint256[3])\":{\"details\":\"evolve function to Blissful Elites Equip NFT tokenIds: [equip_to_evolve, equip_for_burn, chip]\"},\"evolveHero(address,uint256[3])\":{\"details\":\"evolve function to Blissful Elites Hero NFT tokenIds: [hero_to_evolve, hero_for_burn, chip]\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/EvolveProxy.sol\":\"EvolveProxy\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0x24e0364e503a9bbde94c715d26573a76f14cd2a202d45f96f52134ab806b67b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12cbaa7378fd9b62280e4e1d164bedcb4399ce238f5f98fc0eefb7e50577981\",\"dweb:/ipfs/QmXRoFGUgfsaRkoPT5bxNMtSayKTQ8GZATLPXf69HcRA51\"]},\"@openzeppelin/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x94dd781aa290742d990ccb720b3cab52a3865d1ba004e35c1dc757aa3ee788e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d762e5eb6f74a6228a744b0261fb2dda4e2c8a214206ca67a443c06feb16ce2\",\"dweb:/ipfs/QmU85d56LUBCQ5j24hVf3WJ2uwjNoyLJr8ZYyDXWKmJGpU\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x516a22876c1fab47f49b1bc22b4614491cd05338af8bd2e7b382da090a079990\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a439187f7126d31add4557f82d8aed6be0162007cd7182c48fd934dbab8f3849\",\"dweb:/ipfs/QmRPLguRFvrRJS7r6F1bcLvsx6q1VrgjEpZafyeL8D7xZh\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x51b758a8815ecc9596c66c37d56b1d33883a444631a3f916b9fe65cb863ef7c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://997ca03557985b3c6f9143a18b6c3a710b3bc1c7f189ee956d305a966ecfb922\",\"dweb:/ipfs/QmQaD3Wb62F88SHqmpLttvF6wKuPDQep2LLUcKPekeRzvz\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"project:/contracts/EvolveProxy.sol\":{\"keccak256\":\"0x089500dad812b41e4bcdd1d4a9513405974b23c73915469423581192356aacfe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://64b97ad7e7b5360e21cdda640b34426392238d275dbaf198aeae1e796b4b02b5\",\"dweb:/ipfs/Qma84TC2eX74bKpmStzb8E5gEADvQzeTyvQLn9jhKVyyPG\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b5061002d61002261003260201b60201c565b61003a60201b60201c565b6100fe565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6115f68061010d6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80638da5cb5b116100715780638da5cb5b1461012e5780639cad50d91461014c578063a592533614610168578063b61500e414610184578063db529ad5146101a2578063f2fde38b146101ac576100a9565b806358a79d73146100ae578063715018a6146100cc5780637f513d5d146100d657806383c9aba6146100f45780638961054b14610112575b600080fd5b6100b66101c8565b6040516100c39190611047565b60405180910390f35b6100d46101ee565b005b6100de610276565b6040516100eb9190611047565b60405180910390f35b6100fc61029c565b604051610109919061107d565b60405180910390f35b61012c60048036038101906101279190611102565b6102af565b005b610136610687565b6040516101439190611151565b60405180910390f35b6101666004803603810190610161919061118e565b6106b0565b005b610182600480360381019061017d9190611102565b610949565b005b61018c610d21565b6040516101999190611047565b60405180910390f35b6101aa610d47565b005b6101c660048036038101906101c191906111bb565b610de0565b005b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6101f6610ed8565b73ffffffffffffffffffffffffffffffffffffffff16610214610687565b73ffffffffffffffffffffffffffffffffffffffff161461026a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161026190611245565b60405180910390fd5b6102746000610ee0565b565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360149054906101000a900460ff1681565b600360149054906101000a900460ff1680156102fd57508173ffffffffffffffffffffffffffffffffffffffff166102e5610ed8565b73ffffffffffffffffffffffffffffffffffffffff16145b80610341575061030b610687565b73ffffffffffffffffffffffffffffffffffffffff16610329610ed8565b73ffffffffffffffffffffffffffffffffffffffff16145b61034a57600080fd5b8173ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e836000600381106103b3576103b2611265565b5b60200201356040518263ffffffff1660e01b81526004016103d491906112ad565b602060405180830381865afa1580156103f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061041591906112dd565b73ffffffffffffffffffffffffffffffffffffffff161461046b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104629061137c565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639dc29fac83836001600381106104be576104bd611265565b5b60200201356040518363ffffffff1660e01b81526004016104e092919061139c565b600060405180830381600087803b1580156104fa57600080fd5b505af115801561050e573d6000803e3d6000fd5b5050505060008160026003811061052857610527611265565b5b602002013511156105db57600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639dc29fac838360026003811061058657610585611265565b5b60200201356040518363ffffffff1660e01b81526004016105a892919061139c565b600060405180830381600087803b1580156105c257600080fd5b505af11580156105d6573d6000803e3d6000fd5b505050505b806000600381106105ef576105ee611265565b5b60200201357f6ff7763a38c6d416b693f0297741e56ac65d97a30c18863826c8eb7b2701b982600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848460016003811061064d5761064c611265565b5b60200201358560026003811061066657610665611265565b5b602002013560405161067b94939291906113c5565b60405180910390a25050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600060159054906101000a900460ff166106da57600060149054906101000a900460ff16156106e3565b6106e2610fa4565b5b610722576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107199061147c565b60405180910390fd5b60008060159054906101000a900460ff161590508015610773576001600060156101000a81548160ff0219169083151502179055506001600060146101000a81548160ff0219169083151502179055505b61077b610ed8565b73ffffffffffffffffffffffffffffffffffffffff16610799610687565b73ffffffffffffffffffffffffffffffffffffffff16146107ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e690611245565b60405180910390fd5b8160006003811061080357610802611265565b5b60200201602081019061081691906111bb565b600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160016003811061086a57610869611265565b5b60200201602081019061087d91906111bb565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816002600381106108d1576108d0611265565b5b6020020160208101906108e491906111bb565b600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080156109455760008060156101000a81548160ff0219169083151502179055505b5050565b600360149054906101000a900460ff16801561099757508173ffffffffffffffffffffffffffffffffffffffff1661097f610ed8565b73ffffffffffffffffffffffffffffffffffffffff16145b806109db57506109a5610687565b73ffffffffffffffffffffffffffffffffffffffff166109c3610ed8565b73ffffffffffffffffffffffffffffffffffffffff16145b6109e457600080fd5b8173ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e83600060038110610a4d57610a4c611265565b5b60200201356040518263ffffffff1660e01b8152600401610a6e91906112ad565b602060405180830381865afa158015610a8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aaf91906112dd565b73ffffffffffffffffffffffffffffffffffffffff1614610b05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610afc9061150e565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639dc29fac8383600160038110610b5857610b57611265565b5b60200201356040518363ffffffff1660e01b8152600401610b7a92919061139c565b600060405180830381600087803b158015610b9457600080fd5b505af1158015610ba8573d6000803e3d6000fd5b50505050600081600260038110610bc257610bc1611265565b5b60200201351115610c7557600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639dc29fac8383600260038110610c2057610c1f611265565b5b60200201356040518363ffffffff1660e01b8152600401610c4292919061139c565b600060405180830381600087803b158015610c5c57600080fd5b505af1158015610c70573d6000803e3d6000fd5b505050505b80600060038110610c8957610c88611265565b5b60200201357f6ff7763a38c6d416b693f0297741e56ac65d97a30c18863826c8eb7b2701b982600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168484600160038110610ce757610ce6611265565b5b602002013585600260038110610d0057610cff611265565b5b6020020135604051610d1594939291906113c5565b60405180910390a25050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610d4f610ed8565b73ffffffffffffffffffffffffffffffffffffffff16610d6d610687565b73ffffffffffffffffffffffffffffffffffffffff1614610dc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dba90611245565b60405180910390fd5b6001600360146101000a81548160ff021916908315150217905550565b610de8610ed8565b73ffffffffffffffffffffffffffffffffffffffff16610e06610687565b73ffffffffffffffffffffffffffffffffffffffff1614610e5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5390611245565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610ecc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec3906115a0565b60405180910390fd5b610ed581610ee0565b50565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000610faf30610fb5565b15905090565b600080823b905060008111915050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061100d61100861100384610fc8565b610fe8565b610fc8565b9050919050565b600061101f82610ff2565b9050919050565b600061103182611014565b9050919050565b61104181611026565b82525050565b600060208201905061105c6000830184611038565b92915050565b60008115159050919050565b61107781611062565b82525050565b6000602082019050611092600083018461106e565b92915050565b600080fd5b60006110a882610fc8565b9050919050565b6110b88161109d565b81146110c357600080fd5b50565b6000813590506110d5816110af565b92915050565b600080fd5b6000819050826020600302820111156110fc576110fb6110db565b5b92915050565b6000806080838503121561111957611118611098565b5b6000611127858286016110c6565b9250506020611138858286016110e0565b9150509250929050565b61114b8161109d565b82525050565b60006020820190506111666000830184611142565b92915050565b600081905082602060030282011115611188576111876110db565b5b92915050565b6000606082840312156111a4576111a3611098565b5b60006111b28482850161116c565b91505092915050565b6000602082840312156111d1576111d0611098565b5b60006111df848285016110c6565b91505092915050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061122f6020836111e8565b915061123a826111f9565b602082019050919050565b6000602082019050818103600083015261125e81611222565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b6112a781611294565b82525050565b60006020820190506112c2600083018461129e565b92915050565b6000815190506112d7816110af565b92915050565b6000602082840312156112f3576112f2611098565b5b6000611301848285016112c8565b91505092915050565b7f63757272656e742061646472657373206973206e6f74206f776e6572206f662060008201527f74686973206865726f206e6f7700000000000000000000000000000000000000602082015250565b6000611366602d836111e8565b91506113718261130a565b604082019050919050565b6000602082019050818103600083015261139581611359565b9050919050565b60006040820190506113b16000830185611142565b6113be602083018461129e565b9392505050565b60006080820190506113da6000830187611142565b6113e76020830186611142565b6113f4604083018561129e565b611401606083018461129e565b95945050505050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b6000611466602e836111e8565b91506114718261140a565b604082019050919050565b6000602082019050818103600083015261149581611459565b9050919050565b7f63757272656e742061646472657373206973206e6f74206f776e6572206f662060008201527f746869732065717569706d656e74206e6f770000000000000000000000000000602082015250565b60006114f86032836111e8565b91506115038261149c565b604082019050919050565b60006020820190508181036000830152611527816114eb565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061158a6026836111e8565b91506115958261152e565b604082019050919050565b600060208201905081810360008301526115b98161157d565b905091905056fea2646970667358221220103f9557914a5d06c400e0a0edb09be337021c19a215e5c2be97b89751f6a0b364736f6c634300080a0033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80638da5cb5b116100715780638da5cb5b1461012e5780639cad50d91461014c578063a592533614610168578063b61500e414610184578063db529ad5146101a2578063f2fde38b146101ac576100a9565b806358a79d73146100ae578063715018a6146100cc5780637f513d5d146100d657806383c9aba6146100f45780638961054b14610112575b600080fd5b6100b66101c8565b6040516100c39190611047565b60405180910390f35b6100d46101ee565b005b6100de610276565b6040516100eb9190611047565b60405180910390f35b6100fc61029c565b604051610109919061107d565b60405180910390f35b61012c60048036038101906101279190611102565b6102af565b005b610136610687565b6040516101439190611151565b60405180910390f35b6101666004803603810190610161919061118e565b6106b0565b005b610182600480360381019061017d9190611102565b610949565b005b61018c610d21565b6040516101999190611047565b60405180910390f35b6101aa610d47565b005b6101c660048036038101906101c191906111bb565b610de0565b005b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6101f6610ed8565b73ffffffffffffffffffffffffffffffffffffffff16610214610687565b73ffffffffffffffffffffffffffffffffffffffff161461026a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161026190611245565b60405180910390fd5b6102746000610ee0565b565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360149054906101000a900460ff1681565b600360149054906101000a900460ff1680156102fd57508173ffffffffffffffffffffffffffffffffffffffff166102e5610ed8565b73ffffffffffffffffffffffffffffffffffffffff16145b80610341575061030b610687565b73ffffffffffffffffffffffffffffffffffffffff16610329610ed8565b73ffffffffffffffffffffffffffffffffffffffff16145b61034a57600080fd5b8173ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e836000600381106103b3576103b2611265565b5b60200201356040518263ffffffff1660e01b81526004016103d491906112ad565b602060405180830381865afa1580156103f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061041591906112dd565b73ffffffffffffffffffffffffffffffffffffffff161461046b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104629061137c565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639dc29fac83836001600381106104be576104bd611265565b5b60200201356040518363ffffffff1660e01b81526004016104e092919061139c565b600060405180830381600087803b1580156104fa57600080fd5b505af115801561050e573d6000803e3d6000fd5b5050505060008160026003811061052857610527611265565b5b602002013511156105db57600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639dc29fac838360026003811061058657610585611265565b5b60200201356040518363ffffffff1660e01b81526004016105a892919061139c565b600060405180830381600087803b1580156105c257600080fd5b505af11580156105d6573d6000803e3d6000fd5b505050505b806000600381106105ef576105ee611265565b5b60200201357f6ff7763a38c6d416b693f0297741e56ac65d97a30c18863826c8eb7b2701b982600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848460016003811061064d5761064c611265565b5b60200201358560026003811061066657610665611265565b5b602002013560405161067b94939291906113c5565b60405180910390a25050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600060159054906101000a900460ff166106da57600060149054906101000a900460ff16156106e3565b6106e2610fa4565b5b610722576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107199061147c565b60405180910390fd5b60008060159054906101000a900460ff161590508015610773576001600060156101000a81548160ff0219169083151502179055506001600060146101000a81548160ff0219169083151502179055505b61077b610ed8565b73ffffffffffffffffffffffffffffffffffffffff16610799610687565b73ffffffffffffffffffffffffffffffffffffffff16146107ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e690611245565b60405180910390fd5b8160006003811061080357610802611265565b5b60200201602081019061081691906111bb565b600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160016003811061086a57610869611265565b5b60200201602081019061087d91906111bb565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816002600381106108d1576108d0611265565b5b6020020160208101906108e491906111bb565b600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080156109455760008060156101000a81548160ff0219169083151502179055505b5050565b600360149054906101000a900460ff16801561099757508173ffffffffffffffffffffffffffffffffffffffff1661097f610ed8565b73ffffffffffffffffffffffffffffffffffffffff16145b806109db57506109a5610687565b73ffffffffffffffffffffffffffffffffffffffff166109c3610ed8565b73ffffffffffffffffffffffffffffffffffffffff16145b6109e457600080fd5b8173ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e83600060038110610a4d57610a4c611265565b5b60200201356040518263ffffffff1660e01b8152600401610a6e91906112ad565b602060405180830381865afa158015610a8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aaf91906112dd565b73ffffffffffffffffffffffffffffffffffffffff1614610b05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610afc9061150e565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639dc29fac8383600160038110610b5857610b57611265565b5b60200201356040518363ffffffff1660e01b8152600401610b7a92919061139c565b600060405180830381600087803b158015610b9457600080fd5b505af1158015610ba8573d6000803e3d6000fd5b50505050600081600260038110610bc257610bc1611265565b5b60200201351115610c7557600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639dc29fac8383600260038110610c2057610c1f611265565b5b60200201356040518363ffffffff1660e01b8152600401610c4292919061139c565b600060405180830381600087803b158015610c5c57600080fd5b505af1158015610c70573d6000803e3d6000fd5b505050505b80600060038110610c8957610c88611265565b5b60200201357f6ff7763a38c6d416b693f0297741e56ac65d97a30c18863826c8eb7b2701b982600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168484600160038110610ce757610ce6611265565b5b602002013585600260038110610d0057610cff611265565b5b6020020135604051610d1594939291906113c5565b60405180910390a25050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610d4f610ed8565b73ffffffffffffffffffffffffffffffffffffffff16610d6d610687565b73ffffffffffffffffffffffffffffffffffffffff1614610dc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dba90611245565b60405180910390fd5b6001600360146101000a81548160ff021916908315150217905550565b610de8610ed8565b73ffffffffffffffffffffffffffffffffffffffff16610e06610687565b73ffffffffffffffffffffffffffffffffffffffff1614610e5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5390611245565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610ecc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec3906115a0565b60405180910390fd5b610ed581610ee0565b50565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000610faf30610fb5565b15905090565b600080823b905060008111915050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061100d61100861100384610fc8565b610fe8565b610fc8565b9050919050565b600061101f82610ff2565b9050919050565b600061103182611014565b9050919050565b61104181611026565b82525050565b600060208201905061105c6000830184611038565b92915050565b60008115159050919050565b61107781611062565b82525050565b6000602082019050611092600083018461106e565b92915050565b600080fd5b60006110a882610fc8565b9050919050565b6110b88161109d565b81146110c357600080fd5b50565b6000813590506110d5816110af565b92915050565b600080fd5b6000819050826020600302820111156110fc576110fb6110db565b5b92915050565b6000806080838503121561111957611118611098565b5b6000611127858286016110c6565b9250506020611138858286016110e0565b9150509250929050565b61114b8161109d565b82525050565b60006020820190506111666000830184611142565b92915050565b600081905082602060030282011115611188576111876110db565b5b92915050565b6000606082840312156111a4576111a3611098565b5b60006111b28482850161116c565b91505092915050565b6000602082840312156111d1576111d0611098565b5b60006111df848285016110c6565b91505092915050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061122f6020836111e8565b915061123a826111f9565b602082019050919050565b6000602082019050818103600083015261125e81611222565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b6112a781611294565b82525050565b60006020820190506112c2600083018461129e565b92915050565b6000815190506112d7816110af565b92915050565b6000602082840312156112f3576112f2611098565b5b6000611301848285016112c8565b91505092915050565b7f63757272656e742061646472657373206973206e6f74206f776e6572206f662060008201527f74686973206865726f206e6f7700000000000000000000000000000000000000602082015250565b6000611366602d836111e8565b91506113718261130a565b604082019050919050565b6000602082019050818103600083015261139581611359565b9050919050565b60006040820190506113b16000830185611142565b6113be602083018461129e565b9392505050565b60006080820190506113da6000830187611142565b6113e76020830186611142565b6113f4604083018561129e565b611401606083018461129e565b95945050505050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b6000611466602e836111e8565b91506114718261140a565b604082019050919050565b6000602082019050818103600083015261149581611459565b9050919050565b7f63757272656e742061646472657373206973206e6f74206f776e6572206f662060008201527f746869732065717569706d656e74206e6f770000000000000000000000000000602082015250565b60006114f86032836111e8565b91506115038261149c565b604082019050919050565b60006020820190508181036000830152611527816114eb565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061158a6026836111e8565b91506115958261152e565b604082019050919050565b600060208201905081810360008301526115b98161157d565b905091905056fea2646970667358221220103f9557914a5d06c400e0a0edb09be337021c19a215e5c2be97b89751f6a0b364736f6c634300080a0033", "immutableReferences": {}, "generatedSources": [], "deployedGeneratedSources": [ @@ -5226,9 +5226,9 @@ "name": "#utility.yul" } ], - "sourceMap": "334:1915:11:-:0;;;;;;;;;;;;;921:32:0;940:12;:10;;;:12;;:::i;:::-;921:18;;;:32;;:::i;:::-;334:1915:11;;640:96:6;693:7;719:10;712:17;;640:96;:::o;2270:187:0:-;2343:16;2362:6;;;;;;;;;;;2343:25;;2387:8;2378:6;;:17;;;;;;;;;;;;;;;;;;2441:8;2410:40;;2431:8;2410:40;;;;;;;;;;;;2333:124;2270:187;:::o;334:1915:11:-;;;;;;;", - "deployedSourceMap": "334:1915:11:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;421:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1668:101:0;;;:::i;:::-;;388:27:11;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;489:31;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1054:444;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1036:85:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;703:218:11;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1634:452;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;455:27;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2157:89;;;:::i;:::-;;1918:198:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;421:28:11;;;;;;;;;;;;;:::o;1668:101:0:-;1259:12;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1732:30:::1;1759:1;1732:18;:30::i;:::-;1668:101::o:0;388:27:11:-;;;;;;;;;;;;;:::o;489:31::-;;;;;;;;;;;;;:::o;1054:444::-;1143:19;;;;;;;;;;;:46;;;;1182:7;:5;:7::i;:::-;1166:23;;:12;:10;:12::i;:::-;:23;;;1143:46;1135:55;;;;;;1237:2;1208:31;;:4;;;;;;;;;;;:12;;;1221:8;1230:1;1221:11;;;;;;;:::i;:::-;;;;;;1208:25;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:31;;;1200:89;;;;;;;;;;;;:::i;:::-;;;;;;;;;1299:4;;;;;;;;;;;:9;;;1309:2;1313:8;1322:1;1313:11;;;;;;;:::i;:::-;;;;;;1299:26;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1353:1;1339:8;1348:1;1339:11;;;;;;;:::i;:::-;;;;;;:15;1335:72;;;1370:4;;;;;;;;;;;:9;;;1380:2;1384:8;1393:1;1384:11;;;;;;;:::i;:::-;;;;;;1370:26;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1335:72;1453:8;1462:1;1453:11;;;;;;;:::i;:::-;;;;;;1421:70;1442:4;;;;;;;;;;;1449:2;1466:8;1475:1;1466:11;;;;;;;:::i;:::-;;;;;;1479:8;1488:1;1479:11;;;;;;;:::i;:::-;;;;;;1421:70;;;;;;;;;:::i;:::-;;;;;;;;1054:444;;:::o;1036:85:0:-;1082:7;1108:6;;;;;;;;;;;1101:13;;1036:85;:::o;703:218:11:-;2336:13:1;;;;;;;;;;;:48;;2372:12;;;;;;;;;;;2371:13;2336:48;;;2352:16;:14;:16::i;:::-;2336:48;2328:107;;;;;;;;;;;;:::i;:::-;;;;;;;;;2446:19;2469:13;;;;;;;;;;;2468:14;2446:36;;2496:14;2492:98;;;2542:4;2526:13;;:20;;;;;;;;;;;;;;;;;;2575:4;2560:12;;:19;;;;;;;;;;;;;;;;;;2492:98;1259:12:0::1;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;811:8:11::2;820:1;811:11;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;788:4;;:35;;;;;;;;;;;;;;;;;;857:8;866:1;857:11;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;833:5;;:36;;;;;;;;;;;;;;;;;;902:8;911:1;902:11;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;879:4;;:35;;;;;;;;;;;;;;;;;;2616:14:1::0;2612:66;;;2662:5;2646:13;;:21;;;;;;;;;;;;;;;;;;2612:66;2047:637;703:218:11;:::o;1634:452::-;1723:19;;;;;;;;;;;:46;;;;1762:7;:5;:7::i;:::-;1746:23;;:12;:10;:12::i;:::-;:23;;;1723:46;1715:55;;;;;;1818:2;1788:32;;:5;;;;;;;;;;;:13;;;1802:8;1811:1;1802:11;;;;;;;:::i;:::-;;;;;;1788:26;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:32;;;1780:95;;;;;;;;;;;;:::i;:::-;;;;;;;;;1885:5;;;;;;;;;;;:10;;;1896:2;1900:8;1909:1;1900:11;;;;;;;:::i;:::-;;;;;;1885:27;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1940:1;1926:8;1935:1;1926:11;;;;;;;:::i;:::-;;;;;;:15;1922:72;;;1957:4;;;;;;;;;;;:9;;;1967:2;1971:8;1980:1;1971:11;;;;;;;:::i;:::-;;;;;;1957:26;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1922:72;2041:8;2050:1;2041:11;;;;;;;:::i;:::-;;;;;;2008:71;2029:5;;;;;;;;;;;2037:2;2054:8;2063:1;2054:11;;;;;;;:::i;:::-;;;;;;2067:8;2076:1;2067:11;;;;;;;:::i;:::-;;;;;;2008:71;;;;;;;;;:::i;:::-;;;;;;;;1634:452;;:::o;455:27::-;;;;;;;;;;;;;:::o;2157:89::-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2235:4:11::1;2213:19;;:26;;;;;;;;;;;;;;;;;;2157:89::o:0;1918:198:0:-;1259:12;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2026:1:::1;2006:22;;:8;:22;;;;1998:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2081:28;2100:8;2081:18;:28::i;:::-;1918:198:::0;:::o;640:96:6:-;693:7;719:10;712:17;;640:96;:::o;2270:187:0:-;2343:16;2362:6;;;;;;;;;;;2343:25;;2387:8;2378:6;;:17;;;;;;;;;;;;;;;;;;2441:8;2410:40;;2431:8;2410:40;;;;;;;;;;;;2333:124;2270:187;:::o;3004:112:1:-;3052:4;3076:33;3103:4;3076:18;:33::i;:::-;3075:34;3068:41;;3004:112;:::o;771:377:5:-;831:4;1034:12;1099:7;1087:20;1079:28;;1140:1;1133:4;:8;1126:15;;;771:377;;;:::o;7:126:13:-;44:7;84:42;77:5;73:54;62:65;;7:126;;;:::o;139:60::-;167:3;188:5;181:12;;139:60;;;:::o;205:142::-;255:9;288:53;306:34;315:24;333:5;315:24;:::i;:::-;306:34;:::i;:::-;288:53;:::i;:::-;275:66;;205:142;;;:::o;353:126::-;403:9;436:37;467:5;436:37;:::i;:::-;423:50;;353:126;;;:::o;485:150::-;559:9;592:37;623:5;592:37;:::i;:::-;579:50;;485:150;;;:::o;641:179::-;752:61;807:5;752:61;:::i;:::-;747:3;740:74;641:179;;:::o;826:270::-;943:4;981:2;970:9;966:18;958:26;;994:95;1086:1;1075:9;1071:17;1062:6;994:95;:::i;:::-;826:270;;;;:::o;1102:90::-;1136:7;1179:5;1172:13;1165:21;1154:32;;1102:90;;;:::o;1198:109::-;1279:21;1294:5;1279:21;:::i;:::-;1274:3;1267:34;1198:109;;:::o;1313:210::-;1400:4;1438:2;1427:9;1423:18;1415:26;;1451:65;1513:1;1502:9;1498:17;1489:6;1451:65;:::i;:::-;1313:210;;;;:::o;1610:117::-;1719:1;1716;1709:12;1856:96;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:117::-;2340:1;2337;2330:12;2372:249;2443:8;2474:6;2462:18;;2527:3;2519:4;2513;2509:15;2499:8;2495:30;2492:39;2489:126;;;2534:79;;:::i;:::-;2489:126;2372:249;;;;:::o;2627:525::-;2720:6;2728;2777:3;2765:9;2756:7;2752:23;2748:33;2745:120;;;2784:79;;:::i;:::-;2745:120;2904:1;2929:53;2974:7;2965:6;2954:9;2950:22;2929:53;:::i;:::-;2919:63;;2875:117;3031:2;3057:78;3127:7;3118:6;3107:9;3103:22;3057:78;:::i;:::-;3047:88;;3002:143;2627:525;;;;;:::o;3158:118::-;3245:24;3263:5;3245:24;:::i;:::-;3240:3;3233:37;3158:118;;:::o;3282:222::-;3375:4;3413:2;3402:9;3398:18;3390:26;;3426:71;3494:1;3483:9;3479:17;3470:6;3426:71;:::i;:::-;3282:222;;;;:::o;3528:249::-;3599:8;3630:6;3618:18;;3683:3;3675:4;3669;3665:15;3655:8;3651:30;3648:39;3645:126;;;3690:79;;:::i;:::-;3645:126;3528:249;;;;:::o;3783:379::-;3867:6;3916:2;3904:9;3895:7;3891:23;3887:32;3884:119;;;3922:79;;:::i;:::-;3884:119;4042:1;4067:78;4137:7;4128:6;4117:9;4113:22;4067:78;:::i;:::-;4057:88;;4013:142;3783:379;;;;:::o;4168:329::-;4227:6;4276:2;4264:9;4255:7;4251:23;4247:32;4244:119;;;4282:79;;:::i;:::-;4244:119;4402:1;4427:53;4472:7;4463:6;4452:9;4448:22;4427:53;:::i;:::-;4417:63;;4373:117;4168:329;;;;:::o;4503:169::-;4587:11;4621:6;4616:3;4609:19;4661:4;4656:3;4652:14;4637:29;;4503:169;;;;:::o;4678:182::-;4818:34;4814:1;4806:6;4802:14;4795:58;4678:182;:::o;4866:366::-;5008:3;5029:67;5093:2;5088:3;5029:67;:::i;:::-;5022:74;;5105:93;5194:3;5105:93;:::i;:::-;5223:2;5218:3;5214:12;5207:19;;4866:366;;;:::o;5238:419::-;5404:4;5442:2;5431:9;5427:18;5419:26;;5491:9;5485:4;5481:20;5477:1;5466:9;5462:17;5455:47;5519:131;5645:4;5519:131;:::i;:::-;5511:139;;5238:419;;;:::o;5663:180::-;5711:77;5708:1;5701:88;5808:4;5805:1;5798:15;5832:4;5829:1;5822:15;5849:77;5886:7;5915:5;5904:16;;5849:77;;;:::o;5932:118::-;6019:24;6037:5;6019:24;:::i;:::-;6014:3;6007:37;5932:118;;:::o;6056:222::-;6149:4;6187:2;6176:9;6172:18;6164:26;;6200:71;6268:1;6257:9;6253:17;6244:6;6200:71;:::i;:::-;6056:222;;;;:::o;6284:143::-;6341:5;6372:6;6366:13;6357:22;;6388:33;6415:5;6388:33;:::i;:::-;6284:143;;;;:::o;6433:351::-;6503:6;6552:2;6540:9;6531:7;6527:23;6523:32;6520:119;;;6558:79;;:::i;:::-;6520:119;6678:1;6703:64;6759:7;6750:6;6739:9;6735:22;6703:64;:::i;:::-;6693:74;;6649:128;6433:351;;;;:::o;6790:232::-;6930:34;6926:1;6918:6;6914:14;6907:58;6999:15;6994:2;6986:6;6982:15;6975:40;6790:232;:::o;7028:366::-;7170:3;7191:67;7255:2;7250:3;7191:67;:::i;:::-;7184:74;;7267:93;7356:3;7267:93;:::i;:::-;7385:2;7380:3;7376:12;7369:19;;7028:366;;;:::o;7400:419::-;7566:4;7604:2;7593:9;7589:18;7581:26;;7653:9;7647:4;7643:20;7639:1;7628:9;7624:17;7617:47;7681:131;7807:4;7681:131;:::i;:::-;7673:139;;7400:419;;;:::o;7825:332::-;7946:4;7984:2;7973:9;7969:18;7961:26;;7997:71;8065:1;8054:9;8050:17;8041:6;7997:71;:::i;:::-;8078:72;8146:2;8135:9;8131:18;8122:6;8078:72;:::i;:::-;7825:332;;;;;:::o;8163:553::-;8340:4;8378:3;8367:9;8363:19;8355:27;;8392:71;8460:1;8449:9;8445:17;8436:6;8392:71;:::i;:::-;8473:72;8541:2;8530:9;8526:18;8517:6;8473:72;:::i;:::-;8555;8623:2;8612:9;8608:18;8599:6;8555:72;:::i;:::-;8637;8705:2;8694:9;8690:18;8681:6;8637:72;:::i;:::-;8163:553;;;;;;;:::o;8722:233::-;8862:34;8858:1;8850:6;8846:14;8839:58;8931:16;8926:2;8918:6;8914:15;8907:41;8722:233;:::o;8961:366::-;9103:3;9124:67;9188:2;9183:3;9124:67;:::i;:::-;9117:74;;9200:93;9289:3;9200:93;:::i;:::-;9318:2;9313:3;9309:12;9302:19;;8961:366;;;:::o;9333:419::-;9499:4;9537:2;9526:9;9522:18;9514:26;;9586:9;9580:4;9576:20;9572:1;9561:9;9557:17;9550:47;9614:131;9740:4;9614:131;:::i;:::-;9606:139;;9333:419;;;:::o;9758:237::-;9898:34;9894:1;9886:6;9882:14;9875:58;9967:20;9962:2;9954:6;9950:15;9943:45;9758:237;:::o;10001:366::-;10143:3;10164:67;10228:2;10223:3;10164:67;:::i;:::-;10157:74;;10240:93;10329:3;10240:93;:::i;:::-;10358:2;10353:3;10349:12;10342:19;;10001:366;;;:::o;10373:419::-;10539:4;10577:2;10566:9;10562:18;10554:26;;10626:9;10620:4;10616:20;10612:1;10601:9;10597:17;10590:47;10654:131;10780:4;10654:131;:::i;:::-;10646:139;;10373:419;;;:::o;10798:225::-;10938:34;10934:1;10926:6;10922:14;10915:58;11007:8;11002:2;10994:6;10990:15;10983:33;10798:225;:::o;11029:366::-;11171:3;11192:67;11256:2;11251:3;11192:67;:::i;:::-;11185:74;;11268:93;11357:3;11268:93;:::i;:::-;11386:2;11381:3;11377:12;11370:19;;11029:366;;;:::o;11401:419::-;11567:4;11605:2;11594:9;11590:18;11582:26;;11654:9;11648:4;11644:20;11640:1;11629:9;11625:17;11618:47;11682:131;11808:4;11682:131;:::i;:::-;11674:139;;11401:419;;;:::o", - "source": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\nimport \"@openzeppelin/contracts/access/Ownable.sol\";\nimport \"@openzeppelin/contracts/proxy/utils/Initializable.sol\";\nimport \"@openzeppelin/contracts/token/ERC721/IERC721.sol\";\n\ninterface IBurnableERC721 is IERC721 {\n function burn(address owner, uint256 tokenId) external;\n}\ncontract EvolveProxy is Ownable, Initializable {\n\n IBurnableERC721 public hero;\n IBurnableERC721 public equip;\n IBurnableERC721 public chip;\n\n bool public publicEvolveAllowed;\n event TokenEvolved(\n address contractAddress,\n address owner,\n uint256 indexed tokenEvolved,\n uint256 tokenBurned,\n uint256 chip\n );\n\n\n function init(address[3] calldata _erc721s) external initializer onlyOwner {\n hero = IBurnableERC721(_erc721s[0]);\n equip = IBurnableERC721(_erc721s[1]);\n chip = IBurnableERC721(_erc721s[2]);\n }\n\n /**\n * @dev evolve function to Blissful Elites Hero NFT\n * tokenIds: [hero_to_evolve, hero_for_burn, chip]\n */\n function evolveHero(address to, uint256[3] calldata tokenIds) external {\n require(publicEvolveAllowed || _msgSender() == owner());\n require(hero.ownerOf(tokenIds[0]) == to, \"current address is not owner of this hero now\");\n hero.burn(to, tokenIds[1]);\n if (tokenIds[2] > 0) {\n chip.burn(to, tokenIds[2]);\n }\n emit TokenEvolved(address(hero), to, tokenIds[0], tokenIds[1], tokenIds[2]);\n }\n\n /**\n * @dev evolve function to Blissful Elites Equip NFT\n * tokenIds: [equip_to_evolve, equip_for_burn, chip]\n */\n function evolveEquip(address to, uint256[3] calldata tokenIds) external{\n require(publicEvolveAllowed || _msgSender() == owner());\n require(equip.ownerOf(tokenIds[0]) == to, \"current address is not owner of this equipment now\");\n equip.burn(to, tokenIds[1]);\n if (tokenIds[2] > 0) {\n chip.burn(to, tokenIds[2]);\n }\n emit TokenEvolved(address(equip), to, tokenIds[0], tokenIds[1], tokenIds[2]);\n }\n\n\n /**\n * @dev function to allow user evolve items\n */\n function allowPublicEvolve() public onlyOwner {\n publicEvolveAllowed = true;\n }\n\n}", + "sourceMap": "334:1965:11:-:0;;;;;;;;;;;;;921:32:0;940:12;:10;;;:12;;:::i;:::-;921:18;;;:32;;:::i;:::-;334:1965:11;;640:96:6;693:7;719:10;712:17;;640:96;:::o;2270:187:0:-;2343:16;2362:6;;;;;;;;;;;2343:25;;2387:8;2378:6;;:17;;;;;;;;;;;;;;;;;;2441:8;2410:40;;2431:8;2410:40;;;;;;;;;;;;2333:124;2270:187;:::o;334:1965:11:-;;;;;;;", + "deployedSourceMap": "334:1965:11:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;421:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1668:101:0;;;:::i;:::-;;388:27:11;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;489:31;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1054:469;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1036:85:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;703:218:11;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1659:477;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;455:27;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2207:89;;;:::i;:::-;;1918:198:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;421:28:11;;;;;;;;;;;;;:::o;1668:101:0:-;1259:12;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1732:30:::1;1759:1;1732:18;:30::i;:::-;1668:101::o:0;388:27:11:-;;;;;;;;;;;;;:::o;489:31::-;;;;;;;;;;;;;:::o;1054:469::-;1144:19;;;;;;;;;;;:42;;;;;1184:2;1168:18;;:12;:10;:12::i;:::-;:18;;;1144:42;1143:71;;;;1207:7;:5;:7::i;:::-;1191:23;;:12;:10;:12::i;:::-;:23;;;1143:71;1135:80;;;;;;1262:2;1233:31;;:4;;;;;;;;;;;:12;;;1246:8;1255:1;1246:11;;;;;;;:::i;:::-;;;;;;1233:25;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:31;;;1225:89;;;;;;;;;;;;:::i;:::-;;;;;;;;;1324:4;;;;;;;;;;;:9;;;1334:2;1338:8;1347:1;1338:11;;;;;;;:::i;:::-;;;;;;1324:26;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1378:1;1364:8;1373:1;1364:11;;;;;;;:::i;:::-;;;;;;:15;1360:72;;;1395:4;;;;;;;;;;;:9;;;1405:2;1409:8;1418:1;1409:11;;;;;;;:::i;:::-;;;;;;1395:26;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1360:72;1478:8;1487:1;1478:11;;;;;;;:::i;:::-;;;;;;1446:70;1467:4;;;;;;;;;;;1474:2;1491:8;1500:1;1491:11;;;;;;;:::i;:::-;;;;;;1504:8;1513:1;1504:11;;;;;;;:::i;:::-;;;;;;1446:70;;;;;;;;;:::i;:::-;;;;;;;;1054:469;;:::o;1036:85:0:-;1082:7;1108:6;;;;;;;;;;;1101:13;;1036:85;:::o;703:218:11:-;2336:13:1;;;;;;;;;;;:48;;2372:12;;;;;;;;;;;2371:13;2336:48;;;2352:16;:14;:16::i;:::-;2336:48;2328:107;;;;;;;;;;;;:::i;:::-;;;;;;;;;2446:19;2469:13;;;;;;;;;;;2468:14;2446:36;;2496:14;2492:98;;;2542:4;2526:13;;:20;;;;;;;;;;;;;;;;;;2575:4;2560:12;;:19;;;;;;;;;;;;;;;;;;2492:98;1259:12:0::1;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;811:8:11::2;820:1;811:11;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;788:4;;:35;;;;;;;;;;;;;;;;;;857:8;866:1;857:11;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;833:5;;:36;;;;;;;;;;;;;;;;;;902:8;911:1;902:11;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;879:4;;:35;;;;;;;;;;;;;;;;;;2616:14:1::0;2612:66;;;2662:5;2646:13;;:21;;;;;;;;;;;;;;;;;;2612:66;2047:637;703:218:11;:::o;1659:477::-;1749:19;;;;;;;;;;;:42;;;;;1789:2;1773:18;;:12;:10;:12::i;:::-;:18;;;1749:42;1748:71;;;;1812:7;:5;:7::i;:::-;1796:23;;:12;:10;:12::i;:::-;:23;;;1748:71;1740:80;;;;;;1868:2;1838:32;;:5;;;;;;;;;;;:13;;;1852:8;1861:1;1852:11;;;;;;;:::i;:::-;;;;;;1838:26;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:32;;;1830:95;;;;;;;;;;;;:::i;:::-;;;;;;;;;1935:5;;;;;;;;;;;:10;;;1946:2;1950:8;1959:1;1950:11;;;;;;;:::i;:::-;;;;;;1935:27;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1990:1;1976:8;1985:1;1976:11;;;;;;;:::i;:::-;;;;;;:15;1972:72;;;2007:4;;;;;;;;;;;:9;;;2017:2;2021:8;2030:1;2021:11;;;;;;;:::i;:::-;;;;;;2007:26;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1972:72;2091:8;2100:1;2091:11;;;;;;;:::i;:::-;;;;;;2058:71;2079:5;;;;;;;;;;;2087:2;2104:8;2113:1;2104:11;;;;;;;:::i;:::-;;;;;;2117:8;2126:1;2117:11;;;;;;;:::i;:::-;;;;;;2058:71;;;;;;;;;:::i;:::-;;;;;;;;1659:477;;:::o;455:27::-;;;;;;;;;;;;;:::o;2207:89::-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2285:4:11::1;2263:19;;:26;;;;;;;;;;;;;;;;;;2207:89::o:0;1918:198:0:-;1259:12;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2026:1:::1;2006:22;;:8;:22;;;;1998:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2081:28;2100:8;2081:18;:28::i;:::-;1918:198:::0;:::o;640:96:6:-;693:7;719:10;712:17;;640:96;:::o;2270:187:0:-;2343:16;2362:6;;;;;;;;;;;2343:25;;2387:8;2378:6;;:17;;;;;;;;;;;;;;;;;;2441:8;2410:40;;2431:8;2410:40;;;;;;;;;;;;2333:124;2270:187;:::o;3004:112:1:-;3052:4;3076:33;3103:4;3076:18;:33::i;:::-;3075:34;3068:41;;3004:112;:::o;771:377:5:-;831:4;1034:12;1099:7;1087:20;1079:28;;1140:1;1133:4;:8;1126:15;;;771:377;;;:::o;7:126:13:-;44:7;84:42;77:5;73:54;62:65;;7:126;;;:::o;139:60::-;167:3;188:5;181:12;;139:60;;;:::o;205:142::-;255:9;288:53;306:34;315:24;333:5;315:24;:::i;:::-;306:34;:::i;:::-;288:53;:::i;:::-;275:66;;205:142;;;:::o;353:126::-;403:9;436:37;467:5;436:37;:::i;:::-;423:50;;353:126;;;:::o;485:150::-;559:9;592:37;623:5;592:37;:::i;:::-;579:50;;485:150;;;:::o;641:179::-;752:61;807:5;752:61;:::i;:::-;747:3;740:74;641:179;;:::o;826:270::-;943:4;981:2;970:9;966:18;958:26;;994:95;1086:1;1075:9;1071:17;1062:6;994:95;:::i;:::-;826:270;;;;:::o;1102:90::-;1136:7;1179:5;1172:13;1165:21;1154:32;;1102:90;;;:::o;1198:109::-;1279:21;1294:5;1279:21;:::i;:::-;1274:3;1267:34;1198:109;;:::o;1313:210::-;1400:4;1438:2;1427:9;1423:18;1415:26;;1451:65;1513:1;1502:9;1498:17;1489:6;1451:65;:::i;:::-;1313:210;;;;:::o;1610:117::-;1719:1;1716;1709:12;1856:96;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:117::-;2340:1;2337;2330:12;2372:249;2443:8;2474:6;2462:18;;2527:3;2519:4;2513;2509:15;2499:8;2495:30;2492:39;2489:126;;;2534:79;;:::i;:::-;2489:126;2372:249;;;;:::o;2627:525::-;2720:6;2728;2777:3;2765:9;2756:7;2752:23;2748:33;2745:120;;;2784:79;;:::i;:::-;2745:120;2904:1;2929:53;2974:7;2965:6;2954:9;2950:22;2929:53;:::i;:::-;2919:63;;2875:117;3031:2;3057:78;3127:7;3118:6;3107:9;3103:22;3057:78;:::i;:::-;3047:88;;3002:143;2627:525;;;;;:::o;3158:118::-;3245:24;3263:5;3245:24;:::i;:::-;3240:3;3233:37;3158:118;;:::o;3282:222::-;3375:4;3413:2;3402:9;3398:18;3390:26;;3426:71;3494:1;3483:9;3479:17;3470:6;3426:71;:::i;:::-;3282:222;;;;:::o;3528:249::-;3599:8;3630:6;3618:18;;3683:3;3675:4;3669;3665:15;3655:8;3651:30;3648:39;3645:126;;;3690:79;;:::i;:::-;3645:126;3528:249;;;;:::o;3783:379::-;3867:6;3916:2;3904:9;3895:7;3891:23;3887:32;3884:119;;;3922:79;;:::i;:::-;3884:119;4042:1;4067:78;4137:7;4128:6;4117:9;4113:22;4067:78;:::i;:::-;4057:88;;4013:142;3783:379;;;;:::o;4168:329::-;4227:6;4276:2;4264:9;4255:7;4251:23;4247:32;4244:119;;;4282:79;;:::i;:::-;4244:119;4402:1;4427:53;4472:7;4463:6;4452:9;4448:22;4427:53;:::i;:::-;4417:63;;4373:117;4168:329;;;;:::o;4503:169::-;4587:11;4621:6;4616:3;4609:19;4661:4;4656:3;4652:14;4637:29;;4503:169;;;;:::o;4678:182::-;4818:34;4814:1;4806:6;4802:14;4795:58;4678:182;:::o;4866:366::-;5008:3;5029:67;5093:2;5088:3;5029:67;:::i;:::-;5022:74;;5105:93;5194:3;5105:93;:::i;:::-;5223:2;5218:3;5214:12;5207:19;;4866:366;;;:::o;5238:419::-;5404:4;5442:2;5431:9;5427:18;5419:26;;5491:9;5485:4;5481:20;5477:1;5466:9;5462:17;5455:47;5519:131;5645:4;5519:131;:::i;:::-;5511:139;;5238:419;;;:::o;5663:180::-;5711:77;5708:1;5701:88;5808:4;5805:1;5798:15;5832:4;5829:1;5822:15;5849:77;5886:7;5915:5;5904:16;;5849:77;;;:::o;5932:118::-;6019:24;6037:5;6019:24;:::i;:::-;6014:3;6007:37;5932:118;;:::o;6056:222::-;6149:4;6187:2;6176:9;6172:18;6164:26;;6200:71;6268:1;6257:9;6253:17;6244:6;6200:71;:::i;:::-;6056:222;;;;:::o;6284:143::-;6341:5;6372:6;6366:13;6357:22;;6388:33;6415:5;6388:33;:::i;:::-;6284:143;;;;:::o;6433:351::-;6503:6;6552:2;6540:9;6531:7;6527:23;6523:32;6520:119;;;6558:79;;:::i;:::-;6520:119;6678:1;6703:64;6759:7;6750:6;6739:9;6735:22;6703:64;:::i;:::-;6693:74;;6649:128;6433:351;;;;:::o;6790:232::-;6930:34;6926:1;6918:6;6914:14;6907:58;6999:15;6994:2;6986:6;6982:15;6975:40;6790:232;:::o;7028:366::-;7170:3;7191:67;7255:2;7250:3;7191:67;:::i;:::-;7184:74;;7267:93;7356:3;7267:93;:::i;:::-;7385:2;7380:3;7376:12;7369:19;;7028:366;;;:::o;7400:419::-;7566:4;7604:2;7593:9;7589:18;7581:26;;7653:9;7647:4;7643:20;7639:1;7628:9;7624:17;7617:47;7681:131;7807:4;7681:131;:::i;:::-;7673:139;;7400:419;;;:::o;7825:332::-;7946:4;7984:2;7973:9;7969:18;7961:26;;7997:71;8065:1;8054:9;8050:17;8041:6;7997:71;:::i;:::-;8078:72;8146:2;8135:9;8131:18;8122:6;8078:72;:::i;:::-;7825:332;;;;;:::o;8163:553::-;8340:4;8378:3;8367:9;8363:19;8355:27;;8392:71;8460:1;8449:9;8445:17;8436:6;8392:71;:::i;:::-;8473:72;8541:2;8530:9;8526:18;8517:6;8473:72;:::i;:::-;8555;8623:2;8612:9;8608:18;8599:6;8555:72;:::i;:::-;8637;8705:2;8694:9;8690:18;8681:6;8637:72;:::i;:::-;8163:553;;;;;;;:::o;8722:233::-;8862:34;8858:1;8850:6;8846:14;8839:58;8931:16;8926:2;8918:6;8914:15;8907:41;8722:233;:::o;8961:366::-;9103:3;9124:67;9188:2;9183:3;9124:67;:::i;:::-;9117:74;;9200:93;9289:3;9200:93;:::i;:::-;9318:2;9313:3;9309:12;9302:19;;8961:366;;;:::o;9333:419::-;9499:4;9537:2;9526:9;9522:18;9514:26;;9586:9;9580:4;9576:20;9572:1;9561:9;9557:17;9550:47;9614:131;9740:4;9614:131;:::i;:::-;9606:139;;9333:419;;;:::o;9758:237::-;9898:34;9894:1;9886:6;9882:14;9875:58;9967:20;9962:2;9954:6;9950:15;9943:45;9758:237;:::o;10001:366::-;10143:3;10164:67;10228:2;10223:3;10164:67;:::i;:::-;10157:74;;10240:93;10329:3;10240:93;:::i;:::-;10358:2;10353:3;10349:12;10342:19;;10001:366;;;:::o;10373:419::-;10539:4;10577:2;10566:9;10562:18;10554:26;;10626:9;10620:4;10616:20;10612:1;10601:9;10597:17;10590:47;10654:131;10780:4;10654:131;:::i;:::-;10646:139;;10373:419;;;:::o;10798:225::-;10938:34;10934:1;10926:6;10922:14;10915:58;11007:8;11002:2;10994:6;10990:15;10983:33;10798:225;:::o;11029:366::-;11171:3;11192:67;11256:2;11251:3;11192:67;:::i;:::-;11185:74;;11268:93;11357:3;11268:93;:::i;:::-;11386:2;11381:3;11377:12;11370:19;;11029:366;;;:::o;11401:419::-;11567:4;11605:2;11594:9;11590:18;11582:26;;11654:9;11648:4;11644:20;11640:1;11629:9;11625:17;11618:47;11682:131;11808:4;11682:131;:::i;:::-;11674:139;;11401:419;;;:::o", + "source": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\nimport \"@openzeppelin/contracts/access/Ownable.sol\";\nimport \"@openzeppelin/contracts/proxy/utils/Initializable.sol\";\nimport \"@openzeppelin/contracts/token/ERC721/IERC721.sol\";\n\ninterface IBurnableERC721 is IERC721 {\n function burn(address owner, uint256 tokenId) external;\n}\ncontract EvolveProxy is Ownable, Initializable {\n\n IBurnableERC721 public hero;\n IBurnableERC721 public equip;\n IBurnableERC721 public chip;\n\n bool public publicEvolveAllowed;\n event TokenEvolved(\n address contractAddress,\n address owner,\n uint256 indexed tokenEvolved,\n uint256 tokenBurned,\n uint256 chip\n );\n\n\n function init(address[3] calldata _erc721s) external initializer onlyOwner {\n hero = IBurnableERC721(_erc721s[0]);\n equip = IBurnableERC721(_erc721s[1]);\n chip = IBurnableERC721(_erc721s[2]);\n }\n\n /**\n * @dev evolve function to Blissful Elites Hero NFT\n * tokenIds: [hero_to_evolve, hero_for_burn, chip]\n */\n function evolveHero(address to, uint256[3] calldata tokenIds) external {\n require((publicEvolveAllowed && _msgSender() == to) || _msgSender() == owner());\n require(hero.ownerOf(tokenIds[0]) == to, \"current address is not owner of this hero now\");\n hero.burn(to, tokenIds[1]);\n if (tokenIds[2] > 0) {\n chip.burn(to, tokenIds[2]);\n }\n emit TokenEvolved(address(hero), to, tokenIds[0], tokenIds[1], tokenIds[2]);\n }\n\n /**\n * @dev evolve function to Blissful Elites Equip NFT\n * tokenIds: [equip_to_evolve, equip_for_burn, chip]\n */\n function evolveEquip(address to, uint256[3] calldata tokenIds) external{\n require((publicEvolveAllowed && _msgSender() == to) || _msgSender() == owner());\n require(equip.ownerOf(tokenIds[0]) == to, \"current address is not owner of this equipment now\");\n equip.burn(to, tokenIds[1]);\n if (tokenIds[2] > 0) {\n chip.burn(to, tokenIds[2]);\n }\n emit TokenEvolved(address(equip), to, tokenIds[0], tokenIds[1], tokenIds[2]);\n }\n\n\n /**\n * @dev function to allow user evolve items\n */\n function allowPublicEvolve() public onlyOwner {\n publicEvolveAllowed = true;\n }\n\n}", "sourcePath": "/Users/zhl/Documents/workspace/game/becrypto/contracts/EvolveProxy.sol", "ast": { "absolutePath": "project:/contracts/EvolveProxy.sol", @@ -5240,7 +5240,7 @@ 915 ], "EvolveProxy": [ - 1954 + 1966 ], "IBurnableERC721": [ 1729 @@ -5258,7 +5258,7 @@ 104 ] }, - "id": 1955, + "id": 1967, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ @@ -5279,7 +5279,7 @@ "id": 1717, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1955, + "scope": 1967, "sourceUnit": 105, "src": "56:52:11", "symbolAliases": [], @@ -5291,7 +5291,7 @@ "id": 1718, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1955, + "scope": 1967, "sourceUnit": 179, "src": "109:63:11", "symbolAliases": [], @@ -5303,7 +5303,7 @@ "id": 1719, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1955, + "scope": 1967, "sourceUnit": 597, "src": "173:58:11", "symbolAliases": [], @@ -5423,7 +5423,7 @@ "visibility": "external" } ], - "scope": 1955, + "scope": 1967, "src": "233:100:11", "usedErrors": [] }, @@ -5459,9 +5459,9 @@ "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, - "id": 1954, + "id": 1966, "linearizedBaseContracts": [ - 1954, + 1966, 178, 104, 915 @@ -5478,7 +5478,7 @@ "name": "hero", "nameLocation": "411:4:11", "nodeType": "VariableDeclaration", - "scope": 1954, + "scope": 1966, "src": "388:27:11", "stateVariable": true, "storageLocation": "default", @@ -5513,7 +5513,7 @@ "name": "equip", "nameLocation": "444:5:11", "nodeType": "VariableDeclaration", - "scope": 1954, + "scope": 1966, "src": "421:28:11", "stateVariable": true, "storageLocation": "default", @@ -5548,7 +5548,7 @@ "name": "chip", "nameLocation": "478:4:11", "nodeType": "VariableDeclaration", - "scope": 1954, + "scope": 1966, "src": "455:27:11", "stateVariable": true, "storageLocation": "default", @@ -5583,7 +5583,7 @@ "name": "publicEvolveAllowed", "nameLocation": "501:19:11", "nodeType": "VariableDeclaration", - "scope": 1954, + "scope": 1966, "src": "489:31:11", "stateVariable": true, "storageLocation": "default", @@ -6193,7 +6193,7 @@ "parameters": [], "src": "778:0:11" }, - "scope": 1954, + "scope": 1966, "src": "703:218:11", "stateMutability": "nonpayable", "virtual": false, @@ -6201,9 +6201,9 @@ }, { "body": { - "id": 1866, + "id": 1872, "nodeType": "Block", - "src": "1125:373:11", + "src": "1125:398:11", "statements": [ { "expression": { @@ -6213,18 +6213,112 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1809, + "id": 1815, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1803, - "name": "publicEvolveAllowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1744, - "src": "1143:19:11", + "components": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1808, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1803, + "name": "publicEvolveAllowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1744, + "src": "1144:19:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1807, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1804, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 905, + "src": "1168:10:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 1805, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1168:12:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 1806, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1795, + "src": "1184:2:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1168:18:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1144:42:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 1809, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1143:44:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6237,7 +6331,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1808, + "id": 1814, "isConstant": false, "isLValue": false, "isPure": false, @@ -6246,18 +6340,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1804, + "id": 1810, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 905, - "src": "1166:10:11", + "src": "1191:10:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 1805, + "id": 1811, "isConstant": false, "isLValue": false, "isPure": false, @@ -6265,7 +6359,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1166:12:11", + "src": "1191:12:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -6278,18 +6372,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1806, + "id": 1812, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 32, - "src": "1182:5:11", + "src": "1207:5:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 1807, + "id": 1813, "isConstant": false, "isLValue": false, "isPure": false, @@ -6297,20 +6391,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1182:7:11", + "src": "1207:7:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1166:23:11", + "src": "1191:23:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "1143:46:11", + "src": "1143:71:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6338,7 +6432,7 @@ "typeString": "function (bool) pure" } }, - "id": 1810, + "id": 1816, "isConstant": false, "isLValue": false, "isPure": false, @@ -6346,16 +6440,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1135:55:11", + "src": "1135:80:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1811, + "id": 1817, "nodeType": "ExpressionStatement", - "src": "1135:55:11" + "src": "1135:80:11" }, { "expression": { @@ -6365,7 +6459,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1820, + "id": 1826, "isConstant": false, "isLValue": false, "isPure": false, @@ -6374,28 +6468,28 @@ "arguments": [ { "baseExpression": { - "id": 1815, + "id": 1821, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1799, - "src": "1221:8:11", + "src": "1246:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1817, + "id": 1823, "indexExpression": { "hexValue": "30", - "id": 1816, + "id": 1822, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1230:1:11", + "src": "1255:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -6407,7 +6501,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1221:11:11", + "src": "1246:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6422,18 +6516,18 @@ } ], "expression": { - "id": 1813, + "id": 1819, "name": "hero", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1736, - "src": "1208:4:11", + "src": "1233:4:11", "typeDescriptions": { "typeIdentifier": "t_contract$_IBurnableERC721_$1729", "typeString": "contract IBurnableERC721" } }, - "id": 1814, + "id": 1820, "isConstant": false, "isLValue": false, "isPure": false, @@ -6441,13 +6535,13 @@ "memberName": "ownerOf", "nodeType": "MemberAccess", "referencedDeclaration": 529, - "src": "1208:12:11", + "src": "1233:12:11", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view external returns (address)" } }, - "id": 1818, + "id": 1824, "isConstant": false, "isLValue": false, "isPure": false, @@ -6455,7 +6549,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1208:25:11", + "src": "1233:25:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -6465,18 +6559,18 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 1819, + "id": 1825, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1795, - "src": "1237:2:11", + "src": "1262:2:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1208:31:11", + "src": "1233:31:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6484,14 +6578,14 @@ }, { "hexValue": "63757272656e742061646472657373206973206e6f74206f776e6572206f662074686973206865726f206e6f77", - "id": 1821, + "id": 1827, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1241:47:11", + "src": "1266:47:11", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e1cd0235be0cd1e3bf7e364fefba10ffea45e93f9e616a5e9b09e2bf3496f22e", "typeString": "literal_string \"current address is not owner of this hero now\"" @@ -6510,7 +6604,7 @@ "typeString": "literal_string \"current address is not owner of this hero now\"" } ], - "id": 1812, + "id": 1818, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -6518,13 +6612,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "1200:7:11", + "src": "1225:7:11", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1822, + "id": 1828, "isConstant": false, "isLValue": false, "isPure": false, @@ -6532,27 +6626,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1200:89:11", + "src": "1225:89:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1823, + "id": 1829, "nodeType": "ExpressionStatement", - "src": "1200:89:11" + "src": "1225:89:11" }, { "expression": { "arguments": [ { - "id": 1827, + "id": 1833, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1795, - "src": "1309:2:11", + "src": "1334:2:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6560,28 +6654,28 @@ }, { "baseExpression": { - "id": 1828, + "id": 1834, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1799, - "src": "1313:8:11", + "src": "1338:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1830, + "id": 1836, "indexExpression": { "hexValue": "31", - "id": 1829, + "id": 1835, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1322:1:11", + "src": "1347:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -6593,7 +6687,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1313:11:11", + "src": "1338:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6612,18 +6706,18 @@ } ], "expression": { - "id": 1824, + "id": 1830, "name": "hero", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1736, - "src": "1299:4:11", + "src": "1324:4:11", "typeDescriptions": { "typeIdentifier": "t_contract$_IBurnableERC721_$1729", "typeString": "contract IBurnableERC721" } }, - "id": 1826, + "id": 1832, "isConstant": false, "isLValue": false, "isPure": false, @@ -6631,13 +6725,13 @@ "memberName": "burn", "nodeType": "MemberAccess", "referencedDeclaration": 1728, - "src": "1299:9:11", + "src": "1324:9:11", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256) external" } }, - "id": 1831, + "id": 1837, "isConstant": false, "isLValue": false, "isPure": false, @@ -6645,16 +6739,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1299:26:11", + "src": "1324:26:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1832, + "id": 1838, "nodeType": "ExpressionStatement", - "src": "1299:26:11" + "src": "1324:26:11" }, { "condition": { @@ -6662,35 +6756,35 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1837, + "id": 1843, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { - "id": 1833, + "id": 1839, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1799, - "src": "1339:8:11", + "src": "1364:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1835, + "id": 1841, "indexExpression": { "hexValue": "32", - "id": 1834, + "id": 1840, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1348:1:11", + "src": "1373:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -6702,7 +6796,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1339:11:11", + "src": "1364:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6712,44 +6806,44 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 1836, + "id": 1842, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1353:1:11", + "src": "1378:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "1339:15:11", + "src": "1364:15:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1848, + "id": 1854, "nodeType": "IfStatement", - "src": "1335:72:11", + "src": "1360:72:11", "trueBody": { - "id": 1847, + "id": 1853, "nodeType": "Block", - "src": "1356:51:11", + "src": "1381:51:11", "statements": [ { "expression": { "arguments": [ { - "id": 1841, + "id": 1847, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1795, - "src": "1380:2:11", + "src": "1405:2:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6757,28 +6851,28 @@ }, { "baseExpression": { - "id": 1842, + "id": 1848, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1799, - "src": "1384:8:11", + "src": "1409:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1844, + "id": 1850, "indexExpression": { "hexValue": "32", - "id": 1843, + "id": 1849, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1393:1:11", + "src": "1418:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -6790,7 +6884,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1384:11:11", + "src": "1409:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6809,18 +6903,18 @@ } ], "expression": { - "id": 1838, + "id": 1844, "name": "chip", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1742, - "src": "1370:4:11", + "src": "1395:4:11", "typeDescriptions": { "typeIdentifier": "t_contract$_IBurnableERC721_$1729", "typeString": "contract IBurnableERC721" } }, - "id": 1840, + "id": 1846, "isConstant": false, "isLValue": false, "isPure": false, @@ -6828,13 +6922,13 @@ "memberName": "burn", "nodeType": "MemberAccess", "referencedDeclaration": 1728, - "src": "1370:9:11", + "src": "1395:9:11", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256) external" } }, - "id": 1845, + "id": 1851, "isConstant": false, "isLValue": false, "isPure": false, @@ -6842,16 +6936,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1370:26:11", + "src": "1395:26:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1846, + "id": 1852, "nodeType": "ExpressionStatement", - "src": "1370:26:11" + "src": "1395:26:11" } ] } @@ -6862,12 +6956,12 @@ { "arguments": [ { - "id": 1852, + "id": 1858, "name": "hero", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1736, - "src": "1442:4:11", + "src": "1467:4:11", "typeDescriptions": { "typeIdentifier": "t_contract$_IBurnableERC721_$1729", "typeString": "contract IBurnableERC721" @@ -6881,26 +6975,26 @@ "typeString": "contract IBurnableERC721" } ], - "id": 1851, + "id": 1857, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1434:7:11", + "src": "1459:7:11", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 1850, + "id": 1856, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1434:7:11", + "src": "1459:7:11", "typeDescriptions": {} } }, - "id": 1853, + "id": 1859, "isConstant": false, "isLValue": false, "isPure": false, @@ -6908,7 +7002,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1434:13:11", + "src": "1459:13:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -6916,12 +7010,12 @@ } }, { - "id": 1854, + "id": 1860, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1795, - "src": "1449:2:11", + "src": "1474:2:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6929,28 +7023,28 @@ }, { "baseExpression": { - "id": 1855, + "id": 1861, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1799, - "src": "1453:8:11", + "src": "1478:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1857, + "id": 1863, "indexExpression": { "hexValue": "30", - "id": 1856, + "id": 1862, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1462:1:11", + "src": "1487:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -6962,7 +7056,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1453:11:11", + "src": "1478:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6970,28 +7064,28 @@ }, { "baseExpression": { - "id": 1858, + "id": 1864, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1799, - "src": "1466:8:11", + "src": "1491:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1860, + "id": 1866, "indexExpression": { "hexValue": "31", - "id": 1859, + "id": 1865, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1475:1:11", + "src": "1500:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -7003,7 +7097,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1466:11:11", + "src": "1491:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7011,28 +7105,28 @@ }, { "baseExpression": { - "id": 1861, + "id": 1867, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1799, - "src": "1479:8:11", + "src": "1504:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1863, + "id": 1869, "indexExpression": { "hexValue": "32", - "id": 1862, + "id": 1868, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1488:1:11", + "src": "1513:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -7044,7 +7138,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1479:11:11", + "src": "1504:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7074,18 +7168,18 @@ "typeString": "uint256" } ], - "id": 1849, + "id": 1855, "name": "TokenEvolved", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1756, - "src": "1421:12:11", + "src": "1446:12:11", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256,uint256,uint256)" } }, - "id": 1864, + "id": 1870, "isConstant": false, "isLValue": false, "isPure": false, @@ -7093,16 +7187,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1421:70:11", + "src": "1446:70:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1865, + "id": 1871, "nodeType": "EmitStatement", - "src": "1416:75:11" + "src": "1441:75:11" } ] }, @@ -7113,7 +7207,7 @@ "text": " @dev evolve function to Blissful Elites Hero NFT\n tokenIds: [hero_to_evolve, hero_for_burn, chip]" }, "functionSelector": "8961054b", - "id": 1867, + "id": 1873, "implemented": true, "kind": "function", "modifiers": [], @@ -7131,7 +7225,7 @@ "name": "to", "nameLocation": "1082:2:11", "nodeType": "VariableDeclaration", - "scope": 1867, + "scope": 1873, "src": "1074:10:11", "stateVariable": false, "storageLocation": "default", @@ -7159,7 +7253,7 @@ "name": "tokenIds", "nameLocation": "1106:8:11", "nodeType": "VariableDeclaration", - "scope": 1867, + "scope": 1873, "src": "1086:28:11", "stateVariable": false, "storageLocation": "calldata", @@ -7213,17 +7307,17 @@ "parameters": [], "src": "1125:0:11" }, - "scope": 1954, - "src": "1054:444:11", + "scope": 1966, + "src": "1054:469:11", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 1941, + "id": 1953, "nodeType": "Block", - "src": "1705:381:11", + "src": "1730:406:11", "statements": [ { "expression": { @@ -7233,18 +7327,112 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1884, + "id": 1896, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1878, - "name": "publicEvolveAllowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1744, - "src": "1723:19:11", + "components": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1889, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1884, + "name": "publicEvolveAllowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1744, + "src": "1749:19:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1888, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1885, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 905, + "src": "1773:10:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 1886, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1773:12:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 1887, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1876, + "src": "1789:2:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1773:18:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1749:42:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 1890, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1748:44:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7257,7 +7445,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1883, + "id": 1895, "isConstant": false, "isLValue": false, "isPure": false, @@ -7266,18 +7454,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1879, + "id": 1891, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 905, - "src": "1746:10:11", + "src": "1796:10:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 1880, + "id": 1892, "isConstant": false, "isLValue": false, "isPure": false, @@ -7285,7 +7473,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1746:12:11", + "src": "1796:12:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -7298,18 +7486,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1881, + "id": 1893, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 32, - "src": "1762:5:11", + "src": "1812:5:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 1882, + "id": 1894, "isConstant": false, "isLValue": false, "isPure": false, @@ -7317,20 +7505,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1762:7:11", + "src": "1812:7:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1746:23:11", + "src": "1796:23:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "1723:46:11", + "src": "1748:71:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7344,7 +7532,7 @@ "typeString": "bool" } ], - "id": 1877, + "id": 1883, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -7352,13 +7540,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "1715:7:11", + "src": "1740:7:11", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1885, + "id": 1897, "isConstant": false, "isLValue": false, "isPure": false, @@ -7366,16 +7554,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1715:55:11", + "src": "1740:80:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1886, + "id": 1898, "nodeType": "ExpressionStatement", - "src": "1715:55:11" + "src": "1740:80:11" }, { "expression": { @@ -7385,7 +7573,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1895, + "id": 1907, "isConstant": false, "isLValue": false, "isPure": false, @@ -7394,28 +7582,28 @@ "arguments": [ { "baseExpression": { - "id": 1890, + "id": 1902, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1874, - "src": "1802:8:11", + "referencedDeclaration": 1880, + "src": "1852:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1892, + "id": 1904, "indexExpression": { "hexValue": "30", - "id": 1891, + "id": 1903, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1811:1:11", + "src": "1861:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -7427,7 +7615,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1802:11:11", + "src": "1852:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7442,18 +7630,18 @@ } ], "expression": { - "id": 1888, + "id": 1900, "name": "equip", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1739, - "src": "1788:5:11", + "src": "1838:5:11", "typeDescriptions": { "typeIdentifier": "t_contract$_IBurnableERC721_$1729", "typeString": "contract IBurnableERC721" } }, - "id": 1889, + "id": 1901, "isConstant": false, "isLValue": false, "isPure": false, @@ -7461,13 +7649,13 @@ "memberName": "ownerOf", "nodeType": "MemberAccess", "referencedDeclaration": 529, - "src": "1788:13:11", + "src": "1838:13:11", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view external returns (address)" } }, - "id": 1893, + "id": 1905, "isConstant": false, "isLValue": false, "isPure": false, @@ -7475,7 +7663,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1788:26:11", + "src": "1838:26:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -7485,18 +7673,18 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 1894, + "id": 1906, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1870, - "src": "1818:2:11", + "referencedDeclaration": 1876, + "src": "1868:2:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1788:32:11", + "src": "1838:32:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7504,14 +7692,14 @@ }, { "hexValue": "63757272656e742061646472657373206973206e6f74206f776e6572206f6620746869732065717569706d656e74206e6f77", - "id": 1896, + "id": 1908, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1822:52:11", + "src": "1872:52:11", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e4e8a2032eab8e2d753203d129ac68c962bfd545c54de8b4c0ecd7dec58bd68b", "typeString": "literal_string \"current address is not owner of this equipment now\"" @@ -7530,7 +7718,7 @@ "typeString": "literal_string \"current address is not owner of this equipment now\"" } ], - "id": 1887, + "id": 1899, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -7538,13 +7726,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "1780:7:11", + "src": "1830:7:11", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1897, + "id": 1909, "isConstant": false, "isLValue": false, "isPure": false, @@ -7552,27 +7740,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1780:95:11", + "src": "1830:95:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1898, + "id": 1910, "nodeType": "ExpressionStatement", - "src": "1780:95:11" + "src": "1830:95:11" }, { "expression": { "arguments": [ { - "id": 1902, + "id": 1914, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1870, - "src": "1896:2:11", + "referencedDeclaration": 1876, + "src": "1946:2:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7580,28 +7768,28 @@ }, { "baseExpression": { - "id": 1903, + "id": 1915, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1874, - "src": "1900:8:11", + "referencedDeclaration": 1880, + "src": "1950:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1905, + "id": 1917, "indexExpression": { "hexValue": "31", - "id": 1904, + "id": 1916, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1909:1:11", + "src": "1959:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -7613,7 +7801,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1900:11:11", + "src": "1950:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7632,18 +7820,18 @@ } ], "expression": { - "id": 1899, + "id": 1911, "name": "equip", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1739, - "src": "1885:5:11", + "src": "1935:5:11", "typeDescriptions": { "typeIdentifier": "t_contract$_IBurnableERC721_$1729", "typeString": "contract IBurnableERC721" } }, - "id": 1901, + "id": 1913, "isConstant": false, "isLValue": false, "isPure": false, @@ -7651,13 +7839,13 @@ "memberName": "burn", "nodeType": "MemberAccess", "referencedDeclaration": 1728, - "src": "1885:10:11", + "src": "1935:10:11", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256) external" } }, - "id": 1906, + "id": 1918, "isConstant": false, "isLValue": false, "isPure": false, @@ -7665,16 +7853,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1885:27:11", + "src": "1935:27:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1907, + "id": 1919, "nodeType": "ExpressionStatement", - "src": "1885:27:11" + "src": "1935:27:11" }, { "condition": { @@ -7682,35 +7870,35 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1912, + "id": 1924, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { - "id": 1908, + "id": 1920, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1874, - "src": "1926:8:11", + "referencedDeclaration": 1880, + "src": "1976:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1910, + "id": 1922, "indexExpression": { "hexValue": "32", - "id": 1909, + "id": 1921, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1935:1:11", + "src": "1985:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -7722,7 +7910,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1926:11:11", + "src": "1976:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7732,44 +7920,44 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 1911, + "id": 1923, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1940:1:11", + "src": "1990:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "1926:15:11", + "src": "1976:15:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1923, + "id": 1935, "nodeType": "IfStatement", - "src": "1922:72:11", + "src": "1972:72:11", "trueBody": { - "id": 1922, + "id": 1934, "nodeType": "Block", - "src": "1943:51:11", + "src": "1993:51:11", "statements": [ { "expression": { "arguments": [ { - "id": 1916, + "id": 1928, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1870, - "src": "1967:2:11", + "referencedDeclaration": 1876, + "src": "2017:2:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7777,28 +7965,28 @@ }, { "baseExpression": { - "id": 1917, + "id": 1929, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1874, - "src": "1971:8:11", + "referencedDeclaration": 1880, + "src": "2021:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1919, + "id": 1931, "indexExpression": { "hexValue": "32", - "id": 1918, + "id": 1930, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1980:1:11", + "src": "2030:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -7810,7 +7998,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1971:11:11", + "src": "2021:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7829,18 +8017,18 @@ } ], "expression": { - "id": 1913, + "id": 1925, "name": "chip", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1742, - "src": "1957:4:11", + "src": "2007:4:11", "typeDescriptions": { "typeIdentifier": "t_contract$_IBurnableERC721_$1729", "typeString": "contract IBurnableERC721" } }, - "id": 1915, + "id": 1927, "isConstant": false, "isLValue": false, "isPure": false, @@ -7848,13 +8036,13 @@ "memberName": "burn", "nodeType": "MemberAccess", "referencedDeclaration": 1728, - "src": "1957:9:11", + "src": "2007:9:11", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256) external" } }, - "id": 1920, + "id": 1932, "isConstant": false, "isLValue": false, "isPure": false, @@ -7862,16 +8050,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1957:26:11", + "src": "2007:26:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1921, + "id": 1933, "nodeType": "ExpressionStatement", - "src": "1957:26:11" + "src": "2007:26:11" } ] } @@ -7882,12 +8070,12 @@ { "arguments": [ { - "id": 1927, + "id": 1939, "name": "equip", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1739, - "src": "2029:5:11", + "src": "2079:5:11", "typeDescriptions": { "typeIdentifier": "t_contract$_IBurnableERC721_$1729", "typeString": "contract IBurnableERC721" @@ -7901,26 +8089,26 @@ "typeString": "contract IBurnableERC721" } ], - "id": 1926, + "id": 1938, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2021:7:11", + "src": "2071:7:11", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 1925, + "id": 1937, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2021:7:11", + "src": "2071:7:11", "typeDescriptions": {} } }, - "id": 1928, + "id": 1940, "isConstant": false, "isLValue": false, "isPure": false, @@ -7928,7 +8116,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2021:14:11", + "src": "2071:14:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -7936,12 +8124,12 @@ } }, { - "id": 1929, + "id": 1941, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1870, - "src": "2037:2:11", + "referencedDeclaration": 1876, + "src": "2087:2:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7949,28 +8137,28 @@ }, { "baseExpression": { - "id": 1930, + "id": 1942, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1874, - "src": "2041:8:11", + "referencedDeclaration": 1880, + "src": "2091:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1932, + "id": 1944, "indexExpression": { "hexValue": "30", - "id": 1931, + "id": 1943, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2050:1:11", + "src": "2100:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -7982,7 +8170,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2041:11:11", + "src": "2091:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7990,28 +8178,28 @@ }, { "baseExpression": { - "id": 1933, + "id": 1945, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1874, - "src": "2054:8:11", + "referencedDeclaration": 1880, + "src": "2104:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1935, + "id": 1947, "indexExpression": { "hexValue": "31", - "id": 1934, + "id": 1946, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2063:1:11", + "src": "2113:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -8023,7 +8211,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2054:11:11", + "src": "2104:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8031,28 +8219,28 @@ }, { "baseExpression": { - "id": 1936, + "id": 1948, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1874, - "src": "2067:8:11", + "referencedDeclaration": 1880, + "src": "2117:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1938, + "id": 1950, "indexExpression": { "hexValue": "32", - "id": 1937, + "id": 1949, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2076:1:11", + "src": "2126:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -8064,7 +8252,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2067:11:11", + "src": "2117:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8094,18 +8282,18 @@ "typeString": "uint256" } ], - "id": 1924, + "id": 1936, "name": "TokenEvolved", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1756, - "src": "2008:12:11", + "src": "2058:12:11", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256,uint256,uint256)" } }, - "id": 1939, + "id": 1951, "isConstant": false, "isLValue": false, "isPure": false, @@ -8113,46 +8301,46 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2008:71:11", + "src": "2058:71:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1940, + "id": 1952, "nodeType": "EmitStatement", - "src": "2003:76:11" + "src": "2053:76:11" } ] }, "documentation": { - "id": 1868, + "id": 1874, "nodeType": "StructuredDocumentation", - "src": "1504:125:11", + "src": "1529:125:11", "text": " @dev evolve function to Blissful Elites Equip NFT\n tokenIds: [equip_to_evolve, equip_for_burn, chip]" }, "functionSelector": "a5925336", - "id": 1942, + "id": 1954, "implemented": true, "kind": "function", "modifiers": [], "name": "evolveEquip", - "nameLocation": "1643:11:11", + "nameLocation": "1668:11:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 1875, + "id": 1881, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1870, + "id": 1876, "mutability": "mutable", "name": "to", - "nameLocation": "1663:2:11", + "nameLocation": "1688:2:11", "nodeType": "VariableDeclaration", - "scope": 1942, - "src": "1655:10:11", + "scope": 1954, + "src": "1680:10:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8160,10 +8348,10 @@ "typeString": "address" }, "typeName": { - "id": 1869, + "id": 1875, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1655:7:11", + "src": "1680:7:11", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8174,13 +8362,13 @@ }, { "constant": false, - "id": 1874, + "id": 1880, "mutability": "mutable", "name": "tokenIds", - "nameLocation": "1687:8:11", + "nameLocation": "1712:8:11", "nodeType": "VariableDeclaration", - "scope": 1942, - "src": "1667:28:11", + "scope": 1954, + "src": "1692:28:11", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -8189,26 +8377,26 @@ }, "typeName": { "baseType": { - "id": 1871, + "id": 1877, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1667:7:11", + "src": "1692:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1873, + "id": 1879, "length": { "hexValue": "33", - "id": 1872, + "id": 1878, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1675:1:11", + "src": "1700:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" @@ -8216,7 +8404,7 @@ "value": "3" }, "nodeType": "ArrayTypeName", - "src": "1667:10:11", + "src": "1692:10:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_storage_ptr", "typeString": "uint256[3]" @@ -8225,40 +8413,40 @@ "visibility": "internal" } ], - "src": "1654:42:11" + "src": "1679:42:11" }, "returnParameters": { - "id": 1876, + "id": 1882, "nodeType": "ParameterList", "parameters": [], - "src": "1705:0:11" + "src": "1730:0:11" }, - "scope": 1954, - "src": "1634:452:11", + "scope": 1966, + "src": "1659:477:11", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 1952, + "id": 1964, "nodeType": "Block", - "src": "2203:43:11", + "src": "2253:43:11", "statements": [ { "expression": { - "id": 1950, + "id": 1962, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1948, + "id": 1960, "name": "publicEvolveAllowed", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1744, - "src": "2213:19:11", + "src": "2263:19:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8268,85 +8456,85 @@ "operator": "=", "rightHandSide": { "hexValue": "74727565", - "id": 1949, + "id": 1961, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2235:4:11", + "src": "2285:4:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "src": "2213:26:11", + "src": "2263:26:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1951, + "id": 1963, "nodeType": "ExpressionStatement", - "src": "2213:26:11" + "src": "2263:26:11" } ] }, "documentation": { - "id": 1943, + "id": 1955, "nodeType": "StructuredDocumentation", - "src": "2093:59:11", + "src": "2143:59:11", "text": " @dev function to allow user evolve items" }, "functionSelector": "db529ad5", - "id": 1953, + "id": 1965, "implemented": true, "kind": "function", "modifiers": [ { - "id": 1946, + "id": 1958, "kind": "modifierInvocation", "modifierName": { - "id": 1945, + "id": 1957, "name": "onlyOwner", "nodeType": "IdentifierPath", "referencedDeclaration": 46, - "src": "2193:9:11" + "src": "2243:9:11" }, "nodeType": "ModifierInvocation", - "src": "2193:9:11" + "src": "2243:9:11" } ], "name": "allowPublicEvolve", - "nameLocation": "2166:17:11", + "nameLocation": "2216:17:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 1944, + "id": 1956, "nodeType": "ParameterList", "parameters": [], - "src": "2183:2:11" + "src": "2233:2:11" }, "returnParameters": { - "id": 1947, + "id": 1959, "nodeType": "ParameterList", "parameters": [], - "src": "2203:0:11" + "src": "2253:0:11" }, - "scope": 1954, - "src": "2157:89:11", + "scope": 1966, + "src": "2207:89:11", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" } ], - "scope": 1955, - "src": "334:1915:11", + "scope": 1967, + "src": "334:1965:11", "usedErrors": [] } ], - "src": "32:2217:11" + "src": "32:2267:11" }, "legacyAST": { "absolutePath": "project:/contracts/EvolveProxy.sol", @@ -8358,7 +8546,7 @@ 915 ], "EvolveProxy": [ - 1954 + 1966 ], "IBurnableERC721": [ 1729 @@ -8376,7 +8564,7 @@ 104 ] }, - "id": 1955, + "id": 1967, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ @@ -8397,7 +8585,7 @@ "id": 1717, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1955, + "scope": 1967, "sourceUnit": 105, "src": "56:52:11", "symbolAliases": [], @@ -8409,7 +8597,7 @@ "id": 1718, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1955, + "scope": 1967, "sourceUnit": 179, "src": "109:63:11", "symbolAliases": [], @@ -8421,7 +8609,7 @@ "id": 1719, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1955, + "scope": 1967, "sourceUnit": 597, "src": "173:58:11", "symbolAliases": [], @@ -8541,7 +8729,7 @@ "visibility": "external" } ], - "scope": 1955, + "scope": 1967, "src": "233:100:11", "usedErrors": [] }, @@ -8577,9 +8765,9 @@ "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, - "id": 1954, + "id": 1966, "linearizedBaseContracts": [ - 1954, + 1966, 178, 104, 915 @@ -8596,7 +8784,7 @@ "name": "hero", "nameLocation": "411:4:11", "nodeType": "VariableDeclaration", - "scope": 1954, + "scope": 1966, "src": "388:27:11", "stateVariable": true, "storageLocation": "default", @@ -8631,7 +8819,7 @@ "name": "equip", "nameLocation": "444:5:11", "nodeType": "VariableDeclaration", - "scope": 1954, + "scope": 1966, "src": "421:28:11", "stateVariable": true, "storageLocation": "default", @@ -8666,7 +8854,7 @@ "name": "chip", "nameLocation": "478:4:11", "nodeType": "VariableDeclaration", - "scope": 1954, + "scope": 1966, "src": "455:27:11", "stateVariable": true, "storageLocation": "default", @@ -8701,7 +8889,7 @@ "name": "publicEvolveAllowed", "nameLocation": "501:19:11", "nodeType": "VariableDeclaration", - "scope": 1954, + "scope": 1966, "src": "489:31:11", "stateVariable": true, "storageLocation": "default", @@ -9311,7 +9499,7 @@ "parameters": [], "src": "778:0:11" }, - "scope": 1954, + "scope": 1966, "src": "703:218:11", "stateMutability": "nonpayable", "virtual": false, @@ -9319,9 +9507,9 @@ }, { "body": { - "id": 1866, + "id": 1872, "nodeType": "Block", - "src": "1125:373:11", + "src": "1125:398:11", "statements": [ { "expression": { @@ -9331,18 +9519,112 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1809, + "id": 1815, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1803, - "name": "publicEvolveAllowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1744, - "src": "1143:19:11", + "components": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1808, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1803, + "name": "publicEvolveAllowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1744, + "src": "1144:19:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1807, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1804, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 905, + "src": "1168:10:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 1805, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1168:12:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 1806, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1795, + "src": "1184:2:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1168:18:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1144:42:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 1809, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1143:44:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9355,7 +9637,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1808, + "id": 1814, "isConstant": false, "isLValue": false, "isPure": false, @@ -9364,18 +9646,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1804, + "id": 1810, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 905, - "src": "1166:10:11", + "src": "1191:10:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 1805, + "id": 1811, "isConstant": false, "isLValue": false, "isPure": false, @@ -9383,7 +9665,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1166:12:11", + "src": "1191:12:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -9396,18 +9678,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1806, + "id": 1812, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 32, - "src": "1182:5:11", + "src": "1207:5:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 1807, + "id": 1813, "isConstant": false, "isLValue": false, "isPure": false, @@ -9415,20 +9697,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1182:7:11", + "src": "1207:7:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1166:23:11", + "src": "1191:23:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "1143:46:11", + "src": "1143:71:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9456,7 +9738,7 @@ "typeString": "function (bool) pure" } }, - "id": 1810, + "id": 1816, "isConstant": false, "isLValue": false, "isPure": false, @@ -9464,16 +9746,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1135:55:11", + "src": "1135:80:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1811, + "id": 1817, "nodeType": "ExpressionStatement", - "src": "1135:55:11" + "src": "1135:80:11" }, { "expression": { @@ -9483,7 +9765,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1820, + "id": 1826, "isConstant": false, "isLValue": false, "isPure": false, @@ -9492,28 +9774,28 @@ "arguments": [ { "baseExpression": { - "id": 1815, + "id": 1821, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1799, - "src": "1221:8:11", + "src": "1246:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1817, + "id": 1823, "indexExpression": { "hexValue": "30", - "id": 1816, + "id": 1822, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1230:1:11", + "src": "1255:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -9525,7 +9807,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1221:11:11", + "src": "1246:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9540,18 +9822,18 @@ } ], "expression": { - "id": 1813, + "id": 1819, "name": "hero", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1736, - "src": "1208:4:11", + "src": "1233:4:11", "typeDescriptions": { "typeIdentifier": "t_contract$_IBurnableERC721_$1729", "typeString": "contract IBurnableERC721" } }, - "id": 1814, + "id": 1820, "isConstant": false, "isLValue": false, "isPure": false, @@ -9559,13 +9841,13 @@ "memberName": "ownerOf", "nodeType": "MemberAccess", "referencedDeclaration": 529, - "src": "1208:12:11", + "src": "1233:12:11", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view external returns (address)" } }, - "id": 1818, + "id": 1824, "isConstant": false, "isLValue": false, "isPure": false, @@ -9573,7 +9855,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1208:25:11", + "src": "1233:25:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -9583,18 +9865,18 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 1819, + "id": 1825, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1795, - "src": "1237:2:11", + "src": "1262:2:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1208:31:11", + "src": "1233:31:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9602,14 +9884,14 @@ }, { "hexValue": "63757272656e742061646472657373206973206e6f74206f776e6572206f662074686973206865726f206e6f77", - "id": 1821, + "id": 1827, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1241:47:11", + "src": "1266:47:11", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e1cd0235be0cd1e3bf7e364fefba10ffea45e93f9e616a5e9b09e2bf3496f22e", "typeString": "literal_string \"current address is not owner of this hero now\"" @@ -9628,7 +9910,7 @@ "typeString": "literal_string \"current address is not owner of this hero now\"" } ], - "id": 1812, + "id": 1818, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -9636,13 +9918,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "1200:7:11", + "src": "1225:7:11", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1822, + "id": 1828, "isConstant": false, "isLValue": false, "isPure": false, @@ -9650,27 +9932,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1200:89:11", + "src": "1225:89:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1823, + "id": 1829, "nodeType": "ExpressionStatement", - "src": "1200:89:11" + "src": "1225:89:11" }, { "expression": { "arguments": [ { - "id": 1827, + "id": 1833, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1795, - "src": "1309:2:11", + "src": "1334:2:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9678,28 +9960,28 @@ }, { "baseExpression": { - "id": 1828, + "id": 1834, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1799, - "src": "1313:8:11", + "src": "1338:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1830, + "id": 1836, "indexExpression": { "hexValue": "31", - "id": 1829, + "id": 1835, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1322:1:11", + "src": "1347:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -9711,7 +9993,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1313:11:11", + "src": "1338:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9730,18 +10012,18 @@ } ], "expression": { - "id": 1824, + "id": 1830, "name": "hero", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1736, - "src": "1299:4:11", + "src": "1324:4:11", "typeDescriptions": { "typeIdentifier": "t_contract$_IBurnableERC721_$1729", "typeString": "contract IBurnableERC721" } }, - "id": 1826, + "id": 1832, "isConstant": false, "isLValue": false, "isPure": false, @@ -9749,13 +10031,13 @@ "memberName": "burn", "nodeType": "MemberAccess", "referencedDeclaration": 1728, - "src": "1299:9:11", + "src": "1324:9:11", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256) external" } }, - "id": 1831, + "id": 1837, "isConstant": false, "isLValue": false, "isPure": false, @@ -9763,16 +10045,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1299:26:11", + "src": "1324:26:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1832, + "id": 1838, "nodeType": "ExpressionStatement", - "src": "1299:26:11" + "src": "1324:26:11" }, { "condition": { @@ -9780,35 +10062,35 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1837, + "id": 1843, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { - "id": 1833, + "id": 1839, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1799, - "src": "1339:8:11", + "src": "1364:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1835, + "id": 1841, "indexExpression": { "hexValue": "32", - "id": 1834, + "id": 1840, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1348:1:11", + "src": "1373:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -9820,7 +10102,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1339:11:11", + "src": "1364:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9830,44 +10112,44 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 1836, + "id": 1842, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1353:1:11", + "src": "1378:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "1339:15:11", + "src": "1364:15:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1848, + "id": 1854, "nodeType": "IfStatement", - "src": "1335:72:11", + "src": "1360:72:11", "trueBody": { - "id": 1847, + "id": 1853, "nodeType": "Block", - "src": "1356:51:11", + "src": "1381:51:11", "statements": [ { "expression": { "arguments": [ { - "id": 1841, + "id": 1847, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1795, - "src": "1380:2:11", + "src": "1405:2:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9875,28 +10157,28 @@ }, { "baseExpression": { - "id": 1842, + "id": 1848, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1799, - "src": "1384:8:11", + "src": "1409:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1844, + "id": 1850, "indexExpression": { "hexValue": "32", - "id": 1843, + "id": 1849, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1393:1:11", + "src": "1418:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -9908,7 +10190,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1384:11:11", + "src": "1409:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9927,18 +10209,18 @@ } ], "expression": { - "id": 1838, + "id": 1844, "name": "chip", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1742, - "src": "1370:4:11", + "src": "1395:4:11", "typeDescriptions": { "typeIdentifier": "t_contract$_IBurnableERC721_$1729", "typeString": "contract IBurnableERC721" } }, - "id": 1840, + "id": 1846, "isConstant": false, "isLValue": false, "isPure": false, @@ -9946,13 +10228,13 @@ "memberName": "burn", "nodeType": "MemberAccess", "referencedDeclaration": 1728, - "src": "1370:9:11", + "src": "1395:9:11", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256) external" } }, - "id": 1845, + "id": 1851, "isConstant": false, "isLValue": false, "isPure": false, @@ -9960,16 +10242,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1370:26:11", + "src": "1395:26:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1846, + "id": 1852, "nodeType": "ExpressionStatement", - "src": "1370:26:11" + "src": "1395:26:11" } ] } @@ -9980,12 +10262,12 @@ { "arguments": [ { - "id": 1852, + "id": 1858, "name": "hero", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1736, - "src": "1442:4:11", + "src": "1467:4:11", "typeDescriptions": { "typeIdentifier": "t_contract$_IBurnableERC721_$1729", "typeString": "contract IBurnableERC721" @@ -9999,26 +10281,26 @@ "typeString": "contract IBurnableERC721" } ], - "id": 1851, + "id": 1857, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1434:7:11", + "src": "1459:7:11", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 1850, + "id": 1856, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1434:7:11", + "src": "1459:7:11", "typeDescriptions": {} } }, - "id": 1853, + "id": 1859, "isConstant": false, "isLValue": false, "isPure": false, @@ -10026,7 +10308,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1434:13:11", + "src": "1459:13:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -10034,12 +10316,12 @@ } }, { - "id": 1854, + "id": 1860, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1795, - "src": "1449:2:11", + "src": "1474:2:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10047,28 +10329,28 @@ }, { "baseExpression": { - "id": 1855, + "id": 1861, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1799, - "src": "1453:8:11", + "src": "1478:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1857, + "id": 1863, "indexExpression": { "hexValue": "30", - "id": 1856, + "id": 1862, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1462:1:11", + "src": "1487:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -10080,7 +10362,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1453:11:11", + "src": "1478:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10088,28 +10370,28 @@ }, { "baseExpression": { - "id": 1858, + "id": 1864, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1799, - "src": "1466:8:11", + "src": "1491:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1860, + "id": 1866, "indexExpression": { "hexValue": "31", - "id": 1859, + "id": 1865, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1475:1:11", + "src": "1500:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -10121,7 +10403,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1466:11:11", + "src": "1491:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10129,28 +10411,28 @@ }, { "baseExpression": { - "id": 1861, + "id": 1867, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1799, - "src": "1479:8:11", + "src": "1504:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1863, + "id": 1869, "indexExpression": { "hexValue": "32", - "id": 1862, + "id": 1868, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1488:1:11", + "src": "1513:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -10162,7 +10444,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1479:11:11", + "src": "1504:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10192,18 +10474,18 @@ "typeString": "uint256" } ], - "id": 1849, + "id": 1855, "name": "TokenEvolved", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1756, - "src": "1421:12:11", + "src": "1446:12:11", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256,uint256,uint256)" } }, - "id": 1864, + "id": 1870, "isConstant": false, "isLValue": false, "isPure": false, @@ -10211,16 +10493,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1421:70:11", + "src": "1446:70:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1865, + "id": 1871, "nodeType": "EmitStatement", - "src": "1416:75:11" + "src": "1441:75:11" } ] }, @@ -10231,7 +10513,7 @@ "text": " @dev evolve function to Blissful Elites Hero NFT\n tokenIds: [hero_to_evolve, hero_for_burn, chip]" }, "functionSelector": "8961054b", - "id": 1867, + "id": 1873, "implemented": true, "kind": "function", "modifiers": [], @@ -10249,7 +10531,7 @@ "name": "to", "nameLocation": "1082:2:11", "nodeType": "VariableDeclaration", - "scope": 1867, + "scope": 1873, "src": "1074:10:11", "stateVariable": false, "storageLocation": "default", @@ -10277,7 +10559,7 @@ "name": "tokenIds", "nameLocation": "1106:8:11", "nodeType": "VariableDeclaration", - "scope": 1867, + "scope": 1873, "src": "1086:28:11", "stateVariable": false, "storageLocation": "calldata", @@ -10331,17 +10613,17 @@ "parameters": [], "src": "1125:0:11" }, - "scope": 1954, - "src": "1054:444:11", + "scope": 1966, + "src": "1054:469:11", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 1941, + "id": 1953, "nodeType": "Block", - "src": "1705:381:11", + "src": "1730:406:11", "statements": [ { "expression": { @@ -10351,18 +10633,112 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1884, + "id": 1896, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1878, - "name": "publicEvolveAllowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1744, - "src": "1723:19:11", + "components": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1889, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1884, + "name": "publicEvolveAllowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1744, + "src": "1749:19:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1888, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1885, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 905, + "src": "1773:10:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 1886, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1773:12:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 1887, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1876, + "src": "1789:2:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1773:18:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1749:42:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 1890, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1748:44:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10375,7 +10751,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1883, + "id": 1895, "isConstant": false, "isLValue": false, "isPure": false, @@ -10384,18 +10760,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1879, + "id": 1891, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 905, - "src": "1746:10:11", + "src": "1796:10:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 1880, + "id": 1892, "isConstant": false, "isLValue": false, "isPure": false, @@ -10403,7 +10779,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1746:12:11", + "src": "1796:12:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -10416,18 +10792,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1881, + "id": 1893, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 32, - "src": "1762:5:11", + "src": "1812:5:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 1882, + "id": 1894, "isConstant": false, "isLValue": false, "isPure": false, @@ -10435,20 +10811,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1762:7:11", + "src": "1812:7:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1746:23:11", + "src": "1796:23:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "1723:46:11", + "src": "1748:71:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10462,7 +10838,7 @@ "typeString": "bool" } ], - "id": 1877, + "id": 1883, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -10470,13 +10846,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "1715:7:11", + "src": "1740:7:11", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1885, + "id": 1897, "isConstant": false, "isLValue": false, "isPure": false, @@ -10484,16 +10860,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1715:55:11", + "src": "1740:80:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1886, + "id": 1898, "nodeType": "ExpressionStatement", - "src": "1715:55:11" + "src": "1740:80:11" }, { "expression": { @@ -10503,7 +10879,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1895, + "id": 1907, "isConstant": false, "isLValue": false, "isPure": false, @@ -10512,28 +10888,28 @@ "arguments": [ { "baseExpression": { - "id": 1890, + "id": 1902, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1874, - "src": "1802:8:11", + "referencedDeclaration": 1880, + "src": "1852:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1892, + "id": 1904, "indexExpression": { "hexValue": "30", - "id": 1891, + "id": 1903, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1811:1:11", + "src": "1861:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -10545,7 +10921,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1802:11:11", + "src": "1852:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10560,18 +10936,18 @@ } ], "expression": { - "id": 1888, + "id": 1900, "name": "equip", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1739, - "src": "1788:5:11", + "src": "1838:5:11", "typeDescriptions": { "typeIdentifier": "t_contract$_IBurnableERC721_$1729", "typeString": "contract IBurnableERC721" } }, - "id": 1889, + "id": 1901, "isConstant": false, "isLValue": false, "isPure": false, @@ -10579,13 +10955,13 @@ "memberName": "ownerOf", "nodeType": "MemberAccess", "referencedDeclaration": 529, - "src": "1788:13:11", + "src": "1838:13:11", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view external returns (address)" } }, - "id": 1893, + "id": 1905, "isConstant": false, "isLValue": false, "isPure": false, @@ -10593,7 +10969,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1788:26:11", + "src": "1838:26:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -10603,18 +10979,18 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 1894, + "id": 1906, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1870, - "src": "1818:2:11", + "referencedDeclaration": 1876, + "src": "1868:2:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1788:32:11", + "src": "1838:32:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10622,14 +10998,14 @@ }, { "hexValue": "63757272656e742061646472657373206973206e6f74206f776e6572206f6620746869732065717569706d656e74206e6f77", - "id": 1896, + "id": 1908, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1822:52:11", + "src": "1872:52:11", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e4e8a2032eab8e2d753203d129ac68c962bfd545c54de8b4c0ecd7dec58bd68b", "typeString": "literal_string \"current address is not owner of this equipment now\"" @@ -10648,7 +11024,7 @@ "typeString": "literal_string \"current address is not owner of this equipment now\"" } ], - "id": 1887, + "id": 1899, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -10656,13 +11032,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "1780:7:11", + "src": "1830:7:11", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1897, + "id": 1909, "isConstant": false, "isLValue": false, "isPure": false, @@ -10670,27 +11046,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1780:95:11", + "src": "1830:95:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1898, + "id": 1910, "nodeType": "ExpressionStatement", - "src": "1780:95:11" + "src": "1830:95:11" }, { "expression": { "arguments": [ { - "id": 1902, + "id": 1914, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1870, - "src": "1896:2:11", + "referencedDeclaration": 1876, + "src": "1946:2:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10698,28 +11074,28 @@ }, { "baseExpression": { - "id": 1903, + "id": 1915, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1874, - "src": "1900:8:11", + "referencedDeclaration": 1880, + "src": "1950:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1905, + "id": 1917, "indexExpression": { "hexValue": "31", - "id": 1904, + "id": 1916, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1909:1:11", + "src": "1959:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -10731,7 +11107,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1900:11:11", + "src": "1950:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10750,18 +11126,18 @@ } ], "expression": { - "id": 1899, + "id": 1911, "name": "equip", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1739, - "src": "1885:5:11", + "src": "1935:5:11", "typeDescriptions": { "typeIdentifier": "t_contract$_IBurnableERC721_$1729", "typeString": "contract IBurnableERC721" } }, - "id": 1901, + "id": 1913, "isConstant": false, "isLValue": false, "isPure": false, @@ -10769,13 +11145,13 @@ "memberName": "burn", "nodeType": "MemberAccess", "referencedDeclaration": 1728, - "src": "1885:10:11", + "src": "1935:10:11", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256) external" } }, - "id": 1906, + "id": 1918, "isConstant": false, "isLValue": false, "isPure": false, @@ -10783,16 +11159,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1885:27:11", + "src": "1935:27:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1907, + "id": 1919, "nodeType": "ExpressionStatement", - "src": "1885:27:11" + "src": "1935:27:11" }, { "condition": { @@ -10800,35 +11176,35 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1912, + "id": 1924, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { - "id": 1908, + "id": 1920, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1874, - "src": "1926:8:11", + "referencedDeclaration": 1880, + "src": "1976:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1910, + "id": 1922, "indexExpression": { "hexValue": "32", - "id": 1909, + "id": 1921, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1935:1:11", + "src": "1985:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -10840,7 +11216,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1926:11:11", + "src": "1976:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10850,44 +11226,44 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 1911, + "id": 1923, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1940:1:11", + "src": "1990:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "1926:15:11", + "src": "1976:15:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1923, + "id": 1935, "nodeType": "IfStatement", - "src": "1922:72:11", + "src": "1972:72:11", "trueBody": { - "id": 1922, + "id": 1934, "nodeType": "Block", - "src": "1943:51:11", + "src": "1993:51:11", "statements": [ { "expression": { "arguments": [ { - "id": 1916, + "id": 1928, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1870, - "src": "1967:2:11", + "referencedDeclaration": 1876, + "src": "2017:2:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10895,28 +11271,28 @@ }, { "baseExpression": { - "id": 1917, + "id": 1929, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1874, - "src": "1971:8:11", + "referencedDeclaration": 1880, + "src": "2021:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1919, + "id": 1931, "indexExpression": { "hexValue": "32", - "id": 1918, + "id": 1930, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1980:1:11", + "src": "2030:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -10928,7 +11304,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1971:11:11", + "src": "2021:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10947,18 +11323,18 @@ } ], "expression": { - "id": 1913, + "id": 1925, "name": "chip", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1742, - "src": "1957:4:11", + "src": "2007:4:11", "typeDescriptions": { "typeIdentifier": "t_contract$_IBurnableERC721_$1729", "typeString": "contract IBurnableERC721" } }, - "id": 1915, + "id": 1927, "isConstant": false, "isLValue": false, "isPure": false, @@ -10966,13 +11342,13 @@ "memberName": "burn", "nodeType": "MemberAccess", "referencedDeclaration": 1728, - "src": "1957:9:11", + "src": "2007:9:11", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256) external" } }, - "id": 1920, + "id": 1932, "isConstant": false, "isLValue": false, "isPure": false, @@ -10980,16 +11356,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1957:26:11", + "src": "2007:26:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1921, + "id": 1933, "nodeType": "ExpressionStatement", - "src": "1957:26:11" + "src": "2007:26:11" } ] } @@ -11000,12 +11376,12 @@ { "arguments": [ { - "id": 1927, + "id": 1939, "name": "equip", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1739, - "src": "2029:5:11", + "src": "2079:5:11", "typeDescriptions": { "typeIdentifier": "t_contract$_IBurnableERC721_$1729", "typeString": "contract IBurnableERC721" @@ -11019,26 +11395,26 @@ "typeString": "contract IBurnableERC721" } ], - "id": 1926, + "id": 1938, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2021:7:11", + "src": "2071:7:11", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 1925, + "id": 1937, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2021:7:11", + "src": "2071:7:11", "typeDescriptions": {} } }, - "id": 1928, + "id": 1940, "isConstant": false, "isLValue": false, "isPure": false, @@ -11046,7 +11422,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2021:14:11", + "src": "2071:14:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -11054,12 +11430,12 @@ } }, { - "id": 1929, + "id": 1941, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1870, - "src": "2037:2:11", + "referencedDeclaration": 1876, + "src": "2087:2:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11067,28 +11443,28 @@ }, { "baseExpression": { - "id": 1930, + "id": 1942, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1874, - "src": "2041:8:11", + "referencedDeclaration": 1880, + "src": "2091:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1932, + "id": 1944, "indexExpression": { "hexValue": "30", - "id": 1931, + "id": 1943, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2050:1:11", + "src": "2100:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -11100,7 +11476,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2041:11:11", + "src": "2091:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11108,28 +11484,28 @@ }, { "baseExpression": { - "id": 1933, + "id": 1945, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1874, - "src": "2054:8:11", + "referencedDeclaration": 1880, + "src": "2104:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1935, + "id": 1947, "indexExpression": { "hexValue": "31", - "id": 1934, + "id": 1946, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2063:1:11", + "src": "2113:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -11141,7 +11517,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2054:11:11", + "src": "2104:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11149,28 +11525,28 @@ }, { "baseExpression": { - "id": 1936, + "id": 1948, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1874, - "src": "2067:8:11", + "referencedDeclaration": 1880, + "src": "2117:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1938, + "id": 1950, "indexExpression": { "hexValue": "32", - "id": 1937, + "id": 1949, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2076:1:11", + "src": "2126:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -11182,7 +11558,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2067:11:11", + "src": "2117:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11212,18 +11588,18 @@ "typeString": "uint256" } ], - "id": 1924, + "id": 1936, "name": "TokenEvolved", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1756, - "src": "2008:12:11", + "src": "2058:12:11", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256,uint256,uint256)" } }, - "id": 1939, + "id": 1951, "isConstant": false, "isLValue": false, "isPure": false, @@ -11231,46 +11607,46 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2008:71:11", + "src": "2058:71:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1940, + "id": 1952, "nodeType": "EmitStatement", - "src": "2003:76:11" + "src": "2053:76:11" } ] }, "documentation": { - "id": 1868, + "id": 1874, "nodeType": "StructuredDocumentation", - "src": "1504:125:11", + "src": "1529:125:11", "text": " @dev evolve function to Blissful Elites Equip NFT\n tokenIds: [equip_to_evolve, equip_for_burn, chip]" }, "functionSelector": "a5925336", - "id": 1942, + "id": 1954, "implemented": true, "kind": "function", "modifiers": [], "name": "evolveEquip", - "nameLocation": "1643:11:11", + "nameLocation": "1668:11:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 1875, + "id": 1881, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1870, + "id": 1876, "mutability": "mutable", "name": "to", - "nameLocation": "1663:2:11", + "nameLocation": "1688:2:11", "nodeType": "VariableDeclaration", - "scope": 1942, - "src": "1655:10:11", + "scope": 1954, + "src": "1680:10:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11278,10 +11654,10 @@ "typeString": "address" }, "typeName": { - "id": 1869, + "id": 1875, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1655:7:11", + "src": "1680:7:11", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11292,13 +11668,13 @@ }, { "constant": false, - "id": 1874, + "id": 1880, "mutability": "mutable", "name": "tokenIds", - "nameLocation": "1687:8:11", + "nameLocation": "1712:8:11", "nodeType": "VariableDeclaration", - "scope": 1942, - "src": "1667:28:11", + "scope": 1954, + "src": "1692:28:11", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -11307,26 +11683,26 @@ }, "typeName": { "baseType": { - "id": 1871, + "id": 1877, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1667:7:11", + "src": "1692:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1873, + "id": 1879, "length": { "hexValue": "33", - "id": 1872, + "id": 1878, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1675:1:11", + "src": "1700:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" @@ -11334,7 +11710,7 @@ "value": "3" }, "nodeType": "ArrayTypeName", - "src": "1667:10:11", + "src": "1692:10:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_storage_ptr", "typeString": "uint256[3]" @@ -11343,40 +11719,40 @@ "visibility": "internal" } ], - "src": "1654:42:11" + "src": "1679:42:11" }, "returnParameters": { - "id": 1876, + "id": 1882, "nodeType": "ParameterList", "parameters": [], - "src": "1705:0:11" + "src": "1730:0:11" }, - "scope": 1954, - "src": "1634:452:11", + "scope": 1966, + "src": "1659:477:11", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 1952, + "id": 1964, "nodeType": "Block", - "src": "2203:43:11", + "src": "2253:43:11", "statements": [ { "expression": { - "id": 1950, + "id": 1962, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1948, + "id": 1960, "name": "publicEvolveAllowed", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1744, - "src": "2213:19:11", + "src": "2263:19:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11386,85 +11762,85 @@ "operator": "=", "rightHandSide": { "hexValue": "74727565", - "id": 1949, + "id": 1961, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2235:4:11", + "src": "2285:4:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "src": "2213:26:11", + "src": "2263:26:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1951, + "id": 1963, "nodeType": "ExpressionStatement", - "src": "2213:26:11" + "src": "2263:26:11" } ] }, "documentation": { - "id": 1943, + "id": 1955, "nodeType": "StructuredDocumentation", - "src": "2093:59:11", + "src": "2143:59:11", "text": " @dev function to allow user evolve items" }, "functionSelector": "db529ad5", - "id": 1953, + "id": 1965, "implemented": true, "kind": "function", "modifiers": [ { - "id": 1946, + "id": 1958, "kind": "modifierInvocation", "modifierName": { - "id": 1945, + "id": 1957, "name": "onlyOwner", "nodeType": "IdentifierPath", "referencedDeclaration": 46, - "src": "2193:9:11" + "src": "2243:9:11" }, "nodeType": "ModifierInvocation", - "src": "2193:9:11" + "src": "2243:9:11" } ], "name": "allowPublicEvolve", - "nameLocation": "2166:17:11", + "nameLocation": "2216:17:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 1944, + "id": 1956, "nodeType": "ParameterList", "parameters": [], - "src": "2183:2:11" + "src": "2233:2:11" }, "returnParameters": { - "id": 1947, + "id": 1959, "nodeType": "ParameterList", "parameters": [], - "src": "2203:0:11" + "src": "2253:0:11" }, - "scope": 1954, - "src": "2157:89:11", + "scope": 1966, + "src": "2207:89:11", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" } ], - "scope": 1955, - "src": "334:1915:11", + "scope": 1967, + "src": "334:1965:11", "usedErrors": [] } ], - "src": "32:2217:11" + "src": "32:2267:11" }, "compiler": { "name": "solc", @@ -11556,12 +11932,12 @@ } }, "links": {}, - "address": "0xa52F06b0B98a2C858005C7A10F780239e1ee7454", - "transactionHash": "0x10772e1371af904a62cf50477aebeb62be87e3d1010c4c4555d98a7186fbf447" + "address": "0x705d8bBF70934E9597646BC4ED083351a18Cc974", + "transactionHash": "0x30694853b07539c9976698c27f80cb8093f66bdda47ee8c47b8a35d43eb0ce2d" } }, "schemaVersion": "3.4.4", - "updatedAt": "2022-01-17T08:25:53.110Z", + "updatedAt": "2022-01-17T08:46:52.551Z", "networkType": "ethereum", "devdoc": { "kind": "dev", diff --git a/build/contracts/IBurnableERC721.json b/build/contracts/IBurnableERC721.json index 3371a11..4cfcb9a 100644 --- a/build/contracts/IBurnableERC721.json +++ b/build/contracts/IBurnableERC721.json @@ -305,7 +305,7 @@ "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\":\"owner\",\"type\":\"address\"},{\"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 be 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: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. 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/EvolveProxy.sol\":\"IBurnableERC721\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0x24e0364e503a9bbde94c715d26573a76f14cd2a202d45f96f52134ab806b67b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12cbaa7378fd9b62280e4e1d164bedcb4399ce238f5f98fc0eefb7e50577981\",\"dweb:/ipfs/QmXRoFGUgfsaRkoPT5bxNMtSayKTQ8GZATLPXf69HcRA51\"]},\"@openzeppelin/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x94dd781aa290742d990ccb720b3cab52a3865d1ba004e35c1dc757aa3ee788e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d762e5eb6f74a6228a744b0261fb2dda4e2c8a214206ca67a443c06feb16ce2\",\"dweb:/ipfs/QmU85d56LUBCQ5j24hVf3WJ2uwjNoyLJr8ZYyDXWKmJGpU\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x516a22876c1fab47f49b1bc22b4614491cd05338af8bd2e7b382da090a079990\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a439187f7126d31add4557f82d8aed6be0162007cd7182c48fd934dbab8f3849\",\"dweb:/ipfs/QmRPLguRFvrRJS7r6F1bcLvsx6q1VrgjEpZafyeL8D7xZh\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x51b758a8815ecc9596c66c37d56b1d33883a444631a3f916b9fe65cb863ef7c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://997ca03557985b3c6f9143a18b6c3a710b3bc1c7f189ee956d305a966ecfb922\",\"dweb:/ipfs/QmQaD3Wb62F88SHqmpLttvF6wKuPDQep2LLUcKPekeRzvz\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"project:/contracts/EvolveProxy.sol\":{\"keccak256\":\"0xde1dd5725a26e7958192f9534b2d23a9f21c694cf42277c400335d73e304fb91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b18eb07ff48be1c46be499584335606f3e8338a1273a07fb1ea4e2496165c31a\",\"dweb:/ipfs/QmZdCr4by1FCsHu9mtTxyREzJFv6GUj5wVFgzccZQ3nrNS\"]}},\"version\":1}", + "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\":\"owner\",\"type\":\"address\"},{\"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 be 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: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. 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/EvolveProxy.sol\":\"IBurnableERC721\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0x24e0364e503a9bbde94c715d26573a76f14cd2a202d45f96f52134ab806b67b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12cbaa7378fd9b62280e4e1d164bedcb4399ce238f5f98fc0eefb7e50577981\",\"dweb:/ipfs/QmXRoFGUgfsaRkoPT5bxNMtSayKTQ8GZATLPXf69HcRA51\"]},\"@openzeppelin/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x94dd781aa290742d990ccb720b3cab52a3865d1ba004e35c1dc757aa3ee788e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d762e5eb6f74a6228a744b0261fb2dda4e2c8a214206ca67a443c06feb16ce2\",\"dweb:/ipfs/QmU85d56LUBCQ5j24hVf3WJ2uwjNoyLJr8ZYyDXWKmJGpU\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x516a22876c1fab47f49b1bc22b4614491cd05338af8bd2e7b382da090a079990\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a439187f7126d31add4557f82d8aed6be0162007cd7182c48fd934dbab8f3849\",\"dweb:/ipfs/QmRPLguRFvrRJS7r6F1bcLvsx6q1VrgjEpZafyeL8D7xZh\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x51b758a8815ecc9596c66c37d56b1d33883a444631a3f916b9fe65cb863ef7c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://997ca03557985b3c6f9143a18b6c3a710b3bc1c7f189ee956d305a966ecfb922\",\"dweb:/ipfs/QmQaD3Wb62F88SHqmpLttvF6wKuPDQep2LLUcKPekeRzvz\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"project:/contracts/EvolveProxy.sol\":{\"keccak256\":\"0x089500dad812b41e4bcdd1d4a9513405974b23c73915469423581192356aacfe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://64b97ad7e7b5360e21cdda640b34426392238d275dbaf198aeae1e796b4b02b5\",\"dweb:/ipfs/Qma84TC2eX74bKpmStzb8E5gEADvQzeTyvQLn9jhKVyyPG\"]}},\"version\":1}", "bytecode": "0x", "deployedBytecode": "0x", "immutableReferences": {}, @@ -313,7 +313,7 @@ "deployedGeneratedSources": [], "sourceMap": "", "deployedSourceMap": "", - "source": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\nimport \"@openzeppelin/contracts/access/Ownable.sol\";\nimport \"@openzeppelin/contracts/proxy/utils/Initializable.sol\";\nimport \"@openzeppelin/contracts/token/ERC721/IERC721.sol\";\n\ninterface IBurnableERC721 is IERC721 {\n function burn(address owner, uint256 tokenId) external;\n}\ncontract EvolveProxy is Ownable, Initializable {\n\n IBurnableERC721 public hero;\n IBurnableERC721 public equip;\n IBurnableERC721 public chip;\n\n bool public publicEvolveAllowed;\n event TokenEvolved(\n address contractAddress,\n address owner,\n uint256 indexed tokenEvolved,\n uint256 tokenBurned,\n uint256 chip\n );\n\n\n function init(address[3] calldata _erc721s) external initializer onlyOwner {\n hero = IBurnableERC721(_erc721s[0]);\n equip = IBurnableERC721(_erc721s[1]);\n chip = IBurnableERC721(_erc721s[2]);\n }\n\n /**\n * @dev evolve function to Blissful Elites Hero NFT\n * tokenIds: [hero_to_evolve, hero_for_burn, chip]\n */\n function evolveHero(address to, uint256[3] calldata tokenIds) external {\n require(publicEvolveAllowed || _msgSender() == owner());\n require(hero.ownerOf(tokenIds[0]) == to, \"current address is not owner of this hero now\");\n hero.burn(to, tokenIds[1]);\n if (tokenIds[2] > 0) {\n chip.burn(to, tokenIds[2]);\n }\n emit TokenEvolved(address(hero), to, tokenIds[0], tokenIds[1], tokenIds[2]);\n }\n\n /**\n * @dev evolve function to Blissful Elites Equip NFT\n * tokenIds: [equip_to_evolve, equip_for_burn, chip]\n */\n function evolveEquip(address to, uint256[3] calldata tokenIds) external{\n require(publicEvolveAllowed || _msgSender() == owner());\n require(equip.ownerOf(tokenIds[0]) == to, \"current address is not owner of this equipment now\");\n equip.burn(to, tokenIds[1]);\n if (tokenIds[2] > 0) {\n chip.burn(to, tokenIds[2]);\n }\n emit TokenEvolved(address(equip), to, tokenIds[0], tokenIds[1], tokenIds[2]);\n }\n\n\n /**\n * @dev function to allow user evolve items\n */\n function allowPublicEvolve() public onlyOwner {\n publicEvolveAllowed = true;\n }\n\n}", + "source": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\nimport \"@openzeppelin/contracts/access/Ownable.sol\";\nimport \"@openzeppelin/contracts/proxy/utils/Initializable.sol\";\nimport \"@openzeppelin/contracts/token/ERC721/IERC721.sol\";\n\ninterface IBurnableERC721 is IERC721 {\n function burn(address owner, uint256 tokenId) external;\n}\ncontract EvolveProxy is Ownable, Initializable {\n\n IBurnableERC721 public hero;\n IBurnableERC721 public equip;\n IBurnableERC721 public chip;\n\n bool public publicEvolveAllowed;\n event TokenEvolved(\n address contractAddress,\n address owner,\n uint256 indexed tokenEvolved,\n uint256 tokenBurned,\n uint256 chip\n );\n\n\n function init(address[3] calldata _erc721s) external initializer onlyOwner {\n hero = IBurnableERC721(_erc721s[0]);\n equip = IBurnableERC721(_erc721s[1]);\n chip = IBurnableERC721(_erc721s[2]);\n }\n\n /**\n * @dev evolve function to Blissful Elites Hero NFT\n * tokenIds: [hero_to_evolve, hero_for_burn, chip]\n */\n function evolveHero(address to, uint256[3] calldata tokenIds) external {\n require((publicEvolveAllowed && _msgSender() == to) || _msgSender() == owner());\n require(hero.ownerOf(tokenIds[0]) == to, \"current address is not owner of this hero now\");\n hero.burn(to, tokenIds[1]);\n if (tokenIds[2] > 0) {\n chip.burn(to, tokenIds[2]);\n }\n emit TokenEvolved(address(hero), to, tokenIds[0], tokenIds[1], tokenIds[2]);\n }\n\n /**\n * @dev evolve function to Blissful Elites Equip NFT\n * tokenIds: [equip_to_evolve, equip_for_burn, chip]\n */\n function evolveEquip(address to, uint256[3] calldata tokenIds) external{\n require((publicEvolveAllowed && _msgSender() == to) || _msgSender() == owner());\n require(equip.ownerOf(tokenIds[0]) == to, \"current address is not owner of this equipment now\");\n equip.burn(to, tokenIds[1]);\n if (tokenIds[2] > 0) {\n chip.burn(to, tokenIds[2]);\n }\n emit TokenEvolved(address(equip), to, tokenIds[0], tokenIds[1], tokenIds[2]);\n }\n\n\n /**\n * @dev function to allow user evolve items\n */\n function allowPublicEvolve() public onlyOwner {\n publicEvolveAllowed = true;\n }\n\n}", "sourcePath": "/Users/zhl/Documents/workspace/game/becrypto/contracts/EvolveProxy.sol", "ast": { "absolutePath": "project:/contracts/EvolveProxy.sol", @@ -325,7 +325,7 @@ 915 ], "EvolveProxy": [ - 1954 + 1966 ], "IBurnableERC721": [ 1729 @@ -343,7 +343,7 @@ 104 ] }, - "id": 1955, + "id": 1967, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ @@ -364,7 +364,7 @@ "id": 1717, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1955, + "scope": 1967, "sourceUnit": 105, "src": "56:52:11", "symbolAliases": [], @@ -376,7 +376,7 @@ "id": 1718, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1955, + "scope": 1967, "sourceUnit": 179, "src": "109:63:11", "symbolAliases": [], @@ -388,7 +388,7 @@ "id": 1719, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1955, + "scope": 1967, "sourceUnit": 597, "src": "173:58:11", "symbolAliases": [], @@ -508,7 +508,7 @@ "visibility": "external" } ], - "scope": 1955, + "scope": 1967, "src": "233:100:11", "usedErrors": [] }, @@ -544,9 +544,9 @@ "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, - "id": 1954, + "id": 1966, "linearizedBaseContracts": [ - 1954, + 1966, 178, 104, 915 @@ -563,7 +563,7 @@ "name": "hero", "nameLocation": "411:4:11", "nodeType": "VariableDeclaration", - "scope": 1954, + "scope": 1966, "src": "388:27:11", "stateVariable": true, "storageLocation": "default", @@ -598,7 +598,7 @@ "name": "equip", "nameLocation": "444:5:11", "nodeType": "VariableDeclaration", - "scope": 1954, + "scope": 1966, "src": "421:28:11", "stateVariable": true, "storageLocation": "default", @@ -633,7 +633,7 @@ "name": "chip", "nameLocation": "478:4:11", "nodeType": "VariableDeclaration", - "scope": 1954, + "scope": 1966, "src": "455:27:11", "stateVariable": true, "storageLocation": "default", @@ -668,7 +668,7 @@ "name": "publicEvolveAllowed", "nameLocation": "501:19:11", "nodeType": "VariableDeclaration", - "scope": 1954, + "scope": 1966, "src": "489:31:11", "stateVariable": true, "storageLocation": "default", @@ -1278,7 +1278,7 @@ "parameters": [], "src": "778:0:11" }, - "scope": 1954, + "scope": 1966, "src": "703:218:11", "stateMutability": "nonpayable", "virtual": false, @@ -1286,9 +1286,9 @@ }, { "body": { - "id": 1866, + "id": 1872, "nodeType": "Block", - "src": "1125:373:11", + "src": "1125:398:11", "statements": [ { "expression": { @@ -1298,18 +1298,112 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1809, + "id": 1815, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1803, - "name": "publicEvolveAllowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1744, - "src": "1143:19:11", + "components": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1808, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1803, + "name": "publicEvolveAllowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1744, + "src": "1144:19:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1807, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1804, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 905, + "src": "1168:10:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 1805, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1168:12:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 1806, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1795, + "src": "1184:2:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1168:18:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1144:42:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 1809, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1143:44:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1322,7 +1416,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1808, + "id": 1814, "isConstant": false, "isLValue": false, "isPure": false, @@ -1331,18 +1425,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1804, + "id": 1810, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 905, - "src": "1166:10:11", + "src": "1191:10:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 1805, + "id": 1811, "isConstant": false, "isLValue": false, "isPure": false, @@ -1350,7 +1444,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1166:12:11", + "src": "1191:12:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -1363,18 +1457,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1806, + "id": 1812, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 32, - "src": "1182:5:11", + "src": "1207:5:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 1807, + "id": 1813, "isConstant": false, "isLValue": false, "isPure": false, @@ -1382,20 +1476,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1182:7:11", + "src": "1207:7:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1166:23:11", + "src": "1191:23:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "1143:46:11", + "src": "1143:71:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1423,7 +1517,7 @@ "typeString": "function (bool) pure" } }, - "id": 1810, + "id": 1816, "isConstant": false, "isLValue": false, "isPure": false, @@ -1431,16 +1525,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1135:55:11", + "src": "1135:80:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1811, + "id": 1817, "nodeType": "ExpressionStatement", - "src": "1135:55:11" + "src": "1135:80:11" }, { "expression": { @@ -1450,7 +1544,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1820, + "id": 1826, "isConstant": false, "isLValue": false, "isPure": false, @@ -1459,28 +1553,28 @@ "arguments": [ { "baseExpression": { - "id": 1815, + "id": 1821, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1799, - "src": "1221:8:11", + "src": "1246:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1817, + "id": 1823, "indexExpression": { "hexValue": "30", - "id": 1816, + "id": 1822, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1230:1:11", + "src": "1255:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -1492,7 +1586,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1221:11:11", + "src": "1246:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1507,18 +1601,18 @@ } ], "expression": { - "id": 1813, + "id": 1819, "name": "hero", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1736, - "src": "1208:4:11", + "src": "1233:4:11", "typeDescriptions": { "typeIdentifier": "t_contract$_IBurnableERC721_$1729", "typeString": "contract IBurnableERC721" } }, - "id": 1814, + "id": 1820, "isConstant": false, "isLValue": false, "isPure": false, @@ -1526,13 +1620,13 @@ "memberName": "ownerOf", "nodeType": "MemberAccess", "referencedDeclaration": 529, - "src": "1208:12:11", + "src": "1233:12:11", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view external returns (address)" } }, - "id": 1818, + "id": 1824, "isConstant": false, "isLValue": false, "isPure": false, @@ -1540,7 +1634,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1208:25:11", + "src": "1233:25:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -1550,18 +1644,18 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 1819, + "id": 1825, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1795, - "src": "1237:2:11", + "src": "1262:2:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1208:31:11", + "src": "1233:31:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1569,14 +1663,14 @@ }, { "hexValue": "63757272656e742061646472657373206973206e6f74206f776e6572206f662074686973206865726f206e6f77", - "id": 1821, + "id": 1827, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1241:47:11", + "src": "1266:47:11", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e1cd0235be0cd1e3bf7e364fefba10ffea45e93f9e616a5e9b09e2bf3496f22e", "typeString": "literal_string \"current address is not owner of this hero now\"" @@ -1595,7 +1689,7 @@ "typeString": "literal_string \"current address is not owner of this hero now\"" } ], - "id": 1812, + "id": 1818, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -1603,13 +1697,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "1200:7:11", + "src": "1225:7:11", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1822, + "id": 1828, "isConstant": false, "isLValue": false, "isPure": false, @@ -1617,27 +1711,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1200:89:11", + "src": "1225:89:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1823, + "id": 1829, "nodeType": "ExpressionStatement", - "src": "1200:89:11" + "src": "1225:89:11" }, { "expression": { "arguments": [ { - "id": 1827, + "id": 1833, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1795, - "src": "1309:2:11", + "src": "1334:2:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1645,28 +1739,28 @@ }, { "baseExpression": { - "id": 1828, + "id": 1834, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1799, - "src": "1313:8:11", + "src": "1338:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1830, + "id": 1836, "indexExpression": { "hexValue": "31", - "id": 1829, + "id": 1835, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1322:1:11", + "src": "1347:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -1678,7 +1772,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1313:11:11", + "src": "1338:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1697,18 +1791,18 @@ } ], "expression": { - "id": 1824, + "id": 1830, "name": "hero", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1736, - "src": "1299:4:11", + "src": "1324:4:11", "typeDescriptions": { "typeIdentifier": "t_contract$_IBurnableERC721_$1729", "typeString": "contract IBurnableERC721" } }, - "id": 1826, + "id": 1832, "isConstant": false, "isLValue": false, "isPure": false, @@ -1716,13 +1810,13 @@ "memberName": "burn", "nodeType": "MemberAccess", "referencedDeclaration": 1728, - "src": "1299:9:11", + "src": "1324:9:11", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256) external" } }, - "id": 1831, + "id": 1837, "isConstant": false, "isLValue": false, "isPure": false, @@ -1730,16 +1824,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1299:26:11", + "src": "1324:26:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1832, + "id": 1838, "nodeType": "ExpressionStatement", - "src": "1299:26:11" + "src": "1324:26:11" }, { "condition": { @@ -1747,35 +1841,35 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1837, + "id": 1843, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { - "id": 1833, + "id": 1839, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1799, - "src": "1339:8:11", + "src": "1364:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1835, + "id": 1841, "indexExpression": { "hexValue": "32", - "id": 1834, + "id": 1840, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1348:1:11", + "src": "1373:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -1787,7 +1881,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1339:11:11", + "src": "1364:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1797,44 +1891,44 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 1836, + "id": 1842, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1353:1:11", + "src": "1378:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "1339:15:11", + "src": "1364:15:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1848, + "id": 1854, "nodeType": "IfStatement", - "src": "1335:72:11", + "src": "1360:72:11", "trueBody": { - "id": 1847, + "id": 1853, "nodeType": "Block", - "src": "1356:51:11", + "src": "1381:51:11", "statements": [ { "expression": { "arguments": [ { - "id": 1841, + "id": 1847, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1795, - "src": "1380:2:11", + "src": "1405:2:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1842,28 +1936,28 @@ }, { "baseExpression": { - "id": 1842, + "id": 1848, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1799, - "src": "1384:8:11", + "src": "1409:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1844, + "id": 1850, "indexExpression": { "hexValue": "32", - "id": 1843, + "id": 1849, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1393:1:11", + "src": "1418:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -1875,7 +1969,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1384:11:11", + "src": "1409:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1894,18 +1988,18 @@ } ], "expression": { - "id": 1838, + "id": 1844, "name": "chip", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1742, - "src": "1370:4:11", + "src": "1395:4:11", "typeDescriptions": { "typeIdentifier": "t_contract$_IBurnableERC721_$1729", "typeString": "contract IBurnableERC721" } }, - "id": 1840, + "id": 1846, "isConstant": false, "isLValue": false, "isPure": false, @@ -1913,13 +2007,13 @@ "memberName": "burn", "nodeType": "MemberAccess", "referencedDeclaration": 1728, - "src": "1370:9:11", + "src": "1395:9:11", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256) external" } }, - "id": 1845, + "id": 1851, "isConstant": false, "isLValue": false, "isPure": false, @@ -1927,16 +2021,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1370:26:11", + "src": "1395:26:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1846, + "id": 1852, "nodeType": "ExpressionStatement", - "src": "1370:26:11" + "src": "1395:26:11" } ] } @@ -1947,12 +2041,12 @@ { "arguments": [ { - "id": 1852, + "id": 1858, "name": "hero", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1736, - "src": "1442:4:11", + "src": "1467:4:11", "typeDescriptions": { "typeIdentifier": "t_contract$_IBurnableERC721_$1729", "typeString": "contract IBurnableERC721" @@ -1966,26 +2060,26 @@ "typeString": "contract IBurnableERC721" } ], - "id": 1851, + "id": 1857, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1434:7:11", + "src": "1459:7:11", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 1850, + "id": 1856, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1434:7:11", + "src": "1459:7:11", "typeDescriptions": {} } }, - "id": 1853, + "id": 1859, "isConstant": false, "isLValue": false, "isPure": false, @@ -1993,7 +2087,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1434:13:11", + "src": "1459:13:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -2001,12 +2095,12 @@ } }, { - "id": 1854, + "id": 1860, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1795, - "src": "1449:2:11", + "src": "1474:2:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2014,28 +2108,28 @@ }, { "baseExpression": { - "id": 1855, + "id": 1861, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1799, - "src": "1453:8:11", + "src": "1478:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1857, + "id": 1863, "indexExpression": { "hexValue": "30", - "id": 1856, + "id": 1862, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1462:1:11", + "src": "1487:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -2047,7 +2141,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1453:11:11", + "src": "1478:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2055,28 +2149,28 @@ }, { "baseExpression": { - "id": 1858, + "id": 1864, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1799, - "src": "1466:8:11", + "src": "1491:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1860, + "id": 1866, "indexExpression": { "hexValue": "31", - "id": 1859, + "id": 1865, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1475:1:11", + "src": "1500:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -2088,7 +2182,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1466:11:11", + "src": "1491:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2096,28 +2190,28 @@ }, { "baseExpression": { - "id": 1861, + "id": 1867, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1799, - "src": "1479:8:11", + "src": "1504:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1863, + "id": 1869, "indexExpression": { "hexValue": "32", - "id": 1862, + "id": 1868, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1488:1:11", + "src": "1513:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -2129,7 +2223,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1479:11:11", + "src": "1504:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2159,18 +2253,18 @@ "typeString": "uint256" } ], - "id": 1849, + "id": 1855, "name": "TokenEvolved", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1756, - "src": "1421:12:11", + "src": "1446:12:11", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256,uint256,uint256)" } }, - "id": 1864, + "id": 1870, "isConstant": false, "isLValue": false, "isPure": false, @@ -2178,16 +2272,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1421:70:11", + "src": "1446:70:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1865, + "id": 1871, "nodeType": "EmitStatement", - "src": "1416:75:11" + "src": "1441:75:11" } ] }, @@ -2198,7 +2292,7 @@ "text": " @dev evolve function to Blissful Elites Hero NFT\n tokenIds: [hero_to_evolve, hero_for_burn, chip]" }, "functionSelector": "8961054b", - "id": 1867, + "id": 1873, "implemented": true, "kind": "function", "modifiers": [], @@ -2216,7 +2310,7 @@ "name": "to", "nameLocation": "1082:2:11", "nodeType": "VariableDeclaration", - "scope": 1867, + "scope": 1873, "src": "1074:10:11", "stateVariable": false, "storageLocation": "default", @@ -2244,7 +2338,7 @@ "name": "tokenIds", "nameLocation": "1106:8:11", "nodeType": "VariableDeclaration", - "scope": 1867, + "scope": 1873, "src": "1086:28:11", "stateVariable": false, "storageLocation": "calldata", @@ -2298,17 +2392,17 @@ "parameters": [], "src": "1125:0:11" }, - "scope": 1954, - "src": "1054:444:11", + "scope": 1966, + "src": "1054:469:11", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 1941, + "id": 1953, "nodeType": "Block", - "src": "1705:381:11", + "src": "1730:406:11", "statements": [ { "expression": { @@ -2318,18 +2412,112 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1884, + "id": 1896, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1878, - "name": "publicEvolveAllowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1744, - "src": "1723:19:11", + "components": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1889, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1884, + "name": "publicEvolveAllowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1744, + "src": "1749:19:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1888, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1885, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 905, + "src": "1773:10:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 1886, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1773:12:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 1887, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1876, + "src": "1789:2:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1773:18:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1749:42:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 1890, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1748:44:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2342,7 +2530,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1883, + "id": 1895, "isConstant": false, "isLValue": false, "isPure": false, @@ -2351,18 +2539,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1879, + "id": 1891, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 905, - "src": "1746:10:11", + "src": "1796:10:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 1880, + "id": 1892, "isConstant": false, "isLValue": false, "isPure": false, @@ -2370,7 +2558,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1746:12:11", + "src": "1796:12:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -2383,18 +2571,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1881, + "id": 1893, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 32, - "src": "1762:5:11", + "src": "1812:5:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 1882, + "id": 1894, "isConstant": false, "isLValue": false, "isPure": false, @@ -2402,20 +2590,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1762:7:11", + "src": "1812:7:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1746:23:11", + "src": "1796:23:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "1723:46:11", + "src": "1748:71:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2429,7 +2617,7 @@ "typeString": "bool" } ], - "id": 1877, + "id": 1883, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -2437,13 +2625,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "1715:7:11", + "src": "1740:7:11", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1885, + "id": 1897, "isConstant": false, "isLValue": false, "isPure": false, @@ -2451,16 +2639,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1715:55:11", + "src": "1740:80:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1886, + "id": 1898, "nodeType": "ExpressionStatement", - "src": "1715:55:11" + "src": "1740:80:11" }, { "expression": { @@ -2470,7 +2658,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1895, + "id": 1907, "isConstant": false, "isLValue": false, "isPure": false, @@ -2479,28 +2667,28 @@ "arguments": [ { "baseExpression": { - "id": 1890, + "id": 1902, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1874, - "src": "1802:8:11", + "referencedDeclaration": 1880, + "src": "1852:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1892, + "id": 1904, "indexExpression": { "hexValue": "30", - "id": 1891, + "id": 1903, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1811:1:11", + "src": "1861:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -2512,7 +2700,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1802:11:11", + "src": "1852:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2527,18 +2715,18 @@ } ], "expression": { - "id": 1888, + "id": 1900, "name": "equip", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1739, - "src": "1788:5:11", + "src": "1838:5:11", "typeDescriptions": { "typeIdentifier": "t_contract$_IBurnableERC721_$1729", "typeString": "contract IBurnableERC721" } }, - "id": 1889, + "id": 1901, "isConstant": false, "isLValue": false, "isPure": false, @@ -2546,13 +2734,13 @@ "memberName": "ownerOf", "nodeType": "MemberAccess", "referencedDeclaration": 529, - "src": "1788:13:11", + "src": "1838:13:11", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view external returns (address)" } }, - "id": 1893, + "id": 1905, "isConstant": false, "isLValue": false, "isPure": false, @@ -2560,7 +2748,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1788:26:11", + "src": "1838:26:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -2570,18 +2758,18 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 1894, + "id": 1906, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1870, - "src": "1818:2:11", + "referencedDeclaration": 1876, + "src": "1868:2:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1788:32:11", + "src": "1838:32:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2589,14 +2777,14 @@ }, { "hexValue": "63757272656e742061646472657373206973206e6f74206f776e6572206f6620746869732065717569706d656e74206e6f77", - "id": 1896, + "id": 1908, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1822:52:11", + "src": "1872:52:11", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e4e8a2032eab8e2d753203d129ac68c962bfd545c54de8b4c0ecd7dec58bd68b", "typeString": "literal_string \"current address is not owner of this equipment now\"" @@ -2615,7 +2803,7 @@ "typeString": "literal_string \"current address is not owner of this equipment now\"" } ], - "id": 1887, + "id": 1899, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -2623,13 +2811,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "1780:7:11", + "src": "1830:7:11", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1897, + "id": 1909, "isConstant": false, "isLValue": false, "isPure": false, @@ -2637,27 +2825,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1780:95:11", + "src": "1830:95:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1898, + "id": 1910, "nodeType": "ExpressionStatement", - "src": "1780:95:11" + "src": "1830:95:11" }, { "expression": { "arguments": [ { - "id": 1902, + "id": 1914, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1870, - "src": "1896:2:11", + "referencedDeclaration": 1876, + "src": "1946:2:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2665,28 +2853,28 @@ }, { "baseExpression": { - "id": 1903, + "id": 1915, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1874, - "src": "1900:8:11", + "referencedDeclaration": 1880, + "src": "1950:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1905, + "id": 1917, "indexExpression": { "hexValue": "31", - "id": 1904, + "id": 1916, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1909:1:11", + "src": "1959:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -2698,7 +2886,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1900:11:11", + "src": "1950:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2717,18 +2905,18 @@ } ], "expression": { - "id": 1899, + "id": 1911, "name": "equip", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1739, - "src": "1885:5:11", + "src": "1935:5:11", "typeDescriptions": { "typeIdentifier": "t_contract$_IBurnableERC721_$1729", "typeString": "contract IBurnableERC721" } }, - "id": 1901, + "id": 1913, "isConstant": false, "isLValue": false, "isPure": false, @@ -2736,13 +2924,13 @@ "memberName": "burn", "nodeType": "MemberAccess", "referencedDeclaration": 1728, - "src": "1885:10:11", + "src": "1935:10:11", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256) external" } }, - "id": 1906, + "id": 1918, "isConstant": false, "isLValue": false, "isPure": false, @@ -2750,16 +2938,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1885:27:11", + "src": "1935:27:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1907, + "id": 1919, "nodeType": "ExpressionStatement", - "src": "1885:27:11" + "src": "1935:27:11" }, { "condition": { @@ -2767,35 +2955,35 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1912, + "id": 1924, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { - "id": 1908, + "id": 1920, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1874, - "src": "1926:8:11", + "referencedDeclaration": 1880, + "src": "1976:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1910, + "id": 1922, "indexExpression": { "hexValue": "32", - "id": 1909, + "id": 1921, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1935:1:11", + "src": "1985:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -2807,7 +2995,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1926:11:11", + "src": "1976:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2817,44 +3005,44 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 1911, + "id": 1923, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1940:1:11", + "src": "1990:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "1926:15:11", + "src": "1976:15:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1923, + "id": 1935, "nodeType": "IfStatement", - "src": "1922:72:11", + "src": "1972:72:11", "trueBody": { - "id": 1922, + "id": 1934, "nodeType": "Block", - "src": "1943:51:11", + "src": "1993:51:11", "statements": [ { "expression": { "arguments": [ { - "id": 1916, + "id": 1928, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1870, - "src": "1967:2:11", + "referencedDeclaration": 1876, + "src": "2017:2:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2862,28 +3050,28 @@ }, { "baseExpression": { - "id": 1917, + "id": 1929, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1874, - "src": "1971:8:11", + "referencedDeclaration": 1880, + "src": "2021:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1919, + "id": 1931, "indexExpression": { "hexValue": "32", - "id": 1918, + "id": 1930, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1980:1:11", + "src": "2030:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -2895,7 +3083,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1971:11:11", + "src": "2021:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2914,18 +3102,18 @@ } ], "expression": { - "id": 1913, + "id": 1925, "name": "chip", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1742, - "src": "1957:4:11", + "src": "2007:4:11", "typeDescriptions": { "typeIdentifier": "t_contract$_IBurnableERC721_$1729", "typeString": "contract IBurnableERC721" } }, - "id": 1915, + "id": 1927, "isConstant": false, "isLValue": false, "isPure": false, @@ -2933,13 +3121,13 @@ "memberName": "burn", "nodeType": "MemberAccess", "referencedDeclaration": 1728, - "src": "1957:9:11", + "src": "2007:9:11", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256) external" } }, - "id": 1920, + "id": 1932, "isConstant": false, "isLValue": false, "isPure": false, @@ -2947,16 +3135,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1957:26:11", + "src": "2007:26:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1921, + "id": 1933, "nodeType": "ExpressionStatement", - "src": "1957:26:11" + "src": "2007:26:11" } ] } @@ -2967,12 +3155,12 @@ { "arguments": [ { - "id": 1927, + "id": 1939, "name": "equip", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1739, - "src": "2029:5:11", + "src": "2079:5:11", "typeDescriptions": { "typeIdentifier": "t_contract$_IBurnableERC721_$1729", "typeString": "contract IBurnableERC721" @@ -2986,26 +3174,26 @@ "typeString": "contract IBurnableERC721" } ], - "id": 1926, + "id": 1938, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2021:7:11", + "src": "2071:7:11", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 1925, + "id": 1937, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2021:7:11", + "src": "2071:7:11", "typeDescriptions": {} } }, - "id": 1928, + "id": 1940, "isConstant": false, "isLValue": false, "isPure": false, @@ -3013,7 +3201,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2021:14:11", + "src": "2071:14:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -3021,12 +3209,12 @@ } }, { - "id": 1929, + "id": 1941, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1870, - "src": "2037:2:11", + "referencedDeclaration": 1876, + "src": "2087:2:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3034,28 +3222,28 @@ }, { "baseExpression": { - "id": 1930, + "id": 1942, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1874, - "src": "2041:8:11", + "referencedDeclaration": 1880, + "src": "2091:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1932, + "id": 1944, "indexExpression": { "hexValue": "30", - "id": 1931, + "id": 1943, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2050:1:11", + "src": "2100:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -3067,7 +3255,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2041:11:11", + "src": "2091:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3075,28 +3263,28 @@ }, { "baseExpression": { - "id": 1933, + "id": 1945, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1874, - "src": "2054:8:11", + "referencedDeclaration": 1880, + "src": "2104:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1935, + "id": 1947, "indexExpression": { "hexValue": "31", - "id": 1934, + "id": 1946, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2063:1:11", + "src": "2113:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -3108,7 +3296,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2054:11:11", + "src": "2104:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3116,28 +3304,28 @@ }, { "baseExpression": { - "id": 1936, + "id": 1948, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1874, - "src": "2067:8:11", + "referencedDeclaration": 1880, + "src": "2117:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1938, + "id": 1950, "indexExpression": { "hexValue": "32", - "id": 1937, + "id": 1949, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2076:1:11", + "src": "2126:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -3149,7 +3337,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2067:11:11", + "src": "2117:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3179,18 +3367,18 @@ "typeString": "uint256" } ], - "id": 1924, + "id": 1936, "name": "TokenEvolved", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1756, - "src": "2008:12:11", + "src": "2058:12:11", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256,uint256,uint256)" } }, - "id": 1939, + "id": 1951, "isConstant": false, "isLValue": false, "isPure": false, @@ -3198,46 +3386,46 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2008:71:11", + "src": "2058:71:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1940, + "id": 1952, "nodeType": "EmitStatement", - "src": "2003:76:11" + "src": "2053:76:11" } ] }, "documentation": { - "id": 1868, + "id": 1874, "nodeType": "StructuredDocumentation", - "src": "1504:125:11", + "src": "1529:125:11", "text": " @dev evolve function to Blissful Elites Equip NFT\n tokenIds: [equip_to_evolve, equip_for_burn, chip]" }, "functionSelector": "a5925336", - "id": 1942, + "id": 1954, "implemented": true, "kind": "function", "modifiers": [], "name": "evolveEquip", - "nameLocation": "1643:11:11", + "nameLocation": "1668:11:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 1875, + "id": 1881, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1870, + "id": 1876, "mutability": "mutable", "name": "to", - "nameLocation": "1663:2:11", + "nameLocation": "1688:2:11", "nodeType": "VariableDeclaration", - "scope": 1942, - "src": "1655:10:11", + "scope": 1954, + "src": "1680:10:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3245,10 +3433,10 @@ "typeString": "address" }, "typeName": { - "id": 1869, + "id": 1875, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1655:7:11", + "src": "1680:7:11", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3259,13 +3447,13 @@ }, { "constant": false, - "id": 1874, + "id": 1880, "mutability": "mutable", "name": "tokenIds", - "nameLocation": "1687:8:11", + "nameLocation": "1712:8:11", "nodeType": "VariableDeclaration", - "scope": 1942, - "src": "1667:28:11", + "scope": 1954, + "src": "1692:28:11", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -3274,26 +3462,26 @@ }, "typeName": { "baseType": { - "id": 1871, + "id": 1877, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1667:7:11", + "src": "1692:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1873, + "id": 1879, "length": { "hexValue": "33", - "id": 1872, + "id": 1878, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1675:1:11", + "src": "1700:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" @@ -3301,7 +3489,7 @@ "value": "3" }, "nodeType": "ArrayTypeName", - "src": "1667:10:11", + "src": "1692:10:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_storage_ptr", "typeString": "uint256[3]" @@ -3310,40 +3498,40 @@ "visibility": "internal" } ], - "src": "1654:42:11" + "src": "1679:42:11" }, "returnParameters": { - "id": 1876, + "id": 1882, "nodeType": "ParameterList", "parameters": [], - "src": "1705:0:11" + "src": "1730:0:11" }, - "scope": 1954, - "src": "1634:452:11", + "scope": 1966, + "src": "1659:477:11", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 1952, + "id": 1964, "nodeType": "Block", - "src": "2203:43:11", + "src": "2253:43:11", "statements": [ { "expression": { - "id": 1950, + "id": 1962, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1948, + "id": 1960, "name": "publicEvolveAllowed", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1744, - "src": "2213:19:11", + "src": "2263:19:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3353,85 +3541,85 @@ "operator": "=", "rightHandSide": { "hexValue": "74727565", - "id": 1949, + "id": 1961, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2235:4:11", + "src": "2285:4:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "src": "2213:26:11", + "src": "2263:26:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1951, + "id": 1963, "nodeType": "ExpressionStatement", - "src": "2213:26:11" + "src": "2263:26:11" } ] }, "documentation": { - "id": 1943, + "id": 1955, "nodeType": "StructuredDocumentation", - "src": "2093:59:11", + "src": "2143:59:11", "text": " @dev function to allow user evolve items" }, "functionSelector": "db529ad5", - "id": 1953, + "id": 1965, "implemented": true, "kind": "function", "modifiers": [ { - "id": 1946, + "id": 1958, "kind": "modifierInvocation", "modifierName": { - "id": 1945, + "id": 1957, "name": "onlyOwner", "nodeType": "IdentifierPath", "referencedDeclaration": 46, - "src": "2193:9:11" + "src": "2243:9:11" }, "nodeType": "ModifierInvocation", - "src": "2193:9:11" + "src": "2243:9:11" } ], "name": "allowPublicEvolve", - "nameLocation": "2166:17:11", + "nameLocation": "2216:17:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 1944, + "id": 1956, "nodeType": "ParameterList", "parameters": [], - "src": "2183:2:11" + "src": "2233:2:11" }, "returnParameters": { - "id": 1947, + "id": 1959, "nodeType": "ParameterList", "parameters": [], - "src": "2203:0:11" + "src": "2253:0:11" }, - "scope": 1954, - "src": "2157:89:11", + "scope": 1966, + "src": "2207:89:11", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" } ], - "scope": 1955, - "src": "334:1915:11", + "scope": 1967, + "src": "334:1965:11", "usedErrors": [] } ], - "src": "32:2217:11" + "src": "32:2267:11" }, "legacyAST": { "absolutePath": "project:/contracts/EvolveProxy.sol", @@ -3443,7 +3631,7 @@ 915 ], "EvolveProxy": [ - 1954 + 1966 ], "IBurnableERC721": [ 1729 @@ -3461,7 +3649,7 @@ 104 ] }, - "id": 1955, + "id": 1967, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ @@ -3482,7 +3670,7 @@ "id": 1717, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1955, + "scope": 1967, "sourceUnit": 105, "src": "56:52:11", "symbolAliases": [], @@ -3494,7 +3682,7 @@ "id": 1718, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1955, + "scope": 1967, "sourceUnit": 179, "src": "109:63:11", "symbolAliases": [], @@ -3506,7 +3694,7 @@ "id": 1719, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1955, + "scope": 1967, "sourceUnit": 597, "src": "173:58:11", "symbolAliases": [], @@ -3626,7 +3814,7 @@ "visibility": "external" } ], - "scope": 1955, + "scope": 1967, "src": "233:100:11", "usedErrors": [] }, @@ -3662,9 +3850,9 @@ "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, - "id": 1954, + "id": 1966, "linearizedBaseContracts": [ - 1954, + 1966, 178, 104, 915 @@ -3681,7 +3869,7 @@ "name": "hero", "nameLocation": "411:4:11", "nodeType": "VariableDeclaration", - "scope": 1954, + "scope": 1966, "src": "388:27:11", "stateVariable": true, "storageLocation": "default", @@ -3716,7 +3904,7 @@ "name": "equip", "nameLocation": "444:5:11", "nodeType": "VariableDeclaration", - "scope": 1954, + "scope": 1966, "src": "421:28:11", "stateVariable": true, "storageLocation": "default", @@ -3751,7 +3939,7 @@ "name": "chip", "nameLocation": "478:4:11", "nodeType": "VariableDeclaration", - "scope": 1954, + "scope": 1966, "src": "455:27:11", "stateVariable": true, "storageLocation": "default", @@ -3786,7 +3974,7 @@ "name": "publicEvolveAllowed", "nameLocation": "501:19:11", "nodeType": "VariableDeclaration", - "scope": 1954, + "scope": 1966, "src": "489:31:11", "stateVariable": true, "storageLocation": "default", @@ -4396,7 +4584,7 @@ "parameters": [], "src": "778:0:11" }, - "scope": 1954, + "scope": 1966, "src": "703:218:11", "stateMutability": "nonpayable", "virtual": false, @@ -4404,9 +4592,9 @@ }, { "body": { - "id": 1866, + "id": 1872, "nodeType": "Block", - "src": "1125:373:11", + "src": "1125:398:11", "statements": [ { "expression": { @@ -4416,18 +4604,112 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1809, + "id": 1815, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1803, - "name": "publicEvolveAllowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1744, - "src": "1143:19:11", + "components": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1808, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1803, + "name": "publicEvolveAllowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1744, + "src": "1144:19:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1807, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1804, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 905, + "src": "1168:10:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 1805, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1168:12:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 1806, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1795, + "src": "1184:2:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1168:18:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1144:42:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 1809, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1143:44:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4440,7 +4722,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1808, + "id": 1814, "isConstant": false, "isLValue": false, "isPure": false, @@ -4449,18 +4731,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1804, + "id": 1810, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 905, - "src": "1166:10:11", + "src": "1191:10:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 1805, + "id": 1811, "isConstant": false, "isLValue": false, "isPure": false, @@ -4468,7 +4750,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1166:12:11", + "src": "1191:12:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -4481,18 +4763,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1806, + "id": 1812, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 32, - "src": "1182:5:11", + "src": "1207:5:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 1807, + "id": 1813, "isConstant": false, "isLValue": false, "isPure": false, @@ -4500,20 +4782,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1182:7:11", + "src": "1207:7:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1166:23:11", + "src": "1191:23:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "1143:46:11", + "src": "1143:71:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4541,7 +4823,7 @@ "typeString": "function (bool) pure" } }, - "id": 1810, + "id": 1816, "isConstant": false, "isLValue": false, "isPure": false, @@ -4549,16 +4831,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1135:55:11", + "src": "1135:80:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1811, + "id": 1817, "nodeType": "ExpressionStatement", - "src": "1135:55:11" + "src": "1135:80:11" }, { "expression": { @@ -4568,7 +4850,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1820, + "id": 1826, "isConstant": false, "isLValue": false, "isPure": false, @@ -4577,28 +4859,28 @@ "arguments": [ { "baseExpression": { - "id": 1815, + "id": 1821, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1799, - "src": "1221:8:11", + "src": "1246:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1817, + "id": 1823, "indexExpression": { "hexValue": "30", - "id": 1816, + "id": 1822, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1230:1:11", + "src": "1255:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -4610,7 +4892,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1221:11:11", + "src": "1246:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4625,18 +4907,18 @@ } ], "expression": { - "id": 1813, + "id": 1819, "name": "hero", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1736, - "src": "1208:4:11", + "src": "1233:4:11", "typeDescriptions": { "typeIdentifier": "t_contract$_IBurnableERC721_$1729", "typeString": "contract IBurnableERC721" } }, - "id": 1814, + "id": 1820, "isConstant": false, "isLValue": false, "isPure": false, @@ -4644,13 +4926,13 @@ "memberName": "ownerOf", "nodeType": "MemberAccess", "referencedDeclaration": 529, - "src": "1208:12:11", + "src": "1233:12:11", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view external returns (address)" } }, - "id": 1818, + "id": 1824, "isConstant": false, "isLValue": false, "isPure": false, @@ -4658,7 +4940,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1208:25:11", + "src": "1233:25:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -4668,18 +4950,18 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 1819, + "id": 1825, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1795, - "src": "1237:2:11", + "src": "1262:2:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1208:31:11", + "src": "1233:31:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4687,14 +4969,14 @@ }, { "hexValue": "63757272656e742061646472657373206973206e6f74206f776e6572206f662074686973206865726f206e6f77", - "id": 1821, + "id": 1827, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1241:47:11", + "src": "1266:47:11", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e1cd0235be0cd1e3bf7e364fefba10ffea45e93f9e616a5e9b09e2bf3496f22e", "typeString": "literal_string \"current address is not owner of this hero now\"" @@ -4713,7 +4995,7 @@ "typeString": "literal_string \"current address is not owner of this hero now\"" } ], - "id": 1812, + "id": 1818, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -4721,13 +5003,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "1200:7:11", + "src": "1225:7:11", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1822, + "id": 1828, "isConstant": false, "isLValue": false, "isPure": false, @@ -4735,27 +5017,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1200:89:11", + "src": "1225:89:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1823, + "id": 1829, "nodeType": "ExpressionStatement", - "src": "1200:89:11" + "src": "1225:89:11" }, { "expression": { "arguments": [ { - "id": 1827, + "id": 1833, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1795, - "src": "1309:2:11", + "src": "1334:2:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4763,28 +5045,28 @@ }, { "baseExpression": { - "id": 1828, + "id": 1834, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1799, - "src": "1313:8:11", + "src": "1338:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1830, + "id": 1836, "indexExpression": { "hexValue": "31", - "id": 1829, + "id": 1835, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1322:1:11", + "src": "1347:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -4796,7 +5078,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1313:11:11", + "src": "1338:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4815,18 +5097,18 @@ } ], "expression": { - "id": 1824, + "id": 1830, "name": "hero", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1736, - "src": "1299:4:11", + "src": "1324:4:11", "typeDescriptions": { "typeIdentifier": "t_contract$_IBurnableERC721_$1729", "typeString": "contract IBurnableERC721" } }, - "id": 1826, + "id": 1832, "isConstant": false, "isLValue": false, "isPure": false, @@ -4834,13 +5116,13 @@ "memberName": "burn", "nodeType": "MemberAccess", "referencedDeclaration": 1728, - "src": "1299:9:11", + "src": "1324:9:11", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256) external" } }, - "id": 1831, + "id": 1837, "isConstant": false, "isLValue": false, "isPure": false, @@ -4848,16 +5130,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1299:26:11", + "src": "1324:26:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1832, + "id": 1838, "nodeType": "ExpressionStatement", - "src": "1299:26:11" + "src": "1324:26:11" }, { "condition": { @@ -4865,35 +5147,35 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1837, + "id": 1843, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { - "id": 1833, + "id": 1839, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1799, - "src": "1339:8:11", + "src": "1364:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1835, + "id": 1841, "indexExpression": { "hexValue": "32", - "id": 1834, + "id": 1840, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1348:1:11", + "src": "1373:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -4905,7 +5187,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1339:11:11", + "src": "1364:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4915,44 +5197,44 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 1836, + "id": 1842, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1353:1:11", + "src": "1378:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "1339:15:11", + "src": "1364:15:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1848, + "id": 1854, "nodeType": "IfStatement", - "src": "1335:72:11", + "src": "1360:72:11", "trueBody": { - "id": 1847, + "id": 1853, "nodeType": "Block", - "src": "1356:51:11", + "src": "1381:51:11", "statements": [ { "expression": { "arguments": [ { - "id": 1841, + "id": 1847, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1795, - "src": "1380:2:11", + "src": "1405:2:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4960,28 +5242,28 @@ }, { "baseExpression": { - "id": 1842, + "id": 1848, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1799, - "src": "1384:8:11", + "src": "1409:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1844, + "id": 1850, "indexExpression": { "hexValue": "32", - "id": 1843, + "id": 1849, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1393:1:11", + "src": "1418:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -4993,7 +5275,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1384:11:11", + "src": "1409:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5012,18 +5294,18 @@ } ], "expression": { - "id": 1838, + "id": 1844, "name": "chip", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1742, - "src": "1370:4:11", + "src": "1395:4:11", "typeDescriptions": { "typeIdentifier": "t_contract$_IBurnableERC721_$1729", "typeString": "contract IBurnableERC721" } }, - "id": 1840, + "id": 1846, "isConstant": false, "isLValue": false, "isPure": false, @@ -5031,13 +5313,13 @@ "memberName": "burn", "nodeType": "MemberAccess", "referencedDeclaration": 1728, - "src": "1370:9:11", + "src": "1395:9:11", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256) external" } }, - "id": 1845, + "id": 1851, "isConstant": false, "isLValue": false, "isPure": false, @@ -5045,16 +5327,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1370:26:11", + "src": "1395:26:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1846, + "id": 1852, "nodeType": "ExpressionStatement", - "src": "1370:26:11" + "src": "1395:26:11" } ] } @@ -5065,12 +5347,12 @@ { "arguments": [ { - "id": 1852, + "id": 1858, "name": "hero", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1736, - "src": "1442:4:11", + "src": "1467:4:11", "typeDescriptions": { "typeIdentifier": "t_contract$_IBurnableERC721_$1729", "typeString": "contract IBurnableERC721" @@ -5084,26 +5366,26 @@ "typeString": "contract IBurnableERC721" } ], - "id": 1851, + "id": 1857, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1434:7:11", + "src": "1459:7:11", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 1850, + "id": 1856, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1434:7:11", + "src": "1459:7:11", "typeDescriptions": {} } }, - "id": 1853, + "id": 1859, "isConstant": false, "isLValue": false, "isPure": false, @@ -5111,7 +5393,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1434:13:11", + "src": "1459:13:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -5119,12 +5401,12 @@ } }, { - "id": 1854, + "id": 1860, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1795, - "src": "1449:2:11", + "src": "1474:2:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5132,28 +5414,28 @@ }, { "baseExpression": { - "id": 1855, + "id": 1861, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1799, - "src": "1453:8:11", + "src": "1478:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1857, + "id": 1863, "indexExpression": { "hexValue": "30", - "id": 1856, + "id": 1862, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1462:1:11", + "src": "1487:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -5165,7 +5447,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1453:11:11", + "src": "1478:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5173,28 +5455,28 @@ }, { "baseExpression": { - "id": 1858, + "id": 1864, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1799, - "src": "1466:8:11", + "src": "1491:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1860, + "id": 1866, "indexExpression": { "hexValue": "31", - "id": 1859, + "id": 1865, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1475:1:11", + "src": "1500:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -5206,7 +5488,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1466:11:11", + "src": "1491:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5214,28 +5496,28 @@ }, { "baseExpression": { - "id": 1861, + "id": 1867, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1799, - "src": "1479:8:11", + "src": "1504:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1863, + "id": 1869, "indexExpression": { "hexValue": "32", - "id": 1862, + "id": 1868, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1488:1:11", + "src": "1513:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -5247,7 +5529,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1479:11:11", + "src": "1504:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5277,18 +5559,18 @@ "typeString": "uint256" } ], - "id": 1849, + "id": 1855, "name": "TokenEvolved", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1756, - "src": "1421:12:11", + "src": "1446:12:11", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256,uint256,uint256)" } }, - "id": 1864, + "id": 1870, "isConstant": false, "isLValue": false, "isPure": false, @@ -5296,16 +5578,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1421:70:11", + "src": "1446:70:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1865, + "id": 1871, "nodeType": "EmitStatement", - "src": "1416:75:11" + "src": "1441:75:11" } ] }, @@ -5316,7 +5598,7 @@ "text": " @dev evolve function to Blissful Elites Hero NFT\n tokenIds: [hero_to_evolve, hero_for_burn, chip]" }, "functionSelector": "8961054b", - "id": 1867, + "id": 1873, "implemented": true, "kind": "function", "modifiers": [], @@ -5334,7 +5616,7 @@ "name": "to", "nameLocation": "1082:2:11", "nodeType": "VariableDeclaration", - "scope": 1867, + "scope": 1873, "src": "1074:10:11", "stateVariable": false, "storageLocation": "default", @@ -5362,7 +5644,7 @@ "name": "tokenIds", "nameLocation": "1106:8:11", "nodeType": "VariableDeclaration", - "scope": 1867, + "scope": 1873, "src": "1086:28:11", "stateVariable": false, "storageLocation": "calldata", @@ -5416,17 +5698,17 @@ "parameters": [], "src": "1125:0:11" }, - "scope": 1954, - "src": "1054:444:11", + "scope": 1966, + "src": "1054:469:11", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 1941, + "id": 1953, "nodeType": "Block", - "src": "1705:381:11", + "src": "1730:406:11", "statements": [ { "expression": { @@ -5436,18 +5718,112 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1884, + "id": 1896, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1878, - "name": "publicEvolveAllowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1744, - "src": "1723:19:11", + "components": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1889, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1884, + "name": "publicEvolveAllowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1744, + "src": "1749:19:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1888, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1885, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 905, + "src": "1773:10:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 1886, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1773:12:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 1887, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1876, + "src": "1789:2:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1773:18:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1749:42:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 1890, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1748:44:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5460,7 +5836,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1883, + "id": 1895, "isConstant": false, "isLValue": false, "isPure": false, @@ -5469,18 +5845,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1879, + "id": 1891, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 905, - "src": "1746:10:11", + "src": "1796:10:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 1880, + "id": 1892, "isConstant": false, "isLValue": false, "isPure": false, @@ -5488,7 +5864,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1746:12:11", + "src": "1796:12:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -5501,18 +5877,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1881, + "id": 1893, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 32, - "src": "1762:5:11", + "src": "1812:5:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 1882, + "id": 1894, "isConstant": false, "isLValue": false, "isPure": false, @@ -5520,20 +5896,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1762:7:11", + "src": "1812:7:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1746:23:11", + "src": "1796:23:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "1723:46:11", + "src": "1748:71:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5547,7 +5923,7 @@ "typeString": "bool" } ], - "id": 1877, + "id": 1883, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -5555,13 +5931,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "1715:7:11", + "src": "1740:7:11", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1885, + "id": 1897, "isConstant": false, "isLValue": false, "isPure": false, @@ -5569,16 +5945,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1715:55:11", + "src": "1740:80:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1886, + "id": 1898, "nodeType": "ExpressionStatement", - "src": "1715:55:11" + "src": "1740:80:11" }, { "expression": { @@ -5588,7 +5964,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1895, + "id": 1907, "isConstant": false, "isLValue": false, "isPure": false, @@ -5597,28 +5973,28 @@ "arguments": [ { "baseExpression": { - "id": 1890, + "id": 1902, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1874, - "src": "1802:8:11", + "referencedDeclaration": 1880, + "src": "1852:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1892, + "id": 1904, "indexExpression": { "hexValue": "30", - "id": 1891, + "id": 1903, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1811:1:11", + "src": "1861:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -5630,7 +6006,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1802:11:11", + "src": "1852:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5645,18 +6021,18 @@ } ], "expression": { - "id": 1888, + "id": 1900, "name": "equip", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1739, - "src": "1788:5:11", + "src": "1838:5:11", "typeDescriptions": { "typeIdentifier": "t_contract$_IBurnableERC721_$1729", "typeString": "contract IBurnableERC721" } }, - "id": 1889, + "id": 1901, "isConstant": false, "isLValue": false, "isPure": false, @@ -5664,13 +6040,13 @@ "memberName": "ownerOf", "nodeType": "MemberAccess", "referencedDeclaration": 529, - "src": "1788:13:11", + "src": "1838:13:11", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view external returns (address)" } }, - "id": 1893, + "id": 1905, "isConstant": false, "isLValue": false, "isPure": false, @@ -5678,7 +6054,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1788:26:11", + "src": "1838:26:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -5688,18 +6064,18 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 1894, + "id": 1906, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1870, - "src": "1818:2:11", + "referencedDeclaration": 1876, + "src": "1868:2:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1788:32:11", + "src": "1838:32:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5707,14 +6083,14 @@ }, { "hexValue": "63757272656e742061646472657373206973206e6f74206f776e6572206f6620746869732065717569706d656e74206e6f77", - "id": 1896, + "id": 1908, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1822:52:11", + "src": "1872:52:11", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e4e8a2032eab8e2d753203d129ac68c962bfd545c54de8b4c0ecd7dec58bd68b", "typeString": "literal_string \"current address is not owner of this equipment now\"" @@ -5733,7 +6109,7 @@ "typeString": "literal_string \"current address is not owner of this equipment now\"" } ], - "id": 1887, + "id": 1899, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -5741,13 +6117,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "1780:7:11", + "src": "1830:7:11", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1897, + "id": 1909, "isConstant": false, "isLValue": false, "isPure": false, @@ -5755,27 +6131,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1780:95:11", + "src": "1830:95:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1898, + "id": 1910, "nodeType": "ExpressionStatement", - "src": "1780:95:11" + "src": "1830:95:11" }, { "expression": { "arguments": [ { - "id": 1902, + "id": 1914, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1870, - "src": "1896:2:11", + "referencedDeclaration": 1876, + "src": "1946:2:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5783,28 +6159,28 @@ }, { "baseExpression": { - "id": 1903, + "id": 1915, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1874, - "src": "1900:8:11", + "referencedDeclaration": 1880, + "src": "1950:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1905, + "id": 1917, "indexExpression": { "hexValue": "31", - "id": 1904, + "id": 1916, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1909:1:11", + "src": "1959:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -5816,7 +6192,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1900:11:11", + "src": "1950:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5835,18 +6211,18 @@ } ], "expression": { - "id": 1899, + "id": 1911, "name": "equip", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1739, - "src": "1885:5:11", + "src": "1935:5:11", "typeDescriptions": { "typeIdentifier": "t_contract$_IBurnableERC721_$1729", "typeString": "contract IBurnableERC721" } }, - "id": 1901, + "id": 1913, "isConstant": false, "isLValue": false, "isPure": false, @@ -5854,13 +6230,13 @@ "memberName": "burn", "nodeType": "MemberAccess", "referencedDeclaration": 1728, - "src": "1885:10:11", + "src": "1935:10:11", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256) external" } }, - "id": 1906, + "id": 1918, "isConstant": false, "isLValue": false, "isPure": false, @@ -5868,16 +6244,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1885:27:11", + "src": "1935:27:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1907, + "id": 1919, "nodeType": "ExpressionStatement", - "src": "1885:27:11" + "src": "1935:27:11" }, { "condition": { @@ -5885,35 +6261,35 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1912, + "id": 1924, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { - "id": 1908, + "id": 1920, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1874, - "src": "1926:8:11", + "referencedDeclaration": 1880, + "src": "1976:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1910, + "id": 1922, "indexExpression": { "hexValue": "32", - "id": 1909, + "id": 1921, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1935:1:11", + "src": "1985:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -5925,7 +6301,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1926:11:11", + "src": "1976:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5935,44 +6311,44 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 1911, + "id": 1923, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1940:1:11", + "src": "1990:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "1926:15:11", + "src": "1976:15:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1923, + "id": 1935, "nodeType": "IfStatement", - "src": "1922:72:11", + "src": "1972:72:11", "trueBody": { - "id": 1922, + "id": 1934, "nodeType": "Block", - "src": "1943:51:11", + "src": "1993:51:11", "statements": [ { "expression": { "arguments": [ { - "id": 1916, + "id": 1928, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1870, - "src": "1967:2:11", + "referencedDeclaration": 1876, + "src": "2017:2:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5980,28 +6356,28 @@ }, { "baseExpression": { - "id": 1917, + "id": 1929, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1874, - "src": "1971:8:11", + "referencedDeclaration": 1880, + "src": "2021:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1919, + "id": 1931, "indexExpression": { "hexValue": "32", - "id": 1918, + "id": 1930, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1980:1:11", + "src": "2030:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -6013,7 +6389,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1971:11:11", + "src": "2021:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6032,18 +6408,18 @@ } ], "expression": { - "id": 1913, + "id": 1925, "name": "chip", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1742, - "src": "1957:4:11", + "src": "2007:4:11", "typeDescriptions": { "typeIdentifier": "t_contract$_IBurnableERC721_$1729", "typeString": "contract IBurnableERC721" } }, - "id": 1915, + "id": 1927, "isConstant": false, "isLValue": false, "isPure": false, @@ -6051,13 +6427,13 @@ "memberName": "burn", "nodeType": "MemberAccess", "referencedDeclaration": 1728, - "src": "1957:9:11", + "src": "2007:9:11", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256) external" } }, - "id": 1920, + "id": 1932, "isConstant": false, "isLValue": false, "isPure": false, @@ -6065,16 +6441,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1957:26:11", + "src": "2007:26:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1921, + "id": 1933, "nodeType": "ExpressionStatement", - "src": "1957:26:11" + "src": "2007:26:11" } ] } @@ -6085,12 +6461,12 @@ { "arguments": [ { - "id": 1927, + "id": 1939, "name": "equip", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1739, - "src": "2029:5:11", + "src": "2079:5:11", "typeDescriptions": { "typeIdentifier": "t_contract$_IBurnableERC721_$1729", "typeString": "contract IBurnableERC721" @@ -6104,26 +6480,26 @@ "typeString": "contract IBurnableERC721" } ], - "id": 1926, + "id": 1938, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2021:7:11", + "src": "2071:7:11", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 1925, + "id": 1937, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2021:7:11", + "src": "2071:7:11", "typeDescriptions": {} } }, - "id": 1928, + "id": 1940, "isConstant": false, "isLValue": false, "isPure": false, @@ -6131,7 +6507,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2021:14:11", + "src": "2071:14:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -6139,12 +6515,12 @@ } }, { - "id": 1929, + "id": 1941, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1870, - "src": "2037:2:11", + "referencedDeclaration": 1876, + "src": "2087:2:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6152,28 +6528,28 @@ }, { "baseExpression": { - "id": 1930, + "id": 1942, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1874, - "src": "2041:8:11", + "referencedDeclaration": 1880, + "src": "2091:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1932, + "id": 1944, "indexExpression": { "hexValue": "30", - "id": 1931, + "id": 1943, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2050:1:11", + "src": "2100:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -6185,7 +6561,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2041:11:11", + "src": "2091:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6193,28 +6569,28 @@ }, { "baseExpression": { - "id": 1933, + "id": 1945, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1874, - "src": "2054:8:11", + "referencedDeclaration": 1880, + "src": "2104:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1935, + "id": 1947, "indexExpression": { "hexValue": "31", - "id": 1934, + "id": 1946, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2063:1:11", + "src": "2113:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -6226,7 +6602,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2054:11:11", + "src": "2104:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6234,28 +6610,28 @@ }, { "baseExpression": { - "id": 1936, + "id": 1948, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1874, - "src": "2067:8:11", + "referencedDeclaration": 1880, + "src": "2117:8:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1938, + "id": 1950, "indexExpression": { "hexValue": "32", - "id": 1937, + "id": 1949, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2076:1:11", + "src": "2126:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -6267,7 +6643,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2067:11:11", + "src": "2117:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6297,18 +6673,18 @@ "typeString": "uint256" } ], - "id": 1924, + "id": 1936, "name": "TokenEvolved", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1756, - "src": "2008:12:11", + "src": "2058:12:11", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256,uint256,uint256)" } }, - "id": 1939, + "id": 1951, "isConstant": false, "isLValue": false, "isPure": false, @@ -6316,46 +6692,46 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2008:71:11", + "src": "2058:71:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1940, + "id": 1952, "nodeType": "EmitStatement", - "src": "2003:76:11" + "src": "2053:76:11" } ] }, "documentation": { - "id": 1868, + "id": 1874, "nodeType": "StructuredDocumentation", - "src": "1504:125:11", + "src": "1529:125:11", "text": " @dev evolve function to Blissful Elites Equip NFT\n tokenIds: [equip_to_evolve, equip_for_burn, chip]" }, "functionSelector": "a5925336", - "id": 1942, + "id": 1954, "implemented": true, "kind": "function", "modifiers": [], "name": "evolveEquip", - "nameLocation": "1643:11:11", + "nameLocation": "1668:11:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 1875, + "id": 1881, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1870, + "id": 1876, "mutability": "mutable", "name": "to", - "nameLocation": "1663:2:11", + "nameLocation": "1688:2:11", "nodeType": "VariableDeclaration", - "scope": 1942, - "src": "1655:10:11", + "scope": 1954, + "src": "1680:10:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6363,10 +6739,10 @@ "typeString": "address" }, "typeName": { - "id": 1869, + "id": 1875, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1655:7:11", + "src": "1680:7:11", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6377,13 +6753,13 @@ }, { "constant": false, - "id": 1874, + "id": 1880, "mutability": "mutable", "name": "tokenIds", - "nameLocation": "1687:8:11", + "nameLocation": "1712:8:11", "nodeType": "VariableDeclaration", - "scope": 1942, - "src": "1667:28:11", + "scope": 1954, + "src": "1692:28:11", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -6392,26 +6768,26 @@ }, "typeName": { "baseType": { - "id": 1871, + "id": 1877, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1667:7:11", + "src": "1692:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1873, + "id": 1879, "length": { "hexValue": "33", - "id": 1872, + "id": 1878, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1675:1:11", + "src": "1700:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" @@ -6419,7 +6795,7 @@ "value": "3" }, "nodeType": "ArrayTypeName", - "src": "1667:10:11", + "src": "1692:10:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_storage_ptr", "typeString": "uint256[3]" @@ -6428,40 +6804,40 @@ "visibility": "internal" } ], - "src": "1654:42:11" + "src": "1679:42:11" }, "returnParameters": { - "id": 1876, + "id": 1882, "nodeType": "ParameterList", "parameters": [], - "src": "1705:0:11" + "src": "1730:0:11" }, - "scope": 1954, - "src": "1634:452:11", + "scope": 1966, + "src": "1659:477:11", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 1952, + "id": 1964, "nodeType": "Block", - "src": "2203:43:11", + "src": "2253:43:11", "statements": [ { "expression": { - "id": 1950, + "id": 1962, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1948, + "id": 1960, "name": "publicEvolveAllowed", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1744, - "src": "2213:19:11", + "src": "2263:19:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6471,85 +6847,85 @@ "operator": "=", "rightHandSide": { "hexValue": "74727565", - "id": 1949, + "id": 1961, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2235:4:11", + "src": "2285:4:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "src": "2213:26:11", + "src": "2263:26:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1951, + "id": 1963, "nodeType": "ExpressionStatement", - "src": "2213:26:11" + "src": "2263:26:11" } ] }, "documentation": { - "id": 1943, + "id": 1955, "nodeType": "StructuredDocumentation", - "src": "2093:59:11", + "src": "2143:59:11", "text": " @dev function to allow user evolve items" }, "functionSelector": "db529ad5", - "id": 1953, + "id": 1965, "implemented": true, "kind": "function", "modifiers": [ { - "id": 1946, + "id": 1958, "kind": "modifierInvocation", "modifierName": { - "id": 1945, + "id": 1957, "name": "onlyOwner", "nodeType": "IdentifierPath", "referencedDeclaration": 46, - "src": "2193:9:11" + "src": "2243:9:11" }, "nodeType": "ModifierInvocation", - "src": "2193:9:11" + "src": "2243:9:11" } ], "name": "allowPublicEvolve", - "nameLocation": "2166:17:11", + "nameLocation": "2216:17:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 1944, + "id": 1956, "nodeType": "ParameterList", "parameters": [], - "src": "2183:2:11" + "src": "2233:2:11" }, "returnParameters": { - "id": 1947, + "id": 1959, "nodeType": "ParameterList", "parameters": [], - "src": "2203:0:11" + "src": "2253:0:11" }, - "scope": 1954, - "src": "2157:89:11", + "scope": 1966, + "src": "2207:89:11", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" } ], - "scope": 1955, - "src": "334:1915:11", + "scope": 1967, + "src": "334:1965:11", "usedErrors": [] } ], - "src": "32:2217:11" + "src": "32:2267:11" }, "compiler": { "name": "solc", @@ -6557,7 +6933,7 @@ }, "networks": {}, "schemaVersion": "3.4.4", - "updatedAt": "2022-01-17T08:25:41.355Z", + "updatedAt": "2022-01-17T08:46:40.910Z", "devdoc": { "kind": "dev", "methods": { diff --git a/build/contracts/MarketPlace.json b/build/contracts/MarketPlace.json index 11e6c60..8d183c8 100644 --- a/build/contracts/MarketPlace.json +++ b/build/contracts/MarketPlace.json @@ -30651,12 +30651,12 @@ } }, "links": {}, - "address": "0x1E26af061552c1C6cEcfC839008B2d401B48a468", - "transactionHash": "0x018fff4ffb83bdda5db0680f4452a3994a1971c6e16508ea0f875660e9dd4eaa" + "address": "0xc6A43b2aD7e5C14310165107B566Fcd1512171Fa", + "transactionHash": "0xb756dbf2bf4dc412075bcf3119910059c03cea4d19bf5398f0dc8fc2b4f205e7" } }, "schemaVersion": "3.4.4", - "updatedAt": "2022-01-17T08:25:53.074Z", + "updatedAt": "2022-01-17T08:46:52.514Z", "networkType": "ethereum", "devdoc": { "kind": "dev", diff --git a/build/contracts/Migrations.json b/build/contracts/Migrations.json index a43fcf0..312ba90 100644 --- a/build/contracts/Migrations.json +++ b/build/contracts/Migrations.json @@ -2323,12 +2323,12 @@ "1338": { "events": {}, "links": {}, - "address": "0xcadA70800d02Ae48f7ddD594746F9E58C956EA97", - "transactionHash": "0xc39f4b68cb850d4e927693949d8f4ae30707dc097db24cceb118cbd7b9ea7864" + "address": "0xc16530785F2B3eE2A00A88e416bF77a9d7cc46F5", + "transactionHash": "0x049042ef6db27e896b9506a1e5ee0d2adfc09a0bddd1d38d96e4a36cbf120ddd" } }, "schemaVersion": "3.4.4", - "updatedAt": "2022-01-17T08:25:53.114Z", + "updatedAt": "2022-01-17T08:46:52.555Z", "networkType": "ethereum", "devdoc": { "kind": "dev", diff --git a/build/contracts/MinterFactory.json b/build/contracts/MinterFactory.json index 8068b66..6f627bf 100644 --- a/build/contracts/MinterFactory.json +++ b/build/contracts/MinterFactory.json @@ -8953,12 +8953,12 @@ } }, "links": {}, - "address": "0x7b17f7DC44c5e84F0197Bb0af57Bb7dE90d6a4B7", - "transactionHash": "0xde74d0537fdee837f7b744923def447f66e54f12527798e07b21f3e4330a60c1" + "address": "0x2478f1A8F10F17f11233264e938131b9E69A23ad", + "transactionHash": "0xf7b808cb5be0be9cc5ee836be1af157336f51e94e408244da6db16cab93888cc" } }, "schemaVersion": "3.4.4", - "updatedAt": "2022-01-17T08:25:53.062Z", + "updatedAt": "2022-01-17T08:46:52.503Z", "networkType": "ethereum", "devdoc": { "kind": "dev", diff --git a/contracts/EvolveProxy.sol b/contracts/EvolveProxy.sol index dceaa28..905b8b7 100644 --- a/contracts/EvolveProxy.sol +++ b/contracts/EvolveProxy.sol @@ -59,10 +59,10 @@ contract EvolveProxy is Ownable, Initializable { /** - * @dev function to allow user evolve items + * @dev function to update allow user evolve items */ - function allowPublicEvolve() public onlyOwner { - publicEvolveAllowed = true; + function updatePublicEvolve(bool val) public onlyOwner { + publicEvolveAllowed = val; } } \ No newline at end of file