@sogalabhi/ability-automatic-stake
v1.1.4
Published
Vincent ability to automatically stake user deposits to fitness challenges on behalf of users
Downloads
29
Maintainers
Readme
Auto-Stake Challenge Ability
Vincent ability that automatically stakes user deposits to FitStake challenges via PKP.
Overview
This ability accepts user deposits and automatically executes the joinChallenge() transaction on behalf of users, allowing for automated DeFi participation without requiring users to manage gas or sign transactions manually.
Features
- Automated Staking: PKP stakes user funds to challenges
- Pre-validation: Checks challenge status and stake amount before execution
- Error Handling: Comprehensive error messages for debugging
- Gas Management: PKP covers gas costs
Installation
npm install @sogalabhi/ability-auto-stakeUsage
import { bundledVincentAbility } from '@sogalabhi/ability-auto-stake';
// Execute via Vincent Ability Client
const result = await vincentAbilityClient.execute(
{
challengeId: 1,
userAddress: '0x...',
contractAddress: '0xe38d8f585936c60ecb7bfae7297457f6a35058bb',
stakeAmount: '10000000000000000' // 0.01 ETH in wei
},
{
delegatorPkpEthAddress: PKP_ADDRESS
}
);Parameters
| Parameter | Type | Description |
|-----------|------|-------------|
| challengeId | number | Challenge ID to join |
| userAddress | string | User's wallet address |
| contractAddress | string | Challenge contract address |
| stakeAmount | string | Stake amount in wei |
Response
Success:
{
"success": true,
"transactionHash": "0x...",
"challengeId": 1,
"userAddress": "0x...",
"stakedAmount": "10000000000000000",
"blockNumber": 123456
}Error:
{
"success": false,
"error": "CHALLENGE_NOT_FOUND",
"reason": "Challenge 1 does not exist"
}Development
Build:
npm run buildDeploy to IPFS:
npm run deployLicense
MIT
