@airgap/module-kit 0.13.16-beta.0 → 0.13.16-beta.10

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 (34) hide show
  1. package/index.d.ts +12 -7
  2. package/index.js +27 -1
  3. package/index.js.map +1 -1
  4. package/internal/index.d.ts +4 -1
  5. package/internal/index.js +4 -0
  6. package/internal/index.js.map +1 -1
  7. package/internal/{AirGapDelegateProtocol.d.ts → protocol/AirGapDelegateProtocol.d.ts} +2 -2
  8. package/internal/protocol/AirGapDelegateProtocol.js.map +1 -0
  9. package/internal/utils/protocol.d.ts +5 -0
  10. package/internal/utils/protocol.js +24 -0
  11. package/internal/utils/protocol.js.map +1 -0
  12. package/module/extensions/extensions.d.ts +6 -1
  13. package/module/extensions/serialization/ProtocolSerializer.d.ts +19 -0
  14. package/module/extensions/serialization/ProtocolSerializer.js +3 -0
  15. package/module/extensions/serialization/ProtocolSerializer.js.map +1 -0
  16. package/module/module.d.ts +10 -6
  17. package/package.json +3 -3
  18. package/protocol/extensions/address/MultiAddressPublicKeyExtension.d.ts +2 -1
  19. package/protocol/extensions/dapp/WalletConnectProtocol.d.ts +24 -0
  20. package/protocol/extensions/dapp/WalletConnectProtocol.js +3 -0
  21. package/protocol/extensions/dapp/WalletConnectProtocol.js.map +1 -0
  22. package/protocol/extensions/extensions.d.ts +3 -1
  23. package/protocol/protocol.d.ts +4 -4
  24. package/types/meta/utility-types.d.ts +1 -0
  25. package/types/protocol.d.ts +1 -0
  26. package/types/transaction.d.ts +4 -2
  27. package/utils/module.d.ts +5 -0
  28. package/utils/module.js +14 -1
  29. package/utils/module.js.map +1 -1
  30. package/utils/protocol.d.ts +39 -13
  31. package/utils/protocol.js +53 -41
  32. package/utils/protocol.js.map +1 -1
  33. package/internal/AirGapDelegateProtocol.js.map +0 -1
  34. /package/internal/{AirGapDelegateProtocol.js → protocol/AirGapDelegateProtocol.js} +0 -0
package/index.d.ts CHANGED
@@ -5,6 +5,7 @@ import { newSignature } from './factories/signature';
5
5
  import { newSignedTransaction, newUnsignedTransaction } from './factories/transaction';
6
6
  import { newErrorUIAlert, newInfoUIAlert, newSuccessUIAlert, newWarningUIAlert } from './factories/ui/alert';
7
7
  import { newPlainUIText } from './factories/ui/text';
8
+ import { AirGapSerializedAnyProtocol, AirGapSerializedOfflineProtocol, AirGapSerializedOnlineProtocol, ProtocolSerializerExtension, ProtocolSerializerModule } from './module/extensions/serialization/ProtocolSerializer';
8
9
  import { AirGapModule } from './module/module';
9
10
  import { ModuleNetworkRegistry } from './module/module-network-registry';
10
11
  import { FetchDataForMultipleAddressesExtension, FetchDataForMultipleAddressesProtocol } from './protocol/extensions/address/FetchDataForMultipleAddressesExtension';
@@ -14,6 +15,7 @@ import { AESExtension } from './protocol/extensions/crypto/AESExtension';
14
15
  import { AsymmetricEncryptionExtension } from './protocol/extensions/crypto/AsymmetricEncryptionExtension';
15
16
  import { CryptoExtension } from './protocol/extensions/crypto/CryptoExtension';
16
17
  import { SignMessageExtension } from './protocol/extensions/crypto/SignMessageExtension';
18
+ import { WalletConnectExtension, WalletConnectProtocol, WalletConnectRequest, WalletConnectTransaction } from './protocol/extensions/dapp/WalletConnectProtocol';
17
19
  import { BaseMultiTokenSubProtocol, MultiTokenBalanceConfiguration, MultiTokenSubProtocolExtension, OnlineMultiTokenSubProtocol } from './protocol/extensions/sub-protocol/MultiTokenSubProtocolExtension';
18
20
  import { SingleTokenSubProtocol, SingleTokenSubProtocolExtension } from './protocol/extensions/sub-protocol/SingleTokenSubProtocolExtension';
19
21
  import { SubProtocol, SubProtocolExtension } from './protocol/extensions/sub-protocol/SubProtocolExtension';
