basket-claim

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Basket Claim

篮子奖励领取

Claim payout from a settled PolyBaskets basket via
vara-wallet
.
通过
vara-wallet
从已结算的PolyBaskets篮子中领取奖励。

Setup

配置

MAINNET ONLY. Run
vara-wallet config set network mainnet
before anything else. NEVER switch to testnet — there are no contracts there.
bash
vara-wallet config set network mainnet
BASKET_MARKET="0x702395d43248eaa5f1fd4d9eadadc75b0fb1c7c5ae9ea20bf31375fd4358f403"
BET_LANE="0xf5aa436669bb3fc97c1675d06949592e8617f889cbd055451f321113b17bb564"
_PB="${POLYBASKETS_SKILLS_DIR:-skills}"
IDL="$_PB/idl/polymarket-mirror.idl"
BET_LANE_IDL="$_PB/idl/bet_lane_client.idl"
仅限主网。 先运行
vara-wallet config set network mainnet
。切勿切换到测试网——测试网没有相关合约。
bash
vara-wallet config set network mainnet
BASKET_MARKET="0x702395d43248eaa5f1fd4d9eadadc75b0fb1c7c5ae9ea20bf31375fd4358f403"
BET_LANE="0xf5aa436669bb3fc97c1675d06949592e8617f889cbd055451f321113b17bb564"
_PB="${POLYBASKETS_SKILLS_DIR:-skills}"
IDL="$_PB/idl/polymarket-mirror.idl"
BET_LANE_IDL="$_PB/idl/bet_lane_client.idl"

Pre-Check Workflow

预检查流程

1. Verify settlement is finalized

1. 验证结算已完成

bash
vara-wallet call $BASKET_MARKET BasketMarket/GetSettlement \
  --args '[<basket_id>]' --idl $IDL
Check the result:
  • status: "Finalized"
    — ready to claim
  • status: "Proposed"
    — challenge window not yet passed. If you have the settler role, see
    ../basket-settle/SKILL.md
    to finalize. Otherwise, wait for the settler to finalize (challenge window is ~12 minutes from
    proposed_at
    ).
  • Error
    SettlementNotFound
    — not yet settled
bash
undefined
bash
vara-wallet call $BASKET_MARKET BasketMarket/GetSettlement \
  --args '[<basket_id>]' --idl $IDL
检查结果:
  • status: "Finalized"
    — 可领取奖励
  • status: "Proposed"
    — 挑战窗口尚未结束。如果您拥有结算者角色,请查看
    ../basket-settle/SKILL.md
    完成结算。否则,请等待结算者完成结算(挑战窗口从
    proposed_at
    开始约12分钟)。
  • 错误
    SettlementNotFound
    — 尚未结算
bash
undefined

Parse settlement status

解析结算状态

vara-wallet call $BASKET_MARKET BasketMarket/GetSettlement
--args '[<basket_id>]' --idl $IDL | jq '.result.ok.status'

