apiBridge.dart 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. import 'dart:async';
  2. import 'package:polkawallet_sdk/api/api.dart';
  3. import 'package:polkawallet_sdk/api/types/bridge/bridgeChainData.dart';
  4. import 'package:polkawallet_sdk/api/types/bridge/bridgeTokenBalance.dart';
  5. import 'package:polkawallet_sdk/api/types/bridge/bridgeTxParams.dart';
  6. import 'package:polkawallet_sdk/service/bridge.dart';
  7. import 'package:polkawallet_sdk/storage/types/keyPairData.dart';
  8. class ApiBridge {
  9. ApiBridge(this.apiRoot, this.service);
  10. final PolkawalletApi apiRoot;
  11. final ServiceBridge service;
  12. Future<List<String>> getFromChainsAll() async {
  13. return service.getFromChainsAll();
  14. }
  15. Future<List<BridgeRouteData>> getRoutes() async {
  16. final res = await service.getRoutes();
  17. return res
  18. .map((e) => BridgeRouteData.fromJson(Map<String, dynamic>.from(e)))
  19. .toList();
  20. }
  21. Future<Map<String, BridgeChainData>> getChainsInfo() async {
  22. final data = await service.getChainsInfo();
  23. final Map<String, BridgeChainData> res = {};
  24. data.keys.forEach((chainName) {
  25. res[chainName] =
  26. BridgeChainData.fromJson(Map<String, dynamic>.from(data[chainName]));
  27. });
  28. return res;
  29. }
  30. Future<List<String>> connectFromChains(List<String> chains,
  31. {Map<String, List<String>>? nodeList}) async {
  32. return service.connectFromChains(chains, nodeList: nodeList);
  33. }
  34. Future<void> disconnectFromChains() async {
  35. service.disconnectFromChains();
  36. }
  37. Future<BridgeNetworkProperties> getNetworkProperties(String chain) async {
  38. final res = await service.getNetworkProperties(chain);
  39. return BridgeNetworkProperties.fromJson(Map<String, dynamic>.from(res));
  40. }
  41. Future<void> subscribeBalances(String chain, String address,
  42. Function(Map<String, BridgeTokenBalance>) callback) async {
  43. service.subscribeBalances(chain, address, (data) {
  44. final Map<String, BridgeTokenBalance> res = {};
  45. data.keys.forEach((token) {
  46. res[token] =
  47. BridgeTokenBalance.fromJson(Map<String, dynamic>.from(data[token]));
  48. });
  49. callback(res);
  50. });
  51. }
  52. Future<void> unsubscribeBalances(String chain, String address) async {
  53. service.unsubscribeBalances(chain, address);
  54. }
  55. Future<BridgeAmountInputConfig> getAmountInputConfig(String from, String to,
  56. String token, String address, String signer) async {
  57. final res =
  58. await service.getAmountInputConfig(from, to, token, address, signer);
  59. return BridgeAmountInputConfig.fromJson(Map<String, dynamic>.from(res));
  60. }
  61. Future<BridgeTxParams> getTxParams(String from, String to, String token,
  62. String address, String amount, int decimals, String signer) async {
  63. final res = await service.getTxParams(
  64. from, to, token, address, amount, decimals, signer);
  65. return BridgeTxParams.fromJson(Map<String, dynamic>.from(res));
  66. }
  67. Future<void> init({String? jsCode}) async {
  68. return await service.init(jsCode: jsCode);
  69. }
  70. Future<void> dispose() async {
  71. return service.dispose();
  72. }
  73. Future<String> estimateTxFee(
  74. String chainFrom, String txHex, String sender) async {
  75. final res = await service.estimateTxFee(chainFrom, txHex, sender);
  76. return res;
  77. }
  78. Future<Map?> sendTx(String chainFrom, Map txInfo, String password,
  79. String msgId, Map keyring) async {
  80. final res =
  81. await service.sendTx(chainFrom, txInfo, password, msgId, keyring);
  82. return res;
  83. }
  84. void subscribeReloadAction(String reloadKey, Function reloadAction) {
  85. service.subscribeReloadAction(reloadKey, reloadAction);
  86. }
  87. void unsubscribeReloadAction(String reloadKey) {
  88. service.unsubscribeReloadAction(reloadKey);
  89. }
  90. int getEvalJavascriptUID() {
  91. return service.getEvalJavascriptUID();
  92. }
  93. void addMsgHandler(String channel, Function onMessage) {
  94. service.addMsgHandler(channel, onMessage);
  95. }
  96. void removeMsgHandler(String channel) {
  97. service.removeMsgHandler(channel);
  98. }
  99. Future<bool> checkPassword(
  100. Map keyring, KeyPairData account, String pass) async {
  101. final res = await service.checkPassword(keyring, account.pubKey, pass);
  102. return res;
  103. }
  104. Future<bool> checkAddressFormat(String address, int ss58) async {
  105. return service.checkAddressFormat(address, ss58);
  106. }
  107. Future<void> reload() async {
  108. return service.reload();
  109. }
  110. }