@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.
- package/package.json +5 -5
- package/v1/data/BitcoinLegacyAddress.d.ts +9 -0
- package/v1/data/BitcoinLegacyAddress.js +25 -0
- package/v1/data/BitcoinLegacyAddress.js.map +1 -0
- package/v1/index.d.ts +7 -4
- package/v1/index.js +3 -1
- package/v1/index.js.map +1 -1
- package/v1/module/BitcoinModule.js +3 -1
- package/v1/module/BitcoinModule.js.map +1 -1
- package/v1/protocol/BitcoinLegacyProtocol.d.ts +56 -0
- package/v1/protocol/BitcoinLegacyProtocol.js +861 -0
- package/v1/protocol/BitcoinLegacyProtocol.js.map +1 -0
- package/v1/protocol/BitcoinProtocol.js +1 -0
- package/v1/protocol/BitcoinProtocol.js.map +1 -1
- package/v1/protocol/BitcoinSegwitProtocol.js +5 -0
- package/v1/protocol/BitcoinSegwitProtocol.js.map +1 -1
- package/v1/serializer/v3/schemas/converter/transaction-converter.d.ts +6 -0
- package/v1/serializer/v3/schemas/converter/transaction-converter.js +22 -1
- package/v1/serializer/v3/schemas/converter/transaction-converter.js.map +1 -1
- package/v1/serializer/v3/schemas/definitions/transaction-sign-request-bitcoin-legacy.d.ts +4 -0
- package/v1/serializer/v3/schemas/definitions/transaction-sign-request-bitcoin-legacy.js +3 -0
- package/v1/serializer/v3/schemas/definitions/transaction-sign-request-bitcoin-legacy.js.map +1 -0
- package/v1/serializer/v3/schemas/definitions/transaction-sign-response-bitcoin-legacy.d.ts +3 -0
- package/v1/serializer/v3/schemas/definitions/transaction-sign-response-bitcoin-legacy.js +3 -0
- package/v1/serializer/v3/schemas/definitions/transaction-sign-response-bitcoin-legacy.js.map +1 -0
- package/v1/serializer/v3/schemas/generated/transaction-sign-request-bitcoin-legacy.json +29 -0
- package/v1/serializer/v3/schemas/generated/transaction-sign-response-bitcoin-legacy.json +19 -0
- package/v1/serializer/v3/serializer-companion.d.ts +0 -1
- package/v1/serializer/v3/serializer-companion.js +50 -50
- package/v1/serializer/v3/serializer-companion.js.map +1 -1
- package/v1/types/bitcoinjs.d.ts +6 -0
- 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.
|
|
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.
|
|
34
|
-
"@airgap/crypto": "^0.13.
|
|
35
|
-
"@airgap/module-kit": "^0.13.
|
|
36
|
-
"@airgap/serializer": "^0.13.
|
|
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;
|
|
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,
|
|
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,+
|
|
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;
|