@airgap/bitcoin 0.13.7-beta.22 → 0.13.7-beta.23

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 (159) hide show
  1. package/airgap-coinlib-bitcoin.min.js +16559 -4042
  2. package/index.d.ts +1 -14
  3. package/index.js +15 -19
  4. package/index.js.map +1 -1
  5. package/package.json +4 -2
  6. package/v0/index.d.ts +14 -0
  7. package/v0/index.js +34 -0
  8. package/v0/index.js.map +1 -0
  9. package/{protocol → v0/protocol}/BitcoinAddress.d.ts +0 -0
  10. package/{protocol → v0/protocol}/BitcoinAddress.js +0 -0
  11. package/v0/protocol/BitcoinAddress.js.map +1 -0
  12. package/{protocol → v0/protocol}/BitcoinCryptoClient.d.ts +0 -0
  13. package/{protocol → v0/protocol}/BitcoinCryptoClient.js +2 -0
  14. package/v0/protocol/BitcoinCryptoClient.js.map +1 -0
  15. package/{protocol → v0/protocol}/BitcoinProtocol.d.ts +0 -0
  16. package/{protocol → v0/protocol}/BitcoinProtocol.js +29 -21
  17. package/v0/protocol/BitcoinProtocol.js.map +1 -0
  18. package/{protocol → v0/protocol}/BitcoinProtocolOptions.d.ts +0 -0
  19. package/{protocol → v0/protocol}/BitcoinProtocolOptions.js +9 -3
  20. package/v0/protocol/BitcoinProtocolOptions.js.map +1 -0
  21. package/{protocol → v0/protocol}/BitcoinSegwitAddress.d.ts +0 -0
  22. package/{protocol → v0/protocol}/BitcoinSegwitAddress.js +2 -0
  23. package/v0/protocol/BitcoinSegwitAddress.js.map +1 -0
  24. package/{protocol → v0/protocol}/BitcoinSegwitProtocol.d.ts +0 -0
  25. package/{protocol → v0/protocol}/BitcoinSegwitProtocol.js +32 -21
  26. package/v0/protocol/BitcoinSegwitProtocol.js.map +1 -0
  27. package/{protocol → v0/protocol}/BitcoinTestnetProtocol.d.ts +0 -0
  28. package/{protocol → v0/protocol}/BitcoinTestnetProtocol.js +7 -1
  29. package/v0/protocol/BitcoinTestnetProtocol.js.map +1 -0
  30. package/{protocol → v0/protocol}/BitcoinTypes.d.ts +0 -0
  31. package/{protocol → v0/protocol}/BitcoinTypes.js +0 -0
  32. package/v0/protocol/BitcoinTypes.js.map +1 -0
  33. package/v0/serializer/schemas/v2/transaction-sign-request-bitcoin-segwit.json +0 -0
  34. package/v0/serializer/schemas/v2/transaction-sign-request-bitcoin.json +73 -0
  35. package/v0/serializer/schemas/v2/transaction-sign-response-bitcoin-segwit.json +0 -0
  36. package/v0/serializer/schemas/v2/transaction-sign-response-bitcoin.json +37 -0
  37. package/v0/serializer/schemas/v3/transaction-sign-request-bitcoin-segwit.json +32 -0
  38. package/v0/serializer/schemas/v3/transaction-sign-request-bitcoin.json +73 -0
  39. package/v0/serializer/schemas/v3/transaction-sign-response-bitcoin-segwit.json +19 -0
  40. package/v0/serializer/schemas/v3/transaction-sign-response-bitcoin.json +37 -0
  41. package/v0/serializer/validators/transaction-validator.d.ts +15 -0
  42. package/v0/serializer/validators/transaction-validator.js +81 -0
  43. package/v0/serializer/validators/transaction-validator.js.map +1 -0
  44. package/v0/serializer/validators/validators.d.ts +1 -0
  45. package/v0/serializer/validators/validators.js +151 -0
  46. package/v0/serializer/validators/validators.js.map +1 -0
  47. package/v0/types/signed-transaction-bitcoin-segwit.d.ts +5 -0
  48. package/{types → v0/types}/signed-transaction-bitcoin-segwit.js +0 -0
  49. package/v0/types/signed-transaction-bitcoin-segwit.js.map +1 -0
  50. package/v0/types/signed-transaction-bitcoin.d.ts +9 -0
  51. package/{types → v0/types}/signed-transaction-bitcoin.js +0 -0
  52. package/v0/types/signed-transaction-bitcoin.js.map +1 -0
  53. package/{types → v0/types}/transaction-bitcoin.d.ts +0 -0
  54. package/{types → v0/types}/transaction-bitcoin.js +0 -0
  55. package/v0/types/transaction-bitcoin.js.map +1 -0
  56. package/v0/types/unsigned-transaction-bitcoin-segwit.d.ts +7 -0
  57. package/{types → v0/types}/unsigned-transaction-bitcoin-segwit.js +0 -0
  58. package/v0/types/unsigned-transaction-bitcoin-segwit.js.map +1 -0
  59. package/{types → v0/types}/unsigned-transaction-bitcoin.d.ts +2 -2
  60. package/{types → v0/types}/unsigned-transaction-bitcoin.js +0 -0
  61. package/v0/types/unsigned-transaction-bitcoin.js.map +1 -0
  62. package/v1/block-explorer/BlockCypherBlockExplorer.d.ts +9 -0
  63. package/v1/block-explorer/BlockCypherBlockExplorer.js +74 -0
  64. package/v1/block-explorer/BlockCypherBlockExplorer.js.map +1 -0
  65. package/v1/data/BitcoinAddress.d.ts +7 -0
  66. package/v1/data/BitcoinAddress.js +21 -0
  67. package/v1/data/BitcoinAddress.js.map +1 -0
  68. package/v1/data/BitcoinSegwitAddress.d.ts +8 -0
  69. package/v1/data/BitcoinSegwitAddress.js +26 -0
  70. package/v1/data/BitcoinSegwitAddress.js.map +1 -0
  71. package/v1/index.d.ts +20 -0
  72. package/v1/index.js +26 -0
  73. package/v1/index.js.map +1 -0
  74. package/v1/module/BitcoinModule.d.ts +8 -0
  75. package/v1/module/BitcoinModule.js +86 -0
  76. package/v1/module/BitcoinModule.js.map +1 -0
  77. package/v1/module/BitcoinSegwitModule.d.ts +8 -0
  78. package/v1/module/BitcoinSegwitModule.js +87 -0
  79. package/v1/module/BitcoinSegwitModule.js.map +1 -0
  80. package/v1/protocol/BitcoinCryptoClient.d.ts +12 -0
  81. package/v1/protocol/BitcoinCryptoClient.js +96 -0
  82. package/v1/protocol/BitcoinCryptoClient.js.map +1 -0
  83. package/v1/protocol/BitcoinProtocol.d.ts +68 -0
  84. package/v1/protocol/BitcoinProtocol.js +1198 -0
  85. package/v1/protocol/BitcoinProtocol.js.map +1 -0
  86. package/v1/protocol/BitcoinSegwitProtocol.d.ts +51 -0
  87. package/v1/protocol/BitcoinSegwitProtocol.js +734 -0
  88. package/v1/protocol/BitcoinSegwitProtocol.js.map +1 -0
  89. package/v1/protocol/BitcoinTestnetProtocol.d.ts +11 -0
  90. package/v1/protocol/BitcoinTestnetProtocol.js +67 -0
  91. package/v1/protocol/BitcoinTestnetProtocol.js.map +1 -0
  92. package/v1/serializer/v3/schemas/converter/transaction-converter.d.ts +13 -0
  93. package/v1/serializer/v3/schemas/converter/transaction-converter.js +54 -0
  94. package/v1/serializer/v3/schemas/converter/transaction-converter.js.map +1 -0
  95. package/v1/serializer/v3/schemas/definitions/transaction-sign-request-bitcoin-segwit.d.ts +4 -0
  96. package/v1/serializer/v3/schemas/definitions/transaction-sign-request-bitcoin-segwit.js +3 -0
  97. package/v1/serializer/v3/schemas/definitions/transaction-sign-request-bitcoin-segwit.js.map +1 -0
  98. package/v1/serializer/v3/schemas/definitions/transaction-sign-request-bitcoin.d.ts +4 -0
  99. package/v1/serializer/v3/schemas/definitions/transaction-sign-request-bitcoin.js +3 -0
  100. package/v1/serializer/v3/schemas/definitions/transaction-sign-request-bitcoin.js.map +1 -0
  101. package/v1/serializer/v3/schemas/definitions/transaction-sign-response-bitcoin-segwit.d.ts +3 -0
  102. package/v1/serializer/v3/schemas/definitions/transaction-sign-response-bitcoin-segwit.js +3 -0
  103. package/v1/serializer/v3/schemas/definitions/transaction-sign-response-bitcoin-segwit.js.map +1 -0
  104. package/v1/serializer/v3/schemas/definitions/transaction-sign-response-bitcoin.d.ts +7 -0
  105. package/v1/serializer/v3/schemas/definitions/transaction-sign-response-bitcoin.js +3 -0
  106. package/v1/serializer/v3/schemas/definitions/transaction-sign-response-bitcoin.js.map +1 -0
  107. package/v1/serializer/v3/schemas/generated/transaction-sign-request-bitcoin-segwit.json +36 -0
  108. package/v1/serializer/v3/schemas/generated/transaction-sign-request-bitcoin.json +86 -0
  109. package/v1/serializer/v3/schemas/generated/transaction-sign-response-bitcoin-segwit.json +19 -0
  110. package/v1/serializer/v3/schemas/generated/transaction-sign-response-bitcoin.json +37 -0
  111. package/v1/serializer/v3/validators/transaction-validators.d.ts +10 -0
  112. package/v1/serializer/v3/validators/transaction-validators.js +65 -0
  113. package/v1/serializer/v3/validators/transaction-validators.js.map +1 -0
  114. package/v1/serializer/v3/validators/validators.d.ts +7 -0
  115. package/v1/serializer/v3/validators/validators.js +254 -0
  116. package/v1/serializer/v3/validators/validators.js.map +1 -0
  117. package/v1/types/bitcoinjs.d.ts +14 -0
  118. package/v1/types/bitcoinjs.js +3 -0
  119. package/v1/types/bitcoinjs.js.map +1 -0
  120. package/v1/types/indexer.d.ts +81 -0
  121. package/v1/types/indexer.js +3 -0
  122. package/v1/types/indexer.js.map +1 -0
  123. package/v1/types/key.d.ts +6 -0
  124. package/v1/types/key.js +3 -0
  125. package/v1/types/key.js.map +1 -0
  126. package/v1/types/protocol.d.ts +17 -0
  127. package/v1/types/protocol.js +3 -0
  128. package/v1/types/protocol.js.map +1 -0
  129. package/v1/types/transaction.d.ts +39 -0
  130. package/v1/types/transaction.js +3 -0
  131. package/v1/types/transaction.js.map +1 -0
  132. package/v1/utils/common.d.ts +2 -0
  133. package/v1/utils/common.js +28 -0
  134. package/v1/utils/common.js.map +1 -0
  135. package/v1/utils/key.d.ts +12 -0
  136. package/v1/utils/key.js +157 -0
  137. package/v1/utils/key.js.map +1 -0
  138. package/v1/utils/network.d.ts +2 -0
  139. package/v1/utils/network.js +22 -0
  140. package/v1/utils/network.js.map +1 -0
  141. package/v1/utils/signature.d.ts +2 -0
  142. package/v1/utils/signature.js +34 -0
  143. package/v1/utils/signature.js.map +1 -0
  144. package/protocol/BitcoinAddress.js.map +0 -1
  145. package/protocol/BitcoinCryptoClient.js.map +0 -1
  146. package/protocol/BitcoinProtocol.js.map +0 -1
  147. package/protocol/BitcoinProtocolOptions.js.map +0 -1
  148. package/protocol/BitcoinSegwitAddress.js.map +0 -1
  149. package/protocol/BitcoinSegwitProtocol.js.map +0 -1
  150. package/protocol/BitcoinTestnetProtocol.js.map +0 -1
  151. package/protocol/BitcoinTypes.js.map +0 -1
  152. package/types/signed-transaction-bitcoin-segwit.d.ts +0 -5
  153. package/types/signed-transaction-bitcoin-segwit.js.map +0 -1
  154. package/types/signed-transaction-bitcoin.d.ts +0 -9
  155. package/types/signed-transaction-bitcoin.js.map +0 -1
  156. package/types/transaction-bitcoin.js.map +0 -1
  157. package/types/unsigned-transaction-bitcoin-segwit.d.ts +0 -7
  158. package/types/unsigned-transaction-bitcoin-segwit.js.map +0 -1
  159. package/types/unsigned-transaction-bitcoin.js.map +0 -1
