@toon-protocol/connector 3.15.3 → 3.16.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/auth/peer-secret-resolver.d.ts +9 -0
- package/dist/auth/peer-secret-resolver.d.ts.map +1 -0
- package/dist/auth/peer-secret-resolver.js +33 -0
- package/dist/auth/peer-secret-resolver.js.map +1 -0
- package/dist/btp/btp-server.d.ts +14 -0
- package/dist/btp/btp-server.d.ts.map +1 -1
- package/dist/btp/btp-server.js +119 -29
- package/dist/btp/btp-server.js.map +1 -1
- package/dist/client/connector-admin-client.d.ts +61 -0
- package/dist/client/connector-admin-client.d.ts.map +1 -0
- package/dist/client/connector-admin-client.js +87 -0
- package/dist/client/connector-admin-client.js.map +1 -0
- package/dist/core/connector-node.d.ts +4 -0
- package/dist/core/connector-node.d.ts.map +1 -1
- package/dist/core/connector-node.js +154 -6
- package/dist/core/connector-node.js.map +1 -1
- package/dist/core/registry-db-schema.d.ts +5 -0
- package/dist/core/registry-db-schema.d.ts.map +1 -0
- package/dist/core/registry-db-schema.js +35 -0
- package/dist/core/registry-db-schema.js.map +1 -0
- package/dist/core/registry-store.d.ts +33 -0
- package/dist/core/registry-store.d.ts.map +1 -0
- package/dist/core/registry-store.js +103 -0
- package/dist/core/registry-store.js.map +1 -0
- package/dist/http/admin-api-inventory.d.ts.map +1 -1
- package/dist/http/admin-api-inventory.js +21 -0
- package/dist/http/admin-api-inventory.js.map +1 -1
- package/dist/http/admin-api.d.ts +14 -0
- package/dist/http/admin-api.d.ts.map +1 -1
- package/dist/http/admin-api.js +207 -4
- package/dist/http/admin-api.js.map +1 -1
- package/dist/http/admin-server.d.ts +2 -0
- package/dist/http/admin-server.d.ts.map +1 -1
- package/dist/http/admin-server.js +3 -1
- package/dist/http/admin-server.js.map +1 -1
- package/dist/http/ilp-http-adapter.d.ts +30 -0
- package/dist/http/ilp-http-adapter.d.ts.map +1 -0
- package/dist/http/ilp-http-adapter.js +182 -0
- package/dist/http/ilp-http-adapter.js.map +1 -0
- package/dist/lib.d.ts +8 -1
- package/dist/lib.d.ts.map +1 -1
- package/dist/lib.js +8 -1
- package/dist/lib.js.map +1 -1
- package/dist/routing/relation-route-validator.d.ts +15 -0
- package/dist/routing/relation-route-validator.d.ts.map +1 -0
- package/dist/routing/relation-route-validator.js +47 -0
- package/dist/routing/relation-route-validator.js.map +1 -0
- package/dist/routing/routing-table.d.ts +11 -0
- package/dist/routing/routing-table.d.ts.map +1 -1
- package/dist/routing/routing-table.js +6 -0
- package/dist/routing/routing-table.js.map +1 -1
- package/dist/settlement/claim-receiver.d.ts +2 -0
- package/dist/settlement/claim-receiver.d.ts.map +1 -1
- package/dist/settlement/claim-receiver.js +13 -10
- package/dist/settlement/claim-receiver.js.map +1 -1
- package/package.json +1 -1
package/dist/lib.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.validateIlpSendRequest = exports.IlpSendHandler = exports.validateResponseData = exports.mapRejectCode = exports.generatePaymentId = exports.REJECT_CODE_MAP = exports.createPaymentHandlerAdapter = exports.createLogger = exports.UnifiedSettlementExecutor = exports.SettlementMonitor = exports.AccountManager = exports.AdminServer = exports.BTPClientManager = exports.BTPClient = exports.BTPServer = exports.PacketHandler = exports.RoutingTable = exports.ConnectorNotStartedError = exports.ConfigurationError = exports.ConfigLoader = exports.ConnectorNode = void 0;
|
|
3
|
+
exports.ConnectorAdminError = exports.ConnectorAdminClient = exports.validateIlpSendRequest = exports.IlpSendHandler = exports.validateResponseData = exports.mapRejectCode = exports.generatePaymentId = exports.REJECT_CODE_MAP = exports.createPaymentHandlerAdapter = exports.createLogger = exports.UnifiedSettlementExecutor = exports.SettlementMonitor = exports.AccountManager = exports.evaluatePeerSecret = exports.IlpHttpAdapter = exports.AdminServer = exports.BTPClientManager = exports.BTPClient = exports.BTPServer = exports.PacketHandler = exports.RoutingTable = exports.ConnectorNotStartedError = exports.ConfigurationError = exports.ConfigLoader = exports.ConnectorNode = void 0;
|
|
4
4
|
const connector_node_1 = require("./core/connector-node");
|
|
5
5
|
Object.defineProperty(exports, "ConnectorNode", { enumerable: true, get: function () { return connector_node_1.ConnectorNode; } });
|
|
6
6
|
const config_loader_1 = require("./config/config-loader");
|
|
@@ -21,6 +21,10 @@ const btp_client_manager_1 = require("./btp/btp-client-manager");
|
|
|
21
21
|
Object.defineProperty(exports, "BTPClientManager", { enumerable: true, get: function () { return btp_client_manager_1.BTPClientManager; } });
|
|
22
22
|
const admin_server_1 = require("./http/admin-server");
|
|
23
23
|
Object.defineProperty(exports, "AdminServer", { enumerable: true, get: function () { return admin_server_1.AdminServer; } });
|
|
24
|
+
const ilp_http_adapter_1 = require("./http/ilp-http-adapter");
|
|
25
|
+
Object.defineProperty(exports, "IlpHttpAdapter", { enumerable: true, get: function () { return ilp_http_adapter_1.IlpHttpAdapter; } });
|
|
26
|
+
const peer_secret_resolver_1 = require("./auth/peer-secret-resolver");
|
|
27
|
+
Object.defineProperty(exports, "evaluatePeerSecret", { enumerable: true, get: function () { return peer_secret_resolver_1.evaluatePeerSecret; } });
|
|
24
28
|
const account_manager_1 = require("./settlement/account-manager");
|
|
25
29
|
Object.defineProperty(exports, "AccountManager", { enumerable: true, get: function () { return account_manager_1.AccountManager; } });
|
|
26
30
|
const settlement_monitor_1 = require("./settlement/settlement-monitor");
|
|
@@ -36,4 +40,7 @@ Object.defineProperty(exports, "validateResponseData", { enumerable: true, get:
|
|
|
36
40
|
const ilp_send_handler_1 = require("./http/ilp-send-handler");
|
|
37
41
|
Object.defineProperty(exports, "IlpSendHandler", { enumerable: true, get: function () { return ilp_send_handler_1.IlpSendHandler; } });
|
|
38
42
|
Object.defineProperty(exports, "validateIlpSendRequest", { enumerable: true, get: function () { return ilp_send_handler_1.validateIlpSendRequest; } });
|
|
43
|
+
var connector_admin_client_1 = require("./client/connector-admin-client");
|
|
44
|
+
Object.defineProperty(exports, "ConnectorAdminClient", { enumerable: true, get: function () { return connector_admin_client_1.ConnectorAdminClient; } });
|
|
45
|
+
Object.defineProperty(exports, "ConnectorAdminError", { enumerable: true, get: function () { return connector_admin_client_1.ConnectorAdminError; } });
|
|
39
46
|
//# sourceMappingURL=lib.js.map
|
package/dist/lib.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":";;;AAMA,0DAAsD;
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":";;;AAMA,0DAAsD;AA4BpD,8FA5BO,8BAAa,OA4BP;AA3Bf,0DAAoG;AA4BlG,6FA5BO,4BAAY,OA4BP;AACZ,mGA7BqB,kCAAkB,OA6BrB;AAClB,yGA9ByC,wCAAwB,OA8BzC;AA7B1B,2CAA8C;AA2C5C,6FA3CO,qBAAY,OA2CP;AA1Cd,2DAAuD;AA6BrD,6FA7BO,4BAAY,OA6BP;AA5Bd,0DAAsD;AA6BpD,8FA7BO,8BAAa,OA6BP;AA5Bf,iDAA6C;AA6B3C,0FA7BO,sBAAS,OA6BP;AA5BX,iDAA6C;AA6B3C,0FA7BO,sBAAS,OA6BP;AA5BX,iEAA4D;AA6B1D,iGA7BO,qCAAgB,OA6BP;AAzBlB,sDAAkD;AA4BhD,4FA5BO,0BAAW,OA4BP;AA3Bb,8DAAyD;AA4BvD,+FA5BO,iCAAc,OA4BP;AA3BhB,sEAAiE;AA4B/D,mGA5BO,yCAAkB,OA4BP;AA3BpB,kEAA8D;AA4B5D,+FA5BO,gCAAc,OA4BP;AA3BhB,wEAAoE;AA4BlE,kGA5BO,sCAAiB,OA4BP;AA3BnB,0FAAqF;AA4BnF,0GA5BO,uDAAyB,OA4BP;AA3B3B,4DAMgC;AAwB9B,4GA7BA,6CAA2B,OA6BA;AAC3B,gGA7BA,iCAAe,OA6BA;AACf,kGA7BA,mCAAiB,OA6BA;AACjB,8FA7BA,+BAAa,OA6BA;AACb,qGA7BA,sCAAoB,OA6BA;AA3BtB,8DAAiF;AA6B/E,+FA7BO,iCAAc,OA6BP;AACd,uGA9BuB,yCAAsB,OA8BvB;AAIxB,0EAA4F;AAAnF,8HAAA,oBAAoB,OAAA;AAAE,6HAAA,mBAAmB,OAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { PeerRelation } from '@toon-protocol/shared';
|
|
2
|
+
import type { RoutingTableEntry } from '@toon-protocol/shared';
|
|
3
|
+
export type RelationRouteValidation = {
|
|
4
|
+
ok: true;
|
|
5
|
+
} | {
|
|
6
|
+
ok: false;
|
|
7
|
+
error: string;
|
|
8
|
+
};
|
|
9
|
+
export declare function deriveLocalPrefixes(routes: Array<Pick<RoutingTableEntry, 'prefix' | 'nextHop'>>, nodeId: string): string[];
|
|
10
|
+
export declare function validateRelationRoute(relation: PeerRelation | undefined, localPrefixes: string[], routePrefixes: string[]): RelationRouteValidation;
|
|
11
|
+
export declare function deriveDefaultChildRoute(relation: PeerRelation | undefined, localPrefixes: string[], peerId: string): {
|
|
12
|
+
prefix: string;
|
|
13
|
+
priority: number;
|
|
14
|
+
} | null;
|
|
15
|
+
//# sourceMappingURL=relation-route-validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relation-route-validator.d.ts","sourceRoot":"","sources":["../../src/routing/relation-route-validator.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG/D,MAAM,MAAM,uBAAuB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAMlF,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,EAAE,QAAQ,GAAG,SAAS,CAAC,CAAC,EAC5D,MAAM,EAAE,MAAM,GACb,MAAM,EAAE,CAEV;AAqBD,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,YAAY,GAAG,SAAS,EAClC,aAAa,EAAE,MAAM,EAAE,EACvB,aAAa,EAAE,MAAM,EAAE,GACtB,uBAAuB,CA+BzB;AAQD,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,YAAY,GAAG,SAAS,EAClC,aAAa,EAAE,MAAM,EAAE,EACvB,MAAM,EAAE,MAAM,GACb;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAK7C"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deriveLocalPrefixes = deriveLocalPrefixes;
|
|
4
|
+
exports.validateRelationRoute = validateRelationRoute;
|
|
5
|
+
exports.deriveDefaultChildRoute = deriveDefaultChildRoute;
|
|
6
|
+
function deriveLocalPrefixes(routes, nodeId) {
|
|
7
|
+
return routes.filter((r) => r.nextHop === nodeId || r.nextHop === 'local').map((r) => r.prefix);
|
|
8
|
+
}
|
|
9
|
+
function isStrictDescendant(candidate, ancestor) {
|
|
10
|
+
return candidate.startsWith(ancestor + '.');
|
|
11
|
+
}
|
|
12
|
+
function validateRelationRoute(relation, localPrefixes, routePrefixes) {
|
|
13
|
+
const effectiveRelation = relation ?? 'peer';
|
|
14
|
+
if (localPrefixes.length === 0 || routePrefixes.length === 0) {
|
|
15
|
+
return { ok: true };
|
|
16
|
+
}
|
|
17
|
+
if (effectiveRelation === 'child') {
|
|
18
|
+
for (const prefix of routePrefixes) {
|
|
19
|
+
const underSelf = localPrefixes.some((self) => isStrictDescendant(prefix, self));
|
|
20
|
+
if (!underSelf) {
|
|
21
|
+
return {
|
|
22
|
+
ok: false,
|
|
23
|
+
error: `Invalid route for child peer: prefix '${prefix}' must be under the connector's own address (one of: ${localPrefixes.join(', ')})`,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
if (effectiveRelation === 'parent') {
|
|
29
|
+
for (const prefix of routePrefixes) {
|
|
30
|
+
const underSelf = localPrefixes.some((self) => isStrictDescendant(prefix, self));
|
|
31
|
+
if (underSelf) {
|
|
32
|
+
return {
|
|
33
|
+
ok: false,
|
|
34
|
+
error: `Invalid route for parent peer: prefix '${prefix}' must not be under the connector's own address subtree (one of: ${localPrefixes.join(', ')})`,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return { ok: true };
|
|
40
|
+
}
|
|
41
|
+
function deriveDefaultChildRoute(relation, localPrefixes, peerId) {
|
|
42
|
+
if (relation !== 'child' || localPrefixes.length === 0) {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
return { prefix: `${localPrefixes[0]}.${peerId}`, priority: 0 };
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=relation-route-validator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relation-route-validator.js","sourceRoot":"","sources":["../../src/routing/relation-route-validator.ts"],"names":[],"mappings":";;AA6BA,kDAKC;AAqBD,sDAmCC;AAQD,0DASC;AA9ED,SAAgB,mBAAmB,CACjC,MAA4D,EAC5D,MAAc;IAEd,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,MAAM,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAClG,CAAC;AAGD,SAAS,kBAAkB,CAAC,SAAiB,EAAE,QAAgB;IAC7D,OAAO,SAAS,CAAC,UAAU,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC;AAC9C,CAAC;AAgBD,SAAgB,qBAAqB,CACnC,QAAkC,EAClC,aAAuB,EACvB,aAAuB;IAEvB,MAAM,iBAAiB,GAAG,QAAQ,IAAI,MAAM,CAAC;IAC7C,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7D,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;IAED,IAAI,iBAAiB,KAAK,OAAO,EAAE,CAAC;QAClC,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;YACnC,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YACjF,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,yCAAyC,MAAM,wDAAwD,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;iBAC1I,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,iBAAiB,KAAK,QAAQ,EAAE,CAAC;QACnC,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;YACnC,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YACjF,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,0CAA0C,MAAM,oEAAoE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;iBACvJ,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC;AAQD,SAAgB,uBAAuB,CACrC,QAAkC,EAClC,aAAuB,EACvB,MAAc;IAEd,IAAI,QAAQ,KAAK,OAAO,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;AAClE,CAAC"}
|
|
@@ -1,12 +1,23 @@
|
|
|
1
1
|
import { ILPAddress, RoutingTableEntry } from '@toon-protocol/shared';
|
|
2
|
+
export interface RoutePersistenceSink {
|
|
3
|
+
saveRoute(record: {
|
|
4
|
+
prefix: string;
|
|
5
|
+
nextHop: string;
|
|
6
|
+
priority: number;
|
|
7
|
+
source: 'runtime';
|
|
8
|
+
}): void;
|
|
9
|
+
deleteRoute(prefix: string): void;
|
|
10
|
+
}
|
|
2
11
|
export declare class RoutingTable {
|
|
3
12
|
private readonly routes;
|
|
4
13
|
private readonly logger?;
|
|
14
|
+
private persistence?;
|
|
5
15
|
constructor(initialRoutes?: RoutingTableEntry[], logger?: {
|
|
6
16
|
info: (obj: object, msg?: string) => void;
|
|
7
17
|
error: (obj: object, msg?: string) => void;
|
|
8
18
|
});
|
|
9
19
|
addRoute(prefix: ILPAddress, nextHop: string, priority?: number): void;
|
|
20
|
+
setPersistence(sink: RoutePersistenceSink): void;
|
|
10
21
|
removeRoute(prefix: string): void;
|
|
11
22
|
getNextHop(destination: ILPAddress): string | null;
|
|
12
23
|
getAllRoutes(): RoutingTableEntry[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routing-table.d.ts","sourceRoot":"","sources":["../../src/routing/routing-table.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAqB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"routing-table.d.ts","sourceRoot":"","sources":["../../src/routing/routing-table.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAqB,MAAM,uBAAuB,CAAC;AAOzF,MAAM,WAAW,oBAAoB;IACnC,SAAS,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,SAAS,CAAA;KAAE,GAAG,IAAI,CAAC;IAClG,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAqBD,qBAAa,YAAY;IAMvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;IAQxD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAGtB;IAUF,OAAO,CAAC,WAAW,CAAC,CAAuB;gBASzC,aAAa,CAAC,EAAE,iBAAiB,EAAE,EACnC,MAAM,CAAC,EAAE;QACP,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;QAC1C,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;KAC5C;IA0BH,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAU,GAAG,IAAI;IAkBzE,cAAc,CAAC,IAAI,EAAE,oBAAoB,GAAG,IAAI;IAWhD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAgCjC,UAAU,CAAC,WAAW,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI;IA+BlD,YAAY,IAAI,iBAAiB,EAAE;IAYnC,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF"}
|
|
@@ -5,6 +5,7 @@ const shared_1 = require("@toon-protocol/shared");
|
|
|
5
5
|
class RoutingTable {
|
|
6
6
|
routes;
|
|
7
7
|
logger;
|
|
8
|
+
persistence;
|
|
8
9
|
constructor(initialRoutes, logger) {
|
|
9
10
|
this.routes = new Map();
|
|
10
11
|
this.logger = logger;
|
|
@@ -23,11 +24,16 @@ class RoutingTable {
|
|
|
23
24
|
}
|
|
24
25
|
const entry = { prefix, nextHop, priority };
|
|
25
26
|
this.routes.set(prefix, entry);
|
|
27
|
+
this.persistence?.saveRoute({ prefix, nextHop, priority: priority ?? 0, source: 'runtime' });
|
|
26
28
|
this.logger?.info({ prefix, nextHop, priority }, `Added route: ${prefix} -> ${nextHop}`);
|
|
27
29
|
}
|
|
30
|
+
setPersistence(sink) {
|
|
31
|
+
this.persistence = sink;
|
|
32
|
+
}
|
|
28
33
|
removeRoute(prefix) {
|
|
29
34
|
const existed = this.routes.has(prefix);
|
|
30
35
|
this.routes.delete(prefix);
|
|
36
|
+
this.persistence?.deleteRoute(prefix);
|
|
31
37
|
if (existed) {
|
|
32
38
|
this.logger?.info({ prefix }, `Removed route: ${prefix}`);
|
|
33
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routing-table.js","sourceRoot":"","sources":["../../src/routing/routing-table.ts"],"names":[],"mappings":";;;AAMA,kDAAyF;
|
|
1
|
+
{"version":3,"file":"routing-table.js","sourceRoot":"","sources":["../../src/routing/routing-table.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { EventEmitter } from 'events';
|
|
|
2
2
|
import type { Database } from 'better-sqlite3';
|
|
3
3
|
import type { Logger } from 'pino';
|
|
4
4
|
import type { BTPServer } from '../btp/btp-server';
|
|
5
|
+
import type { BTPProtocolData } from '../btp/btp-types';
|
|
5
6
|
import type { ChainProviderRegistry } from './provider/chain-provider-registry';
|
|
6
7
|
import type { ChannelManager } from './channel-manager';
|
|
7
8
|
import { type BTPClaimMessage, type BlockchainType } from '../btp/btp-claim-types';
|
|
@@ -35,6 +36,7 @@ export declare class ClaimReceiver extends EventEmitter {
|
|
|
35
36
|
private readonly _nodePrivateKey?;
|
|
36
37
|
constructor(db: Database, chainProviderRegistry: ChainProviderRegistry, logger: Logger, channelManager?: ChannelManager | undefined, peerIdToAddressMap?: Map<string, string> | undefined, _nip59Wrapper?: NIP59ClaimWrapper | undefined, _nodePrivateKey?: Uint8Array | undefined);
|
|
37
38
|
registerWithBTPServer(btpServer: BTPServer): void;
|
|
39
|
+
ingestProtocolData(peerId: string, protocolData: BTPProtocolData[]): Promise<void>;
|
|
38
40
|
private handleWrappedClaimMessage;
|
|
39
41
|
private handleClaimMessage;
|
|
40
42
|
private resolveProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claim-receiver.d.ts","sourceRoot":"","sources":["../../src/settlement/claim-receiver.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"claim-receiver.d.ts","sourceRoot":"","sources":["../../src/settlement/claim-receiver.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,19 +37,22 @@ class ClaimReceiver extends events_1.EventEmitter {
|
|
|
37
37
|
if (!(0, btp_types_1.isBTPData)(message)) {
|
|
38
38
|
return;
|
|
39
39
|
}
|
|
40
|
-
|
|
41
|
-
if (protocolData.protocolName === 'payment-channel-claim') {
|
|
42
|
-
await this.handleClaimMessage(peerId, protocolData);
|
|
43
|
-
}
|
|
44
|
-
else if (protocolData.protocolName === nip59_claim_wrapper_1.BTP_WRAPPED_CLAIM_PROTOCOL.NAME &&
|
|
45
|
-
this._nip59Wrapper &&
|
|
46
|
-
this._nodePrivateKey) {
|
|
47
|
-
await this.handleWrappedClaimMessage(peerId, protocolData);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
40
|
+
await this.ingestProtocolData(peerId, message.data.protocolData);
|
|
50
41
|
});
|
|
51
42
|
this.logger.info('ClaimReceiver registered with BTP server');
|
|
52
43
|
}
|
|
44
|
+
async ingestProtocolData(peerId, protocolData) {
|
|
45
|
+
for (const pd of protocolData) {
|
|
46
|
+
if (pd.protocolName === 'payment-channel-claim') {
|
|
47
|
+
await this.handleClaimMessage(peerId, pd);
|
|
48
|
+
}
|
|
49
|
+
else if (pd.protocolName === nip59_claim_wrapper_1.BTP_WRAPPED_CLAIM_PROTOCOL.NAME &&
|
|
50
|
+
this._nip59Wrapper &&
|
|
51
|
+
this._nodePrivateKey) {
|
|
52
|
+
await this.handleWrappedClaimMessage(peerId, pd);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
53
56
|
async handleWrappedClaimMessage(peerId, protocolData) {
|
|
54
57
|
const childLogger = this.logger.child({ peerId, protocol: 'claim-receiver-nip59' });
|
|
55
58
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claim-receiver.js","sourceRoot":"","sources":["../../src/settlement/claim-receiver.ts"],"names":[],"mappings":";;;AAaA,mCAAsC;AAKtC,gDAA6C;AAQ7C,4DAUgC;AAChC,uEAIuC;AAmB1B,QAAA,MAAM,GAAG;IACpB,8BAA8B,EAC5B,0GAA0G;IAC5G,iBAAiB,EAAE,iCAAiC;IACpD,kBAAkB,EAAE,6BAA6B;IACjD,sBAAsB,EAAE,qCAAqC;IAC7D,4BAA4B,EAAE,sCAAsC;IACpE,iBAAiB,EAAE,iCAAiC;IACpD,sBAAsB,EAAE,wCAAwC;CACxD,CAAC;AAmCX,MAAa,aAAc,SAAQ,qBAAY;IAE1B;IACA;IACA;IACA;IACA;IACA;IACA;IAPnB,YACmB,EAAY,EACZ,qBAA4C,EAC5C,MAAc,EACd,cAA+B,EAC/B,kBAAwC,EACxC,aAAiC,EACjC,eAA4B;QAE7C,KAAK,EAAE,CAAC;QARS,OAAE,GAAF,EAAE,CAAU;QACZ,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,WAAM,GAAN,MAAM,CAAQ;QACd,mBAAc,GAAd,cAAc,CAAiB;QAC/B,uBAAkB,GAAlB,kBAAkB,CAAsB;QACxC,kBAAa,GAAb,aAAa,CAAoB;QACjC,oBAAe,GAAf,eAAe,CAAa;IAG/C,CAAC;IAUD,qBAAqB,CAAC,SAAoB;QAExC,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,MAAc,EAAE,OAAmB,EAAE,EAAE;YAEhE,IAAI,CAAC,IAAA,qBAAS,EAAC,OAAO,CAAC,EAAE,CAAC;gBACxB,OAAO;YACT,CAAC;YAID,KAAK,MAAM,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACrD,IAAI,YAAY,CAAC,YAAY,KAAK,uBAAuB,EAAE,CAAC;oBAE1D,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;gBACtD,CAAC;qBAAM,IACL,YAAY,CAAC,YAAY,KAAK,gDAA0B,CAAC,IAAI;oBAC7D,IAAI,CAAC,aAAa;oBAClB,IAAI,CAAC,eAAe,EACpB,CAAC;oBAED,MAAM,IAAI,CAAC,yBAAyB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;IAC/D,CAAC;IAMO,KAAK,CAAC,yBAAyB,CACrC,MAAc,EACd,YAA6B;QAE7B,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,sBAAsB,EAAE,CAAC,CAAC;QACpF,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,IAAA,6CAAuB,EAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAChE,MAAM,YAAY,GAAG,IAAI,CAAC,aAAc,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,eAAgB,CAAC,CAAC;YAC1F,WAAW,CAAC,KAAK,CACf,EAAE,SAAS,EAAE,YAAY,CAAC,SAAS,EAAE,EACrC,qCAAqC,CACtC,CAAC;YAEF,MAAM,aAAa,GAAoB;gBACrC,YAAY,EAAE,uBAAuB;gBACrC,WAAW,EAAE,CAAC;gBACd,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;aACxD,CAAC;YACF,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,WAAW,CAAC,IAAI,CACd,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EACjE,+BAA+B,CAChC,CAAC;QACJ,CAAC;IACH,CAAC;IASO,KAAK,CAAC,kBAAkB,CAAC,MAAc,EAAE,YAA6B;QAC5E,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAE9E,IAAI,CAAC;YAEH,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAoB,CAAC;YAGvF,IAAA,sCAAoB,EAAC,YAAY,CAAC,CAAC;YAEnC,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;YACzC,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;YAE3C,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,wBAAwB,CAAC,CAAC;YAGtE,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;YAEpD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAEd,MAAM,QAAQ,GAAG,GAAG,cAAM,CAAC,sBAAsB,IAAI,UAAU,EAAE,CAAC;gBAClE,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,QAAQ,CAAC,CAAC;gBACtD,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;gBACxD,OAAO;YACT,CAAC;YAED,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YAGlF,IAAI,kBAAkB,CAAC,KAAK,EAAE,CAAC;gBAC7B,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;gBACvD,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,2BAA2B,CAAC,CAAC;gBAK7D,IAAI,CAAC;oBACH,IAAI,IAAA,4BAAU,EAAC,YAAY,CAAC,EAAE,CAAC;wBAC7B,MAAM,KAAK,GAAuB;4BAChC,MAAM;4BACN,SAAS,EAAE,YAAY,CAAC,SAAS;4BACjC,gBAAgB,EAAE,MAAM,CAAC,YAAY,CAAC,iBAAiB,CAAC;yBACzD,CAAC;wBACF,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;wBACnC,WAAW,CAAC,KAAK,CACf,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE,EACnF,8BAA8B,CAC/B,CAAC;oBACJ,CAAC;yBAAM,IAAI,IAAA,+BAAa,EAAC,YAAY,CAAC,EAAE,CAAC;wBACvC,MAAM,KAAK,GAAuB;4BAChC,MAAM;4BACN,SAAS,EAAE,YAAY,CAAC,cAAc;4BACtC,gBAAgB,EAAE,MAAM,CAAC,YAAY,CAAC,iBAAiB,CAAC;yBACzD,CAAC;wBACF,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;wBACnC,WAAW,CAAC,KAAK,CACf;4BACE,cAAc,EAAE,KAAK,CAAC,SAAS;4BAC/B,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE;yBACpD,EACD,uCAAuC,CACxC,CAAC;oBACJ,CAAC;yBAAM,IAAI,IAAA,6BAAW,EAAC,YAAY,CAAC,EAAE,CAAC;wBACrC,MAAM,KAAK,GAAuB;4BAChC,MAAM;4BACN,SAAS,EAAE,YAAY,CAAC,YAAY;4BAQpC,gBAAgB,EAAE,MAAM,CAAC,YAAY,CAAC,iBAAiB,IAAI,GAAG,CAAC;yBAChE,CAAC;wBACF,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;wBACnC,WAAW,CAAC,KAAK,CACf;4BACE,YAAY,EAAE,KAAK,CAAC,SAAS;4BAC7B,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE;yBACpD,EACD,qCAAqC,CACtC,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAAC,OAAO,UAAU,EAAE,CAAC;oBACpB,WAAW,CAAC,IAAI,CACd;wBACE,SAAS,EAAE,YAAY,CAAC,SAAS;wBACjC,KAAK,EAAE,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;qBAC7E,EACD,uFAAuF,CACxF,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;gBACxD,WAAW,CAAC,IAAI,CACd,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,CAAC,KAAK,EAAE,EAC9C,2BAA2B,CAC5B,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,WAAW,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,+BAA+B,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAmBO,eAAe,CAAC,KAAsB;QAC5C,IAAI,IAAA,4BAAU,EAAC,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACnE,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5E,CAAC;QAED,IAAI,IAAA,+BAAa,EAAC,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YACxE,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5E,CAAC;QAED,IAAI,IAAA,6BAAW,EAAC,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACtE,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5E,CAAC;QAGD,OAAO,SAAS,CAAC;IACnB,CAAC;IAQO,cAAc,CACpB,UAA0B,EAC1B,UAA8B,EAC9B,gBAA6C;QAE7C,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YAC7E,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC;QAC1B,CAAC;QAED,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CACnD,UAAU,EACV,GAAG,UAAU,IAAI,gBAAgB,EAAE,CACpC,CAAC;YACF,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;YAE1B,MAAM,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;YACtC,MAAM,SAAS,GAAG,IAAI,CAAC,qBAAqB;iBACzC,eAAe,EAAE;iBACjB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,UAAU,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;YACzE,IAAI,SAAS;gBAAE,OAAO,SAAS,CAAC;QAClC,CAAC;QAED,OAAO,IAAI,CAAC,qBAAqB,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC;IAC9F,CAAC;IAcO,KAAK,CAAC,WAAW,CACvB,KAAsB,EACtB,MAAc,EACd,QAAgC;QAEhC,IAAI,CAAC;YAIH,IAAI,IAAA,4BAAU,EAAC,KAAK,CAAC,EAAE,CAAC;gBACtB,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC5D,CAAC;YAGD,IAAI,IAAA,+BAAa,EAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC/D,CAAC;YAGD,IAAI,IAAA,6BAAW,EAAC,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC7D,CAAC;YAGD,MAAM,gBAAgB,GAAU,KAAK,CAAC;YACtC,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,SAAS,EAAG,gBAAoC,CAAC,SAAS;gBAC1D,KAAK,EAAE,8CAA+C,gBAAoC,CAAC,UAAU,EAAE;aACxG,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,SAAS,EAAG,KAAyB,CAAC,SAAS;gBAC/C,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAChE,CAAC;QACJ,CAAC;IACH,CAAC;IAWO,KAAK,CAAC,cAAc,CAC1B,KAAsB,EACtB,MAAc,EACd,QAAgC;QAEhC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,EAAE,wCAAwC,CAAC,CAAC;QAG5F,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAE1E,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAEzC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,EAC9B,0DAA0D,CAC3D,CAAC;YAGF,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;gBACrF,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,EAClE,cAAM,CAAC,8BAA8B,CACtC,CAAC;gBACF,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,KAAK,EAAE,cAAM,CAAC,8BAA8B;iBAC7C,CAAC;YACJ,CAAC;YAGD,IAAI,YAAkC,CAAC;YACvC,IAAI,CAAC;gBACH,YAAY,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACjE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,EAAE,EACzE,cAAM,CAAC,4BAA4B,CACpC,CAAC;gBACF,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,KAAK,EAAE,cAAM,CAAC,4BAA4B;iBAC3C,CAAC;YACJ,CAAC;YAGD,IAAI,YAAY,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACrC,MAAM,QAAQ,GACZ,YAAY,CAAC,MAAM,KAAK,SAAS,IAAI,YAAY,CAAC,MAAM,KAAK,QAAQ;oBACnE,CAAC,CAAC,cAAM,CAAC,kBAAkB;oBAC3B,CAAC,CAAC,cAAM,CAAC,iBAAiB,CAAC;gBAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,EAClE,QAAQ,CACT,CAAC;gBACF,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,KAAK,EAAE,QAAQ;iBAChB,CAAC;YACJ,CAAC;YAGD,MAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;YACtD,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC,EAAE,CAAC;gBAC5E,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,EAClE,cAAM,CAAC,sBAAsB,CAC9B,CAAC;gBACF,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,KAAK,EAAE,cAAM,CAAC,sBAAsB;iBACrC,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CACd;gBACE,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,YAAY,EAAE,YAAY,CAAC,YAAY;gBACvC,MAAM,EAAE,YAAY,CAAC,MAAM;aAC5B,EACD,wCAAwC,CACzC,CAAC;YAGF,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACnD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;YAEjE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,KAAK,EAAE,cAAM,CAAC,iBAAiB;iBAChC,CAAC;YACJ,CAAC;YAMD,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC;gBAC1C,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,MAAM;gBACN,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;gBAC9C,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,KAAK,EAAE,QAAQ,CAAC,OAAO;gBACvB,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,6BAA6B,CAAC,CAAC;YAGxF,IAAI,IAAI,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;gBACzD,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,EAC9C,wDAAwD,CACzD,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YAEN,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACnD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;YAEhE,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,KAAK,EAAE,cAAM,CAAC,iBAAiB;iBAChC,CAAC;YACJ,CAAC;QACH,CAAC;QAGD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,sBAAsB,CACnD,MAAM,EACN,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,SAAS,CAChB,CAAC;QAEF,IAAI,WAAW,IAAI,IAAA,4BAAU,EAAC,WAAW,CAAC,EAAE,CAAC;YAC3C,IAAI,KAAK,CAAC,KAAK,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;gBACrC,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,KAAK,EAAE,oCAAoC;iBAC5C,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;IACrD,CAAC;IAYO,iBAAiB,CAAC,KAAsB;QAC9C,OAAO;YACL,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;YAC1C,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,aAAa,EAAE,KAAK,CAAC,aAAa;SACnC,CAAC;IACJ,CAAC;IAgBO,KAAK,CAAC,iBAAiB,CAC7B,KAAyB,EACzB,MAAc,EACd,QAAgC;QAEhC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,EAAE,wBAAwB,CAAC,CAAC;QAGtF,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAE/E,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAEzC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,EACxC,iEAAiE,CAClE,CAAC;YAGF,IAAI,YAAkC,CAAC;YACvC,IAAI,CAAC;gBACH,YAAY,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YACtE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,IAAI,CACd;oBACE,cAAc,EAAE,KAAK,CAAC,cAAc;oBACpC,eAAe,EAAE,KAAK,CAAC,eAAe;oBACtC,KAAK;iBACN,EACD,cAAM,CAAC,4BAA4B,CACpC,CAAC;gBACF,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,KAAK,EAAE,cAAM,CAAC,4BAA4B;iBAC3C,CAAC;YACJ,CAAC;YAGD,IAAI,YAAY,CAAC,MAAM,KAAK,QAAQ,IAAI,YAAY,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACzE,MAAM,QAAQ,GACZ,YAAY,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,cAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,cAAM,CAAC,iBAAiB,CAAC;gBAC3F,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,EACrE,QAAQ,CACT,CAAC;gBACF,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,KAAK,EAAE,QAAQ;iBAChB,CAAC;YACJ,CAAC;YAGD,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC/D,IAAI,CAAC,MAAM,CAAC,IAAI,CACd;oBACE,cAAc,EAAE,KAAK,CAAC,cAAc;oBACpC,eAAe,EAAE,KAAK,CAAC,eAAe;iBACvC,EACD,cAAM,CAAC,sBAAsB,CAC9B,CAAC;gBACF,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,KAAK,EAAE,cAAM,CAAC,sBAAsB;iBACrC,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CACd;gBACE,cAAc,EAAE,KAAK,CAAC,cAAc;gBACpC,YAAY,EAAE,YAAY,CAAC,YAAY;gBACvC,MAAM,EAAE,YAAY,CAAC,MAAM;aAC5B,EACD,+CAA+C,CAChD,CAAC;YAGF,MAAM,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;YACzD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;YAEjE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,KAAK,EAAE,cAAM,CAAC,iBAAiB;iBAChC,CAAC;YACJ,CAAC;YAQD,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC;gBAC1C,SAAS,EAAE,KAAK,CAAC,cAAc;gBAC/B,MAAM;gBACN,YAAY,EAAE,KAAK,CAAC,SAAS;gBAC7B,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,UAAU,KAAK,CAAC,OAAO,IAAI,QAAQ,EAAE;aAC7C,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,MAAM,EAAE,EAChD,oCAAoC,CACrC,CAAC;YAGF,IAAI,IAAI,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;gBAC3D,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,EAClD,2DAA2D,CAC5D,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YAEN,MAAM,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;YACzD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;YAEhE,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,KAAK,EAAE,cAAM,CAAC,iBAAiB;iBAChC,CAAC;YACJ,CAAC;QACH,CAAC;QAGD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,sBAAsB,CACnD,MAAM,EACN,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,cAAc,CACrB,CAAC;QAEF,IAAI,WAAW,IAAI,IAAA,+BAAa,EAAC,WAAW,CAAC,EAAE,CAAC;YAC9C,IAAI,KAAK,CAAC,KAAK,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;gBACrC,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,KAAK,EAAE,oCAAoC;iBAC5C,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;IACrD,CAAC;IAcO,uBAAuB,CAAC,KAAyB;QACvD,OAAO;YACL,SAAS,EAAE,KAAK,CAAC,cAAc;YAC/B,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;YAC1C,YAAY,EAAE,GAAG;YACjB,SAAS,EAAE,oEAAoE;YAC/E,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,aAAa,EAAE,KAAK,CAAC,eAAe;SACrC,CAAC;IACJ,CAAC;IAgBO,KAAK,CAAC,eAAe,CAC3B,KAAuB,EACvB,MAAc,EACd,QAAgC;QAEhC,IAAI,CAAC,MAAM,CAAC,KAAK,CACf;YACE,KAAK,EAAE,qBAAqB;YAC5B,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,YAAY,EAAE,KAAK,CAAC,YAAY;SACjC,EACD,sBAAsB,CACvB,CAAC;QAGF,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAE7E,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAEzC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,EACpC,+DAA+D,CAChE,CAAC;YAGF,IAAI,YAAkC,CAAC;YACvC,IAAI,CAAC;gBACH,YAAY,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACpE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAIf,IAAI,CAAC,MAAM,CAAC,IAAI,CACd;oBACE,KAAK,EAAE,gCAAgC;oBACvC,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,YAAY,EAAE,KAAK,CAAC,YAAY;oBAChC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,EACD,cAAM,CAAC,4BAA4B,CACpC,CAAC;gBACF,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,KAAK,EAAE,cAAM,CAAC,4BAA4B;iBAC3C,CAAC;YACJ,CAAC;YAGD,IAAI,YAAY,CAAC,MAAM,KAAK,QAAQ,IAAI,YAAY,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACzE,MAAM,QAAQ,GACZ,YAAY,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,cAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,cAAM,CAAC,iBAAiB,CAAC;gBAC3F,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,EACjE,QAAQ,CACT,CAAC;gBACF,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,KAAK,EAAE,QAAQ;iBAChB,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CACd;gBACE,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,YAAY,EAAE,YAAY,CAAC,YAAY;gBACvC,MAAM,EAAE,YAAY,CAAC,MAAM;aAC5B,EACD,6CAA6C,CAC9C,CAAC;YAGF,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;YACvD,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;YAEnE,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,EAAE,KAAK,EAAE,gCAAgC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,EACvE,cAAM,CAAC,iBAAiB,CACzB,CAAC;gBACF,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,KAAK,EAAE,cAAM,CAAC,iBAAiB;iBAChC,CAAC;YACJ,CAAC;YAGD,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC;gBAC1C,SAAS,EAAE,KAAK,CAAC,YAAY;gBAC7B,MAAM;gBACN,YAAY,EAAE,KAAK,CAAC,OAAO;gBAC3B,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,QAAQ,KAAK,CAAC,OAAO,IAAI,QAAQ,EAAE;aAC3C,CAAC,CAAC;YAKH,IACE,KAAK,CAAC,eAAe;gBACrB,IAAI,CAAC,kBAAkB;gBACvB,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,EACpC,CAAC;gBACD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;YAC7D,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,EAC5C,kCAAkC,CACnC,CAAC;QACJ,CAAC;aAAM,CAAC;YAEN,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;YACvD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;YAEhE,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,KAAK,EAAE,cAAM,CAAC,iBAAiB;iBAChC,CAAC;YACJ,CAAC;QACH,CAAC;QAGD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,sBAAsB,CACnD,MAAM,EACN,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,YAAY,CACnB,CAAC;QAEF,IAAI,WAAW,IAAI,IAAA,6BAAW,EAAC,WAAW,CAAC,EAAE,CAAC;YAC5C,IAAI,KAAK,CAAC,KAAK,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;gBACrC,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,KAAK,EAAE,oCAAoC;iBAC5C,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;IACrD,CAAC;IAsBO,qBAAqB,CAAC,KAAuB;QACnD,OAAO;YACL,SAAS,EAAE,KAAK,CAAC,YAAY;YAC7B,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;YAC1C,YAAY,EAAE,GAAG;YACjB,SAAS,EAAE,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAChC,SAAS,EAAE,KAAK,CAAC,KAAK;YACtB,aAAa,EAAE,KAAK,CAAC,YAAY;SAClC,CAAC;IACJ,CAAC;IAUO,qBAAqB,CAAC,MAAc,EAAE,KAAsB,EAAE,QAAiB;QACrF,IAAI,CAAC;YAEH,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,IAAI,IAAA,4BAAU,EAAC,KAAK,CAAC,EAAE,CAAC;gBACtB,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;YAC9B,CAAC;iBAAM,IAAI,IAAA,+BAAa,EAAC,KAAK,CAAC,EAAE,CAAC;gBAChC,SAAS,GAAG,KAAK,CAAC,cAAc,CAAC;YACnC,CAAC;iBAAM,IAAI,IAAA,6BAAW,EAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC;YACjC,CAAC;YAGD,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;OAY5B,CAAC,CAAC;YAEH,IAAI,CAAC,GAAG,CACN,KAAK,CAAC,SAAS,EACf,MAAM,EACN,KAAK,CAAC,UAAU,EAChB,SAAS,EACT,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EACrB,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAChB,IAAI,CAAC,GAAG,EAAE,EACV,IAAI,EACJ,IAAI,CACL,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CAAC;gBACjF,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,EAC9B,+CAA+C,CAChD,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,qCAAqC,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;IACH,CAAC;IAYD,KAAK,CAAC,sBAAsB,CAC1B,MAAc,EACd,UAA0B,EAC1B,SAAiB;QAEjB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;OAU5B,CAAC,CAAC;YAEH,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAuC,CAAC;YAE1F,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAoB,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,uCAAuC,CAAC,CAAC;YACtE,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAsBD,KAAK,CAAC,eAAe,CAAC,QAAgB,EAAE;QAUtC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;OAM5B,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAOzB,CAAC;YAEH,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACxB,SAAS,EAAE,GAAG,CAAC,UAAU;gBACzB,MAAM,EAAE,GAAG,CAAC,OAAO;gBACnB,UAAU,EAAE,GAAG,CAAC,UAA4B;gBAC5C,SAAS,EAAE,GAAG,CAAC,UAAU;gBACzB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAoB;gBACxD,UAAU,EAAE,GAAG,CAAC,WAAW;aAC5B,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,+BAA+B,CAAC,CAAC;YAC9D,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAYD,KAAK,CAAC,cAAc,CAAC,MAAc,EAAE,UAA0B;QAC7D,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;OAI5B,CAAC,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAA2C,CAAC;YACnF,OAAO,GAAG,EAAE,OAAO,IAAI,IAAI,CAAC;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,sCAAsC,CAAC,CAAC;YACzF,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAqBD,KAAK,CAAC,2BAA2B,CAC/B,MAAc;QAId,MAAM,GAAG,GAAG,IAAI,GAAG,EAGhB,CAAC;QAEJ,IAAI,CAAC;YAMH,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;OAI5B,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAK1B,CAAC;YAGH,MAAM,eAAe,GAAG,IAAI,GAAG,EAS5B,CAAC;YACJ,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,KAAsB,CAAC;gBAC3B,IAAI,CAAC;oBACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAoB,CAAC;gBACxD,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,YAAY,GAAG,EAAE,CAAC;gBACtB,IAAI,MAAM,GAAG,EAAE,CAAC;gBAChB,IAAI,KAAK,GAAG,CAAC,CAAC;gBACd,IAAI,IAAA,4BAAU,EAAC,KAAK,CAAC,EAAE,CAAC;oBACtB,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC;oBACxC,IAAI,CAAC;wBACH,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,iBAAiB,IAAI,GAAG,CAAC,CAAC;oBAClD,CAAC;oBAAC,MAAM,CAAC;wBACP,MAAM,GAAG,EAAE,CAAC;oBACd,CAAC;oBACD,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;gBAC3B,CAAC;qBAAM,IAAI,IAAA,+BAAa,EAAC,KAAK,CAAC,EAAE,CAAC;oBAChC,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC;oBAC/B,IAAI,CAAC;wBACH,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,iBAAiB,IAAI,GAAG,CAAC,CAAC;oBAClD,CAAC;oBAAC,MAAM,CAAC;wBACP,MAAM,GAAG,EAAE,CAAC;oBACd,CAAC;oBACD,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;gBAC3B,CAAC;qBAAM,IAAI,IAAA,6BAAW,EAAC,KAAK,CAAC,EAAE,CAAC;oBAG9B,YAAY,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;oBACnC,MAAM,GAAG,EAAE,CAAC;oBACZ,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;gBAC3B,CAAC;gBACD,IAAI,CAAC,YAAY;oBAAE,SAAS;gBAE5B,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;gBAClD,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC1C,IAAI,CAAC,QAAQ,IAAI,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACxC,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE;wBACvB,UAAU,EAAE,GAAG,CAAC,UAA4B;wBAC5C,YAAY;wBACZ,MAAM;wBACN,KAAK;wBACL,UAAU,EAAE,GAAG,CAAC,WAAW;qBAC5B,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAGD,KAAK,MAAM,KAAK,IAAI,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC7C,MAAM,QAAQ,GAAG,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;gBAC7D,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACjC,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC;oBAC7B,IAAI,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM;wBAAE,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC;gBACzE,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE;wBAChB,UAAU,EAAE,KAAK,CAAC,UAAU;wBAC5B,YAAY,EAAE,KAAK,CAAC,YAAY;wBAChC,KAAK,EAAE,KAAK,CAAC,MAAM;wBACnB,MAAM,EAAE,KAAK,CAAC,UAAU;qBACzB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,6CAA6C,CAAC,CAAC;QACtF,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAeD,KAAK,CAAC,gCAAgC,CACpC,MAAc,EACd,SAAiB;QAEjB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;;;OAS5B,CAAC,CAAC;YAEH,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAuC,CAAC;YAE9E,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAoB,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,mDAAmD,CAAC,CAAC;YAClF,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAcD,KAAK,CAAC,6BAA6B,CAAC,MAAc;QAChD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;;OAQ5B,CAAC,CAAC;YAEH,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAuC,CAAC;YAEnE,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAoB,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,gDAAgD,CAAC,CAAC;YACvF,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF;AA1vCD,sCA0vCC"}
|
|
1
|
+
{"version":3,"file":"claim-receiver.js","sourceRoot":"","sources":["../../src/settlement/claim-receiver.ts"],"names":[],"mappings":"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"}
|