SSkilltecabyclaudinhocode
Enviar skill
← Voltar para o catálogo

ai-bounty-claim

Design e Frontend

Utilize para reivindicar a recompensa de IA na sidechain principal tDVV. Esta skill de reivindicação pública suporta apenas Portkey AA/CA, exigindo sincronização CA e pré-verificação do titular antes de qualquer escrita, e direciona para onboarding, reivindicação ou diagnóstico de AA/CA.

69estrelas
Ver no GitHub ↗Autor: aelf-hzz780

AI Bounty Claim

Use this skill for AI bounty claiming on tDVV through RewardClaimContract.

For AA/CA, the standard wallet path in this skill is manager signer -> CA.ManagerForwardCall -> reward.ClaimByPortkeyToCa(Hash ca_hash).

This skill is intentionally split into one routing file plus focused branch references so weaker agents can follow one path at a time.

Skill Version

  • Current skill version: 3.0.0
  • If behavior seems inconsistent or an external AI reports unexpected output, ask them to report the version field from this SKILL.md first.

Compatibility

  • AA/CA dependency: @portkey/ca-agent-skills >= 2.3.0
  • AA/CA required dependency interfaces:
    • CLI: manager-sync-status
    • MCP: portkey_manager_sync_status

Scope

Supported claim path:

  • AA/CA: ManagerForwardCall(...) -> ClaimByPortkeyToCa(Hash ca_hash)

This skill does not implement:

  • wallet custody or wallet creation on behalf of the user
  • private key generation, storage, or import on behalf of the user
  • Portkey recovery flows on behalf of the user
  • blind retry loops after claim failures
  • legacy public EOA claim routing

Required Dependency Skills

Use these dependency skills explicitly instead of assuming the host will infer them:

  • Portkey CA skill: https://github.com/Portkey-Wallet/ca-agent-skills (minimum required version 2.3.0 for the AA/CA route)

Routing rule:

  • use the Portkey CA skill for local AA/CA account setup, caHash resolution, manager-sync-status, holder lookup on tDVV, and recovery/login only when needed to recover local context, resolve the target AA/CA on tDVV, or recover a usable manager signer

Current Environment Defaults

Use these defaults only when the user is clearly operating in the current AI bounty environment:

  • Chain: tDVV
  • Environment meaning: current AI bounty mainnet sidechain environment
  • Reward contract: ELF_2fc5uPpboX9K9e9NTiDHxhCcgP8T9nV28BLyK8rDu8JmDpn472_tDVV
  • Reward contract raw address: 2fc5uPpboX9K9e9NTiDHxhCcgP8T9nV28BLyK8rDu8JmDpn472
  • Public RPC: https://tdvv-public-node.aelf.io
  • RPC validation endpoint: https://tdvv-public-node.aelf.io/api/blockChain/chainStatus
  • Portkey CA contract: ELF_2UthYi7AHRdfrqc1YCfeQnjdChDLaas65bW4WxESMGMojFiXj9_tDVV
  • Portkey CA contract raw address: 2UthYi7AHRdfrqc1YCfeQnjdChDLaas65bW4WxESMGMojFiXj9
  • Current campaign default reward: Portkey AA/CA 2 AIBOUNTY

Treat reward amounts and addresses as campaign defaults, not permanent protocol constants.

Canonical AA/CA Claim Path

  • Always use manager signer -> Portkey CA contract ManagerForwardCall -> reward contract ClaimByPortkeyToCa(Hash ca_hash) as the standard AA/CA wallet operation.
  • Always apply this fixed read-only gate before any AA/CA write, and do not skip or reorder it:
    1. resolve the local AA/CA context and caHash
    2. call manager-sync-status or portkey_manager_sync_status
    3. call GetHolderInfo(caHash) on tDVV
    4. only continue when isManagerSynced=true and the holder can be resolved on tDVV
  • ClaimByPortkeyToCa(Hash ca_hash) is permissionless at the reward method layer, but this skill still models AA/CA claiming through the standard CA wallet forwarding path.
  • The forwarded reward still goes to the resolved holderInfo.CaAddress, not to the manager signer.
  • The forwarded reward method input is .aelf.Hash; pass caHash bytes as Hash.value.
  • For SDK or helper calls, use raw CA and reward addresses rather than the wrapped ELF_..._tDVV strings.
  • Prefer the high-level helper managerForwardCallWithKey(...) in the dependency implementation. Keep lower-level protobuf and descriptor details in the AA/CA branch reference.
  • If the selected CA dependency does not expose manager-sync-status or portkey_manager_sync_status, stop and tell the user to upgrade to @portkey/ca-agent-skills >= 2.3.0 before attempting AA/CA claim.

