@zebec-network/zebec-vault-sdk 1.0.8 → 1.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.
package/README.md CHANGED
@@ -2,29 +2,29 @@
2
2
 
3
3
  ## Installation
4
4
 
5
- ```
5
+ ```bash
6
6
  yarn add @zebec-network/zebec-vault-sdk
7
7
  ```
8
8
 
9
- ```
9
+ ```bash
10
10
  npm install @zebec-network/zebec-vault-sdk
11
11
  ```
12
12
 
13
13
  ## Dependency Map
14
14
 
15
- ![VaultSDKDependencyMap](./assets/VaultSDKDependencyMap.png)
15
+ ![Vault SDK Dependency Map](./assets/VaultSDKDependencyMap.png)
16
16
 
17
17
  ## Development
18
18
 
19
19
  To build the package
20
20
 
21
- ```
21
+ ```bash
22
22
  yarn build
23
23
  ```
24
24
 
25
25
  To run specific test filess
26
26
 
27
- ```
27
+ ```bash
28
28
  yarn test <test file path> -f "<regex for test name>"
29
29
  // example:
30
30
  // yarn test ./test/<filename>.test.ts
@@ -34,7 +34,7 @@ yarn test <test file path> -f "<regex for test name>"
34
34
 
35
35
  Build package and bump package version to specific need and publish
36
36
 
37
- ```
37
+ ```bash
38
38
  npm publish --access public
39
39
  ```
40
40
 
@@ -56,7 +56,7 @@ const service = await ZebecVaultService.create(provider, network);
56
56
  const vaultKeypair = Keypair.generate();
57
57
  console.log("Vault Keypair:", vaultKeypair.publicKey.toBase58());
58
58
  const payload = await service.createVault({
59
- vaultKeypair,
59
+ vaultKeypair,
60
60
  });
61
61
 
62
62
  const signature = await payload.execute({ commitment: "finalized" });
@@ -108,3 +108,112 @@ const amount = 1;
108
108
  const payload = await service.withdrawToken({ amount, vault, tokenMint });
109
109
  const signature = await payload.execute({ commitment: "finalized" });
