@ercworldio/blockchain-shared 1.0.3-dev.3-PROJ-1296.32 → 1.0.3-dev.3-PROJ-1296.34
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/build/services/ClaimJobService.d.ts +6 -3
- package/build/services/ClaimJobService.d.ts.map +1 -1
- package/build/services/ClaimJobService.js +42 -34
- package/build/services/types/claim_job_service.d.ts +7 -1
- package/build/services/types/claim_job_service.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { ClaimJobs } from "../entities/ClaimJob";
|
|
2
|
-
import { JobStatus } from "./types/claim";
|
|
2
|
+
import { JobStatus, WithdrawRequestDetails } from "./types/claim";
|
|
3
3
|
import { ChainId } from "../interfaces";
|
|
4
4
|
import { IDatabasePool } from "../interfaces/database";
|
|
5
5
|
import { ClaimJobLockMetadata, ClaimSearchFilters, CreateClaimJobsPayload, MarkCompletePayload, Paginated } from "./types/claim_job_service";
|
|
6
|
+
export type ClaimJobWithDetails = ClaimJobs & {
|
|
7
|
+
withdrawal_details: WithdrawRequestDetails | null;
|
|
8
|
+
};
|
|
6
9
|
declare class ClaimJobsService {
|
|
7
10
|
private dbPool;
|
|
8
11
|
private errors;
|
|
@@ -12,8 +15,8 @@ declare class ClaimJobsService {
|
|
|
12
15
|
private get_repo;
|
|
13
16
|
private get_history_repo;
|
|
14
17
|
private paginate;
|
|
15
|
-
get_available_jobs_no_timelock: (limit?: number, job_ttl_s?: number, max_retry_count?: number, lock_metadata?: ClaimJobLockMetadata) => Promise<
|
|
16
|
-
get_available_jobs_with_timelock: (limit?: number, job_ttl_s?: number, max_retry_count?: number, lock_metadata?: ClaimJobLockMetadata) => Promise<
|
|
18
|
+
get_available_jobs_no_timelock: (limit?: number, job_ttl_s?: number, max_retry_count?: number, lock_metadata?: ClaimJobLockMetadata) => Promise<ClaimJobWithDetails[]>;
|
|
19
|
+
get_available_jobs_with_timelock: (limit?: number, job_ttl_s?: number, max_retry_count?: number, lock_metadata?: ClaimJobLockMetadata) => Promise<ClaimJobWithDetails[]>;
|
|
17
20
|
requeue_expired_jobs: (current_status: JobStatus, ttl_seconds: number, limit: number, lock_owner: string, lock_reason: string, max_retries: number) => Promise<ClaimJobs[]>;
|
|
18
21
|
get_stale_jobs: (status: JobStatus, stale_time_mins: number, ttl_mins: number, lock_owner: string, lock_reason: string, limit?: number) => Promise<ClaimJobs[]>;
|
|
19
22
|
get_stale_jobs_deprecated: (status: JobStatus, stale_time_mins: number, limit?: number) => Promise<ClaimJobs[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClaimJobService.d.ts","sourceRoot":"","sources":["../../src/services/ClaimJobService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGjD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"ClaimJobService.d.ts","sourceRoot":"","sources":["../../src/services/ClaimJobService.ts"],"names":[],"mappings":"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"}
|
|
@@ -68,24 +68,28 @@ class ClaimJobsService {
|
|
|
68
68
|
ORDER BY blockchain, chain_id ASC
|
|
69
69
|
LIMIT $1
|
|
70
70
|
FOR UPDATE SKIP LOCKED
|
|
71
|
+
),
|
|
72
|
+
updated AS (
|
|
73
|
+
UPDATE accounting.claim_jobs cj
|
|
74
|
+
SET
|
|
75
|
+
job_status = 'processing',
|
|
76
|
+
locked_at = now(),
|
|
77
|
+
lock_expires_at = now() + ($2 || ' seconds')::interval,
|
|
78
|
+
batch_group_id = $3,
|
|
79
|
+
metadata = jsonb_set(
|
|
80
|
+
jsonb_set(
|
|
81
|
+
coalesce(cj.metadata, '{}'::jsonb),
|
|
82
|
+
'{lock_owner}', to_jsonb($4::text)
|
|
83
|
+
),
|
|
84
|
+
'{lock_reason}', to_jsonb($5::text)
|
|
85
|
+
),
|
|
86
|
+
updated_at = now()
|
|
87
|
+
FROM candidates c
|
|
88
|
+
WHERE cj.id = c.id
|
|
89
|
+
RETURNING cj.*
|
|
71
90
|
)
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
job_status = 'processing',
|
|
75
|
-
locked_at = now(),
|
|
76
|
-
lock_expires_at = now() + ($2 || ' seconds')::interval,
|
|
77
|
-
batch_group_id = $3,
|
|
78
|
-
metadata = jsonb_set(
|
|
79
|
-
jsonb_set(
|
|
80
|
-
coalesce(cj.metadata, '{}'::jsonb),
|
|
81
|
-
'{lock_owner}', to_jsonb($4::text)
|
|
82
|
-
),
|
|
83
|
-
'{lock_reason}', to_jsonb($5::text)
|
|
84
|
-
),
|
|
85
|
-
updated_at = now()
|
|
86
|
-
FROM candidates c
|
|
87
|
-
WHERE cj.id = c.id
|
|
88
|
-
RETURNING cj.*;
|
|
91
|
+
SELECT u.*, accounting.fn_get_crypto_withdrawal_details(u.request_id) AS withdrawal_details
|
|
92
|
+
FROM updated u;
|
|
89
93
|
`, [limit, job_ttl_s, (0, uuid_1.v4)(), lock_metadata.lock_owner, lock_metadata.lock_reason, max_retry_count]);
|
|
90
94
|
return rows;
|
|
91
95
|
});
|
|
@@ -108,24 +112,28 @@ class ClaimJobsService {
|
|
|
108
112
|
ORDER BY cj.blockchain, cj.chain_id ASC
|
|
109
113
|
LIMIT $1
|
|
110
114
|
FOR UPDATE SKIP LOCKED
|
|
111
|
-
)
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
115
|
+
),
|
|
116
|
+
updated AS (
|
|
117
|
+
UPDATE accounting.claim_jobs cj
|
|
118
|
+
SET
|
|
119
|
+
job_status = 'processing',
|
|
120
|
+
locked_at = now(),
|
|
121
|
+
lock_expires_at = now() + ($2 || ' seconds')::interval,
|
|
122
|
+
batch_group_id = $3,
|
|
123
|
+
metadata = jsonb_set(
|
|
124
|
+
jsonb_set(
|
|
125
|
+
coalesce(cj.metadata, '{}'::jsonb),
|
|
126
|
+
'{lock_owner}', to_jsonb($4::text)
|
|
127
|
+
),
|
|
128
|
+
'{lock_reason}', to_jsonb($5::text)
|
|
122
129
|
),
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
130
|
+
updated_at = now()
|
|
131
|
+
FROM candidates c
|
|
132
|
+
WHERE cj.id = c.id
|
|
133
|
+
RETURNING cj.*
|
|
134
|
+
)
|
|
135
|
+
SELECT u.*, accounting.fn_get_crypto_withdrawal_details(u.request_id) AS withdrawal_details
|
|
136
|
+
FROM updated u;
|
|
129
137
|
`, [limit, job_ttl_s, (0, uuid_1.v4)(), lock_metadata.lock_owner, lock_metadata.lock_reason, max_retry_count]);
|
|
130
138
|
return rows;
|
|
131
139
|
});
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { ClaimJobs } from "../../entities";
|
|
1
2
|
import { BlockchainType, ChainId } from "../../interfaces";
|
|
2
|
-
import { JobStatus, PaymentType } from "./claim";
|
|
3
|
+
import { JobStatus, MultisigSignatureEntry, PaymentType } from "./claim";
|
|
3
4
|
export interface MarkCompletePayload {
|
|
4
5
|
request_id: number;
|
|
5
6
|
from: string;
|
|
@@ -52,4 +53,9 @@ export interface ClaimJobLockMetadata {
|
|
|
52
53
|
lock_owner: string;
|
|
53
54
|
lock_reason: string;
|
|
54
55
|
}
|
|
56
|
+
export interface ClaimJobResult extends ClaimJobs {
|
|
57
|
+
multisig_signatures: MultisigSignatureEntry[];
|
|
58
|
+
commitment_hash: string;
|
|
59
|
+
execute_at: Date;
|
|
60
|
+
}
|
|
55
61
|
//# sourceMappingURL=claim_job_service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claim_job_service.d.ts","sourceRoot":"","sources":["../../../src/services/types/claim_job_service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"claim_job_service.d.ts","sourceRoot":"","sources":["../../../src/services/types/claim_job_service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEzE,MAAM,WAAW,mBAAmB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,cAAc,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,WAAW,CAAC;IAC1B,qBAAqB,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;IAClD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,wBAAwB;IACrC,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,SAAS,CAAC,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,CAAC,CAAC;CACZ;AAED,MAAM,WAAW,kBAAkB;IAC/B,UAAU,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,SAAS,CAAC;CAC1B;AAED,MAAM,WAAW,yBAAyB;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAGD,MAAM,WAAW,oBAAoB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACvB;AAGD,MAAM,WAAW,cAAe,SAAQ,SAAS;IAE7C,mBAAmB,EAAE,sBAAsB,EAAE,CAAC;IAG9C,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,IAAI,CAAC;CAEpB"}
|
package/package.json
CHANGED