@reclaimprotocol/attestor-core 4.0.1 → 4.0.3
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/lib/client/create-claim.js +10 -6
- package/lib/client/utils/client-socket.d.ts +2 -2
- package/lib/client/utils/client-socket.js +14 -8
- package/lib/client/utils/message-handler.js +4 -3
- package/lib/config/index.d.ts +1 -0
- package/lib/config/index.js +3 -2
- package/lib/index.d.ts +1 -0
- package/lib/index.js +2 -1
- package/lib/mechain/abis/governanceABI.d.ts +50 -0
- package/lib/mechain/abis/governanceABI.js +462 -0
- package/lib/mechain/abis/taskABI.d.ts +157 -0
- package/lib/mechain/abis/taskABI.js +513 -0
- package/lib/mechain/client/create-claim-on-mechain.d.ts +10 -0
- package/lib/mechain/client/create-claim-on-mechain.js +32 -0
- package/lib/mechain/client/index.d.ts +1 -0
- package/lib/mechain/client/index.js +18 -0
- package/lib/mechain/constants/index.d.ts +3 -0
- package/lib/mechain/constants/index.js +7 -0
- package/lib/mechain/index.d.ts +2 -0
- package/lib/mechain/index.js +19 -0
- package/lib/mechain/types/index.d.ts +23 -0
- package/lib/mechain/types/index.js +3 -0
- package/lib/proto/api.d.ts +15 -0
- package/lib/proto/api.js +188 -2
- package/lib/providers/http/index.js +3 -3
- package/lib/server/handlers/createTaskOnMechain.d.ts +2 -0
- package/lib/server/handlers/createTaskOnMechain.js +52 -0
- package/lib/server/handlers/index.js +3 -1
- package/lib/server/socket.js +8 -9
- package/lib/tests/test.http-provider-utils.js +2 -2
- package/lib/types/client.d.ts +2 -2
- package/lib/utils/atomic-operations.d.ts +24 -0
- package/lib/utils/atomic-operations.js +65 -0
- package/lib/utils/connection-state-machine.d.ts +43 -0
- package/lib/utils/connection-state-machine.js +129 -0
- package/lib/utils/http-parser.js +3 -2
- package/lib/utils/resource-monitor.d.ts +61 -0
- package/lib/utils/resource-monitor.js +107 -0
- package/lib/utils/socket-base.js +2 -1
- package/lib/window-rpc/setup-window-rpc.js +32 -1
- package/lib/window-rpc/types.d.ts +14 -1
- package/package.json +1 -1
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Atomic operations utility for preventing race conditions.
|
|
4
|
+
* Provides mutex-like locks using Promise-based mutual exclusion.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.AtomicOperations = void 0;
|
|
8
|
+
class AtomicOperations {
|
|
9
|
+
/**
|
|
10
|
+
* Execute a function with a named lock to prevent concurrent execution.
|
|
11
|
+
* @param lockName Unique identifier for the lock
|
|
12
|
+
* @param fn Function to execute atomically
|
|
13
|
+
* @returns Promise that resolves with the function's return value
|
|
14
|
+
*/
|
|
15
|
+
static async withLock(lockName, fn) {
|
|
16
|
+
// Wait for any existing lock to complete
|
|
17
|
+
const existingLock = this.locks.get(lockName);
|
|
18
|
+
if (existingLock) {
|
|
19
|
+
await existingLock.catch(() => {
|
|
20
|
+
// Ignore errors from previous lock holders
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
// Create a new lock
|
|
24
|
+
let resolve;
|
|
25
|
+
let reject;
|
|
26
|
+
const lockPromise = new Promise((res, rej) => {
|
|
27
|
+
resolve = res;
|
|
28
|
+
reject = rej;
|
|
29
|
+
});
|
|
30
|
+
this.locks.set(lockName, lockPromise);
|
|
31
|
+
try {
|
|
32
|
+
// Execute the function
|
|
33
|
+
const result = await fn();
|
|
34
|
+
resolve();
|
|
35
|
+
return result;
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
reject(error);
|
|
39
|
+
throw error;
|
|
40
|
+
}
|
|
41
|
+
finally {
|
|
42
|
+
// Clean up the lock if we're still the current holder
|
|
43
|
+
if (this.locks.get(lockName) === lockPromise) {
|
|
44
|
+
this.locks.delete(lockName);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Check if a lock is currently held.
|
|
50
|
+
* @param lockName Name of the lock to check
|
|
51
|
+
* @returns True if the lock is currently held
|
|
52
|
+
*/
|
|
53
|
+
static isLocked(lockName) {
|
|
54
|
+
return this.locks.has(lockName);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Clear all locks (for testing/cleanup).
|
|
58
|
+
*/
|
|
59
|
+
static clearAllLocks() {
|
|
60
|
+
this.locks.clear();
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
exports.AtomicOperations = AtomicOperations;
|
|
64
|
+
AtomicOperations.locks = new Map();
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRvbWljLW9wZXJhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvYXRvbWljLW9wZXJhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7R0FHRzs7O0FBRUgsTUFBYSxnQkFBZ0I7SUFHNUI7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBSSxRQUFnQixFQUFFLEVBQW9CO1FBQzlELHlDQUF5QztRQUN6QyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUM3QyxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2xCLE1BQU0sWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUU7Z0JBQzdCLDJDQUEyQztZQUM1QyxDQUFDLENBQUMsQ0FBQTtRQUNILENBQUM7UUFFRCxvQkFBb0I7UUFDcEIsSUFBSSxPQUFtQixDQUFBO1FBQ3ZCLElBQUksTUFBNEIsQ0FBQTtRQUNoQyxNQUFNLFdBQVcsR0FBRyxJQUFJLE9BQU8sQ0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNsRCxPQUFPLEdBQUcsR0FBRyxDQUFBO1lBQ2IsTUFBTSxHQUFHLEdBQUcsQ0FBQTtRQUNiLENBQUMsQ0FBQyxDQUFBO1FBRUYsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFBO1FBRXJDLElBQUksQ0FBQztZQUNKLHVCQUF1QjtZQUN2QixNQUFNLE1BQU0sR0FBRyxNQUFNLEVBQUUsRUFBRSxDQUFBO1lBQ3pCLE9BQVEsRUFBRSxDQUFBO1lBQ1YsT0FBTyxNQUFNLENBQUE7UUFDZCxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNoQixNQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDZCxNQUFNLEtBQUssQ0FBQTtRQUNaLENBQUM7Z0JBQVMsQ0FBQztZQUNWLHNEQUFzRDtZQUN0RCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLFdBQVcsRUFBRSxDQUFDO2dCQUM5QyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtZQUM1QixDQUFDO1FBQ0YsQ0FBQztJQUNGLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFnQjtRQUMvQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ2hDLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxhQUFhO1FBQ25CLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUE7SUFDbkIsQ0FBQzs7QUExREYsNENBMkRDO0FBMURlLHNCQUFLLEdBQUcsSUFBSSxHQUFHLEVBQXlCLENBQUEifQ==
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Connection state machine for managing atomic state transitions.
|
|
3
|
+
* Prevents race conditions in connection state management.
|
|
4
|
+
*/
|
|
5
|
+
export declare enum ConnectionState {
|
|
6
|
+
CONNECTING = "connecting",
|
|
7
|
+
CONNECTED = "connected",
|
|
8
|
+
CLOSING = "closing",
|
|
9
|
+
CLOSED = "closed"
|
|
10
|
+
}
|
|
11
|
+
type StateChangeListener = (oldState: ConnectionState, newState: ConnectionState) => void;
|
|
12
|
+
export declare class ConnectionStateMachine {
|
|
13
|
+
private currentState;
|
|
14
|
+
private listeners;
|
|
15
|
+
private transitionLock;
|
|
16
|
+
constructor(initialState?: ConnectionState);
|
|
17
|
+
/**
|
|
18
|
+
* Get current state.
|
|
19
|
+
*/
|
|
20
|
+
getState(): ConnectionState;
|
|
21
|
+
/**
|
|
22
|
+
* Check if the connection is in any of the specified states.
|
|
23
|
+
*/
|
|
24
|
+
isInState(...states: ConnectionState[]): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Register a state change listener.
|
|
27
|
+
*/
|
|
28
|
+
onStateChange(listener: StateChangeListener): () => void;
|
|
29
|
+
/**
|
|
30
|
+
* Attempt to transition from allowed states to a new state.
|
|
31
|
+
* @param fromStates Allowed states to transition from
|
|
32
|
+
* @param toState Target state
|
|
33
|
+
* @param action Optional action to execute during transition
|
|
34
|
+
* @returns Promise that resolves to true if transition succeeded
|
|
35
|
+
*/
|
|
36
|
+
transition(fromStates: ConnectionState | ConnectionState[], toState: ConnectionState, action?: () => Promise<void>): Promise<boolean>;
|
|
37
|
+
/**
|
|
38
|
+
* Force a state change without checking allowed transitions.
|
|
39
|
+
* Use with caution - mainly for error recovery.
|
|
40
|
+
*/
|
|
41
|
+
forceState(newState: ConnectionState): Promise<void>;
|
|
42
|
+
}
|
|
43
|
+
export {};
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Connection state machine for managing atomic state transitions.
|
|
4
|
+
* Prevents race conditions in connection state management.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.ConnectionStateMachine = exports.ConnectionState = void 0;
|
|
8
|
+
var ConnectionState;
|
|
9
|
+
(function (ConnectionState) {
|
|
10
|
+
ConnectionState["CONNECTING"] = "connecting";
|
|
11
|
+
ConnectionState["CONNECTED"] = "connected";
|
|
12
|
+
ConnectionState["CLOSING"] = "closing";
|
|
13
|
+
ConnectionState["CLOSED"] = "closed";
|
|
14
|
+
})(ConnectionState || (exports.ConnectionState = ConnectionState = {}));
|
|
15
|
+
class ConnectionStateMachine {
|
|
16
|
+
constructor(initialState = ConnectionState.CONNECTING) {
|
|
17
|
+
this.listeners = [];
|
|
18
|
+
this.transitionLock = null;
|
|
19
|
+
this.currentState = initialState;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Get current state.
|
|
23
|
+
*/
|
|
24
|
+
getState() {
|
|
25
|
+
return this.currentState;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Check if the connection is in any of the specified states.
|
|
29
|
+
*/
|
|
30
|
+
isInState(...states) {
|
|
31
|
+
return states.includes(this.currentState);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Register a state change listener.
|
|
35
|
+
*/
|
|
36
|
+
onStateChange(listener) {
|
|
37
|
+
this.listeners.push(listener);
|
|
38
|
+
return () => {
|
|
39
|
+
const index = this.listeners.indexOf(listener);
|
|
40
|
+
if (index >= 0) {
|
|
41
|
+
this.listeners.splice(index, 1);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Attempt to transition from allowed states to a new state.
|
|
47
|
+
* @param fromStates Allowed states to transition from
|
|
48
|
+
* @param toState Target state
|
|
49
|
+
* @param action Optional action to execute during transition
|
|
50
|
+
* @returns Promise that resolves to true if transition succeeded
|
|
51
|
+
*/
|
|
52
|
+
async transition(fromStates, toState, action) {
|
|
53
|
+
// Wait for any existing transition to complete
|
|
54
|
+
if (this.transitionLock) {
|
|
55
|
+
await this.transitionLock.catch(() => {
|
|
56
|
+
// Ignore errors from previous transitions
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
// Create a new transition lock
|
|
60
|
+
let resolve;
|
|
61
|
+
let reject;
|
|
62
|
+
this.transitionLock = new Promise((res, rej) => {
|
|
63
|
+
resolve = res;
|
|
64
|
+
reject = rej;
|
|
65
|
+
});
|
|
66
|
+
try {
|
|
67
|
+
const allowedStates = Array.isArray(fromStates) ? fromStates : [fromStates];
|
|
68
|
+
// Check if transition is allowed
|
|
69
|
+
if (!allowedStates.includes(this.currentState)) {
|
|
70
|
+
resolve();
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
// If already in target state, no need to transition
|
|
74
|
+
if (this.currentState === toState) {
|
|
75
|
+
resolve();
|
|
76
|
+
return true;
|
|
77
|
+
}
|
|
78
|
+
const oldState = this.currentState;
|
|
79
|
+
// Execute action if provided
|
|
80
|
+
if (action) {
|
|
81
|
+
await action();
|
|
82
|
+
}
|
|
83
|
+
// Update state
|
|
84
|
+
this.currentState = toState;
|
|
85
|
+
// Notify listeners
|
|
86
|
+
for (const listener of this.listeners) {
|
|
87
|
+
try {
|
|
88
|
+
listener(oldState, toState);
|
|
89
|
+
}
|
|
90
|
+
catch (error) {
|
|
91
|
+
// Don't let listener errors break the state machine
|
|
92
|
+
console.error('Error in state change listener:', error);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
resolve();
|
|
96
|
+
return true;
|
|
97
|
+
}
|
|
98
|
+
catch (error) {
|
|
99
|
+
reject(error);
|
|
100
|
+
throw error;
|
|
101
|
+
}
|
|
102
|
+
finally {
|
|
103
|
+
// Clear the transition lock
|
|
104
|
+
this.transitionLock = null;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Force a state change without checking allowed transitions.
|
|
109
|
+
* Use with caution - mainly for error recovery.
|
|
110
|
+
*/
|
|
111
|
+
async forceState(newState) {
|
|
112
|
+
if (this.transitionLock) {
|
|
113
|
+
await this.transitionLock.catch(() => { });
|
|
114
|
+
}
|
|
115
|
+
const oldState = this.currentState;
|
|
116
|
+
this.currentState = newState;
|
|
117
|
+
// Notify listeners
|
|
118
|
+
for (const listener of this.listeners) {
|
|
119
|
+
try {
|
|
120
|
+
listener(oldState, newState);
|
|
121
|
+
}
|
|
122
|
+
catch (error) {
|
|
123
|
+
console.error('Error in state change listener:', error);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
exports.ConnectionStateMachine = ConnectionStateMachine;
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi1zdGF0ZS1tYWNoaW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2Nvbm5lY3Rpb24tc3RhdGUtbWFjaGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7OztHQUdHOzs7QUFFSCxJQUFZLGVBS1g7QUFMRCxXQUFZLGVBQWU7SUFDMUIsNENBQXlCLENBQUE7SUFDekIsMENBQXVCLENBQUE7SUFDdkIsc0NBQW1CLENBQUE7SUFDbkIsb0NBQWlCLENBQUE7QUFDbEIsQ0FBQyxFQUxXLGVBQWUsK0JBQWYsZUFBZSxRQUsxQjtBQUlELE1BQWEsc0JBQXNCO0lBS2xDLFlBQVksZUFBZ0MsZUFBZSxDQUFDLFVBQVU7UUFIOUQsY0FBUyxHQUEwQixFQUFFLENBQUE7UUFDckMsbUJBQWMsR0FBeUIsSUFBSSxDQUFBO1FBR2xELElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFBO0lBQ2pDLENBQUM7SUFFRDs7T0FFRztJQUNILFFBQVE7UUFDUCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUE7SUFDekIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsU0FBUyxDQUFDLEdBQUcsTUFBeUI7UUFDckMsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUMxQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxhQUFhLENBQUMsUUFBNkI7UUFDMUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDN0IsT0FBTyxHQUFHLEVBQUU7WUFDWCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQTtZQUM5QyxJQUFJLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFBO1lBQ2hDLENBQUM7UUFD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
|
package/lib/utils/http-parser.js
CHANGED
|
@@ -62,6 +62,7 @@ function makeHttpResponseParser() {
|
|
|
62
62
|
}
|
|
63
63
|
else {
|
|
64
64
|
remainingBodyBytes = -1;
|
|
65
|
+
break;
|
|
65
66
|
// otherwise,
|
|
66
67
|
// no content-length, no chunked transfer encoding
|
|
67
68
|
// means wait till the stream ends
|
|
@@ -130,7 +131,7 @@ function makeHttpResponseParser() {
|
|
|
130
131
|
throw new Error('stream ended before headers were complete');
|
|
131
132
|
}
|
|
132
133
|
if (remaining.length) {
|
|
133
|
-
throw new Error('stream ended
|
|
134
|
+
throw new Error('stream ended before remaining data arrived');
|
|
134
135
|
}
|
|
135
136
|
if (remainingBodyBytes > 0) {
|
|
136
137
|
throw new Error('stream ended before all body bytes were received');
|
|
@@ -248,4 +249,4 @@ function getHttpRequestDataFromTranscript(receipt) {
|
|
|
248
249
|
return line;
|
|
249
250
|
}
|
|
250
251
|
}
|
|
251
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
252
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1wYXJzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvaHR0cC1wYXJzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFrREEsd0RBb0xDO0FBT0QsNEVBeUVDO0FBdFRELDhDQUE4RTtBQUc5RSxpREFBMkU7QUFDM0UscURBQTBEO0FBeUMxRCxNQUFNLG9CQUFvQixHQUFHLElBQUEscUJBQWUsRUFBQyxNQUFNLENBQUMsQ0FBQTtBQUVwRDs7R0FFRztBQUNILFNBQWdCLHNCQUFzQjtJQUNyQyw2QkFBNkI7SUFDN0IsTUFBTSxHQUFHLEdBQWlCO1FBQ3pCLFVBQVUsRUFBRSxDQUFDO1FBQ2IsYUFBYSxFQUFFLEVBQUU7UUFDakIsT0FBTyxFQUFFLEVBQUU7UUFDWCxJQUFJLEVBQUUsSUFBSSxVQUFVLEVBQUU7UUFDdEIsUUFBUSxFQUFFLEtBQUs7UUFDZixlQUFlLEVBQUUsS0FBSztRQUN0QixhQUFhLEVBQUMsSUFBSSxHQUFHLEVBQXNCO1FBQzNDLFlBQVksRUFBRSxDQUFDO0tBQ2YsQ0FBQTtJQUVELElBQUksa0JBQWtCLEdBQUcsQ0FBQyxDQUFBO0lBQzFCLElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQTtJQUNyQixJQUFJLFNBQVMsR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFBO0lBQ2hDLElBQUksY0FBYyxHQUFHLENBQUMsQ0FBQTtJQUV0QixPQUFPO1FBQ04sR0FBRztRQUNIOzs7V0FHUztRQUNULE9BQU8sQ0FBQyxJQUFnQjs7WUFDdkIscURBQXFEO1lBQ3JELFNBQVMsR0FBRyxJQUFBLDRCQUFzQixFQUFDLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUE7WUFDckQsdURBQXVEO1lBQ3ZELDhCQUE4QjtZQUM5QixJQUFHLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUN6QixLQUFJLElBQUksSUFBSSxHQUFHLE9BQU8sRUFBRSxFQUFFLE9BQU8sSUFBSSxLQUFLLFdB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
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resource monitor for tracking resources and preventing leaks.
|
|
3
|
+
* Provides debugging capabilities and resource management.
|
|
4
|
+
*/
|
|
5
|
+
import type { Logger } from '../types';
|
|
6
|
+
export interface ResourceInfo {
|
|
7
|
+
id: string;
|
|
8
|
+
type: string;
|
|
9
|
+
createdAt: Date;
|
|
10
|
+
metadata?: any;
|
|
11
|
+
}
|
|
12
|
+
export declare class ResourceMonitor {
|
|
13
|
+
private static instance;
|
|
14
|
+
private resources;
|
|
15
|
+
private logger;
|
|
16
|
+
private constructor();
|
|
17
|
+
/**
|
|
18
|
+
* Get or create the singleton ResourceMonitor instance.
|
|
19
|
+
*/
|
|
20
|
+
static getInstance(logger: Logger): ResourceMonitor;
|
|
21
|
+
/**
|
|
22
|
+
* Track a new resource.
|
|
23
|
+
*/
|
|
24
|
+
trackResource(id: string, type: string, metadata?: any): void;
|
|
25
|
+
/**
|
|
26
|
+
* Untrack a resource.
|
|
27
|
+
*/
|
|
28
|
+
untrackResource(id: string): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Check if a resource is tracked.
|
|
31
|
+
*/
|
|
32
|
+
isTracked(id: string): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Get information about a specific resource.
|
|
35
|
+
*/
|
|
36
|
+
getResource(id: string): ResourceInfo | undefined;
|
|
37
|
+
/**
|
|
38
|
+
* Get all tracked resources.
|
|
39
|
+
*/
|
|
40
|
+
getAllResources(): ResourceInfo[];
|
|
41
|
+
/**
|
|
42
|
+
* Get resources by type.
|
|
43
|
+
*/
|
|
44
|
+
getResourcesByType(type: string): ResourceInfo[];
|
|
45
|
+
/**
|
|
46
|
+
* Get resources older than a specific age.
|
|
47
|
+
*/
|
|
48
|
+
getResourcesOlderThan(ageMs: number): ResourceInfo[];
|
|
49
|
+
/**
|
|
50
|
+
* Log resource statistics.
|
|
51
|
+
*/
|
|
52
|
+
logStats(): void;
|
|
53
|
+
/**
|
|
54
|
+
* Clear all tracked resources (for testing/cleanup).
|
|
55
|
+
*/
|
|
56
|
+
clear(): void;
|
|
57
|
+
/**
|
|
58
|
+
* Reset the singleton instance (for testing).
|
|
59
|
+
*/
|
|
60
|
+
static reset(): void;
|
|
61
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Resource monitor for tracking resources and preventing leaks.
|
|
4
|
+
* Provides debugging capabilities and resource management.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.ResourceMonitor = void 0;
|
|
8
|
+
class ResourceMonitor {
|
|
9
|
+
constructor(logger) {
|
|
10
|
+
this.resources = new Map();
|
|
11
|
+
this.logger = logger;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Get or create the singleton ResourceMonitor instance.
|
|
15
|
+
*/
|
|
16
|
+
static getInstance(logger) {
|
|
17
|
+
if (!ResourceMonitor.instance) {
|
|
18
|
+
ResourceMonitor.instance = new ResourceMonitor(logger);
|
|
19
|
+
}
|
|
20
|
+
return ResourceMonitor.instance;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Track a new resource.
|
|
24
|
+
*/
|
|
25
|
+
trackResource(id, type, metadata) {
|
|
26
|
+
const resource = {
|
|
27
|
+
id,
|
|
28
|
+
type,
|
|
29
|
+
createdAt: new Date(),
|
|
30
|
+
metadata
|
|
31
|
+
};
|
|
32
|
+
this.resources.set(id, resource);
|
|
33
|
+
this.logger.trace({ id, type, metadata }, 'Resource tracked');
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Untrack a resource.
|
|
37
|
+
*/
|
|
38
|
+
untrackResource(id) {
|
|
39
|
+
const resource = this.resources.get(id);
|
|
40
|
+
if (resource) {
|
|
41
|
+
this.resources.delete(id);
|
|
42
|
+
this.logger.trace({ id, type: resource.type }, 'Resource untracked');
|
|
43
|
+
return true;
|
|
44
|
+
}
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Check if a resource is tracked.
|
|
49
|
+
*/
|
|
50
|
+
isTracked(id) {
|
|
51
|
+
return this.resources.has(id);
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Get information about a specific resource.
|
|
55
|
+
*/
|
|
56
|
+
getResource(id) {
|
|
57
|
+
return this.resources.get(id);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Get all tracked resources.
|
|
61
|
+
*/
|
|
62
|
+
getAllResources() {
|
|
63
|
+
return Array.from(this.resources.values());
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Get resources by type.
|
|
67
|
+
*/
|
|
68
|
+
getResourcesByType(type) {
|
|
69
|
+
return Array.from(this.resources.values()).filter(r => r.type === type);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Get resources older than a specific age.
|
|
73
|
+
*/
|
|
74
|
+
getResourcesOlderThan(ageMs) {
|
|
75
|
+
const cutoff = new Date(Date.now() - ageMs);
|
|
76
|
+
return Array.from(this.resources.values()).filter(r => r.createdAt < cutoff);
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Log resource statistics.
|
|
80
|
+
*/
|
|
81
|
+
logStats() {
|
|
82
|
+
const byType = new Map();
|
|
83
|
+
for (const resource of this.resources.values()) {
|
|
84
|
+
byType.set(resource.type, (byType.get(resource.type) || 0) + 1);
|
|
85
|
+
}
|
|
86
|
+
const stats = Object.fromEntries(byType);
|
|
87
|
+
this.logger.info({
|
|
88
|
+
totalResources: this.resources.size,
|
|
89
|
+
byType: stats
|
|
90
|
+
}, 'Resource statistics');
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Clear all tracked resources (for testing/cleanup).
|
|
94
|
+
*/
|
|
95
|
+
clear() {
|
|
96
|
+
this.resources.clear();
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Reset the singleton instance (for testing).
|
|
100
|
+
*/
|
|
101
|
+
static reset() {
|
|
102
|
+
ResourceMonitor.instance = null;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
exports.ResourceMonitor = ResourceMonitor;
|
|
106
|
+
ResourceMonitor.instance = null;
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UtbW9uaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9yZXNvdXJjZS1tb25pdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O0dBR0c7OztBQVdILE1BQWEsZUFBZTtJQUszQixZQUFvQixNQUFjO1FBSDFCLGNBQVMsR0FBRyxJQUFJLEdBQUcsRUFBd0IsQ0FBQTtRQUlsRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtJQUNyQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQWM7UUFDaEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUMvQixlQUFlLENBQUMsUUFBUSxHQUFHLElBQUksZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ3ZELENBQUM7UUFDRCxPQUFPLGVBQWUsQ0FBQyxRQUFRLENBQUE7SUFDaEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYSxDQUFDLEVBQVUsRUFBRSxJQUFZLEVBQUUsUUFBYztRQUNyRCxNQUFNLFFBQVEsR0FBaUI7WUFDOUIsRUFBRTtZQUNGLElBQUk7WUFDSixTQUFTLEVBQUUsSUFBSSxJQUFJLEVBQUU7WUFDckIsUUFBUTtTQUNSLENBQUE7UUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUE7UUFDaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxFQUFFLGtCQUFrQixDQUFDLENBQUE7SUFDOUQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsZUFBZSxDQUFDLEVBQVU7UUFDekIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDdkMsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxT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
|
package/lib/utils/socket-base.js
CHANGED
|
@@ -47,6 +47,7 @@ class AttestorSocket {
|
|
|
47
47
|
}
|
|
48
48
|
const msg = (0, utils_1.packRpcMessages)(...msgs);
|
|
49
49
|
const bytes = api_1.RPCMessages.encode(msg).finish();
|
|
50
|
+
this.logger.trace({ msg }, 'sending messages');
|
|
50
51
|
if ('sendPromise' in this.socket && this.socket.sendPromise) {
|
|
51
52
|
await this.socket.sendPromise(bytes);
|
|
52
53
|
}
|
|
@@ -91,4 +92,4 @@ class AttestorSocket {
|
|
|
91
92
|
}
|
|
92
93
|
}
|
|
93
94
|
exports.AttestorSocket = AttestorSocket;
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ja2V0LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvc29ja2V0LWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0VBQW1FO0FBQ25FLHVDQUFvRTtBQUVwRSxxQ0FBd0U7QUFHeEU7OztHQUdHO0FBQ0gsTUFBYSxjQUFjO0lBTTFCLFlBQ1csTUFBK0IsRUFDbEMsUUFBcUIsRUFDckIsTUFBYztRQUZYLFdBQU0sR0FBTixNQUFNLENBQXlCO1FBQ2xDLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQVBkLGdCQUFXLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQTtRQUV2QyxrQkFBYSxHQUFHLEtBQUssQ0FBQTtRQU9wQixNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDMUMsTUFBTSxNQUFNLEdBQUcscUJBQWEsQ0FBQyxTQUFTLENBQ3JDLEtBQUssQ0FBQyxLQUFLO21CQUNQLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FDNUIsQ0FBQTtZQUNELE1BQU0sQ0FBQyxJQUFJLEdBQUcscUJBQXFCLENBQUE7WUFFbkMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHVCQUF1QixFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQ3ZELENBQUMsQ0FBQyxDQUFBO1FBRUYsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUN0QyxJQUFJLENBQUMsZ0JBQWdCLENBQ3BCLHVCQUF1QixFQUN2QixJQUFJLHFCQUFhLENBQ2hCLGdCQUFnQixFQUNoQixtQkFBbUIsQ0FDbkIsQ0FDRCxDQUNELENBQUMsQ0FBQTtRQUVGLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUNwRCxJQUFJLENBQUM7Z0JB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
|
|
@@ -4,6 +4,7 @@ exports.setupWindowRpc = setupWindowRpc;
|
|
|
4
4
|
const tls_1 = require("@reclaimprotocol/tls");
|
|
5
5
|
const create_claim_on_avs_1 = require("../avs/client/create-claim-on-avs");
|
|
6
6
|
const client_1 = require("../client");
|
|
7
|
+
const create_claim_on_mechain_1 = require("../mechain/client/create-claim-on-mechain");
|
|
7
8
|
const utils_1 = require("../providers/http/utils");
|
|
8
9
|
const utils_2 = require("../utils");
|
|
9
10
|
const b64_json_1 = require("../utils/b64-json");
|
|
@@ -122,6 +123,36 @@ function setupWindowRpc() {
|
|
|
122
123
|
response: avsRes,
|
|
123
124
|
});
|
|
124
125
|
break;
|
|
126
|
+
case 'createClaimOnMechain':
|
|
127
|
+
const mechainRes = await (0, create_claim_on_mechain_1.createClaimOnMechain)({
|
|
128
|
+
...req.request,
|
|
129
|
+
context: req.request.context
|
|
130
|
+
? JSON.parse(req.request.context)
|
|
131
|
+
: undefined,
|
|
132
|
+
zkOperators: getZkOperators(req.request.zkOperatorMode, req.request.zkEngine),
|
|
133
|
+
oprfOperators: getOprfOperators(req.request.zkOperatorMode, req.request.zkEngine),
|
|
134
|
+
client: {
|
|
135
|
+
url: defaultUrl,
|
|
136
|
+
},
|
|
137
|
+
logger,
|
|
138
|
+
onStep(step) {
|
|
139
|
+
sendMessage({
|
|
140
|
+
type: 'createClaimOnMechainStep',
|
|
141
|
+
step,
|
|
142
|
+
module: req.module,
|
|
143
|
+
id: req.id,
|
|
144
|
+
});
|
|
145
|
+
},
|
|
146
|
+
});
|
|
147
|
+
const claimResponses = [];
|
|
148
|
+
for (let i = 0; i < mechainRes.responses.length; i++) {
|
|
149
|
+
claimResponses[i] = (0, utils_3.mapToCreateClaimResponse)(mechainRes.responses[i]);
|
|
150
|
+
}
|
|
151
|
+
respond({
|
|
152
|
+
type: 'createClaimOnMechainDone',
|
|
153
|
+
response: { taskId: mechainRes.taskId, data: claimResponses },
|
|
154
|
+
});
|
|
155
|
+
break;
|
|
125
156
|
case 'extractHtmlElement':
|
|
126
157
|
respond({
|
|
127
158
|
type: 'extractHtmlElementDone',
|
|
@@ -257,4 +288,4 @@ function setupWindowRpc() {
|
|
|
257
288
|
}
|
|
258
289
|
}
|
|
259
290
|
}
|
|
260
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXAtd2luZG93LXJwYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aW5kb3ctcnBjL3NldHVwLXdpbmRvdy1ycGMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUE4QkEsd0NBdVRDO0FBclZELDhDQUFzRDtBQUV0RCw0RUFBcUU7QUFDckUsdUNBQWtEO0FBQ2xELG9EQUE2SDtBQUU3SCxxQ0FBd0Q7QUFDeEQsaURBQXdFO0FBQ3hFLG1EQUErQztBQUUvQyxnREFBc0o7QUFDdEosZ0VBQXFIO0FBRXJILE1BQU0sY0FBZSxTQUFRLEtBQUs7SUFDakMsWUFBNEIsSUFBMEI7UUFDckQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBRFcsU0FBSSxHQUFKLElBQUksQ0FBc0I7SUFFdEQsQ0FBQztDQUNEO0FBRUQsTUFBTSxhQUFhLEdBQUc7SUFDckIsZUFBZTtJQUNmLGFBQWE7Q0FDYixDQUFBO0FBRUQsSUFBSSxNQUFNLEdBQUcsY0FBTSxDQUFBO0FBRW5COzs7R0FHRztBQUNILFNBQWdCLGNBQWM7SUFDN0IsTUFBTSxHQUFHLElBQUEsa0JBQVUsRUFBQyxJQUFJLENBQUMsQ0FBQTtJQUV6QixNQUFNLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUN4RCxNQUFNLFVBQVUsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFBO0lBRXBDLE1BQU0sVUFBVSxHQUFHLElBQUEsK0JBQXVCLEdBQUUsQ0FBQTtJQUU1QyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsVUFBVSxFQUFFLEVBQUUsa0JBQWtCLENBQUMsQ0FBQTtJQUUvQyxLQUFLLFVBQVUsYUFBYSxDQUFDLEtBQXdCO1FBQ3BELElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQTtRQUNYLElBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQTtRQUNoQixJQUFJLENBQUM7WUFDSixJQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFD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
|
|
291
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXAtd2luZG93LXJwYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aW5kb3ctcnBjL3NldHVwLXdpbmRvdy1ycGMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUErQkEsd0NBMlZDO0FBMVhELDhDQUFzRDtBQUV0RCw0RUFBcUU7QUFDckUsdUNBQWtEO0FBQ2xELHdGQUFpRjtBQUNqRixvREFBNkg7QUFFN0gscUNBQXdEO0FBQ3hELGlEQUF3RTtBQUN4RSxtREFBK0M7QUFFL0MsZ0RBQXNKO0FBQ3RKLGdFQUFxSDtBQUVySCxNQUFNLGNBQWUsU0FBUSxLQUFLO0lBQ2pDLFlBQTRCLElBQTBCO1FBQ3JELEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQURXLFNBQUksR0FBSixJQUFJLENBQXNCO0lBRXRELENBQUM7Q0FDRDtBQUVELE1BQU0sYUFBYSxHQUFHO0lBQ3JCLGVBQWU7SUFDZixhQUFhO0NBQ2IsQ0FBQTtBQUVELElBQUksTUFBTSxHQUFHLGNBQU0sQ0FBQTtBQUVuQjs7O0dBR0c7QUFDSCxTQUFnQixjQUFjO0lBQzdCLE1BQU0sR0FBRyxJQUFBLGtCQUFVLEVBQUMsSUFBSSxDQUFDLENBQUE7SUFFekIsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDeEQsTUFBTSxVQUFVLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQTtJQUVwQyxNQUFNLFVBQVUsR0FBRyxJQUFBLCtCQUF1QixHQUFFLENBQUE7SUFFNUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLFVBQVUsRUFBRSxFQUFFLGtCQUFrQixDQUFDLENBQUE7SUFFL0MsS0FBSyxVQUFVLGFBQWEsQ0FBQyxLQUF3QjtRQUNwRCxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUE7UUFDWCxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUE7UUFDaEIsSUFBSSxDQUFDO1lBQ0osSUFBRyxDQUFDLEtBQUssQ0FBQyxJ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
|