@bsv/sdk 1.1.13 → 1.1.15
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/dist/cjs/package.json +1 -1
- package/dist/cjs/src/compat/BIP39.js +272 -0
- package/dist/cjs/src/compat/BIP39.js.map +1 -0
- package/dist/cjs/src/index.js +5 -0
- package/dist/cjs/src/index.js.map +1 -0
- package/dist/cjs/src/primitives/Polynomial.js +81 -0
- package/dist/cjs/src/primitives/Polynomial.js.map +1 -0
- package/dist/cjs/src/primitives/PrivateKey.js +165 -0
- package/dist/cjs/src/primitives/PrivateKey.js.map +1 -1
- package/dist/cjs/src/primitives/index.js +5 -1
- package/dist/cjs/src/primitives/index.js.map +1 -1
- package/dist/cjs/src/script/templates/P2PKH.js.map +1 -1
- package/dist/cjs/src/script/templates/P2PKHT.js +99 -0
- package/dist/cjs/src/script/templates/P2PKHT.js.map +1 -0
- package/dist/cjs/src/script/templates/RPuzzle.js.map +1 -1
- package/dist/cjs/src/totp/converters.js +14 -0
- package/dist/cjs/src/totp/converters.js.map +1 -0
- package/dist/cjs/src/totp/pike-totp.js +75 -0
- package/dist/cjs/src/totp/pike-totp.js.map +1 -0
- package/dist/cjs/src/totp/types.js +3 -0
- package/dist/cjs/src/totp/types.js.map +1 -0
- package/dist/cjs/src/transaction/broadcasters/ARC.js +4 -4
- package/dist/cjs/src/transaction/broadcasters/ARC.js.map +1 -1
- package/dist/cjs/src/transaction/broadcasters/BRC22.js +25 -0
- package/dist/cjs/src/transaction/broadcasters/BRC22.js.map +1 -0
- package/dist/cjs/src/transaction/broadcasters/DefaultBroadcaster.js.map +1 -1
- package/dist/cjs/src/transaction/broadcasters/WhatsOnChainBroadcaster.js +3 -3
- package/dist/cjs/src/transaction/broadcasters/WhatsOnChainBroadcaster.js.map +1 -1
- package/dist/cjs/src/transaction/chaintrackers/DefaultChainTracker.js.map +1 -1
- package/dist/cjs/src/transaction/chaintrackers/WhatsOnChain.js +2 -2
- package/dist/cjs/src/transaction/chaintrackers/WhatsOnChain.js.map +1 -1
- package/dist/cjs/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -1
- package/dist/cjs/src/transaction/http/DefaultHttpClient.js +2 -2
- package/dist/cjs/src/transaction/http/DefaultHttpClient.js.map +1 -1
- package/dist/cjs/src/transaction/http/FetchHttpClient.js +2 -2
- package/dist/cjs/src/transaction/http/FetchHttpClient.js.map +1 -1
- package/dist/cjs/src/transaction/http/NodejsHttpClient.js +2 -2
- package/dist/cjs/src/transaction/http/NodejsHttpClient.js.map +1 -1
- package/dist/cjs/src/transaction/http/index.js.map +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/src/compat/BIP39.js +272 -0
- package/dist/esm/src/compat/BIP39.js.map +1 -0
- package/dist/esm/src/primitives/Polynomial.js +77 -0
- package/dist/esm/src/primitives/Polynomial.js.map +1 -0
- package/dist/esm/src/primitives/PrivateKey.js +143 -0
- package/dist/esm/src/primitives/PrivateKey.js.map +1 -1
- package/dist/esm/src/primitives/index.js +2 -1
- package/dist/esm/src/primitives/index.js.map +1 -1
- package/dist/esm/src/script/templates/P2PKH.js.map +1 -1
- package/dist/esm/src/script/templates/P2PKHT.js +96 -0
- package/dist/esm/src/script/templates/P2PKHT.js.map +1 -0
- package/dist/esm/src/script/templates/RPuzzle.js.map +1 -1
- package/dist/esm/src/totp/converters.js +9 -0
- package/dist/esm/src/totp/converters.js.map +1 -0
- package/dist/esm/src/totp/pike-totp.js +67 -0
- package/dist/esm/src/totp/pike-totp.js.map +1 -0
- package/dist/esm/src/totp/types.js +2 -0
- package/dist/esm/src/totp/types.js.map +1 -0
- package/dist/esm/src/transaction/broadcasters/ARC.js +7 -7
- package/dist/esm/src/transaction/broadcasters/ARC.js.map +1 -1
- package/dist/esm/src/transaction/broadcasters/DefaultBroadcaster.js +1 -1
- package/dist/esm/src/transaction/broadcasters/DefaultBroadcaster.js.map +1 -1
- package/dist/esm/src/transaction/broadcasters/WhatsOnChainBroadcaster.js +4 -4
- package/dist/esm/src/transaction/broadcasters/WhatsOnChainBroadcaster.js.map +1 -1
- package/dist/esm/src/transaction/chaintrackers/DefaultChainTracker.js +1 -1
- package/dist/esm/src/transaction/chaintrackers/DefaultChainTracker.js.map +1 -1
- package/dist/esm/src/transaction/chaintrackers/WhatsOnChain.js +3 -3
- package/dist/esm/src/transaction/chaintrackers/WhatsOnChain.js.map +1 -1
- package/dist/esm/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -1
- package/dist/esm/src/transaction/http/DefaultHttpClient.js +2 -2
- package/dist/esm/src/transaction/http/DefaultHttpClient.js.map +1 -1
- package/dist/esm/src/transaction/http/FetchHttpClient.js +2 -2
- package/dist/esm/src/transaction/http/FetchHttpClient.js.map +1 -1
- package/dist/esm/src/transaction/http/NodejsHttpClient.js +2 -2
- package/dist/esm/src/transaction/http/NodejsHttpClient.js.map +1 -1
- package/dist/esm/src/transaction/http/index.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/types/src/compat/BIP39.d.ts +132 -0
- package/dist/types/src/compat/BIP39.d.ts.map +1 -0
- package/dist/types/src/primitives/Polynomial.d.ts +32 -0
- package/dist/types/src/primitives/Polynomial.d.ts.map +1 -0
- package/dist/types/src/primitives/PrivateKey.d.ts +72 -0
- package/dist/types/src/primitives/PrivateKey.d.ts.map +1 -1
- package/dist/types/src/primitives/index.d.ts +2 -1
- package/dist/types/src/primitives/index.d.ts.map +1 -1
- package/dist/types/src/script/templates/P2PKH.d.ts.map +1 -1
- package/dist/types/src/script/templates/P2PKHT.d.ts +37 -0
- package/dist/types/src/script/templates/P2PKHT.d.ts.map +1 -0
- package/dist/types/src/totp/converters.d.ts +3 -0
- package/dist/types/src/totp/converters.d.ts.map +1 -0
- package/dist/types/src/totp/pike-totp.d.ts +25 -0
- package/dist/types/src/totp/pike-totp.d.ts.map +1 -0
- package/dist/types/src/totp/types.d.ts +11 -0
- package/dist/types/src/totp/types.d.ts.map +1 -0
- package/dist/types/src/transaction/broadcasters/ARC.d.ts +1 -1
- package/dist/types/src/transaction/broadcasters/ARC.d.ts.map +1 -1
- package/dist/types/src/transaction/broadcasters/DefaultBroadcaster.d.ts +1 -1
- package/dist/types/src/transaction/broadcasters/DefaultBroadcaster.d.ts.map +1 -1
- package/dist/types/src/transaction/broadcasters/WhatsOnChainBroadcaster.d.ts +1 -1
- package/dist/types/src/transaction/broadcasters/WhatsOnChainBroadcaster.d.ts.map +1 -1
- package/dist/types/src/transaction/chaintrackers/DefaultChainTracker.d.ts +1 -1
- package/dist/types/src/transaction/chaintrackers/DefaultChainTracker.d.ts.map +1 -1
- package/dist/types/src/transaction/chaintrackers/WhatsOnChain.d.ts +2 -2
- package/dist/types/src/transaction/chaintrackers/WhatsOnChain.d.ts.map +1 -1
- package/dist/types/src/transaction/fee-models/SatoshisPerKilobyte.d.ts.map +1 -1
- package/dist/types/src/transaction/http/DefaultHttpClient.d.ts.map +1 -1
- package/dist/types/src/transaction/http/FetchHttpClient.d.ts +7 -9
- package/dist/types/src/transaction/http/FetchHttpClient.d.ts.map +1 -1
- package/dist/types/src/transaction/http/HttpClient.d.ts +5 -5
- package/dist/types/src/transaction/http/HttpClient.d.ts.map +1 -1
- package/dist/types/src/transaction/http/NodejsHttpClient.d.ts +5 -6
- package/dist/types/src/transaction/http/NodejsHttpClient.d.ts.map +1 -1
- package/dist/types/src/transaction/http/index.d.ts.map +1 -1
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/docs/primitives.md +231 -16
- package/docs/transaction.md +38 -37
- package/package.json +1 -1
- package/src/compat/__tests/BSM.test.ts +37 -37
- package/src/compat/__tests/ECIES.test.ts +71 -71
- package/src/compat/__tests/HD.test.ts +362 -362
- package/src/compat/__tests/Mnemonic.test.ts +147 -148
- package/src/compat/__tests/Mnemonic.vectors.ts +170 -170
- package/src/messages/__tests/EncryptedMessage.test.ts +16 -16
- package/src/primitives/Point.ts +29 -10
- package/src/primitives/Polynomial.ts +89 -0
- package/src/primitives/PrivateKey.ts +147 -1
- package/src/primitives/PublicKey.ts +17 -2
- package/src/primitives/__tests/AESGCM.test.ts +20 -20
- package/src/primitives/__tests/Hash.test.ts +2 -2
- package/src/primitives/__tests/PBKDF2.vectors.ts +93 -93
- package/src/primitives/__tests/PrivateKey.split.test.ts +70 -0
- package/src/primitives/__tests/PublicKey.test.ts +14 -1
- package/src/primitives/__tests/bug-31.test.ts +24 -26
- package/src/primitives/__tests/utils.test.ts +13 -13
- package/src/primitives/index.ts +2 -1
- package/src/script/__tests/Script.test.ts +1 -1
- package/src/script/__tests/SpendComplex.test.ts +6 -6
- package/src/script/__tests/script.invalid.vectors.ts +1464 -1464
- package/src/script/__tests/script.valid.vectors.ts +1962 -1962
- package/src/script/__tests/spend.valid.vectors.ts +1369 -1369
- package/src/script/templates/P2PKH.ts +6 -6
- package/src/script/templates/RPuzzle.ts +1 -1
- package/src/transaction/__tests/Transaction.test.ts +5 -5
- package/src/transaction/__tests/bump.invalid.vectors.ts +1 -1
- package/src/transaction/__tests/bump.valid.vectors.ts +3 -3
- package/src/transaction/broadcasters/ARC.ts +20 -21
- package/src/transaction/broadcasters/DefaultBroadcaster.ts +3 -3
- package/src/transaction/broadcasters/WhatsOnChainBroadcaster.ts +10 -10
- package/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.ts +7 -10
- package/src/transaction/chaintrackers/DefaultChainTracker.ts +3 -3
- package/src/transaction/chaintrackers/WhatsOnChain.ts +10 -12
- package/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.ts +13 -17
- package/src/transaction/fee-models/SatoshisPerKilobyte.ts +2 -2
- package/src/transaction/http/DefaultHttpClient.ts +13 -13
- package/src/transaction/http/FetchHttpClient.ts +14 -16
- package/src/transaction/http/HttpClient.ts +22 -23
- package/src/transaction/http/NodejsHttpClient.ts +23 -25
- package/src/transaction/http/index.ts +6 -6
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const OP_js_1 = require("../OP.js");
|
|
4
|
+
const LockingScript_js_1 = require("../LockingScript.js");
|
|
5
|
+
const UnlockingScript_js_1 = require("../UnlockingScript.js");
|
|
6
|
+
const TransactionSignature_js_1 = require("../../primitives/TransactionSignature.js");
|
|
7
|
+
const Hash_js_1 = require("../../primitives/Hash.js");
|
|
8
|
+
const utils_js_1 = require("../../primitives/utils.js");
|
|
9
|
+
/**
|
|
10
|
+
* P2PKH (Pay To Public Key Hash) class implementing ScriptTemplate.
|
|
11
|
+
*
|
|
12
|
+
* This class provides methods to create Pay To Public Key Hash locking and unlocking scripts, including the unlocking of P2PKH UTXOs with the private key.
|
|
13
|
+
*/
|
|
14
|
+
class P2PKHT {
|
|
15
|
+
/**
|
|
16
|
+
* Creates a P2PKH locking script for a given public key hash.
|
|
17
|
+
*
|
|
18
|
+
* @param {number[]} pubkeyhash - An array representing the public key hash.
|
|
19
|
+
* @returns {LockingScript} - A P2PKH locking script.
|
|
20
|
+
*/
|
|
21
|
+
lock(pubkeyhash) {
|
|
22
|
+
const time = (0, utils_js_1.toArray)(Date.now().toString());
|
|
23
|
+
return new LockingScript_js_1.default([
|
|
24
|
+
{ op: time.length, data: time },
|
|
25
|
+
{ op: OP_js_1.default.OP_DROP },
|
|
26
|
+
{ op: OP_js_1.default.OP_DUP },
|
|
27
|
+
{ op: OP_js_1.default.OP_HASH160 },
|
|
28
|
+
{ op: pubkeyhash.length, data: pubkeyhash },
|
|
29
|
+
{ op: OP_js_1.default.OP_EQUALVERIFY },
|
|
30
|
+
{ op: OP_js_1.default.OP_CHECKSIG }
|
|
31
|
+
]);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Creates a function that generates a P2PKH unlocking script along with its signature and length estimation.
|
|
35
|
+
*
|
|
36
|
+
* The returned object contains:
|
|
37
|
+
* 1. `sign` - A function that, when invoked with a transaction and an input index,
|
|
38
|
+
* produces an unlocking script suitable for a P2PKH locked output.
|
|
39
|
+
* 2. `estimateLength` - A function that returns the estimated length of the unlocking script in bytes.
|
|
40
|
+
*
|
|
41
|
+
* @param {PrivateKey} privateKey - The private key used for signing the transaction.
|
|
42
|
+
* @param {'all'|'none'|'single'} signOutputs - The signature scope for outputs.
|
|
43
|
+
* @param {boolean} anyoneCanPay - Flag indicating if the signature allows for other inputs to be added later.
|
|
44
|
+
* @returns {Object} - An object containing the `sign` and `estimateLength` functions.
|
|
45
|
+
*/
|
|
46
|
+
unlock(privateKey, signOutputs = 'all', anyoneCanPay = false) {
|
|
47
|
+
return {
|
|
48
|
+
sign: async (tx, inputIndex) => {
|
|
49
|
+
let signatureScope = TransactionSignature_js_1.default.SIGHASH_FORKID;
|
|
50
|
+
if (signOutputs === 'all') {
|
|
51
|
+
signatureScope |= TransactionSignature_js_1.default.SIGHASH_ALL;
|
|
52
|
+
}
|
|
53
|
+
if (signOutputs === 'none') {
|
|
54
|
+
signatureScope |= TransactionSignature_js_1.default.SIGHASH_NONE;
|
|
55
|
+
}
|
|
56
|
+
if (signOutputs === 'single') {
|
|
57
|
+
signatureScope |= TransactionSignature_js_1.default.SIGHASH_SINGLE;
|
|
58
|
+
}
|
|
59
|
+
if (anyoneCanPay) {
|
|
60
|
+
signatureScope |= TransactionSignature_js_1.default.SIGHASH_ANYONECANPAY;
|
|
61
|
+
}
|
|
62
|
+
const otherInputs = [...tx.inputs];
|
|
63
|
+
const [input] = otherInputs.splice(inputIndex, 1);
|
|
64
|
+
if (typeof input.sourceTransaction !== 'object') {
|
|
65
|
+
// Question: Should the library support use-cases where the source transaction is not provided? This is to say, is it ever acceptable for someone to sign an input spending some output from a transaction they have not provided? Some elements (such as the satoshi value and output script) are always required. A merkle proof is also always required, and verifying it (while also verifying that the claimed output is contained within the claimed transaction) is also always required. This seems to require the entire input transaction.
|
|
66
|
+
throw new Error('The source transaction is needed for transaction signing.');
|
|
67
|
+
}
|
|
68
|
+
const preimage = TransactionSignature_js_1.default.format({
|
|
69
|
+
sourceTXID: input.sourceTransaction.id('hex'),
|
|
70
|
+
sourceOutputIndex: input.sourceOutputIndex,
|
|
71
|
+
sourceSatoshis: input.sourceTransaction.outputs[input.sourceOutputIndex].satoshis,
|
|
72
|
+
transactionVersion: tx.version,
|
|
73
|
+
otherInputs,
|
|
74
|
+
inputIndex,
|
|
75
|
+
outputs: tx.outputs,
|
|
76
|
+
inputSequence: input.sequence,
|
|
77
|
+
subscript: input.sourceTransaction.outputs[input.sourceOutputIndex].lockingScript,
|
|
78
|
+
lockTime: tx.lockTime,
|
|
79
|
+
scope: signatureScope
|
|
80
|
+
});
|
|
81
|
+
const rawSignature = privateKey.sign((0, Hash_js_1.sha256)(preimage));
|
|
82
|
+
const sig = new TransactionSignature_js_1.default(rawSignature.r, rawSignature.s, signatureScope);
|
|
83
|
+
const sigForScript = sig.toChecksigFormat();
|
|
84
|
+
const pubkeyForScript = privateKey.toPublicKey().encode(true);
|
|
85
|
+
return new UnlockingScript_js_1.default([
|
|
86
|
+
{ op: sigForScript.length, data: sigForScript },
|
|
87
|
+
{ op: pubkeyForScript.length, data: pubkeyForScript }
|
|
88
|
+
]);
|
|
89
|
+
},
|
|
90
|
+
estimateLength: async () => {
|
|
91
|
+
// public key (1+33) + signature (1+71)
|
|
92
|
+
// Note: We add 1 to each element's length because of the associated OP_PUSH
|
|
93
|
+
return 106;
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
exports.default = P2PKHT;
|
|
99
|
+
//# sourceMappingURL=P2PKHT.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"P2PKHT.js","sourceRoot":"","sources":["../../../../../src/script/templates/P2PKHT.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RPuzzle.js","sourceRoot":"","sources":["../../../../../src/script/templates/RPuzzle.ts"],"names":[],"mappings":";;;;;AAAA,qDAAyB;AAEzB,2EAA+C;AAC/C,+EAAmD;AAEnD,mFAAuD;AACvD,uGAA2E;AAC3E,sDAAiD;AAIjD;;;;GAIG;AACH,MAAqB,OAAO;IAG1B;;;;;OAKG;IACH,YAAa,OAAwE,KAAK;QAR1F,SAAI,GAAoE,KAAK,CAAA;QAS3E,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAE,KAAe;QACnB,MAAM,MAAM,GAAkB;YAC5B,EAAE,EAAE,EAAE,eAAE,CAAC,OAAO,EAAE;YAClB,EAAE,EAAE,EAAE,eAAE,CAAC,IAAI,EAAE;YACf,EAAE,EAAE,EAAE,eAAE,CAAC,QAAQ,EAAE;YACnB,EAAE,EAAE,EAAE,eAAE,CAAC,MAAM,EAAE;YACjB,EAAE,EAAE,EAAE,eAAE,CAAC,IAAI,EAAE;YACf,EAAE,EAAE,EAAE,eAAE,CAAC,QAAQ,EAAE;YACnB,EAAE,EAAE,EAAE,eAAE,CAAC,OAAO,EAAE;YAClB,EAAE,EAAE,EAAE,eAAE,CAAC,QAAQ,EAAE;YACnB,EAAE,EAAE,EAAE,eAAE,CAAC,OAAO,EAAE;SACnB,CAAA;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE;YACvB,MAAM,CAAC,IAAI,CAAC;gBACV,EAAE,EAAE,eAAE,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;aAC1B,CAAC,CAAA;SACH;QACD,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QAC9C,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,eAAE,CAAC,cAAc,EAAE,CAAC,CAAA;QACtC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,eAAE,CAAC,WAAW,EAAE,CAAC,CAAA;QACnC,OAAO,IAAI,0BAAa,CAAC,MAAM,CAAC,CAAA;IAClC,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,MAAM,CACJ,CAAY,EACZ,UAAsB,EACtB,cAAyC,KAAK,EAC9C,eAAwB,KAAK;QAK7B,OAAO;YACL,IAAI,EAAE,KAAK,EAAE,EAAe,EAAE,UAAkB,EAAE,EAAE;gBAClD,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE;oBACrC,UAAU,GAAG,uBAAU,CAAC,UAAU,EAAE,CAAA;iBACrC;gBACD,IAAI,cAAc,GAAG,iCAAoB,CAAC,cAAc,CAAA;gBACxD,IAAI,WAAW,KAAK,KAAK,EAAE;oBACzB,cAAc,IAAI,iCAAoB,CAAC,WAAW,CAAA;iBACnD;gBACD,IAAI,WAAW,KAAK,MAAM,EAAE;oBAC1B,cAAc,IAAI,iCAAoB,CAAC,YAAY,CAAA;iBACpD;gBACD,IAAI,WAAW,KAAK,QAAQ,EAAE;oBAC5B,cAAc,IAAI,iCAAoB,CAAC,cAAc,CAAA;iBACtD;gBACD,IAAI,YAAY,EAAE;oBAChB,cAAc,IAAI,iCAAoB,CAAC,oBAAoB,CAAA;iBAC5D;gBACD,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAA;gBAClC,MAAM,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;gBACjD,IAAI,OAAO,KAAK,CAAC,iBAAiB,KAAK,QAAQ,EAAE;oBAC/C,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAA;iBACF;gBACD,MAAM,QAAQ,GAAG,iCAAoB,CAAC,MAAM,CAAC;oBAC3C,UAAU,EAAE,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"RPuzzle.js","sourceRoot":"","sources":["../../../../../src/script/templates/RPuzzle.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.dec2hex = exports.hex2dec = void 0;
|
|
4
|
+
const hex2dec = (hex) => {
|
|
5
|
+
return parseInt(hex, 16);
|
|
6
|
+
};
|
|
7
|
+
exports.hex2dec = hex2dec;
|
|
8
|
+
const dec2hex = (dec) => {
|
|
9
|
+
const rounded = Math.round(dec);
|
|
10
|
+
const prefix = rounded <= 0xf ? '0' : ''; // ensure that single-digit numbers are padded with a leading zero
|
|
11
|
+
return prefix + rounded.toString(16);
|
|
12
|
+
};
|
|
13
|
+
exports.dec2hex = dec2hex;
|
|
14
|
+
//# sourceMappingURL=converters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"converters.js","sourceRoot":"","sources":["../../../../src/totp/converters.ts"],"names":[],"mappings":";;;AAAO,MAAM,OAAO,GAAG,CAAC,GAAW,EAAU,EAAE;IAC7C,OAAO,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;AAC1B,CAAC,CAAA;AAFY,QAAA,OAAO,WAEnB;AAEM,MAAM,OAAO,GAAG,CAAC,GAAW,EAAU,EAAE;IAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC/B,MAAM,MAAM,GAAG,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA,CAAC,kEAAkE;IAC3G,OAAO,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;AACtC,CAAC,CAAA;AAJY,QAAA,OAAO,WAInB"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.validateTotpForContact = exports.generateTotpForContact = void 0;
|
|
7
|
+
const HD_js_1 = __importDefault(require("../compat/HD.js"));
|
|
8
|
+
const PublicKey_js_1 = __importDefault(require("../primitives/PublicKey.js"));
|
|
9
|
+
const totp_js_1 = require("./totp.js");
|
|
10
|
+
const converters_js_1 = require("./converters.js");
|
|
11
|
+
/*
|
|
12
|
+
Basic flow:
|
|
13
|
+
Alice generates passcodeForBob with (sharedSecret+(contact.Paymail as bobPaymail))
|
|
14
|
+
Alice sends passcodeForBob to Bob (e.g. via email)
|
|
15
|
+
Bob validates passcodeForBob with (sharedSecret+(requesterPaymail as bobPaymail))
|
|
16
|
+
The (sharedSecret+paymail) is a "directedSecret". This ensures that passcodeForBob-from-Alice != passcodeForAlice-from-Bob.
|
|
17
|
+
The flow looks the same for Bob generating passcodeForAlice.
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* Generates a TOTP for a given contact
|
|
21
|
+
*
|
|
22
|
+
* @param clientXPriv - The client xpriv
|
|
23
|
+
* @param contact - The Contact
|
|
24
|
+
* @param period - The TOTP period (default: 30)
|
|
25
|
+
* @param digits - The number of TOTP digits (default: 2)
|
|
26
|
+
* @returns The generated TOTP as a string
|
|
27
|
+
*/
|
|
28
|
+
const generateTotpForContact = (clientXPriv, contact, period, digits) => {
|
|
29
|
+
const sharedSecret = makeSharedSecret(contact, clientXPriv);
|
|
30
|
+
const secret = directedSecret(sharedSecret, contact.paymail);
|
|
31
|
+
return totp_js_1.TOTP.generate(secret, getTotpOps(period, digits));
|
|
32
|
+
};
|
|
33
|
+
exports.generateTotpForContact = generateTotpForContact;
|
|
34
|
+
/**
|
|
35
|
+
* Validates a TOTP for a given contact
|
|
36
|
+
*
|
|
37
|
+
* @param clientXPriv - The client xpriv
|
|
38
|
+
* @param contact - The Contact
|
|
39
|
+
* @param passcode - The TOTP passcode to validate
|
|
40
|
+
* @param requesterPaymail - The paymail of the requester
|
|
41
|
+
* @param period - The TOTP period (default: 30)
|
|
42
|
+
* @param digits - The number of TOTP digits (default: 2)
|
|
43
|
+
* @returns A boolean indicating whether the TOTP is valid
|
|
44
|
+
*/
|
|
45
|
+
const validateTotpForContact = (clientXPriv, contact, passcode, requesterPaymail, period, digits) => {
|
|
46
|
+
const sharedSecret = makeSharedSecret(contact, clientXPriv);
|
|
47
|
+
const secret = directedSecret(sharedSecret, requesterPaymail);
|
|
48
|
+
return totp_js_1.TOTP.validate(secret, passcode, getTotpOps(period, digits));
|
|
49
|
+
};
|
|
50
|
+
exports.validateTotpForContact = validateTotpForContact;
|
|
51
|
+
const getTotpOps = (period, digits) => ({
|
|
52
|
+
digits,
|
|
53
|
+
period,
|
|
54
|
+
algorithm: 'SHA-1'
|
|
55
|
+
});
|
|
56
|
+
const makeSharedSecret = (contact, clientXPriv) => {
|
|
57
|
+
const xprivKey = HD_js_1.default.fromString(clientXPriv.toString());
|
|
58
|
+
const pubKey = PublicKey_js_1.default.fromString(contact.pubKey);
|
|
59
|
+
// PKI derivation path: m/0/0/0
|
|
60
|
+
// NOTICE: we currently do not support PKI rotation; however, adjustments will be made if and when we decide to implement it
|
|
61
|
+
const hd = xprivKey.derive('m/0/0/0');
|
|
62
|
+
const privKey = hd.privKey;
|
|
63
|
+
const ss = privKey.deriveSharedSecret(pubKey);
|
|
64
|
+
return ss.getX().toHex(32);
|
|
65
|
+
};
|
|
66
|
+
const directedSecret = (sharedSecret, paymail) => {
|
|
67
|
+
const paymailEncoded = Uint8Array.from(paymail, (c) => c.charCodeAt(0));
|
|
68
|
+
const sharedSecretEncoded = (0, converters_js_1.hexToUint8Array)(sharedSecret);
|
|
69
|
+
// Concatenate sharedSecretEncoded and paymailEncoded
|
|
70
|
+
const concatenated = new Uint8Array(sharedSecretEncoded.length + paymailEncoded.length);
|
|
71
|
+
concatenated.set(sharedSecretEncoded, 0);
|
|
72
|
+
concatenated.set(paymailEncoded, sharedSecretEncoded.length);
|
|
73
|
+
return concatenated;
|
|
74
|
+
};
|
|
75
|
+
//# sourceMappingURL=pike-totp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pike-totp.js","sourceRoot":"","sources":["../../../../src/totp/pike-totp.ts"],"names":[],"mappings":";;;;;;AAAA,4DAAgC;AAChC,8EAAkD;AAElD,uCAA6C;AAC7C,mDAAiD;AAEjD;;;;;;;EAOE;AAEF;;;;;;;;GAQG;AACI,MAAM,sBAAsB,GAAG,CACpC,WAAe,EACf,OAAgB,EAChB,MAAc,EACd,MAAc,EACN,EAAE;IACV,MAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;IAC3D,MAAM,MAAM,GAAG,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;IAE5D,OAAO,cAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;AAC1D,CAAC,CAAA;AAVY,QAAA,sBAAsB,0BAUlC;AAED;;;;;;;;;;GAUG;AACI,MAAM,sBAAsB,GAAG,CACpC,WAAe,EACf,OAAgB,EAChB,QAAgB,EAChB,gBAAwB,EACxB,MAAc,EACd,MAAc,EACL,EAAE;IACX,MAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;IAC3D,MAAM,MAAM,GAAG,cAAc,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAA;IAE7D,OAAO,cAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;AACpE,CAAC,CAAA;AAZY,QAAA,sBAAsB,0BAYlC;AAED,MAAM,UAAU,GAAG,CAAC,MAAc,EAAE,MAAc,EAAe,EAAE,CAAC,CAAC;IACnE,MAAM;IACN,MAAM;IACN,SAAS,EAAE,OAAO;CACnB,CAAC,CAAA;AAEF,MAAM,gBAAgB,GAAG,CAAC,OAAgB,EAAE,WAAe,EAAE,EAAE;IAC7D,MAAM,QAAQ,GAAG,eAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAA;IAEtD,MAAM,MAAM,GAAG,sBAAS,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAEnD,+BAA+B;IAC/B,4HAA4H;IAC5H,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IACrC,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAA;IAC1B,MAAM,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAC7C,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;AAC5B,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,CAAC,YAAoB,EAAE,OAAe,EAAc,EAAE;IAC3E,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;IACvE,MAAM,mBAAmB,GAAG,IAAA,+BAAe,EAAC,YAAY,CAAC,CAAA;IAEzD,qDAAqD;IACrD,MAAM,YAAY,GAAG,IAAI,UAAU,CACjC,mBAAmB,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,CACnD,CAAA;IACD,YAAY,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAA;IACxC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAA;IAE5D,OAAO,YAAY,CAAA;AACrB,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/totp/types.ts"],"names":[],"mappings":""}
|
|
@@ -62,7 +62,7 @@ class ARC {
|
|
|
62
62
|
const { txid, extraInfo, txStatus } = response.data;
|
|
63
63
|
return {
|
|
64
64
|
status: 'success',
|
|
65
|
-
txid
|
|
65
|
+
txid,
|
|
66
66
|
message: `${txStatus} ${extraInfo}`
|
|
67
67
|
};
|
|
68
68
|
}
|
|
@@ -105,10 +105,10 @@ class ARC {
|
|
|
105
105
|
requestHeaders() {
|
|
106
106
|
const headers = {
|
|
107
107
|
'Content-Type': 'application/json',
|
|
108
|
-
'XDeployment-ID': this.deploymentId
|
|
108
|
+
'XDeployment-ID': this.deploymentId
|
|
109
109
|
};
|
|
110
110
|
if (this.apiKey) {
|
|
111
|
-
headers
|
|
111
|
+
headers.Authorization = `Bearer ${this.apiKey}`;
|
|
112
112
|
}
|
|
113
113
|
if (this.callbackUrl) {
|
|
114
114
|
headers['X-CallbackUrl'] = this.callbackUrl;
|
|
@@ -116,7 +116,7 @@ class ARC {
|
|
|
116
116
|
if (this.callbackToken) {
|
|
117
117
|
headers['X-CallbackToken'] = this.callbackToken;
|
|
118
118
|
}
|
|
119
|
-
if (
|
|
119
|
+
if (this.headers) {
|
|
120
120
|
for (const key in this.headers) {
|
|
121
121
|
headers[key] = this.headers[key];
|
|
122
122
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ARC.js","sourceRoot":"","sources":["../../../../../src/transaction/broadcasters/ARC.ts"],"names":[],"mappings":";;;;;AAGA,
|
|
1
|
+
{"version":3,"file":"ARC.js","sourceRoot":"","sources":["../../../../../src/transaction/broadcasters/ARC.ts"],"names":[],"mappings":";;;;;AAGA,uEAAgE;AAChE,2EAA+C;AAC/C,wDAAiD;AAkBjD,SAAS,mBAAmB;IAC1B,OAAO,UAAU,IAAA,gBAAK,EAAC,IAAA,mBAAM,EAAC,EAAE,CAAC,CAAC,EAAE,CAAA;AACtC,CAAC;AAED;;GAEG;AACH,MAAqB,GAAG;IAwBtB,YAAa,GAAW,EAAE,MAA2B;QACnD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;YACpB,IAAI,CAAC,UAAU,GAAG,IAAA,wCAAiB,GAAE,CAAA;YACrC,IAAI,CAAC,YAAY,GAAG,mBAAmB,EAAE,CAAA;YACzC,IAAI,CAAC,aAAa,GAAG,SAAS,CAAA;YAC9B,IAAI,CAAC,WAAW,GAAG,SAAS,CAAA;SAC7B;aAAM;YACL,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAe,CAAA;YAC3G,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;YACpB,IAAI,CAAC,UAAU,GAAG,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,IAAA,wCAAiB,GAAE,CAAA;YACnD,IAAI,CAAC,YAAY,GAAG,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,mBAAmB,EAAE,CAAA;YACzD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;YAClC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;YAC9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;SACvB;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CAAE,EAAe;QAC9B,IAAI,KAAK,CAAA;QACT,IAAI;YACF,KAAK,GAAG,EAAE,CAAC,OAAO,EAAE,CAAA;SACrB;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,KAAK,CAAC,OAAO,KAAK,wEAAwE,EAAE;gBAC9F,KAAK,GAAG,EAAE,CAAC,KAAK,EAAE,CAAA;aACnB;iBAAM;gBACL,MAAM,KAAK,CAAA;aACZ;SACF;QAED,MAAM,cAAc,GAA6B;YAC/C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE;YAC9B,IAAI,EAAE,EAAE,KAAK,EAAE;SAChB,CAAA;QAED,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAc,GAAG,IAAI,CAAC,GAAG,QAAQ,EAAE,cAAc,CAAC,CAAA;YAChG,IAAI,QAAQ,CAAC,EAAE,EAAE;gBACf,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAA;gBACnD,OAAO;oBACL,MAAM,EAAE,SAAS;oBACjB,IAAI;oBACJ,OAAO,EAAE,GAAG,QAAQ,IAAI,SAAS,EAAE;iBACpC,CAAA;aACF;iBAAM;gBACL,MAAM,EAAE,GAAG,OAAO,QAAQ,CAAC,MAAM,CAAA;gBACjC,MAAM,CAAC,GAAqB;oBAC1B,MAAM,EAAE,OAAO;oBACf,IAAI,EAAE,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,aAAa;oBACrF,WAAW,EAAE,eAAe;iBAC7B,CAAA;gBACD,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAA;gBACrB,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;oBACzB,IAAI;wBACF,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;qBAC9B;oBAAC,MAAM,GAAG;iBACZ;gBACD,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;oBACzB,CAAC,CAAC,IAAI,GAAG,CAAC,CAAA;oBACV,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE;wBAC9B,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAA;qBAChB;oBACD,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,EAAE;wBAChC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,MAAM,CAAA;qBACzB;iBACF;gBACD,OAAO,CAAC,CAAA;aACT;SACF;QAAC,OAAO,KAAK,EAAE;YACd,OAAO;gBACL,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE,KAAK;gBACX,WAAW,EAAE,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;oBAC5C,CAAC,CAAC,KAAK,CAAC,OAAO;oBACf,CAAC,CAAC,uBAAuB;aAC5B,CAAA;SACF;IACH,CAAC;IAEO,cAAc;QACpB,MAAM,OAAO,GAA2B;YACtC,cAAc,EAAE,kBAAkB;YAClC,gBAAgB,EAAE,IAAI,CAAC,YAAY;SACpC,CAAA;QAED,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,OAAO,CAAC,aAAa,GAAG,UAAU,IAAI,CAAC,MAAM,EAAE,CAAA;SAChD;QAED,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,WAAW,CAAA;SAC5C;QAED,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,OAAO,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,aAAa,CAAA;SAChD;QAED,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE;gBAC9B,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;aACjC;SACF;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;CACF;AAzID,sBAyIC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class ARC {
|
|
4
|
+
constructor(URL) {
|
|
5
|
+
this.URL = URL;
|
|
6
|
+
}
|
|
7
|
+
async broadcast(tx) {
|
|
8
|
+
const metadata = tx.metadata;
|
|
9
|
+
if (!Array.isArray(metadata.topics)) {
|
|
10
|
+
return {
|
|
11
|
+
status: 'error',
|
|
12
|
+
code: 'ERR_NO_TOPICS',
|
|
13
|
+
description: 'The BRC-22 transaction broadcaster requires an array of topics in the transaction metadata.'
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
const txHex = tx.toHex();
|
|
17
|
+
return {
|
|
18
|
+
status: 'success',
|
|
19
|
+
txid: tx.id('hex'),
|
|
20
|
+
message: 'OK'
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.default = ARC;
|
|
25
|
+
//# sourceMappingURL=BRC22.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BRC22.js","sourceRoot":"","sources":["../../../../../src/transaction/broadcasters/BRC22.ts"],"names":[],"mappings":";;AAGA,MAAqB,GAAG;IAGtB,YAAa,GAAW;QACtB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,SAAS,CAAE,EAAe;QAC9B,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAA;QAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,OAAO;gBACL,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE,eAAe;gBACrB,WAAW,EAAE,6FAA6F;aAC3G,CAAA;QACH,CAAC;QACD,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,EAAE,CAAA;QACxB,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAW;YAC5B,OAAO,EAAE,IAAI;SACd,CAAA;IACH,CAAC;CACF;AAvBD,sBAuBC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultBroadcaster.js","sourceRoot":"","sources":["../../../../../src/transaction/broadcasters/DefaultBroadcaster.ts"],"names":[],"mappings":";;;;;;AACA,
|
|
1
|
+
{"version":3,"file":"DefaultBroadcaster.js","sourceRoot":"","sources":["../../../../../src/transaction/broadcasters/DefaultBroadcaster.ts"],"names":[],"mappings":";;;;;;AACA,sDAA0B;AAE1B,SAAgB,kBAAkB;IAChC,OAAO,IAAI,gBAAG,CAAC,sBAAsB,CAAC,CAAA;AACxC,CAAC;AAFD,gDAEC"}
|
|
@@ -24,12 +24,12 @@ class WhatsOnChainBroadcaster {
|
|
|
24
24
|
*/
|
|
25
25
|
async broadcast(tx) {
|
|
26
26
|
var _a, _b;
|
|
27
|
-
|
|
27
|
+
const rawTx = tx.toHex();
|
|
28
28
|
const requestOptions = {
|
|
29
29
|
method: 'POST',
|
|
30
30
|
headers: {
|
|
31
31
|
'Content-Type': 'application/json',
|
|
32
|
-
|
|
32
|
+
Accept: 'text/plain'
|
|
33
33
|
},
|
|
34
34
|
data: { txhex: rawTx }
|
|
35
35
|
};
|
|
@@ -39,7 +39,7 @@ class WhatsOnChainBroadcaster {
|
|
|
39
39
|
const txid = response.data;
|
|
40
40
|
return {
|
|
41
41
|
status: 'success',
|
|
42
|
-
txid
|
|
42
|
+
txid,
|
|
43
43
|
message: 'broadcast successful'
|
|
44
44
|
};
|
|
45
45
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WhatsOnChainBroadcaster.js","sourceRoot":"","sources":["../../../../../src/transaction/broadcasters/WhatsOnChainBroadcaster.ts"],"names":[],"mappings":";;AAGA,
|
|
1
|
+
{"version":3,"file":"WhatsOnChainBroadcaster.js","sourceRoot":"","sources":["../../../../../src/transaction/broadcasters/WhatsOnChainBroadcaster.ts"],"names":[],"mappings":";;AAGA,uEAAgE;AAEhE;;GAEG;AACH,MAAqB,uBAAuB;IAK1C;;;;;OAKG;IACH,YAAa,UAAmC,MAAM,EAAE,aAAyB,IAAA,wCAAiB,GAAE;QAClG,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,GAAG,GAAG,uCAAuC,OAAO,SAAS,CAAA;QAClE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAC9B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CAAE,EAAe;;QAC9B,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,EAAE,CAAA;QAExB,MAAM,cAAc,GAAG;YACrB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,MAAM,EAAE,YAAY;aACrB;YACD,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;SACvB,CAAA;QAED,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAS,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAA;YAChF,IAAI,QAAQ,CAAC,EAAE,EAAE;gBACf,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAA;gBAC1B,OAAO;oBACL,MAAM,EAAE,SAAS;oBACjB,IAAI;oBACJ,OAAO,EAAE,sBAAsB;iBAChC,CAAA;aACF;iBAAM;gBACL,OAAO;oBACL,MAAM,EAAE,OAAO;oBACf,IAAI,EAAE,MAAA,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,mCAAI,aAAa;oBACjD,WAAW,EAAE,MAAA,QAAQ,CAAC,IAAI,mCAAI,eAAe;iBAC9C,CAAA;aACF;SACF;QAAC,OAAO,KAAK,EAAE;YACd,OAAO;gBACL,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE,KAAK;gBACX,WAAW,EAAE,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;oBAC5C,CAAC,CAAC,KAAK,CAAC,OAAO;oBACf,CAAC,CAAC,uBAAuB;aAC5B,CAAA;SACF;IACH,CAAC;CACF;AA7DD,0CA6DC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultChainTracker.js","sourceRoot":"","sources":["../../../../../src/transaction/chaintrackers/DefaultChainTracker.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"DefaultChainTracker.js","sourceRoot":"","sources":["../../../../../src/transaction/chaintrackers/DefaultChainTracker.ts"],"names":[],"mappings":";;;;;;AAAA,wEAA4C;AAG5C,SAAgB,mBAAmB;IACjC,OAAO,IAAI,yBAAY,EAAE,CAAA;AAC3B,CAAC;AAFD,kDAEC"}
|
|
@@ -37,10 +37,10 @@ class WhatsOnChain {
|
|
|
37
37
|
}
|
|
38
38
|
getHeaders() {
|
|
39
39
|
const headers = {
|
|
40
|
-
|
|
40
|
+
Accept: 'application/json'
|
|
41
41
|
};
|
|
42
42
|
if (this.apiKey) {
|
|
43
|
-
headers
|
|
43
|
+
headers.Authorization = this.apiKey;
|
|
44
44
|
}
|
|
45
45
|
return headers;
|
|
46
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WhatsOnChain.js","sourceRoot":"","sources":["../../../../../src/transaction/chaintrackers/WhatsOnChain.ts"],"names":[],"mappings":";;AAEA,
|
|
1
|
+
{"version":3,"file":"WhatsOnChain.js","sourceRoot":"","sources":["../../../../../src/transaction/chaintrackers/WhatsOnChain.ts"],"names":[],"mappings":";;AAEA,uEAAgE;AAchE;;GAEG;AACH,MAAqB,YAAY;IAM/B;;;;;OAKG;IACH,YAAa,UAAmC,MAAM,EAAE,SAA6B,EAAE;QACrF,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAA;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,GAAG,GAAG,uCAAuC,OAAO,EAAE,CAAA;QAC3D,IAAI,CAAC,UAAU,GAAG,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,IAAA,wCAAiB,GAAE,CAAA;QACnD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAE,IAAY,EAAE,MAAc;QACtD,MAAM,cAAc,GAAG;YACrB,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE;SAC3B,CAAA;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAA0B,GAAG,IAAI,CAAC,GAAG,UAAU,MAAM,SAAS,EAAE,cAAc,CAAC,CAAA;QAC7H,IAAI,QAAQ,CAAC,EAAE,EAAE;YACf,MAAM,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAA;YACpC,OAAO,UAAU,KAAK,IAAI,CAAA;SAC3B;aAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;YAClC,OAAO,KAAK,CAAA;SACb;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,0CAA0C,MAAM,yBAAyB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;SAC3H;IACH,CAAC;IAEO,UAAU;QAChB,MAAM,OAAO,GAA2B;YACtC,MAAM,EAAE,kBAAkB;SAC3B,CAAA;QAED,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAA;SACpC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;CACF;AAhDD,+BAgDC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SatoshisPerKilobyte.js","sourceRoot":"","sources":["../../../../../src/transaction/fee-models/SatoshisPerKilobyte.ts"],"names":[],"mappings":";;AAIA;;GAEG;AACH,MAAqB,mBAAmB;IAOtC;;;;OAIG;IACH,
|
|
1
|
+
{"version":3,"file":"SatoshisPerKilobyte.js","sourceRoot":"","sources":["../../../../../src/transaction/fee-models/SatoshisPerKilobyte.ts"],"names":[],"mappings":";;AAIA;;GAEG;AACH,MAAqB,mBAAmB;IAOtC;;;;OAIG;IACH,YAAa,KAAa;QACxB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CAAE,EAAe;QAC/B,MAAM,aAAa,GAAG,CAAC,CAAS,EAAU,EAAE;YAC1C,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE;gBACf,OAAO,CAAC,CAAA;aACT;iBAAM,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE;gBACtB,OAAO,CAAC,CAAA;aACT;iBAAM,IAAI,CAAC,GAAG,GAAG,EAAE;gBAClB,OAAO,CAAC,CAAA;aACT;iBAAM;gBACL,OAAO,CAAC,CAAA;aACT;QACH,CAAC,CAAA;QACD,8DAA8D;QAC9D,IAAI,IAAI,GAAG,CAAC,CAAA,CAAC,UAAU;QACvB,IAAI,IAAI,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA,CAAC,mBAAmB;QAC3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;YAC1B,IAAI,IAAI,EAAE,CAAA,CAAC,sCAAsC;YACjD,IAAI,YAAoB,CAAA;YACxB,IAAI,OAAO,KAAK,CAAC,eAAe,KAAK,QAAQ,EAAE;gBAC7C,YAAY,GAAG,KAAK,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAA;aACvD;iBAAM,IAAI,OAAO,KAAK,CAAC,uBAAuB,KAAK,QAAQ,EAAE;gBAC5D,YAAY,GAAG,MAAM,KAAK,CAAC,uBAAuB,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;aACzE;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,sGAAsG,CAAC,CAAA;aACxH;YACD,IAAI,IAAI,aAAa,CAAC,YAAY,CAAC,CAAA,CAAC,0BAA0B;YAC9D,IAAI,IAAI,YAAY,CAAA,CAAC,mBAAmB;SACzC;QACD,IAAI,IAAI,aAAa,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA,CAAC,oBAAoB;QAC7D,KAAK,MAAM,GAAG,IAAI,EAAE,CAAC,OAAO,EAAE;YAC5B,IAAI,IAAI,CAAC,CAAA,CAAC,WAAW;YACrB,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAA;YAClD,IAAI,IAAI,aAAa,CAAC,MAAM,CAAC,CAAA,CAAC,gBAAgB;YAC9C,IAAI,IAAI,MAAM,CAAA,CAAC,SAAS;SACzB;QACD,IAAI,IAAI,CAAC,CAAA,CAAC,YAAY;QACtB,kEAAkE;QAClE,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;QACjD,OAAO,GAAG,CAAA;IACZ,CAAC;CACF;AA/DD,sCA+DC"}
|
|
@@ -10,9 +10,9 @@ const FetchHttpClient_js_1 = require("./FetchHttpClient.js");
|
|
|
10
10
|
*/
|
|
11
11
|
function defaultHttpClient() {
|
|
12
12
|
const noHttpClient = {
|
|
13
|
-
request(..._) {
|
|
13
|
+
async request(..._) {
|
|
14
14
|
throw new Error('No method available to perform HTTP request');
|
|
15
|
-
}
|
|
15
|
+
}
|
|
16
16
|
};
|
|
17
17
|
if (typeof window !== 'undefined' && typeof window.fetch === 'function') {
|
|
18
18
|
// Use fetch in a browser environment
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultHttpClient.js","sourceRoot":"","sources":["../../../../../src/transaction/http/DefaultHttpClient.ts"],"names":[],"mappings":";;;AACA,+
|
|
1
|
+
{"version":3,"file":"DefaultHttpClient.js","sourceRoot":"","sources":["../../../../../src/transaction/http/DefaultHttpClient.ts"],"names":[],"mappings":";;;AACA,+DAAwD;AACxD,6DAAsD;AAEtD;;;;GAIG;AACH,SAAgB,iBAAiB;IAC/B,MAAM,YAAY,GAAe;QAC/B,KAAK,CAAC,OAAO,CAAE,GAAG,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;QAChE,CAAC;KACF,CAAA;IAED,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,UAAU,EAAE;QACvE,qCAAqC;QACrC,OAAO,IAAI,oCAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;KACzC;SAAM,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;QACzC,2BAA2B;QAC3B,2BAA2B;QAC3B,IAAI;YACF,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;YAC9B,OAAO,IAAI,sCAAgB,CAAC,KAAK,CAAC,CAAA;SACnC;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,YAAY,CAAA;SACpB;KACF;SAAM;QACL,OAAO,YAAY,CAAA;KACpB;AACH,CAAC;AAtBD,8CAsBC"}
|
|
@@ -12,7 +12,7 @@ class FetchHttpClient {
|
|
|
12
12
|
const fetchOptions = {
|
|
13
13
|
method: options.method,
|
|
14
14
|
headers: options.headers,
|
|
15
|
-
body: JSON.stringify(options.data)
|
|
15
|
+
body: JSON.stringify(options.data)
|
|
16
16
|
};
|
|
17
17
|
const res = await this.fetch(url, fetchOptions);
|
|
18
18
|
const mediaType = res.headers.get('Content-Type');
|
|
@@ -21,7 +21,7 @@ class FetchHttpClient {
|
|
|
21
21
|
ok: res.ok,
|
|
22
22
|
status: res.status,
|
|
23
23
|
statusText: res.statusText,
|
|
24
|
-
data: data
|
|
24
|
+
data: data
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FetchHttpClient.js","sourceRoot":"","sources":["../../../../../src/transaction/http/FetchHttpClient.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"FetchHttpClient.js","sourceRoot":"","sources":["../../../../../src/transaction/http/FetchHttpClient.ts"],"names":[],"mappings":";;;AAuBA;;GAEG;AACH,MAAa,eAAe;IAC1B,YAA8B,KAAY;QAAZ,UAAK,GAAL,KAAK,CAAO;IAAG,CAAC;IAE9C,KAAK,CAAC,OAAO,CAAI,GAAW,EAAE,OAAiC;QAC7D,MAAM,YAAY,GAAiB;YACjC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;SACnC,CAAA;QAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,CAAA;QAC/C,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;QACjD,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;QAE3F,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,IAAI,EAAE,IAAS;SAChB,CAAA;IACH,CAAC;CACF;AArBD,0CAqBC"}
|
|
@@ -23,14 +23,14 @@ class NodejsHttpClient {
|
|
|
23
23
|
status: res.statusCode,
|
|
24
24
|
statusText: res.statusMessage,
|
|
25
25
|
ok,
|
|
26
|
-
data
|
|
26
|
+
data
|
|
27
27
|
});
|
|
28
28
|
});
|
|
29
29
|
});
|
|
30
30
|
req.on('error', (error) => {
|
|
31
31
|
reject(error);
|
|
32
32
|
});
|
|
33
|
-
if (
|
|
33
|
+
if (requestOptions.data) {
|
|
34
34
|
req.write(JSON.stringify(requestOptions.data));
|
|
35
35
|
}
|
|
36
36
|
req.end();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodejsHttpClient.js","sourceRoot":"","sources":["../../../../../src/transaction/http/NodejsHttpClient.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"NodejsHttpClient.js","sourceRoot":"","sources":["../../../../../src/transaction/http/NodejsHttpClient.ts"],"names":[],"mappings":";;;AAgBA;;GAEG;AACH,MAAa,gBAAgB;IAC3B,YAA8B,KAAkB;QAAlB,UAAK,GAAL,KAAK,CAAa;IAAG,CAAC;IAEpD,KAAK,CAAC,OAAO,CAAE,GAAW,EAAE,cAAwC;QAClE,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,GAAG,EAAE,EAAE;gBAC1D,IAAI,IAAI,GAAG,EAAE,CAAA;gBACb,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;oBAC/B,IAAI,IAAI,KAAK,CAAA;gBACf,CAAC,CAAC,CAAA;gBACF,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;oBACjB,MAAM,EAAE,GAAG,GAAG,CAAC,UAAU,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,CAAA;oBACzD,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;oBAC7C,MAAM,IAAI,GAAG,IAAI,IAAI,SAAS,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;oBACvF,OAAO,CAAC;wBACN,MAAM,EAAE,GAAG,CAAC,UAAU;wBACtB,UAAU,EAAE,GAAG,CAAC,aAAa;wBAC7B,EAAE;wBACF,IAAI;qBACL,CAAC,CAAA;gBACJ,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;YAEF,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBACxB,MAAM,CAAC,KAAK,CAAC,CAAA;YACf,CAAC,CAAC,CAAA;YAEF,IAAI,cAAc,CAAC,IAAI,EAAE;gBACvB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAA;aAC/C;YACD,GAAG,CAAC,GAAG,EAAE,CAAA;QACX,CAAC,CAAC,CAAA;IACJ,CAAC;CACF;AAjCD,4CAiCC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/transaction/http/index.ts"],"names":[],"mappings":";;;AACA,+
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/transaction/http/index.ts"],"names":[],"mappings":";;;AACA,+DAA0D;AAAjD,yHAAA,iBAAiB,OAAA;AAC1B,6DAAwD;AAA/C,uHAAA,gBAAgB,OAAA;AACzB,2DAAsD;AAA7C,qHAAA,eAAe,OAAA"}
|