@ksangkuk10/wallet-controller 1.7.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/README.md +7 -0
  2. package/_commonjs/controller.js +704 -0
  3. package/_commonjs/env.js +9 -0
  4. package/_commonjs/exception/isError.js +15 -0
  5. package/_commonjs/exception/mapExtensionTxError.js +46 -0
  6. package/_commonjs/exception/mapWalletConnectError.js +69 -0
  7. package/_commonjs/getChainOptions.js +57 -0
  8. package/_commonjs/index.js +22 -0
  9. package/_commonjs/modules/connect-modal/index.js +80 -0
  10. package/_commonjs/modules/connect-modal/style.js +161 -0
  11. package/_commonjs/modules/extension-router/ExtensionRouter.js +241 -0
  12. package/_commonjs/modules/extension-router/index.js +19 -0
  13. package/_commonjs/modules/extension-router/modal.js +80 -0
  14. package/_commonjs/modules/extension-router/modal.style.js +161 -0
  15. package/_commonjs/modules/extension-router/multiChannel.js +18 -0
  16. package/_commonjs/modules/extension-router/session.js +37 -0
  17. package/_commonjs/modules/extension-router/types.js +16 -0
  18. package/_commonjs/modules/legacy-extension/LegacyExtensionConnector.js +143 -0
  19. package/_commonjs/modules/legacy-extension/createFixedExtension.js +236 -0
  20. package/_commonjs/modules/legacy-extension/index.js +19 -0
  21. package/_commonjs/modules/readonly-wallet/connect.js +24 -0
  22. package/_commonjs/modules/readonly-wallet/index.js +20 -0
  23. package/_commonjs/modules/readonly-wallet/modal.js +123 -0
  24. package/_commonjs/modules/readonly-wallet/modal.style.js +204 -0
  25. package/_commonjs/modules/readonly-wallet/storage.js +40 -0
  26. package/_commonjs/modules/readonly-wallet/types.js +3 -0
  27. package/_commonjs/modules/walletconnect/connect.js +421 -0
  28. package/_commonjs/modules/walletconnect/errors.js +51 -0
  29. package/_commonjs/modules/walletconnect/impl/socket-transport/index.js +204 -0
  30. package/_commonjs/modules/walletconnect/impl/socket-transport/network.js +30 -0
  31. package/_commonjs/modules/walletconnect/index.js +22 -0
  32. package/_commonjs/modules/walletconnect/modal.js +147 -0
  33. package/_commonjs/modules/walletconnect/modal.style.js +138 -0
  34. package/_commonjs/modules/walletconnect/types.js +13 -0
  35. package/_commonjs/operators/getExtensions.js +55 -0
  36. package/_commonjs/operators/toConnectedWallet.js +24 -0
  37. package/_commonjs/operators/toLcdClient.js +15 -0
  38. package/_commonjs/utils/browser-check.js +47 -0
  39. package/_commonjs/utils/checkExtensionReady.js +28 -0
  40. package/_commonjs/utils/sortConnections.js +13 -0
  41. package/_commonjs/verifyBytes.js +19 -0
  42. package/controller.d.ts +220 -0
  43. package/controller.js +697 -0
  44. package/env.d.ts +2 -0
  45. package/env.js +5 -0
  46. package/exception/isError.d.ts +3 -0
  47. package/exception/isError.js +11 -0
  48. package/exception/mapExtensionTxError.d.ts +5 -0
  49. package/exception/mapExtensionTxError.js +41 -0
  50. package/exception/mapWalletConnectError.d.ts +6 -0
  51. package/exception/mapWalletConnectError.js +63 -0
  52. package/getChainOptions.d.ts +3 -0
  53. package/getChainOptions.js +53 -0
  54. package/index.d.ts +6 -0
  55. package/index.js +6 -0
  56. package/modules/connect-modal/index.d.ts +2 -0
  57. package/modules/connect-modal/index.js +76 -0
  58. package/modules/connect-modal/style.d.ts +1 -0
  59. package/modules/connect-modal/style.js +158 -0
  60. package/modules/extension-router/ExtensionRouter.d.ts +43 -0
  61. package/modules/extension-router/ExtensionRouter.js +237 -0
  62. package/modules/extension-router/index.d.ts +2 -0
  63. package/modules/extension-router/index.js +3 -0
  64. package/modules/extension-router/modal.d.ts +2 -0
  65. package/modules/extension-router/modal.js +76 -0
  66. package/modules/extension-router/modal.style.d.ts +1 -0
  67. package/modules/extension-router/modal.style.js +158 -0
  68. package/modules/extension-router/multiChannel.d.ts +13 -0
  69. package/modules/extension-router/multiChannel.js +14 -0
  70. package/modules/extension-router/session.d.ts +8 -0
  71. package/modules/extension-router/session.js +31 -0
  72. package/modules/extension-router/types.d.ts +35 -0
  73. package/modules/extension-router/types.js +13 -0
  74. package/modules/legacy-extension/LegacyExtensionConnector.d.ts +30 -0
  75. package/modules/legacy-extension/LegacyExtensionConnector.js +139 -0
  76. package/modules/legacy-extension/createFixedExtension.d.ts +46 -0
  77. package/modules/legacy-extension/createFixedExtension.js +232 -0
  78. package/modules/legacy-extension/index.d.ts +2 -0
  79. package/modules/legacy-extension/index.js +3 -0
  80. package/modules/readonly-wallet/connect.d.ts +8 -0
  81. package/modules/readonly-wallet/connect.js +19 -0
  82. package/modules/readonly-wallet/index.d.ts +3 -0
  83. package/modules/readonly-wallet/index.js +4 -0
  84. package/modules/readonly-wallet/modal.d.ts +7 -0
  85. package/modules/readonly-wallet/modal.js +119 -0
  86. package/modules/readonly-wallet/modal.style.d.ts +1 -0
  87. package/modules/readonly-wallet/modal.style.js +201 -0
  88. package/modules/readonly-wallet/storage.d.ts +4 -0
  89. package/modules/readonly-wallet/storage.js +34 -0
  90. package/modules/readonly-wallet/types.d.ts +5 -0
  91. package/modules/readonly-wallet/types.js +2 -0
  92. package/modules/walletconnect/connect.d.ts +42 -0
  93. package/modules/walletconnect/connect.js +390 -0
  94. package/modules/walletconnect/errors.d.ts +22 -0
  95. package/modules/walletconnect/errors.js +41 -0
  96. package/modules/walletconnect/impl/socket-transport/index.d.ts +39 -0
  97. package/modules/walletconnect/impl/socket-transport/index.js +199 -0
  98. package/modules/walletconnect/impl/socket-transport/network.d.ts +8 -0
  99. package/modules/walletconnect/impl/socket-transport/network.js +28 -0
  100. package/modules/walletconnect/index.d.ts +5 -0
  101. package/modules/walletconnect/index.js +6 -0
  102. package/modules/walletconnect/modal.d.ts +12 -0
  103. package/modules/walletconnect/modal.js +143 -0
  104. package/modules/walletconnect/modal.style.d.ts +1 -0
  105. package/modules/walletconnect/modal.style.js +135 -0
  106. package/modules/walletconnect/types.d.ts +24 -0
  107. package/modules/walletconnect/types.js +10 -0
  108. package/operators/getExtensions.d.ts +9 -0
  109. package/operators/getExtensions.js +51 -0
  110. package/operators/toConnectedWallet.d.ts +4 -0
  111. package/operators/toConnectedWallet.js +20 -0
  112. package/operators/toLcdClient.d.ts +4 -0
  113. package/operators/toLcdClient.js +11 -0
  114. package/package.json +550 -0
  115. package/utils/browser-check.d.ts +3 -0
  116. package/utils/browser-check.js +38 -0
  117. package/utils/checkExtensionReady.d.ts +6 -0
  118. package/utils/checkExtensionReady.js +24 -0
  119. package/utils/sortConnections.d.ts +2 -0
  120. package/utils/sortConnections.js +9 -0
  121. package/verifyBytes.d.ts +4 -0
  122. package/verifyBytes.js +15 -0
  123. package/~/.npm/_cacache/content-v2/sha512/ad/b5/8c87dfae7c208906a88f1997b323933e7efb4e481bcfdc559cb13199d077e1b40abcb161561a293ca59cd98aae224cd0877555e6e7a2e11021bc55ebedf4 +0 -0
  124. package/~/.npm/_cacache/index-v5/6a/39/c03f62d7353a7cc1411e180ec37c393f9fedcfd081fa567f67bf32e6fb68 +2 -0
