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", "utility": "cpp",
"variant": "cpp", "variant": "cpp",
"vector": "cpp", "vector": "cpp",
"__bits": "cpp" "__bits": "cpp",
"__verbose_abort": "cpp"
} }
} }

View File

@ -67,7 +67,8 @@ public class JcSDK {
MainActivity.app.startActivity(i); 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) { public static void scanQRCode(String funid, String title) {
MainActivity.app.showQRScan(funid, 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 * @param {string} type: wallet type, 0: internal wallet, 1: third party wallet
*/ */
function initWallet(funId, type, chain) { function initWallet(funId, type, chain, channel, test) {
type = parseInt(type) type = parseInt(type);
chain = parseInt(chain) 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 { try {
var wallet; let wallet;
if (!window.jc || !jc.wallet) { if (!window.jc || !jc.wallet) {
wallet = new jcwallet.default({ wallet = new jcwallet.default({ chain, type });
chain,
type
});
} else { } else {
wallet = jc.wallet; wallet = jc.wallet;
} }
@ -25,29 +27,29 @@ function initWallet(funId, type, chain) {
.initThirdPartyWallet() .initThirdPartyWallet()
.then(() => { .then(() => {
console.log("walletconnect connect success"); console.log("walletconnect connect success");
var account = jc.wallet.currentAccount(); let account = jc.wallet.currentAccount();
jsb.jcCallback(funId,JSON.stringify({errcode: 0,data: account})); jsb.jcCallback(funId, JSON.stringify({ errcode: 0, data: account }));
}) })
.catch((err) => { .catch((err) => {
console.log("walletconnect connect error: " + JSON.stringify(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 { } else {
wallet.initInternalWallet() wallet
.initInternalWallet(channel)
.then(() => { .then(() => {
console.log("internal init success"); console.log("internal init success");
var address = jc.wallet.nativeAccount; let address = jc.wallet.nativeAccount;
jsb.jcCallback(funId,JSON.stringify({errcode: 0,data: address})); jsb.jcCallback(funId, JSON.stringify({ errcode: 0, data: address }));
}) })
.catch((err) => { .catch((err) => {
console.log("internal wallet error: " + JSON.stringify(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) { } catch (err) {
console.error("wallet init with error: " + JSON.stringify(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) { function currentAccount(funId) {
try { try {
let data = jc.wallet.currentAccountData; let data = jc.wallet.currentAccountData;
return JSON.stringify({errcode: 0,data}); return JSON.stringify({ errcode: 0, data });
} catch (err) { } catch (err) {
return JSON.stringify({errcode: 1, errmsg: 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,
});
} }
} }
/** /**
* all chain list we supported * all chain list we supported
*/ */
function chainList(funId) { function chainList(funId) {
try { try {
let data = jc.wallet.chainList; let data = jc.wallet.chainList;
return JSON.stringify({errcode: 0,data}); return JSON.stringify({ errcode: 0, data });
} catch (err) { } catch (err) {
return JSON.stringify({ return JSON.stringify({ errcode: 1, errmsg: err });
errcode: 1,
errmsg: err,
});
} }
} }
/** /**
@ -95,7 +81,7 @@ function chainList(funId) {
function currentChain(funId) { function currentChain(funId) {
try { try {
let data = jc.wallet.currentChain; let data = jc.wallet.currentChain;
return JSON.stringify({errcode: 0,data}); return JSON.stringify({ errcode: 0, data });
} catch (err) { } catch (err) {
return JSON.stringify({ return JSON.stringify({
errcode: 1, errcode: 1,
@ -107,15 +93,14 @@ function currentChain(funId) {
* [BOTH]change chain * [BOTH]change chain
*/ */
function changeChain(funId, chainId) { function changeChain(funId, chainId) {
// chainId = parseInt(chainId); chainId = parseInt(chainId);
chainId = 80001;
jc.wallet jc.wallet
.updateCurrentChain(chainId) .updateCurrentChain(chainId)
.then((result) => { .then((result) => {
jsb.jcCallback(funId,JSON.stringify({errcode: 0,data: result})); jsb.jcCallback(funId, JSON.stringify({ errcode: 0, data: result }));
}) })
.catch((err) => { .catch((err) => {
jsb.jcCallback(funId,JSON.stringify({errcode: 1,errmsg: err})); jsb.jcCallback(funId, JSON.stringify({ errcode: 1, errmsg: err }));
}); });
} }
/** /**
@ -127,90 +112,26 @@ function loginSign(funId, nonce, tips) {
jc.wallet jc.wallet
.loginSign(nonce, tips) .loginSign(nonce, tips)
.then((result) => { .then((result) => {
jsb.jcCallback( jsb.jcCallback(funId, JSON.stringify({ errcode: 0, data: result }));
funId,
JSON.stringify({
errcode: 0,
data: result,
})
);
}) })
.catch((err) => { .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 * get balance of ETH
* @param {string} address: account * @param {string} account: account
* if account is null, we`ll query for current account of wallet * if account is null, we`ll query for current account of wallet
*/ */
function getEthBalance(funId, address) { function getEthBalance(funId, account) {
jc.wallet jc.wallet
.getBalance(address) .getBalance(account)
.then((result) => { .then((result) => {
jsb.jcCallback( jsb.jcCallback(funId, JSON.stringify({ errcode: 0, data: result }));
funId,
JSON.stringify({
errcode: 0,
data: result,
})
);
}) })
.catch((err) => { .catch((err) => {
jsb.jcCallback(funId,JSON.stringify({errcode: 1,errmsg: err})); jsb.jcCallback(funId, JSON.stringify({ errcode: 1, errmsg: err }));
}); });
} }
/** /**
@ -222,16 +143,10 @@ function sendEth(funId, to, amount) {
jc.wallet jc.wallet
.sendEth(to, amount) .sendEth(to, amount)
.then((result) => { .then((result) => {
jsb.jcCallback( jsb.jcCallback(funId, JSON.stringify({ errcode: 0, data: result }));
funId,
JSON.stringify({
errcode: 0,
data: result,
})
);
}) })
.catch((err) => { .catch((err) => {
jsb.jcCallback(funId,JSON.stringify({errcode: 1,errmsg: err})); jsb.jcCallback(funId, JSON.stringify({ errcode: 1, errmsg: err }));
}); });
} }
@ -244,15 +159,9 @@ function generateIcon(funId, msg, diameter) {
try { try {
diameter = parseFloat(diameter); diameter = parseFloat(diameter);
let result = jc.wallet.generateIconData(msg, diameter); let result = jc.wallet.generateIconData(msg, diameter);
return JSON.stringify({ return JSON.stringify({ errcode: 0, data: result });
errcode: 0,
data: result,
});
} catch (err) { } catch (err) {
return JSON.stringify({ return JSON.stringify({ errcode: 1, errmsg: err });
errcode: 1,
errmsg: err,
});
} }
} }
@ -264,16 +173,10 @@ function erc20Info(funId, address) {
jc.wallet jc.wallet
.erc20Info(address) .erc20Info(address)
.then((result) => { .then((result) => {
jsb.jcCallback( jsb.jcCallback(funId, JSON.stringify({ errcode: 0, data: result }));
funId,
JSON.stringify({
errcode: 0,
data: result,
})
);
}) })
.catch((err) => { .catch((err) => {
jsb.jcCallback(funId,JSON.stringify({errcode: 1,errmsg: err})); jsb.jcCallback(funId, JSON.stringify({ errcode: 1, errmsg: err }));
}); });
} }
/** /**
@ -285,101 +188,60 @@ function erc20Balance(funId, address, account) {
jc.wallet jc.wallet
.erc20Balance(address, account) .erc20Balance(address, account)
.then((result) => { .then((result) => {
jsb.jcCallback( jsb.jcCallback(funId, JSON.stringify({ errcode: 0, data: result }));
funId,
JSON.stringify({
errcode: 0,
data: result,
})
);
}) })
.catch((err) => { .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) { function sendErc20(funId, address, to, amount) {
jc.wallet jc.wallet
.sendErc20(address, to, amount) .sendErc20(address, to, amount)
.then((result) => { .then((result) => {
jsb.jcCallback( jsb.jcCallback(funId, JSON.stringify({ errcode: 0, data: result }));
funId,
JSON.stringify({
errcode: 0,
data: result,
})
);
}) })
.catch((err) => { .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 { try {
let result = jc.wallet.restoreFromMnemonic(mnemonic, password); jsb.showQRCode(funId, content);
return JSON.stringify({ return JSON.stringify({ errcode: 0, data: 1 });
errcode: 0,
data: result,
});
} catch (err) { } catch (err) {
return JSON.stringify({ return JSON.stringify({ errcode: 1, errmsg: err });
errcode: 1,
errmsg: err,
});
} }
} }
function scanQRCode(funId, title) { function scanQRCode(funId, title) {
try { console.log("scanQRCode: " + title);
console.log('scanQRCode: ' + title) jc.wallet.nativeSvr
jsb.scanQRCode(funId, title); .scanQRCode(title)
} catch (err) { .then((result) => {
return JSON.stringify({ jsb.jcCallback(funId, JSON.stringify({ errcode: 0, data: result }));
errcode: 1, })
errmsg: err, .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) { // ======= begin of interact with contract =======
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});
// }
//}
function buyNft721(funId, addresses, values, signature) { function buyNft721(funId, addresses, values, signature) {
addresses = JSON.parse(addresses) addresses = JSON.parse(addresses);
values = JSON.parse(values) values = JSON.parse(values);
jc.wallet.jcStandard jc.wallet.jcStandard
.buyNft721({ .buyNft721({
addresses, addresses,
@ -396,15 +258,15 @@ function buyNft721(funId, addresses, values, signature) {
); );
}) })
.catch((err) => { .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) { function buyNft1155(funId, addresses, values, ids, amounts, signature) {
addresses = JSON.parse(addresses) addresses = JSON.parse(addresses);
values = JSON.parse(values) values = JSON.parse(values);
ids = JSON.parse(ids) ids = JSON.parse(ids);
amounts = JSON.parse(amounts) amounts = JSON.parse(amounts);
jc.wallet.jcStandard jc.wallet.jcStandard
.buyNft1155({ .buyNft1155({
@ -424,7 +286,7 @@ function buyNft1155(funId, addresses, values, ids, amounts, signature) {
); );
}) })
.catch((err) => { .catch((err) => {
jsb.jcCallback(funId,JSON.stringify({errcode: 1,errmsg: err})); jsb.jcCallback(funId, JSON.stringify({ errcode: 1, errmsg: err }));
}); });
} }
@ -436,7 +298,7 @@ function evolveNft721(
nonce, nonce,
signature signature
) { ) {
tokenIds = JSON.parse(tokenIds) tokenIds = JSON.parse(tokenIds);
jc.wallet.jcStandard jc.wallet.jcStandard
.evolve721NFT({ .evolve721NFT({
nftAddress, nftAddress,
@ -455,12 +317,12 @@ function evolveNft721(
); );
}) })
.catch((err) => { .catch((err) => {
jsb.jcCallback(funId,JSON.stringify({errcode: 1,errmsg: err})); jsb.jcCallback(funId, JSON.stringify({ errcode: 1, errmsg: err }));
}); });
} }
function evolveChip(funId, tokenIds, startTime, nonce, signature) { function evolveChip(funId, tokenIds, startTime, nonce, signature) {
tokenIds = JSON.parse(tokenIds) tokenIds = JSON.parse(tokenIds);
jc.wallet.jcStandard jc.wallet.jcStandard
.evolveChip({ .evolveChip({
tokenIds, tokenIds,
@ -478,7 +340,7 @@ function evolveChip(funId, tokenIds, startTime, nonce, signature) {
); );
}) })
.catch((err) => { .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, nonce,
signature signature
) { ) {
tokenIds = JSON.parse(tokenIds) tokenIds = JSON.parse(tokenIds);
amounts = JSON.parse(amounts) amounts = JSON.parse(amounts);
jc.wallet.jcStandard jc.wallet.jcStandard
.mintShardBatchUser({ .mintShardBatchUser({
@ -511,7 +373,7 @@ function mintShardBatchUser(
); );
}) })
.catch((err) => { .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, nonce,
signature signature
) { ) {
ids = JSON.parse(ids) ids = JSON.parse(ids);
amounts = JSON.parse(amounts) amounts = JSON.parse(amounts);
jc.wallet.jcStandard jc.wallet.jcStandard
.shardMixByUser({ .shardMixByUser({
@ -552,64 +414,51 @@ function shardMixByUser(
); );
}) })
.catch((err) => { .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 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}));
}); });
} }
// addresses: [nftId, chip, sign_address] // addresses: [nftId, chip, sign_address]
// values: [token_id,salt_nonce,startTime] // values: [token_id,salt_nonce,startTime]
// chipIds: [...chipIds] // chipIds: [...chipIds]
function unplugChip( function pluginChip(funId, addresses, values, chipIds, slots, signature) {
funId, 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, addresses,
values, values,
chipIds, chipIds,
slots, slots,
signature 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 = JSON.parse(addresses) // addresses: [nftId, chip, sign_address]
values = JSON.parse(values) // values: [token_id,salt_nonce,startTime]
chipIds = JSON.parse(chipIds) // chipIds: [...chipIds]
slots = JSON.parse(slots) 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 jc.wallet.jcStandard
.unplugChip({ .unplugChip({
@ -617,12 +466,16 @@ function unplugChip(
values, values,
chipIds, chipIds,
slots, slots,
signature signature,
}) })
.then((result) => { .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) => { .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.