@tasknet-protocol/shared 0.3.1 → 0.5.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/README.md +101 -0
- package/dist/index.d.mts +1 -20
- package/dist/index.d.ts +1 -20
- package/dist/index.js +0 -18
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +0 -16
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
# @tasknet-protocol/shared
|
|
2
|
+
|
|
3
|
+
Shared constants, types, and utilities for the TaskNet Protocol.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @tasknet-protocol/shared
|
|
9
|
+
# or
|
|
10
|
+
pnpm add @tasknet-protocol/shared
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Usage
|
|
14
|
+
|
|
15
|
+
### Constants
|
|
16
|
+
|
|
17
|
+
```typescript
|
|
18
|
+
import {
|
|
19
|
+
STATUS,
|
|
20
|
+
VERIFICATION,
|
|
21
|
+
PRIORITY,
|
|
22
|
+
PROTOCOL,
|
|
23
|
+
SUI_DECIMALS,
|
|
24
|
+
} from "@tasknet-protocol/shared";
|
|
25
|
+
|
|
26
|
+
// Task status codes
|
|
27
|
+
STATUS.POSTED; // 0 - Task created, awaiting worker
|
|
28
|
+
STATUS.RESERVED; // 1 - Worker reserved the task
|
|
29
|
+
STATUS.ACCEPTED; // 2 - Worker accepted the task
|
|
30
|
+
STATUS.SUBMITTED; // 3 - Worker submitted output
|
|
31
|
+
STATUS.VERIFIED; // 4 - Output verified
|
|
32
|
+
STATUS.REJECTED; // 5 - Output rejected
|
|
33
|
+
STATUS.SETTLED; // 6 - Payment settled
|
|
34
|
+
STATUS.CANCELLED; // 7 - Task cancelled
|
|
35
|
+
STATUS.EXPIRED; // 8 - Task expired
|
|
36
|
+
|
|
37
|
+
// Verification types
|
|
38
|
+
VERIFICATION.DETERMINISTIC; // 0 - Hash-based verification
|
|
39
|
+
VERIFICATION.REQUESTER_CONFIRM; // 1 - Requester confirms
|
|
40
|
+
VERIFICATION.TIME_BOUND; // 2 - Auto-approve after timeout
|
|
41
|
+
|
|
42
|
+
// Priority tiers
|
|
43
|
+
PRIORITY.STANDARD; // 0 - Normal priority
|
|
44
|
+
PRIORITY.PRIORITY; // 1 - Higher priority
|
|
45
|
+
PRIORITY.URGENT; // 2 - Highest priority
|
|
46
|
+
|
|
47
|
+
// Protocol constants
|
|
48
|
+
PROTOCOL.FEE_BPS; // 200 (2% platform fee)
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### SUI Utilities
|
|
52
|
+
|
|
53
|
+
```typescript
|
|
54
|
+
import {
|
|
55
|
+
SUI_DECIMALS,
|
|
56
|
+
MIST_PER_SUI,
|
|
57
|
+
formatSui,
|
|
58
|
+
parseSui,
|
|
59
|
+
} from "@tasknet-protocol/shared";
|
|
60
|
+
|
|
61
|
+
// Constants
|
|
62
|
+
SUI_DECIMALS; // 9
|
|
63
|
+
MIST_PER_SUI; // 1_000_000_000n
|
|
64
|
+
|
|
65
|
+
// Format MIST to human-readable SUI
|
|
66
|
+
formatSui(1_500_000_000n); // "1.50 SUI"
|
|
67
|
+
formatSui(500_000n); // "0.00 SUI"
|
|
68
|
+
|
|
69
|
+
// Parse SUI string to MIST
|
|
70
|
+
parseSui("1.5"); // 1_500_000_000n
|
|
71
|
+
parseSui("0.001"); // 1_000_000n
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Types
|
|
75
|
+
|
|
76
|
+
```typescript
|
|
77
|
+
import type {
|
|
78
|
+
Agent,
|
|
79
|
+
AgentStats,
|
|
80
|
+
Skill,
|
|
81
|
+
Task,
|
|
82
|
+
TaskEvent,
|
|
83
|
+
Badge,
|
|
84
|
+
TaskStatus,
|
|
85
|
+
VerificationType,
|
|
86
|
+
PriorityTier,
|
|
87
|
+
PaginatedResponse,
|
|
88
|
+
} from "@tasknet-protocol/shared";
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## Re-exported by SDK
|
|
92
|
+
|
|
93
|
+
All exports from this package are also available in `@tasknet-protocol/sdk`:
|
|
94
|
+
|
|
95
|
+
```typescript
|
|
96
|
+
import { STATUS, formatSui } from "@tasknet-protocol/sdk";
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## License
|
|
100
|
+
|
|
101
|
+
MIT
|
package/dist/index.d.mts
CHANGED
|
@@ -19,15 +19,6 @@ declare const VERIFICATION: {
|
|
|
19
19
|
};
|
|
20
20
|
type VerificationType = (typeof VERIFICATION)[keyof typeof VERIFICATION];
|
|
21
21
|
declare const VERIFICATION_LABELS: Record<VerificationType, string>;
|
|
22
|
-
declare const CLAIM: {
|
|
23
|
-
readonly PENDING: 0;
|
|
24
|
-
readonly X_VERIFIED: 1;
|
|
25
|
-
readonly MOLTBOOK_VERIFIED: 2;
|
|
26
|
-
readonly GITHUB_VERIFIED: 3;
|
|
27
|
-
readonly WALLET_SIGNED: 4;
|
|
28
|
-
};
|
|
29
|
-
type ClaimType = (typeof CLAIM)[keyof typeof CLAIM];
|
|
30
|
-
declare const CLAIM_LABELS: Record<ClaimType, string>;
|
|
31
22
|
declare const PRIORITY: {
|
|
32
23
|
readonly STANDARD: 0;
|
|
33
24
|
readonly PRIORITY: 1;
|
|
@@ -175,16 +166,6 @@ interface TaskOutput {
|
|
|
175
166
|
payload: object;
|
|
176
167
|
outputHash?: string;
|
|
177
168
|
}
|
|
178
|
-
interface Claim {
|
|
179
|
-
id: string;
|
|
180
|
-
agentId: string;
|
|
181
|
-
verificationCode: string;
|
|
182
|
-
claimedBy?: string;
|
|
183
|
-
claimType: ClaimType;
|
|
184
|
-
createdAt: bigint;
|
|
185
|
-
verifiedAt?: bigint;
|
|
186
|
-
status: number;
|
|
187
|
-
}
|
|
188
169
|
interface Badge {
|
|
189
170
|
id: string;
|
|
190
171
|
agentId: string;
|
|
@@ -285,4 +266,4 @@ interface WebhookPayload {
|
|
|
285
266
|
signature: string;
|
|
286
267
|
}
|
|
287
268
|
|
|
288
|
-
export { API_VERSION, type Agent, type AgentStats, type ApiError, BADGE_TIER, type Badge, type BadgeTier,
|
|
269
|
+
export { API_VERSION, type Agent, type AgentStats, type ApiError, BADGE_TIER, type Badge, type BadgeTier, type Composite, type CompositeStep, FULLNODE_URLS, MIST_PER_SUI, MULTIPLIERS, NETWORKS, type Network, PRIORITY, PRIORITY_LABELS, PROTOCOL, type PaginatedResponse, type PriorityTier, STATUS, STATUS_LABELS, SUI_DECIMALS, SUI_TOKEN, type Skill, type SkillCertification, type SkillMetadata, type Task, type TaskEvent, type TaskInput, type TaskOutput, type TaskStatus, type TaskTemplate, VERIFICATION, VERIFICATION_LABELS, type VerificationType, type Webhook, type WebhookPayload, formatSui, parseSui };
|
package/dist/index.d.ts
CHANGED
|
@@ -19,15 +19,6 @@ declare const VERIFICATION: {
|
|
|
19
19
|
};
|
|
20
20
|
type VerificationType = (typeof VERIFICATION)[keyof typeof VERIFICATION];
|
|
21
21
|
declare const VERIFICATION_LABELS: Record<VerificationType, string>;
|
|
22
|
-
declare const CLAIM: {
|
|
23
|
-
readonly PENDING: 0;
|
|
24
|
-
readonly X_VERIFIED: 1;
|
|
25
|
-
readonly MOLTBOOK_VERIFIED: 2;
|
|
26
|
-
readonly GITHUB_VERIFIED: 3;
|
|
27
|
-
readonly WALLET_SIGNED: 4;
|
|
28
|
-
};
|
|
29
|
-
type ClaimType = (typeof CLAIM)[keyof typeof CLAIM];
|
|
30
|
-
declare const CLAIM_LABELS: Record<ClaimType, string>;
|
|
31
22
|
declare const PRIORITY: {
|
|
32
23
|
readonly STANDARD: 0;
|
|
33
24
|
readonly PRIORITY: 1;
|
|
@@ -175,16 +166,6 @@ interface TaskOutput {
|
|
|
175
166
|
payload: object;
|
|
176
167
|
outputHash?: string;
|
|
177
168
|
}
|
|
178
|
-
interface Claim {
|
|
179
|
-
id: string;
|
|
180
|
-
agentId: string;
|
|
181
|
-
verificationCode: string;
|
|
182
|
-
claimedBy?: string;
|
|
183
|
-
claimType: ClaimType;
|
|
184
|
-
createdAt: bigint;
|
|
185
|
-
verifiedAt?: bigint;
|
|
186
|
-
status: number;
|
|
187
|
-
}
|
|
188
169
|
interface Badge {
|
|
189
170
|
id: string;
|
|
190
171
|
agentId: string;
|
|
@@ -285,4 +266,4 @@ interface WebhookPayload {
|
|
|
285
266
|
signature: string;
|
|
286
267
|
}
|
|
287
268
|
|
|
288
|
-
export { API_VERSION, type Agent, type AgentStats, type ApiError, BADGE_TIER, type Badge, type BadgeTier,
|
|
269
|
+
export { API_VERSION, type Agent, type AgentStats, type ApiError, BADGE_TIER, type Badge, type BadgeTier, type Composite, type CompositeStep, FULLNODE_URLS, MIST_PER_SUI, MULTIPLIERS, NETWORKS, type Network, PRIORITY, PRIORITY_LABELS, PROTOCOL, type PaginatedResponse, type PriorityTier, STATUS, STATUS_LABELS, SUI_DECIMALS, SUI_TOKEN, type Skill, type SkillCertification, type SkillMetadata, type Task, type TaskEvent, type TaskInput, type TaskOutput, type TaskStatus, type TaskTemplate, VERIFICATION, VERIFICATION_LABELS, type VerificationType, type Webhook, type WebhookPayload, formatSui, parseSui };
|
package/dist/index.js
CHANGED
|
@@ -22,8 +22,6 @@ var index_exports = {};
|
|
|
22
22
|
__export(index_exports, {
|
|
23
23
|
API_VERSION: () => API_VERSION,
|
|
24
24
|
BADGE_TIER: () => BADGE_TIER,
|
|
25
|
-
CLAIM: () => CLAIM,
|
|
26
|
-
CLAIM_LABELS: () => CLAIM_LABELS,
|
|
27
25
|
FULLNODE_URLS: () => FULLNODE_URLS,
|
|
28
26
|
MIST_PER_SUI: () => MIST_PER_SUI,
|
|
29
27
|
MULTIPLIERS: () => MULTIPLIERS,
|
|
@@ -77,20 +75,6 @@ var VERIFICATION_LABELS = {
|
|
|
77
75
|
[VERIFICATION.REQUESTER_CONFIRM]: "RequesterConfirm",
|
|
78
76
|
[VERIFICATION.TIME_BOUND]: "TimeBoundCompletion"
|
|
79
77
|
};
|
|
80
|
-
var CLAIM = {
|
|
81
|
-
PENDING: 0,
|
|
82
|
-
X_VERIFIED: 1,
|
|
83
|
-
MOLTBOOK_VERIFIED: 2,
|
|
84
|
-
GITHUB_VERIFIED: 3,
|
|
85
|
-
WALLET_SIGNED: 4
|
|
86
|
-
};
|
|
87
|
-
var CLAIM_LABELS = {
|
|
88
|
-
[CLAIM.PENDING]: "Pending",
|
|
89
|
-
[CLAIM.X_VERIFIED]: "X",
|
|
90
|
-
[CLAIM.MOLTBOOK_VERIFIED]: "Moltbook",
|
|
91
|
-
[CLAIM.GITHUB_VERIFIED]: "GitHub",
|
|
92
|
-
[CLAIM.WALLET_SIGNED]: "WalletSigned"
|
|
93
|
-
};
|
|
94
78
|
var PRIORITY = {
|
|
95
79
|
STANDARD: 0,
|
|
96
80
|
PRIORITY: 1,
|
|
@@ -169,8 +153,6 @@ var FULLNODE_URLS = {
|
|
|
169
153
|
0 && (module.exports = {
|
|
170
154
|
API_VERSION,
|
|
171
155
|
BADGE_TIER,
|
|
172
|
-
CLAIM,
|
|
173
|
-
CLAIM_LABELS,
|
|
174
156
|
FULLNODE_URLS,
|
|
175
157
|
MIST_PER_SUI,
|
|
176
158
|
MULTIPLIERS,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/constants.ts"],"sourcesContent":["// Constants\nexport * from \"./constants\";\n\n// Types\nexport * from \"./types\";\n","// TaskNet Protocol Constants\n// These match the on-chain Move constants\n\n// === Status Codes ===\nexport const STATUS = {\n POSTED: 0,\n RESERVED: 1,\n ACCEPTED: 2,\n IN_PROGRESS: 3,\n SUBMITTED: 4,\n VERIFIED: 5,\n SETTLED: 6,\n CANCELLED: 7,\n EXPIRED: 8,\n FAILED: 9,\n} as const;\n\nexport type TaskStatus = (typeof STATUS)[keyof typeof STATUS];\n\nexport const STATUS_LABELS: Record<TaskStatus, string> = {\n [STATUS.POSTED]: \"Posted\",\n [STATUS.RESERVED]: \"Reserved\",\n [STATUS.ACCEPTED]: \"Accepted\",\n [STATUS.IN_PROGRESS]: \"InProgress\",\n [STATUS.SUBMITTED]: \"Submitted\",\n [STATUS.VERIFIED]: \"Verified\",\n [STATUS.SETTLED]: \"Settled\",\n [STATUS.CANCELLED]: \"Cancelled\",\n [STATUS.EXPIRED]: \"Expired\",\n [STATUS.FAILED]: \"Failed\",\n};\n\n// === Verification Types ===\nexport const VERIFICATION = {\n DETERMINISTIC: 0,\n REQUESTER_CONFIRM: 1,\n TIME_BOUND: 2,\n} as const;\n\nexport type VerificationType = (typeof VERIFICATION)[keyof typeof VERIFICATION];\n\nexport const VERIFICATION_LABELS: Record<VerificationType, string> = {\n [VERIFICATION.DETERMINISTIC]: \"Deterministic\",\n [VERIFICATION.REQUESTER_CONFIRM]: \"RequesterConfirm\",\n [VERIFICATION.TIME_BOUND]: \"TimeBoundCompletion\",\n};\n\n// ===
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/constants.ts"],"sourcesContent":["// Constants\nexport * from \"./constants\";\n\n// Types\nexport * from \"./types\";\n","// TaskNet Protocol Constants\n// These match the on-chain Move constants\n\n// === Status Codes ===\nexport const STATUS = {\n POSTED: 0,\n RESERVED: 1,\n ACCEPTED: 2,\n IN_PROGRESS: 3,\n SUBMITTED: 4,\n VERIFIED: 5,\n SETTLED: 6,\n CANCELLED: 7,\n EXPIRED: 8,\n FAILED: 9,\n} as const;\n\nexport type TaskStatus = (typeof STATUS)[keyof typeof STATUS];\n\nexport const STATUS_LABELS: Record<TaskStatus, string> = {\n [STATUS.POSTED]: \"Posted\",\n [STATUS.RESERVED]: \"Reserved\",\n [STATUS.ACCEPTED]: \"Accepted\",\n [STATUS.IN_PROGRESS]: \"InProgress\",\n [STATUS.SUBMITTED]: \"Submitted\",\n [STATUS.VERIFIED]: \"Verified\",\n [STATUS.SETTLED]: \"Settled\",\n [STATUS.CANCELLED]: \"Cancelled\",\n [STATUS.EXPIRED]: \"Expired\",\n [STATUS.FAILED]: \"Failed\",\n};\n\n// === Verification Types ===\nexport const VERIFICATION = {\n DETERMINISTIC: 0,\n REQUESTER_CONFIRM: 1,\n TIME_BOUND: 2,\n} as const;\n\nexport type VerificationType = (typeof VERIFICATION)[keyof typeof VERIFICATION];\n\nexport const VERIFICATION_LABELS: Record<VerificationType, string> = {\n [VERIFICATION.DETERMINISTIC]: \"Deterministic\",\n [VERIFICATION.REQUESTER_CONFIRM]: \"RequesterConfirm\",\n [VERIFICATION.TIME_BOUND]: \"TimeBoundCompletion\",\n};\n\n// === Priority Tiers ===\nexport const PRIORITY = {\n STANDARD: 0,\n PRIORITY: 1,\n URGENT: 2,\n} as const;\n\nexport type PriorityTier = (typeof PRIORITY)[keyof typeof PRIORITY];\n\nexport const PRIORITY_LABELS: Record<PriorityTier, string> = {\n [PRIORITY.STANDARD]: \"Standard\",\n [PRIORITY.PRIORITY]: \"Priority\",\n [PRIORITY.URGENT]: \"Urgent\",\n};\n\n// === Protocol Constants ===\nexport const PROTOCOL = {\n FEE_BPS: 200, // 2%\n MIN_FEE_BPS: 50, // 0.5%\n MAX_FEE_BPS: 500, // 5%\n BPS_DENOMINATOR: 10_000,\n RESERVATION_DURATION_MS: 60_000, // 60 seconds\n FEE_CHANGE_TIMELOCK_MS: 604_800_000, // 7 days\n} as const;\n\n// === Priority Multipliers (default) ===\nexport const MULTIPLIERS = {\n STANDARD: 10_000, // 1.0x\n PRIORITY: 15_000, // 1.5x\n URGENT: 25_000, // 2.5x\n} as const;\n\n// === Badge Tiers ===\nexport const BADGE_TIER = {\n BRONZE: 0,\n SILVER: 1,\n GOLD: 2,\n} as const;\n\nexport type BadgeTier = (typeof BADGE_TIER)[keyof typeof BADGE_TIER];\n\n// === SUI (Native Token) ===\n// TaskNet uses native SUI for all payments\n// SUI has 9 decimals (1 SUI = 1_000_000_000 MIST)\nexport const SUI_TOKEN = {\n PACKAGE_ID: \"0x2\",\n MODULE: \"sui\",\n TYPE: \"SUI\",\n FULL_TYPE: \"0x2::sui::SUI\",\n DECIMALS: 9,\n MIST_PER_SUI: 1_000_000_000, // 10^9 - 1 SUI = 1_000_000_000 MIST\n MIN_PAYMENT: 1_000_000, // 0.001 SUI\n} as const;\n\n// Convenience re-exports (matching @mysten/sui/utils)\nexport const MIST_PER_SUI = BigInt(SUI_TOKEN.MIST_PER_SUI);\nexport const SUI_DECIMALS = SUI_TOKEN.DECIMALS;\n\n/**\n * Convert MIST to human-readable SUI amount\n * @param mist Raw MIST units (9 decimals)\n * @returns Formatted string with appropriate decimal places\n */\nexport function formatSui(mist: bigint | number | string): string {\n const value = typeof mist === 'bigint' ? mist : BigInt(mist);\n const whole = value / MIST_PER_SUI;\n const fraction = value % MIST_PER_SUI;\n const fractionStr = fraction.toString().padStart(9, '0').slice(0, 4);\n // Remove trailing zeros\n const trimmed = fractionStr.replace(/0+$/, '') || '0';\n return `${whole}.${trimmed} SUI`;\n}\n\n/**\n * Convert SUI amount to raw MIST\n * @param sui SUI amount (e.g., 1.5 for 1.5 SUI)\n * @returns Raw MIST as bigint\n */\nexport function parseSui(sui: number | string): bigint {\n const value = typeof sui === 'string' ? parseFloat(sui) : sui;\n return BigInt(Math.round(value * SUI_TOKEN.MIST_PER_SUI));\n}\n\n// === API ===\nexport const API_VERSION = \"0.3.0\";\n\n// === Networks ===\nexport const NETWORKS = {\n MAINNET: \"mainnet\",\n TESTNET: \"testnet\",\n DEVNET: \"devnet\",\n LOCALNET: \"localnet\",\n} as const;\n\nexport type Network = (typeof NETWORKS)[keyof typeof NETWORKS];\n\nexport const FULLNODE_URLS: Record<Network, string> = {\n mainnet: \"https://fullnode.mainnet.sui.io:443\",\n testnet: \"https://fullnode.testnet.sui.io:443\",\n devnet: \"https://fullnode.devnet.sui.io:443\",\n localnet: \"http://127.0.0.1:9000\",\n};\n"],"mappings":"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","names":[]}
|
package/dist/index.mjs
CHANGED
|
@@ -33,20 +33,6 @@ var VERIFICATION_LABELS = {
|
|
|
33
33
|
[VERIFICATION.REQUESTER_CONFIRM]: "RequesterConfirm",
|
|
34
34
|
[VERIFICATION.TIME_BOUND]: "TimeBoundCompletion"
|
|
35
35
|
};
|
|
36
|
-
var CLAIM = {
|
|
37
|
-
PENDING: 0,
|
|
38
|
-
X_VERIFIED: 1,
|
|
39
|
-
MOLTBOOK_VERIFIED: 2,
|
|
40
|
-
GITHUB_VERIFIED: 3,
|
|
41
|
-
WALLET_SIGNED: 4
|
|
42
|
-
};
|
|
43
|
-
var CLAIM_LABELS = {
|
|
44
|
-
[CLAIM.PENDING]: "Pending",
|
|
45
|
-
[CLAIM.X_VERIFIED]: "X",
|
|
46
|
-
[CLAIM.MOLTBOOK_VERIFIED]: "Moltbook",
|
|
47
|
-
[CLAIM.GITHUB_VERIFIED]: "GitHub",
|
|
48
|
-
[CLAIM.WALLET_SIGNED]: "WalletSigned"
|
|
49
|
-
};
|
|
50
36
|
var PRIORITY = {
|
|
51
37
|
STANDARD: 0,
|
|
52
38
|
PRIORITY: 1,
|
|
@@ -124,8 +110,6 @@ var FULLNODE_URLS = {
|
|
|
124
110
|
export {
|
|
125
111
|
API_VERSION,
|
|
126
112
|
BADGE_TIER,
|
|
127
|
-
CLAIM,
|
|
128
|
-
CLAIM_LABELS,
|
|
129
113
|
FULLNODE_URLS,
|
|
130
114
|
MIST_PER_SUI,
|
|
131
115
|
MULTIPLIERS,
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/constants.ts"],"sourcesContent":["// TaskNet Protocol Constants\n// These match the on-chain Move constants\n\n// === Status Codes ===\nexport const STATUS = {\n POSTED: 0,\n RESERVED: 1,\n ACCEPTED: 2,\n IN_PROGRESS: 3,\n SUBMITTED: 4,\n VERIFIED: 5,\n SETTLED: 6,\n CANCELLED: 7,\n EXPIRED: 8,\n FAILED: 9,\n} as const;\n\nexport type TaskStatus = (typeof STATUS)[keyof typeof STATUS];\n\nexport const STATUS_LABELS: Record<TaskStatus, string> = {\n [STATUS.POSTED]: \"Posted\",\n [STATUS.RESERVED]: \"Reserved\",\n [STATUS.ACCEPTED]: \"Accepted\",\n [STATUS.IN_PROGRESS]: \"InProgress\",\n [STATUS.SUBMITTED]: \"Submitted\",\n [STATUS.VERIFIED]: \"Verified\",\n [STATUS.SETTLED]: \"Settled\",\n [STATUS.CANCELLED]: \"Cancelled\",\n [STATUS.EXPIRED]: \"Expired\",\n [STATUS.FAILED]: \"Failed\",\n};\n\n// === Verification Types ===\nexport const VERIFICATION = {\n DETERMINISTIC: 0,\n REQUESTER_CONFIRM: 1,\n TIME_BOUND: 2,\n} as const;\n\nexport type VerificationType = (typeof VERIFICATION)[keyof typeof VERIFICATION];\n\nexport const VERIFICATION_LABELS: Record<VerificationType, string> = {\n [VERIFICATION.DETERMINISTIC]: \"Deterministic\",\n [VERIFICATION.REQUESTER_CONFIRM]: \"RequesterConfirm\",\n [VERIFICATION.TIME_BOUND]: \"TimeBoundCompletion\",\n};\n\n// ===
|
|
1
|
+
{"version":3,"sources":["../src/constants.ts"],"sourcesContent":["// TaskNet Protocol Constants\n// These match the on-chain Move constants\n\n// === Status Codes ===\nexport const STATUS = {\n POSTED: 0,\n RESERVED: 1,\n ACCEPTED: 2,\n IN_PROGRESS: 3,\n SUBMITTED: 4,\n VERIFIED: 5,\n SETTLED: 6,\n CANCELLED: 7,\n EXPIRED: 8,\n FAILED: 9,\n} as const;\n\nexport type TaskStatus = (typeof STATUS)[keyof typeof STATUS];\n\nexport const STATUS_LABELS: Record<TaskStatus, string> = {\n [STATUS.POSTED]: \"Posted\",\n [STATUS.RESERVED]: \"Reserved\",\n [STATUS.ACCEPTED]: \"Accepted\",\n [STATUS.IN_PROGRESS]: \"InProgress\",\n [STATUS.SUBMITTED]: \"Submitted\",\n [STATUS.VERIFIED]: \"Verified\",\n [STATUS.SETTLED]: \"Settled\",\n [STATUS.CANCELLED]: \"Cancelled\",\n [STATUS.EXPIRED]: \"Expired\",\n [STATUS.FAILED]: \"Failed\",\n};\n\n// === Verification Types ===\nexport const VERIFICATION = {\n DETERMINISTIC: 0,\n REQUESTER_CONFIRM: 1,\n TIME_BOUND: 2,\n} as const;\n\nexport type VerificationType = (typeof VERIFICATION)[keyof typeof VERIFICATION];\n\nexport const VERIFICATION_LABELS: Record<VerificationType, string> = {\n [VERIFICATION.DETERMINISTIC]: \"Deterministic\",\n [VERIFICATION.REQUESTER_CONFIRM]: \"RequesterConfirm\",\n [VERIFICATION.TIME_BOUND]: \"TimeBoundCompletion\",\n};\n\n// === Priority Tiers ===\nexport const PRIORITY = {\n STANDARD: 0,\n PRIORITY: 1,\n URGENT: 2,\n} as const;\n\nexport type PriorityTier = (typeof PRIORITY)[keyof typeof PRIORITY];\n\nexport const PRIORITY_LABELS: Record<PriorityTier, string> = {\n [PRIORITY.STANDARD]: \"Standard\",\n [PRIORITY.PRIORITY]: \"Priority\",\n [PRIORITY.URGENT]: \"Urgent\",\n};\n\n// === Protocol Constants ===\nexport const PROTOCOL = {\n FEE_BPS: 200, // 2%\n MIN_FEE_BPS: 50, // 0.5%\n MAX_FEE_BPS: 500, // 5%\n BPS_DENOMINATOR: 10_000,\n RESERVATION_DURATION_MS: 60_000, // 60 seconds\n FEE_CHANGE_TIMELOCK_MS: 604_800_000, // 7 days\n} as const;\n\n// === Priority Multipliers (default) ===\nexport const MULTIPLIERS = {\n STANDARD: 10_000, // 1.0x\n PRIORITY: 15_000, // 1.5x\n URGENT: 25_000, // 2.5x\n} as const;\n\n// === Badge Tiers ===\nexport const BADGE_TIER = {\n BRONZE: 0,\n SILVER: 1,\n GOLD: 2,\n} as const;\n\nexport type BadgeTier = (typeof BADGE_TIER)[keyof typeof BADGE_TIER];\n\n// === SUI (Native Token) ===\n// TaskNet uses native SUI for all payments\n// SUI has 9 decimals (1 SUI = 1_000_000_000 MIST)\nexport const SUI_TOKEN = {\n PACKAGE_ID: \"0x2\",\n MODULE: \"sui\",\n TYPE: \"SUI\",\n FULL_TYPE: \"0x2::sui::SUI\",\n DECIMALS: 9,\n MIST_PER_SUI: 1_000_000_000, // 10^9 - 1 SUI = 1_000_000_000 MIST\n MIN_PAYMENT: 1_000_000, // 0.001 SUI\n} as const;\n\n// Convenience re-exports (matching @mysten/sui/utils)\nexport const MIST_PER_SUI = BigInt(SUI_TOKEN.MIST_PER_SUI);\nexport const SUI_DECIMALS = SUI_TOKEN.DECIMALS;\n\n/**\n * Convert MIST to human-readable SUI amount\n * @param mist Raw MIST units (9 decimals)\n * @returns Formatted string with appropriate decimal places\n */\nexport function formatSui(mist: bigint | number | string): string {\n const value = typeof mist === 'bigint' ? mist : BigInt(mist);\n const whole = value / MIST_PER_SUI;\n const fraction = value % MIST_PER_SUI;\n const fractionStr = fraction.toString().padStart(9, '0').slice(0, 4);\n // Remove trailing zeros\n const trimmed = fractionStr.replace(/0+$/, '') || '0';\n return `${whole}.${trimmed} SUI`;\n}\n\n/**\n * Convert SUI amount to raw MIST\n * @param sui SUI amount (e.g., 1.5 for 1.5 SUI)\n * @returns Raw MIST as bigint\n */\nexport function parseSui(sui: number | string): bigint {\n const value = typeof sui === 'string' ? parseFloat(sui) : sui;\n return BigInt(Math.round(value * SUI_TOKEN.MIST_PER_SUI));\n}\n\n// === API ===\nexport const API_VERSION = \"0.3.0\";\n\n// === Networks ===\nexport const NETWORKS = {\n MAINNET: \"mainnet\",\n TESTNET: \"testnet\",\n DEVNET: \"devnet\",\n LOCALNET: \"localnet\",\n} as const;\n\nexport type Network = (typeof NETWORKS)[keyof typeof NETWORKS];\n\nexport const FULLNODE_URLS: Record<Network, string> = {\n mainnet: \"https://fullnode.mainnet.sui.io:443\",\n testnet: \"https://fullnode.testnet.sui.io:443\",\n devnet: \"https://fullnode.devnet.sui.io:443\",\n localnet: \"http://127.0.0.1:9000\",\n};\n"],"mappings":";AAIO,IAAM,SAAS;AAAA,EACpB,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,UAAU;AAAA,EACV,aAAa;AAAA,EACb,WAAW;AAAA,EACX,UAAU;AAAA,EACV,SAAS;AAAA,EACT,WAAW;AAAA,EACX,SAAS;AAAA,EACT,QAAQ;AACV;AAIO,IAAM,gBAA4C;AAAA,EACvD,CAAC,OAAO,MAAM,GAAG;AAAA,EACjB,CAAC,OAAO,QAAQ,GAAG;AAAA,EACnB,CAAC,OAAO,QAAQ,GAAG;AAAA,EACnB,CAAC,OAAO,WAAW,GAAG;AAAA,EACtB,CAAC,OAAO,SAAS,GAAG;AAAA,EACpB,CAAC,OAAO,QAAQ,GAAG;AAAA,EACnB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,SAAS,GAAG;AAAA,EACpB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,MAAM,GAAG;AACnB;AAGO,IAAM,eAAe;AAAA,EAC1B,eAAe;AAAA,EACf,mBAAmB;AAAA,EACnB,YAAY;AACd;AAIO,IAAM,sBAAwD;AAAA,EACnE,CAAC,aAAa,aAAa,GAAG;AAAA,EAC9B,CAAC,aAAa,iBAAiB,GAAG;AAAA,EAClC,CAAC,aAAa,UAAU,GAAG;AAC7B;AAGO,IAAM,WAAW;AAAA,EACtB,UAAU;AAAA,EACV,UAAU;AAAA,EACV,QAAQ;AACV;AAIO,IAAM,kBAAgD;AAAA,EAC3D,CAAC,SAAS,QAAQ,GAAG;AAAA,EACrB,CAAC,SAAS,QAAQ,GAAG;AAAA,EACrB,CAAC,SAAS,MAAM,GAAG;AACrB;AAGO,IAAM,WAAW;AAAA,EACtB,SAAS;AAAA;AAAA,EACT,aAAa;AAAA;AAAA,EACb,aAAa;AAAA;AAAA,EACb,iBAAiB;AAAA,EACjB,yBAAyB;AAAA;AAAA,EACzB,wBAAwB;AAAA;AAC1B;AAGO,IAAM,cAAc;AAAA,EACzB,UAAU;AAAA;AAAA,EACV,UAAU;AAAA;AAAA,EACV,QAAQ;AAAA;AACV;AAGO,IAAM,aAAa;AAAA,EACxB,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,MAAM;AACR;AAOO,IAAM,YAAY;AAAA,EACvB,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,WAAW;AAAA,EACX,UAAU;AAAA,EACV,cAAc;AAAA;AAAA,EACd,aAAa;AAAA;AACf;AAGO,IAAM,eAAe,OAAO,UAAU,YAAY;AAClD,IAAM,eAAe,UAAU;AAO/B,SAAS,UAAU,MAAwC;AAChE,QAAM,QAAQ,OAAO,SAAS,WAAW,OAAO,OAAO,IAAI;AAC3D,QAAM,QAAQ,QAAQ;AACtB,QAAM,WAAW,QAAQ;AACzB,QAAM,cAAc,SAAS,SAAS,EAAE,SAAS,GAAG,GAAG,EAAE,MAAM,GAAG,CAAC;AAEnE,QAAM,UAAU,YAAY,QAAQ,OAAO,EAAE,KAAK;AAClD,SAAO,GAAG,KAAK,IAAI,OAAO;AAC5B;AAOO,SAAS,SAAS,KAA8B;AACrD,QAAM,QAAQ,OAAO,QAAQ,WAAW,WAAW,GAAG,IAAI;AAC1D,SAAO,OAAO,KAAK,MAAM,QAAQ,UAAU,YAAY,CAAC;AAC1D;AAGO,IAAM,cAAc;AAGpB,IAAM,WAAW;AAAA,EACtB,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,UAAU;AACZ;AAIO,IAAM,gBAAyC;AAAA,EACpD,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,UAAU;AACZ;","names":[]}
|