@stable-io/cctp-sdk-definitions
Version:
Definitions for the CCTP SDK
23 lines • 1.33 kB
JavaScript
// Copyright (c) 2025 Stable Technologies Inc
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.
import { customizableBytes } from "binary-layout";
import { messageLayoutTemplate, burnMessageLayoutTemplate } from "../../messages.js";
import { uint256Item, hashItem, amountItem } from "../../layoutItems.js";
import { Usdc } from "../../constants/index.js";
export const finalityThresholdItem = { binary: "uint", size: 4 };
const extraFields = [
{ name: "minFinalityThreshold", ...finalityThresholdItem },
{ name: "finalityThresholdExecuted", ...finalityThresholdItem },
];
export const messageLayout = (messageBody, useRawDomains) => messageLayoutTemplate(1, hashItem, extraFields, messageBody, useRawDomains);
export const burnMessageBodyLayout = (hookData) => [
...burnMessageLayoutTemplate(1),
{ name: "maxFee", ...amountItem(32, Usdc) },
{ name: "feeExecuted", ...amountItem(32, Usdc) },
{ name: "expirationBlock", ...uint256Item },
customizableBytes({ name: "hookData" }, hookData),
];
export const burnMessageLayout = (hookData, useRawDomains) => messageLayout(burnMessageBodyLayout(hookData), useRawDomains);
//# sourceMappingURL=messages.js.map