@@ -35,21 +37,24 @@ import { ProtocolAccountMetadata, ProtocolFeeMetadata, ProtocolMetadata, Protoco
35
37
  import { V3SchemaConfiguration } from './types/serializer';
36
38
  import { Signature } from './types/signature';
37
39
  import { SubProtocolType } from './types/sub-protocol';
38
- import { AirGapTransaction, AirGapTransactionStatus, AirGapTransactionsWithCursor, SignedTransaction, TransactionConfiguration, TransactionCursor, TransactionDetails, TransactionType, UnsignedTransaction } from './types/transaction';
40
+ import { AirGapTransaction, AirGapTransactionStatus, AirGapTransactionsWithCursor, SignedTransaction, TransactionCursor, TransactionDetails, TransactionFullConfiguration, TransactionSimpleConfiguration, TransactionType, UnsignedTransaction } from './types/transaction';
39
41
  import { AirGapUIAction } from './types/ui/action';
40
42
  import { AirGapUIAlert } from './types/ui/alert';
41
43
  import { AirGapUIText } from './types/ui/text';
42
44
  import { isAmount } from './utils/amount';
43
45
  import { implementsInterface, Schema } from './utils/interface';
44
46
  import { isAnyKey, isExtendedPublicKey, isExtendedSecretKey, isPublicKey, isSecretKey } from './utils/key';
45
- import { createSupportedProtocols } from './utils/module';
47
+ import { canSerializeProtocols, createSupportedProtocols, protocolSerializerSchema } from './utils/module';
46
48
  import { normalizeToUndefined } from './utils/normalize';
47
- import { canEncryptAES, canEncryptAsymmetric, canFetchDataForAddress, canFetchDataForMultipleAddresses, canSignMessage, hasConfigurableContract, hasConfigurableTransactionInjector, hasMultiAddressPublicKeys, isBip32Protocol, isMultiTokenSubProtocol, isOfflineProtocol, isOnlineProtocol, isSingleTokenSubProtocol, isSubProtocol, isTransactionStatusChecker, protocolNetworkIdentifier } from './utils/protocol';
49
+ import { aesEncryptionSchema, asymmetricEncryptionBaseSchema, asymmetricEncryptionOfflineSchema, baseProtocolSchema, bip32BaseProtocolSchema, bip32OfflineProtocolSchema, bip32OnlineProtocolSchema, canEncryptAES, canEncryptAsymmetric, canFetchDataForAddress, canFetchDataForMultipleAddresses, canSignMessage, configurableContractProtocolSchema, configurableTransactionInjectorSchema, fetchDataForAddressProtocolSchema, fetchDataForMultipleAddressesProtocolSchema, hasConfigurableContract, hasConfigurableTransactionInjector, hasMultiAddressPublicKeys, isAnyProtocol, isBip32Protocol, isMultiTokenSubProtocol, isOfflineProtocol, isOnlineProtocol, isSingleTokenSubProtocol, isSubProtocol, isTransactionStatusChecker, multiAddressPublicKeyProtocolSchema, multiTokenSubProtocolBaseSchema, offlineProtocolSchema, onlineProtocolSchema, protocolNetworkIdentifier, signMessageBaseSchema, signMessageOfflineSchema, singleTokenSubProtocolSchema, subProtocolSchema, supportsWalletConnect, transactionStatusCheckerSchema, walletConnectProtocolSchema } from './utils/protocol';
48
50
  export { AirGapBlockExplorer, BlockExplorerMetadata };
49
51
  export { newSuccessUIAlert, newInfoUIAlert, newWarningUIAlert, newErrorUIAlert, newPlainUIText, newAmount, newSecretKey, newExtendedSecretKey, newPublicKey, newExtendedPublicKey, newSignature, newUnsignedTransaction, newSignedTransaction };
50
- export { AirGapModule, ModuleNetworkRegistry, ProtocolConfiguration, OfflineProtocolConfiguration, OnlineProtocolConfiguration, FullProtocolConfiguration };
51
- export { AirGapOfflineProtocol, AirGapOnlineProtocol, AirGapProtocol, AirGapAnyProtocol, FetchDataForMultipleAddressesExtension, FetchDataForMultipleAddressesProtocol, MultiAddressPublicKeyExtension, MultiAddressPublicKeyProtocol, Bip32Extension, OfflineBip32Protocol, OnlineBip32Protocol, SubProtocolExtension, SubProtocol, SingleTokenSubProtocolExtension, SingleTokenSubProtocol, MultiTokenSubProtocolExtension, BaseMultiTokenSubProtocol, OnlineMultiTokenSubProtocol, CryptoExtension, AESExtension, AsymmetricEncryptionExtension, SignMessageExtension, TransactionStatusCheckerExtension, ProtocolMetadata, ProtocolUnitsMetadata, ProtocolSymbol, ProtocolFeeMetadata, ProtocolAccountMetadata, ProtocolTransactionMetadata, ProtocolNetworkType, ProtocolNetwork, SubProtocolType };
52
+ export { AirGapModule, ModuleNetworkRegistry, ProtocolConfiguration, OfflineProtocolConfiguration, OnlineProtocolConfiguration, FullProtocolConfiguration, AirGapSerializedOfflineProtocol, AirGapSerializedOnlineProtocol, AirGapSerializedAnyProtocol };
53
+ export { ProtocolSerializerExtension, ProtocolSerializerModule };
54
+ export { AirGapOfflineProtocol, AirGapOnlineProtocol, AirGapProtocol, AirGapAnyProtocol, ProtocolMetadata, ProtocolUnitsMetadata, ProtocolSymbol, ProtocolFeeMetadata, ProtocolAccountMetadata, ProtocolTransactionMetadata, ProtocolNetworkType, ProtocolNetwork, SubProtocolType };
55
+ export { FetchDataForMultipleAddressesExtension, FetchDataForMultipleAddressesProtocol, MultiAddressPublicKeyExtension, MultiAddressPublicKeyProtocol, Bip32Extension, OfflineBip32Protocol, OnlineBip32Protocol, SubProtocolExtension, SubProtocol, SingleTokenSubProtocolExtension, SingleTokenSubProtocol, MultiTokenSubProtocolExtension, BaseMultiTokenSubProtocol, OnlineMultiTokenSubProtocol, CryptoExtension, AESExtension, AsymmetricEncryptionExtension, SignMessageExtension, TransactionStatusCheckerExtension, WalletConnectRequest, WalletConnectTransaction, WalletConnectExtension, WalletConnectProtocol };
52
56
  export { AirGapV3SerializerCompanion, V3SchemaConfiguration };
53
57
  export { AirGapInterface };
54
- export { AirGapUIAction, AirGapUIAlert, AirGapUIText, Address, AddressCursor, AddressWithCursor, Amount, Balance, MultiTokenBalanceConfiguration, BytesStringFormat, BytesString, HexString, CryptoAlgorithm, CryptoSecretType, Ed25519CryptoConfiguration, Sr25519CryptoConfiguration, Secp256K1CryptoConfiguration, SaplingCryptoConfiguration, CryptoConfiguration, CryptoDerivative, FeeDefaults, FeeEstimation, KeyType, SecretKey, ExtendedSecretKey, PublicKey, ExtendedPublicKey, KeyPair, ExtendedKeyPair, Signature, TransactionType, UnsignedTransaction, SignedTransaction, AirGapTransaction, TransactionCursor, AirGapTransactionsWithCursor, TransactionDetails, TransactionConfiguration, AirGapTransactionStatus, RecursivePartial };
55
- export { isAmount, Schema, implementsInterface, isAnyKey, isSecretKey, isExtendedSecretKey, isPublicKey, isExtendedPublicKey, createSupportedProtocols, isOfflineProtocol, isOnlineProtocol, isBip32Protocol, isSubProtocol, isSingleTokenSubProtocol, isMultiTokenSubProtocol, canFetchDataForAddress, canFetchDataForMultipleAddresses, hasMultiAddressPublicKeys, hasConfigurableContract, canEncryptAES, canEncryptAsymmetric, canSignMessage, hasConfigurableTransactionInjector, isTransactionStatusChecker, protocolNetworkIdentifier, normalizeToUndefined };
58
+ export { AirGapUIAction, AirGapUIAlert, AirGapUIText, Address, AddressCursor, AddressWithCursor, Amount, Balance, MultiTokenBalanceConfiguration, BytesStringFormat, BytesString, HexString, CryptoAlgorithm, CryptoSecretType, Ed25519CryptoConfiguration, Sr25519CryptoConfiguration, Secp256K1CryptoConfiguration, SaplingCryptoConfiguration, CryptoConfiguration, CryptoDerivative, FeeDefaults, FeeEstimation, KeyType, SecretKey, ExtendedSecretKey, PublicKey, ExtendedPublicKey, KeyPair, ExtendedKeyPair, Signature, TransactionType, UnsignedTransaction, SignedTransaction, AirGapTransaction, TransactionCursor, AirGapTransactionsWithCursor, TransactionDetails, TransactionSimpleConfiguration, TransactionFullConfiguration, AirGapTransactionStatus, RecursivePartial };
59
+ export { isAmount, Schema, implementsInterface, isAnyKey, isSecretKey, isExtendedSecretKey, isPublicKey, isExtendedPublicKey, createSupportedProtocols, canSerializeProtocols, isAnyProtocol, isOfflineProtocol, isOnlineProtocol, isBip32Protocol, isSubProtocol, isSingleTokenSubProtocol, isMultiTokenSubProtocol, canFetchDataForAddress, canFetchDataForMultipleAddresses, hasMultiAddressPublicKeys, hasConfigurableContract, canEncryptAES, canEncryptAsymmetric, canSignMessage, hasConfigurableTransactionInjector, isTransactionStatusChecker, supportsWalletConnect, protocolNetworkIdentifier, normalizeToUndefined };
60
+ export { protocolSerializerSchema, baseProtocolSchema, offlineProtocolSchema, onlineProtocolSchema, bip32BaseProtocolSchema, bip32OfflineProtocolSchema, bip32OnlineProtocolSchema, subProtocolSchema, singleTokenSubProtocolSchema, multiTokenSubProtocolBaseSchema, fetchDataForAddressProtocolSchema, fetchDataForMultipleAddressesProtocolSchema, multiAddressPublicKeyProtocolSchema, configurableContractProtocolSchema, aesEncryptionSchema, asymmetricEncryptionBaseSchema, asymmetricEncryptionOfflineSchema, signMessageBaseSchema, signMessageOfflineSchema, configurableTransactionInjectorSchema, transactionStatusCheckerSchema, walletConnectProtocolSchema };
package/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.normalizeToUndefined = exports.protocolNetworkIdentifier = exports.isTransactionStatusChecker = exports.hasConfigurableTransactionInjector = exports.canSignMessage = exports.canEncryptAsymmetric = exports.canEncryptAES = exports.hasConfigurableContract = exports.hasMultiAddressPublicKeys = exports.canFetchDataForMultipleAddresses = exports.canFetchDataForAddress = exports.isMultiTokenSubProtocol = exports.isSingleTokenSubProtocol = exports.isSubProtocol = exports.isBip32Protocol = exports.isOnlineProtocol = exports.isOfflineProtocol = exports.createSupportedProtocols = exports.isExtendedPublicKey = exports.isPublicKey = exports.isExtendedSecretKey = exports.isSecretKey = exports.isAnyKey = exports.implementsInterface = exports.isAmount = exports.ModuleNetworkRegistry = exports.newSignedTransaction = exports.newUnsignedTransaction = exports.newSignature = exports.newExtendedPublicKey = exports.newPublicKey = exports.newExtendedSecretKey = exports.newSecretKey = exports.newAmount = exports.newPlainUIText = exports.newErrorUIAlert = exports.newWarningUIAlert = exports.newInfoUIAlert = exports.newSuccessUIAlert = void 0;
3
+ exports.subProtocolSchema = exports.bip32OnlineProtocolSchema = exports.bip32OfflineProtocolSchema = exports.bip32BaseProtocolSchema = exports.onlineProtocolSchema = exports.offlineProtocolSchema = exports.baseProtocolSchema = exports.protocolSerializerSchema = exports.normalizeToUndefined = exports.protocolNetworkIdentifier = exports.supportsWalletConnect = exports.isTransactionStatusChecker = exports.hasConfigurableTransactionInjector = exports.canSignMessage = exports.canEncryptAsymmetric = exports.canEncryptAES = exports.hasConfigurableContract = exports.hasMultiAddressPublicKeys = exports.canFetchDataForMultipleAddresses = exports.canFetchDataForAddress = exports.isMultiTokenSubProtocol = exports.isSingleTokenSubProtocol = exports.isSubProtocol = exports.isBip32Protocol = exports.isOnlineProtocol = exports.isOfflineProtocol = exports.isAnyProtocol = exports.canSerializeProtocols = exports.createSupportedProtocols = exports.isExtendedPublicKey = exports.isPublicKey = exports.isExtendedSecretKey = exports.isSecretKey = exports.isAnyKey = exports.implementsInterface = exports.isAmount = exports.ModuleNetworkRegistry = exports.newSignedTransaction = exports.newUnsignedTransaction = exports.newSignature = exports.newExtendedPublicKey = exports.newPublicKey = exports.newExtendedSecretKey = exports.newSecretKey = exports.newAmount = exports.newPlainUIText = exports.newErrorUIAlert = exports.newWarningUIAlert = exports.newInfoUIAlert = exports.newSuccessUIAlert = void 0;
4
+ 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.multiTokenSubProtocolBaseSchema = exports.singleTokenSubProtocolSchema = void 0;
4
5
  var amount_1 = require("./factories/amount");
5
6
  Object.defineProperty(exports, "newAmount", { enumerable: true, get: function () { return amount_1.newAmount; } });
6
7
  var key_1 = require("./factories/key");
@@ -33,18 +34,32 @@ Object.defineProperty(exports, "isExtendedSecretKey", { enumerable: true, get: f
33
34
  Object.defineProperty(exports, "isPublicKey", { enumerable: true, get: function () { return key_2.isPublicKey; } });
34
35
  Object.defineProperty(exports, "isSecretKey", { enumerable: true, get: function () { return key_2.isSecretKey; } });
35
36
  var module_1 = require("./utils/module");
37
+ Object.defineProperty(exports, "canSerializeProtocols", { enumerable: true, get: function () { return module_1.canSerializeProtocols; } });
36
38
  Object.defineProperty(exports, "createSupportedProtocols", { enumerable: true, get: function () { return module_1.createSupportedProtocols; } });
39
+ Object.defineProperty(exports, "protocolSerializerSchema", { enumerable: true, get: function () { return module_1.protocolSerializerSchema; } });
37
40
  var normalize_1 = require("./utils/normalize");
38
41
  Object.defineProperty(exports, "normalizeToUndefined", { enumerable: true, get: function () { return normalize_1.normalizeToUndefined; } });
39
42
  var protocol_1 = require("./utils/protocol");
43
+ Object.defineProperty(exports, "aesEncryptionSchema", { enumerable: true, get: function () { return protocol_1.aesEncryptionSchema; } });
44
+ Object.defineProperty(exports, "asymmetricEncryptionBaseSchema", { enumerable: true, get: function () { return protocol_1.asymmetricEncryptionBaseSchema; } });
45
+ Object.defineProperty(exports, "asymmetricEncryptionOfflineSchema", { enumerable: true, get: function () { return protocol_1.asymmetricEncryptionOfflineSchema; } });
46
+ Object.defineProperty(exports, "baseProtocolSchema", { enumerable: true, get: function () { return protocol_1.baseProtocolSchema; } });
47
+ Object.defineProperty(exports, "bip32BaseProtocolSchema", { enumerable: true, get: function () { return protocol_1.bip32BaseProtocolSchema; } });
48
+ Object.defineProperty(exports, "bip32OfflineProtocolSchema", { enumerable: true, get: function () { return protocol_1.bip32OfflineProtocolSchema; } });
49
+ Object.defineProperty(exports, "bip32OnlineProtocolSchema", { enumerable: true, get: function () { return protocol_1.bip32OnlineProtocolSchema; } });
40
50
  Object.defineProperty(exports, "canEncryptAES", { enumerable: true, get: function () { return protocol_1.canEncryptAES; } });
41
51
  Object.defineProperty(exports, "canEncryptAsymmetric", { enumerable: true, get: function () { return protocol_1.canEncryptAsymmetric; } });
42
52
  Object.defineProperty(exports, "canFetchDataForAddress", { enumerable: true, get: function () { return protocol_1.canFetchDataForAddress; } });
43
53
  Object.defineProperty(exports, "canFetchDataForMultipleAddresses", { enumerable: true, get: function () { return protocol_1.canFetchDataForMultipleAddresses; } });
44
54
  Object.defineProperty(exports, "canSignMessage", { enumerable: true, get: function () { return protocol_1.canSignMessage; } });
55
+ Object.defineProperty(exports, "configurableContractProtocolSchema", { enumerable: true, get: function () { return protocol_1.configurableContractProtocolSchema; } });
56
+ Object.defineProperty(exports, "configurableTransactionInjectorSchema", { enumerable: true, get: function () { return protocol_1.configurableTransactionInjectorSchema; } });
57
+ Object.defineProperty(exports, "fetchDataForAddressProtocolSchema", { enumerable: true, get: function () { return protocol_1.fetchDataForAddressProtocolSchema; } });
58
+ Object.defineProperty(exports, "fetchDataForMultipleAddressesProtocolSchema", { enumerable: true, get: function () { return protocol_1.fetchDataForMultipleAddressesProtocolSchema; } });
45
59
  Object.defineProperty(exports, "hasConfigurableContract", { enumerable: true, get: function () { return protocol_1.hasConfigurableContract; } });
46
60
  Object.defineProperty(exports, "hasConfigurableTransactionInjector", { enumerable: true, get: function () { return protocol_1.hasConfigurableTransactionInjector; } });
47
61
  Object.defineProperty(exports, "hasMultiAddressPublicKeys", { enumerable: true, get: function () { return protocol_1.hasMultiAddressPublicKeys; } });
62
+ Object.defineProperty(exports, "isAnyProtocol", { enumerable: true, get: function () { return protocol_1.isAnyProtocol; } });
48
63
  Object.defineProperty(exports, "isBip32Protocol", { enumerable: true, get: function () { return protocol_1.isBip32Protocol; } });
49
64
  Object.defineProperty(exports, "isMultiTokenSubProtocol", { enumerable: true, get: function () { return protocol_1.isMultiTokenSubProtocol; } });
50
65
  Object.defineProperty(exports, "isOfflineProtocol", { enumerable: true, get: function () { return protocol_1.isOfflineProtocol; } });
@@ -52,5 +67,16 @@ Object.defineProperty(exports, "isOnlineProtocol", { enumerable: true, get: func
52
67
  Object.defineProperty(exports, "isSingleTokenSubProtocol", { enumerable: true, get: function () { return protocol_1.isSingleTokenSubProtocol; } });
53
68
  Object.defineProperty(exports, "isSubProtocol", { enumerable: true, get: function () { return protocol_1.isSubProtocol; } });
54
69
  Object.defineProperty(exports, "isTransactionStatusChecker", { enumerable: true, get: function () { return protocol_1.isTransactionStatusChecker; } });
70
+ Object.defineProperty(exports, "multiAddressPublicKeyProtocolSchema", { enumerable: true, get: function () { return protocol_1.multiAddressPublicKeyProtocolSchema; } });
71
+ Object.defineProperty(exports, "multiTokenSubProtocolBaseSchema", { enumerable: true, get: function () { return protocol_1.multiTokenSubProtocolBaseSchema; } });
72
+ Object.defineProperty(exports, "offlineProtocolSchema", { enumerable: true, get: function () { return protocol_1.offlineProtocolSchema; } });
73
+ Object.defineProperty(exports, "onlineProtocolSchema", { enumerable: true, get: function () { return protocol_1.onlineProtocolSchema; } });
55
74
  Object.defineProperty(exports, "protocolNetworkIdentifier", { enumerable: true, get: function () { return protocol_1.protocolNetworkIdentifier; } });
75
+ Object.defineProperty(exports, "signMessageBaseSchema", { enumerable: true, get: function () { return protocol_1.signMessageBaseSchema; } });
76
+ Object.defineProperty(exports, "signMessageOfflineSchema", { enumerable: true, get: function () { return protocol_1.signMessageOfflineSchema; } });
77
+ Object.defineProperty(exports, "singleTokenSubProtocolSchema", { enumerable: true, get: function () { return protocol_1.singleTokenSubProtocolSchema; } });
78
+ Object.defineProperty(exports, "subProtocolSchema", { enumerable: true, get: function () { return protocol_1.subProtocolSchema; } });
79
+ Object.defineProperty(exports, "supportsWalletConnect", { enumerable: true, get: function () { return protocol_1.supportsWalletConnect; } });
80
+ Object.defineProperty(exports, "transactionStatusCheckerSchema", { enumerable: true, get: function () { return protocol_1.transactionStatusCheckerSchema; } });
81
+ Object.defineProperty(exports, "walletConnectProtocolSchema", { enumerable: true, get: function () { return protocol_1.walletConnectProtocolSchema; } });
56
82
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,6CAA8C;AAgH5C,0FAhHO,kBAAS,OAgHP;AA/GX,uCAAwG;AAmHtG,qGAnHO,0BAAoB,OAmHP;AAFpB,qGAjH6B,0BAAoB,OAiH7B;AACpB,6FAlHmD,kBAAY,OAkHnD;AAFZ,6FAhHiE,kBAAY,OAgHjE;AA/Gd,mDAAoD;AAmHlD,6FAnHO,wBAAY,OAmHP;AAlHd,uDAAsF;AAoHpF,qGApHO,kCAAoB,OAoHP;AADpB,uGAnH6B,oCAAsB,OAmH7B;AAlHxB,8CAA4G;AA0G1G,gGA1GO,uBAAe,OA0GP;AAFf,+FAxGwB,sBAAc,OAwGxB;AADd,kGAvGwC,yBAAiB,OAuGxC;AAEjB,kGAzG2D,yBAAiB,OAyG3D;AAxGnB,4CAAoD;AA0GlD,+FA1GO,qBAAc,OA0GP;AAxGhB,4EAAwE;AAuHtE,sGAvHO,+CAAqB,OAuHP;AAlDvB,yCAAyC;AAsJvC,yFAtJO,iBAAQ,OAsJP;AArJV,+CAA+D;AAuJ7D,oGAvJO,+BAAmB,OAuJP;AAtJrB,mCAA0G;AAuJxG,yFAvJO,cAAQ,OAuJP;AAIR,oGA3JiB,yBAAmB,OA2JjB;AAFnB,oGAzJsC,yBAAmB,OAyJtC;AACnB,4FA1J2D,iBAAW,OA0J3D;AAFX,4FAxJwE,iBAAW,OAwJxE;AAvJb,yCAAyD;AA2JvD,yGA3JO,iCAAwB,OA2JP;AA1J1B,+CAAwD;AA2KtD,qGA3KO,gCAAoB,OA2KP;AA1KtB,6CAiByB;AAmJvB,8FAnKA,wBAAa,OAmKA;AACb,qGAnKA,+BAAoB,OAmKA;AALpB,uGA7JA,iCAAsB,OA6JA;AACtB,iHA7JA,2CAAgC,OA6JA;AAKhC,+FAjKA,yBAAc,OAiKA;AAHd,wGA7JA,kCAAuB,OA6JA;AAIvB,mHAhKA,6CAAkC,OAgKA;AALlC,0GA1JA,oCAAyB,OA0JA;AANzB,gGAnJA,0BAAe,OAmJA;AAGf,wGArJA,kCAAuB,OAqJA;AALvB,kGA/IA,4BAAiB,OA+IA;AACjB,iGA/IA,2BAAgB,OA+IA;AAGhB,yGAjJA,mCAAwB,OAiJA;AADxB,8FA/IA,wBAAa,OA+IA;AAWb,2GAzJA,qCAA0B,OAyJA;AAC1B,0GAzJA,oCAAyB,OAyJA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAEA,6CAA8C;AAqJ5C,0FArJO,kBAAS,OAqJP;AApJX,uCAAwG;AAwJtG,qGAxJO,0BAAoB,OAwJP;AAFpB,qGAtJ6B,0BAAoB,OAsJ7B;AACpB,6FAvJmD,kBAAY,OAuJnD;AAFZ,6FArJiE,kBAAY,OAqJjE;AApJd,mDAAoD;AAwJlD,6FAxJO,wBAAY,OAwJP;AAvJd,uDAAsF;AAyJpF,qGAzJO,kCAAoB,OAyJP;AADpB,uGAxJ6B,oCAAsB,OAwJ7B;AAvJxB,8CAA4G;AA+I1G,gGA/IO,uBAAe,OA+IP;AAFf,+FA7IwB,sBAAc,OA6IxB;AADd,kGA5IwC,yBAAiB,OA4IxC;AAEjB,kGA9I2D,yBAAiB,OA8I3D;AA7InB,4CAAoD;AA+IlD,+FA/IO,qBAAc,OA+IP;AAtIhB,4EAAwE;AAqJtE,sGArJO,+CAAqB,OAqJP;AAzEvB,yCAAyC;AA8LvC,yFA9LO,iBAAQ,OA8LP;AA7LV,+CAA+D;AA+L7D,oGA/LO,+BAAmB,OA+LP;AA9LrB,mCAA0G;AA+LxG,yFA/LO,cAAQ,OA+LP;AAIR,oGAnMiB,yBAAmB,OAmMjB;AAFnB,oGAjMsC,yBAAmB,OAiMtC;AACnB,4FAlM2D,iBAAW,OAkM3D;AAFX,4FAhMwE,iBAAW,OAgMxE;AA/Lb,yCAA0G;AAoMxG,sGApMO,8BAAqB,OAoMP;AADrB,yGAnM8B,iCAAwB,OAmM9B;AA0BxB,yGA7NwD,iCAAwB,OA6NxD;AA5N1B,+CAAwD;AAsNtD,qGAtNO,gCAAoB,OAsNP;AArNtB,6CAwCyB;AAiMvB,oGAxOA,8BAAmB,OAwOA;AACnB,+GAxOA,yCAA8B,OAwOA;AAC9B,kHAxOA,4CAAiC,OAwOA;AAfjC,mGAxNA,6BAAkB,OAwNA;AAGlB,wGA1NA,kCAAuB,OA0NA;AACvB,2GA1NA,qCAA0B,OA0NA;AAC1B,0GA1NA,oCAAyB,OA0NA;AAnBzB,8FAtMA,wBAAa,OAsMA;AACb,qGAtMA,+BAAoB,OAsMA;AALpB,uGAhMA,iCAAsB,OAgMA;AACtB,iHAhMA,2CAAgC,OAgMA;AAKhC,+FApMA,yBAAc,OAoMA;AAwBd,mHA3NA,6CAAkC,OA2NA;AAMlC,sHAhOA,gDAAqC,OAgOA;AATrC,kHAtNA,4CAAiC,OAsNA;AACjC,4HAtNA,sDAA2C,OAsNA;AAzB3C,wGA5LA,kCAAuB,OA4LA;AAIvB,mHA/LA,6CAAkC,OA+LA;AALlC,0GAzLA,oCAAyB,OAyLA;AATzB,8FA/KA,wBAAa,OA+KA;AAGb,gGAjLA,0BAAe,OAiLA;AAGf,wGAnLA,kCAAuB,OAmLA;AALvB,kGA7KA,4BAAiB,OA6KA;AACjB,iGA7KA,2BAAgB,OA6KA;AAGhB,yGA/KA,mCAAwB,OA+KA;AADxB,8FA7KA,wBAAa,OA6KA;AAWb,2GAvLA,qCAA0B,OAuLA;AAqB1B,oHA3MA,8CAAmC,OA2MA;AAHnC,gHAvMA,0CAA+B,OAuMA;AAP/B,sGA/LA,gCAAqB,OA+LA;AACrB,qGA/LA,+BAAoB,OA+LA;AAVpB,0GApLA,oCAAyB,OAoLA;AAwBzB,sGA3MA,gCAAqB,OA2MA;AACrB,yGA3MA,mCAAwB,OA2MA;AAVxB,6GAhMA,uCAA4B,OAgMA;AAD5B,kGA9LA,4BAAiB,OA8LA;AAfjB,sGA9KA,gCAAqB,OA8KA;AA4BrB,+GAzMA,yCAA8B,OAyMA;AAC9B,4GAzMA,sCAA2B,OAyMA"}
@@ -1,2 +1,5 @@
1
- import { AirGapDelegateProtocol } from './AirGapDelegateProtocol';
1
+ import { AirGapDelegateProtocol } from './protocol/AirGapDelegateProtocol';
2
+ import { delegateProtocolSchema, supportsDelegation } from './utils/protocol';
2
3
  export { AirGapDelegateProtocol };
4
+ export { supportsDelegation };
5
+ export { delegateProtocolSchema };
package/internal/index.js CHANGED
@@ -1,3 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.delegateProtocolSchema = exports.supportsDelegation = void 0;
4
+ var protocol_1 = require("./utils/protocol");
5
+ Object.defineProperty(exports, "delegateProtocolSchema", { enumerable: true, get: function () { return protocol_1.delegateProtocolSchema; } });
6
+ Object.defineProperty(exports, "supportsDelegation", { enumerable: true, get: function () { return protocol_1.supportsDelegation; } });
3
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/internal/index.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/internal/index.ts"],"names":[],"mappings":";;;AACA,6CAA6E;AAYpE,uGAZA,iCAAsB,OAYA;AAJtB,mGARwB,6BAAkB,OAQxB"}
@@ -1,6 +1,6 @@
1
1
  import { DelegateeDetails, DelegationDetails, DelegatorDetails } from '@airgap/coinlib-core';
2
- import { Address } from '../types/address';
3
- import { PublicKey } from '../types/key';
2
+ import { Address } from '../../types/address';
3
+ import { PublicKey } from '../../types/key';
4
4
  /**
5
5
  * DO NOT USE!
6
6
  * This is an internal type and will be removed in future releases.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AirGapDelegateProtocol.js","sourceRoot":"","sources":["../../../src/internal/protocol/AirGapDelegateProtocol.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { AnyProtocol } from '../../protocol/protocol';
2
+ import { Schema } from '../../utils/interface';
3
+ import { AirGapDelegateProtocol } from '../protocol/AirGapDelegateProtocol';
4
+ export declare const delegateProtocolSchema: Schema<AirGapDelegateProtocol>;
5
+ export declare function supportsDelegation(object: AnyProtocol): object is AnyProtocol & AirGapDelegateProtocol;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ // Schemas
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.supportsDelegation = exports.delegateProtocolSchema = void 0;
5
+ var interface_1 = require("../../utils/interface");
6
+ exports.delegateProtocolSchema = {
7
+ getCurrentDelegateesForAddress: 'required',
8
+ getCurrentDelegateesForPublicKey: 'required',
9
+ getDefaultDelegatee: 'required',
10
+ getDelegateeDetails: 'required',
11
+ getDelegationDetailsFromAddress: 'required',
12
+ getDelegationDetailsFromPublicKey: 'required',
13
+ getDelegatorDetailsFromAddress: 'required',
14
+ getDelegatorDetailsFromPublicKey: 'required',
15
+ isAddressDelegating: 'required',
16
+ isPublicKeyDelegating: 'required',
17
+ prepareDelegatorActionFromPublicKey: 'required'
18
+ };
19
+ // Implementation Checks
20
+ function supportsDelegation(object) {
21
+ return (0, interface_1.implementsInterface)(object, exports.delegateProtocolSchema);
22
+ }
23
+ exports.supportsDelegation = supportsDelegation;
24
+ //# sourceMappingURL=protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../src/internal/utils/protocol.ts"],"names":[],"mappings":";AAAA,UAAU;;;AAGV,mDAAmE;AAGtD,QAAA,sBAAsB,GAAmC;IACpE,8BAA8B,EAAE,UAAU;IAC1C,gCAAgC,EAAE,UAAU;IAC5C,mBAAmB,EAAE,UAAU;IAC/B,mBAAmB,EAAE,UAAU;IAC/B,+BAA+B,EAAE,UAAU;IAC3C,iCAAiC,EAAE,UAAU;IAC7C,8BAA8B,EAAE,UAAU;IAC1C,gCAAgC,EAAE,UAAU;IAC5C,mBAAmB,EAAE,UAAU;IAC/B,qBAAqB,EAAE,UAAU;IACjC,mCAAmC,EAAE,UAAU;CAChD,CAAA;AAED,wBAAwB;AAExB,SAAgB,kBAAkB,CAAC,MAAmB;IACpD,OAAO,IAAA,+BAAmB,EAAyB,MAAM,EAAE,8BAAsB,CAAC,CAAA;AACpF,CAAC;AAFD,gDAEC"}
@@ -1,2 +1,7 @@
1
- export interface ModuleExtensions<_T> {
1
+ import { Module } from '../module';
2
+ import { ProtocolSerializerExtension } from './serialization/ProtocolSerializer';
3
+ export declare type ModuleExtensions<T> = T extends Module ? Extensions<T> : never;
4
+ interface Extensions<T extends Module> {
5
+ ProtocolSerializer: ProtocolSerializerExtension<T>;
2
6
  }
7
+ export {};
@@ -0,0 +1,19 @@
1
+ import { AirGapOfflineProtocol, AirGapOnlineProtocol } from '../../../protocol/protocol';
2
+ import { Module } from '../../module';
3
+ interface AirGapSerializedBaseProtocol<T extends string> {
4
+ type: T;
5
+ identifier: string;
6
+ }
7
+ export interface AirGapSerializedOfflineProtocol extends AirGapSerializedBaseProtocol<'offline'> {
8
+ }
9
+ export interface AirGapSerializedOnlineProtocol extends AirGapSerializedBaseProtocol<'online'> {
10
+ }
11
+ export declare type AirGapSerializedAnyProtocol = AirGapSerializedOfflineProtocol | AirGapSerializedOnlineProtocol;
12
+ export declare type ProtocolSerializerExtension<_T extends Module> = ProtocolSerializerModule;
13
+ export interface ProtocolSerializerModule {
14
+ serializeOfflineProtocol(protocol: AirGapOfflineProtocol): Promise<AirGapSerializedOfflineProtocol | undefined>;
15
+ deserializeOfflineProtocol(serialized: AirGapSerializedOfflineProtocol): Promise<AirGapOfflineProtocol | undefined>;
16
+ serializeOnlineProtocol(protocol: AirGapOnlineProtocol): Promise<AirGapSerializedOnlineProtocol | undefined>;
17
+ deserializeOnlineProtocol(serialized: AirGapSerializedOnlineProtocol): Promise<AirGapOnlineProtocol | undefined>;
18
+ }
19
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ProtocolSerializer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProtocolSerializer.js","sourceRoot":"","sources":["../../../../src/module/extensions/serialization/ProtocolSerializer.ts"],"names":[],"mappings":""}
@@ -2,19 +2,23 @@ import { AirGapBlockExplorer } from '../block-explorer/block-explorer';
2
2
  import { AirGapOfflineProtocol, AirGapOnlineProtocol } from '../protocol/protocol';
3
3
  import { AirGapV3SerializerCompanion } from '../serializer/serializer';
4
4
  import { AirGapInterface } from '../types/airgap';
5
+ import { ApplicableModuleExtension } from '../types/airgap';
5
6
  import { Complement } from '../types/meta/utility-types';
6
7
  import { ProtocolConfiguration } from '../types/module';
7
- interface ModuleGeneric<_Protocols extends string = string> {
8
+ import { ProtocolNetwork } from '../types/protocol';
9
+ interface ModuleGeneric<_Protocols extends string = string, _ProtocolNetwork extends ProtocolNetwork = ProtocolNetwork> {
8
10
  Protocols: _Protocols;
11
+ ProtocolNetwork: _ProtocolNetwork;
9
12
  }
10
13
  declare type TypedProtocols<G extends Partial<ModuleGeneric>> = Complement<ModuleGeneric, G>['Protocols'];
11
- interface _Module<_Protocols extends ModuleGeneric['Protocols'] = any> {
14
+ declare type TypedProtocolNetwork<G extends Partial<ModuleGeneric>> = Complement<ModuleGeneric, G>['ProtocolNetwork'];
15
+ interface _Module<_Protocols extends ModuleGeneric['Protocols'] = any, _ProtocolNetwork extends ModuleGeneric['ProtocolNetwork'] = any> {
12
16
  supportedProtocols: Record<_Protocols, ProtocolConfiguration>;
13
17
  createOfflineProtocol(identifier: _Protocols): Promise<AirGapOfflineProtocol | undefined>;
14
- createOnlineProtocol(identifier: _Protocols, networkId?: string): Promise<AirGapOnlineProtocol | undefined>;
15
- createBlockExplorer(identifier: _Protocols, networkId?: string): Promise<AirGapBlockExplorer | undefined>;
18
+ createOnlineProtocol(identifier: _Protocols, networkOrId?: _ProtocolNetwork | string): Promise<AirGapOnlineProtocol | undefined>;
19
+ createBlockExplorer(identifier: _Protocols, networkOrId?: _ProtocolNetwork | string): Promise<AirGapBlockExplorer | undefined>;
16
20
  createV3SerializerCompanion(): Promise<AirGapV3SerializerCompanion>;
17
21
  }
18
- export declare type Module<G extends Partial<ModuleGeneric> = {}> = _Module<TypedProtocols<G>>;
19
- export declare type AirGapModule<G extends Partial<ModuleGeneric> = {}> = AirGapInterface<Module<G>>;
22
+ export declare type Module<G extends Partial<ModuleGeneric> = {}> = _Module<TypedProtocols<G>, TypedProtocolNetwork<G>>;
23
+ export declare type AirGapModule<G extends Partial<ModuleGeneric> = {}, E0 extends ApplicableModuleExtension<Module> = undefined, E1 extends ApplicableModuleExtension<Module> = undefined, E2 extends ApplicableModuleExtension<Module> = undefined, E3 extends ApplicableModuleExtension<Module> = undefined, E4 extends ApplicableModuleExtension<Module> = undefined, E5 extends ApplicableModuleExtension<Module> = undefined, E6 extends ApplicableModuleExtension<Module> = undefined, E7 extends ApplicableModuleExtension<Module> = undefined, E8 extends ApplicableModuleExtension<Module> = undefined, E9 extends ApplicableModuleExtension<Module> = undefined> = AirGapInterface<Module<G>, E0, E1, E2, E3, E4, E5, E6, E7, E8, E9>;
20
24
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@airgap/module-kit",
3
- "version": "0.13.16-beta.0",
3
+ "version": "0.13.16-beta.10",
4
4
  "description": "The @airgap/module-kit package provides the common interfaces and functionalities to implement AirGap modules.",
5
5
  "keywords": [
6
6
  "airgap",
@@ -29,8 +29,8 @@
29
29
  },
30
30
  "author": "Papers AG <contact@papers.ch> (https://papers.ch)",
31
31
  "dependencies": {
32
- "@airgap/coinlib-core": "^0.13.16-beta.0",
33
- "@airgap/serializer": "^0.13.16-beta.0"
32
+ "@airgap/coinlib-core": "*",
33
+ "@airgap/serializer": "*"
34
34
  },
35
35
  "nyc": {
36
36
  "include": [
@@ -2,6 +2,7 @@ import { AddressWithCursor } from '../../../types/address';
2
2
  import { ExtendedPublicKey, PublicKey } from '../../../types/key';
3
3
  import { _AnyProtocol, _BaseProtocol, BaseGeneric } from '../../protocol';
4
4
  export declare type MultiAddressPublicKeyExtension<T extends _AnyProtocol> = T extends _BaseProtocol<infer _BaseAddressCursor, infer _AddressResult, any, any, any, any, infer _PublicKey> ? _AddressResult extends AddressWithCursor<infer _AddressCursor> ? MultiAddressPublicKeyProtocol<_AddressCursor, _PublicKey> : MultiAddressPublicKeyProtocol<_BaseAddressCursor, _PublicKey> : never;
5
- export interface MultiAddressPublicKeyProtocol<_AddressCursor extends BaseGeneric['AddressCursor'] = BaseGeneric['AddressCursor'], _PublicKey extends PublicKey | ExtendedPublicKey = PublicKey> {
5
+ export interface MultiAddressPublicKeyProtocol<_AddressCursor extends BaseGeneric['AddressCursor'] = BaseGeneric['AddressCursor'], _PublicKey extends PublicKey | ExtendedPublicKey = PublicKey | ExtendedPublicKey> {
6
+ getInitialAddressesFromPublicKey(publicKey: _PublicKey): Promise<AddressWithCursor<_AddressCursor>[]>;
6
7
  getNextAddressFromPublicKey(publicKey: _PublicKey, cursor: _AddressCursor): Promise<AddressWithCursor<_AddressCursor> | undefined>;
7
8
  }
@@ -0,0 +1,24 @@
1
+ import { ExtendedPublicKey, PublicKey } from '../../../types/key';
2
+ import { _OnlineProtocol } from '../../protocol';
3
+ export declare type WalletConnectExtension<T extends _OnlineProtocol> = T extends _OnlineProtocol<any, any, any, any, any, any, any, any, any, infer _PublicKey> ? WalletConnectProtocol<_PublicKey> : never;
4
+ export interface WalletConnectRequest {
5
+ from?: string;
6
+ to?: string;
7
+ data?: string;
8
+ gasLimit?: string;
9
+ gasPrice?: string;
10
+ value?: string;
11
+ nonce?: string;
12
+ }
13
+ export interface WalletConnectTransaction {
14
+ to: string;
15
+ data?: string;
16
+ gasLimit: string;
17
+ gasPrice: string;
18
+ value: string;
19
+ nonce: string;
20
+ chainId: number;
21
+ }
22
+ export interface WalletConnectProtocol<_PublicKey extends PublicKey | ExtendedPublicKey = PublicKey | ExtendedPublicKey> {
23
+ prepareWalletConnectTransactionWithPublicKey(publicKey: _PublicKey, request: WalletConnectRequest): Promise<WalletConnectTransaction>;
24
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=WalletConnectProtocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WalletConnectProtocol.js","sourceRoot":"","sources":["../../../../src/protocol/extensions/dapp/WalletConnectProtocol.ts"],"names":[],"mappings":""}
@@ -1,4 +1,4 @@
1
- import { _OfflineProtocol, _OnlineProtocol, _AnyProtocol, _Protocol } from '../protocol';
1
+ import { _AnyProtocol, _OfflineProtocol, _OnlineProtocol, _Protocol } from '../protocol';
2
2
  import { FetchDataForAddressExtension } from './address/FetchDataForAddressExtension';
3
3
  import { FetchDataForMultipleAddressesExtension } from './address/FetchDataForMultipleAddressesExtension';
4
4
  import { MultiAddressPublicKeyExtension } from './address/MultiAddressPublicKeyExtension';
@@ -8,6 +8,7 @@ import { AESExtension } from './crypto/AESExtension';
8
8
  import { AsymmetricEncryptionExtension } from './crypto/AsymmetricEncryptionExtension';
9
9
  import { CryptoExtension } from './crypto/CryptoExtension';
10
10
  import { SignMessageExtension } from './crypto/SignMessageExtension';
11
+ import { WalletConnectExtension } from './dapp/WalletConnectProtocol';
11
12
  import { MultiTokenSubProtocolExtension } from './sub-protocol/MultiTokenSubProtocolExtension';
12
13
  import { SingleTokenSubProtocolExtension } from './sub-protocol/SingleTokenSubProtocolExtension';
13
14
  import { SubProtocolExtension } from './sub-protocol/SubProtocolExtension';
@@ -33,5 +34,6 @@ interface OnlineExtensions<T extends _OnlineProtocol> extends OfflineAndOnlineEx
33
34
  FetchDataForMultipleAddresses: FetchDataForMultipleAddressesExtension<T>;
34
35
  ConfigurableTransactionInjector: ConfigurableTransactionInjectorExtension<T>;
35
36
  TransactionStatusChecker: TransactionStatusCheckerExtension<T>;
37
+ WalletConnect: WalletConnectExtension<T>;
36
38
  }
37
39
  export {};
@@ -7,7 +7,7 @@ import { FeeEstimation } from '../types/fee';
7
7
  import { ExtendedKeyPair, ExtendedPublicKey, ExtendedSecretKey, KeyPair, PublicKey, SecretKey } from '../types/key';
8
8
  import { Complement } from '../types/meta/utility-types';
9
9
  import { ProtocolMetadata, ProtocolNetwork } from '../types/protocol';
10
- import { AirGapTransaction, AirGapTransactionsWithCursor, SignedTransaction, TransactionConfiguration, TransactionCursor, TransactionDetails, UnsignedTransaction } from '../types/transaction';
10
+ import { AirGapTransaction, AirGapTransactionsWithCursor, SignedTransaction, TransactionSimpleConfiguration, TransactionCursor, TransactionDetails, UnsignedTransaction, TransactionFullConfiguration } from '../types/transaction';
11
11
  export interface BaseGeneric<_AddressCursor extends AddressCursor = AddressCursor, _AddressResult extends Address | AddressWithCursor<_AddressCursor> = Address | AddressWithCursor<_AddressCursor>, _Units extends string = string, _FeeUnits extends string = _Units, _SignedTransaction extends SignedTransaction = SignedTransaction, _UnsignedTransaction extends UnsignedTransaction = UnsignedTransaction> {
12
12
  AddressCursor: _AddressCursor;
13
13
  AddressResult: _AddressResult;
@@ -50,9 +50,9 @@ export interface _OnlineProtocol<_AddressCursor extends OnlineGeneric['AddressCu
50
50
  getNetwork(): Promise<_ProtocolNetwork>;
51
51
  getTransactionsForPublicKey(publicKey: _PublicKey, limit: number, cursor?: _TransactionCursor): Promise<AirGapTransactionsWithCursor<_TransactionCursor, _Units, _FeeUnits>>;
52
52
  getBalanceOfPublicKey(publicKey: _PublicKey, configuration?: _BalanceConfiguration): Promise<Balance<_Units>>;
53
- getTransactionMaxAmountWithPublicKey(publicKey: _PublicKey, to: Address[], configuration?: TransactionConfiguration<_FeeUnits>): Promise<Amount<_Units>>;
54
- getTransactionFeeWithPublicKey(publicKey: _PublicKey, details: TransactionDetails<_Units>[]): Promise<_FeeEstimation>;
55
- prepareTransactionWithPublicKey(publicKey: _PublicKey, details: TransactionDetails<_Units>[], configuration?: TransactionConfiguration<_FeeUnits>): Promise<_UnsignedTransaction>;
53
+ getTransactionMaxAmountWithPublicKey(publicKey: _PublicKey, to: Address[], configuration?: TransactionFullConfiguration<_FeeUnits>): Promise<Amount<_Units>>;
54
+ getTransactionFeeWithPublicKey(publicKey: _PublicKey, details: TransactionDetails<_Units>[], configuration?: TransactionSimpleConfiguration): Promise<_FeeEstimation>;
55
+ prepareTransactionWithPublicKey(publicKey: _PublicKey, details: TransactionDetails<_Units>[], configuration?: TransactionFullConfiguration<_FeeUnits>): Promise<_UnsignedTransaction>;
56
56
  broadcastTransaction(transaction: _SignedTransaction): Promise<string>;
57
57
  }
58
58
  export declare type OnlineProtocol<G extends Partial<OnlineGeneric> = {}> = _OnlineProtocol<TypedAddressCursor<G>, TypedAddressResult<G>, TypedProtocolNetwork<G>, TypedUnits<G>, TypedFeeUnits<G>, TypedFeeEstimation<G>, TypedSignedTransaction<G>, TypedUnsignedTransaction<G>, TypedTransactionCursor<G>, PublicKey, undefined>;
@@ -5,3 +5,4 @@ export declare type RecursivePartial<T> = {
5
5
  export declare type Override<T, U> = Omit<T, keyof U> & U;
6
6
  export declare type ExtractTyped<T, K extends T> = Extract<T, K>;
7
7
  export declare type ExcludeTyped<T, K extends T> = Exclude<T, K>;
8
+ export declare type OmitTyped<T, K extends keyof T> = Omit<T, K>;
@@ -52,4 +52,5 @@ export interface ProtocolNetwork {
52
52
  name: string;
53
53
  type: ProtocolNetworkType;
54
54
  rpcUrl: string;
55
+ blockExplorerUrl: string;
55
56
  }
@@ -41,12 +41,14 @@ export interface TransactionDetails<_Units extends string = string> {
41
41
  amount: Amount<_Units>;
42
42
  arbitraryData?: string;
43
43
  }
44
- export interface TransactionConfiguration<_FeeUnits extends string = string> {
45
- fee?: Amount<_FeeUnits>;
44
+ export interface TransactionSimpleConfiguration {
46
45
  arbitraryData?: string;
47
46
  keepMinBalance?: boolean;
48
47
  assetId?: number;
49
48
  }
49
+ export interface TransactionFullConfiguration<_FeeUnits extends string = string> extends TransactionSimpleConfiguration {
50
+ fee?: Amount<_FeeUnits>;
51
+ }
50
52
  interface BaseTransactionStatus<_Type extends string> extends Sealed<_Type> {
51
53
  hash?: string;
52
54
  block?: string;
package/utils/module.d.ts CHANGED
@@ -1,4 +1,9 @@
1
+ import { ProtocolSerializerExtension, ProtocolSerializerModule } from '../module/extensions/serialization/ProtocolSerializer';
2
+ import { Module } from '../module/module';
1
3
  import { ModuleNetworkRegistry } from '../module/module-network-registry';
2
4
  import { ProtocolConfiguration } from '../types/module';
3
5
  import { ProtocolNetwork } from '../types/protocol';
6
+ import { Schema } from './interface';
4
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>;
package/utils/module.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createSupportedProtocols = void 0;
3
+ exports.canSerializeProtocols = exports.protocolSerializerSchema = exports.createSupportedProtocols = void 0;
4
+ var interface_1 = require("./interface");
4
5
  function createSupportedProtocols(online, offline) {
5
6
  var onlineIdentifiers = new Set(Object.keys(online));
6
7
  var offlineIdentifiers = offline ? new Set(offline) : onlineIdentifiers;
@@ -26,4 +27,16 @@ function createOnlineProtocolConfiguration(networks) {
26
27
  networks: (_a = networks.supportedNetworks) !== null && _a !== void 0 ? _a : networks
27
28
  };
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;
29
42
  //# sourceMappingURL=module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/utils/module.ts"],"names":[],"mappings":";;;AAIA,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"}
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"}
@@ -1,20 +1,45 @@
1
- import { FetchDataForAddressExtension } from '../protocol/extensions/address/FetchDataForAddressExtension';
2
- import { FetchDataForMultipleAddressesExtension } from '../protocol/extensions/address/FetchDataForMultipleAddressesExtension';
3
- import { MultiAddressPublicKeyExtension } from '../protocol/extensions/address/MultiAddressPublicKeyExtension';
4
- import { Bip32Extension } from '../protocol/extensions/bip/Bip32Extension';
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
5
  import { ConfigurableContractProtocol } from '../protocol/extensions/contract/ConfigurableContractExtension';
6
- import { AESExtension } from '../protocol/extensions/crypto/AESExtension';
7
- import { AsymmetricEncryptionExtension } from '../protocol/extensions/crypto/AsymmetricEncryptionExtension';
8
- import { SignMessageExtension } from '../protocol/extensions/crypto/SignMessageExtension';
9
- import { MultiTokenSubProtocolExtension } from '../protocol/extensions/sub-protocol/MultiTokenSubProtocolExtension';
10
- import { SingleTokenSubProtocolExtension } from '../protocol/extensions/sub-protocol/SingleTokenSubProtocolExtension';
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 { BaseMultiTokenSubProtocol, MultiTokenSubProtocolExtension, OnlineMultiTokenSubProtocol } from '../protocol/extensions/sub-protocol/MultiTokenSubProtocolExtension';
11
+ import { SingleTokenSubProtocol, SingleTokenSubProtocolExtension } from '../protocol/extensions/sub-protocol/SingleTokenSubProtocolExtension';
11
12
  import { SubProtocol } from '../protocol/extensions/sub-protocol/SubProtocolExtension';
12
13
  import { ConfigurableTransactionInjectorProtocol } from '../protocol/extensions/transaction/ConfigurableTransactionInjectorExtension';
13
- import { TransactionStatusCheckerExtension } from '../protocol/extensions/transaction/TransactionStatusCheckerExtension';
14
- import { AnyProtocol, OfflineProtocol, OnlineProtocol } from '../protocol/protocol';
14
+ import { TransactionStatusChecker, TransactionStatusCheckerExtension } from '../protocol/extensions/transaction/TransactionStatusCheckerExtension';
15
+ import { AnyProtocol, BaseProtocol, OfflineProtocol, OnlineProtocol } from '../protocol/protocol';
15
16
  import { ProtocolNetwork } from '../types/protocol';
16
- export declare function isOfflineProtocol(object: AnyProtocol): object is OfflineProtocol;
17
- export declare function isOnlineProtocol(object: AnyProtocol): object is OnlineProtocol;
17
+ import { Schema } from './interface';
18
+ export declare const baseProtocolSchema: Schema<BaseProtocol>;
19
+ export declare const offlineProtocolSchema: Schema<OfflineProtocol>;
20
+ export declare const onlineProtocolSchema: Schema<OnlineProtocol>;
21
+ export declare const bip32BaseProtocolSchema: Schema<BaseBip32Protocol>;
22
+ export declare const bip32OfflineProtocolSchema: Schema<OfflineBip32Protocol>;
23
+ export declare const bip32OnlineProtocolSchema: Schema<OnlineBip32Protocol>;
24
+ export declare const subProtocolSchema: Schema<SubProtocol>;
25
+ export declare const singleTokenSubProtocolSchema: Schema<SingleTokenSubProtocol>;
26
+ export declare const multiTokenSubProtocolBaseSchema: Schema<BaseMultiTokenSubProtocol>;
27
+ export declare const multiTokenSubProtocolOnlineSchema: Schema<OnlineMultiTokenSubProtocol>;
28
+ export declare const fetchDataForAddressProtocolSchema: Schema<FetchDataForAddressProtocol>;
29
+ export declare const fetchDataForMultipleAddressesProtocolSchema: Schema<FetchDataForMultipleAddressesProtocol>;
30
+ export declare const multiAddressPublicKeyProtocolSchema: Schema<MultiAddressPublicKeyProtocol>;
31
+ export declare const configurableContractProtocolSchema: Schema<ConfigurableContractProtocol>;
32
+ export declare const aesEncryptionSchema: Schema<AES>;
33
+ export declare const asymmetricEncryptionBaseSchema: Schema<BaseAsymmetricEncryption>;
34
+ export declare const asymmetricEncryptionOfflineSchema: Schema<OfflineAsymmetricEncryption>;
35
+ export declare const signMessageBaseSchema: Schema<BaseSignMessage>;
36
+ export declare const signMessageOfflineSchema: Schema<OfflineSignMessage>;
37
+ export declare const configurableTransactionInjectorSchema: Schema<ConfigurableTransactionInjectorProtocol>;
38
+ export declare const transactionStatusCheckerSchema: Schema<TransactionStatusChecker>;
39
+ export declare const walletConnectProtocolSchema: Schema<WalletConnectProtocol>;
40
+ export declare function isAnyProtocol(object: unknown): object is AnyProtocol;
41
+ export declare function isOfflineProtocol(object: unknown): object is OfflineProtocol;
42
+ export declare function isOnlineProtocol(object: unknown): object is OnlineProtocol;
18
43
  export declare function isBip32Protocol<T extends AnyProtocol>(protocol: T): protocol is T & Bip32Extension<T>;
19
44
  export declare function isSubProtocol<T extends AnyProtocol>(protocol: T): protocol is T & SubProtocol;
20
45
  export declare function isSingleTokenSubProtocol<T extends AnyProtocol>(protocol: T): protocol is T & SingleTokenSubProtocolExtension<T>;
@@ -28,4 +53,5 @@ export declare function canEncryptAsymmetric<T extends AnyProtocol>(protocol: T)
28
53
  export declare function canSignMessage<T extends AnyProtocol>(protocol: T): protocol is T & SignMessageExtension<T>;
29
54
  export declare function hasConfigurableTransactionInjector<T extends OnlineProtocol>(protocol: T): protocol is T & ConfigurableTransactionInjectorProtocol;
30
55
  export declare function isTransactionStatusChecker<T extends OnlineProtocol>(protocol: T): protocol is T & TransactionStatusCheckerExtension<T>;
56
+ export declare function supportsWalletConnect<T extends OnlineProtocol>(protocol: T): protocol is T & WalletConnectExtension<T>;
31
57
  export declare function protocolNetworkIdentifier(network: ProtocolNetwork): string;
package/utils/protocol.js CHANGED
@@ -11,77 +11,85 @@ var __assign = (this && this.__assign) || function () {
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.protocolNetworkIdentifier = exports.isTransactionStatusChecker = exports.hasConfigurableTransactionInjector = exports.canSignMessage = exports.canEncryptAsymmetric = exports.canEncryptAES = exports.hasConfigurableContract = exports.hasMultiAddressPublicKeys = exports.canFetchDataForMultipleAddresses = exports.canFetchDataForAddress = exports.isMultiTokenSubProtocol = exports.isSingleTokenSubProtocol = exports.isSubProtocol = exports.isBip32Protocol = exports.isOnlineProtocol = exports.isOfflineProtocol = void 0;
14
+ exports.protocolNetworkIdentifier = exports.supportsWalletConnect = exports.isTransactionStatusChecker = exports.hasConfigurableTransactionInjector = exports.canSignMessage = exports.canEncryptAsymmetric = exports.canEncryptAES = exports.hasConfigurableContract = exports.hasMultiAddressPublicKeys = exports.canFetchDataForMultipleAddresses = exports.canFetchDataForAddress = exports.isMultiTokenSubProtocol = exports.isSingleTokenSubProtocol = exports.isSubProtocol = exports.isBip32Protocol = exports.isOnlineProtocol = exports.isOfflineProtocol = exports.isAnyProtocol = 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.multiTokenSubProtocolOnlineSchema = exports.multiTokenSubProtocolBaseSchema = exports.singleTokenSubProtocolSchema = exports.subProtocolSchema = exports.bip32OnlineProtocolSchema = exports.bip32OfflineProtocolSchema = exports.bip32BaseProtocolSchema = exports.onlineProtocolSchema = exports.offlineProtocolSchema = exports.baseProtocolSchema = void 0;
15
15
  // @ts-ignore
16
16
  var createHash = require("@airgap/coinlib-core/dependencies/src/create-hash-1.2.0/index");
17
17
  var interface_1 = require("./interface");
18
18
  // Schemas
19
- var baseProtocolSchema = {
19
+ exports.baseProtocolSchema = {
20
20
  getAddressFromPublicKey: 'required',
21
21
  getDetailsFromTransaction: 'required',
22
22
  getMetadata: 'required'
23
23
  };
24
- var offlineProtocolSchema = __assign(__assign({}, baseProtocolSchema), { getCryptoConfiguration: 'required', getKeyPairFromDerivative: 'required', signTransactionWithSecretKey: 'required' });
25
- var onlineProtocolSchema = __assign(__assign({}, baseProtocolSchema), { broadcastTransaction: 'required', getBalanceOfPublicKey: 'required', getNetwork: 'required', getTransactionFeeWithPublicKey: 'required', getTransactionMaxAmountWithPublicKey: 'required', getTransactionsForPublicKey: 'required', prepareTransactionWithPublicKey: 'required' });
26
- var bip32BaseProtocolSchema = __assign(__assign({}, baseProtocolSchema), { deriveFromExtendedPublicKey: 'required' });
27
- var bip32OfflineProtocolSchema = __assign(__assign(__assign({}, bip32BaseProtocolSchema), offlineProtocolSchema), { getExtendedKeyPairFromDerivative: 'required', deriveFromExtendedSecretKey: 'required' });
28
- var bip32OnlineProtocolSchema = __assign(__assign({}, bip32BaseProtocolSchema), onlineProtocolSchema);
29
- var subProtocolSchema = {
24
+ exports.offlineProtocolSchema = __assign(__assign({}, exports.baseProtocolSchema), { getCryptoConfiguration: 'required', getKeyPairFromDerivative: 'required', signTransactionWithSecretKey: 'required' });
25
+ exports.onlineProtocolSchema = __assign(__assign({}, exports.baseProtocolSchema), { broadcastTransaction: 'required', getBalanceOfPublicKey: 'required', getNetwork: 'required', getTransactionFeeWithPublicKey: 'required', getTransactionMaxAmountWithPublicKey: 'required', getTransactionsForPublicKey: 'required', prepareTransactionWithPublicKey: 'required' });
26
+ exports.bip32BaseProtocolSchema = __assign(__assign({}, exports.baseProtocolSchema), { deriveFromExtendedPublicKey: 'required' });
27
+ exports.bip32OfflineProtocolSchema = __assign(__assign(__assign({}, exports.bip32BaseProtocolSchema), exports.offlineProtocolSchema), { getExtendedKeyPairFromDerivative: 'required', deriveFromExtendedSecretKey: 'required' });
28
+ exports.bip32OnlineProtocolSchema = __assign(__assign({}, exports.bip32BaseProtocolSchema), exports.onlineProtocolSchema);
29
+ exports.subProtocolSchema = {
30
30
  getType: 'required',
31
31
  mainProtocol: 'required'
32
32
  };
33
- var singleTokenSubProtocolSchema = __assign(__assign({}, subProtocolSchema), { getContractAddress: 'required' });
34
- var multiTokenSubProtocolBaseSchema = singleTokenSubProtocolSchema;
35
- var multiTokenSubProtocolOnlineSchema = __assign(__assign({}, multiTokenSubProtocolBaseSchema), onlineProtocolSchema);
36
- var fetchDataForAddressProtocolSchema = {
33
+ exports.singleTokenSubProtocolSchema = __assign(__assign({}, exports.subProtocolSchema), { getContractAddress: 'required' });
34
+ exports.multiTokenSubProtocolBaseSchema = exports.singleTokenSubProtocolSchema;
35
+ exports.multiTokenSubProtocolOnlineSchema = __assign(__assign({}, exports.multiTokenSubProtocolBaseSchema), exports.onlineProtocolSchema);
36
+ exports.fetchDataForAddressProtocolSchema = {
37
37
  getBalanceOfAddress: 'required',
38
38
  getTransactionsForAddress: 'required'
39
39
  };
40
- var fetchDataForMultipleAddressesProtocolSchema = {
40
+ exports.fetchDataForMultipleAddressesProtocolSchema = {
41
41
  getBalanceOfAddresses: 'required',
42
42
  getTransactionsForAddresses: 'required'
43
43
  };
44
- var multiAddressPublicKeyProtocolSchema = {
44
+ exports.multiAddressPublicKeyProtocolSchema = {
45
+ getInitialAddressesFromPublicKey: 'required',
45
46
  getNextAddressFromPublicKey: 'required'
46
47
  };
47
- var configurableContractProtocolSchema = {
48
+ exports.configurableContractProtocolSchema = {
48
49
  isContractValid: 'required',
49
50
  getContractAddress: 'required',
50
51
  setContractAddress: 'required'
51
52
  };
52
- var aesEncryptionSchema = {
53
+ exports.aesEncryptionSchema = {
53
54
  decryptAESWithSecretKey: 'required',
54
55
  encryptAESWithSecretKey: 'required'
55
56
  };
56
- var asymmetricEncryptionBaseSchema = {
57
+ exports.asymmetricEncryptionBaseSchema = {
57
58
  encryptAsymmetricWithPublicKey: 'required'
58
59
  };
59
- var asymmetricEncryptionOfflineSchema = __assign(__assign({}, asymmetricEncryptionBaseSchema), { decryptAsymmetricWithKeyPair: 'required' });
60
- var signMessageBaseSchema = {
60
+ exports.asymmetricEncryptionOfflineSchema = __assign(__assign({}, exports.asymmetricEncryptionBaseSchema), { decryptAsymmetricWithKeyPair: 'required' });
61
+ exports.signMessageBaseSchema = {
61
62
  verifyMessageWithPublicKey: 'required'
62
63
  };
63
- var signMessageOfflineSchema = __assign(__assign({}, signMessageBaseSchema), { signMessageWithKeyPair: 'required' });
64
- var configurableTransactionInjectorSchema = {
64
+ exports.signMessageOfflineSchema = __assign(__assign({}, exports.signMessageBaseSchema), { signMessageWithKeyPair: 'required' });
65
+ exports.configurableTransactionInjectorSchema = {
65
66
  getInjectorUrl: 'required',
66
67
  setInjectorUrl: 'required'
67
68
  };
68
- var transactionStatusCheckerSchema = {
69
+ exports.transactionStatusCheckerSchema = {
69
70
  getTransactionStatus: 'required'
70
71
  };
72
+ exports.walletConnectProtocolSchema = {
73
+ prepareWalletConnectTransactionWithPublicKey: 'required'
74
+ };
71
75
  // Implementation Checks
76
+ function isAnyProtocol(object) {
77
+ return isOfflineProtocol(object) || isOnlineProtocol(object);
78
+ }
79
+ exports.isAnyProtocol = isAnyProtocol;
72
80
  function isOfflineProtocol(object) {
73
- return (0, interface_1.implementsInterface)(object, offlineProtocolSchema);
81
+ return (0, interface_1.implementsInterface)(object, exports.offlineProtocolSchema);
74
82
  }
75
83
  exports.isOfflineProtocol = isOfflineProtocol;
76
84
  function isOnlineProtocol(object) {
77
- return (0, interface_1.implementsInterface)(object, onlineProtocolSchema);
85
+ return (0, interface_1.implementsInterface)(object, exports.onlineProtocolSchema);
78
86
  }
79
87
  exports.isOnlineProtocol = isOnlineProtocol;
80
88
  function isOfflineBip32Protocol(protocol) {
81
- return (0, interface_1.implementsInterface)(protocol, bip32OfflineProtocolSchema);
89
+ return (0, interface_1.implementsInterface)(protocol, exports.bip32OfflineProtocolSchema);
82
90
  }
83
91
  function isOnlineBip32Protocol(protocol) {
84
- return (0, interface_1.implementsInterface)(protocol, bip32OnlineProtocolSchema);
92
+ return (0, interface_1.implementsInterface)(protocol, exports.bip32OnlineProtocolSchema);
85
93
  }
86
94
  function isBip32Protocol(protocol) {
87
95
  var extendedWithBip32 = false;
@@ -95,65 +103,69 @@ function isBip32Protocol(protocol) {
95
103
  }
96
104
  exports.isBip32Protocol = isBip32Protocol;
97
105
  function isSubProtocol(protocol) {
98
- return (0, interface_1.implementsInterface)(protocol, subProtocolSchema);
106
+ return (0, interface_1.implementsInterface)(protocol, exports.subProtocolSchema);
99
107
  }
100
108
  exports.isSubProtocol = isSubProtocol;
101
109
  function isSingleTokenSubProtocol(protocol) {
102
- return (0, interface_1.implementsInterface)(protocol, singleTokenSubProtocolSchema);
110
+ return (0, interface_1.implementsInterface)(protocol, exports.singleTokenSubProtocolSchema);
103
111
  }
104
112
  exports.isSingleTokenSubProtocol = isSingleTokenSubProtocol;
105
113
  function isMultiTokenSubProtocol(protocol) {
106
- var extendedWithMultiTokenSubProtocol = (0, interface_1.implementsInterface)(protocol, multiTokenSubProtocolBaseSchema);
114
+ var extendedWithMultiTokenSubProtocol = (0, interface_1.implementsInterface)(protocol, exports.multiTokenSubProtocolBaseSchema);
107
115
  if (isOnlineProtocol(protocol)) {
108
- extendedWithMultiTokenSubProtocol && (extendedWithMultiTokenSubProtocol = (0, interface_1.implementsInterface)(protocol, multiTokenSubProtocolOnlineSchema));
116
+ extendedWithMultiTokenSubProtocol && (extendedWithMultiTokenSubProtocol = (0, interface_1.implementsInterface)(protocol, exports.multiTokenSubProtocolOnlineSchema));
109
117
  }
110
118
  return extendedWithMultiTokenSubProtocol;
111
119
  }
112
120
  exports.isMultiTokenSubProtocol = isMultiTokenSubProtocol;
113
121
  function canFetchDataForAddress(protocol) {
114
- return (0, interface_1.implementsInterface)(protocol, fetchDataForAddressProtocolSchema);
122
+ return (0, interface_1.implementsInterface)(protocol, exports.fetchDataForAddressProtocolSchema);
115
123
  }
116
124
  exports.canFetchDataForAddress = canFetchDataForAddress;
117
125
  function canFetchDataForMultipleAddresses(protocol) {
118
- return (0, interface_1.implementsInterface)(protocol, fetchDataForMultipleAddressesProtocolSchema);
126
+ return (0, interface_1.implementsInterface)(protocol, exports.fetchDataForMultipleAddressesProtocolSchema);
119
127
  }
120
128
  exports.canFetchDataForMultipleAddresses = canFetchDataForMultipleAddresses;
121
129
  function hasMultiAddressPublicKeys(protocol) {
122
- return (0, interface_1.implementsInterface)(protocol, multiAddressPublicKeyProtocolSchema);
130
+ return (0, interface_1.implementsInterface)(protocol, exports.multiAddressPublicKeyProtocolSchema);
123
131
  }
124
132
  exports.hasMultiAddressPublicKeys = hasMultiAddressPublicKeys;
125
133
  function hasConfigurableContract(protocol) {
126
- return (0, interface_1.implementsInterface)(protocol, configurableContractProtocolSchema);
134
+ return (0, interface_1.implementsInterface)(protocol, exports.configurableContractProtocolSchema);
127
135
  }
128
136
  exports.hasConfigurableContract = hasConfigurableContract;
129
137
  function canEncryptAES(protocol) {
130
- return (0, interface_1.implementsInterface)(protocol, aesEncryptionSchema);
138
+ return (0, interface_1.implementsInterface)(protocol, exports.aesEncryptionSchema);
131
139
  }
132
140
  exports.canEncryptAES = canEncryptAES;
133
141
  function canEncryptAsymmetric(protocol) {
134
- var extendedWithAsymmetricEncryption = (0, interface_1.implementsInterface)(protocol, asymmetricEncryptionBaseSchema);
142
+ var extendedWithAsymmetricEncryption = (0, interface_1.implementsInterface)(protocol, exports.asymmetricEncryptionBaseSchema);
135
143
  if (isOfflineProtocol(protocol)) {
136
- extendedWithAsymmetricEncryption && (extendedWithAsymmetricEncryption = (0, interface_1.implementsInterface)(protocol, asymmetricEncryptionOfflineSchema));
144
+ extendedWithAsymmetricEncryption && (extendedWithAsymmetricEncryption = (0, interface_1.implementsInterface)(protocol, exports.asymmetricEncryptionOfflineSchema));
137
145
  }
138
146
  return extendedWithAsymmetricEncryption;
139
147
  }
140
148
  exports.canEncryptAsymmetric = canEncryptAsymmetric;
141
149
  function canSignMessage(protocol) {
142
- var extendedWithSignMessage = (0, interface_1.implementsInterface)(protocol, signMessageBaseSchema);
150
+ var extendedWithSignMessage = (0, interface_1.implementsInterface)(protocol, exports.signMessageBaseSchema);
143
151
  if (isOfflineProtocol(protocol)) {
144
- extendedWithSignMessage && (extendedWithSignMessage = (0, interface_1.implementsInterface)(protocol, signMessageOfflineSchema));
152
+ extendedWithSignMessage && (extendedWithSignMessage = (0, interface_1.implementsInterface)(protocol, exports.signMessageOfflineSchema));
145
153
  }
146
154
  return extendedWithSignMessage;
147
155
  }
148
156
  exports.canSignMessage = canSignMessage;
149
157
  function hasConfigurableTransactionInjector(protocol) {
150
- return (0, interface_1.implementsInterface)(protocol, configurableTransactionInjectorSchema);
158
+ return (0, interface_1.implementsInterface)(protocol, exports.configurableTransactionInjectorSchema);
151
159
  }
152
160
  exports.hasConfigurableTransactionInjector = hasConfigurableTransactionInjector;
153
161
  function isTransactionStatusChecker(protocol) {
154
- return (0, interface_1.implementsInterface)(protocol, transactionStatusCheckerSchema);
162
+ return (0, interface_1.implementsInterface)(protocol, exports.transactionStatusCheckerSchema);
155
163
  }
156
164
  exports.isTransactionStatusChecker = isTransactionStatusChecker;
165
+ function supportsWalletConnect(protocol) {
166
+ return (0, interface_1.implementsInterface)(protocol, exports.walletConnectProtocolSchema);
167
+ }
168
+ exports.supportsWalletConnect = supportsWalletConnect;
157
169
  // Identifier
158
170
  var sha256hashShort = function (input) {
159
171
  var hash = createHash('sha256');
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/utils/protocol.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,aAAa;AACb,0FAA4F;AAsC5F,yCAAyD;AAEzD,UAAU;AAEV,IAAM,kBAAkB,GAAyB;IAC/C,uBAAuB,EAAE,UAAU;IACnC,yBAAyB,EAAE,UAAU;IACrC,WAAW,EAAE,UAAU;CACxB,CAAA;AAED,IAAM,qBAAqB,yBACtB,kBAAkB,KACrB,sBAAsB,EAAE,UAAU,EAClC,wBAAwB,EAAE,UAAU,EACpC,4BAA4B,EAAE,UAAU,GACzC,CAAA;AAED,IAAM,oBAAoB,yBACrB,kBAAkB,KACrB,oBAAoB,EAAE,UAAU,EAChC,qBAAqB,EAAE,UAAU,EACjC,UAAU,EAAE,UAAU,EACtB,8BAA8B,EAAE,UAAU,EAC1C,oCAAoC,EAAE,UAAU,EAChD,2BAA2B,EAAE,UAAU,EACvC,+BAA+B,EAAE,UAAU,GAC5C,CAAA;AAED,IAAM,uBAAuB,yBACxB,kBAAkB,KACrB,2BAA2B,EAAE,UAAU,GACxC,CAAA;AAED,IAAM,0BAA0B,kCAC3B,uBAAuB,GACvB,qBAAqB,KACxB,gCAAgC,EAAE,UAAU,EAC5C,2BAA2B,EAAE,UAAU,GACxC,CAAA;AAED,IAAM,yBAAyB,yBAC1B,uBAAuB,GACvB,oBAAoB,CACxB,CAAA;AAED,IAAM,iBAAiB,GAAwB;IAC7C,OAAO,EAAE,UAAU;IACnB,YAAY,EAAE,UAAU;CACzB,CAAA;AAED,IAAM,4BAA4B,yBAC7B,iBAAiB,KACpB,kBAAkB,EAAE,UAAU,GAC/B,CAAA;AAED,IAAM,+BAA+B,GAAsC,4BAA4B,CAAA;AACvG,IAAM,iCAAiC,yBAClC,+BAA+B,GAC/B,oBAAoB,CACxB,CAAA;AAED,IAAM,iCAAiC,GAAwC;IAC7E,mBAAmB,EAAE,UAAU;IAC/B,yBAAyB,EAAE,UAAU;CACtC,CAAA;AAED,IAAM,2CAA2C,GAAkD;IACjG,qBAAqB,EAAE,UAAU;IACjC,2BAA2B,EAAE,UAAU;CACxC,CAAA;AAED,IAAM,mCAAmC,GAA0C;IACjF,2BAA2B,EAAE,UAAU;CACxC,CAAA;AAED,IAAM,kCAAkC,GAAyC;IAC/E,eAAe,EAAE,UAAU;IAC3B,kBAAkB,EAAE,UAAU;IAC9B,kBAAkB,EAAE,UAAU;CAC/B,CAAA;AAED,IAAM,mBAAmB,GAAgB;IACvC,uBAAuB,EAAE,UAAU;IACnC,uBAAuB,EAAE,UAAU;CACpC,CAAA;AAED,IAAM,8BAA8B,GAAqC;IACvE,8BAA8B,EAAE,UAAU;CAC3C,CAAA;AAED,IAAM,iCAAiC,yBAClC,8BAA8B,KACjC,4BAA4B,EAAE,UAAU,GACzC,CAAA;AAED,IAAM,qBAAqB,GAA4B;IACrD,0BAA0B,EAAE,UAAU;CACvC,CAAA;AAED,IAAM,wBAAwB,yBACzB,qBAAqB,KACxB,sBAAsB,EAAE,UAAU,GACnC,CAAA;AAED,IAAM,qCAAqC,GAAoD;IAC7F,cAAc,EAAE,UAAU;IAC1B,cAAc,EAAE,UAAU;CAC3B,CAAA;AAED,IAAM,8BAA8B,GAAqC;IACvE,oBAAoB,EAAE,UAAU;CACjC,CAAA;AAED,wBAAwB;AAExB,SAAgB,iBAAiB,CAAC,MAAmB;IACnD,OAAO,IAAA,+BAAmB,EAAkB,MAAM,EAAE,qBAAqB,CAAC,CAAA;AAC5E,CAAC;AAFD,8CAEC;AAED,SAAgB,gBAAgB,CAAC,MAAmB;IAClD,OAAO,IAAA,+BAAmB,EAAiB,MAAM,EAAE,oBAAoB,CAAC,CAAA;AAC1E,CAAC;AAFD,4CAEC;AAED,SAAS,sBAAsB,CAAC,QAAyB;IACvD,OAAO,IAAA,+BAAmB,EAAuB,QAAQ,EAAE,0BAA0B,CAAC,CAAA;AACxF,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAwB;IACrD,OAAO,IAAA,+BAAmB,EAAsB,QAAQ,EAAE,yBAAyB,CAAC,CAAA;AACtF,CAAC;AAED,SAAgB,eAAe,CAAwB,QAAW;IAChE,IAAI,iBAAiB,GAAY,KAAK,CAAA;IAEtC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE;QAC/B,iBAAiB,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAA;KACrD;IAED,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE;QAC9B,iBAAiB,KAAjB,iBAAiB,GAAK,qBAAqB,CAAC,QAAQ,CAAC,EAAA;KACtD;IAED,OAAO,iBAAiB,CAAA;AAC1B,CAAC;AAZD,0CAYC;AAED,SAAgB,aAAa,CAAwB,QAAW;IAC9D,OAAO,IAAA,+BAAmB,EAAc,QAAQ,EAAE,iBAAiB,CAAC,CAAA;AACtE,CAAC;AAFD,sCAEC;AAED,SAAgB,wBAAwB,CAAwB,QAAW;IACzE,OAAO,IAAA,+BAAmB,EAAyB,QAAQ,EAAE,4BAA4B,CAAC,CAAA;AAC5F,CAAC;AAFD,4DAEC;AAED,SAAgB,uBAAuB,CAAwB,QAAW;IACxE,IAAI,iCAAiC,GAAY,IAAA,+BAAmB,EAA4B,QAAQ,EAAE,+BAA+B,CAAC,CAAA;IAE1I,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE;QAC9B,iCAAiC,KAAjC,iCAAiC,GAAK,IAAA,+BAAmB,EAA8B,QAAQ,EAAE,iCAAiC,CAAC,EAAA;KACpI;IAED,OAAO,iCAAiC,CAAA;AAC1C,CAAC;AARD,0DAQC;AAED,SAAgB,sBAAsB,CAA2B,QAAW;IAC1E,OAAO,IAAA,+BAAmB,EAA8B,QAAQ,EAAE,iCAAiC,CAAC,CAAA;AACtG,CAAC;AAFD,wDAEC;AAED,SAAgB,gCAAgC,CAC9C,QAAW;IAEX,OAAO,IAAA,+BAAmB,EAAwC,QAAQ,EAAE,2CAA2C,CAAC,CAAA;AAC1H,CAAC;AAJD,4EAIC;AAED,SAAgB,yBAAyB,CAAwB,QAAW;IAC1E,OAAO,IAAA,+BAAmB,EAAgC,QAAQ,EAAE,mCAAmC,CAAC,CAAA;AAC1G,CAAC;AAFD,8DAEC;AAED,SAAgB,uBAAuB,CAAwB,QAAW;IACxE,OAAO,IAAA,+BAAmB,EAA+B,QAAQ,EAAE,kCAAkC,CAAC,CAAA;AACxG,CAAC;AAFD,0DAEC;AAED,SAAgB,aAAa,CAA4B,QAAW;IAClE,OAAO,IAAA,+BAAmB,EAAM,QAAQ,EAAE,mBAAmB,CAAC,CAAA;AAChE,CAAC;AAFD,sCAEC;AAED,SAAgB,oBAAoB,CAAwB,QAAW;IACrE,IAAI,gCAAgC,GAAY,IAAA,+BAAmB,EAA2B,QAAQ,EAAE,8BAA8B,CAAC,CAAA;IAEvI,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE;QAC/B,gCAAgC,KAAhC,gCAAgC,GAAK,IAAA,+BAAmB,EAA8B,QAAQ,EAAE,iCAAiC,CAAC,EAAA;KACnI;IAED,OAAO,gCAAgC,CAAA;AACzC,CAAC;AARD,oDAQC;AAED,SAAgB,cAAc,CAAwB,QAAW;IAC/D,IAAI,uBAAuB,GAAY,IAAA,+BAAmB,EAAkB,QAAQ,EAAE,qBAAqB,CAAC,CAAA;IAE5G,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE;QAC/B,uBAAuB,KAAvB,uBAAuB,GAAK,IAAA,+BAAmB,EAAqB,QAAQ,EAAE,wBAAwB,CAAC,EAAA;KACxG;IAED,OAAO,uBAAuB,CAAA;AAChC,CAAC;AARD,wCAQC;AAED,SAAgB,kCAAkC,CAChD,QAAW;IAEX,OAAO,IAAA,+BAAmB,EAA0C,QAAQ,EAAE,qCAAqC,CAAC,CAAA;AACtH,CAAC;AAJD,gFAIC;AAED,SAAgB,0BAA0B,CAA2B,QAAW;IAC9E,OAAO,IAAA,+BAAmB,EAA2B,QAAQ,EAAE,8BAA8B,CAAC,CAAA;AAChG,CAAC;AAFD,gEAEC;AAED,aAAa;AAEb,IAAM,eAAe,GAA8B,UAAC,KAAa;IAC/D,IAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;IACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAElB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAC3C,CAAC,CAAA;AAED,SAAgB,yBAAyB,CAAC,OAAwB;IAChE,IAAM,MAAM,GAAW,eAAe,CAAC,UAAG,OAAO,CAAC,IAAI,cAAI,OAAO,CAAC,MAAM,CAAE,CAAC,CAAA;IAE3E,OAAO,UAAG,OAAO,CAAC,IAAI,cAAI,MAAM,CAAE,CAAA;AACpC,CAAC;AAJD,8DAIC"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/utils/protocol.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"AirGapDelegateProtocol.js","sourceRoot":"","sources":["../../src/internal/AirGapDelegateProtocol.ts"],"names":[],"mappings":""}