@airgap/module-kit 0.13.8-beta.4 → 0.13.8-beta.6

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.
@@ -29716,7 +29716,7 @@ exports.newPlainUIText = newPlainUIText;
29716
29716
  },{}],196:[function(require,module,exports){
29717
29717
  "use strict";
29718
29718
  Object.defineProperty(exports, "__esModule", { value: true });
29719
- exports.normalizeToUndefined = exports.protocolNetworkIdentifier = exports.isTransactionStatusChecker = exports.hasConfigurableTransactionInjector = exports.canSignMessage = exports.canEncryptAsymmetric = exports.canEncryptAES = exports.hasConfigurableContract = exports.hasMultiAddressPublicKeys = exports.canFetchDataForMultipleAddresses = exports.isMultiTokenSubProtocol = exports.isSingleTokenSubProtocol = exports.isSubProtocol = exports.isBip32Protocol = 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;
29719
+ exports.normalizeToUndefined = exports.protocolNetworkIdentifier = exports.isTransactionStatusChecker = exports.hasConfigurableTransactionInjector = exports.canSignMessage = exports.canEncryptAsymmetric = exports.canEncryptAES = exports.hasConfigurableContract = exports.hasMultiAddressPublicKeys = exports.canFetchDataForMultipleAddresses = 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;
29720
29720
  var amount_1 = require("./factories/amount");
29721
29721
  Object.defineProperty(exports, "newAmount", { enumerable: true, get: function () { return amount_1.newAmount; } });
29722
29722
  var key_1 = require("./factories/key");
@@ -29762,6 +29762,8 @@ Object.defineProperty(exports, "hasConfigurableTransactionInjector", { enumerabl
29762
29762
  Object.defineProperty(exports, "hasMultiAddressPublicKeys", { enumerable: true, get: function () { return protocol_1.hasMultiAddressPublicKeys; } });
29763
29763
  Object.defineProperty(exports, "isBip32Protocol", { enumerable: true, get: function () { return protocol_1.isBip32Protocol; } });
29764
29764
  Object.defineProperty(exports, "isMultiTokenSubProtocol", { enumerable: true, get: function () { return protocol_1.isMultiTokenSubProtocol; } });
29765
+ Object.defineProperty(exports, "isOfflineProtocol", { enumerable: true, get: function () { return protocol_1.isOfflineProtocol; } });
29766
+ Object.defineProperty(exports, "isOnlineProtocol", { enumerable: true, get: function () { return protocol_1.isOnlineProtocol; } });
29765
29767
  Object.defineProperty(exports, "isSingleTokenSubProtocol", { enumerable: true, get: function () { return protocol_1.isSingleTokenSubProtocol; } });
29766
29768
  Object.defineProperty(exports, "isSubProtocol", { enumerable: true, get: function () { return protocol_1.isSubProtocol; } });
29767
29769
  Object.defineProperty(exports, "isTransactionStatusChecker", { enumerable: true, get: function () { return protocol_1.isTransactionStatusChecker; } });
@@ -29939,7 +29941,7 @@ var __assign = (this && this.__assign) || function () {
29939
29941
  return __assign.apply(this, arguments);
29940
29942
  };
29941
29943
  Object.defineProperty(exports, "__esModule", { value: true });
29942
- 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 = void 0;
29944
+ 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;
29943
29945
  // @ts-ignore
29944
29946
  var createHash = require("@airgap/coinlib-core/dependencies/src/create-hash-1.2.0/index");
29945
29947
  var interface_1 = require("./interface");
@@ -29952,7 +29954,7 @@ var baseProtocolSchema = {
29952
29954
  var offlineProtocolSchema = __assign(__assign({}, baseProtocolSchema), { getKeyPairFromSecret: 'required', signTransactionWithSecretKey: 'required' });
29953
29955
  var onlineProtocolSchema = __assign(__assign({}, baseProtocolSchema), { broadcastTransaction: 'required', getBalanceOfPublicKey: 'required', getNetwork: 'required', getTransactionFeeWithPublicKey: 'required', getTransactionMaxAmountWithPublicKey: 'required', getTransactionsForPublicKey: 'required', prepareTransactionWithPublicKey: 'required' });
29954
29956
  var bip32BaseProtocolSchema = __assign(__assign({}, baseProtocolSchema), { deriveFromExtendedPublicKey: 'required' });
29955
- var bip32OfflineProtocolSchema = __assign(__assign(__assign({}, bip32BaseProtocolSchema), offlineProtocolSchema), { getExtendedKeyPairFromSecret: 'required' });
29957
+ var bip32OfflineProtocolSchema = __assign(__assign(__assign({}, bip32BaseProtocolSchema), offlineProtocolSchema), { getExtendedKeyPairFromSecret: 'required', deriveFromExtendedSecretKey: 'required' });
29956
29958
  var bip32OnlineProtocolSchema = __assign(__assign({}, bip32BaseProtocolSchema), onlineProtocolSchema);
29957
29959
  var subProtocolSchema = {
29958
29960
  getType: 'required',
@@ -30000,9 +30002,11 @@ var transactionStatusCheckerSchema = {
30000
30002
  function isOfflineProtocol(object) {
30001
30003
  return (0, interface_1.implementsInterface)(object, offlineProtocolSchema);
30002
30004
  }
30005
+ exports.isOfflineProtocol = isOfflineProtocol;
30003
30006
  function isOnlineProtocol(object) {
30004
30007
  return (0, interface_1.implementsInterface)(object, onlineProtocolSchema);
30005
30008
  }
30009
+ exports.isOnlineProtocol = isOnlineProtocol;
30006
30010
  function isOfflineBip32Protocol(protocol) {
30007
30011
  return (0, interface_1.implementsInterface)(protocol, bip32OfflineProtocolSchema);
30008
30012
  }
package/index.d.ts CHANGED
@@ -42,11 +42,11 @@ import { implementsInterface, Schema } from './utils/interface';
42
42
  import { isAnyKey, isExtendedPublicKey, isExtendedSecretKey, isPublicKey, isSecretKey } from './utils/key';
43
43
  import { createSupportedProtocols } from './utils/module';
44
44
  import { normalizeToUndefined } from './utils/normalize';
45
- import { canEncryptAES, canEncryptAsymmetric, canFetchDataForMultipleAddresses, canSignMessage, hasConfigurableContract, hasConfigurableTransactionInjector, hasMultiAddressPublicKeys, isBip32Protocol, isMultiTokenSubProtocol, isSingleTokenSubProtocol, isSubProtocol, isTransactionStatusChecker, protocolNetworkIdentifier } from './utils/protocol';
45
+ import { canEncryptAES, canEncryptAsymmetric, canFetchDataForMultipleAddresses, canSignMessage, hasConfigurableContract, hasConfigurableTransactionInjector, hasMultiAddressPublicKeys, isBip32Protocol, isMultiTokenSubProtocol, isOfflineProtocol, isOnlineProtocol, isSingleTokenSubProtocol, isSubProtocol, isTransactionStatusChecker, protocolNetworkIdentifier } from './utils/protocol';
46
46
  export { AirGapBlockExplorer, BlockExplorerMetadata };
47
47
  export { newSuccessUIAlert, newInfoUIAlert, newWarningUIAlert, newErrorUIAlert, newPlainUIText, newAmount, newSecretKey, newExtendedSecretKey, newPublicKey, newExtendedPublicKey, newSignature, newUnsignedTransaction, newSignedTransaction };
48
48
  export { AirGapModule, ModuleNetworkRegistry, ProtocolConfiguration, OfflineProtocolConfiguration, OnlineProtocolConfiguration, FullProtocolConfiguration };
49
49
  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, ProtocolNetworkType, ProtocolNetwork, SubProtocolType };
50
50
  export { AirGapInterface };
51
51
  export { AirGapUIAction, AirGapUIAlert, AirGapUIText, Address, AddressCursor, AddressWithCursor, Amount, Balance, MultiTokenBalanceConfiguration, BytesStringFormat, BytesString, HexString, FeeDefaults, FeeEstimation, KeyType, SecretKey, ExtendedSecretKey, PublicKey, ExtendedPublicKey, KeyPair, ExtendedKeyPair, SecretType, MnemonicSecret, HexSecret, Secret, Signature, TransactionType, UnsignedTransaction, SignedTransaction, AirGapTransaction, TransactionCursor, AirGapTransactionsWithCursor, TransactionDetails, TransactionConfiguration, AirGapTransactionStatus, RecursivePartial };
52
- export { isAmount, Schema, implementsInterface, isAnyKey, isSecretKey, isExtendedSecretKey, isPublicKey, isExtendedPublicKey, createSupportedProtocols, isBip32Protocol, isSubProtocol, isSingleTokenSubProtocol, isMultiTokenSubProtocol, canFetchDataForMultipleAddresses, hasMultiAddressPublicKeys, hasConfigurableContract, canEncryptAES, canEncryptAsymmetric, canSignMessage, hasConfigurableTransactionInjector, isTransactionStatusChecker, protocolNetworkIdentifier, normalizeToUndefined };
52
+ export { isAmount, Schema, implementsInterface, isAnyKey, isSecretKey, isExtendedSecretKey, isPublicKey, isExtendedPublicKey, createSupportedProtocols, isOfflineProtocol, isOnlineProtocol, isBip32Protocol, isSubProtocol, isSingleTokenSubProtocol, isMultiTokenSubProtocol, canFetchDataForMultipleAddresses, hasMultiAddressPublicKeys, hasConfigurableContract, canEncryptAES, canEncryptAsymmetric, canSignMessage, hasConfigurableTransactionInjector, isTransactionStatusChecker, protocolNetworkIdentifier, normalizeToUndefined };
package/index.js CHANGED
@@ -1,6 +1,6 @@
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.isMultiTokenSubProtocol = exports.isSingleTokenSubProtocol = exports.isSubProtocol = exports.isBip32Protocol = 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.normalizeToUndefined = exports.protocolNetworkIdentifier = exports.isTransactionStatusChecker = exports.hasConfigurableTransactionInjector = exports.canSignMessage = exports.canEncryptAsymmetric = exports.canEncryptAES = exports.hasConfigurableContract = exports.hasMultiAddressPublicKeys = exports.canFetchDataForMultipleAddresses = 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;
4
4
  var amount_1 = require("./factories/amount");
5
5
  Object.defineProperty(exports, "newAmount", { enumerable: true, get: function () { return amount_1.newAmount; } });
6
6
  var key_1 = require("./factories/key");
@@ -46,6 +46,8 @@ Object.defineProperty(exports, "hasConfigurableTransactionInjector", { enumerabl
46
46
  Object.defineProperty(exports, "hasMultiAddressPublicKeys", { enumerable: true, get: function () { return protocol_1.hasMultiAddressPublicKeys; } });
47
47
  Object.defineProperty(exports, "isBip32Protocol", { enumerable: true, get: function () { return protocol_1.isBip32Protocol; } });
48
48
  Object.defineProperty(exports, "isMultiTokenSubProtocol", { enumerable: true, get: function () { return protocol_1.isMultiTokenSubProtocol; } });
49
+ Object.defineProperty(exports, "isOfflineProtocol", { enumerable: true, get: function () { return protocol_1.isOfflineProtocol; } });
50
+ Object.defineProperty(exports, "isOnlineProtocol", { enumerable: true, get: function () { return protocol_1.isOnlineProtocol; } });
49
51
  Object.defineProperty(exports, "isSingleTokenSubProtocol", { enumerable: true, get: function () { return protocol_1.isSingleTokenSubProtocol; } });
50
52
  Object.defineProperty(exports, "isSubProtocol", { enumerable: true, get: function () { return protocol_1.isSubProtocol; } });
51
53
  Object.defineProperty(exports, "isTransactionStatusChecker", { enumerable: true, get: function () { return protocol_1.isTransactionStatusChecker; } });
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,6CAA8C;AAiG5C,0FAjGO,kBAAS,OAiGP;AAhGX,uCAAwG;AAoGtG,qGApGO,0BAAoB,OAoGP;AAFpB,qGAlG6B,0BAAoB,OAkG7B;AACpB,6FAnGmD,kBAAY,OAmGnD;AAFZ,6FAjGiE,kBAAY,OAiGjE;AAhGd,mDAAoD;AAoGlD,6FApGO,wBAAY,OAoGP;AAnGd,uDAAsF;AAqGpF,qGArGO,kCAAoB,OAqGP;AADpB,uGApG6B,oCAAsB,OAoG7B;AAnGxB,8CAA4G;AA2F1G,gGA3FO,uBAAe,OA2FP;AAFf,+FAzFwB,sBAAc,OAyFxB;AADd,kGAxFwC,yBAAiB,OAwFxC;AAEjB,kGA1F2D,yBAAiB,OA0F3D;AAzFnB,4CAAoD;AA2FlD,+FA3FO,qBAAc,OA2FP;AAzFhB,4EAAwE;AAwGtE,sGAxGO,+CAAqB,OAwGP;AA/CvB,yCAAyC;AA0IvC,yFA1IO,iBAAQ,OA0IP;AAzIV,+CAA+D;AA2I7D,oGA3IO,+BAAmB,OA2IP;AA1IrB,mCAA0G;AA2IxG,yFA3IO,cAAQ,OA2IP;AAIR,oGA/IiB,yBAAmB,OA+IjB;AAFnB,oGA7IsC,yBAAmB,OA6ItC;AACnB,4FA9I2D,iBAAW,OA8I3D;AAFX,4FA5IwE,iBAAW,OA4IxE;AA3Ib,yCAAyD;AA+IvD,yGA/IO,iCAAwB,OA+IP;AA9I1B,+CAAwD;AA4JtD,qGA5JO,gCAAoB,OA4JP;AA3JtB,6CAcyB;AAuIvB,8FApJA,wBAAa,OAoJA;AACb,qGApJA,+BAAoB,OAoJA;AAJpB,iHA/IA,2CAAgC,OA+IA;AAKhC,+FAnJA,yBAAc,OAmJA;AAHd,wGA/IA,kCAAuB,OA+IA;AAIvB,mHAlJA,6CAAkC,OAkJA;AALlC,0GA5IA,oCAAyB,OA4IA;AALzB,gGAtIA,0BAAe,OAsIA;AAGf,wGAxIA,kCAAuB,OAwIA;AADvB,yGAtIA,mCAAwB,OAsIA;AADxB,8FApIA,wBAAa,OAoIA;AAUb,2GA7IA,qCAA0B,OA6IA;AAC1B,0GA7IA,oCAAyB,OA6IA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,6CAA8C;AAmG5C,0FAnGO,kBAAS,OAmGP;AAlGX,uCAAwG;AAsGtG,qGAtGO,0BAAoB,OAsGP;AAFpB,qGApG6B,0BAAoB,OAoG7B;AACpB,6FArGmD,kBAAY,OAqGnD;AAFZ,6FAnGiE,kBAAY,OAmGjE;AAlGd,mDAAoD;AAsGlD,6FAtGO,wBAAY,OAsGP;AArGd,uDAAsF;AAuGpF,qGAvGO,kCAAoB,OAuGP;AADpB,uGAtG6B,oCAAsB,OAsG7B;AArGxB,8CAA4G;AA6F1G,gGA7FO,uBAAe,OA6FP;AAFf,+FA3FwB,sBAAc,OA2FxB;AADd,kGA1FwC,yBAAiB,OA0FxC;AAEjB,kGA5F2D,yBAAiB,OA4F3D;AA3FnB,4CAAoD;AA6FlD,+FA7FO,qBAAc,OA6FP;AA3FhB,4EAAwE;AA0GtE,sGA1GO,+CAAqB,OA0GP;AAjDvB,yCAAyC;AA4IvC,yFA5IO,iBAAQ,OA4IP;AA3IV,+CAA+D;AA6I7D,oGA7IO,+BAAmB,OA6IP;AA5IrB,mCAA0G;AA6IxG,yFA7IO,cAAQ,OA6IP;AAIR,oGAjJiB,yBAAmB,OAiJjB;AAFnB,oGA/IsC,yBAAmB,OA+ItC;AACnB,4FAhJ2D,iBAAW,OAgJ3D;AAFX,4FA9IwE,iBAAW,OA8IxE;AA7Ib,yCAAyD;AAiJvD,yGAjJO,iCAAwB,OAiJP;AAhJ1B,+CAAwD;AAgKtD,qGAhKO,gCAAoB,OAgKP;AA/JtB,6CAgByB;AAyIvB,8FAxJA,wBAAa,OAwJA;AACb,qGAxJA,+BAAoB,OAwJA;AAJpB,iHAnJA,2CAAgC,OAmJA;AAKhC,+FAvJA,yBAAc,OAuJA;AAHd,wGAnJA,kCAAuB,OAmJA;AAIvB,mHAtJA,6CAAkC,OAsJA;AALlC,0GAhJA,oCAAyB,OAgJA;AALzB,gGA1IA,0BAAe,OA0IA;AAGf,wGA5IA,kCAAuB,OA4IA;AALvB,kGAtIA,4BAAiB,OAsIA;AACjB,iGAtIA,2BAAgB,OAsIA;AAGhB,yGAxIA,mCAAwB,OAwIA;AADxB,8FAtIA,wBAAa,OAsIA;AAUb,2GA/IA,qCAA0B,OA+IA;AAC1B,0GA/IA,oCAAyB,OA+IA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@airgap/module-kit",
3
- "version": "0.13.8-beta.4",
3
+ "version": "0.13.8-beta.6",
4
4
  "description": "TODO",
5
5
  "keywords": [
6
6
  "airgap",
@@ -9,6 +9,7 @@ export interface BaseBip32Protocol<_AddressCursor extends BaseGeneric['AddressCu
9
9
  }
10
10
  export interface OfflineBip32Protocol<_AddressCursor extends OfflineGeneric['AddressCursor'] = OfflineGeneric['AddressCursor'], _AddressResult extends OfflineGeneric['AddressResult'] = OfflineGeneric['AddressResult'], _Units extends OfflineGeneric['Units'] = OfflineGeneric['Units'], _FeeUnits extends OfflineGeneric['FeeUnits'] = OfflineGeneric['FeeUnits'], _SignedTransaction extends OfflineGeneric['SignedTransaction'] = OfflineGeneric['SignedTransaction'], _UnsignedTransaction extends OfflineGeneric['UnsignedTransaction'] = OfflineGeneric['UnsignedTransaction']> extends BaseBip32Protocol<_AddressCursor, _AddressResult, _Units, _FeeUnits, _SignedTransaction, _UnsignedTransaction>, _OfflineProtocol<_AddressCursor, _AddressResult, _Units, _FeeUnits, _SignedTransaction, _UnsignedTransaction, PublicKey | ExtendedPublicKey, SecretKey | ExtendedSecretKey, KeyPair | ExtendedKeyPair> {
11
11
  getExtendedKeyPairFromSecret(secret: Secret, derivationPath?: string): Promise<ExtendedKeyPair>;
12
+ deriveFromExtendedSecretKey(extendedSecretKey: ExtendedSecretKey, visibilityIndex: number, addressIndex: number): Promise<SecretKey>;
12
13
  }
13
14
  export interface OnlineBip32Protocol<_AddressCursor extends OnlineGeneric['AddressCursor'] = OnlineGeneric['AddressCursor'], _AddressResult extends OnlineGeneric['AddressResult'] = OnlineGeneric['AddressResult'], _ProtocolNetwork extends OnlineGeneric['ProtocolNetwork'] = OnlineGeneric['ProtocolNetwork'], _Units extends OnlineGeneric['Units'] = OnlineGeneric['Units'], _FeeUnits extends OnlineGeneric['FeeUnits'] = OnlineGeneric['FeeUnits'], _FeeEstimation extends OnlineGeneric['FeeEstimation'] = OnlineGeneric['FeeEstimation'], _SignedTransaction extends OnlineGeneric['SignedTransaction'] = OnlineGeneric['SignedTransaction'], _UnsignedTransaction extends OnlineGeneric['UnsignedTransaction'] = OnlineGeneric['UnsignedTransaction'], _TransactionCursor extends OnlineGeneric['TransactionCursor'] = OnlineGeneric['TransactionCursor'], _BalanceConfiguration extends Object | undefined = undefined> extends BaseBip32Protocol<_AddressCursor, _AddressResult, _Units, _FeeUnits, _SignedTransaction, _UnsignedTransaction>, _OnlineProtocol<_AddressCursor, _AddressResult, _ProtocolNetwork, _Units, _FeeUnits, _FeeEstimation, _SignedTransaction, _UnsignedTransaction, _TransactionCursor, PublicKey | ExtendedPublicKey, _BalanceConfiguration> {
14
15
  }
@@ -1,6 +1,6 @@
1
1
  import { Amount } from './amount';
2
2
  import { FeeDefaults } from './fee';
3
- export interface ProtocolMetadata<_Units extends string, _FeeUnits extends string = _Units> {
3
+ export interface ProtocolMetadata<_Units extends string = string, _FeeUnits extends string = _Units> {
4
4
  name: string;
5
5
  identifier: string;
6
6
  units: ProtocolUnitsMetadata<_Units>;
@@ -9,7 +9,7 @@ export interface ProtocolMetadata<_Units extends string, _FeeUnits extends strin
9
9
  account?: ProtocolAccountMetadata;
10
10
  transaction?: ProtocolTransactionMetadata<_Units>;
11
11
  }
12
- export declare type ProtocolUnitsMetadata<_Units extends string> = {
12
+ export declare type ProtocolUnitsMetadata<_Units extends string = string> = {
13
13
  [key in _Units]: {
14
14
  symbol: ProtocolSymbol;
15
15
  decimals: number;
@@ -19,15 +19,11 @@ export interface ProtocolSymbol {
19
19
  value: string;
20
20
  market?: string;
21
21
  }
22
- interface ProtocolFeeMetadataWithUnits<_FeeUnits extends string> {
23
- units: ProtocolUnitsMetadata<_FeeUnits>;
24
- mainUnit: _FeeUnits;
22
+ export interface ProtocolFeeMetadata<_FeeUnits extends string = string> {
25
23
  defaults?: FeeDefaults<_FeeUnits>;
24
+ units?: ProtocolUnitsMetadata<_FeeUnits>;
25
+ mainUnit?: _FeeUnits;
26
26
  }
27
- interface ProtocolFeeMetadataWithoutUnits<_FeeUnits extends string> {
28
- defaults?: FeeDefaults<_FeeUnits>;
29
- }
30
- export declare type ProtocolFeeMetadata<_FeeUnits extends string> = ProtocolFeeMetadataWithoutUnits<_FeeUnits> | ProtocolFeeMetadataWithUnits<_FeeUnits>;
31
27
  export interface ProtocolAccountMetadata {
32
28
  standardDerivationPath?: string;
33
29
  address?: {
@@ -36,7 +32,7 @@ export interface ProtocolAccountMetadata {
36
32
  regex?: string;
37
33
  };
38
34
  }
39
- export interface ProtocolTransactionMetadata<_Units extends string> {
35
+ export interface ProtocolTransactionMetadata<_Units extends string = string> {
40
36
  arbitraryData?: ProtocolTransactionArbitraryDataMetadata | {
41
37
  root?: ProtocolTransactionArbitraryDataMetadata;
42
38
  inner?: ProtocolTransactionArbitraryDataMetadata;
@@ -57,4 +53,3 @@ export interface ProtocolNetwork {
57
53
  type: ProtocolNetworkType;
58
54
  rpcUrl: string;
59
55
  }
60
- export {};
@@ -28,6 +28,7 @@ export interface AirGapTransaction<_Units extends string = string, _FeeUnits ext
28
28
  uiAlerts?: AirGapUIAlert[];
29
29
  arbitraryData?: string | [AirGapUIText, string];
30
30
  json?: any;
31
+ extra?: any;
31
32
  }
32
33
  export interface TransactionCursor extends BaseCursor {
33
34
  }
@@ -13,6 +13,8 @@ import { ConfigurableTransactionInjectorProtocol } from '../protocol/extensions/
13
13
  import { TransactionStatusCheckerExtension } from '../protocol/extensions/transaction/TransactionStatusCheckerExtension';
14
14
  import { AnyProtocol, OfflineProtocol, OnlineProtocol } from '../protocol/protocol';
15
15
  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;
16
18
  export declare function isBip32Protocol<T extends AnyProtocol>(protocol: T): protocol is T & Bip32Extension<T>;
17
19
  export declare function isSubProtocol<T extends AnyProtocol>(protocol: T): protocol is T & SubProtocol;
18
20
  export declare function isSingleTokenSubProtocol<T extends AnyProtocol>(protocol: T): protocol is T & SingleTokenSubProtocolExtension<T>;
package/utils/protocol.js CHANGED
@@ -11,7 +11,7 @@ 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 = void 0;
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;
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");
@@ -24,7 +24,7 @@ var baseProtocolSchema = {
24
24
  var offlineProtocolSchema = __assign(__assign({}, baseProtocolSchema), { getKeyPairFromSecret: 'required', signTransactionWithSecretKey: 'required' });
25
25
  var onlineProtocolSchema = __assign(__assign({}, baseProtocolSchema), { broadcastTransaction: 'required', getBalanceOfPublicKey: 'required', getNetwork: 'required', getTransactionFeeWithPublicKey: 'required', getTransactionMaxAmountWithPublicKey: 'required', getTransactionsForPublicKey: 'required', prepareTransactionWithPublicKey: 'required' });
26
26
  var bip32BaseProtocolSchema = __assign(__assign({}, baseProtocolSchema), { deriveFromExtendedPublicKey: 'required' });
27
- var bip32OfflineProtocolSchema = __assign(__assign(__assign({}, bip32BaseProtocolSchema), offlineProtocolSchema), { getExtendedKeyPairFromSecret: 'required' });
27
+ var bip32OfflineProtocolSchema = __assign(__assign(__assign({}, bip32BaseProtocolSchema), offlineProtocolSchema), { getExtendedKeyPairFromSecret: 'required', deriveFromExtendedSecretKey: 'required' });
28
28
  var bip32OnlineProtocolSchema = __assign(__assign({}, bip32BaseProtocolSchema), onlineProtocolSchema);
29
29
  var subProtocolSchema = {
30
30
  getType: 'required',
@@ -72,9 +72,11 @@ var transactionStatusCheckerSchema = {
72
72
  function isOfflineProtocol(object) {
73
73
  return (0, interface_1.implementsInterface)(object, offlineProtocolSchema);
74
74
  }
75
+ exports.isOfflineProtocol = isOfflineProtocol;
75
76
  function isOnlineProtocol(object) {
76
77
  return (0, interface_1.implementsInterface)(object, onlineProtocolSchema);
77
78
  }
79
+ exports.isOnlineProtocol = isOnlineProtocol;
78
80
  function isOfflineBip32Protocol(protocol) {
79
81
  return (0, interface_1.implementsInterface)(protocol, bip32OfflineProtocolSchema);
80
82
  }
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/utils/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/utils/protocol.ts"],"names":[],"mappings":"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"}