@lombard.finance/sdk-agentkit 0.1.0 → 0.2.0-canary.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -55,10 +55,10 @@ const agent = createReactAgent({ llm: yourModel, tools });
55
55
  | Action | Description |
56
56
  | ------ | ----------- |
57
57
  | `stake_btcb_to_lbtc` | Stake BTC.b to receive LBTC. Handles approval and fee authorization automatically |
58
- | `unstake_lbtc` | Unstake LBTC to native BTC (cross-chain) or BTC.b (same-chain) |
58
+ | `unstake_lbtc_to_btc` | Unstake LBTC to native BTC (cross-chain) or BTC.b (same-chain) |
59
59
  | `redeem_lbtc_to_btcb` | Simple same-chain LBTC to BTC.b conversion |
60
- | `deploy_to_defi` | Deploy LBTC into a DeFi vault (Bitcoin Earn) for additional yield |
61
- | `claim_deposit` | Claim a notarized BTC deposit to mint LBTC |
60
+ | `deploy_to_earn` | Deploy LBTC into a DeFi vault (Bitcoin Earn) for additional yield |
61
+ | `claim_lbtc_deposit` | Claim a notarized BTC deposit to mint LBTC |
62
62
 
63
63
  ### Read Actions
64
64
 
@@ -68,7 +68,7 @@ const agent = createReactAgent({ llm: yourModel, tools });
68
68
  | `get_btcb_balance` | Check BTC.b balance for any address on the current chain |
69
69
  | `get_lbtc_exchange_rate` | Current LBTC/BTC exchange rate and minimum stake amount |
70
70
  | `get_deposit_status` | Track all deposits (pending, claimable, claimed, failed) |
71
- | `get_unstake_status` | Track all unstake and redemption operations |
71
+ | `get_redemption_status` | Track all unstake and redemption operations |
72
72
 
73
73
  ## Supported Networks
74
74
 
