UNPKG

@evolutionland/evolution-js

Version:

evolution evolution-js evolutionland evolution-js-sdk evolution-land metaverse

90 lines (89 loc) 3.92 kB
import { ethers } from "ethers"; import type { CallbackType } from "../../../utils/ethers/contractHelper"; import { LandId } from "../../../config/constants"; import { TransactionResponse } from "@ethersproject/providers"; export interface furnaceGetTreasurePriceResponse { priceGoldBox: string; priceSilverBox: string; } /** * Get treasure price * @param landId Land Id * @param provider Provider * @param callback Callback * @returns any */ export declare const furnaceGetTreasurePrice: (landId: LandId, provider: ethers.providers.Provider, callback?: CallbackType | undefined) => Promise<furnaceGetTreasurePriceResponse>; /** * Buy treasure * @param landId Land Id * @param signer Signer * @param to Recipient * @param goldBoxAmount Gold box amount * @param silverBoxAmount Silver box amount * @param cost Max cost * @param callback Callback * @returns any */ export declare const furnaceBuyTreasure: (landId: LandId, signer: ethers.Signer, to: string, goldBoxAmount: string, silverBoxAmount: string, cost: string, callback?: CallbackType | undefined) => Promise<TransactionResponse>; /** * Use nft and elements or LP tokens in the furnace formula to the props. * @param signer * @param formulaIndex Formula for props - https://github.com/evolutionlandorg/furnace/blob/dev/src/Formula.sol * @param majorTokenId ERC721 token Id * @param minorTokenAddress Elements or LP tokens contract address * @param callback callback */ export declare const furnaceEnchantProps: (landId: LandId, signer: ethers.Signer, formulaIndex: number, majorTokenId: string, minorTokenAddress: string, callback?: CallbackType | undefined) => Promise<TransactionResponse>; /** * Disenchant furnace props, and will get elements or LP and nft * @param signer * @param propsTokenId Token Id of the Props * @param depth Supports one-time decomposition of high-level props. If a prop is in the second level, it needs to be restored to its original state, and the depth needs to be passed in 2 * @param callback */ export declare const furnaceDisenchantProps: (landId: LandId, signer: ethers.Signer, propsTokenId: string, depth: string, callback?: CallbackType | undefined) => Promise<TransactionResponse>; /** * Get treasure is opened * @param landId Land Id * @param provider Provider * @param treasureTokenId Id of treasure * @param callback Callback * @returns any */ export declare const furnaceGetTreasureStatus: (landId: LandId, provider: ethers.providers.Provider, treasureTokenId: string, callback?: CallbackType | undefined) => Promise<boolean>; /** * Open furnace treasure * @param landId Land Id * @param signer Signer * @param param2 Signature content * @param callback Callback * @returns any */ export declare const furnaceOpenTreasure: (landId: LandId, signer: ethers.Signer, { boxIds, amounts, hashmessage, v, r, s, }: { boxIds: string[]; amounts: string[]; hashmessage: string; v: number; r: string; s: string; }, callback?: CallbackType | undefined) => Promise<TransactionResponse>; /** * Disenchant Equipment and will get elements and material * @param landId Land Id * @param signer Signer * @param equipmentTokenId Id of Equipment * @param callback Callback * @returns any */ export declare const furnaceDismantleEquipment: (landId: LandId, signer: ethers.Signer, equipmentTokenId: string, callback?: CallbackType | undefined) => Promise<TransactionResponse>; /** * Use material and elements tokens in the furnace formula to the equipment. * @param landId Land Id * @param signer Signer * @param equipmentTokenId Id of Equipment * @param tokenContractAddress Element token address * @param callback Callback * @returns any */ export declare const furnaceEnchantEquipment: (landId: LandId, signer: ethers.Signer, equipmentTokenId: string, tokenContractAddress: string, callback?: CallbackType | undefined) => Promise<TransactionResponse>;