From f8ba22d341acb55399a441bb8713da8eea1a08bc Mon Sep 17 00:00:00 2001 From: Angela Gilhotra Date: Wed, 1 Jul 2026 22:57:21 -0400 Subject: [PATCH 1/2] docs: simplify title and heading for earn yield section --- docs/pages/en/how-to/earn-yield.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/pages/en/how-to/earn-yield.mdx b/docs/pages/en/how-to/earn-yield.mdx index 03f36a0..7ae7a5b 100644 --- a/docs/pages/en/how-to/earn-yield.mdx +++ b/docs/pages/en/how-to/earn-yield.mdx @@ -1,10 +1,10 @@ --- -title: "Earn yield with the SDK" +title: "Earn yield" description: "Deposit USDT0 into a Morpho vault with the Stable SDK, read your APY and position, withdraw, and claim Merkl rewards." diataxis: "how-to" --- -# Earn yield with the SDK +# Earn yield Supply USDT0 into a Morpho V2 vault on Stable mainnet to earn yield, then read your position and withdraw. The `@stablechain/sdk` `earn` methods handle the ERC-20 approval, the deposit, and adapter deallocations on withdrawal, so you call one method per action. From 7beec37193b7bcfeeffaa440accae9cf8ee76edb Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 2 Jul 2026 02:58:32 +0000 Subject: [PATCH 2/2] i18n: auto-translate cn/ko for changed en content --- docs/pages/cn/how-to/earn-yield.mdx | 92 ++++++++++++++--------------- docs/pages/ko/how-to/earn-yield.mdx | 64 ++++++++++---------- 2 files changed, 78 insertions(+), 78 deletions(-) diff --git a/docs/pages/cn/how-to/earn-yield.mdx b/docs/pages/cn/how-to/earn-yield.mdx index 3c3bfe4..f0cde17 100644 --- a/docs/pages/cn/how-to/earn-yield.mdx +++ b/docs/pages/cn/how-to/earn-yield.mdx @@ -1,30 +1,30 @@ --- source_path: how-to/earn-yield.mdx -source_sha: 03f36a00122cecc73b90075f5f9276cfd84121ee -title: "用 SDK 赚取收益" -description: "使用 Stable SDK 将 USDT0 存入 Morpho 资金库,读取年化收益率和头寸,提款,并领取 Merkl 奖励。" +source_sha: 7ae7a5bed0270b5b3181ebc3970c58172b6f0974 +title: "赚取收益" +description: "通过 Stable SDK 将 USDT0 存入 Morpho 资金库,读取您的 APY 和头寸,提现,并领取 Merkl 奖励。" diataxis: "how-to" --- -# 用 SDK 赚取收益 +# 赚取收益 -在 Stable 主网将 USDT0 存入 Morpho V2 资金库以赚取收益,然后读取您的头寸并提款。 `@stablechain/sdk` 的 `earn` 方法处理 ERC-20 授权、存款和提款时的适配器解除分配,因此您每个操作只需调用一个方法。 +将 USDT0 供应到 Stable 主网上的 Morpho V2 资金库以赚取收益,然后读取您的头寸并提现。 `@stablechain/sdk` 的 `earn` 方法处理 ERC-20 批准、存款和提现时的适配器解除分配,因此您每个操作只需调用一个方法。 -涉及两个客户端。`createStable` 为您提供用于存款和提款的签名客户端。`createStableReader` 为您提供只读客户端,用于查询年化收益率、头寸和可提款性,无需签名器。 +涉及两个客户端。`createStable` 为您提供用于存款和提现的签名客户端。 `createStableReader` 为您提供只读客户端,用于查询 APY、头寸和可提现性,无需签名器。 ## 先决条件 -- Node.js 20 或更高版本,以及已安装的 `@stablechain/sdk` 和 `viem`。请参阅 [SDK 快速入门](/cn/tutorial/sdk-quickstart)。 -- 具有 Stable 主网 USDT0 的签名器。要转入资金,请使用 [`stable.bridge`](/cn/reference/sdk#bridgeparams) 或其中一个[支持的桥接器](/cn/reference/bridges)。 +- Node.js 20 或更高版本,并安装了 `@stablechain/sdk` 和 `viem`。请参阅 [SDK 快速入门](/cn/tutorial/sdk-quickstart)。 +- 在 Stable 主网上拥有 USDT0 的签名者。要转入资金,请使用 [`stable.bridge`](/cn/reference/sdk#bridgeparams) 或其中一个 [支持的桥接器](/cn/reference/bridges)。 - 资金库地址。SDK 将默认主网资金库导出为 `STABLE_VAULT_ADDRESS`。 :::note -赚取收益的示例在主网上运行。SDK 不提供测试网资金库地址,因此 `Network.Testnet` 仅适用于您自己部署的资金库。 +赚取收益示例在主网上运行。SDK 不提供测试网资金库地址,因此 `Network.Testnet` 仅适用于您自己部署的资金库。 ::: ## 1. 使用资金库创建签名客户端 -将 `earn: { vault }` 传递给 `createStable`。如果没有它,存款和提款方法将抛出 `StableValidationError`。 +将 `earn: { vault }` 传递给 `createStable`。如果没有它,存款和提现方法将抛出 `StableValidationError`。 ```ts import { createStable, Network, STABLE_VAULT_ADDRESS } from "@stablechain/sdk"; @@ -43,9 +43,9 @@ const stable = createStable({ StableClient { transfer, quoteBridge, bridge, quoteSwap, swap, earn } ``` -## 2. 存款前查看年化收益率 +## 2. 存款前检查 APY -创建只读读取器并获取资金库当前的净年化收益率。读取器需要您要读取的地址和资金库,但不需要签名器。 +创建一个只读阅读器并获取资金库当前的净 APY。阅读器需要您要读取的地址和资金库,但不需要签名者。 ```ts import { createStableReader } from "@stablechain/sdk"; @@ -57,109 +57,109 @@ const reader = createStableReader({ }); const { apy, native, rewards } = await reader.earn.getYield(); -console.log("净年化收益率:", (apy * 100).toFixed(2) + "%"); +console.log("Net APY:", (apy * 100).toFixed(2) + "%"); ``` ```text -净年化收益率: 5.80% +Net APY: 5.80% ``` -`apy` 是扣除费用后的总净年化收益率,包括奖励提升。`native` 是底层市场的独立收益率,`rewards` 则分解了每个奖励代币的年化百分比贡献。所有值均为小数,因此 `0.058` 表示 5.8%。 +`apy` 是扣除费用后的总净 APY,包括奖励提升。`native` 是其自身的底层市场收益,`rewards` 分别列出了每个奖励代币的 APR 贡献。所有值都是小数,所以 `0.058` 是 5.8%。 -要估算一段时间内的收益,请使用 `preview`: +要估算一段时间内的收益金额,请使用 `preview`: ```ts const { projectedYield } = await reader.earn.preview({ amount: 1000, horizonDays: 30 }); -console.log("1000 美元 30 天预测收益:", projectedYield.toFixed(2)); +console.log("30-day projection on 1000:", projectedYield.toFixed(2)); ``` ```text -1000 美元 30 天预测收益: 4.64 +30-day projection on 1000: 4.64 ``` ## 3. 存款 -向资金库提供资产。SDK 发送授权(或钱包支持时的许可签名),然后是存款,并等待收据。 +将资产存入资金库。SDK 发送审批(或者当钱包支持时发送许可签名),然后是存款,并等待收据。 ```ts const { txHash } = await stable.earn.deposit({ amount: 100 }); -console.log("存款交易哈希:", txHash); +console.log("Deposit:", txHash); ``` ```text -存款交易哈希: 0x8f3a...2d41 +Deposit: 0x8f3a...2d41 ``` -金额是人类可读的。除非您传递 `tokenDecimals`,否则底层资产的小数位将在链上获取。为了限制单次存款消耗的资金库闲置流动性,请传递 `depositBuffer`(例如 `0.8` 表示 80%);如果金额超过上限,SDK 会在发送前抛出错误。 +金额是人类可读的。除非您传递 `tokenDecimals`,否则底层资产的小数位会在链上获取。要限制单次存款消耗的资金库闲置流动性,请传递 `depositBuffer`(例如 `0.8` 表示 80%);如果金额超过上限,SDK 会在发送前抛出。 :::tip -传递 `idempotencyKey` 可使存款安全重试。如果使用相同键的调用已在进行中,SDK 将返回相同的 Promise,而不是发送第二个交易。 +传递 `idempotencyKey` 可使存款安全地重试。如果使用相同密钥的调用已在进行中,SDK 将返回相同的 Promise,而不是发送第二个事务。 ::: -## 4. 读取您的头寸 +## 4. 读取您的持仓 获取您的份额余额及其当前资产价值。 ```ts const position = await reader.earn.position(); -console.log("份额:", position.sharesFormatted, "价值", position.assets); +console.log("Shares:", position.sharesFormatted, "worth", position.assets); ``` ```text -份额: 100 价值 100.02 +Shares: 100 worth 100.02 ``` -`shares` 是原始余额,`sharesFormatted` 是其人类可读值。`assets` 是这些份额目前以底层单位计的价值。 +`shares` 是原始余额,`sharesFormatted` 是其人类可读值。`assets` 是这些份额目前以底层单位计算的价值。 -## 5. 提款或赎回 +## 5. 提现或赎回 -提取特定数量的底层资产,或赎回一定数量的份额。当资金库的闲置流动性不足时,SDK 会自动从资金库的适配器中解除分配以弥补差额。 +提取特定数量的底层资产,或赎回一定数量的份额。当资金库的闲置流动性不足时,SDK 会自动解除资金库适配器的分配以弥补差额。 ```ts const { txHash } = await stable.earn.withdraw({ amount: 50 }); -console.log("提款交易哈希:", txHash); +console.log("Withdraw:", txHash); ``` ```text -提款交易哈希: 0xabcd...7890 +Withdraw: 0xabcd...7890 ``` -要按份额数量赎回,请使用 `stable.earn.redeem({ shares: 25 })`。要首先检查某个数量是否可以立即取出,请调用读取器: +要按份额数量赎回,请使用 `stable.earn.redeem({ shares: 25 })`。要首先检查某个金额是否可以立即取出,请调用阅读器: ```ts const { isInstant, availableLiquidity } = await reader.earn.withdrawability({ amount: 50 }); -console.log("即时提款:", isInstant, "可用流动性:", availableLiquidity); +console.log("Instant:", isInstant, "available:", availableLiquidity); ``` ```text -即时提款: true 可用流动性: 12500.5 +Instant: true available: 12500.5 ``` -当 `isInstant` 为 `false` 时,提款仍然成功;它只是需要适配器解除分配,这由 `withdraw` 和 `redeem` 为您处理。要手动控制从哪些适配器中提取,请使用 [`forceWithdraw` / `forceRedeem`](/cn/reference/sdk#forcewithdrawparams--forceredeemparams)。 +当 `isInstant` 为 `false` 时,提现仍然成功;它只是需要适配器解除分配,这由 `withdraw` 和 `redeem` 为您处理。要手动控制从哪些适配器提取,请使用 [`forceWithdraw` / `forceRedeem`](/cn/reference/sdk#forcewithdrawparams--forceredeemparams)。 -## 6. 领取奖励 +## 6. 领取激励奖励 -资金库除了原生收益外,还可以赚取 Merkl 奖励代币。获取待领取奖励,然后领取它们。这些方法需要签名器,但不需要 `earn` 资金库配置。 +资金库除了原生收益外,还可以赚取 Merkl 奖励代币。获取待领取奖励,然后领取它们。这些方法需要签名者,但不需要 `earn` 资金库配置。 ```ts const { rewards } = await stable.earn.incentiveRewards.fetch(); if (rewards.length > 0) { const { txHash, tokenCount } = await stable.earn.incentiveRewards.claim(); - console.log("已领取", tokenCount, "个代币:", txHash); + console.log("Claimed", tokenCount, "token(s):", txHash); } ``` ```text -已领取 1 个代币: 0xabcd...7890 +Claimed 1 token(s): 0xabcd...7890 ``` :::note -Merkl 大约每两小时将奖励提交到其 merkle 树。仍在等待更新的奖励尚不能领取,如果调用 `claim()` 时没有可领取的奖励,则会抛出 `StableValidationError`。对于浏览器,请将 `merklApiBase` 设置为您自己服务器上的代理,以避免 Merkl API 的 CORS 限制。 +Merkl 大约每两小时将奖励提交到其 Merkle 树。尚未更新的待领取奖励暂时无法领取,并且如果调用 `claim()` 时没有任何可领取项,则会抛出 `StableValidationError`。对于浏览器,将 `merklApiBase` 设置为您自己服务器上的代理,以避免 Merkl API 的 CORS 限制。 ::: ## 不在 SDK 中签名? -如果您在其他地方签名交易(一个中继器,一个免 gas 流程,或一个多重签名),构建 calldata 而不发送它: +如果您在其他地方(中继器、免 gas 费用流程或多重签名)签名交易,则可以构建 calldata 而不发送它: ```ts const { steps, chainId } = await stable.earn.prepareDepositCalldata({ amount: 100 }); @@ -169,10 +169,10 @@ const { steps, chainId } = await stable.earn.prepareDepositCalldata({ amount: 10 { steps: [ { to: "0x...", data: "0x...", value: 0n } ], chainId: 988 } ``` -`steps` 是一个有序的交易列表,一个可选的授权,然后是存款。`prepareWithdrawCalldata` 和 `prepareRedeemCalldata` 各自返回一个 `{ to, data, value, chainId }` 交易。 +`steps` 是一个有序的交易列表,一个可选的批准后跟存款。`prepareWithdrawCalldata` 和 `prepareRedeemCalldata` 都返回一个单一的 `{ to, data, value, chainId }` 交易。 -## 接下来去哪里 +## 下一步 -- [**SDK 参考**](/cn/reference/sdk#stableearn):完整的赚取收益参数、返回类型和读取器方法。 -- [**与 wagmi 一起使用**](/cn/how-to/sdk-with-wagmi):将 SDK 集成到 React 应用程序中,以便用户从浏览器钱包存款。 -- [**SDK 概述**](/cn/explanation/sdk-overview):何时使用 SDK 以及签名模式如何工作。 +- [**SDK 参考**](/cn/reference/sdk#stableearn):完整的赚取收益参数、返回类型和阅读器方法。 +- [**与 wagmi 一起使用**](/cn/how-to/sdk-with-wagmi):将 SDK 集成到 React 应用程序中,以便用户可以通过浏览器钱包存款。 +- [**SDK 概述**](/cn/explanation/sdk-overview):何时使用 SDK,以及签名模式的工作原理。 diff --git a/docs/pages/ko/how-to/earn-yield.mdx b/docs/pages/ko/how-to/earn-yield.mdx index 34d250e..f104370 100644 --- a/docs/pages/ko/how-to/earn-yield.mdx +++ b/docs/pages/ko/how-to/earn-yield.mdx @@ -1,30 +1,30 @@ --- source_path: how-to/earn-yield.mdx -source_sha: 03f36a00122cecc73b90075f5f9276cfd84121ee -title: "SDK로 수익 창출하기" -description: "Stable SDK로 USDT0를 Morpho 볼트에 예치하고, APY와 포지션을 확인하고, 인출하고, Merkl 보상을 청구하세요." +source_sha: 7ae7a5bed0270b5b3181ebc3970c58172b6f0974 +title: "수익 창출하기" +description: "Stable SDK를 사용하여 USDT0를 Morpho 볼트에 예치하고, APY 및 포지션을 확인하고, 인출하고, Merkl 보상을 청구하세요." diataxis: "how-to" --- -# SDK로 수익 창출하기 +# 수익 창출하기 -Stable 메인넷의 Morpho V2 볼트에 USDT0를 공급하여 수익을 얻고, 포지션을 읽고 인출하세요. `@stablechain/sdk`의 `earn` 메서드는 ERC-20 승인, 예치, 인출 시 어댑터 할당 해제를 처리하므로, 각 작업당 하나의 메서드를 호출합니다. +Stable 메인넷의 Morpho V2 볼트에 USDT0를 공급하여 수익을 얻은 다음, 포지션을 확인하고 인출하세요. `@stablechain/sdk`의 `earn` 메서드는 ERC-20 승인, 예치, 인출 시 어댑터 할당 해제를 처리하므로, 각 작업당 하나의 메서드만 호출하면 됩니다. -두 클라이언트가 관련됩니다. `createStable`은 예치 및 인출을 위한 서명 클라이언트를 제공합니다. `createStableReader`는 APY, 포지션, 인출 가능성을 위한 읽기 전용 클라이언트를 제공하며, 서명자는 필요하지 않습니다. +두 개의 클라이언트가 사용됩니다. `createStable`은 예치 및 인출을 위한 서명 클라이언트를 제공합니다. `createStableReader`는 APY, 포지션, 인출 가능성을 확인하기 위한 읽기 전용 클라이언트를 제공하며, 서명자는 필요 없습니다. ## 전제 조건 -- Node.js 20 이상, 그리고 `@stablechain/sdk`와 `viem` 설치. [SDK Quickstart](/ko/tutorial/sdk-quickstart)를 참조하세요. -- Stable 메인넷에 USDT0를 가진 서명자. 자금을 이동하려면 [`stable.bridge`](/ko/reference/sdk#bridgeparams) 또는 [지원되는 브릿지](/ko/reference/bridges) 중 하나를 사용하세요. +- Node.js 20 이상, `@stablechain/sdk` 및 `viem` 설치. [SDK Quickstart](/ko/tutorial/sdk-quickstart)를 참조하세요. +- Stable 메인넷에 USDT0를 보유한 서명자. 자금을 이동하려면 [`stable.bridge`](/ko/reference/sdk#bridgeparams) 또는 [지원되는 브리지](/ko/reference/bridges) 중 하나를 사용하세요. - 볼트 주소. SDK는 기본 메인넷 볼트를 `STABLE_VAULT_ADDRESS`로 내보냅니다. :::note -수익 창출 예시는 메인넷에서 실행됩니다. SDK는 테스트넷 볼트 주소를 제공하지 않으므로, `Network.Testnet`은 직접 배포한 볼트에서만 작동합니다. +수익 창출 예제는 메인넷에서 실행됩니다. SDK는 테스트넷 볼트 주소를 제공하지 않으므로, `Network.Testnet`은 직접 배포한 볼트에서만 작동합니다. ::: -## 1. 볼트가 있는 서명 클라이언트 생성 +## 1. 볼트로 서명 클라이언트 생성 -`earn: { vault }`을 `createStable`에 전달하세요. 이것이 없으면, deposit 및 withdraw 메서드가 `StableValidationError`를 발생시킵니다. +`createStable`에 `earn: { vault }`를 전달합니다. 이것이 없으면 예치 및 인출 메서드는 `StableValidationError`를 발생시킵니다. ```ts import { createStable, Network, STABLE_VAULT_ADDRESS } from "@stablechain/sdk"; @@ -43,9 +43,9 @@ const stable = createStable({ StableClient { transfer, quoteBridge, bridge, quoteSwap, swap, earn } ``` -## 2. 예치 전에 APY 확인하기 +## 2. 예치 전 APY 확인 -읽기 전용 리더를 생성하고 볼트의 현재 순 APY를 가져옵니다. 리더는 읽으려는 주소와 볼트가 필요하지만, 서명자는 필요하지 않습니다. +읽기 전용 리더를 생성하고 볼트의 현재 순 APY를 가져옵니다. 리더는 읽으려는 주소와 볼트가 필요하지만, 서명자는 필요 없습니다. ```ts import { createStableReader } from "@stablechain/sdk"; @@ -64,9 +64,9 @@ console.log("Net APY:", (apy * 100).toFixed(2) + "%"); Net APY: 5.80% ``` -`apy`는 보상 부스트를 포함한 수수료 후 총 순 APY입니다. `native`는 그 자체의 기본 시장 수익률이며, `rewards`는 각 보상 토큰의 APR 기여도를 분석합니다. 모든 값은 소수이므로, `0.058`은 5.8%입니다. +`apy`는 보상 부스트를 포함한 수수료 후 총 순 APY입니다. `native`는 그 자체의 기본 시장 수익률이며, `rewards`는 각 보상 토큰의 APR 기여도를 구분합니다. 모든 값은 소수이므로 `0.058`은 5.8%입니다. -시간이 지남에 따라 얼마를 얻을지 추정하려면 `preview`를 사용하세요: +시간이 지남에 따라 금액이 얼마나 벌리는지 추정하려면 `preview`를 사용합니다. ```ts const { projectedYield } = await reader.earn.preview({ amount: 1000, horizonDays: 30 }); @@ -79,7 +79,7 @@ console.log("30-day projection on 1000:", projectedYield.toFixed(2)); ## 3. 예치 -볼트에 자산을 공급하세요. SDK는 승인(또는 지갑이 지원하는 경우 허가 서명)을 보낸 다음, 예치를 보내고 영수증을 기다립니다. +볼트에 자산을 공급합니다. SDK는 승인(또는 지갑이 지원하는 경우 허가 서명)을 보낸 다음, 예치를 보내고 영수증을 기다립니다. ```ts const { txHash } = await stable.earn.deposit({ amount: 100 }); @@ -90,15 +90,15 @@ console.log("Deposit:", txHash); Deposit: 0x8f3a...2d41 ``` -금액은 사람이 읽을 수 있는 형식입니다. 기본 자산의 소수점 이하는 `tokenDecimals`를 전달하지 않으면 온체인에서 가져옵니다. 단일 예치금이 볼트의 유휴 유동성을 소비하는 양을 제한하려면 `depositBuffer` (예: 80%의 경우 `0.8`)를 전달하세요. 금액이 한도를 초과하면 SDK는 보내기 전에 오류를 발생시킵니다. +금액은 사람이 읽을 수 있는 형식입니다. 기본 자산 소수는 `tokenDecimals`를 전달하지 않는 한 온체인에서 가져옵니다. 단일 예치가 볼트의 유휴 유동성을 소비하는 양을 제한하려면 `depositBuffer`를 전달합니다(예: 80%의 경우 `0.8`); 금액이 한도를 초과하면 SDK는 보내기 전에 예외를 발생시킵니다. :::tip -재시도를 안전하게 하기 위해 `idempotencyKey`를 전달하세요. 동일한 키를 가진 호출이 이미 진행 중인 경우, SDK는 두 번째 트랜잭션을 보내는 대신 동일한 Promise를 반환합니다. +재시도해도 안전하도록 `idempotencyKey`를 전달하세요. 동일한 키를 가진 호출이 이미 진행 중인 경우, SDK는 두 번째 트랜잭션을 보내는 대신 동일한 Promise를 반환합니다. ::: ## 4. 포지션 확인 -공유 잔액과 현재 자산 가치를 가져옵니다. +지분 내역과 현재 자산 가치를 가져옵니다. ```ts const position = await reader.earn.position(); @@ -109,11 +109,11 @@ console.log("Shares:", position.sharesFormatted, "worth", position.assets); Shares: 100 worth 100.02 ``` -`shares`는 원시 잔액이고 `sharesFormatted`는 사람이 읽을 수 있는 값입니다. `assets`는 현재 해당 공유가 기본 단위로 얼마의 가치가 있는지 나타냅니다. +`shares`는 원시 내역이고 `sharesFormatted`는 사람이 읽을 수 있는 값입니다. `assets`는 현재 해당 지분이 기본 단위로 가치가 있는 금액입니다. ## 5. 인출 또는 상환 -특정 금액의 기본 자산을 인출하거나 일정 수의 공유를 상환합니다. 볼트의 유휴 유동성이 부족할 때, SDK는 차이를 충당하기 위해 볼트의 어댑터에서 자동으로 할당 해제합니다. +특정 금액의 기본 자산을 인출하거나, 특정 수의 지분을 상환합니다. 볼트의 유휴 유동성이 부족할 때, SDK는 자동으로 볼트의 어댑터에서 할당을 해제하여 차액을 보전합니다. ```ts const { txHash } = await stable.earn.withdraw({ amount: 50 }); @@ -124,7 +124,7 @@ console.log("Withdraw:", txHash); Withdraw: 0xabcd...7890 ``` -대신 공유 수로 상환하려면 `stable.earn.redeem({ shares: 25 })`를 사용하세요. 금액이 즉시 인출될 수 있는지 먼저 확인하려면 리더를 호출하세요: +지분 수량으로 상환하려면 `stable.earn.redeem({ shares: 25 })`를 사용합니다. 특정 금액이 즉시 인출될 수 있는지 먼저 확인하려면 리더를 호출합니다. ```ts const { isInstant, availableLiquidity } = await reader.earn.withdrawability({ amount: 50 }); @@ -135,11 +135,11 @@ console.log("Instant:", isInstant, "available:", availableLiquidity); Instant: true available: 12500.5 ``` -`isInstant`가 `false`인 경우에도 인출은 성공합니다. 단지 어댑터 할당 해제가 필요하며, 이는 `withdraw` 및 `redeem`이 자동으로 처리합니다. 어떤 어댑터에서 인출할지 수동으로 제어하려면 [`forceWithdraw` / `forceRedeem`](/ko/reference/sdk#forcewithdrawparams--forceredeemparams)을 사용하세요. +`isInstant`가 `false`인 경우에도 인출은 성공합니다. 단지 어댑터 할당 해제가 필요하며, 이는 `withdraw` 및 `redeem`이 자동으로 처리합니다. 어떤 어댑터에서 인출할지 수동으로 제어하려면 [`forceWithdraw` / `forceRedeem`](/ko/reference/sdk#forcewithdrawparams--forceredeemparams)을 사용합니다. ## 6. 인센티브 보상 청구 -볼트는 기본 수익 외에 Merkl 보상 토큰을 얻을 수 있습니다. 보류 중인 보상을 가져온 다음 청구합니다. 이 메서드에는 서명자가 필요하지만 `earn` 볼트 구성은 필요하지 않습니다. +볼트는 기본 수익 외에 Merkl 보상 토큰을 얻을 수 있습니다. 보류 중인 보상을 가져온 다음 청구합니다. 이 메서드는 서명자가 필요하지만, `earn` 볼트 구성은 필요하지 않습니다. ```ts const { rewards } = await stable.earn.incentiveRewards.fetch(); @@ -154,12 +154,12 @@ Claimed 1 token(s): 0xabcd...7890 ``` :::note -Merkl은 약 두 시간마다 보상을 머클 트리로 커밋합니다. 업데이트가 보류 중인 보상은 아직 청구할 수 없으며, 청구할 항목이 없을 때 `claim()`을 호출하면 `StableValidationError`가 발생합니다. 브라우저에서 Merkl API의 CORS 제한을 피하려면 `merklApiBase`를 자체 서버의 프록시로 설정하세요. +Merkl은 약 2시간마다 보상을 머클 트리로 커밋합니다. 업데이트가 보류 중인 보상은 아직 청구할 수 없으며, 청구할 수 있는 것이 없을 때 `claim()`을 호출하면 `StableValidationError`가 발생합니다. 브라우저에서 Merkl API의 CORS 제한을 피하려면 `merklApiBase`를 자체 서버의 프록시로 설정하세요. ::: -## SDK에서 서명하지 않으셨나요? +## SDK에서 서명하지 않으려면? -다른 곳에서 트랜잭션을 서명하는 경우(렐레이어, 가스 면제 흐름 또는 다중 서명), 보내지 않고 캘데이터를 빌드합니다: +트랜잭션을 다른 곳(릴레이어, 가스 면제 흐름 또는 멀티시그)에서 서명하는 경우, 보내지 않고 콜데이터를 빌드합니다. ```ts const { steps, chainId } = await stable.earn.prepareDepositCalldata({ amount: 100 }); @@ -169,10 +169,10 @@ const { steps, chainId } = await stable.earn.prepareDepositCalldata({ amount: 10 { steps: [ { to: "0x...", data: "0x...", value: 0n } ], chainId: 988 } ``` -`steps`는 선택적 승인과 예치로 구성된 정렬된 트랜잭션 목록입니다. `prepareWithdrawCalldata` 및 `prepareRedeemCalldata`는 각각 단일 `{ to, data, value, chainId }` 트랜잭션을 반환합니다. +`steps`는 순서가 지정된 트랜잭션 목록으로, 선택적 승인과 그 다음 예치가 포함됩니다. `prepareWithdrawCalldata` 및 `prepareRedeemCalldata`는 각각 단일 `{ to, data, value, chainId }` 트랜잭션을 반환합니다. -## 다음으로 이동할 곳 +## 다음 단계 -- [**SDK 참조**](/ko/reference/sdk#stableearn): 모든 수익 매개변수, 반환 유형 및 리더 메서드의 전체 내용. -- [**wagmi와 함께 사용하기**](/ko/how-to/sdk-with-wagmi): 사용자가 브라우저 지갑에서 예치할 수 있도록 SDK를 React 앱에 연결합니다. -- [**SDK 개요**](/ko/explanation/sdk-overview): SDK를 언제 사용해야 하는지, 그리고 서명 모드가 작동하는 방식. +- [**SDK 참조**](/ko/reference/sdk#stableearn): 모든 수익 매개변수, 반환 유형 및 리더 메서드 전체. +- [**wagmi와 함께 사용하기**](/ko/how-to/sdk-with-wagmi): SDK를 React 앱에 연결하여 사용자가 브라우저 지갑에서 예치하도록 합니다. +- [**SDK 개요**](/ko/explanation/sdk-overview): SDK를 언제 사용해야 하는지, 서명 모드가 어떻게 작동하는지.