@lidofinance/lsv-cli 1.0.0-alpha.13 → 1.0.0-alpha.14

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 (141) hide show
  1. package/README.md +243 -120
  2. package/dist/abi/CLProofVerifier.js +279 -0
  3. package/dist/abi/CLProofVerifier.js.map +1 -0
  4. package/dist/abi/Dashboard.js +1060 -942
  5. package/dist/abi/Dashboard.js.map +1 -1
  6. package/dist/abi/Delegation.js +1260 -1129
  7. package/dist/abi/Delegation.js.map +1 -1
  8. package/dist/abi/LidoLocator.js +311 -270
  9. package/dist/abi/LidoLocator.js.map +1 -1
  10. package/dist/abi/PredepositGuarantee.js +1733 -0
  11. package/dist/abi/PredepositGuarantee.js.map +1 -0
  12. package/dist/abi/StakingVault.js +723 -528
  13. package/dist/abi/StakingVault.js.map +1 -1
  14. package/dist/abi/VaultFactory.js +164 -144
  15. package/dist/abi/VaultFactory.js.map +1 -1
  16. package/dist/abi/VaultHubViewer.js +297 -0
  17. package/dist/abi/VaultHubViewer.js.map +1 -0
  18. package/dist/abi/index.js +12 -9
  19. package/dist/abi/index.js.map +1 -1
  20. package/dist/contracts/clProofVerifier.js +29 -0
  21. package/dist/contracts/clProofVerifier.js.map +1 -0
  22. package/dist/contracts/dashboard.js.map +1 -1
  23. package/dist/contracts/index.js +12 -9
  24. package/dist/contracts/index.js.map +1 -1
  25. package/dist/contracts/locator.js +2 -2
  26. package/dist/contracts/locator.js.map +1 -1
  27. package/dist/contracts/pdg.js +17 -0
  28. package/dist/contracts/pdg.js.map +1 -0
  29. package/dist/contracts/vault-factory.js +5 -9
  30. package/dist/contracts/vault-factory.js.map +1 -1
  31. package/dist/contracts/vault-hub-viewer.js +14 -0
  32. package/dist/contracts/vault-hub-viewer.js.map +1 -0
  33. package/dist/features/dashboard-delegation.js +4 -1
  34. package/dist/features/dashboard-delegation.js.map +1 -1
  35. package/dist/features/vault-factory.js +6 -10
  36. package/dist/features/vault-factory.js.map +1 -1
  37. package/dist/features/voting.js +6 -14
  38. package/dist/features/voting.js.map +1 -1
  39. package/dist/index.js +6 -3
  40. package/dist/index.js.map +1 -1
  41. package/dist/programs/account.js +3 -1
  42. package/dist/programs/account.js.map +1 -1
  43. package/dist/programs/dashboard/config.js +65 -0
  44. package/dist/programs/dashboard/config.js.map +1 -0
  45. package/dist/programs/dashboard/index.js +4 -0
  46. package/dist/programs/dashboard/index.js.map +1 -0
  47. package/dist/programs/dashboard/main.js +12 -0
  48. package/dist/programs/dashboard/main.js.map +1 -0
  49. package/dist/programs/dashboard/read.js +25 -0
  50. package/dist/programs/dashboard/read.js.map +1 -0
  51. package/dist/programs/{dashboard.js → dashboard/write.js} +78 -136
  52. package/dist/programs/dashboard/write.js.map +1 -0
  53. package/dist/programs/delegation/config.js +33 -0
  54. package/dist/programs/delegation/config.js.map +1 -0
  55. package/dist/programs/delegation/index.js +4 -0
  56. package/dist/programs/delegation/index.js.map +1 -0
  57. package/dist/programs/delegation/main.js +12 -0
  58. package/dist/programs/delegation/main.js.map +1 -0
  59. package/dist/programs/delegation/read.js +98 -0
  60. package/dist/programs/delegation/read.js.map +1 -0
  61. package/dist/programs/delegation/write.js +327 -0
  62. package/dist/programs/delegation/write.js.map +1 -0
  63. package/dist/programs/index.js +7 -4
  64. package/dist/programs/index.js.map +1 -1
  65. package/dist/programs/pdg/config.js +2 -0
  66. package/dist/programs/pdg/config.js.map +1 -0
  67. package/dist/programs/pdg/index.js +4 -0
  68. package/dist/programs/pdg/index.js.map +1 -0
  69. package/dist/programs/pdg/main.js +12 -0
  70. package/dist/programs/pdg/main.js.map +1 -0
  71. package/dist/programs/pdg/read.js +7 -0
  72. package/dist/programs/pdg/read.js.map +1 -0
  73. package/dist/programs/pdg/write.js +64 -0
  74. package/dist/programs/pdg/write.js.map +1 -0
  75. package/dist/programs/predeposit-guarantee.js +73 -0
  76. package/dist/programs/predeposit-guarantee.js.map +1 -0
  77. package/dist/programs/vault/config.js +66 -0
  78. package/dist/programs/vault/config.js.map +1 -0
  79. package/dist/programs/vault/index.js +4 -0
  80. package/dist/programs/vault/index.js.map +1 -0
  81. package/dist/programs/vault/main.js +10 -0
  82. package/dist/programs/vault/main.js.map +1 -0
  83. package/dist/programs/vault/read.js +53 -0
  84. package/dist/programs/vault/read.js.map +1 -0
  85. package/dist/programs/vault/write.js +123 -0
  86. package/dist/programs/vault/write.js.map +1 -0
  87. package/dist/programs/vault-factory/config.js +2 -0
  88. package/dist/programs/vault-factory/config.js.map +1 -0
  89. package/dist/programs/vault-factory/index.js +4 -0
  90. package/dist/programs/vault-factory/index.js.map +1 -0
  91. package/dist/programs/vault-factory/main.js +12 -0
  92. package/dist/programs/vault-factory/main.js.map +1 -0
  93. package/dist/programs/vault-factory/read.js +26 -0
  94. package/dist/programs/vault-factory/read.js.map +1 -0
  95. package/dist/programs/{vault-factory.js → vault-factory/write.js} +22 -37
  96. package/dist/programs/vault-factory/write.js.map +1 -0
  97. package/dist/programs/vault-hub-viewer.js +52 -0
  98. package/dist/programs/vault-hub-viewer.js.map +1 -0
  99. package/dist/programs/vault-hub.js +20 -52
  100. package/dist/programs/vault-hub.js.map +1 -1
  101. package/dist/programs/voting.js +11 -33
  102. package/dist/programs/voting.js.map +1 -1
  103. package/dist/utils/contract.js +63 -2
  104. package/dist/utils/contract.js.map +1 -1
  105. package/dist/utils/get-commands.js +11 -0
  106. package/dist/utils/get-commands.js.map +1 -0
  107. package/dist/utils/index.js +5 -0
  108. package/dist/utils/index.js.map +1 -1
  109. package/dist/utils/prompts/default.js +17 -0
  110. package/dist/utils/prompts/default.js.map +1 -0
  111. package/dist/utils/prompts/delegation-dashboard.js +29 -0
  112. package/dist/utils/prompts/delegation-dashboard.js.map +1 -0
  113. package/dist/utils/prompts/index.js +4 -0
  114. package/dist/utils/prompts/index.js.map +1 -0
  115. package/dist/utils/prompts/predeposit-guarantee.js +25 -0
  116. package/dist/utils/prompts/predeposit-guarantee.js.map +1 -0
  117. package/dist/utils/proof/create-proof.js +62 -0
  118. package/dist/utils/proof/create-proof.js.map +1 -0
  119. package/dist/utils/proof/first-validator-gindex.js +26 -0
  120. package/dist/utils/proof/first-validator-gindex.js.map +1 -0
  121. package/dist/utils/proof/index.js +4 -0
  122. package/dist/utils/proof/index.js.map +1 -0
  123. package/dist/utils/proof/merkle-utils.js +131 -0
  124. package/dist/utils/proof/merkle-utils.js.map +1 -0
  125. package/dist/utils/proof/proofs.js +52 -0
  126. package/dist/utils/proof/proofs.js.map +1 -0
  127. package/dist/utils/read-programs-by-abi.js +83 -0
  128. package/dist/utils/read-programs-by-abi.js.map +1 -0
  129. package/dist/utils/spinner/index.js +2 -0
  130. package/dist/utils/spinner/index.js.map +1 -0
  131. package/dist/utils/spinner/spinners.js +16 -0
  132. package/dist/utils/spinner/spinners.js.map +1 -0
  133. package/dist/utils/spinner/spinners.json +119 -0
  134. package/dist/version/index.js +1 -1
  135. package/package.json +11 -4
  136. package/dist/programs/dashboard.js.map +0 -1
  137. package/dist/programs/delegation.js +0 -581
  138. package/dist/programs/delegation.js.map +0 -1
  139. package/dist/programs/vault-factory.js.map +0 -1
  140. package/dist/programs/vault.js +0 -375
  141. package/dist/programs/vault.js.map +0 -1
