与链相关的几个方法增加自动跳转
This commit is contained in:
parent
c83682e16e
commit
c5bd0a20df
@ -274,8 +274,8 @@ export const AllChains = [
|
|||||||
{
|
{
|
||||||
name: "Local Testnet",
|
name: "Local Testnet",
|
||||||
type: "Local",
|
type: "Local",
|
||||||
rpc: "http://192.168.100.22:8545",
|
rpc: "https://login-test.kingsome.cn/rpc",
|
||||||
id: 1337,
|
id: 1338,
|
||||||
symbol: "ETH",
|
symbol: "ETH",
|
||||||
explorerurl: "https://explorer.harmony.one",
|
explorerurl: "https://explorer.harmony.one",
|
||||||
},
|
},
|
||||||
|
21
src/index.ts
21
src/index.ts
@ -102,10 +102,14 @@ export default class JCWallet {
|
|||||||
if (this.walletType === WalletType.INTERNAL) {
|
if (this.walletType === WalletType.INTERNAL) {
|
||||||
this.prepareInternalWallet();
|
this.prepareInternalWallet();
|
||||||
}
|
}
|
||||||
this.init({ chains: [80001], password: this.password });
|
this.init({ chains: [chain], password: this.password });
|
||||||
window.jc = { wallet: this };
|
window.jc = { wallet: this };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public get isInternal() {
|
||||||
|
return this.walletType === WalletType.INTERNAL;
|
||||||
|
}
|
||||||
|
|
||||||
private prepareInternalWallet() {
|
private prepareInternalWallet() {
|
||||||
let token = loadToken();
|
let token = loadToken();
|
||||||
if (!token) {
|
if (!token) {
|
||||||
@ -167,7 +171,20 @@ export default class JCWallet {
|
|||||||
this.erc721Standard = new ERC721Standard(this.web3);
|
this.erc721Standard = new ERC721Standard(this.web3);
|
||||||
this.erc1155Standard = new ERC1155Standard(this.web3);
|
this.erc1155Standard = new ERC1155Standard(this.web3);
|
||||||
this.jcStandard = new JCStandard(this.web3);
|
this.jcStandard = new JCStandard(this.web3);
|
||||||
resolve && resolve("");
|
return this.web3.eth.getChainId();
|
||||||
|
})
|
||||||
|
.then((chainId: number) => {
|
||||||
|
if (chainId === this._currentChain.id) {
|
||||||
|
resolve && resolve("");
|
||||||
|
} else {
|
||||||
|
this.updateCurrentChain(this.currentChain.id)
|
||||||
|
.then(() => {
|
||||||
|
resolve && resolve("");
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
reject && reject("error change network");
|
||||||
|
});
|
||||||
|
}
|
||||||
})
|
})
|
||||||
.catch((err: Error) => {
|
.catch((err: Error) => {
|
||||||
console.log("initThirdPartyWallet error: " + err);
|
console.log("initThirdPartyWallet error: " + err);
|
||||||
|
@ -21,11 +21,21 @@ export class JCStandard {
|
|||||||
signature: string;
|
signature: string;
|
||||||
}) {
|
}) {
|
||||||
let address = JC_CONTRACTS[window.jc.wallet.currentChain.id].nftMall;
|
let address = JC_CONTRACTS[window.jc.wallet.currentChain.id].nftMall;
|
||||||
const contract = new this.web3.eth.Contract(abiNftMall, address);
|
const contract = new this.web3.eth.Contract(abiNftMall, address, {
|
||||||
|
//@ts-ignore
|
||||||
|
from: jc.wallet.currentAccount(),
|
||||||
|
});
|
||||||
//TODO:: increaseAllowance before call
|
//TODO:: increaseAllowance before call
|
||||||
let gas = await contract.methods
|
let gas = await contract.methods
|
||||||
.buy721NFT(addresses, values, signature)
|
.buy721NFT(addresses, values, signature)
|
||||||
.estimateGas({ gas: 1000000 });
|
.estimateGas({ gas: 1000000 });
|
||||||
|
//@ts-ignore
|
||||||
|
if (!jc.wallet.isInternal) {
|
||||||
|
setTimeout(() => {
|
||||||
|
// @ts-ignore
|
||||||
|
jumpToWallet();
|
||||||
|
}, 1500);
|
||||||
|
}
|
||||||
return contract.methods
|
return contract.methods
|
||||||
.buy721NFT(addresses, values, signature)
|
.buy721NFT(addresses, values, signature)
|
||||||
.send({ gas: (gas * 1.1) | 0 });
|
.send({ gas: (gas * 1.1) | 0 });
|
||||||
@ -45,10 +55,20 @@ export class JCStandard {
|
|||||||
signature: string;
|
signature: string;
|
||||||
}) {
|
}) {
|
||||||
let address = JC_CONTRACTS[window.jc.wallet.currentChain.id].nftMall;
|
let address = JC_CONTRACTS[window.jc.wallet.currentChain.id].nftMall;
|
||||||
const contract = new this.web3.eth.Contract(abiNftMall, address);
|
const contract = new this.web3.eth.Contract(abiNftMall, address, {
|
||||||
|
//@ts-ignore
|
||||||
|
from: jc.wallet.currentAccount(),
|
||||||
|
});
|
||||||
let gas = await contract.methods
|
let gas = await contract.methods
|
||||||
.buy1155NFT(addresses, values, ids, amounts, signature)
|
.buy1155NFT(addresses, values, ids, amounts, signature)
|
||||||
.estimateGas({ gas: 1000000 });
|
.estimateGas({ gas: 1000000 });
|
||||||
|
//@ts-ignore
|
||||||
|
if (!jc.wallet.isInternal) {
|
||||||
|
setTimeout(() => {
|
||||||
|
// @ts-ignore
|
||||||
|
jumpToWallet();
|
||||||
|
}, 1500);
|
||||||
|
}
|
||||||
return contract.methods
|
return contract.methods
|
||||||
.buy1155NFT(addresses, values, ids, amounts, signature)
|
.buy1155NFT(addresses, values, ids, amounts, signature)
|
||||||
.send({ gas: (gas * 1.1) | 0 });
|
.send({ gas: (gas * 1.1) | 0 });
|
||||||
@ -68,10 +88,20 @@ export class JCStandard {
|
|||||||
signature: string;
|
signature: string;
|
||||||
}) {
|
}) {
|
||||||
let address = JC_CONTRACTS[window.jc.wallet.currentChain.id].evolveFactory;
|
let address = JC_CONTRACTS[window.jc.wallet.currentChain.id].evolveFactory;
|
||||||
const contract = new this.web3.eth.Contract(abiEvolveFactory, address);
|
const contract = new this.web3.eth.Contract(abiEvolveFactory, address, {
|
||||||
|
//@ts-ignore
|
||||||
|
from: jc.wallet.currentAccount(),
|
||||||
|
});
|
||||||
let gas = await contract.methods
|
let gas = await contract.methods
|
||||||
.evolve721NFT(nftAddress, tokenIds, startTime, nonce, signature)
|
.evolve721NFT(nftAddress, tokenIds, startTime, nonce, signature)
|
||||||
.estimateGas({ gas: 1000000 });
|
.estimateGas({ gas: 1000000 });
|
||||||
|
//@ts-ignore
|
||||||
|
if (!jc.wallet.isInternal) {
|
||||||
|
setTimeout(() => {
|
||||||
|
// @ts-ignore
|
||||||
|
jumpToWallet();
|
||||||
|
}, 1500);
|
||||||
|
}
|
||||||
return contract.methods
|
return contract.methods
|
||||||
.evolve721NFT(nftAddress, tokenIds, startTime, nonce, signature)
|
.evolve721NFT(nftAddress, tokenIds, startTime, nonce, signature)
|
||||||
.send({ gas: (gas * 1.1) | 0 });
|
.send({ gas: (gas * 1.1) | 0 });
|
||||||
@ -89,10 +119,20 @@ export class JCStandard {
|
|||||||
signature: string;
|
signature: string;
|
||||||
}) {
|
}) {
|
||||||
let address = JC_CONTRACTS[window.jc.wallet.currentChain.id].evolveFactory;
|
let address = JC_CONTRACTS[window.jc.wallet.currentChain.id].evolveFactory;
|
||||||
const contract = new this.web3.eth.Contract(abiEvolveFactory, address);
|
const contract = new this.web3.eth.Contract(abiEvolveFactory, address, {
|
||||||
|
//@ts-ignore
|
||||||
|
from: jc.wallet.currentAccount(),
|
||||||
|
});
|
||||||
let gas = await contract.methods
|
let gas = await contract.methods
|
||||||
.evolveChip(tokenIds, startTime, nonce, signature)
|
.evolveChip(tokenIds, startTime, nonce, signature)
|
||||||
.estimateGas({ gas: 1000000 });
|
.estimateGas({ gas: 1000000 });
|
||||||
|
//@ts-ignore
|
||||||
|
if (!jc.wallet.isInternal) {
|
||||||
|
setTimeout(() => {
|
||||||
|
// @ts-ignore
|
||||||
|
jumpToWallet();
|
||||||
|
}, 1500);
|
||||||
|
}
|
||||||
return contract.methods
|
return contract.methods
|
||||||
.evolveChip(tokenIds, startTime, nonce, signature)
|
.evolveChip(tokenIds, startTime, nonce, signature)
|
||||||
.send({ gas: (gas * 1.1) | 0 });
|
.send({ gas: (gas * 1.1) | 0 });
|
||||||
@ -112,10 +152,20 @@ export class JCStandard {
|
|||||||
signature: string;
|
signature: string;
|
||||||
}) {
|
}) {
|
||||||
let address = JC_CONTRACTS[window.jc.wallet.currentChain.id].minterFactory;
|
let address = JC_CONTRACTS[window.jc.wallet.currentChain.id].minterFactory;
|
||||||
const contract = new this.web3.eth.Contract(abiMinterFactory, address);
|
const contract = new this.web3.eth.Contract(abiMinterFactory, address, {
|
||||||
|
//@ts-ignore
|
||||||
|
from: jc.wallet.currentAccount(),
|
||||||
|
});
|
||||||
let gas = await contract.methods
|
let gas = await contract.methods
|
||||||
.mintShardBatchUser(tokenIds, amounts, startTime, nonce, signature)
|
.mintShardBatchUser(tokenIds, amounts, startTime, nonce, signature)
|
||||||
.estimateGas({ gas: 1000000 });
|
.estimateGas({ gas: 1000000 });
|
||||||
|
//@ts-ignore
|
||||||
|
if (!jc.wallet.isInternal) {
|
||||||
|
setTimeout(() => {
|
||||||
|
// @ts-ignore
|
||||||
|
jumpToWallet();
|
||||||
|
}, 1500);
|
||||||
|
}
|
||||||
return contract.methods
|
return contract.methods
|
||||||
.mintShardBatchUser(tokenIds, amounts, startTime, nonce, signature)
|
.mintShardBatchUser(tokenIds, amounts, startTime, nonce, signature)
|
||||||
.send({ gas: (gas * 1.1) | 0 });
|
.send({ gas: (gas * 1.1) | 0 });
|
||||||
@ -143,7 +193,10 @@ export class JCStandard {
|
|||||||
signature: string;
|
signature: string;
|
||||||
}) {
|
}) {
|
||||||
let address = JC_CONTRACTS[window.jc.wallet.currentChain.id].minterFactory;
|
let address = JC_CONTRACTS[window.jc.wallet.currentChain.id].minterFactory;
|
||||||
const contract = new this.web3.eth.Contract(abiMinterFactory, address);
|
const contract = new this.web3.eth.Contract(abiMinterFactory, address, {
|
||||||
|
//@ts-ignore
|
||||||
|
from: jc.wallet.currentAccount(),
|
||||||
|
});
|
||||||
let gas = await contract.methods
|
let gas = await contract.methods
|
||||||
.shardMixByUser(
|
.shardMixByUser(
|
||||||
tokenId,
|
tokenId,
|
||||||
@ -157,6 +210,14 @@ export class JCStandard {
|
|||||||
signature
|
signature
|
||||||
)
|
)
|
||||||
.estimateGas({ gas: 1000000 });
|
.estimateGas({ gas: 1000000 });
|
||||||
|
//@ts-ignore
|
||||||
|
if (!jc.wallet.isInternal) {
|
||||||
|
setTimeout(() => {
|
||||||
|
// @ts-ignore
|
||||||
|
jumpToWallet();
|
||||||
|
}, 1500);
|
||||||
|
}
|
||||||
|
|
||||||
return contract.methods
|
return contract.methods
|
||||||
.shardMixByUser(
|
.shardMixByUser(
|
||||||
tokenId,
|
tokenId,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user