Get your hex address first (SS58 won't work for actor_id args):
```bash
MY_ADDR=$(vara-wallet balance | jq -r .address)
vara-wallet call $BASKET_MARKET BasketMarket/GetSettlement
--args '[<basket_id>]' --idl $IDL | jq '.result.ok.status'

先获取您的十六进制地址(actor_id参数不支持SS58格式):
```bash
MY_ADDR=$(vara-wallet balance | jq -r .address)

2. Verify position exists and is unclaimed

2. 验证持仓存在且未领取

bash
undefined
bash
undefined

VARA lane

VARA通道

vara-wallet call $BASKET_MARKET BasketMarket/GetPositions
--args '["'$MY_ADDR'"]' --idl $IDL | jq '.[] | select(.basket_id == <basket_id>)'
vara-wallet call $BASKET_MARKET BasketMarket/GetPositions
--args '["'$MY_ADDR'"]' --idl $IDL | jq '.[] | select(.basket_id == <basket_id>)'

BET lane

BET通道

vara-wallet call $BET_LANE BetLane/GetPosition
--args '["'$MY_ADDR'", <basket_id>]' --idl $BET_LANE_IDL

Check `claimed: false`.
vara-wallet call $BET_LANE BetLane/GetPosition
--args '["'$MY_ADDR'", <basket_id>]' --idl $BET_LANE_IDL

检查`claimed: false`。

Claim (VARA Lane)

领取奖励(VARA通道)

For baskets with
asset_kind: "Vara"
:
bash
vara-wallet --account agent call $BASKET_MARKET BasketMarket/Claim --voucher $VOUCHER_ID \
  --args '[<basket_id>]' --idl $IDL
Returns
u128
— payout amount in minimal VARA units (divide by 10^12 for VARA).
适用于
asset_kind: "Vara"
类型的篮子:
bash
vara-wallet --account agent call $BASKET_MARKET BasketMarket/Claim --voucher $VOUCHER_ID \
  --args '[<basket_id>]' --idl $IDL
返回
u128
——以最小VARA单位计算的奖励金额(除以10^12得到VARA数量)。

Example

示例

bash
undefined
bash
undefined

Claim from basket 0

领取篮子0的奖励

PAYOUT=$(vara-wallet --account agent call $BASKET_MARKET BasketMarket/Claim --voucher $VOUCHER_ID
--args '[0]' --idl $IDL) echo "Payout: $PAYOUT"
undefined
PAYOUT=$(vara-wallet --account agent call $BASKET_MARKET BasketMarket/Claim --voucher $VOUCHER_ID
--args '[0]' --idl $IDL) echo "Payout: $PAYOUT"
undefined

Claim (BET Token Lane)

领取奖励(BET代币通道)

For baskets with
asset_kind: "Bet"
:
bash
vara-wallet --account agent call $BET_LANE BetLane/Claim --voucher $VOUCHER_ID \
  --args '[<basket_id>]' --idl $BET_LANE_IDL
Returns
u256
— payout amount in BET token units.
适用于
asset_kind: "Bet"
类型的篮子:
bash
vara-wallet --account agent call $BET_LANE BetLane/Claim --voucher $VOUCHER_ID \
  --args '[<basket_id>]' --idl $BET_LANE_IDL
返回
u256
——以BET代币单位计算的奖励金额。

Example

示例

bash
undefined
bash
undefined

Claim from basket 1 via BET lane

通过BET通道领取篮子1的奖励

vara-wallet --account agent call $BET_LANE BetLane/Claim --voucher $VOUCHER_ID
--args '[1]' --idl $BET_LANE_IDL
undefined
vara-wallet --account agent call $BET_LANE BetLane/Claim --voucher $VOUCHER_ID
--args '[1]' --idl $BET_LANE_IDL
undefined

Payout Calculation

奖励计算

payout = shares * (settlement_index / entry_index)
The
payout_per_share
is pre-computed in the Settlement struct during proposal. You can preview your expected payout before claiming:
bash
undefined
payout = shares * (settlement_index / entry_index)
payout_per_share
是在提案阶段的Settlement结构体中预先计算好的。您可以在领取前预览预期奖励:
bash
undefined

Get settlement payout_per_share

获取结算的payout_per_share

SETTLEMENT=$(vara-wallet call $BASKET_MARKET BasketMarket/GetSettlement
--args '[<basket_id>]' --idl $IDL) echo $SETTLEMENT | jq '.result.ok.payout_per_share'

See `../references/index-math.md` for detailed formula and examples.
SETTLEMENT=$(vara-wallet call $BASKET_MARKET BasketMarket/GetSettlement
--args '[<basket_id>]' --idl $IDL) echo $SETTLEMENT | jq '.result.ok.payout_per_share'

详细公式和示例请查看`../references/index-math.md`。

Verify After Claim

领取后验证

bash
undefined
bash
undefined

Check position is now claimed

检查持仓是否已领取

vara-wallet call $BASKET_MARKET BasketMarket/GetPositions
--args '["'$MY_ADDR'"]' --idl $IDL | jq '.[] | select(.basket_id == <basket_id>) | .claimed'
vara-wallet call $BASKET_MARKET BasketMarket/GetPositions
--args '["'$MY_ADDR'"]' --idl $IDL | jq '.[] | select(.basket_id == <basket_id>) | .claimed'

Check VARA balance increased

检查VARA余额是否增加

vara-wallet balance
undefined
vara-wallet balance
undefined

Common Errors

常见错误

ErrorCauseFix
SettlementNotFinalized
Settlement not yet finalizedWait for finalization
AlreadyClaimed
Already claimed this basketNo action needed
NothingToClaim
No position in this basketVerify position exists
SettlementNotFound
No settlement proposedWait for settler to propose
TransferFailed
VARA transfer failedCheck contract balance, retry
错误原因解决方法
SettlementNotFinalized
结算尚未完成等待结算完成
AlreadyClaimed
该篮子的奖励已领取无需操作
NothingToClaim
您在该篮子中没有持仓验证持仓是否存在
SettlementNotFound
尚未提交结算提案等待结算者提交提案
TransferFailed
VARA转账失败检查合约余额,重试