@wallfree-dev/module-kit 0.13.42

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 (192) hide show
  1. package/LICENSE.md +7 -0
  2. package/block-explorer/block-explorer.d.ts +8 -0
  3. package/block-explorer/block-explorer.js +3 -0
  4. package/block-explorer/block-explorer.js.map +1 -0
  5. package/block-explorer/extensions/extensions.d.ts +2 -0
  6. package/block-explorer/extensions/extensions.js +3 -0
  7. package/block-explorer/extensions/extensions.js.map +1 -0
  8. package/factories/amount.d.ts +4 -0
  9. package/factories/amount.js +16 -0
  10. package/factories/amount.js.map +1 -0
  11. package/factories/key.d.ts +5 -0
  12. package/factories/key.js +24 -0
  13. package/factories/key.js.map +1 -0
  14. package/factories/signature.d.ts +2 -0
  15. package/factories/signature.js +9 -0
  16. package/factories/signature.js.map +1 -0
  17. package/factories/transaction.d.ts +3 -0
  18. package/factories/transaction.js +23 -0
  19. package/factories/transaction.js.map +1 -0
  20. package/factories/ui/alert.d.ts +5 -0
  21. package/factories/ui/alert.js +31 -0
  22. package/factories/ui/alert.js.map +1 -0
  23. package/factories/ui/text.d.ts +2 -0
  24. package/factories/ui/text.js +8 -0
  25. package/factories/ui/text.js.map +1 -0
  26. package/index.d.ts +62 -0
  27. package/index.js +85 -0
  28. package/index.js.map +1 -0
  29. package/internal/index.d.ts +5 -0
  30. package/internal/index.js +7 -0
  31. package/internal/index.js.map +1 -0
  32. package/internal/protocol/AirGapDelegateProtocol.d.ts +20 -0
  33. package/internal/protocol/AirGapDelegateProtocol.js +3 -0
  34. package/internal/protocol/AirGapDelegateProtocol.js.map +1 -0
  35. package/internal/utils/protocol.d.ts +5 -0
  36. package/internal/utils/protocol.js +24 -0
  37. package/internal/utils/protocol.js.map +1 -0
  38. package/module/extensions/extensions.d.ts +7 -0
  39. package/module/extensions/extensions.js +3 -0
  40. package/module/extensions/extensions.js.map +1 -0
  41. package/module/extensions/serialization/ProtocolSerializer.d.ts +19 -0
  42. package/module/extensions/serialization/ProtocolSerializer.js +3 -0
  43. package/module/extensions/serialization/ProtocolSerializer.js.map +1 -0
  44. package/module/module-network-registry.d.ts +11 -0
  45. package/module/module-network-registry.js +22 -0
  46. package/module/module-network-registry.js.map +1 -0
  47. package/module/module.d.ts +24 -0
  48. package/module/module.js +3 -0
  49. package/module/module.js.map +1 -0
  50. package/package.json +56 -0
  51. package/protocol/extensions/address/FetchDataForAddressExtension.d.ts +9 -0
  52. package/protocol/extensions/address/FetchDataForAddressExtension.js +3 -0
  53. package/protocol/extensions/address/FetchDataForAddressExtension.js.map +1 -0
  54. package/protocol/extensions/address/FetchDataForMultipleAddressesExtension.d.ts +9 -0
  55. package/protocol/extensions/address/FetchDataForMultipleAddressesExtension.js +3 -0
  56. package/protocol/extensions/address/FetchDataForMultipleAddressesExtension.js.map +1 -0
  57. package/protocol/extensions/address/MultiAddressPublicKeyExtension.d.ts +8 -0
  58. package/protocol/extensions/address/MultiAddressPublicKeyExtension.js +3 -0
  59. package/protocol/extensions/address/MultiAddressPublicKeyExtension.js.map +1 -0
  60. package/protocol/extensions/bip/Bip32Extension.d.ts +16 -0
  61. package/protocol/extensions/bip/Bip32Extension.js +3 -0
  62. package/protocol/extensions/bip/Bip32Extension.js.map +1 -0
  63. package/protocol/extensions/contract/ConfigurableContractExtension.d.ts +7 -0
  64. package/protocol/extensions/contract/ConfigurableContractExtension.js +3 -0
  65. package/protocol/extensions/contract/ConfigurableContractExtension.js.map +1 -0
  66. package/protocol/extensions/crypto/AESExtension.d.ts +7 -0
  67. package/protocol/extensions/crypto/AESExtension.js +3 -0
  68. package/protocol/extensions/crypto/AESExtension.js.map +1 -0
  69. package/protocol/extensions/crypto/AsymmetricEncryptionExtension.d.ts +9 -0
  70. package/protocol/extensions/crypto/AsymmetricEncryptionExtension.js +3 -0
  71. package/protocol/extensions/crypto/AsymmetricEncryptionExtension.js.map +1 -0
  72. package/protocol/extensions/crypto/CryptoExtension.d.ts +5 -0
  73. package/protocol/extensions/crypto/CryptoExtension.js +3 -0
  74. package/protocol/extensions/crypto/CryptoExtension.js.map +1 -0
  75. package/protocol/extensions/crypto/SignMessageExtension.d.ts +10 -0
  76. package/protocol/extensions/crypto/SignMessageExtension.js +3 -0
  77. package/protocol/extensions/crypto/SignMessageExtension.js.map +1 -0
  78. package/protocol/extensions/dapp/WalletConnectProtocol.d.ts +17 -0
  79. package/protocol/extensions/dapp/WalletConnectProtocol.js +3 -0
  80. package/protocol/extensions/dapp/WalletConnectProtocol.js.map +1 -0
  81. package/protocol/extensions/extensions.d.ts +43 -0
  82. package/protocol/extensions/extensions.js +3 -0
  83. package/protocol/extensions/extensions.js.map +1 -0
  84. package/protocol/extensions/multisig/multisig.d.ts +7 -0
  85. package/protocol/extensions/multisig/multisig.js +3 -0
  86. package/protocol/extensions/multisig/multisig.js.map +1 -0
  87. package/protocol/extensions/sub-protocol/GetTokenBalancesExtension.d.ts +19 -0
  88. package/protocol/extensions/sub-protocol/GetTokenBalancesExtension.js +3 -0
  89. package/protocol/extensions/sub-protocol/GetTokenBalancesExtension.js.map +1 -0
  90. package/protocol/extensions/sub-protocol/MultiTokenSubProtocolExtension.d.ts +12 -0
  91. package/protocol/extensions/sub-protocol/MultiTokenSubProtocolExtension.js +3 -0
  92. package/protocol/extensions/sub-protocol/MultiTokenSubProtocolExtension.js.map +1 -0
  93. package/protocol/extensions/sub-protocol/SingleTokenSubProtocolExtension.d.ts +9 -0
  94. package/protocol/extensions/sub-protocol/SingleTokenSubProtocolExtension.js +3 -0
  95. package/protocol/extensions/sub-protocol/SingleTokenSubProtocolExtension.js.map +1 -0
  96. package/protocol/extensions/sub-protocol/SubProtocolExtension.d.ts +7 -0
  97. package/protocol/extensions/sub-protocol/SubProtocolExtension.js +3 -0
  98. package/protocol/extensions/sub-protocol/SubProtocolExtension.js.map +1 -0
  99. package/protocol/extensions/transaction/ConfigurableTransactionInjectorExtension.d.ts +6 -0
  100. package/protocol/extensions/transaction/ConfigurableTransactionInjectorExtension.js +3 -0
  101. package/protocol/extensions/transaction/ConfigurableTransactionInjectorExtension.js.map +1 -0
  102. package/protocol/extensions/transaction/TransactionStatusCheckerExtension.d.ts +6 -0
  103. package/protocol/extensions/transaction/TransactionStatusCheckerExtension.js +3 -0
  104. package/protocol/extensions/transaction/TransactionStatusCheckerExtension.js.map +1 -0
  105. package/protocol/protocol.d.ts +68 -0
  106. package/protocol/protocol.js +3 -0
  107. package/protocol/protocol.js.map +1 -0
  108. package/readme.md +0 -0
  109. package/serializer/serializer.d.ts +12 -0
  110. package/serializer/serializer.js +3 -0
  111. package/serializer/serializer.js.map +1 -0
  112. package/types/address.d.ts +8 -0
  113. package/types/address.js +3 -0
  114. package/types/address.js.map +1 -0
  115. package/types/airgap.d.ts +15 -0
  116. package/types/airgap.js +3 -0
  117. package/types/airgap.js.map +1 -0
  118. package/types/amount.d.ts +16 -0
  119. package/types/amount.js +46 -0
  120. package/types/amount.js.map +1 -0
  121. package/types/balance.d.ts +5 -0
  122. package/types/balance.js +3 -0
  123. package/types/balance.js.map +1 -0
  124. package/types/base/cursor.d.ts +3 -0
  125. package/types/base/cursor.js +3 -0
  126. package/types/base/cursor.js.map +1 -0
  127. package/types/base/sealed.d.ts +3 -0
  128. package/types/base/sealed.js +3 -0
  129. package/types/base/sealed.js.map +1 -0
  130. package/types/block-explorer.d.ts +4 -0
  131. package/types/block-explorer.js +3 -0
  132. package/types/block-explorer.js.map +1 -0
  133. package/types/bytes.d.ts +8 -0
  134. package/types/bytes.js +3 -0
  135. package/types/bytes.js.map +1 -0
  136. package/types/crypto.d.ts +29 -0
  137. package/types/crypto.js +3 -0
  138. package/types/crypto.js.map +1 -0
  139. package/types/fee.d.ts +7 -0
  140. package/types/fee.js +3 -0
  141. package/types/fee.js.map +1 -0
  142. package/types/key.d.ts +20 -0
  143. package/types/key.js +3 -0
  144. package/types/key.js.map +1 -0
  145. package/types/meta/utility-types.d.ts +8 -0
  146. package/types/meta/utility-types.js +3 -0
  147. package/types/meta/utility-types.js.map +1 -0
  148. package/types/module.d.ts +14 -0
  149. package/types/module.js +3 -0
  150. package/types/module.js.map +1 -0
  151. package/types/protocol.d.ts +57 -0
  152. package/types/protocol.js +3 -0
  153. package/types/protocol.js.map +1 -0
  154. package/types/serializer.d.ts +6 -0
  155. package/types/serializer.js +3 -0
  156. package/types/serializer.js.map +1 -0
  157. package/types/signature.d.ts +3 -0
  158. package/types/signature.js +3 -0
  159. package/types/signature.js.map +1 -0
  160. package/types/sub-protocol.d.ts +1 -0
  161. package/types/sub-protocol.js +3 -0
  162. package/types/sub-protocol.js.map +1 -0
  163. package/types/transaction.d.ts +68 -0
  164. package/types/transaction.js +3 -0
  165. package/types/transaction.js.map +1 -0
  166. package/types/ui/action.d.ts +4 -0
  167. package/types/ui/action.js +3 -0
  168. package/types/ui/action.js.map +1 -0
  169. package/types/ui/alert.d.ts +9 -0
  170. package/types/ui/alert.js +3 -0
  171. package/types/ui/alert.js.map +1 -0
  172. package/types/ui/text.d.ts +9 -0
  173. package/types/ui/text.js +3 -0
  174. package/types/ui/text.js.map +1 -0
  175. package/utils/amount.d.ts +2 -0
  176. package/utils/amount.js +13 -0
  177. package/utils/amount.js.map +1 -0
  178. package/utils/interface.d.ts +2 -0
  179. package/utils/interface.js +11 -0
  180. package/utils/interface.js.map +1 -0
  181. package/utils/key.d.ts +8 -0
  182. package/utils/key.js +26 -0
  183. package/utils/key.js.map +1 -0
  184. package/utils/module.d.ts +9 -0
  185. package/utils/module.js +42 -0
  186. package/utils/module.js.map +1 -0
  187. package/utils/normalize.d.ts +1 -0
  188. package/utils/normalize.js +8 -0
  189. package/utils/normalize.js.map +1 -0
  190. package/utils/protocol.d.ts +63 -0
  191. package/utils/protocol.js +198 -0
  192. package/utils/protocol.js.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../src/utils/interface.ts"],"names":[],"mappings":";;;AAEA,SAAgB,mBAAmB,CAAI,MAAe,EAAE,MAAiB;IACvE,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM,EAAE;QACzC,OAAO,KAAK,CAAA;KACb;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,UAAC,GAAW,IAAK,OAAA,MAAM,CAAC,GAAsB,CAAC,KAAK,UAAU,IAAI,GAAG,IAAI,MAAM,EAA9D,CAA8D,CAAC,CAAA;AACnH,CAAC;AAND,kDAMC"}
