Pet Operator

v1.2.0

Delegate Aavegotchi petting rights to AAI's wallet on Base. Generate approve/revoke tx data, check approval, and maintain delegated wallet bookkeeping in pet...

0· 379· 3 versions· 0 current· 0 all-time· Updated 2h ago· MIT-0

pet-operator

Set or revoke AAI as pet operator for user wallets, and keep delegation bookkeeping aligned.

Constants

  • AAI operator wallet: 0xb96B48a6B190A9d509cE9312654F34E9770F2110
  • Aavegotchi Diamond: 0xA99c4B08201F2913Db8D28e71d020c4298F29dBF
  • Chain: Base mainnet (8453)
  • RPC default: https://mainnet.base.org

Overridable env:

  • AAVEGOTCHI_DIAMOND
  • AAI_OPERATOR
  • BASE_RPC_URL
  • PET_ME_CONFIG_FILE

Scripts

  • ./scripts/check-approval.sh <wallet>
    • Checks isPetOperatorForAll(owner, operator).
  • ./scripts/generate-delegation-tx.sh <wallet>
    • Generates call data for setPetOperatorForAll(AAI_OPERATOR, true).
  • ./scripts/generate-revoke-tx.sh <wallet>
    • Generates call data for setPetOperatorForAll(AAI_OPERATOR, false).
  • ./scripts/add-delegated-wallet.sh <wallet> [name]
    • Verifies approval, fetches owned gotchi IDs, upserts into pet-me-master config.
  • ./scripts/remove-delegated-wallet.sh <wallet>
    • Removes wallet bookkeeping entries from config.

Config Bookkeeping

add-delegated-wallet.sh writes to:

  • .delegatedWallets (preferred)
  • .wallets (legacy compatibility, only if present)

This does not grant on-chain permissions by itself; on-chain approval must already exist.

Security

  • Operator permission only enables petting, not transfer.
  • User keeps full ownership.
  • Revocation is one on-chain tx away.

Version tags

latestvk9707r0nma5g3907wk7yth156182ct3x

Runtime requirements

Binscast, jq