Gas Rules

Use these gas rules as current environment defaults:

  • AA/CA: when the selected signer appears to have little or no ELF, explain that the current environment may still provide a daily gas subsidy worth 1 ELF
  • AA/CA: if the standard wallet path is ready after the fixed read-only gate passes, do not stop before the first send only because visible ELF is low or zero; show the gas note, require explicit confirmation, and allow one attempt
  • AA/CA: never infer a fee problem from Holder is not found, CA holder not found, or any failed holder lookup; only the final chain error Transaction fee not enough may trigger fee guidance

Treat these gas rules as current environment defaults, not permanent protocol constants.

RPC validation note:

  • the RPC root URL may return 404
  • do not treat root-path 404 as proof that the node is down
  • validate node availability through /api/blockChain/chainStatus

Contract Introspection Guardrail

  • Do not use /api/contract/contractViewMethodList to conclude that the reward contract lacks write methods.
  • Treat /api/contract/contractViewMethodList as view-only discovery. If it only shows GetConfig, HasAddressClaimed, HasCaClaimed, or other read methods, that only proves those view methods are visible.
  • If full method verification is needed, use /api/blockChain/contractFileDescriptorSet only as an optional verification path, not as the default claim flow.
  • When using node introspection APIs, normalize the reward contract address into the format accepted by the endpoint. Do not send the wrapped ELF_..._tDVV address string directly.
  • If introspection is ambiguous, incomplete, or returns Not found because of query format issues, keep using the canonical reward contract address and the supported public AA/CA method already defined in this skill.

Required First Step

For generic claim requests, do not jump directly to an on-chain method.

Examples:

  • help me claim
  • claim for me
  • 帮我 Claim
  • 帮我领取

The agent must first explain:

  • AA/CA: account-style experience, typically based on email / guardian / recovery flows, current campaign reward is 2 AIBOUNTY
  • AA: this is the preferred user-facing term in this skill
  • CA: this is still accepted as an alias because some users still say CA
  • AA/CA: this route requires @portkey/ca-agent-skills >= 2.3.0 because claim preflight depends on manager-sync-status and holder lookup on tDVV
  • AA/CA: current environment gas experience is smoother because daily subsidy rules may apply automatically, and the first confirmed AA/CA attempt can usually be tried before fee is treated as the blocker
  • AA/CA: before any claim write, we must first confirm manager sync and holder readiness on tDVV
  • EOA: this public bounty skill no longer exposes the legacy EOA route, even if older contract source snapshots still show legacy methods

Then ask the user whether the local Portkey AA/CA context is already ready, or whether they want to recover/login first with email.

Routing Rules

Choose one branch before asking for extra claim inputs.

Branch 1: Account Choice And Onboarding

Read references/flows/account-choice.md when:

  • the user makes a generic claim request
  • examples: help me claim, claim for me, 帮我 Claim, 帮我领取
  • the local AA/CA account context is not ready yet
  • the user only has an email and needs onboarding, recovery, or login first

Branch 2: Diagnostics And Stop

Read references/flows/diagnostics-stop.md first when any of the following is true:

  • the user tries to fill an exchange address, custodial address, or any address without a user-controlled private key
  • the user wants the agent to create or hold a wallet for them
  • the user says Portkey AA/CA already exists on mainnet but cannot be resolved on tDVV
  • the selected Portkey CA dependency is below 2.3.0 or does not expose manager-sync-status / portkey_manager_sync_status
  • manager-sync-status ret

Como adicionar

/plugin marketplace add aelf-hzz780/AI-bounty-skill

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Comentários · Nenhum comentário

Entre para comentar. Entrar

  • Ainda não há comentários. Seja o primeiro.