@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 +116 -7
- package/dist/artifacts/zebec_vault.d.ts +8 -144
- package/dist/artifacts/zebec_vault.json +631 -154
- package/dist/pda.d.ts +0 -1
- package/dist/pda.js +0 -5
- package/dist/service.d.ts +1 -7
- package/dist/service.js +0 -30
- package/package.json +3 -2
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
|
-

|
|
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
|
-
|
|
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: {
|