get_entropy_registration.ts 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import yargs from "yargs";
  2. import { hideBin } from "yargs/helpers";
  3. import { DefaultStore } from "../src/node/utils/store";
  4. function deserializeCommitmentMetadata(data: Buffer) {
  5. const seed = Uint8Array.from(data.subarray(0, 32));
  6. const chainLength = data.readBigInt64LE(32);
  7. return {
  8. seed,
  9. chainLength,
  10. };
  11. }
  12. const parser = yargs(hideBin(process.argv))
  13. .usage("Usage: $0")
  14. .options({
  15. testnet: {
  16. type: "boolean",
  17. default: false,
  18. desc: "Fetch the provider registration data for the testnet contracts.",
  19. },
  20. });
  21. async function main() {
  22. const argv = await parser.argv;
  23. for (const contract of Object.values(DefaultStore.entropy_contracts)) {
  24. if (contract.getChain().isMainnet() === argv.testnet) continue;
  25. let provider;
  26. let providerInfo;
  27. try {
  28. provider = await contract.getDefaultProvider();
  29. providerInfo = await contract.getProviderInfo(provider);
  30. } catch (error) {
  31. console.error(`Error fetching info for ${contract.getId()}`, error);
  32. continue;
  33. }
  34. const commitmentMetadata = providerInfo.commitmentMetadata.replace(
  35. "0x",
  36. "",
  37. );
  38. // const binaryData = hexToBytes(commitmentMetadata);
  39. const metadata = deserializeCommitmentMetadata(
  40. Buffer.from(commitmentMetadata, "hex"),
  41. );
  42. console.log("=".repeat(100));
  43. console.log(`Fetched info for ${contract.getId()}`);
  44. console.log(`chain : ${contract.getChain().getId()}`);
  45. console.log(`contract : ${contract.address}`);
  46. console.log(`provider : ${provider}`);
  47. console.log(`commitment data : ${commitmentMetadata}`);
  48. console.log(`chainLength : ${metadata.chainLength}`);
  49. console.log(`seed : [${metadata.seed}]`);
  50. console.log(
  51. `original seq no : ${providerInfo.originalCommitmentSequenceNumber}`,
  52. );
  53. }
  54. }
  55. main();