UNPKG

@pvpbet/pvpbet

Version:

A decentralized PVP betting platform based on the Ethereum Virtual Machine (EVM).

350 lines (349 loc) 21.5 kB
{ "_format": "hh-sol-artifact-1", "contractName": "BetChipManager", "sourceName": "contracts/BetChipManager.sol", "abi": [ { "inputs": [ { "internalType": "address", "name": "target", "type": "address" } ], "name": "AddressEmptyCode", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "implementation", "type": "address" } ], "name": "ERC1967InvalidImplementation", "type": "error" }, { "inputs": [], "name": "ERC1967NonPayable", "type": "error" }, { "inputs": [], "name": "FailedInnerCall", "type": "error" }, { "inputs": [], "name": "InvalidInitialization", "type": "error" }, { "inputs": [], "name": "NotInitializing", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "OwnableInvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "OwnableUnauthorizedAccount", "type": "error" }, { "inputs": [], "name": "UUPSUnauthorizedCallContext", "type": "error" }, { "inputs": [ { "internalType": "bytes32", "name": "slot", "type": "bytes32" } ], "name": "UUPSUnsupportedProxiableUUID", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "chip", "type": "address" } ], "name": "BetChipCreated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "betChipFactory", "type": "address" } ], "name": "BetChipFactorySet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint64", "name": "version", "type": "uint64" } ], "name": "Initialized", "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" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "implementation", "type": "address" } ], "name": "Upgraded", "type": "event" }, { "inputs": [], "name": "UPGRADE_INTERFACE_VERSION", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "betChipFactory", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" } ], "name": "createBetChip", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "initialBetChipFactory", "type": "address" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "chip", "type": "address" } ], "name": "isBetChip", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "proxiableUUID", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newBetChipFactory", "type": "address" } ], "name": "setBetChipFactory", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newImplementation", "type": "address" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "upgradeToAndCall", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "version", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" } ], "bytecode": "0x60a06040523060805234801561001457600080fd5b50608051610e0161003e600039600081816106e70152818161071001526108560152610e016000f3fe6080604052600436106100dd5760003560e01c80638da5cb5b1161007f578063b62b808011610059578063b62b808014610284578063c4d66de8146102cd578063f2fde38b146102ed578063f794047a1461030d57600080fd5b80638da5cb5b146101f6578063ad3cb1cc14610233578063af6e59f41461026457600080fd5b806354fd4d50116100bb57806354fd4d5014610166578063715018a6146101945780638129fc1c146101a9578063880d5c87146101be57600080fd5b806306fdde03146100e25780634f1ef2861461012e57806352d1902d14610143575b600080fd5b3480156100ee57600080fd5b50604080518082019091526011815270282b282132ba21b434b826b0b730b3b2b960791b60208201525b6040516101259190610c1a565b60405180910390f35b61014161013c366004610c78565b61032b565b005b34801561014f57600080fd5b5061015861034a565b604051908152602001610125565b34801561017257600080fd5b506040805180820190915260058152640312e302e360dc1b6020820152610118565b3480156101a057600080fd5b50610141610367565b3480156101b557600080fd5b5061014161037b565b3480156101ca57600080fd5b506101de6101d9366004610d3c565b610492565b6040516001600160a01b039091168152602001610125565b34801561020257600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b03166101de565b34801561023f57600080fd5b50610118604051806040016040528060058152602001640352e302e360dc1b81525081565b34801561027057600080fd5b5061014161027f366004610d3c565b610570565b34801561029057600080fd5b506102bd61029f366004610d3c565b6001600160a01b031660009081526001602052604090205460ff1690565b6040519015158152602001610125565b3480156102d957600080fd5b506101416102e8366004610d3c565b610584565b3480156102f957600080fd5b50610141610308366004610d3c565b61069c565b34801561031957600080fd5b506000546001600160a01b03166101de565b6103336106dc565b61033c82610781565b6103468282610789565b5050565b600061035461084b565b50600080516020610dac83398151915290565b61036f610894565b61037960006108ef565b565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff166000811580156103c15750825b905060008267ffffffffffffffff1660011480156103de5750303b155b9050811580156103ec575080155b1561040a5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561043457845460ff60401b1916600160401b1785555b61043d33610960565b610445610971565b831561048b57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b600061049c610894565b6000805460405163880d5c8760e01b81526001600160a01b0385811660048301529091169063880d5c87906024016020604051808303816000875af11580156104e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050d9190610d59565b6040519091506001600160a01b038216907fa4df1b3dba7740a9c5accd2ac8c9b89f63ae6e686faaef4567df5c8d857a3feb90600090a26001600160a01b0381166000908152600160208190526040909120805460ff1916909117905592915050565b610578610894565b61058181610979565b50565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff166000811580156105ca5750825b905060008267ffffffffffffffff1660011480156105e75750303b155b9050811580156105f5575080155b156106135760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561063d57845460ff60401b1916600160401b1785555b61064561037b565b61064e86610979565b831561069457845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b6106a4610894565b6001600160a01b0381166106d357604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b610581816108ef565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061076357507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610757600080516020610dac833981519152546001600160a01b031690565b6001600160a01b031614155b156103795760405163703e46dd60e11b815260040160405180910390fd5b610581610894565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156107e3575060408051601f3d908101601f191682019092526107e091810190610d76565b60015b61080b57604051634c9c8ce360e01b81526001600160a01b03831660048201526024016106ca565b600080516020610dac833981519152811461083c57604051632a87526960e21b8152600481018290526024016106ca565b61084683836109cd565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103795760405163703e46dd60e11b815260040160405180910390fd5b336108c67f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b0316146103795760405163118cdaa760e01b81523360048201526024016106ca565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b610968610a23565b61058181610a6c565b610379610a23565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527fd700ab3941fbfff2115843fbfbb943b8680a792b45f573edcc1c04e3618a80479060200160405180910390a150565b6109d682610a74565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115610a1b576108468282610ad9565b610346610b4f565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff1661037957604051631afcd79f60e31b815260040160405180910390fd5b6106a4610a23565b806001600160a01b03163b600003610aaa57604051634c9c8ce360e01b81526001600160a01b03821660048201526024016106ca565b600080516020610dac83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051610af69190610d8f565b600060405180830381855af49150503d8060008114610b31576040519150601f19603f3d011682016040523d82523d6000602084013e610b36565b606091505b5091509150610b46858383610b6e565b95945050505050565b34156103795760405163b398979f60e01b815260040160405180910390fd5b606082610b8357610b7e82610bcd565b610bc6565b8151158015610b9a57506001600160a01b0384163b155b15610bc357604051639996b31560e01b81526001600160a01b03851660048201526024016106ca565b50805b9392505050565b805115610bdd5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60005b83811015610c11578181015183820152602001610bf9565b50506000910152565b6020815260008251806020840152610c39816040850160208701610bf6565b601f01601f19169190910160400192915050565b6001600160a01b038116811461058157600080fd5b634e487b7160e01b600052604160045260246000fd5b60008060408385031215610c8b57600080fd5b8235610c9681610c4d565b9150602083013567ffffffffffffffff80821115610cb357600080fd5b818501915085601f830112610cc757600080fd5b813581811115610cd957610cd9610c62565b604051601f8201601f19908116603f01168101908382118183101715610d0157610d01610c62565b81604052828152886020848701011115610d1a57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600060208284031215610d4e57600080fd5b8135610bc681610c4d565b600060208284031215610d6b57600080fd5b8151610bc681610c4d565b600060208284031215610d8857600080fd5b5051919050565b60008251610da1818460208701610bf6565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122014772fedb50300f5b5fc11701ad2701cb88c88ebe535bcb07af9ad6f23bfd63264736f6c63430008140033", "deployedBytecode": "0x6080604052600436106100dd5760003560e01c80638da5cb5b1161007f578063b62b808011610059578063b62b808014610284578063c4d66de8146102cd578063f2fde38b146102ed578063f794047a1461030d57600080fd5b80638da5cb5b146101f6578063ad3cb1cc14610233578063af6e59f41461026457600080fd5b806354fd4d50116100bb57806354fd4d5014610166578063715018a6146101945780638129fc1c146101a9578063880d5c87146101be57600080fd5b806306fdde03146100e25780634f1ef2861461012e57806352d1902d14610143575b600080fd5b3480156100ee57600080fd5b50604080518082019091526011815270282b282132ba21b434b826b0b730b3b2b960791b60208201525b6040516101259190610c1a565b60405180910390f35b61014161013c366004610c78565b61032b565b005b34801561014f57600080fd5b5061015861034a565b604051908152602001610125565b34801561017257600080fd5b506040805180820190915260058152640312e302e360dc1b6020820152610118565b3480156101a057600080fd5b50610141610367565b3480156101b557600080fd5b5061014161037b565b3480156101ca57600080fd5b506101de6101d9366004610d3c565b610492565b6040516001600160a01b039091168152602001610125565b34801561020257600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b03166101de565b34801561023f57600080fd5b50610118604051806040016040528060058152602001640352e302e360dc1b81525081565b34801561027057600080fd5b5061014161027f366004610d3c565b610570565b34801561029057600080fd5b506102bd61029f366004610d3c565b6001600160a01b031660009081526001602052604090205460ff1690565b6040519015158152602001610125565b3480156102d957600080fd5b506101416102e8366004610d3c565b610584565b3480156102f957600080fd5b50610141610308366004610d3c565b61069c565b34801561031957600080fd5b506000546001600160a01b03166101de565b6103336106dc565b61033c82610781565b6103468282610789565b5050565b600061035461084b565b50600080516020610dac83398151915290565b61036f610894565b61037960006108ef565b565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff166000811580156103c15750825b905060008267ffffffffffffffff1660011480156103de5750303b155b9050811580156103ec575080155b1561040a5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561043457845460ff60401b1916600160401b1785555b61043d33610960565b610445610971565b831561048b57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b600061049c610894565b6000805460405163880d5c8760e01b81526001600160a01b0385811660048301529091169063880d5c87906024016020604051808303816000875af11580156104e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050d9190610d59565b6040519091506001600160a01b038216907fa4df1b3dba7740a9c5accd2ac8c9b89f63ae6e686faaef4567df5c8d857a3feb90600090a26001600160a01b0381166000908152600160208190526040909120805460ff1916909117905592915050565b610578610894565b61058181610979565b50565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff166000811580156105ca5750825b905060008267ffffffffffffffff1660011480156105e75750303b155b9050811580156105f5575080155b156106135760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561063d57845460ff60401b1916600160401b1785555b61064561037b565b61064e86610979565b831561069457845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b6106a4610894565b6001600160a01b0381166106d357604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b610581816108ef565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061076357507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610757600080516020610dac833981519152546001600160a01b031690565b6001600160a01b031614155b156103795760405163703e46dd60e11b815260040160405180910390fd5b610581610894565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156107e3575060408051601f3d908101601f191682019092526107e091810190610d76565b60015b61080b57604051634c9c8ce360e01b81526001600160a01b03831660048201526024016106ca565b600080516020610dac833981519152811461083c57604051632a87526960e21b8152600481018290526024016106ca565b61084683836109cd565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103795760405163703e46dd60e11b815260040160405180910390fd5b336108c67f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b0316146103795760405163118cdaa760e01b81523360048201526024016106ca565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b610968610a23565b61058181610a6c565b610379610a23565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527fd700ab3941fbfff2115843fbfbb943b8680a792b45f573edcc1c04e3618a80479060200160405180910390a150565b6109d682610a74565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115610a1b576108468282610ad9565b610346610b4f565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff1661037957604051631afcd79f60e31b815260040160405180910390fd5b6106a4610a23565b806001600160a01b03163b600003610aaa57604051634c9c8ce360e01b81526001600160a01b03821660048201526024016106ca565b600080516020610dac83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051610af69190610d8f565b600060405180830381855af49150503d8060008114610b31576040519150601f19603f3d011682016040523d82523d6000602084013e610b36565b606091505b5091509150610b46858383610b6e565b95945050505050565b34156103795760405163b398979f60e01b815260040160405180910390fd5b606082610b8357610b7e82610bcd565b610bc6565b8151158015610b9a57506001600160a01b0384163b155b15610bc357604051639996b31560e01b81526001600160a01b03851660048201526024016106ca565b50805b9392505050565b805115610bdd5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60005b83811015610c11578181015183820152602001610bf9565b50506000910152565b6020815260008251806020840152610c39816040850160208701610bf6565b601f01601f19169190910160400192915050565b6001600160a01b038116811461058157600080fd5b634e487b7160e01b600052604160045260246000fd5b60008060408385031215610c8b57600080fd5b8235610c9681610c4d565b9150602083013567ffffffffffffffff80821115610cb357600080fd5b818501915085601f830112610cc757600080fd5b813581811115610cd957610cd9610c62565b604051601f8201601f19908116603f01168101908382118183101715610d0157610d01610c62565b81604052828152886020848701011115610d1a57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600060208284031215610d4e57600080fd5b8135610bc681610c4d565b600060208284031215610d6b57600080fd5b8151610bc681610c4d565b600060208284031215610d8857600080fd5b5051919050565b60008251610da1818460208701610bf6565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122014772fedb50300f5b5fc11701ad2701cb88c88ebe535bcb07af9ad6f23bfd63264736f6c63430008140033", "linkReferences": {}, "deployedLinkReferences": {} }