@vouch-protocol/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 (46) hide show
  1. package/README.md +87 -0
  2. package/dist/sdk/src/config.d.ts +18 -0
  3. package/dist/sdk/src/config.d.ts.map +1 -0
  4. package/dist/sdk/src/config.js +48 -0
  5. package/dist/sdk/src/config.js.map +1 -0
  6. package/dist/sdk/src/constants.d.ts +111 -0
  7. package/dist/sdk/src/constants.d.ts.map +1 -0
  8. package/dist/sdk/src/constants.js +123 -0
  9. package/dist/sdk/src/constants.js.map +1 -0
  10. package/dist/sdk/src/credentials.d.ts +85 -0
  11. package/dist/sdk/src/credentials.d.ts.map +1 -0
  12. package/dist/sdk/src/credentials.js +91 -0
  13. package/dist/sdk/src/credentials.js.map +1 -0
  14. package/dist/sdk/src/did.d.ts +68 -0
  15. package/dist/sdk/src/did.d.ts.map +1 -0
  16. package/dist/sdk/src/did.js +89 -0
  17. package/dist/sdk/src/did.js.map +1 -0
  18. package/dist/sdk/src/index.d.ts +9 -0
  19. package/dist/sdk/src/index.d.ts.map +1 -0
  20. package/dist/sdk/src/index.js +28 -0
  21. package/dist/sdk/src/index.js.map +1 -0
  22. package/dist/sdk/src/registry.d.ts +69 -0
  23. package/dist/sdk/src/registry.d.ts.map +1 -0
  24. package/dist/sdk/src/registry.js +179 -0
  25. package/dist/sdk/src/registry.js.map +1 -0
  26. package/dist/sdk/src/types.d.ts +107 -0
  27. package/dist/sdk/src/types.d.ts.map +1 -0
  28. package/dist/sdk/src/types.js +46 -0
  29. package/dist/sdk/src/types.js.map +1 -0
  30. package/dist/sdk/src/vault.d.ts +51 -0
  31. package/dist/sdk/src/vault.d.ts.map +1 -0
  32. package/dist/sdk/src/vault.js +128 -0
  33. package/dist/sdk/src/vault.js.map +1 -0
  34. package/dist/target/types/kya.d.ts +5074 -0
  35. package/dist/target/types/kya.d.ts.map +1 -0
  36. package/dist/target/types/kya.js +3 -0
  37. package/dist/target/types/kya.js.map +1 -0
  38. package/package.json +41 -0
  39. package/src/config.ts +55 -0
  40. package/src/constants.ts +134 -0
  41. package/src/credentials.ts +115 -0
  42. package/src/did.ts +140 -0
  43. package/src/index.ts +8 -0
  44. package/src/registry.ts +287 -0
  45. package/src/types.ts +129 -0
  46. package/src/vault.ts +208 -0
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VaultClient = void 0;
4
+ const anchor_1 = require("@coral-xyz/anchor");
5
+ const web3_js_1 = require("@solana/web3.js");
6
+ const spl_token_1 = require("@solana/spl-token");
7
+ const constants_1 = require("./constants");
8
+ class VaultClient {
9
+ constructor(program, provider) {
10
+ this.program = program;
11
+ this.provider = provider;
12
+ }
13
+ // ── PDA derivation ──
14
+ static findConfigPda(programId = constants_1.VOUCH_PROGRAM_ID) {
15
+ return web3_js_1.PublicKey.findProgramAddressSync([constants_1.SEEDS.VOUCH_CONFIG], programId);
16
+ }
17
+ static findStakePda(agentPda, programId = constants_1.VOUCH_PROGRAM_ID) {
18
+ return web3_js_1.PublicKey.findProgramAddressSync([constants_1.SEEDS.STAKE, agentPda.toBuffer()], programId);
19
+ }
20
+ static findWithdrawalPda(stakeAccountPda, programId = constants_1.VOUCH_PROGRAM_ID) {
21
+ return web3_js_1.PublicKey.findProgramAddressSync([constants_1.SEEDS.WITHDRAWAL, stakeAccountPda.toBuffer()], programId);
22
+ }
23
+ /**
24
+ * V6-M04: Derive the canonical vault token account (ATA of config PDA for USDC mint).
25
+ * This is the only vault address accepted by the on-chain program.
26
+ */
27
+ static findVaultTokenAccount(usdcMint, programId = constants_1.VOUCH_PROGRAM_ID) {
28
+ const [configPda] = VaultClient.findConfigPda(programId);
29
+ return (0, spl_token_1.getAssociatedTokenAddressSync)(usdcMint, configPda, true);
30
+ }
31
+ // ── Instructions (agent owner / user operations) ──
32
+ async deposit(params) {
33
+ const [configPda] = VaultClient.findConfigPda(this.program.programId);
34
+ const [stakePda] = VaultClient.findStakePda(params.agentPda, this.program.programId);
35
+ return this.program.methods
36
+ .deposit(new anchor_1.BN(params.amount))
37
+ .accounts({
38
+ owner: params.owner,
39
+ config: configPda,
40
+ agent: params.agentPda,
41
+ stakeAccount: stakePda,
42
+ ownerTokenAccount: params.ownerTokenAccount,
43
+ vaultTokenAccount: params.vaultTokenAccount,
44
+ tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
45
+ systemProgram: web3_js_1.SystemProgram.programId,
46
+ })
47
+ .rpc();
48
+ }
49
+ async requestWithdrawal(params) {
50
+ const [configPda] = VaultClient.findConfigPda(this.program.programId);
51
+ const [withdrawalPda] = VaultClient.findWithdrawalPda(params.stakeAccountPda, this.program.programId);
52
+ return this.program.methods
53
+ .requestWithdrawal(new anchor_1.BN(params.amount))
54
+ .accounts({
55
+ owner: params.owner,
56
+ config: configPda,
57
+ agent: params.agentPda,
58
+ stakeAccount: params.stakeAccountPda,
59
+ withdrawalRequest: withdrawalPda,
60
+ systemProgram: web3_js_1.SystemProgram.programId,
61
+ })
62
+ .rpc();
63
+ }
64
+ async completeWithdrawal(params) {
65
+ const [configPda] = VaultClient.findConfigPda(this.program.programId);
66
+ const [withdrawalPda] = VaultClient.findWithdrawalPda(params.stakeAccountPda, this.program.programId);
67
+ return this.program.methods
68
+ .completeWithdrawal()
69
+ .accounts({
70
+ owner: params.owner,
71
+ config: configPda,
72
+ agent: params.agentPda,
73
+ stakeAccount: params.stakeAccountPda,
74
+ withdrawalRequest: withdrawalPda,
75
+ vaultTokenAccount: params.vaultTokenAccount,
76
+ ownerTokenAccount: params.ownerTokenAccount,
77
+ tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
78
+ systemProgram: web3_js_1.SystemProgram.programId,
79
+ })
80
+ .rpc();
81
+ }
82
+ async cancelWithdrawal(params) {
83
+ const [configPda] = VaultClient.findConfigPda(this.program.programId);
84
+ const [withdrawalPda] = VaultClient.findWithdrawalPda(params.stakeAccountPda, this.program.programId);
85
+ return this.program.methods
86
+ .cancelWithdrawal()
87
+ .accounts({
88
+ owner: params.owner,
89
+ config: configPda,
90
+ agent: params.agentPda,
91
+ stakeAccount: params.stakeAccountPda,
92
+ withdrawalRequest: withdrawalPda,
93
+ })
94
+ .rpc();
95
+ }
96
+ // ── Instructions (owner cleanup operations) ──
97
+ async closeStake(params) {
98
+ const [configPda] = VaultClient.findConfigPda(this.program.programId);
99
+ const [stakePda] = VaultClient.findStakePda(params.agentPda, this.program.programId);
100
+ return this.program.methods
101
+ .closeStake()
102
+ .accounts({
103
+ owner: params.owner,
104
+ config: configPda,
105
+ agent: params.agentPda,
106
+ stakeAccount: stakePda,
107
+ })
108
+ .rpc();
109
+ }
110
+ // ── Fetchers ──
111
+ async fetchConfig() {
112
+ const [configPda] = VaultClient.findConfigPda(this.program.programId);
113
+ return this.program.account.vouchConfig.fetch(configPda);
114
+ }
115
+ async fetchStakeAccount(stakePda) {
116
+ return this.program.account.stakeAccount.fetch(stakePda);
117
+ }
118
+ async fetchStakeByAgent(agentPda) {
119
+ const [stakePda] = VaultClient.findStakePda(agentPda, this.program.programId);
120
+ return this.fetchStakeAccount(stakePda);
121
+ }
122
+ async fetchWithdrawalRequest(stakeAccountPda) {
123
+ const [withdrawalPda] = VaultClient.findWithdrawalPda(stakeAccountPda, this.program.programId);
124
+ return this.program.account.withdrawalRequest.fetch(withdrawalPda);
125
+ }
126
+ }
127
+ exports.VaultClient = VaultClient;
128
+ //# sourceMappingURL=vault.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vault.js","sourceRoot":"","sources":["../../../src/vault.ts"],"names":[],"mappings":"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"}