From 6a59a13082936ba3a6ba2974d58ba80b81c4aa0f Mon Sep 17 00:00:00 2001 From: Abhishek Date: Tue, 18 Jun 2024 11:55:55 +0530 Subject: [PATCH] fix bugs --- .gitignore | 1 + components/gamedev/TaskControls.jsx | 2 +- .../gamedev/pivotControls/SphereScale.tsx | 1 + components/gamedev/pivotControls/context.tsx | 2 +- components/gamedev/saved.jsx | 67 ------ contracts/DchainGame.json | 222 ++++++++++++++++++ contracts/DchainGameFactory.json | 131 +++++++++++ contracts/GamePlayerStatus.json | 150 ++++++++++++ contracts/contractaddr.json | 4 + next.config.mjs | 3 + pages/index.tsx | 12 +- styles/globals.css | 3 + 12 files changed, 523 insertions(+), 75 deletions(-) delete mode 100644 components/gamedev/saved.jsx create mode 100644 contracts/DchainGame.json create mode 100644 contracts/DchainGameFactory.json create mode 100644 contracts/GamePlayerStatus.json create mode 100644 contracts/contractaddr.json diff --git a/.gitignore b/.gitignore index e9f2562..6f3cb38 100644 --- a/.gitignore +++ b/.gitignore @@ -21,6 +21,7 @@ bun.lockb .DS_Store *.pem +.env # debug npm-debug.log* yarn-debug.log* diff --git a/components/gamedev/TaskControls.jsx b/components/gamedev/TaskControls.jsx index 2091f23..7d0b299 100644 --- a/components/gamedev/TaskControls.jsx +++ b/components/gamedev/TaskControls.jsx @@ -4,7 +4,7 @@ import * as THREE from 'three'; import { GlobalContext, GlobalContextProvider } from './GlobalContext.jsx' -const TaskControls = ({ stateEnv, setStateEnv }) => { +const TaskControls = () => { const { state, dispatch } = useContext(GlobalContext); const { objectMaster } = state; diff --git a/components/gamedev/pivotControls/SphereScale.tsx b/components/gamedev/pivotControls/SphereScale.tsx index e19eb0f..ce020dd 100644 --- a/components/gamedev/pivotControls/SphereScale.tsx +++ b/components/gamedev/pivotControls/SphereScale.tsx @@ -40,6 +40,7 @@ export const SphereScale: React.FC<{ direction: THREE.Vector3; axis: 0 | 1 | 2 } onDrag, onDragEnd, userData, + // @ts-ignore object } = React.useContext(context) diff --git a/components/gamedev/pivotControls/context.tsx b/components/gamedev/pivotControls/context.tsx index 3b0e456..c223780 100644 --- a/components/gamedev/pivotControls/context.tsx +++ b/components/gamedev/pivotControls/context.tsx @@ -30,7 +30,7 @@ export type PivotContext = { export const context = React.createContext(null!) const isRef = (object: any): object is React.MutableRefObject => object && object.current -export const resolveObject = ( +export const resolveObject : any = ( object?: THREE.Object3D | React.MutableRefObject, fallback?: THREE.Object3D | React.MutableRefObject ) => (isRef(object) ? object.current : object ? object : fallback ? resolveObject(fallback) : undefined) diff --git a/components/gamedev/saved.jsx b/components/gamedev/saved.jsx deleted file mode 100644 index e1da742..0000000 --- a/components/gamedev/saved.jsx +++ /dev/null @@ -1,67 +0,0 @@ - -{isGreenVisible && } -
-
- {/* Add Panel */} -
-

Add Object

- setAssetIdentifer(e.target.value)} value={assetIdentifer} /> - setAssetLink(e.target.value)} value={assetLink} /> - -
- - {/* Delete Panel */} -
-

Delete Object

- setAssetIdentifer(e.target.value)} value={assetIdentifer} /> - -
- - {/* Object Master */} -
-

Object Master

- - -

Object Count: {objectMaster.length}

-
    - { - objectMaster.map((object) => { - if (object.type === "object") - return
    -
  • Asset: {object.assetIdentifier}
  • -
  • Position:
      -
    • x: {object.position.x}
    • -
    • y: {object.position.y}
    • -
    • z: {object.position.z}
    • -
    -
  • -
  • Quaternion:
      -
    • x: {object.quaternion.x}
    • -
    • y: {object.quaternion.y}
    • -
    • z: {object.quaternion.z}
    • -
    • w: {object.quaternion.w}
    • -
    -
  • -
  • Scale:
      -
    • x: {object.scale.x}
    • -
    • y: {object.scale.y}
    • -
    • z: {object.scale.z}
    • -
    -
  • -
    - }) - } -
