diff --git a/packages/account-sdk/src/index.node.ts b/packages/account-sdk/src/index.node.ts index 41c69bc8..54bc9ddf 100644 --- a/packages/account-sdk/src/index.node.ts +++ b/packages/account-sdk/src/index.node.ts @@ -44,3 +44,14 @@ export type { SubscriptionStatus, SubscriptionStatusOptions, } from './interface/payment/index.node.js'; + +// Prolink exports - Node version using Node.js zlib compression +export { + createProlinkUrl, + decodeProlink, + encodeProlink, +} from './interface/public-utilities/prolink/index.node.js'; +export type { + ProlinkDecoded, + ProlinkRequest, +} from './interface/public-utilities/prolink/index.node.js'; diff --git a/packages/account-sdk/src/interface/public-utilities/prolink/createProlinkUrl.test.ts b/packages/account-sdk/src/interface/public-utilities/prolink/createProlinkUrl.test.ts index 16772bb5..d111be77 100644 --- a/packages/account-sdk/src/interface/public-utilities/prolink/createProlinkUrl.test.ts +++ b/packages/account-sdk/src/interface/public-utilities/prolink/createProlinkUrl.test.ts @@ -2,7 +2,7 @@ import { describe, expect, it } from 'vitest'; import { createProlinkUrl } from './createProlinkUrl.js'; -import { encodeProlink } from './index.node.js'; +import { createProlinkUrl as createProlinkUrlFromNodeEntry, encodeProlink } from './index.node.js'; describe('createProlinkUrl', () => { const EXAMPLE_PROLINK = 'CAEQhUIgAigFcn0KFKqqqqqqqqqqqqqqqqqqqqqqqqqqEhQxlx8zf'; @@ -252,4 +252,20 @@ describe('createProlinkUrl', () => { expect(url.searchParams.get('p')).toBe(EXAMPLE_PROLINK); }); }); + + describe('node entry point re-export', () => { + it('should be importable from the node entry point and produce the same URL', async () => { + expect(typeof createProlinkUrlFromNodeEntry).toBe('function'); + + const prolink = await encodeProlink({ + method: 'personal_sign', + params: ['0xdeadbeef', '0xfe21034794a5A574B94fE4fDfD16e005F1C96e51'], + chainId: 8453, + }); + const result = createProlinkUrlFromNodeEntry(prolink); + + expect(result).toBe(createProlinkUrl(prolink)); + expect(new URL(result).searchParams.get('p')).toBe(prolink); + }); + }); }); diff --git a/packages/account-sdk/src/interface/public-utilities/prolink/index.node.ts b/packages/account-sdk/src/interface/public-utilities/prolink/index.node.ts index 5fd8e6e3..529242d6 100644 --- a/packages/account-sdk/src/interface/public-utilities/prolink/index.node.ts +++ b/packages/account-sdk/src/interface/public-utilities/prolink/index.node.ts @@ -205,5 +205,8 @@ export async function decodeProlink(payload: string): Promise { throw new Error(`Unsupported shortcut ID: ${rpcPayload.shortcutId}`); } +// Re-export universal link utilities +export { createProlinkUrl } from './createProlinkUrl.js'; + // Re-export types export type { ProlinkDecoded, ProlinkRequest } from './types.js';