@@ -2,6 +2,7 @@ import { program } from '../command/index.js';
2
2
  import { getVaultHubContract } from '../contracts/index.js';
3
3
  import { getAccount } from '../providers/index.js';
4
4
  import { getChain } from '../configs/index.js';
5
+ import { callWriteMethodWithReceipt, callReadMethod } from '../utils/index.js';
5
6
  const vaultHub = program.command('hub').description('vault hub contract');
6
7
  // Works fine
7
8
  vaultHub
@@ -36,18 +37,9 @@ vaultHub
36
37
  .argument('<codehash>', 'codehash vault proxy codehash')
37
38
  .action(async (codehash) => {
38
39
  const contract = await getVaultHubContract();
39
- try {
40
- const tx = contract.write.addVaultProxyCodehash([codehash], {
41
- account: getAccount(),
42
- chain: getChain(),
43
- });
44
- console.table({ Transaction: tx });
45
- }
46
- catch (err) {
47
- if (err instanceof Error) {
48
- console.info('Error while adding codehash:\n', err.message);
49
- }
50
- }
40
+ await callWriteMethodWithReceipt(contract, 'addVaultProxyCodehash', [
41
+ codehash,
42
+ ]);
51
43
  });
52
44
  // Works fine
53
45
  vaultHub
@@ -55,17 +47,10 @@ vaultHub
55
47
  .description('get connected vaults number')