package/env.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export declare const CHROME_EXTENSION_INSTALL_URL = "https://chrome.google.com/webstore/detail/xpla-vault-wallet/ocjobpilfplciaddcbafabcegbilnbnb";
2
+ export declare const DEFAULT_CHROME_EXTENSION_COMPATIBLE_BROWSER_CHECK: (userAgent: string) => boolean;
package/env.js ADDED
@@ -0,0 +1,5 @@
1
+ export const CHROME_EXTENSION_INSTALL_URL = 'https://chrome.google.com/webstore/detail/xpla-vault-wallet/ocjobpilfplciaddcbafabcegbilnbnb';
2
+ export const DEFAULT_CHROME_EXTENSION_COMPATIBLE_BROWSER_CHECK = (userAgent) => {
3
+ return /MathWallet\//.test(userAgent);
4
+ };
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL0Brc2FuZ2t1azEwL3dhbGxldC1jb250cm9sbGVyL2Vudi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FDdkMsOEZBQThGLENBQUM7QUFFakcsTUFBTSxDQUFDLE1BQU0saURBQWlELEdBQUcsQ0FDL0QsU0FBaUIsRUFDakIsRUFBRTtJQUNGLE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUN4QyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgQ0hST01FX0VYVEVOU0lPTl9JTlNUQUxMX1VSTCA9XG4gICdodHRwczovL2Nocm9tZS5nb29nbGUuY29tL3dlYnN0b3JlL2RldGFpbC94cGxhLXZhdWx0LXdhbGxldC9vY2pvYnBpbGZwbGNpYWRkY2JhZmFiY2VnYmlsbmJuYic7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0NIUk9NRV9FWFRFTlNJT05fQ09NUEFUSUJMRV9CUk9XU0VSX0NIRUNLID0gKFxuICB1c2VyQWdlbnQ6IHN0cmluZyxcbikgPT4ge1xuICByZXR1cm4gL01hdGhXYWxsZXRcXC8vLnRlc3QodXNlckFnZW50KTtcbn07XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export declare function isError<E extends Error>(error: unknown, errorType: {
2
+ new (...args: any[]): E;
3
+ }): error is E;
@@ -0,0 +1,11 @@
1
+ export function isError(error, errorType) {
2
+ try {
3
+ return (
4
+ //@ts-ignore
5
+ error instanceof errorType || error.constructor.name === errorType.name);
6
+ }
7
+ catch (_a) {
8
+ return false;
9
+ }
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNFcnJvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9Aa3NhbmdrdWsxMC93YWxsZXQtY29udHJvbGxlci9leGNlcHRpb24vaXNFcnJvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsT0FBTyxDQUNyQixLQUFjLEVBQ2QsU0FBc0M7SUFFdEMsSUFBSTtRQUNGLE9BQU87UUFDTCxZQUFZO1FBQ1osS0FBSyxZQUFZLFNBQVMsSUFBSSxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsSUFBSSxDQUN4RSxDQUFDO0tBQ0g7SUFBQyxXQUFNO1FBQ04sT0FBTyxLQUFLLENBQUM7S0FDZDtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gaXNFcnJvcjxFIGV4dGVuZHMgRXJyb3I+KFxuICBlcnJvcjogdW5rbm93bixcbiAgZXJyb3JUeXBlOiB7IG5ldyAoLi4uYXJnczogYW55W10pOiBFIH0sXG4pOiBlcnJvciBpcyBFIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gKFxuICAgICAgLy9AdHMtaWdub3JlXG4gICAgICBlcnJvciBpbnN0YW5jZW9mIGVycm9yVHlwZSB8fCBlcnJvci5jb25zdHJ1Y3Rvci5uYW1lID09PSBlcnJvclR5cGUubmFtZVxuICAgICk7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
@@ -0,0 +1,5 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import { CreateTxOptions } from '@xpla/xpla.js';
4
+ export declare function mapExtensionTxError(tx: CreateTxOptions, error: unknown): Error;
5
+ export declare function mapExtensionSignBytesError(bytes: Buffer, error: unknown): Error;
@@ -0,0 +1,41 @@
1
+ import { CreateTxFailed, SignBytesFailed, Timeout, TxFailed, TxUnspecifiedError, UserDenied, } from '@ksangkuk10/wallet-types';
2
+ import { WebExtensionCreateTxFailed, WebExtensionTxFailed, WebExtensionTxUnspecifiedError, WebExtensionUserDenied, } from '@ksangkuk10/web-extension-interface';
3
+ import { isError } from './isError';
4
+ export function mapExtensionTxError(tx, error) {
5
+ if (isError(error, UserDenied) ||
6
+ isError(error, Timeout) ||
7
+ isError(error, SignBytesFailed) ||
8
+ isError(error, CreateTxFailed) ||
9
+ isError(error, TxFailed) ||
10
+ isError(error, TxUnspecifiedError)) {
11
+ return error;
12
+ }
13
+ else if (isError(error, WebExtensionUserDenied)) {
14
+ return new UserDenied();
15
+ }
16
+ else if (isError(error, WebExtensionCreateTxFailed)) {
17
+ return new CreateTxFailed(tx, error.message);
18
+ }
19
+ else if (isError(error, WebExtensionTxFailed)) {
20
+ return new TxFailed(tx, error.txhash, error.message, null);
21
+ }
22
+ else if (isError(error, WebExtensionTxUnspecifiedError)) {
23
+ return new TxUnspecifiedError(tx, error.message);
24
+ }
25
+ return new TxUnspecifiedError(tx, error instanceof Error ? error.message : String(error));
26
+ }
27
+ export function mapExtensionSignBytesError(bytes, error) {
28
+ if (isError(error, UserDenied) ||
29
+ isError(error, Timeout) ||
30
+ isError(error, SignBytesFailed) ||
31
+ isError(error, CreateTxFailed) ||
32
+ isError(error, TxFailed) ||
33
+ isError(error, TxUnspecifiedError)) {
34
+ return error;
35
+ }
36
+ else if (isError(error, WebExtensionUserDenied)) {
37
+ return new UserDenied();
38
+ }
39
+ return new SignBytesFailed(bytes, error instanceof Error ? error.message : String(error));
40
+ }
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwRXh0ZW5zaW9uVHhFcnJvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9Aa3NhbmdrdWsxMC93YWxsZXQtY29udHJvbGxlci9leGNlcHRpb24vbWFwRXh0ZW5zaW9uVHhFcnJvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsY0FBYyxFQUNkLGVBQWUsRUFDZixPQUFPLEVBQ1AsUUFBUSxFQUNSLGtCQUFrQixFQUNsQixVQUFVLEdBQ1gsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQ0wsMEJBQTBCLEVBQzFCLG9CQUFvQixFQUNwQiw4QkFBOEIsRUFDOUIsc0JBQXNCLEdBQ3ZCLE1BQU0scUNBQXFDLENBQUM7QUFFN0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVwQyxNQUFNLFVBQVUsbUJBQW1CLENBQ2pDLEVBQW1CLEVBQ25CLEtBQWM7SUFFZCxJQUNFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDO1FBQzFCLE9BQU8sQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDO1FBQ3ZCLE9BQU8sQ0FBQyxLQUFLLEVBQUUsZUFBZSxDQUFDO1FBQy9CLE9BQU8sQ0FBQyxLQUFLLEVBQUUsY0FBYyxDQUFDO1FBQzlCLE9BQU8sQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDO1FBQ3hCLE9BQU8sQ0FBQyxLQUFLLEVBQUUsa0JBQWtCLENBQUMsRUFDbEM7UUFDQSxPQUFPLEtBQUssQ0FBQztLQUNkO1NBQU0sSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFLHNCQUFzQixDQUFDLEVBQUU7UUFDakQsT0FBTyxJQUFJLFVBQVUsRUFBRSxDQUFDO0tBQ3pCO1NBQU0sSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFLDBCQUEwQixDQUFDLEVBQUU7UUFDckQsT0FBTyxJQUFJLGNBQWMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBQzlDO1NBQU0sSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFLG9CQUFvQixDQUFDLEVBQUU7UUFDL0MsT0FBTyxJQUFJLFFBQVEsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQzVEO1NBQU0sSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFLDhCQUE4QixDQUFDLEVBQUU7UUFDekQsT0FBTyxJQUFJLGtCQUFrQixDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7S0FDbEQ7SUFDRCxPQUFPLElBQUksa0JBQWtCLENBQzNCLEVBQUUsRUFDRixLQUFLLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQ3ZELENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLDBCQUEwQixDQUN4QyxLQUFhLEVBQ2IsS0FBYztJQUVkLElBQ0UsT0FBTyxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUM7UUFDMUIsT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUM7UUFDdkIsT0FBTyxDQUFDLEtBQUssRUFBRSxlQUFlLENBQUM7UUFDL0IsT0FBTyxDQUFDLEtBQUssRUFBRSxjQUFjLENBQUM7UUFDOUIsT0FBTyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUM7UUFDeEIsT0FBTyxDQUFDLEtBQUssRUFBRSxrQkFBa0IsQ0FBQyxFQUNsQztRQUNBLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7U0FBTSxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUUsc0JBQXNCLENBQUMsRUFBRTtRQUNqRCxPQUFPLElBQUksVUFBVSxFQUFFLENBQUM7S0FDekI7SUFDRCxPQUFPLElBQUksZUFBZSxDQUN4QixLQUFLLEVBQ0wsS0FBSyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUN2RCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENyZWF0ZVR4RmFpbGVkLFxuICBTaWduQnl0ZXNGYWlsZWQsXG4gIFRpbWVvdXQsXG4gIFR4RmFpbGVkLFxuICBUeFVuc3BlY2lmaWVkRXJyb3IsXG4gIFVzZXJEZW5pZWQsXG59IGZyb20gJ0Brc2FuZ2t1azEwL3dhbGxldC10eXBlcyc7XG5pbXBvcnQge1xuICBXZWJFeHRlbnNpb25DcmVhdGVUeEZhaWxlZCxcbiAgV2ViRXh0ZW5zaW9uVHhGYWlsZWQsXG4gIFdlYkV4dGVuc2lvblR4VW5zcGVjaWZpZWRFcnJvcixcbiAgV2ViRXh0ZW5zaW9uVXNlckRlbmllZCxcbn0gZnJvbSAnQGtzYW5na3VrMTAvd2ViLWV4dGVuc2lvbi1pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ3JlYXRlVHhPcHRpb25zIH0gZnJvbSAnQHhwbGEveHBsYS5qcyc7XG5pbXBvcnQgeyBpc0Vycm9yIH0gZnJvbSAnLi9pc0Vycm9yJztcblxuZXhwb3J0IGZ1bmN0aW9uIG1hcEV4dGVuc2lvblR4RXJyb3IoXG4gIHR4OiBDcmVhdGVUeE9wdGlvbnMsXG4gIGVycm9yOiB1bmtub3duLFxuKTogRXJyb3Ige1xuICBpZiAoXG4gICAgaXNFcnJvcihlcnJvciwgVXNlckRlbmllZCkgfHxcbiAgICBpc0Vycm9yKGVycm9yLCBUaW1lb3V0KSB8fFxuICAgIGlzRXJyb3IoZXJyb3IsIFNpZ25CeXRlc0ZhaWxlZCkgfHxcbiAgICBpc0Vycm9yKGVycm9yLCBDcmVhdGVUeEZhaWxlZCkgfHxcbiAgICBpc0Vycm9yKGVycm9yLCBUeEZhaWxlZCkgfHxcbiAgICBpc0Vycm9yKGVycm9yLCBUeFVuc3BlY2lmaWVkRXJyb3IpXG4gICkge1xuICAgIHJldHVybiBlcnJvcjtcbiAgfSBlbHNlIGlmIChpc0Vycm9yKGVycm9yLCBXZWJFeHRlbnNpb25Vc2VyRGVuaWVkKSkge1xuICAgIHJldHVybiBuZXcgVXNlckRlbmllZCgpO1xuICB9IGVsc2UgaWYgKGlzRXJyb3IoZXJyb3IsIFdlYkV4dGVuc2lvbkNyZWF0ZVR4RmFpbGVkKSkge1xuICAgIHJldHVybiBuZXcgQ3JlYXRlVHhGYWlsZWQodHgsIGVycm9yLm1lc3NhZ2UpO1xuICB9IGVsc2UgaWYgKGlzRXJyb3IoZXJyb3IsIFdlYkV4dGVuc2lvblR4RmFpbGVkKSkge1xuICAgIHJldHVybiBuZXcgVHhGYWlsZWQodHgsIGVycm9yLnR4aGFzaCwgZXJyb3IubWVzc2FnZSwgbnVsbCk7XG4gIH0gZWxzZSBpZiAoaXNFcnJvcihlcnJvciwgV2ViRXh0ZW5zaW9uVHhVbnNwZWNpZmllZEVycm9yKSkge1xuICAgIHJldHVybiBuZXcgVHhVbnNwZWNpZmllZEVycm9yKHR4LCBlcnJvci5tZXNzYWdlKTtcbiAgfVxuICByZXR1cm4gbmV3IFR4VW5zcGVjaWZpZWRFcnJvcihcbiAgICB0eCxcbiAgICBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6IFN0cmluZyhlcnJvciksXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXBFeHRlbnNpb25TaWduQnl0ZXNFcnJvcihcbiAgYnl0ZXM6IEJ1ZmZlcixcbiAgZXJyb3I6IHVua25vd24sXG4pOiBFcnJvciB7XG4gIGlmIChcbiAgICBpc0Vycm9yKGVycm9yLCBVc2VyRGVuaWVkKSB8fFxuICAgIGlzRXJyb3IoZXJyb3IsIFRpbWVvdXQpIHx8XG4gICAgaXNFcnJvcihlcnJvciwgU2lnbkJ5dGVzRmFpbGVkKSB8fFxuICAgIGlzRXJyb3IoZXJyb3IsIENyZWF0ZVR4RmFpbGVkKSB8fFxuICAgIGlzRXJyb3IoZXJyb3IsIFR4RmFpbGVkKSB8fFxuICAgIGlzRXJyb3IoZXJyb3IsIFR4VW5zcGVjaWZpZWRFcnJvcilcbiAgKSB7XG4gICAgcmV0dXJuIGVycm9yO1xuICB9IGVsc2UgaWYgKGlzRXJyb3IoZXJyb3IsIFdlYkV4dGVuc2lvblVzZXJEZW5pZWQpKSB7XG4gICAgcmV0dXJuIG5ldyBVc2VyRGVuaWVkKCk7XG4gIH1cbiAgcmV0dXJuIG5ldyBTaWduQnl0ZXNGYWlsZWQoXG4gICAgYnl0ZXMsXG4gICAgZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiBTdHJpbmcoZXJyb3IpLFxuICApO1xufVxuIl19
@@ -0,0 +1,6 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import { CreateTxOptions } from '@xpla/xpla.js';
4
+ export declare function mapWalletConnectError(tx: CreateTxOptions, error: unknown): Error;
5
+ export declare function mapWalletConnectSignError(tx: CreateTxOptions, error: unknown): Error;
6
+ export declare function mapWalletConnectSignBytesError(bytes: Buffer, error: unknown): Error;
@@ -0,0 +1,63 @@
1
+ import { CreateTxFailed, Timeout, TxFailed, TxUnspecifiedError, UserDenied, SignUnspecifiedError, SignBytesUnspecifiedError } from '@ksangkuk10/wallet-types';
2
+ import { WalletConnectCreateTxFailed, WalletConnectTimeout, WalletConnectTxFailed, WalletConnectTxUnspecifiedError, WalletConnectUserDenied, WalletConnectSignBytesUnspecifiedError, } from '../modules/walletconnect';
3
+ import { isError } from './isError';
4
+ export function mapWalletConnectError(tx, error) {
5
+ if (isError(error, UserDenied) ||
6
+ isError(error, Timeout) ||
7
+ isError(error, CreateTxFailed) ||
8
+ isError(error, TxFailed) ||
9
+ isError(error, TxUnspecifiedError)) {
10
+ return error;
11
+ }
12
+ else if (isError(error, WalletConnectUserDenied)) {
13
+ return new UserDenied();
14
+ }
15
+ else if (isError(error, WalletConnectTimeout)) {
16
+ return new Timeout(error.message);
17
+ }
18
+ else if (isError(error, WalletConnectCreateTxFailed)) {
19
+ return new CreateTxFailed(tx, error.message);
20
+ }
21
+ else if (isError(error, WalletConnectTxFailed)) {
22
+ return new TxFailed(tx, error.txhash, error.message, null);
23
+ }
24
+ else if (isError(error, WalletConnectTxUnspecifiedError)) {
25
+ return new TxUnspecifiedError(tx, error.message);
26
+ }
27
+ return new TxUnspecifiedError(tx, error instanceof Error ? error.message : String(error));
28
+ }
29
+ export function mapWalletConnectSignError(tx, error) {
30
+ if (isError(error, UserDenied) ||
31
+ isError(error, Timeout) ||
32
+ isError(error, SignBytesUnspecifiedError)) {
33
+ return error;
34
+ }
35
+ else if (isError(error, WalletConnectUserDenied)) {
36
+ return new UserDenied();
37
+ }
38
+ else if (isError(error, WalletConnectTimeout)) {
39
+ return new Timeout(error.message);
40
+ }
41
+ else if (isError(error, SignUnspecifiedError)) {
42
+ return new SignUnspecifiedError(tx, error.message);
43
+ }
44
+ return new SignUnspecifiedError(tx, error instanceof Error ? error.message : String(error));
45
+ }
46
+ export function mapWalletConnectSignBytesError(bytes, error) {
47
+ if (isError(error, UserDenied) ||
48
+ isError(error, Timeout) ||
49
+ isError(error, SignBytesUnspecifiedError)) {
50
+ return error;
51
+ }
52
+ else if (isError(error, WalletConnectUserDenied)) {
53
+ return new UserDenied();
54
+ }
55
+ else if (isError(error, WalletConnectTimeout)) {
56
+ return new Timeout(error.message);
57
+ }
58
+ else if (isError(error, WalletConnectSignBytesUnspecifiedError)) {
59
+ return new SignBytesUnspecifiedError(bytes, error.message);
60
+ }
61
+ return new SignBytesUnspecifiedError(bytes, error instanceof Error ? error.message : String(error));
62
+ }
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwV2FsbGV0Q29ubmVjdEVycm9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL0Brc2FuZ2t1azEwL3dhbGxldC1jb250cm9sbGVyL2V4Y2VwdGlvbi9tYXBXYWxsZXRDb25uZWN0RXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLGNBQWMsRUFDZCxPQUFPLEVBQ1AsUUFBUSxFQUNSLGtCQUFrQixFQUNsQixVQUFVLEVBQ1Ysb0JBQW9CLEVBQ3BCLHlCQUF5QixFQUMxQixNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFDTCwyQkFBMkIsRUFDM0Isb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQiwrQkFBK0IsRUFDL0IsdUJBQXVCLEVBQ3ZCLHNDQUFzQyxHQUN2QyxNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFcEMsTUFBTSxVQUFVLHFCQUFxQixDQUNuQyxFQUFtQixFQUNuQixLQUFjO0lBRWQsSUFDRSxPQUFPLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQztRQUMxQixPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQztRQUN2QixPQUFPLENBQUMsS0FBSyxFQUFFLGNBQWMsQ0FBQztRQUM5QixPQUFPLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQztRQUN4QixPQUFPLENBQUMsS0FBSyxFQUFFLGtCQUFrQixDQUFDLEVBQ2xDO1FBQ0EsT0FBTyxLQUFLLENBQUM7S0FDZDtTQUFNLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRSx1QkFBdUIsQ0FBQyxFQUFFO1FBQ2xELE9BQU8sSUFBSSxVQUFVLEVBQUUsQ0FBQztLQUN6QjtTQUFNLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRSxvQkFBb0IsQ0FBQyxFQUFFO1FBQy9DLE9BQU8sSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBQ25DO1NBQU0s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IENyZWF0ZVR4T3B0aW9ucyB9IGZyb20gJ0B4cGxhL3hwbGEuanMnO1xuaW1wb3J0IHtcbiAgQ3JlYXRlVHhGYWlsZWQsXG4gIFRpbWVvdXQsXG4gIFR4RmFpbGVkLFxuICBUeFVuc3BlY2lmaWVkRXJyb3IsXG4gIFVzZXJEZW5pZWQsXG4gIFNpZ25VbnNwZWNpZmllZEVycm9yLFxuICBTaWduQnl0ZXNVbnNwZWNpZmllZEVycm9yXG59IGZyb20gJ0Brc2FuZ2t1azEwL3dhbGxldC10eXBlcyc7XG5pbXBvcnQge1xuICBXYWxsZXRDb25uZWN0Q3JlYXRlVHhGYWlsZWQsXG4gIFdhbGxldENvbm5lY3RUaW1lb3V0LFxuICBXYWxsZXRDb25uZWN0VHhGYWlsZWQsXG4gIFdhbGxldENvbm5lY3RUeFVuc3BlY2lmaWVkRXJyb3IsXG4gIFdhbGxldENvbm5lY3RVc2VyRGVuaWVkLFxuICBXYWxsZXRDb25uZWN0U2lnbkJ5dGVzVW5zcGVjaWZpZWRFcnJvcixcbn0gZnJvbSAnLi4vbW9kdWxlcy93YWxsZXRjb25uZWN0JztcbmltcG9ydCB7IGlzRXJyb3IgfSBmcm9tICcuL2lzRXJyb3InO1xuXG5leHBvcnQgZnVuY3Rpb24gbWFwV2FsbGV0Q29ubmVjdEVycm9yKFxuICB0eDogQ3JlYXRlVHhPcHRpb25zLFxuICBlcnJvcjogdW5rbm93bixcbik6IEVycm9yIHtcbiAgaWYgKFxuICAgIGlzRXJyb3IoZXJyb3IsIFVzZXJEZW5pZWQpIHx8XG4gICAgaXNFcnJvcihlcnJvciwgVGltZW91dCkgfHxcbiAgICBpc0Vycm9yKGVycm9yLCBDcmVhdGVUeEZhaWxlZCkgfHxcbiAgICBpc0Vycm9yKGVycm9yLCBUeEZhaWxlZCkgfHxcbiAgICBpc0Vycm9yKGVycm9yLCBUeFVuc3BlY2lmaWVkRXJyb3IpXG4gICkge1xuICAgIHJldHVybiBlcnJvcjtcbiAgfSBlbHNlIGlmIChpc0Vycm9yKGVycm9yLCBXYWxsZXRDb25uZWN0VXNlckRlbmllZCkpIHtcbiAgICByZXR1cm4gbmV3IFVzZXJEZW5pZWQoKTtcbiAgfSBlbHNlIGlmIChpc0Vycm9yKGVycm9yLCBXYWxsZXRDb25uZWN0VGltZW91dCkpIHtcbiAgICByZXR1cm4gbmV3IFRpbWVvdXQoZXJyb3IubWVzc2FnZSk7XG4gIH0gZWxzZSBpZiAoaXNFcnJvcihlcnJvciwgV2FsbGV0Q29ubmVjdENyZWF0ZVR4RmFpbGVkKSkge1xuICAgIHJldHVybiBuZXcgQ3JlYXRlVHhGYWlsZWQodHgsIGVycm9yLm1lc3NhZ2UpO1xuICB9IGVsc2UgaWYgKGlzRXJyb3IoZXJyb3IsIFdhbGxldENvbm5lY3RUeEZhaWxlZCkpIHtcbiAgICByZXR1cm4gbmV3IFR4RmFpbGVkKHR4LCBlcnJvci50eGhhc2gsIGVycm9yLm1lc3NhZ2UsIG51bGwpO1xuICB9IGVsc2UgaWYgKGlzRXJyb3IoZXJyb3IsIFdhbGxldENvbm5lY3RUeFVuc3BlY2lmaWVkRXJyb3IpKSB7XG4gICAgcmV0dXJuIG5ldyBUeFVuc3BlY2lmaWVkRXJyb3IodHgsIGVycm9yLm1lc3NhZ2UpO1xuICB9XG4gIHJldHVybiBuZXcgVHhVbnNwZWNpZmllZEVycm9yKFxuICAgIHR4LFxuICAgIGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogU3RyaW5nKGVycm9yKSxcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1hcFdhbGxldENvbm5lY3RTaWduRXJyb3IoXG4gIHR4OiBDcmVhdGVUeE9wdGlvbnMsXG4gIGVycm9yOiB1bmtub3duLFxuKTogRXJyb3Ige1xuICBpZiAoXG4gICAgaXNFcnJvcihlcnJvciwgVXNlckRlbmllZCkgfHxcbiAgICBpc0Vycm9yKGVycm9yLCBUaW1lb3V0KSB8fFxuICAgIGlzRXJyb3IoZXJyb3IsIFNpZ25CeXRlc1Vuc3BlY2lmaWVkRXJyb3IpXG4gICkge1xuICAgIHJldHVybiBlcnJvcjtcbiAgfSBlbHNlIGlmIChpc0Vycm9yKGVycm9yLCBXYWxsZXRDb25uZWN0VXNlckRlbmllZCkpIHtcbiAgICByZXR1cm4gbmV3IFVzZXJEZW5pZWQoKTtcbiAgfSBlbHNlIGlmIChpc0Vycm9yKGVycm9yLCBXYWxsZXRDb25uZWN0VGltZW91dCkpIHtcbiAgICByZXR1cm4gbmV3IFRpbWVvdXQoZXJyb3IubWVzc2FnZSk7XG4gIH0gZWxzZSBpZiAoaXNFcnJvcihlcnJvciwgU2lnblVuc3BlY2lmaWVkRXJyb3IpKSB7XG4gICAgcmV0dXJuIG5ldyBTaWduVW5zcGVjaWZpZWRFcnJvcih0eCwgZXJyb3IubWVzc2FnZSk7XG4gIH1cbiAgcmV0dXJuIG5ldyBTaWduVW5zcGVjaWZpZWRFcnJvcihcbiAgICB0eCxcbiAgICBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6IFN0cmluZyhlcnJvciksXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXBXYWxsZXRDb25uZWN0U2lnbkJ5dGVzRXJyb3IoXG4gIGJ5dGVzOiBCdWZmZXIsXG4gIGVycm9yOiB1bmtub3duLFxuKTogRXJyb3Ige1xuICBpZiAoXG4gICAgaXNFcnJvcihlcnJvciwgVXNlckRlbmllZCkgfHxcbiAgICBpc0Vycm9yKGVycm9yLCBUaW1lb3V0KSB8fFxuICAgIGlzRXJyb3IoZXJyb3IsIFNpZ25CeXRlc1Vuc3BlY2lmaWVkRXJyb3IpXG4gICkge1xuICAgIHJldHVybiBlcnJvcjtcbiAgfSBlbHNlIGlmIChpc0Vycm9yKGVycm9yLCBXYWxsZXRDb25uZWN0VXNlckRlbmllZCkpIHtcbiAgICByZXR1cm4gbmV3IFVzZXJEZW5pZWQoKTtcbiAgfSBlbHNlIGlmIChpc0Vycm9yKGVycm9yLCBXYWxsZXRDb25uZWN0VGltZW91dCkpIHtcbiAgICByZXR1cm4gbmV3IFRpbWVvdXQoZXJyb3IubWVzc2FnZSk7XG4gIH0gZWxzZSBpZiAoaXNFcnJvcihlcnJvciwgV2FsbGV0Q29ubmVjdFNpZ25CeXRlc1Vuc3BlY2lmaWVkRXJyb3IpKSB7XG4gICAgcmV0dXJuIG5ldyBTaWduQnl0ZXNVbnNwZWNpZmllZEVycm9yKGJ5dGVzLCBlcnJvci5tZXNzYWdlKTtcbiAgfVxuICByZXR1cm4gbmV3IFNpZ25CeXRlc1Vuc3BlY2lmaWVkRXJyb3IoXG4gICAgYnl0ZXMsXG4gICAgZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiBTdHJpbmcoZXJyb3IpLFxuICApO1xufVxuIl19
@@ -0,0 +1,3 @@
1
+ import { WalletControllerOptions } from './controller';
2
+ export type WalletControllerChainOptions = Pick<WalletControllerOptions, 'defaultNetwork' | 'walletConnectChainIds'>;
3
+ export declare function getChainOptions(): Promise<WalletControllerChainOptions>;
@@ -0,0 +1,53 @@
1
+ const FALLBACK_MAINNET = {
2
+ name: 'mainnet',
3
+ chainID: 'dimension_37-1',
4
+ lcd: 'https://dimension-lcd.xpla.dev',
5
+ ecd: 'https://dimension-evm-rpc.xpla.dev',
6
+ api: 'https://dimension-api.xpla.io',
7
+ walletconnectID: 1
8
+ };
9
+ const FALLBACK = {
10
+ defaultNetwork: FALLBACK_MAINNET,
11
+ walletConnectChainIds: {
12
+ 1: FALLBACK_MAINNET,
13
+ 0: {
14
+ name: 'testnet',
15
+ chainID: 'cube_47-5',
16
+ lcd: 'https://cube-lcd.xpla.dev',
17
+ ecd: 'https://cube-evm-rpc.xpla.dev',
18
+ api: "https://cube-api.xpla.io",
19
+ walletconnectID: 0
20
+ },
21
+ },
22
+ };
23
+ let cache;
24
+ export async function getChainOptions() {
25
+ return fetch('https://assets.xpla.io/chains.json')
26
+ .then((res) => res.json())
27
+ .then((data) => {
28
+ const chains = Object.values(data);
29
+ const walletConnectChainIds = chains.reduce((result, network) => {
30
+ if (typeof network.walletconnectID === 'number') {
31
+ result[network.walletconnectID] = network;
32
+ }
33
+ else if (!result[1] && network.name === 'mainnet') {
34
+ result[1] = network;
35
+ }
36
+ else if (!result[0] && network.name === 'testnet') {
37
+ result[0] = network;
38
+ }
39
+ return result;
40
+ }, {});
41
+ const chainOptions = {
42
+ defaultNetwork: walletConnectChainIds[1],
43
+ walletConnectChainIds,
44
+ };
45
+ cache = chainOptions;
46
+ return chainOptions;
47
+ })
48
+ .catch((error) => {
49
+ console.error('Failed to fetch chains.json', error);
50
+ return cache !== null && cache !== void 0 ? cache : FALLBACK;
51
+ });
52
+ }
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0Q2hhaW5PcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL0Brc2FuZ2t1azEwL3dhbGxldC1jb250cm9sbGVyL2dldENoYWluT3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxNQUFNLGdCQUFnQixHQUFHO0lBQ3ZCLElBQUksRUFBRSxTQUFTO0lBQ2YsT0FBTyxFQUFFLGdCQUFnQjtJQUN6QixHQUFHLEVBQUUsZ0NBQWdDO0lBQ3JDLEdBQUcsRUFBRSxvQ0FBb0M7SUFDekMsR0FBRyxFQUFFLCtCQUErQjtJQUNwQyxlQUFlLEVBQUUsQ0FBQztDQUNuQixDQUFDO0FBRUYsTUFBTSxRQUFRLEdBQWlDO0lBQzdDLGNBQWMsRUFBRSxnQkFBZ0I7SUFDaEMscUJBQXFCLEVBQUU7UUFDckIsQ0FBQyxFQUFFLGdCQUFnQjtRQUNuQixDQUFDLEVBQUU7WUFDRCxJQUFJLEVBQUUsU0FBUztZQUNmLE9BQU8sRUFBRSxXQUFXO1lBQ3BCLEdBQUcsRUFBRSwyQkFBMkI7WUFDaEMsR0FBRyxFQUFFLCtCQUErQjtZQUNwQyxHQUFHLEVBQUUsMEJBQTBCO1lBQy9CLGVBQWUsRUFBRSxDQUFDO1NBQ25CO0tBQ0Y7Q0FDRixDQUFDO0FBRUYsSUFBSSxLQUFtQyxDQUFDO0FBRXhDLE1BQU0sQ0FBQyxLQUFLLFVBQVUsZUFBZTtJQUNuQyxPQUFPLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQztTQUMvQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUN6QixJQUFJLENBQUMsQ0FBQyxJQUFpQyxFQUFFLEVBQUU7UUFDMUMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxNQUFNLHFCQUFxQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDOUQsSUFBSSxPQUFPLE9BQU8sQ0FBQyxlQUFlLEtBQUssUUFBUSxFQUFFO2dCQUMvQyxNQUFNLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxHQUFHLE9BQU8sQ0FBQzthQUMzQztpQkFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFO2dCQUNuRCxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDO2FBQ3JCO2lCQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUU7Z0JBQ25ELE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUM7YUFDckI7WUFDRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLEVBQUUsRUFBaUMsQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sWUFBWSxHQUFpQztZQUNqRCxjQUFjLEVBQUUscUJBQXFCLENBQUMsQ0FBQyxDQUFDO1lBQ3hDLHFCQUFxQjtTQUN0QixDQUFDO1FBQ0YsS0FBSyxHQUFHLFlBQVksQ0FBQztRQUNyQixPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDLENBQUM7U0FDRCxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsNkJBQTZCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDcEQsT0FBTyxLQUFLLGFBQUwsS0FBSyxjQUFMLEtBQUssR0FBSSxRQUFRLENBQUM7SUFDM0IsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmV0d29ya0luZm8gfSBmcm9tICdAa3NhbmdrdWsxMC93YWxsZXQtdHlwZXMnO1xuaW1wb3J0IHsgV2FsbGV0Q29udHJvbGxlck9wdGlvbnMgfSBmcm9tICcuL2NvbnRyb2xsZXInO1xuXG5leHBvcnQgdHlwZSBXYWxsZXRDb250cm9sbGVyQ2hhaW5PcHRpb25zID0gUGljazxcbiAgV2FsbGV0Q29udHJvbGxlck9wdGlvbnMsXG4gICdkZWZhdWx0TmV0d29yaycgfCAnd2FsbGV0Q29ubmVjdENoYWluSWRzJ1xuPjtcblxuY29uc3QgRkFMTEJBQ0tfTUFJTk5FVCA9IHtcbiAgbmFtZTogJ21haW5uZXQnLFxuICBjaGFpbklEOiAnZGltZW5zaW9uXzM3LTEnLFxuICBsY2Q6ICdodHRwczovL2RpbWVuc2lvbi1sY2QueHBsYS5kZXYnLFxuICBlY2Q6ICdodHRwczovL2RpbWVuc2lvbi1ldm0tcnBjLnhwbGEuZGV2JyxcbiAgYXBpOiAnaHR0cHM6Ly9kaW1lbnNpb24tYXBpLnhwbGEuaW8nLFxuICB3YWxsZXRjb25uZWN0SUQ6IDFcbn07XG5cbmNvbnN0IEZBTExCQUNLOiBXYWxsZXRDb250cm9sbGVyQ2hhaW5PcHRpb25zID0ge1xuICBkZWZhdWx0TmV0d29yazogRkFMTEJBQ0tfTUFJTk5FVCxcbiAgd2FsbGV0Q29ubmVjdENoYWluSWRzOiB7XG4gICAgMTogRkFMTEJBQ0tfTUFJTk5FVCxcbiAgICAwOiB7XG4gICAgICBuYW1lOiAndGVzdG5ldCcsXG4gICAgICBjaGFpbklEOiAnY3ViZV80Ny01JyxcbiAgICAgIGxjZDogJ2h0dHBzOi8vY3ViZS1sY2QueHBsYS5kZXYnLFxuICAgICAgZWNkOiAnaHR0cHM6Ly9jdWJlLWV2bS1ycGMueHBsYS5kZXYnLFxuICAgICAgYXBpOiBcImh0dHBzOi8vY3ViZS1hcGkueHBsYS5pb1wiLFxuICAgICAgd2FsbGV0Y29ubmVjdElEOiAwXG4gICAgfSxcbiAgfSxcbn07XG5cbmxldCBjYWNoZTogV2FsbGV0Q29udHJvbGxlckNoYWluT3B0aW9ucztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldENoYWluT3B0aW9ucygpOiBQcm9taXNlPFdhbGxldENvbnRyb2xsZXJDaGFpbk9wdGlvbnM+IHtcbiAgcmV0dXJuIGZldGNoKCdodHRwczovL2Fzc2V0cy54cGxhLmlvL2NoYWlucy5qc29uJylcbiAgICAudGhlbigocmVzKSA9PiByZXMuanNvbigpKVxuICAgIC50aGVuKChkYXRhOiBSZWNvcmQ8c3RyaW5nLCBOZXR3b3JrSW5mbz4pID0+IHtcbiAgICAgIGNvbnN0IGNoYWlucyA9IE9iamVjdC52YWx1ZXMoZGF0YSk7XG4gICAgICBjb25zdCB3YWxsZXRDb25uZWN0Q2hhaW5JZHMgPSBjaGFpbnMucmVkdWNlKChyZXN1bHQsIG5ldHdvcmspID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiBuZXR3b3JrLndhbGxldGNvbm5lY3RJRCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICByZXN1bHRbbmV0d29yay53YWxsZXRjb25uZWN0SURdID0gbmV0d29yaztcbiAgICAgICAgfSBlbHNlIGlmICghcmVzdWx0WzFdICYmIG5ldHdvcmsubmFtZSA9PT0gJ21haW5uZXQnKSB7XG4gICAgICAgICAgcmVzdWx0WzFdID0gbmV0d29yaztcbiAgICAgICAgfSBlbHNlIGlmICghcmVzdWx0WzBdICYmIG5ldHdvcmsubmFtZSA9PT0gJ3Rlc3RuZXQnKSB7XG4gICAgICAgICAgcmVzdWx0WzBdID0gbmV0d29yaztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfSwge30gYXMgUmVjb3JkPG51bWJlciwgTmV0d29ya0luZm8+KTtcbiAgICAgIGNvbnN0IGNoYWluT3B0aW9uczogV2FsbGV0Q29udHJvbGxlckNoYWluT3B0aW9ucyA9IHtcbiAgICAgICAgZGVmYXVsdE5ldHdvcms6IHdhbGxldENvbm5lY3RDaGFpbklkc1sxXSxcbiAgICAgICAgd2FsbGV0Q29ubmVjdENoYWluSWRzLFxuICAgICAgfTtcbiAgICAgIGNhY2hlID0gY2hhaW5PcHRpb25zO1xuICAgICAgcmV0dXJuIGNoYWluT3B0aW9ucztcbiAgICB9KVxuICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBmZXRjaCBjaGFpbnMuanNvbicsIGVycm9yKTtcbiAgICAgIHJldHVybiBjYWNoZSA/PyBGQUxMQkFDSztcbiAgICB9KTtcbn1cbiJdfQ==
package/index.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ export * from '@ksangkuk10/wallet-types';
2
+ export * from './getChainOptions';
3
+ export * from './controller';
4
+ export * from './verifyBytes';
5
+ export * from './operators/toConnectedWallet';
6
+ export type { ReadonlyWalletSession } from './modules/readonly-wallet';
package/index.js ADDED
@@ -0,0 +1,6 @@
1
+ export * from '@ksangkuk10/wallet-types';
2
+ export * from './getChainOptions';
3
+ export * from './controller';
4
+ export * from './verifyBytes';
5
+ export * from './operators/toConnectedWallet';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvQGtzYW5na3VrMTAvd2FsbGV0LWNvbnRyb2xsZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQztBQUV6QyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsZUFBZSxDQUFDO0FBRTlCLGNBQWMsK0JBQStCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICdAa3NhbmdrdWsxMC93YWxsZXQtdHlwZXMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldENoYWluT3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRyb2xsZXInO1xuZXhwb3J0ICogZnJvbSAnLi92ZXJpZnlCeXRlcyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vb3BlcmF0b3JzL3RvQ29ubmVjdGVkV2FsbGV0JztcblxuZXhwb3J0IHR5cGUgeyBSZWFkb25seVdhbGxldFNlc3Npb24gfSBmcm9tICcuL21vZHVsZXMvcmVhZG9ubHktd2FsbGV0JztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ import { Connection, ConnectType } from '@ksangkuk10/wallet-types';
2
+ export declare function selectConnection(connections: Connection[]): Promise<[type: ConnectType, identifier: string | undefined] | null>;
@@ -0,0 +1,76 @@
1
+ import { modalStyle } from './style';
2
+ export function selectConnection(connections) {
3
+ return new Promise((resolve) => {
4
+ var _a, _b;
5
+ const styleContainer = document.createElement('style');
6
+ const modalContainer = document.createElement('div');
7
+ function onComplete(connection) {
8
+ var _a, _b;
9
+ resolve(connection ? [connection.type, connection.identifier] : null);
10
+ (_a = styleContainer.parentElement) === null || _a === void 0 ? void 0 : _a.removeChild(styleContainer);
11
+ (_b = modalContainer.parentElement) === null || _b === void 0 ? void 0 : _b.removeChild(modalContainer);
12
+ }
13
+ const element = createModalElement({
14
+ connections,
15
+ onComplete,
16
+ });
17
+ styleContainer.textContent = modalStyle;
18
+ modalContainer.appendChild(element);
19
+ (_a = document.querySelector('head')) === null || _a === void 0 ? void 0 : _a.appendChild(styleContainer);
20
+ (_b = document.querySelector('body')) === null || _b === void 0 ? void 0 : _b.appendChild(modalContainer);
21
+ });
22
+ }
23
+ function createModalElement({ connections, onComplete, }) {
24
+ // ---------------------------------------------
25
+ // container
26
+ // ---------------------------------------------
27
+ const container = document.createElement('div');
28
+ container.setAttribute('class', 'wallet-select-modal');
29
+ // ---------------------------------------------
30
+ // container > div.wallet-select-modal--dim
31
+ // ---------------------------------------------
32
+ const dim = document.createElement('div');
33
+ dim.setAttribute('class', 'wallet-select-modal--dim');
34
+ container.appendChild(dim);
35
+ // ---------------------------------------------
36
+ // content > div.wallet-select-modal--content
37
+ // ---------------------------------------------
38
+ const content = document.createElement('section');
39
+ content.setAttribute('class', 'wallet-select-modal--content');
40
+ container.appendChild(content);
41
+ // h1
42
+ const title = document.createElement('h1');
43
+ title.textContent = 'Select a Wallet';
44
+ content.appendChild(title);
45
+ // ul
46
+ const list = document.createElement('ul');
47
+ content.appendChild(list);
48
+ for (const connection of connections) {
49
+ const item = document.createElement('li');
50
+ const button = document.createElement('button');
51
+ button.addEventListener('click', () => onComplete(connection));
52
+ item.appendChild(button);
53
+ const icon = document.createElement('span');
54
+ icon.setAttribute('class', 'wallet-select-modal--icon');
55
+ button.appendChild(icon);
56
+ const iconImg = document.createElement('img');
57
+ iconImg.setAttribute('src', connection.icon);
58
+ iconImg.setAttribute('alt', `${connection.name} [${connection.identifier}]`);
59
+ icon.appendChild(iconImg);
60
+ const description = document.createElement('span');
61
+ description.setAttribute('class', 'wallet-select-modal--description');
62
+ description.textContent = connection.name;
63
+ button.appendChild(description);
64
+ const arrow = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
65
+ arrow.setAttribute('viewBox', '0 0 24 24');
66
+ button.appendChild(arrow);
67
+ const path = document.createElementNS('http://www.w3.org/2000/svg', 'path');
68
+ path.setAttribute('d', 'M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z');
69
+ arrow.appendChild(path);
70
+ list.appendChild(item);
71
+ }
72
+ // events
73
+ dim.addEventListener('click', () => onComplete(null));
74
+ return container;
75
+ }
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvQGtzYW5na3VrMTAvd2FsbGV0LWNvbnRyb2xsZXIvbW9kdWxlcy9jb25uZWN0LW1vZGFsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFckMsTUFBTSxVQUFVLGdCQUFnQixDQUM5QixXQUF5QjtJQUV6QixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7O1FBQzdCLE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkQsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVyRCxTQUFTLFVBQVUsQ0FBQyxVQUE2Qjs7WUFDL0MsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdEUsTUFBQSxjQUFjLENBQUMsYUFBYSwwQ0FBRSxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDMUQsTUFBQSxjQUFjLENBQUMsYUFBYSwwQ0FBRSxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDNUQsQ0FBQztRQUVELE1BQU0sT0FBTyxHQUFHLGtCQUFrQixDQUFDO1lBQ2pDLFdBQVc7WUFDWCxVQUFVO1NBQ1gsQ0FBQyxDQUFDO1FBRUgsY0FBYyxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7UUFDeEMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVwQyxNQUFBLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLDBDQUFFLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUM1RCxNQUFBLFFBQVEsQ0FBQyxh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QyxlQUFlLENBQUMsNEJBQTRCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFFM0MsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxQixNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsZUFBZSxDQUFDLDRCQUE0QixFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzVFLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLGdEQUFnRCxDQUFDLENBQUM7UUFFekUsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV4QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3hCO0lBRUQsU0FBUztJQUNULEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFFdEQsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3Rpb24sIENvbm5lY3RUeXBlIH0gZnJvbSAnQGtzYW5na3VrMTAvd2FsbGV0LXR5cGVzJztcbmltcG9ydCB7IG1vZGFsU3R5bGUgfSBmcm9tICcuL3N0eWxlJztcblxuZXhwb3J0IGZ1bmN0aW9uIHNlbGVjdENvbm5lY3Rpb24oXG4gIGNvbm5lY3Rpb25zOiBDb25uZWN0aW9uW10sXG4pOiBQcm9taXNlPFt0eXBlOiBDb25uZWN0VHlwZSwgaWRlbnRpZmllcjogc3RyaW5nIHwgdW5kZWZpbmVkXSB8IG51bGw+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgY29uc3Qgc3R5bGVDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuICAgIGNvbnN0IG1vZGFsQ29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG5cbiAgICBmdW5jdGlvbiBvbkNvbXBsZXRlKGNvbm5lY3Rpb246IENvbm5lY3Rpb24gfCBudWxsKSB7XG4gICAgICByZXNvbHZlKGNvbm5lY3Rpb24gPyBbY29ubmVjdGlvbi50eXBlLCBjb25uZWN0aW9uLmlkZW50aWZpZXJdIDogbnVsbCk7XG4gICAgICBzdHlsZUNvbnRhaW5lci5wYXJlbnRFbGVtZW50Py5yZW1vdmVDaGlsZChzdHlsZUNvbnRhaW5lcik7XG4gICAgICBtb2RhbENvbnRhaW5lci5wYXJlbnRFbGVtZW50Py5yZW1vdmVDaGlsZChtb2RhbENvbnRhaW5lcik7XG4gICAgfVxuXG4gICAgY29uc3QgZWxlbWVudCA9IGNyZWF0ZU1vZGFsRWxlbWVudCh7XG4gICAgICBjb25uZWN0aW9ucyxcbiAgICAgIG9uQ29tcGxldGUsXG4gICAgfSk7XG5cbiAgICBzdHlsZUNvbnRhaW5lci50ZXh0Q29udGVudCA9IG1vZGFsU3R5bGU7XG4gICAgbW9kYWxDb250YWluZXIuYXBwZW5kQ2hpbGQoZWxlbWVudCk7XG5cbiAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdoZWFkJyk/LmFwcGVuZENoaWxkKHN0eWxlQ29udGFpbmVyKTtcbiAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdib2R5Jyk/LmFwcGVuZENoaWxkKG1vZGFsQ29udGFpbmVyKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZU1vZGFsRWxlbWVudCh7XG4gIGNvbm5lY3Rpb25zLFxuICBvbkNvbXBsZXRlLFxufToge1xuICBjb25uZWN0aW9uczogQ29ubmVjdGlvbltdO1xuICBvbkNvbXBsZXRlOiAoY29ubmVjdGlvbjogQ29ubmVjdGlvbiB8IG51bGwpID0+IHZvaWQ7XG59KTogSFRNTEVsZW1lbnQge1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gY29udGFpbmVyXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgY29udGFpbmVyLnNldEF0dHJpYnV0ZSgnY2xhc3MnLCAnd2FsbGV0LXNlbGVjdC1tb2RhbCcpO1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBjb250YWluZXIgPiBkaXYud2FsbGV0LXNlbGVjdC1tb2RhbC0tZGltXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBjb25zdCBkaW0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgZGltLnNldEF0dHJpYnV0ZSgnY2xhc3MnLCAnd2FsbGV0LXNlbGVjdC1tb2RhbC0tZGltJyk7XG5cbiAgY29udGFpbmVyLmFwcGVuZENoaWxkKGRpbSk7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIGNvbnRlbnQgPiBkaXYud2FsbGV0LXNlbGVjdC1tb2RhbC0tY29udGVudFxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgY29uc3QgY29udGVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NlY3Rpb24nKTtcbiAgY29udGVudC5zZXRBdHRyaWJ1dGUoJ2NsYXNzJywgJ3dhbGxldC1zZWxlY3QtbW9kYWwtLWNvbnRlbnQnKTtcblxuICBjb250YWluZXIuYXBwZW5kQ2hpbGQoY29udGVudCk7XG5cbiAgLy8gaDFcbiAgY29uc3QgdGl0bGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdoMScpO1xuICB0aXRsZS50ZXh0Q29udGVudCA9ICdTZWxlY3QgYSBXYWxsZXQnO1xuICBjb250ZW50LmFwcGVuZENoaWxkKHRpdGxlKTtcblxuICAvLyB1bFxuICBjb25zdCBsaXN0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndWwnKTtcbiAgY29udGVudC5hcHBlbmRDaGlsZChsaXN0KTtcblxuICBmb3IgKGNvbnN0IGNvbm5lY3Rpb24gb2YgY29ubmVjdGlvbnMpIHtcbiAgICBjb25zdCBpdGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGknKTtcblxuICAgIGNvbnN0IGJ1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpO1xuICAgIGJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IG9uQ29tcGxldGUoY29ubmVjdGlvbikpO1xuXG4gICAgaXRlbS5hcHBlbmRDaGlsZChidXR0b24pO1xuXG4gICAgY29uc3QgaWNvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICBpY29uLnNldEF0dHJpYnV0ZSgnY2xhc3MnLCAnd2FsbGV0LXNlbGVjdC1tb2RhbC0taWNvbicpO1xuXG4gICAgYnV0dG9uLmFwcGVuZENoaWxkKGljb24pO1xuXG4gICAgY29uc3QgaWNvbkltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpO1xuICAgIGljb25JbWcuc2V0QXR0cmlidXRlKCdzcmMnLCBjb25uZWN0aW9uLmljb24pO1xuICAgIGljb25JbWcuc2V0QXR0cmlidXRlKFxuICAgICAgJ2FsdCcsXG4gICAgICBgJHtjb25uZWN0aW9uLm5hbWV9IFske2Nvbm5lY3Rpb24uaWRlbnRpZmllcn1dYCxcbiAgICApO1xuXG4gICAgaWNvbi5hcHBlbmRDaGlsZChpY29uSW1nKTtcblxuICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgIGRlc2NyaXB0aW9uLnNldEF0dHJpYnV0ZSgnY2xhc3MnLCAnd2FsbGV0LXNlbGVjdC1tb2RhbC0tZGVzY3JpcHRpb24nKTtcbiAgICBkZXNjcmlwdGlvbi50ZXh0Q29udGVudCA9IGNvbm5lY3Rpb24ubmFtZTtcblxuICAgIGJ1dHRvbi5hcHBlbmRDaGlsZChkZXNjcmlwdGlvbik7XG5cbiAgICBjb25zdCBhcnJvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCAnc3ZnJyk7XG4gICAgYXJyb3cuc2V0QXR0cmlidXRlKCd2aWV3Qm94JywgJzAgMCAyNCAyNCcpO1xuXG4gICAgYnV0dG9uLmFwcGVuZENoaWxkKGFycm93KTtcblxuICAgIGNvbnN0IHBhdGggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ3BhdGgnKTtcbiAgICBwYXRoLnNldEF0dHJpYnV0ZSgnZCcsICdNMTAgNkw4LjU5IDcuNDEgMTMuMTcgMTJsLTQuNTggNC41OUwxMCAxOGw2LTZ6Jyk7XG5cbiAgICBhcnJvdy5hcHBlbmRDaGlsZChwYXRoKTtcblxuICAgIGxpc3QuYXBwZW5kQ2hpbGQoaXRlbSk7XG4gIH1cblxuICAvLyBldmVudHNcbiAgZGltLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gb25Db21wbGV0ZShudWxsKSk7XG5cbiAgcmV0dXJuIGNvbnRhaW5lcjtcbn1cbiJdfQ==
@@ -0,0 +1 @@
1
+ export declare const modalStyle = "\n@keyframes wallet-select-modal--dim-enter {\n 0% {\n opacity: 0;\n }\n \n 100% {\n opacity: 1;\n }\n}\n\n@keyframes wallet-select-modal--content-enter {\n 0% {\n opacity: 0;\n transform: scale(0.4);\n }\n \n 100% {\n opacity: 1;\n transform: scale(1);\n }\n}\n\n.wallet-select-modal {\n position: fixed;\n z-index: 100000;\n \n color: #212121;\n \n left: 0;\n top: 0;\n width: 100vw;\n height: 100vh;\n \n font-family: sans-serif;\n \n display: grid;\n place-content: center;\n}\n\n.wallet-select-modal > .wallet-select-modal--dim {\n position: fixed;\n z-index: -1;\n \n left: 0;\n top: 0;\n width: 100vw;\n height: 100vh;\n background-color: rgba(0, 0, 0, 0.3);\n \n animation: wallet-select-modal--dim-enter 0.2s ease-in-out;\n}\n\n.wallet-select-modal > .wallet-select-modal--content {\n box-sizing: border-box;\n \n border-radius: 8px;\n \n background-color: #ffffff;\n box-shadow: 0 4px 18px 3px rgba(0, 0, 0, 0.43);\n \n animation: wallet-select-modal--content-enter 0.2s ease-in-out;\n \n width: 100vw;\n max-width: 480px;\n padding: 40px;\n}\n\n.wallet-select-modal > .wallet-select-modal--content h1 {\n font-size: 20px;\n font-weight: bold;\n \n margin: 0 0 32px 0;\n \n text-align: center;\n}\n\n.wallet-select-modal > .wallet-select-modal--content ul {\n padding: 0;\n margin: 0;\n list-style: none;\n \n display: flex;\n flex-direction: column;\n}\n\n.wallet-select-modal > .wallet-select-modal--content ul li {\n border-top: 1px solid #cfd8ea;\n}\n\n.wallet-select-modal > .wallet-select-modal--content ul li:last-child {\n border-bottom: 1px solid #cfd8ea;\n}\n\n.wallet-select-modal > .wallet-select-modal--content ul button {\n width: 100%;\n height: 66px;\n \n border: none;\n background-color: transparent;\n outline: none;\n cursor: pointer;\n \n display: flex;\n gap: 10px;\n align-items: center;\n}\n\n.wallet-select-modal > .wallet-select-modal--content ul button:hover {\n background-color: hsl(220, 39%, 86%, 0.25);\n}\n\n.wallet-select-modal > .wallet-select-modal--content ul button .wallet-select-modal--icon {\n display: inline-grid;\n width: 50px;\n height: 50px;\n \n place-content: center;\n}\n\n.wallet-select-modal > .wallet-select-modal--content ul button .wallet-select-modal--icon img {\n width: 30px;\n height: 30px;\n}\n\n.wallet-select-modal > .wallet-select-modal--content ul button .wallet-select-modal--description {\n flex: 1;\n text-align: left;\n \n font-size: 16px;\n font-weight: 600;\n color: #212121;\n}\n\n.wallet-select-modal > .wallet-select-modal--content ul button svg {\n width: 18px;\n height: 18px;\n \n fill: #cfd8ea;\n}\n\n.wallet-select-modal > .wallet-select-modal--content ul button:hover svg {\n fill: #2043b5;\n}\n\n@media (max-width: 450px) {\n .wallet-select-modal {\n place-content: flex-end;\n }\n \n .wallet-select-modal > .wallet-select-modal--content {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n }\n}\n";
@@ -0,0 +1,158 @@
1
+ // language=css
2
+ export const modalStyle = `
3
+ @keyframes wallet-select-modal--dim-enter {
4
+ 0% {
5
+ opacity: 0;
6
+ }
7
+
8
+ 100% {
9
+ opacity: 1;
10
+ }
11
+ }
12
+
13
+ @keyframes wallet-select-modal--content-enter {
14
+ 0% {
15
+ opacity: 0;
16
+ transform: scale(0.4);
17
+ }
18
+
19
+ 100% {
20
+ opacity: 1;
21
+ transform: scale(1);
22
+ }
23
+ }
24
+
25
+ .wallet-select-modal {
26
+ position: fixed;
27
+ z-index: 100000;
28
+
29
+ color: #212121;
30
+
31
+ left: 0;
32
+ top: 0;
33
+ width: 100vw;
34
+ height: 100vh;
35
+
36
+ font-family: sans-serif;
37
+
38
+ display: grid;
39
+ place-content: center;
40
+ }
41
+
42
+ .wallet-select-modal > .wallet-select-modal--dim {
43
+ position: fixed;
44
+ z-index: -1;
45
+
46
+ left: 0;
47
+ top: 0;
48
+ width: 100vw;
49
+ height: 100vh;
50
+ background-color: rgba(0, 0, 0, 0.3);
51
+
52
+ animation: wallet-select-modal--dim-enter 0.2s ease-in-out;
53
+ }
54
+
55
+ .wallet-select-modal > .wallet-select-modal--content {
56
+ box-sizing: border-box;
57
+
58
+ border-radius: 8px;
59
+
60
+ background-color: #ffffff;
61
+ box-shadow: 0 4px 18px 3px rgba(0, 0, 0, 0.43);
62
+
63
+ animation: wallet-select-modal--content-enter 0.2s ease-in-out;
64
+
65
+ width: 100vw;
66
+ max-width: 480px;
67
+ padding: 40px;
68
+ }
69
+
70
+ .wallet-select-modal > .wallet-select-modal--content h1 {
71
+ font-size: 20px;
72
+ font-weight: bold;
73
+
74
+ margin: 0 0 32px 0;
75
+
76
+ text-align: center;
77
+ }
78
+
79
+ .wallet-select-modal > .wallet-select-modal--content ul {
80
+ padding: 0;
81
+ margin: 0;
82
+ list-style: none;
83
+
84
+ display: flex;
85
+ flex-direction: column;
86
+ }
87
+
88
+ .wallet-select-modal > .wallet-select-modal--content ul li {
89
+ border-top: 1px solid #cfd8ea;
90
+ }
91
+
92
+ .wallet-select-modal > .wallet-select-modal--content ul li:last-child {
93
+ border-bottom: 1px solid #cfd8ea;
94
+ }
95
+
96
+ .wallet-select-modal > .wallet-select-modal--content ul button {
97
+ width: 100%;
98
+ height: 66px;
99
+
100
+ border: none;
101
+ background-color: transparent;
102
+ outline: none;
103
+ cursor: pointer;
104
+
105
+ display: flex;
106
+ gap: 10px;
107
+ align-items: center;
108
+ }
109
+
110
+ .wallet-select-modal > .wallet-select-modal--content ul button:hover {
111
+ background-color: hsl(220, 39%, 86%, 0.25);
112
+ }
113
+
114
+ .wallet-select-modal > .wallet-select-modal--content ul button .wallet-select-modal--icon {
115
+ display: inline-grid;
116
+ width: 50px;
117
+ height: 50px;
118
+
119
+ place-content: center;
120
+ }
121
+
122
+ .wallet-select-modal > .wallet-select-modal--content ul button .wallet-select-modal--icon img {
123
+ width: 30px;
124
+ height: 30px;
125
+ }
126
+
127
+ .wallet-select-modal > .wallet-select-modal--content ul button .wallet-select-modal--description {
128
+ flex: 1;
129
+ text-align: left;
130
+
131
+ font-size: 16px;
132
+ font-weight: 600;
133
+ color: #212121;
134
+ }
135
+
136
+ .wallet-select-modal > .wallet-select-modal--content ul button svg {
137
+ width: 18px;
138
+ height: 18px;
139
+
140
+ fill: #cfd8ea;
141
+ }
142
+
143
+ .wallet-select-modal > .wallet-select-modal--content ul button:hover svg {
144
+ fill: #2043b5;
145
+ }
146
+
147
+ @media (max-width: 450px) {
148
+ .wallet-select-modal {
149
+ place-content: flex-end;
150
+ }
151
+
152
+ .wallet-select-modal > .wallet-select-modal--content {
153
+ border-bottom-left-radius: 0;
154
+ border-bottom-right-radius: 0;
155
+ }
156
+ }
157
+ `;
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvQGtzYW5na3VrMTAvd2FsbGV0LWNvbnRyb2xsZXIvbW9kdWxlcy9jb25uZWN0LW1vZGFsL3N0eWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGVBQWU7QUFDZixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBMkp6QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gbGFuZ3VhZ2U9Y3NzXG5leHBvcnQgY29uc3QgbW9kYWxTdHlsZSA9IGBcbkBrZXlmcmFtZXMgd2FsbGV0LXNlbGVjdC1tb2RhbC0tZGltLWVudGVyIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB3YWxsZXQtc2VsZWN0LW1vZGFsLS1jb250ZW50LWVudGVyIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjQpO1xuICB9XG4gIFxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cblxuLndhbGxldC1zZWxlY3QtbW9kYWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEwMDAwMDtcbiAgXG4gIGNvbG9yOiAjMjEyMTIxO1xuICBcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIFxuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgXG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLndhbGxldC1zZWxlY3QtbW9kYWwgPiAud2FsbGV0LXNlbGVjdC1tb2RhbC0tZGltIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAtMTtcbiAgXG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIFxuICBhbmltYXRpb246IHdhbGxldC1zZWxlY3QtbW9kYWwtLWRpbS1lbnRlciAwLjJzIGVhc2UtaW4tb3V0O1xufVxuXG4ud2FsbGV0LXNlbGVjdC1tb2RhbCA+IC53YWxsZXQtc2VsZWN0LW1vZGFsLS1jb250ZW50IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgXG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDE4cHggM3B4IHJnYmEoMCwgMCwgMCwgMC40Myk7XG4gIFxuICBhbmltYXRpb246IHdhbGxldC1zZWxlY3QtbW9kYWwtLWNvbnRlbnQtZW50ZXIgMC4ycyBlYXNlLWluLW91dDtcbiAgXG4gIHdpZHRoOiAxMDB2dztcbiAgbWF4LXdpZHRoOiA0ODBweDtcbiAgcGFkZGluZzogNDBweDtcbn1cblxuLndhbGxldC1zZWxlY3QtbW9kYWwgPiAud2FsbGV0LXNlbGVjdC1tb2RhbC0tY29udGVudCBoMSB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIFxuICBtYXJnaW46IDAgMCAzMnB4IDA7XG4gIFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi53YWxsZXQtc2VsZWN0LW1vZGFsID4gLndhbGxldC1zZWxlY3QtbW9kYWwtLWNvbnRlbnQgdWwge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4ud2FsbGV0LXNlbGVjdC1tb2RhbCA+IC53YWxsZXQtc2VsZWN0LW1vZGFsLS1jb250ZW50IHVsIGxpIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjZmQ4ZWE7XG59XG5cbi53YWxsZXQtc2VsZWN0LW1vZGFsID4gLndhbGxldC1zZWxlY3QtbW9kYWwtLWNvbnRlbnQgdWwgbGk6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2ZkOGVhO1xufVxuXG4ud2FsbGV0LXNlbGVjdC1tb2RhbCA+IC53YWxsZXQtc2VsZWN0LW1vZGFsLS1jb250ZW50IHVsIGJ1dHRvbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDY2cHg7XG4gIFxuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBvdXRsaW5lOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIFxuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDEwcHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi53YWxsZXQtc2VsZWN0LW1vZGFsID4gLndhbGxldC1zZWxlY3QtbW9kYWwtLWNvbnRlbnQgdWwgYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaHNsKDIyMCwgMzklLCA4NiUsIDAuMjUpO1xufVxuXG4ud2FsbGV0LXNlbGVjdC1tb2RhbCA+IC53YWxsZXQtc2VsZWN0LW1vZGFsLS1jb250ZW50IHVsIGJ1dHRvbiAud2FsbGV0LXNlbGVjdC1tb2RhbC0taWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ncmlkO1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBcbiAgcGxhY2UtY29udGVudDogY2VudGVyO1xufVxuXG4ud2FsbGV0LXNlbGVjdC1tb2RhbCA+IC53YWxsZXQtc2VsZWN0LW1vZGFsLS1jb250ZW50IHVsIGJ1dHRvbiAud2FsbGV0LXNlbGVjdC1tb2RhbC0taWNvbiBpbWcge1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xufVxuXG4ud2FsbGV0LXNlbGVjdC1tb2RhbCA+IC53YWxsZXQtc2VsZWN0LW1vZGFsLS1jb250ZW50IHVsIGJ1dHRvbiAud2FsbGV0LXNlbGVjdC1tb2RhbC0tZGVzY3JpcHRpb24ge1xuICBmbGV4OiAxO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogIzIxMjEyMTtcbn1cblxuLndhbGxldC1zZWxlY3QtbW9kYWwgPiAud2FsbGV0LXNlbGVjdC1tb2RhbC0tY29udGVudCB1bCBidXR0b24gc3ZnIHtcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbiAgXG4gIGZpbGw6ICNjZmQ4ZWE7XG59XG5cbi53YWxsZXQtc2VsZWN0LW1vZGFsID4gLndhbGxldC1zZWxlY3QtbW9kYWwtLWNvbnRlbnQgdWwgYnV0dG9uOmhvdmVyIHN2ZyB7XG4gIGZpbGw6ICMyMDQzYjU7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0NTBweCkge1xuICAud2FsbGV0LXNlbGVjdC1tb2RhbCB7XG4gICAgcGxhY2UtY29udGVudDogZmxleC1lbmQ7XG4gIH1cbiAgXG4gIC53YWxsZXQtc2VsZWN0LW1vZGFsID4gLndhbGxldC1zZWxlY3QtbW9kYWwtLWNvbnRlbnQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIH1cbn1cbmA7XG4iXX0=
@@ -0,0 +1,43 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import { NetworkInfo } from '@ksangkuk10/wallet-types';
4
+ import { WebExtensionNetworkInfo, WebExtensionPostPayload, WebExtensionSignBytesPayload, WebExtensionSignPayload, WebExtensionTxResult } from '@ksangkuk10/web-extension-interface';
5
+ import { CreateTxOptions, SignMode } from '@xpla/xpla.js';
6
+ import { Subscribable } from 'rxjs';
7
+ import { ExtensionInfo } from './multiChannel';
8
+ import { ExtensionRouterStates } from './types';
9
+ export interface ExtensionRouterOptions {
10
+ defaultNetwork: NetworkInfo;
11
+ selectExtension?: (extensionInfos: ExtensionInfo[]) => Promise<ExtensionInfo | null>;
12
+ hostWindow?: Window;
13
+ dangerously__chromeExtensionCompatibleBrowserCheck: (userAgent: string) => boolean;
14
+ }
15
+ export declare class ExtensionRouter {
16
+ private readonly options;
17
+ private readonly _states;
18
+ private readonly _extensionInfos;
19
+ private _connector;
20
+ constructor(options: ExtensionRouterOptions);
21
+ states: () => import("rxjs").Observable<ExtensionRouterStates>;
22
+ getLastStates: () => ExtensionRouterStates;
23
+ connect: (identifier?: string) => Promise<void>;
24
+ disconnect: () => void;
25
+ requestApproval: () => void;
26
+ refetchStates: () => void;
27
+ post: (tx: CreateTxOptions, xplaAddress?: string) => Subscribable<WebExtensionTxResult<WebExtensionPostPayload>>;
28
+ sign: (tx: CreateTxOptions & {
29
+ sequence?: number;
30
+ accountNumber?: number;
31
+ signMode?: SignMode;
32
+ }, xplaAddress?: string) => Subscribable<WebExtensionTxResult<WebExtensionSignPayload>>;
33
+ signBytes: (bytes: Buffer, xplaAddress?: string) => Subscribable<WebExtensionTxResult<WebExtensionSignBytesPayload>>;
34
+ hasCW20Tokens: (chainID: string, ...tokenAddrs: string[]) => Promise<{
35
+ [tokenAddr: string]: boolean;
36
+ }>;
37
+ addCW20Tokens: (chainID: string, ...tokenAddrs: string[]) => Promise<{
38
+ [tokenAddr: string]: boolean;
39
+ }>;
40
+ hasNetwork: (network: Omit<WebExtensionNetworkInfo, 'name'>) => Promise<boolean>;
41
+ addNetwork: (network: WebExtensionNetworkInfo) => Promise<boolean>;
42
+ private createConnector;
43
+ }