@fintekkers/ledger-models 0.4.10 → 0.4.11
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/node/wrappers/models/hydrate.test.d.ts +1 -0
- package/node/wrappers/models/hydrate.test.js +204 -0
- package/node/wrappers/models/hydrate.test.js.map +1 -0
- package/node/wrappers/models/hydrate.test.ts +214 -0
- package/node/wrappers/models/lazy-hydrate-race.test.d.ts +1 -0
- package/node/wrappers/models/lazy-hydrate-race.test.js +153 -0
- package/node/wrappers/models/lazy-hydrate-race.test.js.map +1 -0
- package/node/wrappers/models/lazy-hydrate-race.test.ts +144 -0
- package/node/wrappers/models/lazy-hydrate.bench.test.d.ts +1 -0
- package/node/wrappers/models/lazy-hydrate.bench.test.js +121 -0
- package/node/wrappers/models/lazy-hydrate.bench.test.js.map +1 -0
- package/node/wrappers/models/lazy-hydrate.bench.test.ts +103 -0
- package/node/wrappers/models/portfolio/portfolio.d.ts +12 -2
- package/node/wrappers/models/portfolio/portfolio.js +42 -3
- package/node/wrappers/models/portfolio/portfolio.js.map +1 -1
- package/node/wrappers/models/portfolio/portfolio.ts +27 -3
- package/node/wrappers/models/security/identifier-validation.test.d.ts +1 -0
- package/node/wrappers/models/security/identifier-validation.test.js +104 -0
- package/node/wrappers/models/security/identifier-validation.test.js.map +1 -0
- package/node/wrappers/models/security/identifier-validation.test.ts +133 -0
- package/node/wrappers/models/security/identifier.d.ts +26 -0
- package/node/wrappers/models/security/identifier.js +54 -1
- package/node/wrappers/models/security/identifier.js.map +1 -1
- package/node/wrappers/models/security/identifier.test.js +6 -9
- package/node/wrappers/models/security/identifier.test.js.map +1 -1
- package/node/wrappers/models/security/identifier.test.ts +6 -9
- package/node/wrappers/models/security/identifier.ts +58 -0
- package/node/wrappers/models/security/security.d.ts +23 -5
- package/node/wrappers/models/security/security.js +53 -6
- package/node/wrappers/models/security/security.js.map +1 -1
- package/node/wrappers/models/security/security.ts +38 -6
- package/node/wrappers/models/transaction/transaction.d.ts +12 -1
- package/node/wrappers/models/transaction/transaction.js +39 -2
- package/node/wrappers/models/transaction/transaction.js.map +1 -1
- package/node/wrappers/models/transaction/transaction.ts +27 -2
- package/node/wrappers/services/security-service/SecurityService.js +8 -0
- package/node/wrappers/services/security-service/SecurityService.js.map +1 -1
- package/node/wrappers/services/security-service/SecurityService.ts +10 -0
- package/node/wrappers/services/security.identifier-guard.test.d.ts +1 -0
- package/node/wrappers/services/security.identifier-guard.test.js +63 -0
- package/node/wrappers/services/security.identifier-guard.test.js.map +1 -0
- package/node/wrappers/services/security.identifier-guard.test.ts +70 -0
- package/node/wrappers/util/link-cache.d.ts +13 -6
- package/node/wrappers/util/link-cache.js +51 -15
- package/node/wrappers/util/link-cache.js.map +1 -1
- package/node/wrappers/util/link-cache.ts +51 -17
- package/node/wrappers/util/link-resolver.d.ts +39 -31
- package/node/wrappers/util/link-resolver.js +132 -124
- package/node/wrappers/util/link-resolver.js.map +1 -1
- package/node/wrappers/util/link-resolver.test.js +13 -2
- package/node/wrappers/util/link-resolver.test.js.map +1 -1
- package/node/wrappers/util/link-resolver.test.ts +14 -2
- package/node/wrappers/util/link-resolver.ts +141 -151
- package/package.json +1 -1
|
@@ -38,113 +38,67 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
38
38
|
const util_1 = require("util");
|
|
39
39
|
const security_service_grpc_pb_1 = require("../../fintekkers/services/security-service/security_service_grpc_pb");
|
|
40
40
|
const portfolio_service_grpc_pb_1 = require("../../fintekkers/services/portfolio-service/portfolio_service_grpc_pb");
|
|
41
|
+
const transaction_service_grpc_pb_1 = require("../../fintekkers/services/transaction-service/transaction_service_grpc_pb");
|
|
41
42
|
const query_security_request_pb_1 = require("../../fintekkers/requests/security/query_security_request_pb");
|
|
42
43
|
const query_portfolio_request_pb_1 = require("../../fintekkers/requests/portfolio/query_portfolio_request_pb");
|
|
44
|
+
const query_transaction_request_pb_1 = require("../../fintekkers/requests/transaction/query_transaction_request_pb");
|
|
43
45
|
const security_1 = __importDefault(require("../models/security/security"));
|
|
44
46
|
const portfolio_1 = __importDefault(require("../models/portfolio/portfolio"));
|
|
47
|
+
const transaction_1 = __importDefault(require("../models/transaction/transaction"));
|
|
45
48
|
const uuid_1 = require("../models/utils/uuid");
|
|
46
49
|
const requestcontext_1 = __importDefault(require("../models/utils/requestcontext"));
|
|
47
50
|
const datetime_1 = require("../models/utils/datetime");
|
|
48
51
|
const LinkCacheModule = __importStar(require("./link-cache"));
|
|
49
52
|
/**
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
* reads from this cache, so pre-warming via LinkResolver immediately
|
|
53
|
-
* benefits accessor reads. Skips silently when the resolved proto lacks
|
|
54
|
-
* uuid or as_of — `LinkCache.put` requires both.
|
|
55
|
-
*/
|
|
56
|
-
function populateSecurityLinkCache(proto) {
|
|
57
|
-
const uuidProto = proto.getUuid();
|
|
58
|
-
const asOfProto = proto.getAsOf();
|
|
59
|
-
if (!uuidProto || !asOfProto)
|
|
60
|
-
return;
|
|
61
|
-
const uuidKey = uuid_1.UUID.fromU8Array(uuidProto.getRawUuid_asU8()).toString();
|
|
62
|
-
LinkCacheModule.SECURITY.put(uuidKey, proto, new datetime_1.ZonedDateTime(asOfProto));
|
|
63
|
-
}
|
|
64
|
-
function populatePortfolioLinkCache(proto) {
|
|
65
|
-
const uuidProto = proto.getUuid();
|
|
66
|
-
const asOfProto = proto.getAsOf();
|
|
67
|
-
if (!uuidProto || !asOfProto)
|
|
68
|
-
return;
|
|
69
|
-
const uuidKey = uuid_1.UUID.fromU8Array(uuidProto.getRawUuid_asU8()).toString();
|
|
70
|
-
LinkCacheModule.PORTFOLIO.put(uuidKey, proto, new datetime_1.ZonedDateTime(asOfProto));
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Tiny LRU. Map keeps insertion order; on get-hit we delete + re-insert
|
|
74
|
-
* to bump to the end (most recently used). On overflow we drop the
|
|
75
|
-
* oldest entry (first key in the Map). Avoids pulling in lru-cache as a
|
|
76
|
-
* dependency for ~30 lines of logic.
|
|
77
|
-
*/
|
|
78
|
-
class TinyLRU {
|
|
79
|
-
constructor(maxSize, ttlMs) {
|
|
80
|
-
this.maxSize = maxSize;
|
|
81
|
-
this.ttlMs = ttlMs;
|
|
82
|
-
this.map = new Map();
|
|
83
|
-
}
|
|
84
|
-
get(key) {
|
|
85
|
-
if (this.maxSize === 0)
|
|
86
|
-
return undefined;
|
|
87
|
-
const entry = this.map.get(key);
|
|
88
|
-
if (!entry)
|
|
89
|
-
return undefined;
|
|
90
|
-
if (this.ttlMs !== undefined && Date.now() - entry.insertedAt > this.ttlMs) {
|
|
91
|
-
this.map.delete(key);
|
|
92
|
-
return undefined;
|
|
93
|
-
}
|
|
94
|
-
// Bump to most-recently-used.
|
|
95
|
-
this.map.delete(key);
|
|
96
|
-
this.map.set(key, entry);
|
|
97
|
-
return entry.value;
|
|
98
|
-
}
|
|
99
|
-
set(key, value) {
|
|
100
|
-
if (this.maxSize === 0)
|
|
101
|
-
return;
|
|
102
|
-
if (this.map.has(key))
|
|
103
|
-
this.map.delete(key);
|
|
104
|
-
this.map.set(key, { value, insertedAt: Date.now() });
|
|
105
|
-
while (this.map.size > this.maxSize) {
|
|
106
|
-
const oldest = this.map.keys().next().value;
|
|
107
|
-
if (oldest === undefined)
|
|
108
|
-
break;
|
|
109
|
-
this.map.delete(oldest);
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
size() {
|
|
113
|
-
return this.map.size;
|
|
114
|
-
}
|
|
115
|
-
clear() {
|
|
116
|
-
this.map.clear();
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Stable serialization of a LocalTimestampProto for use in cache keys
|
|
121
|
-
* and as_of-bucket grouping. Uses the proto's binary form (Uint8Array
|
|
53
|
+
* Stable serialization of a LocalTimestampProto for use in in-flight dedup
|
|
54
|
+
* keys and as_of-bucket grouping. Uses the proto's binary form (Uint8Array
|
|
122
55
|
* → base64). Returns the literal "latest" when as_of is undefined so
|
|
123
56
|
* unset and explicit-undefined collapse to the same bucket.
|
|
124
|
-
*
|
|
125
|
-
* Two LocalTimestampProto instances representing the same moment will
|
|
126
|
-
* produce the same key as long as the underlying nanos/seconds match —
|
|
127
|
-
* proto3 binary encoding is canonical for unset fields.
|
|
128
57
|
*/
|
|
129
58
|
function asOfKey(asOf) {
|
|
130
59
|
if (!asOf)
|
|
131
60
|
return 'latest';
|
|
132
|
-
// serializeBinary returns Uint8Array.
|
|
133
61
|
const bytes = asOf.serializeBinary();
|
|
134
62
|
return Buffer.from(bytes).toString('base64');
|
|
135
63
|
}
|
|
64
|
+
function asOfToZdt(asOf) {
|
|
65
|
+
return asOf ? new datetime_1.ZonedDateTime(asOf) : null;
|
|
66
|
+
}
|
|
67
|
+
// Process-wide default singleton — lazily constructed on first
|
|
68
|
+
// `LinkResolver.getDefault()` call. Used by the wrapper `hydrate()`
|
|
69
|
+
// methods so callers don't have to thread a resolver instance through
|
|
70
|
+
// their code. Override the default by calling `LinkResolver.setDefault(...)`
|
|
71
|
+
// at process start (tests with mocked clients, alternate endpoints, etc.).
|
|
72
|
+
let defaultLinkResolver;
|
|
136
73
|
class LinkResolver {
|
|
74
|
+
/**
|
|
75
|
+
* Process-wide singleton — lazily constructed with default options
|
|
76
|
+
* (env-derived endpoint via `EnvConfig`). The wrapper `hydrate()`
|
|
77
|
+
* methods reach for this when no resolver is passed explicitly, so
|
|
78
|
+
* users get auto-resolve on link-mode wrappers without threading a
|
|
79
|
+
* resolver through every call site.
|
|
80
|
+
*/
|
|
81
|
+
static getDefault() {
|
|
82
|
+
if (!defaultLinkResolver) {
|
|
83
|
+
defaultLinkResolver = new LinkResolver();
|
|
84
|
+
}
|
|
85
|
+
return defaultLinkResolver;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Replace the process-wide default. Call once at process start for
|
|
89
|
+
* tests with mocked clients or to point at a non-default endpoint.
|
|
90
|
+
* Pass `undefined` to clear (next `getDefault()` call rebuilds).
|
|
91
|
+
*/
|
|
92
|
+
static setDefault(resolver) {
|
|
93
|
+
defaultLinkResolver = resolver;
|
|
94
|
+
}
|
|
137
95
|
constructor(opts = {}) {
|
|
138
|
-
var _a;
|
|
139
96
|
// Concurrent-call dedupe: a UUID currently being fetched maps to the
|
|
140
97
|
// promise the *first* caller is awaiting. Subsequent callers for the
|
|
141
98
|
// same UUID receive that same promise.
|
|
142
99
|
this.securityInFlight = new Map();
|
|
143
100
|
this.portfolioInFlight = new Map();
|
|
144
|
-
|
|
145
|
-
const ttlMs = opts.ttlMs;
|
|
146
|
-
this.securityCache = new TinyLRU(cacheSize, ttlMs);
|
|
147
|
-
this.portfolioCache = new TinyLRU(cacheSize, ttlMs);
|
|
101
|
+
this.transactionInFlight = new Map();
|
|
148
102
|
if (opts.securityClient) {
|
|
149
103
|
this.securityClient = opts.securityClient;
|
|
150
104
|
}
|
|
@@ -165,6 +119,16 @@ class LinkResolver {
|
|
|
165
119
|
else {
|
|
166
120
|
this.portfolioClient = new portfolio_service_grpc_pb_1.PortfolioClient(requestcontext_1.default.apiURL, requestcontext_1.default.apiCredentials);
|
|
167
121
|
}
|
|
122
|
+
if (opts.transactionClient) {
|
|
123
|
+
this.transactionClient = opts.transactionClient;
|
|
124
|
+
}
|
|
125
|
+
else if (opts.apiKey) {
|
|
126
|
+
const { credentials, interceptors } = requestcontext_1.default.getAuthenticatedClientOptions(opts.apiKey);
|
|
127
|
+
this.transactionClient = new transaction_service_grpc_pb_1.TransactionClient(requestcontext_1.default.apiURL, credentials, { interceptors });
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
this.transactionClient = new transaction_service_grpc_pb_1.TransactionClient(requestcontext_1.default.apiURL, requestcontext_1.default.apiCredentials);
|
|
131
|
+
}
|
|
168
132
|
}
|
|
169
133
|
/**
|
|
170
134
|
* Resolve a single SecurityProto by UUID. If `asOf` is supplied, fetch
|
|
@@ -188,6 +152,16 @@ class LinkResolver {
|
|
|
188
152
|
return new portfolio_1.default(proto);
|
|
189
153
|
});
|
|
190
154
|
}
|
|
155
|
+
/**
|
|
156
|
+
* Resolve a single TransactionProto by UUID, optionally as of `asOf`.
|
|
157
|
+
* Cached + concurrent-deduped on (uuid, asOf).
|
|
158
|
+
*/
|
|
159
|
+
getTransaction(uuid, asOf) {
|
|
160
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
161
|
+
const proto = yield this.fetchTransactionProto(uuid, asOf);
|
|
162
|
+
return new transaction_1.default(proto);
|
|
163
|
+
});
|
|
164
|
+
}
|
|
191
165
|
/**
|
|
192
166
|
* Walk `items`, find the ones whose embedded security is `is_link=true`,
|
|
193
167
|
* batch-fetch the unique (uuid, as_of) pairs (grouped by as_of so each
|
|
@@ -195,10 +169,6 @@ class LinkResolver {
|
|
|
195
169
|
* place so subsequent `item.getSecurity()` calls return the full entity.
|
|
196
170
|
* Returns the same array for chaining.
|
|
197
171
|
*
|
|
198
|
-
* Honors per-link `as_of`: if the embedded sub-message has `as_of` set,
|
|
199
|
-
* the resolver fetches the version of the entity at that timestamp,
|
|
200
|
-
* not the latest.
|
|
201
|
-
*
|
|
202
172
|
* `T` is structural: anything with a `proto` field that exposes
|
|
203
173
|
* `getSecurity()` / `setSecurity()` works (Price, Transaction, etc).
|
|
204
174
|
*/
|
|
@@ -206,7 +176,7 @@ class LinkResolver {
|
|
|
206
176
|
return __awaiter(this, void 0, void 0, function* () {
|
|
207
177
|
if (items.length === 0)
|
|
208
178
|
return items;
|
|
209
|
-
// Group: as_of bucket → (
|
|
179
|
+
// Group: as_of bucket → (uuid string → UUID) for items not yet cached.
|
|
210
180
|
const buckets = new Map();
|
|
211
181
|
for (const item of items) {
|
|
212
182
|
const sec = item.proto.getSecurity();
|
|
@@ -217,33 +187,29 @@ class LinkResolver {
|
|
|
217
187
|
continue;
|
|
218
188
|
const uuid = uuid_1.UUID.fromU8Array(uuidProto.getRawUuid_asU8());
|
|
219
189
|
const asOf = sec.getAsOf();
|
|
220
|
-
const
|
|
221
|
-
|
|
222
|
-
// Skip if already cached for this exact (uuid, as_of).
|
|
223
|
-
if (this.securityCache.get(cacheKey))
|
|
190
|
+
const uuidStr = uuid.toString();
|
|
191
|
+
if (LinkCacheModule.SECURITY.get(uuidStr, asOfToZdt(asOf)))
|
|
224
192
|
continue;
|
|
193
|
+
const bucketKey = asOfKey(asOf);
|
|
225
194
|
let bucket = buckets.get(bucketKey);
|
|
226
195
|
if (!bucket) {
|
|
227
196
|
bucket = new Map();
|
|
228
197
|
buckets.set(bucketKey, bucket);
|
|
229
198
|
}
|
|
230
|
-
if (!bucket.has(
|
|
231
|
-
bucket.set(
|
|
199
|
+
if (!bucket.has(uuidStr))
|
|
200
|
+
bucket.set(uuidStr, uuid);
|
|
232
201
|
}
|
|
233
202
|
// One GetByIds RPC per as_of bucket. Fire in parallel.
|
|
234
203
|
yield Promise.all(Array.from(buckets.entries()).map(([bucketKey, uuidMap]) => __awaiter(this, void 0, void 0, function* () {
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
// but it's cheap to re-find.
|
|
238
|
-
const asOf = bucketKey === 'latest' ? undefined : findAsOfForBucket(items, (sec) => sec.getSecurity(), bucketKey);
|
|
204
|
+
const asOf = bucketKey === 'latest' ? undefined : findAsOfForBucket(items, (proto) => proto.getSecurity(), bucketKey);
|
|
205
|
+
const asOfZdt = asOfToZdt(asOf);
|
|
239
206
|
const fetched = yield this.batchFetchSecurities(Array.from(uuidMap.values()), asOf);
|
|
240
207
|
for (const proto of fetched) {
|
|
241
208
|
const uuidProto = proto.getUuid();
|
|
242
209
|
if (!uuidProto)
|
|
243
210
|
continue;
|
|
244
211
|
const uuidStr = uuid_1.UUID.fromU8Array(uuidProto.getRawUuid_asU8()).toString();
|
|
245
|
-
|
|
246
|
-
populateSecurityLinkCache(proto);
|
|
212
|
+
LinkCacheModule.SECURITY.put(uuidStr, proto, asOfZdt);
|
|
247
213
|
}
|
|
248
214
|
})));
|
|
249
215
|
// Mutate each item's embedded security in place.
|
|
@@ -255,8 +221,7 @@ class LinkResolver {
|
|
|
255
221
|
if (!uuidProto)
|
|
256
222
|
continue;
|
|
257
223
|
const uuidStr = uuid_1.UUID.fromU8Array(uuidProto.getRawUuid_asU8()).toString();
|
|
258
|
-
const
|
|
259
|
-
const resolved = this.securityCache.get(`${uuidStr}@${bucketKey}`);
|
|
224
|
+
const resolved = LinkCacheModule.SECURITY.get(uuidStr, asOfToZdt(sec.getAsOf()));
|
|
260
225
|
if (resolved)
|
|
261
226
|
item.proto.setSecurity(resolved);
|
|
262
227
|
}
|
|
@@ -281,28 +246,28 @@ class LinkResolver {
|
|
|
281
246
|
continue;
|
|
282
247
|
const uuid = uuid_1.UUID.fromU8Array(uuidProto.getRawUuid_asU8());
|
|
283
248
|
const asOf = port.getAsOf();
|
|
284
|
-
const
|
|
285
|
-
|
|
286
|
-
if (this.portfolioCache.get(cacheKey))
|
|
249
|
+
const uuidStr = uuid.toString();
|
|
250
|
+
if (LinkCacheModule.PORTFOLIO.get(uuidStr, asOfToZdt(asOf)))
|
|
287
251
|
continue;
|
|
252
|
+
const bucketKey = asOfKey(asOf);
|
|
288
253
|
let bucket = buckets.get(bucketKey);
|
|
289
254
|
if (!bucket) {
|
|
290
255
|
bucket = new Map();
|
|
291
256
|
buckets.set(bucketKey, bucket);
|
|
292
257
|
}
|
|
293
|
-
if (!bucket.has(
|
|
294
|
-
bucket.set(
|
|
258
|
+
if (!bucket.has(uuidStr))
|
|
259
|
+
bucket.set(uuidStr, uuid);
|
|
295
260
|
}
|
|
296
261
|
yield Promise.all(Array.from(buckets.entries()).map(([bucketKey, uuidMap]) => __awaiter(this, void 0, void 0, function* () {
|
|
297
|
-
const asOf = bucketKey === 'latest' ? undefined : findAsOfForBucket(items, (
|
|
262
|
+
const asOf = bucketKey === 'latest' ? undefined : findAsOfForBucket(items, (proto) => proto.getPortfolio(), bucketKey);
|
|
263
|
+
const asOfZdt = asOfToZdt(asOf);
|
|
298
264
|
const fetched = yield this.batchFetchPortfolios(Array.from(uuidMap.values()), asOf);
|
|
299
265
|
for (const proto of fetched) {
|
|
300
266
|
const uuidProto = proto.getUuid();
|
|
301
267
|
if (!uuidProto)
|
|
302
268
|
continue;
|
|
303
269
|
const uuidStr = uuid_1.UUID.fromU8Array(uuidProto.getRawUuid_asU8()).toString();
|
|
304
|
-
|
|
305
|
-
populatePortfolioLinkCache(proto);
|
|
270
|
+
LinkCacheModule.PORTFOLIO.put(uuidStr, proto, asOfZdt);
|
|
306
271
|
}
|
|
307
272
|
})));
|
|
308
273
|
for (const item of items) {
|
|
@@ -313,38 +278,39 @@ class LinkResolver {
|
|
|
313
278
|
if (!uuidProto)
|
|
314
279
|
continue;
|
|
315
280
|
const uuidStr = uuid_1.UUID.fromU8Array(uuidProto.getRawUuid_asU8()).toString();
|
|
316
|
-
const
|
|
317
|
-
const resolved = this.portfolioCache.get(`${uuidStr}@${bucketKey}`);
|
|
281
|
+
const resolved = LinkCacheModule.PORTFOLIO.get(uuidStr, asOfToZdt(port.getAsOf()));
|
|
318
282
|
if (resolved)
|
|
319
283
|
item.proto.setPortfolio(resolved);
|
|
320
284
|
}
|
|
321
285
|
return items;
|
|
322
286
|
});
|
|
323
287
|
}
|
|
324
|
-
/** Test/debug helper.
|
|
288
|
+
/** Test/debug helper. Clears in-flight maps; the process-wide LinkCache
|
|
289
|
+
* is left alone (tests that need to drop a specific cached entry call
|
|
290
|
+
* `LinkCache.SECURITY.evict(uuid)` directly). */
|
|
325
291
|
clearCache() {
|
|
326
|
-
this.securityCache.clear();
|
|
327
|
-
this.portfolioCache.clear();
|
|
328
292
|
this.securityInFlight.clear();
|
|
329
293
|
this.portfolioInFlight.clear();
|
|
294
|
+
this.transactionInFlight.clear();
|
|
330
295
|
}
|
|
331
296
|
// ---------- internals ----------
|
|
332
297
|
fetchSecurityProto(uuid, asOf) {
|
|
333
298
|
return __awaiter(this, void 0, void 0, function* () {
|
|
334
|
-
const
|
|
335
|
-
const
|
|
299
|
+
const uuidStr = uuid.toString();
|
|
300
|
+
const asOfZdt = asOfToZdt(asOf);
|
|
301
|
+
const cached = LinkCacheModule.SECURITY.get(uuidStr, asOfZdt);
|
|
336
302
|
if (cached)
|
|
337
303
|
return cached;
|
|
304
|
+
const key = `${uuidStr}@${asOfKey(asOf)}`;
|
|
338
305
|
const inFlight = this.securityInFlight.get(key);
|
|
339
306
|
if (inFlight)
|
|
340
307
|
return inFlight;
|
|
341
308
|
const promise = this.batchFetchSecurities([uuid], asOf).then((protos) => {
|
|
342
309
|
if (protos.length === 0) {
|
|
343
|
-
throw new Error(`Security not found: ${
|
|
310
|
+
throw new Error(`Security not found: ${key}`);
|
|
344
311
|
}
|
|
345
312
|
const proto = protos[0];
|
|
346
|
-
|
|
347
|
-
populateSecurityLinkCache(proto);
|
|
313
|
+
LinkCacheModule.SECURITY.put(uuidStr, proto, asOfZdt);
|
|
348
314
|
return proto;
|
|
349
315
|
}).finally(() => {
|
|
350
316
|
this.securityInFlight.delete(key);
|
|
@@ -355,20 +321,21 @@ class LinkResolver {
|
|
|
355
321
|
}
|
|
356
322
|
fetchPortfolioProto(uuid, asOf) {
|
|
357
323
|
return __awaiter(this, void 0, void 0, function* () {
|
|
358
|
-
const
|
|
359
|
-
const
|
|
324
|
+
const uuidStr = uuid.toString();
|
|
325
|
+
const asOfZdt = asOfToZdt(asOf);
|
|
326
|
+
const cached = LinkCacheModule.PORTFOLIO.get(uuidStr, asOfZdt);
|
|
360
327
|
if (cached)
|
|
361
328
|
return cached;
|
|
329
|
+
const key = `${uuidStr}@${asOfKey(asOf)}`;
|
|
362
330
|
const inFlight = this.portfolioInFlight.get(key);
|
|
363
331
|
if (inFlight)
|
|
364
332
|
return inFlight;
|
|
365
333
|
const promise = this.batchFetchPortfolios([uuid], asOf).then((protos) => {
|
|
366
334
|
if (protos.length === 0) {
|
|
367
|
-
throw new Error(`Portfolio not found: ${
|
|
335
|
+
throw new Error(`Portfolio not found: ${key}`);
|
|
368
336
|
}
|
|
369
337
|
const proto = protos[0];
|
|
370
|
-
|
|
371
|
-
populatePortfolioLinkCache(proto);
|
|
338
|
+
LinkCacheModule.PORTFOLIO.put(uuidStr, proto, asOfZdt);
|
|
372
339
|
return proto;
|
|
373
340
|
}).finally(() => {
|
|
374
341
|
this.portfolioInFlight.delete(key);
|
|
@@ -377,6 +344,31 @@ class LinkResolver {
|
|
|
377
344
|
return promise;
|
|
378
345
|
});
|
|
379
346
|
}
|
|
347
|
+
fetchTransactionProto(uuid, asOf) {
|
|
348
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
349
|
+
const uuidStr = uuid.toString();
|
|
350
|
+
const asOfZdt = asOfToZdt(asOf);
|
|
351
|
+
const cached = LinkCacheModule.TRANSACTION.get(uuidStr, asOfZdt);
|
|
352
|
+
if (cached)
|
|
353
|
+
return cached;
|
|
354
|
+
const key = `${uuidStr}@${asOfKey(asOf)}`;
|
|
355
|
+
const inFlight = this.transactionInFlight.get(key);
|
|
356
|
+
if (inFlight)
|
|
357
|
+
return inFlight;
|
|
358
|
+
const promise = this.batchFetchTransactions([uuid], asOf).then((protos) => {
|
|
359
|
+
if (protos.length === 0) {
|
|
360
|
+
throw new Error(`Transaction not found: ${key}`);
|
|
361
|
+
}
|
|
362
|
+
const proto = protos[0];
|
|
363
|
+
LinkCacheModule.TRANSACTION.put(uuidStr, proto, asOfZdt);
|
|
364
|
+
return proto;
|
|
365
|
+
}).finally(() => {
|
|
366
|
+
this.transactionInFlight.delete(key);
|
|
367
|
+
});
|
|
368
|
+
this.transactionInFlight.set(key, promise);
|
|
369
|
+
return promise;
|
|
370
|
+
});
|
|
371
|
+
}
|
|
380
372
|
batchFetchSecurities(uuids, asOf) {
|
|
381
373
|
return __awaiter(this, void 0, void 0, function* () {
|
|
382
374
|
if (uuids.length === 0)
|
|
@@ -393,6 +385,22 @@ class LinkResolver {
|
|
|
393
385
|
return response.getSecurityResponseList();
|
|
394
386
|
});
|
|
395
387
|
}
|
|
388
|
+
batchFetchTransactions(uuids, asOf) {
|
|
389
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
390
|
+
if (uuids.length === 0)
|
|
391
|
+
return [];
|
|
392
|
+
const request = new query_transaction_request_pb_1.QueryTransactionRequestProto();
|
|
393
|
+
request.setObjectClass('TransactionRequest');
|
|
394
|
+
request.setVersion('0.0.1');
|
|
395
|
+
const uuidProtos = uuids.map((u) => u.toUUIDProto());
|
|
396
|
+
request.setUuidsList(uuidProtos);
|
|
397
|
+
if (asOf)
|
|
398
|
+
request.setAsOf(asOf);
|
|
399
|
+
const getByIdsAsync = (0, util_1.promisify)(this.transactionClient.getByIds.bind(this.transactionClient));
|
|
400
|
+
const response = (yield getByIdsAsync(request));
|
|
401
|
+
return response.getTransactionResponseList();
|
|
402
|
+
});
|
|
403
|
+
}
|
|
396
404
|
batchFetchPortfolios(uuids, asOf) {
|
|
397
405
|
return __awaiter(this, void 0, void 0, function* () {
|
|
398
406
|
if (uuids.length === 0)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link-resolver.js","sourceRoot":"","sources":["link-resolver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"link-resolver.js","sourceRoot":"","sources":["link-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,6 +38,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
38
38
|
const link_resolver_1 = __importDefault(require("./link-resolver"));
|
|
39
39
|
const Price_1 = __importDefault(require("../models/price/Price"));
|
|
40
40
|
const uuid_1 = require("../models/utils/uuid");
|
|
41
|
+
const LinkCacheModuleTop = __importStar(require("./link-cache"));
|
|
41
42
|
const security_pb_1 = require("../../fintekkers/models/security/security_pb");
|
|
42
43
|
const price_pb_1 = require("../../fintekkers/models/price/price_pb");
|
|
43
44
|
const decimal_value_pb_1 = require("../../fintekkers/models/util/decimal_value_pb");
|
|
@@ -137,6 +138,13 @@ function linkPrice(securityUuid, priceValue, asOf) {
|
|
|
137
138
|
return new Price_1.default(priceProto);
|
|
138
139
|
}
|
|
139
140
|
describe('LinkResolver', () => {
|
|
141
|
+
// Process-wide LinkCache singletons survive across tests, so clear them
|
|
142
|
+
// between cases to keep tests independent (post-W4 the resolver no longer
|
|
143
|
+
// owns its own cache).
|
|
144
|
+
beforeEach(() => {
|
|
145
|
+
LinkCacheModuleTop.SECURITY.clear();
|
|
146
|
+
LinkCacheModuleTop.PORTFOLIO.clear();
|
|
147
|
+
});
|
|
140
148
|
test('bulk resolveSecurities dedupes UUIDs (5 prices, 3 unique → 1 RPC, 3 UUIDs)', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
141
149
|
const uuidA = uuid_1.UUID.random();
|
|
142
150
|
const uuidB = uuid_1.UUID.random();
|
|
@@ -205,18 +213,21 @@ describe('LinkResolver', () => {
|
|
|
205
213
|
for (const r of results)
|
|
206
214
|
expect(r.getIssuerName()).toBe('AAPL');
|
|
207
215
|
}));
|
|
208
|
-
test('
|
|
216
|
+
test('LinkCache evict between calls forces refetch', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
217
|
+
// Post-W4 the resolver no longer owns its cache. Evict the entry from
|
|
218
|
+
// LinkCache.SECURITY between calls to force a refetch — the equivalent
|
|
219
|
+
// of the old `cacheSize=0` semantic.
|
|
209
220
|
const uuid = uuid_1.UUID.random();
|
|
210
221
|
const store = new Map([
|
|
211
222
|
[uuid.toString(), fullSecurity(uuid, 'AAPL')],
|
|
212
223
|
]);
|
|
213
224
|
const callLog = newCallLog();
|
|
214
225
|
const resolver = new link_resolver_1.default({
|
|
215
|
-
cacheSize: 0,
|
|
216
226
|
securityClient: mockSecurityClient(store, callLog),
|
|
217
227
|
portfolioClient: mockPortfolioClient(new Map(), newCallLog()),
|
|
218
228
|
});
|
|
219
229
|
yield resolver.getSecurity(uuid);
|
|
230
|
+
LinkCacheModuleTop.SECURITY.evict(uuid.toString());
|
|
220
231
|
yield resolver.getSecurity(uuid);
|
|
221
232
|
expect(callLog.count).toBe(2);
|
|
222
233
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link-resolver.test.js","sourceRoot":"","sources":["link-resolver.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"link-resolver.test.js","sourceRoot":"","sources":["link-resolver.test.ts"],"names":[],"mappings":"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"}
|