diff --git a/build/contracts/BEBoxMall.json b/build/contracts/BEBoxMall.json index f23ae84..098af9c 100644 --- a/build/contracts/BEBoxMall.json +++ b/build/contracts/BEBoxMall.json @@ -20376,12 +20376,12 @@ } }, "links": {}, - "address": "0xbC06F0372EDC96D6247b5cb5e6f48dbff6561DCC", - "transactionHash": "0x569a553f512f60293f9a9cacc777ef40ee504355aa4daaaa0b829d33de229e45" + "address": "0xfc74976db6972E0D338C7495fB4a1C49A748D375", + "transactionHash": "0x0a32ac918a3e7401ac37f1741f76fab739190fc19e079d621ee1371771a02775" } }, "schemaVersion": "3.4.4", - "updatedAt": "2022-01-17T08:13:12.846Z", + "updatedAt": "2022-01-17T08:25:53.101Z", "networkType": "ethereum", "devdoc": { "kind": "dev", diff --git a/build/contracts/BEChip.json b/build/contracts/BEChip.json index f727107..a2d32a3 100644 --- a/build/contracts/BEChip.json +++ b/build/contracts/BEChip.json @@ -23898,12 +23898,12 @@ } }, "links": {}, - "address": "0x1f37Cd04AaA278CEFB2AC323f9Ad1c422f677710", - "transactionHash": "0x9fb591b6dc57ce13eec698b188611cadd5ff1002c7c5ba8a9d365fe1a76448bf" + "address": "0x4BF5304F85cE3D291b5d444F945e73CCe05a7735", + "transactionHash": "0x3a8a1d75467022e9eae6e2511495f28541dca0ece79298db84c9c946e7473136" } }, "schemaVersion": "3.4.4", - "updatedAt": "2022-01-17T08:13:12.803Z", + "updatedAt": "2022-01-17T08:25:53.051Z", "networkType": "ethereum", "devdoc": { "kind": "dev", diff --git a/build/contracts/BECoin.json b/build/contracts/BECoin.json index 795aef5..d05a05a 100644 --- a/build/contracts/BECoin.json +++ b/build/contracts/BECoin.json @@ -18080,12 +18080,12 @@ } }, "links": {}, - "address": "0x1513eD540DA47138690CC45F0bb9d8CFF35ACCB5", - "transactionHash": "0x69ac2365e680d6ebcb31b92e31075ff0282c8da2fc29e31a7319c5cb743d64a5" + "address": "0x74cEf89Add624B17015d685B2b348Bb342D47De6", + "transactionHash": "0x75cc240d26a0b1514add3be75cd45a780024761c1bbde67d5a27929d023c42d1" } }, "schemaVersion": "3.4.4", - "updatedAt": "2022-01-17T08:13:12.836Z", + "updatedAt": "2022-01-17T08:25:53.090Z", "networkType": "ethereum", "devdoc": { "kind": "dev", diff --git a/build/contracts/BEEquipment.json b/build/contracts/BEEquipment.json index 055c06d..9274aa0 100644 --- a/build/contracts/BEEquipment.json +++ b/build/contracts/BEEquipment.json @@ -23898,12 +23898,12 @@ } }, "links": {}, - "address": "0xd662ee394187BE8629A8BED1eDFB6b6e74521b63", - "transactionHash": "0x7aaf7c1a01339e6a872a85ad50b4df9062fff266049f40f75da3d4ec15e7c534" + "address": "0x96D2D8C439d0a48C6bDB38bb017E989572C68Cc9", + "transactionHash": "0x17a91183a73eb0af7247e5c9bb418304da1440aa73a12ae2080bf70d159004bf" } }, "schemaVersion": "3.4.4", - "updatedAt": "2022-01-17T08:13:12.792Z", + "updatedAt": "2022-01-17T08:25:53.036Z", "networkType": "ethereum", "devdoc": { "kind": "dev", diff --git a/build/contracts/BEHero.json b/build/contracts/BEHero.json index e9b66d7..157d55e 100644 --- a/build/contracts/BEHero.json +++ b/build/contracts/BEHero.json @@ -23904,12 +23904,12 @@ } }, "links": {}, - "address": "0x67BdACa0850F47653a390F9F9ea5470aD3C0f8Bc", - "transactionHash": "0xeac27f026d79edc48458173f2e07362caf5bac71c277a4d7b0017558ab3bdaf6" + "address": "0x0C4EF120a11D2F5BC19e1C38238A366dacBb77Ff", + "transactionHash": "0x69aa3671746f802a46bfc1266eb41b3a34afba137d8b1fa6e4698adba05a60d2" } }, "schemaVersion": "3.4.4", - "updatedAt": "2022-01-17T08:13:12.780Z", + "updatedAt": "2022-01-17T08:25:53.020Z", "networkType": "ethereum", "devdoc": { "kind": "dev", diff --git a/build/contracts/EvolveProxy.json b/build/contracts/EvolveProxy.json index a9ed1ce..eb47950 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 mint 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\":\"0x33f5a9761cda67160cac69c6c5ae71baf10d84ca2c137db72ffd2ab973bb2bc0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://90ec257b2754174e30fbb22dbf0fce7dd0029d629f434993e54e06c59698c638\",\"dweb:/ipfs/QmVQ55fY82c5fSLCXTN7fZqxJJXoB2KemihQ6MeYMKmpSN\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b5061002d61002261003260201b60201c565b61003a60201b60201c565b6100fe565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61157a8061010d6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80638da5cb5b116100715780638da5cb5b1461012e5780639cad50d91461014c578063a592533614610168578063b61500e414610184578063db529ad5146101a2578063f2fde38b146101ac576100a9565b806358a79d73146100ae578063715018a6146100cc5780637f513d5d146100d657806383c9aba6146100f45780638961054b14610112575b600080fd5b6100b66101c8565b6040516100c39190610fcb565b60405180910390f35b6100d46101ee565b005b6100de610276565b6040516100eb9190610fcb565b60405180910390f35b6100fc61029c565b6040516101099190611001565b60405180910390f35b61012c60048036038101906101279190611086565b6102af565b005b610136610649565b60405161014391906110d5565b60405180910390f35b61016660048036038101906101619190611112565b610672565b005b610182600480360381019061017d9190611086565b61090b565b005b61018c610ca5565b6040516101999190610fcb565b60405180910390f35b6101aa610ccb565b005b6101c660048036038101906101c1919061113f565b610d64565b005b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6101f6610e5c565b73ffffffffffffffffffffffffffffffffffffffff16610214610649565b73ffffffffffffffffffffffffffffffffffffffff161461026a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610261906111c9565b60405180910390fd5b6102746000610e64565b565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360149054906101000a900460ff1681565b600360149054906101000a900460ff168061030357506102cd610649565b73ffffffffffffffffffffffffffffffffffffffff166102eb610e5c565b73ffffffffffffffffffffffffffffffffffffffff16145b61030c57600080fd5b8173ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e83600060038110610375576103746111e9565b5b60200201356040518263ffffffff1660e01b81526004016103969190611231565b602060405180830381865afa1580156103b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103d79190611261565b73ffffffffffffffffffffffffffffffffffffffff161461042d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042490611300565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639dc29fac83836001600381106104805761047f6111e9565b5b60200201356040518363ffffffff1660e01b81526004016104a2929190611320565b600060405180830381600087803b1580156104bc57600080fd5b505af11580156104d0573d6000803e3d6000fd5b505050506000816002600381106104ea576104e96111e9565b5b6020020135111561059d57600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639dc29fac8383600260038110610548576105476111e9565b5b60200201356040518363ffffffff1660e01b815260040161056a929190611320565b600060405180830381600087803b15801561058457600080fd5b505af1158015610598573d6000803e3d6000fd5b505050505b806000600381106105b1576105b06111e9565b5b60200201357f6ff7763a38c6d416b693f0297741e56ac65d97a30c18863826c8eb7b2701b982600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848460016003811061060f5761060e6111e9565b5b602002013585600260038110610628576106276111e9565b5b602002013560405161063d9493929190611349565b60405180910390a25050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600060159054906101000a900460ff1661069c57600060149054906101000a900460ff16156106a5565b6106a4610f28565b5b6106e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106db90611400565b60405180910390fd5b60008060159054906101000a900460ff161590508015610735576001600060156101000a81548160ff0219169083151502179055506001600060146101000a81548160ff0219169083151502179055505b61073d610e5c565b73ffffffffffffffffffffffffffffffffffffffff1661075b610649565b73ffffffffffffffffffffffffffffffffffffffff16146107b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a8906111c9565b60405180910390fd5b816000600381106107c5576107c46111e9565b5b6020020160208101906107d8919061113f565b600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160016003811061082c5761082b6111e9565b5b60200201602081019061083f919061113f565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600260038110610893576108926111e9565b5b6020020160208101906108a6919061113f565b600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080156109075760008060156101000a81548160ff0219169083151502179055505b5050565b600360149054906101000a900460ff168061095f5750610929610649565b73ffffffffffffffffffffffffffffffffffffffff16610947610e5c565b73ffffffffffffffffffffffffffffffffffffffff16145b61096857600080fd5b8173ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e836000600381106109d1576109d06111e9565b5b60200201356040518263ffffffff1660e01b81526004016109f29190611231565b602060405180830381865afa158015610a0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a339190611261565b73ffffffffffffffffffffffffffffffffffffffff1614610a89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8090611492565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639dc29fac8383600160038110610adc57610adb6111e9565b5b60200201356040518363ffffffff1660e01b8152600401610afe929190611320565b600060405180830381600087803b158015610b1857600080fd5b505af1158015610b2c573d6000803e3d6000fd5b50505050600081600260038110610b4657610b456111e9565b5b60200201351115610bf957600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639dc29fac8383600260038110610ba457610ba36111e9565b5b60200201356040518363ffffffff1660e01b8152600401610bc6929190611320565b600060405180830381600087803b158015610be057600080fd5b505af1158015610bf4573d6000803e3d6000fd5b505050505b80600060038110610c0d57610c0c6111e9565b5b60200201357f6ff7763a38c6d416b693f0297741e56ac65d97a30c18863826c8eb7b2701b982600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168484600160038110610c6b57610c6a6111e9565b5b602002013585600260038110610c8457610c836111e9565b5b6020020135604051610c999493929190611349565b60405180910390a25050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610cd3610e5c565b73ffffffffffffffffffffffffffffffffffffffff16610cf1610649565b73ffffffffffffffffffffffffffffffffffffffff1614610d47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3e906111c9565b60405180910390fd5b6001600360146101000a81548160ff021916908315150217905550565b610d6c610e5c565b73ffffffffffffffffffffffffffffffffffffffff16610d8a610649565b73ffffffffffffffffffffffffffffffffffffffff1614610de0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd7906111c9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610e50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4790611524565b60405180910390fd5b610e5981610e64565b50565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000610f3330610f39565b15905090565b600080823b905060008111915050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610f91610f8c610f8784610f4c565b610f6c565b610f4c565b9050919050565b6000610fa382610f76565b9050919050565b6000610fb582610f98565b9050919050565b610fc581610faa565b82525050565b6000602082019050610fe06000830184610fbc565b92915050565b60008115159050919050565b610ffb81610fe6565b82525050565b60006020820190506110166000830184610ff2565b92915050565b600080fd5b600061102c82610f4c565b9050919050565b61103c81611021565b811461104757600080fd5b50565b60008135905061105981611033565b92915050565b600080fd5b6000819050826020600302820111156110805761107f61105f565b5b92915050565b6000806080838503121561109d5761109c61101c565b5b60006110ab8582860161104a565b92505060206110bc85828601611064565b9150509250929050565b6110cf81611021565b82525050565b60006020820190506110ea60008301846110c6565b92915050565b60008190508260206003028201111561110c5761110b61105f565b5b92915050565b6000606082840312156111285761112761101c565b5b6000611136848285016110f0565b91505092915050565b6000602082840312156111555761115461101c565b5b60006111638482850161104a565b91505092915050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006111b360208361116c565b91506111be8261117d565b602082019050919050565b600060208201905081810360008301526111e2816111a6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b61122b81611218565b82525050565b60006020820190506112466000830184611222565b92915050565b60008151905061125b81611033565b92915050565b6000602082840312156112775761127661101c565b5b60006112858482850161124c565b91505092915050565b7f63757272656e742061646472657373206973206e6f74206f776e6572206f662060008201527f74686973206865726f206e6f7700000000000000000000000000000000000000602082015250565b60006112ea602d8361116c565b91506112f58261128e565b604082019050919050565b60006020820190508181036000830152611319816112dd565b9050919050565b600060408201905061133560008301856110c6565b6113426020830184611222565b9392505050565b600060808201905061135e60008301876110c6565b61136b60208301866110c6565b6113786040830185611222565b6113856060830184611222565b95945050505050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b60006113ea602e8361116c565b91506113f58261138e565b604082019050919050565b60006020820190508181036000830152611419816113dd565b9050919050565b7f63757272656e742061646472657373206973206e6f74206f776e6572206f662060008201527f746869732065717569706d656e74206e6f770000000000000000000000000000602082015250565b600061147c60328361116c565b915061148782611420565b604082019050919050565b600060208201905081810360008301526114ab8161146f565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061150e60268361116c565b9150611519826114b2565b604082019050919050565b6000602082019050818103600083015261153d81611501565b905091905056fea264697066735822122045cfbe6b31dceafc34dc061d4dc705e3b487e35f36cb4dd0dab3defc10cccdb964736f6c634300080a0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80638da5cb5b116100715780638da5cb5b1461012e5780639cad50d91461014c578063a592533614610168578063b61500e414610184578063db529ad5146101a2578063f2fde38b146101ac576100a9565b806358a79d73146100ae578063715018a6146100cc5780637f513d5d146100d657806383c9aba6146100f45780638961054b14610112575b600080fd5b6100b66101c8565b6040516100c39190610fcb565b60405180910390f35b6100d46101ee565b005b6100de610276565b6040516100eb9190610fcb565b60405180910390f35b6100fc61029c565b6040516101099190611001565b60405180910390f35b61012c60048036038101906101279190611086565b6102af565b005b610136610649565b60405161014391906110d5565b60405180910390f35b61016660048036038101906101619190611112565b610672565b005b610182600480360381019061017d9190611086565b61090b565b005b61018c610ca5565b6040516101999190610fcb565b60405180910390f35b6101aa610ccb565b005b6101c660048036038101906101c1919061113f565b610d64565b005b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6101f6610e5c565b73ffffffffffffffffffffffffffffffffffffffff16610214610649565b73ffffffffffffffffffffffffffffffffffffffff161461026a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610261906111c9565b60405180910390fd5b6102746000610e64565b565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360149054906101000a900460ff1681565b600360149054906101000a900460ff168061030357506102cd610649565b73ffffffffffffffffffffffffffffffffffffffff166102eb610e5c565b73ffffffffffffffffffffffffffffffffffffffff16145b61030c57600080fd5b8173ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e83600060038110610375576103746111e9565b5b60200201356040518263ffffffff1660e01b81526004016103969190611231565b602060405180830381865afa1580156103b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103d79190611261565b73ffffffffffffffffffffffffffffffffffffffff161461042d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042490611300565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639dc29fac83836001600381106104805761047f6111e9565b5b60200201356040518363ffffffff1660e01b81526004016104a2929190611320565b600060405180830381600087803b1580156104bc57600080fd5b505af11580156104d0573d6000803e3d6000fd5b505050506000816002600381106104ea576104e96111e9565b5b6020020135111561059d57600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639dc29fac8383600260038110610548576105476111e9565b5b60200201356040518363ffffffff1660e01b815260040161056a929190611320565b600060405180830381600087803b15801561058457600080fd5b505af1158015610598573d6000803e3d6000fd5b505050505b806000600381106105b1576105b06111e9565b5b60200201357f6ff7763a38c6d416b693f0297741e56ac65d97a30c18863826c8eb7b2701b982600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848460016003811061060f5761060e6111e9565b5b602002013585600260038110610628576106276111e9565b5b602002013560405161063d9493929190611349565b60405180910390a25050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600060159054906101000a900460ff1661069c57600060149054906101000a900460ff16156106a5565b6106a4610f28565b5b6106e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106db90611400565b60405180910390fd5b60008060159054906101000a900460ff161590508015610735576001600060156101000a81548160ff0219169083151502179055506001600060146101000a81548160ff0219169083151502179055505b61073d610e5c565b73ffffffffffffffffffffffffffffffffffffffff1661075b610649565b73ffffffffffffffffffffffffffffffffffffffff16146107b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a8906111c9565b60405180910390fd5b816000600381106107c5576107c46111e9565b5b6020020160208101906107d8919061113f565b600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160016003811061082c5761082b6111e9565b5b60200201602081019061083f919061113f565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600260038110610893576108926111e9565b5b6020020160208101906108a6919061113f565b600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080156109075760008060156101000a81548160ff0219169083151502179055505b5050565b600360149054906101000a900460ff168061095f5750610929610649565b73ffffffffffffffffffffffffffffffffffffffff16610947610e5c565b73ffffffffffffffffffffffffffffffffffffffff16145b61096857600080fd5b8173ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e836000600381106109d1576109d06111e9565b5b60200201356040518263ffffffff1660e01b81526004016109f29190611231565b602060405180830381865afa158015610a0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a339190611261565b73ffffffffffffffffffffffffffffffffffffffff1614610a89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8090611492565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639dc29fac8383600160038110610adc57610adb6111e9565b5b60200201356040518363ffffffff1660e01b8152600401610afe929190611320565b600060405180830381600087803b158015610b1857600080fd5b505af1158015610b2c573d6000803e3d6000fd5b50505050600081600260038110610b4657610b456111e9565b5b60200201351115610bf957600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639dc29fac8383600260038110610ba457610ba36111e9565b5b60200201356040518363ffffffff1660e01b8152600401610bc6929190611320565b600060405180830381600087803b158015610be057600080fd5b505af1158015610bf4573d6000803e3d6000fd5b505050505b80600060038110610c0d57610c0c6111e9565b5b60200201357f6ff7763a38c6d416b693f0297741e56ac65d97a30c18863826c8eb7b2701b982600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168484600160038110610c6b57610c6a6111e9565b5b602002013585600260038110610c8457610c836111e9565b5b6020020135604051610c999493929190611349565b60405180910390a25050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610cd3610e5c565b73ffffffffffffffffffffffffffffffffffffffff16610cf1610649565b73ffffffffffffffffffffffffffffffffffffffff1614610d47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3e906111c9565b60405180910390fd5b6001600360146101000a81548160ff021916908315150217905550565b610d6c610e5c565b73ffffffffffffffffffffffffffffffffffffffff16610d8a610649565b73ffffffffffffffffffffffffffffffffffffffff1614610de0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd7906111c9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610e50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4790611524565b60405180910390fd5b610e5981610e64565b50565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000610f3330610f39565b15905090565b600080823b905060008111915050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610f91610f8c610f8784610f4c565b610f6c565b610f4c565b9050919050565b6000610fa382610f76565b9050919050565b6000610fb582610f98565b9050919050565b610fc581610faa565b82525050565b6000602082019050610fe06000830184610fbc565b92915050565b60008115159050919050565b610ffb81610fe6565b82525050565b60006020820190506110166000830184610ff2565b92915050565b600080fd5b600061102c82610f4c565b9050919050565b61103c81611021565b811461104757600080fd5b50565b60008135905061105981611033565b92915050565b600080fd5b6000819050826020600302820111156110805761107f61105f565b5b92915050565b6000806080838503121561109d5761109c61101c565b5b60006110ab8582860161104a565b92505060206110bc85828601611064565b9150509250929050565b6110cf81611021565b82525050565b60006020820190506110ea60008301846110c6565b92915050565b60008190508260206003028201111561110c5761110b61105f565b5b92915050565b6000606082840312156111285761112761101c565b5b6000611136848285016110f0565b91505092915050565b6000602082840312156111555761115461101c565b5b60006111638482850161104a565b91505092915050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006111b360208361116c565b91506111be8261117d565b602082019050919050565b600060208201905081810360008301526111e2816111a6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b61122b81611218565b82525050565b60006020820190506112466000830184611222565b92915050565b60008151905061125b81611033565b92915050565b6000602082840312156112775761127661101c565b5b60006112858482850161124c565b91505092915050565b7f63757272656e742061646472657373206973206e6f74206f776e6572206f662060008201527f74686973206865726f206e6f7700000000000000000000000000000000000000602082015250565b60006112ea602d8361116c565b91506112f58261128e565b604082019050919050565b60006020820190508181036000830152611319816112dd565b9050919050565b600060408201905061133560008301856110c6565b6113426020830184611222565b9392505050565b600060808201905061135e60008301876110c6565b61136b60208301866110c6565b6113786040830185611222565b6113856060830184611222565b95945050505050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b60006113ea602e8361116c565b91506113f58261138e565b604082019050919050565b60006020820190508181036000830152611419816113dd565b9050919050565b7f63757272656e742061646472657373206973206e6f74206f776e6572206f662060008201527f746869732065717569706d656e74206e6f770000000000000000000000000000602082015250565b600061147c60328361116c565b915061148782611420565b604082019050919050565b600060208201905081810360008301526114ab8161146f565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061150e60268361116c565b9150611519826114b2565b604082019050919050565b6000602082019050818103600083015261153d81611501565b905091905056fea264697066735822122045cfbe6b31dceafc34dc061d4dc705e3b487e35f36cb4dd0dab3defc10cccdb964736f6c634300080a0033", + "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", "immutableReferences": {}, "generatedSources": [], "deployedGeneratedSources": [ @@ -5226,9 +5226,9 @@ "name": "#utility.yul" } ], - "sourceMap": "334:1913:11:-:0;;;;;;;;;;;;;921:32:0;940:12;:10;;;:12;;:::i;:::-;921:18;;;:32;;:::i;:::-;334:1913: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:1913:11:-;;;;;;;", - "deployedSourceMap": "334:1913: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;:::-;;;;;;;;2155: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;2155:89::-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2233:4:11::1;2211:19;;:26;;;;;;;;;;;;;;;;;;2155: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 mint items\n */\n function allowPublicEvolve() public onlyOwner {\n publicEvolveAllowed = true;\n }\n\n}", + "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}", "sourcePath": "/Users/zhl/Documents/workspace/game/becrypto/contracts/EvolveProxy.sol", "ast": { "absolutePath": "project:/contracts/EvolveProxy.sol", @@ -8243,7 +8243,7 @@ "body": { "id": 1952, "nodeType": "Block", - "src": "2201:43:11", + "src": "2203:43:11", "statements": [ { "expression": { @@ -8258,7 +8258,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1744, - "src": "2211:19:11", + "src": "2213:19:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8275,14 +8275,14 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2233:4:11", + "src": "2235:4:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "src": "2211:26:11", + "src": "2213:26:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8290,15 +8290,15 @@ }, "id": 1951, "nodeType": "ExpressionStatement", - "src": "2211:26:11" + "src": "2213:26:11" } ] }, "documentation": { "id": 1943, "nodeType": "StructuredDocumentation", - "src": "2093:57:11", - "text": " @dev function to allow user mint items" + "src": "2093:59:11", + "text": " @dev function to allow user evolve items" }, "functionSelector": "db529ad5", "id": 1953, @@ -8313,40 +8313,40 @@ "name": "onlyOwner", "nodeType": "IdentifierPath", "referencedDeclaration": 46, - "src": "2191:9:11" + "src": "2193:9:11" }, "nodeType": "ModifierInvocation", - "src": "2191:9:11" + "src": "2193:9:11" } ], "name": "allowPublicEvolve", - "nameLocation": "2164:17:11", + "nameLocation": "2166:17:11", "nodeType": "FunctionDefinition", "parameters": { "id": 1944, "nodeType": "ParameterList", "parameters": [], - "src": "2181:2:11" + "src": "2183:2:11" }, "returnParameters": { "id": 1947, "nodeType": "ParameterList", "parameters": [], - "src": "2201:0:11" + "src": "2203:0:11" }, "scope": 1954, - "src": "2155:89:11", + "src": "2157:89:11", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" } ], "scope": 1955, - "src": "334:1913:11", + "src": "334:1915:11", "usedErrors": [] } ], - "src": "32:2215:11" + "src": "32:2217:11" }, "legacyAST": { "absolutePath": "project:/contracts/EvolveProxy.sol", @@ -11361,7 +11361,7 @@ "body": { "id": 1952, "nodeType": "Block", - "src": "2201:43:11", + "src": "2203:43:11", "statements": [ { "expression": { @@ -11376,7 +11376,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1744, - "src": "2211:19:11", + "src": "2213:19:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11393,14 +11393,14 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2233:4:11", + "src": "2235:4:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "src": "2211:26:11", + "src": "2213:26:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11408,15 +11408,15 @@ }, "id": 1951, "nodeType": "ExpressionStatement", - "src": "2211:26:11" + "src": "2213:26:11" } ] }, "documentation": { "id": 1943, "nodeType": "StructuredDocumentation", - "src": "2093:57:11", - "text": " @dev function to allow user mint items" + "src": "2093:59:11", + "text": " @dev function to allow user evolve items" }, "functionSelector": "db529ad5", "id": 1953, @@ -11431,40 +11431,40 @@ "name": "onlyOwner", "nodeType": "IdentifierPath", "referencedDeclaration": 46, - "src": "2191:9:11" + "src": "2193:9:11" }, "nodeType": "ModifierInvocation", - "src": "2191:9:11" + "src": "2193:9:11" } ], "name": "allowPublicEvolve", - "nameLocation": "2164:17:11", + "nameLocation": "2166:17:11", "nodeType": "FunctionDefinition", "parameters": { "id": 1944, "nodeType": "ParameterList", "parameters": [], - "src": "2181:2:11" + "src": "2183:2:11" }, "returnParameters": { "id": 1947, "nodeType": "ParameterList", "parameters": [], - "src": "2201:0:11" + "src": "2203:0:11" }, "scope": 1954, - "src": "2155:89:11", + "src": "2157:89:11", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" } ], "scope": 1955, - "src": "334:1913:11", + "src": "334:1915:11", "usedErrors": [] } ], - "src": "32:2215:11" + "src": "32:2217:11" }, "compiler": { "name": "solc", @@ -11556,18 +11556,18 @@ } }, "links": {}, - "address": "0x3a0287431219E918E4CA4C9867de1691EA1cf7ee", - "transactionHash": "0x72fc8de3f82c48503406f6a63a69b8eac5031a50e43ab45e33e7310ad25e111d" + "address": "0xa52F06b0B98a2C858005C7A10F780239e1ee7454", + "transactionHash": "0x10772e1371af904a62cf50477aebeb62be87e3d1010c4c4555d98a7186fbf447" } }, "schemaVersion": "3.4.4", - "updatedAt": "2022-01-17T08:13:12.855Z", + "updatedAt": "2022-01-17T08:25:53.110Z", "networkType": "ethereum", "devdoc": { "kind": "dev", "methods": { "allowPublicEvolve()": { - "details": "function to allow user mint items" + "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]" diff --git a/build/contracts/IBurnableERC721.json b/build/contracts/IBurnableERC721.json index eff65ac..3371a11 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\":\"0x33f5a9761cda67160cac69c6c5ae71baf10d84ca2c137db72ffd2ab973bb2bc0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://90ec257b2754174e30fbb22dbf0fce7dd0029d629f434993e54e06c59698c638\",\"dweb:/ipfs/QmVQ55fY82c5fSLCXTN7fZqxJJXoB2KemihQ6MeYMKmpSN\"]}},\"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\":\"0xde1dd5725a26e7958192f9534b2d23a9f21c694cf42277c400335d73e304fb91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b18eb07ff48be1c46be499584335606f3e8338a1273a07fb1ea4e2496165c31a\",\"dweb:/ipfs/QmZdCr4by1FCsHu9mtTxyREzJFv6GUj5wVFgzccZQ3nrNS\"]}},\"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 mint 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() == 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}", "sourcePath": "/Users/zhl/Documents/workspace/game/becrypto/contracts/EvolveProxy.sol", "ast": { "absolutePath": "project:/contracts/EvolveProxy.sol", @@ -3328,7 +3328,7 @@ "body": { "id": 1952, "nodeType": "Block", - "src": "2201:43:11", + "src": "2203:43:11", "statements": [ { "expression": { @@ -3343,7 +3343,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1744, - "src": "2211:19:11", + "src": "2213:19:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3360,14 +3360,14 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2233:4:11", + "src": "2235:4:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "src": "2211:26:11", + "src": "2213:26:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3375,15 +3375,15 @@ }, "id": 1951, "nodeType": "ExpressionStatement", - "src": "2211:26:11" + "src": "2213:26:11" } ] }, "documentation": { "id": 1943, "nodeType": "StructuredDocumentation", - "src": "2093:57:11", - "text": " @dev function to allow user mint items" + "src": "2093:59:11", + "text": " @dev function to allow user evolve items" }, "functionSelector": "db529ad5", "id": 1953, @@ -3398,40 +3398,40 @@ "name": "onlyOwner", "nodeType": "IdentifierPath", "referencedDeclaration": 46, - "src": "2191:9:11" + "src": "2193:9:11" }, "nodeType": "ModifierInvocation", - "src": "2191:9:11" + "src": "2193:9:11" } ], "name": "allowPublicEvolve", - "nameLocation": "2164:17:11", + "nameLocation": "2166:17:11", "nodeType": "FunctionDefinition", "parameters": { "id": 1944, "nodeType": "ParameterList", "parameters": [], - "src": "2181:2:11" + "src": "2183:2:11" }, "returnParameters": { "id": 1947, "nodeType": "ParameterList", "parameters": [], - "src": "2201:0:11" + "src": "2203:0:11" }, "scope": 1954, - "src": "2155:89:11", + "src": "2157:89:11", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" } ], "scope": 1955, - "src": "334:1913:11", + "src": "334:1915:11", "usedErrors": [] } ], - "src": "32:2215:11" + "src": "32:2217:11" }, "legacyAST": { "absolutePath": "project:/contracts/EvolveProxy.sol", @@ -6446,7 +6446,7 @@ "body": { "id": 1952, "nodeType": "Block", - "src": "2201:43:11", + "src": "2203:43:11", "statements": [ { "expression": { @@ -6461,7 +6461,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1744, - "src": "2211:19:11", + "src": "2213:19:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6478,14 +6478,14 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2233:4:11", + "src": "2235:4:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "src": "2211:26:11", + "src": "2213:26:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6493,15 +6493,15 @@ }, "id": 1951, "nodeType": "ExpressionStatement", - "src": "2211:26:11" + "src": "2213:26:11" } ] }, "documentation": { "id": 1943, "nodeType": "StructuredDocumentation", - "src": "2093:57:11", - "text": " @dev function to allow user mint items" + "src": "2093:59:11", + "text": " @dev function to allow user evolve items" }, "functionSelector": "db529ad5", "id": 1953, @@ -6516,40 +6516,40 @@ "name": "onlyOwner", "nodeType": "IdentifierPath", "referencedDeclaration": 46, - "src": "2191:9:11" + "src": "2193:9:11" }, "nodeType": "ModifierInvocation", - "src": "2191:9:11" + "src": "2193:9:11" } ], "name": "allowPublicEvolve", - "nameLocation": "2164:17:11", + "nameLocation": "2166:17:11", "nodeType": "FunctionDefinition", "parameters": { "id": 1944, "nodeType": "ParameterList", "parameters": [], - "src": "2181:2:11" + "src": "2183:2:11" }, "returnParameters": { "id": 1947, "nodeType": "ParameterList", "parameters": [], - "src": "2201:0:11" + "src": "2203:0:11" }, "scope": 1954, - "src": "2155:89:11", + "src": "2157:89:11", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" } ], "scope": 1955, - "src": "334:1913:11", + "src": "334:1915:11", "usedErrors": [] } ], - "src": "32:2215:11" + "src": "32:2217:11" }, "compiler": { "name": "solc", @@ -6557,7 +6557,7 @@ }, "networks": {}, "schemaVersion": "3.4.4", - "updatedAt": "2022-01-17T08:13:01.836Z", + "updatedAt": "2022-01-17T08:25:41.355Z", "devdoc": { "kind": "dev", "methods": { diff --git a/build/contracts/MarketPlace.json b/build/contracts/MarketPlace.json index 2b669fe..11e6c60 100644 --- a/build/contracts/MarketPlace.json +++ b/build/contracts/MarketPlace.json @@ -30651,12 +30651,12 @@ } }, "links": {}, - "address": "0x4575530ba93ABfBE9e530d5F327cBD04FAd6D48F", - "transactionHash": "0x9a9d534ffa811b27396d17457063f4bb691e332eb975d62e54d23b9cb7734566" + "address": "0x1E26af061552c1C6cEcfC839008B2d401B48a468", + "transactionHash": "0x018fff4ffb83bdda5db0680f4452a3994a1971c6e16508ea0f875660e9dd4eaa" } }, "schemaVersion": "3.4.4", - "updatedAt": "2022-01-17T08:13:12.823Z", + "updatedAt": "2022-01-17T08:25:53.074Z", "networkType": "ethereum", "devdoc": { "kind": "dev", diff --git a/build/contracts/Migrations.json b/build/contracts/Migrations.json index 417de2a..a43fcf0 100644 --- a/build/contracts/Migrations.json +++ b/build/contracts/Migrations.json @@ -2323,12 +2323,12 @@ "1338": { "events": {}, "links": {}, - "address": "0x1Ba676cFA8eED89Ec013E61cf0178b9903212da8", - "transactionHash": "0x87ca3eb6f2a72d61307d5cecfa17e748da8055f3ea49bd1e42b0ecff1f850907" + "address": "0xcadA70800d02Ae48f7ddD594746F9E58C956EA97", + "transactionHash": "0xc39f4b68cb850d4e927693949d8f4ae30707dc097db24cceb118cbd7b9ea7864" } }, "schemaVersion": "3.4.4", - "updatedAt": "2022-01-17T08:13:12.859Z", + "updatedAt": "2022-01-17T08:25:53.114Z", "networkType": "ethereum", "devdoc": { "kind": "dev", diff --git a/build/contracts/MinterFactory.json b/build/contracts/MinterFactory.json index b11a5f3..8068b66 100644 --- a/build/contracts/MinterFactory.json +++ b/build/contracts/MinterFactory.json @@ -8953,12 +8953,12 @@ } }, "links": {}, - "address": "0x9F7031362C07e59763Bbe1A48F299A1A3A8cF4E1", - "transactionHash": "0xc89e872c11878f7b47dce24efca9715c4e38c10ce7a8ef6da1cc9fe354fdf5d6" + "address": "0x7b17f7DC44c5e84F0197Bb0af57Bb7dE90d6a4B7", + "transactionHash": "0xde74d0537fdee837f7b744923def447f66e54f12527798e07b21f3e4330a60c1" } }, "schemaVersion": "3.4.4", - "updatedAt": "2022-01-17T08:13:12.812Z", + "updatedAt": "2022-01-17T08:25:53.062Z", "networkType": "ethereum", "devdoc": { "kind": "dev", diff --git a/contracts/EvolveProxy.sol b/contracts/EvolveProxy.sol index 4650555..dceaa28 100644 --- a/contracts/EvolveProxy.sol +++ b/contracts/EvolveProxy.sol @@ -34,7 +34,7 @@ contract EvolveProxy is Ownable, Initializable { * tokenIds: [hero_to_evolve, hero_for_burn, chip] */ function evolveHero(address to, uint256[3] calldata tokenIds) external { - require(publicEvolveAllowed || _msgSender() == owner()); + require((publicEvolveAllowed && _msgSender() == to) || _msgSender() == owner()); require(hero.ownerOf(tokenIds[0]) == to, "current address is not owner of this hero now"); hero.burn(to, tokenIds[1]); if (tokenIds[2] > 0) { @@ -48,7 +48,7 @@ contract EvolveProxy is Ownable, Initializable { * tokenIds: [equip_to_evolve, equip_for_burn, chip] */ function evolveEquip(address to, uint256[3] calldata tokenIds) external{ - require(publicEvolveAllowed || _msgSender() == owner()); + require((publicEvolveAllowed && _msgSender() == to) || _msgSender() == owner()); require(equip.ownerOf(tokenIds[0]) == to, "current address is not owner of this equipment now"); equip.burn(to, tokenIds[1]); if (tokenIds[2] > 0) {