@lidofinance/lsv-cli 1.0.0-alpha.20 → 1.0.0-alpha.21
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 +36 -0
- package/dist/abi/{VaultHubViewer.js → VaultViewer.js} +2 -2
- package/dist/abi/VaultViewer.js.map +1 -0
- package/dist/abi/index.js +1 -1
- package/dist/abi/index.js.map +1 -1
- package/dist/contracts/index.js +1 -1
- package/dist/contracts/index.js.map +1 -1
- package/dist/contracts/vault-viewer.js +25 -0
- package/dist/contracts/vault-viewer.js.map +1 -0
- package/dist/programs/index.js +1 -1
- package/dist/programs/index.js.map +1 -1
- package/dist/programs/pdg-helpers.js +18 -1
- package/dist/programs/pdg-helpers.js.map +1 -1
- package/dist/programs/vault-viewer/config.js +85 -0
- package/dist/programs/vault-viewer/config.js.map +1 -0
- package/dist/programs/vault-viewer/index.js +3 -0
- package/dist/programs/vault-viewer/index.js.map +1 -0
- package/dist/programs/vault-viewer/main.js +10 -0
- package/dist/programs/vault-viewer/main.js.map +1 -0
- package/dist/programs/vault-viewer/read.js +55 -0
- package/dist/programs/vault-viewer/read.js.map +1 -0
- package/dist/utils/get-deposit-data-root.js +40 -0
- package/dist/utils/get-deposit-data-root.js.map +1 -0
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/proof/merkle-utils.js +30 -0
- package/dist/utils/proof/merkle-utils.js.map +1 -1
- package/dist/version/index.js +1 -1
- package/package.json +1 -1
- package/dist/abi/VaultHubViewer.js.map +0 -1
- package/dist/contracts/vault-hub-viewer.js +0 -14
- package/dist/contracts/vault-hub-viewer.js.map +0 -1
- package/dist/programs/vault-hub-viewer.js +0 -52
- package/dist/programs/vault-hub-viewer.js.map +0 -1
package/README.md
CHANGED
|
@@ -115,6 +115,8 @@ lsv-cli hub v-count
|
|
|
115
115
|
- [Vault](#vault)
|
|
116
116
|
- [Dashboard](#dashboard)
|
|
117
117
|
- [Delegation](#delegation)
|
|
118
|
+
- [PredepositGuarantee](#predepositguarantee)
|
|
119
|
+
- [VaultViewer](#vaultviewer)
|
|
118
120
|
|
|
119
121
|
### Account
|
|
120
122
|
|
|
@@ -537,6 +539,40 @@ lsv-cli pdg -h
|
|
|
537
539
|
| create-proof-and-prove \<index> | create proof and prove |
|
|
538
540
|
| deposit-to-beacon-chain \<vault> \<deposits> | deposit to beacon chain |
|
|
539
541
|
|
|
542
|
+
### VaultViewer
|
|
543
|
+
|
|
544
|
+
#### Command
|
|
545
|
+
|
|
546
|
+
```bash
|
|
547
|
+
lsv-cli vv [arguments] [-options]
|
|
548
|
+
```
|
|
549
|
+
|
|
550
|
+
#### Delegation commands list
|
|
551
|
+
|
|
552
|
+
```bash
|
|
553
|
+
lsv-cli vv -h
|
|
554
|
+
```
|
|
555
|
+
|
|
556
|
+
#### API
|
|
557
|
+
|
|
558
|
+
| Command | Description |
|
|
559
|
+
| ------------------------------------------- | ------------------------------------------------------------------ |
|
|
560
|
+
| DEFAULT_ADMIN_ROLE | Calls the read-only function "DEFAULT_ADMIN_ROLE" on the contract. |
|
|
561
|
+
| hasRole \<vault> \<\_member> \<\_role> | Calls the read-only function "hasRole" on the contract. |
|
|
562
|
+
| isContract \<account> | Calls the read-only function "isContract" on the contract. |
|
|
563
|
+
| isOwner \<vault> \<\_owner> | Calls the read-only function "isOwner" on the contract. |
|
|
564
|
+
| vaultHub | Calls the read-only function "vaultHub" on the contract. |
|
|
565
|
+
| by-owner \<owner> | get vaults by owner |
|
|
566
|
+
| by-owner-bound \<owner> \<from> \<to> | get vaults by owner - bound |
|
|
567
|
+
| by-ra \<role> \<member> | get vaults by role and address |
|
|
568
|
+
| by-ra-bound \<role> \<member> \<from> \<to> | get vaults by role and address - bound |
|
|
569
|
+
| connected | get vaults connected to vault hub |
|
|
570
|
+
| connected-bound \<from> \<to> | get vaults connected to vault hub - bound |
|
|
571
|
+
| my | get my vaults |
|
|
572
|
+
| my-bound \<from> \<to> | get my vaults - bound |
|
|
573
|
+
| my-by-role \<role> | get my vaults by role |
|
|
574
|
+
| my-by-role-bound \<role> \<from> \<to> | get my vaults by role - bound |
|
|
575
|
+
|
|
540
576
|
## License
|
|
541
577
|
|
|
542
578
|
This project is licensed under the [MIT License](LICENSE).
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export const
|
|
1
|
+
export const VaultViewerAbi = [
|
|
2
2
|
{
|
|
3
3
|
inputs: [
|
|
4
4
|
{
|
|
@@ -294,4 +294,4 @@ export const VaultHubViewerAbi = [
|
|
|
294
294
|
type: 'function',
|
|
295
295
|
},
|
|
296
296
|
];
|
|
297
|
-
//# sourceMappingURL=
|
|
297
|
+
//# sourceMappingURL=VaultViewer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VaultViewer.js","sourceRoot":"","sources":["../../abi/VaultViewer.ts"],"names":[],"mappings":"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"}
|
package/dist/abi/index.js
CHANGED
|
@@ -7,7 +7,7 @@ export * from './StEth.js';
|
|
|
7
7
|
export * from './LidoLocator.js';
|
|
8
8
|
export * from './TokenManager.js';
|
|
9
9
|
export * from './Voting.js';
|
|
10
|
-
export * from './
|
|
10
|
+
export * from './VaultViewer.js';
|
|
11
11
|
export * from './CLProofVerifier.js';
|
|
12
12
|
export * from './PredepositGuarantee.js';
|
|
13
13
|
//# sourceMappingURL=index.js.map
|
package/dist/abi/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../abi/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../abi/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC"}
|
package/dist/contracts/index.js
CHANGED
|
@@ -7,7 +7,7 @@ export * from './steth.js';
|
|
|
7
7
|
export * from './locator.js';
|
|
8
8
|
export * from './token-manager.js';
|
|
9
9
|
export * from './voting.js';
|
|
10
|
-
export * from './vault-
|
|
10
|
+
export * from './vault-viewer.js';
|
|
11
11
|
export * from './clProofVerifier.js';
|
|
12
12
|
export * from './pdg.js';
|
|
13
13
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../contracts/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../contracts/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { getContract, createPublicClient, http } from 'viem';
|
|
2
|
+
import { mainnet, sepolia, holesky } from 'viem/chains';
|
|
3
|
+
import { VaultViewerAbi } from '../abi/index.js';
|
|
4
|
+
import { getChain, getRpcUrl } from '../configs/index.js';
|
|
5
|
+
const VaultViewerAddresses = {
|
|
6
|
+
[mainnet.id]: '0x',
|
|
7
|
+
[sepolia.id]: '0xF124672D263BB6e7A5B5cbcF8e6F39b4F6cbe582',
|
|
8
|
+
[holesky.id]: '0x5D73Eec220C7428eEAa26aF0F6d65B4dD1bb95aA',
|
|
9
|
+
};
|
|
10
|
+
export const getVaultViewerContract = () => {
|
|
11
|
+
const chainId = getChain().id;
|
|
12
|
+
const address = VaultViewerAddresses[chainId];
|
|
13
|
+
if (!address) {
|
|
14
|
+
throw new Error(`VaultViewer contract not found for chain ${chainId}`);
|
|
15
|
+
}
|
|
16
|
+
return getContract({
|
|
17
|
+
address,
|
|
18
|
+
abi: VaultViewerAbi,
|
|
19
|
+
client: createPublicClient({
|
|
20
|
+
chain: getChain(),
|
|
21
|
+
transport: http(getRpcUrl()),
|
|
22
|
+
}),
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=vault-viewer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vault-viewer.js","sourceRoot":"","sources":["../../contracts/vault-viewer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,IAAI,EAAW,MAAM,MAAM,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAE9C,MAAM,oBAAoB,GAA4B;IACpD,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,IAAI;IAClB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,4CAA4C;IAC1D,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,4CAA4C;CAC3D,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,EAAE;IACzC,MAAM,OAAO,GAAG,QAAQ,EAAE,CAAC,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAE9C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,4CAA4C,OAAO,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,WAAW,CAAC;QACjB,OAAO;QACP,GAAG,EAAE,cAAc;QACnB,MAAM,EAAE,kBAAkB,CAAC;YACzB,KAAK,EAAE,QAAQ,EAAE;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;SAC7B,CAAC;KACH,CAAC,CAAC;AACL,CAAC,CAAC"}
|
package/dist/programs/index.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
export * from './voting.js';
|
|
2
2
|
export * from './account.js';
|
|
3
|
-
export * from './vault-hub-viewer.js';
|
|
4
3
|
export * from './pdg-helpers.js';
|
|
5
4
|
export * from './vault/index.js';
|
|
6
5
|
export * from './dashboard/index.js';
|
|
@@ -8,4 +7,5 @@ export * from './vault-factory/index.js';
|
|
|
8
7
|
export * from './delegation/index.js';
|
|
9
8
|
export * from './pdg/index.js';
|
|
10
9
|
export * from './hub/index.js';
|
|
10
|
+
export * from './vault-viewer/index.js';
|
|
11
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../programs/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../programs/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { program } from '../command/index.js';
|
|
2
2
|
import { getCLProofVerifierContract } from '../contracts/index.js';
|
|
3
|
-
import { createPDGProof, getFirstValidatorGIndex, confirmCreateProof, showSpinner, printError, } from '../utils/index.js';
|
|
3
|
+
import { createPDGProof, getFirstValidatorGIndex, confirmCreateProof, showSpinner, printError, computeDepositDataRoot, } from '../utils/index.js';
|
|
4
4
|
const predepositGuaranteeHelpers = program
|
|
5
5
|
.command('pdg-helpers')
|
|
6
6
|
.description('predeposit guarantee helpers');
|
|
@@ -70,4 +70,21 @@ predepositGuaranteeHelpers
|
|
|
70
70
|
.action(async (forks) => {
|
|
71
71
|
getFirstValidatorGIndex(forks);
|
|
72
72
|
});
|
|
73
|
+
predepositGuaranteeHelpers
|
|
74
|
+
.command('compute-dd-root')
|
|
75
|
+
.description('compute deposit data root')
|
|
76
|
+
.argument('<pubkey>', 'pubkey')
|
|
77
|
+
.argument('<withdrawal-credentials>', 'withdrawal credentials')
|
|
78
|
+
.argument('<signature>', 'signature')
|
|
79
|
+
.argument('<amount>', 'amount in wei')
|
|
80
|
+
.action(async (pubkey, withdrawalCredentials, signature, amount) => {
|
|
81
|
+
const result = computeDepositDataRoot(pubkey, withdrawalCredentials, signature, amount);
|
|
82
|
+
console.table({
|
|
83
|
+
pubkey,
|
|
84
|
+
withdrawalCredentials,
|
|
85
|
+
signature,
|
|
86
|
+
amount,
|
|
87
|
+
depositDataRoot: result,
|
|
88
|
+
});
|
|
89
|
+
});
|
|
73
90
|
//# sourceMappingURL=pdg-helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdg-helpers.js","sourceRoot":"","sources":["../../programs/pdg-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AAEvD,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,kBAAkB,EAClB,WAAW,EACX,UAAU,
|
|
1
|
+
{"version":3,"file":"pdg-helpers.js","sourceRoot":"","sources":["../../programs/pdg-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
export const readCommandConfig = {
|
|
2
|
+
vaultsConnected: {
|
|
3
|
+
name: 'connected',
|
|
4
|
+
description: 'get vaults connected to vault hub',
|
|
5
|
+
},
|
|
6
|
+
vaultsByRole: {
|
|
7
|
+
name: 'by-ra',
|
|
8
|
+
description: 'get vaults by role and address',
|
|
9
|
+
arguments: {
|
|
10
|
+
_role: {
|
|
11
|
+
name: 'role',
|
|
12
|
+
description: 'role',
|
|
13
|
+
},
|
|
14
|
+
_member: {
|
|
15
|
+
name: 'member',
|
|
16
|
+
description: 'member address',
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
vaultsConnectedBound: {
|
|
21
|
+
name: 'connected-bound',
|
|
22
|
+
description: 'get vaults connected to vault hub - bound',
|
|
23
|
+
arguments: {
|
|
24
|
+
_from: {
|
|
25
|
+
name: 'from',
|
|
26
|
+
description: 'from',
|
|
27
|
+
},
|
|
28
|
+
_to: {
|
|
29
|
+
name: 'to',
|
|
30
|
+
description: 'to',
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
vaultsByRoleBound: {
|
|
35
|
+
name: 'by-ra-bound',
|
|
36
|
+
description: 'get vaults by role and address - bound',
|
|
37
|
+
arguments: {
|
|
38
|
+
_role: {
|
|
39
|
+
name: 'role',
|
|
40
|
+
description: 'role',
|
|
41
|
+
},
|
|
42
|
+
_member: {
|
|
43
|
+
name: 'member',
|
|
44
|
+
description: 'member address',
|
|
45
|
+
},
|
|
46
|
+
_from: {
|
|
47
|
+
name: 'from',
|
|
48
|
+
description: 'from',
|
|
49
|
+
},
|
|
50
|
+
_to: {
|
|
51
|
+
name: 'to',
|
|
52
|
+
description: 'to',
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
vaultsByOwner: {
|
|
57
|
+
name: 'by-owner',
|
|
58
|
+
description: 'get vaults by owner',
|
|
59
|
+
arguments: {
|
|
60
|
+
_owner: {
|
|
61
|
+
name: 'owner',
|
|
62
|
+
description: 'owner address',
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
vaultsByOwnerBound: {
|
|
67
|
+
name: 'by-owner-bound',
|
|
68
|
+
description: 'get vaults by owner - bound',
|
|
69
|
+
arguments: {
|
|
70
|
+
_owner: {
|
|
71
|
+
name: 'owner',
|
|
72
|
+
description: 'owner address',
|
|
73
|
+
},
|
|
74
|
+
_from: {
|
|
75
|
+
name: 'from',
|
|
76
|
+
description: 'from',
|
|
77
|
+
},
|
|
78
|
+
_to: {
|
|
79
|
+
name: 'to',
|
|
80
|
+
description: 'to',
|
|
81
|
+
},
|
|
82
|
+
},
|
|
83
|
+
},
|
|
84
|
+
};
|
|
85
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../programs/vault-viewer/config.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,iBAAiB,GAA6B;IACzD,eAAe,EAAE;QACf,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,mCAAmC;KACjD;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,gCAAgC;QAC7C,SAAS,EAAE;YACT,KAAK,EAAE;gBACL,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,MAAM;aACpB;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,gBAAgB;aAC9B;SACF;KACF;IACD,oBAAoB,EAAE;QACpB,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,2CAA2C;QACxD,SAAS,EAAE;YACT,KAAK,EAAE;gBACL,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,MAAM;aACpB;YACD,GAAG,EAAE;gBACH,IAAI,EAAE,IAAI;gBACV,WAAW,EAAE,IAAI;aAClB;SACF;KACF;IACD,iBAAiB,EAAE;QACjB,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,wCAAwC;QACrD,SAAS,EAAE;YACT,KAAK,EAAE;gBACL,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,MAAM;aACpB;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,gBAAgB;aAC9B;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,MAAM;aACpB;YACD,GAAG,EAAE;gBACH,IAAI,EAAE,IAAI;gBACV,WAAW,EAAE,IAAI;aAClB;SACF;KACF;IACD,aAAa,EAAE;QACb,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,qBAAqB;QAClC,SAAS,EAAE;YACT,MAAM,EAAE;gBACN,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,eAAe;aAC7B;SACF;KACF;IACD,kBAAkB,EAAE;QAClB,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,6BAA6B;QAC1C,SAAS,EAAE;YACT,MAAM,EAAE;gBACN,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,eAAe;aAC7B;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,MAAM;aACpB;YACD,GAAG,EAAE;gBACH,IAAI,EAAE,IAAI;gBACV,WAAW,EAAE,IAAI;aAClB;SACF;KACF;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../programs/vault-viewer/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { program } from '../../command/index.js';
|
|
2
|
+
import { Option } from 'commander';
|
|
3
|
+
import { getCommandsJson } from '../../utils/index.js';
|
|
4
|
+
export const vaultViewer = program.command('v-v').description('vault viewer');
|
|
5
|
+
vaultViewer.addOption(new Option('-cmd2json'));
|
|
6
|
+
vaultViewer.on('option:-cmd2json', function () {
|
|
7
|
+
console.info(getCommandsJson(vaultViewer));
|
|
8
|
+
process.exit();
|
|
9
|
+
});
|
|
10
|
+
//# sourceMappingURL=main.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../programs/vault-viewer/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAExC,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;AAE9E,WAAW,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;AAC/C,WAAW,CAAC,EAAE,CAAC,kBAAkB,EAAE;IACjC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC;IAC3C,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { getVaultViewerContract } from '../../contracts/index.js';
|
|
2
|
+
import { getAccount } from '../../providers/index.js';
|
|
3
|
+
import { VaultViewerAbi } from '../../abi/index.js';
|
|
4
|
+
import { generateReadCommands, callReadMethod } from '../../utils/index.js';
|
|
5
|
+
import { vaultViewer } from './main.js';
|
|
6
|
+
import { readCommandConfig } from './config.js';
|
|
7
|
+
generateReadCommands(VaultViewerAbi, getVaultViewerContract, vaultViewer, readCommandConfig);
|
|
8
|
+
vaultViewer
|
|
9
|
+
.command('my')
|
|
10
|
+
.description('get my vaults')
|
|
11
|
+
.action(async () => {
|
|
12
|
+
const contract = getVaultViewerContract();
|
|
13
|
+
const account = getAccount();
|
|
14
|
+
await callReadMethod(contract, 'vaultsByOwner', [account.address]);
|
|
15
|
+
});
|
|
16
|
+
vaultViewer
|
|
17
|
+
.command('my-bound')
|
|
18
|
+
.description('get my vaults - bound')
|
|
19
|
+
.argument('<from>', 'from')
|
|
20
|
+
.argument('<to>', 'to')
|
|
21
|
+
.action(async (from, to) => {
|
|
22
|
+
const contract = getVaultViewerContract();
|
|
23
|
+
const account = getAccount();
|
|
24
|
+
await callReadMethod(contract, 'vaultsByOwnerBound', [
|
|
25
|
+
account.address,
|
|
26
|
+
from,
|
|
27
|
+
to,
|
|
28
|
+
]);
|
|
29
|
+
});
|
|
30
|
+
vaultViewer
|
|
31
|
+
.command('my-by-role')
|
|
32
|
+
.description('get my vaults by role')
|
|
33
|
+
.argument('<role>', 'role')
|
|
34
|
+
.action(async (role) => {
|
|
35
|
+
const contract = getVaultViewerContract();
|
|
36
|
+
const account = getAccount();
|
|
37
|
+
await callReadMethod(contract, 'vaultsByRole', [role, account.address]);
|
|
38
|
+
});
|
|
39
|
+
vaultViewer
|
|
40
|
+
.command('my-by-role-bound')
|
|
41
|
+
.description('get my vaults by role - bound')
|
|
42
|
+
.argument('<role>', 'role')
|
|
43
|
+
.argument('<from>', 'from')
|
|
44
|
+
.argument('<to>', 'to')
|
|
45
|
+
.action(async (role, from, to) => {
|
|
46
|
+
const contract = getVaultViewerContract();
|
|
47
|
+
const account = getAccount();
|
|
48
|
+
await callReadMethod(contract, 'vaultsByRoleBound', [
|
|
49
|
+
role,
|
|
50
|
+
account.address,
|
|
51
|
+
from,
|
|
52
|
+
to,
|
|
53
|
+
]);
|
|
54
|
+
});
|
|
55
|
+
//# sourceMappingURL=read.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../../programs/vault-viewer/read.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,oBAAoB,CAClB,cAAc,EACd,sBAAsB,EACtB,WAAW,EACX,iBAAiB,CAClB,CAAC;AAEF,WAAW;KACR,OAAO,CAAC,IAAI,CAAC;KACb,WAAW,CAAC,eAAe,CAAC;KAC5B,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,MAAM,cAAc,CAAC,QAAQ,EAAE,eAAe,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AACrE,CAAC,CAAC,CAAC;AAEL,WAAW;KACR,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,uBAAuB,CAAC;KACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;KAC1B,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;KACtB,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,EAAU,EAAE,EAAE;IACzC,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,MAAM,cAAc,CAAC,QAAQ,EAAE,oBAAoB,EAAE;QACnD,OAAO,CAAC,OAAO;QACf,IAAI;QACJ,EAAE;KACH,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,WAAW;KACR,OAAO,CAAC,YAAY,CAAC;KACrB,WAAW,CAAC,uBAAuB,CAAC;KACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;KAC1B,MAAM,CAAC,KAAK,EAAE,IAAa,EAAE,EAAE;IAC9B,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,MAAM,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AAC1E,CAAC,CAAC,CAAC;AAEL,WAAW;KACR,OAAO,CAAC,kBAAkB,CAAC;KAC3B,WAAW,CAAC,+BAA+B,CAAC;KAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;KAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;KAC1B,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;KACtB,MAAM,CAAC,KAAK,EAAE,IAAa,EAAE,IAAY,EAAE,EAAU,EAAE,EAAE;IACxD,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,MAAM,cAAc,CAAC,QAAQ,EAAE,mBAAmB,EAAE;QAClD,IAAI;QACJ,OAAO,CAAC,OAAO;QACf,IAAI;QACJ,EAAE;KACH,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { fromHex, sha256Concat, encodeGweiAsLittleEndian8, } from './proof/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* - pubkey: bytes
|
|
4
|
+
* - withdrawalCredentials: bytes
|
|
5
|
+
* - signature: bytes
|
|
6
|
+
* - amountWei: bigint или string (в wei)
|
|
7
|
+
*/
|
|
8
|
+
export const computeDepositDataRoot = (pubkey, withdrawalCredentials, signature, amountWei) => {
|
|
9
|
+
const pubkeyBytes = fromHex(pubkey);
|
|
10
|
+
const withdrawalCredentialsBytes = fromHex(withdrawalCredentials);
|
|
11
|
+
const signatureBytes = fromHex(signature);
|
|
12
|
+
// 1) Convert amount from wei to gwei
|
|
13
|
+
const amountWeiBN = typeof amountWei === 'string' ? BigInt(amountWei) : amountWei;
|
|
14
|
+
const amountGwei = amountWeiBN / 1000000000n;
|
|
15
|
+
// 2) Get 8 bytes little-endian
|
|
16
|
+
const amountLE64 = encodeGweiAsLittleEndian8(amountGwei);
|
|
17
|
+
// 3) pubkeyRoot = sha256(pubkey + 16 zero bytes)
|
|
18
|
+
const pubkeyRoot = sha256Concat(pubkeyBytes, new Uint8Array(16));
|
|
19
|
+
// 4) signatureRoot
|
|
20
|
+
// - sigSlice1Root = sha256(signature[0..64])
|
|
21
|
+
// - sigSlice2Root = sha256(signature[64..end] + 32 zero bytes)
|
|
22
|
+
// - signatureRoot = sha256(sigSlice1Root + sigSlice2Root)
|
|
23
|
+
const sigSlice1 = signatureBytes.slice(0, 64); // first 64 bytes
|
|
24
|
+
const sigSlice2 = signatureBytes.slice(64); // remaining (usually 32 bytes)
|
|
25
|
+
const sigSlice1Root = sha256Concat(sigSlice1);
|
|
26
|
+
const sigSlice2Root = sha256Concat(sigSlice2, new Uint8Array(32));
|
|
27
|
+
const signatureRoot = sha256Concat(sigSlice1Root, sigSlice2Root);
|
|
28
|
+
// 5) Sum all, as in Solidity:
|
|
29
|
+
// depositDataRoot = sha256(
|
|
30
|
+
// sha256(pubkeyRoot, withdrawalCredentials),
|
|
31
|
+
// sha256(amountLE64, 24 нулевых байт, signatureRoot)
|
|
32
|
+
// )
|
|
33
|
+
const part1 = sha256Concat(pubkeyRoot, withdrawalCredentialsBytes);
|
|
34
|
+
const part2 = sha256Concat(amountLE64, new Uint8Array(24), // 24 нулевых
|
|
35
|
+
signatureRoot);
|
|
36
|
+
const depositDataRoot = sha256Concat(part1, part2);
|
|
37
|
+
// Return in hex-string format '0x...'
|
|
38
|
+
return '0x' + Buffer.from(depositDataRoot).toString('hex');
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=get-deposit-data-root.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-deposit-data-root.js","sourceRoot":"","sources":["../../utils/get-deposit-data-root.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,YAAY,EACZ,yBAAyB,GAC1B,MAAM,kBAAkB,CAAC;AAE1B;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,MAAc,EACd,qBAA6B,EAC7B,SAAiB,EACjB,SAA0B,EAClB,EAAE;IACV,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,0BAA0B,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAClE,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1C,qCAAqC;IACrC,MAAM,WAAW,GACf,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChE,MAAM,UAAU,GAAG,WAAW,GAAG,WAAc,CAAC;IAEhD,+BAA+B;IAC/B,MAAM,UAAU,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAAC;IAEzD,iDAAiD;IACjD,MAAM,UAAU,GAAG,YAAY,CAC7B,WAAW,EACX,IAAI,UAAU,CAAC,EAAE,CAAC,CACnB,CAAC;IAEF,mBAAmB;IACnB,gDAAgD;IAChD,kEAAkE;IAClE,6DAA6D;IAC7D,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB;IAChE,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,+BAA+B;IAC3E,MAAM,aAAa,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAC9C,MAAM,aAAa,GAAG,YAAY,CAChC,SAAS,EACT,IAAI,UAAU,CAAC,EAAE,CAAC,CACnB,CAAC;IACF,MAAM,aAAa,GAAG,YAAY,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IAEjE,8BAA8B;IAC9B,+BAA+B;IAC/B,mDAAmD;IACnD,2DAA2D;IAC3D,OAAO;IACP,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,EAAE,0BAA0B,CAAC,CAAC;IACnE,MAAM,KAAK,GAAG,YAAY,CACxB,UAAU,EACV,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,aAAa;IACjC,aAAa,CACd,CAAC;IACF,MAAM,eAAe,GAAG,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAEnD,sCAAsC;IACtC,OAAO,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC7D,CAAC,CAAC"}
|
package/dist/utils/index.js
CHANGED
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC"}
|
|
@@ -22,6 +22,17 @@ export const sha256Pair = (left, right) => {
|
|
|
22
22
|
buf.set(right, 32);
|
|
23
23
|
return createHash('sha256').update(buf).digest();
|
|
24
24
|
};
|
|
25
|
+
/**
|
|
26
|
+
* Helper for SHA-256 over multiple Uint8Array chunks.
|
|
27
|
+
* Returns a 32-byte hash (Uint8Array of length 32).
|
|
28
|
+
*/
|
|
29
|
+
export const sha256Concat = (...chunks) => {
|
|
30
|
+
const hash = createHash('sha256');
|
|
31
|
+
for (const chunk of chunks) {
|
|
32
|
+
hash.update(chunk);
|
|
33
|
+
}
|
|
34
|
+
return hash.digest();
|
|
35
|
+
};
|
|
25
36
|
/** 48 => 64 padded => sha256 => 32 */
|
|
26
37
|
export const pubkeyRoot = (pubkey48) => {
|
|
27
38
|
if (pubkey48.length !== 48) {
|
|
@@ -37,6 +48,25 @@ export const uint64To32LE = (val) => {
|
|
|
37
48
|
b.writeBigUInt64LE(val, 0);
|
|
38
49
|
return Buffer.concat([b, Buffer.alloc(24)]);
|
|
39
50
|
};
|
|
51
|
+
/**
|
|
52
|
+
* Converts BigInt (gwei) to 8 bytes (big-endian), then reverses it to little-endian.
|
|
53
|
+
* Returns Uint8Array[8].
|
|
54
|
+
*/
|
|
55
|
+
export const encodeGweiAsLittleEndian8 = (amountGwei) => {
|
|
56
|
+
// First 8 bytes big-endian
|
|
57
|
+
const be = new Uint8Array(8);
|
|
58
|
+
let tmp = amountGwei;
|
|
59
|
+
for (let i = 7; i >= 0; i--) {
|
|
60
|
+
be[i] = Number(tmp & 0xffn);
|
|
61
|
+
tmp >>= 8n;
|
|
62
|
+
}
|
|
63
|
+
// Now reverse it (big-endian -> little-endian)
|
|
64
|
+
const le = new Uint8Array(8);
|
|
65
|
+
for (let i = 0; i < 8; i++) {
|
|
66
|
+
le[i] = be[7 - i] ?? 0;
|
|
67
|
+
}
|
|
68
|
+
return le;
|
|
69
|
+
};
|
|
40
70
|
/** bool => 1 byte => 32 */
|
|
41
71
|
export const boolTo32 = (b) => {
|
|
42
72
|
const oneByte = Buffer.from([b ? 1 : 0]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merkle-utils.js","sourceRoot":"","sources":["../../../utils/proof/merkle-utils.ts"],"names":[],"mappings":"AAAA;;EAEE;AACF,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAoBpC,mBAAmB;AACnB,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAAW,EAAc,EAAE;IACjD,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7C,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC;AAEF,mBAAmB;AACnB,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAa,EAAE,EAAE;IACrC,OAAO,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,0BAA0B;AAC1B,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAgB,EAAE,KAAiB,EAAc,EAAE;IAC5E,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7B,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACjB,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACnB,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;AACnD,CAAC,CAAC;AAEF,sCAAsC;AACtC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAAoB,EAAc,EAAE;IAC7D,IAAI,QAAQ,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,gCAAgC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAChC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACxB,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;AACtD,CAAC,CAAC;AAEF,2CAA2C;AAC3C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAW,EAAc,EAAE;IACtD,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC3B,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"merkle-utils.js","sourceRoot":"","sources":["../../../utils/proof/merkle-utils.ts"],"names":[],"mappings":"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"}
|
package/dist/version/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const version = 'v1.0.0-alpha.
|
|
1
|
+
export const version = 'v1.0.0-alpha.21'
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"VaultHubViewer.js","sourceRoot":"","sources":["../../abi/VaultHubViewer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { getContract, createPublicClient, http } from 'viem';
|
|
2
|
-
import { VaultHubViewerAbi } from '../abi/index.js';
|
|
3
|
-
import { getChain, getRpcUrl } from '../configs/index.js';
|
|
4
|
-
export const getVaultHubViewerContract = (address) => {
|
|
5
|
-
return getContract({
|
|
6
|
-
address,
|
|
7
|
-
abi: VaultHubViewerAbi,
|
|
8
|
-
client: createPublicClient({
|
|
9
|
-
chain: getChain(),
|
|
10
|
-
transport: http(getRpcUrl()),
|
|
11
|
-
}),
|
|
12
|
-
});
|
|
13
|
-
};
|
|
14
|
-
//# sourceMappingURL=vault-hub-viewer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vault-hub-viewer.js","sourceRoot":"","sources":["../../contracts/vault-hub-viewer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,IAAI,EAAW,MAAM,MAAM,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAE9C,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,OAAgB,EAAE,EAAE;IAC5D,OAAO,WAAW,CAAC;QACjB,OAAO;QACP,GAAG,EAAE,iBAAiB;QACtB,MAAM,EAAE,kBAAkB,CAAC;YACzB,KAAK,EAAE,QAAQ,EAAE;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;SAC7B,CAAC;KACH,CAAC,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { program } from '../command/index.js';
|
|
2
|
-
import { getVaultHubViewerContract } from '../contracts/index.js';
|
|
3
|
-
import { getAccount } from '../providers/index.js';
|
|
4
|
-
import { callReadMethod } from '../utils/index.js';
|
|
5
|
-
// TODO: move to config
|
|
6
|
-
const ADDRESS = '0x5D73Eec220C7428eEAa26aF0F6d65B4dD1bb95aA';
|
|
7
|
-
// TODO: add methods with pagination
|
|
8
|
-
const vaultHubViewer = program
|
|
9
|
-
.command('hub-viewer')
|
|
10
|
-
.description('vault hub viewer');
|
|
11
|
-
vaultHubViewer
|
|
12
|
-
.command('connected')
|
|
13
|
-
.description('get vaults connected to vault hub')
|
|
14
|
-
.action(async () => {
|
|
15
|
-
const contract = getVaultHubViewerContract(ADDRESS);
|
|
16
|
-
await callReadMethod(contract, 'vaultsConnected');
|
|
17
|
-
});
|
|
18
|
-
vaultHubViewer
|
|
19
|
-
.command('my')
|
|
20
|
-
.description('get my vaults')
|
|
21
|
-
.action(async () => {
|
|
22
|
-
const contract = getVaultHubViewerContract(ADDRESS);
|
|
23
|
-
const account = getAccount();
|
|
24
|
-
await callReadMethod(contract, 'vaultsByOwner', [account.address]);
|
|
25
|
-
});
|
|
26
|
-
vaultHubViewer
|
|
27
|
-
.command('by-owner')
|
|
28
|
-
.description('get vaults by owner')
|
|
29
|
-
.argument('<address>', 'owner address')
|
|
30
|
-
.action(async (address) => {
|
|
31
|
-
const contract = getVaultHubViewerContract(ADDRESS);
|
|
32
|
-
await callReadMethod(contract, 'vaultsByOwner', [address]);
|
|
33
|
-
});
|
|
34
|
-
vaultHubViewer
|
|
35
|
-
.command('by-role')
|
|
36
|
-
.description('get vaults by role')
|
|
37
|
-
.argument('<role>', 'role')
|
|
38
|
-
.action(async (role) => {
|
|
39
|
-
const contract = getVaultHubViewerContract(ADDRESS);
|
|
40
|
-
const account = getAccount();
|
|
41
|
-
await callReadMethod(contract, 'vaultsByRole', [role, account.address]);
|
|
42
|
-
});
|
|
43
|
-
vaultHubViewer
|
|
44
|
-
.command('by-role-and-address')
|
|
45
|
-
.description('get vaults by role and address')
|
|
46
|
-
.argument('<role>', 'role')
|
|
47
|
-
.argument('<address>', 'address')
|
|
48
|
-
.action(async (role, address) => {
|
|
49
|
-
const contract = getVaultHubViewerContract(ADDRESS);
|
|
50
|
-
await callReadMethod(contract, 'vaultsByRole', [role, address]);
|
|
51
|
-
});
|
|
52
|
-
//# sourceMappingURL=vault-hub-viewer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vault-hub-viewer.js","sourceRoot":"","sources":["../../programs/vault-hub-viewer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEvC,uBAAuB;AACvB,MAAM,OAAO,GAAG,4CAA4C,CAAC;AAE7D,oCAAoC;AAEpC,MAAM,cAAc,GAAG,OAAO;KAC3B,OAAO,CAAC,YAAY,CAAC;KACrB,WAAW,CAAC,kBAAkB,CAAC,CAAC;AAEnC,cAAc;KACX,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,mCAAmC,CAAC;KAChD,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,QAAQ,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAEpD,MAAM,cAAc,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC;AAEL,cAAc;KACX,OAAO,CAAC,IAAI,CAAC;KACb,WAAW,CAAC,eAAe,CAAC;KAC5B,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,QAAQ,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,MAAM,cAAc,CAAC,QAAQ,EAAE,eAAe,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AACrE,CAAC,CAAC,CAAC;AAEL,cAAc;KACX,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,qBAAqB,CAAC;KAClC,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;KACtC,MAAM,CAAC,KAAK,EAAE,OAAgB,EAAE,EAAE;IACjC,MAAM,QAAQ,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAEpD,MAAM,cAAc,CAAC,QAAQ,EAAE,eAAe,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC;AAEL,cAAc;KACX,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,oBAAoB,CAAC;KACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;KAC1B,MAAM,CAAC,KAAK,EAAE,IAAa,EAAE,EAAE;IAC9B,MAAM,QAAQ,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,MAAM,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AAC1E,CAAC,CAAC,CAAC;AAEL,cAAc;KACX,OAAO,CAAC,qBAAqB,CAAC;KAC9B,WAAW,CAAC,gCAAgC,CAAC;KAC7C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;KAC1B,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC;KAChC,MAAM,CAAC,KAAK,EAAE,IAAa,EAAE,OAAgB,EAAE,EAAE;IAChD,MAAM,QAAQ,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAEpD,MAAM,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AAClE,CAAC,CAAC,CAAC"}
|