56
48
  .action(async () => {
57
49
  const contract = await getVaultHubContract();
58
- try {
59
- const vaultsCount = await contract.read.vaultsCount();
60
- console.table({
61
- 'Vaults count': Number(vaultsCount),
62
- });
63
- }
64
- catch (err) {
65
- if (err instanceof Error) {
66
- console.info('Error when getting vaults count:\n', err.message);
67
- }
68
- }
50
+ const vaultsCount = await callReadMethod(contract, 'vaultsCount');
51
+ console.table({
52
+ 'Vaults count': Number(vaultsCount),
53
+ });
69
54
  });
70
55
  vaultHub
71
56
  .command('vi')
@@ -95,15 +80,10 @@ vaultHub
95
80
  .argument('<address>', 'address')
96
81
  .action(async (address) => {
97
82
  const contract = await getVaultHubContract();
98
- try {
99
- const vaultSocket = await contract.read.vaultSocket([address]);
100
- console.table({ 'Vault Socket': vaultSocket });
101
- }
102
- catch (err) {
103
- if (err instanceof Error) {
104
- console.info('Error when getting vault:\n', err.message);
105
- }
106
- }
83
+ const vaultSocket = await callReadMethod(contract, 'vaultSocket', [
84
+ address,
85
+ ]);
86
+ console.table({ 'Vault Socket': vaultSocket });
107
87
  });
108
88
  // TODO: replace by voting
109
89
  vaultHub
@@ -115,26 +95,14 @@ vaultHub
115
95
  .argument('<reserveRatioThreshold>', 'reserve ratio that makes possible to force rebalance on the vault (in basis points)')
116
96
  .argument('<treasuryFeeBP>', 'treasury fee in basis points')
117
97
  .action(async (address, shareLimit, reserveRatio, reserveRatioThreshold, treasuryFeeBP) => {
118
- try {
119
- const contract = await getVaultHubContract();
120
- const account = getAccount();
121
- const tx = await contract.write.connectVault([
122
- address,
123
- shareLimit,
124
- reserveRatio,
125
- reserveRatioThreshold,
126
- treasuryFeeBP,
127
- ], {
128
- account,
129
- chain: getChain(),
130
- });
131
- console.table({ Transaction: tx });
132
- }
133
- catch (err) {
134
- if (err instanceof Error) {
135
- program.error(err.message);
136
- }
137
- }
98
+ const contract = await getVaultHubContract();
99
+ await callWriteMethodWithReceipt(contract, 'connectVault', [
100
+ address,
101
+ shareLimit,
102
+ reserveRatio,
103
+ reserveRatioThreshold,
104
+ treasuryFeeBP,
105
+ ]);
138
106
  });
139
107
  vaultHub
140
108
  .command('v-update-share-limit')
