entropy-abi.ts 20 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000
  1. export const EntropyAbi = [
  2. {
  3. anonymous: false,
  4. inputs: [
  5. {
  6. indexed: false,
  7. internalType: "address",
  8. name: "provider",
  9. type: "address",
  10. },
  11. {
  12. indexed: false,
  13. internalType: "address",
  14. name: "oldFeeManager",
  15. type: "address",
  16. },
  17. {
  18. indexed: false,
  19. internalType: "address",
  20. name: "newFeeManager",
  21. type: "address",
  22. },
  23. ],
  24. name: "ProviderFeeManagerUpdated",
  25. type: "event",
  26. },
  27. {
  28. anonymous: false,
  29. inputs: [
  30. {
  31. indexed: false,
  32. internalType: "address",
  33. name: "provider",
  34. type: "address",
  35. },
  36. {
  37. indexed: false,
  38. internalType: "uint128",
  39. name: "oldFee",
  40. type: "uint128",
  41. },
  42. {
  43. indexed: false,
  44. internalType: "uint128",
  45. name: "newFee",
  46. type: "uint128",
  47. },
  48. ],
  49. name: "ProviderFeeUpdated",
  50. type: "event",
  51. },
  52. {
  53. anonymous: false,
  54. inputs: [
  55. {
  56. indexed: false,
  57. internalType: "address",
  58. name: "provider",
  59. type: "address",
  60. },
  61. {
  62. indexed: false,
  63. internalType: "uint32",
  64. name: "oldMaxNumHashes",
  65. type: "uint32",
  66. },
  67. {
  68. indexed: false,
  69. internalType: "uint32",
  70. name: "newMaxNumHashes",
  71. type: "uint32",
  72. },
  73. ],
  74. name: "ProviderMaxNumHashesAdvanced",
  75. type: "event",
  76. },
  77. {
  78. anonymous: false,
  79. inputs: [
  80. {
  81. indexed: false,
  82. internalType: "address",
  83. name: "provider",
  84. type: "address",
  85. },
  86. {
  87. indexed: false,
  88. internalType: "bytes",
  89. name: "oldUri",
  90. type: "bytes",
  91. },
  92. {
  93. indexed: false,
  94. internalType: "bytes",
  95. name: "newUri",
  96. type: "bytes",
  97. },
  98. ],
  99. name: "ProviderUriUpdated",
  100. type: "event",
  101. },
  102. {
  103. anonymous: false,
  104. inputs: [
  105. {
  106. components: [
  107. {
  108. internalType: "uint128",
  109. name: "feeInWei",
  110. type: "uint128",
  111. },
  112. {
  113. internalType: "uint128",
  114. name: "accruedFeesInWei",
  115. type: "uint128",
  116. },
  117. {
  118. internalType: "bytes32",
  119. name: "originalCommitment",
  120. type: "bytes32",
  121. },
  122. {
  123. internalType: "uint64",
  124. name: "originalCommitmentSequenceNumber",
  125. type: "uint64",
  126. },
  127. {
  128. internalType: "bytes",
  129. name: "commitmentMetadata",
  130. type: "bytes",
  131. },
  132. {
  133. internalType: "bytes",
  134. name: "uri",
  135. type: "bytes",
  136. },
  137. {
  138. internalType: "uint64",
  139. name: "endSequenceNumber",
  140. type: "uint64",
  141. },
  142. {
  143. internalType: "uint64",
  144. name: "sequenceNumber",
  145. type: "uint64",
  146. },
  147. {
  148. internalType: "bytes32",
  149. name: "currentCommitment",
  150. type: "bytes32",
  151. },
  152. {
  153. internalType: "uint64",
  154. name: "currentCommitmentSequenceNumber",
  155. type: "uint64",
  156. },
  157. {
  158. internalType: "address",
  159. name: "feeManager",
  160. type: "address",
  161. },
  162. {
  163. internalType: "uint32",
  164. name: "maxNumHashes",
  165. type: "uint32",
  166. },
  167. ],
  168. indexed: false,
  169. internalType: "struct EntropyStructs.ProviderInfo",
  170. name: "provider",
  171. type: "tuple",
  172. },
  173. ],
  174. name: "Registered",
  175. type: "event",
  176. },
  177. {
  178. anonymous: false,
  179. inputs: [
  180. {
  181. components: [
  182. {
  183. internalType: "address",
  184. name: "provider",
  185. type: "address",
  186. },
  187. {
  188. internalType: "uint64",
  189. name: "sequenceNumber",
  190. type: "uint64",
  191. },
  192. {
  193. internalType: "uint32",
  194. name: "numHashes",
  195. type: "uint32",
  196. },
  197. {
  198. internalType: "bytes32",
  199. name: "commitment",
  200. type: "bytes32",
  201. },
  202. {
  203. internalType: "uint64",
  204. name: "blockNumber",
  205. type: "uint64",
  206. },
  207. {
  208. internalType: "address",
  209. name: "requester",
  210. type: "address",
  211. },
  212. {
  213. internalType: "bool",
  214. name: "useBlockhash",
  215. type: "bool",
  216. },
  217. {
  218. internalType: "bool",
  219. name: "isRequestWithCallback",
  220. type: "bool",
  221. },
  222. ],
  223. indexed: false,
  224. internalType: "struct EntropyStructs.Request",
  225. name: "request",
  226. type: "tuple",
  227. },
  228. ],
  229. name: "Requested",
  230. type: "event",
  231. },
  232. {
  233. anonymous: false,
  234. inputs: [
  235. {
  236. indexed: true,
  237. internalType: "address",
  238. name: "provider",
  239. type: "address",
  240. },
  241. {
  242. indexed: true,
  243. internalType: "address",
  244. name: "requestor",
  245. type: "address",
  246. },
  247. {
  248. indexed: true,
  249. internalType: "uint64",
  250. name: "sequenceNumber",
  251. type: "uint64",
  252. },
  253. {
  254. indexed: false,
  255. internalType: "bytes32",
  256. name: "userRandomNumber",
  257. type: "bytes32",
  258. },
  259. {
  260. components: [
  261. {
  262. internalType: "address",
  263. name: "provider",
  264. type: "address",
  265. },
  266. {
  267. internalType: "uint64",
  268. name: "sequenceNumber",
  269. type: "uint64",
  270. },
  271. {
  272. internalType: "uint32",
  273. name: "numHashes",
  274. type: "uint32",
  275. },
  276. {
  277. internalType: "bytes32",
  278. name: "commitment",
  279. type: "bytes32",
  280. },
  281. {
  282. internalType: "uint64",
  283. name: "blockNumber",
  284. type: "uint64",
  285. },
  286. {
  287. internalType: "address",
  288. name: "requester",
  289. type: "address",
  290. },
  291. {
  292. internalType: "bool",
  293. name: "useBlockhash",
  294. type: "bool",
  295. },
  296. {
  297. internalType: "bool",
  298. name: "isRequestWithCallback",
  299. type: "bool",
  300. },
  301. ],
  302. indexed: false,
  303. internalType: "struct EntropyStructs.Request",
  304. name: "request",
  305. type: "tuple",
  306. },
  307. ],
  308. name: "RequestedWithCallback",
  309. type: "event",
  310. },
  311. {
  312. anonymous: false,
  313. inputs: [
  314. {
  315. components: [
  316. {
  317. internalType: "address",
  318. name: "provider",
  319. type: "address",
  320. },
  321. {
  322. internalType: "uint64",
  323. name: "sequenceNumber",
  324. type: "uint64",
  325. },
  326. {
  327. internalType: "uint32",
  328. name: "numHashes",
  329. type: "uint32",
  330. },
  331. {
  332. internalType: "bytes32",
  333. name: "commitment",
  334. type: "bytes32",
  335. },
  336. {
  337. internalType: "uint64",
  338. name: "blockNumber",
  339. type: "uint64",
  340. },
  341. {
  342. internalType: "address",
  343. name: "requester",
  344. type: "address",
  345. },
  346. {
  347. internalType: "bool",
  348. name: "useBlockhash",
  349. type: "bool",
  350. },
  351. {
  352. internalType: "bool",
  353. name: "isRequestWithCallback",
  354. type: "bool",
  355. },
  356. ],
  357. indexed: false,
  358. internalType: "struct EntropyStructs.Request",
  359. name: "request",
  360. type: "tuple",
  361. },
  362. {
  363. indexed: false,
  364. internalType: "bytes32",
  365. name: "userRevelation",
  366. type: "bytes32",
  367. },
  368. {
  369. indexed: false,
  370. internalType: "bytes32",
  371. name: "providerRevelation",
  372. type: "bytes32",
  373. },
  374. {
  375. indexed: false,
  376. internalType: "bytes32",
  377. name: "blockHash",
  378. type: "bytes32",
  379. },
  380. {
  381. indexed: false,
  382. internalType: "bytes32",
  383. name: "randomNumber",
  384. type: "bytes32",
  385. },
  386. ],
  387. name: "Revealed",
  388. type: "event",
  389. },
  390. {
  391. anonymous: false,
  392. inputs: [
  393. {
  394. components: [
  395. {
  396. internalType: "address",
  397. name: "provider",
  398. type: "address",
  399. },
  400. {
  401. internalType: "uint64",
  402. name: "sequenceNumber",
  403. type: "uint64",
  404. },
  405. {
  406. internalType: "uint32",
  407. name: "numHashes",
  408. type: "uint32",
  409. },
  410. {
  411. internalType: "bytes32",
  412. name: "commitment",
  413. type: "bytes32",
  414. },
  415. {
  416. internalType: "uint64",
  417. name: "blockNumber",
  418. type: "uint64",
  419. },
  420. {
  421. internalType: "address",
  422. name: "requester",
  423. type: "address",
  424. },
  425. {
  426. internalType: "bool",
  427. name: "useBlockhash",
  428. type: "bool",
  429. },
  430. {
  431. internalType: "bool",
  432. name: "isRequestWithCallback",
  433. type: "bool",
  434. },
  435. ],
  436. indexed: false,
  437. internalType: "struct EntropyStructs.Request",
  438. name: "request",
  439. type: "tuple",
  440. },
  441. {
  442. indexed: false,
  443. internalType: "bytes32",
  444. name: "userRandomNumber",
  445. type: "bytes32",
  446. },
  447. {
  448. indexed: false,
  449. internalType: "bytes32",
  450. name: "providerRevelation",
  451. type: "bytes32",
  452. },
  453. {
  454. indexed: false,
  455. internalType: "bytes32",
  456. name: "randomNumber",
  457. type: "bytes32",
  458. },
  459. ],
  460. name: "RevealedWithCallback",
  461. type: "event",
  462. },
  463. {
  464. anonymous: false,
  465. inputs: [
  466. {
  467. indexed: false,
  468. internalType: "address",
  469. name: "provider",
  470. type: "address",
  471. },
  472. {
  473. indexed: false,
  474. internalType: "address",
  475. name: "recipient",
  476. type: "address",
  477. },
  478. {
  479. indexed: false,
  480. internalType: "uint128",
  481. name: "withdrawnAmount",
  482. type: "uint128",
  483. },
  484. ],
  485. name: "Withdrawal",
  486. type: "event",
  487. },
  488. {
  489. inputs: [
  490. {
  491. internalType: "address",
  492. name: "provider",
  493. type: "address",
  494. },
  495. {
  496. internalType: "uint64",
  497. name: "advancedSequenceNumber",
  498. type: "uint64",
  499. },
  500. {
  501. internalType: "bytes32",
  502. name: "providerRevelation",
  503. type: "bytes32",
  504. },
  505. ],
  506. name: "advanceProviderCommitment",
  507. outputs: [],
  508. stateMutability: "nonpayable",
  509. type: "function",
  510. },
  511. {
  512. inputs: [
  513. {
  514. internalType: "bytes32",
  515. name: "userRandomness",
  516. type: "bytes32",
  517. },
  518. {
  519. internalType: "bytes32",
  520. name: "providerRandomness",
  521. type: "bytes32",
  522. },
  523. {
  524. internalType: "bytes32",
  525. name: "blockHash",
  526. type: "bytes32",
  527. },
  528. ],
  529. name: "combineRandomValues",
  530. outputs: [
  531. {
  532. internalType: "bytes32",
  533. name: "combinedRandomness",
  534. type: "bytes32",
  535. },
  536. ],
  537. stateMutability: "pure",
  538. type: "function",
  539. },
  540. {
  541. inputs: [
  542. {
  543. internalType: "bytes32",
  544. name: "userRandomness",
  545. type: "bytes32",
  546. },
  547. ],
  548. name: "constructUserCommitment",
  549. outputs: [
  550. {
  551. internalType: "bytes32",
  552. name: "userCommitment",
  553. type: "bytes32",
  554. },
  555. ],
  556. stateMutability: "pure",
  557. type: "function",
  558. },
  559. {
  560. inputs: [],
  561. name: "getAccruedPythFees",
  562. outputs: [
  563. {
  564. internalType: "uint128",
  565. name: "accruedPythFeesInWei",
  566. type: "uint128",
  567. },
  568. ],
  569. stateMutability: "view",
  570. type: "function",
  571. },
  572. {
  573. inputs: [],
  574. name: "getDefaultProvider",
  575. outputs: [
  576. {
  577. internalType: "address",
  578. name: "provider",
  579. type: "address",
  580. },
  581. ],
  582. stateMutability: "view",
  583. type: "function",
  584. },
  585. {
  586. inputs: [
  587. {
  588. internalType: "address",
  589. name: "provider",
  590. type: "address",
  591. },
  592. ],
  593. name: "getFee",
  594. outputs: [
  595. {
  596. internalType: "uint128",
  597. name: "feeAmount",
  598. type: "uint128",
  599. },
  600. ],
  601. stateMutability: "view",
  602. type: "function",
  603. },
  604. {
  605. inputs: [
  606. {
  607. internalType: "address",
  608. name: "provider",
  609. type: "address",
  610. },
  611. ],
  612. name: "getProviderInfo",
  613. outputs: [
  614. {
  615. components: [
  616. {
  617. internalType: "uint128",
  618. name: "feeInWei",
  619. type: "uint128",
  620. },
  621. {
  622. internalType: "uint128",
  623. name: "accruedFeesInWei",
  624. type: "uint128",
  625. },
  626. {
  627. internalType: "bytes32",
  628. name: "originalCommitment",
  629. type: "bytes32",
  630. },
  631. {
  632. internalType: "uint64",
  633. name: "originalCommitmentSequenceNumber",
  634. type: "uint64",
  635. },
  636. {
  637. internalType: "bytes",
  638. name: "commitmentMetadata",
  639. type: "bytes",
  640. },
  641. {
  642. internalType: "bytes",
  643. name: "uri",
  644. type: "bytes",
  645. },
  646. {
  647. internalType: "uint64",
  648. name: "endSequenceNumber",
  649. type: "uint64",
  650. },
  651. {
  652. internalType: "uint64",
  653. name: "sequenceNumber",
  654. type: "uint64",
  655. },
  656. {
  657. internalType: "bytes32",
  658. name: "currentCommitment",
  659. type: "bytes32",
  660. },
  661. {
  662. internalType: "uint64",
  663. name: "currentCommitmentSequenceNumber",
  664. type: "uint64",
  665. },
  666. {
  667. internalType: "address",
  668. name: "feeManager",
  669. type: "address",
  670. },
  671. {
  672. internalType: "uint32",
  673. name: "maxNumHashes",
  674. type: "uint32",
  675. },
  676. ],
  677. internalType: "struct EntropyStructs.ProviderInfo",
  678. name: "info",
  679. type: "tuple",
  680. },
  681. ],
  682. stateMutability: "view",
  683. type: "function",
  684. },
  685. {
  686. inputs: [
  687. {
  688. internalType: "address",
  689. name: "provider",
  690. type: "address",
  691. },
  692. {
  693. internalType: "uint64",
  694. name: "sequenceNumber",
  695. type: "uint64",
  696. },
  697. ],
  698. name: "getRequest",
  699. outputs: [
  700. {
  701. components: [
  702. {
  703. internalType: "address",
  704. name: "provider",
  705. type: "address",
  706. },
  707. {
  708. internalType: "uint64",
  709. name: "sequenceNumber",
  710. type: "uint64",
  711. },
  712. {
  713. internalType: "uint32",
  714. name: "numHashes",
  715. type: "uint32",
  716. },
  717. {
  718. internalType: "bytes32",
  719. name: "commitment",
  720. type: "bytes32",
  721. },
  722. {
  723. internalType: "uint64",
  724. name: "blockNumber",
  725. type: "uint64",
  726. },
  727. {
  728. internalType: "address",
  729. name: "requester",
  730. type: "address",
  731. },
  732. {
  733. internalType: "bool",
  734. name: "useBlockhash",
  735. type: "bool",
  736. },
  737. {
  738. internalType: "bool",
  739. name: "isRequestWithCallback",
  740. type: "bool",
  741. },
  742. ],
  743. internalType: "struct EntropyStructs.Request",
  744. name: "req",
  745. type: "tuple",
  746. },
  747. ],
  748. stateMutability: "view",
  749. type: "function",
  750. },
  751. {
  752. inputs: [
  753. {
  754. internalType: "uint128",
  755. name: "feeInWei",
  756. type: "uint128",
  757. },
  758. {
  759. internalType: "bytes32",
  760. name: "commitment",
  761. type: "bytes32",
  762. },
  763. {
  764. internalType: "bytes",
  765. name: "commitmentMetadata",
  766. type: "bytes",
  767. },
  768. {
  769. internalType: "uint64",
  770. name: "chainLength",
  771. type: "uint64",
  772. },
  773. {
  774. internalType: "bytes",
  775. name: "uri",
  776. type: "bytes",
  777. },
  778. ],
  779. name: "register",
  780. outputs: [],
  781. stateMutability: "nonpayable",
  782. type: "function",
  783. },
  784. {
  785. inputs: [
  786. {
  787. internalType: "address",
  788. name: "provider",
  789. type: "address",
  790. },
  791. {
  792. internalType: "bytes32",
  793. name: "userCommitment",
  794. type: "bytes32",
  795. },
  796. {
  797. internalType: "bool",
  798. name: "useBlockHash",
  799. type: "bool",
  800. },
  801. ],
  802. name: "request",
  803. outputs: [
  804. {
  805. internalType: "uint64",
  806. name: "assignedSequenceNumber",
  807. type: "uint64",
  808. },
  809. ],
  810. stateMutability: "payable",
  811. type: "function",
  812. },
  813. {
  814. inputs: [
  815. {
  816. internalType: "address",
  817. name: "provider",
  818. type: "address",
  819. },
  820. {
  821. internalType: "bytes32",
  822. name: "userRandomNumber",
  823. type: "bytes32",
  824. },
  825. ],
  826. name: "requestWithCallback",
  827. outputs: [
  828. {
  829. internalType: "uint64",
  830. name: "assignedSequenceNumber",
  831. type: "uint64",
  832. },
  833. ],
  834. stateMutability: "payable",
  835. type: "function",
  836. },
  837. {
  838. inputs: [
  839. {
  840. internalType: "address",
  841. name: "provider",
  842. type: "address",
  843. },
  844. {
  845. internalType: "uint64",
  846. name: "sequenceNumber",
  847. type: "uint64",
  848. },
  849. {
  850. internalType: "bytes32",
  851. name: "userRevelation",
  852. type: "bytes32",
  853. },
  854. {
  855. internalType: "bytes32",
  856. name: "providerRevelation",
  857. type: "bytes32",
  858. },
  859. ],
  860. name: "reveal",
  861. outputs: [
  862. {
  863. internalType: "bytes32",
  864. name: "randomNumber",
  865. type: "bytes32",
  866. },
  867. ],
  868. stateMutability: "nonpayable",
  869. type: "function",
  870. },
  871. {
  872. inputs: [
  873. {
  874. internalType: "address",
  875. name: "provider",
  876. type: "address",
  877. },
  878. {
  879. internalType: "uint64",
  880. name: "sequenceNumber",
  881. type: "uint64",
  882. },
  883. {
  884. internalType: "bytes32",
  885. name: "userRandomNumber",
  886. type: "bytes32",
  887. },
  888. {
  889. internalType: "bytes32",
  890. name: "providerRevelation",
  891. type: "bytes32",
  892. },
  893. ],
  894. name: "revealWithCallback",
  895. outputs: [],
  896. stateMutability: "nonpayable",
  897. type: "function",
  898. },
  899. {
  900. inputs: [
  901. {
  902. internalType: "address",
  903. name: "manager",
  904. type: "address",
  905. },
  906. ],
  907. name: "setFeeManager",
  908. outputs: [],
  909. stateMutability: "nonpayable",
  910. type: "function",
  911. },
  912. {
  913. inputs: [
  914. {
  915. internalType: "uint32",
  916. name: "maxNumHashes",
  917. type: "uint32",
  918. },
  919. ],
  920. name: "setMaxNumHashes",
  921. outputs: [],
  922. stateMutability: "nonpayable",
  923. type: "function",
  924. },
  925. {
  926. inputs: [
  927. {
  928. internalType: "uint128",
  929. name: "newFeeInWei",
  930. type: "uint128",
  931. },
  932. ],
  933. name: "setProviderFee",
  934. outputs: [],
  935. stateMutability: "nonpayable",
  936. type: "function",
  937. },
  938. {
  939. inputs: [
  940. {
  941. internalType: "address",
  942. name: "provider",
  943. type: "address",
  944. },
  945. {
  946. internalType: "uint128",
  947. name: "newFeeInWei",
  948. type: "uint128",
  949. },
  950. ],
  951. name: "setProviderFeeAsFeeManager",
  952. outputs: [],
  953. stateMutability: "nonpayable",
  954. type: "function",
  955. },
  956. {
  957. inputs: [
  958. {
  959. internalType: "bytes",
  960. name: "newUri",
  961. type: "bytes",
  962. },
  963. ],
  964. name: "setProviderUri",
  965. outputs: [],
  966. stateMutability: "nonpayable",
  967. type: "function",
  968. },
  969. {
  970. inputs: [
  971. {
  972. internalType: "uint128",
  973. name: "amount",
  974. type: "uint128",
  975. },
  976. ],
  977. name: "withdraw",
  978. outputs: [],
  979. stateMutability: "nonpayable",
  980. type: "function",
  981. },
  982. {
  983. inputs: [
  984. {
  985. internalType: "address",
  986. name: "provider",
  987. type: "address",
  988. },
  989. {
  990. internalType: "uint128",
  991. name: "amount",
  992. type: "uint128",
  993. },
  994. ],
  995. name: "withdrawAsFeeManager",
  996. outputs: [],
  997. stateMutability: "nonpayable",
  998. type: "function",
  999. },
  1000. ] as const;