@telaro/sdk 0.1.0

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.
Files changed (76) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/QUICKSTART.md +216 -0
  3. package/README.md +129 -0
  4. package/dist/accounts.d.ts +51 -0
  5. package/dist/accounts.d.ts.map +1 -0
  6. package/dist/accounts.js +169 -0
  7. package/dist/accounts.js.map +1 -0
  8. package/dist/api.d.ts +177 -0
  9. package/dist/api.d.ts.map +1 -0
  10. package/dist/api.js +158 -0
  11. package/dist/api.js.map +1 -0
  12. package/dist/borsh.d.ts +33 -0
  13. package/dist/borsh.d.ts.map +1 -0
  14. package/dist/borsh.js +100 -0
  15. package/dist/borsh.js.map +1 -0
  16. package/dist/client.d.ts +70 -0
  17. package/dist/client.d.ts.map +1 -0
  18. package/dist/client.js +164 -0
  19. package/dist/client.js.map +1 -0
  20. package/dist/constants.d.ts +46 -0
  21. package/dist/constants.d.ts.map +1 -0
  22. package/dist/constants.js +47 -0
  23. package/dist/constants.js.map +1 -0
  24. package/dist/credit.d.ts +61 -0
  25. package/dist/credit.d.ts.map +1 -0
  26. package/dist/credit.js +133 -0
  27. package/dist/credit.js.map +1 -0
  28. package/dist/decimal.d.ts +36 -0
  29. package/dist/decimal.d.ts.map +1 -0
  30. package/dist/decimal.js +87 -0
  31. package/dist/decimal.js.map +1 -0
  32. package/dist/discriminators.d.ts +86 -0
  33. package/dist/discriminators.d.ts.map +1 -0
  34. package/dist/discriminators.js +100 -0
  35. package/dist/discriminators.js.map +1 -0
  36. package/dist/events.d.ts +268 -0
  37. package/dist/events.d.ts.map +1 -0
  38. package/dist/events.js +223 -0
  39. package/dist/events.js.map +1 -0
  40. package/dist/format.d.ts +10 -0
  41. package/dist/format.d.ts.map +1 -0
  42. package/dist/format.js +39 -0
  43. package/dist/format.js.map +1 -0
  44. package/dist/hash.d.ts +9 -0
  45. package/dist/hash.d.ts.map +1 -0
  46. package/dist/hash.js +33 -0
  47. package/dist/hash.js.map +1 -0
  48. package/dist/index.d.ts +17 -0
  49. package/dist/index.d.ts.map +1 -0
  50. package/dist/index.js +17 -0
  51. package/dist/index.js.map +1 -0
  52. package/dist/instructions.d.ts +368 -0
  53. package/dist/instructions.d.ts.map +1 -0
  54. package/dist/instructions.js +841 -0
  55. package/dist/instructions.js.map +1 -0
  56. package/dist/metaplex.d.ts +64 -0
  57. package/dist/metaplex.d.ts.map +1 -0
  58. package/dist/metaplex.js +123 -0
  59. package/dist/metaplex.js.map +1 -0
  60. package/dist/pda.d.ts +35 -0
  61. package/dist/pda.d.ts.map +1 -0
  62. package/dist/pda.js +84 -0
  63. package/dist/pda.js.map +1 -0
  64. package/dist/realtime.d.ts +67 -0
  65. package/dist/realtime.d.ts.map +1 -0
  66. package/dist/realtime.js +112 -0
  67. package/dist/realtime.js.map +1 -0
  68. package/dist/score.d.ts +51 -0
  69. package/dist/score.d.ts.map +1 -0
  70. package/dist/score.js +63 -0
  71. package/dist/score.js.map +1 -0
  72. package/dist/types.d.ts +139 -0
  73. package/dist/types.d.ts.map +1 -0
  74. package/dist/types.js +51 -0
  75. package/dist/types.js.map +1 -0
  76. package/package.json +88 -0
