@tasknet-protocol/shared 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +31 -9
- package/dist/index.d.ts +31 -9
- package/dist/index.js +38 -6
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +32 -4
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -54,8 +54,30 @@ declare const BADGE_TIER: {
|
|
|
54
54
|
readonly GOLD: 2;
|
|
55
55
|
};
|
|
56
56
|
type BadgeTier = (typeof BADGE_TIER)[keyof typeof BADGE_TIER];
|
|
57
|
-
declare const
|
|
58
|
-
|
|
57
|
+
declare const SUI_TOKEN: {
|
|
58
|
+
readonly PACKAGE_ID: "0x2";
|
|
59
|
+
readonly MODULE: "sui";
|
|
60
|
+
readonly TYPE: "SUI";
|
|
61
|
+
readonly FULL_TYPE: "0x2::sui::SUI";
|
|
62
|
+
readonly DECIMALS: 9;
|
|
63
|
+
readonly MIST_PER_SUI: 1000000000;
|
|
64
|
+
readonly MIN_PAYMENT: 1000000;
|
|
65
|
+
};
|
|
66
|
+
declare const MIST_PER_SUI: bigint;
|
|
67
|
+
declare const SUI_DECIMALS: 9;
|
|
68
|
+
/**
|
|
69
|
+
* Convert MIST to human-readable SUI amount
|
|
70
|
+
* @param mist Raw MIST units (9 decimals)
|
|
71
|
+
* @returns Formatted string with appropriate decimal places
|
|
72
|
+
*/
|
|
73
|
+
declare function formatSui(mist: bigint | number | string): string;
|
|
74
|
+
/**
|
|
75
|
+
* Convert SUI amount to raw MIST
|
|
76
|
+
* @param sui SUI amount (e.g., 1.5 for 1.5 SUI)
|
|
77
|
+
* @returns Raw MIST as bigint
|
|
78
|
+
*/
|
|
79
|
+
declare function parseSui(sui: number | string): bigint;
|
|
80
|
+
declare const API_VERSION = "0.3.0";
|
|
59
81
|
declare const NETWORKS: {
|
|
60
82
|
readonly MAINNET: "mainnet";
|
|
61
83
|
readonly TESTNET: "testnet";
|
|
@@ -76,13 +98,13 @@ interface AgentStats {
|
|
|
76
98
|
workerTasksCompleted: number;
|
|
77
99
|
workerTasksFailed: number;
|
|
78
100
|
workerTasksExpired: number;
|
|
79
|
-
|
|
101
|
+
workerTotalEarnedMist: bigint;
|
|
80
102
|
workerAvgCompletionSecs?: number;
|
|
81
103
|
requesterTasksPosted: number;
|
|
82
104
|
requesterTasksSettled: number;
|
|
83
105
|
requesterTasksCancelled: number;
|
|
84
106
|
requesterTasksRejected: number;
|
|
85
|
-
|
|
107
|
+
requesterTotalSpentMist: bigint;
|
|
86
108
|
completionRate?: number;
|
|
87
109
|
onTimeRate?: number;
|
|
88
110
|
rejectionRate?: number;
|
|
@@ -98,8 +120,8 @@ interface Skill {
|
|
|
98
120
|
inputSchemaHash?: string;
|
|
99
121
|
outputSchemaHash?: string;
|
|
100
122
|
verificationType: VerificationType;
|
|
101
|
-
|
|
102
|
-
|
|
123
|
+
basePriceMist: bigint;
|
|
124
|
+
workerBondMist: bigint;
|
|
103
125
|
timeoutSeconds: number;
|
|
104
126
|
priorityMultipliers: [number, number, number];
|
|
105
127
|
metadataUri?: string;
|
|
@@ -127,7 +149,7 @@ interface Task {
|
|
|
127
149
|
expectedOutputHash?: string;
|
|
128
150
|
outputRef?: string;
|
|
129
151
|
outputHash?: string;
|
|
130
|
-
|
|
152
|
+
paymentAmountMist: bigint;
|
|
131
153
|
workerBondAmount: bigint;
|
|
132
154
|
priorityTier: PriorityTier;
|
|
133
155
|
verificationType: VerificationType;
|
|
@@ -189,7 +211,7 @@ interface TaskTemplate {
|
|
|
189
211
|
name: string;
|
|
190
212
|
skillId: string;
|
|
191
213
|
skillVersion: string;
|
|
192
|
-
|
|
214
|
+
defaultPaymentMist: bigint;
|
|
193
215
|
defaultTimeoutSeconds: number;
|
|
194
216
|
defaultPriorityTier: PriorityTier;
|
|
195
217
|
inputSchema?: object;
|
|
@@ -263,4 +285,4 @@ interface WebhookPayload {
|
|
|
263
285
|
signature: string;
|
|
264
286
|
}
|
|
265
287
|
|
|
266
|
-
export { API_VERSION, type Agent, type AgentStats, type ApiError, BADGE_TIER, type Badge, type BadgeTier, CLAIM, CLAIM_LABELS, type Claim, type ClaimType, type Composite, type CompositeStep, FULLNODE_URLS, MULTIPLIERS, NETWORKS, type Network, PRIORITY, PRIORITY_LABELS, PROTOCOL, type PaginatedResponse, type PriorityTier, STATUS, STATUS_LABELS, type Skill, type SkillCertification, type SkillMetadata, type Task, type TaskEvent, type TaskInput, type TaskOutput, type TaskStatus, type TaskTemplate,
|
|
288
|
+
export { API_VERSION, type Agent, type AgentStats, type ApiError, BADGE_TIER, type Badge, type BadgeTier, CLAIM, CLAIM_LABELS, type Claim, type ClaimType, 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
|
@@ -54,8 +54,30 @@ declare const BADGE_TIER: {
|
|
|
54
54
|
readonly GOLD: 2;
|
|
55
55
|
};
|
|
56
56
|
type BadgeTier = (typeof BADGE_TIER)[keyof typeof BADGE_TIER];
|
|
57
|
-
declare const
|
|
58
|
-
|
|
57
|
+
declare const SUI_TOKEN: {
|
|
58
|
+
readonly PACKAGE_ID: "0x2";
|
|
59
|
+
readonly MODULE: "sui";
|
|
60
|
+
readonly TYPE: "SUI";
|
|
61
|
+
readonly FULL_TYPE: "0x2::sui::SUI";
|
|
62
|
+
readonly DECIMALS: 9;
|
|
63
|
+
readonly MIST_PER_SUI: 1000000000;
|
|
64
|
+
readonly MIN_PAYMENT: 1000000;
|
|
65
|
+
};
|
|
66
|
+
declare const MIST_PER_SUI: bigint;
|
|
67
|
+
declare const SUI_DECIMALS: 9;
|
|
68
|
+
/**
|
|
69
|
+
* Convert MIST to human-readable SUI amount
|
|
70
|
+
* @param mist Raw MIST units (9 decimals)
|
|
71
|
+
* @returns Formatted string with appropriate decimal places
|
|
72
|
+
*/
|
|
73
|
+
declare function formatSui(mist: bigint | number | string): string;
|
|
74
|
+
/**
|
|
75
|
+
* Convert SUI amount to raw MIST
|
|
76
|
+
* @param sui SUI amount (e.g., 1.5 for 1.5 SUI)
|
|
77
|
+
* @returns Raw MIST as bigint
|
|
78
|
+
*/
|
|
79
|
+
declare function parseSui(sui: number | string): bigint;
|
|
80
|
+
declare const API_VERSION = "0.3.0";
|
|
59
81
|
declare const NETWORKS: {
|
|
60
82
|
readonly MAINNET: "mainnet";
|
|
61
83
|
readonly TESTNET: "testnet";
|
|
@@ -76,13 +98,13 @@ interface AgentStats {
|
|
|
76
98
|
workerTasksCompleted: number;
|
|
77
99
|
workerTasksFailed: number;
|
|
78
100
|
workerTasksExpired: number;
|
|
79
|
-
|
|
101
|
+
workerTotalEarnedMist: bigint;
|
|
80
102
|
workerAvgCompletionSecs?: number;
|
|
81
103
|
requesterTasksPosted: number;
|
|
82
104
|
requesterTasksSettled: number;
|
|
83
105
|
requesterTasksCancelled: number;
|
|
84
106
|
requesterTasksRejected: number;
|
|
85
|
-
|
|
107
|
+
requesterTotalSpentMist: bigint;
|
|
86
108
|
completionRate?: number;
|
|
87
109
|
onTimeRate?: number;
|
|
88
110
|
rejectionRate?: number;
|
|
@@ -98,8 +120,8 @@ interface Skill {
|
|
|
98
120
|
inputSchemaHash?: string;
|
|
99
121
|
outputSchemaHash?: string;
|
|
100
122
|
verificationType: VerificationType;
|
|
101
|
-
|
|
102
|
-
|
|
123
|
+
basePriceMist: bigint;
|
|
124
|
+
workerBondMist: bigint;
|
|
103
125
|
timeoutSeconds: number;
|
|
104
126
|
priorityMultipliers: [number, number, number];
|
|
105
127
|
metadataUri?: string;
|
|
@@ -127,7 +149,7 @@ interface Task {
|
|
|
127
149
|
expectedOutputHash?: string;
|
|
128
150
|
outputRef?: string;
|
|
129
151
|
outputHash?: string;
|
|
130
|
-
|
|
152
|
+
paymentAmountMist: bigint;
|
|
131
153
|
workerBondAmount: bigint;
|
|
132
154
|
priorityTier: PriorityTier;
|
|
133
155
|
verificationType: VerificationType;
|
|
@@ -189,7 +211,7 @@ interface TaskTemplate {
|
|
|
189
211
|
name: string;
|
|
190
212
|
skillId: string;
|
|
191
213
|
skillVersion: string;
|
|
192
|
-
|
|
214
|
+
defaultPaymentMist: bigint;
|
|
193
215
|
defaultTimeoutSeconds: number;
|
|
194
216
|
defaultPriorityTier: PriorityTier;
|
|
195
217
|
inputSchema?: object;
|
|
@@ -263,4 +285,4 @@ interface WebhookPayload {
|
|
|
263
285
|
signature: string;
|
|
264
286
|
}
|
|
265
287
|
|
|
266
|
-
export { API_VERSION, type Agent, type AgentStats, type ApiError, BADGE_TIER, type Badge, type BadgeTier, CLAIM, CLAIM_LABELS, type Claim, type ClaimType, type Composite, type CompositeStep, FULLNODE_URLS, MULTIPLIERS, NETWORKS, type Network, PRIORITY, PRIORITY_LABELS, PROTOCOL, type PaginatedResponse, type PriorityTier, STATUS, STATUS_LABELS, type Skill, type SkillCertification, type SkillMetadata, type Task, type TaskEvent, type TaskInput, type TaskOutput, type TaskStatus, type TaskTemplate,
|
|
288
|
+
export { API_VERSION, type Agent, type AgentStats, type ApiError, BADGE_TIER, type Badge, type BadgeTier, CLAIM, CLAIM_LABELS, type Claim, type ClaimType, 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
|
@@ -25,6 +25,7 @@ __export(index_exports, {
|
|
|
25
25
|
CLAIM: () => CLAIM,
|
|
26
26
|
CLAIM_LABELS: () => CLAIM_LABELS,
|
|
27
27
|
FULLNODE_URLS: () => FULLNODE_URLS,
|
|
28
|
+
MIST_PER_SUI: () => MIST_PER_SUI,
|
|
28
29
|
MULTIPLIERS: () => MULTIPLIERS,
|
|
29
30
|
NETWORKS: () => NETWORKS,
|
|
30
31
|
PRIORITY: () => PRIORITY,
|
|
@@ -32,9 +33,12 @@ __export(index_exports, {
|
|
|
32
33
|
PROTOCOL: () => PROTOCOL,
|
|
33
34
|
STATUS: () => STATUS,
|
|
34
35
|
STATUS_LABELS: () => STATUS_LABELS,
|
|
35
|
-
|
|
36
|
+
SUI_DECIMALS: () => SUI_DECIMALS,
|
|
37
|
+
SUI_TOKEN: () => SUI_TOKEN,
|
|
36
38
|
VERIFICATION: () => VERIFICATION,
|
|
37
|
-
VERIFICATION_LABELS: () => VERIFICATION_LABELS
|
|
39
|
+
VERIFICATION_LABELS: () => VERIFICATION_LABELS,
|
|
40
|
+
formatSui: () => formatSui,
|
|
41
|
+
parseSui: () => parseSui
|
|
38
42
|
});
|
|
39
43
|
module.exports = __toCommonJS(index_exports);
|
|
40
44
|
|
|
@@ -123,8 +127,32 @@ var BADGE_TIER = {
|
|
|
123
127
|
SILVER: 1,
|
|
124
128
|
GOLD: 2
|
|
125
129
|
};
|
|
126
|
-
var
|
|
127
|
-
|
|
130
|
+
var SUI_TOKEN = {
|
|
131
|
+
PACKAGE_ID: "0x2",
|
|
132
|
+
MODULE: "sui",
|
|
133
|
+
TYPE: "SUI",
|
|
134
|
+
FULL_TYPE: "0x2::sui::SUI",
|
|
135
|
+
DECIMALS: 9,
|
|
136
|
+
MIST_PER_SUI: 1e9,
|
|
137
|
+
// 10^9 - 1 SUI = 1_000_000_000 MIST
|
|
138
|
+
MIN_PAYMENT: 1e6
|
|
139
|
+
// 0.001 SUI
|
|
140
|
+
};
|
|
141
|
+
var MIST_PER_SUI = BigInt(SUI_TOKEN.MIST_PER_SUI);
|
|
142
|
+
var SUI_DECIMALS = SUI_TOKEN.DECIMALS;
|
|
143
|
+
function formatSui(mist) {
|
|
144
|
+
const value = typeof mist === "bigint" ? mist : BigInt(mist);
|
|
145
|
+
const whole = value / MIST_PER_SUI;
|
|
146
|
+
const fraction = value % MIST_PER_SUI;
|
|
147
|
+
const fractionStr = fraction.toString().padStart(9, "0").slice(0, 4);
|
|
148
|
+
const trimmed = fractionStr.replace(/0+$/, "") || "0";
|
|
149
|
+
return `${whole}.${trimmed} SUI`;
|
|
150
|
+
}
|
|
151
|
+
function parseSui(sui) {
|
|
152
|
+
const value = typeof sui === "string" ? parseFloat(sui) : sui;
|
|
153
|
+
return BigInt(Math.round(value * SUI_TOKEN.MIST_PER_SUI));
|
|
154
|
+
}
|
|
155
|
+
var API_VERSION = "0.3.0";
|
|
128
156
|
var NETWORKS = {
|
|
129
157
|
MAINNET: "mainnet",
|
|
130
158
|
TESTNET: "testnet",
|
|
@@ -144,6 +172,7 @@ var FULLNODE_URLS = {
|
|
|
144
172
|
CLAIM,
|
|
145
173
|
CLAIM_LABELS,
|
|
146
174
|
FULLNODE_URLS,
|
|
175
|
+
MIST_PER_SUI,
|
|
147
176
|
MULTIPLIERS,
|
|
148
177
|
NETWORKS,
|
|
149
178
|
PRIORITY,
|
|
@@ -151,8 +180,11 @@ var FULLNODE_URLS = {
|
|
|
151
180
|
PROTOCOL,
|
|
152
181
|
STATUS,
|
|
153
182
|
STATUS_LABELS,
|
|
154
|
-
|
|
183
|
+
SUI_DECIMALS,
|
|
184
|
+
SUI_TOKEN,
|
|
155
185
|
VERIFICATION,
|
|
156
|
-
VERIFICATION_LABELS
|
|
186
|
+
VERIFICATION_LABELS,
|
|
187
|
+
formatSui,
|
|
188
|
+
parseSui
|
|
157
189
|
});
|
|
158
190
|
//# sourceMappingURL=index.js.map
|
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// === Claim Types ===\nexport const CLAIM = {\n PENDING: 0,\n X_VERIFIED: 1,\n MOLTBOOK_VERIFIED: 2,\n GITHUB_VERIFIED: 3,\n WALLET_SIGNED: 4,\n} as const;\n\nexport type ClaimType = (typeof CLAIM)[keyof typeof CLAIM];\n\nexport const CLAIM_LABELS: Record<ClaimType, string> = {\n [CLAIM.PENDING]: \"Pending\",\n [CLAIM.X_VERIFIED]: \"X\",\n [CLAIM.MOLTBOOK_VERIFIED]: \"Moltbook\",\n [CLAIM.GITHUB_VERIFIED]: \"GitHub\",\n [CLAIM.WALLET_SIGNED]: \"WalletSigned\",\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// ===
|
|
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// === Claim Types ===\nexport const CLAIM = {\n PENDING: 0,\n X_VERIFIED: 1,\n MOLTBOOK_VERIFIED: 2,\n GITHUB_VERIFIED: 3,\n WALLET_SIGNED: 4,\n} as const;\n\nexport type ClaimType = (typeof CLAIM)[keyof typeof CLAIM];\n\nexport const CLAIM_LABELS: Record<ClaimType, string> = {\n [CLAIM.PENDING]: \"Pending\",\n [CLAIM.X_VERIFIED]: \"X\",\n [CLAIM.MOLTBOOK_VERIFIED]: \"Moltbook\",\n [CLAIM.GITHUB_VERIFIED]: \"GitHub\",\n [CLAIM.WALLET_SIGNED]: \"WalletSigned\",\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":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACIO,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,QAAQ;AAAA,EACnB,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,mBAAmB;AAAA,EACnB,iBAAiB;AAAA,EACjB,eAAe;AACjB;AAIO,IAAM,eAA0C;AAAA,EACrD,CAAC,MAAM,OAAO,GAAG;AAAA,EACjB,CAAC,MAAM,UAAU,GAAG;AAAA,EACpB,CAAC,MAAM,iBAAiB,GAAG;AAAA,EAC3B,CAAC,MAAM,eAAe,GAAG;AAAA,EACzB,CAAC,MAAM,aAAa,GAAG;AACzB;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":[]}
|
package/dist/index.mjs
CHANGED
|
@@ -83,8 +83,32 @@ var BADGE_TIER = {
|
|
|
83
83
|
SILVER: 1,
|
|
84
84
|
GOLD: 2
|
|
85
85
|
};
|
|
86
|
-
var
|
|
87
|
-
|
|
86
|
+
var SUI_TOKEN = {
|
|
87
|
+
PACKAGE_ID: "0x2",
|
|
88
|
+
MODULE: "sui",
|
|
89
|
+
TYPE: "SUI",
|
|
90
|
+
FULL_TYPE: "0x2::sui::SUI",
|
|
91
|
+
DECIMALS: 9,
|
|
92
|
+
MIST_PER_SUI: 1e9,
|
|
93
|
+
// 10^9 - 1 SUI = 1_000_000_000 MIST
|
|
94
|
+
MIN_PAYMENT: 1e6
|
|
95
|
+
// 0.001 SUI
|
|
96
|
+
};
|
|
97
|
+
var MIST_PER_SUI = BigInt(SUI_TOKEN.MIST_PER_SUI);
|
|
98
|
+
var SUI_DECIMALS = SUI_TOKEN.DECIMALS;
|
|
99
|
+
function formatSui(mist) {
|
|
100
|
+
const value = typeof mist === "bigint" ? mist : BigInt(mist);
|
|
101
|
+
const whole = value / MIST_PER_SUI;
|
|
102
|
+
const fraction = value % MIST_PER_SUI;
|
|
103
|
+
const fractionStr = fraction.toString().padStart(9, "0").slice(0, 4);
|
|
104
|
+
const trimmed = fractionStr.replace(/0+$/, "") || "0";
|
|
105
|
+
return `${whole}.${trimmed} SUI`;
|
|
106
|
+
}
|
|
107
|
+
function parseSui(sui) {
|
|
108
|
+
const value = typeof sui === "string" ? parseFloat(sui) : sui;
|
|
109
|
+
return BigInt(Math.round(value * SUI_TOKEN.MIST_PER_SUI));
|
|
110
|
+
}
|
|
111
|
+
var API_VERSION = "0.3.0";
|
|
88
112
|
var NETWORKS = {
|
|
89
113
|
MAINNET: "mainnet",
|
|
90
114
|
TESTNET: "testnet",
|
|
@@ -103,6 +127,7 @@ export {
|
|
|
103
127
|
CLAIM,
|
|
104
128
|
CLAIM_LABELS,
|
|
105
129
|
FULLNODE_URLS,
|
|
130
|
+
MIST_PER_SUI,
|
|
106
131
|
MULTIPLIERS,
|
|
107
132
|
NETWORKS,
|
|
108
133
|
PRIORITY,
|
|
@@ -110,8 +135,11 @@ export {
|
|
|
110
135
|
PROTOCOL,
|
|
111
136
|
STATUS,
|
|
112
137
|
STATUS_LABELS,
|
|
113
|
-
|
|
138
|
+
SUI_DECIMALS,
|
|
139
|
+
SUI_TOKEN,
|
|
114
140
|
VERIFICATION,
|
|
115
|
-
VERIFICATION_LABELS
|
|
141
|
+
VERIFICATION_LABELS,
|
|
142
|
+
formatSui,
|
|
143
|
+
parseSui
|
|
116
144
|
};
|
|
117
145
|
//# sourceMappingURL=index.mjs.map
|
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// === Claim Types ===\nexport const CLAIM = {\n PENDING: 0,\n X_VERIFIED: 1,\n MOLTBOOK_VERIFIED: 2,\n GITHUB_VERIFIED: 3,\n WALLET_SIGNED: 4,\n} as const;\n\nexport type ClaimType = (typeof CLAIM)[keyof typeof CLAIM];\n\nexport const CLAIM_LABELS: Record<ClaimType, string> = {\n [CLAIM.PENDING]: \"Pending\",\n [CLAIM.X_VERIFIED]: \"X\",\n [CLAIM.MOLTBOOK_VERIFIED]: \"Moltbook\",\n [CLAIM.GITHUB_VERIFIED]: \"GitHub\",\n [CLAIM.WALLET_SIGNED]: \"WalletSigned\",\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// ===
|
|
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// === Claim Types ===\nexport const CLAIM = {\n PENDING: 0,\n X_VERIFIED: 1,\n MOLTBOOK_VERIFIED: 2,\n GITHUB_VERIFIED: 3,\n WALLET_SIGNED: 4,\n} as const;\n\nexport type ClaimType = (typeof CLAIM)[keyof typeof CLAIM];\n\nexport const CLAIM_LABELS: Record<ClaimType, string> = {\n [CLAIM.PENDING]: \"Pending\",\n [CLAIM.X_VERIFIED]: \"X\",\n [CLAIM.MOLTBOOK_VERIFIED]: \"Moltbook\",\n [CLAIM.GITHUB_VERIFIED]: \"GitHub\",\n [CLAIM.WALLET_SIGNED]: \"WalletSigned\",\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":[]}
|