-
-
-
\ No newline at end of file diff --git a/contracts/DchainGame.json b/contracts/DchainGame.json new file mode 100644 index 0000000..9d635c0 --- /dev/null +++ b/contracts/DchainGame.json @@ -0,0 +1,222 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "DchainGame", + "sourceName": "contracts/DchainGame.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "uint256", + "name": "_price", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_thumbnail", + "type": "string" + }, + { + "internalType": "string[]", + "name": "_tasks", + "type": "string[]" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "OwnableInvalidOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "OwnableUnauthorizedAccount", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "player", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "playerContract", + "type": "address" + } + ], + "name": "DchainGamePurchased", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "inputs": [], + "name": "buyGame", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "getAllPlayers", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getPlayerContract", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "player", + "type": "address" + } + ], + "name": "hasPurchasedGame", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "price", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "thumbnail", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x60806040523480156200001157600080fd5b5060405162002fd838038062002fd8833981810160405281019062000037919062000588565b33600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000ad5760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620000a491906200069c565b60405180910390fd5b620000be816200010d60201b60201c565b508360019081620000d09190620008fa565b50826003819055508160029081620000e99190620008fa565b50806004908051906020019062000102929190620001d1565b5050505050620009e1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8280548282559060005260206000209081019282156200021e579160200282015b828111156200021d5782518290816200020c9190620008fa565b5091602001919060010190620001f2565b5b5090506200022d919062000231565b5090565b5b808211156200025557600081816200024b919062000259565b5060010162000232565b5090565b5080546200026790620006f3565b6000825580601f106200027b57506200029c565b601f0160209004906000526020600020908101906200029b91906200029f565b5b50565b5b80821115620002ba576000816000905550600101620002a0565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200032782620002dc565b810181811067ffffffffffffffff82111715620003495762000348620002ed565b5b80604052505050565b60006200035e620002be565b90506200036c82826200031c565b919050565b600067ffffffffffffffff8211156200038f576200038e620002ed565b5b6200039a82620002dc565b9050602081019050919050565b60005b83811015620003c7578082015181840152602081019050620003aa565b60008484015250505050565b6000620003ea620003e48462000371565b62000352565b905082815260208101848484011115620004095762000408620002d7565b5b62000416848285620003a7565b509392505050565b600082601f830112620004365762000435620002d2565b5b815162000448848260208601620003d3565b91505092915050565b6000819050919050565b620004668162000451565b81146200047257600080fd5b50565b60008151905062000486816200045b565b92915050565b600067ffffffffffffffff821115620004aa57620004a9620002ed565b5b602082029050602081019050919050565b600080fd5b6000620004d7620004d1846200048c565b62000352565b90508083825260208201905060208402830185811115620004fd57620004fc620004bb565b5b835b818110156200054b57805167ffffffffffffffff811115620005265762000525620002d2565b5b8086016200053589826200041e565b85526020850194505050602081019050620004ff565b5050509392505050565b600082601f8301126200056d576200056c620002d2565b5b81516200057f848260208601620004c0565b91505092915050565b60008060008060808587031215620005a557620005a4620002c8565b5b600085015167ffffffffffffffff811115620005c657620005c5620002cd565b5b620005d4878288016200041e565b9450506020620005e78782880162000475565b935050604085015167ffffffffffffffff8111156200060b576200060a620002cd565b5b62000619878288016200041e565b925050606085015167ffffffffffffffff8111156200063d576200063c620002cd565b5b6200064b8782880162000555565b91505092959194509250565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620006848262000657565b9050919050565b620006968162000677565b82525050565b6000602082019050620006b360008301846200068b565b92915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200070c57607f821691505b602082108103620007225762000721620006c4565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200078c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200074d565b6200079886836200074d565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620007db620007d5620007cf8462000451565b620007b0565b62000451565b9050919050565b6000819050919050565b620007f783620007ba565b6200080f6200080682620007e2565b8484546200075a565b825550505050565b600090565b6200082662000817565b62000833818484620007ec565b505050565b5b818110156200085b576200084f6000826200081c565b60018101905062000839565b5050565b601f821115620008aa57620008748162000728565b6200087f846200073d565b810160208510156200088f578190505b620008a76200089e856200073d565b83018262000838565b50505b505050565b600082821c905092915050565b6000620008cf60001984600802620008af565b1980831691505092915050565b6000620008ea8383620008bc565b9150826002028217905092915050565b6200090582620006b9565b67ffffffffffffffff811115620009215762000920620002ed565b5b6200092d8254620006f3565b6200093a8282856200085f565b600060209050601f8311600181146200097257600084156200095d578287015190505b620009698582620008dc565b865550620009d9565b601f198416620009828662000728565b60005b82811015620009ac5784890151825560018201915060208501945060208101905062000985565b86831015620009cc5784890151620009c8601f891682620008bc565b8355505b6001600288020188555050505b505050505050565b6125e780620009f16000396000f3fe6080604052600436106200009e5760003560e01c8063715018a61162000061578063715018a614620001835780638da5cb5b146200019d578063a035b1fe14620001cd578063efa1c48214620001fd578063f2fde38b146200022d576200009e565b806306fdde0314620000a3578063072c6cda14620000d357806349cd2abf1462000103578063517c7111146200010f5780635afc2ab41462000153575b600080fd5b348015620000b057600080fd5b50620000bb6200025b565b604051620000ca919062000aca565b60405180910390f35b348015620000e057600080fd5b50620000eb620002f1565b604051620000fa919062000b33565b60405180910390f35b6200010d62000358565b005b3480156200011c57600080fd5b506200013b600480360381019062000135919062000b86565b62000634565b6040516200014a919062000bd5565b60405180910390f35b3480156200016057600080fd5b506200016b620006cc565b6040516200017a919062000aca565b60405180910390f35b3480156200019057600080fd5b506200019b62000762565b005b348015620001aa57600080fd5b50620001b56200077a565b604051620001c4919062000b33565b60405180910390f35b348015620001da57600080fd5b50620001e5620007a3565b604051620001f4919062000c0d565b60405180910390f35b3480156200020a57600080fd5b5062000215620007a9565b60405162000224919062000cf8565b60405180910390f35b3480156200023a57600080fd5b5062000259600480360381019062000253919062000b86565b62000839565b005b600180546200026a9062000d4b565b80601f0160208091040260200160405190810160405280929190818152602001828054620002989062000d4b565b8015620002e95780601f10620002bd57610100808354040283529160200191620002e9565b820191906000526020600020905b815481529060010190602001808311620002cb57829003601f168201915b505050505081565b6000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff16600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161462000429576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004209062000dd0565b60405180910390fd5b60035434101562000471576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004689062000e42565b60405180910390fd5b6200047b6200077a565b73ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015620004c1573d6000803e3d6000fd5b5060006004604051620004d49062000a22565b620004e0919062000fee565b604051809103906000f080158015620004fd573d6000803e3d6000fd5b50905080600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506006339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff167fdf37cd8209bf25f467e6073669b0d429139ac595d9a79445e904b48fe88709f48260405162000629919062000b33565b60405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff16600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b60028054620006db9062000d4b565b80601f0160208091040260200160405190810160405280929190818152602001828054620007099062000d4b565b80156200075a5780601f106200072e576101008083540402835291602001916200075a565b820191906000526020600020905b8154815290600101906020018083116200073c57829003601f168201915b505050505081565b6200076c620008c6565b62000778600062000956565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60035481565b606060068054806020026020016040519081016040528092919081815260200182805480156200082f57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311620007e4575b5050505050905090565b62000843620008c6565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620008b85760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620008af919062000b33565b60405180910390fd5b620008c38162000956565b50565b620008d062000a1a565b73ffffffffffffffffffffffffffffffffffffffff16620008f06200077a565b73ffffffffffffffffffffffffffffffffffffffff161462000954576200091662000a1a565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016200094b919062000b33565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b61159f806200101383390190565b600081519050919050565b600082825260208201905092915050565b60005b8381101562000a6c57808201518184015260208101905062000a4f565b60008484015250505050565b6000601f19601f8301169050919050565b600062000a968262000a30565b62000aa2818562000a3b565b935062000ab481856020860162000a4c565b62000abf8162000a78565b840191505092915050565b6000602082019050818103600083015262000ae6818462000a89565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000b1b8262000aee565b9050919050565b62000b2d8162000b0e565b82525050565b600060208201905062000b4a600083018462000b22565b92915050565b600080fd5b62000b608162000b0e565b811462000b6c57600080fd5b50565b60008135905062000b808162000b55565b92915050565b60006020828403121562000b9f5762000b9e62000b50565b5b600062000baf8482850162000b6f565b91505092915050565b60008115159050919050565b62000bcf8162000bb8565b82525050565b600060208201905062000bec600083018462000bc4565b92915050565b6000819050919050565b62000c078162000bf2565b82525050565b600060208201905062000c24600083018462000bfc565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b62000c618162000b0e565b82525050565b600062000c75838362000c56565b60208301905092915050565b6000602082019050919050565b600062000c9b8262000c2a565b62000ca7818562000c35565b935062000cb48362000c46565b8060005b8381101562000ceb57815162000ccf888262000c67565b975062000cdc8362000c81565b92505060018101905062000cb8565b5085935050505092915050565b6000602082019050818103600083015262000d14818462000c8e565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000d6457607f821691505b60208210810362000d7a5762000d7962000d1c565b5b50919050565b7f596f75206861766520616c726561647920626f75676874207468652067616d65600082015250565b600062000db860208362000a3b565b915062000dc58262000d80565b602082019050919050565b6000602082019050818103600083015262000deb8162000da9565b9050919050565b7f496e73756666696369656e742066756e64730000000000000000000000000000600082015250565b600062000e2a60128362000a3b565b915062000e378262000df2565b602082019050919050565b6000602082019050818103600083015262000e5d8162000e1b565b9050919050565b600081549050919050565b600082825260208201905092915050565b60008190508160005260206000209050919050565b600082825260208201905092915050565b60008190508160005260206000209050919050565b6000815462000eca8162000d4b565b62000ed6818662000e95565b9450600182166000811462000ef4576001811462000f0b5762000f42565b60ff19831686528115156020028601935062000f42565b62000f168562000ea6565b60005b8381101562000f3a5781548189015260018201915060208101905062000f19565b808801955050505b50505092915050565b600062000f59838362000ebb565b905092915050565b6000600182019050919050565b600062000f7b8262000e64565b62000f87818562000e6f565b93508360208202850162000f9b8562000e80565b8060005b8581101562000fdc5784840389528162000fba858262000f4b565b945062000fc78362000f61565b925060208a0199505060018101905062000f9f565b50829750879550505050505092915050565b600060208201905081810360008301526200100a818462000f6e565b90509291505056fe60806040523480156200001157600080fd5b506040516200159f3803806200159f833981810160405281019062000037919062000392565b60005b8151811015620000fb576000808383815181106200005d576200005c620003e3565b5b60200260200101516040516200007491906200045f565b908152602001604051809103902060006101000a81548160ff0219169083151502179055506001828281518110620000b157620000b0620003e3565b5b6020026020010151908060018154018082558091505060019003906000526020600020016000909190919091509081620000ec9190620006b8565b5080806001019150506200003a565b50506200079f565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000167826200011c565b810181811067ffffffffffffffff821117156200018957620001886200012d565b5b80604052505050565b60006200019e62000103565b9050620001ac82826200015c565b919050565b600067ffffffffffffffff821115620001cf57620001ce6200012d565b5b602082029050602081019050919050565b600080fd5b600080fd5b600067ffffffffffffffff8211156200020857620002076200012d565b5b62000213826200011c565b9050602081019050919050565b60005b838110156200024057808201518184015260208101905062000223565b60008484015250505050565b6000620002636200025d84620001ea565b62000192565b905082815260208101848484011115620002825762000281620001e5565b5b6200028f84828562000220565b509392505050565b600082601f830112620002af57620002ae62000117565b5b8151620002c18482602086016200024c565b91505092915050565b6000620002e1620002db84620001b1565b62000192565b90508083825260208201905060208402830185811115620003075762000306620001e0565b5b835b818110156200035557805167ffffffffffffffff81111562000330576200032f62000117565b5b8086016200033f898262000297565b8552602085019450505060208101905062000309565b5050509392505050565b600082601f83011262000377576200037662000117565b5b815162000389848260208601620002ca565b91505092915050565b600060208284031215620003ab57620003aa6200010d565b5b600082015167ffffffffffffffff811115620003cc57620003cb62000112565b5b620003da848285016200035f565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600081905092915050565b6000620004358262000412565b6200044181856200041d565b93506200045381856020860162000220565b80840191505092915050565b60006200046d828462000428565b915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620004c057607f821691505b602082108103620004d657620004d562000478565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620005407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000501565b6200054c868362000501565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000599620005936200058d8462000564565b6200056e565b62000564565b9050919050565b6000819050919050565b620005b58362000578565b620005cd620005c482620005a0565b8484546200050e565b825550505050565b600090565b620005e4620005d5565b620005f1818484620005aa565b505050565b5b8181101562000619576200060d600082620005da565b600181019050620005f7565b5050565b601f82111562000668576200063281620004dc565b6200063d84620004f1565b810160208510156200064d578190505b620006656200065c85620004f1565b830182620005f6565b50505b505050565b600082821c905092915050565b60006200068d600019846008026200066d565b1980831691505092915050565b6000620006a883836200067a565b9150826002028217905092915050565b620006c38262000412565b67ffffffffffffffff811115620006df57620006de6200012d565b5b620006eb8254620004a7565b620006f88282856200061d565b600060209050601f8311600181146200073057600084156200071b578287015190505b6200072785826200069a565b86555062000797565b601f1984166200074086620004dc565b60005b828110156200076a5784890151825560018201915060208501945060208101905062000743565b868310156200078a578489015162000786601f8916826200067a565b8355505b6001600288020188555050505b505050505050565b610df080620007af6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80635ee66e881161005b5780635ee66e8814610100578063722fed7e1461013057806396740de31461014e578063d826f88f1461016d5761007d565b806304a87e38146100825780633251c049146100a0578063394c244b146100d0575b600080fd5b61008a610177565b6040516100979190610872565b60405180910390f35b6100ba60048036038101906100b591906109dd565b610250565b6040516100c79190610a41565b60405180910390f35b6100ea60048036038101906100e591906109dd565b6102f7565b6040516100f79190610a41565b60405180910390f35b61011a600480360381019061011591906109dd565b6103c0565b6040516101279190610a41565b60405180910390f35b61013861043f565b6040516101459190610a41565b60405180910390f35b6101566104c1565b604051610164929190610b1a565b60405180910390f35b610175610681565b005b60606001805480602002602001604051908101604052809291908181526020016000905b828210156102475783829060005260206000200180546101ba90610b80565b80601f01602080910402602001604051908101604052809291908181526020018280546101e690610b80565b80156102335780601f1061020857610100808354040283529160200191610233565b820191906000526020600020905b81548152906001019060200180831161021657829003601f168201915b50505050508152602001906001019061019b565b50505050905090565b600080600090505b6001805490508110156102ec57826040516020016102769190610bed565b60405160208183030381529060405280519060200120600182815481106102a05761029f610c04565b5b906000526020600020016040516020016102ba9190610ccb565b60405160208183030381529060405280519060200120036102df5760019150506102f2565b8080600101915050610258565b50600090505b919050565b60008161030381610250565b610342576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033990610d3f565b60405180910390fd5b60016000846040516103549190610bed565b908152602001604051809103902060006101000a81548160ff0219169083151502179055507f2ea2764b7d80d0107c1d2c0210ead4a6fdee0f86235483a041d9faffbf875880836040516103a89190610d98565b60405180910390a16103b861043f565b915050919050565b6000816103cc81610250565b61040b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161040290610d3f565b60405180910390fd5b60008360405161041b9190610bed565b908152602001604051809103902060009054906101000a900460ff16915050919050565b600080600090505b6001805490508110156104b85760006001828154811061046a57610469610c04565b5b906000526020600020016040516104819190610ccb565b908152602001604051809103902060009054906101000a900460ff166104ab5760009150506104be565b8080600101915050610447565b50600190505b90565b606080600060018054905067ffffffffffffffff8111156104e5576104e46108b2565b5b6040519080825280602002602001820160405280156105135781602001602082028036833780820191505090505b50905060005b6001805490508110156105a15760006001828154811061053c5761053b610c04565b5b906000526020600020016040516105539190610ccb565b908152602001604051809103902060009054906101000a900460ff1682828151811061058257610581610c04565b5b6020026020010190151590811515815250508080600101915050610519565b5060018181805480602002602001604051908101604052809291908181526020016000905b828210156106725783829060005260206000200180546105e590610b80565b80601f016020809104026020016040519081016040528092919081815260200182805461061190610b80565b801561065e5780601f106106335761010080835404028352916020019161065e565b820191906000526020600020905b81548152906001019060200180831161064157829003601f168201915b5050505050815260200190600101906105c6565b50505050915092509250509091565b60005b6001805490508110156106f157600080600183815481106106a8576106a7610c04565b5b906000526020600020016040516106bf9190610ccb565b908152602001604051809103902060006101000a81548160ff0219169083151502179055508080600101915050610684565b507f3ce3faa7c721ad3fdd768c232390587b2a5855c74a1a1c5601a62f5103d4584460405160405180910390a1565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561078657808201518184015260208101905061076b565b60008484015250505050565b6000601f19601f8301169050919050565b60006107ae8261074c565b6107b88185610757565b93506107c8818560208601610768565b6107d181610792565b840191505092915050565b60006107e883836107a3565b905092915050565b6000602082019050919050565b600061080882610720565b610812818561072b565b9350836020820285016108248561073c565b8060005b85811015610860578484038952815161084185826107dc565b945061084c836107f0565b925060208a01995050600181019050610828565b50829750879550505050505092915050565b6000602082019050818103600083015261088c81846107fd565b905092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6108ea82610792565b810181811067ffffffffffffffff82111715610909576109086108b2565b5b80604052505050565b600061091c610894565b905061092882826108e1565b919050565b600067ffffffffffffffff821115610948576109476108b2565b5b61095182610792565b9050602081019050919050565b82818337600083830152505050565b600061098061097b8461092d565b610912565b90508281526020810184848401111561099c5761099b6108ad565b5b6109a784828561095e565b509392505050565b600082601f8301126109c4576109c36108a8565b5b81356109d484826020860161096d565b91505092915050565b6000602082840312156109f3576109f261089e565b5b600082013567ffffffffffffffff811115610a1157610a106108a3565b5b610a1d848285016109af565b91505092915050565b60008115159050919050565b610a3b81610a26565b82525050565b6000602082019050610a566000830184610a32565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b610a9181610a26565b82525050565b6000610aa38383610a88565b60208301905092915050565b6000602082019050919050565b6000610ac782610a5c565b610ad18185610a67565b9350610adc83610a78565b8060005b83811015610b0d578151610af48882610a97565b9750610aff83610aaf565b925050600181019050610ae0565b5085935050505092915050565b60006040820190508181036000830152610b3481856107fd565b90508181036020830152610b488184610abc565b90509392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610b9857607f821691505b602082108103610bab57610baa610b51565b5b50919050565b600081905092915050565b6000610bc78261074c565b610bd18185610bb1565b9350610be1818560208601610768565b80840191505092915050565b6000610bf98284610bbc565b915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008190508160005260206000209050919050565b60008154610c5581610b80565b610c5f8186610bb1565b94506001821660008114610c7a5760018114610c8f57610cc2565b60ff1983168652811515820286019350610cc2565b610c9885610c33565b60005b83811015610cba57815481890152600182019150602081019050610c9b565b838801955050505b50505092915050565b6000610cd78284610c48565b915081905092915050565b600082825260208201905092915050565b7f5461736b20646f6573206e6f7420657869737400000000000000000000000000600082015250565b6000610d29601383610ce2565b9150610d3482610cf3565b602082019050919050565b60006020820190508181036000830152610d5881610d1c565b9050919050565b6000610d6a8261074c565b610d748185610ce2565b9350610d84818560208601610768565b610d8d81610792565b840191505092915050565b60006020820190508181036000830152610db28184610d5f565b90509291505056fea264697066735822122072eb9bf484850730a02919009f0910350e76b5abf10275d97c8d9ab261aec18f64736f6c63430008180033a26469706673582212201236797cd5818f9f19961b501444bb4b369e2ae653ed95ad6689e8e33dd1195764736f6c63430008180033", + "deployedBytecode": "0x6080604052600436106200009e5760003560e01c8063715018a61162000061578063715018a614620001835780638da5cb5b146200019d578063a035b1fe14620001cd578063efa1c48214620001fd578063f2fde38b146200022d576200009e565b806306fdde0314620000a3578063072c6cda14620000d357806349cd2abf1462000103578063517c7111146200010f5780635afc2ab41462000153575b600080fd5b348015620000b057600080fd5b50620000bb6200025b565b604051620000ca919062000aca565b60405180910390f35b348015620000e057600080fd5b50620000eb620002f1565b604051620000fa919062000b33565b60405180910390f35b6200010d62000358565b005b3480156200011c57600080fd5b506200013b600480360381019062000135919062000b86565b62000634565b6040516200014a919062000bd5565b60405180910390f35b3480156200016057600080fd5b506200016b620006cc565b6040516200017a919062000aca565b60405180910390f35b3480156200019057600080fd5b506200019b62000762565b005b348015620001aa57600080fd5b50620001b56200077a565b604051620001c4919062000b33565b60405180910390f35b348015620001da57600080fd5b50620001e5620007a3565b604051620001f4919062000c0d565b60405180910390f35b3480156200020a57600080fd5b5062000215620007a9565b60405162000224919062000cf8565b60405180910390f35b3480156200023a57600080fd5b5062000259600480360381019062000253919062000b86565b62000839565b005b600180546200026a9062000d4b565b80601f0160208091040260200160405190810160405280929190818152602001828054620002989062000d4b565b8015620002e95780601f10620002bd57610100808354040283529160200191620002e9565b820191906000526020600020905b815481529060010190602001808311620002cb57829003601f168201915b505050505081565b6000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff16600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161462000429576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004209062000dd0565b60405180910390fd5b60035434101562000471576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004689062000e42565b60405180910390fd5b6200047b6200077a565b73ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015620004c1573d6000803e3d6000fd5b5060006004604051620004d49062000a22565b620004e0919062000fee565b604051809103906000f080158015620004fd573d6000803e3d6000fd5b50905080600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506006339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff167fdf37cd8209bf25f467e6073669b0d429139ac595d9a79445e904b48fe88709f48260405162000629919062000b33565b60405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff16600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b60028054620006db9062000d4b565b80601f0160208091040260200160405190810160405280929190818152602001828054620007099062000d4b565b80156200075a5780601f106200072e576101008083540402835291602001916200075a565b820191906000526020600020905b8154815290600101906020018083116200073c57829003601f168201915b505050505081565b6200076c620008c6565b62000778600062000956565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60035481565b606060068054806020026020016040519081016040528092919081815260200182805480156200082f57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311620007e4575b5050505050905090565b62000843620008c6565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620008b85760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620008af919062000b33565b60405180910390fd5b620008c38162000956565b50565b620008d062000a1a565b73ffffffffffffffffffffffffffffffffffffffff16620008f06200077a565b73ffffffffffffffffffffffffffffffffffffffff161462000954576200091662000a1a565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016200094b919062000b33565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b61159f806200101383390190565b600081519050919050565b600082825260208201905092915050565b60005b8381101562000a6c57808201518184015260208101905062000a4f565b60008484015250505050565b6000601f19601f8301169050919050565b600062000a968262000a30565b62000aa2818562000a3b565b935062000ab481856020860162000a4c565b62000abf8162000a78565b840191505092915050565b6000602082019050818103600083015262000ae6818462000a89565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000b1b8262000aee565b9050919050565b62000b2d8162000b0e565b82525050565b600060208201905062000b4a600083018462000b22565b92915050565b600080fd5b62000b608162000b0e565b811462000b6c57600080fd5b50565b60008135905062000b808162000b55565b92915050565b60006020828403121562000b9f5762000b9e62000b50565b5b600062000baf8482850162000b6f565b91505092915050565b60008115159050919050565b62000bcf8162000bb8565b82525050565b600060208201905062000bec600083018462000bc4565b92915050565b6000819050919050565b62000c078162000bf2565b82525050565b600060208201905062000c24600083018462000bfc565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b62000c618162000b0e565b82525050565b600062000c75838362000c56565b60208301905092915050565b6000602082019050919050565b600062000c9b8262000c2a565b62000ca7818562000c35565b935062000cb48362000c46565b8060005b8381101562000ceb57815162000ccf888262000c67565b975062000cdc8362000c81565b92505060018101905062000cb8565b5085935050505092915050565b6000602082019050818103600083015262000d14818462000c8e565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000d6457607f821691505b60208210810362000d7a5762000d7962000d1c565b5b50919050565b7f596f75206861766520616c726561647920626f75676874207468652067616d65600082015250565b600062000db860208362000a3b565b915062000dc58262000d80565b602082019050919050565b6000602082019050818103600083015262000deb8162000da9565b9050919050565b7f496e73756666696369656e742066756e64730000000000000000000000000000600082015250565b600062000e2a60128362000a3b565b915062000e378262000df2565b602082019050919050565b6000602082019050818103600083015262000e5d8162000e1b565b9050919050565b600081549050919050565b600082825260208201905092915050565b60008190508160005260206000209050919050565b600082825260208201905092915050565b60008190508160005260206000209050919050565b6000815462000eca8162000d4b565b62000ed6818662000e95565b9450600182166000811462000ef4576001811462000f0b5762000f42565b60ff19831686528115156020028601935062000f42565b62000f168562000ea6565b60005b8381101562000f3a5781548189015260018201915060208101905062000f19565b808801955050505b50505092915050565b600062000f59838362000ebb565b905092915050565b6000600182019050919050565b600062000f7b8262000e64565b62000f87818562000e6f565b93508360208202850162000f9b8562000e80565b8060005b8581101562000fdc5784840389528162000fba858262000f4b565b945062000fc78362000f61565b925060208a0199505060018101905062000f9f565b50829750879550505050505092915050565b600060208201905081810360008301526200100a818462000f6e565b90509291505056fe60806040523480156200001157600080fd5b506040516200159f3803806200159f833981810160405281019062000037919062000392565b60005b8151811015620000fb576000808383815181106200005d576200005c620003e3565b5b60200260200101516040516200007491906200045f565b908152602001604051809103902060006101000a81548160ff0219169083151502179055506001828281518110620000b157620000b0620003e3565b5b6020026020010151908060018154018082558091505060019003906000526020600020016000909190919091509081620000ec9190620006b8565b5080806001019150506200003a565b50506200079f565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000167826200011c565b810181811067ffffffffffffffff821117156200018957620001886200012d565b5b80604052505050565b60006200019e62000103565b9050620001ac82826200015c565b919050565b600067ffffffffffffffff821115620001cf57620001ce6200012d565b5b602082029050602081019050919050565b600080fd5b600080fd5b600067ffffffffffffffff8211156200020857620002076200012d565b5b62000213826200011c565b9050602081019050919050565b60005b838110156200024057808201518184015260208101905062000223565b60008484015250505050565b6000620002636200025d84620001ea565b62000192565b905082815260208101848484011115620002825762000281620001e5565b5b6200028f84828562000220565b509392505050565b600082601f830112620002af57620002ae62000117565b5b8151620002c18482602086016200024c565b91505092915050565b6000620002e1620002db84620001b1565b62000192565b90508083825260208201905060208402830185811115620003075762000306620001e0565b5b835b818110156200035557805167ffffffffffffffff81111562000330576200032f62000117565b5b8086016200033f898262000297565b8552602085019450505060208101905062000309565b5050509392505050565b600082601f83011262000377576200037662000117565b5b815162000389848260208601620002ca565b91505092915050565b600060208284031215620003ab57620003aa6200010d565b5b600082015167ffffffffffffffff811115620003cc57620003cb62000112565b5b620003da848285016200035f565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600081905092915050565b6000620004358262000412565b6200044181856200041d565b93506200045381856020860162000220565b80840191505092915050565b60006200046d828462000428565b915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620004c057607f821691505b602082108103620004d657620004d562000478565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620005407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000501565b6200054c868362000501565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000599620005936200058d8462000564565b6200056e565b62000564565b9050919050565b6000819050919050565b620005b58362000578565b620005cd620005c482620005a0565b8484546200050e565b825550505050565b600090565b620005e4620005d5565b620005f1818484620005aa565b505050565b5b8181101562000619576200060d600082620005da565b600181019050620005f7565b5050565b601f82111562000668576200063281620004dc565b6200063d84620004f1565b810160208510156200064d578190505b620006656200065c85620004f1565b830182620005f6565b50505b505050565b600082821c905092915050565b60006200068d600019846008026200066d565b1980831691505092915050565b6000620006a883836200067a565b9150826002028217905092915050565b620006c38262000412565b67ffffffffffffffff811115620006df57620006de6200012d565b5b620006eb8254620004a7565b620006f88282856200061d565b600060209050601f8311600181146200073057600084156200071b578287015190505b6200072785826200069a565b86555062000797565b601f1984166200074086620004dc565b60005b828110156200076a5784890151825560018201915060208501945060208101905062000743565b868310156200078a578489015162000786601f8916826200067a565b8355505b6001600288020188555050505b505050505050565b610df080620007af6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80635ee66e881161005b5780635ee66e8814610100578063722fed7e1461013057806396740de31461014e578063d826f88f1461016d5761007d565b806304a87e38146100825780633251c049146100a0578063394c244b146100d0575b600080fd5b61008a610177565b6040516100979190610872565b60405180910390f35b6100ba60048036038101906100b591906109dd565b610250565b6040516100c79190610a41565b60405180910390f35b6100ea60048036038101906100e591906109dd565b6102f7565b6040516100f79190610a41565b60405180910390f35b61011a600480360381019061011591906109dd565b6103c0565b6040516101279190610a41565b60405180910390f35b61013861043f565b6040516101459190610a41565b60405180910390f35b6101566104c1565b604051610164929190610b1a565b60405180910390f35b610175610681565b005b60606001805480602002602001604051908101604052809291908181526020016000905b828210156102475783829060005260206000200180546101ba90610b80565b80601f01602080910402602001604051908101604052809291908181526020018280546101e690610b80565b80156102335780601f1061020857610100808354040283529160200191610233565b820191906000526020600020905b81548152906001019060200180831161021657829003601f168201915b50505050508152602001906001019061019b565b50505050905090565b600080600090505b6001805490508110156102ec57826040516020016102769190610bed565b60405160208183030381529060405280519060200120600182815481106102a05761029f610c04565b5b906000526020600020016040516020016102ba9190610ccb565b60405160208183030381529060405280519060200120036102df5760019150506102f2565b8080600101915050610258565b50600090505b919050565b60008161030381610250565b610342576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033990610d3f565b60405180910390fd5b60016000846040516103549190610bed565b908152602001604051809103902060006101000a81548160ff0219169083151502179055507f2ea2764b7d80d0107c1d2c0210ead4a6fdee0f86235483a041d9faffbf875880836040516103a89190610d98565b60405180910390a16103b861043f565b915050919050565b6000816103cc81610250565b61040b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161040290610d3f565b60405180910390fd5b60008360405161041b9190610bed565b908152602001604051809103902060009054906101000a900460ff16915050919050565b600080600090505b6001805490508110156104b85760006001828154811061046a57610469610c04565b5b906000526020600020016040516104819190610ccb565b908152602001604051809103902060009054906101000a900460ff166104ab5760009150506104be565b8080600101915050610447565b50600190505b90565b606080600060018054905067ffffffffffffffff8111156104e5576104e46108b2565b5b6040519080825280602002602001820160405280156105135781602001602082028036833780820191505090505b50905060005b6001805490508110156105a15760006001828154811061053c5761053b610c04565b5b906000526020600020016040516105539190610ccb565b908152602001604051809103902060009054906101000a900460ff1682828151811061058257610581610c04565b5b6020026020010190151590811515815250508080600101915050610519565b5060018181805480602002602001604051908101604052809291908181526020016000905b828210156106725783829060005260206000200180546105e590610b80565b80601f016020809104026020016040519081016040528092919081815260200182805461061190610b80565b801561065e5780601f106106335761010080835404028352916020019161065e565b820191906000526020600020905b81548152906001019060200180831161064157829003601f168201915b5050505050815260200190600101906105c6565b50505050915092509250509091565b60005b6001805490508110156106f157600080600183815481106106a8576106a7610c04565b5b906000526020600020016040516106bf9190610ccb565b908152602001604051809103902060006101000a81548160ff0219169083151502179055508080600101915050610684565b507f3ce3faa7c721ad3fdd768c232390587b2a5855c74a1a1c5601a62f5103d4584460405160405180910390a1565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561078657808201518184015260208101905061076b565b60008484015250505050565b6000601f19601f8301169050919050565b60006107ae8261074c565b6107b88185610757565b93506107c8818560208601610768565b6107d181610792565b840191505092915050565b60006107e883836107a3565b905092915050565b6000602082019050919050565b600061080882610720565b610812818561072b565b9350836020820285016108248561073c565b8060005b85811015610860578484038952815161084185826107dc565b945061084c836107f0565b925060208a01995050600181019050610828565b50829750879550505050505092915050565b6000602082019050818103600083015261088c81846107fd565b905092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6108ea82610792565b810181811067ffffffffffffffff82111715610909576109086108b2565b5b80604052505050565b600061091c610894565b905061092882826108e1565b919050565b600067ffffffffffffffff821115610948576109476108b2565b5b61095182610792565b9050602081019050919050565b82818337600083830152505050565b600061098061097b8461092d565b610912565b90508281526020810184848401111561099c5761099b6108ad565b5b6109a784828561095e565b509392505050565b600082601f8301126109c4576109c36108a8565b5b81356109d484826020860161096d565b91505092915050565b6000602082840312156109f3576109f261089e565b5b600082013567ffffffffffffffff811115610a1157610a106108a3565b5b610a1d848285016109af565b91505092915050565b60008115159050919050565b610a3b81610a26565b82525050565b6000602082019050610a566000830184610a32565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b610a9181610a26565b82525050565b6000610aa38383610a88565b60208301905092915050565b6000602082019050919050565b6000610ac782610a5c565b610ad18185610a67565b9350610adc83610a78565b8060005b83811015610b0d578151610af48882610a97565b9750610aff83610aaf565b925050600181019050610ae0565b5085935050505092915050565b60006040820190508181036000830152610b3481856107fd565b90508181036020830152610b488184610abc565b90509392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610b9857607f821691505b602082108103610bab57610baa610b51565b5b50919050565b600081905092915050565b6000610bc78261074c565b610bd18185610bb1565b9350610be1818560208601610768565b80840191505092915050565b6000610bf98284610bbc565b915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008190508160005260206000209050919050565b60008154610c5581610b80565b610c5f8186610bb1565b94506001821660008114610c7a5760018114610c8f57610cc2565b60ff1983168652811515820286019350610cc2565b610c9885610c33565b60005b83811015610cba57815481890152600182019150602081019050610c9b565b838801955050505b50505092915050565b6000610cd78284610c48565b915081905092915050565b600082825260208201905092915050565b7f5461736b20646f6573206e6f7420657869737400000000000000000000000000600082015250565b6000610d29601383610ce2565b9150610d3482610cf3565b602082019050919050565b60006020820190508181036000830152610d5881610d1c565b9050919050565b6000610d6a8261074c565b610d748185610ce2565b9350610d84818560208601610768565b610d8d81610792565b840191505092915050565b60006020820190508181036000830152610db28184610d5f565b90509291505056fea264697066735822122072eb9bf484850730a02919009f0910350e76b5abf10275d97c8d9ab261aec18f64736f6c63430008180033a26469706673582212201236797cd5818f9f19961b501444bb4b369e2ae653ed95ad6689e8e33dd1195764736f6c63430008180033", + "linkReferences": {}, + "deployedLinkReferences": {} + } + \ No newline at end of file diff --git a/contracts/DchainGameFactory.json b/contracts/DchainGameFactory.json new file mode 100644 index 0000000..a8b220e --- /dev/null +++ b/contracts/DchainGameFactory.json @@ -0,0 +1,131 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "DchainGameFactory", + "sourceName": "contracts/DchainGameFactory.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "gameAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "price", + "type": "uint256" + } + ], + "name": "GameCreated", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "uint256", + "name": "_price", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_thumbnail", + "type": "string" + }, + { + "internalType": "string[]", + "name": "_tasks", + "type": "string[]" + } + ], + "name": "createGame", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getGameAddresses", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "getGameDetails", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getTotalGames", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50613ec3806100206000396000f3fe60806040523480156200001157600080fd5b5060043610620000525760003560e01c80631b31abda14620000575780635bd4349b146200009057806393a5e09514620000b25780639aeedcc514620000d4575b600080fd5b6200007560048036038101906200006f91906200057f565b6200010a565b604051620000879493929190620006a1565b60405180910390f35b6200009a62000312565b604051620000a99190620006fc565b60405180910390f35b620000bc6200031e565b604051620000cb9190620007e7565b60405180910390f35b620000f26004803603810190620000ec919062000a58565b620003ae565b60405162000101919062000b27565b60405180910390f35b600060606000606060008054905085106200015c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001539062000b94565b60405180910390fd5b600080868154811062000174576200017362000bb6565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050808173ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa158015620001ee573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019062000219919062000c63565b8273ffffffffffffffffffffffffffffffffffffffff1663a035b1fe6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000265573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200028b919062000ccb565b8373ffffffffffffffffffffffffffffffffffffffff16635afc2ab46040518163ffffffff1660e01b8152600401600060405180830381865afa158015620002d7573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019062000302919062000c63565b9450945094509450509193509193565b60008080549050905090565b60606000805480602002602001604051908101604052809291908181526020018280548015620003a457602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831162000359575b5050505050905090565b60008085858585604051620003c39062000522565b620003d2949392919062000e1f565b604051809103906000f080158015620003ef573d6000803e3d6000fd5b5090506000819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663f2fde38b336040518263ffffffff1660e01b815260040162000490919062000b27565b600060405180830381600087803b158015620004ab57600080fd5b505af1158015620004c0573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff167f546fd30a670cb519c491f8e0bf0d33d412d1c9861c1664c8750becb39b6499f687876040516200050e92919062000e81565b60405180910390a280915050949350505050565b612fd88062000eb683390190565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b620005598162000544565b81146200056557600080fd5b50565b60008135905062000579816200054e565b92915050565b6000602082840312156200059857620005976200053a565b5b6000620005a88482850162000568565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620005de82620005b1565b9050919050565b620005f081620005d1565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b838110156200063257808201518184015260208101905062000615565b60008484015250505050565b6000601f19601f8301169050919050565b60006200065c82620005f6565b62000668818562000601565b93506200067a81856020860162000612565b62000685816200063e565b840191505092915050565b6200069b8162000544565b82525050565b6000608082019050620006b86000830187620005e5565b8181036020830152620006cc81866200064f565b9050620006dd604083018562000690565b8181036060830152620006f181846200064f565b905095945050505050565b600060208201905062000713600083018462000690565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6200075081620005d1565b82525050565b600062000764838362000745565b60208301905092915050565b6000602082019050919050565b60006200078a8262000719565b62000796818562000724565b9350620007a38362000735565b8060005b83811015620007da578151620007be888262000756565b9750620007cb8362000770565b925050600181019050620007a7565b5085935050505092915050565b600060208201905081810360008301526200080381846200077d565b905092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200084f826200063e565b810181811067ffffffffffffffff8211171562000871576200087062000815565b5b80604052505050565b60006200088662000530565b905062000894828262000844565b919050565b600067ffffffffffffffff821115620008b757620008b662000815565b5b620008c2826200063e565b9050602081019050919050565b82818337600083830152505050565b6000620008f5620008ef8462000899565b6200087a565b90508281526020810184848401111562000914576200091362000810565b5b62000921848285620008cf565b509392505050565b600082601f8301126200094157620009406200080b565b5b813562000953848260208601620008de565b91505092915050565b600067ffffffffffffffff8211156200097a576200097962000815565b5b602082029050602081019050919050565b600080fd5b6000620009a7620009a1846200095c565b6200087a565b90508083825260208201905060208402830185811115620009cd57620009cc6200098b565b5b835b8181101562000a1b57803567ffffffffffffffff811115620009f657620009f56200080b565b5b80860162000a05898262000929565b85526020850194505050602081019050620009cf565b5050509392505050565b600082601f83011262000a3d5762000a3c6200080b565b5b813562000a4f84826020860162000990565b91505092915050565b6000806000806080858703121562000a755762000a746200053a565b5b600085013567ffffffffffffffff81111562000a965762000a956200053f565b5b62000aa48782880162000929565b945050602062000ab78782880162000568565b935050604085013567ffffffffffffffff81111562000adb5762000ada6200053f565b5b62000ae98782880162000929565b925050606085013567ffffffffffffffff81111562000b0d5762000b0c6200053f565b5b62000b1b8782880162000a25565b91505092959194509250565b600060208201905062000b3e6000830184620005e5565b92915050565b7f496e646578206f7574206f6620626f756e647300000000000000000000000000600082015250565b600062000b7c60138362000601565b915062000b898262000b44565b602082019050919050565b6000602082019050818103600083015262000baf8162000b6d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600062000bfc62000bf68462000899565b6200087a565b90508281526020810184848401111562000c1b5762000c1a62000810565b5b62000c2884828562000612565b509392505050565b600082601f83011262000c485762000c476200080b565b5b815162000c5a84826020860162000be5565b91505092915050565b60006020828403121562000c7c5762000c7b6200053a565b5b600082015167ffffffffffffffff81111562000c9d5762000c9c6200053f565b5b62000cab8482850162000c30565b91505092915050565b60008151905062000cc5816200054e565b92915050565b60006020828403121562000ce45762000ce36200053a565b5b600062000cf48482850162000cb4565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600082825260208201905092915050565b600062000d4782620005f6565b62000d53818562000d29565b935062000d6581856020860162000612565b62000d70816200063e565b840191505092915050565b600062000d89838362000d3a565b905092915050565b6000602082019050919050565b600062000dab8262000cfd565b62000db7818562000d08565b93508360208202850162000dcb8562000d19565b8060005b8581101562000e0d578484038952815162000deb858262000d7b565b945062000df88362000d91565b925060208a0199505060018101905062000dcf565b50829750879550505050505092915050565b6000608082019050818103600083015262000e3b81876200064f565b905062000e4c602083018662000690565b818103604083015262000e6081856200064f565b9050818103606083015262000e76818462000d9e565b905095945050505050565b6000604082019050818103600083015262000e9d81856200064f565b905062000eae602083018462000690565b939250505056fe60806040523480156200001157600080fd5b5060405162002fd838038062002fd8833981810160405281019062000037919062000588565b33600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000ad5760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620000a491906200069c565b60405180910390fd5b620000be816200010d60201b60201c565b508360019081620000d09190620008fa565b50826003819055508160029081620000e99190620008fa565b50806004908051906020019062000102929190620001d1565b5050505050620009e1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8280548282559060005260206000209081019282156200021e579160200282015b828111156200021d5782518290816200020c9190620008fa565b5091602001919060010190620001f2565b5b5090506200022d919062000231565b5090565b5b808211156200025557600081816200024b919062000259565b5060010162000232565b5090565b5080546200026790620006f3565b6000825580601f106200027b57506200029c565b601f0160209004906000526020600020908101906200029b91906200029f565b5b50565b5b80821115620002ba576000816000905550600101620002a0565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200032782620002dc565b810181811067ffffffffffffffff82111715620003495762000348620002ed565b5b80604052505050565b60006200035e620002be565b90506200036c82826200031c565b919050565b600067ffffffffffffffff8211156200038f576200038e620002ed565b5b6200039a82620002dc565b9050602081019050919050565b60005b83811015620003c7578082015181840152602081019050620003aa565b60008484015250505050565b6000620003ea620003e48462000371565b62000352565b905082815260208101848484011115620004095762000408620002d7565b5b62000416848285620003a7565b509392505050565b600082601f830112620004365762000435620002d2565b5b815162000448848260208601620003d3565b91505092915050565b6000819050919050565b620004668162000451565b81146200047257600080fd5b50565b60008151905062000486816200045b565b92915050565b600067ffffffffffffffff821115620004aa57620004a9620002ed565b5b602082029050602081019050919050565b600080fd5b6000620004d7620004d1846200048c565b62000352565b90508083825260208201905060208402830185811115620004fd57620004fc620004bb565b5b835b818110156200054b57805167ffffffffffffffff811115620005265762000525620002d2565b5b8086016200053589826200041e565b85526020850194505050602081019050620004ff565b5050509392505050565b600082601f8301126200056d576200056c620002d2565b5b81516200057f848260208601620004c0565b91505092915050565b60008060008060808587031215620005a557620005a4620002c8565b5b600085015167ffffffffffffffff811115620005c657620005c5620002cd565b5b620005d4878288016200041e565b9450506020620005e78782880162000475565b935050604085015167ffffffffffffffff8111156200060b576200060a620002cd565b5b62000619878288016200041e565b925050606085015167ffffffffffffffff8111156200063d576200063c620002cd565b5b6200064b8782880162000555565b91505092959194509250565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620006848262000657565b9050919050565b620006968162000677565b82525050565b6000602082019050620006b360008301846200068b565b92915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200070c57607f821691505b602082108103620007225762000721620006c4565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200078c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200074d565b6200079886836200074d565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620007db620007d5620007cf8462000451565b620007b0565b62000451565b9050919050565b6000819050919050565b620007f783620007ba565b6200080f6200080682620007e2565b8484546200075a565b825550505050565b600090565b6200082662000817565b62000833818484620007ec565b505050565b5b818110156200085b576200084f6000826200081c565b60018101905062000839565b5050565b601f821115620008aa57620008748162000728565b6200087f846200073d565b810160208510156200088f578190505b620008a76200089e856200073d565b83018262000838565b50505b505050565b600082821c905092915050565b6000620008cf60001984600802620008af565b1980831691505092915050565b6000620008ea8383620008bc565b9150826002028217905092915050565b6200090582620006b9565b67ffffffffffffffff811115620009215762000920620002ed565b5b6200092d8254620006f3565b6200093a8282856200085f565b600060209050601f8311600181146200097257600084156200095d578287015190505b620009698582620008dc565b865550620009d9565b601f198416620009828662000728565b60005b82811015620009ac5784890151825560018201915060208501945060208101905062000985565b86831015620009cc5784890151620009c8601f891682620008bc565b8355505b6001600288020188555050505b505050505050565b6125e780620009f16000396000f3fe6080604052600436106200009e5760003560e01c8063715018a61162000061578063715018a614620001835780638da5cb5b146200019d578063a035b1fe14620001cd578063efa1c48214620001fd578063f2fde38b146200022d576200009e565b806306fdde0314620000a3578063072c6cda14620000d357806349cd2abf1462000103578063517c7111146200010f5780635afc2ab41462000153575b600080fd5b348015620000b057600080fd5b50620000bb6200025b565b604051620000ca919062000aca565b60405180910390f35b348015620000e057600080fd5b50620000eb620002f1565b604051620000fa919062000b33565b60405180910390f35b6200010d62000358565b005b3480156200011c57600080fd5b506200013b600480360381019062000135919062000b86565b62000634565b6040516200014a919062000bd5565b60405180910390f35b3480156200016057600080fd5b506200016b620006cc565b6040516200017a919062000aca565b60405180910390f35b3480156200019057600080fd5b506200019b62000762565b005b348015620001aa57600080fd5b50620001b56200077a565b604051620001c4919062000b33565b60405180910390f35b348015620001da57600080fd5b50620001e5620007a3565b604051620001f4919062000c0d565b60405180910390f35b3480156200020a57600080fd5b5062000215620007a9565b60405162000224919062000cf8565b60405180910390f35b3480156200023a57600080fd5b5062000259600480360381019062000253919062000b86565b62000839565b005b600180546200026a9062000d4b565b80601f0160208091040260200160405190810160405280929190818152602001828054620002989062000d4b565b8015620002e95780601f10620002bd57610100808354040283529160200191620002e9565b820191906000526020600020905b815481529060010190602001808311620002cb57829003601f168201915b505050505081565b6000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff16600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161462000429576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004209062000dd0565b60405180910390fd5b60035434101562000471576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004689062000e42565b60405180910390fd5b6200047b6200077a565b73ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015620004c1573d6000803e3d6000fd5b5060006004604051620004d49062000a22565b620004e0919062000fee565b604051809103906000f080158015620004fd573d6000803e3d6000fd5b50905080600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506006339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff167fdf37cd8209bf25f467e6073669b0d429139ac595d9a79445e904b48fe88709f48260405162000629919062000b33565b60405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff16600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b60028054620006db9062000d4b565b80601f0160208091040260200160405190810160405280929190818152602001828054620007099062000d4b565b80156200075a5780601f106200072e576101008083540402835291602001916200075a565b820191906000526020600020905b8154815290600101906020018083116200073c57829003601f168201915b505050505081565b6200076c620008c6565b62000778600062000956565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60035481565b606060068054806020026020016040519081016040528092919081815260200182805480156200082f57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311620007e4575b5050505050905090565b62000843620008c6565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620008b85760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620008af919062000b33565b60405180910390fd5b620008c38162000956565b50565b620008d062000a1a565b73ffffffffffffffffffffffffffffffffffffffff16620008f06200077a565b73ffffffffffffffffffffffffffffffffffffffff161462000954576200091662000a1a565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016200094b919062000b33565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b61159f806200101383390190565b600081519050919050565b600082825260208201905092915050565b60005b8381101562000a6c57808201518184015260208101905062000a4f565b60008484015250505050565b6000601f19601f8301169050919050565b600062000a968262000a30565b62000aa2818562000a3b565b935062000ab481856020860162000a4c565b62000abf8162000a78565b840191505092915050565b6000602082019050818103600083015262000ae6818462000a89565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000b1b8262000aee565b9050919050565b62000b2d8162000b0e565b82525050565b600060208201905062000b4a600083018462000b22565b92915050565b600080fd5b62000b608162000b0e565b811462000b6c57600080fd5b50565b60008135905062000b808162000b55565b92915050565b60006020828403121562000b9f5762000b9e62000b50565b5b600062000baf8482850162000b6f565b91505092915050565b60008115159050919050565b62000bcf8162000bb8565b82525050565b600060208201905062000bec600083018462000bc4565b92915050565b6000819050919050565b62000c078162000bf2565b82525050565b600060208201905062000c24600083018462000bfc565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b62000c618162000b0e565b82525050565b600062000c75838362000c56565b60208301905092915050565b6000602082019050919050565b600062000c9b8262000c2a565b62000ca7818562000c35565b935062000cb48362000c46565b8060005b8381101562000ceb57815162000ccf888262000c67565b975062000cdc8362000c81565b92505060018101905062000cb8565b5085935050505092915050565b6000602082019050818103600083015262000d14818462000c8e565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000d6457607f821691505b60208210810362000d7a5762000d7962000d1c565b5b50919050565b7f596f75206861766520616c726561647920626f75676874207468652067616d65600082015250565b600062000db860208362000a3b565b915062000dc58262000d80565b602082019050919050565b6000602082019050818103600083015262000deb8162000da9565b9050919050565b7f496e73756666696369656e742066756e64730000000000000000000000000000600082015250565b600062000e2a60128362000a3b565b915062000e378262000df2565b602082019050919050565b6000602082019050818103600083015262000e5d8162000e1b565b9050919050565b600081549050919050565b600082825260208201905092915050565b60008190508160005260206000209050919050565b600082825260208201905092915050565b60008190508160005260206000209050919050565b6000815462000eca8162000d4b565b62000ed6818662000e95565b9450600182166000811462000ef4576001811462000f0b5762000f42565b60ff19831686528115156020028601935062000f42565b62000f168562000ea6565b60005b8381101562000f3a5781548189015260018201915060208101905062000f19565b808801955050505b50505092915050565b600062000f59838362000ebb565b905092915050565b6000600182019050919050565b600062000f7b8262000e64565b62000f87818562000e6f565b93508360208202850162000f9b8562000e80565b8060005b8581101562000fdc5784840389528162000fba858262000f4b565b945062000fc78362000f61565b925060208a0199505060018101905062000f9f565b50829750879550505050505092915050565b600060208201905081810360008301526200100a818462000f6e565b90509291505056fe60806040523480156200001157600080fd5b506040516200159f3803806200159f833981810160405281019062000037919062000392565b60005b8151811015620000fb576000808383815181106200005d576200005c620003e3565b5b60200260200101516040516200007491906200045f565b908152602001604051809103902060006101000a81548160ff0219169083151502179055506001828281518110620000b157620000b0620003e3565b5b6020026020010151908060018154018082558091505060019003906000526020600020016000909190919091509081620000ec9190620006b8565b5080806001019150506200003a565b50506200079f565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000167826200011c565b810181811067ffffffffffffffff821117156200018957620001886200012d565b5b80604052505050565b60006200019e62000103565b9050620001ac82826200015c565b919050565b600067ffffffffffffffff821115620001cf57620001ce6200012d565b5b602082029050602081019050919050565b600080fd5b600080fd5b600067ffffffffffffffff8211156200020857620002076200012d565b5b62000213826200011c565b9050602081019050919050565b60005b838110156200024057808201518184015260208101905062000223565b60008484015250505050565b6000620002636200025d84620001ea565b62000192565b905082815260208101848484011115620002825762000281620001e5565b5b6200028f84828562000220565b509392505050565b600082601f830112620002af57620002ae62000117565b5b8151620002c18482602086016200024c565b91505092915050565b6000620002e1620002db84620001b1565b62000192565b90508083825260208201905060208402830185811115620003075762000306620001e0565b5b835b818110156200035557805167ffffffffffffffff81111562000330576200032f62000117565b5b8086016200033f898262000297565b8552602085019450505060208101905062000309565b5050509392505050565b600082601f83011262000377576200037662000117565b5b815162000389848260208601620002ca565b91505092915050565b600060208284031215620003ab57620003aa6200010d565b5b600082015167ffffffffffffffff811115620003cc57620003cb62000112565b5b620003da848285016200035f565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600081905092915050565b6000620004358262000412565b6200044181856200041d565b93506200045381856020860162000220565b80840191505092915050565b60006200046d828462000428565b915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620004c057607f821691505b602082108103620004d657620004d562000478565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620005407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000501565b6200054c868362000501565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000599620005936200058d8462000564565b6200056e565b62000564565b9050919050565b6000819050919050565b620005b58362000578565b620005cd620005c482620005a0565b8484546200050e565b825550505050565b600090565b620005e4620005d5565b620005f1818484620005aa565b505050565b5b8181101562000619576200060d600082620005da565b600181019050620005f7565b5050565b601f82111562000668576200063281620004dc565b6200063d84620004f1565b810160208510156200064d578190505b620006656200065c85620004f1565b830182620005f6565b50505b505050565b600082821c905092915050565b60006200068d600019846008026200066d565b1980831691505092915050565b6000620006a883836200067a565b9150826002028217905092915050565b620006c38262000412565b67ffffffffffffffff811115620006df57620006de6200012d565b5b620006eb8254620004a7565b620006f88282856200061d565b600060209050601f8311600181146200073057600084156200071b578287015190505b6200072785826200069a565b86555062000797565b601f1984166200074086620004dc565b60005b828110156200076a5784890151825560018201915060208501945060208101905062000743565b868310156200078a578489015162000786601f8916826200067a565b8355505b6001600288020188555050505b505050505050565b610df080620007af6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80635ee66e881161005b5780635ee66e8814610100578063722fed7e1461013057806396740de31461014e578063d826f88f1461016d5761007d565b806304a87e38146100825780633251c049146100a0578063394c244b146100d0575b600080fd5b61008a610177565b6040516100979190610872565b60405180910390f35b6100ba60048036038101906100b591906109dd565b610250565b6040516100c79190610a41565b60405180910390f35b6100ea60048036038101906100e591906109dd565b6102f7565b6040516100f79190610a41565b60405180910390f35b61011a600480360381019061011591906109dd565b6103c0565b6040516101279190610a41565b60405180910390f35b61013861043f565b6040516101459190610a41565b60405180910390f35b6101566104c1565b604051610164929190610b1a565b60405180910390f35b610175610681565b005b60606001805480602002602001604051908101604052809291908181526020016000905b828210156102475783829060005260206000200180546101ba90610b80565b80601f01602080910402602001604051908101604052809291908181526020018280546101e690610b80565b80156102335780601f1061020857610100808354040283529160200191610233565b820191906000526020600020905b81548152906001019060200180831161021657829003601f168201915b50505050508152602001906001019061019b565b50505050905090565b600080600090505b6001805490508110156102ec57826040516020016102769190610bed565b60405160208183030381529060405280519060200120600182815481106102a05761029f610c04565b5b906000526020600020016040516020016102ba9190610ccb565b60405160208183030381529060405280519060200120036102df5760019150506102f2565b8080600101915050610258565b50600090505b919050565b60008161030381610250565b610342576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033990610d3f565b60405180910390fd5b60016000846040516103549190610bed565b908152602001604051809103902060006101000a81548160ff0219169083151502179055507f2ea2764b7d80d0107c1d2c0210ead4a6fdee0f86235483a041d9faffbf875880836040516103a89190610d98565b60405180910390a16103b861043f565b915050919050565b6000816103cc81610250565b61040b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161040290610d3f565b60405180910390fd5b60008360405161041b9190610bed565b908152602001604051809103902060009054906101000a900460ff16915050919050565b600080600090505b6001805490508110156104b85760006001828154811061046a57610469610c04565b5b906000526020600020016040516104819190610ccb565b908152602001604051809103902060009054906101000a900460ff166104ab5760009150506104be565b8080600101915050610447565b50600190505b90565b606080600060018054905067ffffffffffffffff8111156104e5576104e46108b2565b5b6040519080825280602002602001820160405280156105135781602001602082028036833780820191505090505b50905060005b6001805490508110156105a15760006001828154811061053c5761053b610c04565b5b906000526020600020016040516105539190610ccb565b908152602001604051809103902060009054906101000a900460ff1682828151811061058257610581610c04565b5b6020026020010190151590811515815250508080600101915050610519565b5060018181805480602002602001604051908101604052809291908181526020016000905b828210156106725783829060005260206000200180546105e590610b80565b80601f016020809104026020016040519081016040528092919081815260200182805461061190610b80565b801561065e5780601f106106335761010080835404028352916020019161065e565b820191906000526020600020905b81548152906001019060200180831161064157829003601f168201915b5050505050815260200190600101906105c6565b50505050915092509250509091565b60005b6001805490508110156106f157600080600183815481106106a8576106a7610c04565b5b906000526020600020016040516106bf9190610ccb565b908152602001604051809103902060006101000a81548160ff0219169083151502179055508080600101915050610684565b507f3ce3faa7c721ad3fdd768c232390587b2a5855c74a1a1c5601a62f5103d4584460405160405180910390a1565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561078657808201518184015260208101905061076b565b60008484015250505050565b6000601f19601f8301169050919050565b60006107ae8261074c565b6107b88185610757565b93506107c8818560208601610768565b6107d181610792565b840191505092915050565b60006107e883836107a3565b905092915050565b6000602082019050919050565b600061080882610720565b610812818561072b565b9350836020820285016108248561073c565b8060005b85811015610860578484038952815161084185826107dc565b945061084c836107f0565b925060208a01995050600181019050610828565b50829750879550505050505092915050565b6000602082019050818103600083015261088c81846107fd565b905092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6108ea82610792565b810181811067ffffffffffffffff82111715610909576109086108b2565b5b80604052505050565b600061091c610894565b905061092882826108e1565b919050565b600067ffffffffffffffff821115610948576109476108b2565b5b61095182610792565b9050602081019050919050565b82818337600083830152505050565b600061098061097b8461092d565b610912565b90508281526020810184848401111561099c5761099b6108ad565b5b6109a784828561095e565b509392505050565b600082601f8301126109c4576109c36108a8565b5b81356109d484826020860161096d565b91505092915050565b6000602082840312156109f3576109f261089e565b5b600082013567ffffffffffffffff811115610a1157610a106108a3565b5b610a1d848285016109af565b91505092915050565b60008115159050919050565b610a3b81610a26565b82525050565b6000602082019050610a566000830184610a32565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b610a9181610a26565b82525050565b6000610aa38383610a88565b60208301905092915050565b6000602082019050919050565b6000610ac782610a5c565b610ad18185610a67565b9350610adc83610a78565b8060005b83811015610b0d578151610af48882610a97565b9750610aff83610aaf565b925050600181019050610ae0565b5085935050505092915050565b60006040820190508181036000830152610b3481856107fd565b90508181036020830152610b488184610abc565b90509392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610b9857607f821691505b602082108103610bab57610baa610b51565b5b50919050565b600081905092915050565b6000610bc78261074c565b610bd18185610bb1565b9350610be1818560208601610768565b80840191505092915050565b6000610bf98284610bbc565b915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008190508160005260206000209050919050565b60008154610c5581610b80565b610c5f8186610bb1565b94506001821660008114610c7a5760018114610c8f57610cc2565b60ff1983168652811515820286019350610cc2565b610c9885610c33565b60005b83811015610cba57815481890152600182019150602081019050610c9b565b838801955050505b50505092915050565b6000610cd78284610c48565b915081905092915050565b600082825260208201905092915050565b7f5461736b20646f6573206e6f7420657869737400000000000000000000000000600082015250565b6000610d29601383610ce2565b9150610d3482610cf3565b602082019050919050565b60006020820190508181036000830152610d5881610d1c565b9050919050565b6000610d6a8261074c565b610d748185610ce2565b9350610d84818560208601610768565b610d8d81610792565b840191505092915050565b60006020820190508181036000830152610db28184610d5f565b90509291505056fea264697066735822122072eb9bf484850730a02919009f0910350e76b5abf10275d97c8d9ab261aec18f64736f6c63430008180033a26469706673582212201236797cd5818f9f19961b501444bb4b369e2ae653ed95ad6689e8e33dd1195764736f6c63430008180033a2646970667358221220bc9dc6177185704157a64021620ed5c7608b6affd64f710783309f58d62ad1e364736f6c63430008180033", + "deployedBytecode": "0x60806040523480156200001157600080fd5b5060043610620000525760003560e01c80631b31abda14620000575780635bd4349b146200009057806393a5e09514620000b25780639aeedcc514620000d4575b600080fd5b6200007560048036038101906200006f91906200057f565b6200010a565b604051620000879493929190620006a1565b60405180910390f35b6200009a62000312565b604051620000a99190620006fc565b60405180910390f35b620000bc6200031e565b604051620000cb9190620007e7565b60405180910390f35b620000f26004803603810190620000ec919062000a58565b620003ae565b60405162000101919062000b27565b60405180910390f35b600060606000606060008054905085106200015c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001539062000b94565b60405180910390fd5b600080868154811062000174576200017362000bb6565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050808173ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa158015620001ee573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019062000219919062000c63565b8273ffffffffffffffffffffffffffffffffffffffff1663a035b1fe6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000265573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200028b919062000ccb565b8373ffffffffffffffffffffffffffffffffffffffff16635afc2ab46040518163ffffffff1660e01b8152600401600060405180830381865afa158015620002d7573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019062000302919062000c63565b9450945094509450509193509193565b60008080549050905090565b60606000805480602002602001604051908101604052809291908181526020018280548015620003a457602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831162000359575b5050505050905090565b60008085858585604051620003c39062000522565b620003d2949392919062000e1f565b604051809103906000f080158015620003ef573d6000803e3d6000fd5b5090506000819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663f2fde38b336040518263ffffffff1660e01b815260040162000490919062000b27565b600060405180830381600087803b158015620004ab57600080fd5b505af1158015620004c0573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff167f546fd30a670cb519c491f8e0bf0d33d412d1c9861c1664c8750becb39b6499f687876040516200050e92919062000e81565b60405180910390a280915050949350505050565b612fd88062000eb683390190565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b620005598162000544565b81146200056557600080fd5b50565b60008135905062000579816200054e565b92915050565b6000602082840312156200059857620005976200053a565b5b6000620005a88482850162000568565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620005de82620005b1565b9050919050565b620005f081620005d1565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b838110156200063257808201518184015260208101905062000615565b60008484015250505050565b6000601f19601f8301169050919050565b60006200065c82620005f6565b62000668818562000601565b93506200067a81856020860162000612565b62000685816200063e565b840191505092915050565b6200069b8162000544565b82525050565b6000608082019050620006b86000830187620005e5565b8181036020830152620006cc81866200064f565b9050620006dd604083018562000690565b8181036060830152620006f181846200064f565b905095945050505050565b600060208201905062000713600083018462000690565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6200075081620005d1565b82525050565b600062000764838362000745565b60208301905092915050565b6000602082019050919050565b60006200078a8262000719565b62000796818562000724565b9350620007a38362000735565b8060005b83811015620007da578151620007be888262000756565b9750620007cb8362000770565b925050600181019050620007a7565b5085935050505092915050565b600060208201905081810360008301526200080381846200077d565b905092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200084f826200063e565b810181811067ffffffffffffffff8211171562000871576200087062000815565b5b80604052505050565b60006200088662000530565b905062000894828262000844565b919050565b600067ffffffffffffffff821115620008b757620008b662000815565b5b620008c2826200063e565b9050602081019050919050565b82818337600083830152505050565b6000620008f5620008ef8462000899565b6200087a565b90508281526020810184848401111562000914576200091362000810565b5b62000921848285620008cf565b509392505050565b600082601f8301126200094157620009406200080b565b5b813562000953848260208601620008de565b91505092915050565b600067ffffffffffffffff8211156200097a576200097962000815565b5b602082029050602081019050919050565b600080fd5b6000620009a7620009a1846200095c565b6200087a565b90508083825260208201905060208402830185811115620009cd57620009cc6200098b565b5b835b8181101562000a1b57803567ffffffffffffffff811115620009f657620009f56200080b565b5b80860162000a05898262000929565b85526020850194505050602081019050620009cf565b5050509392505050565b600082601f83011262000a3d5762000a3c6200080b565b5b813562000a4f84826020860162000990565b91505092915050565b6000806000806080858703121562000a755762000a746200053a565b5b600085013567ffffffffffffffff81111562000a965762000a956200053f565b5b62000aa48782880162000929565b945050602062000ab78782880162000568565b935050604085013567ffffffffffffffff81111562000adb5762000ada6200053f565b5b62000ae98782880162000929565b925050606085013567ffffffffffffffff81111562000b0d5762000b0c6200053f565b5b62000b1b8782880162000a25565b91505092959194509250565b600060208201905062000b3e6000830184620005e5565b92915050565b7f496e646578206f7574206f6620626f756e647300000000000000000000000000600082015250565b600062000b7c60138362000601565b915062000b898262000b44565b602082019050919050565b6000602082019050818103600083015262000baf8162000b6d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600062000bfc62000bf68462000899565b6200087a565b90508281526020810184848401111562000c1b5762000c1a62000810565b5b62000c2884828562000612565b509392505050565b600082601f83011262000c485762000c476200080b565b5b815162000c5a84826020860162000be5565b91505092915050565b60006020828403121562000c7c5762000c7b6200053a565b5b600082015167ffffffffffffffff81111562000c9d5762000c9c6200053f565b5b62000cab8482850162000c30565b91505092915050565b60008151905062000cc5816200054e565b92915050565b60006020828403121562000ce45762000ce36200053a565b5b600062000cf48482850162000cb4565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600082825260208201905092915050565b600062000d4782620005f6565b62000d53818562000d29565b935062000d6581856020860162000612565b62000d70816200063e565b840191505092915050565b600062000d89838362000d3a565b905092915050565b6000602082019050919050565b600062000dab8262000cfd565b62000db7818562000d08565b93508360208202850162000dcb8562000d19565b8060005b8581101562000e0d578484038952815162000deb858262000d7b565b945062000df88362000d91565b925060208a0199505060018101905062000dcf565b50829750879550505050505092915050565b6000608082019050818103600083015262000e3b81876200064f565b905062000e4c602083018662000690565b818103604083015262000e6081856200064f565b9050818103606083015262000e76818462000d9e565b905095945050505050565b6000604082019050818103600083015262000e9d81856200064f565b905062000eae602083018462000690565b939250505056fe60806040523480156200001157600080fd5b5060405162002fd838038062002fd8833981810160405281019062000037919062000588565b33600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000ad5760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620000a491906200069c565b60405180910390fd5b620000be816200010d60201b60201c565b508360019081620000d09190620008fa565b50826003819055508160029081620000e99190620008fa565b50806004908051906020019062000102929190620001d1565b5050505050620009e1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8280548282559060005260206000209081019282156200021e579160200282015b828111156200021d5782518290816200020c9190620008fa565b5091602001919060010190620001f2565b5b5090506200022d919062000231565b5090565b5b808211156200025557600081816200024b919062000259565b5060010162000232565b5090565b5080546200026790620006f3565b6000825580601f106200027b57506200029c565b601f0160209004906000526020600020908101906200029b91906200029f565b5b50565b5b80821115620002ba576000816000905550600101620002a0565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200032782620002dc565b810181811067ffffffffffffffff82111715620003495762000348620002ed565b5b80604052505050565b60006200035e620002be565b90506200036c82826200031c565b919050565b600067ffffffffffffffff8211156200038f576200038e620002ed565b5b6200039a82620002dc565b9050602081019050919050565b60005b83811015620003c7578082015181840152602081019050620003aa565b60008484015250505050565b6000620003ea620003e48462000371565b62000352565b905082815260208101848484011115620004095762000408620002d7565b5b62000416848285620003a7565b509392505050565b600082601f830112620004365762000435620002d2565b5b815162000448848260208601620003d3565b91505092915050565b6000819050919050565b620004668162000451565b81146200047257600080fd5b50565b60008151905062000486816200045b565b92915050565b600067ffffffffffffffff821115620004aa57620004a9620002ed565b5b602082029050602081019050919050565b600080fd5b6000620004d7620004d1846200048c565b62000352565b90508083825260208201905060208402830185811115620004fd57620004fc620004bb565b5b835b818110156200054b57805167ffffffffffffffff811115620005265762000525620002d2565b5b8086016200053589826200041e565b85526020850194505050602081019050620004ff565b5050509392505050565b600082601f8301126200056d576200056c620002d2565b5b81516200057f848260208601620004c0565b91505092915050565b60008060008060808587031215620005a557620005a4620002c8565b5b600085015167ffffffffffffffff811115620005c657620005c5620002cd565b5b620005d4878288016200041e565b9450506020620005e78782880162000475565b935050604085015167ffffffffffffffff8111156200060b576200060a620002cd565b5b62000619878288016200041e565b925050606085015167ffffffffffffffff8111156200063d576200063c620002cd565b5b6200064b8782880162000555565b91505092959194509250565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620006848262000657565b9050919050565b620006968162000677565b82525050565b6000602082019050620006b360008301846200068b565b92915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200070c57607f821691505b602082108103620007225762000721620006c4565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200078c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200074d565b6200079886836200074d565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620007db620007d5620007cf8462000451565b620007b0565b62000451565b9050919050565b6000819050919050565b620007f783620007ba565b6200080f6200080682620007e2565b8484546200075a565b825550505050565b600090565b6200082662000817565b62000833818484620007ec565b505050565b5b818110156200085b576200084f6000826200081c565b60018101905062000839565b5050565b601f821115620008aa57620008748162000728565b6200087f846200073d565b810160208510156200088f578190505b620008a76200089e856200073d565b83018262000838565b50505b505050565b600082821c905092915050565b6000620008cf60001984600802620008af565b1980831691505092915050565b6000620008ea8383620008bc565b9150826002028217905092915050565b6200090582620006b9565b67ffffffffffffffff811115620009215762000920620002ed565b5b6200092d8254620006f3565b6200093a8282856200085f565b600060209050601f8311600181146200097257600084156200095d578287015190505b620009698582620008dc565b865550620009d9565b601f198416620009828662000728565b60005b82811015620009ac5784890151825560018201915060208501945060208101905062000985565b86831015620009cc5784890151620009c8601f891682620008bc565b8355505b6001600288020188555050505b505050505050565b6125e780620009f16000396000f3fe6080604052600436106200009e5760003560e01c8063715018a61162000061578063715018a614620001835780638da5cb5b146200019d578063a035b1fe14620001cd578063efa1c48214620001fd578063f2fde38b146200022d576200009e565b806306fdde0314620000a3578063072c6cda14620000d357806349cd2abf1462000103578063517c7111146200010f5780635afc2ab41462000153575b600080fd5b348015620000b057600080fd5b50620000bb6200025b565b604051620000ca919062000aca565b60405180910390f35b348015620000e057600080fd5b50620000eb620002f1565b604051620000fa919062000b33565b60405180910390f35b6200010d62000358565b005b3480156200011c57600080fd5b506200013b600480360381019062000135919062000b86565b62000634565b6040516200014a919062000bd5565b60405180910390f35b3480156200016057600080fd5b506200016b620006cc565b6040516200017a919062000aca565b60405180910390f35b3480156200019057600080fd5b506200019b62000762565b005b348015620001aa57600080fd5b50620001b56200077a565b604051620001c4919062000b33565b60405180910390f35b348015620001da57600080fd5b50620001e5620007a3565b604051620001f4919062000c0d565b60405180910390f35b3480156200020a57600080fd5b5062000215620007a9565b60405162000224919062000cf8565b60405180910390f35b3480156200023a57600080fd5b5062000259600480360381019062000253919062000b86565b62000839565b005b600180546200026a9062000d4b565b80601f0160208091040260200160405190810160405280929190818152602001828054620002989062000d4b565b8015620002e95780601f10620002bd57610100808354040283529160200191620002e9565b820191906000526020600020905b815481529060010190602001808311620002cb57829003601f168201915b505050505081565b6000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff16600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161462000429576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004209062000dd0565b60405180910390fd5b60035434101562000471576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004689062000e42565b60405180910390fd5b6200047b6200077a565b73ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015620004c1573d6000803e3d6000fd5b5060006004604051620004d49062000a22565b620004e0919062000fee565b604051809103906000f080158015620004fd573d6000803e3d6000fd5b50905080600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506006339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff167fdf37cd8209bf25f467e6073669b0d429139ac595d9a79445e904b48fe88709f48260405162000629919062000b33565b60405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff16600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b60028054620006db9062000d4b565b80601f0160208091040260200160405190810160405280929190818152602001828054620007099062000d4b565b80156200075a5780601f106200072e576101008083540402835291602001916200075a565b820191906000526020600020905b8154815290600101906020018083116200073c57829003601f168201915b505050505081565b6200076c620008c6565b62000778600062000956565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60035481565b606060068054806020026020016040519081016040528092919081815260200182805480156200082f57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311620007e4575b5050505050905090565b62000843620008c6565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620008b85760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620008af919062000b33565b60405180910390fd5b620008c38162000956565b50565b620008d062000a1a565b73ffffffffffffffffffffffffffffffffffffffff16620008f06200077a565b73ffffffffffffffffffffffffffffffffffffffff161462000954576200091662000a1a565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016200094b919062000b33565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b61159f806200101383390190565b600081519050919050565b600082825260208201905092915050565b60005b8381101562000a6c57808201518184015260208101905062000a4f565b60008484015250505050565b6000601f19601f8301169050919050565b600062000a968262000a30565b62000aa2818562000a3b565b935062000ab481856020860162000a4c565b62000abf8162000a78565b840191505092915050565b6000602082019050818103600083015262000ae6818462000a89565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000b1b8262000aee565b9050919050565b62000b2d8162000b0e565b82525050565b600060208201905062000b4a600083018462000b22565b92915050565b600080fd5b62000b608162000b0e565b811462000b6c57600080fd5b50565b60008135905062000b808162000b55565b92915050565b60006020828403121562000b9f5762000b9e62000b50565b5b600062000baf8482850162000b6f565b91505092915050565b60008115159050919050565b62000bcf8162000bb8565b82525050565b600060208201905062000bec600083018462000bc4565b92915050565b6000819050919050565b62000c078162000bf2565b82525050565b600060208201905062000c24600083018462000bfc565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b62000c618162000b0e565b82525050565b600062000c75838362000c56565b60208301905092915050565b6000602082019050919050565b600062000c9b8262000c2a565b62000ca7818562000c35565b935062000cb48362000c46565b8060005b8381101562000ceb57815162000ccf888262000c67565b975062000cdc8362000c81565b92505060018101905062000cb8565b5085935050505092915050565b6000602082019050818103600083015262000d14818462000c8e565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000d6457607f821691505b60208210810362000d7a5762000d7962000d1c565b5b50919050565b7f596f75206861766520616c726561647920626f75676874207468652067616d65600082015250565b600062000db860208362000a3b565b915062000dc58262000d80565b602082019050919050565b6000602082019050818103600083015262000deb8162000da9565b9050919050565b7f496e73756666696369656e742066756e64730000000000000000000000000000600082015250565b600062000e2a60128362000a3b565b915062000e378262000df2565b602082019050919050565b6000602082019050818103600083015262000e5d8162000e1b565b9050919050565b600081549050919050565b600082825260208201905092915050565b60008190508160005260206000209050919050565b600082825260208201905092915050565b60008190508160005260206000209050919050565b6000815462000eca8162000d4b565b62000ed6818662000e95565b9450600182166000811462000ef4576001811462000f0b5762000f42565b60ff19831686528115156020028601935062000f42565b62000f168562000ea6565b60005b8381101562000f3a5781548189015260018201915060208101905062000f19565b808801955050505b50505092915050565b600062000f59838362000ebb565b905092915050565b6000600182019050919050565b600062000f7b8262000e64565b62000f87818562000e6f565b93508360208202850162000f9b8562000e80565b8060005b8581101562000fdc5784840389528162000fba858262000f4b565b945062000fc78362000f61565b925060208a0199505060018101905062000f9f565b50829750879550505050505092915050565b600060208201905081810360008301526200100a818462000f6e565b90509291505056fe60806040523480156200001157600080fd5b506040516200159f3803806200159f833981810160405281019062000037919062000392565b60005b8151811015620000fb576000808383815181106200005d576200005c620003e3565b5b60200260200101516040516200007491906200045f565b908152602001604051809103902060006101000a81548160ff0219169083151502179055506001828281518110620000b157620000b0620003e3565b5b6020026020010151908060018154018082558091505060019003906000526020600020016000909190919091509081620000ec9190620006b8565b5080806001019150506200003a565b50506200079f565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000167826200011c565b810181811067ffffffffffffffff821117156200018957620001886200012d565b5b80604052505050565b60006200019e62000103565b9050620001ac82826200015c565b919050565b600067ffffffffffffffff821115620001cf57620001ce6200012d565b5b602082029050602081019050919050565b600080fd5b600080fd5b600067ffffffffffffffff8211156200020857620002076200012d565b5b62000213826200011c565b9050602081019050919050565b60005b838110156200024057808201518184015260208101905062000223565b60008484015250505050565b6000620002636200025d84620001ea565b62000192565b905082815260208101848484011115620002825762000281620001e5565b5b6200028f84828562000220565b509392505050565b600082601f830112620002af57620002ae62000117565b5b8151620002c18482602086016200024c565b91505092915050565b6000620002e1620002db84620001b1565b62000192565b90508083825260208201905060208402830185811115620003075762000306620001e0565b5b835b818110156200035557805167ffffffffffffffff81111562000330576200032f62000117565b5b8086016200033f898262000297565b8552602085019450505060208101905062000309565b5050509392505050565b600082601f83011262000377576200037662000117565b5b815162000389848260208601620002ca565b91505092915050565b600060208284031215620003ab57620003aa6200010d565b5b600082015167ffffffffffffffff811115620003cc57620003cb62000112565b5b620003da848285016200035f565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600081905092915050565b6000620004358262000412565b6200044181856200041d565b93506200045381856020860162000220565b80840191505092915050565b60006200046d828462000428565b915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620004c057607f821691505b602082108103620004d657620004d562000478565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620005407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000501565b6200054c868362000501565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000599620005936200058d8462000564565b6200056e565b62000564565b9050919050565b6000819050919050565b620005b58362000578565b620005cd620005c482620005a0565b8484546200050e565b825550505050565b600090565b620005e4620005d5565b620005f1818484620005aa565b505050565b5b8181101562000619576200060d600082620005da565b600181019050620005f7565b5050565b601f82111562000668576200063281620004dc565b6200063d84620004f1565b810160208510156200064d578190505b620006656200065c85620004f1565b830182620005f6565b50505b505050565b600082821c905092915050565b60006200068d600019846008026200066d565b1980831691505092915050565b6000620006a883836200067a565b9150826002028217905092915050565b620006c38262000412565b67ffffffffffffffff811115620006df57620006de6200012d565b5b620006eb8254620004a7565b620006f88282856200061d565b600060209050601f8311600181146200073057600084156200071b578287015190505b6200072785826200069a565b86555062000797565b601f1984166200074086620004dc565b60005b828110156200076a5784890151825560018201915060208501945060208101905062000743565b868310156200078a578489015162000786601f8916826200067a565b8355505b6001600288020188555050505b505050505050565b610df080620007af6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80635ee66e881161005b5780635ee66e8814610100578063722fed7e1461013057806396740de31461014e578063d826f88f1461016d5761007d565b806304a87e38146100825780633251c049146100a0578063394c244b146100d0575b600080fd5b61008a610177565b6040516100979190610872565b60405180910390f35b6100ba60048036038101906100b591906109dd565b610250565b6040516100c79190610a41565b60405180910390f35b6100ea60048036038101906100e591906109dd565b6102f7565b6040516100f79190610a41565b60405180910390f35b61011a600480360381019061011591906109dd565b6103c0565b6040516101279190610a41565b60405180910390f35b61013861043f565b6040516101459190610a41565b60405180910390f35b6101566104c1565b604051610164929190610b1a565b60405180910390f35b610175610681565b005b60606001805480602002602001604051908101604052809291908181526020016000905b828210156102475783829060005260206000200180546101ba90610b80565b80601f01602080910402602001604051908101604052809291908181526020018280546101e690610b80565b80156102335780601f1061020857610100808354040283529160200191610233565b820191906000526020600020905b81548152906001019060200180831161021657829003601f168201915b50505050508152602001906001019061019b565b50505050905090565b600080600090505b6001805490508110156102ec57826040516020016102769190610bed565b60405160208183030381529060405280519060200120600182815481106102a05761029f610c04565b5b906000526020600020016040516020016102ba9190610ccb565b60405160208183030381529060405280519060200120036102df5760019150506102f2565b8080600101915050610258565b50600090505b919050565b60008161030381610250565b610342576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033990610d3f565b60405180910390fd5b60016000846040516103549190610bed565b908152602001604051809103902060006101000a81548160ff0219169083151502179055507f2ea2764b7d80d0107c1d2c0210ead4a6fdee0f86235483a041d9faffbf875880836040516103a89190610d98565b60405180910390a16103b861043f565b915050919050565b6000816103cc81610250565b61040b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161040290610d3f565b60405180910390fd5b60008360405161041b9190610bed565b908152602001604051809103902060009054906101000a900460ff16915050919050565b600080600090505b6001805490508110156104b85760006001828154811061046a57610469610c04565b5b906000526020600020016040516104819190610ccb565b908152602001604051809103902060009054906101000a900460ff166104ab5760009150506104be565b8080600101915050610447565b50600190505b90565b606080600060018054905067ffffffffffffffff8111156104e5576104e46108b2565b5b6040519080825280602002602001820160405280156105135781602001602082028036833780820191505090505b50905060005b6001805490508110156105a15760006001828154811061053c5761053b610c04565b5b906000526020600020016040516105539190610ccb565b908152602001604051809103902060009054906101000a900460ff1682828151811061058257610581610c04565b5b6020026020010190151590811515815250508080600101915050610519565b5060018181805480602002602001604051908101604052809291908181526020016000905b828210156106725783829060005260206000200180546105e590610b80565b80601f016020809104026020016040519081016040528092919081815260200182805461061190610b80565b801561065e5780601f106106335761010080835404028352916020019161065e565b820191906000526020600020905b81548152906001019060200180831161064157829003601f168201915b5050505050815260200190600101906105c6565b50505050915092509250509091565b60005b6001805490508110156106f157600080600183815481106106a8576106a7610c04565b5b906000526020600020016040516106bf9190610ccb565b908152602001604051809103902060006101000a81548160ff0219169083151502179055508080600101915050610684565b507f3ce3faa7c721ad3fdd768c232390587b2a5855c74a1a1c5601a62f5103d4584460405160405180910390a1565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561078657808201518184015260208101905061076b565b60008484015250505050565b6000601f19601f8301169050919050565b60006107ae8261074c565b6107b88185610757565b93506107c8818560208601610768565b6107d181610792565b840191505092915050565b60006107e883836107a3565b905092915050565b6000602082019050919050565b600061080882610720565b610812818561072b565b9350836020820285016108248561073c565b8060005b85811015610860578484038952815161084185826107dc565b945061084c836107f0565b925060208a01995050600181019050610828565b50829750879550505050505092915050565b6000602082019050818103600083015261088c81846107fd565b905092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6108ea82610792565b810181811067ffffffffffffffff82111715610909576109086108b2565b5b80604052505050565b600061091c610894565b905061092882826108e1565b919050565b600067ffffffffffffffff821115610948576109476108b2565b5b61095182610792565b9050602081019050919050565b82818337600083830152505050565b600061098061097b8461092d565b610912565b90508281526020810184848401111561099c5761099b6108ad565b5b6109a784828561095e565b509392505050565b600082601f8301126109c4576109c36108a8565b5b81356109d484826020860161096d565b91505092915050565b6000602082840312156109f3576109f261089e565b5b600082013567ffffffffffffffff811115610a1157610a106108a3565b5b610a1d848285016109af565b91505092915050565b60008115159050919050565b610a3b81610a26565b82525050565b6000602082019050610a566000830184610a32565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b610a9181610a26565b82525050565b6000610aa38383610a88565b60208301905092915050565b6000602082019050919050565b6000610ac782610a5c565b610ad18185610a67565b9350610adc83610a78565b8060005b83811015610b0d578151610af48882610a97565b9750610aff83610aaf565b925050600181019050610ae0565b5085935050505092915050565b60006040820190508181036000830152610b3481856107fd565b90508181036020830152610b488184610abc565b90509392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610b9857607f821691505b602082108103610bab57610baa610b51565b5b50919050565b600081905092915050565b6000610bc78261074c565b610bd18185610bb1565b9350610be1818560208601610768565b80840191505092915050565b6000610bf98284610bbc565b915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008190508160005260206000209050919050565b60008154610c5581610b80565b610c5f8186610bb1565b94506001821660008114610c7a5760018114610c8f57610cc2565b60ff1983168652811515820286019350610cc2565b610c9885610c33565b60005b83811015610cba57815481890152600182019150602081019050610c9b565b838801955050505b50505092915050565b6000610cd78284610c48565b915081905092915050565b600082825260208201905092915050565b7f5461736b20646f6573206e6f7420657869737400000000000000000000000000600082015250565b6000610d29601383610ce2565b9150610d3482610cf3565b602082019050919050565b60006020820190508181036000830152610d5881610d1c565b9050919050565b6000610d6a8261074c565b610d748185610ce2565b9350610d84818560208601610768565b610d8d81610792565b840191505092915050565b60006020820190508181036000830152610db28184610d5f565b90509291505056fea264697066735822122072eb9bf484850730a02919009f0910350e76b5abf10275d97c8d9ab261aec18f64736f6c63430008180033a26469706673582212201236797cd5818f9f19961b501444bb4b369e2ae653ed95ad6689e8e33dd1195764736f6c63430008180033a2646970667358221220bc9dc6177185704157a64021620ed5c7608b6affd64f710783309f58d62ad1e364736f6c63430008180033", + "linkReferences": {}, + "deployedLinkReferences": {} + } + \ No newline at end of file diff --git a/contracts/GamePlayerStatus.json b/contracts/GamePlayerStatus.json new file mode 100644 index 0000000..d7f263d --- /dev/null +++ b/contracts/GamePlayerStatus.json @@ -0,0 +1,150 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "GamePlayerStatus", + "sourceName": "contracts/GamePlayerStatus.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "string[]", + "name": "_tasks", + "type": "string[]" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "task", + "type": "string" + } + ], + "name": "TaskCompleted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "TasksReset", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_task", + "type": "string" + } + ], + "name": "checkTaskExists", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_task", + "type": "string" + } + ], + "name": "completeTask", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "gameStatus", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getTaskStatus", + "outputs": [ + { + "internalType": "string[]", + "name": "", + "type": "string[]" + }, + { + "internalType": "bool[]", + "name": "", + "type": "bool[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getTasks", + "outputs": [ + { + "internalType": "string[]", + "name": "", + "type": "string[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_task", + "type": "string" + } + ], + "name": "isTaskCompleted", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "reset", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x60806040523480156200001157600080fd5b506040516200159f3803806200159f833981810160405281019062000037919062000392565b60005b8151811015620000fb576000808383815181106200005d576200005c620003e3565b5b60200260200101516040516200007491906200045f565b908152602001604051809103902060006101000a81548160ff0219169083151502179055506001828281518110620000b157620000b0620003e3565b5b6020026020010151908060018154018082558091505060019003906000526020600020016000909190919091509081620000ec9190620006b8565b5080806001019150506200003a565b50506200079f565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000167826200011c565b810181811067ffffffffffffffff821117156200018957620001886200012d565b5b80604052505050565b60006200019e62000103565b9050620001ac82826200015c565b919050565b600067ffffffffffffffff821115620001cf57620001ce6200012d565b5b602082029050602081019050919050565b600080fd5b600080fd5b600067ffffffffffffffff8211156200020857620002076200012d565b5b62000213826200011c565b9050602081019050919050565b60005b838110156200024057808201518184015260208101905062000223565b60008484015250505050565b6000620002636200025d84620001ea565b62000192565b905082815260208101848484011115620002825762000281620001e5565b5b6200028f84828562000220565b509392505050565b600082601f830112620002af57620002ae62000117565b5b8151620002c18482602086016200024c565b91505092915050565b6000620002e1620002db84620001b1565b62000192565b90508083825260208201905060208402830185811115620003075762000306620001e0565b5b835b818110156200035557805167ffffffffffffffff81111562000330576200032f62000117565b5b8086016200033f898262000297565b8552602085019450505060208101905062000309565b5050509392505050565b600082601f83011262000377576200037662000117565b5b815162000389848260208601620002ca565b91505092915050565b600060208284031215620003ab57620003aa6200010d565b5b600082015167ffffffffffffffff811115620003cc57620003cb62000112565b5b620003da848285016200035f565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600081905092915050565b6000620004358262000412565b6200044181856200041d565b93506200045381856020860162000220565b80840191505092915050565b60006200046d828462000428565b915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620004c057607f821691505b602082108103620004d657620004d562000478565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620005407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000501565b6200054c868362000501565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000599620005936200058d8462000564565b6200056e565b62000564565b9050919050565b6000819050919050565b620005b58362000578565b620005cd620005c482620005a0565b8484546200050e565b825550505050565b600090565b620005e4620005d5565b620005f1818484620005aa565b505050565b5b8181101562000619576200060d600082620005da565b600181019050620005f7565b5050565b601f82111562000668576200063281620004dc565b6200063d84620004f1565b810160208510156200064d578190505b620006656200065c85620004f1565b830182620005f6565b50505b505050565b600082821c905092915050565b60006200068d600019846008026200066d565b1980831691505092915050565b6000620006a883836200067a565b9150826002028217905092915050565b620006c38262000412565b67ffffffffffffffff811115620006df57620006de6200012d565b5b620006eb8254620004a7565b620006f88282856200061d565b600060209050601f8311600181146200073057600084156200071b578287015190505b6200072785826200069a565b86555062000797565b601f1984166200074086620004dc565b60005b828110156200076a5784890151825560018201915060208501945060208101905062000743565b868310156200078a578489015162000786601f8916826200067a565b8355505b6001600288020188555050505b505050505050565b610df080620007af6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80635ee66e881161005b5780635ee66e8814610100578063722fed7e1461013057806396740de31461014e578063d826f88f1461016d5761007d565b806304a87e38146100825780633251c049146100a0578063394c244b146100d0575b600080fd5b61008a610177565b6040516100979190610872565b60405180910390f35b6100ba60048036038101906100b591906109dd565b610250565b6040516100c79190610a41565b60405180910390f35b6100ea60048036038101906100e591906109dd565b6102f7565b6040516100f79190610a41565b60405180910390f35b61011a600480360381019061011591906109dd565b6103c0565b6040516101279190610a41565b60405180910390f35b61013861043f565b6040516101459190610a41565b60405180910390f35b6101566104c1565b604051610164929190610b1a565b60405180910390f35b610175610681565b005b60606001805480602002602001604051908101604052809291908181526020016000905b828210156102475783829060005260206000200180546101ba90610b80565b80601f01602080910402602001604051908101604052809291908181526020018280546101e690610b80565b80156102335780601f1061020857610100808354040283529160200191610233565b820191906000526020600020905b81548152906001019060200180831161021657829003601f168201915b50505050508152602001906001019061019b565b50505050905090565b600080600090505b6001805490508110156102ec57826040516020016102769190610bed565b60405160208183030381529060405280519060200120600182815481106102a05761029f610c04565b5b906000526020600020016040516020016102ba9190610ccb565b60405160208183030381529060405280519060200120036102df5760019150506102f2565b8080600101915050610258565b50600090505b919050565b60008161030381610250565b610342576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033990610d3f565b60405180910390fd5b60016000846040516103549190610bed565b908152602001604051809103902060006101000a81548160ff0219169083151502179055507f2ea2764b7d80d0107c1d2c0210ead4a6fdee0f86235483a041d9faffbf875880836040516103a89190610d98565b60405180910390a16103b861043f565b915050919050565b6000816103cc81610250565b61040b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161040290610d3f565b60405180910390fd5b60008360405161041b9190610bed565b908152602001604051809103902060009054906101000a900460ff16915050919050565b600080600090505b6001805490508110156104b85760006001828154811061046a57610469610c04565b5b906000526020600020016040516104819190610ccb565b908152602001604051809103902060009054906101000a900460ff166104ab5760009150506104be565b8080600101915050610447565b50600190505b90565b606080600060018054905067ffffffffffffffff8111156104e5576104e46108b2565b5b6040519080825280602002602001820160405280156105135781602001602082028036833780820191505090505b50905060005b6001805490508110156105a15760006001828154811061053c5761053b610c04565b5b906000526020600020016040516105539190610ccb565b908152602001604051809103902060009054906101000a900460ff1682828151811061058257610581610c04565b5b6020026020010190151590811515815250508080600101915050610519565b5060018181805480602002602001604051908101604052809291908181526020016000905b828210156106725783829060005260206000200180546105e590610b80565b80601f016020809104026020016040519081016040528092919081815260200182805461061190610b80565b801561065e5780601f106106335761010080835404028352916020019161065e565b820191906000526020600020905b81548152906001019060200180831161064157829003601f168201915b5050505050815260200190600101906105c6565b50505050915092509250509091565b60005b6001805490508110156106f157600080600183815481106106a8576106a7610c04565b5b906000526020600020016040516106bf9190610ccb565b908152602001604051809103902060006101000a81548160ff0219169083151502179055508080600101915050610684565b507f3ce3faa7c721ad3fdd768c232390587b2a5855c74a1a1c5601a62f5103d4584460405160405180910390a1565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561078657808201518184015260208101905061076b565b60008484015250505050565b6000601f19601f8301169050919050565b60006107ae8261074c565b6107b88185610757565b93506107c8818560208601610768565b6107d181610792565b840191505092915050565b60006107e883836107a3565b905092915050565b6000602082019050919050565b600061080882610720565b610812818561072b565b9350836020820285016108248561073c565b8060005b85811015610860578484038952815161084185826107dc565b945061084c836107f0565b925060208a01995050600181019050610828565b50829750879550505050505092915050565b6000602082019050818103600083015261088c81846107fd565b905092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6108ea82610792565b810181811067ffffffffffffffff82111715610909576109086108b2565b5b80604052505050565b600061091c610894565b905061092882826108e1565b919050565b600067ffffffffffffffff821115610948576109476108b2565b5b61095182610792565b9050602081019050919050565b82818337600083830152505050565b600061098061097b8461092d565b610912565b90508281526020810184848401111561099c5761099b6108ad565b5b6109a784828561095e565b509392505050565b600082601f8301126109c4576109c36108a8565b5b81356109d484826020860161096d565b91505092915050565b6000602082840312156109f3576109f261089e565b5b600082013567ffffffffffffffff811115610a1157610a106108a3565b5b610a1d848285016109af565b91505092915050565b60008115159050919050565b610a3b81610a26565b82525050565b6000602082019050610a566000830184610a32565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b610a9181610a26565b82525050565b6000610aa38383610a88565b60208301905092915050565b6000602082019050919050565b6000610ac782610a5c565b610ad18185610a67565b9350610adc83610a78565b8060005b83811015610b0d578151610af48882610a97565b9750610aff83610aaf565b925050600181019050610ae0565b5085935050505092915050565b60006040820190508181036000830152610b3481856107fd565b90508181036020830152610b488184610abc565b90509392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610b9857607f821691505b602082108103610bab57610baa610b51565b5b50919050565b600081905092915050565b6000610bc78261074c565b610bd18185610bb1565b9350610be1818560208601610768565b80840191505092915050565b6000610bf98284610bbc565b915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008190508160005260206000209050919050565b60008154610c5581610b80565b610c5f8186610bb1565b94506001821660008114610c7a5760018114610c8f57610cc2565b60ff1983168652811515820286019350610cc2565b610c9885610c33565b60005b83811015610cba57815481890152600182019150602081019050610c9b565b838801955050505b50505092915050565b6000610cd78284610c48565b915081905092915050565b600082825260208201905092915050565b7f5461736b20646f6573206e6f7420657869737400000000000000000000000000600082015250565b6000610d29601383610ce2565b9150610d3482610cf3565b602082019050919050565b60006020820190508181036000830152610d5881610d1c565b9050919050565b6000610d6a8261074c565b610d748185610ce2565b9350610d84818560208601610768565b610d8d81610792565b840191505092915050565b60006020820190508181036000830152610db28184610d5f565b90509291505056fea264697066735822122072eb9bf484850730a02919009f0910350e76b5abf10275d97c8d9ab261aec18f64736f6c63430008180033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c80635ee66e881161005b5780635ee66e8814610100578063722fed7e1461013057806396740de31461014e578063d826f88f1461016d5761007d565b806304a87e38146100825780633251c049146100a0578063394c244b146100d0575b600080fd5b61008a610177565b6040516100979190610872565b60405180910390f35b6100ba60048036038101906100b591906109dd565b610250565b6040516100c79190610a41565b60405180910390f35b6100ea60048036038101906100e591906109dd565b6102f7565b6040516100f79190610a41565b60405180910390f35b61011a600480360381019061011591906109dd565b6103c0565b6040516101279190610a41565b60405180910390f35b61013861043f565b6040516101459190610a41565b60405180910390f35b6101566104c1565b604051610164929190610b1a565b60405180910390f35b610175610681565b005b60606001805480602002602001604051908101604052809291908181526020016000905b828210156102475783829060005260206000200180546101ba90610b80565b80601f01602080910402602001604051908101604052809291908181526020018280546101e690610b80565b80156102335780601f1061020857610100808354040283529160200191610233565b820191906000526020600020905b81548152906001019060200180831161021657829003601f168201915b50505050508152602001906001019061019b565b50505050905090565b600080600090505b6001805490508110156102ec57826040516020016102769190610bed565b60405160208183030381529060405280519060200120600182815481106102a05761029f610c04565b5b906000526020600020016040516020016102ba9190610ccb565b60405160208183030381529060405280519060200120036102df5760019150506102f2565b8080600101915050610258565b50600090505b919050565b60008161030381610250565b610342576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033990610d3f565b60405180910390fd5b60016000846040516103549190610bed565b908152602001604051809103902060006101000a81548160ff0219169083151502179055507f2ea2764b7d80d0107c1d2c0210ead4a6fdee0f86235483a041d9faffbf875880836040516103a89190610d98565b60405180910390a16103b861043f565b915050919050565b6000816103cc81610250565b61040b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161040290610d3f565b60405180910390fd5b60008360405161041b9190610bed565b908152602001604051809103902060009054906101000a900460ff16915050919050565b600080600090505b6001805490508110156104b85760006001828154811061046a57610469610c04565b5b906000526020600020016040516104819190610ccb565b908152602001604051809103902060009054906101000a900460ff166104ab5760009150506104be565b8080600101915050610447565b50600190505b90565b606080600060018054905067ffffffffffffffff8111156104e5576104e46108b2565b5b6040519080825280602002602001820160405280156105135781602001602082028036833780820191505090505b50905060005b6001805490508110156105a15760006001828154811061053c5761053b610c04565b5b906000526020600020016040516105539190610ccb565b908152602001604051809103902060009054906101000a900460ff1682828151811061058257610581610c04565b5b6020026020010190151590811515815250508080600101915050610519565b5060018181805480602002602001604051908101604052809291908181526020016000905b828210156106725783829060005260206000200180546105e590610b80565b80601f016020809104026020016040519081016040528092919081815260200182805461061190610b80565b801561065e5780601f106106335761010080835404028352916020019161065e565b820191906000526020600020905b81548152906001019060200180831161064157829003601f168201915b5050505050815260200190600101906105c6565b50505050915092509250509091565b60005b6001805490508110156106f157600080600183815481106106a8576106a7610c04565b5b906000526020600020016040516106bf9190610ccb565b908152602001604051809103902060006101000a81548160ff0219169083151502179055508080600101915050610684565b507f3ce3faa7c721ad3fdd768c232390587b2a5855c74a1a1c5601a62f5103d4584460405160405180910390a1565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561078657808201518184015260208101905061076b565b60008484015250505050565b6000601f19601f8301169050919050565b60006107ae8261074c565b6107b88185610757565b93506107c8818560208601610768565b6107d181610792565b840191505092915050565b60006107e883836107a3565b905092915050565b6000602082019050919050565b600061080882610720565b610812818561072b565b9350836020820285016108248561073c565b8060005b85811015610860578484038952815161084185826107dc565b945061084c836107f0565b925060208a01995050600181019050610828565b50829750879550505050505092915050565b6000602082019050818103600083015261088c81846107fd565b905092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6108ea82610792565b810181811067ffffffffffffffff82111715610909576109086108b2565b5b80604052505050565b600061091c610894565b905061092882826108e1565b919050565b600067ffffffffffffffff821115610948576109476108b2565b5b61095182610792565b9050602081019050919050565b82818337600083830152505050565b600061098061097b8461092d565b610912565b90508281526020810184848401111561099c5761099b6108ad565b5b6109a784828561095e565b509392505050565b600082601f8301126109c4576109c36108a8565b5b81356109d484826020860161096d565b91505092915050565b6000602082840312156109f3576109f261089e565b5b600082013567ffffffffffffffff811115610a1157610a106108a3565b5b610a1d848285016109af565b91505092915050565b60008115159050919050565b610a3b81610a26565b82525050565b6000602082019050610a566000830184610a32565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b610a9181610a26565b82525050565b6000610aa38383610a88565b60208301905092915050565b6000602082019050919050565b6000610ac782610a5c565b610ad18185610a67565b9350610adc83610a78565b8060005b83811015610b0d578151610af48882610a97565b9750610aff83610aaf565b925050600181019050610ae0565b5085935050505092915050565b60006040820190508181036000830152610b3481856107fd565b90508181036020830152610b488184610abc565b90509392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610b9857607f821691505b602082108103610bab57610baa610b51565b5b50919050565b600081905092915050565b6000610bc78261074c565b610bd18185610bb1565b9350610be1818560208601610768565b80840191505092915050565b6000610bf98284610bbc565b915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008190508160005260206000209050919050565b60008154610c5581610b80565b610c5f8186610bb1565b94506001821660008114610c7a5760018114610c8f57610cc2565b60ff1983168652811515820286019350610cc2565b610c9885610c33565b60005b83811015610cba57815481890152600182019150602081019050610c9b565b838801955050505b50505092915050565b6000610cd78284610c48565b915081905092915050565b600082825260208201905092915050565b7f5461736b20646f6573206e6f7420657869737400000000000000000000000000600082015250565b6000610d29601383610ce2565b9150610d3482610cf3565b602082019050919050565b60006020820190508181036000830152610d5881610d1c565b9050919050565b6000610d6a8261074c565b610d748185610ce2565b9350610d84818560208601610768565b610d8d81610792565b840191505092915050565b60006020820190508181036000830152610db28184610d5f565b90509291505056fea264697066735822122072eb9bf484850730a02919009f0910350e76b5abf10275d97c8d9ab261aec18f64736f6c63430008180033", + "linkReferences": {}, + "deployedLinkReferences": {} + } + \ No newline at end of file diff --git a/contracts/contractaddr.json b/contracts/contractaddr.json new file mode 100644 index 0000000..e640f3a --- /dev/null +++ b/contracts/contractaddr.json @@ -0,0 +1,4 @@ +{ + "DchainGameFactory": "" + } + \ No newline at end of file diff --git a/next.config.mjs b/next.config.mjs index d5456a1..84cb927 100644 --- a/next.config.mjs +++ b/next.config.mjs @@ -1,6 +1,9 @@ /** @type {import('next').NextConfig} */ const nextConfig = { reactStrictMode: true, + eslint: { + ignoreDuringBuilds: true, + }, }; export default nextConfig; diff --git a/pages/index.tsx b/pages/index.tsx index 7a36fc7..59a4707 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -20,8 +20,8 @@ import Swal from "sweetalert2"; import axios from "axios"; import Image from 'next/image'; import { ethers } from "ethers"; -import GameFactory from "../contracts/GameFactory.json"; -import ContractAddress from "../contracts/contract-address.json"; +import DchainGameFactory from "../contracts/DchainGameFactory.json"; +import ContractAddress from "../contracts/contractaddr.json"; import objJSON from "../components/gamedev/objectMaster.json"; import UploadModel from "../components/UploadModel"; @@ -87,7 +87,7 @@ function Scene() { const { objectMaster, currentObjectIdentifer, assetMaster } = state; // Load Object Master - const LoadObjectMaster = (file) => { + const LoadObjectMaster = (file : any) => { file.map((object) => { if (object.type === "object") { const AddAction = { @@ -193,7 +193,7 @@ function Scene() { }; // Function to handle file upload - const handleFileUpload = (event) => { + const handleFileUpload = (event : any) => { const file = event.target.files[0]; const reader = new FileReader(); @@ -238,8 +238,8 @@ function Scene() { }); const factoryContract_ = new ethers.Contract( - ContractAddress.GameFactory, - GameFactory.abi, + ContractAddress.DchainGameFactory, + DchainGameFactory.abi, signer ); setFactoryContract(factoryContract_); diff --git a/styles/globals.css b/styles/globals.css index 94c598d..c8b4780 100644 --- a/styles/globals.css +++ b/styles/globals.css @@ -109,9 +109,11 @@ button { cursor: pointer; transition: border-color 0.25s; } + button:hover { border-color: #646cff; } + button:focus, button:focus-visible { outline: 4px auto -webkit-focus-ring-color; @@ -134,6 +136,7 @@ a { color: #646cff; text-decoration: inherit; } + a:hover { color: #535bf2; }