From ba3499a66c5a6976eb522e2757c8b0ea18d15804 Mon Sep 17 00:00:00 2001 From: shankar Date: Mon, 9 Feb 2026 19:22:47 +0000 Subject: [PATCH 1/3] chore: rename FeeAbstraction composer to PreFundedFeeAbstraction to match the contract name Signed-off-by: shankar --- ...perLiquidComposer_PreFundedFeeAbstraction.ts} | 6 +++--- .../hyperliquid-composer/HYPERLIQUID.README.md | 16 ++++++++-------- 2 files changed, 11 insertions(+), 11 deletions(-) rename examples/oft-hyperliquid/deploy/{MyHyperLiquidComposer_FeeAbstraction.ts => MyHyperLiquidComposer_PreFundedFeeAbstraction.ts} (95%) diff --git a/examples/oft-hyperliquid/deploy/MyHyperLiquidComposer_FeeAbstraction.ts b/examples/oft-hyperliquid/deploy/MyHyperLiquidComposer_PreFundedFeeAbstraction.ts similarity index 95% rename from examples/oft-hyperliquid/deploy/MyHyperLiquidComposer_FeeAbstraction.ts rename to examples/oft-hyperliquid/deploy/MyHyperLiquidComposer_PreFundedFeeAbstraction.ts index 4e2b3faa22..148890b87a 100644 --- a/examples/oft-hyperliquid/deploy/MyHyperLiquidComposer_FeeAbstraction.ts +++ b/examples/oft-hyperliquid/deploy/MyHyperLiquidComposer_PreFundedFeeAbstraction.ts @@ -87,7 +87,7 @@ const deploy: DeployFunction = async (hre) => { { type: 'confirm', name: 'continueAnyway', - message: 'Do you want to continue with FeeAbstraction anyway?', + message: 'Do you want to continue with PreFundedFeeAbstraction anyway?', default: false, }, ]) @@ -136,7 +136,7 @@ const deploy: DeployFunction = async (hre) => { console.log(`Deplying a contract uses big block which is mined at a transaction per minute.`) } - // Deploy the OFT composer with FeeAbstraction extension + // Deploy the OFT composer with PreFundedFeeAbstraction extension const { address: address_composer } = await deploy(contractName_composer, { from: deployer, args: [ @@ -152,7 +152,7 @@ const deploy: DeployFunction = async (hre) => { }) console.log( - `Deployed HyperliquidComposer with FeeAbstraction: ${contractName_composer}, network: ${hre.network.name}, address: ${address_composer}` + `Deployed HyperliquidComposer with PreFundedFeeAbstraction: ${contractName_composer}, network: ${hre.network.name}, address: ${address_composer}` ) console.log(` - Spot ID: ${spotId}`) console.log( diff --git a/packages/hyperliquid-composer/HYPERLIQUID.README.md b/packages/hyperliquid-composer/HYPERLIQUID.README.md index e4d6e127e5..b21db3301c 100644 --- a/packages/hyperliquid-composer/HYPERLIQUID.README.md +++ b/packages/hyperliquid-composer/HYPERLIQUID.README.md @@ -229,7 +229,7 @@ npx @layerzerolabs/hyperliquid-composer list-quote-asset \ If you're deploying a quote asset token (or plan to make it one): - **Use `MyHyperLiquidComposer_FeeToken`** - This composer variant provides automatic user activation using the token itself as the fee token -- Regular composers (`MyHyperliquidComposer`, `FeeAbstraction`, `Recoverable`) will work but require users to have HYPE for gas fees +- Regular composers (`MyHyperliquidComposer`, `PreFundedFeeAbstraction`, `Recoverable`) will work but require users to have HYPE for gas fees The deployment scripts automatically check if your token is a quote asset and guide you to use the appropriate composer type. @@ -396,7 +396,7 @@ When the composer detects that a user's address has not been activated on HyperC On-chain deployments: USDT0 : [0x80123Ab57c9bc0C452d6c18F92A653a4ee2e7585](https://hyperevmscan.io/address/0x80123Ab57c9bc0C452d6c18F92A653a4ee2e7585) -#### FeeAbstraction Extension +#### PreFundedFeeAbstraction Extension This extension provides automatic user activation using a **different token** for fees, combined with price oracle integration for dynamic fee calculation. @@ -438,12 +438,12 @@ ENA : [0x5879d9821909A41cd3A382A990A4A5A6Ca77F2f0](https://hyperevmscan.io/addre ### Choosing the Right Composer -| Composer Type | Best For | Key Feature | -| ------------------ | --------------------- | --------------------------------------------- | -| **Regular** | Standard tokens | Basic functionality, no extensions | -| **Recoverable** | Any token | Token recovery capability | -| **FeeToken** | **Quote assets only** | Automatic activation using your token | -| **FeeAbstraction** | Non-quote assets | Automatic activation using oracle-priced fees | +| Composer Type | Best For | Key Feature | +| --------------------------- | --------------------- | --------------------------------------------- | +| **Regular** | Standard tokens | Basic functionality, no extensions | +| **Recoverable** | Any token | Token recovery capability | +| **FeeToken** | **Quote assets only** | Automatic activation using your token | +| **PreFundedFeeAbstraction** | Non-quote assets | Automatic activation using oracle-priced fees | > ⚠️ **Important**: The deployment scripts automatically check if your token is a quote asset and guide you to use the appropriate composer type. See [Quote Assets (Fee Tokens)](#quote-assets-fee-tokens) for more details. From c414a6b29f4e09a28fcb20dc757d714df87c54ba Mon Sep 17 00:00:00 2001 From: shankar Date: Mon, 9 Feb 2026 19:23:14 +0000 Subject: [PATCH 2/3] pnpm changeset: Signed-off-by: shankar --- .changeset/brown-icons-push.md | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .changeset/brown-icons-push.md diff --git a/.changeset/brown-icons-push.md b/.changeset/brown-icons-push.md new file mode 100644 index 0000000000..5f7185baba --- /dev/null +++ b/.changeset/brown-icons-push.md @@ -0,0 +1,6 @@ +--- +"@layerzerolabs/hyperliquid-composer": patch +"@layerzerolabs/oft-hyperliquid-example": patch +--- + +rename FeeAbstraction to PreFundedFeeAbstraction in docs From 233a29d6f67ccd532208ed4d9c7a20bef240fa28 Mon Sep 17 00:00:00 2001 From: shankar Date: Mon, 9 Feb 2026 19:27:46 +0000 Subject: [PATCH 3/3] chore: update lockfile Signed-off-by: shankar --- examples/oft-hyperliquid/pnpm-lock.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples/oft-hyperliquid/pnpm-lock.yaml b/examples/oft-hyperliquid/pnpm-lock.yaml index 6c7a7c199b..3583c9bc9d 100644 --- a/examples/oft-hyperliquid/pnpm-lock.yaml +++ b/examples/oft-hyperliquid/pnpm-lock.yaml @@ -19,8 +19,8 @@ devDependencies: specifier: ~2.3.39 version: 2.3.44(typescript@5.9.3) '@layerzerolabs/hyperliquid-composer': - specifier: ^2.0.6 - version: 2.0.6(@layerzerolabs/lz-evm-messagelib-v2@3.0.142)(@layerzerolabs/lz-evm-protocol-v2@3.0.142)(@layerzerolabs/lz-evm-v1-0.7@3.0.142)(@layerzerolabs/oapp-evm@0.4.1)(@openzeppelin/contracts-upgradeable@5.4.0)(@openzeppelin/contracts@5.4.0)(@types/node@18.18.14)(typescript@5.9.3) + specifier: ^2.0.7 + version: 2.0.7(@layerzerolabs/lz-evm-messagelib-v2@3.0.142)(@layerzerolabs/lz-evm-protocol-v2@3.0.142)(@layerzerolabs/lz-evm-v1-0.7@3.0.142)(@layerzerolabs/oapp-evm@0.4.1)(@openzeppelin/contracts-upgradeable@5.4.0)(@openzeppelin/contracts@5.4.0)(@types/node@18.18.14)(typescript@5.9.3) '@layerzerolabs/lz-definitions': specifier: ^3.0.59 version: 3.0.142 @@ -1364,8 +1364,8 @@ packages: typescript: 5.9.3 dev: true - /@layerzerolabs/hyperliquid-composer@2.0.6(@layerzerolabs/lz-evm-messagelib-v2@3.0.142)(@layerzerolabs/lz-evm-protocol-v2@3.0.142)(@layerzerolabs/lz-evm-v1-0.7@3.0.142)(@layerzerolabs/oapp-evm@0.4.1)(@openzeppelin/contracts-upgradeable@5.4.0)(@openzeppelin/contracts@5.4.0)(@types/node@18.18.14)(typescript@5.9.3): - resolution: {integrity: sha512-mELOIHnCx0Skd2g/BGaEN73TZ7LUTBLv20bCsJpRGx3SCNt0DjklAcJP+szhcRDBv84WgVAiyAwM2WtB+f24Bg==} + /@layerzerolabs/hyperliquid-composer@2.0.7(@layerzerolabs/lz-evm-messagelib-v2@3.0.142)(@layerzerolabs/lz-evm-protocol-v2@3.0.142)(@layerzerolabs/lz-evm-v1-0.7@3.0.142)(@layerzerolabs/oapp-evm@0.4.1)(@openzeppelin/contracts-upgradeable@5.4.0)(@openzeppelin/contracts@5.4.0)(@types/node@18.18.14)(typescript@5.9.3): + resolution: {integrity: sha512-QKqRMheX4nLyjn69m8UoBqdGj2S8gNJJdwql23xSAOPhE8VZ6Of9lbVr/CAucJrWkd4wAtWwfgubUvOhaabogw==} hasBin: true peerDependencies: '@layerzerolabs/lz-evm-messagelib-v2': ^3.0.12