@tasknet-protocol/shared 0.6.0 → 0.7.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 CHANGED
@@ -61,6 +61,20 @@ declare const CLAIM_STATUS: {
61
61
  };
62
62
  type ClaimStatus = (typeof CLAIM_STATUS)[keyof typeof CLAIM_STATUS];
63
63
  declare const CLAIM_STATUS_LABELS: Record<ClaimStatus, string>;
64
+ declare const PROPOSAL_STATUS: {
65
+ readonly PENDING: 0;
66
+ readonly ACCEPTED: 1;
67
+ readonly REJECTED: 2;
68
+ readonly WITHDRAWN: 3;
69
+ readonly EXPIRED: 4;
70
+ };
71
+ type ProposalStatus = (typeof PROPOSAL_STATUS)[keyof typeof PROPOSAL_STATUS];
72
+ declare const PROPOSAL_STATUS_LABELS: Record<ProposalStatus, string>;
73
+ declare const REFERRAL: {
74
+ readonly BONUS_RATE_BPS: 500;
75
+ readonly TRACKING_DAYS: 30;
76
+ readonly MIN_PAYOUT_MIST: 10000000;
77
+ };
64
78
  declare const SUI_TOKEN: {
65
79
  readonly PACKAGE_ID: "0x2";
66
80
  readonly MODULE: "sui";
@@ -295,4 +309,4 @@ interface WebhookPayload {
295
309
  signature: string;
296
310
  }
297
311
 
298
- export { API_VERSION, type Agent, type AgentStats, type ApiError, BADGE_TIER, type Badge, type BadgeTier, CLAIM_STATUS, CLAIM_STATUS_LABELS, CLAIM_TYPE, CLAIM_TYPE_LABELS, type Claim, type ClaimStatus, 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 };
312
+ export { API_VERSION, type Agent, type AgentStats, type ApiError, BADGE_TIER, type Badge, type BadgeTier, CLAIM_STATUS, CLAIM_STATUS_LABELS, CLAIM_TYPE, CLAIM_TYPE_LABELS, type Claim, type ClaimStatus, type ClaimType, type Composite, type CompositeStep, FULLNODE_URLS, MIST_PER_SUI, MULTIPLIERS, NETWORKS, type Network, PRIORITY, PRIORITY_LABELS, PROPOSAL_STATUS, PROPOSAL_STATUS_LABELS, PROTOCOL, type PaginatedResponse, type PriorityTier, type ProposalStatus, REFERRAL, 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
@@ -61,6 +61,20 @@ declare const CLAIM_STATUS: {
61
61
  };
62
62
  type ClaimStatus = (typeof CLAIM_STATUS)[keyof typeof CLAIM_STATUS];
63
63
  declare const CLAIM_STATUS_LABELS: Record<ClaimStatus, string>;
64
+ declare const PROPOSAL_STATUS: {
65
+ readonly PENDING: 0;
66
+ readonly ACCEPTED: 1;
67
+ readonly REJECTED: 2;
68
+ readonly WITHDRAWN: 3;
69
+ readonly EXPIRED: 4;
70
+ };
71
+ type ProposalStatus = (typeof PROPOSAL_STATUS)[keyof typeof PROPOSAL_STATUS];
72
+ declare const PROPOSAL_STATUS_LABELS: Record<ProposalStatus, string>;
73
+ declare const REFERRAL: {
74
+ readonly BONUS_RATE_BPS: 500;
75
+ readonly TRACKING_DAYS: 30;
76
+ readonly MIN_PAYOUT_MIST: 10000000;
77
+ };
64
78
  declare const SUI_TOKEN: {
65
79
  readonly PACKAGE_ID: "0x2";
66
80
  readonly MODULE: "sui";
@@ -295,4 +309,4 @@ interface WebhookPayload {
295
309
  signature: string;
296
310
  }
297
311
 
298
- export { API_VERSION, type Agent, type AgentStats, type ApiError, BADGE_TIER, type Badge, type BadgeTier, CLAIM_STATUS, CLAIM_STATUS_LABELS, CLAIM_TYPE, CLAIM_TYPE_LABELS, type Claim, type ClaimStatus, 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 };
312
+ export { API_VERSION, type Agent, type AgentStats, type ApiError, BADGE_TIER, type Badge, type BadgeTier, CLAIM_STATUS, CLAIM_STATUS_LABELS, CLAIM_TYPE, CLAIM_TYPE_LABELS, type Claim, type ClaimStatus, type ClaimType, type Composite, type CompositeStep, FULLNODE_URLS, MIST_PER_SUI, MULTIPLIERS, NETWORKS, type Network, PRIORITY, PRIORITY_LABELS, PROPOSAL_STATUS, PROPOSAL_STATUS_LABELS, PROTOCOL, type PaginatedResponse, type PriorityTier, type ProposalStatus, REFERRAL, 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
@@ -32,7 +32,10 @@ __export(index_exports, {
32
32
  NETWORKS: () => NETWORKS,
33
33
  PRIORITY: () => PRIORITY,
34
34
  PRIORITY_LABELS: () => PRIORITY_LABELS,
35
+ PROPOSAL_STATUS: () => PROPOSAL_STATUS,
36
+ PROPOSAL_STATUS_LABELS: () => PROPOSAL_STATUS_LABELS,
35
37
  PROTOCOL: () => PROTOCOL,
38
+ REFERRAL: () => REFERRAL,
36
39
  STATUS: () => STATUS,
37
40
  STATUS_LABELS: () => STATUS_LABELS,
38
41
  SUI_DECIMALS: () => SUI_DECIMALS,
@@ -139,6 +142,28 @@ var CLAIM_STATUS_LABELS = {
139
142
  [CLAIM_STATUS.VERIFIED]: "Verified",
140
143
  [CLAIM_STATUS.REVOKED]: "Revoked"
141
144
  };
145
+ var PROPOSAL_STATUS = {
146
+ PENDING: 0,
147
+ ACCEPTED: 1,
148
+ REJECTED: 2,
149
+ WITHDRAWN: 3,
150
+ EXPIRED: 4
151
+ };
152
+ var PROPOSAL_STATUS_LABELS = {
153
+ [PROPOSAL_STATUS.PENDING]: "Pending",
154
+ [PROPOSAL_STATUS.ACCEPTED]: "Accepted",
155
+ [PROPOSAL_STATUS.REJECTED]: "Rejected",
156
+ [PROPOSAL_STATUS.WITHDRAWN]: "Withdrawn",
157
+ [PROPOSAL_STATUS.EXPIRED]: "Expired"
158
+ };
159
+ var REFERRAL = {
160
+ BONUS_RATE_BPS: 500,
161
+ // 5% of referred agent's first 30 days earnings
162
+ TRACKING_DAYS: 30,
163
+ // Track earnings for 30 days after referral
164
+ MIN_PAYOUT_MIST: 1e7
165
+ // 0.01 SUI minimum to claim referral bonus
166
+ };
142
167
  var SUI_TOKEN = {
143
168
  PACKAGE_ID: "0x2",
144
169
  MODULE: "sui",
@@ -191,7 +216,10 @@ var FULLNODE_URLS = {
191
216
  NETWORKS,
192
217
  PRIORITY,
193
218
  PRIORITY_LABELS,
219
+ PROPOSAL_STATUS,
220
+ PROPOSAL_STATUS_LABELS,
194
221
  PROTOCOL,
222
+ REFERRAL,
195
223
  STATUS,
196
224
  STATUS_LABELS,
197
225
  SUI_DECIMALS,
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// === 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// === Claim Types (Off-Chain Identity Verification) ===\nexport const CLAIM_TYPE = {\n PENDING: 0,\n TWITTER: 1,\n MOLTBOOK: 2,\n GITHUB: 3,\n WALLET: 4,\n} as const;\n\nexport type ClaimType = (typeof CLAIM_TYPE)[keyof typeof CLAIM_TYPE];\n\nexport const CLAIM_TYPE_LABELS: Record<ClaimType, string> = {\n [CLAIM_TYPE.PENDING]: \"Pending\",\n [CLAIM_TYPE.TWITTER]: \"Twitter/X\",\n [CLAIM_TYPE.MOLTBOOK]: \"Moltbook\",\n [CLAIM_TYPE.GITHUB]: \"GitHub\",\n [CLAIM_TYPE.WALLET]: \"Wallet Signature\",\n};\n\n// === Claim Status ===\nexport const CLAIM_STATUS = {\n PENDING: 0,\n VERIFIED: 1,\n REVOKED: 2,\n} as const;\n\nexport type ClaimStatus = (typeof CLAIM_STATUS)[keyof typeof CLAIM_STATUS];\n\nexport const CLAIM_STATUS_LABELS: Record<ClaimStatus, string> = {\n [CLAIM_STATUS.PENDING]: \"Pending\",\n [CLAIM_STATUS.VERIFIED]: \"Verified\",\n [CLAIM_STATUS.REVOKED]: \"Revoked\",\n};\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":[]}
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// === Claim Types (Off-Chain Identity Verification) ===\nexport const CLAIM_TYPE = {\n PENDING: 0,\n TWITTER: 1,\n MOLTBOOK: 2,\n GITHUB: 3,\n WALLET: 4,\n} as const;\n\nexport type ClaimType = (typeof CLAIM_TYPE)[keyof typeof CLAIM_TYPE];\n\nexport const CLAIM_TYPE_LABELS: Record<ClaimType, string> = {\n [CLAIM_TYPE.PENDING]: \"Pending\",\n [CLAIM_TYPE.TWITTER]: \"Twitter/X\",\n [CLAIM_TYPE.MOLTBOOK]: \"Moltbook\",\n [CLAIM_TYPE.GITHUB]: \"GitHub\",\n [CLAIM_TYPE.WALLET]: \"Wallet Signature\",\n};\n\n// === Claim Status ===\nexport const CLAIM_STATUS = {\n PENDING: 0,\n VERIFIED: 1,\n REVOKED: 2,\n} as const;\n\nexport type ClaimStatus = (typeof CLAIM_STATUS)[keyof typeof CLAIM_STATUS];\n\nexport const CLAIM_STATUS_LABELS: Record<ClaimStatus, string> = {\n [CLAIM_STATUS.PENDING]: \"Pending\",\n [CLAIM_STATUS.VERIFIED]: \"Verified\",\n [CLAIM_STATUS.REVOKED]: \"Revoked\",\n};\n\n// === Proposal Status ===\nexport const PROPOSAL_STATUS = {\n PENDING: 0,\n ACCEPTED: 1,\n REJECTED: 2,\n WITHDRAWN: 3,\n EXPIRED: 4,\n} as const;\n\nexport type ProposalStatus = (typeof PROPOSAL_STATUS)[keyof typeof PROPOSAL_STATUS];\n\nexport const PROPOSAL_STATUS_LABELS: Record<ProposalStatus, string> = {\n [PROPOSAL_STATUS.PENDING]: \"Pending\",\n [PROPOSAL_STATUS.ACCEPTED]: \"Accepted\",\n [PROPOSAL_STATUS.REJECTED]: \"Rejected\",\n [PROPOSAL_STATUS.WITHDRAWN]: \"Withdrawn\",\n [PROPOSAL_STATUS.EXPIRED]: \"Expired\",\n};\n\n// === Referral ===\nexport const REFERRAL = {\n BONUS_RATE_BPS: 500, // 5% of referred agent's first 30 days earnings\n TRACKING_DAYS: 30, // Track earnings for 30 days after referral\n MIN_PAYOUT_MIST: 10_000_000, // 0.01 SUI minimum to claim referral bonus\n} as const;\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
@@ -93,6 +93,28 @@ var CLAIM_STATUS_LABELS = {
93
93
  [CLAIM_STATUS.VERIFIED]: "Verified",
94
94
  [CLAIM_STATUS.REVOKED]: "Revoked"
95
95
  };
96
+ var PROPOSAL_STATUS = {
97
+ PENDING: 0,
98
+ ACCEPTED: 1,
99
+ REJECTED: 2,
100
+ WITHDRAWN: 3,
101
+ EXPIRED: 4
102
+ };
103
+ var PROPOSAL_STATUS_LABELS = {
104
+ [PROPOSAL_STATUS.PENDING]: "Pending",
105
+ [PROPOSAL_STATUS.ACCEPTED]: "Accepted",
106
+ [PROPOSAL_STATUS.REJECTED]: "Rejected",
107
+ [PROPOSAL_STATUS.WITHDRAWN]: "Withdrawn",
108
+ [PROPOSAL_STATUS.EXPIRED]: "Expired"
109
+ };
110
+ var REFERRAL = {
111
+ BONUS_RATE_BPS: 500,
112
+ // 5% of referred agent's first 30 days earnings
113
+ TRACKING_DAYS: 30,
114
+ // Track earnings for 30 days after referral
115
+ MIN_PAYOUT_MIST: 1e7
116
+ // 0.01 SUI minimum to claim referral bonus
117
+ };
96
118
  var SUI_TOKEN = {
97
119
  PACKAGE_ID: "0x2",
98
120
  MODULE: "sui",
@@ -144,7 +166,10 @@ export {
144
166
  NETWORKS,
145
167
  PRIORITY,
146
168
  PRIORITY_LABELS,
169
+ PROPOSAL_STATUS,
170
+ PROPOSAL_STATUS_LABELS,
147
171
  PROTOCOL,
172
+ REFERRAL,
148
173
  STATUS,
149
174
  STATUS_LABELS,
150
175
  SUI_DECIMALS,
@@ -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// === 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// === Claim Types (Off-Chain Identity Verification) ===\nexport const CLAIM_TYPE = {\n PENDING: 0,\n TWITTER: 1,\n MOLTBOOK: 2,\n GITHUB: 3,\n WALLET: 4,\n} as const;\n\nexport type ClaimType = (typeof CLAIM_TYPE)[keyof typeof CLAIM_TYPE];\n\nexport const CLAIM_TYPE_LABELS: Record<ClaimType, string> = {\n [CLAIM_TYPE.PENDING]: \"Pending\",\n [CLAIM_TYPE.TWITTER]: \"Twitter/X\",\n [CLAIM_TYPE.MOLTBOOK]: \"Moltbook\",\n [CLAIM_TYPE.GITHUB]: \"GitHub\",\n [CLAIM_TYPE.WALLET]: \"Wallet Signature\",\n};\n\n// === Claim Status ===\nexport const CLAIM_STATUS = {\n PENDING: 0,\n VERIFIED: 1,\n REVOKED: 2,\n} as const;\n\nexport type ClaimStatus = (typeof CLAIM_STATUS)[keyof typeof CLAIM_STATUS];\n\nexport const CLAIM_STATUS_LABELS: Record<ClaimStatus, string> = {\n [CLAIM_STATUS.PENDING]: \"Pending\",\n [CLAIM_STATUS.VERIFIED]: \"Verified\",\n [CLAIM_STATUS.REVOKED]: \"Revoked\",\n};\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":[]}
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// === Claim Types (Off-Chain Identity Verification) ===\nexport const CLAIM_TYPE = {\n PENDING: 0,\n TWITTER: 1,\n MOLTBOOK: 2,\n GITHUB: 3,\n WALLET: 4,\n} as const;\n\nexport type ClaimType = (typeof CLAIM_TYPE)[keyof typeof CLAIM_TYPE];\n\nexport const CLAIM_TYPE_LABELS: Record<ClaimType, string> = {\n [CLAIM_TYPE.PENDING]: \"Pending\",\n [CLAIM_TYPE.TWITTER]: \"Twitter/X\",\n [CLAIM_TYPE.MOLTBOOK]: \"Moltbook\",\n [CLAIM_TYPE.GITHUB]: \"GitHub\",\n [CLAIM_TYPE.WALLET]: \"Wallet Signature\",\n};\n\n// === Claim Status ===\nexport const CLAIM_STATUS = {\n PENDING: 0,\n VERIFIED: 1,\n REVOKED: 2,\n} as const;\n\nexport type ClaimStatus = (typeof CLAIM_STATUS)[keyof typeof CLAIM_STATUS];\n\nexport const CLAIM_STATUS_LABELS: Record<ClaimStatus, string> = {\n [CLAIM_STATUS.PENDING]: \"Pending\",\n [CLAIM_STATUS.VERIFIED]: \"Verified\",\n [CLAIM_STATUS.REVOKED]: \"Revoked\",\n};\n\n// === Proposal Status ===\nexport const PROPOSAL_STATUS = {\n PENDING: 0,\n ACCEPTED: 1,\n REJECTED: 2,\n WITHDRAWN: 3,\n EXPIRED: 4,\n} as const;\n\nexport type ProposalStatus = (typeof PROPOSAL_STATUS)[keyof typeof PROPOSAL_STATUS];\n\nexport const PROPOSAL_STATUS_LABELS: Record<ProposalStatus, string> = {\n [PROPOSAL_STATUS.PENDING]: \"Pending\",\n [PROPOSAL_STATUS.ACCEPTED]: \"Accepted\",\n [PROPOSAL_STATUS.REJECTED]: \"Rejected\",\n [PROPOSAL_STATUS.WITHDRAWN]: \"Withdrawn\",\n [PROPOSAL_STATUS.EXPIRED]: \"Expired\",\n};\n\n// === Referral ===\nexport const REFERRAL = {\n BONUS_RATE_BPS: 500, // 5% of referred agent's first 30 days earnings\n TRACKING_DAYS: 30, // Track earnings for 30 days after referral\n MIN_PAYOUT_MIST: 10_000_000, // 0.01 SUI minimum to claim referral bonus\n} as const;\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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tasknet-protocol/shared",
3
- "version": "0.6.0",
3
+ "version": "0.7.0",
4
4
  "description": "Shared types and constants for TaskNet Protocol",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",