ufomarketplace-sdk-new
Version:
SDK to interact with set ufo marketplace contracts
894 lines (886 loc) • 38.1 kB
text/typescript
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
import type { Provider, TransactionRequest } from "@ethersproject/providers";
import type { Weapon, WeaponInterface } from "../Weapon";
const _abi = [
{
type: "constructor",
inputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "admin",
inputs: [],
outputs: [
{
name: "",
type: "address",
internalType: "address",
},
],
stateMutability: "view",
},
{
type: "function",
name: "approve",
inputs: [
{
name: "to",
type: "address",
internalType: "address",
},
{
name: "tokenId",
type: "uint256",
internalType: "uint256",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "balanceOf",
inputs: [
{
name: "owner",
type: "address",
internalType: "address",
},
],
outputs: [
{
name: "",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "view",
},
{
type: "function",
name: "factory",
inputs: [],
outputs: [
{
name: "",
type: "address",
internalType: "address",
},
],
stateMutability: "view",
},
{
type: "function",
name: "getApproved",
inputs: [
{
name: "tokenId",
type: "uint256",
internalType: "uint256",
},
],
outputs: [
{
name: "",
type: "address",
internalType: "address",
},
],
stateMutability: "view",
},
{
type: "function",
name: "getWeaponInfo",
inputs: [
{
name: "weaponId",
type: "uint256",
internalType: "uint256",
},
],
outputs: [
{
name: "level",
type: "uint256",
internalType: "uint256",
},
{
name: "rarity",
type: "uint256",
internalType: "uint256",
},
{
name: "weaponType",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "view",
},
{
type: "function",
name: "initialize",
inputs: [
{
name: "_admin",
type: "address",
internalType: "address",
},
{
name: "_factory",
type: "address",
internalType: "address",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "isApprovedForAll",
inputs: [
{
name: "owner",
type: "address",
internalType: "address",
},
{
name: "operator",
type: "address",
internalType: "address",
},
],
outputs: [
{
name: "",
type: "bool",
internalType: "bool",
},
],
stateMutability: "view",
},
{
type: "function",
name: "name",
inputs: [],
outputs: [
{
name: "",
type: "string",
internalType: "string",
},
],
stateMutability: "view",
},
{
type: "function",
name: "onERC721Received",
inputs: [
{
name: "",
type: "address",
internalType: "address",
},
{
name: "",
type: "address",
internalType: "address",
},
{
name: "",
type: "uint256",
internalType: "uint256",
},
{
name: "",
type: "bytes",
internalType: "bytes",
},
],
outputs: [
{
name: "",
type: "bytes4",
internalType: "bytes4",
},
],
stateMutability: "nonpayable",
},
{
type: "function",
name: "openLootBox",
inputs: [
{
name: "_owner",
type: "address",
internalType: "address",
},
{
name: "_rarity",
type: "uint256",
internalType: "uint256",
},
{
name: "_weaponType",
type: "uint256",
internalType: "uint256",
},
{
name: "_tokenId",
type: "uint256",
internalType: "uint256",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "owner",
inputs: [],
outputs: [
{
name: "",
type: "address",
internalType: "address",
},
],
stateMutability: "view",
},
{
type: "function",
name: "ownerOf",
inputs: [
{
name: "tokenId",
type: "uint256",
internalType: "uint256",
},
],
outputs: [
{
name: "",
type: "address",
internalType: "address",
},
],
stateMutability: "view",
},
{
type: "function",
name: "purchaseLootBox",
inputs: [
{
name: "_quantity",
type: "uint256",
internalType: "uint256",
},
{
name: "_user",
type: "address",
internalType: "address",
},
{
name: "_totalPrice",
type: "uint256",
internalType: "uint256",
},
{
name: "_tokenType",
type: "uint256",
internalType: "uint256",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "purchaseLootBoxAndSendGift",
inputs: [
{
name: "_quantity",
type: "uint256",
internalType: "uint256",
},
{
name: "_sender",
type: "address",
internalType: "address",
},
{
name: "_receiver",
type: "address",
internalType: "address",
},
{
name: "_totalPrice",
type: "uint256",
internalType: "uint256",
},
{
name: "_tokenType",
type: "uint256",
internalType: "uint256",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "renounceOwnership",
inputs: [],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "safeTransferFrom",
inputs: [
{
name: "from",
type: "address",
internalType: "address",
},
{
name: "to",
type: "address",
internalType: "address",
},
{
name: "tokenId",
type: "uint256",
internalType: "uint256",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "safeTransferFrom",
inputs: [
{
name: "from",
type: "address",
internalType: "address",
},
{
name: "to",
type: "address",
internalType: "address",
},
{
name: "tokenId",
type: "uint256",
internalType: "uint256",
},
{
name: "data",
type: "bytes",
internalType: "bytes",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "setApprovalForAll",
inputs: [
{
name: "operator",
type: "address",
internalType: "address",
},
{
name: "approved",
type: "bool",
internalType: "bool",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "supportsInterface",
inputs: [
{
name: "interfaceId",
type: "bytes4",
internalType: "bytes4",
},
],
outputs: [
{
name: "",
type: "bool",
internalType: "bool",
},
],
stateMutability: "view",
},
{
type: "function",
name: "symbol",
inputs: [],
outputs: [
{
name: "",
type: "string",
internalType: "string",
},
],
stateMutability: "view",
},
{
type: "function",
name: "tokenByIndex",
inputs: [
{
name: "index",
type: "uint256",
internalType: "uint256",
},
],
outputs: [
{
name: "",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "view",
},
{
type: "function",
name: "tokenOfOwnerByIndex",
inputs: [
{
name: "owner",
type: "address",
internalType: "address",
},
{
name: "index",
type: "uint256",
internalType: "uint256",
},
],
outputs: [
{
name: "",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "view",
},
{
type: "function",
name: "tokenURI",
inputs: [
{
name: "tokenId",
type: "uint256",
internalType: "uint256",
},
],
outputs: [
{
name: "",
type: "string",
internalType: "string",
},
],
stateMutability: "view",
},
{
type: "function",
name: "totalSupply",
inputs: [],
outputs: [
{
name: "",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "view",
},
{
type: "function",
name: "transferFrom",
inputs: [
{
name: "from",
type: "address",
internalType: "address",
},
{
name: "to",
type: "address",
internalType: "address",
},
{
name: "tokenId",
type: "uint256",
internalType: "uint256",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "transferOwnership",
inputs: [
{
name: "newOwner",
type: "address",
internalType: "address",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "updateWeaponLevel",
inputs: [
{
name: "weaponId",
type: "uint256",
internalType: "uint256",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "weaponInfos",
inputs: [
{
name: "",
type: "uint256",
internalType: "uint256",
},
],
outputs: [
{
name: "level",
type: "uint256",
internalType: "uint256",
},
{
name: "rarity",
type: "uint8",
internalType: "enum IBaseType.Rarity",
},
{
name: "weaponType",
type: "uint8",
internalType: "enum IBaseType.WeaponType",
},
{
name: "isOpened",
type: "bool",
internalType: "bool",
},
{
name: "user",
type: "address",
internalType: "address",
},
],
stateMutability: "view",
},
{
type: "event",
name: "Approval",
inputs: [
{
name: "owner",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "approved",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "tokenId",
type: "uint256",
indexed: true,
internalType: "uint256",
},
],
anonymous: false,
},
{
type: "event",
name: "ApprovalForAll",
inputs: [
{
name: "owner",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "operator",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "approved",
type: "bool",
indexed: false,
internalType: "bool",
},
],
anonymous: false,
},
{
type: "event",
name: "Initialized",
inputs: [
{
name: "version",
type: "uint8",
indexed: false,
internalType: "uint8",
},
],
anonymous: false,
},
{
type: "event",
name: "OwnershipTransferred",
inputs: [
{
name: "previousOwner",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "newOwner",
type: "address",
indexed: true,
internalType: "address",
},
],
anonymous: false,
},
{
type: "event",
name: "Transfer",
inputs: [
{
name: "from",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "to",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "tokenId",
type: "uint256",
indexed: true,
internalType: "uint256",
},
],
anonymous: false,
},
{
type: "event",
name: "openLootBoxEvent",
inputs: [
{
name: "weaponId",
type: "uint256",
indexed: false,
internalType: "uint256",
},
{
name: "owner",
type: "address",
indexed: false,
internalType: "address",
},
{
name: "rarity",
type: "uint256",
indexed: false,
internalType: "uint256",
},
{
name: "level",
type: "uint256",
indexed: false,
internalType: "uint256",
},
{
name: "weaponType",
type: "uint256",
indexed: false,
internalType: "uint256",
},
],
anonymous: false,
},
{
type: "event",
name: "purchaseAndSendGiftEvent",
inputs: [
{
name: "tokenIds",
type: "uint256[]",
indexed: false,
internalType: "uint256[]",
},
{
name: "giftSender",
type: "address",
indexed: false,
internalType: "address",
},
{
name: "giftReceiver",
type: "address",
indexed: false,
internalType: "address",
},
{
name: "totalPrice",
type: "uint256",
indexed: false,
internalType: "uint256",
},
{
name: "tokenType",
type: "uint256",
indexed: false,
internalType: "uint256",
},
],
anonymous: false,
},
{
type: "event",
name: "purchaseLootEvent",
inputs: [
{
name: "tokenIds",
type: "uint256[]",
indexed: false,
internalType: "uint256[]",
},
{
name: "owner",
type: "address",
indexed: false,
internalType: "address",
},
{
name: "totalPrice",
type: "uint256",
indexed: false,
internalType: "uint256",
},
{
name: "tokenType",
type: "uint256",
indexed: false,
internalType: "uint256",
},
],
anonymous: false,
},
{
type: "event",
name: "updateWeaponEvent",
inputs: [
{
name: "weaponId",
type: "uint256",
indexed: false,
internalType: "uint256",
},
{
name: "level",
type: "uint256",
indexed: false,
internalType: "uint256",
},
{
name: "rarity",
type: "uint256",
indexed: false,
internalType: "uint256",
},
],
anonymous: false,
},
{
type: "error",
name: "AddressNotNull",
inputs: [],
},
] as const;
const _bytecode =
"0x60806040523480156200001157600080fd5b506200001c62000022565b620000e3565b600054610100900460ff16156200008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000e1576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6126c780620000f36000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80634f6ccce711610104578063a22cb465116100a2578063e5aec34d11610071578063e5aec34d146103fc578063e985e9c51461045b578063f2fde38b14610497578063f851a440146104aa57600080fd5b8063a22cb465146103af578063b88d4fde146103c2578063c45a0155146103d5578063c87b56dd146103e957600080fd5b806370a08231116100de57806370a082311461037b578063715018a61461038e5780638da5cb5b1461039657806395d89b41146103a757600080fd5b80634f6ccce7146103425780635bfc5a6f146103555780636352211e1461036857600080fd5b806323b872dd116101715780632f745c591161014b5780632f745c59146102f657806332d46d5f1461030957806342842e0e1461031c578063485cc9551461032f57600080fd5b806323b872dd146102bd578063241f9ff4146102d05780632a29735b146102e357600080fd5b8063095ea7b3116101ad578063095ea7b31461023c5780630aef8d1c14610251578063150b7a021461027f57806318160ddd146102ab57600080fd5b806301ffc9a7146101d457806306fdde03146101fc578063081812fc14610211575b600080fd5b6101e76101e23660046121e5565b6104be565b60405190151581526020015b60405180910390f35b6102046104e9565b6040516101f3919061240c565b61022461021f36600461221f565b61057b565b6040516001600160a01b0390911681526020016101f3565b61024f61024a366004612182565b6105a2565b005b61026461025f36600461221f565b6106bd565b604080519384526020840192909252908201526060016101f3565b61029261028d36600461206a565b6107c2565b6040516001600160e01b031990911681526020016101f3565b60cb545b6040519081526020016101f3565b61024f6102cb36600461202e565b6107d3565b61024f6102de366004612238565b610804565b61024f6102f136600461221f565b61089f565b6102af610304366004612182565b6109ae565b61024f610317366004612286565b610a44565b61024f61032a36600461202e565b610adc565b61024f61033d366004611ffb565b610af7565b6102af61035036600461221f565b610ccc565b61024f6103633660046121ac565b610d5f565b61022461037636600461221f565b610f2d565b6102af610389366004611fe0565b610f8d565b61024f611013565b6033546001600160a01b0316610224565b610204611027565b61024f6103bd366004612146565b611036565b61024f6103d036600461206a565b611045565b61016054610224906001600160a01b031681565b6102046103f736600461221f565b61107d565b61044a61040a36600461221f565b610161602052600090815260409020805460019091015460ff8082169161010081048216916201000082041690630100000090046001600160a01b031685565b6040516101f395949392919061254e565b6101e7610469366004611ffb565b6001600160a01b039182166000908152609c6020908152604080832093909416825291909152205460ff1690565b61024f6104a5366004611fe0565b6110f1565b61015f54610224906001600160a01b031681565b60006001600160e01b0319821663780e9d6360e01b14806104e357506104e38261116a565b92915050565b6060609780546104f8906125fb565b80601f0160208091040260200160405190810160405280929190818152602001828054610524906125fb565b80156105715780601f1061054657610100808354040283529160200191610571565b820191906000526020600020905b81548152906001019060200180831161055457829003601f168201915b5050505050905090565b6000610586826111ba565b506000908152609b60205260409020546001600160a01b031690565b60006105ad82610f2d565b9050806001600160a01b0316836001600160a01b031614156106205760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061063c575061063c8133610469565b6106ae5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610617565b6106b88383611219565b505050565b600081815261016160209081526040808320815160a081019092528054825260018101548493849384939092909183019060ff1660038111156107025761070261264c565b60038111156107135761071361264c565b81526020016001820160019054906101000a900460ff16600181111561073b5761073b61264c565b600181111561074c5761074c61264c565b81526001919091015462010000810460ff16151560208084019190915263010000009091046001600160a01b031660409092019190915281519082015191925090600381111561079e5761079e61264c565b826040015160018111156107b4576107b461264c565b935093509350509193909250565b630a85bd0160e11b5b949350505050565b6107dd3382611287565b6107f95760405162461bcd60e51b81526004016106179061241f565b6106b8838383611305565b610160546040805180820190915260018152601b60f91b6020820152906001600160a01b031633146108495760405162461bcd60e51b8152600401610617919061240c565b5060006108568685611476565b90507fcd4eba97245f119d27ee52c43b533e5835c6d96e7fecdc43472fa92a002d6d37818686868660405161088f959493929190612394565b60405180910390a1505050505050565b610160546040805180820190915260018152601b60f91b6020820152906001600160a01b031633146108e45760405162461bcd60e51b8152600401610617919061240c565b5060008181526101616020908152604091829020600181015483518085019094526002845261333360f01b92840192909252919062010000900460ff1661093e5760405162461bcd60e51b8152600401610617919061240c565b50805461094c9060016125a0565b80825560018201547f09f77eee06a942030eea5c1d050f3de36421909551b58db04b592be0cd34caf891849160ff16600381111561098c5761098c61264c565b6040805193845260208401929092529082015260600160405180910390a15050565b60006109b983610f8d565b8210610a1b5760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b6064820152608401610617565b506001600160a01b0391909116600090815260c960209081526040808320938352929052205490565b610160546040805180820190915260018152601b60f91b6020820152906001600160a01b03163314610a895760405162461bcd60e51b8152600401610617919061240c565b506000610a968585611476565b90507f1cafaafbdee6f39308c5747d112778c00e78e458d6a31ef264b18e8bbdba402581858585604051610acd94939291906123d4565b60405180910390a15050505050565b6106b883838360405180602001604052806000815250611045565b600054610100900460ff1615808015610b175750600054600160ff909116105b80610b315750303b158015610b31575060005460ff166001145b610b945760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610617565b6000805460ff191660011790558015610bb7576000805461ff0019166101001790555b6001600160a01b0383161580610bd457506001600160a01b038216155b15610bf25760405163f8b7150760e01b815260040160405180910390fd5b610c376040518060400160405280600881526020016729a3abb2b0b837b760c11b8152506040518060400160405280600381526020016253475760e81b815250611557565b610c3f611588565b610c476115af565b610c50836110f1565b61015f80546001600160a01b038086166001600160a01b03199283161790925561016080549285169290911691909117905580156106b8576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b6000610cd760cb5490565b8210610d3a5760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b6064820152608401610617565b60cb8281548110610d4d57610d4d612678565b90600052602060002001549050919050565b610160546040805180820190915260018152601b60f91b6020820152906001600160a01b03163314610da45760405162461bcd60e51b8152600401610617919061240c565b50600081815261016160209081526040918290206001015482518084019093526002835261191b60f11b918301919091526001600160a01b0386811663010000009092041614610e075760405162461bcd60e51b8152600401610617919061240c565b5060008181526101616020526040812055826003811115610e2a57610e2a61264c565b60008281526101616020526040902060019081018054909160ff1990911690836003811115610e5b57610e5b61264c565b0217905550816001811115610e7257610e7261264c565b60008281526101616020526040902060019081018054909161ff001990911690610100908490811115610ea757610ea761264c565b0217905550600081815261016160209081526040808320600101805462ff000019166201000017905580518481526001600160a01b0388169281019290925281018590526060810191909152608081018390527f1ec54e4e9c2397e740e448c116036a91242036838358c0c27d407b033a228bd79060a00160405180910390a150505050565b6000818152609960205260408120546001600160a01b0316806104e35760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610617565b60006001600160a01b038216610ff75760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610617565b506001600160a01b03166000908152609a602052604090205490565b61101b6115de565b6110256000611638565b565b6060609880546104f8906125fb565b61104133838361168a565b5050565b61104f3383611287565b61106b5760405162461bcd60e51b81526004016106179061241f565b61107784848484611759565b50505050565b6060611088826111ba565b600061109f60408051602081019091526000815290565b905060008151116110bf57604051806020016040528060008152506110ea565b806110c98461178c565b6040516020016110da929190612328565b6040516020818303038152906040525b9392505050565b6110f96115de565b6001600160a01b03811661115e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610617565b61116781611638565b50565b60006001600160e01b031982166380ac58cd60e01b148061119b57506001600160e01b03198216635b5e139f60e01b145b806104e357506301ffc9a760e01b6001600160e01b03198316146104e3565b6000818152609960205260409020546001600160a01b03166111675760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610617565b6000818152609b6020526040902080546001600160a01b0319166001600160a01b038416908117909155819061124e82610f2d565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061129383610f2d565b9050806001600160a01b0316846001600160a01b031614806112da57506001600160a01b038082166000908152609c602090815260408083209388168352929052205460ff165b806107cb5750836001600160a01b03166112f38461057b565b6001600160a01b031614949350505050565b826001600160a01b031661131882610f2d565b6001600160a01b03161461133e5760405162461bcd60e51b8152600401610617906124be565b6001600160a01b0382166113a05760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610617565b6113ad8383836001611821565b826001600160a01b03166113c082610f2d565b6001600160a01b0316146113e65760405162461bcd60e51b8152600401610617906124be565b6000818152609b6020908152604080832080546001600160a01b03199081169091556001600160a01b03878116808652609a8552838620805460001901905590871680865283862080546001019055868652609990945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b606060008367ffffffffffffffff8111156114935761149361268e565b6040519080825280602002602001820160405280156114bc578160200160208202803683370190505b50905060005b8481101561154f5760006114d560cb5490565b6114e09060016125a0565b90506114ec8582611955565b600081815261016160205260409020600101805462010000600160b81b03191663010000006001600160a01b0388160262ff000019161790558251819084908490811061153b5761153b612678565b6020908102919091010152506001016114c2565b509392505050565b600054610100900460ff1661157e5760405162461bcd60e51b815260040161061790612503565b611041828261196f565b600054610100900460ff166110255760405162461bcd60e51b815260040161061790612503565b600054610100900460ff166115d65760405162461bcd60e51b815260040161061790612503565b6110256119bd565b6033546001600160a01b031633146110255760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610617565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b031614156116ec5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610617565b6001600160a01b038381166000818152609c6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611764848484611305565b611770848484846119ed565b6110775760405162461bcd60e51b81526004016106179061246c565b6060600061179983611af7565b600101905060008167ffffffffffffffff8111156117b9576117b961268e565b6040519080825280601f01601f1916602001820160405280156117e3576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461181c5761154f565b6117ed565b60018111156118905760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e7365637574697665207472604482015274185b9cd9995c9cc81b9bdd081cdd5c1c1bdc9d1959605a1b6064820152608401610617565b816001600160a01b0385166118ec576118e78160cb8054600083815260cc60205260408120829055600182018355919091527fa7ce836d032b2bf62b7e2097a8e0a6d8aeb35405ad15271e96d3b0188a1d06fb0155565b61190f565b836001600160a01b0316856001600160a01b03161461190f5761190f8582611bcf565b6001600160a01b03841661192b5761192681611c6c565b61194e565b846001600160a01b0316846001600160a01b03161461194e5761194e8482611d1b565b5050505050565b611041828260405180602001604052806000815250611d5f565b600054610100900460ff166119965760405162461bcd60e51b815260040161061790612503565b81516119a9906097906020850190611f2b565b5080516106b8906098906020840190611f2b565b600054610100900460ff166119e45760405162461bcd60e51b815260040161061790612503565b61102533611638565b60006001600160a01b0384163b15611aef57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611a31903390899088908890600401612357565b602060405180830381600087803b158015611a4b57600080fd5b505af1925050508015611a7b575060408051601f3d908101601f19168201909252611a7891810190612202565b60015b611ad5573d808015611aa9576040519150601f19603f3d011682016040523d82523d6000602084013e611aae565b606091505b508051611acd5760405162461bcd60e51b81526004016106179061246c565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506107cb565b5060016107cb565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310611b365772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611b62576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611b8057662386f26fc10000830492506010015b6305f5e1008310611b98576305f5e100830492506008015b6127108310611bac57612710830492506004015b60648310611bbe576064830492506002015b600a83106104e35760010192915050565b60006001611bdc84610f8d565b611be691906125b8565b600083815260ca6020526040902054909150808214611c39576001600160a01b038416600090815260c960209081526040808320858452825280832054848452818420819055835260ca90915290208190555b50600091825260ca602090815260408084208490556001600160a01b03909416835260c981528383209183525290812055565b60cb54600090611c7e906001906125b8565b600083815260cc602052604081205460cb8054939450909284908110611ca657611ca6612678565b906000526020600020015490508060cb8381548110611cc757611cc7612678565b600091825260208083209091019290925582815260cc909152604080822084905585825281205560cb805480611cff57611cff612662565b6001900381819060005260206000200160009055905550505050565b6000611d2683610f8d565b6001600160a01b03909316600090815260c960209081526040808320868452825280832085905593825260ca9052919091209190915550565b611d698383611d92565b611d7660008484846119ed565b6106b85760405162461bcd60e51b81526004016106179061246c565b6001600160a01b038216611de85760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610617565b6000818152609960205260409020546001600160a01b031615611e4d5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610617565b611e5b600083836001611821565b6000818152609960205260409020546001600160a01b031615611ec05760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610617565b6001600160a01b0382166000818152609a6020908152604080832080546001019055848352609990915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b828054611f37906125fb565b90600052602060002090601f016020900481019282611f595760008555611f9f565b82601f10611f7257805160ff1916838001178555611f9f565b82800160010185558215611f9f579182015b82811115611f9f578251825591602001919060010190611f84565b50611fab929150611faf565b5090565b5b80821115611fab5760008155600101611fb0565b80356001600160a01b0381168114611fdb57600080fd5b919050565b600060208284031215611ff257600080fd5b6110ea82611fc4565b6000806040838503121561200e57600080fd5b61201783611fc4565b915061202560208401611fc4565b90509250929050565b60008060006060848603121561204357600080fd5b61204c84611fc4565b925061205a60208501611fc4565b9150604084013590509250925092565b6000806000806080858703121561208057600080fd5b61208985611fc4565b935061209760208601611fc4565b925060408501359150606085013567ffffffffffffffff808211156120bb57600080fd5b818701915087601f8301126120cf57600080fd5b8135818111156120e1576120e161268e565b604051601f8201601f19908116603f011681019083821181831017156121095761210961268e565b816040528281528a602084870101111561212257600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6000806040838503121561215957600080fd5b61216283611fc4565b91506020830135801515811461217757600080fd5b809150509250929050565b6000806040838503121561219557600080fd5b61219e83611fc4565b946020939093013593505050565b600080600080608085870312156121c257600080fd5b6121cb85611fc4565b966020860135965060408601359560600135945092505050565b6000602082840312156121f757600080fd5b81356110ea816126a4565b60006020828403121561221457600080fd5b81516110ea816126a4565b60006020828403121561223157600080fd5b5035919050565b600080600080600060a0868803121561225057600080fd5b8535945061226060208701611fc4565b935061226e60408701611fc4565b94979396509394606081013594506080013592915050565b6000806000806080858703121561229c57600080fd5b843593506122ac60208601611fc4565b93969395505050506040820135916060013590565b600081518084526020808501945080840160005b838110156122f1578151875295820195908201906001016122d5565b509495945050505050565b600081518084526123148160208601602086016125cf565b601f01601f19169290920160200192915050565b6000835161233a8184602088016125cf565b83519083019061234e8183602088016125cf565b01949350505050565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061238a908301846122fc565b9695505050505050565b60a0815260006123a760a08301886122c1565b6001600160a01b039687166020840152949095166040820152606081019290925260809091015292915050565b6080815260006123e760808301876122c1565b6001600160a01b03959095166020830152506040810192909252606090910152919050565b6020815260006110ea60208301846122fc565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b85815260a08101600486106125655761256561264c565b8560208301526002851061257b5761257b61264c565b604082019490945291151560608301526001600160a01b031660809091015292915050565b600082198211156125b3576125b3612636565b500190565b6000828210156125ca576125ca612636565b500390565b60005b838110156125ea5781810151838201526020016125d2565b838111156110775750506000910152565b600181811c9082168061260f57607f821691505b6020821081141561263057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b03198116811461116757600080fdfea164736f6c6343000807000a";
type WeaponConstructorParams =
| [signer?: Signer]
| ConstructorParameters<typeof ContractFactory>;
const isSuperArgs = (
xs: WeaponConstructorParams
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
export class Weapon__factory extends ContractFactory {
constructor(...args: WeaponConstructorParams) {
if (isSuperArgs(args)) {
super(...args);
} else {
super(_abi, _bytecode, args[0]);
}
}
override deploy(overrides?: Overrides & { from?: string }): Promise<Weapon> {
return super.deploy(overrides || {}) as Promise<Weapon>;
}
override getDeployTransaction(
overrides?: Overrides & { from?: string }
): TransactionRequest {
return super.getDeployTransaction(overrides || {});
}
override attach(address: string): Weapon {
return super.attach(address) as Weapon;
}
override connect(signer: Signer): Weapon__factory {
return super.connect(signer) as Weapon__factory;
}
static readonly bytecode = _bytecode;
static readonly abi = _abi;
static createInterface(): WeaponInterface {
return new utils.Interface(_abi) as WeaponInterface;
}
static connect(address: string, signerOrProvider: Signer | Provider): Weapon {
return new Contract(address, _abi, signerOrProvider) as Weapon;
}
}