优化1155合约的体积
This commit is contained in:
parent
c215181930
commit
f656b07923
File diff suppressed because one or more lines are too long
@ -45116,10 +45116,40 @@
|
||||
"links": {},
|
||||
"address": "0x6eD79Aa1c71FD7BdBC515EfdA3Bd4e26394435cC",
|
||||
"transactionHash": "0xdba4ae3720ba063fde57a322b23b99eb4efbdd7bd717a490dd5eee3e3011da79"
|
||||
},
|
||||
"1660298760149": {
|
||||
"events": {},
|
||||
"links": {},
|
||||
"address": "0x6eD79Aa1c71FD7BdBC515EfdA3Bd4e26394435cC",
|
||||
"transactionHash": "0x5d617347e554d50b411b37204b01878f8064ed9bbba05b8a42e0f6aecf49a4c8"
|
||||
},
|
||||
"1660531431098": {
|
||||
"events": {},
|
||||
"links": {},
|
||||
"address": "0x6eD79Aa1c71FD7BdBC515EfdA3Bd4e26394435cC",
|
||||
"transactionHash": "0xe8a063f2a1b60b6c6ec1d56b994deb6793e23885e4422184264350cc8ed9d81f"
|
||||
},
|
||||
"1660541459153": {
|
||||
"events": {},
|
||||
"links": {},
|
||||
"address": "0x6eD79Aa1c71FD7BdBC515EfdA3Bd4e26394435cC",
|
||||
"transactionHash": "0xfc375a91ac85a0e86183ebc42df59d35a42a9fe162a710de3f187c1511ddbd54"
|
||||
},
|
||||
"1660546107914": {
|
||||
"events": {},
|
||||
"links": {},
|
||||
"address": "0x6eD79Aa1c71FD7BdBC515EfdA3Bd4e26394435cC",
|
||||
"transactionHash": "0xffd4e86f44fe11afca22cd992f1a67bf548d52f55afd486f86e94969d5da07da"
|
||||
},
|
||||
"1660546294490": {
|
||||
"events": {},
|
||||
"links": {},
|
||||
"address": "0x6eD79Aa1c71FD7BdBC515EfdA3Bd4e26394435cC",
|
||||
"transactionHash": "0xffd4e86f44fe11afca22cd992f1a67bf548d52f55afd486f86e94969d5da07da"
|
||||
}
|
||||
},
|
||||
"schemaVersion": "3.4.4",
|
||||
"updatedAt": "2022-08-12T08:39:59.302Z",
|
||||
"updatedAt": "2022-08-15T06:52:20.254Z",
|
||||
"networkType": "ethereum",
|
||||
"devdoc": {
|
||||
"kind": "dev",
|
||||
|
File diff suppressed because one or more lines are too long
@ -9640,10 +9640,40 @@
|
||||
"links": {},
|
||||
"address": "0xCfEB869F69431e42cdB54A4F4f105C19C080A601",
|
||||
"transactionHash": "0x2204250d687161b0ca7a13205946e84000a26e776b23eb5e859e510b524829f3"
|
||||
},
|
||||
"1660298760149": {
|
||||
"events": {},
|
||||
"links": {},
|
||||
"address": "0xCfEB869F69431e42cdB54A4F4f105C19C080A601",
|
||||
"transactionHash": "0x2204250d687161b0ca7a13205946e84000a26e776b23eb5e859e510b524829f3"
|
||||
},
|
||||
"1660531431098": {
|
||||
"events": {},
|
||||
"links": {},
|
||||
"address": "0xCfEB869F69431e42cdB54A4F4f105C19C080A601",
|
||||
"transactionHash": "0x2204250d687161b0ca7a13205946e84000a26e776b23eb5e859e510b524829f3"
|
||||
},
|
||||
"1660541459153": {
|
||||
"events": {},
|
||||
"links": {},
|
||||
"address": "0xCfEB869F69431e42cdB54A4F4f105C19C080A601",
|
||||
"transactionHash": "0x2204250d687161b0ca7a13205946e84000a26e776b23eb5e859e510b524829f3"
|
||||
},
|
||||
"1660546107914": {
|
||||
"events": {},
|
||||
"links": {},
|
||||
"address": "0xCfEB869F69431e42cdB54A4F4f105C19C080A601",
|
||||
"transactionHash": "0x2204250d687161b0ca7a13205946e84000a26e776b23eb5e859e510b524829f3"
|
||||
},
|
||||
"1660546294490": {
|
||||
"events": {},
|
||||
"links": {},
|
||||
"address": "0xCfEB869F69431e42cdB54A4F4f105C19C080A601",
|
||||
"transactionHash": "0x2204250d687161b0ca7a13205946e84000a26e776b23eb5e859e510b524829f3"
|
||||
}
|
||||
},
|
||||
"schemaVersion": "3.4.4",
|
||||
"updatedAt": "2022-08-12T08:39:53.568Z",
|
||||
"updatedAt": "2022-08-15T06:52:13.226Z",
|
||||
"networkType": "ethereum",
|
||||
"devdoc": {
|
||||
"kind": "dev",
|
||||
|
@ -23879,10 +23879,40 @@
|
||||
"links": {},
|
||||
"address": "0x59d3631c86BbE35EF041872d502F218A39FBa150",
|
||||
"transactionHash": "0x9da0c311692bec2b672fb1d94511aaf8d2e0fbb0030d45ab4aa461ca230659bc"
|
||||
},
|
||||
"1660298760149": {
|
||||
"events": {},
|
||||
"links": {},
|
||||
"address": "0x59d3631c86BbE35EF041872d502F218A39FBa150",
|
||||
"transactionHash": "0x9da0c311692bec2b672fb1d94511aaf8d2e0fbb0030d45ab4aa461ca230659bc"
|
||||
},
|
||||
"1660531431098": {
|
||||
"events": {},
|
||||
"links": {},
|
||||
"address": "0x59d3631c86BbE35EF041872d502F218A39FBa150",
|
||||
"transactionHash": "0x9da0c311692bec2b672fb1d94511aaf8d2e0fbb0030d45ab4aa461ca230659bc"
|
||||
},
|
||||
"1660541459153": {
|
||||
"events": {},
|
||||
"links": {},
|
||||
"address": "0x59d3631c86BbE35EF041872d502F218A39FBa150",
|
||||
"transactionHash": "0x9da0c311692bec2b672fb1d94511aaf8d2e0fbb0030d45ab4aa461ca230659bc"
|
||||
},
|
||||
"1660546107914": {
|
||||
"events": {},
|
||||
"links": {},
|
||||
"address": "0x59d3631c86BbE35EF041872d502F218A39FBa150",
|
||||
"transactionHash": "0x9da0c311692bec2b672fb1d94511aaf8d2e0fbb0030d45ab4aa461ca230659bc"
|
||||
},
|
||||
"1660546294490": {
|
||||
"events": {},
|
||||
"links": {},
|
||||
"address": "0x59d3631c86BbE35EF041872d502F218A39FBa150",
|
||||
"transactionHash": "0x9da0c311692bec2b672fb1d94511aaf8d2e0fbb0030d45ab4aa461ca230659bc"
|
||||
}
|
||||
},
|
||||
"schemaVersion": "3.4.4",
|
||||
"updatedAt": "2022-08-12T08:39:55.597Z",
|
||||
"updatedAt": "2022-08-15T06:52:15.612Z",
|
||||
"networkType": "ethereum",
|
||||
"devdoc": {
|
||||
"kind": "dev",
|
||||
|
@ -11688,10 +11688,40 @@
|
||||
"links": {},
|
||||
"address": "0xC89Ce4735882C9F0f0FE26686c53074E09B0D550",
|
||||
"transactionHash": "0x6d2a8e99df9adb00dfa3fda55853cddf2f206987a4c80cb8f0062fa451cb8224"
|
||||
},
|
||||
"1660298760149": {
|
||||
"events": {},
|
||||
"links": {},
|
||||
"address": "0xC89Ce4735882C9F0f0FE26686c53074E09B0D550",
|
||||
"transactionHash": "0x6d2a8e99df9adb00dfa3fda55853cddf2f206987a4c80cb8f0062fa451cb8224"
|
||||
},
|
||||
"1660531431098": {
|
||||
"events": {},
|
||||
"links": {},
|
||||
"address": "0xC89Ce4735882C9F0f0FE26686c53074E09B0D550",
|
||||
"transactionHash": "0x6d2a8e99df9adb00dfa3fda55853cddf2f206987a4c80cb8f0062fa451cb8224"
|
||||
},
|
||||
"1660541459153": {
|
||||
"events": {},
|
||||
"links": {},
|
||||
"address": "0xC89Ce4735882C9F0f0FE26686c53074E09B0D550",
|
||||
"transactionHash": "0x6d2a8e99df9adb00dfa3fda55853cddf2f206987a4c80cb8f0062fa451cb8224"
|
||||
},
|
||||
"1660546107914": {
|
||||
"events": {},
|
||||
"links": {},
|
||||
"address": "0xC89Ce4735882C9F0f0FE26686c53074E09B0D550",
|
||||
"transactionHash": "0x6d2a8e99df9adb00dfa3fda55853cddf2f206987a4c80cb8f0062fa451cb8224"
|
||||
},
|
||||
"1660546294490": {
|
||||
"events": {},
|
||||
"links": {},
|
||||
"address": "0xC89Ce4735882C9F0f0FE26686c53074E09B0D550",
|
||||
"transactionHash": "0x6d2a8e99df9adb00dfa3fda55853cddf2f206987a4c80cb8f0062fa451cb8224"
|
||||
}
|
||||
},
|
||||
"schemaVersion": "3.4.4",
|
||||
"updatedAt": "2022-08-12T08:39:54.240Z",
|
||||
"updatedAt": "2022-08-15T06:52:13.989Z",
|
||||
"networkType": "ethereum",
|
||||
"devdoc": {
|
||||
"kind": "dev",
|
||||
|
@ -23879,10 +23879,40 @@
|
||||
"links": {},
|
||||
"address": "0x9561C133DD8580860B6b7E504bC5Aa500f0f06a7",
|
||||
"transactionHash": "0xe08ae1682a58713adaf8e9d6595d87b60d064ea10c23695af8b448ece741fada"
|
||||
},
|
||||
"1660298760149": {
|
||||
"events": {},
|
||||
"links": {},
|
||||
"address": "0x9561C133DD8580860B6b7E504bC5Aa500f0f06a7",
|
||||
"transactionHash": "0xe08ae1682a58713adaf8e9d6595d87b60d064ea10c23695af8b448ece741fada"
|
||||
},
|
||||
"1660531431098": {
|
||||
"events": {},
|
||||
"links": {},
|
||||
"address": "0x9561C133DD8580860B6b7E504bC5Aa500f0f06a7",
|
||||
"transactionHash": "0xe08ae1682a58713adaf8e9d6595d87b60d064ea10c23695af8b448ece741fada"
|
||||
},
|
||||
"1660541459153": {
|
||||
"events": {},
|
||||
"links": {},
|
||||
"address": "0x9561C133DD8580860B6b7E504bC5Aa500f0f06a7",
|
||||
"transactionHash": "0xe08ae1682a58713adaf8e9d6595d87b60d064ea10c23695af8b448ece741fada"
|
||||
},
|
||||
"1660546107914": {
|
||||
"events": {},
|
||||
"links": {},
|
||||
"address": "0x9561C133DD8580860B6b7E504bC5Aa500f0f06a7",
|
||||
"transactionHash": "0xe08ae1682a58713adaf8e9d6595d87b60d064ea10c23695af8b448ece741fada"
|
||||
},
|
||||
"1660546294490": {
|
||||
"events": {},
|
||||
"links": {},
|
||||
"address": "0x9561C133DD8580860B6b7E504bC5Aa500f0f06a7",
|
||||
"transactionHash": "0xe08ae1682a58713adaf8e9d6595d87b60d064ea10c23695af8b448ece741fada"
|
||||
}
|
||||
},
|
||||
"schemaVersion": "3.4.4",
|
||||
"updatedAt": "2022-08-12T08:39:54.916Z",
|
||||
"updatedAt": "2022-08-15T06:52:14.805Z",
|
||||
"networkType": "ethereum",
|
||||
"devdoc": {
|
||||
"kind": "dev",
|
||||
|
File diff suppressed because one or more lines are too long
@ -25162,10 +25162,40 @@
|
||||
"links": {},
|
||||
"address": "0x21a59654176f2689d12E828B77a783072CD26680",
|
||||
"transactionHash": "0x69fbc9a88b1d74377d80cc912f3e6739573a0fe0dbe10ee4f9f6dd5cf5f875aa"
|
||||
},
|
||||
"1660298760149": {
|
||||
"events": {},
|
||||
"links": {},
|
||||
"address": "0x21a59654176f2689d12E828B77a783072CD26680",
|
||||
"transactionHash": "0xb9ca36f0882e61f5c114e225ccfb77a2273d12349dfe692ed35cf7edbf759784"
|
||||
},
|
||||
"1660531431098": {
|
||||
"events": {},
|
||||
"links": {},
|
||||
"address": "0x21a59654176f2689d12E828B77a783072CD26680",
|
||||
"transactionHash": "0x33ad563d0b5129743d0cba7bcbedaf5ae825f76e71bfc077e826009e618803c3"
|
||||
},
|
||||
"1660541459153": {
|
||||
"events": {},
|
||||
"links": {},
|
||||
"address": "0x21a59654176f2689d12E828B77a783072CD26680",
|
||||
"transactionHash": "0x6595e64a43db9c4e9468dd4dc3325215c1384f4c5079203cefbf83bb40b9a6ac"
|
||||
},
|
||||
"1660546107914": {
|
||||
"events": {},
|
||||
"links": {},
|
||||
"address": "0x21a59654176f2689d12E828B77a783072CD26680",
|
||||
"transactionHash": "0x4af14eefca13fef07b442e1a04e222abd8def1354259739e7323a6b0cdf1d5f7"
|
||||
},
|
||||
"1660546294490": {
|
||||
"events": {},
|
||||
"links": {},
|
||||
"address": "0x21a59654176f2689d12E828B77a783072CD26680",
|
||||
"transactionHash": "0x4af14eefca13fef07b442e1a04e222abd8def1354259739e7323a6b0cdf1d5f7"
|
||||
}
|
||||
},
|
||||
"schemaVersion": "3.4.4",
|
||||
"updatedAt": "2022-08-12T08:40:00.586Z",
|
||||
"updatedAt": "2022-08-15T06:52:21.916Z",
|
||||
"networkType": "ethereum",
|
||||
"devdoc": {
|
||||
"kind": "dev",
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
@ -33513,10 +33513,40 @@
|
||||
"links": {},
|
||||
"address": "0xDb56f2e9369E0D7bD191099125a3f6C370F8ed15",
|
||||
"transactionHash": "0x6996e868f4a8b2ede22ac5d344b853260fabd45fcc88a4d8df58e765facc564a"
|
||||
},
|
||||
"1660298760149": {
|
||||
"events": {},
|
||||
"links": {},
|
||||
"address": "0xDb56f2e9369E0D7bD191099125a3f6C370F8ed15",
|
||||
"transactionHash": "0x2e4f5c557710e0d30a0f5d875eb19ac68aa0e2b119adc181ceb55904a617d28d"
|
||||
},
|
||||
"1660531431098": {
|
||||
"events": {},
|
||||
"links": {},
|
||||
"address": "0xDb56f2e9369E0D7bD191099125a3f6C370F8ed15",
|
||||
"transactionHash": "0x8daa16fcb89ef8bb0c3609ba21eb93f430c581c74febc70b4aae28cc5ca9d39c"
|
||||
},
|
||||
"1660541459153": {
|
||||
"events": {},
|
||||
"links": {},
|
||||
"address": "0xDb56f2e9369E0D7bD191099125a3f6C370F8ed15",
|
||||
"transactionHash": "0x9255708eed0bc2c7954fd046ec5a1300e7d0017cdc3beda3390a36c9c2202d9e"
|
||||
},
|
||||
"1660546107914": {
|
||||
"events": {},
|
||||
"links": {},
|
||||
"address": "0xDb56f2e9369E0D7bD191099125a3f6C370F8ed15",
|
||||
"transactionHash": "0x11a77fbd90b6847b301866ec17d74825797dbaac44b9a9a5f4ed6a55821ae0e7"
|
||||
},
|
||||
"1660546294490": {
|
||||
"events": {},
|
||||
"links": {},
|
||||
"address": "0xDb56f2e9369E0D7bD191099125a3f6C370F8ed15",
|
||||
"transactionHash": "0x11a77fbd90b6847b301866ec17d74825797dbaac44b9a9a5f4ed6a55821ae0e7"
|
||||
}
|
||||
},
|
||||
"schemaVersion": "3.4.4",
|
||||
"updatedAt": "2022-08-12T08:39:58.469Z",
|
||||
"updatedAt": "2022-08-15T06:52:19.317Z",
|
||||
"networkType": "ethereum",
|
||||
"devdoc": {
|
||||
"kind": "dev",
|
||||
|
@ -3142,10 +3142,40 @@
|
||||
"links": {},
|
||||
"address": "0xe78A0F7E598Cc8b0Bb87894B0F60dD2a88d6a8Ab",
|
||||
"transactionHash": "0x48bdf23a40832e27b03488c07a3499446ea72de28dfc5da232f940822771f02d"
|
||||
},
|
||||
"1660298760149": {
|
||||
"events": {},
|
||||
"links": {},
|
||||
"address": "0xe78A0F7E598Cc8b0Bb87894B0F60dD2a88d6a8Ab",
|
||||
"transactionHash": "0x48bdf23a40832e27b03488c07a3499446ea72de28dfc5da232f940822771f02d"
|
||||
},
|
||||
"1660531431098": {
|
||||
"events": {},
|
||||
"links": {},
|
||||
"address": "0xe78A0F7E598Cc8b0Bb87894B0F60dD2a88d6a8Ab",
|
||||
"transactionHash": "0x48bdf23a40832e27b03488c07a3499446ea72de28dfc5da232f940822771f02d"
|
||||
},
|
||||
"1660541459153": {
|
||||
"events": {},
|
||||
"links": {},
|
||||
"address": "0xe78A0F7E598Cc8b0Bb87894B0F60dD2a88d6a8Ab",
|
||||
"transactionHash": "0x48bdf23a40832e27b03488c07a3499446ea72de28dfc5da232f940822771f02d"
|
||||
},
|
||||
"1660546107914": {
|
||||
"events": {},
|
||||
"links": {},
|
||||
"address": "0xe78A0F7E598Cc8b0Bb87894B0F60dD2a88d6a8Ab",
|
||||
"transactionHash": "0x48bdf23a40832e27b03488c07a3499446ea72de28dfc5da232f940822771f02d"
|
||||
},
|
||||
"1660546294490": {
|
||||
"events": {},
|
||||
"links": {},
|
||||
"address": "0xe78A0F7E598Cc8b0Bb87894B0F60dD2a88d6a8Ab",
|
||||
"transactionHash": "0x48bdf23a40832e27b03488c07a3499446ea72de28dfc5da232f940822771f02d"
|
||||
}
|
||||
},
|
||||
"schemaVersion": "3.4.4",
|
||||
"updatedAt": "2022-08-12T08:40:00.592Z",
|
||||
"updatedAt": "2022-08-15T06:52:21.925Z",
|
||||
"networkType": "ethereum",
|
||||
"devdoc": {
|
||||
"kind": "dev",
|
||||
|
File diff suppressed because one or more lines are too long
731
build/contracts/UInt.json
Normal file
731
build/contracts/UInt.json
Normal file
@ -0,0 +1,731 @@
|
||||
{
|
||||
"contractName": "UInt",
|
||||
"abi": [],
|
||||
"metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/utils/UInt.sol\":\"UInt\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/utils/UInt.sol\":{\"keccak256\":\"0x137247f9f248803d3163e93d37120ebc2c848c45af4733b82f417a56b93d1ad2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5e99614dd7cdcce84a664837ed5db44f81e56ddf6f288a905e56c93e7c9a2d5\",\"dweb:/ipfs/QmWhiM1isqnFyvjzSqZD6qs7gYayHEpszG8CV1CUjBdC3u\"]}},\"version\":1}",
|
||||
"bytecode": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ba2c95fc026962092e83d6add832bf3663ad167c96158affa3769e24358a33dd64736f6c634300080a0033",
|
||||
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ba2c95fc026962092e83d6add832bf3663ad167c96158affa3769e24358a33dd64736f6c634300080a0033",
|
||||
"immutableReferences": {},
|
||||
"generatedSources": [],
|
||||
"deployedGeneratedSources": [],
|
||||
"sourceMap": "57:197:13:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;",
|
||||
"deployedSourceMap": "57:197:13:-:0;;;;;;;;",
|
||||
"source": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.10;\n\nlibrary UInt{\n\n function asSingletonArray(uint256 element) internal pure returns (uint256[] memory) {\n uint256[] memory array = new uint256[](1);\n array[0] = element;\n return array;\n }\n}\n",
|
||||
"sourcePath": "/Users/zhl/Documents/workspace/game/becrypto/contracts/utils/UInt.sol",
|
||||
"ast": {
|
||||
"absolutePath": "project:/contracts/utils/UInt.sol",
|
||||
"exportedSymbols": {
|
||||
"UInt": [
|
||||
2513
|
||||
]
|
||||
},
|
||||
"id": 2514,
|
||||
"license": "MIT",
|
||||
"nodeType": "SourceUnit",
|
||||
"nodes": [
|
||||
{
|
||||
"id": 2484,
|
||||
"literals": [
|
||||
"solidity",
|
||||
"0.8",
|
||||
".10"
|
||||
],
|
||||
"nodeType": "PragmaDirective",
|
||||
"src": "32:23:13"
|
||||
},
|
||||
{
|
||||
"abstract": false,
|
||||
"baseContracts": [],
|
||||
"canonicalName": "UInt",
|
||||
"contractDependencies": [],
|
||||
"contractKind": "library",
|
||||
"fullyImplemented": true,
|
||||
"id": 2513,
|
||||
"linearizedBaseContracts": [
|
||||
2513
|
||||
],
|
||||
"name": "UInt",
|
||||
"nameLocation": "65:4:13",
|
||||
"nodeType": "ContractDefinition",
|
||||
"nodes": [
|
||||
{
|
||||
"body": {
|
||||
"id": 2511,
|
||||
"nodeType": "Block",
|
||||
"src": "158:94:13",
|
||||
"statements": [
|
||||
{
|
||||
"assignments": [
|
||||
2496
|
||||
],
|
||||
"declarations": [
|
||||
{
|
||||
"constant": false,
|
||||
"id": 2496,
|
||||
"mutability": "mutable",
|
||||
"name": "array",
|
||||
"nameLocation": "181:5:13",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 2511,
|
||||
"src": "164:22:13",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "memory",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
|
||||
"typeString": "uint256[]"
|
||||
},
|
||||
"typeName": {
|
||||
"baseType": {
|
||||
"id": 2494,
|
||||
"name": "uint256",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "164:7:13",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint256",
|
||||
"typeString": "uint256"
|
||||
}
|
||||
},
|
||||
"id": 2495,
|
||||
"nodeType": "ArrayTypeName",
|
||||
"src": "164:9:13",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
|
||||
"typeString": "uint256[]"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"id": 2502,
|
||||
"initialValue": {
|
||||
"arguments": [
|
||||
{
|
||||
"hexValue": "31",
|
||||
"id": 2500,
|
||||
"isConstant": false,
|
||||
"isLValue": false,
|
||||
"isPure": true,
|
||||
"kind": "number",
|
||||
"lValueRequested": false,
|
||||
"nodeType": "Literal",
|
||||
"src": "203:1:13",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_rational_1_by_1",
|
||||
"typeString": "int_const 1"
|
||||
},
|
||||
"value": "1"
|
||||
}
|
||||
],
|
||||
"expression": {
|
||||
"argumentTypes": [
|
||||
{
|
||||
"typeIdentifier": "t_rational_1_by_1",
|
||||
"typeString": "int_const 1"
|
||||
}
|
||||
],
|
||||
"id": 2499,
|
||||
"isConstant": false,
|
||||
"isLValue": false,
|
||||
"isPure": true,
|
||||
"lValueRequested": false,
|
||||
"nodeType": "NewExpression",
|
||||
"src": "189:13:13",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$",
|
||||
"typeString": "function (uint256) pure returns (uint256[] memory)"
|
||||
},
|
||||
"typeName": {
|
||||
"baseType": {
|
||||
"id": 2497,
|
||||
"name": "uint256",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "193:7:13",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint256",
|
||||
"typeString": "uint256"
|
||||
}
|
||||
},
|
||||
"id": 2498,
|
||||
"nodeType": "ArrayTypeName",
|
||||
"src": "193:9:13",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
|
||||
"typeString": "uint256[]"
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": 2501,
|
||||
"isConstant": false,
|
||||
"isLValue": false,
|
||||
"isPure": true,
|
||||
"kind": "functionCall",
|
||||
"lValueRequested": false,
|
||||
"names": [],
|
||||
"nodeType": "FunctionCall",
|
||||
"src": "189:16:13",
|
||||
"tryCall": false,
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
|
||||
"typeString": "uint256[] memory"
|
||||
}
|
||||
},
|
||||
"nodeType": "VariableDeclarationStatement",
|
||||
"src": "164:41:13"
|
||||
},
|
||||
{
|
||||
"expression": {
|
||||
"id": 2507,
|
||||
"isConstant": false,
|
||||
"isLValue": false,
|
||||
"isPure": false,
|
||||
"lValueRequested": false,
|
||||
"leftHandSide": {
|
||||
"baseExpression": {
|
||||
"id": 2503,
|
||||
"name": "array",
|
||||
"nodeType": "Identifier",
|
||||
"overloadedDeclarations": [],
|
||||
"referencedDeclaration": 2496,
|
||||
"src": "211:5:13",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
|
||||
"typeString": "uint256[] memory"
|
||||
}
|
||||
},
|
||||
"id": 2505,
|
||||
"indexExpression": {
|
||||
"hexValue": "30",
|
||||
"id": 2504,
|
||||
"isConstant": false,
|
||||
"isLValue": false,
|
||||
"isPure": true,
|
||||
"kind": "number",
|
||||
"lValueRequested": false,
|
||||
"nodeType": "Literal",
|
||||
"src": "217:1:13",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_rational_0_by_1",
|
||||
"typeString": "int_const 0"
|
||||
},
|
||||
"value": "0"
|
||||
},
|
||||
"isConstant": false,
|
||||
"isLValue": true,
|
||||
"isPure": false,
|
||||
"lValueRequested": true,
|
||||
"nodeType": "IndexAccess",
|
||||
"src": "211:8:13",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint256",
|
||||
"typeString": "uint256"
|
||||
}
|
||||
},
|
||||
"nodeType": "Assignment",
|
||||
"operator": "=",
|
||||
"rightHandSide": {
|
||||
"id": 2506,
|
||||
"name": "element",
|
||||
"nodeType": "Identifier",
|
||||
"overloadedDeclarations": [],
|
||||
"referencedDeclaration": 2486,
|
||||
"src": "222:7:13",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint256",
|
||||
"typeString": "uint256"
|
||||
}
|
||||
},
|
||||
"src": "211:18:13",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint256",
|
||||
"typeString": "uint256"
|
||||
}
|
||||
},
|
||||
"id": 2508,
|
||||
"nodeType": "ExpressionStatement",
|
||||
"src": "211:18:13"
|
||||
},
|
||||
{
|
||||
"expression": {
|
||||
"id": 2509,
|
||||
"name": "array",
|
||||
"nodeType": "Identifier",
|
||||
"overloadedDeclarations": [],
|
||||
"referencedDeclaration": 2496,
|
||||
"src": "242:5:13",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
|
||||
"typeString": "uint256[] memory"
|
||||
}
|
||||
},
|
||||
"functionReturnParameters": 2491,
|
||||
"id": 2510,
|
||||
"nodeType": "Return",
|
||||
"src": "235:12:13"
|
||||
}
|
||||
]
|
||||
},
|
||||
"id": 2512,
|
||||
"implemented": true,
|
||||
"kind": "function",
|
||||
"modifiers": [],
|
||||
"name": "asSingletonArray",
|
||||
"nameLocation": "83:16:13",
|
||||
"nodeType": "FunctionDefinition",
|
||||
"parameters": {
|
||||
"id": 2487,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [
|
||||
{
|
||||
"constant": false,
|
||||
"id": 2486,
|
||||
"mutability": "mutable",
|
||||
"name": "element",
|
||||
"nameLocation": "108:7:13",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 2512,
|
||||
"src": "100:15:13",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint256",
|
||||
"typeString": "uint256"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 2485,
|
||||
"name": "uint256",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "100:7:13",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint256",
|
||||
"typeString": "uint256"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"src": "99:17:13"
|
||||
},
|
||||
"returnParameters": {
|
||||
"id": 2491,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [
|
||||
{
|
||||
"constant": false,
|
||||
"id": 2490,
|
||||
"mutability": "mutable",
|
||||
"name": "",
|
||||
"nameLocation": "-1:-1:-1",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 2512,
|
||||
"src": "140:16:13",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "memory",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
|
||||
"typeString": "uint256[]"
|
||||
},
|
||||
"typeName": {
|
||||
"baseType": {
|
||||
"id": 2488,
|
||||
"name": "uint256",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "140:7:13",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint256",
|
||||
"typeString": "uint256"
|
||||
}
|
||||
},
|
||||
"id": 2489,
|
||||
"nodeType": "ArrayTypeName",
|
||||
"src": "140:9:13",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
|
||||
"typeString": "uint256[]"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"src": "139:18:13"
|
||||
},
|
||||
"scope": 2513,
|
||||
"src": "74:178:13",
|
||||
"stateMutability": "pure",
|
||||
"virtual": false,
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"scope": 2514,
|
||||
"src": "57:197:13",
|
||||
"usedErrors": []
|
||||
}
|
||||
],
|
||||
"src": "32:223:13"
|
||||
},
|
||||
"legacyAST": {
|
||||
"absolutePath": "project:/contracts/utils/UInt.sol",
|
||||
"exportedSymbols": {
|
||||
"UInt": [
|
||||
2513
|
||||
]
|
||||
},
|
||||
"id": 2514,
|
||||
"license": "MIT",
|
||||
"nodeType": "SourceUnit",
|
||||
"nodes": [
|
||||
{
|
||||
"id": 2484,
|
||||
"literals": [
|
||||
"solidity",
|
||||
"0.8",
|
||||
".10"
|
||||
],
|
||||
"nodeType": "PragmaDirective",
|
||||
"src": "32:23:13"
|
||||
},
|
||||
{
|
||||
"abstract": false,
|
||||
"baseContracts": [],
|
||||
"canonicalName": "UInt",
|
||||
"contractDependencies": [],
|
||||
"contractKind": "library",
|
||||
"fullyImplemented": true,
|
||||
"id": 2513,
|
||||
"linearizedBaseContracts": [
|
||||
2513
|
||||
],
|
||||
"name": "UInt",
|
||||
"nameLocation": "65:4:13",
|
||||
"nodeType": "ContractDefinition",
|
||||
"nodes": [
|
||||
{
|
||||
"body": {
|
||||
"id": 2511,
|
||||
"nodeType": "Block",
|
||||
"src": "158:94:13",
|
||||
"statements": [
|
||||
{
|
||||
"assignments": [
|
||||
2496
|
||||
],
|
||||
"declarations": [
|
||||
{
|
||||
"constant": false,
|
||||
"id": 2496,
|
||||
"mutability": "mutable",
|
||||
"name": "array",
|
||||
"nameLocation": "181:5:13",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 2511,
|
||||
"src": "164:22:13",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "memory",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
|
||||
"typeString": "uint256[]"
|
||||
},
|
||||
"typeName": {
|
||||
"baseType": {
|
||||
"id": 2494,
|
||||
"name": "uint256",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "164:7:13",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint256",
|
||||
"typeString": "uint256"
|
||||
}
|
||||
},
|
||||
"id": 2495,
|
||||
"nodeType": "ArrayTypeName",
|
||||
"src": "164:9:13",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
|
||||
"typeString": "uint256[]"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"id": 2502,
|
||||
"initialValue": {
|
||||
"arguments": [
|
||||
{
|
||||
"hexValue": "31",
|
||||
"id": 2500,
|
||||
"isConstant": false,
|
||||
"isLValue": false,
|
||||
"isPure": true,
|
||||
"kind": "number",
|
||||
"lValueRequested": false,
|
||||
"nodeType": "Literal",
|
||||
"src": "203:1:13",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_rational_1_by_1",
|
||||
"typeString": "int_const 1"
|
||||
},
|
||||
"value": "1"
|
||||
}
|
||||
],
|
||||
"expression": {
|
||||
"argumentTypes": [
|
||||
{
|
||||
"typeIdentifier": "t_rational_1_by_1",
|
||||
"typeString": "int_const 1"
|
||||
}
|
||||
],
|
||||
"id": 2499,
|
||||
"isConstant": false,
|
||||
"isLValue": false,
|
||||
"isPure": true,
|
||||
"lValueRequested": false,
|
||||
"nodeType": "NewExpression",
|
||||
"src": "189:13:13",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$",
|
||||
"typeString": "function (uint256) pure returns (uint256[] memory)"
|
||||
},
|
||||
"typeName": {
|
||||
"baseType": {
|
||||
"id": 2497,
|
||||
"name": "uint256",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "193:7:13",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint256",
|
||||
"typeString": "uint256"
|
||||
}
|
||||
},
|
||||
"id": 2498,
|
||||
"nodeType": "ArrayTypeName",
|
||||
"src": "193:9:13",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
|
||||
"typeString": "uint256[]"
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": 2501,
|
||||
"isConstant": false,
|
||||
"isLValue": false,
|
||||
"isPure": true,
|
||||
"kind": "functionCall",
|
||||
"lValueRequested": false,
|
||||
"names": [],
|
||||
"nodeType": "FunctionCall",
|
||||
"src": "189:16:13",
|
||||
"tryCall": false,
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
|
||||
"typeString": "uint256[] memory"
|
||||
}
|
||||
},
|
||||
"nodeType": "VariableDeclarationStatement",
|
||||
"src": "164:41:13"
|
||||
},
|
||||
{
|
||||
"expression": {
|
||||
"id": 2507,
|
||||
"isConstant": false,
|
||||
"isLValue": false,
|
||||
"isPure": false,
|
||||
"lValueRequested": false,
|
||||
"leftHandSide": {
|
||||
"baseExpression": {
|
||||
"id": 2503,
|
||||
"name": "array",
|
||||
"nodeType": "Identifier",
|
||||
"overloadedDeclarations": [],
|
||||
"referencedDeclaration": 2496,
|
||||
"src": "211:5:13",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
|
||||
"typeString": "uint256[] memory"
|
||||
}
|
||||
},
|
||||
"id": 2505,
|
||||
"indexExpression": {
|
||||
"hexValue": "30",
|
||||
"id": 2504,
|
||||
"isConstant": false,
|
||||
"isLValue": false,
|
||||
"isPure": true,
|
||||
"kind": "number",
|
||||
"lValueRequested": false,
|
||||
"nodeType": "Literal",
|
||||
"src": "217:1:13",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_rational_0_by_1",
|
||||
"typeString": "int_const 0"
|
||||
},
|
||||
"value": "0"
|
||||
},
|
||||
"isConstant": false,
|
||||
"isLValue": true,
|
||||
"isPure": false,
|
||||
"lValueRequested": true,
|
||||
"nodeType": "IndexAccess",
|
||||
"src": "211:8:13",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint256",
|
||||
"typeString": "uint256"
|
||||
}
|
||||
},
|
||||
"nodeType": "Assignment",
|
||||
"operator": "=",
|
||||
"rightHandSide": {
|
||||
"id": 2506,
|
||||
"name": "element",
|
||||
"nodeType": "Identifier",
|
||||
"overloadedDeclarations": [],
|
||||
"referencedDeclaration": 2486,
|
||||
"src": "222:7:13",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint256",
|
||||
"typeString": "uint256"
|
||||
}
|
||||
},
|
||||
"src": "211:18:13",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint256",
|
||||
"typeString": "uint256"
|
||||
}
|
||||
},
|
||||
"id": 2508,
|
||||
"nodeType": "ExpressionStatement",
|
||||
"src": "211:18:13"
|
||||
},
|
||||
{
|
||||
"expression": {
|
||||
"id": 2509,
|
||||
"name": "array",
|
||||
"nodeType": "Identifier",
|
||||
"overloadedDeclarations": [],
|
||||
"referencedDeclaration": 2496,
|
||||
"src": "242:5:13",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
|
||||
"typeString": "uint256[] memory"
|
||||
}
|
||||
},
|
||||
"functionReturnParameters": 2491,
|
||||
"id": 2510,
|
||||
"nodeType": "Return",
|
||||
"src": "235:12:13"
|
||||
}
|
||||
]
|
||||
},
|
||||
"id": 2512,
|
||||
"implemented": true,
|
||||
"kind": "function",
|
||||
"modifiers": [],
|
||||
"name": "asSingletonArray",
|
||||
"nameLocation": "83:16:13",
|
||||
"nodeType": "FunctionDefinition",
|
||||
"parameters": {
|
||||
"id": 2487,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [
|
||||
{
|
||||
"constant": false,
|
||||
"id": 2486,
|
||||
"mutability": "mutable",
|
||||
"name": "element",
|
||||
"nameLocation": "108:7:13",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 2512,
|
||||
"src": "100:15:13",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint256",
|
||||
"typeString": "uint256"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 2485,
|
||||
"name": "uint256",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "100:7:13",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint256",
|
||||
"typeString": "uint256"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"src": "99:17:13"
|
||||
},
|
||||
"returnParameters": {
|
||||
"id": 2491,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [
|
||||
{
|
||||
"constant": false,
|
||||
"id": 2490,
|
||||
"mutability": "mutable",
|
||||
"name": "",
|
||||
"nameLocation": "-1:-1:-1",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 2512,
|
||||
"src": "140:16:13",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "memory",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
|
||||
"typeString": "uint256[]"
|
||||
},
|
||||
"typeName": {
|
||||
"baseType": {
|
||||
"id": 2488,
|
||||
"name": "uint256",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "140:7:13",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint256",
|
||||
"typeString": "uint256"
|
||||
}
|
||||
},
|
||||
"id": 2489,
|
||||
"nodeType": "ArrayTypeName",
|
||||
"src": "140:9:13",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
|
||||
"typeString": "uint256[]"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"src": "139:18:13"
|
||||
},
|
||||
"scope": 2513,
|
||||
"src": "74:178:13",
|
||||
"stateMutability": "pure",
|
||||
"virtual": false,
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"scope": 2514,
|
||||
"src": "57:197:13",
|
||||
"usedErrors": []
|
||||
}
|
||||
],
|
||||
"src": "32:223:13"
|
||||
},
|
||||
"compiler": {
|
||||
"name": "solc",
|
||||
"version": "0.8.10+commit.fc410830.Emscripten.clang"
|
||||
},
|
||||
"networks": {},
|
||||
"schemaVersion": "3.4.4",
|
||||
"updatedAt": "2022-08-16T02:56:28.538Z",
|
||||
"devdoc": {
|
||||
"kind": "dev",
|
||||
"methods": {},
|
||||
"version": 1
|
||||
},
|
||||
"userdoc": {
|
||||
"kind": "user",
|
||||
"methods": {},
|
||||
"version": 1
|
||||
}
|
||||
}
|
File diff suppressed because one or more lines are too long
@ -11,19 +11,6 @@ interface IBEERC1155 is IERC1155 {
|
||||
bytes memory data
|
||||
) external;
|
||||
|
||||
function mint(
|
||||
address to,
|
||||
uint256 id,
|
||||
uint256 amount,
|
||||
bytes memory data
|
||||
) external;
|
||||
|
||||
function burn(
|
||||
address owner,
|
||||
uint256 tokenId,
|
||||
uint256 amount
|
||||
) external;
|
||||
|
||||
function burnBatch(
|
||||
address owner,
|
||||
uint256[] memory ids,
|
||||
|
@ -4,6 +4,8 @@ import "@openzeppelin/contracts/access/Ownable.sol";
|
||||
import "@openzeppelin/contracts/proxy/utils/Initializable.sol";
|
||||
import "@openzeppelin/contracts/token/ERC721/IERC721.sol";
|
||||
import "../interfaces/IBEERC721.sol";
|
||||
import "../interfaces/IBEERC1155.sol";
|
||||
import "../utils/UInt.sol";
|
||||
import "../core/HasSignature.sol";
|
||||
|
||||
// this contract will transfer ownership to BETimelockController after deployed
|
||||
@ -11,9 +13,10 @@ import "../core/HasSignature.sol";
|
||||
|
||||
contract EvolveProxy is Ownable, Initializable, HasSignature {
|
||||
|
||||
using UInt for uint256;
|
||||
IBEERC721 public hero;
|
||||
IBEERC721 public equip;
|
||||
IBEERC721 public chip;
|
||||
IBEERC1155 public chip;
|
||||
|
||||
mapping(bytes => bool) public usedSignatures;
|
||||
|
||||
@ -34,7 +37,7 @@ contract EvolveProxy is Ownable, Initializable, HasSignature {
|
||||
function init(address[3] calldata _erc721s) external initializer onlyOwner {
|
||||
hero = IBEERC721(_erc721s[0]);
|
||||
equip = IBEERC721(_erc721s[1]);
|
||||
chip = IBEERC721(_erc721s[2]);
|
||||
chip = IBEERC1155(_erc721s[2]);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -84,7 +87,10 @@ contract EvolveProxy is Ownable, Initializable, HasSignature {
|
||||
checkSigner(executor, criteriaMessageHash, signature);
|
||||
hero.burn(msg.sender, tokenIds[1]);
|
||||
if (tokenIds[2] > 0) {
|
||||
chip.burn(msg.sender, tokenIds[2]);
|
||||
uint256 amount = 1;
|
||||
chip.burnBatch(msg.sender,
|
||||
tokenIds[2].asSingletonArray(),
|
||||
amount.asSingletonArray());
|
||||
}
|
||||
usedSignatures[signature] = true;
|
||||
emit TokenEvolved(evolveEventId, msg.sender, tokenIds[0], tokenIds[1], tokenIds[2]);
|
||||
@ -129,7 +135,10 @@ contract EvolveProxy is Ownable, Initializable, HasSignature {
|
||||
checkSigner(executor, criteriaMessageHash, signature);
|
||||
equip.burn(msg.sender, tokenIds[1]);
|
||||
if (tokenIds[2] > 0) {
|
||||
chip.burn(msg.sender, tokenIds[2]);
|
||||
uint256 amount = 1;
|
||||
chip.burnBatch(msg.sender,
|
||||
tokenIds[2].asSingletonArray(),
|
||||
amount.asSingletonArray());
|
||||
}
|
||||
usedSignatures[signature] = true;
|
||||
emit TokenEvolved(evolveEventId, msg.sender, tokenIds[0], tokenIds[1], tokenIds[2]);
|
||||
@ -154,4 +163,4 @@ contract EvolveProxy is Ownable, Initializable, HasSignature {
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -5,9 +5,11 @@ import "@openzeppelin/contracts/proxy/utils/Initializable.sol";
|
||||
import "@openzeppelin/contracts/token/ERC721/IERC721.sol";
|
||||
import "../interfaces/IBEERC721.sol";
|
||||
import "../interfaces/IBEERC1155.sol";
|
||||
import "../utils/UInt.sol";
|
||||
import "../core/HasSignature.sol";
|
||||
|
||||
contract MinterFactory is Ownable, Initializable, HasSignature {
|
||||
using UInt for uint256;
|
||||
address public executor;
|
||||
// NFT contract
|
||||
IBEERC721 public hero;
|
||||
@ -228,7 +230,7 @@ contract MinterFactory is Ownable, Initializable, HasSignature {
|
||||
IBEERC1155 nft
|
||||
) internal {
|
||||
require(to != address(0), "MinterFactory: to address can not be zero");
|
||||
nft.mint(to, id, amount, "");
|
||||
nft.mintBatch(to, id.asSingletonArray(), amount.asSingletonArray(), "");
|
||||
emit TokenMinted(address(chip), to, id);
|
||||
}
|
||||
|
||||
|
@ -6,7 +6,7 @@ import "@openzeppelin/contracts/token/ERC1155/ERC1155.sol";
|
||||
import "@openzeppelin/contracts/access/Ownable.sol";
|
||||
import "@openzeppelin/contracts/access/AccessControl.sol";
|
||||
|
||||
abstract contract BEBase1155 is ERC1155, AccessControl {
|
||||
abstract contract BEBase1155 is ERC1155, Ownable, AccessControl {
|
||||
using Strings for uint256;
|
||||
|
||||
bytes32 public constant URI_SETTER_ROLE = keccak256("URI_SETTER_ROLE");
|
||||
@ -38,15 +38,6 @@ abstract contract BEBase1155 is ERC1155, AccessControl {
|
||||
_setURI(newuri);
|
||||
}
|
||||
|
||||
function mint(
|
||||
address account,
|
||||
uint256 id,
|
||||
uint256 amount,
|
||||
bytes memory data
|
||||
) external onlyRole(MINTER_ROLE) {
|
||||
_mint(account, id, amount, data);
|
||||
}
|
||||
|
||||
function mintBatch(
|
||||
address to,
|
||||
uint256[] memory ids,
|
||||
@ -56,14 +47,7 @@ abstract contract BEBase1155 is ERC1155, AccessControl {
|
||||
_mintBatch(to, ids, amounts, data);
|
||||
}
|
||||
|
||||
function burn(
|
||||
address account,
|
||||
uint256 id,
|
||||
uint256 value
|
||||
) external onlyRole(BURN_ROLE) {
|
||||
_burn(account, id, value);
|
||||
}
|
||||
|
||||
|
||||
function burnBatch(
|
||||
address account,
|
||||
uint256[] memory ids,
|
||||
@ -88,7 +72,7 @@ abstract contract BEBase1155 is ERC1155, AccessControl {
|
||||
*/
|
||||
function setMintFactory(address factory)
|
||||
external
|
||||
onlyRole(DEFAULT_ADMIN_ROLE)
|
||||
onlyOwner
|
||||
{
|
||||
_grantRole(MINTER_ROLE, factory);
|
||||
_grantRole(BURN_ROLE, factory);
|
||||
@ -99,7 +83,7 @@ abstract contract BEBase1155 is ERC1155, AccessControl {
|
||||
*/
|
||||
function removeMintFactory(address factory)
|
||||
external
|
||||
onlyRole(DEFAULT_ADMIN_ROLE)
|
||||
onlyOwner
|
||||
{
|
||||
_revokeRole(MINTER_ROLE, factory);
|
||||
_revokeRole(BURN_ROLE, factory);
|
||||
@ -126,14 +110,14 @@ abstract contract BEBase1155 is ERC1155, AccessControl {
|
||||
|
||||
function grantLockRole(address account)
|
||||
external
|
||||
onlyRole(DEFAULT_ADMIN_ROLE)
|
||||
onlyOwner
|
||||
{
|
||||
_grantRole(LOCK_ROLE, account);
|
||||
}
|
||||
|
||||
function revokeLockRole(address account)
|
||||
external
|
||||
onlyRole(DEFAULT_ADMIN_ROLE)
|
||||
onlyOwner
|
||||
{
|
||||
_revokeRole(LOCK_ROLE, account);
|
||||
}
|
||||
@ -262,9 +246,10 @@ abstract contract BEBase1155 is ERC1155, AccessControl {
|
||||
uint256 tokenIndex = _ownedTokensIndex[from][tokenId] - 1;
|
||||
|
||||
uint256 lastTokenId = _ownedTokens[from][lastTokenIndex];
|
||||
|
||||
_ownedTokens[from][tokenIndex] = lastTokenId; // Move the last token to the slot of the to-delete token
|
||||
_ownedTokensIndex[from][lastTokenId] = tokenIndex + 1; // Update the moved token's index
|
||||
// Move the last token to the slot of the to-delete token
|
||||
_ownedTokens[from][tokenIndex] = lastTokenId;
|
||||
// Update the moved token's index
|
||||
_ownedTokensIndex[from][lastTokenId] = tokenIndex + 1;
|
||||
|
||||
// This also deletes the contents at the last position of the array
|
||||
delete _ownedTokensIndex[from][tokenId];
|
||||
|
@ -1,9 +1,6 @@
|
||||
// SPDX-License-Identifier: MIT
|
||||
pragma solidity 0.8.10;
|
||||
|
||||
import "@openzeppelin/contracts/token/ERC1155/ERC1155.sol";
|
||||
import "@openzeppelin/contracts/access/Ownable.sol";
|
||||
import "@openzeppelin/contracts/access/AccessControl.sol";
|
||||
import "./BEBase1155.sol";
|
||||
|
||||
contract BEChip1155 is BEBase1155 {
|
||||
|
@ -1,9 +1,6 @@
|
||||
// SPDX-License-Identifier: MIT
|
||||
pragma solidity 0.8.10;
|
||||
|
||||
import "@openzeppelin/contracts/token/ERC1155/ERC1155.sol";
|
||||
import "@openzeppelin/contracts/access/Ownable.sol";
|
||||
import "@openzeppelin/contracts/access/AccessControl.sol";
|
||||
import "./BEBase1155.sol";
|
||||
/**
|
||||
* for Hero and Weapon shard
|
||||
|
11
contracts/utils/UInt.sol
Normal file
11
contracts/utils/UInt.sol
Normal file
@ -0,0 +1,11 @@
|
||||
// SPDX-License-Identifier: MIT
|
||||
pragma solidity 0.8.10;
|
||||
|
||||
library UInt{
|
||||
|
||||
function asSingletonArray(uint256 element) internal pure returns (uint256[] memory) {
|
||||
uint256[] memory array = new uint256[](1);
|
||||
array[0] = element;
|
||||
return array;
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user