110
110
  ```
111
+
112
+ ### Execute Proposal Direct
113
+
114
+ ```ts
115
+ const proposer = <wallet public key>;
116
+ const vault = <vault public key>;
117
+
118
+ const memoInstruction = new TransactionInstruction({
119
+ keys: [],
120
+ programId: MEMO_PROGRAM_ID,
121
+ data: Buffer.from("This is test memo", "utf8"),
122
+ });
123
+ const actions = [memoInstruction];
124
+
125
+ const payload = await service.executeProposalDirect({
126
+ actions,
127
+ proposer,
128
+ vault,
129
+ });
130
+
131
+ const signature = await payload.execute({ commitment: "finalized" });
132
+ console.log("Execute Proposal Direct Signature:", signature);
133
+ ```
134
+
135
+ ### Create Proposal
136
+
137
+ ```ts
138
+ const proposer = <wallet public key>;
139
+ const receiver = <wallet public Key>;
140
+ const vault = <vault public key>;
141
+
142
+ const [vaultSigner] = deriveVaultSigner(vault, service.programId);
143
+ const name = "Transfer Funds";
144
+ const ix = SystemProgram.transfer({
145
+ fromPubkey: vaultSigner,
146
+ toPubkey: receiver,
147
+ lamports: Number(parseSol(1)),
148
+ });
149
+ const actions = [ix];
150
+ const proposalKeypair = Keypair.generate();
151
+
152
+ const createProposalPayload = await service.createProposal({
153
+ actions,
154
+ name,
155
+ proposer,
156
+ vault,
157
+ proposalKeypair,
158
+ });
159
+
160
+ const signature = await createProposalPayload.execute({ commitment: "finalized" });
161
+ ```
162
+
163
+ ### Append Actions
164
+
165
+ ```ts
166
+ const proposal = <proposal public key>;
167
+
168
+ const ixB = new TransactionInstruction({
169
+ keys: [],
170
+ programId: MEMO_PROGRAM_ID,
171
+ data: Buffer.from("This is test memo", "utf8"),
172
+ });
173
+ const actionsB = [ixB];
174
+
175
+ const appendActionsPayload = await service.appendActions({
176
+ actions: actionsB,
177
+ proposal,
178
+ });
179
+
180
+ const appendActionsSignature = await appendActionsPayload.execute({ commitment: "confirmed" });
181
+ ```
182
+
183
+ ### Execute Proposal
184
+
185
+ ```ts
186
+ const proposal = <proposal public key>;
187
+ const payload = await service.executeProposal({
188
+ proposal,
189
+ });
190
+
191
+ const signature = await payload.execute({ commitment: "confirmed" });
192
+ console.log("Execute Proposal Signature:", signature);
193
+ ```
194
+
195
+ ### Delete Proposal
196
+
197
+ ```ts
198
+ const proposal = <proposal public key>;
199
+
200
+ const deleteProposalPayload = await service.deleteProposal({ proposal });
201
+ const deleteProposalSignature = await deleteProposalPayload.execute({
202
+ commitment: "confirmed",
203
+ });
204
+ console.log("Delete Proposal Signature:", deleteProposalSignature);
205
+ ```
206
+
207
+ ### Get Proposals Info of a Vault
208
+
209
+ ```ts
210
+ const vault = <vault public key>;
211
+
212
+ const proposalsInfo = await service.getProposalsInfoOfVault(vault);
213
+ ```
214
+
215
+ ### Get All Vaults Info
216
+
217
+ ```ts
218
+ const vaultsInfo = await service.getAllVaultsInfo();
219
+ ```
@@ -200,39 +200,6 @@ export type ZebecVault = {
200
200
  ];
201
201
  };
202
202
  },
203
- {
204
- name: "whitelist";
205
- pda: {
206
- seeds: [
207
- {
208
- kind: "const";
209
- value: [
210
- 122,
211
- 101,
212
- 98,
213
- 101,
214
- 99,
215
- 95,
216
- 118,
217
- 97,
218
- 117,
219
- 108,
220
- 116,
221
- 95,
222
- 119,
223
- 104,
224
- 105,
225
- 116,
226
- 101,
227
- 108,
228
- 105,
229
- 115,
230
- 116
231
- ];
232
- }
233
- ];
234
- };
235
- },
236
203
  {
237
204
  name: "tokenMint";
238
205
  },
@@ -517,65 +484,6 @@ export type ZebecVault = {
517
484
  }
518
485
  ];
519
486
  },
520
- {
521
- name: "whitelistToken";
522
- discriminator: [6, 141, 83, 167, 31, 6, 2, 224];
523
- accounts: [
524
- {
525
- name: "whitelister";
526
- writable: true;
527
- signer: true;
528
- },
529
- {
530
- name: "whitelist";
531
- writable: true;
532
- pda: {
533
- seeds: [
534
- {
535
- kind: "const";
536
- value: [
537
- 122,
538
- 101,
539
- 98,
540
- 101,
541
- 99,
542
- 95,
543
- 118,
544
- 97,
545
- 117,
546
- 108,
547
- 116,
548
- 95,
549
- 119,
550
- 104,
551
- 105,
552
- 116,
553
- 101,
554
- 108,
555
- 105,
556
- 115,
557
- 116
558
- ];
559
- }
560
- ];
561
- };
562
- },
563
- {
564
- name: "systemProgram";
565
- address: "11111111111111111111111111111111";
566
- }
567
- ];
568
- args: [
569
- {
570
- name: "params";
571
- type: {
572
- defined: {
573
- name: "whitelistTokenParams";
574
- };
575
- };
576
- }
577
- ];
578
- },
579
487
  {
580
488
  name: "withdrawSol";
581
489
  discriminator: [145, 131, 74, 136, 65, 137, 42, 38];
@@ -864,10 +772,6 @@ export type ZebecVault = {
864
772
  {
865
773
  name: "vault";
866
774
  discriminator: [211, 8, 232, 43, 2, 152, 117, 119];
867
- },
868
- {
869
- name: "whitelist";
870
- discriminator: [204, 176, 52, 79, 146, 121, 54, 247];
871
775
  }
872
776
  ];
873
777
  events: [
@@ -1440,6 +1344,10 @@ export type ZebecVault = {
1440
1344
  {
1441
1345
  name: "amount";
1442
1346
  type: "u64";
1347
+ },
1348
+ {
1349
+ name: "tokenAddress";
1350
+ type: "pubkey";
1443
1351
  }
1444
1352
  ];
1445
1353
  };
@@ -1490,6 +1398,10 @@ export type ZebecVault = {
1490
1398
  {
1491
1399
  name: "amount";
1492
1400
  type: "u64";
1401
+ },
1402
+ {
1403
+ name: "tokenAddress";
1404
+ type: "pubkey";
1493
1405
  }
1494
1406
  ];
1495
1407
  };
@@ -1534,54 +1446,6 @@ export type ZebecVault = {
1534
1446
  ];
1535
1447
  };
1536
1448
  },
1537
- {
1538
- name: "whitelist";
1539
- type: {
1540
- kind: "struct";
1541
- fields: [
1542
- {
1543
- name: "admin";
1544
- type: "pubkey";
1545
- },
1546
- {
1547
- name: "whitelistedTokens";
1548
- type: {
1549
- vec: {
1550
- defined: {
1551
- name: "whitelistedToken";
1552
- };
1553
- };
1554
- };
1555
- }
1556
- ];
1557
- };
1558
- },
1559
- {
1560
- name: "whitelistTokenParams";
1561
- type: {
1562
- kind: "struct";
1563
- fields: [
1564
- {
1565
- name: "tokenAddresses";
1566
- type: {
1567
- vec: "pubkey";
1568
- };
1569
- }
1570
- ];
1571
- };
1572
- },
1573
- {
1574
- name: "whitelistedToken";
1575
- type: {
1576
- kind: "struct";
1577
- fields: [
1578
- {
1579
- name: "tokenAddress";
1580
- type: "pubkey";
1581
- }
1582
- ];
1583
- };
1584
- },
1585
1449
  {
1586
1450
  name: "withdrawSolParams";
1587
1451
  type: {