ufomarketplace-sdk-new
Version:
SDK to interact with set ufo marketplace contracts
1,667 lines (1,665 loc) • 77.8 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 {
SuperGalaticFactory,
SuperGalaticFactoryInterface,
} from "../SuperGalaticFactory";
const _abi = [
{
type: "constructor",
inputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "DEFAULT_ADMIN_ROLE",
inputs: [],
outputs: [
{
name: "",
type: "bytes32",
internalType: "bytes32",
},
],
stateMutability: "view",
},
{
type: "function",
name: "PRICE_UPDATE_ROLE",
inputs: [],
outputs: [
{
name: "",
type: "bytes32",
internalType: "bytes32",
},
],
stateMutability: "view",
},
{
type: "function",
name: "addUpdatePriceRole",
inputs: [
{
name: "addr",
type: "address",
internalType: "address",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "alreadyPurchasedLootBoxCount",
inputs: [],
outputs: [
{
name: "",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "view",
},
{
type: "function",
name: "alreadyUsedSignature",
inputs: [
{
name: "",
type: "bytes",
internalType: "bytes",
},
],
outputs: [
{
name: "",
type: "bool",
internalType: "bool",
},
],
stateMutability: "view",
},
{
type: "function",
name: "backendSigner",
inputs: [],
outputs: [
{
name: "",
type: "address",
internalType: "address",
},
],
stateMutability: "view",
},
{
type: "function",
name: "beamAmountPerNft",
inputs: [],
outputs: [
{
name: "",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "view",
},
{
type: "function",
name: "blockNumberWaitingForRandom",
inputs: [
{
name: "",
type: "address",
internalType: "address",
},
],
outputs: [
{
name: "",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "view",
},
{
type: "function",
name: "burnWallet",
inputs: [],
outputs: [
{
name: "",
type: "address",
internalType: "address",
},
],
stateMutability: "view",
},
{
type: "function",
name: "concatSignature",
inputs: [
{
name: "v",
type: "uint8",
internalType: "uint8",
},
{
name: "r",
type: "bytes32",
internalType: "bytes32",
},
{
name: "s",
type: "bytes32",
internalType: "bytes32",
},
],
outputs: [
{
name: "",
type: "bytes",
internalType: "bytes",
},
],
stateMutability: "pure",
},
{
type: "function",
name: "factoryHelper",
inputs: [],
outputs: [
{
name: "",
type: "address",
internalType: "address",
},
],
stateMutability: "view",
},
{
type: "function",
name: "getRoleAdmin",
inputs: [
{
name: "role",
type: "bytes32",
internalType: "bytes32",
},
],
outputs: [
{
name: "",
type: "bytes32",
internalType: "bytes32",
},
],
stateMutability: "view",
},
{
type: "function",
name: "getWeaponUsdtPrice",
inputs: [],
outputs: [
{
name: "",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "view",
},
{
type: "function",
name: "grantRole",
inputs: [
{
name: "role",
type: "bytes32",
internalType: "bytes32",
},
{
name: "account",
type: "address",
internalType: "address",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "hasRole",
inputs: [
{
name: "role",
type: "bytes32",
internalType: "bytes32",
},
{
name: "account",
type: "address",
internalType: "address",
},
],
outputs: [
{
name: "",
type: "bool",
internalType: "bool",
},
],
stateMutability: "view",
},
{
type: "function",
name: "initialize",
inputs: [
{
name: "_admin",
type: "address",
internalType: "address",
},
{
name: "_beacon",
type: "address",
internalType: "address",
},
{
name: "_plasmaAddr",
type: "address",
internalType: "address",
},
{
name: "_plasmaAmountPerNFT",
type: "uint256",
internalType: "uint256",
},
{
name: "_weaponPrice",
type: "uint256",
internalType: "uint256",
},
{
name: "_uap",
type: "address",
internalType: "address",
},
{
name: "_factoryHelper",
type: "address",
internalType: "address",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "isSuperGalaticNFTContract",
inputs: [
{
name: "_nftAddress",
type: "address",
internalType: "address",
},
],
outputs: [
{
name: "",
type: "bool",
internalType: "bool",
},
],
stateMutability: "view",
},
{
type: "function",
name: "isSuperGalatics",
inputs: [
{
name: "",
type: "address",
internalType: "address",
},
],
outputs: [
{
name: "",
type: "bool",
internalType: "bool",
},
],
stateMutability: "view",
},
{
type: "function",
name: "marketplaceContract",
inputs: [],
outputs: [
{
name: "",
type: "address",
internalType: "address",
},
],
stateMutability: "view",
},
{
type: "function",
name: "merkleRoot",
inputs: [],
outputs: [
{
name: "",
type: "bytes32",
internalType: "bytes32",
},
],
stateMutability: "view",
},
{
type: "function",
name: "mintBatchSuperGalatic",
inputs: [
{
name: "categoryIds",
type: "uint256[]",
internalType: "uint256[]",
},
{
name: "amounts",
type: "uint256[]",
internalType: "uint256[]",
},
{
name: "_merkleProof",
type: "bytes32[]",
internalType: "bytes32[]",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "mintWithBeam",
inputs: [
{
name: "categoryIds",
type: "uint256[]",
internalType: "uint256[]",
},
{
name: "amounts",
type: "uint256[]",
internalType: "uint256[]",
},
{
name: "_merkleProof",
type: "bytes32[]",
internalType: "bytes32[]",
},
],
outputs: [],
stateMutability: "payable",
},
{
type: "function",
name: "mintWithUSDT",
inputs: [
{
name: "categoryIds",
type: "uint256[]",
internalType: "uint256[]",
},
{
name: "amounts",
type: "uint256[]",
internalType: "uint256[]",
},
{
name: "_merkleProof",
type: "bytes32[]",
internalType: "bytes32[]",
},
],
outputs: [],
stateMutability: "payable",
},
{
type: "function",
name: "nftContracts",
inputs: [
{
name: "",
type: "uint256",
internalType: "uint256",
},
],
outputs: [
{
name: "",
type: "address",
internalType: "address",
},
],
stateMutability: "view",
},
{
type: "function",
name: "openLootBoxBySignature",
inputs: [
{
name: "v",
type: "uint8",
internalType: "uint8",
},
{
name: "r",
type: "bytes32",
internalType: "bytes32",
},
{
name: "s",
type: "bytes32",
internalType: "bytes32",
},
{
name: "_info",
type: "tuple",
internalType: "struct EIP712SuperGalaticFactory.WeaponInfo",
components: [
{
name: "rarity",
type: "uint256",
internalType: "uint256",
},
{
name: "weaponType",
type: "uint256",
internalType: "uint256",
},
{
name: "owner",
type: "address",
internalType: "address",
},
{
name: "salt",
type: "uint256",
internalType: "uint256",
},
{
name: "tokenId",
type: "uint256",
internalType: "uint256",
},
],
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "openRound",
inputs: [],
outputs: [
{
name: "",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "view",
},
{
type: "function",
name: "phase",
inputs: [],
outputs: [
{
name: "",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "view",
},
{
type: "function",
name: "plasmaAddr",
inputs: [],
outputs: [
{
name: "",
type: "address",
internalType: "address",
},
],
stateMutability: "view",
},
{
type: "function",
name: "plasmaAmountPerNFT",
inputs: [],
outputs: [
{
name: "",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "view",
},
{
type: "function",
name: "purchaseLootbox",
inputs: [
{
name: "quantity",
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: "_giftReceiver",
type: "address",
internalType: "address",
},
{
name: "_tokenType",
type: "uint256",
internalType: "uint256",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "registerForMint",
inputs: [],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "removeUpdatePriceSole",
inputs: [
{
name: "addr",
type: "address",
internalType: "address",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "renounceRole",
inputs: [
{
name: "role",
type: "bytes32",
internalType: "bytes32",
},
{
name: "account",
type: "address",
internalType: "address",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "reserveWallet",
inputs: [],
outputs: [
{
name: "",
type: "address",
internalType: "address",
},
],
stateMutability: "view",
},
{
type: "function",
name: "revenueWallet",
inputs: [],
outputs: [
{
name: "",
type: "address",
internalType: "address",
},
],
stateMutability: "view",
},
{
type: "function",
name: "revokeRole",
inputs: [
{
name: "role",
type: "bytes32",
internalType: "bytes32",
},
{
name: "account",
type: "address",
internalType: "address",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "round1End",
inputs: [],
outputs: [
{
name: "",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "view",
},
{
type: "function",
name: "round1Start",
inputs: [],
outputs: [
{
name: "",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "view",
},
{
type: "function",
name: "round2End",
inputs: [],
outputs: [
{
name: "",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "view",
},
{
type: "function",
name: "round2Start",
inputs: [],
outputs: [
{
name: "",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "view",
},
{
type: "function",
name: "round3End",
inputs: [],
outputs: [
{
name: "",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "view",
},
{
type: "function",
name: "round3Start",
inputs: [],
outputs: [
{
name: "",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "view",
},
{
type: "function",
name: "setBackendSigner",
inputs: [
{
name: "_bkSigner",
type: "address",
internalType: "address",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "setMarketplaceAddress",
inputs: [
{
name: "_marketplace",
type: "address",
internalType: "address",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "setMerkeRoot",
inputs: [
{
name: "merkleRootHash",
type: "bytes32",
internalType: "bytes32",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "setPhase",
inputs: [
{
name: "phaseValue",
type: "uint256",
internalType: "uint256",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "setRoundInfo",
inputs: [
{
name: "startTime",
type: "uint256",
internalType: "uint256",
},
{
name: "endTime",
type: "uint256",
internalType: "uint256",
},
{
name: "round",
type: "uint256",
internalType: "uint256",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "setRouterAddress",
inputs: [
{
name: "router",
type: "address",
internalType: "address",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "setTokenAddresses",
inputs: [
{
name: "_weth",
type: "address",
internalType: "address",
},
{
name: "_ufo",
type: "address",
internalType: "address",
},
{
name: "_usdt",
type: "address",
internalType: "address",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "slippage",
inputs: [],
outputs: [
{
name: "",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "view",
},
{
type: "function",
name: "supportsInterface",
inputs: [
{
name: "interfaceId",
type: "bytes4",
internalType: "bytes4",
},
],
outputs: [
{
name: "",
type: "bool",
internalType: "bool",
},
],
stateMutability: "view",
},
{
type: "function",
name: "totalUSerOwnedCount",
inputs: [
{
name: "",
type: "address",
internalType: "address",
},
],
outputs: [
{
name: "",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "view",
},
{
type: "function",
name: "uapAddr",
inputs: [],
outputs: [
{
name: "",
type: "address",
internalType: "address",
},
],
stateMutability: "view",
},
{
type: "function",
name: "ufoAddress",
inputs: [],
outputs: [
{
name: "",
type: "address",
internalType: "address",
},
],
stateMutability: "view",
},
{
type: "function",
name: "updateBeamPriceOfNft",
inputs: [
{
name: "price",
type: "uint256",
internalType: "uint256",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "updateFactoryHelperAddr",
inputs: [
{
name: "_factoryHelperAddr",
type: "address",
internalType: "address",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "updateGenesisNftPrice",
inputs: [
{
name: "_priceInUSDT",
type: "uint256",
internalType: "uint256",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "updateNFTBodypart",
inputs: [
{
name: "nftContract",
type: "address",
internalType: "address",
},
{
name: "nftId",
type: "uint256",
internalType: "uint256",
},
{
name: "bodyType",
type: "uint256",
internalType: "uint256",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "updatePlasmaAddr",
inputs: [
{
name: "_plasma",
type: "address",
internalType: "address",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "updatePlasmaAmountPerNFT",
inputs: [
{
name: "_plasmaAmount",
type: "uint256",
internalType: "uint256",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "updatePriceOfWeaponNFT",
inputs: [
{
name: "_price",
type: "uint256",
internalType: "uint256",
},
{
name: "_tokenType",
type: "uint256",
internalType: "uint256",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "updateWeapon",
inputs: [
{
name: "_weaponId",
type: "uint256",
internalType: "uint256",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "updateWeaponAddr",
inputs: [
{
name: "_weapon",
type: "address",
internalType: "address",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "usdtAddress",
inputs: [],
outputs: [
{
name: "",
type: "address",
internalType: "address",
},
],
stateMutability: "view",
},
{
type: "function",
name: "usdtAmountPerNFT",
inputs: [],
outputs: [
{
name: "",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "view",
},
{
type: "function",
name: "weaponNFT",
inputs: [],
outputs: [
{
name: "",
type: "address",
internalType: "address",
},
],
stateMutability: "view",
},
{
type: "function",
name: "weaponPrice",
inputs: [],
outputs: [
{
name: "",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "view",
},
{
type: "function",
name: "weaponUfoPrice",
inputs: [],
outputs: [
{
name: "",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "view",
},
{
type: "function",
name: "weaponUsdtPrice",
inputs: [],
outputs: [
{
name: "",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "view",
},
{
type: "function",
name: "wethAddr",
inputs: [],
outputs: [
{
name: "",
type: "address",
internalType: "address",
},
],
stateMutability: "view",
},
{
type: "function",
name: "withdraw",
inputs: [
{
name: "receiver",
type: "address",
internalType: "address",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "withdrawPlasma",
inputs: [
{
name: "recipient",
type: "address",
internalType: "address",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "event",
name: "CreateSuperGalatic",
inputs: [
{
name: "nftIndex",
type: "uint256",
indexed: true,
internalType: "uint256",
},
{
name: "nftContract",
type: "address",
indexed: true,
internalType: "address",
},
],
anonymous: false,
},
{
type: "event",
name: "GrantPriceUpdateRole",
inputs: [
{
name: "addr",
type: "address",
indexed: false,
internalType: "address",
},
],
anonymous: false,
},
{
type: "event",
name: "Initialized",
inputs: [
{
name: "version",
type: "uint8",
indexed: false,
internalType: "uint8",
},
],
anonymous: false,
},
{
type: "event",
name: "RemovePriceUpdateRole",
inputs: [
{
name: "addr",
type: "address",
indexed: false,
internalType: "address",
},
],
anonymous: false,
},
{
type: "event",
name: "RoleAdminChanged",
inputs: [
{
name: "role",
type: "bytes32",
indexed: true,
internalType: "bytes32",
},
{
name: "previousAdminRole",
type: "bytes32",
indexed: true,
internalType: "bytes32",
},
{
name: "newAdminRole",
type: "bytes32",
indexed: true,
internalType: "bytes32",
},
],
anonymous: false,
},
{
type: "event",
name: "RoleGranted",
inputs: [
{
name: "role",
type: "bytes32",
indexed: true,
internalType: "bytes32",
},
{
name: "account",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "sender",
type: "address",
indexed: true,
internalType: "address",
},
],
anonymous: false,
},
{
type: "event",
name: "RoleRevoked",
inputs: [
{
name: "role",
type: "bytes32",
indexed: true,
internalType: "bytes32",
},
{
name: "account",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "sender",
type: "address",
indexed: true,
internalType: "address",
},
],
anonymous: false,
},
{
type: "event",
name: "SetBackendSigner",
inputs: [
{
name: "signer",
type: "address",
indexed: false,
internalType: "address",
},
],
anonymous: false,
},
{
type: "event",
name: "UpdateFactoryHelper",
inputs: [
{
name: "newHelperAddr",
type: "address",
indexed: false,
internalType: "address",
},
],
anonymous: false,
},
{
type: "event",
name: "UpdateGenesisNftPrice",
inputs: [
{
name: "usdtPrice",
type: "uint256",
indexed: false,
internalType: "uint256",
},
],
anonymous: false,
},
{
type: "event",
name: "UpdateMarketplaceAddr",
inputs: [
{
name: "newMarketplace",
type: "address",
indexed: false,
internalType: "address",
},
],
anonymous: false,
},
{
type: "event",
name: "UpdateMerkleRoot",
inputs: [
{
name: "root",
type: "bytes32",
indexed: false,
internalType: "bytes32",
},
],
anonymous: false,
},
{
type: "event",
name: "UpdateNftBeamPrice",
inputs: [
{
name: "price",
type: "uint256",
indexed: false,
internalType: "uint256",
},
],
anonymous: false,
},
{
type: "event",
name: "UpdateNftPriceInPlasma",
inputs: [
{
name: "plasmaPrice",
type: "uint256",
indexed: false,
internalType: "uint256",
},
],
anonymous: false,
},
{
type: "event",
name: "UpdatePhase",
inputs: [
{
name: "phase",
type: "uint256",
indexed: false,
internalType: "uint256",
},
],
anonymous: false,
},
{
type: "event",
name: "UpdatePlasmaAddr",
inputs: [
{
name: "newPlasma",
type: "address",
indexed: false,
internalType: "address",
},
],
anonymous: false,
},
{
type: "event",
name: "UpdateRoundInfo",
inputs: [
{
name: "start",
type: "uint256",
indexed: false,
internalType: "uint256",
},
{
name: "end",
type: "uint256",
indexed: false,
internalType: "uint256",
},
{
name: "round",
type: "uint256",
indexed: false,
internalType: "uint256",
},
],
anonymous: false,
},
{
type: "event",
name: "UpdateUfoAddr",
inputs: [
{
name: "ufo",
type: "address",
indexed: false,
internalType: "address",
},
],
anonymous: false,
},
{
type: "event",
name: "UpdateUsdtAddr",
inputs: [
{
name: "usdt",
type: "address",
indexed: false,
internalType: "address",
},
],
anonymous: false,
},
{
type: "event",
name: "UpdateWeaponAddr",
inputs: [
{
name: "newWeapon",
type: "address",
indexed: false,
internalType: "address",
},
],
anonymous: false,
},
{
type: "event",
name: "UpdateWeaponPrice",
inputs: [
{
name: "price",
type: "uint256",
indexed: false,
internalType: "uint256",
},
{
name: "tokenType",
type: "uint256",
indexed: false,
internalType: "uint256",
},
],
anonymous: false,
},
{
type: "event",
name: "UpdateWrappedNativeAddr",
inputs: [
{
name: "wNative",
type: "address",
indexed: false,
internalType: "address",
},
],
anonymous: false,
},
{
type: "event",
name: "Withdraw",
inputs: [
{
name: "receiver",
type: "address",
indexed: false,
internalType: "address",
},
{
name: "amount",
type: "uint256",
indexed: false,
internalType: "uint256",
},
],
anonymous: false,
},
{
type: "event",
name: "WithdrawPlasma",
inputs: [
{
name: "recipient",
type: "address",
indexed: false,
internalType: "address",
},
{
name: "amount",
type: "uint256",
indexed: false,
internalType: "uint256",
},
],
anonymous: false,
},
{
type: "error",
name: "AddressNotNull",
inputs: [],
},
{
type: "error",
name: "CannotMintMore",
inputs: [],
},
{
type: "error",
name: "CannotMintRandomNft",
inputs: [],
},
{
type: "error",
name: "InvalidSignature",
inputs: [],
},
{
type: "error",
name: "NotEnoughBEAM",
inputs: [],
},
{
type: "error",
name: "OnlyAvailableInBetaOpen",
inputs: [],
},
{
type: "error",
name: "SetInfoEndTimeError",
inputs: [
{
name: "time",
type: "uint256",
internalType: "uint256",
},
],
},
{
type: "error",
name: "SetInfoError",
inputs: [
{
name: "start",
type: "uint256",
internalType: "uint256",
},
{
name: "end",
type: "uint256",
internalType: "uint256",
},
],
},
{
type: "error",
name: "SetInfoStartTimeError",
inputs: [
{
name: "time",
type: "uint256",
internalType: "uint256",
},
],
},
{
type: "error",
name: "WrongParameters",
inputs: [],
},
{
type: "error",
name: "WrongRound",
inputs: [],
},
] as const;
const _bytecode =
"0x60806040523480156200001157600080fd5b506200001c62000022565b620000e3565b600054610100900460ff16156200008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000e1576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6156b980620000f36000396000f3fe6080604052600436106200047f5760003560e01c80637a5e1c181162000257578063b8b6f0751162000147578063d1bb5cf111620000c5578063df2eee191162000084578063df2eee191462000e16578063e562dfd91462000e2e578063ed6943141462000e46578063fc7b15d21462000e5e578063fd53f53b1462000e8357600080fd5b8063d1bb5cf11462000d7e578063d547741f1462000da0578063d72b11bd1462000dc5578063dbd2cb691462000de7578063ddb42a721462000dff57600080fd5b8063c6cc51d31162000112578063c6cc51d31462000cd0578063c6d9cfcc1462000cf5578063c8a131891462000d29578063d0ffc9b81462000d41578063d1b5c6431462000d5957600080fd5b8063b8b6f0751462000c56578063bc39a82f1462000c7b578063bc79daeb1462000ca0578063c08b3aa01462000cb857600080fd5b806391d1485411620001d5578063a9d600cd11620001a0578063a9d600cd1462000bc4578063b04668631462000bdc578063b1c9fe6e1462000bf4578063b47cc5561462000c0c578063b62d08d41462000c3157600080fd5b806391d148541462000b415780639ab4a4451462000b66578063a217fddf1462000b88578063a424c7831462000b9f57600080fd5b8063847d34fb1162000222578063847d34fb1462000a6b5780638825213f1462000a835780638d1516e91462000ac25780638d94e5e91462000af65780638d9c39711462000b1b57600080fd5b80637a5e1c1814620009e85780637d5aa5f41462000a0d5780637f9bb0721462000a2f578063816629c71462000a5457600080fd5b806336f9567011620003735780634d3f9d3e11620002f1578063628b37c711620002bc578063628b37c7146200094f578063628c75d01462000974578063657128c2146200098c57806365d65e8614620009a45780636bb7527214620009c657600080fd5b80634d3f9d3e14620008be57806351cff8d914620008e3578063562429bc14620009085780636213b727146200092a57600080fd5b806341cb87fc116200033e57806341cb87fc146200082557806344478425146200084a578063467150ee146200086c5780634ac0ab1c14620008845780634c4cbca5146200089c57600080fd5b806336f956701462000786578063389fa61514620007ab5780633ca7b4ea14620007e85780633e032a3b146200080d57600080fd5b806327c1c94a11620004015780632f2ff15d11620003cc5780632f2ff15d14620006c157806331f20de814620006e6578063334672c1146200071757806335460670146200073c57806336568abe146200076157600080fd5b806327c1c94a146200063a5780632b6b5052146200065f5780632cc8265514620006845780632eb4a7ab14620006a957600080fd5b80630bb4d82a116200044e5780630bb4d82a1462000560578063142f25a9146200059a5780631551fbc414620005bf57806321b7e5e614620005e4578063248a9ca3146200060657600080fd5b806301ffc9a714620004845780630417678214620004be5780630505b2b414620004fe578063062287491462000525575b600080fd5b3480156200049157600080fd5b50620004a9620004a336600462004866565b62000ea5565b60405190151581526020015b60405180910390f35b348015620004cb57600080fd5b50620004ef620004dd366004620045f8565b60e86020526000908152604090205481565b604051908152602001620004b5565b3480156200050b57600080fd5b50620005236200051d366004620045f8565b62000edd565b005b3480156200053257600080fd5b5060e15462000547906001600160a01b031681565b6040516001600160a01b039091168152602001620004b5565b3480156200056d57600080fd5b50620005476200057f36600462004819565b60dd602052600090815260409020546001600160a01b031681565b348015620005a757600080fd5b5062000523620005b9366004620049a2565b62000f6e565b348015620005cc57600080fd5b5062000523620005de36600462004719565b6200102d565b348015620005f157600080fd5b5060d55462000547906001600160a01b031681565b3480156200061357600080fd5b50620004ef6200062536600462004819565b60009081526065602052604090206001015490565b3480156200064757600080fd5b50620005236200065936600462004819565b6200130b565b3480156200066c57600080fd5b50620005236200067e366004620045f8565b6200134e565b3480156200069157600080fd5b5062000523620006a336600462004819565b620013d8565b348015620006b657600080fd5b50620004ef60e05481565b348015620006ce57600080fd5b5062000523620006e036600462004833565b6200141b565b348015620006f357600080fd5b50620004ef62000705366004620045f8565b60ea6020526000908152604090205481565b3480156200072457600080fd5b50620005236200073636600462004819565b62001449565b3480156200074957600080fd5b50620005236200075b366004620049a2565b6200149a565b3480156200076e57600080fd5b50620005236200078036600462004833565b620016e6565b3480156200079357600080fd5b5062000523620007a5366004620045f8565b62001764565b348015620007b857600080fd5b50620004a9620007ca366004620045f8565b6001600160a01b0316600090815260de602052604090205460ff1690565b348015620007f557600080fd5b50620005236200080736600462004819565b620017e8565b3480156200081a57600080fd5b50620004ef60e75481565b3480156200083257600080fd5b506200052362000844366004620045f8565b6200182b565b3480156200085757600080fd5b5060e35462000547906001600160a01b031681565b3480156200087957600080fd5b50620004ef60d35481565b3480156200089157600080fd5b50620004ef60d75481565b348015620008a957600080fd5b5060cb5462000547906001600160a01b031681565b348015620008cb57600080fd5b5062000523620008dd36600462004638565b6200185b565b348015620008f057600080fd5b506200052362000902366004620045f8565b62001995565b3480156200091557600080fd5b5060cd5462000547906001600160a01b031681565b3480156200093757600080fd5b5062000523620009493660046200468a565b620019ed565b3480156200095c57600080fd5b50620005236200096e366004620045f8565b62001d1a565b3480156200098157600080fd5b50620004ef60d05481565b3480156200099957600080fd5b50620004ef60db5481565b348015620009b157600080fd5b5060c95462000547906001600160a01b031681565b348015620009d357600080fd5b5060ce5462000547906001600160a01b031681565b348015620009f557600080fd5b506200052362000a0736600462004819565b62001d9e565b34801562000a1a57600080fd5b5060e45462000547906001600160a01b031681565b34801562000a3c57600080fd5b506200052362000a4e366004620045f8565b62001de1565b6200052362000a6536600462004751565b62001eca565b34801562000a7857600080fd5b50620004ef60d95481565b34801562000a9057600080fd5b50620004a962000aa236600462004892565b805160208183018101805160e98252928201919093012091525460ff1681565b34801562000acf57600080fd5b50620004a962000ae1366004620045f8565b60de6020526000908152604090205460ff1681565b34801562000b0357600080fd5b506200052362000b1536600462004967565b6200224e565b34801562000b2857600080fd5b506200052333600090815260ea60205260409020439055565b34801562000b4e57600080fd5b50620004a962000b6036600462004833565b6200249e565b34801562000b7357600080fd5b5060e55462000547906001600160a01b031681565b34801562000b9557600080fd5b50620004ef600081565b34801562000bac57600080fd5b506200052362000bbe366004620045f8565b620024c9565b34801562000bd157600080fd5b50620004ef60d45481565b34801562000be957600080fd5b50620004ef6200254d565b34801562000c0157600080fd5b50620004ef60df5481565b34801562000c1957600080fd5b506200052362000c2b366004620045f8565b62002598565b34801562000c3e57600080fd5b506200052362000c5036600462004819565b6200261c565b34801562000c6357600080fd5b50620004ef6000805160206200568d83398151915281565b34801562000c8857600080fd5b506200052362000c9a36600462004a67565b62002884565b34801562000cad57600080fd5b50620004ef60cf5481565b34801562000cc557600080fd5b50620004ef60da5481565b34801562000cdd57600080fd5b506200052362000cef366004620049ea565b62002972565b34801562000d0257600080fd5b5062000d1a62000d1436600462004a46565b62002b96565b604051620004b5919062004bcb565b34801562000d3657600080fd5b50620004ef60d65481565b34801562000d4e57600080fd5b50620004ef60d85481565b34801562000d6657600080fd5b506200052362000d7836600462004751565b62002bd3565b34801562000d8b57600080fd5b5060cc5462000547906001600160a01b031681565b34801562000dad57600080fd5b506200052362000dbf36600462004833565b62002d63565b34801562000dd257600080fd5b5060e25462000547906001600160a01b031681565b34801562000df457600080fd5b50620004ef60d15481565b6200052362000e1036600462004751565b62002d8c565b34801562000e2357600080fd5b50620004ef60d25481565b34801562000e3b57600080fd5b50620004ef60dc5481565b34801562000e5357600080fd5b50620004ef60eb5481565b34801562000e6b57600080fd5b506200052362000e7d366004620045f8565b62003105565b34801562000e9057600080fd5b5060ca5462000547906001600160a01b031681565b60006001600160e01b03198216637965db0b60e01b148062000ed757506301ffc9a760e01b6001600160e01b03198316145b92915050565b600062000eea8162003189565b6001600160a01b03821662000f125760405163f8b7150760e01b815260040160405180910390fd5b62000f2d6000805160206200568d8339815191528362003198565b6040516001600160a01b03831681527f0c1599a415df7df1043c154c0ad7818459c975b2019450a1a5c5381def6a0d78906020015b60405180910390a15050565b600062000f7b8162003189565b6040805180820190915260028152610ccd60f21b60208201526003831062000fc15760405162461bcd60e51b815260040162000fb8919062004bcb565b60405180910390fd5b508162000fd35760d283905562000fee565b816001141562000fe85760d483905562000fee565b60d38390555b60408051848152602081018490527fa2a06a48cf0ad8605be8181861290033a1f5bdbd40cd999dbb30d354ce42291f91015b60405180910390a1505050565b60068111806200103b575080155b156200105a5760405163bd28cf5f60e01b815260040160405180910390fd5b6001600160a01b038316600090815260de60209081526040918290205482518084019093526002835261313560f01b9183019190915260ff16620010b35760405162461bcd60e51b815260040162000fb8919062004bcb565b50620010c183338462003222565b604051806040016040528060018152602001601960f91b81525090620010fc5760405162461bcd60e51b815260040162000fb8919062004bcb565b50604051631df5f84360e11b8152600481018390526024810182905260009081906001600160a01b03861690633bebf08690604401604080518083038186803b1580156200114957600080fd5b505afa1580156200115e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620011849190620049c5565b91509150620011a882826003811115620011a257620011a262004d22565b620032bb565b604051806040016040528060018152602001602360f91b81525090620011e35760405162461bcd60e51b815260040162000fb8919062004bcb565b5060ca546000906001600160a01b031663db863276836200120686600162004c2b565b6040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186803b1580156200124357600080fd5b505afa15801562001258573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200127e91906200494d565b6200129290670de0b6b3a764000062004c69565b9050620012a0813362003310565b604051638000209160e01b815260048101859052602481018690526001600160a01b03871690638000209190604401600060405180830381600087803b158015620012ea57600080fd5b505af1158015620012ff573d6000803e3d6000fd5b50505050505050505050565b6000620013188162003189565b60e08290556040518281527fae8bdbc15b982b030d313524fca26f653a8826332c662cb93c670068172d217e9060200162000f62565b60006200135b8162003189565b6001600160a01b038216620013835760405163f8b7150760e01b815260040160405180910390fd5b6200139e6000805160206200568d8339815191528362002d63565b6040516001600160a01b03831681527f71a08fb94bdb69a641149d5205dc5302a41c829df340a4b4623bcacac213fd399060200162000f62565b6000620013e58162003189565b60df8290556040518281527f950f882195edb5ea868063c1d152918a8cfff7d9f80aba11c970763f87a826e89060200162000f62565b600082815260656020526040902060010154620014388162003189565b62001444838362003198565b505050565b6000805160206200568d833981519152620014648162003189565b60d18290556040518281527f10797db75e153daf26ab5f826d87e077c0fd35336632791e6cd5e9e2203f6f389060200162000f62565b620014a462003513565b6127108260eb54620014b7919062004c2b565b1115620014d75760405163e2a5313760e01b815260040160405180910390fd5b600080620014e5836200356f565b90925090506000620014f8858462004c69565b604051636eb1769f60e11b815233600482015230602482015290915081906001600160a01b0384169063dd62ed3e9060440160206040518083038186803b1580156200154357600080fd5b505afa15801562001558573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200157e91906200494d565b101560405180604001604052806002815260200161191960f11b81525090620015bc5760405162461bcd60e51b815260040162000fb8919062004bcb565b506040516323b872dd60e01b81526001600160a01b038316906323b872dd90620015ef9033903090869060040162004b81565b602060405180830381600087803b1580156200160a57600080fd5b505af11580156200161f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620016459190620047f5565b5060cb546040516332d46d5f60e01b81526004810187905233602482015260448101839052606481018690526001600160a01b03909116906332d46d5f90608401600060405180830381600087803b158015620016a157600080fd5b505af1158015620016b6573d6000803e3d6000fd5b505050508460eb6000828254620016ce919062004c2b565b9091555050600160975550620016e2915050565b5050565b6001600160a01b0381163314620017585760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b606482015260840162000fb8565b620016e2828262003620565b6000620017718162003189565b6001600160a01b038216620017995760405163f8b7150760e01b815260040160405180910390fd5b60c980546001600160a01b0319166001600160a01b0384169081179091556040519081527f51ad1d0f5aa4dce01cdbd1ffce145596092a73bcb73db321a014518db8b55b229060200162000f62565b6000620017f58162003189565b60cf8290556040518281527fd80634d8ccc9a8044b81b386ba3360632ef2df87981d13df91a27c21f9405a889060200162000f62565b6000620018388162003189565b5060e680546001600160a01b0319166001600160a01b0392909216919091179055565b6000620018688162003189565b6001600160a01b03841615620018ca5760e480546001600160a01b0319166001600160a01b0386169081179091556040519081527f76007df2bb027b05db3255d900349c109dd5f1811b2f9bf447a14144ca76452b9060200160405180910390a15b6001600160a01b038316156200192c5760d580546001600160a01b0319166001600160a01b0385169081179091556040519081527ffffb08c841cdfb56c0107c5d4bdc815f66bdc90947ca9923bf2c58d1b5b5fbc29060200160405180910390a15b6001600160a01b038216156200198f5760e580546001600160a01b0319166001600160a01b0384169081179091556040519081527fa93511a455ce22450ebdd0bb324e562191f0947dfdfa6e3b87bb82f4dd8502a0906020015b60405180910390a15b50505050565b6000620019a28162003189565b620019ae82476200368a565b604080516001600160a01b03841681524760208201527f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364910162000f62565b600054610100900460ff161580801562001a0e5750600054600160ff909116105b8062001a2a5750303b15801562001a2a575060005460ff166001145b62001a8f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840162000fb8565b6000805460ff19166001179055801562001ab3576000805461ff0019166101001790555b6001600160a01b038816158062001ad157506001600160a01b038716155b8062001ae457506001600160a01b038616155b8062001af757506001600160a01b038316155b1562001b165760405163f8b7150760e01b815260040160405180910390fd5b62001b20620037a9565b62001b2a620037d5565b62001b3760008962003198565b60cd80546001600160a01b038089166001600160a01b03199283161790925560cf87905560ca805485841690831617905560d28690556301c9c38060d35569d3c21bcecceda100000060d45560ce8054928616928216929092179091556901c5324e5ad259a0000060d15560fa60d055606460e75560e18054821673dead00000000000000004206942069420694206917905560e28054821673f9690a9521c9c4cea419b70d3720f958a837c3f817905560e38054821673b980d88ae1e9599096e6030fb5381483e4312f3117905560e58054821673999f90f25a2922ae1b21a06066f7edebedad42a917905560e48054821673d51bfa777609213a653a2cd067c9a0132a2d316a17905560e6805490911673965b104e250648d01d4b3b72bac751cde809d29e17905560005b600a81101562001c905762001c7b89898362003809565b8062001c878162004cee565b91505062001c64565b506367f85b8060d6556367fc500060d7556367fda18060d855636800448060d955636801960060da55636804390060db556368058a8060dc55801562001d10576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b600062001d278162003189565b6001600160a01b03821662001d4f5760405163f8b7150760e01b815260040160405180910390fd5b60ca80546001600160a01b0319166001600160a01b0384169081179091556040519081527f7bf10f89b05788c765ea1d9d5d613224cf4c42dd9646c5d07f6c627afda3f3e09060200162000f62565b600062001dab8162003189565b60d08290556040518281527f33dc8fd53ad74509c6e95a92cd0fbc8e2d674a94106c8a08fd49b5ca1e0ca1479060200162000f62565b600062001dee8162003189565b60cd546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a082319060240160206040518083038186803b15801562001e3357600080fd5b505afa15801562001e48573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001e6e91906200494d565b60cd5490915062001e8a906001600160a01b0316848362003923565b604080516001600160a01b0385168152602081018390527f010a5b2e79ead477789f19dd02af3588808775c591b3b1198d173c4d63b473b0910162001020565b62001ed462003513565b33600090815260ea602052604090205443148062001eff575033600090815260ea6020526040902054155b1562001f1e5760405163d0c2348760e01b815260040160405180910390fd5b33600090815260ea602052604081205560dc5442101562001f525760405163461b04cd60e01b815260040160405180910390fd5b60df5462001fa45762001f66828262003988565b60405180604001604052806002815260200161323360f01b8152509062001fa25760405162461bcd60e51b815260040162000fb8919062004bcb565b505b84831462001fc55760405163bd28cf5f60e01b815260040160405180910390fd5b6000805b86811015620021a057600a86868381811062001fe95762001fe962004d38565b905060200201351115604051806040016040528060018152602001604160f81b815250906200202d5760405162461bcd60e51b815260040162000fb8919062004bcb565b50600a88888381811062002045576200204562004d38565b9050602002013510604051806040016040528060018152602001604160f81b81525090620020885760405162461bcd60e51b815260040162000fb8919062004bcb565b50600060dd60008a8a85818110620020a457620020a462004d38565b602090810292909201358352508101919091526040016000908120546001600160a01b031691505b878784818110620020e157620020e162004d38565b905060200201358110156200216a5760d15460405163c529b32f60e01b81523360048201526003602482015260448101919091526001600160a01b0383169063c529b32f90606401600060405180830381600087803b1580156200214457600080fd5b505af115801562002159573d6000803e3d6000fd5b505060019092019150620020cc9050565b5086868381811062002180576200218062004d38565b905060200201358362002194919062004c2b565b92505060010162001fc9565b50600060d15482620021b3919062004c69565b905034811115620021d7576040516307194af560e01b815260040160405180910390fd5b6000620021e5823462004c8b565b90508015620021fa57620021fa33826200368a565b33600090815260e86020526040812080548592906200221b90849062004c2b565b909155505060e35462002238906001600160a01b0316836200368a565b505050620022466001609755565b505050505050565b6200225862003513565b6127108360eb546200226b919062004c2b565b11156200228b5760405163e2a5313760e01b815260040160405180910390fd5b60008062002299836200356f565b90925090506000620022ac868462004c69565b604051636eb1769f60e11b815233600482015230602482015290915081906001600160a01b0384169063dd62ed3e9060440160206040518083038186803b158015620022f757600080fd5b505afa1580156200230c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200233291906200494d565b101560405180604001604052806002815260200161191960f11b81525090620023705760405162461bcd60e51b8152600401