UNPKG

@stable-io/cctp-sdk-definitions

Version:

Definitions for the CCTP SDK

23 lines 1.33 kB
// 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