update wallet js

This commit is contained in:
cebgcontract 2022-12-09 13:42:32 +08:00
parent a212a5294c
commit 9544638820
5 changed files with 162 additions and 307 deletions

View File

@ -85,6 +85,7 @@
"utility": "cpp",
"variant": "cpp",
"vector": "cpp",
"__bits": "cpp"
"__bits": "cpp",
"__verbose_abort": "cpp"
}
}

View File

@ -67,7 +67,8 @@ public class JcSDK {
MainActivity.app.startActivity(i);
}
}
public static void showQRCode(String funid, String content, String title, String oid) { MainActivity.app.showQRCode(funid, content, title, oid);}
public static void showQRCode(String funid, String content) { MainActivity.app.showQRCode(funid, content, "", "");}
public static void showRestoreQR(String funid, String content, String title, String oid) { MainActivity.app.showQRCode(funid, content, title, oid);}
public static void scanQRCode(String funid, String title) {
MainActivity.app.showQRScan(funid, title);
}

File diff suppressed because one or more lines are too long

View File

@ -5,16 +5,18 @@ console.log(">>begin load wallet main file");
* @param {string} type: wallet type, 0: internal wallet, 1: third party wallet
*/
function initWallet(funId, type, chain) {
type = parseInt(type)
chain = parseInt(chain)
function initWallet(funId, type, chain, channel, test) {
type = parseInt(type);
chain = parseInt(chain);
channel = channel || 0; // 0:google, 1: apple, 2: tiktok
channel = parseInt(channel);
console.log(
`initWallet:: type: ${type}, chain: ${chain}, channel: ${channel}`
);
try {
var wallet;
let wallet;
if (!window.jc || !jc.wallet) {
wallet = new jcwallet.default({
chain,
type
});
wallet = new jcwallet.default({ chain, type });
} else {
wallet = jc.wallet;
}
@ -25,29 +27,29 @@ function initWallet(funId, type, chain) {
.initThirdPartyWallet()
.then(() => {
console.log("walletconnect connect success");
var account = jc.wallet.currentAccount();
jsb.jcCallback(funId,JSON.stringify({errcode: 0,data: account}));
let 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}));
jsb.jcCallback(funId, JSON.stringify({ errcode: 1, errmsg: err }));
});
} else {
wallet.initInternalWallet()
wallet
.initInternalWallet(channel)
.then(() => {
console.log("internal init success");
var address = jc.wallet.nativeAccount;
jsb.jcCallback(funId,JSON.stringify({errcode: 0,data: address}));
let address = jc.wallet.nativeAccount;
jsb.jcCallback(funId, JSON.stringify({ errcode: 0, data: address }));
})
.catch((err) => {
console.log("internal wallet error: " + JSON.stringify(err));
jsb.jcCallback(funId,JSON.stringify({errcode: 1,errmsg: err}));
jsb.jcCallback(funId, JSON.stringify({ errcode: 1, errmsg: err }));
});
}
} catch (err) {
console.error("wallet init with error: " + JSON.stringify(err));
jsb.jcCallback(funId,JSON.stringify({errcode: 1,errmsg: err}));
jsb.jcCallback(funId, JSON.stringify({ errcode: 1, errmsg: err }));
}
}
/**
@ -56,37 +58,21 @@ function initWallet(funId, type, chain) {
function currentAccount(funId) {
try {
let data = jc.wallet.currentAccountData;
return JSON.stringify({errcode: 0,data});
return JSON.stringify({ errcode: 0, data });
} catch (err) {
return JSON.stringify({errcode: 1, errmsg: err});
}
}
/**
* all account for internal wallet
*/
function accountList(funId) {
try {
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 });
}
}
/**
* all chain list we supported
*/
function chainList(funId) {
try {
let data = jc.wallet.chainList;
return JSON.stringify({errcode: 0,data});
return JSON.stringify({ errcode: 0, data });
} catch (err) {
return JSON.stringify({
errcode: 1,
errmsg: err,
});
return JSON.stringify({ errcode: 1, errmsg: err });
}
}
/**
@ -95,7 +81,7 @@ function chainList(funId) {
function currentChain(funId) {
try {
let data = jc.wallet.currentChain;
return JSON.stringify({errcode: 0,data});
return JSON.stringify({ errcode: 0, data });
} catch (err) {
return JSON.stringify({
errcode: 1,
@ -107,15 +93,14 @@ function currentChain(funId) {
* [BOTH]change chain
*/
function changeChain(funId, chainId) {
// chainId = parseInt(chainId);
chainId = 80001;
chainId = parseInt(chainId);
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 }));
});
}
/**
@ -127,132 +112,56 @@ 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 }));
});
}
/**
* add one new account, then active this account
* @return {string} account actived
*/
function createAccount(funId) {
try {
let result = jc.wallet.createAccount();
return JSON.stringify({
errcode: 0,
data: result,
});
} catch (err) {
return JSON.stringify({
errcode: 1,
errmsg: err,
});
}
}
/**
* import account with private key
* @return {string} account actived
*/
function importAccount(funId, privateKey) {
try {
let address = jc.wallet.importAccount(privateKey);
return JSON.stringify({
errcode: 0,
data: address,
});
} catch (err) {
return JSON.stringify({
errcode: 1,
errmsg: err,
});
}
}
/**
* active one account
*/
function selectAccount(funId, address) {
try {
let result = jc.wallet.selectAccount(address);
return JSON.stringify({
errcode: 0,
data: result,
});
} catch (err) {
return JSON.stringify({
errcode: 1,
errmsg: err,
});
}
}
/**
* get balance of ETH
* @param {string} address: account
* @param {string} account: account
* if account is null, we`ll query for current account of wallet
*/
function getEthBalance(funId, address) {
function getEthBalance(funId, account) {
jc.wallet
.getBalance(address)
.getBalance(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 }));
});
}
/**
* send ETH from current account
* @param {string} to: target account
* @param {string} amount:
* @param {string} amount:
*/
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 }));
});
}
/**
* [BOTH] generate ICON with hashed message
* @param {string} msg:
* @param {string} diameter: size of icon
* @param {string} msg:
* @param {string} diameter: size of icon
*/
function generateIcon(funId, msg, diameter) {
try {
diameter = parseFloat(diameter);
let result = jc.wallet.generateIconData(msg, diameter);
return JSON.stringify({
errcode: 0,
data: result,
});
return JSON.stringify({ errcode: 0, data: result });
} catch (err) {
return JSON.stringify({
errcode: 1,
errmsg: err,
});
return JSON.stringify({ errcode: 1, errmsg: err });
}
}
@ -264,122 +173,75 @@ 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 }));
});
}
/**
* get balance of ERC20
* @param {string} address:
* @param {string} account:
* @param {string} address:
* @param {string} account:
*/
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 }));
});
}
/**
* send ERC20 token to to
*/
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) {
function showQRCode(funId, content) {
try {
let result = jc.wallet.restoreFromMnemonic(mnemonic, password);
return JSON.stringify({
errcode: 0,
data: result,
});
jsb.showQRCode(funId, content);
return JSON.stringify({ errcode: 0, data: 1 });
} catch (err) {
return JSON.stringify({
errcode: 1,
errmsg: err,
});
return JSON.stringify({ errcode: 1, errmsg: err });
}
}
function scanQRCode(funId, title) {
try {
console.log('scanQRCode: ' + title)
jsb.scanQRCode(funId, title);
} catch (err) {
return JSON.stringify({
errcode: 1,
errmsg: err,
console.log("scanQRCode: " + title);
jc.wallet.nativeSvr
.scanQRCode(title)
.then((result) => {
jsb.jcCallback(funId, JSON.stringify({ errcode: 0, data: result }));
})
.catch((err) => {
jsb.jcCallback(funId, JSON.stringify({ errcode: 1, errmsg: err }));
});
}
function exportWalletSecKey(funId) {
try {
let key = jsb.walletSecKey(funId);
return JSON.stringify({ errcode: 0, data: key });
} catch (err) {
return JSON.stringify({ errcode: 1, errmsg: err });
}
}
function signWithGoogle(funId) {
jc.wallet.nativeSvr.signWithGoogle(funId)
.then(res => {
console.log(`google sign result: ${typeof res}`)
console.log(res)
jsb.jcCallback(funId,JSON.stringify({errcode: 0,data: res}));
})
.catch(err => {
console.log('google sign error: ' + err);
jsb.jcCallback(funId,JSON.stringify({errcode: 1,errmsg: err}));
})
}
function signOutGoogle(funId) {
jc.wallet.nativeSvr.signOutGoogle(funId)
then(res => {
console.log(`google sign out result: ${typeof res}`)
console.log(res)
jsb.jcCallback(funId,JSON.stringify({errcode: 0,data: res}));
})
.catch(err => {
console.log('google sign out error: ' + err);
jsb.jcCallback(funId,JSON.stringify({errcode: 1,errmsg: err}));
})
}
//function toWalletJNI(funId, url) {
// try {
// jsb.toWallet(url);
// return JSON.stringify({errcode: 0});
// } catch(err) {
// return JSON.stringify({errcode: 1, errmsg: err});
// }
//}
// ======= begin of interact with contract =======
function buyNft721(funId, addresses, values, signature) {
addresses = JSON.parse(addresses)
values = JSON.parse(values)
addresses = JSON.parse(addresses);
values = JSON.parse(values);
jc.wallet.jcStandard
.buyNft721({
addresses,
@ -396,15 +258,15 @@ function buyNft721(funId, addresses, values, signature) {
);
})
.catch((err) => {
jsb.jcCallback(funId,JSON.stringify({errcode: 1,errmsg: err}));
jsb.jcCallback(funId, JSON.stringify({ errcode: 1, errmsg: err }));
});
}
function buyNft1155(funId, addresses, values, ids, amounts, signature) {
addresses = JSON.parse(addresses)
values = JSON.parse(values)
ids = JSON.parse(ids)
amounts = JSON.parse(amounts)
addresses = JSON.parse(addresses);
values = JSON.parse(values);
ids = JSON.parse(ids);
amounts = JSON.parse(amounts);
jc.wallet.jcStandard
.buyNft1155({
@ -424,7 +286,7 @@ function buyNft1155(funId, addresses, values, ids, amounts, signature) {
);
})
.catch((err) => {
jsb.jcCallback(funId,JSON.stringify({errcode: 1,errmsg: err}));
jsb.jcCallback(funId, JSON.stringify({ errcode: 1, errmsg: err }));
});
}
@ -436,31 +298,31 @@ function evolveNft721(
nonce,
signature
) {
tokenIds = JSON.parse(tokenIds)
jc.wallet.jcStandard
.evolve721NFT({
nftAddress,
tokenIds,
startTime,
nonce,
signature,
})
.then((result) => {
jsb.jcCallback(
funId,
JSON.stringify({
errcode: 0,
data: JSON.stringify(result),
})
);
})
.catch((err) => {
jsb.jcCallback(funId,JSON.stringify({errcode: 1,errmsg: err}));
});
tokenIds = JSON.parse(tokenIds);
jc.wallet.jcStandard
.evolve721NFT({
nftAddress,
tokenIds,
startTime,
nonce,
signature,
})
.then((result) => {
jsb.jcCallback(
funId,
JSON.stringify({
errcode: 0,
data: JSON.stringify(result),
})
);
})
.catch((err) => {
jsb.jcCallback(funId, JSON.stringify({ errcode: 1, errmsg: err }));
});
}
function evolveChip(funId, tokenIds, startTime, nonce, signature) {
tokenIds = JSON.parse(tokenIds)
tokenIds = JSON.parse(tokenIds);
jc.wallet.jcStandard
.evolveChip({
tokenIds,
@ -478,7 +340,7 @@ function evolveChip(funId, tokenIds, startTime, nonce, signature) {
);
})
.catch((err) => {
jsb.jcCallback(funId,JSON.stringify({errcode: 1,errmsg: err}));
jsb.jcCallback(funId, JSON.stringify({ errcode: 1, errmsg: err }));
});
}
@ -490,8 +352,8 @@ function mintShardBatchUser(
nonce,
signature
) {
tokenIds = JSON.parse(tokenIds)
amounts = JSON.parse(amounts)
tokenIds = JSON.parse(tokenIds);
amounts = JSON.parse(amounts);
jc.wallet.jcStandard
.mintShardBatchUser({
@ -511,7 +373,7 @@ function mintShardBatchUser(
);
})
.catch((err) => {
jsb.jcCallback(funId,JSON.stringify({errcode: 1,errmsg: err}));
jsb.jcCallback(funId, JSON.stringify({ errcode: 1, errmsg: err }));
});
}
@ -527,8 +389,8 @@ function shardMixByUser(
nonce,
signature
) {
ids = JSON.parse(ids)
amounts = JSON.parse(amounts)
ids = JSON.parse(ids);
amounts = JSON.parse(amounts);
jc.wallet.jcStandard
.shardMixByUser({
@ -552,64 +414,51 @@ function shardMixByUser(
);
})
.catch((err) => {
jsb.jcCallback(funId,JSON.stringify({errcode: 1,errmsg: err}));
});
}
// addresses: [nftId, chip, sign_address]
// values: [token_id,salt_nonce,startTime]
// chipIds: [...chipIds]
function pluginChip(
funId,
addresses,
values,
chipIds,
slots,
signature
) {
console.log('addresses:' + addresses)
console.log('values:' + values)
console.log('chipIds:' + chipIds)
console.log('slots:' + slots)
console.log('signature:' + signature)
addresses = JSON.parse(addresses)
values = JSON.parse(values)
chipIds = JSON.parse(chipIds)
slots = JSON.parse(slots)
jc.wallet.jcStandard
.pluginChip({
addresses,
values,
chipIds,
slots,
signature
})
.then((result) => {
jsb.jcCallback(funId,JSON.stringify({errcode: 0,data: JSON.stringify(result)}));
})
.catch((err) => {
jsb.jcCallback(funId,JSON.stringify({errcode: 1,errmsg: err}));
jsb.jcCallback(funId, JSON.stringify({ errcode: 1, errmsg: err }));
});
}
// addresses: [nftId, chip, sign_address]
// values: [token_id,salt_nonce,startTime]
// chipIds: [...chipIds]
function unplugChip(
funId,
addresses,
values,
chipIds,
slots,
signature
) {
function pluginChip(funId, addresses, values, chipIds, slots, signature) {
console.log("addresses:" + addresses);
console.log("values:" + values);
console.log("chipIds:" + chipIds);
console.log("slots:" + slots);
console.log("signature:" + signature);
addresses = JSON.parse(addresses)
values = JSON.parse(values)
chipIds = JSON.parse(chipIds)
slots = JSON.parse(slots)
addresses = JSON.parse(addresses);
values = JSON.parse(values);
chipIds = JSON.parse(chipIds);
slots = JSON.parse(slots);
jc.wallet.jcStandard
.pluginChip({
addresses,
values,
chipIds,
slots,
signature,
})
.then((result) => {
jsb.jcCallback(
funId,
JSON.stringify({ errcode: 0, data: JSON.stringify(result) })
);
})
.catch((err) => {
jsb.jcCallback(funId, JSON.stringify({ errcode: 1, errmsg: err }));
});
}
// addresses: [nftId, chip, sign_address]
// values: [token_id,salt_nonce,startTime]
// chipIds: [...chipIds]
function unplugChip(funId, addresses, values, chipIds, slots, signature) {
addresses = JSON.parse(addresses);
values = JSON.parse(values);
chipIds = JSON.parse(chipIds);
slots = JSON.parse(slots);
jc.wallet.jcStandard
.unplugChip({
@ -617,12 +466,16 @@ function unplugChip(
values,
chipIds,
slots,
signature
signature,
})
.then((result) => {
jsb.jcCallback(funId,JSON.stringify({errcode: 0,data: JSON.stringify(result)}));
jsb.jcCallback(
funId,
JSON.stringify({ errcode: 0, data: JSON.stringify(result) })
);
})
.catch((err) => {
jsb.jcCallback(funId,JSON.stringify({errcode: 1,errmsg: err}));
jsb.jcCallback(funId, JSON.stringify({ errcode: 1, errmsg: err }));
});
}
// ======= end of interact with contract =======

BIN
keys/test Normal file

Binary file not shown.