pepay-streams-sdk 0.1.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.
Files changed (62) hide show
  1. package/README.md +405 -0
  2. package/dist/api/index.d.mts +321 -0
  3. package/dist/api/index.d.ts +321 -0
  4. package/dist/api/index.js +312 -0
  5. package/dist/api/index.js.map +1 -0
  6. package/dist/api/index.mjs +306 -0
  7. package/dist/api/index.mjs.map +1 -0
  8. package/dist/automation/index.d.mts +140 -0
  9. package/dist/automation/index.d.ts +140 -0
  10. package/dist/automation/index.js +331 -0
  11. package/dist/automation/index.js.map +1 -0
  12. package/dist/automation/index.mjs +326 -0
  13. package/dist/automation/index.mjs.map +1 -0
  14. package/dist/campaigns/index.d.mts +286 -0
  15. package/dist/campaigns/index.d.ts +286 -0
  16. package/dist/campaigns/index.js +652 -0
  17. package/dist/campaigns/index.js.map +1 -0
  18. package/dist/campaigns/index.mjs +645 -0
  19. package/dist/campaigns/index.mjs.map +1 -0
  20. package/dist/claims/index.d.mts +190 -0
  21. package/dist/claims/index.d.ts +190 -0
  22. package/dist/claims/index.js +414 -0
  23. package/dist/claims/index.js.map +1 -0
  24. package/dist/claims/index.mjs +409 -0
  25. package/dist/claims/index.mjs.map +1 -0
  26. package/dist/index-BTG0TRJt.d.mts +555 -0
  27. package/dist/index-BTG0TRJt.d.ts +555 -0
  28. package/dist/index.d.mts +170 -0
  29. package/dist/index.d.ts +170 -0
  30. package/dist/index.js +2926 -0
  31. package/dist/index.js.map +1 -0
  32. package/dist/index.mjs +2888 -0
  33. package/dist/index.mjs.map +1 -0
  34. package/dist/marketplace/index.d.mts +225 -0
  35. package/dist/marketplace/index.d.ts +225 -0
  36. package/dist/marketplace/index.js +529 -0
  37. package/dist/marketplace/index.js.map +1 -0
  38. package/dist/marketplace/index.mjs +524 -0
  39. package/dist/marketplace/index.mjs.map +1 -0
  40. package/dist/react/index.d.mts +185 -0
  41. package/dist/react/index.d.ts +185 -0
  42. package/dist/react/index.js +340 -0
  43. package/dist/react/index.js.map +1 -0
  44. package/dist/react/index.mjs +333 -0
  45. package/dist/react/index.mjs.map +1 -0
  46. package/dist/staking/index.d.mts +158 -0
  47. package/dist/staking/index.d.ts +158 -0
  48. package/dist/staking/index.js +359 -0
  49. package/dist/staking/index.js.map +1 -0
  50. package/dist/staking/index.mjs +354 -0
  51. package/dist/staking/index.mjs.map +1 -0
  52. package/package.json +106 -0
  53. package/src/api/index.ts +577 -0
  54. package/src/automation/index.ts +436 -0
  55. package/src/campaigns/index.ts +835 -0
  56. package/src/claims/index.ts +530 -0
  57. package/src/client.ts +518 -0
  58. package/src/index.ts +101 -0
  59. package/src/marketplace/index.ts +730 -0
  60. package/src/react/index.ts +498 -0
  61. package/src/staking/index.ts +449 -0
  62. package/src/types/index.ts +631 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/campaigns/index.ts"],"names":["CampaignKind","ChangePolicy"],"mappings":"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","file":"index.mjs","sourcesContent":["/**\r\n * Campaign Creation Module\r\n *\r\n * Provides methods for creating all campaign types:\r\n * - Instant Airdrops (Kind.INSTANT = 0)\r\n * - Vested Airdrops (Kind.VESTED = 1)\r\n * - Token Locks (Kind.LOCK = 2)\r\n * - Vesting Streams (Kind.VESTING = 3)\r\n */\r\nimport {\r\n type PublicClient,\r\n type WalletClient,\r\n type Address,\r\n type Hash,\r\n type Hex,\r\n zeroAddress,\r\n} from 'viem';\r\nimport { DIAMOND_ABI } from '@pepay-streams/abi/diamond';\r\nimport type {\r\n InstantAirdropParams,\r\n VestedAirdropParams,\r\n LockParams,\r\n VestingParams,\r\n CampaignInfo,\r\n TransactionResult,\r\n} from '../types';\r\n\r\n/**\r\n * Campaign Kind enum matching the contract\r\n */\r\nexport enum CampaignKind {\r\n INSTANT = 0,\r\n VESTED = 1,\r\n LOCK = 2,\r\n VESTING = 3,\r\n}\r\n\r\n/**\r\n * Change policy enum matching the contract\r\n */\r\nexport enum ChangePolicy {\r\n ONLY_RECIPIENT = 0,\r\n ONLY_CREATOR = 1,\r\n BOTH = 2,\r\n NO_ONE = 3,\r\n}\r\n\r\n/**\r\n * CreateArgs struct matching the contract\r\n */\r\ninterface CreateArgs {\r\n kind: number;\r\n token: Address;\r\n start: bigint;\r\n end: bigint;\r\n step: bigint;\r\n cliffReleaseTime: bigint;\r\n cliffBps: number;\r\n autoClaimIncentiveBps: number;\r\n cancelable: boolean;\r\n claimOnce: boolean;\r\n changePolicy: number;\r\n claimGrace: bigint;\r\n recipients: Address[];\r\n amounts: bigint[];\r\n feeBuffer: bigint;\r\n attachDefaultRegistry: boolean;\r\n unwrapWETH: boolean;\r\n weth: Address;\r\n}\r\n\r\n/**\r\n * Campaigns module for creating and managing token distribution campaigns\r\n */\r\nexport class CampaignsModule {\r\n constructor(\r\n private readonly publicClient: PublicClient,\r\n private readonly walletClient: WalletClient | undefined,\r\n private readonly diamondAddress: Address\r\n ) {}\r\n\r\n // ============================================================================\r\n // Campaign Creation\r\n // ============================================================================\r\n\r\n /**\r\n * Create an Instant Airdrop campaign\r\n *\r\n * Tokens are immediately claimable by recipients after funding.\r\n *\r\n * @example\r\n * ```typescript\r\n * const result = await sdk.campaigns.createInstantAirdrop({\r\n * token: '0x...',\r\n * recipients: [\r\n * { address: '0x...', amount: parseEther('100') },\r\n * { address: '0x...', amount: parseEther('50') },\r\n * ],\r\n * });\r\n * console.log('Campaign created, tx:', result.hash);\r\n * ```\r\n */\r\n async createInstantAirdrop(\r\n params: InstantAirdropParams\r\n ): Promise<TransactionResult> {\r\n const wallet = this.requireWallet();\r\n\r\n const recipients = params.recipients.map((r) => r.address);\r\n const amounts = params.recipients.map((r) => r.amount);\r\n\r\n const now = BigInt(Math.floor(Date.now() / 1000));\r\n const args: CreateArgs = {\r\n kind: CampaignKind.INSTANT,\r\n token: params.token,\r\n start: now,\r\n end: now, // Instant airdrop - same start/end\r\n step: 0n,\r\n cliffReleaseTime: 0n,\r\n cliffBps: 0,\r\n autoClaimIncentiveBps: params.autoClaimIncentiveBps ?? 0,\r\n cancelable: params.cancelable ?? true,\r\n claimOnce: params.claimOnce ?? true,\r\n changePolicy: this.changePolicyToEnum(params.changePolicy),\r\n claimGrace: BigInt(params.claimGrace ?? 0),\r\n recipients,\r\n amounts,\r\n feeBuffer: params.feeBuffer ?? 0n,\r\n attachDefaultRegistry: params.attachDefaultRegistry ?? false,\r\n unwrapWETH: params.unwrapWETH ?? false,\r\n weth: params.weth ?? zeroAddress,\r\n };\r\n\r\n const hash = await wallet.writeContract({\r\n chain: wallet.chain,\r\n account: wallet.account!,\r\n address: this.diamondAddress,\r\n abi: DIAMOND_ABI,\r\n functionName: 'createCampaign',\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n args: [args] as any,\r\n });\r\n\r\n return this.createTransactionResult(hash);\r\n }\r\n\r\n /**\r\n * Create a Vested Airdrop campaign\r\n *\r\n * Tokens vest linearly over time with optional cliff period.\r\n *\r\n * @example\r\n * ```typescript\r\n * const result = await sdk.campaigns.createVestedAirdrop({\r\n * token: '0x...',\r\n * recipients: [\r\n * { address: '0x...', amount: parseEther('1000') },\r\n * ],\r\n * startTime: Math.floor(Date.now() / 1000), // Start now\r\n * duration: 365 * 24 * 60 * 60, // 1 year\r\n * cliffDuration: 90 * 24 * 60 * 60, // 3 month cliff\r\n * steps: 12, // Monthly releases\r\n * });\r\n * ```\r\n */\r\n async createVestedAirdrop(\r\n params: VestedAirdropParams\r\n ): Promise<TransactionResult> {\r\n const wallet = this.requireWallet();\r\n\r\n const recipients = params.recipients.map((r) => r.address);\r\n const amounts = params.recipients.map((r) => r.amount);\r\n\r\n const startTime = BigInt(params.startTime);\r\n const endTime = startTime + BigInt(params.duration);\r\n const steps = params.steps ?? 1;\r\n const step = steps > 1 ? BigInt(params.duration) / BigInt(steps) : 0n;\r\n const cliffReleaseTime = params.cliffDuration\r\n ? startTime + BigInt(params.cliffDuration)\r\n : 0n;\r\n\r\n const args: CreateArgs = {\r\n kind: CampaignKind.VESTED,\r\n token: params.token,\r\n start: startTime,\r\n end: endTime,\r\n step,\r\n cliffReleaseTime,\r\n cliffBps: params.cliffBps ?? 0,\r\n autoClaimIncentiveBps: params.autoClaimIncentiveBps ?? 0,\r\n cancelable: params.cancelable ?? true,\r\n claimOnce: false, // Vested can claim multiple times\r\n changePolicy: this.changePolicyToEnum(params.changePolicy),\r\n claimGrace: BigInt(params.claimGrace ?? 0),\r\n recipients,\r\n amounts,\r\n feeBuffer: params.feeBuffer ?? 0n,\r\n attachDefaultRegistry: params.attachDefaultRegistry ?? false,\r\n unwrapWETH: params.unwrapWETH ?? false,\r\n weth: params.weth ?? zeroAddress,\r\n };\r\n\r\n const hash = await wallet.writeContract({\r\n chain: wallet.chain,\r\n account: wallet.account!,\r\n address: this.diamondAddress,\r\n abi: DIAMOND_ABI,\r\n functionName: 'createCampaign',\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n args: [args] as any,\r\n });\r\n\r\n return this.createTransactionResult(hash);\r\n }\r\n\r\n /**\r\n * Create a Token Lock\r\n *\r\n * Tokens are locked until a specific unlock time, then fully releasable.\r\n *\r\n * @example\r\n * ```typescript\r\n * const result = await sdk.campaigns.createLock({\r\n * token: '0x...',\r\n * recipient: '0x...',\r\n * amount: parseEther('1000000'),\r\n * unlockTime: Math.floor(Date.now() / 1000) + 180 * 24 * 60 * 60, // 6 months\r\n * });\r\n * ```\r\n */\r\n async createLock(params: LockParams): Promise<TransactionResult> {\r\n const wallet = this.requireWallet();\r\n\r\n const now = BigInt(Math.floor(Date.now() / 1000));\r\n const unlockTime = BigInt(params.unlockTime);\r\n\r\n const args: CreateArgs = {\r\n kind: CampaignKind.LOCK,\r\n token: params.token,\r\n start: now,\r\n end: unlockTime,\r\n step: 0n,\r\n cliffReleaseTime: unlockTime, // Lock releases at this time\r\n cliffBps: 10000, // 100% released at cliff\r\n autoClaimIncentiveBps: 0,\r\n cancelable: params.cancelable ?? false,\r\n claimOnce: true,\r\n changePolicy: this.changePolicyToEnum(params.changePolicy),\r\n claimGrace: 0n,\r\n recipients: [params.recipient],\r\n amounts: [params.amount],\r\n feeBuffer: params.feeBuffer ?? 0n,\r\n attachDefaultRegistry: false,\r\n unwrapWETH: params.unwrapWETH ?? false,\r\n weth: params.weth ?? zeroAddress,\r\n };\r\n\r\n const hash = await wallet.writeContract({\r\n chain: wallet.chain,\r\n account: wallet.account!,\r\n address: this.diamondAddress,\r\n abi: DIAMOND_ABI,\r\n functionName: 'createCampaign',\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n args: [args] as any,\r\n });\r\n\r\n return this.createTransactionResult(hash);\r\n }\r\n\r\n /**\r\n * Create a Vesting Stream (Payment)\r\n *\r\n * Single-recipient vesting with optional automation.\r\n *\r\n * @example\r\n * ```typescript\r\n * const result = await sdk.campaigns.createVesting({\r\n * token: '0x...',\r\n * recipient: '0x...',\r\n * amount: parseEther('120000'), // 120k tokens\r\n * startTime: Math.floor(Date.now() / 1000),\r\n * duration: 365 * 24 * 60 * 60, // 1 year\r\n * cliffDuration: 0, // No cliff\r\n * steps: 12, // Monthly\r\n * });\r\n * ```\r\n */\r\n async createVesting(params: VestingParams): Promise<TransactionResult> {\r\n const wallet = this.requireWallet();\r\n\r\n const startTime = BigInt(params.startTime);\r\n const endTime = startTime + BigInt(params.duration);\r\n const steps = params.steps ?? 1;\r\n const step = steps > 1 ? BigInt(params.duration) / BigInt(steps) : 0n;\r\n const cliffReleaseTime = params.cliffDuration\r\n ? startTime + BigInt(params.cliffDuration)\r\n : 0n;\r\n\r\n const args: CreateArgs = {\r\n kind: CampaignKind.VESTING,\r\n token: params.token,\r\n start: startTime,\r\n end: endTime,\r\n step,\r\n cliffReleaseTime,\r\n cliffBps: params.cliffBps ?? 0,\r\n autoClaimIncentiveBps: params.autoClaimIncentiveBps ?? 0,\r\n cancelable: params.cancelable ?? true,\r\n claimOnce: false,\r\n changePolicy: this.changePolicyToEnum(params.changePolicy),\r\n claimGrace: BigInt(params.claimGrace ?? 0),\r\n recipients: [params.recipient],\r\n amounts: [params.amount],\r\n feeBuffer: params.feeBuffer ?? 0n,\r\n attachDefaultRegistry: false,\r\n unwrapWETH: params.unwrapWETH ?? false,\r\n weth: params.weth ?? zeroAddress,\r\n };\r\n\r\n const hash = await wallet.writeContract({\r\n chain: wallet.chain,\r\n account: wallet.account!,\r\n address: this.diamondAddress,\r\n abi: DIAMOND_ABI,\r\n functionName: 'createCampaign',\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n args: [args] as any,\r\n });\r\n\r\n return this.createTransactionResult(hash);\r\n }\r\n\r\n /**\r\n * Create a campaign with raw CreateArgs\r\n *\r\n * Low-level function for full control over campaign parameters.\r\n */\r\n async createCampaign(args: CreateArgs): Promise<TransactionResult> {\r\n const wallet = this.requireWallet();\r\n\r\n const hash = await wallet.writeContract({\r\n chain: wallet.chain,\r\n account: wallet.account!,\r\n address: this.diamondAddress,\r\n abi: DIAMOND_ABI,\r\n functionName: 'createCampaign',\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n args: [args] as any,\r\n });\r\n\r\n return this.createTransactionResult(hash);\r\n }\r\n\r\n // ============================================================================\r\n // Campaign Funding\r\n // ============================================================================\r\n\r\n /**\r\n * Fund a campaign using EIP-2612 Permit (gasless approval)\r\n *\r\n * @example\r\n * ```typescript\r\n * const result = await sdk.campaigns.fundWithPermit({\r\n * campaignId,\r\n * amount: parseEther('1000'),\r\n * deadline: Math.floor(Date.now() / 1000) + 3600,\r\n * v: 28,\r\n * r: '0x...',\r\n * s: '0x...',\r\n * });\r\n * ```\r\n */\r\n async fundWithPermit(params: {\r\n campaignId: bigint;\r\n amount: bigint;\r\n deadline: bigint;\r\n v: number;\r\n r: Hex;\r\n s: Hex;\r\n }): Promise<TransactionResult> {\r\n const wallet = this.requireWallet();\r\n\r\n const hash = await wallet.writeContract({\r\n chain: wallet.chain,\r\n account: wallet.account!,\r\n address: this.diamondAddress,\r\n abi: DIAMOND_ABI,\r\n functionName: 'fundWithPermit',\r\n args: [\r\n params.campaignId,\r\n params.amount,\r\n params.deadline,\r\n params.v,\r\n params.r,\r\n params.s,\r\n ],\r\n });\r\n\r\n return this.createTransactionResult(hash);\r\n }\r\n\r\n /**\r\n * Fund a campaign using Permit2 (gasless approval)\r\n *\r\n * @example\r\n * ```typescript\r\n * const result = await sdk.campaigns.fundWithPermit2({\r\n * campaignId,\r\n * from: userAddress,\r\n * amount: parseEther('1000'),\r\n * permit2Data: encodedPermit2Data,\r\n * });\r\n * ```\r\n */\r\n async fundWithPermit2(params: {\r\n campaignId: bigint;\r\n from: Address;\r\n amount: bigint;\r\n permit2Data: Hex;\r\n }): Promise<TransactionResult> {\r\n const wallet = this.requireWallet();\r\n\r\n const hash = await wallet.writeContract({\r\n chain: wallet.chain,\r\n account: wallet.account!,\r\n address: this.diamondAddress,\r\n abi: DIAMOND_ABI,\r\n functionName: 'fundWithPermit2',\r\n args: [\r\n params.campaignId,\r\n params.from,\r\n params.amount,\r\n params.permit2Data,\r\n ],\r\n });\r\n\r\n return this.createTransactionResult(hash);\r\n }\r\n\r\n /**\r\n * Return leftover tokens to creator\r\n *\r\n * @example\r\n * ```typescript\r\n * const result = await sdk.campaigns.returnLeftover(campaignId, parseEther('100'));\r\n * ```\r\n */\r\n async returnLeftover(\r\n campaignId: bigint,\r\n amountToReturn: bigint\r\n ): Promise<TransactionResult> {\r\n const wallet = this.requireWallet();\r\n\r\n const hash = await wallet.writeContract({\r\n chain: wallet.chain,\r\n account: wallet.account!,\r\n address: this.diamondAddress,\r\n abi: DIAMOND_ABI,\r\n functionName: 'returnLeftover',\r\n args: [campaignId, amountToReturn],\r\n });\r\n\r\n return this.createTransactionResult(hash);\r\n }\r\n\r\n /**\r\n * Add native tips to a campaign for automation\r\n */\r\n async addNativeTips(\r\n campaignId: bigint,\r\n tipAmount: bigint\r\n ): Promise<TransactionResult> {\r\n const wallet = this.requireWallet();\r\n\r\n const hash = await wallet.writeContract({\r\n chain: wallet.chain,\r\n account: wallet.account!,\r\n address: this.diamondAddress,\r\n abi: DIAMOND_ABI,\r\n functionName: 'addNativeTips',\r\n args: [campaignId, tipAmount],\r\n value: tipAmount,\r\n });\r\n\r\n return this.createTransactionResult(hash);\r\n }\r\n\r\n // ============================================================================\r\n // Campaign Queries\r\n // ============================================================================\r\n\r\n /**\r\n * Get campaign summary by ID\r\n *\r\n * Returns full campaign configuration and state.\r\n *\r\n * @example\r\n * ```typescript\r\n * const campaign = await sdk.campaigns.getCampaign(1n);\r\n * console.log('Campaign token:', campaign.token);\r\n * console.log('Total claimed:', campaign.totalClaimed);\r\n * ```\r\n */\r\n async getCampaign(campaignId: bigint): Promise<CampaignInfo> {\r\n const result = await this.publicClient.readContract({\r\n address: this.diamondAddress,\r\n abi: DIAMOND_ABI,\r\n functionName: 'campaignSummary',\r\n args: [campaignId],\r\n });\r\n\r\n return this.parseCampaignSummary(campaignId, result as Record<string, unknown>);\r\n }\r\n\r\n /**\r\n * Get campaign configuration only\r\n */\r\n async getCampaignConfig(campaignId: bigint): Promise<{\r\n kind: number;\r\n cancelable: boolean;\r\n claimOnce: boolean;\r\n canceled: boolean;\r\n changePolicy: number;\r\n token: Address;\r\n creator: Address;\r\n cliffBps: number;\r\n autoClaimIncentiveBps: number;\r\n start: number;\r\n end: number;\r\n step: number;\r\n canceledAt: number;\r\n cliffReleaseTime: number;\r\n claimGrace: number;\r\n unwrapWETH: boolean;\r\n weth: Address;\r\n }> {\r\n const result = await this.publicClient.readContract({\r\n address: this.diamondAddress,\r\n abi: DIAMOND_ABI,\r\n functionName: 'campaignConfig',\r\n args: [campaignId],\r\n }) as Record<string, unknown>;\r\n\r\n return {\r\n kind: Number(result.kind),\r\n cancelable: Boolean(result.cancelable),\r\n claimOnce: Boolean(result.claimOnce),\r\n canceled: Boolean(result.canceled),\r\n changePolicy: Number(result.changePolicy),\r\n token: result.token as Address,\r\n creator: result.creator as Address,\r\n cliffBps: Number(result.cliffBps),\r\n autoClaimIncentiveBps: Number(result.autoClaimIncentiveBps),\r\n start: Number(result.start),\r\n end: Number(result.end),\r\n step: Number(result.step),\r\n canceledAt: Number(result.canceledAt),\r\n cliffReleaseTime: Number(result.cliffReleaseTime),\r\n claimGrace: Number(result.claimGrace),\r\n unwrapWETH: Boolean(result.unwrapWETH),\r\n weth: result.weth as Address,\r\n };\r\n }\r\n\r\n /**\r\n * Get campaign state (totals and accounting)\r\n */\r\n async getCampaignState(campaignId: bigint): Promise<{\r\n totalAllocated: bigint;\r\n totalClaimed: bigint;\r\n nativeTips: bigint;\r\n returned: bigint;\r\n feeBuffer: bigint;\r\n feeLoss: bigint;\r\n totalFunded: bigint;\r\n statusBits: number;\r\n uniqueRecipients: bigint;\r\n }> {\r\n const result = await this.publicClient.readContract({\r\n address: this.diamondAddress,\r\n abi: DIAMOND_ABI,\r\n functionName: 'campaignState',\r\n args: [campaignId],\r\n }) as Record<string, unknown>;\r\n\r\n return {\r\n totalAllocated: result.totalAllocated as bigint,\r\n totalClaimed: result.totalClaimed as bigint,\r\n nativeTips: result.nativeTips as bigint,\r\n returned: result.returned as bigint,\r\n feeBuffer: result.feeBuffer as bigint,\r\n feeLoss: result.feeLoss as bigint,\r\n totalFunded: result.totalFunded as bigint,\r\n statusBits: Number(result.statusBits),\r\n uniqueRecipients: result.uniqueRecipients as bigint,\r\n };\r\n }\r\n\r\n /**\r\n * Get campaign status bits\r\n */\r\n async getCampaignStatus(campaignId: bigint): Promise<number> {\r\n const result = await this.publicClient.readContract({\r\n address: this.diamondAddress,\r\n abi: DIAMOND_ABI,\r\n functionName: 'campaignStatus',\r\n args: [campaignId],\r\n });\r\n\r\n return Number(result);\r\n }\r\n\r\n // ============================================================================\r\n // Campaign Administration\r\n // ============================================================================\r\n\r\n /**\r\n * Pause a campaign (creator or admin only)\r\n *\r\n * @param campaignId - Campaign ID\r\n * @param reason - Pause reason as status bits (e.g., 1 for creator pause)\r\n */\r\n async pause(campaignId: bigint, reason: number = 1): Promise<TransactionResult> {\r\n const wallet = this.requireWallet();\r\n\r\n const hash = await wallet.writeContract({\r\n chain: wallet.chain,\r\n account: wallet.account!,\r\n address: this.diamondAddress,\r\n abi: DIAMOND_ABI,\r\n functionName: 'pauseCampaign',\r\n args: [campaignId, reason],\r\n });\r\n\r\n return this.createTransactionResult(hash);\r\n }\r\n\r\n /**\r\n * Resume a paused campaign\r\n *\r\n * @param campaignId - Campaign ID\r\n * @param clearBits - Status bits to clear (e.g., 1 for creator pause)\r\n */\r\n async resume(campaignId: bigint, clearBits: number = 1): Promise<TransactionResult> {\r\n const wallet = this.requireWallet();\r\n\r\n const hash = await wallet.writeContract({\r\n chain: wallet.chain,\r\n account: wallet.account!,\r\n address: this.diamondAddress,\r\n abi: DIAMOND_ABI,\r\n functionName: 'resumeCampaign',\r\n args: [campaignId, clearBits],\r\n });\r\n\r\n return this.createTransactionResult(hash);\r\n }\r\n\r\n /**\r\n * Finalize a campaign (no more claims possible)\r\n */\r\n async finalize(campaignId: bigint): Promise<TransactionResult> {\r\n const wallet = this.requireWallet();\r\n\r\n const hash = await wallet.writeContract({\r\n chain: wallet.chain,\r\n account: wallet.account!,\r\n address: this.diamondAddress,\r\n abi: DIAMOND_ABI,\r\n functionName: 'finalizeCampaign',\r\n args: [campaignId],\r\n });\r\n\r\n return this.createTransactionResult(hash);\r\n }\r\n\r\n /**\r\n * Cancel a campaign and return funds to creator\r\n */\r\n async cancel(campaignId: bigint): Promise<TransactionResult> {\r\n const wallet = this.requireWallet();\r\n\r\n const hash = await wallet.writeContract({\r\n chain: wallet.chain,\r\n account: wallet.account!,\r\n address: this.diamondAddress,\r\n abi: DIAMOND_ABI,\r\n functionName: 'cancel',\r\n args: [campaignId],\r\n });\r\n\r\n return this.createTransactionResult(hash);\r\n }\r\n\r\n /**\r\n * Change a recipient address (for blocked recipients)\r\n */\r\n async changeRecipient(\r\n campaignId: bigint,\r\n fromAddress: Address,\r\n toAddress: Address\r\n ): Promise<TransactionResult> {\r\n const wallet = this.requireWallet();\r\n\r\n const hash = await wallet.writeContract({\r\n chain: wallet.chain,\r\n account: wallet.account!,\r\n address: this.diamondAddress,\r\n abi: DIAMOND_ABI,\r\n functionName: 'changeRecipient',\r\n args: [campaignId, fromAddress, toAddress],\r\n });\r\n\r\n return this.createTransactionResult(hash);\r\n }\r\n\r\n /**\r\n * Add recipients to an existing campaign\r\n */\r\n async addRecipients(\r\n campaignId: bigint,\r\n recipients: Address[],\r\n amounts: bigint[],\r\n additionalBuffer: bigint = 0n\r\n ): Promise<TransactionResult> {\r\n const wallet = this.requireWallet();\r\n\r\n const hash = await wallet.writeContract({\r\n chain: wallet.chain,\r\n account: wallet.account!,\r\n address: this.diamondAddress,\r\n abi: DIAMOND_ABI,\r\n functionName: 'addRecipients',\r\n args: [campaignId, recipients, amounts, additionalBuffer],\r\n });\r\n\r\n return this.createTransactionResult(hash);\r\n }\r\n\r\n // ============================================================================\r\n // Helpers\r\n // ============================================================================\r\n\r\n private requireWallet(): WalletClient {\r\n if (!this.walletClient) {\r\n throw new Error(\r\n 'Wallet client required for write operations. Initialize SDK with a signer.'\r\n );\r\n }\r\n return this.walletClient;\r\n }\r\n\r\n private changePolicyToEnum(\r\n policy?: 'only_recipient' | 'only_creator' | 'both' | 'no_one'\r\n ): number {\r\n switch (policy) {\r\n case 'only_recipient':\r\n return ChangePolicy.ONLY_RECIPIENT;\r\n case 'only_creator':\r\n return ChangePolicy.ONLY_CREATOR;\r\n case 'both':\r\n return ChangePolicy.BOTH;\r\n case 'no_one':\r\n return ChangePolicy.NO_ONE;\r\n default:\r\n return ChangePolicy.ONLY_RECIPIENT;\r\n }\r\n }\r\n\r\n private parseCampaignSummary(id: bigint, data: Record<string, unknown>): CampaignInfo {\r\n const cfg = data.cfg as Record<string, unknown>;\r\n const state = data.state as Record<string, unknown>;\r\n\r\n const kindMap: Record<number, CampaignInfo['kind']> = {\r\n 0: 'instant_airdrop',\r\n 1: 'vested_airdrop',\r\n 2: 'lock',\r\n 3: 'vesting',\r\n };\r\n\r\n const kind = Number(cfg.kind);\r\n\r\n const result: CampaignInfo = {\r\n id,\r\n kind: kindMap[kind] ?? 'instant_airdrop',\r\n token: cfg.token as Address,\r\n creator: cfg.creator as Address,\r\n name: '', // Not stored on-chain\r\n totalAllocated: state.totalAllocated as bigint,\r\n totalFunded: state.totalFunded as bigint,\r\n totalClaimed: state.totalClaimed as bigint,\r\n totalReturned: state.returned as bigint,\r\n feeLoss: state.feeLoss as bigint,\r\n feeBuffer: state.feeBuffer as bigint,\r\n startTime: Number(cfg.start),\r\n endTime: Number(cfg.end),\r\n cliffTime: Number(cfg.cliffReleaseTime),\r\n steps: Number(cfg.step) > 0 ? Math.ceil((Number(cfg.end) - Number(cfg.start)) / Number(cfg.step)) : 1,\r\n recipientCount: Number(state.uniqueRecipients),\r\n statusBits: Number(state.statusBits),\r\n changePolicy: Number(cfg.changePolicy),\r\n hasAutomation: (Number(state.statusBits) & (1 << 5)) !== 0,\r\n };\r\n\r\n // Add optional fields\r\n if (data.hasRegistry) {\r\n result.hasRegistry = true;\r\n }\r\n if (data.merkleRoot) {\r\n result.merkleRoot = data.merkleRoot as Hex;\r\n }\r\n\r\n return result;\r\n }\r\n\r\n private createTransactionResult(hash: Hash): TransactionResult {\r\n return {\r\n hash,\r\n wait: async () => {\r\n const receipt = await this.publicClient.waitForTransactionReceipt({\r\n hash,\r\n });\r\n return {\r\n blockNumber: receipt.blockNumber,\r\n transactionHash: receipt.transactionHash,\r\n gasUsed: receipt.gasUsed,\r\n status: receipt.status,\r\n logs: receipt.logs,\r\n };\r\n },\r\n };\r\n }\r\n}\r\n\r\nexport default CampaignsModule;\r\n"]}
@@ -0,0 +1,190 @@
1
+ import { PublicClient, WalletClient, Address, Hex } from 'viem';
2
+ import { b as ClaimParams, T as TransactionResult, B as BatchClaimParams, M as MetaClaimParams, R as RecipientStatus } from '../index-BTG0TRJt.mjs';
3
+
4
+ /**
5
+ * Claims Module
6
+ *
7
+ * Provides methods for claiming tokens from campaigns:
8
+ * - Single claims (with merkle proof)
9
+ * - Batch claims
10
+ * - Meta-transaction (gasless) claims
11
+ * - Lock releases
12
+ */
13
+
14
+ /**
15
+ * EIP-712 domain for meta-transaction signatures
16
+ */
17
+ interface EIP712Domain {
18
+ name: string;
19
+ version: string;
20
+ chainId: number;
21
+ verifyingContract: Address;
22
+ }
23
+ /**
24
+ * Claims module for claiming tokens from distribution campaigns
25
+ */
26
+ declare class ClaimsModule {
27
+ private readonly publicClient;
28
+ private readonly walletClient;
29
+ private readonly diamondAddress;
30
+ private readonly chainId;
31
+ constructor(publicClient: PublicClient, walletClient: WalletClient | undefined, diamondAddress: Address, chainId: number);
32
+ /**
33
+ * Claim vested tokens from a campaign
34
+ *
35
+ * For merkle-tree campaigns, requires allocation and proof.
36
+ * For direct campaigns, allocation should be 0 and proof empty.
37
+ *
38
+ * @example
39
+ * ```typescript
40
+ * // Direct campaign claim
41
+ * const result = await sdk.claims.claim({
42
+ * campaignId: 1n,
43
+ * allocation: 0n,
44
+ * proof: [],
45
+ * });
46
+ *
47
+ * // Merkle campaign claim
48
+ * const result = await sdk.claims.claim({
49
+ * campaignId: 1n,
50
+ * allocation: parseEther('100'),
51
+ * proof: ['0x...', '0x...'],
52
+ * });
53
+ * ```
54
+ */
55
+ claim(params: ClaimParams): Promise<TransactionResult>;
56
+ /**
57
+ * Claim from a campaign for multiple recipients in a single transaction
58
+ *
59
+ * More gas efficient than multiple individual claims.
60
+ * For direct allocation campaigns only.
61
+ *
62
+ * @example
63
+ * ```typescript
64
+ * const result = await sdk.claims.claimBatch({
65
+ * campaignId: 1n,
66
+ * recipients: ['0x...', '0x...', '0x...'],
67
+ * });
68
+ * ```
69
+ */
70
+ claimBatch(params: BatchClaimParams): Promise<TransactionResult>;
71
+ /**
72
+ * Release locked tokens (for Lock campaigns)
73
+ *
74
+ * Can only be called after the unlock time has passed.
75
+ *
76
+ * @example
77
+ * ```typescript
78
+ * const result = await sdk.claims.releaseLock(campaignId, [recipient1, recipient2]);
79
+ * ```
80
+ */
81
+ releaseLock(campaignId: bigint, recipients: Address[]): Promise<TransactionResult>;
82
+ /**
83
+ * Claim via meta-transaction (gasless for recipient)
84
+ *
85
+ * A relayer submits the transaction on behalf of the recipient.
86
+ * The recipient signs an EIP-712 message off-chain.
87
+ *
88
+ * @example
89
+ * ```typescript
90
+ * // Recipient signs off-chain
91
+ * const signedAuth = await sdk.claims.signClaimMessage({
92
+ * campaignId,
93
+ * allocation: parseEther('100'),
94
+ * proof: ['0x...'],
95
+ * deadline: Math.floor(Date.now() / 1000) + 3600, // 1 hour
96
+ * });
97
+ *
98
+ * // Relayer submits
99
+ * const result = await sdk.claims.claimWithSig(signedAuth);
100
+ * ```
101
+ */
102
+ claimWithSig(params: MetaClaimParams): Promise<TransactionResult>;
103
+ /**
104
+ * Generate the EIP-712 typed data for a claim signature
105
+ *
106
+ * The recipient signs this message off-chain.
107
+ */
108
+ getClaimTypedData(campaignId: bigint, claimant: Address, payoutTo: Address, allocation: bigint, proofHash: Hex, nonce: bigint, deadline: number): {
109
+ domain: EIP712Domain;
110
+ types: Record<string, {
111
+ name: string;
112
+ type: string;
113
+ }[]>;
114
+ primaryType: string;
115
+ message: Record<string, unknown>;
116
+ };
117
+ /**
118
+ * Sign a claim message for meta-transaction
119
+ *
120
+ * Returns the signature that can be submitted by a relayer.
121
+ */
122
+ signClaimMessage(params: {
123
+ campaignId: bigint;
124
+ allocation: bigint;
125
+ proof: Hex[];
126
+ deadline: number;
127
+ payoutTo?: Address;
128
+ }): Promise<{
129
+ signature: Hex;
130
+ nonce: bigint;
131
+ deadline: number;
132
+ claimant: Address;
133
+ payoutTo: Address;
134
+ allocation: bigint;
135
+ proof: Hex[];
136
+ campaignId: bigint;
137
+ }>;
138
+ /**
139
+ * Get the current nonce for claim meta-transactions
140
+ */
141
+ getClaimNonce(campaignId: bigint, address: Address): Promise<bigint>;
142
+ /**
143
+ * Get the amount currently claimable for a recipient
144
+ *
145
+ * @example
146
+ * ```typescript
147
+ * const claimable = await sdk.claims.getClaimable(campaignId, recipientAddress);
148
+ * console.log('Claimable:', formatEther(claimable));
149
+ * ```
150
+ */
151
+ getClaimable(campaignId: bigint, recipient: Address): Promise<bigint>;
152
+ /**
153
+ * Check if a recipient is blocked from claiming
154
+ */
155
+ isBlocked(campaignId: bigint, recipient: Address): Promise<boolean>;
156
+ /**
157
+ * Get vested amount for a recipient (how much has vested so far)
158
+ */
159
+ getVestedAmount(campaignId: bigint, recipient: Address, allocation: bigint): Promise<bigint>;
160
+ /**
161
+ * Get merkle claimed shares for a recipient
162
+ */
163
+ getMerkleClaimedShares(campaignId: bigint, recipient: Address): Promise<bigint>;
164
+ /**
165
+ * Get detailed recipient status for a campaign
166
+ */
167
+ getRecipientStatus(campaignId: bigint, recipient: Address, allocation: bigint): Promise<RecipientStatus>;
168
+ /**
169
+ * Check if a recipient can claim from a campaign
170
+ */
171
+ canClaim(campaignId: bigint, recipient: Address): Promise<boolean>;
172
+ /**
173
+ * Verify a Merkle proof locally
174
+ *
175
+ * Useful for validating proofs before submitting transactions.
176
+ */
177
+ verifyMerkleProof(root: Hex, leaf: Hex, proof: Hex[]): boolean;
178
+ /**
179
+ * Compute Merkle leaf for an allocation
180
+ */
181
+ computeMerkleLeaf(address: Address, amount: bigint): Hex;
182
+ /**
183
+ * Compute proof hash for meta-transaction
184
+ */
185
+ computeProofHash(proof: Hex[]): Hex;
186
+ private requireWallet;
187
+ private createTransactionResult;
188
+ }
189
+
190
+ export { ClaimsModule, ClaimsModule as default };
@@ -0,0 +1,190 @@
1
+ import { PublicClient, WalletClient, Address, Hex } from 'viem';
2
+ import { b as ClaimParams, T as TransactionResult, B as BatchClaimParams, M as MetaClaimParams, R as RecipientStatus } from '../index-BTG0TRJt.js';
3
+
4
+ /**
5
+ * Claims Module
6
+ *
7
+ * Provides methods for claiming tokens from campaigns:
8
+ * - Single claims (with merkle proof)
9
+ * - Batch claims
10
+ * - Meta-transaction (gasless) claims
11
+ * - Lock releases
12
+ */
13
+
14
+ /**
15
+ * EIP-712 domain for meta-transaction signatures
16
+ */
17
+ interface EIP712Domain {
18
+ name: string;
19
+ version: string;
20
+ chainId: number;
21
+ verifyingContract: Address;
22
+ }
23
+ /**
24
+ * Claims module for claiming tokens from distribution campaigns
25
+ */
26
+ declare class ClaimsModule {
27
+ private readonly publicClient;
28
+ private readonly walletClient;
29
+ private readonly diamondAddress;
30
+ private readonly chainId;
31
+ constructor(publicClient: PublicClient, walletClient: WalletClient | undefined, diamondAddress: Address, chainId: number);
32
+ /**
33
+ * Claim vested tokens from a campaign
34
+ *
35
+ * For merkle-tree campaigns, requires allocation and proof.
36
+ * For direct campaigns, allocation should be 0 and proof empty.
37
+ *
38
+ * @example
39
+ * ```typescript
40
+ * // Direct campaign claim
41
+ * const result = await sdk.claims.claim({
42
+ * campaignId: 1n,
43
+ * allocation: 0n,
44
+ * proof: [],
45
+ * });
46
+ *
47
+ * // Merkle campaign claim
48
+ * const result = await sdk.claims.claim({
49
+ * campaignId: 1n,
50
+ * allocation: parseEther('100'),
51
+ * proof: ['0x...', '0x...'],
52
+ * });
53
+ * ```
54
+ */
55
+ claim(params: ClaimParams): Promise<TransactionResult>;
56
+ /**
57
+ * Claim from a campaign for multiple recipients in a single transaction
58
+ *
59
+ * More gas efficient than multiple individual claims.
60
+ * For direct allocation campaigns only.
61
+ *
62
+ * @example
63
+ * ```typescript
64
+ * const result = await sdk.claims.claimBatch({
65
+ * campaignId: 1n,
66
+ * recipients: ['0x...', '0x...', '0x...'],
67
+ * });
68
+ * ```
69
+ */
70
+ claimBatch(params: BatchClaimParams): Promise<TransactionResult>;
71
+ /**
72
+ * Release locked tokens (for Lock campaigns)
73
+ *
74
+ * Can only be called after the unlock time has passed.
75
+ *
76
+ * @example
77
+ * ```typescript
78
+ * const result = await sdk.claims.releaseLock(campaignId, [recipient1, recipient2]);
79
+ * ```
80
+ */
81
+ releaseLock(campaignId: bigint, recipients: Address[]): Promise<TransactionResult>;
82
+ /**
83
+ * Claim via meta-transaction (gasless for recipient)
84
+ *
85
+ * A relayer submits the transaction on behalf of the recipient.
86
+ * The recipient signs an EIP-712 message off-chain.
87
+ *
88
+ * @example
89
+ * ```typescript
90
+ * // Recipient signs off-chain
91
+ * const signedAuth = await sdk.claims.signClaimMessage({
92
+ * campaignId,
93
+ * allocation: parseEther('100'),
94
+ * proof: ['0x...'],
95
+ * deadline: Math.floor(Date.now() / 1000) + 3600, // 1 hour
96
+ * });
97
+ *
98
+ * // Relayer submits
99
+ * const result = await sdk.claims.claimWithSig(signedAuth);
100
+ * ```
101
+ */
102
+ claimWithSig(params: MetaClaimParams): Promise<TransactionResult>;
103
+ /**
104
+ * Generate the EIP-712 typed data for a claim signature
105
+ *
106
+ * The recipient signs this message off-chain.
107
+ */
108
+ getClaimTypedData(campaignId: bigint, claimant: Address, payoutTo: Address, allocation: bigint, proofHash: Hex, nonce: bigint, deadline: number): {
109
+ domain: EIP712Domain;
110
+ types: Record<string, {
111
+ name: string;
112
+ type: string;
113
+ }[]>;
114
+ primaryType: string;
115
+ message: Record<string, unknown>;
116
+ };
117
+ /**
118
+ * Sign a claim message for meta-transaction
119
+ *
120
+ * Returns the signature that can be submitted by a relayer.
121
+ */
122
+ signClaimMessage(params: {
123
+ campaignId: bigint;
124
+ allocation: bigint;
125
+ proof: Hex[];
126
+ deadline: number;
127
+ payoutTo?: Address;
128
+ }): Promise<{
129
+ signature: Hex;
130
+ nonce: bigint;
131
+ deadline: number;
132
+ claimant: Address;
133
+ payoutTo: Address;
134
+ allocation: bigint;
135
+ proof: Hex[];
136
+ campaignId: bigint;
137
+ }>;
138
+ /**
139
+ * Get the current nonce for claim meta-transactions
140
+ */
141
+ getClaimNonce(campaignId: bigint, address: Address): Promise<bigint>;
142
+ /**
143
+ * Get the amount currently claimable for a recipient
144
+ *
145
+ * @example
146
+ * ```typescript
147
+ * const claimable = await sdk.claims.getClaimable(campaignId, recipientAddress);
148
+ * console.log('Claimable:', formatEther(claimable));
149
+ * ```
150
+ */
151
+ getClaimable(campaignId: bigint, recipient: Address): Promise<bigint>;
152
+ /**
153
+ * Check if a recipient is blocked from claiming
154
+ */
155
+ isBlocked(campaignId: bigint, recipient: Address): Promise<boolean>;
156
+ /**
157
+ * Get vested amount for a recipient (how much has vested so far)
158
+ */
159
+ getVestedAmount(campaignId: bigint, recipient: Address, allocation: bigint): Promise<bigint>;
160
+ /**
161
+ * Get merkle claimed shares for a recipient
162
+ */
163
+ getMerkleClaimedShares(campaignId: bigint, recipient: Address): Promise<bigint>;
164
+ /**
165
+ * Get detailed recipient status for a campaign
166
+ */
167
+ getRecipientStatus(campaignId: bigint, recipient: Address, allocation: bigint): Promise<RecipientStatus>;
168
+ /**
169
+ * Check if a recipient can claim from a campaign
170
+ */
171
+ canClaim(campaignId: bigint, recipient: Address): Promise<boolean>;
172
+ /**
173
+ * Verify a Merkle proof locally
174
+ *
175
+ * Useful for validating proofs before submitting transactions.
176
+ */
177
+ verifyMerkleProof(root: Hex, leaf: Hex, proof: Hex[]): boolean;
178
+ /**
179
+ * Compute Merkle leaf for an allocation
180
+ */
181
+ computeMerkleLeaf(address: Address, amount: bigint): Hex;
182
+ /**
183
+ * Compute proof hash for meta-transaction
184
+ */
185
+ computeProofHash(proof: Hex[]): Hex;
186
+ private requireWallet;
187
+ private createTransactionResult;
188
+ }
189
+
190
+ export { ClaimsModule, ClaimsModule as default };