package/dist/index.cjs CHANGED
@@ -3264,7 +3264,7 @@ function _ts_metadata(k, v) {
3264
3264
  try {
3265
3265
  const resolved = resolveNetwork(walletProvider.getNetwork());
3266
3266
  if (!resolved) {
3267
- return formatError("unstake_lbtc", "Current network is not supported by Lombard");
3267
+ return formatError("unstake_lbtc_to_btc", "Current network is not supported by Lombard");
3268
3268
  }
3269
3269
  const { chainId, env } = resolved;
3270
3270
  const account = walletProvider.getAddress();
@@ -3281,7 +3281,7 @@ function _ts_metadata(k, v) {
3281
3281
  provider,
3282
3282
  env
3283
3283
  });
3284
- return formatSuccess("unstake_lbtc", {
3284
+ return formatSuccess("unstake_lbtc_to_btc", {
3285
3285
  txHash,
3286
3286
  amount: args.amount,
3287
3287
  to: "BTC",
@@ -3307,9 +3307,9 @@ function _ts_metadata(k, v) {
3307
3307
  if (args.recipient && args.recipient.toLowerCase() !== account.toLowerCase()) {
3308
3308
  result.warning = "BTC.b redemption always sends to the connected wallet. The recipient address was ignored.";
3309
3309
  }
3310
- return formatSuccess("unstake_lbtc", result);
3310
+ return formatSuccess("unstake_lbtc_to_btc", result);
3311
3311
  } catch (error) {
3312
- return formatError("unstake_lbtc", error);
3312
+ return formatError("unstake_lbtc_to_btc", error);
3313
3313
  }
3314
3314
  }
3315
3315
  async redeemLbtcToBtcb(walletProvider, args) {
@@ -3345,7 +3345,7 @@ function _ts_metadata(k, v) {
3345
3345
  try {
3346
3346
  const resolved = resolveNetwork(walletProvider.getNetwork());
3347
3347
  if (!resolved) {
3348
- return formatError("deploy_to_defi", "Current network is not supported by Lombard");
3348
+ return formatError("deploy_to_earn", "Current network is not supported by Lombard");
3349
3349
  }
3350
3350
  const { chainId } = resolved;
3351
3351
  const account = walletProvider.getAddress();
@@ -3360,20 +3360,20 @@ function _ts_metadata(k, v) {
3360
3360
  rpcUrl: undefined,
3361
3361
  env: resolved.env
3362
3362
  });
3363
- return formatSuccess("deploy_to_defi", {
3363
+ return formatSuccess("deploy_to_earn", {
3364
3364
  txHash,
3365
3365
  amount: args.amount,
3366
3366
  asset: "LBTC"
3367
3367
  });
3368
3368
  } catch (error) {
3369
- return formatError("deploy_to_defi", error);
3369
+ return formatError("deploy_to_earn", error);
3370
3370
  }
3371
3371
  }
3372
3372
  async claimDeposit(walletProvider, args) {
3373
3373
  try {
3374
3374
  const resolved = resolveNetwork(walletProvider.getNetwork());
3375
3375
  if (!resolved) {
3376
- return formatError("claim_deposit", "Current network is not supported by Lombard");
3376
+ return formatError("claim_lbtc_deposit", "Current network is not supported by Lombard");
3377
3377
  }
3378
3378
  const { chainId, env } = resolved;
3379
3379
  const account = walletProvider.getAddress();
@@ -3385,15 +3385,15 @@ function _ts_metadata(k, v) {
3385
3385
  });
3386
3386
  const deposit = deposits.find((d)=>d.txHash === args.depositTxHash);
3387
3387
  if (!deposit) {
3388
- return formatError("claim_deposit", `No deposit found with txHash: ${args.depositTxHash}`);
3388
+ return formatError("claim_lbtc_deposit", `No deposit found with txHash: ${args.depositTxHash}`);
3389
3389
  }
3390
3390
  const status = sdk.getDepositStatus(deposit);
3391
3391
  if (status !== "claimable") {
3392
3392
  const display = sdk.getDepositStatusDisplay(status);
3393
- return formatError("claim_deposit", `Deposit is not claimable. Current status: ${display.label} - ${display.description}`);
3393
+ return formatError("claim_lbtc_deposit", `Deposit is not claimable. Current status: ${display.label} - ${display.description}`);
3394
3394
  }
3395
3395
  if (!deposit.rawPayload || !deposit.proof) {
3396
- return formatError("claim_deposit", "Deposit proof data is not yet available");
3396
+ return formatError("claim_lbtc_deposit", "Deposit proof data is not yet available");
3397
3397
  }
3398
3398
  const txHash = await sdk.claimLBTC({
3399
3399
  data: deposit.rawPayload,
@@ -3403,12 +3403,12 @@ function _ts_metadata(k, v) {
3403
3403
  provider,
3404
3404
  env
3405
3405
  });
3406
- return formatSuccess("claim_deposit", {
3406
+ return formatSuccess("claim_lbtc_deposit", {
3407
3407
  txHash,
3408
3408
  depositTxHash: args.depositTxHash
3409
3409
  });
3410
3410
  } catch (error) {
3411
- return formatError("claim_deposit", error);
3411
+ return formatError("claim_lbtc_deposit", error);
3412
3412
  }
3413
3413
  }
3414
3414
  // ─── Read Actions ───────────────────────────────────────────────────
@@ -3514,7 +3514,7 @@ function _ts_metadata(k, v) {
3514
3514
  try {
3515
3515
  const resolved = resolveNetwork(walletProvider.getNetwork());
3516
3516
  if (!resolved) {
3517
- return formatError("get_unstake_status", "Current network is not supported by Lombard");
3517
+ return formatError("get_redemption_status", "Current network is not supported by Lombard");
3518
3518
  }
3519
3519
  const { env } = resolved;
3520
3520
  const address = args.address || walletProvider.getAddress();
@@ -3523,7 +3523,7 @@ function _ts_metadata(k, v) {
3523
3523
  env
3524
3524
  });
3525
3525
  if (unstakes.length === 0) {
3526
- return formatSuccess("get_unstake_status", {
3526
+ return formatSuccess("get_redemption_status", {
3527
3527
  address,
3528
3528
  unstakes: [],
3529
3529
  message: "No unstakes found for this address"
@@ -3536,13 +3536,13 @@ function _ts_metadata(k, v) {
3536
3536
  payoutTxHash: u.payoutTxHash || null,
3537
3537
  toAddress: u.toAddress || null
3538
3538
  }));
3539
- return formatSuccess("get_unstake_status", {
3539
+ return formatSuccess("get_redemption_status", {
3540
3540
  address,
3541
3541
  totalUnstakes: unstakes.length,
3542
3542
  unstakes: summaries
3543
3543
  });
3544
3544
  } catch (error) {
3545
- return formatError("get_unstake_status", error);
3545
+ return formatError("get_redemption_status", error);
3546
3546
  }
3547
3547
  }
3548
3548
  // ─── Private Helpers ────────────────────────────────────────────────
@@ -3603,7 +3603,7 @@ _ts_decorate([
3603
3603
  ], LombardActionProvider.prototype, "stakeBtcbToLbtc", null);
3604
3604
  _ts_decorate([
3605
3605
  agentkit.CreateAction({
3606
- name: "unstake_lbtc",
3606
+ name: "unstake_lbtc_to_btc",
3607
3607
  description: "Unstake LBTC (Lombard Staked Bitcoin). " + "Output can be native BTC (cross-chain, requires a Bitcoin address) or BTC.b (same EVM chain). " + "BTC unstaking takes longer as it crosses chains. BTC.b is faster, same-chain.",
3608
3608
  schema: UnstakeLbtcSchema
3609
3609
  }),
@@ -3617,7 +3617,7 @@ _ts_decorate([
3617
3617
  _ts_decorate([
3618
3618
  agentkit.CreateAction({
3619
3619
  name: "redeem_lbtc_to_btcb",
3620
- description: "Use this for simple same-chain LBTC to BTC.b conversion. " + "For cross-chain unstaking to native BTC, use unstake_lbtc instead.",
3620
+ description: "Use this for simple same-chain LBTC to BTC.b conversion. " + "For cross-chain unstaking to native BTC, use unstake_lbtc_to_btc instead.",
3621
3621
  schema: RedeemLbtcToBtcbSchema
3622
3622
  }),
3623
3623
  _ts_metadata("design:type", Function),
@@ -3629,7 +3629,7 @@ _ts_decorate([
3629
3629
  ], LombardActionProvider.prototype, "redeemLbtcToBtcb", null);
3630
3630
  _ts_decorate([
3631
3631
  agentkit.CreateAction({
3632
- name: "deploy_to_defi",
3632
+ name: "deploy_to_earn",
3633
3633
  description: "Deploy LBTC into a DeFi vault to earn additional yield. " + "Currently supports the Veda vault. " + "Handles approval automatically.",
3634
3634
  schema: DeployToDefiSchema
3635
3635
  }),
@@ -3642,7 +3642,7 @@ _ts_decorate([
3642
3642
  ], LombardActionProvider.prototype, "deployToDefi", null);
3643
3643
  _ts_decorate([
3644
3644
  agentkit.CreateAction({
3645
- name: "claim_deposit",
3645
+ name: "claim_lbtc_deposit",
3646
3646
  description: "Claim a notarized deposit to mint LBTC. " + "Use get_deposit_status first to check if a deposit is claimable. " + 'Only deposits with status "claimable" can be claimed.',
3647
3647
  schema: ClaimDepositSchema
3648
3648
  }),
@@ -3695,7 +3695,7 @@ _ts_decorate([
3695
3695
  _ts_decorate([
3696
3696
  agentkit.CreateAction({
3697
3697
  name: "get_deposit_status",
3698
- description: "Check the status of all deposits for an address. " + "Shows pending, claimable, claimed, and failed deposits. " + "Use this to find claimable deposits before calling claim_deposit.",
3698
+ description: "Check the status of all deposits for an address. " + "Shows pending, claimable, claimed, and failed deposits. " + "Use this to find claimable deposits before calling claim_lbtc_deposit.",
3699
3699
  schema: GetDepositStatusSchema
3700
3700
  }),
3701
3701
  _ts_metadata("design:type", Function),
@@ -3707,7 +3707,7 @@ _ts_decorate([
3707
3707
  ], LombardActionProvider.prototype, "getDepositStatusAction", null);
3708
3708
  _ts_decorate([
3709
3709
  agentkit.CreateAction({
3710
- name: "get_unstake_status",
3710
+ name: "get_redemption_status",
3711
3711
  description: "Check the status of all unstake/redeem operations for an address. " + "Shows pending and completed unstakes with payout transaction details.",
3712
3712
  schema: GetUnstakeStatusSchema
3713
3713
  }),
package/dist/index.js CHANGED
@@ -3260,7 +3260,7 @@ function _ts_metadata(k, v) {
3260
3260
  try {
3261
3261
  const resolved = resolveNetwork(walletProvider.getNetwork());
3262
3262
  if (!resolved) {
3263
- return formatError("unstake_lbtc", "Current network is not supported by Lombard");
3263
+ return formatError("unstake_lbtc_to_btc", "Current network is not supported by Lombard");
3264
3264
  }
3265
3265
  const { chainId, env } = resolved;
3266
3266
  const account = walletProvider.getAddress();
@@ -3277,7 +3277,7 @@ function _ts_metadata(k, v) {
3277
3277
  provider,
3278
3278
  env
3279
3279
  });
3280
- return formatSuccess("unstake_lbtc", {
3280
+ return formatSuccess("unstake_lbtc_to_btc", {
3281
3281
  txHash,
3282
3282
  amount: args.amount,
3283
3283
  to: "BTC",
@@ -3303,9 +3303,9 @@ function _ts_metadata(k, v) {
3303
3303
  if (args.recipient && args.recipient.toLowerCase() !== account.toLowerCase()) {
3304
3304
  result.warning = "BTC.b redemption always sends to the connected wallet. The recipient address was ignored.";
3305
3305
  }
3306
- return formatSuccess("unstake_lbtc", result);
3306
+ return formatSuccess("unstake_lbtc_to_btc", result);
3307
3307
  } catch (error) {
3308
- return formatError("unstake_lbtc", error);
3308
+ return formatError("unstake_lbtc_to_btc", error);
3309
3309
  }
3310
3310
  }
3311
3311
  async redeemLbtcToBtcb(walletProvider, args) {
@@ -3341,7 +3341,7 @@ function _ts_metadata(k, v) {
3341
3341
  try {
3342
3342
  const resolved = resolveNetwork(walletProvider.getNetwork());
3343
3343
  if (!resolved) {
3344
- return formatError("deploy_to_defi", "Current network is not supported by Lombard");
3344
+ return formatError("deploy_to_earn", "Current network is not supported by Lombard");
3345
3345
  }
3346
3346
  const { chainId } = resolved;
3347
3347
  const account = walletProvider.getAddress();
@@ -3356,20 +3356,20 @@ function _ts_metadata(k, v) {
3356
3356
  rpcUrl: undefined,
3357
3357
  env: resolved.env
3358
3358
  });
3359
- return formatSuccess("deploy_to_defi", {
3359
+ return formatSuccess("deploy_to_earn", {
3360
3360
  txHash,
3361
3361
  amount: args.amount,
3362
3362
  asset: "LBTC"
3363
3363
  });
3364
3364
  } catch (error) {
3365
- return formatError("deploy_to_defi", error);
3365
+ return formatError("deploy_to_earn", error);
3366
3366
  }
3367
3367
  }
3368
3368
  async claimDeposit(walletProvider, args) {
3369
3369
  try {
3370
3370
  const resolved = resolveNetwork(walletProvider.getNetwork());
3371
3371
  if (!resolved) {
3372
- return formatError("claim_deposit", "Current network is not supported by Lombard");
3372
+ return formatError("claim_lbtc_deposit", "Current network is not supported by Lombard");
3373
3373
  }
3374
3374
  const { chainId, env } = resolved;
3375
3375
  const account = walletProvider.getAddress();
@@ -3381,15 +3381,15 @@ function _ts_metadata(k, v) {
3381
3381
  });
3382
3382
  const deposit = deposits.find((d)=>d.txHash === args.depositTxHash);
3383
3383
  if (!deposit) {
3384
- return formatError("claim_deposit", `No deposit found with txHash: ${args.depositTxHash}`);
3384
+ return formatError("claim_lbtc_deposit", `No deposit found with txHash: ${args.depositTxHash}`);
3385
3385
  }
3386
3386
  const status = getDepositStatus(deposit);
3387
3387
  if (status !== "claimable") {
3388
3388
  const display = getDepositStatusDisplay(status);
3389
- return formatError("claim_deposit", `Deposit is not claimable. Current status: ${display.label} - ${display.description}`);
3389
+ return formatError("claim_lbtc_deposit", `Deposit is not claimable. Current status: ${display.label} - ${display.description}`);
3390
3390
  }
3391
3391
  if (!deposit.rawPayload || !deposit.proof) {
3392
- return formatError("claim_deposit", "Deposit proof data is not yet available");
3392
+ return formatError("claim_lbtc_deposit", "Deposit proof data is not yet available");
3393
3393
  }
3394
3394
  const txHash = await claimLBTC({
3395
3395
  data: deposit.rawPayload,
@@ -3399,12 +3399,12 @@ function _ts_metadata(k, v) {
3399
3399
  provider,
3400
3400
  env
3401
3401
  });
3402
- return formatSuccess("claim_deposit", {
3402
+ return formatSuccess("claim_lbtc_deposit", {
3403
3403
  txHash,
3404
3404
  depositTxHash: args.depositTxHash
3405
3405
  });
3406
3406
  } catch (error) {
3407
- return formatError("claim_deposit", error);
3407
+ return formatError("claim_lbtc_deposit", error);
3408
3408
  }
3409
3409
  }
3410
3410
  // ─── Read Actions ───────────────────────────────────────────────────
@@ -3510,7 +3510,7 @@ function _ts_metadata(k, v) {
3510
3510
  try {
3511
3511
  const resolved = resolveNetwork(walletProvider.getNetwork());
3512
3512
  if (!resolved) {
3513
- return formatError("get_unstake_status", "Current network is not supported by Lombard");
3513
+ return formatError("get_redemption_status", "Current network is not supported by Lombard");
3514
3514
  }
3515
3515
  const { env } = resolved;
3516
3516
  const address = args.address || walletProvider.getAddress();
@@ -3519,7 +3519,7 @@ function _ts_metadata(k, v) {
3519
3519
  env
3520
3520
  });
3521
3521
  if (unstakes.length === 0) {
3522
- return formatSuccess("get_unstake_status", {
3522
+ return formatSuccess("get_redemption_status", {
3523
3523
  address,
3524
3524
  unstakes: [],
3525
3525
  message: "No unstakes found for this address"
@@ -3532,13 +3532,13 @@ function _ts_metadata(k, v) {
3532
3532
  payoutTxHash: u.payoutTxHash || null,
3533
3533
  toAddress: u.toAddress || null
3534
3534
  }));
3535
- return formatSuccess("get_unstake_status", {
3535
+ return formatSuccess("get_redemption_status", {
3536
3536
  address,
3537
3537
  totalUnstakes: unstakes.length,
3538
3538
  unstakes: summaries
3539
3539
  });
3540
3540
  } catch (error) {
3541
- return formatError("get_unstake_status", error);
3541
+ return formatError("get_redemption_status", error);
3542
3542
  }
3543
3543
  }
3544
3544
  // ─── Private Helpers ────────────────────────────────────────────────
@@ -3599,7 +3599,7 @@ _ts_decorate([
3599
3599
  ], LombardActionProvider.prototype, "stakeBtcbToLbtc", null);
3600
3600
  _ts_decorate([
3601
3601
  CreateAction({
3602
- name: "unstake_lbtc",
3602
+ name: "unstake_lbtc_to_btc",
3603
3603
  description: "Unstake LBTC (Lombard Staked Bitcoin). " + "Output can be native BTC (cross-chain, requires a Bitcoin address) or BTC.b (same EVM chain). " + "BTC unstaking takes longer as it crosses chains. BTC.b is faster, same-chain.",
3604
3604
  schema: UnstakeLbtcSchema
3605
3605
  }),
@@ -3613,7 +3613,7 @@ _ts_decorate([
3613
3613
  _ts_decorate([
3614
3614
  CreateAction({
3615
3615
  name: "redeem_lbtc_to_btcb",
3616
- description: "Use this for simple same-chain LBTC to BTC.b conversion. " + "For cross-chain unstaking to native BTC, use unstake_lbtc instead.",
3616
+ description: "Use this for simple same-chain LBTC to BTC.b conversion. " + "For cross-chain unstaking to native BTC, use unstake_lbtc_to_btc instead.",
3617
3617
  schema: RedeemLbtcToBtcbSchema
3618
3618
  }),
3619
3619
  _ts_metadata("design:type", Function),
@@ -3625,7 +3625,7 @@ _ts_decorate([
3625
3625
  ], LombardActionProvider.prototype, "redeemLbtcToBtcb", null);
3626
3626
  _ts_decorate([
3627
3627
  CreateAction({
3628
- name: "deploy_to_defi",
3628
+ name: "deploy_to_earn",
3629
3629
  description: "Deploy LBTC into a DeFi vault to earn additional yield. " + "Currently supports the Veda vault. " + "Handles approval automatically.",
3630
3630
  schema: DeployToDefiSchema
3631
3631
  }),
@@ -3638,7 +3638,7 @@ _ts_decorate([
3638
3638
  ], LombardActionProvider.prototype, "deployToDefi", null);
3639
3639
  _ts_decorate([
3640
3640
  CreateAction({
3641
- name: "claim_deposit",
3641
+ name: "claim_lbtc_deposit",
3642
3642
  description: "Claim a notarized deposit to mint LBTC. " + "Use get_deposit_status first to check if a deposit is claimable. " + 'Only deposits with status "claimable" can be claimed.',
3643
3643
  schema: ClaimDepositSchema
3644
3644
  }),
@@ -3691,7 +3691,7 @@ _ts_decorate([
3691
3691
  _ts_decorate([
3692
3692
  CreateAction({
3693
3693
  name: "get_deposit_status",
3694
- description: "Check the status of all deposits for an address. " + "Shows pending, claimable, claimed, and failed deposits. " + "Use this to find claimable deposits before calling claim_deposit.",
3694
+ description: "Check the status of all deposits for an address. " + "Shows pending, claimable, claimed, and failed deposits. " + "Use this to find claimable deposits before calling claim_lbtc_deposit.",
3695
3695
  schema: GetDepositStatusSchema
3696
3696
  }),
3697
3697
  _ts_metadata("design:type", Function),
@@ -3703,7 +3703,7 @@ _ts_decorate([
3703
3703
  ], LombardActionProvider.prototype, "getDepositStatusAction", null);
3704
3704
  _ts_decorate([
3705
3705
  CreateAction({
3706
- name: "get_unstake_status",
3706
+ name: "get_redemption_status",
3707
3707
  description: "Check the status of all unstake/redeem operations for an address. " + "Shows pending and completed unstakes with payout transaction details.",
3708
3708
  schema: GetUnstakeStatusSchema
3709
3709
  }),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lombard.finance/sdk-agentkit",
3
- "version": "0.1.0",
3
+ "version": "0.2.0-canary.11",
4
4
  "description": "Lombard Action Provider for Coinbase AgentKit - stake BTC, mint LBTC, and interact with DeFi via AI agents",
5
5
  "exports": {
6
6
  ".": {
@@ -57,8 +57,8 @@
57
57
  "zod": "^3.22.0"
58
58
  },
59
59
  "dependencies": {
60
- "@lombard.finance/sdk": "5.0.4",
61
- "@lombard.finance/sdk-common": "4.0.0",
60
+ "@lombard.finance/sdk": "5.1.0-canary.11",
61
+ "@lombard.finance/sdk-common": "4.1.0-canary.11",
62
62
  "reflect-metadata": "^0.2.2"
63
63
  },
64
64
  "devDependencies": {