增加一些常用的链交互方法
This commit is contained in:
parent
8a5a002430
commit
6b20fe9bea
@ -142,11 +142,12 @@ public class MainActivity extends Activity
|
||||
mGoogleSignInClient = GoogleSignIn.getClient(this, gso);
|
||||
// end of google sign
|
||||
|
||||
// begin of google oauth sign
|
||||
mExecutor = Executors.newSingleThreadExecutor();
|
||||
mAuthStateManager = AuthStateManager.getInstance(this);
|
||||
mConfiguration = JConfiguration.getInstance(this);
|
||||
|
||||
mExecutor.submit(this::initializeAppAuth);
|
||||
// end of google oauth sign
|
||||
}
|
||||
|
||||
@Override
|
||||
|
File diff suppressed because one or more lines are too long
530
js/main.js
530
js/main.js
@ -1,4 +1,4 @@
|
||||
console.log('>>begin load wallet main file')
|
||||
console.log(">>begin load wallet main file");
|
||||
|
||||
/**
|
||||
* 初始化钱包, 所有操作进行前, 必须调用此方法
|
||||
@ -6,35 +6,63 @@ console.log('>>begin load wallet main file')
|
||||
* @param {string} password: 用于加密钱包数据的密码
|
||||
*/
|
||||
function initWallet(funId, type, password) {
|
||||
type = 0
|
||||
type = 1;
|
||||
try {
|
||||
var wallet
|
||||
var wallet;
|
||||
if (!window.jc || !jc.wallet) {
|
||||
wallet = new jcwallet.default({ chain: 322, type, password })
|
||||
wallet = new jcwallet.default({
|
||||
chain: 322,
|
||||
type,
|
||||
password,
|
||||
});
|
||||
} else {
|
||||
wallet = jc.wallet
|
||||
wallet = jc.wallet;
|
||||
}
|
||||
type = parseInt(type)
|
||||
type = parseInt(type);
|
||||
if (type === 1) {
|
||||
console.log('wallet init success, begin connect')
|
||||
console.log("wallet init success, begin connect");
|
||||
wallet
|
||||
.initThirdPartyWallet()
|
||||
.then(() => {
|
||||
console.log('walletconnect connect success')
|
||||
var account = jc.wallet.currentAccount()
|
||||
jsb.jcCallback(funId, JSON.stringify({ errcode: 0, data: account }))
|
||||
console.log("walletconnect connect success");
|
||||
var account = jc.wallet.currentAccount();
|
||||
jsb.jcCallback(
|
||||
funId,
|
||||
JSON.stringify({
|
||||
errcode: 0,
|
||||
data: account,
|
||||
})
|
||||
);
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log('walletconnect connect error: ' + JSON.stringify(err))
|
||||
jsb.jcCallback(funId, JSON.stringify({ errcode: 1, errmsg: err }))
|
||||
})
|
||||
console.log("walletconnect connect error: " + JSON.stringify(err));
|
||||
jsb.jcCallback(
|
||||
funId,
|
||||
JSON.stringify({
|
||||
errcode: 1,
|
||||
errmsg: err,
|
||||
})
|
||||
);
|
||||
});
|
||||
} else {
|
||||
let address = jc.wallet.currentAccount().address
|
||||
jsb.jcCallback(funId, JSON.stringify({ errcode: 0, data: address }))
|
||||
let address = jc.wallet.currentAccount().address;
|
||||
jsb.jcCallback(
|
||||
funId,
|
||||
JSON.stringify({
|
||||
errcode: 0,
|
||||
data: address,
|
||||
})
|
||||
);
|
||||
}
|
||||
} catch (err) {
|
||||
console.error('wallet init with error: ' + JSON.stringify(err))
|
||||
jsb.jcCallback(funId, JSON.stringify({ errcode: 1, errmsg: err }))
|
||||
console.error("wallet init with error: " + JSON.stringify(err));
|
||||
jsb.jcCallback(
|
||||
funId,
|
||||
JSON.stringify({
|
||||
errcode: 1,
|
||||
errmsg: err,
|
||||
})
|
||||
);
|
||||
}
|
||||
}
|
||||
/**
|
||||
@ -42,10 +70,16 @@ function initWallet(funId, type, password) {
|
||||
*/
|
||||
function currentAccount(funId) {
|
||||
try {
|
||||
let data = jc.wallet.currentAccountData
|
||||
return JSON.stringify({ errcode: 0, data })
|
||||
let data = jc.wallet.currentAccountData;
|
||||
return JSON.stringify({
|
||||
errcode: 0,
|
||||
data,
|
||||
});
|
||||
} catch (err) {
|
||||
return JSON.stringify({ errcode: 1, errmsg: err })
|
||||
return JSON.stringify({
|
||||
errcode: 1,
|
||||
errmsg: err,
|
||||
});
|
||||
}
|
||||
}
|
||||
/**
|
||||
@ -53,10 +87,16 @@ function currentAccount(funId) {
|
||||
*/
|
||||
function accountList(funId) {
|
||||
try {
|
||||
let data = jc.wallet.accounts
|
||||
return JSON.stringify({ errcode: 0, data })
|
||||
let data = jc.wallet.accounts;
|
||||
return JSON.stringify({
|
||||
errcode: 0,
|
||||
data,
|
||||
});
|
||||
} catch (err) {
|
||||
return JSON.stringify({ errcode: 1, errmsg: err })
|
||||
return JSON.stringify({
|
||||
errcode: 1,
|
||||
errmsg: err,
|
||||
});
|
||||
}
|
||||
}
|
||||
/**
|
||||
@ -64,10 +104,16 @@ function accountList(funId) {
|
||||
*/
|
||||
function chainList(funId) {
|
||||
try {
|
||||
let data = jc.wallet.chainList
|
||||
return JSON.stringify({ errcode: 0, data })
|
||||
let data = jc.wallet.chainList;
|
||||
return JSON.stringify({
|
||||
errcode: 0,
|
||||
data,
|
||||
});
|
||||
} catch (err) {
|
||||
return JSON.stringify({ errcode: 1, errmsg: err })
|
||||
return JSON.stringify({
|
||||
errcode: 1,
|
||||
errmsg: err,
|
||||
});
|
||||
}
|
||||
}
|
||||
/**
|
||||
@ -75,10 +121,16 @@ function chainList(funId) {
|
||||
*/
|
||||
function currentChain(funId) {
|
||||
try {
|
||||
let data = jc.wallet.currentChain
|
||||
return JSON.stringify({ errcode: 0, data })
|
||||
let data = jc.wallet.currentChain;
|
||||
return JSON.stringify({
|
||||
errcode: 0,
|
||||
data,
|
||||
});
|
||||
} catch (err) {
|
||||
return JSON.stringify({ errcode: 1, errmsg: err })
|
||||
return JSON.stringify({
|
||||
errcode: 1,
|
||||
errmsg: err,
|
||||
});
|
||||
}
|
||||
}
|
||||
/**
|
||||
@ -87,15 +139,27 @@ function currentChain(funId) {
|
||||
*/
|
||||
function changeChain(funId, chainId) {
|
||||
// chainId = parseInt(chainId);
|
||||
chainId = 80001
|
||||
chainId = 80001;
|
||||
jc.wallet
|
||||
.updateCurrentChain(chainId)
|
||||
.then((result) => {
|
||||
jsb.jcCallback(funId, JSON.stringify({ errcode: 0, data: result }))
|
||||
jsb.jcCallback(
|
||||
funId,
|
||||
JSON.stringify({
|
||||
errcode: 0,
|
||||
data: result,
|
||||
})
|
||||
);
|
||||
})
|
||||
.catch((err) => {
|
||||
jsb.jcCallback(funId, JSON.stringify({ errcode: 1, errmsg: err }))
|
||||
})
|
||||
jsb.jcCallback(
|
||||
funId,
|
||||
JSON.stringify({
|
||||
errcode: 1,
|
||||
errmsg: err,
|
||||
})
|
||||
);
|
||||
});
|
||||
}
|
||||
/**
|
||||
* [BOTH]获取当前帐户的登录签名
|
||||
@ -106,11 +170,23 @@ function loginSign(funId, nonce, tips) {
|
||||
jc.wallet
|
||||
.loginSign(nonce, tips)
|
||||
.then((result) => {
|
||||
jsb.jcCallback(funId, JSON.stringify({ errcode: 0, data: result }))
|
||||
jsb.jcCallback(
|
||||
funId,
|
||||
JSON.stringify({
|
||||
errcode: 0,
|
||||
data: result,
|
||||
})
|
||||
);
|
||||
})
|
||||
.catch((err) => {
|
||||
jsb.jcCallback(funId, JSON.stringify({ errcode: 1, errmsg: err }))
|
||||
})
|
||||
jsb.jcCallback(
|
||||
funId,
|
||||
JSON.stringify({
|
||||
errcode: 1,
|
||||
errmsg: err,
|
||||
})
|
||||
);
|
||||
});
|
||||
}
|
||||
/**
|
||||
* 创建一个新帐号, 并将新建帐号设为当前激活帐号
|
||||
@ -118,10 +194,16 @@ function loginSign(funId, nonce, tips) {
|
||||
*/
|
||||
function createAccount(funId) {
|
||||
try {
|
||||
let result = jc.wallet.createAccount()
|
||||
return JSON.stringify({ errcode: 0, data: result })
|
||||
let result = jc.wallet.createAccount();
|
||||
return JSON.stringify({
|
||||
errcode: 0,
|
||||
data: result,
|
||||
});
|
||||
} catch (err) {
|
||||
return JSON.stringify({ errcode: 1, errmsg: err })
|
||||
return JSON.stringify({
|
||||
errcode: 1,
|
||||
errmsg: err,
|
||||
});
|
||||
}
|
||||
}
|
||||
/**
|
||||
@ -130,10 +212,16 @@ function createAccount(funId) {
|
||||
*/
|
||||
function importAccount(funId, privateKey) {
|
||||
try {
|
||||
let address = jc.wallet.importAccount(privateKey)
|
||||
return JSON.stringify({ errcode: 0, data: address })
|
||||
let address = jc.wallet.importAccount(privateKey);
|
||||
return JSON.stringify({
|
||||
errcode: 0,
|
||||
data: address,
|
||||
});
|
||||
} catch (err) {
|
||||
return JSON.stringify({ errcode: 1, errmsg: err })
|
||||
return JSON.stringify({
|
||||
errcode: 1,
|
||||
errmsg: err,
|
||||
});
|
||||
}
|
||||
}
|
||||
/**
|
||||
@ -141,10 +229,16 @@ function importAccount(funId, privateKey) {
|
||||
*/
|
||||
function selectAccount(funId, address) {
|
||||
try {
|
||||
let result = jc.wallet.selectAccount(address)
|
||||
return JSON.stringify({ errcode: 0, data: result })
|
||||
let result = jc.wallet.selectAccount(address);
|
||||
return JSON.stringify({
|
||||
errcode: 0,
|
||||
data: result,
|
||||
});
|
||||
} catch (err) {
|
||||
return JSON.stringify({ errcode: 1, errmsg: err })
|
||||
return JSON.stringify({
|
||||
errcode: 1,
|
||||
errmsg: err,
|
||||
});
|
||||
}
|
||||
}
|
||||
/**
|
||||
@ -156,11 +250,23 @@ function getEthBalance(funId, address) {
|
||||
jc.wallet
|
||||
.getBalance(address)
|
||||
.then((result) => {
|
||||
jsb.jcCallback(funId, JSON.stringify({ errcode: 0, data: result }))
|
||||
jsb.jcCallback(
|
||||
funId,
|
||||
JSON.stringify({
|
||||
errcode: 0,
|
||||
data: result,
|
||||
})
|
||||
);
|
||||
})
|
||||
.catch((err) => {
|
||||
jsb.jcCallback(funId, JSON.stringify({ errcode: 1, errmsg: err }))
|
||||
})
|
||||
jsb.jcCallback(
|
||||
funId,
|
||||
JSON.stringify({
|
||||
errcode: 1,
|
||||
errmsg: err,
|
||||
})
|
||||
);
|
||||
});
|
||||
}
|
||||
/**
|
||||
* 将当前帐户里的基础代币转账给别人
|
||||
@ -171,11 +277,23 @@ function sendEth(funId, to, amount) {
|
||||
jc.wallet
|
||||
.sendEth(to, amount)
|
||||
.then((result) => {
|
||||
jsb.jcCallback(funId, JSON.stringify({ errcode: 0, data: result }))
|
||||
jsb.jcCallback(
|
||||
funId,
|
||||
JSON.stringify({
|
||||
errcode: 0,
|
||||
data: result,
|
||||
})
|
||||
);
|
||||
})
|
||||
.catch((err) => {
|
||||
jsb.jcCallback(funId, JSON.stringify({ errcode: 1, errmsg: err }))
|
||||
})
|
||||
jsb.jcCallback(
|
||||
funId,
|
||||
JSON.stringify({
|
||||
errcode: 1,
|
||||
errmsg: err,
|
||||
})
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@ -185,28 +303,46 @@ function sendEth(funId, to, amount) {
|
||||
*/
|
||||
function generateIcon(funId, msg, diameter) {
|
||||
try {
|
||||
diameter = parseFloat(diameter)
|
||||
let result = jc.wallet.generateIconData(msg, diameter)
|
||||
return JSON.stringify({ errcode: 0, data: result })
|
||||
diameter = parseFloat(diameter);
|
||||
let result = jc.wallet.generateIconData(msg, diameter);
|
||||
return JSON.stringify({
|
||||
errcode: 0,
|
||||
data: result,
|
||||
});
|
||||
} catch (err) {
|
||||
return JSON.stringify({ errcode: 1, errmsg: err })
|
||||
return JSON.stringify({
|
||||
errcode: 1,
|
||||
errmsg: err,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取ERC20代币的基本信息, 包括symbol和decimal
|
||||
* 这些信息一般都不会变化, 客户端需缓存这些信息
|
||||
* @param {string} address: 代币的地址
|
||||
* @param {string} address: 代币的地址initThirdPartyWallet
|
||||
*/
|
||||
function erc20Info(funId, address) {
|
||||
jc.wallet
|
||||
.erc20Info(address)
|
||||
.then((result) => {
|
||||
jsb.jcCallback(funId, JSON.stringify({ errcode: 0, data: result }))
|
||||
jsb.jcCallback(
|
||||
funId,
|
||||
JSON.stringify({
|
||||
errcode: 0,
|
||||
data: result,
|
||||
})
|
||||
);
|
||||
})
|
||||
.catch((err) => {
|
||||
jsb.jcCallback(funId, JSON.stringify({ errcode: 1, errmsg: err }))
|
||||
})
|
||||
jsb.jcCallback(
|
||||
funId,
|
||||
JSON.stringify({
|
||||
errcode: 1,
|
||||
errmsg: err,
|
||||
})
|
||||
);
|
||||
});
|
||||
}
|
||||
/**
|
||||
* 获取erc20代币的余额
|
||||
@ -217,55 +353,97 @@ function erc20Balance(funId, address, account) {
|
||||
jc.wallet
|
||||
.erc20Balance(address, account)
|
||||
.then((result) => {
|
||||
jsb.jcCallback(funId, JSON.stringify({ errcode: 0, data: result }))
|
||||
jsb.jcCallback(
|
||||
funId,
|
||||
JSON.stringify({
|
||||
errcode: 0,
|
||||
data: result,
|
||||
})
|
||||
);
|
||||
})
|
||||
.catch((err) => {
|
||||
jsb.jcCallback(funId, JSON.stringify({ errcode: 1, errmsg: err }))
|
||||
})
|
||||
jsb.jcCallback(
|
||||
funId,
|
||||
JSON.stringify({
|
||||
errcode: 1,
|
||||
errmsg: err,
|
||||
})
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
function sendErc20(funId, address, to, amount) {
|
||||
jc.wallet
|
||||
.sendErc20(address, to, amount)
|
||||
.then((result) => {
|
||||
jsb.jcCallback(funId, JSON.stringify({ errcode: 0, data: result }))
|
||||
jsb.jcCallback(
|
||||
funId,
|
||||
JSON.stringify({
|
||||
errcode: 0,
|
||||
data: result,
|
||||
})
|
||||
);
|
||||
})
|
||||
.catch((err) => {
|
||||
jsb.jcCallback(funId, JSON.stringify({ errcode: 1, errmsg: err }))
|
||||
})
|
||||
jsb.jcCallback(
|
||||
funId,
|
||||
JSON.stringify({
|
||||
errcode: 1,
|
||||
errmsg: err,
|
||||
})
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
function restoreFromMnemonic(funId, mnemonic, password) {
|
||||
try {
|
||||
let result = jc.wallet.restoreFromMnemonic(mnemonic, password)
|
||||
return JSON.stringify({ errcode: 0, data: result })
|
||||
let result = jc.wallet.restoreFromMnemonic(mnemonic, password);
|
||||
return JSON.stringify({
|
||||
errcode: 0,
|
||||
data: result,
|
||||
});
|
||||
} catch (err) {
|
||||
return JSON.stringify({ errcode: 1, errmsg: err })
|
||||
return JSON.stringify({
|
||||
errcode: 1,
|
||||
errmsg: err,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function scanQRCode(funId, title) {
|
||||
try {
|
||||
jsb.scanQRCode(funId, title)
|
||||
jsb.scanQRCode(funId, title);
|
||||
} catch (err) {
|
||||
return JSON.stringify({ errcode: 1, errmsg: err })
|
||||
return JSON.stringify({
|
||||
errcode: 1,
|
||||
errmsg: err,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function signWithGoogle(funId) {
|
||||
try {
|
||||
jsb.signWithGoogle(funId)
|
||||
jsb.signWithGoogle(funId);
|
||||
} catch (err) {
|
||||
return JSON.stringify({ errcode: 1, errmsg: err })
|
||||
return JSON.stringify({
|
||||
errcode: 1,
|
||||
errmsg: err,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function signOutGoogle(funId) {
|
||||
try {
|
||||
jsb.signOutGoogle(funId)
|
||||
return JSON.stringify({ errcode: 0, data: 'success' })
|
||||
jsb.signOutGoogle(funId);
|
||||
return JSON.stringify({
|
||||
errcode: 0,
|
||||
data: "success",
|
||||
});
|
||||
} catch (err) {
|
||||
return JSON.stringify({ errcode: 1, errmsg: err })
|
||||
return JSON.stringify({
|
||||
errcode: 1,
|
||||
errmsg: err,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@ -277,3 +455,205 @@ function signOutGoogle(funId) {
|
||||
// return JSON.stringify({errcode: 1, errmsg: err});
|
||||
// }
|
||||
//}
|
||||
|
||||
function buyNft721(funId, addresses, values, signature) {
|
||||
jc.wallet.jcStandard
|
||||
.buyNft721({
|
||||
addresses,
|
||||
values,
|
||||
signature,
|
||||
})
|
||||
.then((result) => {
|
||||
jsb.jcCallback(
|
||||
funId,
|
||||
JSON.stringify({
|
||||
errcode: 0,
|
||||
data: result,
|
||||
})
|
||||
);
|
||||
})
|
||||
.catch((err) => {
|
||||
jsb.jcCallback(
|
||||
funId,
|
||||
JSON.stringify({
|
||||
errcode: 1,
|
||||
errmsg: err,
|
||||
})
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
function buyNft1155(funId, addresses, values, ids, amounts, signature) {
|
||||
jc.wallet.jcStandard
|
||||
.buyNft1155({
|
||||
addresses,
|
||||
values,
|
||||
ids,
|
||||
amounts,
|
||||
signature,
|
||||
})
|
||||
.then((result) => {
|
||||
jsb.jcCallback(
|
||||
funId,
|
||||
JSON.stringify({
|
||||
errcode: 0,
|
||||
data: result,
|
||||
})
|
||||
);
|
||||
})
|
||||
.catch((err) => {
|
||||
jsb.jcCallback(
|
||||
funId,
|
||||
JSON.stringify({
|
||||
errcode: 1,
|
||||
errmsg: err,
|
||||
})
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
function evolveNft721(
|
||||
funId,
|
||||
nftAddress,
|
||||
tokenIds,
|
||||
startTime,
|
||||
nonce,
|
||||
signature
|
||||
) {
|
||||
{
|
||||
jc.wallet.jcStandard
|
||||
.evolve721NFT({
|
||||
nftAddress,
|
||||
tokenIds,
|
||||
startTime,
|
||||
nonce,
|
||||
signature,
|
||||
})
|
||||
.then((result) => {
|
||||
jsb.jcCallback(
|
||||
funId,
|
||||
JSON.stringify({
|
||||
errcode: 0,
|
||||
data: result,
|
||||
})
|
||||
);
|
||||
})
|
||||
.catch((err) => {
|
||||
jsb.jcCallback(
|
||||
funId,
|
||||
JSON.stringify({
|
||||
errcode: 1,
|
||||
errmsg: err,
|
||||
})
|
||||
);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function evolveChip(funId, tokenIds, startTime, nonce, signature) {
|
||||
jc.wallet.jcStandard
|
||||
.evolveChip({
|
||||
tokenIds,
|
||||
startTime,
|
||||
nonce,
|
||||
signature,
|
||||
})
|
||||
.then((result) => {
|
||||
jsb.jcCallback(
|
||||
funId,
|
||||
JSON.stringify({
|
||||
errcode: 0,
|
||||
data: result,
|
||||
})
|
||||
);
|
||||
})
|
||||
.catch((err) => {
|
||||
jsb.jcCallback(
|
||||
funId,
|
||||
JSON.stringify({
|
||||
errcode: 1,
|
||||
errmsg: err,
|
||||
})
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
function mintShardBatchUser(
|
||||
funId,
|
||||
tokenIds,
|
||||
amounts,
|
||||
startTime,
|
||||
nonce,
|
||||
signature
|
||||
) {
|
||||
jc.wallet.jcStandard
|
||||
.mintShardBatchUser({
|
||||
tokenIds,
|
||||
amounts,
|
||||
startTime,
|
||||
nonce,
|
||||
signature,
|
||||
})
|
||||
.then((result) => {
|
||||
jsb.jcCallback(
|
||||
funId,
|
||||
JSON.stringify({
|
||||
errcode: 0,
|
||||
data: result,
|
||||
})
|
||||
);
|
||||
})
|
||||
.catch((err) => {
|
||||
jsb.jcCallback(
|
||||
funId,
|
||||
JSON.stringify({
|
||||
errcode: 1,
|
||||
errmsg: err,
|
||||
})
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
function shardMixByUser(
|
||||
funId,
|
||||
tokenId,
|
||||
nftType,
|
||||
payToken,
|
||||
payAmount,
|
||||
ids,
|
||||
amounts,
|
||||
startTime,
|
||||
nonce,
|
||||
signature
|
||||
) {
|
||||
jc.wallet.jcStandard
|
||||
.shardMixByUser({
|
||||
tokenId,
|
||||
nftType,
|
||||
payToken,
|
||||
payAmount,
|
||||
ids,
|
||||
amounts,
|
||||
startTime,
|
||||
nonce,
|
||||
signature,
|
||||
})
|
||||
.then((result) => {
|
||||
jsb.jcCallback(
|
||||
funId,
|
||||
JSON.stringify({
|
||||
errcode: 0,
|
||||
data: result,
|
||||
})
|
||||
);
|
||||
})
|
||||
.catch((err) => {
|
||||
jsb.jcCallback(
|
||||
funId,
|
||||
JSON.stringify({
|
||||
errcode: 1,
|
||||
errmsg: err,
|
||||
})
|
||||
);
|
||||
});
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user