From 5f076df971b4807efd47c297ecf715ff6e113839 Mon Sep 17 00:00:00 2001 From: KONFeature Date: Thu, 12 Dec 2024 12:13:56 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=9D=20Cleaner=20documentation=20around?= =?UTF-8?q?=20the=20interactions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 4 +- bun.lockb | Bin 719448 -> 719912 bytes package.json | 1 + sdk/core/src/interactions/pressEncoder.ts | 70 ++++++------ sdk/core/src/interactions/purchaseEncoder.ts | 101 +++++++++++------- sdk/core/src/interactions/referralEncoder.ts | 68 +++++++----- sdk/core/src/interactions/webshopEncoder.ts | 33 ++++-- sdk/core/src/types/compression.ts | 3 + sdk/core/src/types/rpc/error.ts | 6 +- sdk/core/src/utils/Deferred.ts | 4 + sdk/core/src/utils/compression/compress.ts | 2 + sdk/core/src/utils/compression/decompress.ts | 2 + sdk/react/src/provider/FrakConfigProvider.ts | 1 - .../src/provider/FrakIFrameClientProvider.ts | 1 - typedoc.js | 19 +++- 15 files changed, 200 insertions(+), 115 deletions(-) diff --git a/.gitignore b/.gitignore index c4cea26b1..75a9a8cd2 100644 --- a/.gitignore +++ b/.gitignore @@ -54,4 +54,6 @@ packages/wallet/next-env.d.ts .idea # Turbo tmp stuff -.turbo \ No newline at end of file +.turbo + +generated-docs/ \ No newline at end of file diff --git a/bun.lockb b/bun.lockb index f7614688cde120c6bf6438b1a34c6962fc3b9ddb..46b2d4d9b336989b29ea4746c7ea055ff81b48a6 100755 GIT binary patch delta 143011 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 z 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 L`TZhb1vva4rJ0pg delta 143186 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 + * To properly handle press interactions, ensure that the "Press" product type is enabled in your Business dashboard. + * + * + * {@link PreparedInteraction} The prepared interaction object that can be sent + * @category Interactions Encoder + * + * @see {@link sendInteraction} Action used to send the prepared interaction to the Frak Wallet. */ -function openArticle({ articleId }: { articleId: Hex }): PreparedInteraction { - const interactionData = concatHex([ - interactionTypes.press.openArticle, - pad(articleId, { size: 32 }), - ]); - return { - handlerTypeDenominator: toHex(productTypes.press), - interactionData, - }; -} - -/** - * Encode a read article interaction - * @param articleId - */ -function readArticle({ articleId }: { articleId: Hex }): PreparedInteraction { - const interactionData = concatHex([ - interactionTypes.press.readArticle, - pad(articleId, { size: 32 }), - ]); - return { - handlerTypeDenominator: toHex(productTypes.press), - interactionData, - }; -} - export const PressInteractionEncoder = { - openArticle, - readArticle, + /** + * Encode an open article interaction + * @param articleId The id of the article the user opened (32 bytes), could be a `keccak256` hash of the article slug, or your internal id + */ + openArticle({ articleId }: { articleId: Hex }): PreparedInteraction { + const interactionData = concatHex([ + interactionTypes.press.openArticle, + pad(articleId, { size: 32 }), + ]); + return { + handlerTypeDenominator: toHex(productTypes.press), + interactionData, + }; + }, + + /** + * Encode a read article interaction + * @param articleId The id of the article the user opened (32 bytes), could be a `keccak256` hash of the article slug, or your internal id + */ + readArticle({ articleId }: { articleId: Hex }): PreparedInteraction { + const interactionData = concatHex([ + interactionTypes.press.readArticle, + pad(articleId, { size: 32 }), + ]); + return { + handlerTypeDenominator: toHex(productTypes.press), + interactionData, + }; + }, }; diff --git a/sdk/core/src/interactions/purchaseEncoder.ts b/sdk/core/src/interactions/purchaseEncoder.ts index 1e2a92f07..84f7b3536 100644 --- a/sdk/core/src/interactions/purchaseEncoder.ts +++ b/sdk/core/src/interactions/purchaseEncoder.ts @@ -4,43 +4,70 @@ import { productTypes } from "../constants/productTypes"; import type { PreparedInteraction } from "../types"; /** - * Encode a start purchase interaction + * Purchase interactions allow you to track user purchases on your platform. + * After setting up these interactions, you can create acquisition campaign based on the user purchase (starting a new one, completed, or even purchase dropped). + * + * + * To properly handle purchase interactions, ensure that the "Purchase" product type is enabled in your Business dashboard, and that you have set up everything correctly in the `Purchasetracker` section. + * + * + * + * The `purchaseId` is used on both interactions. It can be computed like this: + * + * ```ts + * const purchaseId = keccak256(concatHex([productId, toHex(externalPurchaseId)])); + * ``` + * + * With: + * - `productId`: The id of your product, you can find it in the product dashboard. + * - `externalPurchaseId`: The id of the purchase in your system (e.g. the shopify `order_id`). + * + * + * + * {@link PreparedInteraction} The prepared interaction object that can be sent + * @category Interactions Encoder + * + * @see {@link sendInteraction} Action used to send the prepared interaction to the Frak Wallet. + * @see {@link trackPurchaseStatus} Action that will automatically send the purchase upon completion + * @see [Purchase Webhooks](/wallet-sdk/api-endpoints/webhook) Webhooks to be implemented on your side to confirm a purchase + * @see [Purchase Proof](/wallet-sdk/api-endpoints/purchaseProof) Get a merklee proof for the purchase */ -function startPurchase({ - purchaseId, -}: { purchaseId: Hex }): PreparedInteraction { - const interactionData = concatHex([ - interactionTypes.purchase.started, - pad(purchaseId, { size: 32 }), - ]); - return { - handlerTypeDenominator: toHex(productTypes.purchase), - interactionData, - }; -} - -/** - * Encode a complete purchase interaction - */ -function completedPurchase({ - purchaseId, - proof, -}: { purchaseId: Hex; proof: Hex[] }): PreparedInteraction { - const innerData = encodeAbiParameters( - [{ type: "uint256" }, { type: "bytes32[]" }], - [BigInt(purchaseId), proof] - ); - const interactionData = concatHex([ - interactionTypes.purchase.completed, - innerData, - ]); - return { - handlerTypeDenominator: toHex(productTypes.purchase), - interactionData, - }; -} - export const PurchaseInteractionEncoder = { - startPurchase, - completedPurchase, + /** + * Encode a start purchase interaction + * @param purchaseId The id of the purchase that is being started. + */ + startPurchase({ purchaseId }: { purchaseId: Hex }): PreparedInteraction { + const interactionData = concatHex([ + interactionTypes.purchase.started, + pad(purchaseId, { size: 32 }), + ]); + return { + handlerTypeDenominator: toHex(productTypes.purchase), + interactionData, + }; + }, + + /** + * Encode a complete purchase interaction + * @param purchaseId The id of the purchase that is being completed. + * @param proof The merkle proof that the user has completed the purchase (see [Purchase Webhooks](/wallet-sdk/api-endpoints/webhook) for more details). + */ + completedPurchase({ + purchaseId, + proof, + }: { purchaseId: Hex; proof: Hex[] }): PreparedInteraction { + const innerData = encodeAbiParameters( + [{ type: "uint256" }, { type: "bytes32[]" }], + [BigInt(purchaseId), proof] + ); + const interactionData = concatHex([ + interactionTypes.purchase.completed, + innerData, + ]); + return { + handlerTypeDenominator: toHex(productTypes.purchase), + interactionData, + }; + }, }; diff --git a/sdk/core/src/interactions/referralEncoder.ts b/sdk/core/src/interactions/referralEncoder.ts index e1cc8d445..c3325fc87 100644 --- a/sdk/core/src/interactions/referralEncoder.ts +++ b/sdk/core/src/interactions/referralEncoder.ts @@ -4,35 +4,45 @@ import { productTypes } from "../constants/productTypes"; import type { PreparedInteraction } from "../types"; /** - * Encode a create referral link interaction + * Referral interactions allow you to track user sharing activities. + * These interactions are essential for platforms looking to grow their user base through user-to-user referrals and reward systems. + * + * + * To properly handle referral interactions, ensure that the "Referral" product type is enabled in your Business dashboard. + * + * + * {@link PreparedInteraction} The prepared interaction object that can be sent + * @category Interactions Encoder + * + * @see {@link sendInteraction} Action used to send the prepared interaction to the Frak Wallet. */ -function createLink(): PreparedInteraction { - const interactionData = concatHex([ - interactionTypes.referral.createLink, - "0x", - ]); - return { - handlerTypeDenominator: toHex(productTypes.referral), - interactionData, - }; -} - -/** - * Encode a referred interaction - * @param referrer - */ -function referred({ referrer }: { referrer: Address }): PreparedInteraction { - const interactionData = concatHex([ - interactionTypes.referral.referred, - pad(referrer, { size: 32 }), - ]); - return { - handlerTypeDenominator: toHex(productTypes.referral), - interactionData, - }; -} - export const ReferralInteractionEncoder = { - createLink, - referred, + /** + * Records the event of a user creating a referral link. Note that this interaction doesn't actually create the link itself; it only sends an event to track that a link was created. + */ + createLink(): PreparedInteraction { + const interactionData = concatHex([ + interactionTypes.referral.createLink, + "0x", + ]); + return { + handlerTypeDenominator: toHex(productTypes.referral), + interactionData, + }; + }, + + /** + * Encode a referred interaction + * @param referrer The Ethereum address of the user who made the referral + */ + referred({ referrer }: { referrer: Address }): PreparedInteraction { + const interactionData = concatHex([ + interactionTypes.referral.referred, + pad(referrer, { size: 32 }), + ]); + return { + handlerTypeDenominator: toHex(productTypes.referral), + interactionData, + }; + }, }; diff --git a/sdk/core/src/interactions/webshopEncoder.ts b/sdk/core/src/interactions/webshopEncoder.ts index 410c1e72b..d1efbfb92 100644 --- a/sdk/core/src/interactions/webshopEncoder.ts +++ b/sdk/core/src/interactions/webshopEncoder.ts @@ -4,16 +4,29 @@ import { productTypes } from "../constants/productTypes"; import type { PreparedInteraction } from "../types"; /** - * Encode a create referral link interaction + * Webshop interactions allow you to track user activities on your webshop. + * + * + * To properly handle webshop interactions, ensure that the "WebShop" product type is enabled in your Business dashboard. + * + * + * {@link PreparedInteraction} The prepared interaction object that can be sent + * @category Interactions Encoder + * + * @see {@link sendInteraction} Action used to send the prepared interaction to the Frak Wallet. */ -function open(): PreparedInteraction { - const interactionData = concatHex([interactionTypes.webshop.open, "0x"]); - return { - handlerTypeDenominator: toHex(productTypes.webshop), - interactionData, - }; -} - export const WebShopInteractionEncoder = { - open, + /** + * Encode an open webshop interaction + */ + open(): PreparedInteraction { + const interactionData = concatHex([ + interactionTypes.webshop.open, + "0x", + ]); + return { + handlerTypeDenominator: toHex(productTypes.webshop), + interactionData, + }; + }, }; diff --git a/sdk/core/src/types/compression.ts b/sdk/core/src/types/compression.ts index dc0d953f1..1023cbfb9 100644 --- a/sdk/core/src/types/compression.ts +++ b/sdk/core/src/types/compression.ts @@ -1,6 +1,7 @@ /** * The received encoded data from a client * -> The encoded should contain a HashProtectedData once decoded + * @ignore */ export type CompressedData = Readonly<{ compressed: string; @@ -9,6 +10,7 @@ export type CompressedData = Readonly<{ /** * The encoded data to send to a client / received by a client + * @ignore */ export type HashProtectedData = Readonly< DataType & { @@ -18,5 +20,6 @@ export type HashProtectedData = Readonly< /** * Represent a key provider used for the hashed and secure compression + * @ignore */ export type KeyProvider = (value: DataType) => string[]; diff --git a/sdk/core/src/types/rpc/error.ts b/sdk/core/src/types/rpc/error.ts index b26c17cda..00d6748e0 100644 --- a/sdk/core/src/types/rpc/error.ts +++ b/sdk/core/src/types/rpc/error.ts @@ -1,5 +1,6 @@ /** * Generic Frak RPC error + * @ignore */ export class FrakRpcError extends Error { constructor( @@ -11,18 +12,21 @@ export class FrakRpcError extends Error { } } +/** @ignore */ export class MethodNotFoundError extends FrakRpcError<{ method: string }> { constructor(message: string, method: string) { super(RpcErrorCodes.methodNotFound, message, { method }); } } +/** @ignore */ export class InternalError extends FrakRpcError { constructor(message: string) { super(RpcErrorCodes.internalError, message); } } +/** @ignore */ export class ClientNotFound extends FrakRpcError { constructor() { super(RpcErrorCodes.clientNotConnected, "Client not found"); @@ -30,7 +34,7 @@ export class ClientNotFound extends FrakRpcError { } /** - * All the rpc error codes + * The different Frak RPC error codes */ export const RpcErrorCodes = { // Standard JSON-RPC 2.0 errors diff --git a/sdk/core/src/utils/Deferred.ts b/sdk/core/src/utils/Deferred.ts index 3238550fa..c1c013219 100644 --- a/sdk/core/src/utils/Deferred.ts +++ b/sdk/core/src/utils/Deferred.ts @@ -1,3 +1,7 @@ +/** + * Simple deferred promise wrapper + * @ignore + */ export class Deferred { private readonly _promise: Promise; private _resolve: ((value: T | PromiseLike) => void) | undefined; diff --git a/sdk/core/src/utils/compression/compress.ts b/sdk/core/src/utils/compression/compress.ts index e73599fb9..c1b5ed5a4 100644 --- a/sdk/core/src/utils/compression/compress.ts +++ b/sdk/core/src/utils/compression/compress.ts @@ -16,6 +16,7 @@ import type { /** * Compress the given params, and add hash protection to (rapidly) prevent interception modification * @param data The params to encode + * @ignore */ export async function hashAndCompressData(data: T): Promise { // Create a hash of the main params @@ -40,6 +41,7 @@ export async function hashAndCompressData(data: T): Promise { /** * Compress json data * @param data + * @ignore */ export async function compressJson(data: unknown): Promise { return compressToBase64(JSON.stringify(data)); diff --git a/sdk/core/src/utils/compression/decompress.ts b/sdk/core/src/utils/compression/decompress.ts index 2cc1435a1..40f3b7053 100644 --- a/sdk/core/src/utils/compression/decompress.ts +++ b/sdk/core/src/utils/compression/decompress.ts @@ -9,6 +9,7 @@ import type { /** * Decompress the given string * @param compressedData The params to encode + * @ignore */ export async function decompressDataAndCheckHash( compressedData: CompressedData @@ -65,6 +66,7 @@ export async function decompressDataAndCheckHash( /** * Decompress json data * @param data + * @ignore */ export async function decompressJson(data: string): Promise { const decompressed = await decompressFromBase64(data); diff --git a/sdk/react/src/provider/FrakConfigProvider.ts b/sdk/react/src/provider/FrakConfigProvider.ts index c368d3acf..acbde0273 100644 --- a/sdk/react/src/provider/FrakConfigProvider.ts +++ b/sdk/react/src/provider/FrakConfigProvider.ts @@ -18,7 +18,6 @@ export type FrakConfigProviderProps = { /** * Simple config provider for the Frak Wallet SDK * @param parameters - * @constructor */ export function FrakConfigProvider( parameters: PropsWithChildren diff --git a/sdk/react/src/provider/FrakIFrameClientProvider.ts b/sdk/react/src/provider/FrakIFrameClientProvider.ts index 2978b7a26..71ad4c837 100644 --- a/sdk/react/src/provider/FrakIFrameClientProvider.ts +++ b/sdk/react/src/provider/FrakIFrameClientProvider.ts @@ -32,7 +32,6 @@ export type FrakIFrameClientProps = { * IFrame client provider for the Frak Wallet SDK * - Automatically set the config provider * @param parameters - * @constructor */ export function FrakIFrameClientProvider({ style, diff --git a/typedoc.js b/typedoc.js index d48e7d3ad..268d0f41e 100644 --- a/typedoc.js +++ b/typedoc.js @@ -1,20 +1,29 @@ /** @type {Partial} */ const config = { - plugin: ["typedoc-plugin-markdown"], - entryPoints: ["sdk/*"], + plugin: ["typedoc-plugin-markdown", "typedoc-plugin-inline-sources"], + entryPoints: ["sdk/core", "sdk/react"], entryPointStrategy: "packages", packageOptions: { entryPoints: [ // top level entry points, "src/index.ts", - "src/components.ts", - "src/bundle.ts", // Core SDK custom entry points "src/actions/index.ts", "src/interactions/index.ts", ], }, - out: "./docs-tmp", + out: "./generated-docs", + fileExtension: ".mdx", + // Module is too fat, and members too verbose, should find a mix + outputFileStrategy: "members", + excludeScopesInPaths: true, + excludeInternal: true, + // Stylisation + // If set to true, should use @link in the comment to reference param types and stuff + useCodeBlocks: false, + expandObjects: true, + expandParameters: true, + typeDeclarationVisibility: "compact", }; export default config;