@airgap/bitcoin 0.13.42 → 0.13.43-beta.0

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 (32) hide show
  1. package/package.json +5 -5
  2. package/v1/data/BitcoinLegacyAddress.d.ts +9 -0
  3. package/v1/data/BitcoinLegacyAddress.js +25 -0
  4. package/v1/data/BitcoinLegacyAddress.js.map +1 -0
  5. package/v1/index.d.ts +7 -4
  6. package/v1/index.js +3 -1
  7. package/v1/index.js.map +1 -1
  8. package/v1/module/BitcoinModule.js +3 -1
  9. package/v1/module/BitcoinModule.js.map +1 -1
  10. package/v1/protocol/BitcoinLegacyProtocol.d.ts +56 -0
  11. package/v1/protocol/BitcoinLegacyProtocol.js +861 -0
  12. package/v1/protocol/BitcoinLegacyProtocol.js.map +1 -0
  13. package/v1/protocol/BitcoinProtocol.js +1 -0
  14. package/v1/protocol/BitcoinProtocol.js.map +1 -1
  15. package/v1/protocol/BitcoinSegwitProtocol.js +5 -0
  16. package/v1/protocol/BitcoinSegwitProtocol.js.map +1 -1
  17. package/v1/serializer/v3/schemas/converter/transaction-converter.d.ts +6 -0
  18. package/v1/serializer/v3/schemas/converter/transaction-converter.js +22 -1
  19. package/v1/serializer/v3/schemas/converter/transaction-converter.js.map +1 -1
  20. package/v1/serializer/v3/schemas/definitions/transaction-sign-request-bitcoin-legacy.d.ts +4 -0
  21. package/v1/serializer/v3/schemas/definitions/transaction-sign-request-bitcoin-legacy.js +3 -0
  22. package/v1/serializer/v3/schemas/definitions/transaction-sign-request-bitcoin-legacy.js.map +1 -0
  23. package/v1/serializer/v3/schemas/definitions/transaction-sign-response-bitcoin-legacy.d.ts +3 -0
  24. package/v1/serializer/v3/schemas/definitions/transaction-sign-response-bitcoin-legacy.js +3 -0
  25. package/v1/serializer/v3/schemas/definitions/transaction-sign-response-bitcoin-legacy.js.map +1 -0
  26. package/v1/serializer/v3/schemas/generated/transaction-sign-request-bitcoin-legacy.json +29 -0
  27. package/v1/serializer/v3/schemas/generated/transaction-sign-response-bitcoin-legacy.json +19 -0
  28. package/v1/serializer/v3/serializer-companion.d.ts +0 -1
  29. package/v1/serializer/v3/serializer-companion.js +50 -50
  30. package/v1/serializer/v3/serializer-companion.js.map +1 -1
  31. package/v1/types/bitcoinjs.d.ts +6 -0
  32. package/v1/types/transaction.d.ts +10 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@airgap/bitcoin",
3
- "version": "0.13.42",
3
+ "version": "0.13.43-beta.0",
4
4
  "description": "The @airgap/bitcoin is a Bitcoin implementation of the ICoinProtocol interface from @airgap/coinlib-core.",
5
5
  "keywords": [
6
6
  "airgap",
@@ -30,10 +30,10 @@
30
30
  },
31
31
  "author": "Papers AG <contact@papers.ch> (https://papers.ch)",
