@d20dao/vrf-sdk 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,7 +4,11 @@ pragma solidity 0.8.28;
4
4
  import {RandomnessMapping} from "../libraries/RandomnessMapping.sol";
5
5
 
6
6
  interface ID20VRF {
7
- function requestFee() external view returns (uint256);
7
+ /// @notice Exact fee for a request sent in this same transaction. Through eth_call the base fee is often reported as 0,
8
+ /// so off-chain senders must quote with quoteFeeAt and the latest header baseFeePerGas plus a buffer.
9
+ function quoteFee(uint32 callbackGasLimit) external view returns (uint256);
10
+ /// @notice max(minFee, feeMultiplier * baseFee * (fulfillGasOverhead + callbackGasLimit)) over the current parameters.
11
+ function quoteFeeAt(uint32 callbackGasLimit, uint256 baseFee) external view returns (uint256);
8
12
  function requestRandomness(bytes32 clientSeed, uint32 callbackGasLimit, address _refundAddress)
9
13
  external payable returns (uint256 requestId);
10
14
  function requestMappedRandomness(
@@ -6,6 +6,7 @@ import {RandomnessMapping as M} from "./RandomnessMapping.sol";
6
6
 
7
7
  /// @notice Built-in request helpers for game contracts. All requests still callback with (id, rawWord).
8
8
  /// @dev Usage: using D20VRFRequests for ID20VRF; rng.d20(options). Inspect getMappedResult(id) after fulfillment.
9
+ /// Each helper pays the exact same-transaction quote from the calling contract balance.
9
10
  library D20VRFRequests {
10
11
  struct Options { bytes32 clientSeed; uint32 callbackGasLimit; address refundAddress; }
11
12
  function diceRoll(ID20VRF rng, uint256 sides, uint32 count, Options memory o) internal returns (uint256) {
@@ -36,6 +37,6 @@ library D20VRFRequests {
36
37
  return _send(rng, M.Spec(M.Operation.Shuffle, 0, 0, population, population), o);
37
38
  }
38
39
  function _send(ID20VRF rng, M.Spec memory spec, Options memory o) private returns (uint256) {
39
- return rng.requestMappedRandomness{value: rng.requestFee()}(o.clientSeed, o.callbackGasLimit, o.refundAddress, spec);
40
+ return rng.requestMappedRandomness{value: rng.quoteFee(o.callbackGasLimit)}(o.clientSeed, o.callbackGasLimit, o.refundAddress, spec);
40
41
  }
41
42
  }
package/dist/abi.d.ts CHANGED
@@ -50,6 +50,10 @@ export declare const coordinatorAbi: readonly [{
50
50
  readonly inputs: readonly [];
51
51
  readonly name: "FailedCall";
52
52
  readonly type: "error";
53
+ }, {
54
+ readonly inputs: readonly [];
55
+ readonly name: "FeeOverflow";
56
+ readonly type: "error";
53
57
  }, {
54
58
  readonly inputs: readonly [{
55
59
  readonly internalType: "uint256";
@@ -66,6 +70,10 @@ export declare const coordinatorAbi: readonly [{
66
70
  readonly inputs: readonly [];
67
71
  readonly name: "InsufficientCallbackGas";
68
72
  readonly type: "error";
73
+ }, {
74
+ readonly inputs: readonly [];
75
+ readonly name: "InvalidBatch";
76
+ readonly type: "error";
69
77
  }, {
70
78
  readonly inputs: readonly [];
71
79
  readonly name: "InvalidCallbackGas";
@@ -150,6 +158,10 @@ export declare const coordinatorAbi: readonly [{
150
158
  readonly inputs: readonly [];
151
159
  readonly name: "RefundNotAvailable";
152
160
  readonly type: "error";
161
+ }, {
162
+ readonly inputs: readonly [];
163
+ readonly name: "RenounceDisabled";
164
+ readonly type: "error";
153
165
  }, {
154
166
  readonly inputs: readonly [];
155
167
  readonly name: "RequestExpired";
@@ -226,6 +238,26 @@ export declare const coordinatorAbi: readonly [{
226
238
  }];
227
239
  readonly name: "CallbackAttempted";
228
240
  readonly type: "event";
241
+ }, {
242
+ readonly anonymous: false;
243
+ readonly inputs: readonly [{
244
+ readonly indexed: true;
245
+ readonly internalType: "uint256";
246
+ readonly name: "requestId";
247
+ readonly type: "uint256";
248
+ }, {
249
+ readonly indexed: true;
250
+ readonly internalType: "address";
251
+ readonly name: "refundAddress";
252
+ readonly type: "address";
253
+ }, {
254
+ readonly indexed: false;
255
+ readonly internalType: "uint256";
256
+ readonly name: "amount";
257
+ readonly type: "uint256";
258
+ }];
259
+ readonly name: "FeeOverpaymentCredited";
260
+ readonly type: "event";
229
261
  }, {
230
262
  readonly anonymous: false;
231
263
  readonly inputs: readonly [{
@@ -276,6 +308,21 @@ export declare const coordinatorAbi: readonly [{
276
308
  }];
277
309
  readonly name: "FulfillmentEvidence";
278
310
  readonly type: "event";
311
+ }, {
312
+ readonly anonymous: false;
313
+ readonly inputs: readonly [{
314
+ readonly indexed: true;
315
+ readonly internalType: "uint256";
316
+ readonly name: "requestId";
317
+ readonly type: "uint256";
318
+ }, {
319
+ readonly indexed: false;
320
+ readonly internalType: "uint8";
321
+ readonly name: "reason";
322
+ readonly type: "uint8";
323
+ }];
324
+ readonly name: "FulfillmentSkipped";
325
+ readonly type: "event";
279
326
  }, {
280
327
  readonly anonymous: false;
281
328
  readonly inputs: readonly [{
@@ -417,6 +464,26 @@ export declare const coordinatorAbi: readonly [{
417
464
  }];
418
465
  readonly name: "OwnershipTransferred";
419
466
  readonly type: "event";
467
+ }, {
468
+ readonly anonymous: false;
469
+ readonly inputs: readonly [{
470
+ readonly indexed: false;
471
+ readonly internalType: "uint256";
472
+ readonly name: "minFee";
473
+ readonly type: "uint256";
474
+ }, {
475
+ readonly indexed: false;
476
+ readonly internalType: "uint16";
477
+ readonly name: "feeMultiplier";
478
+ readonly type: "uint16";
479
+ }, {
480
+ readonly indexed: false;
481
+ readonly internalType: "uint32";
482
+ readonly name: "fulfillGasOverhead";
483
+ readonly type: "uint32";
484
+ }];
485
+ readonly name: "PricingChanged";
486
+ readonly type: "event";
420
487
  }, {
421
488
  readonly anonymous: false;
422
489
  readonly inputs: readonly [{
@@ -512,6 +579,21 @@ export declare const coordinatorAbi: readonly [{
512
579
  }];
513
580
  readonly name: "RandomnessRequested";
514
581
  readonly type: "event";
582
+ }, {
583
+ readonly anonymous: false;
584
+ readonly inputs: readonly [{
585
+ readonly indexed: false;
586
+ readonly internalType: "uint16";
587
+ readonly name: "previousBps";
588
+ readonly type: "uint16";
589
+ }, {
590
+ readonly indexed: false;
591
+ readonly internalType: "uint16";
592
+ readonly name: "newBps";
593
+ readonly type: "uint16";
594
+ }];
595
+ readonly name: "RefundBpsChanged";
596
+ readonly type: "event";
515
597
  }, {
516
598
  readonly anonymous: false;
517
599
  readonly inputs: readonly [{
@@ -637,6 +719,46 @@ export declare const coordinatorAbi: readonly [{
637
719
  }];
638
720
  readonly stateMutability: "view";
639
721
  readonly type: "function";
722
+ }, {
723
+ readonly inputs: readonly [];
724
+ readonly name: "MAX_FEE_MULTIPLIER";
725
+ readonly outputs: readonly [{
726
+ readonly internalType: "uint16";
727
+ readonly name: "";
728
+ readonly type: "uint16";
729
+ }];
730
+ readonly stateMutability: "view";
731
+ readonly type: "function";
732
+ }, {
733
+ readonly inputs: readonly [];
734
+ readonly name: "MAX_FULFILL_BATCH";
735
+ readonly outputs: readonly [{
736
+ readonly internalType: "uint256";
737
+ readonly name: "";
738
+ readonly type: "uint256";
739
+ }];
740
+ readonly stateMutability: "view";
741
+ readonly type: "function";
742
+ }, {
743
+ readonly inputs: readonly [];
744
+ readonly name: "MAX_FULFILL_GAS_OVERHEAD";
745
+ readonly outputs: readonly [{
746
+ readonly internalType: "uint32";
747
+ readonly name: "";
748
+ readonly type: "uint32";
749
+ }];
750
+ readonly stateMutability: "view";
751
+ readonly type: "function";
752
+ }, {
753
+ readonly inputs: readonly [];
754
+ readonly name: "MAX_MIN_FEE";
755
+ readonly outputs: readonly [{
756
+ readonly internalType: "uint256";
757
+ readonly name: "";
758
+ readonly type: "uint256";
759
+ }];
760
+ readonly stateMutability: "view";
761
+ readonly type: "function";
640
762
  }, {
641
763
  readonly inputs: readonly [];
642
764
  readonly name: "MIN_CALLBACK_GAS";
@@ -647,6 +769,26 @@ export declare const coordinatorAbi: readonly [{
647
769
  }];
648
770
  readonly stateMutability: "view";
649
771
  readonly type: "function";
772
+ }, {
773
+ readonly inputs: readonly [];
774
+ readonly name: "MIN_FULFILL_GAS_OVERHEAD";
775
+ readonly outputs: readonly [{
776
+ readonly internalType: "uint32";
777
+ readonly name: "";
778
+ readonly type: "uint32";
779
+ }];
780
+ readonly stateMutability: "view";
781
+ readonly type: "function";
782
+ }, {
783
+ readonly inputs: readonly [];
784
+ readonly name: "MIN_REFUND_BPS";
785
+ readonly outputs: readonly [{
786
+ readonly internalType: "uint16";
787
+ readonly name: "";
788
+ readonly type: "uint16";
789
+ }];
790
+ readonly stateMutability: "view";
791
+ readonly type: "function";
650
792
  }, {
651
793
  readonly inputs: readonly [];
652
794
  readonly name: "REFUND_CALLBACK_GAS";
@@ -733,6 +875,16 @@ export declare const coordinatorAbi: readonly [{
733
875
  }];
734
876
  readonly stateMutability: "view";
735
877
  readonly type: "function";
878
+ }, {
879
+ readonly inputs: readonly [];
880
+ readonly name: "feeMultiplier";
881
+ readonly outputs: readonly [{
882
+ readonly internalType: "uint16";
883
+ readonly name: "";
884
+ readonly type: "uint16";
885
+ }];
886
+ readonly stateMutability: "view";
887
+ readonly type: "function";
736
888
  }, {
737
889
  readonly inputs: readonly [];
738
890
  readonly name: "feeRecipient";
@@ -743,6 +895,16 @@ export declare const coordinatorAbi: readonly [{
743
895
  }];
744
896
  readonly stateMutability: "view";
745
897
  readonly type: "function";
898
+ }, {
899
+ readonly inputs: readonly [];
900
+ readonly name: "fulfillGasOverhead";
901
+ readonly outputs: readonly [{
902
+ readonly internalType: "uint32";
903
+ readonly name: "";
904
+ readonly type: "uint32";
905
+ }];
906
+ readonly stateMutability: "view";
907
+ readonly type: "function";
746
908
  }, {
747
909
  readonly inputs: readonly [{
748
910
  readonly internalType: "uint256";
@@ -794,6 +956,57 @@ export declare const coordinatorAbi: readonly [{
794
956
  readonly outputs: readonly [];
795
957
  readonly stateMutability: "nonpayable";
796
958
  readonly type: "function";
959
+ }, {
960
+ readonly inputs: readonly [{
961
+ readonly internalType: "uint256[]";
962
+ readonly name: "ids";
963
+ readonly type: "uint256[]";
964
+ }, {
965
+ readonly components: readonly [{
966
+ readonly internalType: "uint256[2]";
967
+ readonly name: "pk";
968
+ readonly type: "uint256[2]";
969
+ }, {
970
+ readonly internalType: "uint256[2]";
971
+ readonly name: "gamma";
972
+ readonly type: "uint256[2]";
973
+ }, {
974
+ readonly internalType: "uint256";
975
+ readonly name: "c";
976
+ readonly type: "uint256";
977
+ }, {
978
+ readonly internalType: "uint256";
979
+ readonly name: "s";
980
+ readonly type: "uint256";
981
+ }, {
982
+ readonly internalType: "uint256";
983
+ readonly name: "seed";
984
+ readonly type: "uint256";
985
+ }, {
986
+ readonly internalType: "address";
987
+ readonly name: "uWitness";
988
+ readonly type: "address";
989
+ }, {
990
+ readonly internalType: "uint256[2]";
991
+ readonly name: "cGammaWitness";
992
+ readonly type: "uint256[2]";
993
+ }, {
994
+ readonly internalType: "uint256[2]";
995
+ readonly name: "sHashWitness";
996
+ readonly type: "uint256[2]";
997
+ }, {
998
+ readonly internalType: "uint256";
999
+ readonly name: "zInv";
1000
+ readonly type: "uint256";
1001
+ }];
1002
+ readonly internalType: "struct VRF.Proof[]";
1003
+ readonly name: "proofs";
1004
+ readonly type: "tuple[]";
1005
+ }];
1006
+ readonly name: "fulfillRandomnessBatch";
1007
+ readonly outputs: readonly [];
1008
+ readonly stateMutability: "nonpayable";
1009
+ readonly type: "function";
797
1010
  }, {
798
1011
  readonly inputs: readonly [{
799
1012
  readonly internalType: "uint256";
@@ -984,6 +1197,16 @@ export declare const coordinatorAbi: readonly [{
984
1197
  }];
985
1198
  readonly stateMutability: "view";
986
1199
  readonly type: "function";
1200
+ }, {
1201
+ readonly inputs: readonly [];
1202
+ readonly name: "initialMinFee";
1203
+ readonly outputs: readonly [{
1204
+ readonly internalType: "uint256";
1205
+ readonly name: "";
1206
+ readonly type: "uint256";
1207
+ }];
1208
+ readonly stateMutability: "view";
1209
+ readonly type: "function";
987
1210
  }, {
988
1211
  readonly inputs: readonly [{
989
1212
  readonly internalType: "uint256[2]";
@@ -1111,6 +1334,16 @@ export declare const coordinatorAbi: readonly [{
1111
1334
  }];
1112
1335
  readonly stateMutability: "pure";
1113
1336
  readonly type: "function";
1337
+ }, {
1338
+ readonly inputs: readonly [];
1339
+ readonly name: "minFee";
1340
+ readonly outputs: readonly [{
1341
+ readonly internalType: "uint256";
1342
+ readonly name: "";
1343
+ readonly type: "uint256";
1344
+ }];
1345
+ readonly stateMutability: "view";
1346
+ readonly type: "function";
1114
1347
  }, {
1115
1348
  readonly inputs: readonly [];
1116
1349
  readonly name: "nextRequestId";
@@ -1141,6 +1374,24 @@ export declare const coordinatorAbi: readonly [{
1141
1374
  }];
1142
1375
  readonly stateMutability: "view";
1143
1376
  readonly type: "function";
1377
+ }, {
1378
+ readonly inputs: readonly [];
1379
+ readonly name: "pricing";
1380
+ readonly outputs: readonly [{
1381
+ readonly internalType: "uint256";
1382
+ readonly name: "";
1383
+ readonly type: "uint256";
1384
+ }, {
1385
+ readonly internalType: "uint16";
1386
+ readonly name: "";
1387
+ readonly type: "uint16";
1388
+ }, {
1389
+ readonly internalType: "uint32";
1390
+ readonly name: "";
1391
+ readonly type: "uint32";
1392
+ }];
1393
+ readonly stateMutability: "view";
1394
+ readonly type: "function";
1144
1395
  }, {
1145
1396
  readonly inputs: readonly [];
1146
1397
  readonly name: "protocolConfigurationHash";
@@ -1181,6 +1432,48 @@ export declare const coordinatorAbi: readonly [{
1181
1432
  }];
1182
1433
  readonly stateMutability: "view";
1183
1434
  readonly type: "function";
1435
+ }, {
1436
+ readonly inputs: readonly [{
1437
+ readonly internalType: "uint32";
1438
+ readonly name: "callbackGasLimit";
1439
+ readonly type: "uint32";
1440
+ }];
1441
+ readonly name: "quoteFee";
1442
+ readonly outputs: readonly [{
1443
+ readonly internalType: "uint256";
1444
+ readonly name: "";
1445
+ readonly type: "uint256";
1446
+ }];
1447
+ readonly stateMutability: "view";
1448
+ readonly type: "function";
1449
+ }, {
1450
+ readonly inputs: readonly [{
1451
+ readonly internalType: "uint32";
1452
+ readonly name: "callbackGasLimit";
1453
+ readonly type: "uint32";
1454
+ }, {
1455
+ readonly internalType: "uint256";
1456
+ readonly name: "baseFee";
1457
+ readonly type: "uint256";
1458
+ }];
1459
+ readonly name: "quoteFeeAt";
1460
+ readonly outputs: readonly [{
1461
+ readonly internalType: "uint256";
1462
+ readonly name: "";
1463
+ readonly type: "uint256";
1464
+ }];
1465
+ readonly stateMutability: "view";
1466
+ readonly type: "function";
1467
+ }, {
1468
+ readonly inputs: readonly [];
1469
+ readonly name: "refundBps";
1470
+ readonly outputs: readonly [{
1471
+ readonly internalType: "uint16";
1472
+ readonly name: "";
1473
+ readonly type: "uint16";
1474
+ }];
1475
+ readonly stateMutability: "view";
1476
+ readonly type: "function";
1184
1477
  }, {
1185
1478
  readonly inputs: readonly [{
1186
1479
  readonly internalType: "uint256";
@@ -1223,11 +1516,15 @@ export declare const coordinatorAbi: readonly [{
1223
1516
  readonly inputs: readonly [];
1224
1517
  readonly name: "renounceOwnership";
1225
1518
  readonly outputs: readonly [];
1226
- readonly stateMutability: "nonpayable";
1519
+ readonly stateMutability: "view";
1227
1520
  readonly type: "function";
1228
1521
  }, {
1229
- readonly inputs: readonly [];
1230
- readonly name: "requestFee";
1522
+ readonly inputs: readonly [{
1523
+ readonly internalType: "uint256";
1524
+ readonly name: "requestId";
1525
+ readonly type: "uint256";
1526
+ }];
1527
+ readonly name: "requestFeePaid";
1231
1528
  readonly outputs: readonly [{
1232
1529
  readonly internalType: "uint256";
1233
1530
  readonly name: "";
@@ -1304,6 +1601,20 @@ export declare const coordinatorAbi: readonly [{
1304
1601
  }];
1305
1602
  readonly stateMutability: "payable";
1306
1603
  readonly type: "function";
1604
+ }, {
1605
+ readonly inputs: readonly [{
1606
+ readonly internalType: "uint256";
1607
+ readonly name: "requestId";
1608
+ readonly type: "uint256";
1609
+ }];
1610
+ readonly name: "requestRefundBps";
1611
+ readonly outputs: readonly [{
1612
+ readonly internalType: "uint16";
1613
+ readonly name: "";
1614
+ readonly type: "uint16";
1615
+ }];
1616
+ readonly stateMutability: "view";
1617
+ readonly type: "function";
1307
1618
  }, {
1308
1619
  readonly inputs: readonly [{
1309
1620
  readonly internalType: "uint256";
@@ -1380,6 +1691,34 @@ export declare const coordinatorAbi: readonly [{
1380
1691
  readonly outputs: readonly [];
1381
1692
  readonly stateMutability: "nonpayable";
1382
1693
  readonly type: "function";
1694
+ }, {
1695
+ readonly inputs: readonly [{
1696
+ readonly internalType: "uint256";
1697
+ readonly name: "nextMinFee";
1698
+ readonly type: "uint256";
1699
+ }, {
1700
+ readonly internalType: "uint16";
1701
+ readonly name: "multiplier";
1702
+ readonly type: "uint16";
1703
+ }, {
1704
+ readonly internalType: "uint32";
1705
+ readonly name: "overhead";
1706
+ readonly type: "uint32";
1707
+ }];
1708
+ readonly name: "setPricing";
1709
+ readonly outputs: readonly [];
1710
+ readonly stateMutability: "nonpayable";
1711
+ readonly type: "function";
1712
+ }, {
1713
+ readonly inputs: readonly [{
1714
+ readonly internalType: "uint16";
1715
+ readonly name: "next";
1716
+ readonly type: "uint16";
1717
+ }];
1718
+ readonly name: "setRefundBps";
1719
+ readonly outputs: readonly [];
1720
+ readonly stateMutability: "nonpayable";
1721
+ readonly type: "function";
1383
1722
  }, {
1384
1723
  readonly inputs: readonly [{
1385
1724
  readonly internalType: "uint256";
@@ -1636,6 +1975,10 @@ export declare const epochEntropyAbi: readonly [{
1636
1975
  readonly inputs: readonly [];
1637
1976
  readonly name: "PreparationClosed";
1638
1977
  readonly type: "error";
1978
+ }, {
1979
+ readonly inputs: readonly [];
1980
+ readonly name: "RenounceDisabled";
1981
+ readonly type: "error";
1639
1982
  }, {
1640
1983
  readonly inputs: readonly [];
1641
1984
  readonly name: "UUPSUnauthorizedCallContext";
@@ -1648,6 +1991,26 @@ export declare const epochEntropyAbi: readonly [{
1648
1991
  }];
1649
1992
  readonly name: "UUPSUnsupportedProxiableUUID";
1650
1993
  readonly type: "error";
1994
+ }, {
1995
+ readonly anonymous: false;
1996
+ readonly inputs: readonly [{
1997
+ readonly indexed: true;
1998
+ readonly internalType: "uint64";
1999
+ readonly name: "fromEpoch";
2000
+ readonly type: "uint64";
2001
+ }, {
2002
+ readonly indexed: true;
2003
+ readonly internalType: "bytes32";
2004
+ readonly name: "catalogHash";
2005
+ readonly type: "bytes32";
2006
+ }, {
2007
+ readonly indexed: false;
2008
+ readonly internalType: "address[4]";
2009
+ readonly name: "signers";
2010
+ readonly type: "address[4]";
2011
+ }];
2012
+ readonly name: "CatalogScheduled";
2013
+ readonly type: "event";
1651
2014
  }, {
1652
2015
  readonly anonymous: false;
1653
2016
  readonly inputs: readonly [{
@@ -1753,6 +2116,16 @@ export declare const epochEntropyAbi: readonly [{
1753
2116
  }];
1754
2117
  readonly stateMutability: "view";
1755
2118
  readonly type: "function";
2119
+ }, {
2120
+ readonly inputs: readonly [];
2121
+ readonly name: "MAX_ATTESTATION_AGE";
2122
+ readonly outputs: readonly [{
2123
+ readonly internalType: "uint256";
2124
+ readonly name: "";
2125
+ readonly type: "uint256";
2126
+ }];
2127
+ readonly stateMutability: "view";
2128
+ readonly type: "function";
1756
2129
  }, {
1757
2130
  readonly inputs: readonly [];
1758
2131
  readonly name: "MAX_PACKET_BYTES";
@@ -1829,6 +2202,20 @@ export declare const epochEntropyAbi: readonly [{
1829
2202
  }];
1830
2203
  readonly stateMutability: "view";
1831
2204
  readonly type: "function";
2205
+ }, {
2206
+ readonly inputs: readonly [{
2207
+ readonly internalType: "uint64";
2208
+ readonly name: "epochId";
2209
+ readonly type: "uint64";
2210
+ }];
2211
+ readonly name: "catalogHashAt";
2212
+ readonly outputs: readonly [{
2213
+ readonly internalType: "bytes32";
2214
+ readonly name: "hash";
2215
+ readonly type: "bytes32";
2216
+ }];
2217
+ readonly stateMutability: "view";
2218
+ readonly type: "function";
1832
2219
  }, {
1833
2220
  readonly inputs: readonly [{
1834
2221
  readonly internalType: "uint64";
@@ -2104,6 +2491,20 @@ export declare const epochEntropyAbi: readonly [{
2104
2491
  readonly inputs: readonly [];
2105
2492
  readonly name: "renounceOwnership";
2106
2493
  readonly outputs: readonly [];
2494
+ readonly stateMutability: "view";
2495
+ readonly type: "function";
2496
+ }, {
2497
+ readonly inputs: readonly [{
2498
+ readonly internalType: "address[4]";
2499
+ readonly name: "signers";
2500
+ readonly type: "address[4]";
2501
+ }, {
2502
+ readonly internalType: "uint64";
2503
+ readonly name: "fromEpoch";
2504
+ readonly type: "uint64";
2505
+ }];
2506
+ readonly name: "scheduleCatalog";
2507
+ readonly outputs: readonly [];
2107
2508
  readonly stateMutability: "nonpayable";
2108
2509
  readonly type: "function";
2109
2510
  }, {
@@ -2116,6 +2517,20 @@ export declare const epochEntropyAbi: readonly [{
2116
2517
  readonly outputs: readonly [];
2117
2518
  readonly stateMutability: "nonpayable";
2118
2519
  readonly type: "function";
2520
+ }, {
2521
+ readonly inputs: readonly [{
2522
+ readonly internalType: "uint64";
2523
+ readonly name: "epochId";
2524
+ readonly type: "uint64";
2525
+ }];
2526
+ readonly name: "signersAt";
2527
+ readonly outputs: readonly [{
2528
+ readonly internalType: "address[4]";
2529
+ readonly name: "signers";
2530
+ readonly type: "address[4]";
2531
+ }];
2532
+ readonly stateMutability: "view";
2533
+ readonly type: "function";
2119
2534
  }, {
2120
2535
  readonly inputs: readonly [{
2121
2536
  readonly internalType: "address";