package/utils/key.d.ts ADDED
@@ -0,0 +1,8 @@
1
+ import { ExtendedPublicKey, ExtendedSecretKey, PublicKey, SecretKey } from '../types/key';
2
+ declare type AnyKey = SecretKey | ExtendedSecretKey | PublicKey | ExtendedPublicKey;
3
+ export declare function isAnyKey(object: unknown): object is AnyKey;
4
+ export declare function isSecretKey(object: unknown): object is SecretKey;
5
+ export declare function isExtendedSecretKey(object: unknown): object is ExtendedSecretKey;
6
+ export declare function isPublicKey(object: unknown): object is PublicKey;
7
+ export declare function isExtendedPublicKey(object: unknown): object is ExtendedPublicKey;
8
+ export {};
package/utils/key.js ADDED
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isExtendedPublicKey = exports.isPublicKey = exports.isExtendedSecretKey = exports.isSecretKey = exports.isAnyKey = void 0;
4
+ var interface_1 = require("./interface");
5
+ function isAnyKey(object) {
6
+ return ((0, interface_1.implementsInterface)(object, { type: 'required', format: 'required', value: 'required' }) &&
7
+ (object.type === 'priv' || object.type === 'xpriv' || object.type === 'pub' || object.type === 'xpub'));
8
+ }
9
+ exports.isAnyKey = isAnyKey;
10
+ function isSecretKey(object) {
11
+ return isAnyKey(object) && object.type === 'priv';
12
+ }
13
+ exports.isSecretKey = isSecretKey;
14
+ function isExtendedSecretKey(object) {
15
+ return isAnyKey(object) && object.type === 'xpriv';
16
+ }
17
+ exports.isExtendedSecretKey = isExtendedSecretKey;
18
+ function isPublicKey(object) {
19
+ return isAnyKey(object) && object.type === 'pub';
20
+ }
21
+ exports.isPublicKey = isPublicKey;
22
+ function isExtendedPublicKey(object) {
23
+ return isAnyKey(object) && object.type === 'xpub';
24
+ }
25
+ exports.isExtendedPublicKey = isExtendedPublicKey;
26
+ //# sourceMappingURL=key.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key.js","sourceRoot":"","sources":["../../src/utils/key.ts"],"names":[],"mappings":";;;AACA,yCAAiD;AAGjD,SAAgB,QAAQ,CAAC,MAAe;IACtC,OAAO,CACL,IAAA,+BAAmB,EAAS,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;QAChG,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CACvG,CAAA;AACH,CAAC;AALD,4BAKC;AAED,SAAgB,WAAW,CAAC,MAAe;IACzC,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,CAAA;AACnD,CAAC;AAFD,kCAEC;AAED,SAAgB,mBAAmB,CAAC,MAAe;IACjD,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,CAAA;AACpD,CAAC;AAFD,kDAEC;AAED,SAAgB,WAAW,CAAC,MAAe;IACzC,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,CAAA;AAClD,CAAC;AAFD,kCAEC;AAED,SAAgB,mBAAmB,CAAC,MAAe;IACjD,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,CAAA;AACnD,CAAC;AAFD,kDAEC"}
@@ -0,0 +1,9 @@
1
+ import { ProtocolSerializerExtension, ProtocolSerializerModule } from '../module/extensions/serialization/ProtocolSerializer';
2
+ import { Module } from '../module/module';
3
+ import { ModuleNetworkRegistry } from '../module/module-network-registry';
4
+ import { ProtocolConfiguration } from '../types/module';
5
+ import { ProtocolNetwork } from '../types/protocol';
6
+ import { Schema } from './interface';
7
+ export declare function createSupportedProtocols<P extends string = string>(online: Record<P, ModuleNetworkRegistry> | Record<P, Record<string, ProtocolNetwork>>, offline?: P[]): Record<P, ProtocolConfiguration>;
8
+ export declare const protocolSerializerSchema: Schema<ProtocolSerializerModule>;
9
+ export declare function canSerializeProtocols<T extends Module>(module: T): module is T & ProtocolSerializerExtension<T>;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.canSerializeProtocols = exports.protocolSerializerSchema = exports.createSupportedProtocols = void 0;
4
+ var interface_1 = require("./interface");
5
+ function createSupportedProtocols(online, offline) {
6
+ var onlineIdentifiers = new Set(Object.keys(online));
7
+ var offlineIdentifiers = offline ? new Set(offline) : onlineIdentifiers;
8
+ var identifiers = new Set(Array.from(onlineIdentifiers).concat(Array.from(onlineIdentifiers)));
9
+ return Array.from(identifiers).reduce(function (obj, next) {
10
+ var _a;
11
+ var offlineConfiguration = offlineIdentifiers.has(next) ? { type: 'offline' } : undefined;
12
+ var onlineConfiguration = online[next]
13
+ ? createOnlineProtocolConfiguration(online[next])
14
+ : undefined;
15
+ var configuration = offlineConfiguration !== undefined && onlineConfiguration !== undefined
16
+ ? { type: 'full', offline: offlineConfiguration, online: onlineConfiguration }
17
+ : (offlineConfiguration !== null && offlineConfiguration !== void 0 ? offlineConfiguration : onlineConfiguration);
18
+ return Object.assign(obj, (_a = {}, _a[next] = configuration, _a));
19
+ // tslint:disable-next-line: no-object-literal-type-assertion
20
+ }, {});
21
+ }
22
+ exports.createSupportedProtocols = createSupportedProtocols;
23
+ function createOnlineProtocolConfiguration(networks) {
24
+ var _a;
25
+ return {
26
+ type: 'online',
27
+ networks: (_a = networks.supportedNetworks) !== null && _a !== void 0 ? _a : networks
28
+ };
29
+ }
30
+ // Schemas
31
+ exports.protocolSerializerSchema = {
32
+ serializeOfflineProtocol: 'required',
33
+ deserializeOfflineProtocol: 'required',
34
+ serializeOnlineProtocol: 'required',
35
+ deserializeOnlineProtocol: 'required'
36
+ };
37
+ // Implementation Checks
38
+ function canSerializeProtocols(module) {
39
+ return (0, interface_1.implementsInterface)(module, exports.protocolSerializerSchema);
40
+ }
41
+ exports.canSerializeProtocols = canSerializeProtocols;
42
+ //# sourceMappingURL=module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/utils/module.ts"],"names":[],"mappings":";;;AAMA,yCAAyD;AAEzD,SAAgB,wBAAwB,CACtC,MAAqF,EACrF,OAAa;IAEb,IAAM,iBAAiB,GAAW,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAQ,CAAC,CAAA;IACrE,IAAM,kBAAkB,GAAW,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAA;IAEjF,IAAM,WAAW,GAAW,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAA;IAExG,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,UAAC,GAAqC,EAAE,IAAO;;QACnF,IAAM,oBAAoB,GAA6C,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QACrI,IAAM,mBAAmB,GAA4C,MAAM,CAAC,IAAI,CAAC;YAC/E,CAAC,CAAC,iCAAiC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACjD,CAAC,CAAC,SAAS,CAAA;QAEb,IAAM,aAAa,GACjB,oBAAoB,KAAK,SAAS,IAAI,mBAAmB,KAAK,SAAS;YACrE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,mBAAmB,EAAE;YAC9E,CAAC,CAAE,CAAC,oBAAoB,aAApB,oBAAoB,cAApB,oBAAoB,GAAI,mBAAmB,CAAgE,CAAA;QAEnH,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,YAAI,GAAC,IAAI,IAAG,aAAa,MAAG,CAAA;QACpD,6DAA6D;IAC/D,CAAC,EAAE,EAAsC,CAAC,CAAA;AAC5C,CAAC;AAvBD,4DAuBC;AAED,SAAS,iCAAiC,CAAC,QAAiE;;IAC1G,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,MAAC,QAAkC,CAAC,iBAAiB,mCAAI,QAAQ;KAC5E,CAAA;AACH,CAAC;AAED,UAAU;AAEG,QAAA,wBAAwB,GAAqC;IACxE,wBAAwB,EAAE,UAAU;IACpC,0BAA0B,EAAE,UAAU;IACtC,uBAAuB,EAAE,UAAU;IACnC,yBAAyB,EAAE,UAAU;CACtC,CAAA;AAED,wBAAwB;AAExB,SAAgB,qBAAqB,CAAmB,MAAS;IAC/D,OAAO,IAAA,+BAAmB,EAA2B,MAAM,EAAE,gCAAwB,CAAC,CAAA;AACxF,CAAC;AAFD,sDAEC"}
@@ -0,0 +1 @@
1
+ export declare function normalizeToUndefined<T>(value: T | undefined | null): T | undefined;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalizeToUndefined = void 0;
4
+ function normalizeToUndefined(value) {
5
+ return value !== null ? value : undefined;
6
+ }
7
+ exports.normalizeToUndefined = normalizeToUndefined;
8
+ //# sourceMappingURL=normalize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../src/utils/normalize.ts"],"names":[],"mappings":";;;AAAA,SAAgB,oBAAoB,CAAI,KAA2B;IACjE,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;AAC3C,CAAC;AAFD,oDAEC"}
@@ -0,0 +1,63 @@
1
+ import { FetchDataForAddressExtension, FetchDataForAddressProtocol } from '../protocol/extensions/address/FetchDataForAddressExtension';
2
+ import { FetchDataForMultipleAddressesExtension, FetchDataForMultipleAddressesProtocol } from '../protocol/extensions/address/FetchDataForMultipleAddressesExtension';
3
+ import { MultiAddressPublicKeyExtension, MultiAddressPublicKeyProtocol } from '../protocol/extensions/address/MultiAddressPublicKeyExtension';
4
+ import { BaseBip32Protocol, Bip32Extension, OfflineBip32Protocol, OnlineBip32Protocol } from '../protocol/extensions/bip/Bip32Extension';
5
+ import { ConfigurableContractProtocol } from '../protocol/extensions/contract/ConfigurableContractExtension';
6
+ import { AES, AESExtension } from '../protocol/extensions/crypto/AESExtension';
7
+ import { AsymmetricEncryptionExtension, BaseAsymmetricEncryption, OfflineAsymmetricEncryption } from '../protocol/extensions/crypto/AsymmetricEncryptionExtension';
8
+ import { BaseSignMessage, OfflineSignMessage, SignMessageExtension } from '../protocol/extensions/crypto/SignMessageExtension';
9
+ import { WalletConnectExtension, WalletConnectProtocol } from '../protocol/extensions/dapp/WalletConnectProtocol';
10
+ import { GetTokenBalances, GetTokenBalancesExtension } from '../protocol/extensions/sub-protocol/GetTokenBalancesExtension';
11
+ import { BaseMultiTokenSubProtocol, MultiTokenSubProtocolExtension, OnlineMultiTokenSubProtocol } from '../protocol/extensions/sub-protocol/MultiTokenSubProtocolExtension';
12
+ import { SingleTokenSubProtocol, SingleTokenSubProtocolExtension } from '../protocol/extensions/sub-protocol/SingleTokenSubProtocolExtension';
13
+ import { SubProtocol } from '../protocol/extensions/sub-protocol/SubProtocolExtension';
14
+ import { ConfigurableTransactionInjectorProtocol } from '../protocol/extensions/transaction/ConfigurableTransactionInjectorExtension';
15
+ import { TransactionStatusChecker, TransactionStatusCheckerExtension } from '../protocol/extensions/transaction/TransactionStatusCheckerExtension';
16
+ import { AnyProtocol, BaseProtocol, OfflineProtocol, OnlineProtocol } from '../protocol/protocol';
17
+ import { ProtocolNetwork } from '../types/protocol';
18
+ import { Schema } from './interface';
19
+ import { MultisigProtocol, MultisigExtension } from '../protocol/extensions/multisig/multisig';
20
+ export declare const multisigSchema: Schema<MultisigProtocol>;
21
+ export declare const baseProtocolSchema: Schema<BaseProtocol>;
22
+ export declare const offlineProtocolSchema: Schema<OfflineProtocol>;
23
+ export declare const onlineProtocolSchema: Schema<OnlineProtocol>;
24
+ export declare const bip32BaseProtocolSchema: Schema<BaseBip32Protocol>;
25
+ export declare const bip32OfflineProtocolSchema: Schema<OfflineBip32Protocol>;
26
+ export declare const bip32OnlineProtocolSchema: Schema<OnlineBip32Protocol>;
27
+ export declare const subProtocolSchema: Schema<SubProtocol>;
28
+ export declare const singleTokenSubProtocolSchema: Schema<SingleTokenSubProtocol>;
29
+ export declare const multiTokenSubProtocolBaseSchema: Schema<BaseMultiTokenSubProtocol>;
30
+ export declare const multiTokenSubProtocolOnlineSchema: Schema<OnlineMultiTokenSubProtocol>;
31
+ export declare const getTokenBalancesSchema: Schema<GetTokenBalances>;
32
+ export declare const fetchDataForAddressProtocolSchema: Schema<FetchDataForAddressProtocol>;
33
+ export declare const fetchDataForMultipleAddressesProtocolSchema: Schema<FetchDataForMultipleAddressesProtocol>;
34
+ export declare const multiAddressPublicKeyProtocolSchema: Schema<MultiAddressPublicKeyProtocol>;
35
+ export declare const configurableContractProtocolSchema: Schema<ConfigurableContractProtocol>;
36
+ export declare const aesEncryptionSchema: Schema<AES>;
37
+ export declare const asymmetricEncryptionBaseSchema: Schema<BaseAsymmetricEncryption>;
38
+ export declare const asymmetricEncryptionOfflineSchema: Schema<OfflineAsymmetricEncryption>;
39
+ export declare const signMessageBaseSchema: Schema<BaseSignMessage>;
40
+ export declare const signMessageOfflineSchema: Schema<OfflineSignMessage>;
41
+ export declare const configurableTransactionInjectorSchema: Schema<ConfigurableTransactionInjectorProtocol>;
42
+ export declare const transactionStatusCheckerSchema: Schema<TransactionStatusChecker>;
43
+ export declare const walletConnectProtocolSchema: Schema<WalletConnectProtocol>;
44
+ export declare function isMultisig<T extends AnyProtocol>(protocol: T): protocol is T & MultisigExtension<T>;
45
+ export declare function isAnyProtocol(object: unknown): object is AnyProtocol;
46
+ export declare function isOfflineProtocol(object: unknown): object is OfflineProtocol;
47
+ export declare function isOnlineProtocol(object: unknown): object is OnlineProtocol;
48
+ export declare function isBip32Protocol<T extends AnyProtocol>(protocol: T): protocol is T & Bip32Extension<T>;
49
+ export declare function isSubProtocol<T extends AnyProtocol>(protocol: T): protocol is T & SubProtocol;
50
+ export declare function isSingleTokenSubProtocol<T extends AnyProtocol>(protocol: T): protocol is T & SingleTokenSubProtocolExtension<T>;
51
+ export declare function isMultiTokenSubProtocol<T extends AnyProtocol>(protocol: T): protocol is T & MultiTokenSubProtocolExtension<T>;
52
+ export declare function canGetTokenBalances<T extends OnlineProtocol>(protocol: T): protocol is T & GetTokenBalancesExtension<T>;
53
+ export declare function canFetchDataForAddress<T extends OnlineProtocol>(protocol: T): protocol is T & FetchDataForAddressExtension<T>;
54
+ export declare function canFetchDataForMultipleAddresses<T extends OnlineProtocol>(protocol: T): protocol is T & FetchDataForMultipleAddressesExtension<T>;
55
+ export declare function hasMultiAddressPublicKeys<T extends AnyProtocol>(protocol: T): protocol is T & MultiAddressPublicKeyExtension<T>;
56
+ export declare function hasConfigurableContract<T extends AnyProtocol>(protocol: T): protocol is T & ConfigurableContractProtocol;
57
+ export declare function canEncryptAES<T extends OfflineProtocol>(protocol: T): protocol is T & AESExtension<T>;
58
+ export declare function canEncryptAsymmetric<T extends AnyProtocol>(protocol: T): protocol is T & AsymmetricEncryptionExtension<T>;
59
+ export declare function canSignMessage<T extends AnyProtocol>(protocol: T): protocol is T & SignMessageExtension<T>;
60
+ export declare function hasConfigurableTransactionInjector<T extends OnlineProtocol>(protocol: T): protocol is T & ConfigurableTransactionInjectorProtocol;
61
+ export declare function isTransactionStatusChecker<T extends OnlineProtocol>(protocol: T): protocol is T & TransactionStatusCheckerExtension<T>;
62
+ export declare function supportsWalletConnect<T extends OnlineProtocol>(protocol: T): protocol is T & WalletConnectExtension<T>;
63
+ export declare function protocolNetworkIdentifier(network: ProtocolNetwork): string;
@@ -0,0 +1,198 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.protocolNetworkIdentifier = exports.supportsWalletConnect = exports.isTransactionStatusChecker = exports.hasConfigurableTransactionInjector = exports.canSignMessage = exports.canEncryptAsymmetric = exports.canEncryptAES = exports.hasConfigurableContract = exports.hasMultiAddressPublicKeys = exports.canFetchDataForMultipleAddresses = exports.canFetchDataForAddress = exports.canGetTokenBalances = exports.isMultiTokenSubProtocol = exports.isSingleTokenSubProtocol = exports.isSubProtocol = exports.isBip32Protocol = exports.isOnlineProtocol = exports.isOfflineProtocol = exports.isAnyProtocol = exports.isMultisig = exports.walletConnectProtocolSchema = exports.transactionStatusCheckerSchema = exports.configurableTransactionInjectorSchema = exports.signMessageOfflineSchema = exports.signMessageBaseSchema = exports.asymmetricEncryptionOfflineSchema = exports.asymmetricEncryptionBaseSchema = exports.aesEncryptionSchema = exports.configurableContractProtocolSchema = exports.multiAddressPublicKeyProtocolSchema = exports.fetchDataForMultipleAddressesProtocolSchema = exports.fetchDataForAddressProtocolSchema = exports.getTokenBalancesSchema = exports.multiTokenSubProtocolOnlineSchema = exports.multiTokenSubProtocolBaseSchema = exports.singleTokenSubProtocolSchema = exports.subProtocolSchema = exports.bip32OnlineProtocolSchema = exports.bip32OfflineProtocolSchema = exports.bip32BaseProtocolSchema = exports.onlineProtocolSchema = exports.offlineProtocolSchema = exports.baseProtocolSchema = exports.multisigSchema = void 0;
15
+ // @ts-ignore
16
+ var createHash = require("@wallfree-dev/coinlib-core/dependencies/src/create-hash-1.2.0/index");
17
+ var interface_1 = require("./interface");
18
+ // Schemas
19
+ exports.multisigSchema = {
20
+ getMultisigStatus: 'required'
21
+ // getSigners: 'required',
22
+ // addSigner: 'required',
23
+ // removeSigner: 'required'
24
+ };
25
+ exports.baseProtocolSchema = {
26
+ getAddressFromPublicKey: 'required',
27
+ getDetailsFromTransaction: 'required',
28
+ getMetadata: 'required'
29
+ };
30
+ exports.offlineProtocolSchema = __assign(__assign({}, exports.baseProtocolSchema), { getCryptoConfiguration: 'required', getKeyPairFromDerivative: 'required', signTransactionWithSecretKey: 'required' });
31
+ exports.onlineProtocolSchema = __assign(__assign({}, exports.baseProtocolSchema), { broadcastTransaction: 'required', getBalanceOfPublicKey: 'required', getNetwork: 'required', getTransactionFeeWithPublicKey: 'required', getTransactionMaxAmountWithPublicKey: 'required', getTransactionsForPublicKey: 'required', prepareTransactionWithPublicKey: 'required' });
32
+ exports.bip32BaseProtocolSchema = __assign(__assign({}, exports.baseProtocolSchema), { deriveFromExtendedPublicKey: 'required' });
33
+ exports.bip32OfflineProtocolSchema = __assign(__assign(__assign({}, exports.bip32BaseProtocolSchema), exports.offlineProtocolSchema), { getExtendedKeyPairFromDerivative: 'required', deriveFromExtendedSecretKey: 'required' });
34
+ exports.bip32OnlineProtocolSchema = __assign(__assign({}, exports.bip32BaseProtocolSchema), exports.onlineProtocolSchema);
35
+ exports.subProtocolSchema = {
36
+ getType: 'required',
37
+ mainProtocol: 'required'
38
+ };
39
+ exports.singleTokenSubProtocolSchema = __assign(__assign({}, exports.subProtocolSchema), { getContractAddress: 'required' });
40
+ exports.multiTokenSubProtocolBaseSchema = exports.singleTokenSubProtocolSchema;
41
+ exports.multiTokenSubProtocolOnlineSchema = __assign(__assign({}, exports.multiTokenSubProtocolBaseSchema), exports.onlineProtocolSchema);
42
+ exports.getTokenBalancesSchema = {
43
+ getTokenBalancesOfPublicKey: 'required'
44
+ };
45
+ exports.fetchDataForAddressProtocolSchema = {
46
+ getBalanceOfAddress: 'required',
47
+ getTransactionsForAddress: 'required'
48
+ };
49
+ exports.fetchDataForMultipleAddressesProtocolSchema = {
50
+ getBalanceOfAddresses: 'required',
51
+ getTransactionsForAddresses: 'required'
52
+ };
53
+ exports.multiAddressPublicKeyProtocolSchema = {
54
+ getInitialAddressesFromPublicKey: 'required',
55
+ getNextAddressFromPublicKey: 'required'
56
+ };
57
+ exports.configurableContractProtocolSchema = {
58
+ isContractValid: 'required',
59
+ getContractAddress: 'required',
60
+ setContractAddress: 'required'
61
+ };
62
+ exports.aesEncryptionSchema = {
63
+ decryptAESWithSecretKey: 'required',
64
+ encryptAESWithSecretKey: 'required'
65
+ };
66
+ exports.asymmetricEncryptionBaseSchema = {
67
+ encryptAsymmetricWithPublicKey: 'required'
68
+ };
69
+ exports.asymmetricEncryptionOfflineSchema = __assign(__assign({}, exports.asymmetricEncryptionBaseSchema), { decryptAsymmetricWithKeyPair: 'required' });
70
+ exports.signMessageBaseSchema = {
71
+ verifyMessageWithPublicKey: 'required'
72
+ };
73
+ exports.signMessageOfflineSchema = __assign(__assign({}, exports.signMessageBaseSchema), { signMessageWithKeyPair: 'required' });
74
+ exports.configurableTransactionInjectorSchema = {
75
+ getInjectorUrl: 'required',
76
+ setInjectorUrl: 'required'
77
+ };
78
+ exports.transactionStatusCheckerSchema = {
79
+ getTransactionStatus: 'required'
80
+ };
81
+ exports.walletConnectProtocolSchema = {
82
+ getWalletConnectChain: 'required',
83
+ prepareWalletConnectTransactionWithPublicKey: 'required'
84
+ };
85
+ // Implementation Checks
86
+ function isMultisig(protocol) {
87
+ return (0, interface_1.implementsInterface)(protocol, exports.multisigSchema);
88
+ }
89
+ exports.isMultisig = isMultisig;
90
+ function isAnyProtocol(object) {
91
+ return isOfflineProtocol(object) || isOnlineProtocol(object);
92
+ }
93
+ exports.isAnyProtocol = isAnyProtocol;
94
+ function isOfflineProtocol(object) {
95
+ return (0, interface_1.implementsInterface)(object, exports.offlineProtocolSchema);
96
+ }
97
+ exports.isOfflineProtocol = isOfflineProtocol;
98
+ function isOnlineProtocol(object) {
99
+ return (0, interface_1.implementsInterface)(object, exports.onlineProtocolSchema);
100
+ }
101
+ exports.isOnlineProtocol = isOnlineProtocol;
102
+ function isOfflineBip32Protocol(protocol) {
103
+ return (0, interface_1.implementsInterface)(protocol, exports.bip32OfflineProtocolSchema);
104
+ }
105
+ function isOnlineBip32Protocol(protocol) {
106
+ return (0, interface_1.implementsInterface)(protocol, exports.bip32OnlineProtocolSchema);
107
+ }
108
+ function isBip32Protocol(protocol) {
109
+ var extendedWithBip32 = false;
110
+ if (isOfflineProtocol(protocol)) {
111
+ extendedWithBip32 = isOfflineBip32Protocol(protocol);
112
+ }
113
+ if (isOnlineProtocol(protocol)) {
114
+ extendedWithBip32 && (extendedWithBip32 = isOnlineBip32Protocol(protocol));
115
+ }
116
+ return extendedWithBip32;
117
+ }
118
+ exports.isBip32Protocol = isBip32Protocol;
119
+ function isSubProtocol(protocol) {
120
+ return (0, interface_1.implementsInterface)(protocol, exports.subProtocolSchema);
121
+ }
122
+ exports.isSubProtocol = isSubProtocol;
123
+ function isSingleTokenSubProtocol(protocol) {
124
+ return (0, interface_1.implementsInterface)(protocol, exports.singleTokenSubProtocolSchema);
125
+ }
126
+ exports.isSingleTokenSubProtocol = isSingleTokenSubProtocol;
127
+ function isMultiTokenSubProtocol(protocol) {
128
+ var extendedWithMultiTokenSubProtocol = (0, interface_1.implementsInterface)(protocol, exports.multiTokenSubProtocolBaseSchema);
129
+ if (isOnlineProtocol(protocol)) {
130
+ extendedWithMultiTokenSubProtocol && (extendedWithMultiTokenSubProtocol = (0, interface_1.implementsInterface)(protocol, exports.multiTokenSubProtocolOnlineSchema));
131
+ }
132
+ return extendedWithMultiTokenSubProtocol;
133
+ }
134
+ exports.isMultiTokenSubProtocol = isMultiTokenSubProtocol;
135
+ function canGetTokenBalances(protocol) {
136
+ return (0, interface_1.implementsInterface)(protocol, exports.getTokenBalancesSchema);
137
+ }
138
+ exports.canGetTokenBalances = canGetTokenBalances;
139
+ function canFetchDataForAddress(protocol) {
140
+ return (0, interface_1.implementsInterface)(protocol, exports.fetchDataForAddressProtocolSchema);
141
+ }
142
+ exports.canFetchDataForAddress = canFetchDataForAddress;
143
+ function canFetchDataForMultipleAddresses(protocol) {
144
+ return (0, interface_1.implementsInterface)(protocol, exports.fetchDataForMultipleAddressesProtocolSchema);
145
+ }
146
+ exports.canFetchDataForMultipleAddresses = canFetchDataForMultipleAddresses;
147
+ function hasMultiAddressPublicKeys(protocol) {
148
+ return (0, interface_1.implementsInterface)(protocol, exports.multiAddressPublicKeyProtocolSchema);
149
+ }
150
+ exports.hasMultiAddressPublicKeys = hasMultiAddressPublicKeys;
151
+ function hasConfigurableContract(protocol) {
152
+ return (0, interface_1.implementsInterface)(protocol, exports.configurableContractProtocolSchema);
153
+ }
154
+ exports.hasConfigurableContract = hasConfigurableContract;
155
+ function canEncryptAES(protocol) {
156
+ return (0, interface_1.implementsInterface)(protocol, exports.aesEncryptionSchema);
157
+ }
158
+ exports.canEncryptAES = canEncryptAES;
159
+ function canEncryptAsymmetric(protocol) {
160
+ var extendedWithAsymmetricEncryption = (0, interface_1.implementsInterface)(protocol, exports.asymmetricEncryptionBaseSchema);
161
+ if (isOfflineProtocol(protocol)) {
162
+ extendedWithAsymmetricEncryption && (extendedWithAsymmetricEncryption = (0, interface_1.implementsInterface)(protocol, exports.asymmetricEncryptionOfflineSchema));
163
+ }
164
+ return extendedWithAsymmetricEncryption;
165
+ }
166
+ exports.canEncryptAsymmetric = canEncryptAsymmetric;
167
+ function canSignMessage(protocol) {
168
+ var extendedWithSignMessage = (0, interface_1.implementsInterface)(protocol, exports.signMessageBaseSchema);
169
+ if (isOfflineProtocol(protocol)) {
170
+ extendedWithSignMessage && (extendedWithSignMessage = (0, interface_1.implementsInterface)(protocol, exports.signMessageOfflineSchema));
171
+ }
172
+ return extendedWithSignMessage;
173
+ }
174
+ exports.canSignMessage = canSignMessage;
175
+ function hasConfigurableTransactionInjector(protocol) {
176
+ return (0, interface_1.implementsInterface)(protocol, exports.configurableTransactionInjectorSchema);
177
+ }
178
+ exports.hasConfigurableTransactionInjector = hasConfigurableTransactionInjector;
179
+ function isTransactionStatusChecker(protocol) {
180
+ return (0, interface_1.implementsInterface)(protocol, exports.transactionStatusCheckerSchema);
181
+ }
182
+ exports.isTransactionStatusChecker = isTransactionStatusChecker;
183
+ function supportsWalletConnect(protocol) {
184
+ return (0, interface_1.implementsInterface)(protocol, exports.walletConnectProtocolSchema);
185
+ }
186
+ exports.supportsWalletConnect = supportsWalletConnect;
187
+ // Identifier
188
+ var sha256hashShort = function (input) {
189
+ var hash = createHash('sha256');
190
+ hash.update(input);
191
+ return hash.digest('base64').slice(0, 10);
192
+ };
193
+ function protocolNetworkIdentifier(network) {
194
+ var hashed = sha256hashShort("".concat(network.name, "-").concat(network.rpcUrl));
195
+ return "".concat(network.type, "-").concat(hashed.replace(/\//g, '_'));
196
+ }
197
+ exports.protocolNetworkIdentifier = protocolNetworkIdentifier;
198
+ //# sourceMappingURL=protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/utils/protocol.ts"],"names":[],"mappings":"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"}