Merge branch 'master' of http://git.kingsome.cn/yuyongdong/UAW
This commit is contained in:
commit
97a1115fe6
@ -44,6 +44,8 @@ const chainMethods = {
|
|||||||
'check': 'chainCheckIn',
|
'check': 'chainCheckIn',
|
||||||
'chest_enhance': 'enhanceBox',
|
'chest_enhance': 'enhanceBox',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export const sendToChain = async (type, address, val) => {
|
export const sendToChain = async (type, address, val) => {
|
||||||
if (!chainMethods[type]) {
|
if (!chainMethods[type]) {
|
||||||
throw new Error('Invalid chain method')
|
throw new Error('Invalid chain method')
|
||||||
@ -55,11 +57,21 @@ export const sendToChain = async (type, address, val) => {
|
|||||||
if (store.state.wallet.chainId+'' !== process.env.VUE_APP_CHAIN_ID){
|
if (store.state.wallet.chainId+'' !== process.env.VUE_APP_CHAIN_ID){
|
||||||
await new Wallet().changeChain()
|
await new Wallet().changeChain()
|
||||||
}
|
}
|
||||||
let chainRes = await new Wallet()[chainMethods[type]](address, val)
|
|
||||||
if (!chainRes?.transactionHash) {
|
try {
|
||||||
throw new Error('Failed to claim task')
|
let chainRes = await new Wallet()[chainMethods[type]](address, val)
|
||||||
|
if (!chainRes?.transactionHash) {
|
||||||
|
throw new Error('Failed to claim task')
|
||||||
|
}
|
||||||
|
localStorage.setItem(storeageKey, chainRes.transactionHash)
|
||||||
|
} catch (err) {
|
||||||
|
if (JSON.stringify(err).indexOf('already') != -1) {
|
||||||
|
localStorage.setItem(storeageKey, 'already')
|
||||||
|
} else {
|
||||||
|
throw err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
localStorage.setItem(storeageKey, chainRes.transactionHash)
|
|
||||||
return storeageKey
|
return storeageKey
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -63,13 +63,13 @@ export class Wallet {
|
|||||||
return Wallet.instance;
|
return Wallet.instance;
|
||||||
}
|
}
|
||||||
Wallet.instance = this;
|
Wallet.instance = this;
|
||||||
if (!this.provider) {
|
// if (!this.provider) {
|
||||||
let walletName = localStorage.getItem('walletName');
|
// let walletName = localStorage.getItem('walletName');
|
||||||
if (!walletName) {
|
// if (!walletName) {
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
this.init(walletName);
|
// this.init(walletName);
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
async init(walletName) {
|
async init(walletName) {
|
||||||
this.walletName = walletName;
|
this.walletName = walletName;
|
||||||
@ -307,6 +307,13 @@ export class Wallet {
|
|||||||
return instance.methods.dailyCheckin().send({ from: address, gasPrice, gasLimit });
|
return instance.methods.dailyCheckin().send({ from: address, gasPrice, gasLimit });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async fetchCheckInStatus(address) {
|
||||||
|
let web3 = this.web3;
|
||||||
|
const instance = this.initInstance(web3, process.env.VUE_APP_CONTRACT, treasureAbi, address);
|
||||||
|
let days = (Date.now() / 1000 / 60 / 60 / 24) | 0;
|
||||||
|
return instance.methods.checkinHistory(address, days).call({ from: address });
|
||||||
|
}
|
||||||
|
|
||||||
async chainExplore(address, exploreId) {
|
async chainExplore(address, exploreId) {
|
||||||
let web3 = this.web3;
|
let web3 = this.web3;
|
||||||
let idBN = web3.utils.toBigInt('0x'+exploreId)
|
let idBN = web3.utils.toBigInt('0x'+exploreId)
|
||||||
@ -317,6 +324,13 @@ export class Wallet {
|
|||||||
return instance.methods.explore(idBN).send({ from: address, gasPrice, gasLimit });
|
return instance.methods.explore(idBN).send({ from: address, gasPrice, gasLimit });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async fetchExploreStatus(address, exploreId) {
|
||||||
|
let web3 = this.web3;
|
||||||
|
const instance = this.initInstance(web3, process.env.VUE_APP_CONTRACT, treasureAbi, address);
|
||||||
|
let idBN = web3.utils.toBigInt('0x'+exploreId)
|
||||||
|
return instance.methods.exploreHistory(address, idBN).call({ from: address });
|
||||||
|
}
|
||||||
|
|
||||||
async enhanceBox(address, shareCode) {
|
async enhanceBox(address, shareCode) {
|
||||||
let web3 = this.web3;
|
let web3 = this.web3;
|
||||||
const codeHex = shareCode.split("")
|
const codeHex = shareCode.split("")
|
||||||
@ -330,6 +344,16 @@ export class Wallet {
|
|||||||
return instance.methods.enhanceBox(codeBn).send({ from: address, gasPrice, gasLimit });
|
return instance.methods.enhanceBox(codeBn).send({ from: address, gasPrice, gasLimit });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async fetchEnhanceStatus(address, shareCode) {
|
||||||
|
let web3 = this.web3;
|
||||||
|
const instance = this.initInstance(web3, process.env.VUE_APP_CONTRACT, treasureAbi, address);
|
||||||
|
const codeHex = shareCode.split("")
|
||||||
|
.map(c => c.charCodeAt(0).toString(16).padStart(2, "0"))
|
||||||
|
.join("");
|
||||||
|
let codeBn = web3.utils.toBigInt('0x'+codeHex)
|
||||||
|
return instance.methods.enhanceHistory(address, codeBn).call({ from: address });
|
||||||
|
}
|
||||||
|
|
||||||
async chainOpenBox(address, boxId) {
|
async chainOpenBox(address, boxId) {
|
||||||
let web3 = this.web3;
|
let web3 = this.web3;
|
||||||
let boxIdBN = web3.utils.toBigInt('0x'+boxId)
|
let boxIdBN = web3.utils.toBigInt('0x'+boxId)
|
||||||
@ -340,6 +364,13 @@ export class Wallet {
|
|||||||
return instance.methods.openBox(boxIdBN).send({ from: address, gasPrice, gasLimit });
|
return instance.methods.openBox(boxIdBN).send({ from: address, gasPrice, gasLimit });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async fetchOpenBoxtatus(address, boxId) {
|
||||||
|
let web3 = this.web3;
|
||||||
|
const instance = this.initInstance(web3, process.env.VUE_APP_CONTRACT, treasureAbi, address);
|
||||||
|
let boxIdBN = web3.utils.toBigInt('0x'+boxId)
|
||||||
|
return instance.methods.openBoxHistory(address, boxIdBN).call({ from: address });
|
||||||
|
}
|
||||||
|
|
||||||
async chainClaimTask(address, taskId) {
|
async chainClaimTask(address, taskId) {
|
||||||
let web3 = this.web3;
|
let web3 = this.web3;
|
||||||
const taskIdHex = taskId.split("")
|
const taskIdHex = taskId.split("")
|
||||||
@ -352,4 +383,14 @@ export class Wallet {
|
|||||||
let gasLimit = await instance.methods.claimTaskReward(taskIdBN).estimateGas({ from: address });
|
let gasLimit = await instance.methods.claimTaskReward(taskIdBN).estimateGas({ from: address });
|
||||||
return instance.methods.claimTaskReward(taskIdBN).send({ from: address, gasPrice, gasLimit });
|
return instance.methods.claimTaskReward(taskIdBN).send({ from: address, gasPrice, gasLimit });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async fetchClaimStatus(address, taskId) {
|
||||||
|
let web3 = this.web3;
|
||||||
|
const instance = this.initInstance(web3, process.env.VUE_APP_CONTRACT, treasureAbi, address);
|
||||||
|
const taskIdHex = taskId.split("")
|
||||||
|
.map(c => c.charCodeAt(0).toString(16).padStart(2, "0"))
|
||||||
|
.join("");
|
||||||
|
let taskIdBN = web3.utils.toBigInt('0x'+taskIdHex)
|
||||||
|
return instance.methods.claimTaskHistory(address, taskIdBN).call();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user