Skip to content

Commit

Permalink
update to 0.2.7
Browse files Browse the repository at this point in the history
  • Loading branch information
RomeroYang committed Jul 26, 2021
1 parent 7a95566 commit 64f0f8a
Show file tree
Hide file tree
Showing 9 changed files with 55 additions and 20 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
## [0.2.7] - 20210726

* fix parachain.queryAuctionWithWinners
* add account.checkAddressFormat
* update gov.makeTreasuryProposalSubmission for multi-runtime support

## [0.2.6] - 20210723

* bump polkadot-js/api v5.1.1
Expand Down
2 changes: 1 addition & 1 deletion js_api/dist/main.js

Large diffs are not rendered by default.

15 changes: 15 additions & 0 deletions js_api/src/service/account.ts
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,20 @@ async function decodeAddress(addresses: string[]) {
}
}

/**
* decode address and check it's ss58Format
*/
async function checkAddressFormat(address: string, ss58: number) {
await cryptoWaitReady();
try {
const formated = keyring.encodeAddress(keyring.decodeAddress(address), ss58);
return formated.toUpperCase() == address.toUpperCase();
} catch (err) {
(<any>window).send("log", { error: err.message });
return false;
}
}

/**
* encode pubKey to addresses with different prefixes
*/
Expand Down Expand Up @@ -123,6 +137,7 @@ async function getAccountIndex(api: ApiPromise, addresses: string[]) {
export default {
encodeAddress,
decodeAddress,
checkAddressFormat,
queryAddressWithAccountIndex,
genIcons,
genPubKeyIcons,
Expand Down
2 changes: 1 addition & 1 deletion js_api/src/service/gov.ts
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,7 @@ async function getTreasuryTips(api: ApiPromise) {
* make an extrinsic of treasury proposal submission for council member.
*/
async function makeTreasuryProposalSubmission(api: ApiPromise, id: any, isReject: boolean): Promise<SubmittableExtrinsic<"promise">> {
const members = await api.query.electionsPhragmen.members<any[]>();
const members = await (api.query.electionsPhragmen || api.query.elections || api.query.phragmenElection).members<any[]>();
const councilThreshold = Math.ceil(members.length * 0.6);
const proposal = isReject ? api.tx.treasury.rejectProposal(id) : api.tx.treasury.approveProposal(id);
return api.tx.council.propose(councilThreshold, proposal, proposal.length);
Expand Down
6 changes: 3 additions & 3 deletions js_api/src/service/parachain.ts
Original file line number Diff line number Diff line change
Expand Up @@ -176,14 +176,14 @@ async function _queryAuctionInfo(api: ApiPromise) {

const winningData = _extractData(ranges, auctionInfo, initialEntries);
return {
auction: {
auction: !!auctionInfo.leasePeriod ? {
...auctionInfo,
bestNumber: bestNumber.toString(),
leasePeriod: auctionInfo.leasePeriod.toNumber(),
leaseEnd: auctionInfo.leasePeriod.add(api.consts.auctions.leasePeriodsPerSlot as u32).isub(BN_ONE).toNumber()
},
} : {},
funds,
winners: _mergeCrowdLoanBids(winningData[0]?.winners || [], loans),
winners: _mergeCrowdLoanBids(winningData[0]?.winners || [], loans || []),
};
}

Expand Down
17 changes: 9 additions & 8 deletions lib/api/apiAccount.dart
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,12 @@ class ApiAccount {

/// decode addresses to publicKeys
Future<Map> decodeAddress(List<String> addresses) async {
final Map res = await service.decodeAddress(addresses);
return res;
return service.decodeAddress(addresses);
}

/// check address matches ss58Format
Future<bool> checkAddressFormat(String address, int ss58) async {
return service.checkAddressFormat(address, ss58);
}

/// query balance
Expand Down Expand Up @@ -55,8 +59,7 @@ class ApiAccount {
return [];
}

var res = await service.queryIndexInfo(addresses);
return res;
return service.queryIndexInfo(addresses);
}

/// query address with account index
Expand All @@ -75,8 +78,7 @@ class ApiAccount {
if (keys == null || keys.length == 0) {
return [];
}
List res = await service.getPubKeyIcons(keys);
return res;
return service.getPubKeyIcons(keys);
}

/// Get icons of addresses
Expand All @@ -85,7 +87,6 @@ class ApiAccount {
if (addresses == null || addresses.length == 0) {
return [];
}
List res = await service.getAddressIcons(addresses);
return res;
return service.getAddressIcons(addresses);
}
}
6 changes: 6 additions & 0 deletions lib/plugin/store/balances.dart
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,12 @@ abstract class BalancesStoreBase with Store {
}
});
}

data.removeWhere((e) => e.symbol.contains('-') && e.amount == '0');
data.sort((a, b) => (!a.name.contains('-') && b.name.contains('-'))
? -1
: a.name.compareTo(b.name));

tokens = data;
isTokensFromCache = isFromCache;
}
Expand Down
19 changes: 13 additions & 6 deletions lib/service/account.dart
Original file line number Diff line number Diff line change
Expand Up @@ -9,28 +9,35 @@ class ServiceAccount {

/// encode addresses to publicKeys
Future<Map> encodeAddress(List<String> pubKeys, ss58List) async {
Map res = await serviceRoot.webView.evalJavascript(
final Map res = await serviceRoot.webView.evalJavascript(
'account.encodeAddress(${jsonEncode(pubKeys)}, ${jsonEncode(ss58List)})');
return res;
}

/// decode addresses to publicKeys
Future<Map> decodeAddress(List<String> addresses) async {
Map res = await serviceRoot.webView
final Map res = await serviceRoot.webView
.evalJavascript('account.decodeAddress(${jsonEncode(addresses)})');
return res;
}

/// check address matches ss58Format
Future<bool> checkAddressFormat(String address, int ss58) async {
final bool res = await serviceRoot.webView
.evalJavascript('account.checkAddressFormat("$address", $ss58)');
return res;
}

/// query balance
Future<Map> queryBalance(String address) async {
final res = await serviceRoot.webView
final Map res = await serviceRoot.webView
.evalJavascript('account.getBalance(api, "$address")');
return res;
}

/// Get on-chain account info of addresses
Future<List> queryIndexInfo(List addresses) async {
var res = await serviceRoot.webView.evalJavascript(
final List res = await serviceRoot.webView.evalJavascript(
'account.getAccountIndex(api, ${jsonEncode(addresses)})');
return res;
}
Expand All @@ -43,13 +50,13 @@ class ServiceAccount {
}

Future<List> getPubKeyIcons(List<String> keys) async {
List res = await serviceRoot.webView
final List res = await serviceRoot.webView
.evalJavascript('account.genPubKeyIcons(${jsonEncode(keys)})');
return res;
}

Future<List> getAddressIcons(List addresses) async {
List res = await serviceRoot.webView
final List res = await serviceRoot.webView
.evalJavascript('account.genIcons(${jsonEncode(addresses)})');
return res;
}
Expand Down
2 changes: 1 addition & 1 deletion pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: polkawallet_sdk
description: Flutter SDK for building plugin package for polkawallet.
version: 0.2.6
version: 0.2.7
homepage: https://polkawallet.io

environment:
Expand Down

0 comments on commit 64f0f8a

Please sign in to comment.