@@ -0,0 +1,68 @@
1
+ import { Address, AirGapProtocol, AirGapTransaction, AirGapTransactionsWithCursor, Amount, Balance, ExtendedKeyPair, ExtendedPublicKey, ExtendedSecretKey, FeeDefaults, KeyPair, ProtocolMetadata, ProtocolUnitsMetadata, PublicKey, RecursivePartial, Secret, SecretKey, Signature, SignedTransaction, TransactionConfiguration, TransactionDetails, UnsignedTransaction } from '@airgap/module-kit';
2
+ import { BitcoinJS } from '../types/bitcoinjs';
3
+ import { BitcoinProtocolNetwork, BitcoinProtocolOptions, BitcoinStandardProtocolNetwork, BitcoinUnits } from '../types/protocol';
4
+ import { BitcoinSignedTransaction, BitcoinTransactionCursor, BitcoinUnsignedTransaction } from '../types/transaction';
5
+ export interface BitcoinProtocol<_SignedTransaction extends SignedTransaction = BitcoinSignedTransaction, _UnsignedTransaction extends UnsignedTransaction = BitcoinUnsignedTransaction> extends AirGapProtocol<{
6
+ AddressResult: Address;
7
+ ProtocolNetwork: BitcoinProtocolNetwork;
8
+ SignedTransaction: _SignedTransaction;
9
+ TransactionCursor: BitcoinTransactionCursor;
10
+ Units: BitcoinUnits;
11
+ FeeEstimation: FeeDefaults<BitcoinUnits>;
12
+ UnsignedTransaction: _UnsignedTransaction;
13
+ }, 'Bip32', 'Crypto', 'FetchDataForAddress', 'FetchDataForMultipleAddresses'> {
14
+ }
15
+ export declare class BitcoinProtocolImpl implements BitcoinProtocol {
16
+ private readonly options;
17
+ private readonly cryptoClient;
18
+ readonly bitcoinJS: BitcoinJS;
19
+ constructor(options?: RecursivePartial<BitcoinProtocolOptions>, bitcoinJS?: any, bitcoinJSMessage?: any);
20
+ readonly units: ProtocolUnitsMetadata<BitcoinUnits>;
21
+ readonly feeDefaults: FeeDefaults<BitcoinUnits>;
22
+ readonly metadata: ProtocolMetadata<BitcoinUnits>;
23
+ getMetadata(): Promise<ProtocolMetadata<BitcoinUnits>>;
24
+ getAddressFromPublicKey(publicKey: PublicKey | ExtendedPublicKey): Promise<string>;
25
+ private getAddressFromNonExtendedPublicKey;
26
+ private getAddressFromExtendedPublicKey;
27
+ deriveFromExtendedPublicKey(extendedPublicKey: ExtendedPublicKey, visibilityIndex: number, addressIndex: number): Promise<PublicKey>;
28
+ getDetailsFromTransaction(transaction: BitcoinSignedTransaction | BitcoinUnsignedTransaction, _publicKey: PublicKey | ExtendedPublicKey): Promise<AirGapTransaction<BitcoinUnits>[]>;
29
+ private getDetailsFromSignedTransaction;
30
+ private getDetailsFromUnsignedTransaction;
31
+ verifyMessageWithPublicKey(message: string, signature: Signature, publicKey: ExtendedPublicKey | PublicKey): Promise<boolean>;
32
+ encryptAsymmetricWithPublicKey(payload: string, publicKey: ExtendedPublicKey | PublicKey): Promise<string>;
33
+ getKeyPairFromSecret(secret: Secret, derivationPath?: string): Promise<KeyPair>;
34
+ private getKeyPairFromHexSecret;
35
+ private getKeyPairFromMnemonic;
36
+ getExtendedKeyPairFromSecret(secret: Secret, derivationPath?: string): Promise<ExtendedKeyPair>;
37
+ private getExtendedKeyPairFromHexSecret;
38
+ private getExtendedKeyPairFromMnemonic;
39
+ signTransactionWithSecretKey(transaction: BitcoinUnsignedTransaction, secretKey: SecretKey | ExtendedSecretKey): Promise<BitcoinSignedTransaction>;
40
+ private signTransactionWithNonExtendedSecretKey;
41
+ private signTransactionWithExtendedSecretKey;
42
+ private createSignedTransaction;
43
+ signMessageWithKeyPair(message: string, keyPair: ExtendedKeyPair | KeyPair): Promise<Signature>;
44
+ decryptAsymmetricWithKeyPair(payload: string, keyPair: ExtendedKeyPair | KeyPair): Promise<string>;
45
+ encryptAESWithSecretKey(payload: string, secretKey: SecretKey | ExtendedSecretKey): Promise<string>;
46
+ decryptAESWithSecretKey(payload: string, secretKey: SecretKey | ExtendedSecretKey): Promise<string>;
47
+ getNetwork(): Promise<BitcoinProtocolNetwork>;
48
+ getTransactionsForPublicKey(publicKey: ExtendedPublicKey | PublicKey, limit: number, cursor?: BitcoinTransactionCursor): Promise<AirGapTransactionsWithCursor<BitcoinTransactionCursor, BitcoinUnits>>;
49
+ private getTransactionsForNonExtendedPublicKey;
50
+ private getTransactionsForExtendedPublicKey;
51
+ getTransactionsForAddress(address: string, limit: number, cursor?: BitcoinTransactionCursor): Promise<AirGapTransactionsWithCursor<BitcoinTransactionCursor, BitcoinUnits>>;
52
+ getTransactionsForAddresses(addresses: string[], limit: number, cursor?: BitcoinTransactionCursor): Promise<AirGapTransactionsWithCursor<BitcoinTransactionCursor, BitcoinUnits>>;
53
+ getBalanceOfPublicKey(publicKey: ExtendedPublicKey | PublicKey): Promise<Balance<BitcoinUnits>>;
54
+ private getBalanceOfNonExtendedPublicKey;
55
+ private getBalanceOfExtendedPublicKey;
56
+ getBalanceOfAddress(address: string): Promise<Balance<BitcoinUnits>>;
57
+ getBalanceOfAddresses(addresses: string[]): Promise<Balance<BitcoinUnits>>;
58
+ getTransactionMaxAmountWithPublicKey(publicKey: ExtendedPublicKey | PublicKey, to: string[], configuration?: TransactionConfiguration<BitcoinUnits>): Promise<Amount<BitcoinUnits>>;
59
+ getTransactionFeeWithPublicKey(publicKey: ExtendedPublicKey | PublicKey, details: TransactionDetails<BitcoinUnits>[]): Promise<FeeDefaults<BitcoinUnits>>;
60
+ prepareTransactionWithPublicKey(publicKey: ExtendedPublicKey | PublicKey, details: TransactionDetails<BitcoinUnits>[], configuration?: TransactionConfiguration<BitcoinUnits>): Promise<BitcoinUnsignedTransaction>;
61
+ private prepareTransactionWithNonExtendedPublicKey;
62
+ private prepareTransactionWithExtendedPublicKey;
63
+ broadcastTransaction(transaction: BitcoinSignedTransaction): Promise<string>;
64
+ protected convertExtendedPublicKey(extendedPublicKey: ExtendedPublicKey, targetFormat: ExtendedPublicKey['format']): ExtendedPublicKey;
65
+ }
66
+ export declare function createBitcoinProtocol(options?: RecursivePartial<BitcoinProtocolOptions>): BitcoinProtocol;
67
+ export declare const BITCOIN_MAINNET_PROTOCOL_NETWORK: BitcoinStandardProtocolNetwork;
68
+ export declare function createBitcoinProtocolOptions(network?: Partial<BitcoinProtocolNetwork>): BitcoinProtocolOptions;