@@ -0,0 +1,368 @@
1
+ import { PublicKey, TransactionInstruction } from "@solana/web3.js";
2
+ export interface InitAgentAccounts {
3
+ controller: PublicKey;
4
+ }
5
+ /**
6
+ * Step 1 of registration. Creates the Agent + ActionLog accounts. The agent
7
+ * is born frozen — it can't `record_action` until step 2 (`bond_agent`)
8
+ * posts a bond. Pair both ix in the same transaction for atomic registration.
9
+ */
10
+ export declare function buildInitAgentIx(accounts: InitAgentAccounts, args: {
11
+ framework: string;
12
+ metadataUri: string;
13
+ scorer: PublicKey;
14
+ bondMint: PublicKey;
15
+ }, programId?: PublicKey): TransactionInstruction;
16
+ export interface BondAgentAccounts {
17
+ agent: PublicKey;
18
+ bondMint: PublicKey;
19
+ payer: PublicKey;
20
+ payerBondAta: PublicKey;
21
+ }
22
+ /**
23
+ * Step 2 of registration (or a top-up later on). Initializes the bond vault
24
+ * if it doesn't exist yet, transfers USDC, and unfreezes the agent if its
25
+ * bond ≥ MIN_BOND_USDC.
26
+ */
27
+ export declare function buildBondAgentIx(accounts: BondAgentAccounts, amount: bigint, programId?: PublicKey): TransactionInstruction;
28
+ /**
29
+ * High-level setup helper: produces the instructions for a complete
30
+ * agent onboarding in a single transaction. Up to 4 instructions:
31
+ *
32
+ * 1. init_agent
33
+ * 2. bond_agent (transfers the first bond)
34
+ * 3. init_marginfi_account (only if `marginfi` is supplied)
35
+ * 4. init_lp_position (only if `marginfi` is supplied)
36
+ *
37
+ * Why not a single on-chain `setup_agent` ix: combining init_agent +
38
+ * bond_agent on-chain pushes Anchor's `try_accounts` generated code
39
+ * past the 4096-byte SBPF v1 stack frame. The runtime guard would only
40
+ * lift under `--arch v2`, which today's bankrun toolchain doesn't load.
41
+ * Packing the 4 ix into one transaction gives the same UX (atomic, one
42
+ * sendTx call) without that ABI risk.
43
+ *
44
+ * Caveat: the resulting transaction must fit in 1232 bytes. Empirically:
45
+ * - register + bond only: ~280 bytes
46
+ * - + init_marginfi + init_lp: ~830 bytes
47
+ * Both comfortably under the limit. If future ix grow this, split.
48
+ *
49
+ * The caller must sign with `controller` (and the freshly-generated
50
+ * `marginfiAccount` keypair if `marginfi` is supplied — returned in
51
+ * `signers`).
52
+ */
53
+ export interface FullAgentSetupArgs {
54
+ controller: PublicKey;
55
+ controllerBondAta: PublicKey;
56
+ framework: string;
57
+ metadataUri: string;
58
+ scorer: PublicKey;
59
+ bondMint: PublicKey;
60
+ bondAmount: bigint;
61
+ /** Provide to also init MarginfiAccount + LpPosition in the same tx. */
62
+ marginfi?: {
63
+ /** Yield router authority that will later sign route/harvest/unroute. */
64
+ yieldRouter: PublicKey;
65
+ /** The MarginFi v2 (or stub) program ID on this cluster. */
66
+ marginfiProgram: PublicKey;
67
+ /** MarginFi lending group pubkey. */
68
+ marginfiGroup: PublicKey;
69
+ /** USDC bank pubkey. */
70
+ marginfiBank: PublicKey;
71
+ };
72
+ }
73
+ export interface FullAgentSetupResult {
74
+ ixs: TransactionInstruction[];
75
+ /** Extra Keypairs the caller must sign with, in addition to `controller`.
76
+ * Currently: the fresh MarginfiAccount keypair (only if marginfi
77
+ * was requested). */
78
+ marginfiAccountKeypair: import("@solana/web3.js").Keypair | null;
79
+ }
80
+ export declare function buildFullAgentSetup(args: FullAgentSetupArgs, programId?: PublicKey): FullAgentSetupResult;
81
+ export declare function buildRecordActionIx(controller: PublicKey, args: {
82
+ actionHash: Uint8Array;
83
+ kind: number;
84
+ outcome: number;
85
+ valueAtomic: bigint;
86
+ }, programId?: PublicKey): TransactionInstruction;
87
+ export interface TopUpAccounts {
88
+ agent: PublicKey;
89
+ bondMint: PublicKey;
90
+ payer: PublicKey;
91
+ payerBondAta: PublicKey;
92
+ }
93
+ export declare function buildTopUpIx(accounts: TopUpAccounts, amount: bigint, programId?: PublicKey): TransactionInstruction;
94
+ export interface SubmitClaimAccounts {
95
+ agent: PublicKey;
96
+ bondMint: PublicKey;
97
+ claimer: PublicKey;
98
+ claimerBondAta: PublicKey;
99
+ }
100
+ export declare function buildSubmitClaimIx(accounts: SubmitClaimAccounts, args: {
101
+ actionHash: Uint8Array;
102
+ claimedAmount: bigint;
103
+ evidenceUri: string;
104
+ }, programId?: PublicKey): TransactionInstruction;
105
+ /**
106
+ * Convenience: build the two ix needed for full registration. Pack both into
107
+ * a single Transaction for atomic register-and-bond.
108
+ */
109
+ export declare function buildRegisterAndBondIxs(args: {
110
+ controller: PublicKey;
111
+ controllerBondAta: PublicKey;
112
+ framework: string;
113
+ metadataUri: string;
114
+ scorer: PublicKey;
115
+ bondMint: PublicKey;
116
+ bondAmount: bigint;
117
+ }, programId?: PublicKey): [TransactionInstruction, TransactionInstruction];
118
+ export interface ResolveClaimAccounts {
119
+ agent: PublicKey;
120
+ claim: PublicKey;
121
+ bondMint: PublicKey;
122
+ claimerBondAta: PublicKey;
123
+ signer: PublicKey;
124
+ }
125
+ export declare function buildResolveClaimIx(accounts: ResolveClaimAccounts, action: number, programId?: PublicKey): TransactionInstruction;
126
+ export declare function buildUpdateScoreIx(agent: PublicKey, scorer: PublicKey, args: {
127
+ newScore: number;
128
+ bondRatioBps: number;
129
+ }, programId?: PublicKey): TransactionInstruction;
130
+ export interface WithdrawBondAccounts {
131
+ agent: PublicKey;
132
+ bondMint: PublicKey;
133
+ controller: PublicKey;
134
+ controllerBondAta: PublicKey;
135
+ }
136
+ export declare function buildWithdrawBondIx(accounts: WithdrawBondAccounts, amount: bigint, programId?: PublicKey): TransactionInstruction;
137
+ export declare function buildViewBondIx(agent: PublicKey, args: {
138
+ minBond: bigint;
139
+ minScore: number;
140
+ }, programId?: PublicKey): TransactionInstruction;
141
+ export interface RegisterCapabilitiesAccounts {
142
+ agent: PublicKey;
143
+ controller: PublicKey;
144
+ }
145
+ /**
146
+ * Idempotently set the agent's declared capability bitmap. The bitmap
147
+ * is a u64 where bit `n` set means the agent has capability id `n`.
148
+ * Use `capabilitiesBitmap([CAPABILITY_SWAP, CAPABILITY_LP])` to compose.
149
+ */
150
+ export declare function buildRegisterCapabilitiesIx(accounts: RegisterCapabilitiesAccounts, bitmap: bigint, programId?: PublicKey): TransactionInstruction;
151
+ /**
152
+ * Capability-aware view_bond. Same checks as `view_bond` PLUS the agent
153
+ * must have capability bit `capabilityBit` set in its registry. Use
154
+ * this when gating a specific surface (Jupiter for swap, Kamino for
155
+ * lending, etc.).
156
+ */
157
+ export declare function buildInitScoreFeedIx(agent: PublicKey, payer: PublicKey, programId?: PublicKey): TransactionInstruction;
158
+ export declare function buildPushScoreIx(agent: PublicKey, programId?: PublicKey): TransactionInstruction;
159
+ /**
160
+ * CPI gate for the score feed. `maxStalenessSecs = 0` disables the
161
+ * freshness check.
162
+ */
163
+ export declare function buildViewScoreIx(agent: PublicKey, args: {
164
+ minScore: number;
165
+ maxStalenessSecs: bigint;
166
+ }, programId?: PublicKey): TransactionInstruction;
167
+ export declare function buildViewBondCapabilityIx(agent: PublicKey, args: {
168
+ minBond: bigint;
169
+ minScore: number;
170
+ capabilityBit: number;
171
+ }, programId?: PublicKey): TransactionInstruction;
172
+ export interface AccrueYieldAccounts {
173
+ agent: PublicKey;
174
+ bondMint: PublicKey;
175
+ /** Scorer's own ATA holding the yield USDC pulled from the external source. */
176
+ sourceAta: PublicKey;
177
+ /** The agent's registered scorer pubkey. */
178
+ scorer: PublicKey;
179
+ }
180
+ export declare function buildAccrueYieldIx(accounts: AccrueYieldAccounts, amount: bigint, programId?: PublicKey): TransactionInstruction;
181
+ export interface ClaimBuilderYieldAccounts {
182
+ agent: PublicKey;
183
+ bondMint: PublicKey;
184
+ controller: PublicKey;
185
+ controllerAta: PublicKey;
186
+ }
187
+ export declare function buildClaimBuilderYieldIx(accounts: ClaimBuilderYieldAccounts, amount: bigint, programId?: PublicKey): TransactionInstruction;
188
+ export interface ClaimTreasuryYieldAccounts {
189
+ agent: PublicKey;
190
+ bondMint: PublicKey;
191
+ /** = scorer in v0; signs the treasury withdrawal. */
192
+ scorer: PublicKey;
193
+ /** Scorer/treasury operator's ATA receiving the funds. */
194
+ treasuryAta: PublicKey;
195
+ }
196
+ export declare function buildClaimTreasuryYieldIx(accounts: ClaimTreasuryYieldAccounts, amount: bigint, programId?: PublicKey): TransactionInstruction;
197
+ export interface EscalateClaimAccounts {
198
+ claim: PublicKey;
199
+ agent: PublicKey;
200
+ bondMint: PublicKey;
201
+ claimerBondAta: PublicKey;
202
+ claimer: PublicKey;
203
+ }
204
+ /** User escalates a rejected claim. Pays additional 5% deposit; the
205
+ * protocol arbiter has 7d to rule. Only the original claimer can call,
206
+ * and only within ESCALATION_WINDOW_SECONDS (24h) of resolve. */
207
+ export declare function buildEscalateClaimIx(accounts: EscalateClaimAccounts, programId?: PublicKey): TransactionInstruction;
208
+ export interface ArbiterResolveAccounts {
209
+ claim: PublicKey;
210
+ agent: PublicKey;
211
+ bondMint: PublicKey;
212
+ claimerBondAta: PublicKey;
213
+ arbiter: PublicKey;
214
+ }
215
+ /** ArbiterRuling: 0 = ForUser, 1 = ForBuilder. */
216
+ export declare enum ArbiterRuling {
217
+ ForUser = 0,
218
+ ForBuilder = 1
219
+ }
220
+ export declare function buildArbiterResolveIx(accounts: ArbiterResolveAccounts, ruling: ArbiterRuling, programId?: PublicKey): TransactionInstruction;
221
+ export interface ArbiterTimeoutAccounts {
222
+ claim: PublicKey;
223
+ agent: PublicKey;
224
+ bondMint: PublicKey;
225
+ claimerBondAta: PublicKey;
226
+ cranker: PublicKey;
227
+ }
228
+ /** Anyone can crank after 7d arbiter window — defaults ForUser auto-payout. */
229
+ export declare function buildArbiterTimeoutIx(accounts: ArbiterTimeoutAccounts, programId?: PublicKey): TransactionInstruction;
230
+ export interface InitTsusdcMintAccounts {
231
+ agent: PublicKey;
232
+ payer: PublicKey;
233
+ }
234
+ /** One-shot init of the per-agent tsUSDC mint + config PDA. */
235
+ export declare function buildInitTsusdcMintIx(accounts: InitTsusdcMintAccounts, programId?: PublicKey): TransactionInstruction;
236
+ export interface MintTsusdcAccounts {
237
+ agent: PublicKey;
238
+ controller: PublicKey;
239
+ /** Controller's tsUSDC ATA. Caller is responsible for creating it. */
240
+ recipientAta: PublicKey;
241
+ }
242
+ /** First-mint tokenization (1:1 with current_bond). One-shot per agent. */
243
+ export declare function buildMintTsusdcIx(accounts: MintTsusdcAccounts, programId?: PublicKey): TransactionInstruction;
244
+ export interface BurnTsusdcAccounts {
245
+ agent: PublicKey;
246
+ holder: PublicKey;
247
+ holderAta: PublicKey;
248
+ }
249
+ /** Burn tsUSDC; anyone holding the token can call. */
250
+ export declare function buildBurnTsusdcIx(accounts: BurnTsusdcAccounts, amount: bigint, programId?: PublicKey): TransactionInstruction;
251
+ export interface InitUnderwriterPoolAccounts {
252
+ bondMint: PublicKey;
253
+ admin: PublicKey;
254
+ }
255
+ export declare function buildInitUnderwriterPoolIx(accounts: InitUnderwriterPoolAccounts, depositCap: bigint, programId?: PublicKey): TransactionInstruction;
256
+ export interface DepositToPoolAccounts {
257
+ bondMint: PublicKey;
258
+ depositor: PublicKey;
259
+ /** Depositor's USDC source ATA. */
260
+ depositorAta: PublicKey;
261
+ /** Depositor's stUSDC receiving ATA. */
262
+ depositorStusdcAta: PublicKey;
263
+ }
264
+ export declare function buildDepositToPoolIx(accounts: DepositToPoolAccounts, amount: bigint, programId?: PublicKey): TransactionInstruction;
265
+ export interface WithdrawFromPoolAccounts {
266
+ bondMint: PublicKey;
267
+ holder: PublicKey;
268
+ holderStusdcAta: PublicKey;
269
+ holderAta: PublicKey;
270
+ }
271
+ export declare function buildWithdrawFromPoolIx(accounts: WithdrawFromPoolAccounts, stusdcAmount: bigint, programId?: PublicKey): TransactionInstruction;
272
+ export interface ProcessPoolYieldAccounts {
273
+ sourceAta: PublicKey;
274
+ sourceAuthority: PublicKey;
275
+ }
276
+ export declare function buildProcessPoolYieldIx(accounts: ProcessPoolYieldAccounts, amount: bigint, programId?: PublicKey): TransactionInstruction;
277
+ export { LP_KIND_MARGINFI } from "./pda.js";
278
+ export interface InitLpPositionAccounts {
279
+ agent: PublicKey;
280
+ payer: PublicKey;
281
+ }
282
+ /**
283
+ * One-shot init for a per-agent LP position. Pins which MarginFi account
284
+ * + bank this agent routes into. Caller supplies `marginfiAccount` (the
285
+ * MarginfiAccount must already have been created off-chain via the
286
+ * MarginFi SDK with bond_vault PDA as authority).
287
+ */
288
+ export declare function buildInitLpPositionIx(accounts: InitLpPositionAccounts, lpKind: number, yieldRouter: PublicKey, marginfiAccount: PublicKey, marginfiBank: PublicKey, programId?: PublicKey): TransactionInstruction;
289
+ /**
290
+ * MarginFi route/harvest/unroute share most accounts. The
291
+ * `harvest` and `unroute` paths additionally need
292
+ * `marginfiBankLiquidityVaultAuthority` for the withdraw CPI signer.
293
+ */
294
+ export interface InitMarginfiAccountAccounts {
295
+ agent: PublicKey;
296
+ /** Fresh keypair for the new MarginfiAccount. Caller signs the outer tx
297
+ * with this keypair. */
298
+ marginfiAccount: PublicKey;
299
+ /** Pre-existing SPL TokenAccount at the bond_vault PDA. */
300
+ bondVaultMintWitness: PublicKey;
301
+ marginfiGroup: PublicKey;
302
+ marginfiProgram: PublicKey;
303
+ feePayer: PublicKey;
304
+ }
305
+ export declare function buildInitMarginfiAccountIx(accounts: InitMarginfiAccountAccounts, programId?: PublicKey): TransactionInstruction;
306
+ export interface MarginfiRouteAccounts {
307
+ agent: PublicKey;
308
+ bondMint: PublicKey;
309
+ yieldRouter: PublicKey;
310
+ marginfiGroup: PublicKey;
311
+ marginfiAccount: PublicKey;
312
+ marginfiBank: PublicKey;
313
+ marginfiBankLiquidityVault: PublicKey;
314
+ marginfiProgram: PublicKey;
315
+ }
316
+ export interface MarginfiWithdrawAccounts extends MarginfiRouteAccounts {
317
+ /** MarginFi-owned PDA, derived from [b"liquidity_vault_auth", bank].
318
+ * Real MarginFi: same seed. Stub: same seed. */
319
+ marginfiBankLiquidityVaultAuthority: PublicKey;
320
+ }
321
+ export declare function buildRouteToMarginfiIx(accounts: MarginfiRouteAccounts, amount: bigint, programId?: PublicKey): TransactionInstruction;
322
+ export declare function buildHarvestMarginfiYieldIx(accounts: MarginfiWithdrawAccounts, yieldAmount: bigint, programId?: PublicKey): TransactionInstruction;
323
+ export declare function buildUnrouteFromMarginfiIx(accounts: MarginfiWithdrawAccounts, amount: bigint, reason: number, programId?: PublicKey): TransactionInstruction;
324
+ export interface InitKaminoObligationAccounts {
325
+ agent: PublicKey;
326
+ /** Fresh keypair for the new Obligation. Caller signs outer tx. */
327
+ obligation: PublicKey;
328
+ bondVaultMintWitness: PublicKey;
329
+ kaminoLendingMarket: PublicKey;
330
+ kaminoProgram: PublicKey;
331
+ feePayer: PublicKey;
332
+ }
333
+ export declare function buildInitKaminoObligationIx(accounts: InitKaminoObligationAccounts, programId?: PublicKey): TransactionInstruction;
334
+ export interface KaminoRoutingAccounts {
335
+ agent: PublicKey;
336
+ bondMint: PublicKey;
337
+ yieldRouter: PublicKey;
338
+ kaminoLendingMarket: PublicKey;
339
+ kaminoLendingMarketAuthority: PublicKey;
340
+ kaminoReserve: PublicKey;
341
+ kaminoObligation: PublicKey;
342
+ kaminoReserveLiquiditySupply: PublicKey;
343
+ kaminoReserveCollateralMint: PublicKey;
344
+ bondVaultCollateralAta: PublicKey;
345
+ kaminoProgram: PublicKey;
346
+ }
347
+ export declare function buildRouteToKaminoIx(accounts: KaminoRoutingAccounts, amount: bigint, programId?: PublicKey): TransactionInstruction;
348
+ export declare function buildHarvestKaminoYieldIx(accounts: KaminoRoutingAccounts, yieldAmount: bigint, programId?: PublicKey): TransactionInstruction;
349
+ export declare function buildUnrouteFromKaminoIx(accounts: KaminoRoutingAccounts, amount: bigint, reason: number, programId?: PublicKey): TransactionInstruction;
350
+ export interface InitProtocolConfigAccounts {
351
+ admin: PublicKey;
352
+ }
353
+ export declare function buildInitProtocolConfigIx(accounts: InitProtocolConfigAccounts, initialArbiter: PublicKey, programId?: PublicKey): TransactionInstruction;
354
+ export interface SetProtocolArbiterAccounts {
355
+ admin: PublicKey;
356
+ }
357
+ export declare function buildSetProtocolArbiterIx(accounts: SetProtocolArbiterAccounts, newArbiter: PublicKey, programId?: PublicKey): TransactionInstruction;
358
+ export interface RequestCreditAccounts {
359
+ agent: PublicKey;
360
+ controller: PublicKey;
361
+ }
362
+ export declare function buildRequestCreditIx(accounts: RequestCreditAccounts, amount: bigint, programId?: PublicKey): TransactionInstruction;
363
+ export interface RepayCreditAccounts {
364
+ agent: PublicKey;
365
+ payer: PublicKey;
366
+ }
367
+ export declare function buildRepayCreditIx(accounts: RepayCreditAccounts, amount: bigint, programId?: PublicKey): TransactionInstruction;
368
+ //# sourceMappingURL=instructions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../src/instructions.ts"],"names":[],"mappings":"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"}