32
32
  "dependencies": {
33
- "@airgap/coinlib-core": "^0.13.42",
34
- "@airgap/crypto": "^0.13.42",
35
- "@airgap/module-kit": "^0.13.42",
36
- "@airgap/serializer": "^0.13.42",
33
+ "@airgap/coinlib-core": "^0.13.43-beta.0",
34
+ "@airgap/crypto": "^0.13.43-beta.0",
35
+ "@airgap/module-kit": "^0.13.43-beta.0",
36
+ "@airgap/serializer": "^0.13.43-beta.0",
37
37
  "@bitcoinerlab/secp256k1": "1.2.0",
38
38
  "bip32": "5.0.0-rc.0",
39
39
  "bitcoinjs-lib": "6.1.7"
@@ -0,0 +1,9 @@
1
+ import type * as bitcoin from 'bitcoinjs-lib';
2
+ import { BIP32Interface } from 'bip32';
3
+ export declare class BitcoinLegacyAddress {
4
+ protected readonly value: string;
5
+ private constructor();
6
+ static fromBip32(bip32: BIP32Interface): BitcoinLegacyAddress;
7
+ static fromPayment(payment: bitcoin.Payment): BitcoinLegacyAddress;
8
+ asString(): string;
9
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BitcoinLegacyAddress = void 0;
4
+ var coinlib_core_1 = require("@airgap/coinlib-core");
5
+ var errors_1 = require("@airgap/coinlib-core/errors");
6
+ var BitcoinLegacyAddress = /** @class */ (function () {
7
+ function BitcoinLegacyAddress(value) {
8
+ this.value = value;
9
+ }
10
+ BitcoinLegacyAddress.fromBip32 = function (bip32) {
11
+ return new BitcoinLegacyAddress(bip32.toBase58());
12
+ };
13
+ BitcoinLegacyAddress.fromPayment = function (payment) {
14
+ if (payment.address === undefined) {
15
+ throw new errors_1.UnsupportedError(coinlib_core_1.Domain.BITCOIN, 'Could not generate address.');
16
+ }
17
+ return new BitcoinLegacyAddress(payment.address);
18
+ };
19
+ BitcoinLegacyAddress.prototype.asString = function () {
20
+ return this.value;
21
+ };
22
+ return BitcoinLegacyAddress;
23
+ }());
24
+ exports.BitcoinLegacyAddress = BitcoinLegacyAddress;
25
+ //# sourceMappingURL=BitcoinLegacyAddress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BitcoinLegacyAddress.js","sourceRoot":"","sources":["../../../src/v1/data/BitcoinLegacyAddress.ts"],"names":[],"mappings":";;;AAAA,qDAA6C;AAC7C,sDAA8D;AAI9D;IACE,8BAAuC,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IAAG,CAAC;IAE1C,8BAAS,GAAvB,UAAwB,KAAqB;QAC3C,OAAO,IAAI,oBAAoB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;IACnD,CAAC;IAEa,gCAAW,GAAzB,UAA0B,OAAwB;QAChD,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE;YACjC,MAAM,IAAI,yBAAgB,CAAC,qBAAM,CAAC,OAAO,EAAE,6BAA6B,CAAC,CAAA;SAC1E;QAED,OAAO,IAAI,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAClD,CAAC;IAEM,uCAAQ,GAAf;QACE,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IACH,2BAAC;AAAD,CAAC,AAlBD,IAkBC;AAlBY,oDAAoB"}
package/v1/index.d.ts CHANGED
@@ -1,25 +1,28 @@
1
1
  import { BlockCypherBlockExplorer } from './block-explorer/BlockCypherBlockExplorer';
2
2
  import { BitcoinModule } from './module/BitcoinModule';
3
+ import { BitcoinLegacyProtocol, createBitcoinLegacyProtocol } from './protocol/BitcoinLegacyProtocol';
3
4
  import { BitcoinProtocol, createBitcoinProtocol, createBitcoinProtocolOptions } from './protocol/BitcoinProtocol';
4
5
  import { BitcoinSegwitProtocol, createBitcoinSegwitProtocol } from './protocol/BitcoinSegwitProtocol';
5
6
  import { BitcoinTaprootProtocol, createBitcoinTaprootProtocol } from './protocol/BitcoinTaprootProtocol';
6
7
  import { BitcoinTestnetProtocol, createBitcoinTestnetProtocol } from './protocol/BitcoinTestnetProtocol';
7
8
  import { bitcoinSignedTransactionToResponse, bitcoinTransactionSignRequestToUnsigned, bitcoinTransactionSignResponseToSigned, bitcoinUnsignedTransactionToRequest } from './serializer/v3/schemas/converter/transaction-converter';
8
9
  import { BitcoinTransactionSignRequest } from './serializer/v3/schemas/definitions/transaction-sign-request-bitcoin';
10
+ import { BitcoinLegacyTransactionSignRequest } from './serializer/v3/schemas/definitions/transaction-sign-request-bitcoin-legacy';
9
11
  import { BitcoinSegwitTransactionSignRequest } from './serializer/v3/schemas/definitions/transaction-sign-request-bitcoin-segwit';
10
12
  import { BitcoinTaprootTransactionSignRequest } from './serializer/v3/schemas/definitions/transaction-sign-request-bitcoin-taproot';
11
13
  import { BitcoinTransactionSignResponse } from './serializer/v3/schemas/definitions/transaction-sign-response-bitcoin';
12
14
  import { BitcoinSegwitTransactionSignResponse } from './serializer/v3/schemas/definitions/transaction-sign-response-bitcoin-segwit';
15
+ import { BitcoinLegacyTransactionSignResponse } from './serializer/v3/schemas/definitions/transaction-sign-response-bitcoin-legacy';
13
16
  import { BitcoinTaprootTransactionSignResponse } from './serializer/v3/schemas/definitions/transaction-sign-response-bitcoin-taproot';
14
17
  import { BitcoinTransactionValidator } from './serializer/v3/validators/transaction-validator';
15
18
  import { bitcoinValidators } from './serializer/v3/validators/validators';
16
19
  import { BitcoinCryptoConfiguration } from './types/crypto';
17
20
  import { BitcoinProtocolNetwork, BitcoinProtocolOptions, BitcoinUnits } from './types/protocol';
18
- import { BitcoinInTransaction, BitcoinOutTransaction, BitcoinSegwitSignedTransaction, BitcoinSegwitUnsignedTransaction, BitcoinTaprootSignedTransaction, BitcoinTaprootUnsignedTransaction, BitcoinSignedTransaction, BitcoinTransactionCursor, BitcoinUnsignedTransaction } from './types/transaction';
21
+ import { BitcoinInTransaction, BitcoinOutTransaction, BitcoinLegacySignedTransaction, BitcoinLegacyUnsignedTransaction, BitcoinSegwitSignedTransaction, BitcoinSegwitUnsignedTransaction, BitcoinTaprootSignedTransaction, BitcoinTaprootUnsignedTransaction, BitcoinSignedTransaction, BitcoinTransactionCursor, BitcoinUnsignedTransaction } from './types/transaction';
19
22
  import { isBitcoinProtocol, isBitcoinSegwitProtocol, isBitcoinTaprootProtocol } from './utils/protocol';
20
23
  export { BitcoinModule };
21
- export { BitcoinProtocol, BitcoinTestnetProtocol, BitcoinSegwitProtocol, BitcoinTaprootProtocol, createBitcoinProtocol, createBitcoinTestnetProtocol, createBitcoinSegwitProtocol, createBitcoinTaprootProtocol, createBitcoinProtocolOptions };
24
+ export { BitcoinProtocol, BitcoinTestnetProtocol, BitcoinLegacyProtocol, BitcoinSegwitProtocol, BitcoinTaprootProtocol, createBitcoinProtocol, createBitcoinLegacyProtocol, createBitcoinTestnetProtocol, createBitcoinSegwitProtocol, createBitcoinTaprootProtocol, createBitcoinProtocolOptions };
22
25
  export { BlockCypherBlockExplorer };
23
- export { BitcoinCryptoConfiguration, BitcoinUnits, BitcoinProtocolNetwork, BitcoinProtocolOptions, BitcoinUnsignedTransaction, BitcoinSignedTransaction, BitcoinSegwitUnsignedTransaction, BitcoinSegwitSignedTransaction, BitcoinTaprootUnsignedTransaction, BitcoinTaprootSignedTransaction, BitcoinInTransaction, BitcoinOutTransaction, BitcoinTransactionCursor };
24
- export { BitcoinTransactionSignRequest, BitcoinTransactionSignResponse, BitcoinSegwitTransactionSignRequest, BitcoinTaprootTransactionSignRequest, BitcoinSegwitTransactionSignResponse, BitcoinTaprootTransactionSignResponse, BitcoinTransactionValidator, bitcoinValidators, bitcoinUnsignedTransactionToRequest, bitcoinSignedTransactionToResponse, bitcoinTransactionSignRequestToUnsigned, bitcoinTransactionSignResponseToSigned };
26
+ export { BitcoinCryptoConfiguration, BitcoinUnits, BitcoinProtocolNetwork, BitcoinProtocolOptions, BitcoinUnsignedTransaction, BitcoinSignedTransaction, BitcoinLegacyUnsignedTransaction, BitcoinLegacySignedTransaction, BitcoinSegwitUnsignedTransaction, BitcoinSegwitSignedTransaction, BitcoinTaprootUnsignedTransaction, BitcoinTaprootSignedTransaction, BitcoinInTransaction, BitcoinOutTransaction, BitcoinTransactionCursor };
27
+ export { BitcoinTransactionSignRequest, BitcoinTransactionSignResponse, BitcoinLegacyTransactionSignRequest, BitcoinSegwitTransactionSignRequest, BitcoinTaprootTransactionSignRequest, BitcoinLegacyTransactionSignResponse, BitcoinSegwitTransactionSignResponse, BitcoinTaprootTransactionSignResponse, BitcoinTransactionValidator, bitcoinValidators, bitcoinUnsignedTransactionToRequest, bitcoinSignedTransactionToResponse, bitcoinTransactionSignRequestToUnsigned, bitcoinTransactionSignResponseToSigned };
25
28
  export { isBitcoinProtocol, isBitcoinSegwitProtocol, isBitcoinTaprootProtocol };
package/v1/index.js CHANGED
@@ -1,10 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isBitcoinTaprootProtocol = exports.isBitcoinSegwitProtocol = exports.isBitcoinProtocol = exports.bitcoinTransactionSignResponseToSigned = exports.bitcoinTransactionSignRequestToUnsigned = exports.bitcoinSignedTransactionToResponse = exports.bitcoinUnsignedTransactionToRequest = exports.bitcoinValidators = exports.BitcoinTransactionValidator = exports.BlockCypherBlockExplorer = exports.createBitcoinProtocolOptions = exports.createBitcoinTaprootProtocol = exports.createBitcoinSegwitProtocol = exports.createBitcoinTestnetProtocol = exports.createBitcoinProtocol = exports.BitcoinModule = void 0;
3
+ exports.isBitcoinTaprootProtocol = exports.isBitcoinSegwitProtocol = exports.isBitcoinProtocol = exports.bitcoinTransactionSignResponseToSigned = exports.bitcoinTransactionSignRequestToUnsigned = exports.bitcoinSignedTransactionToResponse = exports.bitcoinUnsignedTransactionToRequest = exports.bitcoinValidators = exports.BitcoinTransactionValidator = exports.BlockCypherBlockExplorer = exports.createBitcoinProtocolOptions = exports.createBitcoinTaprootProtocol = exports.createBitcoinSegwitProtocol = exports.createBitcoinTestnetProtocol = exports.createBitcoinLegacyProtocol = exports.createBitcoinProtocol = exports.BitcoinModule = void 0;
4
4
  var BlockCypherBlockExplorer_1 = require("./block-explorer/BlockCypherBlockExplorer");
5
5
  Object.defineProperty(exports, "BlockCypherBlockExplorer", { enumerable: true, get: function () { return BlockCypherBlockExplorer_1.BlockCypherBlockExplorer; } });
6
6
  var BitcoinModule_1 = require("./module/BitcoinModule");
7
7
  Object.defineProperty(exports, "BitcoinModule", { enumerable: true, get: function () { return BitcoinModule_1.BitcoinModule; } });
8
+ var BitcoinLegacyProtocol_1 = require("./protocol/BitcoinLegacyProtocol");
9
+ Object.defineProperty(exports, "createBitcoinLegacyProtocol", { enumerable: true, get: function () { return BitcoinLegacyProtocol_1.createBitcoinLegacyProtocol; } });
8
10
  var BitcoinProtocol_1 = require("./protocol/BitcoinProtocol");
9
11
  Object.defineProperty(exports, "createBitcoinProtocol", { enumerable: true, get: function () { return BitcoinProtocol_1.createBitcoinProtocol; } });
10
12
  Object.defineProperty(exports, "createBitcoinProtocolOptions", { enumerable: true, get: function () { return BitcoinProtocol_1.createBitcoinProtocolOptions; } });
package/v1/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/v1/index.ts"],"names":[],"mappings":";;;AAAA,sFAAoF;AAuD3E,yGAvDA,mDAAwB,OAuDA;AAtDjC,wDAAsD;AAoC7C,8FApCA,6BAAa,OAoCA;AAnCtB,8DAAiH;AA4C/G,sGA5CwB,uCAAqB,OA4CxB;AAIrB,6GAhD+C,8CAA4B,OAgD/C;AA/C9B,0EAAqG;AA6CnG,4GA7C8B,mDAA2B,OA6C9B;AA5C7B,4EAAwG;AA6CtG,6GA7C+B,qDAA4B,OA6C/B;AA5C9B,4EAAwG;AA0CtG,6GA1C+B,qDAA4B,OA0C/B;AAzC9B,iGAKgE;AA4E9D,mHAhFA,0DAAkC,OAgFA;AAClC,wHAhFA,+DAAuC,OAgFA;AACvC,uHAhFA,8DAAsC,OAgFA;AAHtC,oHA5EA,2DAAmC,OA4EA;AApErC,0FAA8F;AAkE5F,4GAlEO,mDAA2B,OAkEP;AAjE7B,oEAAyE;AAkEvE,kGAlEO,8BAAiB,OAkEP;AApDnB,6CAAuG;AA6D9F,kGA7DA,4BAAiB,OA6DA;AAAE,wGA7DA,kCAAuB,OA6DA;AAAE,yGA7DA,mCAAwB,OA6DA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/v1/index.ts"],"names":[],"mappings":";;;AAAA,sFAAoF;AA8D3E,yGA9DA,mDAAwB,OA8DA;AA7DjC,wDAAsD;AAyC7C,8FAzCA,6BAAa,OAyCA;AAxCtB,0EAAqG;AAmDnG,4GAnD8B,mDAA2B,OAmD9B;AAlD7B,8DAAiH;AAiD/G,sGAjDwB,uCAAqB,OAiDxB;AAKrB,6GAtD+C,8CAA4B,OAsD/C;AArD9B,0EAAqG;AAmDnG,4GAnD8B,mDAA2B,OAmD9B;AAlD7B,4EAAwG;AAmDtG,6GAnD+B,qDAA4B,OAmD/B;AAlD9B,4EAAwG;AAgDtG,6GAhD+B,qDAA4B,OAgD/B;AA/C9B,iGAKgE;AAsF9D,mHA1FA,0DAAkC,OA0FA;AAClC,wHA1FA,+DAAuC,OA0FA;AACvC,uHA1FA,8DAAsC,OA0FA;AAHtC,oHAtFA,2DAAmC,OAsFA;AA5ErC,0FAA8F;AA0E5F,4GA1EO,mDAA2B,OA0EP;AAzE7B,oEAAyE;AA0EvE,kGA1EO,8BAAiB,OA0EP;AA1DnB,6CAAuG;AAmE9F,kGAnEA,4BAAiB,OAmEA;AAAE,wGAnEA,kCAAuB,OAmEA;AAAE,yGAnEA,mCAAwB,OAmEA"}
@@ -41,10 +41,12 @@ var coinlib_core_1 = require("@airgap/coinlib-core");
41
41
  var errors_1 = require("@airgap/coinlib-core/errors");
42
42
  var module_kit_1 = require("@airgap/module-kit");
43
43
  var BlockCypherBlockExplorer_1 = require("../block-explorer/BlockCypherBlockExplorer");
44
+ // import { BITCOIN_MAINNET_PROTOCOL_NETWORK, createBitcoinProtocol } from '../protocol/BitcoinProtocol'
44
45
  var BitcoinProtocol_1 = require("../protocol/BitcoinProtocol");
45
46
  var BitcoinSegwitProtocol_1 = require("../protocol/BitcoinSegwitProtocol");
46
47
  var BitcoinTaprootProtocol_1 = require("../protocol/BitcoinTaprootProtocol");
47
48
  var serializer_companion_1 = require("../serializer/v3/serializer-companion");
49
+ var BitcoinLegacyProtocol_1 = require("../protocol/BitcoinLegacyProtocol");
48
50
  var BitcoinModule = /** @class */ (function () {
49
51
  function BitcoinModule() {
50
52
  var _a;
@@ -101,7 +103,7 @@ var BitcoinModule = /** @class */ (function () {
101
103
  BitcoinModule.prototype.createProtocol = function (identifier, network) {
102
104
  switch (identifier) {
103
105
  case coinlib_core_1.MainProtocolSymbols.BTC:
104
- return (0, BitcoinProtocol_1.createBitcoinProtocol)({ network: network });
106
+ return (0, BitcoinLegacyProtocol_1.createBitcoinLegacyProtocol)({ network: network });
105
107
  case coinlib_core_1.MainProtocolSymbols.BTC_SEGWIT:
106
108
  return (0, BitcoinSegwitProtocol_1.createBitcoinSegwitProtocol)({ network: network });
107
109
  case coinlib_core_1.MainProtocolSymbols.BTC_TAPROOT:
@@ -1 +1 @@
1
- {"version":3,"file":"BitcoinModule.js","sourceRoot":"","sources":["../../../src/v1/module/BitcoinModule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAAkE;AAClE,sDAAqE;AACrE,iDAW2B;AAE3B,uFAAqF;AACrF,+DAAqG;AACrG,2EAA+E;AAC/E,6EAAiF;AACjF,8EAAoF;AAKpF;IAIE;;QACE,IAAM,eAAe,GAA0B,IAAI,kCAAqB,CAAC;YACvE,iBAAiB,EAAE,CAAC,kDAAgC,CAAC;SACtD,CAAC,CAAA;QACF,IAAI,CAAC,iBAAiB;YACpB,GAAC,kCAAmB,CAAC,GAAG,IAAG,eAAe;YAC1C,GAAC,kCAAmB,CAAC,UAAU,IAAG,eAAe;YACjD,GAAC,kCAAmB,CAAC,WAAW,IAAG,eAAe;eACnD,CAAA;QACD,IAAI,CAAC,kBAAkB,GAAG,IAAA,qCAAwB,EAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAC5E,CAAC;IAEY,6CAAqB,GAAlC,UAAmC,UAA8B;;;gBAC/D,sBAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,EAAA;;;KACvC;IAEY,4CAAoB,GAAjC,UACE,UAA8B,EAC9B,WAA6C;;;;;gBAEvC,OAAO,GACX,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAA,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,0CAAE,WAAW,CAAC,WAAW,CAAC,CAAA;gBAE9G,IAAI,OAAO,KAAK,SAAS,EAAE;oBACzB,MAAM,IAAI,gCAAuB,CAAC,qBAAM,CAAC,OAAO,EAAE,iCAAiC,CAAC,CAAA;iBACrF;gBAED,sBAAO,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,EAAA;;;KAChD;IAEY,2CAAmB,GAAhC,UACE,UAA8B,EAC9B,WAA6C;;;;;gBAEvC,OAAO,GACX,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAA,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,0CAAE,WAAW,CAAC,WAAW,CAAC,CAAA;gBAE9G,IAAI,OAAO,KAAK,SAAS,EAAE;oBACzB,MAAM,IAAI,gCAAuB,CAAC,qBAAM,CAAC,OAAO,EAAE,uCAAuC,CAAC,CAAA;iBAC3F;gBAED,sBAAO,IAAI,mDAAwB,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAA;;;KAC9D;IAEY,mDAA2B,GAAxC;;;gBACE,sBAAO,IAAI,mDAA4B,EAAE,EAAA;;;KAC1C;IAEO,sCAAc,GAAtB,UAAuB,UAA8B,EAAE,OAAyB;QAC9E,QAAQ,UAAU,EAAE;YAClB,KAAK,kCAAmB,CAAC,GAAG;gBAC1B,OAAO,IAAA,uCAAqB,EAAC,EAAE,OAAO,SAAA,EAAE,CAAC,CAAA;YAC3C,KAAK,kCAAmB,CAAC,UAAU;gBACjC,OAAO,IAAA,mDAA2B,EAAC,EAAE,OAAO,SAAA,EAAE,CAAC,CAAA;YACjD,KAAK,kCAAmB,CAAC,WAAW;gBAClC,OAAO,IAAA,qDAA4B,EAAC,EAAE,OAAO,SAAA,EAAE,CAAC,CAAA;YAClD;gBACE,MAAM,IAAI,gCAAuB,CAAC,qBAAM,CAAC,OAAO,EAAE,mBAAY,UAAU,oBAAiB,CAAC,CAAA;SAC7F;IACH,CAAC;IACH,oBAAC;AAAD,CAAC,AAhED,IAgEC;AAhEY,sCAAa"}
1
+ {"version":3,"file":"BitcoinModule.js","sourceRoot":"","sources":["../../../src/v1/module/BitcoinModule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAAkE;AAClE,sDAAqE;AACrE,iDAW2B;AAE3B,uFAAqF;AACrF,wGAAwG;AACxG,+DAA8E;AAC9E,2EAA+E;AAC/E,6EAAiF;AACjF,8EAAoF;AAEpF,2EAA+E;AAI/E;IAIE;;QACE,IAAM,eAAe,GAA0B,IAAI,kCAAqB,CAAC;YACvE,iBAAiB,EAAE,CAAC,kDAAgC,CAAC;SACtD,CAAC,CAAA;QACF,IAAI,CAAC,iBAAiB;YACpB,GAAC,kCAAmB,CAAC,GAAG,IAAG,eAAe;YAC1C,GAAC,kCAAmB,CAAC,UAAU,IAAG,eAAe;YACjD,GAAC,kCAAmB,CAAC,WAAW,IAAG,eAAe;eACnD,CAAA;QACD,IAAI,CAAC,kBAAkB,GAAG,IAAA,qCAAwB,EAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAC5E,CAAC;IAEY,6CAAqB,GAAlC,UAAmC,UAA8B;;;gBAC/D,sBAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,EAAA;;;KACvC;IAEY,4CAAoB,GAAjC,UACE,UAA8B,EAC9B,WAA6C;;;;;gBAEvC,OAAO,GACX,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAA,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,0CAAE,WAAW,CAAC,WAAW,CAAC,CAAA;gBAE9G,IAAI,OAAO,KAAK,SAAS,EAAE;oBACzB,MAAM,IAAI,gCAAuB,CAAC,qBAAM,CAAC,OAAO,EAAE,iCAAiC,CAAC,CAAA;iBACrF;gBAED,sBAAO,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,EAAA;;;KAChD;IAEY,2CAAmB,GAAhC,UACE,UAA8B,EAC9B,WAA6C;;;;;gBAEvC,OAAO,GACX,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAA,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,0CAAE,WAAW,CAAC,WAAW,CAAC,CAAA;gBAE9G,IAAI,OAAO,KAAK,SAAS,EAAE;oBACzB,MAAM,IAAI,gCAAuB,CAAC,qBAAM,CAAC,OAAO,EAAE,uCAAuC,CAAC,CAAA;iBAC3F;gBAED,sBAAO,IAAI,mDAAwB,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAA;;;KAC9D;IAEY,mDAA2B,GAAxC;;;gBACE,sBAAO,IAAI,mDAA4B,EAAE,EAAA;;;KAC1C;IAEO,sCAAc,GAAtB,UAAuB,UAA8B,EAAE,OAAyB;QAC9E,QAAQ,UAAU,EAAE;YAClB,KAAK,kCAAmB,CAAC,GAAG;gBAC1B,OAAO,IAAA,mDAA2B,EAAC,EAAE,OAAO,SAAA,EAAE,CAAC,CAAA;YACjD,KAAK,kCAAmB,CAAC,UAAU;gBACjC,OAAO,IAAA,mDAA2B,EAAC,EAAE,OAAO,SAAA,EAAE,CAAC,CAAA;YACjD,KAAK,kCAAmB,CAAC,WAAW;gBAClC,OAAO,IAAA,qDAA4B,EAAC,EAAE,OAAO,SAAA,EAAE,CAAC,CAAA;YAClD;gBACE,MAAM,IAAI,gCAAuB,CAAC,qBAAM,CAAC,OAAO,EAAE,mBAAY,UAAU,oBAAiB,CAAC,CAAA;SAC7F;IACH,CAAC;IACH,oBAAC;AAAD,CAAC,AAhED,IAgEC;AAhEY,sCAAa"}
@@ -0,0 +1,56 @@
1
+ import { AirGapTransaction, AirGapTransactionsWithCursor, Amount, Balance, CryptoDerivative, ExtendedKeyPair, ExtendedPublicKey, ExtendedSecretKey, FeeDefaults, KeyPair, ProtocolMetadata, PublicKey, RecursivePartial, SecretKey, Signature, TransactionDetails, TransactionSimpleConfiguration } from '@airgap/module-kit';
2
+ import * as bitcoin from 'bitcoinjs-lib';
3
+ import { BitcoinLegacyJS } from '../types/bitcoinjs';
4
+ import { BitcoinCryptoConfiguration } from '../types/crypto';
5
+ import { BitcoinProtocolNetwork, BitcoinProtocolOptions, BitcoinUnits } from '../types/protocol';
6
+ import { BitcoinLegacySignedTransaction, BitcoinLegacyUnsignedTransaction, BitcoinTransactionCursor, LegacyTransactionFullConfiguration } from '../types/transaction';
7
+ import { BitcoinProtocol, BitcoinProtocolImpl } from './BitcoinProtocol';
8
+ export interface BitcoinLegacyProtocol extends BitcoinProtocol<BitcoinLegacySignedTransaction, BitcoinLegacyUnsignedTransaction> {
9
+ _isBitcoinProtocol: true;
10
+ prepareTransactionWithPublicKey(publicKey: PublicKey | ExtendedPublicKey, details: TransactionDetails<BitcoinUnits>[], configuration: LegacyTransactionFullConfiguration<BitcoinUnits>): Promise<BitcoinLegacyUnsignedTransaction>;
11
+ }
12
+ export declare class BitcoinLegacyProtocolImpl implements BitcoinLegacyProtocol {
13
+ readonly _isBitcoinProtocol: true;
14
+ private readonly options;
15
+ readonly bitcoinJS: BitcoinLegacyJS;
16
+ readonly legacy: BitcoinProtocolImpl;
17
+ private readonly metadata;
18
+ constructor(options?: RecursivePartial<BitcoinProtocolOptions>, bitcoinJS?: typeof bitcoin);
19
+ private readonly bip32;
20
+ getMetadata(): Promise<ProtocolMetadata<BitcoinUnits>>;
21
+ getAddressFromPublicKey(publicKey: PublicKey | ExtendedPublicKey): Promise<string>;
22
+ private getAddressFromNonExtendedPublicKey;
23
+ private getAddressFromExtendedPublicKey;
24
+ deriveFromExtendedPublicKey(extendedPublicKey: ExtendedPublicKey, visibilityIndex: number, addressIndex: number): Promise<PublicKey>;
25
+ getDetailsFromTransaction(transaction: BitcoinLegacySignedTransaction | BitcoinLegacyUnsignedTransaction, _publicKey: PublicKey | ExtendedPublicKey): Promise<AirGapTransaction<BitcoinUnits>[]>;
26
+ private getDetailsFromPSBT;
27
+ verifyMessageWithPublicKey(message: string, signature: Signature, publicKey: ExtendedPublicKey | PublicKey): Promise<boolean>;
28
+ encryptAsymmetricWithPublicKey(payload: string, publicKey: ExtendedPublicKey | PublicKey): Promise<string>;
29
+ getCryptoConfiguration(): Promise<BitcoinCryptoConfiguration>;
30
+ getKeyPairFromDerivative(derivative: CryptoDerivative): Promise<KeyPair>;
31
+ getExtendedKeyPairFromDerivative(derivative: CryptoDerivative): Promise<ExtendedKeyPair>;
32
+ deriveFromExtendedSecretKey(extendedSecretKey: ExtendedSecretKey, visibilityIndex: number, addressIndex: number): Promise<SecretKey>;
33
+ signTransactionWithSecretKey(transaction: BitcoinLegacyUnsignedTransaction, secretKey: SecretKey | ExtendedSecretKey): Promise<BitcoinLegacySignedTransaction>;
34
+ private signTransactionWithNonExtendedSecretKey;
35
+ private signTransactionWithExtendedSecretKey;
36
+ signMessageWithKeyPair(message: string, keyPair: ExtendedKeyPair | KeyPair): Promise<Signature>;
37
+ decryptAsymmetricWithKeyPair(payload: string, keyPair: ExtendedKeyPair | KeyPair): Promise<string>;
38
+ encryptAESWithSecretKey(payload: string, secretKey: SecretKey | ExtendedSecretKey): Promise<string>;
39
+ decryptAESWithSecretKey(payload: string, secretKey: SecretKey | ExtendedSecretKey): Promise<string>;
40
+ getNetwork(): Promise<BitcoinProtocolNetwork>;
41
+ getTransactionsForPublicKey(publicKey: ExtendedPublicKey | PublicKey, limit: number, cursor?: BitcoinTransactionCursor): Promise<AirGapTransactionsWithCursor<BitcoinTransactionCursor, BitcoinUnits>>;
42
+ getTransactionsForAddress(address: string, limit: number, cursor?: BitcoinTransactionCursor): Promise<AirGapTransactionsWithCursor<BitcoinTransactionCursor, BitcoinUnits>>;
43
+ getTransactionsForAddresses(addresses: string[], limit: number, cursor?: BitcoinTransactionCursor): Promise<AirGapTransactionsWithCursor<BitcoinTransactionCursor, BitcoinUnits>>;
44
+ getBalanceOfPublicKey(publicKey: ExtendedPublicKey | PublicKey): Promise<Balance<BitcoinUnits>>;
45
+ getBalanceOfAddress(address: string): Promise<Balance<BitcoinUnits>>;
46
+ getBalanceOfAddresses(addresses: string[]): Promise<Balance<BitcoinUnits>>;
47
+ getTransactionMaxAmountWithPublicKey(publicKey: ExtendedPublicKey | PublicKey, to: string[], configuration?: LegacyTransactionFullConfiguration<BitcoinUnits>): Promise<Amount<BitcoinUnits>>;
48
+ getTransactionFeeWithPublicKey(_publicKey: ExtendedPublicKey | PublicKey, _details: TransactionDetails<BitcoinUnits>[], _configuration?: TransactionSimpleConfiguration): Promise<FeeDefaults<BitcoinUnits>>;
49
+ prepareTransactionWithPublicKey(publicKey: ExtendedPublicKey | PublicKey, details: TransactionDetails<BitcoinUnits>[], configuration?: LegacyTransactionFullConfiguration<BitcoinUnits>): Promise<BitcoinLegacyUnsignedTransaction>;
50
+ private prepareTransactionWithNonExtendedPublicKey;
51
+ private prepareTransactionWithExtendedPublicKey;
52
+ broadcastTransaction(transaction: BitcoinLegacySignedTransaction): Promise<string>;
53
+ private convertCryptoDerivative;
54
+ private derivativeToBip32Node;
55
+ }
56
+ export declare function createBitcoinLegacyProtocol(options?: RecursivePartial<BitcoinProtocolOptions>): BitcoinLegacyProtocol;