@bsv/sdk 1.3.35 → 1.4.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/dist/cjs/mod.js +1 -0
- package/dist/cjs/mod.js.map +1 -1
- package/dist/cjs/package.json +1 -1
- package/dist/cjs/src/auth/Peer.js +42 -14
- package/dist/cjs/src/auth/Peer.js.map +1 -1
- package/dist/cjs/src/auth/certificates/Certificate.js +50 -22
- package/dist/cjs/src/auth/certificates/Certificate.js.map +1 -1
- package/dist/cjs/src/auth/certificates/MasterCertificate.js +35 -10
- package/dist/cjs/src/auth/certificates/MasterCertificate.js.map +1 -1
- package/dist/cjs/src/auth/certificates/VerifiableCertificate.js +28 -4
- package/dist/cjs/src/auth/certificates/VerifiableCertificate.js.map +1 -1
- package/dist/cjs/src/auth/certificates/__tests/CompletedProtoWallet.js +5 -2
- package/dist/cjs/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -1
- package/dist/cjs/src/auth/clients/AuthFetch.js +83 -27
- package/dist/cjs/src/auth/clients/AuthFetch.js.map +1 -1
- package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js +70 -34
- package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js.map +1 -1
- package/dist/cjs/src/auth/utils/createNonce.js +31 -4
- package/dist/cjs/src/auth/utils/createNonce.js.map +1 -1
- package/dist/cjs/src/auth/utils/verifyNonce.js +26 -3
- package/dist/cjs/src/auth/utils/verifyNonce.js.map +1 -1
- package/dist/cjs/src/overlay-tools/LookupResolver.js +2 -2
- package/dist/cjs/src/overlay-tools/LookupResolver.js.map +1 -1
- package/dist/cjs/src/primitives/utils.js.map +1 -1
- package/dist/cjs/src/storage/StorageUploader.js +93 -0
- package/dist/cjs/src/storage/StorageUploader.js.map +1 -0
- package/dist/cjs/src/storage/StorageUtils.js +73 -0
- package/dist/cjs/src/storage/StorageUtils.js.map +1 -0
- package/dist/cjs/src/storage/__test/StorageUploader.test.js +92 -0
- package/dist/cjs/src/storage/__test/StorageUploader.test.js.map +1 -0
- package/dist/cjs/src/storage/__test/StorageUtils.test.js +97 -0
- package/dist/cjs/src/storage/__test/StorageUtils.test.js.map +1 -0
- package/dist/cjs/src/storage/index.js +30 -0
- package/dist/cjs/src/storage/index.js.map +1 -0
- package/dist/cjs/src/wallet/WalletClient.js +4 -4
- package/dist/cjs/src/wallet/WalletClient.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/HTTPWalletWire.js +26 -3
- package/dist/cjs/src/wallet/substrates/HTTPWalletWire.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js +178 -155
- package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js +171 -148
- package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/XDM.js +29 -2
- package/dist/cjs/src/wallet/substrates/XDM.js.map +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/mod.js +1 -0
- package/dist/esm/mod.js.map +1 -1
- package/dist/esm/src/auth/Peer.js +7 -5
- package/dist/esm/src/auth/Peer.js.map +1 -1
- package/dist/esm/src/auth/certificates/Certificate.js +3 -1
- package/dist/esm/src/auth/certificates/Certificate.js.map +1 -1
- package/dist/esm/src/auth/certificates/MasterCertificate.js +3 -1
- package/dist/esm/src/auth/certificates/MasterCertificate.js.map +1 -1
- package/dist/esm/src/auth/certificates/VerifiableCertificate.js +2 -1
- package/dist/esm/src/auth/certificates/VerifiableCertificate.js.map +1 -1
- package/dist/esm/src/auth/certificates/__tests/CompletedProtoWallet.js +1 -1
- package/dist/esm/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -1
- package/dist/esm/src/auth/clients/AuthFetch.js +38 -8
- package/dist/esm/src/auth/clients/AuthFetch.js.map +1 -1
- package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js +31 -18
- package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js.map +1 -1
- package/dist/esm/src/auth/utils/createNonce.js +2 -1
- package/dist/esm/src/auth/utils/createNonce.js.map +1 -1
- package/dist/esm/src/auth/utils/verifyNonce.js +1 -1
- package/dist/esm/src/auth/utils/verifyNonce.js.map +1 -1
- package/dist/esm/src/overlay-tools/LookupResolver.js +2 -2
- package/dist/esm/src/overlay-tools/LookupResolver.js.map +1 -1
- package/dist/esm/src/primitives/utils.js.map +1 -1
- package/dist/esm/src/storage/StorageUploader.js +68 -0
- package/dist/esm/src/storage/StorageUploader.js.map +1 -0
- package/dist/esm/src/storage/StorageUtils.js +65 -0
- package/dist/esm/src/storage/StorageUtils.js.map +1 -0
- package/dist/esm/src/storage/__test/StorageUploader.test.js +64 -0
- package/dist/esm/src/storage/__test/StorageUploader.test.js.map +1 -0
- package/dist/esm/src/storage/__test/StorageUtils.test.js +72 -0
- package/dist/esm/src/storage/__test/StorageUtils.test.js.map +1 -0
- package/dist/esm/src/storage/index.js +3 -0
- package/dist/esm/src/storage/index.js.map +1 -0
- package/dist/esm/src/wallet/WalletClient.js +4 -4
- package/dist/esm/src/wallet/WalletClient.js.map +1 -1
- package/dist/esm/src/wallet/substrates/HTTPWalletWire.js +1 -1
- package/dist/esm/src/wallet/substrates/HTTPWalletWire.js.map +1 -1
- package/dist/esm/src/wallet/substrates/WalletWireProcessor.js +1 -1
- package/dist/esm/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
- package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js +2 -2
- package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
- package/dist/esm/src/wallet/substrates/XDM.js +2 -1
- package/dist/esm/src/wallet/substrates/XDM.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/types/mod.d.ts +1 -0
- package/dist/types/mod.d.ts.map +1 -1
- package/dist/types/src/auth/Peer.d.ts +1 -1
- package/dist/types/src/auth/Peer.d.ts.map +1 -1
- package/dist/types/src/auth/certificates/Certificate.d.ts +2 -1
- package/dist/types/src/auth/certificates/Certificate.d.ts.map +1 -1
- package/dist/types/src/auth/certificates/MasterCertificate.d.ts +2 -1
- package/dist/types/src/auth/certificates/MasterCertificate.d.ts.map +1 -1
- package/dist/types/src/auth/certificates/VerifiableCertificate.d.ts +2 -1
- package/dist/types/src/auth/certificates/VerifiableCertificate.d.ts.map +1 -1
- package/dist/types/src/auth/certificates/__tests/CompletedProtoWallet.d.ts +1 -1
- package/dist/types/src/auth/certificates/__tests/CompletedProtoWallet.d.ts.map +1 -1
- package/dist/types/src/auth/clients/AuthFetch.d.ts +10 -9
- package/dist/types/src/auth/clients/AuthFetch.d.ts.map +1 -1
- package/dist/types/src/auth/transports/SimplifiedFetchTransport.d.ts.map +1 -1
- package/dist/types/src/auth/utils/createNonce.d.ts +1 -1
- package/dist/types/src/auth/utils/createNonce.d.ts.map +1 -1
- package/dist/types/src/auth/utils/getVerifiableCertificates.d.ts +1 -1
- package/dist/types/src/auth/utils/getVerifiableCertificates.d.ts.map +1 -1
- package/dist/types/src/auth/utils/verifyNonce.d.ts +1 -1
- package/dist/types/src/auth/utils/verifyNonce.d.ts.map +1 -1
- package/dist/types/src/primitives/utils.d.ts +4 -1
- package/dist/types/src/primitives/utils.d.ts.map +1 -1
- package/dist/types/src/storage/StorageUploader.d.ts +40 -0
- package/dist/types/src/storage/StorageUploader.d.ts.map +1 -0
- package/dist/types/src/storage/StorageUtils.d.ts +31 -0
- package/dist/types/src/storage/StorageUtils.d.ts.map +1 -0
- package/dist/types/src/storage/__test/StorageUploader.test.d.ts +2 -0
- package/dist/types/src/storage/__test/StorageUploader.test.d.ts.map +1 -0
- package/dist/types/src/storage/__test/StorageUtils.test.d.ts +2 -0
- package/dist/types/src/storage/__test/StorageUtils.test.d.ts.map +1 -0
- package/dist/types/src/storage/index.d.ts +3 -0
- package/dist/types/src/storage/index.d.ts.map +1 -0
- package/dist/types/src/wallet/substrates/XDM.d.ts +1 -1
- package/dist/types/src/wallet/substrates/XDM.d.ts.map +1 -1
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/dist/umd/bundle.js +1 -1
- package/docs/primitives.md +4 -1
- package/docs/storage.md +210 -0
- package/docs/wallet-substrates.md +0 -225
- package/mod.ts +1 -0
- package/package.json +12 -2
- package/src/auth/Peer.ts +8 -5
- package/src/auth/__tests/Peer.test.ts +43 -48
- package/src/auth/certificates/Certificate.ts +5 -5
- package/src/auth/certificates/MasterCertificate.ts +5 -5
- package/src/auth/certificates/VerifiableCertificate.ts +6 -6
- package/src/auth/certificates/__tests/CompletedProtoWallet.ts +1 -15
- package/src/auth/clients/AuthFetch.ts +59 -18
- package/src/auth/transports/SimplifiedFetchTransport.ts +31 -19
- package/src/auth/utils/__tests/cryptononce.test.ts +0 -2
- package/src/auth/utils/createNonce.ts +3 -3
- package/src/auth/utils/getVerifiableCertificates.ts +1 -1
- package/src/auth/utils/verifyNonce.ts +2 -1
- package/src/overlay-tools/LookupResolver.ts +2 -2
- package/src/primitives/utils.ts +1 -1
- package/src/storage/StorageUploader.ts +108 -0
- package/src/storage/StorageUtils.ts +66 -0
- package/src/storage/__test/StorageUploader.test.ts +80 -0
- package/src/storage/__test/StorageUtils.test.ts +86 -0
- package/src/storage/index.ts +2 -0
- package/src/transaction/__tests/Transaction.benchmarks.test.ts +1 -16
- package/src/wallet/WalletClient.ts +4 -4
- package/src/wallet/substrates/HTTPWalletWire.ts +1 -1
- package/src/wallet/substrates/WalletWireProcessor.ts +1 -1
- package/src/wallet/substrates/WalletWireTransceiver.ts +2 -2
- package/src/wallet/substrates/XDM.ts +3 -2
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.CompletedProtoWallet = void 0;
|
|
4
7
|
//@ts-nocheck
|
|
5
|
-
const
|
|
8
|
+
const PrivateKey_js_1 = __importDefault(require("../../../primitives/PrivateKey.js"));
|
|
6
9
|
const index_js_1 = require("../../../wallet/index.js");
|
|
7
10
|
// Test Mock wallet which extends ProtoWallet but still implements Wallet interface
|
|
8
11
|
// Unsupported methods throw
|
|
@@ -13,7 +16,7 @@ class CompletedProtoWallet extends index_js_1.ProtoWallet {
|
|
|
13
16
|
this.keyDeriver = rootKeyOrKeyDeriver;
|
|
14
17
|
}
|
|
15
18
|
else if (typeof rootKeyOrKeyDeriver === 'string' ||
|
|
16
|
-
rootKeyOrKeyDeriver instanceof
|
|
19
|
+
rootKeyOrKeyDeriver instanceof PrivateKey_js_1.default) {
|
|
17
20
|
this.keyDeriver = new index_js_1.KeyDeriver(rootKeyOrKeyDeriver);
|
|
18
21
|
}
|
|
19
22
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CompletedProtoWallet.js","sourceRoot":"","sources":["../../../../../../src/auth/certificates/__tests/CompletedProtoWallet.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CompletedProtoWallet.js","sourceRoot":"","sources":["../../../../../../src/auth/certificates/__tests/CompletedProtoWallet.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
2
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
29
|
exports.AuthFetch = void 0;
|
|
4
30
|
// @ts-nocheck
|
|
5
|
-
const
|
|
31
|
+
const Utils = __importStar(require("../../primitives/utils.js"));
|
|
32
|
+
const Random_js_1 = __importDefault(require("../../primitives/Random.js"));
|
|
33
|
+
const P2PKH_js_1 = __importDefault(require("../../script/templates/P2PKH.js"));
|
|
34
|
+
const PublicKey_js_1 = __importDefault(require("../../primitives/PublicKey.js"));
|
|
35
|
+
const createNonce_js_1 = require("../utils/createNonce.js");
|
|
6
36
|
const Peer_js_1 = require("../Peer.js");
|
|
7
37
|
const SimplifiedFetchTransport_js_1 = require("../transports/SimplifiedFetchTransport.js");
|
|
8
38
|
const SessionManager_js_1 = require("../SessionManager.js");
|
|
39
|
+
const index_js_1 = require("../utils/index.js");
|
|
9
40
|
const PAYMENT_VERSION = '1.0';
|
|
10
41
|
/**
|
|
11
42
|
* AuthFetch provides a lightweight fetch client for interacting with servers
|
|
@@ -43,7 +74,7 @@ class AuthFetch {
|
|
|
43
74
|
* @throws Will throw an error if unsupported headers are used or other validation fails.
|
|
44
75
|
*/
|
|
45
76
|
async fetch(url, config = {}) {
|
|
46
|
-
if (config.retryCounter) {
|
|
77
|
+
if (typeof config.retryCounter === 'number') {
|
|
47
78
|
if (config.retryCounter <= 0) {
|
|
48
79
|
throw new Error('Request failed after maximum number of retries.');
|
|
49
80
|
}
|
|
@@ -62,13 +93,25 @@ class AuthFetch {
|
|
|
62
93
|
// Create a peer for the request
|
|
63
94
|
const newTransport = new SimplifiedFetchTransport_js_1.SimplifiedFetchTransport(baseURL);
|
|
64
95
|
peerToUse = {
|
|
65
|
-
peer: new Peer_js_1.Peer(this.wallet, newTransport, this.requestedCertificates, this.sessionManager)
|
|
96
|
+
peer: new Peer_js_1.Peer(this.wallet, newTransport, this.requestedCertificates, this.sessionManager),
|
|
97
|
+
pendingCertificateRequests: []
|
|
66
98
|
};
|
|
67
99
|
this.peers[baseURL] = peerToUse;
|
|
68
|
-
|
|
100
|
+
this.peers[baseURL].peer.listenForCertificatesReceived((senderPublicKey, certs) => {
|
|
69
101
|
this.certificatesReceived.push(...certs);
|
|
70
|
-
// peerToUse.peer.stopListeningForCertificatesReceived()
|
|
71
102
|
});
|
|
103
|
+
this.peers[baseURL].peer.listenForCertificatesRequested((async (verifier, requestedCertificates) => {
|
|
104
|
+
try {
|
|
105
|
+
this.peers[baseURL].pendingCertificateRequests.push(true);
|
|
106
|
+
const certificatesToInclude = await (0, index_js_1.getVerifiableCertificates)(this.wallet, requestedCertificates, verifier);
|
|
107
|
+
await this.peers[baseURL].peer.sendCertificateResponse(verifier, certificatesToInclude);
|
|
108
|
+
}
|
|
109
|
+
finally {
|
|
110
|
+
// Give the backend 500 ms to process the certificates we just sent, before releasing the queue entry
|
|
111
|
+
await new Promise(resolve => setTimeout(resolve, 500));
|
|
112
|
+
this.peers[baseURL].pendingCertificateRequests.shift();
|
|
113
|
+
}
|
|
114
|
+
}));
|
|
72
115
|
}
|
|
73
116
|
else {
|
|
74
117
|
// Check if there's a session associated with this baseURL
|
|
@@ -86,16 +129,16 @@ class AuthFetch {
|
|
|
86
129
|
peerToUse = this.peers[baseURL];
|
|
87
130
|
}
|
|
88
131
|
// Serialize the simplified fetch request.
|
|
89
|
-
const requestNonce = (0,
|
|
90
|
-
const requestNonceAsBase64 =
|
|
132
|
+
const requestNonce = (0, Random_js_1.default)(32);
|
|
133
|
+
const requestNonceAsBase64 = Utils.toBase64(requestNonce);
|
|
91
134
|
const writer = await this.serializeRequest(method, headers, body, parsedUrl, requestNonce);
|
|
92
135
|
// Setup general message listener to resolve requests once a response is received
|
|
93
136
|
this.callbacks[requestNonceAsBase64] = { resolve, reject };
|
|
94
137
|
const listenerId = peerToUse.peer.listenForGeneralMessages((senderPublicKey, payload) => {
|
|
95
138
|
// Create a reader
|
|
96
|
-
const responseReader = new
|
|
139
|
+
const responseReader = new Utils.Reader(payload);
|
|
97
140
|
// Deserialize first 32 bytes of payload
|
|
98
|
-
const responseNonceAsBase64 =
|
|
141
|
+
const responseNonceAsBase64 = Utils.toBase64(responseReader.read(32));
|
|
99
142
|
if (responseNonceAsBase64 !== requestNonceAsBase64) {
|
|
100
143
|
return;
|
|
101
144
|
}
|
|
@@ -112,10 +155,10 @@ class AuthFetch {
|
|
|
112
155
|
for (let i = 0; i < nHeaders; i++) {
|
|
113
156
|
const nHeaderKeyBytes = responseReader.readVarIntNum();
|
|
114
157
|
const headerKeyBytes = responseReader.read(nHeaderKeyBytes);
|
|
115
|
-
const headerKey =
|
|
158
|
+
const headerKey = Utils.toUTF8(headerKeyBytes);
|
|
116
159
|
const nHeaderValueBytes = responseReader.readVarIntNum();
|
|
117
160
|
const headerValueBytes = responseReader.read(nHeaderValueBytes);
|
|
118
|
-
const headerValue =
|
|
161
|
+
const headerValue = Utils.toUTF8(headerValueBytes);
|
|
119
162
|
responseHeaders[headerKey] = headerValue;
|
|
120
163
|
}
|
|
121
164
|
}
|
|
@@ -138,6 +181,19 @@ class AuthFetch {
|
|
|
138
181
|
// Clean up
|
|
139
182
|
delete this.callbacks[requestNonceAsBase64];
|
|
140
183
|
});
|
|
184
|
+
// Before sending general messages to the peer, ensure that no certificate requests are pending.
|
|
185
|
+
// This way, the user would need to choose to either allow or reject the certificate request first.
|
|
186
|
+
// If the server has a resource that requires certificates to be sent before access would be granted,
|
|
187
|
+
// this makes sure the user has a chance to send the certificates before the resource is requested.
|
|
188
|
+
if (peerToUse.pendingCertificateRequests.length > 0) {
|
|
189
|
+
await new Promise(resolve => {
|
|
190
|
+
setInterval(() => {
|
|
191
|
+
if (peerToUse.pendingCertificateRequests.length === 0) {
|
|
192
|
+
resolve();
|
|
193
|
+
}
|
|
194
|
+
}, 100); // Check every 100 ms for the user to finish responding
|
|
195
|
+
});
|
|
196
|
+
}
|
|
141
197
|
// Send the request, now that all listeners are set up
|
|
142
198
|
await peerToUse.peer.toPeer(writer.toArray(), peerToUse.identityKey).catch(async (error) => {
|
|
143
199
|
var _a;
|
|
@@ -181,7 +237,7 @@ class AuthFetch {
|
|
|
181
237
|
const parsedUrl = new URL(baseUrl);
|
|
182
238
|
const baseURL = parsedUrl.origin;
|
|
183
239
|
let peerToUse;
|
|
184
|
-
if (this.peers[baseURL]) {
|
|
240
|
+
if (typeof this.peers[baseURL] !== 'undefined') {
|
|
185
241
|
peerToUse = { peer: this.peers[baseURL].peer };
|
|
186
242
|
}
|
|
187
243
|
else {
|
|
@@ -192,7 +248,7 @@ class AuthFetch {
|
|
|
192
248
|
this.peers[baseURL] = peerToUse;
|
|
193
249
|
}
|
|
194
250
|
// Return a promise that resolves when certificates are received
|
|
195
|
-
return new Promise(async (resolve, reject) => {
|
|
251
|
+
return await new Promise((async (resolve, reject) => {
|
|
196
252
|
// Set up the listener before making the request
|
|
197
253
|
const callbackId = peerToUse.peer.listenForCertificatesReceived((_senderPublicKey, certs) => {
|
|
198
254
|
peerToUse.peer.stopListeningForCertificatesReceived(callbackId);
|
|
@@ -207,7 +263,7 @@ class AuthFetch {
|
|
|
207
263
|
peerToUse.peer.stopListeningForCertificatesReceived(callbackId);
|
|
208
264
|
reject(err);
|
|
209
265
|
}
|
|
210
|
-
});
|
|
266
|
+
}));
|
|
211
267
|
}
|
|
212
268
|
/**
|
|
213
269
|
* Return any certificates we've collected thus far, then clear them out.
|
|
@@ -228,17 +284,17 @@ class AuthFetch {
|
|
|
228
284
|
* @throws Will throw an error if unsupported headers are used or serialization fails.
|
|
229
285
|
*/
|
|
230
286
|
async serializeRequest(method, headers, body, parsedUrl, requestNonce) {
|
|
231
|
-
const writer = new
|
|
287
|
+
const writer = new Utils.Writer();
|
|
232
288
|
// Write request nonce
|
|
233
289
|
writer.write(requestNonce);
|
|
234
290
|
// Method length
|
|
235
291
|
writer.writeVarIntNum(method.length);
|
|
236
292
|
// Method
|
|
237
|
-
writer.write(
|
|
293
|
+
writer.write(Utils.toArray(method));
|
|
238
294
|
// Handle pathname (e.g. /path/to/resource)
|
|
239
295
|
if (parsedUrl.pathname.length > 0) {
|
|
240
296
|
// Pathname length
|
|
241
|
-
const pathnameAsArray =
|
|
297
|
+
const pathnameAsArray = Utils.toArray(parsedUrl.pathname);
|
|
242
298
|
writer.writeVarIntNum(pathnameAsArray.length);
|
|
243
299
|
// Pathname
|
|
244
300
|
writer.write(pathnameAsArray);
|
|
@@ -249,7 +305,7 @@ class AuthFetch {
|
|
|
249
305
|
// Handle search params (e.g. ?q=hello)
|
|
250
306
|
if (parsedUrl.search.length > 0) {
|
|
251
307
|
// search length
|
|
252
|
-
const searchAsArray =
|
|
308
|
+
const searchAsArray = Utils.toArray(parsedUrl.search);
|
|
253
309
|
writer.writeVarIntNum(searchAsArray.length);
|
|
254
310
|
// search
|
|
255
311
|
writer.write(searchAsArray);
|
|
@@ -278,12 +334,12 @@ class AuthFetch {
|
|
|
278
334
|
writer.writeVarIntNum(includedHeaders.length);
|
|
279
335
|
for (let i = 0; i < includedHeaders.length; i++) {
|
|
280
336
|
// headerKeyLength
|
|
281
|
-
const headerKeyAsArray =
|
|
337
|
+
const headerKeyAsArray = Utils.toArray(includedHeaders[i][0], 'utf8');
|
|
282
338
|
writer.writeVarIntNum(headerKeyAsArray.length);
|
|
283
339
|
// headerKey
|
|
284
340
|
writer.write(headerKeyAsArray);
|
|
285
341
|
// headerValueLength
|
|
286
|
-
const headerValueAsArray =
|
|
342
|
+
const headerValueAsArray = Utils.toArray(includedHeaders[i][1], 'utf8');
|
|
287
343
|
writer.writeVarIntNum(headerValueAsArray.length);
|
|
288
344
|
// headerValue
|
|
289
345
|
writer.write(headerValueAsArray);
|
|
@@ -359,14 +415,14 @@ class AuthFetch {
|
|
|
359
415
|
throw new Error('Missing x-bsv-payment-derivation-prefix response header.');
|
|
360
416
|
}
|
|
361
417
|
// Create a random suffix for the derivation path
|
|
362
|
-
const derivationSuffix = await (0,
|
|
418
|
+
const derivationSuffix = await (0, createNonce_js_1.createNonce)(this.wallet);
|
|
363
419
|
// Derive the script hex from the server identity key
|
|
364
420
|
const { publicKey: derivedPublicKey } = await this.wallet.getPublicKey({
|
|
365
421
|
protocolID: [2, '3241645161d8'],
|
|
366
422
|
keyID: `${derivationPrefix} ${derivationSuffix}`,
|
|
367
423
|
counterparty: serverIdentityKey
|
|
368
424
|
});
|
|
369
|
-
const lockingScript = new
|
|
425
|
+
const lockingScript = new P2PKH_js_1.default().lock(PublicKey_js_1.default.fromString(derivedPublicKey).toAddress()).toHex();
|
|
370
426
|
// Create the payment transaction using createAction
|
|
371
427
|
const { tx } = await this.wallet.createAction({
|
|
372
428
|
description: `Payment for request to ${new URL(url).origin}`,
|
|
@@ -385,7 +441,7 @@ class AuthFetch {
|
|
|
385
441
|
config.headers['x-bsv-payment'] = JSON.stringify({
|
|
386
442
|
derivationPrefix,
|
|
387
443
|
derivationSuffix,
|
|
388
|
-
transaction:
|
|
444
|
+
transaction: Utils.toBase64(tx)
|
|
389
445
|
});
|
|
390
446
|
(_a = config.retryCounter) !== null && _a !== void 0 ? _a : (config.retryCounter = 3);
|
|
391
447
|
// Re-attempt request with payment attached
|
|
@@ -398,7 +454,7 @@ class AuthFetch {
|
|
|
398
454
|
}
|
|
399
455
|
// 1. object
|
|
400
456
|
if (typeof body === 'object') {
|
|
401
|
-
return
|
|
457
|
+
return Utils.toArray(JSON.stringify(body, 'utf8'));
|
|
402
458
|
}
|
|
403
459
|
// 2. number[]
|
|
404
460
|
if (Array.isArray(body) && body.every((item) => typeof item === 'number')) {
|
|
@@ -406,7 +462,7 @@ class AuthFetch {
|
|
|
406
462
|
}
|
|
407
463
|
// 3. string
|
|
408
464
|
if (typeof body === 'string') {
|
|
409
|
-
return
|
|
465
|
+
return Utils.toArray(body, 'utf8');
|
|
410
466
|
}
|
|
411
467
|
// 4. ArrayBuffer / TypedArrays
|
|
412
468
|
if (body instanceof ArrayBuffer || ArrayBuffer.isView(body)) {
|
|
@@ -425,11 +481,11 @@ class AuthFetch {
|
|
|
425
481
|
entries.push([key, value.toString()]);
|
|
426
482
|
});
|
|
427
483
|
const urlEncoded = new URLSearchParams(entries).toString();
|
|
428
|
-
return
|
|
484
|
+
return Utils.toArray(urlEncoded, 'utf8');
|
|
429
485
|
}
|
|
430
486
|
// 7. URLSearchParams
|
|
431
487
|
if (body instanceof URLSearchParams) {
|
|
432
|
-
return
|
|
488
|
+
return Utils.toArray(body.toString(), 'utf8');
|
|
433
489
|
}
|
|
434
490
|
// 8. ReadableStream
|
|
435
491
|
if (body instanceof ReadableStream) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthFetch.js","sourceRoot":"","sources":["../../../../../src/auth/clients/AuthFetch.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AuthFetch.js","sourceRoot":"","sources":["../../../../../src/auth/clients/AuthFetch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
26
|
exports.SimplifiedFetchTransport = void 0;
|
|
4
|
-
const
|
|
27
|
+
const Utils = __importStar(require("../../primitives/utils.js"));
|
|
5
28
|
const SUCCESS_STATUS_CODES = [200, 402];
|
|
6
29
|
// Only bind window.fetch in the browser
|
|
7
30
|
const defaultFetch = typeof window !== 'undefined' ? fetch.bind(window) : fetch;
|
|
@@ -35,24 +58,37 @@ class SimplifiedFetchTransport {
|
|
|
35
58
|
throw new Error('Listen before you start speaking. God gave you two ears and one mouth for a reason.');
|
|
36
59
|
}
|
|
37
60
|
if (message.messageType !== 'general') {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
61
|
+
return new Promise(async (resolve, reject) => {
|
|
62
|
+
try {
|
|
63
|
+
const responsePromise = this.fetchClient(`${this.baseUrl}/.well-known/auth`, {
|
|
64
|
+
method: 'POST',
|
|
65
|
+
headers: {
|
|
66
|
+
'Content-Type': 'application/json'
|
|
67
|
+
},
|
|
68
|
+
body: JSON.stringify(message)
|
|
69
|
+
});
|
|
70
|
+
if (message.messageType !== "initialRequest") {
|
|
71
|
+
resolve();
|
|
72
|
+
}
|
|
73
|
+
const response = await responsePromise;
|
|
74
|
+
// Handle the response if data is received and callback is set
|
|
75
|
+
if (response.ok && this.onDataCallback) {
|
|
76
|
+
const responseMessage = await response.json();
|
|
77
|
+
this.onDataCallback(responseMessage);
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
// Server may be a non authenticated server
|
|
81
|
+
throw new Error('HTTP server failed to authenticate');
|
|
82
|
+
}
|
|
83
|
+
if (message.messageType === "initialRequest") {
|
|
84
|
+
resolve();
|
|
85
|
+
}
|
|
50
86
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}
|
|
87
|
+
catch (e) {
|
|
88
|
+
reject(e);
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
});
|
|
56
92
|
}
|
|
57
93
|
else {
|
|
58
94
|
// Parse message payload
|
|
@@ -68,7 +104,7 @@ class SimplifiedFetchTransport {
|
|
|
68
104
|
httpRequestWithAuthHeaders.headers['x-bsv-auth-identity-key'] = message.identityKey;
|
|
69
105
|
httpRequestWithAuthHeaders.headers['x-bsv-auth-nonce'] = message.nonce;
|
|
70
106
|
httpRequestWithAuthHeaders.headers['x-bsv-auth-your-nonce'] = message.yourNonce;
|
|
71
|
-
httpRequestWithAuthHeaders.headers['x-bsv-auth-signature'] =
|
|
107
|
+
httpRequestWithAuthHeaders.headers['x-bsv-auth-signature'] = Utils.toHex(message.signature);
|
|
72
108
|
httpRequestWithAuthHeaders.headers['x-bsv-auth-request-id'] = httpRequest.requestId;
|
|
73
109
|
// Ensure Content-Type is set for requests with a body
|
|
74
110
|
if (httpRequestWithAuthHeaders.body) {
|
|
@@ -80,15 +116,15 @@ class SimplifiedFetchTransport {
|
|
|
80
116
|
// Transform body based on Content-Type
|
|
81
117
|
if (contentType.includes('application/json')) {
|
|
82
118
|
// Convert byte array to JSON string
|
|
83
|
-
httpRequestWithAuthHeaders.body =
|
|
119
|
+
httpRequestWithAuthHeaders.body = Utils.toUTF8(httpRequestWithAuthHeaders.body);
|
|
84
120
|
}
|
|
85
121
|
else if (contentType.includes('application/x-www-form-urlencoded')) {
|
|
86
122
|
// Convert byte array to URL-encoded string
|
|
87
|
-
httpRequestWithAuthHeaders.body =
|
|
123
|
+
httpRequestWithAuthHeaders.body = Utils.toUTF8(httpRequestWithAuthHeaders.body);
|
|
88
124
|
}
|
|
89
125
|
else if (contentType.includes('text/plain')) {
|
|
90
126
|
// Convert byte array to plain UTF-8 string
|
|
91
|
-
httpRequestWithAuthHeaders.body =
|
|
127
|
+
httpRequestWithAuthHeaders.body = Utils.toUTF8(httpRequestWithAuthHeaders.body);
|
|
92
128
|
}
|
|
93
129
|
else {
|
|
94
130
|
// For all other content types, treat as binary data
|
|
@@ -122,8 +158,8 @@ class SimplifiedFetchTransport {
|
|
|
122
158
|
throw new Error(`HTTP ${response.status} - ${JSON.stringify(errorInfo)}`);
|
|
123
159
|
}
|
|
124
160
|
const parsedBody = await response.arrayBuffer();
|
|
125
|
-
const payloadWriter = new
|
|
126
|
-
payloadWriter.write(
|
|
161
|
+
const payloadWriter = new Utils.Writer();
|
|
162
|
+
payloadWriter.write(Utils.toArray(response.headers.get('x-bsv-auth-request-id'), 'base64'));
|
|
127
163
|
payloadWriter.writeVarIntNum(response.status);
|
|
128
164
|
// Filter out headers the server signed:
|
|
129
165
|
// - Custom headers prefixed with x-bsv are included, except auth
|
|
@@ -147,12 +183,12 @@ class SimplifiedFetchTransport {
|
|
|
147
183
|
payloadWriter.writeVarIntNum(includedHeaders.length);
|
|
148
184
|
for (let i = 0; i < includedHeaders.length; i++) {
|
|
149
185
|
// headerKeyLength
|
|
150
|
-
const headerKeyAsArray =
|
|
186
|
+
const headerKeyAsArray = Utils.toArray(includedHeaders[i][0], 'utf8');
|
|
151
187
|
payloadWriter.writeVarIntNum(headerKeyAsArray.length);
|
|
152
188
|
// headerKey
|
|
153
189
|
payloadWriter.write(headerKeyAsArray);
|
|
154
190
|
// headerValueLength
|
|
155
|
-
const headerValueAsArray =
|
|
191
|
+
const headerValueAsArray = Utils.toArray(includedHeaders[i][1], 'utf8');
|
|
156
192
|
payloadWriter.writeVarIntNum(headerValueAsArray.length);
|
|
157
193
|
// headerValue
|
|
158
194
|
payloadWriter.write(headerValueAsArray);
|
|
@@ -175,7 +211,7 @@ class SimplifiedFetchTransport {
|
|
|
175
211
|
yourNonce: response.headers.get('x-bsv-auth-your-nonce'),
|
|
176
212
|
requestedCertificates: JSON.parse(response.headers.get('x-bsv-auth-requested-certificates')),
|
|
177
213
|
payload: payloadWriter.toArray(),
|
|
178
|
-
signature:
|
|
214
|
+
signature: Utils.toArray(response.headers.get('x-bsv-auth-signature'), 'hex'),
|
|
179
215
|
};
|
|
180
216
|
// If the server didn't provide the correct authentication headers, throw an error
|
|
181
217
|
if (!responseMessage.version) {
|
|
@@ -206,26 +242,26 @@ class SimplifiedFetchTransport {
|
|
|
206
242
|
*/
|
|
207
243
|
deserializeRequestPayload(payload) {
|
|
208
244
|
// Create a reader
|
|
209
|
-
const requestReader = new
|
|
245
|
+
const requestReader = new Utils.Reader(payload);
|
|
210
246
|
// The first 32 bytes is the requestId
|
|
211
|
-
const requestId =
|
|
247
|
+
const requestId = Utils.toBase64(requestReader.read(32));
|
|
212
248
|
// Method
|
|
213
249
|
const methodLength = requestReader.readVarIntNum();
|
|
214
250
|
let method = 'GET';
|
|
215
251
|
if (methodLength > 0) {
|
|
216
|
-
method =
|
|
252
|
+
method = Utils.toUTF8(requestReader.read(methodLength));
|
|
217
253
|
}
|
|
218
254
|
// Path
|
|
219
255
|
const pathLength = requestReader.readVarIntNum();
|
|
220
256
|
let path = '';
|
|
221
257
|
if (pathLength > 0) {
|
|
222
|
-
path =
|
|
258
|
+
path = Utils.toUTF8(requestReader.read(pathLength));
|
|
223
259
|
}
|
|
224
260
|
// Search
|
|
225
261
|
const searchLength = requestReader.readVarIntNum();
|
|
226
262
|
let search = '';
|
|
227
263
|
if (searchLength > 0) {
|
|
228
|
-
search =
|
|
264
|
+
search = Utils.toUTF8(requestReader.read(searchLength));
|
|
229
265
|
}
|
|
230
266
|
// Read headers
|
|
231
267
|
const requestHeaders = {};
|
|
@@ -234,10 +270,10 @@ class SimplifiedFetchTransport {
|
|
|
234
270
|
for (let i = 0; i < nHeaders; i++) {
|
|
235
271
|
const nHeaderKeyBytes = requestReader.readVarIntNum();
|
|
236
272
|
const headerKeyBytes = requestReader.read(nHeaderKeyBytes);
|
|
237
|
-
const headerKey =
|
|
273
|
+
const headerKey = Utils.toUTF8(headerKeyBytes);
|
|
238
274
|
const nHeaderValueBytes = requestReader.readVarIntNum();
|
|
239
275
|
const headerValueBytes = requestReader.read(nHeaderValueBytes);
|
|
240
|
-
const headerValue =
|
|
276
|
+
const headerValue = Utils.toUTF8(headerValueBytes);
|
|
241
277
|
requestHeaders[headerKey] = headerValue;
|
|
242
278
|
}
|
|
243
279
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimplifiedFetchTransport.js","sourceRoot":"","sources":["../../../../../src/auth/transports/SimplifiedFetchTransport.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SimplifiedFetchTransport.js","sourceRoot":"","sources":["../../../../../src/auth/transports/SimplifiedFetchTransport.ts"],"names":[],"mappings":"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"}
|