@jinn-network/client 0.1.3-canary.2d6b2676 → 0.1.3-canary.8e61ba74
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/adapters/adapter.d.ts +15 -4
- package/dist/adapters/local/adapter.d.ts +9 -8
- package/dist/adapters/local/adapter.js +47 -74
- package/dist/adapters/local/adapter.js.map +1 -1
- package/dist/adapters/mech/adapter.d.ts +29 -13
- package/dist/adapters/mech/adapter.js +316 -311
- package/dist/adapters/mech/adapter.js.map +1 -1
- package/dist/adapters/mech/contracts.d.ts +62 -16
- package/dist/adapters/mech/contracts.js +226 -92
- package/dist/adapters/mech/contracts.js.map +1 -1
- package/dist/adapters/mech/safe-revert.js +0 -6
- package/dist/adapters/mech/safe-revert.js.map +1 -1
- package/dist/adapters/mech/types.d.ts +237 -84
- package/dist/adapters/mech/types.js +125 -50
- package/dist/adapters/mech/types.js.map +1 -1
- package/dist/agent/agent-ws.d.ts +1 -0
- package/dist/agent/agent-ws.js +13 -1
- package/dist/agent/agent-ws.js.map +1 -1
- package/dist/agent/operator-claude.js +4 -0
- package/dist/agent/operator-claude.js.map +1 -1
- package/dist/api/gather-status.d.ts +0 -1
- package/dist/api/gather-status.js +0 -1
- package/dist/api/gather-status.js.map +1 -1
- package/dist/api/setup-endpoints.d.ts +20 -0
- package/dist/api/setup-endpoints.js +110 -3
- package/dist/api/setup-endpoints.js.map +1 -1
- package/dist/build-info.json +4 -4
- package/dist/build-meta.json +1 -1
- package/dist/cli/commands/auth.js +6 -3
- package/dist/cli/commands/auth.js.map +1 -1
- package/dist/cli/commands/bootstrap.js +0 -1
- package/dist/cli/commands/bootstrap.js.map +1 -1
- package/dist/cli/commands/create.js +3 -3
- package/dist/cli/commands/doctor.js +4 -12
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/fleet-scale.js +0 -1
- package/dist/cli/commands/fleet-scale.js.map +1 -1
- package/dist/cli/commands/fund-requirements.js +0 -1
- package/dist/cli/commands/fund-requirements.js.map +1 -1
- package/dist/cli/commands/migrate-agent-id.js +0 -1
- package/dist/cli/commands/migrate-agent-id.js.map +1 -1
- package/dist/cli/commands/solver-nets.js +1 -1
- package/dist/cli/commands/solver-plugins.js +3 -1
- package/dist/cli/commands/solver-plugins.js.map +1 -1
- package/dist/cli/commands/tasks.js +20 -11
- package/dist/cli/commands/tasks.js.map +1 -1
- package/dist/cli/commands/version.js +0 -1
- package/dist/cli/commands/version.js.map +1 -1
- package/dist/cli/deployment-digest.js +0 -5
- package/dist/cli/deployment-digest.js.map +1 -1
- package/dist/cli/execution-context.js +0 -1
- package/dist/cli/execution-context.js.map +1 -1
- package/dist/cli/introspection-context.js +0 -1
- package/dist/cli/introspection-context.js.map +1 -1
- package/dist/config.d.ts +410 -22
- package/dist/config.js +41 -30
- package/dist/config.js.map +1 -1
- package/dist/daemon/creator.d.ts +3 -3
- package/dist/daemon/creator.js +3 -3
- package/dist/daemon/creator.js.map +1 -1
- package/dist/daemon/daemon.d.ts +3 -6
- package/dist/daemon/daemon.js +30 -9
- package/dist/daemon/daemon.js.map +1 -1
- package/dist/daemon/jinn-claim-loop-canonical.d.ts +11 -11
- package/dist/daemon/jinn-claim-loop-canonical.js +17 -17
- package/dist/daemon/jinn-claim-loop-canonical.js.map +1 -1
- package/dist/daemon/jinn-claim-loop-mock.d.ts +4 -4
- package/dist/daemon/jinn-claim-loop-mock.js +7 -7
- package/dist/daemon/jinn-claim-loop-mock.js.map +1 -1
- package/dist/daemon/jinn-claim-loop.d.ts +4 -4
- package/dist/daemon/jinn-claim-loop.js +3 -3
- package/dist/dashboard/assets/{index-Bxlk5qpa.js → index-CaUOdCs6.js} +6 -6
- package/dist/dashboard/index.html +1 -1
- package/dist/earning/bootstrap.d.ts +0 -1
- package/dist/earning/bootstrap.js +0 -1
- package/dist/earning/bootstrap.js.map +1 -1
- package/dist/earning/contracts.d.ts +18 -20
- package/dist/earning/contracts.js +18 -29
- package/dist/earning/contracts.js.map +1 -1
- package/dist/earning/funding-plan.d.ts +0 -1
- package/dist/earning/funding-plan.js +0 -1
- package/dist/earning/funding-plan.js.map +1 -1
- package/dist/earning/migrate-agent-id.d.ts +0 -1
- package/dist/earning/migrate-agent-id.js +0 -1
- package/dist/earning/migrate-agent-id.js.map +1 -1
- package/dist/erc8004/reputation.d.ts +2 -2
- package/dist/erc8004/reputation.js +2 -2
- package/dist/events/types.d.ts +2 -2
- package/dist/harnesses/engine/delivery.d.ts +10 -6
- package/dist/harnesses/engine/delivery.js +10 -6
- package/dist/harnesses/engine/delivery.js.map +1 -1
- package/dist/harnesses/engine/engine.d.ts +16 -29
- package/dist/harnesses/engine/engine.js +67 -106
- package/dist/harnesses/engine/engine.js.map +1 -1
- package/dist/harnesses/engine/persistence.d.ts +5 -1
- package/dist/harnesses/engine/persistence.js +10 -2
- package/dist/harnesses/engine/persistence.js.map +1 -1
- package/dist/harnesses/external-impls/loader.d.ts +1 -1
- package/dist/harnesses/impls/claude-code-learner/types.d.ts +1 -1
- package/dist/harnesses/impls/claude-mcp-prediction/index.d.ts +1 -1
- package/dist/harnesses/impls/claude-mcp-prediction/index.js +6 -6
- package/dist/harnesses/impls/claude-mcp-prediction/types.d.ts +1 -1
- package/dist/harnesses/impls/claude-mcp-prediction/types.js +1 -1
- package/dist/harnesses/impls/index.js +5 -5
- package/dist/harnesses/impls/portfolio-v0-evaluator/index.js +1 -1
- package/dist/harnesses/impls/portfolio-v0-evaluator/index.js.map +1 -1
- package/dist/harnesses/impls/prediction-v0-baseline/index.d.ts +4 -4
- package/dist/harnesses/impls/prediction-v0-baseline/index.js +10 -10
- package/dist/harnesses/impls/prediction-v0-evaluator/canonical-metrics.d.ts +3 -3
- package/dist/harnesses/impls/prediction-v0-evaluator/checks/availability.d.ts +1 -1
- package/dist/harnesses/impls/prediction-v0-evaluator/index.d.ts +4 -4
- package/dist/harnesses/impls/prediction-v0-evaluator/index.js +11 -11
- package/dist/harnesses/impls/prediction-v1-baseline/index.d.ts +31 -0
- package/dist/harnesses/impls/prediction-v1-baseline/index.js +79 -0
- package/dist/harnesses/impls/prediction-v1-baseline/index.js.map +1 -0
- package/dist/harnesses/impls/prediction-v1-evaluator/index.d.ts +32 -0
- package/dist/harnesses/impls/prediction-v1-evaluator/index.js +198 -0
- package/dist/harnesses/impls/prediction-v1-evaluator/index.js.map +1 -0
- package/dist/harnesses/manifest/types.d.ts +1 -1
- package/dist/harnesses/manifest/types.js +1 -1
- package/dist/harnesses/types.d.ts +2 -1
- package/dist/harnesses/types.js.map +1 -1
- package/dist/main.js +2 -26
- package/dist/main.js.map +1 -1
- package/dist/mcp/operator-server.js +1 -1
- package/dist/mcp/operator-server.js.map +1 -1
- package/dist/mcp/server.js +2 -2
- package/dist/plugins/manifest.d.ts +1 -1
- package/dist/plugins/manifest.js +1 -1
- package/dist/plugins/manifest.js.map +1 -1
- package/dist/plugins/registry.js +1 -1
- package/dist/plugins/registry.js.map +1 -1
- package/dist/plugins/resolvers.js +2 -1
- package/dist/plugins/resolvers.js.map +1 -1
- package/dist/plugins/types.d.ts +4 -8
- package/dist/plugins/validator.js +5 -7
- package/dist/plugins/validator.js.map +1 -1
- package/dist/preflight/claude-auth.d.ts +3 -1
- package/dist/preflight/claude-auth.js +5 -5
- package/dist/preflight/claude-auth.js.map +1 -1
- package/dist/setup/claude-code-install.d.ts +19 -0
- package/dist/setup/claude-code-install.js +51 -0
- package/dist/setup/claude-code-install.js.map +1 -0
- package/dist/solver-nets/contracts.d.ts +2 -0
- package/dist/solver-nets/contracts.js +2 -0
- package/dist/solver-nets/contracts.js.map +1 -0
- package/dist/solver-nets/registry.d.ts +2 -0
- package/dist/solver-nets/registry.js +13 -5
- package/dist/solver-nets/registry.js.map +1 -1
- package/dist/solver-types/constants.d.ts +1 -1
- package/dist/solver-types/constants.js +1 -1
- package/dist/solver-types/index.d.ts +5 -5
- package/dist/solver-types/index.js +5 -5
- package/dist/solver-types/prediction-apy-v0-auto.js +12 -0
- package/dist/solver-types/prediction-apy-v0-auto.js.map +1 -1
- package/dist/solver-types/prediction-v0-auto.d.ts +4 -4
- package/dist/solver-types/prediction-v0-auto.js +22 -10
- package/dist/solver-types/prediction-v0-auto.js.map +1 -1
- package/dist/solver-types/prediction-v0-template.d.ts +10 -10
- package/dist/solver-types/prediction-v0-template.js +16 -16
- package/dist/solver-types/prediction-v0-template.js.map +1 -1
- package/dist/solver-types/prediction-v0.d.ts +2 -2
- package/dist/solver-types/prediction-v0.js +11 -11
- package/dist/solver-types/prediction-v1-auto.d.ts +22 -0
- package/dist/solver-types/prediction-v1-auto.js +211 -0
- package/dist/solver-types/prediction-v1-auto.js.map +1 -0
- package/dist/solver-types/prediction-v1.d.ts +3 -0
- package/dist/solver-types/prediction-v1.js +29 -0
- package/dist/solver-types/prediction-v1.js.map +1 -0
- package/dist/solver-types/solver-type.d.ts +5 -4
- package/dist/store/store.d.ts +4 -0
- package/dist/store/store.js +28 -4
- package/dist/store/store.js.map +1 -1
- package/dist/tasks/posting-service.d.ts +5 -2
- package/dist/tasks/posting-service.js +12 -6
- package/dist/tasks/posting-service.js.map +1 -1
- package/dist/tasks/sources.d.ts +2 -2
- package/dist/tasks/sources.js +10 -7
- package/dist/tasks/sources.js.map +1 -1
- package/dist/templates/harnesses/alternative-harness/package.json.tmpl +1 -1
- package/dist/templates/harnesses/alternative-harness/src/coordinator.ts.tmpl +1 -1
- package/dist/templates/harnesses/alternative-harness/src/index.ts.tmpl +1 -1
- package/dist/templates/harnesses/alternative-harness/src/mock-harness.ts.tmpl +1 -1
- package/dist/templates/harnesses/alternative-harness/src/phases/debrief.ts.tmpl +1 -1
- package/dist/templates/harnesses/alternative-harness/src/phases/execute.ts.tmpl +1 -1
- package/dist/templates/harnesses/alternative-harness/src/phases/improve.ts.tmpl +1 -1
- package/dist/templates/harnesses/alternative-harness/src/phases/memory.ts.tmpl +1 -1
- package/dist/templates/harnesses/alternative-harness/src/phases/orient.ts.tmpl +1 -1
- package/dist/templates/harnesses/alternative-harness/src/phases/plan.ts.tmpl +1 -1
- package/dist/templates/harnesses/alternative-harness/src/phases/strategize.ts.tmpl +1 -1
- package/dist/templates/harnesses/alternative-harness/test/coordinator.test.ts.tmpl +1 -1
- package/dist/templates/harnesses/alternative-harness/test/unit.test.ts.tmpl +1 -1
- package/dist/templates/harnesses/evaluator/package.json.tmpl +1 -1
- package/dist/templates/harnesses/evaluator/src/index.ts.tmpl +1 -1
- package/dist/templates/harnesses/evaluator/test/unit.test.ts.tmpl +1 -1
- package/dist/templates/harnesses/forecaster/package.json.tmpl +1 -1
- package/dist/templates/harnesses/forecaster/src/index.ts.tmpl +1 -1
- package/dist/templates/harnesses/forecaster/test/unit.test.ts.tmpl +1 -1
- package/dist/trajectory/schema.d.ts +10 -10
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.js +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/payloads/index.d.ts +1 -0
- package/dist/types/payloads/index.js +6 -0
- package/dist/types/payloads/index.js.map +1 -1
- package/dist/types/payloads/prediction-v1.d.ts +2 -0
- package/dist/types/payloads/prediction-v1.js +2 -0
- package/dist/types/payloads/prediction-v1.js.map +1 -0
- package/dist/types/prediction-v1.d.ts +2 -0
- package/dist/types/prediction-v1.js +2 -0
- package/dist/types/prediction-v1.js.map +1 -0
- package/dist/types/prediction.d.ts +559 -19
- package/dist/types/prediction.js +12 -9
- package/dist/types/prediction.js.map +1 -1
- package/dist/types/task-document.d.ts +389 -0
- package/dist/types/task-document.js +11 -0
- package/dist/types/task-document.js.map +1 -1
- package/dist/types/task.d.ts +285 -1
- package/dist/types/task.js +6 -1
- package/dist/types/task.js.map +1 -1
- package/dist/vendor/@jinn-network/sdk/README.md +61 -0
- package/dist/vendor/@jinn-network/sdk/dist/capabilities.d.ts +52 -0
- package/dist/vendor/@jinn-network/sdk/dist/capabilities.js +1 -0
- package/dist/vendor/@jinn-network/sdk/dist/contracts.d.ts +105 -0
- package/dist/vendor/@jinn-network/sdk/dist/contracts.js +147 -0
- package/dist/vendor/@jinn-network/sdk/dist/harness.d.ts +69 -0
- package/dist/vendor/@jinn-network/sdk/dist/harness.js +1 -0
- package/dist/vendor/@jinn-network/sdk/dist/index.d.ts +2 -0
- package/dist/vendor/@jinn-network/sdk/dist/index.js +5 -0
- package/dist/vendor/@jinn-network/sdk/dist/manifest.d.ts +69 -0
- package/dist/vendor/@jinn-network/sdk/dist/manifest.js +3 -0
- package/dist/vendor/@jinn-network/sdk/dist/payloads/prediction-v1.d.ts +223 -0
- package/dist/vendor/@jinn-network/sdk/dist/payloads/prediction-v1.js +64 -0
- package/dist/vendor/@jinn-network/sdk/dist/plugins.d.ts +36 -0
- package/dist/vendor/@jinn-network/sdk/dist/plugins.js +54 -0
- package/dist/vendor/@jinn-network/sdk/dist/prediction-v1.d.ts +870 -0
- package/dist/vendor/@jinn-network/sdk/dist/prediction-v1.js +80 -0
- package/dist/vendor/@jinn-network/sdk/dist/solvernets/index.d.ts +2 -0
- package/dist/vendor/@jinn-network/sdk/dist/solvernets/index.js +1 -0
- package/dist/vendor/@jinn-network/sdk/dist/solvernets/prediction-v1.d.ts +6 -0
- package/dist/vendor/@jinn-network/sdk/dist/solvernets/prediction-v1.js +3 -0
- package/dist/vendor/@jinn-network/sdk/dist/types.d.ts +116 -0
- package/dist/vendor/@jinn-network/sdk/dist/types.js +21 -0
- package/dist/vendor/@jinn-network/sdk/package.json +34 -0
- package/dist/venues/polymarket/client.d.ts +77 -0
- package/dist/venues/polymarket/client.js +309 -0
- package/dist/venues/polymarket/client.js.map +1 -0
- package/dist/withdraw/run-withdraw-plan.js +0 -2
- package/dist/withdraw/run-withdraw-plan.js.map +1 -1
- package/package.json +8 -6
- package/plugins/jinn-prediction-plugin/.claude-plugin/plugin.json +13 -86
- package/plugins/jinn-prediction-plugin/.mcp.json +8 -0
- package/plugins/jinn-prediction-plugin/GEMINI.md +3 -0
- package/plugins/jinn-prediction-plugin/gemini-extension.json +13 -0
- package/plugins/jinn-prediction-plugin/jinn.plugin.json +23 -0
- package/plugins/jinn-prediction-plugin/schemas/prediction-v1-solution.schema.json +34 -0
- package/plugins/jinn-prediction-plugin/schemas/prediction-v1-task.schema.json +118 -0
- package/plugins/jinn-prediction-plugin/schemas/prediction-v1-verdict.schema.json +84 -0
- package/templates/harnesses/alternative-harness/package.json.tmpl +1 -1
- package/templates/harnesses/alternative-harness/src/coordinator.ts.tmpl +1 -1
- package/templates/harnesses/alternative-harness/src/index.ts.tmpl +1 -1
- package/templates/harnesses/alternative-harness/src/mock-harness.ts.tmpl +1 -1
- package/templates/harnesses/alternative-harness/src/phases/debrief.ts.tmpl +1 -1
- package/templates/harnesses/alternative-harness/src/phases/execute.ts.tmpl +1 -1
- package/templates/harnesses/alternative-harness/src/phases/improve.ts.tmpl +1 -1
- package/templates/harnesses/alternative-harness/src/phases/memory.ts.tmpl +1 -1
- package/templates/harnesses/alternative-harness/src/phases/orient.ts.tmpl +1 -1
- package/templates/harnesses/alternative-harness/src/phases/plan.ts.tmpl +1 -1
- package/templates/harnesses/alternative-harness/src/phases/strategize.ts.tmpl +1 -1
- package/templates/harnesses/alternative-harness/test/coordinator.test.ts.tmpl +1 -1
- package/templates/harnesses/alternative-harness/test/unit.test.ts.tmpl +1 -1
- package/templates/harnesses/evaluator/package.json.tmpl +1 -1
- package/templates/harnesses/evaluator/src/index.ts.tmpl +1 -1
- package/templates/harnesses/evaluator/test/unit.test.ts.tmpl +1 -1
- package/templates/harnesses/forecaster/package.json.tmpl +1 -1
- package/templates/harnesses/forecaster/src/index.ts.tmpl +1 -1
- package/templates/harnesses/forecaster/test/unit.test.ts.tmpl +1 -1
- package/dist/adapters/claim-registry/abi.d.ts +0 -127
- package/dist/adapters/claim-registry/abi.js +0 -93
- package/dist/adapters/claim-registry/abi.js.map +0 -1
- package/dist/adapters/claim-registry/client.d.ts +0 -98
- package/dist/adapters/claim-registry/client.js +0 -225
- package/dist/adapters/claim-registry/client.js.map +0 -1
- package/dist/adapters/mech/claim-policy.d.ts +0 -40
- package/dist/adapters/mech/claim-policy.js +0 -104
- package/dist/adapters/mech/claim-policy.js.map +0 -1
- package/dist/harnesses/engine/claim.d.ts +0 -69
- package/dist/harnesses/engine/claim.js +0 -111
- package/dist/harnesses/engine/claim.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapters/mech/adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapters/mech/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +1,55 @@
|
|
|
1
1
|
import { type Address, type Hex, type PublicClient, type WalletClient, type Log } from 'viem';
|
|
2
2
|
import { type EvictionRecoveryConfig } from './types.js';
|
|
3
3
|
export declare function withEvictionRecovery<T>(publicClient: PublicClient, recovery: EvictionRecoveryConfig | undefined, label: string, action: () => Promise<T>): Promise<T>;
|
|
4
|
-
export declare function submitTask(publicClient: PublicClient, walletClient: WalletClient, safeAddress: Address, routerAddress: Address,
|
|
5
|
-
|
|
4
|
+
export declare function submitTask(publicClient: PublicClient, walletClient: WalletClient, safeAddress: Address, routerAddress: Address, taskCidDigest: Hex, solverTypeDigest: Hex, policy: RouterTaskPolicy, solutionMaxDeliveryRateWei: bigint, verdictMaxDeliveryRateWei: bigint, responseTimeout: bigint, evictionRecovery?: EvictionRecoveryConfig): Promise<{
|
|
5
|
+
taskId: string;
|
|
6
6
|
txHash: Hex;
|
|
7
7
|
receiptLogCount: number;
|
|
8
|
+
blockNumber?: number;
|
|
9
|
+
}>;
|
|
10
|
+
export interface RouterTaskPolicy {
|
|
11
|
+
claimWindowStart: bigint;
|
|
12
|
+
claimWindowEnd: bigint;
|
|
13
|
+
submissionDeadline: bigint;
|
|
14
|
+
claimLeaseTtlSeconds: number;
|
|
15
|
+
maxClaims: number;
|
|
16
|
+
maxClaimsPerOperator: number;
|
|
17
|
+
policyHook: Address;
|
|
18
|
+
evaluationPolicy: {
|
|
19
|
+
requiredVerdicts: number;
|
|
20
|
+
passThreshold: number;
|
|
21
|
+
evaluationDeadline: bigint;
|
|
22
|
+
maxVerdictsPerEvaluator: number;
|
|
23
|
+
disallowSolverSelfEvaluation: boolean;
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
export declare function claimTask(publicClient: PublicClient, walletClient: WalletClient, safeAddress: Address, routerAddress: Address, taskId: string | bigint, priorityMech: Address, evictionRecovery?: EvictionRecoveryConfig): Promise<{
|
|
27
|
+
taskId: string;
|
|
28
|
+
attemptIndex: number;
|
|
29
|
+
requestId: string;
|
|
30
|
+
txHash: Hex;
|
|
31
|
+
blockNumber?: number;
|
|
8
32
|
}>;
|
|
9
|
-
export declare function submitEvaluationJob(publicClient: PublicClient, walletClient: WalletClient, safeAddress: Address, routerAddress: Address, restorationRequestId: Hex, mechAddress: Address, requestDataHex: Hex, priceWei: bigint, responseTimeout: bigint, evictionRecovery?: EvictionRecoveryConfig): Promise<string[]>;
|
|
10
33
|
export interface ClaimDeliveryOptions {
|
|
11
|
-
variant: 'v1' | 'v2';
|
|
12
|
-
/** V2 only; ignored for V1. */
|
|
34
|
+
variant: 'v1' | 'v2' | 'v3';
|
|
35
|
+
/** V2/V3 only; ignored for V1. */
|
|
13
36
|
evidenceHash?: Hex;
|
|
37
|
+
/** V3 only. Defaults to solution for Task-native V3. */
|
|
38
|
+
kind?: 'solution' | 'verdict';
|
|
39
|
+
/** V3 verdict only. 1=PASS, 2=FAIL, 3=INVALID, 4=UNRESOLVED. */
|
|
40
|
+
verdictCode?: number;
|
|
14
41
|
}
|
|
15
42
|
export declare function claimDelivery(publicClient: PublicClient, walletClient: WalletClient, safeAddress: Address, routerAddress: Address, requestId: Hex, options: ClaimDeliveryOptions, evictionRecovery?: EvictionRecoveryConfig): Promise<Hex>;
|
|
16
|
-
export declare function
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
43
|
+
export declare function claimEvaluation(publicClient: PublicClient, walletClient: WalletClient, safeAddress: Address, routerAddress: Address, taskId: string | bigint, attemptIndex: number, evaluatorMech: Address, evaluationTaskCidDigest: Hex, evictionRecovery?: EvictionRecoveryConfig): Promise<{
|
|
44
|
+
taskId: string;
|
|
45
|
+
attemptIndex: number;
|
|
46
|
+
verdictIndex: number;
|
|
47
|
+
requestId: string;
|
|
48
|
+
txHash: Hex;
|
|
49
|
+
blockNumber?: number;
|
|
20
50
|
}>;
|
|
51
|
+
export declare function getTaskCidDigest(publicClient: PublicClient, routerAddress: Address, taskId: string | bigint): Promise<Hex>;
|
|
52
|
+
export declare function getMarketplaceRequestDeliveryMech(publicClient: PublicClient, marketplaceAddress: Address, requestId: string): Promise<Address>;
|
|
21
53
|
export declare function getMechDeliveryRate(publicClient: PublicClient, mechAddress: Address): Promise<bigint>;
|
|
22
54
|
export declare function getTimeoutBounds(publicClient: PublicClient, marketplaceAddress: Address): Promise<{
|
|
23
55
|
min: bigint;
|
|
@@ -25,16 +57,13 @@ export declare function getTimeoutBounds(publicClient: PublicClient, marketplace
|
|
|
25
57
|
}>;
|
|
26
58
|
export declare function pollDeliverEvents(publicClient: PublicClient, mechAddress: Address, fromBlock: bigint, toBlock: bigint): Promise<Log[]>;
|
|
27
59
|
export interface TaskRecord {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}
|
|
31
|
-
export interface EvaluationJobRecord {
|
|
32
|
-
requestId: string;
|
|
33
|
-
restorationRequestId: string;
|
|
60
|
+
taskId: string;
|
|
61
|
+
taskCidDigest: string;
|
|
34
62
|
creator: string;
|
|
63
|
+
transactionHash?: `0x${string}`;
|
|
64
|
+
blockNumber?: number;
|
|
35
65
|
}
|
|
36
66
|
export declare function scanTasks(publicClient: PublicClient, routerAddress: Address, creator: Address, fromBlock: bigint, toBlock: bigint): Promise<TaskRecord[]>;
|
|
37
|
-
export declare function scanEvaluationJobs(publicClient: PublicClient, routerAddress: Address, creator: Address, fromBlock: bigint, toBlock: bigint): Promise<EvaluationJobRecord[]>;
|
|
38
67
|
export interface DecodedMarketplaceRequest {
|
|
39
68
|
requestId: string;
|
|
40
69
|
requestDataHex: string;
|
|
@@ -42,6 +71,23 @@ export interface DecodedMarketplaceRequest {
|
|
|
42
71
|
transactionHash?: `0x${string}`;
|
|
43
72
|
blockNumber?: number;
|
|
44
73
|
}
|
|
74
|
+
export interface DecodedTaskCreated {
|
|
75
|
+
taskId: string;
|
|
76
|
+
taskCidDigest: string;
|
|
77
|
+
creator: string;
|
|
78
|
+
transactionHash?: `0x${string}`;
|
|
79
|
+
blockNumber?: number;
|
|
80
|
+
}
|
|
81
|
+
export interface DecodedSolutionDeliveryClaimed {
|
|
82
|
+
taskId: string;
|
|
83
|
+
attemptIndex: number;
|
|
84
|
+
requestId: string;
|
|
85
|
+
operator: string;
|
|
86
|
+
transactionHash?: `0x${string}`;
|
|
87
|
+
blockNumber?: number;
|
|
88
|
+
}
|
|
89
|
+
export declare function decodeTaskCreatedLogs(logs: Log[]): DecodedTaskCreated[];
|
|
90
|
+
export declare function decodeSolutionDeliveryClaimedLogs(logs: Log[]): DecodedSolutionDeliveryClaimed[];
|
|
45
91
|
export declare function decodeMarketplaceRequestLogs(logs: Log[]): DecodedMarketplaceRequest[];
|
|
46
92
|
export interface DecodedDeliverEvent {
|
|
47
93
|
requestId: string;
|
|
@@ -1,12 +1,59 @@
|
|
|
1
1
|
import { encodeFunctionData, decodeEventLog, } from 'viem';
|
|
2
|
-
import { MECH_MARKETPLACE_ABI, MECH_ABI, JINN_ROUTER_ABI, JINN_ROUTER_CLAIM_DELIVERY_V1_ABI, JINN_ROUTER_CLAIM_DELIVERY_V2_ABI,
|
|
2
|
+
import { MECH_MARKETPLACE_ABI, MECH_ABI, JINN_ROUTER_ABI, JINN_ROUTER_CLAIM_DELIVERY_V1_ABI, JINN_ROUTER_CLAIM_DELIVERY_V2_ABI, } from './types.js';
|
|
3
3
|
import { STAKING_ABI, STOLAS_DISTRIBUTOR_ABI } from '../../earning/contracts.js';
|
|
4
4
|
import { isUnauthorizedAccountError } from '../../errors/unauthorized-account.js';
|
|
5
|
-
import { CLAIM_REGISTRY_ABI } from '../claim-registry/abi.js';
|
|
6
5
|
import { executeSafeTransaction } from './safe.js';
|
|
7
6
|
import { flattenErrorMessage, isRecoverableTransactionError, viemSendTransactionWithRetry, waitForTransactionReceiptWithRetry, backoffDelay, } from '../../tx-retry.js';
|
|
8
7
|
const EVICTED_STAKING_STATE = 2;
|
|
9
8
|
const restakeLocks = new Map();
|
|
9
|
+
const TASK_COORDINATOR_ABI = [
|
|
10
|
+
{
|
|
11
|
+
name: 'getTask',
|
|
12
|
+
type: 'function',
|
|
13
|
+
stateMutability: 'view',
|
|
14
|
+
inputs: [{ name: 'taskId', type: 'uint256' }],
|
|
15
|
+
outputs: [
|
|
16
|
+
{
|
|
17
|
+
name: 'record',
|
|
18
|
+
type: 'tuple',
|
|
19
|
+
components: [
|
|
20
|
+
{ name: 'creator', type: 'address' },
|
|
21
|
+
{ name: 'taskCidDigest', type: 'bytes32' },
|
|
22
|
+
{ name: 'solverTypeDigest', type: 'bytes32' },
|
|
23
|
+
{ name: 'status', type: 'uint8' },
|
|
24
|
+
{
|
|
25
|
+
name: 'policy',
|
|
26
|
+
type: 'tuple',
|
|
27
|
+
components: [
|
|
28
|
+
{ name: 'claimWindowStart', type: 'uint64' },
|
|
29
|
+
{ name: 'claimWindowEnd', type: 'uint64' },
|
|
30
|
+
{ name: 'submissionDeadline', type: 'uint64' },
|
|
31
|
+
{ name: 'claimLeaseTtlSeconds', type: 'uint32' },
|
|
32
|
+
{ name: 'maxClaims', type: 'uint16' },
|
|
33
|
+
{ name: 'maxClaimsPerOperator', type: 'uint16' },
|
|
34
|
+
{ name: 'policyHook', type: 'address' },
|
|
35
|
+
{
|
|
36
|
+
name: 'evaluationPolicy',
|
|
37
|
+
type: 'tuple',
|
|
38
|
+
components: [
|
|
39
|
+
{ name: 'requiredVerdicts', type: 'uint16' },
|
|
40
|
+
{ name: 'passThreshold', type: 'uint16' },
|
|
41
|
+
{ name: 'evaluationDeadline', type: 'uint64' },
|
|
42
|
+
{ name: 'maxVerdictsPerEvaluator', type: 'uint16' },
|
|
43
|
+
{ name: 'disallowSolverSelfEvaluation', type: 'bool' },
|
|
44
|
+
],
|
|
45
|
+
},
|
|
46
|
+
],
|
|
47
|
+
},
|
|
48
|
+
{ name: 'claimCount', type: 'uint32' },
|
|
49
|
+
{ name: 'submittedCount', type: 'uint32' },
|
|
50
|
+
{ name: 'finalizedAttemptCount', type: 'uint32' },
|
|
51
|
+
{ name: 'taskCreationCredited', type: 'bool' },
|
|
52
|
+
],
|
|
53
|
+
},
|
|
54
|
+
],
|
|
55
|
+
},
|
|
56
|
+
];
|
|
10
57
|
async function withRestakeLock(key, fn) {
|
|
11
58
|
const pending = restakeLocks.get(key) ?? Promise.resolve();
|
|
12
59
|
let releaseLock;
|
|
@@ -104,16 +151,25 @@ export async function withEvictionRecovery(publicClient, recovery, label, action
|
|
|
104
151
|
return action();
|
|
105
152
|
}
|
|
106
153
|
}
|
|
107
|
-
export async function submitTask(publicClient, walletClient, safeAddress, routerAddress,
|
|
154
|
+
export async function submitTask(publicClient, walletClient, safeAddress, routerAddress, taskCidDigest, solverTypeDigest, policy, solutionMaxDeliveryRateWei, verdictMaxDeliveryRateWei, responseTimeout, evictionRecovery) {
|
|
108
155
|
const calldata = encodeFunctionData({
|
|
109
156
|
abi: JINN_ROUTER_ABI,
|
|
110
|
-
functionName: '
|
|
111
|
-
args: [
|
|
157
|
+
functionName: 'createTask',
|
|
158
|
+
args: [
|
|
159
|
+
taskCidDigest,
|
|
160
|
+
solverTypeDigest,
|
|
161
|
+
policy,
|
|
162
|
+
solutionMaxDeliveryRateWei,
|
|
163
|
+
verdictMaxDeliveryRateWei,
|
|
164
|
+
responseTimeout,
|
|
165
|
+
],
|
|
112
166
|
});
|
|
113
|
-
const
|
|
167
|
+
const taskBudget = solutionMaxDeliveryRateWei * BigInt(policy.maxClaims) +
|
|
168
|
+
verdictMaxDeliveryRateWei * BigInt(policy.maxClaims) * BigInt(policy.evaluationPolicy.requiredVerdicts || 1);
|
|
169
|
+
const txHash = await withEvictionRecovery(publicClient, evictionRecovery, 'createTask', () => executeSafeTransaction(publicClient, walletClient, {
|
|
114
170
|
safeAddress,
|
|
115
171
|
to: routerAddress,
|
|
116
|
-
value:
|
|
172
|
+
value: taskBudget,
|
|
117
173
|
data: calldata,
|
|
118
174
|
}));
|
|
119
175
|
const receipt = await waitForTransactionReceiptWithRetry(publicClient, txHash, {
|
|
@@ -121,7 +177,8 @@ export async function submitTask(publicClient, walletClient, safeAddress, router
|
|
|
121
177
|
console.error(`[router] wait restoration receipt retry ${attempt}: ${message}`);
|
|
122
178
|
},
|
|
123
179
|
});
|
|
124
|
-
|
|
180
|
+
let taskId;
|
|
181
|
+
let blockNumber;
|
|
125
182
|
for (const log of receipt.logs) {
|
|
126
183
|
try {
|
|
127
184
|
const decoded = decodeEventLog({
|
|
@@ -129,35 +186,39 @@ export async function submitTask(publicClient, walletClient, safeAddress, router
|
|
|
129
186
|
data: log.data,
|
|
130
187
|
topics: log.topics,
|
|
131
188
|
});
|
|
132
|
-
if (decoded.eventName === '
|
|
189
|
+
if (decoded.eventName === 'TaskCreated') {
|
|
133
190
|
const args = decoded.args;
|
|
134
|
-
|
|
191
|
+
taskId = String(args.taskId);
|
|
192
|
+
blockNumber = log.blockNumber != null ? Number(log.blockNumber) : undefined;
|
|
135
193
|
}
|
|
136
194
|
}
|
|
137
195
|
catch {
|
|
138
196
|
// Not our event
|
|
139
197
|
}
|
|
140
198
|
}
|
|
141
|
-
|
|
199
|
+
if (!taskId) {
|
|
200
|
+
throw new Error(`No TaskCreated event returned from router tx=${txHash}`);
|
|
201
|
+
}
|
|
202
|
+
return { taskId, txHash, receiptLogCount: receipt.logs.length, blockNumber };
|
|
142
203
|
}
|
|
143
|
-
export async function
|
|
204
|
+
export async function claimTask(publicClient, walletClient, safeAddress, routerAddress, taskId, priorityMech, evictionRecovery) {
|
|
205
|
+
const taskIdBigInt = typeof taskId === 'bigint' ? taskId : BigInt(taskId);
|
|
144
206
|
const calldata = encodeFunctionData({
|
|
145
207
|
abi: JINN_ROUTER_ABI,
|
|
146
|
-
functionName: '
|
|
147
|
-
args: [
|
|
208
|
+
functionName: 'claimTask',
|
|
209
|
+
args: [taskIdBigInt, priorityMech],
|
|
148
210
|
});
|
|
149
|
-
const txHash = await withEvictionRecovery(publicClient, evictionRecovery, '
|
|
211
|
+
const txHash = await withEvictionRecovery(publicClient, evictionRecovery, 'claimTask', () => executeSafeTransaction(publicClient, walletClient, {
|
|
150
212
|
safeAddress,
|
|
151
213
|
to: routerAddress,
|
|
152
|
-
value:
|
|
214
|
+
value: 0n,
|
|
153
215
|
data: calldata,
|
|
154
216
|
}));
|
|
155
217
|
const receipt = await waitForTransactionReceiptWithRetry(publicClient, txHash, {
|
|
156
218
|
onRetry: ({ attempt, message }) => {
|
|
157
|
-
console.error(`[router] wait
|
|
219
|
+
console.error(`[router] wait claim task receipt retry ${attempt}: ${message}`);
|
|
158
220
|
},
|
|
159
221
|
});
|
|
160
|
-
const requestIds = [];
|
|
161
222
|
for (const log of receipt.logs) {
|
|
162
223
|
try {
|
|
163
224
|
const decoded = decodeEventLog({
|
|
@@ -165,16 +226,22 @@ export async function submitEvaluationJob(publicClient, walletClient, safeAddres
|
|
|
165
226
|
data: log.data,
|
|
166
227
|
topics: log.topics,
|
|
167
228
|
});
|
|
168
|
-
if (decoded.eventName === '
|
|
229
|
+
if (decoded.eventName === 'TaskAttemptCreated') {
|
|
169
230
|
const args = decoded.args;
|
|
170
|
-
|
|
231
|
+
return {
|
|
232
|
+
taskId: String(args.taskId),
|
|
233
|
+
attemptIndex: Number(args.attemptIndex),
|
|
234
|
+
requestId: String(args.requestId),
|
|
235
|
+
txHash,
|
|
236
|
+
blockNumber: log.blockNumber != null ? Number(log.blockNumber) : undefined,
|
|
237
|
+
};
|
|
171
238
|
}
|
|
172
239
|
}
|
|
173
240
|
catch {
|
|
174
241
|
// Not our event
|
|
175
242
|
}
|
|
176
243
|
}
|
|
177
|
-
|
|
244
|
+
throw new Error(`No TaskAttemptCreated event returned from router tx=${txHash}`);
|
|
178
245
|
}
|
|
179
246
|
const CLAIM_RETRY_ATTEMPTS = 6;
|
|
180
247
|
const CLAIM_RETRY_DELAY_MS = 2000;
|
|
@@ -201,20 +268,28 @@ export async function claimDelivery(publicClient, walletClient, safeAddress, rou
|
|
|
201
268
|
console.error(`[router] claimDelivery: already claimed ${requestId}`);
|
|
202
269
|
return '0x';
|
|
203
270
|
}
|
|
204
|
-
if (options.variant === 'v2' && !options.evidenceHash) {
|
|
205
|
-
throw new Error(`claimDelivery(
|
|
271
|
+
if ((options.variant === 'v2' || options.variant === 'v3') && !options.evidenceHash) {
|
|
272
|
+
throw new Error(`claimDelivery(${options.variant}): evidenceHash is required — refusing to write ZERO_EVIDENCE for requestId ${requestId}`);
|
|
206
273
|
}
|
|
207
|
-
const calldata = options.variant === '
|
|
274
|
+
const calldata = options.variant === 'v3'
|
|
208
275
|
? encodeFunctionData({
|
|
209
|
-
abi:
|
|
210
|
-
functionName: '
|
|
211
|
-
args:
|
|
276
|
+
abi: JINN_ROUTER_ABI,
|
|
277
|
+
functionName: options.kind === 'verdict' ? 'claimVerdictDelivery' : 'claimSolutionDelivery',
|
|
278
|
+
args: options.kind === 'verdict'
|
|
279
|
+
? [requestId, options.evidenceHash, options.verdictCode ?? 1]
|
|
280
|
+
: [requestId, options.evidenceHash],
|
|
212
281
|
})
|
|
213
|
-
:
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
282
|
+
: options.variant === 'v2'
|
|
283
|
+
? encodeFunctionData({
|
|
284
|
+
abi: JINN_ROUTER_CLAIM_DELIVERY_V2_ABI,
|
|
285
|
+
functionName: 'claimDelivery',
|
|
286
|
+
args: [requestId, options.evidenceHash],
|
|
287
|
+
})
|
|
288
|
+
: encodeFunctionData({
|
|
289
|
+
abi: JINN_ROUTER_CLAIM_DELIVERY_V1_ABI,
|
|
290
|
+
functionName: 'claimDelivery',
|
|
291
|
+
args: [requestId],
|
|
292
|
+
});
|
|
218
293
|
for (let attempt = 1; attempt <= CLAIM_RETRY_ATTEMPTS; attempt++) {
|
|
219
294
|
try {
|
|
220
295
|
return await withEvictionRecovery(publicClient, evictionRecovery, 'claimDelivery', () => executeSafeTransaction(publicClient, walletClient, {
|
|
@@ -255,45 +330,78 @@ export async function claimDelivery(publicClient, walletClient, safeAddress, rou
|
|
|
255
330
|
}
|
|
256
331
|
throw new Error(`claimDelivery failed after ${CLAIM_RETRY_ATTEMPTS} attempts for ${requestId}`);
|
|
257
332
|
}
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
const
|
|
261
|
-
abi:
|
|
262
|
-
functionName: '
|
|
263
|
-
args: [
|
|
333
|
+
export async function claimEvaluation(publicClient, walletClient, safeAddress, routerAddress, taskId, attemptIndex, evaluatorMech, evaluationTaskCidDigest, evictionRecovery) {
|
|
334
|
+
const taskIdBigInt = typeof taskId === 'bigint' ? taskId : BigInt(taskId);
|
|
335
|
+
const calldata = encodeFunctionData({
|
|
336
|
+
abi: JINN_ROUTER_ABI,
|
|
337
|
+
functionName: 'claimEvaluation',
|
|
338
|
+
args: [taskIdBigInt, attemptIndex, evaluatorMech, evaluationTaskCidDigest],
|
|
264
339
|
});
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
340
|
+
const txHash = await withEvictionRecovery(publicClient, evictionRecovery, 'claimEvaluation', () => executeSafeTransaction(publicClient, walletClient, {
|
|
341
|
+
safeAddress,
|
|
342
|
+
to: routerAddress,
|
|
343
|
+
value: 0n,
|
|
344
|
+
data: calldata,
|
|
345
|
+
}));
|
|
346
|
+
const receipt = await waitForTransactionReceiptWithRetry(publicClient, txHash, {
|
|
347
|
+
onRetry: ({ attempt, message }) => {
|
|
348
|
+
console.error(`[router] wait claim evaluation receipt retry ${attempt}: ${message}`);
|
|
349
|
+
},
|
|
350
|
+
});
|
|
351
|
+
for (const log of receipt.logs) {
|
|
352
|
+
try {
|
|
353
|
+
const decoded = decodeEventLog({
|
|
354
|
+
abi: JINN_ROUTER_ABI,
|
|
355
|
+
data: log.data,
|
|
356
|
+
topics: log.topics,
|
|
357
|
+
});
|
|
358
|
+
if (decoded.eventName === 'EvaluationAttemptCreated') {
|
|
359
|
+
const args = decoded.args;
|
|
360
|
+
return {
|
|
361
|
+
taskId: String(args.taskId),
|
|
362
|
+
attemptIndex: Number(args.attemptIndex),
|
|
363
|
+
verdictIndex: Number(args.verdictIndex),
|
|
364
|
+
requestId: String(args.requestId),
|
|
365
|
+
txHash,
|
|
366
|
+
blockNumber: log.blockNumber != null ? Number(log.blockNumber) : undefined,
|
|
367
|
+
};
|
|
368
|
+
}
|
|
281
369
|
}
|
|
282
|
-
|
|
283
|
-
//
|
|
284
|
-
return '';
|
|
370
|
+
catch {
|
|
371
|
+
// Not our event
|
|
285
372
|
}
|
|
286
|
-
throw err;
|
|
287
373
|
}
|
|
374
|
+
throw new Error(`No EvaluationAttemptCreated event returned from router tx=${txHash}`);
|
|
288
375
|
}
|
|
289
|
-
export async function
|
|
290
|
-
const
|
|
291
|
-
address:
|
|
292
|
-
abi:
|
|
293
|
-
functionName: '
|
|
376
|
+
export async function getTaskCidDigest(publicClient, routerAddress, taskId) {
|
|
377
|
+
const coordinatorAddress = await publicClient.readContract({
|
|
378
|
+
address: routerAddress,
|
|
379
|
+
abi: JINN_ROUTER_ABI,
|
|
380
|
+
functionName: 'taskCoordinator',
|
|
381
|
+
});
|
|
382
|
+
const taskIdBigInt = typeof taskId === 'bigint' ? taskId : BigInt(taskId);
|
|
383
|
+
const task = await publicClient.readContract({
|
|
384
|
+
address: coordinatorAddress,
|
|
385
|
+
abi: TASK_COORDINATOR_ABI,
|
|
386
|
+
functionName: 'getTask',
|
|
387
|
+
args: [taskIdBigInt],
|
|
388
|
+
});
|
|
389
|
+
if (Array.isArray(task)) {
|
|
390
|
+
return task[1];
|
|
391
|
+
}
|
|
392
|
+
return task.taskCidDigest;
|
|
393
|
+
}
|
|
394
|
+
export async function getMarketplaceRequestDeliveryMech(publicClient, marketplaceAddress, requestId) {
|
|
395
|
+
const info = await publicClient.readContract({
|
|
396
|
+
address: marketplaceAddress,
|
|
397
|
+
abi: MECH_MARKETPLACE_ABI,
|
|
398
|
+
functionName: 'mapRequestIdInfos',
|
|
294
399
|
args: [requestId],
|
|
295
400
|
});
|
|
296
|
-
|
|
401
|
+
if (Array.isArray(info)) {
|
|
402
|
+
return info[1];
|
|
403
|
+
}
|
|
404
|
+
return info.deliveryMech;
|
|
297
405
|
}
|
|
298
406
|
export async function getMechDeliveryRate(publicClient, mechAddress) {
|
|
299
407
|
return publicClient.readContract({
|
|
@@ -341,10 +449,16 @@ export async function scanTasks(publicClient, routerAddress, creator, fromBlock,
|
|
|
341
449
|
data: log.data,
|
|
342
450
|
topics: log.topics,
|
|
343
451
|
});
|
|
344
|
-
if (decoded.eventName === '
|
|
452
|
+
if (decoded.eventName === 'TaskCreated') {
|
|
345
453
|
const args = decoded.args;
|
|
346
454
|
if (args.creator.toLowerCase() === creator.toLowerCase()) {
|
|
347
|
-
results.push({
|
|
455
|
+
results.push({
|
|
456
|
+
taskId: String(args.taskId),
|
|
457
|
+
taskCidDigest: String(args.taskCidDigest),
|
|
458
|
+
creator: String(args.creator),
|
|
459
|
+
transactionHash: log.transactionHash ?? undefined,
|
|
460
|
+
blockNumber: log.blockNumber != null ? Number(log.blockNumber) : undefined,
|
|
461
|
+
});
|
|
348
462
|
}
|
|
349
463
|
}
|
|
350
464
|
}
|
|
@@ -353,35 +467,55 @@ export async function scanTasks(publicClient, routerAddress, creator, fromBlock,
|
|
|
353
467
|
}
|
|
354
468
|
return results;
|
|
355
469
|
}
|
|
356
|
-
export
|
|
470
|
+
export function decodeTaskCreatedLogs(logs) {
|
|
357
471
|
const results = [];
|
|
358
|
-
const
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
472
|
+
for (const log of logs) {
|
|
473
|
+
try {
|
|
474
|
+
const decoded = decodeEventLog({
|
|
475
|
+
abi: JINN_ROUTER_ABI,
|
|
476
|
+
data: log.data,
|
|
477
|
+
topics: log.topics,
|
|
478
|
+
});
|
|
479
|
+
if (decoded.eventName === 'TaskCreated') {
|
|
480
|
+
const args = decoded.args;
|
|
481
|
+
results.push({
|
|
482
|
+
taskId: String(args.taskId),
|
|
483
|
+
taskCidDigest: String(args.taskCidDigest),
|
|
484
|
+
creator: String(args.creator),
|
|
485
|
+
transactionHash: log.transactionHash ?? undefined,
|
|
486
|
+
blockNumber: log.blockNumber != null ? Number(log.blockNumber) : undefined,
|
|
372
487
|
});
|
|
373
|
-
if (decoded.eventName === 'EvaluationJobCreated') {
|
|
374
|
-
const args = decoded.args;
|
|
375
|
-
if (args.creator.toLowerCase() === creator.toLowerCase()) {
|
|
376
|
-
results.push({
|
|
377
|
-
requestId: String(args.requestId),
|
|
378
|
-
restorationRequestId: String(args.restorationRequestId),
|
|
379
|
-
creator: String(args.creator),
|
|
380
|
-
});
|
|
381
|
-
}
|
|
382
|
-
}
|
|
383
488
|
}
|
|
384
|
-
|
|
489
|
+
}
|
|
490
|
+
catch {
|
|
491
|
+
// Not a TaskCreated event — skip
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
return results;
|
|
495
|
+
}
|
|
496
|
+
export function decodeSolutionDeliveryClaimedLogs(logs) {
|
|
497
|
+
const results = [];
|
|
498
|
+
for (const log of logs) {
|
|
499
|
+
try {
|
|
500
|
+
const decoded = decodeEventLog({
|
|
501
|
+
abi: JINN_ROUTER_ABI,
|
|
502
|
+
data: log.data,
|
|
503
|
+
topics: log.topics,
|
|
504
|
+
});
|
|
505
|
+
if (decoded.eventName === 'SolutionDeliveryClaimed') {
|
|
506
|
+
const args = decoded.args;
|
|
507
|
+
results.push({
|
|
508
|
+
taskId: String(args.taskId),
|
|
509
|
+
attemptIndex: Number(args.attemptIndex),
|
|
510
|
+
requestId: String(args.requestId),
|
|
511
|
+
operator: String(args.operator),
|
|
512
|
+
transactionHash: log.transactionHash ?? undefined,
|
|
513
|
+
blockNumber: log.blockNumber != null ? Number(log.blockNumber) : undefined,
|
|
514
|
+
});
|
|
515
|
+
}
|
|
516
|
+
}
|
|
517
|
+
catch {
|
|
518
|
+
// Not a SolutionDeliveryClaimed event — skip
|
|
385
519
|
}
|
|
386
520
|
}
|
|
387
521
|
return results;
|