@bsv/sdk 2.0.14 → 2.0.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 +14 -14
- package/dist/cjs/src/primitives/Hash.js +1 -1
- package/dist/cjs/src/primitives/Hash.js.map +1 -1
- package/dist/cjs/src/primitives/TransactionSignature.js +10 -3
- package/dist/cjs/src/primitives/TransactionSignature.js.map +1 -1
- package/dist/cjs/src/script/Script.js +60 -13
- package/dist/cjs/src/script/Script.js.map +1 -1
- package/dist/cjs/src/script/Spend.js +434 -59
- package/dist/cjs/src/script/Spend.js.map +1 -1
- package/dist/cjs/src/transaction/http/BinaryFetchClient.js +6 -2
- package/dist/cjs/src/transaction/http/BinaryFetchClient.js.map +1 -1
- package/dist/cjs/src/transaction/http/DefaultHttpClient.js +8 -4
- package/dist/cjs/src/transaction/http/DefaultHttpClient.js.map +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/src/primitives/Hash.js +1 -1
- package/dist/esm/src/primitives/Hash.js.map +1 -1
- package/dist/esm/src/primitives/TransactionSignature.js +10 -3
- package/dist/esm/src/primitives/TransactionSignature.js.map +1 -1
- package/dist/esm/src/script/Script.js +60 -13
- package/dist/esm/src/script/Script.js.map +1 -1
- package/dist/esm/src/script/Spend.js +438 -59
- package/dist/esm/src/script/Spend.js.map +1 -1
- package/dist/esm/src/transaction/http/BinaryFetchClient.js +6 -2
- package/dist/esm/src/transaction/http/BinaryFetchClient.js.map +1 -1
- package/dist/esm/src/transaction/http/DefaultHttpClient.js +8 -4
- package/dist/esm/src/transaction/http/DefaultHttpClient.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/types/src/primitives/TransactionSignature.d.ts +1 -0
- package/dist/types/src/primitives/TransactionSignature.d.ts.map +1 -1
- package/dist/types/src/script/Script.d.ts +1 -0
- package/dist/types/src/script/Script.d.ts.map +1 -1
- package/dist/types/src/script/ScriptChunk.d.ts +1 -0
- package/dist/types/src/script/ScriptChunk.d.ts.map +1 -1
- package/dist/types/src/script/Spend.d.ts +29 -0
- package/dist/types/src/script/Spend.d.ts.map +1 -1
- package/dist/types/src/transaction/http/BinaryFetchClient.d.ts.map +1 -1
- package/dist/types/src/transaction/http/DefaultHttpClient.d.ts +2 -2
- package/dist/types/src/transaction/http/DefaultHttpClient.d.ts.map +1 -1
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/dist/umd/bundle.js +3 -4
- package/docs/reference/primitives.md +1 -0
- package/docs/reference/script.md +7 -0
- package/docs/reference/transaction.md +2 -2
- package/package.json +14 -14
- package/src/primitives/Hash.ts +1 -1
- package/src/primitives/TransactionSignature.ts +11 -3
- package/src/script/Script.ts +59 -13
- package/src/script/ScriptChunk.ts +1 -0
- package/src/script/Spend.ts +483 -61
- package/src/script/__tests/NormativeVectors.test.ts +465 -0
- package/src/script/__tests/fixtures/SOURCES.md +25 -0
- package/src/script/__tests/fixtures/bitcoin-sv/script_tests.json +2591 -0
- package/src/script/__tests/fixtures/bitcoin-sv/sighash.json +1003 -0
- package/src/script/__tests/fixtures/bitcoin-sv/tx_invalid.json +285 -0
- package/src/script/__tests/fixtures/bitcoin-sv/tx_valid.json +367 -0
- package/src/script/__tests/fixtures/teranode/script_tests.json +2432 -0
- package/src/script/__tests/fixtures/teranode/sighash.json +1003 -0
- package/src/script/__tests/fixtures/teranode/tx_invalid.json +285 -0
- package/src/script/__tests/fixtures/teranode/tx_valid.json +367 -0
- package/src/transaction/broadcasters/__tests/ARC.test.ts +26 -4
- package/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.ts +26 -4
- package/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.ts +32 -10
- package/src/transaction/http/BinaryFetchClient.ts +5 -2
- package/src/transaction/http/DefaultHttpClient.ts +7 -4
- package/src/transaction/http/__tests/DefaultHttpClient.additional.test.ts +19 -1
- package/dist/cjs/src/auth/clients/__tests__/AuthFetch.additional.test.js +0 -827
- package/dist/cjs/src/auth/clients/__tests__/AuthFetch.additional.test.js.map +0 -1
- package/dist/cjs/src/auth/clients/__tests__/AuthFetch.test.js +0 -266
- package/dist/cjs/src/auth/clients/__tests__/AuthFetch.test.js.map +0 -1
- package/dist/cjs/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.js +0 -654
- package/dist/cjs/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.js.map +0 -1
- package/dist/cjs/src/auth/transports/__tests__/SimplifiedFetchTransport.test.js +0 -144
- package/dist/cjs/src/auth/transports/__tests__/SimplifiedFetchTransport.test.js.map +0 -1
- package/dist/esm/src/auth/clients/__tests__/AuthFetch.additional.test.js +0 -825
- package/dist/esm/src/auth/clients/__tests__/AuthFetch.additional.test.js.map +0 -1
- package/dist/esm/src/auth/clients/__tests__/AuthFetch.test.js +0 -264
- package/dist/esm/src/auth/clients/__tests__/AuthFetch.test.js.map +0 -1
- package/dist/esm/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.js +0 -619
- package/dist/esm/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.js.map +0 -1
- package/dist/esm/src/auth/transports/__tests__/SimplifiedFetchTransport.test.js +0 -109
- package/dist/esm/src/auth/transports/__tests__/SimplifiedFetchTransport.test.js.map +0 -1
- package/dist/types/src/auth/clients/__tests__/AuthFetch.additional.test.d.ts +0 -21
- package/dist/types/src/auth/clients/__tests__/AuthFetch.additional.test.d.ts.map +0 -1
- package/dist/types/src/auth/clients/__tests__/AuthFetch.test.d.ts +0 -2
- package/dist/types/src/auth/clients/__tests__/AuthFetch.test.d.ts.map +0 -1
- package/dist/types/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.d.ts +0 -2
- package/dist/types/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.d.ts.map +0 -1
- package/dist/types/src/auth/transports/__tests__/SimplifiedFetchTransport.test.d.ts +0 -2
- package/dist/types/src/auth/transports/__tests__/SimplifiedFetchTransport.test.d.ts.map +0 -1
- package/dist/umd/bundle.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AuthFetch.additional.test.js","sourceRoot":"","sources":["../../../../../../src/auth/clients/__tests__/AuthFetch.additional.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,266 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const globals_1 = require("@jest/globals");
|
|
4
|
-
const AuthFetch_js_1 = require("../AuthFetch.js");
|
|
5
|
-
const index_js_1 = require("../../../primitives/index.js");
|
|
6
|
-
globals_1.jest.mock('../../utils/createNonce.js', () => ({
|
|
7
|
-
createNonce: globals_1.jest.fn()
|
|
8
|
-
}));
|
|
9
|
-
const createNonce_js_1 = require("../../utils/createNonce.js");
|
|
10
|
-
const createNonceMock = createNonce_js_1.createNonce;
|
|
11
|
-
function createWalletStub() {
|
|
12
|
-
const identityKey = new index_js_1.PrivateKey(10).toPublicKey().toString();
|
|
13
|
-
const derivedKey = new index_js_1.PrivateKey(11).toPublicKey().toString();
|
|
14
|
-
return {
|
|
15
|
-
getPublicKey: globals_1.jest.fn(async (options) => {
|
|
16
|
-
if (options?.identityKey === true) {
|
|
17
|
-
return { publicKey: identityKey };
|
|
18
|
-
}
|
|
19
|
-
return { publicKey: derivedKey };
|
|
20
|
-
}),
|
|
21
|
-
createAction: globals_1.jest.fn(async () => ({
|
|
22
|
-
tx: index_js_1.Utils.toArray('mock-transaction', 'utf8')
|
|
23
|
-
})),
|
|
24
|
-
createHmac: globals_1.jest.fn(async () => ({
|
|
25
|
-
hmac: new Array(32).fill(7)
|
|
26
|
-
}))
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
function createPaymentRequiredResponse(overrides = {}) {
|
|
30
|
-
const headers = {
|
|
31
|
-
'x-bsv-payment-version': '1.0',
|
|
32
|
-
'x-bsv-payment-satoshis-required': '5',
|
|
33
|
-
'x-bsv-auth-identity-key': 'server-key',
|
|
34
|
-
'x-bsv-payment-derivation-prefix': 'prefix',
|
|
35
|
-
...overrides
|
|
36
|
-
};
|
|
37
|
-
return new Response('', { status: 402, headers });
|
|
38
|
-
}
|
|
39
|
-
afterEach(() => {
|
|
40
|
-
globals_1.jest.restoreAllMocks();
|
|
41
|
-
createNonceMock.mockReset();
|
|
42
|
-
});
|
|
43
|
-
describe('AuthFetch payment handling', () => {
|
|
44
|
-
test('createPaymentContext builds a complete retry context', async () => {
|
|
45
|
-
const wallet = createWalletStub();
|
|
46
|
-
const authFetch = new AuthFetch_js_1.AuthFetch(wallet);
|
|
47
|
-
createNonceMock.mockResolvedValueOnce('suffix-from-test');
|
|
48
|
-
const config = {
|
|
49
|
-
method: 'POST',
|
|
50
|
-
headers: { 'Content-Type': 'application/json' },
|
|
51
|
-
body: { hello: 'world' }
|
|
52
|
-
};
|
|
53
|
-
const context = await authFetch.createPaymentContext('https://api.example.com/resource', config, 42, 'remote-identity-key', 'test-prefix');
|
|
54
|
-
expect(context.satoshisRequired).toBe(42);
|
|
55
|
-
expect(context.serverIdentityKey).toBe('remote-identity-key');
|
|
56
|
-
expect(context.derivationPrefix).toBe('test-prefix');
|
|
57
|
-
expect(context.derivationSuffix).toBe('suffix-from-test');
|
|
58
|
-
expect(context.transactionBase64).toBe(index_js_1.Utils.toBase64(index_js_1.Utils.toArray('mock-transaction', 'utf8')));
|
|
59
|
-
expect(context.clientIdentityKey).toEqual(expect.any(String));
|
|
60
|
-
expect(context.attempts).toBe(0);
|
|
61
|
-
expect(context.maxAttempts).toBe(3);
|
|
62
|
-
expect(context.errors).toEqual([]);
|
|
63
|
-
expect(context.requestSummary).toMatchObject({
|
|
64
|
-
url: 'https://api.example.com/resource',
|
|
65
|
-
method: 'POST',
|
|
66
|
-
headers: { 'Content-Type': 'application/json' },
|
|
67
|
-
bodyType: 'object'
|
|
68
|
-
});
|
|
69
|
-
expect(context.requestSummary.bodyByteLength).toBe(index_js_1.Utils.toArray(JSON.stringify(config.body), 'utf8').length);
|
|
70
|
-
expect(wallet.createAction).toHaveBeenCalledWith(expect.objectContaining({
|
|
71
|
-
description: expect.stringContaining('https://api.example.com'),
|
|
72
|
-
outputs: [
|
|
73
|
-
expect.objectContaining({
|
|
74
|
-
satoshis: 42,
|
|
75
|
-
customInstructions: expect.stringContaining('remote-identity-key')
|
|
76
|
-
})
|
|
77
|
-
]
|
|
78
|
-
}), undefined);
|
|
79
|
-
});
|
|
80
|
-
test('handlePaymentAndRetry reuses compatible contexts and adds payment header', async () => {
|
|
81
|
-
const wallet = createWalletStub();
|
|
82
|
-
const authFetch = new AuthFetch_js_1.AuthFetch(wallet);
|
|
83
|
-
const paymentContext = {
|
|
84
|
-
satoshisRequired: 5,
|
|
85
|
-
transactionBase64: index_js_1.Utils.toBase64([1, 2, 3]),
|
|
86
|
-
derivationPrefix: 'prefix',
|
|
87
|
-
derivationSuffix: 'suffix',
|
|
88
|
-
serverIdentityKey: 'server-key',
|
|
89
|
-
clientIdentityKey: 'client-key',
|
|
90
|
-
attempts: 0,
|
|
91
|
-
maxAttempts: 3,
|
|
92
|
-
errors: [],
|
|
93
|
-
requestSummary: {
|
|
94
|
-
url: 'https://api.example.com/resource',
|
|
95
|
-
method: 'POST',
|
|
96
|
-
headers: { 'X-Test': '1' },
|
|
97
|
-
bodyType: 'none',
|
|
98
|
-
bodyByteLength: 0
|
|
99
|
-
}
|
|
100
|
-
};
|
|
101
|
-
const fetchSpy = globals_1.jest.spyOn(authFetch, 'fetch').mockResolvedValue({ status: 200 });
|
|
102
|
-
globals_1.jest.spyOn(authFetch, 'logPaymentAttempt').mockImplementation(() => { });
|
|
103
|
-
const createPaymentContextSpy = globals_1.jest.spyOn(authFetch, 'createPaymentContext');
|
|
104
|
-
const config = {
|
|
105
|
-
headers: { 'x-custom': 'value' },
|
|
106
|
-
paymentContext
|
|
107
|
-
};
|
|
108
|
-
const response = createPaymentRequiredResponse();
|
|
109
|
-
const result = await authFetch.handlePaymentAndRetry('https://api.example.com/resource', config, response);
|
|
110
|
-
expect(result).toEqual({ status: 200 });
|
|
111
|
-
expect(paymentContext.attempts).toBe(1);
|
|
112
|
-
expect(fetchSpy).toHaveBeenCalledTimes(1);
|
|
113
|
-
const callArgs = fetchSpy.mock.calls[0];
|
|
114
|
-
const nextConfig = callArgs?.[1];
|
|
115
|
-
expect(nextConfig).toBeDefined();
|
|
116
|
-
expect(nextConfig.paymentContext).toBe(paymentContext);
|
|
117
|
-
expect(nextConfig.retryCounter).toBe(3);
|
|
118
|
-
const paymentHeader = JSON.parse(nextConfig.headers['x-bsv-payment']);
|
|
119
|
-
expect(paymentHeader).toEqual({
|
|
120
|
-
derivationPrefix: 'prefix',
|
|
121
|
-
derivationSuffix: 'suffix',
|
|
122
|
-
transaction: index_js_1.Utils.toBase64([1, 2, 3])
|
|
123
|
-
});
|
|
124
|
-
expect(createPaymentContextSpy).not.toHaveBeenCalled();
|
|
125
|
-
});
|
|
126
|
-
test('handlePaymentAndRetry exhausts attempts and throws detailed error', async () => {
|
|
127
|
-
const wallet = createWalletStub();
|
|
128
|
-
const authFetch = new AuthFetch_js_1.AuthFetch(wallet);
|
|
129
|
-
globals_1.jest.spyOn(authFetch, 'logPaymentAttempt').mockImplementation(() => { });
|
|
130
|
-
globals_1.jest.spyOn(authFetch, 'wait').mockResolvedValue(undefined);
|
|
131
|
-
const firstError = new Error('payment attempt 1 failed');
|
|
132
|
-
const secondError = new Error('payment attempt 2 failed');
|
|
133
|
-
globals_1.jest.spyOn(authFetch, 'fetch')
|
|
134
|
-
.mockRejectedValueOnce(firstError)
|
|
135
|
-
.mockRejectedValueOnce(secondError);
|
|
136
|
-
const paymentContext = {
|
|
137
|
-
satoshisRequired: 5,
|
|
138
|
-
transactionBase64: index_js_1.Utils.toBase64([9, 9, 9]),
|
|
139
|
-
derivationPrefix: 'prefix',
|
|
140
|
-
derivationSuffix: 'suffix',
|
|
141
|
-
serverIdentityKey: 'server-key',
|
|
142
|
-
clientIdentityKey: 'client-key',
|
|
143
|
-
attempts: 0,
|
|
144
|
-
maxAttempts: 2,
|
|
145
|
-
errors: [],
|
|
146
|
-
requestSummary: {
|
|
147
|
-
url: 'https://api.example.com/resource',
|
|
148
|
-
method: 'GET',
|
|
149
|
-
headers: {},
|
|
150
|
-
bodyType: 'none',
|
|
151
|
-
bodyByteLength: 0
|
|
152
|
-
}
|
|
153
|
-
};
|
|
154
|
-
const config = { paymentContext };
|
|
155
|
-
const response = createPaymentRequiredResponse();
|
|
156
|
-
await expect((async () => {
|
|
157
|
-
try {
|
|
158
|
-
await authFetch.handlePaymentAndRetry('https://api.example.com/resource', config, response);
|
|
159
|
-
}
|
|
160
|
-
catch (error) {
|
|
161
|
-
const err = error;
|
|
162
|
-
expect(err.message).toBe('Paid request to https://api.example.com/resource failed after 2/2 attempts. Sent 5 satoshis to server-key.');
|
|
163
|
-
expect(err.details).toMatchObject({
|
|
164
|
-
attempts: { used: 2, max: 2 },
|
|
165
|
-
payment: expect.objectContaining({
|
|
166
|
-
satoshis: 5,
|
|
167
|
-
serverIdentityKey: 'server-key',
|
|
168
|
-
clientIdentityKey: 'client-key'
|
|
169
|
-
})
|
|
170
|
-
});
|
|
171
|
-
expect(err.details.errors).toHaveLength(2);
|
|
172
|
-
expect(err.details.errors[0]).toEqual(expect.objectContaining({
|
|
173
|
-
attempt: 1,
|
|
174
|
-
message: 'payment attempt 1 failed'
|
|
175
|
-
}));
|
|
176
|
-
expect(err.details.errors[1]).toEqual(expect.objectContaining({
|
|
177
|
-
attempt: 2,
|
|
178
|
-
message: 'payment attempt 2 failed'
|
|
179
|
-
}));
|
|
180
|
-
expect(typeof err.details.errors[0].timestamp).toBe('string');
|
|
181
|
-
expect(err.cause).toBe(secondError);
|
|
182
|
-
throw error;
|
|
183
|
-
}
|
|
184
|
-
})()).rejects.toThrow('Paid request to https://api.example.com/resource failed after 2/2 attempts. Sent 5 satoshis to server-key.');
|
|
185
|
-
expect(paymentContext.attempts).toBe(2);
|
|
186
|
-
expect(paymentContext.errors).toHaveLength(2);
|
|
187
|
-
});
|
|
188
|
-
});
|
|
189
|
-
describe('AuthFetch certificate request handling', () => {
|
|
190
|
-
const requestedCertificates = {
|
|
191
|
-
certifiers: ['certifier-key'],
|
|
192
|
-
types: { 'certificate-type': ['firstName'] }
|
|
193
|
-
};
|
|
194
|
-
test('sendCertificateRequest resolves and cleans up listener when certificates are received', async () => {
|
|
195
|
-
const wallet = createWalletStub();
|
|
196
|
-
const authFetch = new AuthFetch_js_1.AuthFetch(wallet);
|
|
197
|
-
let certificatesListener;
|
|
198
|
-
const stopListeningForCertificatesReceived = globals_1.jest.fn();
|
|
199
|
-
const requestCertificates = globals_1.jest.fn(async () => {
|
|
200
|
-
certificatesListener?.('server-identity', [{ serialNumber: 'abc123' }]);
|
|
201
|
-
});
|
|
202
|
-
const peerStub = {
|
|
203
|
-
listenForCertificatesReceived: globals_1.jest.fn((listener) => {
|
|
204
|
-
certificatesListener = listener;
|
|
205
|
-
return 7;
|
|
206
|
-
}),
|
|
207
|
-
stopListeningForCertificatesReceived,
|
|
208
|
-
requestCertificates
|
|
209
|
-
};
|
|
210
|
-
authFetch.peers['https://api.example.com'] = {
|
|
211
|
-
peer: peerStub,
|
|
212
|
-
pendingCertificateRequests: []
|
|
213
|
-
};
|
|
214
|
-
const certs = await authFetch.sendCertificateRequest('https://api.example.com', requestedCertificates);
|
|
215
|
-
expect(certs).toHaveLength(1);
|
|
216
|
-
expect(requestCertificates).toHaveBeenCalledWith(requestedCertificates, undefined);
|
|
217
|
-
expect(stopListeningForCertificatesReceived).toHaveBeenCalledWith(7);
|
|
218
|
-
});
|
|
219
|
-
test('sendCertificateRequest rejects and cleans up listener when requestCertificates throws', async () => {
|
|
220
|
-
const wallet = createWalletStub();
|
|
221
|
-
const authFetch = new AuthFetch_js_1.AuthFetch(wallet);
|
|
222
|
-
const requestError = new Error('request failed');
|
|
223
|
-
const stopListeningForCertificatesReceived = globals_1.jest.fn();
|
|
224
|
-
const requestCertificates = globals_1.jest.fn(async () => {
|
|
225
|
-
throw requestError;
|
|
226
|
-
});
|
|
227
|
-
const peerStub = {
|
|
228
|
-
listenForCertificatesReceived: globals_1.jest.fn(() => 9),
|
|
229
|
-
stopListeningForCertificatesReceived,
|
|
230
|
-
requestCertificates
|
|
231
|
-
};
|
|
232
|
-
authFetch.peers['https://api.example.com'] = {
|
|
233
|
-
peer: peerStub,
|
|
234
|
-
pendingCertificateRequests: []
|
|
235
|
-
};
|
|
236
|
-
await expect(authFetch.sendCertificateRequest('https://api.example.com', requestedCertificates)).rejects.toThrow('request failed');
|
|
237
|
-
expect(stopListeningForCertificatesReceived).toHaveBeenCalledWith(9);
|
|
238
|
-
});
|
|
239
|
-
test('sendCertificateRequest times out and cleans up listener when no certificate response arrives', async () => {
|
|
240
|
-
globals_1.jest.useFakeTimers();
|
|
241
|
-
try {
|
|
242
|
-
const wallet = createWalletStub();
|
|
243
|
-
const authFetch = new AuthFetch_js_1.AuthFetch(wallet);
|
|
244
|
-
const stopListeningForCertificatesReceived = globals_1.jest.fn();
|
|
245
|
-
const requestCertificates = globals_1.jest.fn(async () => { });
|
|
246
|
-
const peerStub = {
|
|
247
|
-
listenForCertificatesReceived: globals_1.jest.fn(() => 11),
|
|
248
|
-
stopListeningForCertificatesReceived,
|
|
249
|
-
requestCertificates
|
|
250
|
-
};
|
|
251
|
-
authFetch.peers['https://api.example.com'] = {
|
|
252
|
-
peer: peerStub,
|
|
253
|
-
pendingCertificateRequests: []
|
|
254
|
-
};
|
|
255
|
-
const pending = authFetch.sendCertificateRequest('https://api.example.com', requestedCertificates);
|
|
256
|
-
const timeoutAssertion = expect(pending).rejects.toThrow('sendCertificateRequest timed out after 30000ms waiting for certificate response from https://api.example.com');
|
|
257
|
-
await globals_1.jest.advanceTimersByTimeAsync(30000);
|
|
258
|
-
await timeoutAssertion;
|
|
259
|
-
expect(stopListeningForCertificatesReceived).toHaveBeenCalledWith(11);
|
|
260
|
-
}
|
|
261
|
-
finally {
|
|
262
|
-
globals_1.jest.useRealTimers();
|
|
263
|
-
}
|
|
264
|
-
});
|
|
265
|
-
});
|
|
266
|
-
//# sourceMappingURL=AuthFetch.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AuthFetch.test.js","sourceRoot":"","sources":["../../../../../../src/auth/clients/__tests__/AuthFetch.test.ts"],"names":[],"mappings":"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"}
|