@@ -1 +1 @@
1
- {"version":3,"file":"vault-hub.js","sourceRoot":"","sources":["../../programs/vault-hub.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vault-hub.js","sourceRoot":"","sources":["../../programs/vault-hub.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,8 @@ import { program } from '../command/index.js';
2
2
  import {
3
3
  // getTokenManagerContract,
4
4
  getVaultHubContract, getVotingContract, } from '../contracts/index.js';
5
- import { getAccount } from '../providers/index.js';
6
- import { getChain } from '../configs/index.js';
7
5
  import { voteLastVoting } from '../features/index.js';
6
+ import { callWriteMethodWithReceipt, callReadMethod } from '../utils/index.js';
8
7
  const voting = program.command('vote').description('voting contract');
9
8
  voting
10
9
  .command('connect-vault')
@@ -16,40 +15,19 @@ voting
16
15
  .argument('<reserveRatioThreshold>', 'reserve ratio that makes possible to force rebalance on the vault (in basis points)')
17
16
  .argument('<treasuryFeeBP>', 'treasury fee in basis points')
18
17
  .action(async (address, shareLimit, reserveRatio, reserveRatioThreshold, treasuryFeeBP) => {
19
- try {
20
- const contract = await getVaultHubContract();
21
- // const tmContract = getTokenManagerContract();
22
- // const vContract = getVotingContract();
23
- const account = getAccount();
24
- const tx = await contract.write.connectVault([
25
- address,
26
- shareLimit,
27
- reserveRatio,
28
- reserveRatioThreshold,
29
- treasuryFeeBP,
30
- ], {
31
- account,
32
- chain: getChain(),
33
- });
34
- console.table({ Transaction: tx });
35
- }
36
- catch (err) {
37
- if (err instanceof Error) {
38
- program.error(err.message);
39
- }
40
- }
18
+ const contract = await getVaultHubContract();
19
+ await callWriteMethodWithReceipt(contract, 'connectVault', [
20
+ address,
21
+ shareLimit,
22
+ reserveRatio,
23
+ reserveRatioThreshold,
24
+ treasuryFeeBP,
25
+ ]);
41
26
  });
42
27
  voting.command('get-lv').action(async () => {
43
28
  const { contract } = getVotingContract();
44
- try {
45
- const tx = await contract.read.votesLength();
46
- console.info({ 'Votes length': tx });
47
- }
48
- catch (err) {
49
- if (err instanceof Error) {
50
- console.info('Error when getting votes length:\n', err.message);
51
- }
52
- }
29
+ const tx = await callReadMethod(contract, 'votesLength');
30
+ console.info({ 'Votes length': tx });
53
31
  });
54
32
  voting.command('connect-and-vote').action(async () => await voteLastVoting());
55
33
  //# sourceMappingURL=voting.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"voting.js","sourceRoot":"","sources":["../../programs/voting.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO;AACL,2BAA2B;AAC3B,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;AAEtE,MAAM;KACH,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,mCAAmC,CAAC;KAChD,WAAW,CAAC,wDAAwD,CAAC;KACrE,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;KACtC,QAAQ,CACP,cAAc,EACd,gEAAgE,CACjE;KACA,QAAQ,CAAC,gBAAgB,EAAE,uCAAuC,CAAC;KACnE,QAAQ,CACP,yBAAyB,EACzB,qFAAqF,CACtF;KACA,QAAQ,CAAC,iBAAiB,EAAE,8BAA8B,CAAC;KAC3D,MAAM,CACL,KAAK,EACH,OAAgB,EAChB,UAAkB,EAClB,YAAoB,EACpB,qBAA6B,EAC7B,aAAqB,EACrB,EAAE;IACF,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,mBAAmB,EAAE,CAAC;QAC7C,gDAAgD;QAChD,yCAAyC;QACzC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAE7B,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,YAAY,CAC1C;YACE,OAAO;YACP,UAAU;YACV,YAAY;YACZ,qBAAqB;YACrB,aAAa;SACd,EACD;YACE,OAAO;YACP,KAAK,EAAE,QAAQ,EAAE;SAClB,CACF,CAAC;QAEF,OAAO,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;AACH,CAAC,CACF,CAAC;AAEJ,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;IACzC,MAAM,EAAE,QAAQ,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAEzC,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAE7C,OAAO,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,oCAAoC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,cAAc,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"voting.js","sourceRoot":"","sources":["../../programs/voting.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO;AACL,2BAA2B;AAC3B,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,0BAA0B,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEnE,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;AAEtE,MAAM;KACH,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,mCAAmC,CAAC;KAChD,WAAW,CAAC,wDAAwD,CAAC;KACrE,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;KACtC,QAAQ,CACP,cAAc,EACd,gEAAgE,CACjE;KACA,QAAQ,CAAC,gBAAgB,EAAE,uCAAuC,CAAC;KACnE,QAAQ,CACP,yBAAyB,EACzB,qFAAqF,CACtF;KACA,QAAQ,CAAC,iBAAiB,EAAE,8BAA8B,CAAC;KAC3D,MAAM,CACL,KAAK,EACH,OAAgB,EAChB,UAAkB,EAClB,YAAoB,EACpB,qBAA6B,EAC7B,aAAqB,EACrB,EAAE;IACF,MAAM,QAAQ,GAAG,MAAM,mBAAmB,EAAE,CAAC;IAE7C,MAAM,0BAA0B,CAAC,QAAQ,EAAE,cAAc,EAAE;QACzD,OAAO;QACP,UAAU;QACV,YAAY;QACZ,qBAAqB;QACrB,aAAa;KACd,CAAC,CAAC;AACL,CAAC,CACF,CAAC;AAEJ,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;IACzC,MAAM,EAAE,QAAQ,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAEzC,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAEzD,OAAO,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,cAAc,EAAE,CAAC,CAAC"}
@@ -1,7 +1,36 @@
1
1
  import { printError } from './index.js';
2
2
  import { getAccount, getPublicClient } from '../providers/index.js';
3
3
  import { getChain } from '../configs/index.js';
4
+ import { showSpinner } from '../utils/index.js';
5
+ import { waitForTransactionReceipt } from 'viem/actions';
6
+ export const callSimulateWriteMethod = async (contract, methodName, payload, value) => {
7
+ const hideSpinner = showSpinner({
8
+ type: 'bouncingBall',
9
+ message: 'Simulating...',
10
+ });
11
+ try {
12
+ const method = contract.simulate[methodName];
13
+ const result = await method?.(payload, {
14
+ account: getAccount(),
15
+ chain: getChain(),
16
+ value,
17
+ });
18
+ hideSpinner();
19
+ return result;
20
+ }
21
+ catch (err) {
22
+ hideSpinner();
23
+ printError(err, `Error when simulating write method "${methodName}"`);
24
+ return null;
25
+ }
26
+ };
4
27
  export const callWriteMethod = async (contract, methodName, payload, value) => {
28
+ const simulateResult = await callSimulateWriteMethod(contract, methodName, payload, value);
29
+ if (!simulateResult) {
30
+ printError(new Error('Simulation failed'), `Error when simulating write method "${methodName}"`);
31
+ return;
32
+ }
33
+ const hideSpinner = showSpinner();
5
34
  try {
6
35
  const method = contract.write[methodName];
7
36
  const tx = await method?.(payload, {
@@ -9,22 +38,29 @@ export const callWriteMethod = async (contract, methodName, payload, value) => {
9
38
  chain: getChain(),
10
39
  value,
11
40
  });
41
+ hideSpinner();
12
42
  console.table({ Transaction: tx });
43
+ return tx;
13
44
  }
14
45
  catch (err) {
15
- printError(err, `Error when calling write method ${methodName}`);
46
+ hideSpinner();
47
+ printError(err, `Error when calling write method "${methodName}"`);
48
+ return;
16
49
  }
17
50
  };
18
51
  export const callReadMethod = async (contract, methodName, ...payload) => {
52
+ const hideSpinner = showSpinner();
19
53
  try {
20
54
  const method = contract.read[methodName];
21
55
  const result = await method?.(payload);
56
+ hideSpinner();
22
57
  // TODO: do message better or show in called place
23
58
  console.table({ Result: result });
24
59
  return result;
25
60
  }
26
61
  catch (err) {
27
- printError(err, `Error when calling read method ${methodName}`);
62
+ hideSpinner();
63
+ printError(err, `Error when calling read method "${methodName}"`);
28
64
  }
29
65
  };
30
66
  export const isContractAddress = async (address) => {
@@ -34,4 +70,29 @@ export const isContractAddress = async (address) => {
34
70
  });
35
71
  return bytecode !== undefined;
36
72
  };
73
+ export const callWriteMethodWithReceipt = async (contract, methodName, payload, value) => {
74
+ const publicClient = getPublicClient();
75
+ const tx = await callWriteMethod(contract, methodName, payload, value);
76
+ if (!tx)
77
+ return;
78
+ const hideSpinner = showSpinner({
79
+ type: 'bouncingBar',
80
+ message: 'Waiting for transaction receipt...',
81
+ });
82
+ try {
83
+ const receipt = await waitForTransactionReceipt(publicClient, { hash: tx });
84
+ hideSpinner();
85
+ console.table({
86
+ 'Transaction status': receipt.status,
87
+ 'Transaction block number': Number(receipt.blockNumber),
88
+ 'Transaction gas used': Number(receipt.gasUsed),
89
+ });
90
+ return { receipt, tx };
91
+ }
92
+ catch (err) {
93
+ hideSpinner();
94
+ printError(err, 'Error when waiting for transaction receipt');
95
+ return;
96
+ }
97
+ };
37
98
  //# sourceMappingURL=contract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../utils/contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAWnC,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAIlC,QAAW,EACX,UAAa,EACb,OAAiE,EACjE,KAAc,EACd,EAAE;IACF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,EAAE,GAAG,MAAM,MAAM,EAAE,CAAC,OAAO,EAAE;YACjC,OAAO,EAAE,UAAU,EAAE;YACrB,KAAK,EAAE,QAAQ,EAAE;YACjB,KAAK;SACN,CAAC,CAAC;QAEH,OAAO,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,UAAU,CAAC,GAAG,EAAE,mCAAmC,UAAU,EAAE,CAAC,CAAC;IACnE,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAIjC,QAAW,EACX,UAAa,EACb,GAAG,OAAiC,EACpC,EAAE;IACF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,MAAM,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC;QACvC,kDAAkD;QAClD,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAElC,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,UAAU,CAAC,GAAG,EAAE,kCAAkC,UAAU,EAAE,CAAC,CAAC;IAClE,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,OAAgB,EAAE,EAAE;IAC1D,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC;QAC1C,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,OAAO,QAAQ,KAAK,SAAS,CAAC;AAChC,CAAC,CAAC"}
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../utils/contract.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export const getCommandsJson = (program) => {
2
+ return JSON.stringify(program.commands.map((x) => {
3
+ const command = `${x.name()} ${x.alias() !== undefined ? x.alias() : ''}${x.registeredArguments?.map((y) => `\\<${y.name()}>`).join(' ') ||
4
+ ''}`;
5
+ return {
6
+ Command: command,
7
+ Description: x.description(),
8
+ };
9
+ }));
10
+ };
11
+ //# sourceMappingURL=get-commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-commands.js","sourceRoot":"","sources":["../../utils/get-commands.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAgB,EAAE,EAAE;IAClD,OAAO,IAAI,CAAC,SAAS,CACnB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;QAC9B,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,GACrE,CAAC,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YACnE,EACF,EAAE,CAAC;QACH,OAAO;YACL,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE;SAC7B,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC"}
@@ -4,4 +4,9 @@ export * from './resolve-path.js';
4
4
  export * from './sleep.js';
5
5
  export * from './error-handler.js';
6
6
  export * from './contract.js';
7
+ export * from './proof/index.js';
8
+ export * from './prompts/index.js';
9
+ export * from './spinner/index.js';
10
+ export * from './read-programs-by-abi.js';
11
+ export * from './get-commands.js';
7
12
  //# sourceMappingURL=index.js.map
@@ -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"}
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"}
@@ -0,0 +1,17 @@
1
+ import prompts from 'prompts';
2
+ export const textPrompt = (message, name) => {
3
+ return prompts({
4
+ type: 'text',
5
+ name,
6
+ message,
7
+ });
8
+ };
9
+ export const confirmPrompt = (message, name) => {
10
+ return prompts({
11
+ type: 'confirm',
12
+ name,
13
+ message,
14
+ initial: false,
15
+ });
16
+ };
17
+ //# sourceMappingURL=default.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default.js","sourceRoot":"","sources":["../../../utils/prompts/default.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,OAAe,EACf,IAAO,EACsB,EAAE;IAC/B,OAAO,OAAO,CAAC;QACb,IAAI,EAAE,MAAM;QACZ,IAAI;QACJ,OAAO;KACR,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,OAAe,EACf,IAAO,EACsB,EAAE;IAC/B,OAAO,OAAO,CAAC;QACb,IAAI,EAAE,SAAS;QACf,IAAI;QACJ,OAAO;QACP,OAAO,EAAE,KAAK;KACf,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { confirmPrompt, textPrompt } from './default.js';
2
+ export const dashboardAddressPrompt = async () => {
3
+ return await textPrompt('Enter dashboard address', 'address');
4
+ };
5
+ export const amountWeiPrompt = async () => {
6
+ return await textPrompt('Enter amount in wei', 'amountWei');
7
+ };
8
+ export const confirmContractAndAmount = async (dashboard, amountWei) => {
9
+ return await confirmPrompt(`Do you want to fund the dashboard ${dashboard} with ${amountWei} wei?`, 'confirm');
10
+ };
11
+ export const confirmFund = async (address, amountWei) => {
12
+ let contractAddress = address;
13
+ let amount = amountWei;
14
+ if (!contractAddress) {
15
+ const answerDashboardAddress = await dashboardAddressPrompt();
16
+ contractAddress = answerDashboardAddress.address;
17
+ }
18
+ if (!amount) {
19
+ const answerAmount = await amountWeiPrompt();
20
+ amount = answerAmount.amountWei;
21
+ }
22
+ const { confirm } = await confirmContractAndAmount(contractAddress, amount);
23
+ if (!confirm) {
24
+ console.info('Command cancelled');
25
+ return { address: null, amount: null };
26
+ }
27
+ return { address: contractAddress, amount: amount };
28
+ };
29
+ //# sourceMappingURL=delegation-dashboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delegation-dashboard.js","sourceRoot":"","sources":["../../../utils/prompts/delegation-dashboard.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,IAAI,EAAE;IAC/C,OAAO,MAAM,UAAU,CAAC,yBAAyB,EAAE,SAAS,CAAC,CAAC;AAChE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE;IACxC,OAAO,MAAM,UAAU,CAAC,qBAAqB,EAAE,WAAW,CAAC,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAC3C,SAAkB,EAClB,SAAiB,EACjB,EAAE;IACF,OAAO,MAAM,aAAa,CACxB,qCAAqC,SAAS,SAAS,SAAS,OAAO,EACvE,SAAS,CACV,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAE,OAAgB,EAAE,SAAiB,EAAE,EAAE;IACvE,IAAI,eAAe,GAAmB,OAAO,CAAC;IAC9C,IAAI,MAAM,GAAkB,SAAS,CAAC;IAEtC,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,sBAAsB,GAAG,MAAM,sBAAsB,EAAE,CAAC;QAC9D,eAAe,GAAG,sBAAsB,CAAC,OAAkB,CAAC;IAC9D,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,YAAY,GAAG,MAAM,eAAe,EAAE,CAAC;QAC7C,MAAM,GAAG,YAAY,CAAC,SAAmB,CAAC;IAC5C,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,wBAAwB,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAE5E,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACzC,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACtD,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './default.js';
2
+ export * from './predeposit-guarantee.js';
3
+ export * from './delegation-dashboard.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../utils/prompts/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { textPrompt, confirmPrompt } from './default.js';
2
+ export const validatorIndexPrompt = async () => {
3
+ return await textPrompt('Enter validator index', 'validatorIndex');
4
+ };
5
+ export const confirmValidatorIndex = async (validatorIndex) => {
6
+ return await confirmPrompt(`Do you want to create proof for validator ${validatorIndex}?`, 'confirm');
7
+ };
8
+ export const confirmCreateProof = async (index) => {
9
+ let validatorIndex = index;
10
+ if (!validatorIndex) {
11
+ const answerValidatorIndex = await validatorIndexPrompt();
12
+ validatorIndex = answerValidatorIndex.validatorIndex;
13
+ if (!validatorIndex) {
14
+ console.info('Command cancelled');
15
+ return null;
16
+ }
17
+ }
18
+ const { confirm } = await confirmValidatorIndex(validatorIndex);
19
+ if (!confirm) {
20
+ console.info('Command cancelled');
21
+ return null;
22
+ }
23
+ return validatorIndex;
24
+ };
25
+ //# sourceMappingURL=predeposit-guarantee.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"predeposit-guarantee.js","sourceRoot":"","sources":["../../../utils/prompts/predeposit-guarantee.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,IAAI,EAAE;IAC7C,OAAO,MAAM,UAAU,CAAC,uBAAuB,EAAE,gBAAgB,CAAC,CAAC;AACrE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EAAE,cAAsB,EAAE,EAAE;IACpE,OAAO,MAAM,aAAa,CACxB,6CAA6C,cAAc,GAAG,EAC9D,SAAS,CACV,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,KAAa,EAAE,EAAE;IACxD,IAAI,cAAc,GAAW,KAAK,CAAC;IAEnC,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,oBAAoB,GAAG,MAAM,oBAAoB,EAAE,CAAC;QAC1D,cAAc,GAAG,oBAAoB,CAAC,cAAc,CAAC;QAErD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,qBAAqB,CAAC,cAAc,CAAC,CAAC;IAEhE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC"}
@@ -0,0 +1,62 @@
1
+ import { toHex } from 'viem';
2
+ import { getConfig } from '../../configs/index.js';
3
+ import { createStateProof, createPubkeyWCProof, createBeaconHeaderProof, } from './proofs.js';
4
+ const SECONDS_PER_SLOT = 12;
5
+ const endpoints = {
6
+ genesis: 'eth/v1/beacon/genesis',
7
+ beaconHeader: (blockId) => `eth/v1/beacon/headers/${blockId}`,
8
+ beaconHeadersByParentRoot: (parentRoot) => `eth/v1/beacon/headers?parent_root=${parentRoot}`,
9
+ state: (stateId) => `eth/v2/debug/beacon/states/${stateId}`,
10
+ };
11
+ const SupportedFork = {
12
+ capella: 'capella',
13
+ deneb: 'deneb',
14
+ electra: 'electra',
15
+ };
16
+ const slotToTimestamp = (slot, genesisTimestamp) => {
17
+ return genesisTimestamp + slot * Number(SECONDS_PER_SLOT);
18
+ };
19
+ export const createPDGProof = async (validatorIndex) => {
20
+ const { clLink } = getConfig();
21
+ const beaconHeaderResp = await fetch(`${clLink}${endpoints.beaconHeader('finalized')}`);
22
+ const beaconHeaderJson = await beaconHeaderResp.json();
23
+ const beaconHeader = beaconHeaderJson.data.header.message;
24
+ const stateResp = await fetch(`${clLink}${endpoints.state('finalized')}`, {
25
+ headers: { accept: 'application/octet-stream' },
26
+ });
27
+ const { headers } = stateResp;
28
+ const forkName = headers.get('eth-consensus-version');
29
+ // Checks
30
+ if (!(forkName in SupportedFork))
31
+ throw new Error(`Fork name [${forkName}] is not supported`);
32
+ const bodyBytes = await stateResp.arrayBuffer();
33
+ if (!bodyBytes)
34
+ throw new Error('Body bytes are not found');
35
+ // Proofs
36
+ // Beacon Header Proof
37
+ const { proof: beaconHeaderProof, root: beaconHeaderRoot } = await createBeaconHeaderProof(beaconHeader);
38
+ // Validator State Proof
39
+ const { proof: validatorStateProof, validator, view: validatorStateView, } = await createStateProof(validatorIndex, bodyBytes, forkName);
40
+ // Pubkey WC Proof
41
+ const { proof: pubkeyWCProof } = await createPubkeyWCProof(validator.node);
42
+ // Concatenate proofs
43
+ const proofConcat = [
44
+ ...pubkeyWCProof.witnesses,
45
+ ...validatorStateProof.witnesses,
46
+ ...beaconHeaderProof.witnesses,
47
+ ];
48
+ const proofHex = proofConcat.map((w) => toHex(w));
49
+ const headerByParentResp = await fetch(`${clLink}${endpoints.beaconHeadersByParentRoot(beaconHeaderRoot)}`);
50
+ const headerByParentJson = await headerByParentResp.json();
51
+ const headerByParentSlot = headerByParentJson.data[0].header.message.slot;
52
+ const headerByParentTimestamp = slotToTimestamp(headerByParentSlot, validatorStateView.genesisTime);
53
+ const result = {
54
+ proof: proofHex,
55
+ pubkey: toHex(validator.pubkey),
56
+ withdrawalCredentials: toHex(validator.withdrawalCredentials),
57
+ validatorIndex: BigInt(validatorIndex),
58
+ childBlockTimestamp: BigInt(headerByParentTimestamp),
59
+ };
60
+ return result;
61
+ };
62
+ //# sourceMappingURL=create-proof.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-proof.js","sourceRoot":"","sources":["../../../utils/proof/create-proof.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { ssz } from '@lodestar/types';
2
+ const SupportedFork = {
3
+ deneb: 'deneb',
4
+ electra: 'electra',
5
+ };
6
+ export const getFirstValidatorGIndex = (forks) => {
7
+ const gIndexes = {};
8
+ for (const fork of forks) {
9
+ const Fork = ssz[fork];
10
+ const Validators = Fork.BeaconState.getPathInfo(['validators']).type;
11
+ const gI = pack(Fork.BeaconState.getPathInfo(['validators', 0]).gindex,
12
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
13
+ // @ts-ignore
14
+ Validators.limit);
15
+ gIndexes[fork] = toBytes32String(gI);
16
+ }
17
+ console.table(gIndexes);
18
+ };
19
+ const pack = (gI, limit) => {
20
+ const width = limit ? BigInt(Math.log2(limit)) : 0n;
21
+ return (gI << 8n) | width;
22
+ };
23
+ const toBytes32String = (gI) => {
24
+ return `0x${gI.toString(16).padStart(64, '0')}`;
25
+ };
26
+ //# sourceMappingURL=first-validator-gindex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"first-validator-gindex.js","sourceRoot":"","sources":["../../../utils/proof/first-validator-gindex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEtC,MAAM,aAAa,GAAG;IACpB,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,KAAe,EAAE,EAAE;IACzD,MAAM,QAAQ,GAA2B,EAAE,CAAC;IAC5C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAkC,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;QAErE,MAAM,EAAE,GAAG,IAAI,CACb,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM;QACtD,6DAA6D;QAC7D,aAAa;QACb,UAAU,CAAC,KAAK,CACjB,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,IAAI,GAAG,CAAC,EAAU,EAAE,KAAa,EAAE,EAAE;IACzC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpD,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC;AAC5B,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,EAAU,EAAE,EAAE;IACrC,OAAO,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;AAClD,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './merkle-utils.js';
2
+ export * from './create-proof.js';
3
+ export * from './first-validator-gindex.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../utils/proof/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,6BAA6B,CAAC"}