@aztec/l1-artifacts 0.76.4-devnet-test-rc3 → 0.77.0-testnet-ignition.17

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 (226) hide show
  1. package/dest/CoinIssuerAbi.d.ts +52 -32
  2. package/dest/CoinIssuerAbi.d.ts.map +1 -1
  3. package/dest/CoinIssuerAbi.js +63 -38
  4. package/dest/CoinIssuerBytecode.d.ts.map +1 -1
  5. package/dest/CoinIssuerBytecode.js +2 -5
  6. package/dest/EmpireBaseAbi.d.ts +52 -32
  7. package/dest/EmpireBaseAbi.d.ts.map +1 -1
  8. package/dest/EmpireBaseAbi.js +63 -38
  9. package/dest/EmpireBaseBytecode.d.ts.map +1 -1
  10. package/dest/EmpireBaseBytecode.js +2 -5
  11. package/dest/ErrorsAbi.d.ts +52 -32
  12. package/dest/ErrorsAbi.d.ts.map +1 -1
  13. package/dest/ErrorsAbi.js +63 -38
  14. package/dest/ExtRollupLibAbi.d.ts +157 -214
  15. package/dest/ExtRollupLibAbi.d.ts.map +1 -1
  16. package/dest/ExtRollupLibAbi.js +188 -269
  17. package/dest/ExtRollupLibBytecode.d.ts +1 -1
  18. package/dest/ExtRollupLibBytecode.d.ts.map +1 -1
  19. package/dest/ExtRollupLibBytecode.js +2 -5
  20. package/dest/FeeJuicePortalAbi.d.ts +52 -32
  21. package/dest/FeeJuicePortalAbi.d.ts.map +1 -1
  22. package/dest/FeeJuicePortalAbi.js +63 -38
  23. package/dest/FeeJuicePortalBytecode.d.ts +1 -1
  24. package/dest/FeeJuicePortalBytecode.d.ts.map +1 -1
  25. package/dest/FeeJuicePortalBytecode.js +2 -5
  26. package/dest/ForwarderAbi.d.ts +52 -32
  27. package/dest/ForwarderAbi.d.ts.map +1 -1
  28. package/dest/ForwarderAbi.js +63 -38
  29. package/dest/ForwarderBytecode.d.ts.map +1 -1
  30. package/dest/ForwarderBytecode.js +2 -5
  31. package/dest/GovernanceAbi.d.ts +52 -32
  32. package/dest/GovernanceAbi.d.ts.map +1 -1
  33. package/dest/GovernanceAbi.js +63 -38
  34. package/dest/GovernanceBytecode.d.ts +1 -1
  35. package/dest/GovernanceBytecode.d.ts.map +1 -1
  36. package/dest/GovernanceBytecode.js +2 -5
  37. package/dest/GovernanceProposerAbi.d.ts +52 -32
  38. package/dest/GovernanceProposerAbi.d.ts.map +1 -1
  39. package/dest/GovernanceProposerAbi.js +63 -38
  40. package/dest/GovernanceProposerBytecode.d.ts +1 -1
  41. package/dest/GovernanceProposerBytecode.d.ts.map +1 -1
  42. package/dest/GovernanceProposerBytecode.js +2 -5
  43. package/dest/HonkVerifierAbi.d.ts +52 -32
  44. package/dest/HonkVerifierAbi.d.ts.map +1 -1
  45. package/dest/HonkVerifierAbi.js +63 -38
  46. package/dest/HonkVerifierBytecode.d.ts +1 -1
  47. package/dest/HonkVerifierBytecode.d.ts.map +1 -1
  48. package/dest/HonkVerifierBytecode.js +2 -5
  49. package/dest/IERC20Abi.d.ts +52 -32
  50. package/dest/IERC20Abi.d.ts.map +1 -1
  51. package/dest/IERC20Abi.js +63 -38
  52. package/dest/IERC20Bytecode.d.ts.map +1 -1
  53. package/dest/IERC20Bytecode.js +2 -5
  54. package/dest/IVerifierAbi.d.ts +52 -32
  55. package/dest/IVerifierAbi.d.ts.map +1 -1
  56. package/dest/IVerifierAbi.js +63 -38
  57. package/dest/IVerifierBytecode.d.ts.map +1 -1
  58. package/dest/IVerifierBytecode.js +2 -5
  59. package/dest/InboxAbi.d.ts +52 -32
  60. package/dest/InboxAbi.d.ts.map +1 -1
  61. package/dest/InboxAbi.js +63 -38
  62. package/dest/InboxBytecode.d.ts +1 -1
  63. package/dest/InboxBytecode.d.ts.map +1 -1
  64. package/dest/InboxBytecode.js +2 -5
  65. package/dest/MockVerifierAbi.d.ts +52 -32
  66. package/dest/MockVerifierAbi.d.ts.map +1 -1
  67. package/dest/MockVerifierAbi.js +63 -38
  68. package/dest/MockVerifierBytecode.d.ts.map +1 -1
  69. package/dest/MockVerifierBytecode.js +2 -5
  70. package/dest/NewGovernanceProposerPayloadAbi.d.ts +52 -32
  71. package/dest/NewGovernanceProposerPayloadAbi.d.ts.map +1 -1
  72. package/dest/NewGovernanceProposerPayloadAbi.js +63 -38
  73. package/dest/NewGovernanceProposerPayloadBytecode.d.ts +1 -1
  74. package/dest/NewGovernanceProposerPayloadBytecode.d.ts.map +1 -1
  75. package/dest/NewGovernanceProposerPayloadBytecode.js +2 -5
  76. package/dest/OutboxAbi.d.ts +52 -32
  77. package/dest/OutboxAbi.d.ts.map +1 -1
  78. package/dest/OutboxAbi.js +63 -38
  79. package/dest/OutboxBytecode.d.ts +1 -1
  80. package/dest/OutboxBytecode.d.ts.map +1 -1
  81. package/dest/OutboxBytecode.js +2 -5
  82. package/dest/{StakingLibAbi.d.ts → RegisterNewRollupVersionPayloadAbi.d.ts} +105 -114
  83. package/dest/{StakingLibAbi.d.ts.map → RegisterNewRollupVersionPayloadAbi.d.ts.map} +1 -1
  84. package/dest/{StakingLibAbi.js → RegisterNewRollupVersionPayloadAbi.js} +126 -134
  85. package/dest/RegisterNewRollupVersionPayloadBytecode.d.ts +9 -0
  86. package/dest/RegisterNewRollupVersionPayloadBytecode.d.ts.map +1 -0
  87. package/dest/RegisterNewRollupVersionPayloadBytecode.js +6 -0
  88. package/dest/RegistryAbi.d.ts +52 -32
  89. package/dest/RegistryAbi.d.ts.map +1 -1
  90. package/dest/RegistryAbi.js +63 -38
  91. package/dest/RegistryBytecode.d.ts +1 -1
  92. package/dest/RegistryBytecode.d.ts.map +1 -1
  93. package/dest/RegistryBytecode.js +2 -5
  94. package/dest/RewardDistributorAbi.d.ts +70 -32
  95. package/dest/RewardDistributorAbi.d.ts.map +1 -1
  96. package/dest/RewardDistributorAbi.js +87 -38
  97. package/dest/RewardDistributorBytecode.d.ts +1 -1
  98. package/dest/RewardDistributorBytecode.d.ts.map +1 -1
  99. package/dest/RewardDistributorBytecode.js +2 -5
  100. package/dest/RollupAbi.d.ts +332 -540
  101. package/dest/RollupAbi.d.ts.map +1 -1
  102. package/dest/RollupAbi.js +469 -735
  103. package/dest/RollupBytecode.d.ts +8 -128
  104. package/dest/RollupBytecode.d.ts.map +1 -1
  105. package/dest/RollupBytecode.js +9 -172
  106. package/dest/RollupStorage.d.ts +2 -16
  107. package/dest/RollupStorage.d.ts.map +1 -1
  108. package/dest/RollupStorage.js +3 -21
  109. package/dest/SlashFactoryAbi.d.ts +52 -32
  110. package/dest/SlashFactoryAbi.d.ts.map +1 -1
  111. package/dest/SlashFactoryAbi.js +63 -38
  112. package/dest/SlashFactoryBytecode.d.ts.map +1 -1
  113. package/dest/SlashFactoryBytecode.js +2 -5
  114. package/dest/SlasherAbi.d.ts +52 -32
  115. package/dest/SlasherAbi.d.ts.map +1 -1
  116. package/dest/SlasherAbi.js +63 -38
  117. package/dest/SlasherBytecode.d.ts.map +1 -1
  118. package/dest/SlasherBytecode.js +2 -5
  119. package/dest/SlashingProposerAbi.d.ts +52 -32
  120. package/dest/SlashingProposerAbi.d.ts.map +1 -1
  121. package/dest/SlashingProposerAbi.js +63 -38
  122. package/dest/SlashingProposerBytecode.d.ts.map +1 -1
  123. package/dest/SlashingProposerBytecode.js +2 -5
  124. package/dest/TestERC20Abi.d.ts +52 -32
  125. package/dest/TestERC20Abi.d.ts.map +1 -1
  126. package/dest/TestERC20Abi.js +63 -38
  127. package/dest/TestERC20Bytecode.d.ts.map +1 -1
  128. package/dest/TestERC20Bytecode.js +2 -5
  129. package/dest/TokenPortalAbi.d.ts +52 -32
  130. package/dest/TokenPortalAbi.d.ts.map +1 -1
  131. package/dest/TokenPortalAbi.js +63 -38
  132. package/dest/TokenPortalBytecode.d.ts +1 -1
  133. package/dest/TokenPortalBytecode.d.ts.map +1 -1
  134. package/dest/TokenPortalBytecode.js +2 -5
  135. package/dest/UniswapPortalAbi.d.ts +52 -32
  136. package/dest/UniswapPortalAbi.d.ts.map +1 -1
  137. package/dest/UniswapPortalAbi.js +63 -38
  138. package/dest/UniswapPortalBytecode.d.ts +1 -1
  139. package/dest/UniswapPortalBytecode.d.ts.map +1 -1
  140. package/dest/UniswapPortalBytecode.js +2 -5
  141. package/dest/ValidatorSelectionLibAbi.d.ts +52 -32
  142. package/dest/ValidatorSelectionLibAbi.d.ts.map +1 -1
  143. package/dest/ValidatorSelectionLibAbi.js +63 -38
  144. package/dest/ValidatorSelectionLibBytecode.d.ts +1 -1
  145. package/dest/ValidatorSelectionLibBytecode.d.ts.map +1 -1
  146. package/dest/ValidatorSelectionLibBytecode.js +2 -5
  147. package/dest/checksum.d.ts +1 -1
  148. package/dest/checksum.d.ts.map +1 -1
  149. package/dest/checksum.js +1 -2
  150. package/dest/index.d.ts +2 -6
  151. package/dest/index.d.ts.map +1 -1
  152. package/dest/index.js +2 -7
  153. package/package.json +1 -1
  154. package/dest/IProofCommitmentEscrowAbi.d.ts +0 -1261
  155. package/dest/IProofCommitmentEscrowAbi.d.ts.map +0 -1
  156. package/dest/IProofCommitmentEscrowAbi.js +0 -1665
  157. package/dest/IProofCommitmentEscrowBytecode.d.ts +0 -9
  158. package/dest/IProofCommitmentEscrowBytecode.d.ts.map +0 -1
  159. package/dest/IProofCommitmentEscrowBytecode.js +0 -9
  160. package/dest/ProofCommitmentEscrowAbi.d.ts +0 -1337
  161. package/dest/ProofCommitmentEscrowAbi.d.ts.map +0 -1
  162. package/dest/ProofCommitmentEscrowAbi.js +0 -1765
  163. package/dest/ProofCommitmentEscrowBytecode.d.ts +0 -9
  164. package/dest/ProofCommitmentEscrowBytecode.d.ts.map +0 -1
  165. package/dest/ProofCommitmentEscrowBytecode.js +0 -9
  166. package/dest/StakingLibBytecode.d.ts +0 -9
  167. package/dest/StakingLibBytecode.d.ts.map +0 -1
  168. package/dest/StakingLibBytecode.js +0 -9
  169. package/generated/CoinIssuerAbi.ts +0 -1603
  170. package/generated/CoinIssuerBytecode.ts +0 -8
  171. package/generated/EmpireBaseAbi.ts +0 -1667
  172. package/generated/EmpireBaseBytecode.ts +0 -8
  173. package/generated/ErrorsAbi.ts +0 -1438
  174. package/generated/ExtRollupLibAbi.ts +0 -1746
  175. package/generated/ExtRollupLibBytecode.ts +0 -8
  176. package/generated/FeeJuicePortalAbi.ts +0 -1650
  177. package/generated/FeeJuicePortalBytecode.ts +0 -8
  178. package/generated/ForwarderAbi.ts +0 -1589
  179. package/generated/ForwarderBytecode.ts +0 -8
  180. package/generated/GovernanceAbi.ts +0 -2230
  181. package/generated/GovernanceBytecode.ts +0 -8
  182. package/generated/GovernanceProposerAbi.ts +0 -1701
  183. package/generated/GovernanceProposerBytecode.ts +0 -8
  184. package/generated/HonkVerifierAbi.ts +0 -1482
  185. package/generated/HonkVerifierBytecode.ts +0 -8
  186. package/generated/IERC20Abi.ts +0 -1621
  187. package/generated/IERC20Bytecode.ts +0 -8
  188. package/generated/IProofCommitmentEscrowAbi.ts +0 -1664
  189. package/generated/IProofCommitmentEscrowBytecode.ts +0 -8
  190. package/generated/IVerifierAbi.ts +0 -1462
  191. package/generated/IVerifierBytecode.ts +0 -8
  192. package/generated/InboxAbi.ts +0 -1621
  193. package/generated/InboxBytecode.ts +0 -8
  194. package/generated/MockVerifierAbi.ts +0 -1462
  195. package/generated/MockVerifierBytecode.ts +0 -8
  196. package/generated/NewGovernanceProposerPayloadAbi.ts +0 -1500
  197. package/generated/NewGovernanceProposerPayloadBytecode.ts +0 -8
  198. package/generated/OutboxAbi.ts +0 -1658
  199. package/generated/OutboxBytecode.ts +0 -8
  200. package/generated/ProofCommitmentEscrowAbi.ts +0 -1764
  201. package/generated/ProofCommitmentEscrowBytecode.ts +0 -8
  202. package/generated/RegistryAbi.ts +0 -1694
  203. package/generated/RegistryBytecode.ts +0 -8
  204. package/generated/RewardDistributorAbi.ts +0 -1641
  205. package/generated/RewardDistributorBytecode.ts +0 -8
  206. package/generated/RollupAbi.ts +0 -3879
  207. package/generated/RollupBytecode.ts +0 -201
  208. package/generated/RollupStorage.ts +0 -61
  209. package/generated/SlashFactoryAbi.ts +0 -1540
  210. package/generated/SlashFactoryBytecode.ts +0 -8
  211. package/generated/SlasherAbi.ts +0 -1527
  212. package/generated/SlasherBytecode.ts +0 -8
  213. package/generated/SlashingProposerAbi.ts +0 -1719
  214. package/generated/SlashingProposerBytecode.ts +0 -8
  215. package/generated/StakingLibAbi.ts +0 -1538
  216. package/generated/StakingLibBytecode.ts +0 -8
  217. package/generated/TestERC20Abi.ts +0 -1885
  218. package/generated/TestERC20Bytecode.ts +0 -8
  219. package/generated/TokenPortalAbi.ts +0 -1680
  220. package/generated/TokenPortalBytecode.ts +0 -8
  221. package/generated/UniswapPortalAbi.ts +0 -1652
  222. package/generated/UniswapPortalBytecode.ts +0 -8
  223. package/generated/ValidatorSelectionLibAbi.ts +0 -1438
  224. package/generated/ValidatorSelectionLibBytecode.ts +0 -8
  225. package/generated/checksum.ts +0 -1
  226. package/generated/index.ts +0 -58
@@ -1,7 +1,6 @@
1
1
  /**
2
2
  * ExtRollupLib ABI.
3
- */
4
- export const ExtRollupLibAbi = [
3
+ */ export const ExtRollupLibAbi = [
5
4
  {
6
5
  "type": "error",
7
6
  "name": "CoinIssuer__InsufficientMintAvailable",
@@ -59,11 +58,6 @@ export const ExtRollupLibAbi = [
59
58
  "name": "FeeMath__InvalidFeeAssetPriceModifier",
60
59
  "inputs": []
61
60
  },
62
- {
63
- "type": "error",
64
- "name": "FeeMath__InvalidProvingCostModifier",
65
- "inputs": []
66
- },
67
61
  {
68
62
  "type": "error",
69
63
  "name": "GovernanceProposer__CanOnlyExecuteProposalInPast",
@@ -497,6 +491,50 @@ export const ExtRollupLibAbi = [
497
491
  "name": "Inbox__Unauthorized",
498
492
  "inputs": []
499
493
  },
494
+ {
495
+ "type": "event",
496
+ "name": "L2BlockProposed",
497
+ "inputs": [
498
+ {
499
+ "name": "blockNumber",
500
+ "type": "uint256",
501
+ "indexed": true,
502
+ "internalType": "uint256"
503
+ },
504
+ {
505
+ "name": "archive",
506
+ "type": "bytes32",
507
+ "indexed": true,
508
+ "internalType": "bytes32"
509
+ },
510
+ {
511
+ "name": "versionedBlobHashes",
512
+ "type": "bytes32[]",
513
+ "indexed": false,
514
+ "internalType": "bytes32[]"
515
+ }
516
+ ],
517
+ "anonymous": false
518
+ },
519
+ {
520
+ "type": "event",
521
+ "name": "L2ProofVerified",
522
+ "inputs": [
523
+ {
524
+ "name": "blockNumber",
525
+ "type": "uint256",
526
+ "indexed": true,
527
+ "internalType": "uint256"
528
+ },
529
+ {
530
+ "name": "proverId",
531
+ "type": "address",
532
+ "indexed": true,
533
+ "internalType": "address"
534
+ }
535
+ ],
536
+ "anonymous": false
537
+ },
500
538
  {
501
539
  "type": "error",
502
540
  "name": "MerkleLib__InvalidRoot",
@@ -725,6 +763,25 @@ export const ExtRollupLibAbi = [
725
763
  }
726
764
  ]
727
765
  },
766
+ {
767
+ "type": "event",
768
+ "name": "PrunedPending",
769
+ "inputs": [
770
+ {
771
+ "name": "provenBlockNumber",
772
+ "type": "uint256",
773
+ "indexed": false,
774
+ "internalType": "uint256"
775
+ },
776
+ {
777
+ "name": "pendingBlockNumber",
778
+ "type": "uint256",
779
+ "indexed": false,
780
+ "internalType": "uint256"
781
+ }
782
+ ],
783
+ "anonymous": false
784
+ },
728
785
  {
729
786
  "type": "error",
730
787
  "name": "Registry__RollupAlreadyRegistered",
@@ -763,6 +820,22 @@ export const ExtRollupLibAbi = [
763
820
  }
764
821
  ]
765
822
  },
823
+ {
824
+ "type": "error",
825
+ "name": "Rollup__AlreadyClaimed",
826
+ "inputs": [
827
+ {
828
+ "name": "prover",
829
+ "type": "address",
830
+ "internalType": "address"
831
+ },
832
+ {
833
+ "name": "epoch",
834
+ "type": "uint256",
835
+ "internalType": "Epoch"
836
+ }
837
+ ]
838
+ },
766
839
  {
767
840
  "type": "error",
768
841
  "name": "Rollup__InsufficientBondAmount",
@@ -1058,62 +1131,68 @@ export const ExtRollupLibAbi = [
1058
1131
  },
1059
1132
  {
1060
1133
  "type": "error",
1061
- "name": "Rollup__NonZeroL2Fee",
1062
- "inputs": []
1063
- },
1064
- {
1065
- "type": "error",
1066
- "name": "Rollup__NotClaimingCorrectEpoch",
1134
+ "name": "Rollup__NotPastDeadline",
1067
1135
  "inputs": [
1068
1136
  {
1069
- "name": "expected",
1137
+ "name": "deadline",
1070
1138
  "type": "uint256",
1071
- "internalType": "Epoch"
1139
+ "internalType": "Slot"
1072
1140
  },
1073
1141
  {
1074
- "name": "actual",
1142
+ "name": "currentSlot",
1075
1143
  "type": "uint256",
1076
- "internalType": "Epoch"
1144
+ "internalType": "Slot"
1077
1145
  }
1078
1146
  ]
1079
1147
  },
1080
1148
  {
1081
1149
  "type": "error",
1082
- "name": "Rollup__NotInClaimPhase",
1150
+ "name": "Rollup__NothingToPrune",
1151
+ "inputs": []
1152
+ },
1153
+ {
1154
+ "type": "error",
1155
+ "name": "Rollup__PastDeadline",
1083
1156
  "inputs": [
1084
1157
  {
1085
- "name": "currentSlotInEpoch",
1158
+ "name": "deadline",
1086
1159
  "type": "uint256",
1087
- "internalType": "uint256"
1160
+ "internalType": "Slot"
1088
1161
  },
1089
1162
  {
1090
- "name": "claimDuration",
1163
+ "name": "currentSlot",
1091
1164
  "type": "uint256",
1092
- "internalType": "uint256"
1165
+ "internalType": "Slot"
1093
1166
  }
1094
1167
  ]
1095
1168
  },
1096
1169
  {
1097
1170
  "type": "error",
1098
- "name": "Rollup__NothingToPrune",
1099
- "inputs": []
1100
- },
1101
- {
1102
- "type": "error",
1103
- "name": "Rollup__ProofRightAlreadyClaimed",
1104
- "inputs": []
1171
+ "name": "Rollup__ProverHaveAlreadySubmitted",
1172
+ "inputs": [
1173
+ {
1174
+ "name": "prover",
1175
+ "type": "address",
1176
+ "internalType": "address"
1177
+ },
1178
+ {
1179
+ "name": "epoch",
1180
+ "type": "uint256",
1181
+ "internalType": "Epoch"
1182
+ }
1183
+ ]
1105
1184
  },
1106
1185
  {
1107
1186
  "type": "error",
1108
- "name": "Rollup__QuoteExpired",
1187
+ "name": "Rollup__SlotAlreadyInChain",
1109
1188
  "inputs": [
1110
1189
  {
1111
- "name": "currentSlot",
1190
+ "name": "lastSlot",
1112
1191
  "type": "uint256",
1113
1192
  "internalType": "Slot"
1114
1193
  },
1115
1194
  {
1116
- "name": "quoteSlot",
1195
+ "name": "proposedSlot",
1117
1196
  "type": "uint256",
1118
1197
  "internalType": "Slot"
1119
1198
  }
@@ -1121,20 +1200,30 @@ export const ExtRollupLibAbi = [
1121
1200
  },
1122
1201
  {
1123
1202
  "type": "error",
1124
- "name": "Rollup__SlotAlreadyInChain",
1203
+ "name": "Rollup__StartAndEndNotSameEpoch",
1125
1204
  "inputs": [
1126
1205
  {
1127
- "name": "lastSlot",
1206
+ "name": "start",
1128
1207
  "type": "uint256",
1129
- "internalType": "Slot"
1208
+ "internalType": "Epoch"
1130
1209
  },
1131
1210
  {
1132
- "name": "proposedSlot",
1211
+ "name": "end",
1133
1212
  "type": "uint256",
1134
- "internalType": "Slot"
1213
+ "internalType": "Epoch"
1135
1214
  }
1136
1215
  ]
1137
1216
  },
1217
+ {
1218
+ "type": "error",
1219
+ "name": "Rollup__StartIsNotBuildingOnProven",
1220
+ "inputs": []
1221
+ },
1222
+ {
1223
+ "type": "error",
1224
+ "name": "Rollup__StartIsNotFirstBlockOfEpoch",
1225
+ "inputs": []
1226
+ },
1138
1227
  {
1139
1228
  "type": "error",
1140
1229
  "name": "Rollup__TimestampInFuture",
@@ -1183,17 +1272,6 @@ export const ExtRollupLibAbi = [
1183
1272
  }
1184
1273
  ]
1185
1274
  },
1186
- {
1187
- "type": "error",
1188
- "name": "SafeERC20FailedOperation",
1189
- "inputs": [
1190
- {
1191
- "name": "token",
1192
- "type": "address",
1193
- "internalType": "address"
1194
- }
1195
- ]
1196
- },
1197
1275
  {
1198
1276
  "type": "error",
1199
1277
  "name": "SampleLib__IndexOutOfBounds",
@@ -1459,252 +1537,94 @@ export const ExtRollupLibAbi = [
1459
1537
  },
1460
1538
  {
1461
1539
  "type": "function",
1462
- "name": "decodeHeader",
1463
- "inputs": [
1540
+ "name": "getBlobBaseFee",
1541
+ "inputs": [],
1542
+ "outputs": [
1464
1543
  {
1465
- "name": "_header",
1466
- "type": "bytes",
1467
- "internalType": "bytes"
1544
+ "name": "",
1545
+ "type": "uint256",
1546
+ "internalType": "uint256"
1468
1547
  }
1469
1548
  ],
1470
- "outputs": [
1549
+ "stateMutability": "view"
1550
+ },
1551
+ {
1552
+ "type": "function",
1553
+ "name": "getEpochProofPublicInputs",
1554
+ "inputs": [
1471
1555
  {
1472
- "name": "",
1556
+ "name": "_start",
1557
+ "type": "uint256",
1558
+ "internalType": "uint256"
1559
+ },
1560
+ {
1561
+ "name": "_end",
1562
+ "type": "uint256",
1563
+ "internalType": "uint256"
1564
+ },
1565
+ {
1566
+ "name": "_args",
1473
1567
  "type": "tuple",
1474
- "internalType": "struct Header",
1568
+ "internalType": "struct PublicInputArgs",
1475
1569
  "components": [
1476
1570
  {
1477
- "name": "lastArchive",
1478
- "type": "tuple",
1479
- "internalType": "struct AppendOnlyTreeSnapshot",
1480
- "components": [
1481
- {
1482
- "name": "root",
1483
- "type": "bytes32",
1484
- "internalType": "bytes32"
1485
- },
1486
- {
1487
- "name": "nextAvailableLeafIndex",
1488
- "type": "uint32",
1489
- "internalType": "uint32"
1490
- }
1491
- ]
1571
+ "name": "previousArchive",
1572
+ "type": "bytes32",
1573
+ "internalType": "bytes32"
1492
1574
  },
1493
1575
  {
1494
- "name": "contentCommitment",
1495
- "type": "tuple",
1496
- "internalType": "struct ContentCommitment",
1497
- "components": [
1498
- {
1499
- "name": "numTxs",
1500
- "type": "uint256",
1501
- "internalType": "uint256"
1502
- },
1503
- {
1504
- "name": "blobsHash",
1505
- "type": "bytes32",
1506
- "internalType": "bytes32"
1507
- },
1508
- {
1509
- "name": "inHash",
1510
- "type": "bytes32",
1511
- "internalType": "bytes32"
1512
- },
1513
- {
1514
- "name": "outHash",
1515
- "type": "bytes32",
1516
- "internalType": "bytes32"
1517
- }
1518
- ]
1576
+ "name": "endArchive",
1577
+ "type": "bytes32",
1578
+ "internalType": "bytes32"
1519
1579
  },
1520
1580
  {
1521
- "name": "stateReference",
1522
- "type": "tuple",
1523
- "internalType": "struct StateReference",
1524
- "components": [
1525
- {
1526
- "name": "l1ToL2MessageTree",
1527
- "type": "tuple",
1528
- "internalType": "struct AppendOnlyTreeSnapshot",
1529
- "components": [
1530
- {
1531
- "name": "root",
1532
- "type": "bytes32",
1533
- "internalType": "bytes32"
1534
- },
1535
- {
1536
- "name": "nextAvailableLeafIndex",
1537
- "type": "uint32",
1538
- "internalType": "uint32"
1539
- }
1540
- ]
1541
- },
1542
- {
1543
- "name": "partialStateReference",
1544
- "type": "tuple",
1545
- "internalType": "struct PartialStateReference",
1546
- "components": [
1547
- {
1548
- "name": "noteHashTree",
1549
- "type": "tuple",
1550
- "internalType": "struct AppendOnlyTreeSnapshot",
1551
- "components": [
1552
- {
1553
- "name": "root",
1554
- "type": "bytes32",
1555
- "internalType": "bytes32"
1556
- },
1557
- {
1558
- "name": "nextAvailableLeafIndex",
1559
- "type": "uint32",
1560
- "internalType": "uint32"
1561
- }
1562
- ]
1563
- },
1564
- {
1565
- "name": "nullifierTree",
1566
- "type": "tuple",
1567
- "internalType": "struct AppendOnlyTreeSnapshot",
1568
- "components": [
1569
- {
1570
- "name": "root",
1571
- "type": "bytes32",
1572
- "internalType": "bytes32"
1573
- },
1574
- {
1575
- "name": "nextAvailableLeafIndex",
1576
- "type": "uint32",
1577
- "internalType": "uint32"
1578
- }
1579
- ]
1580
- },
1581
- {
1582
- "name": "contractTree",
1583
- "type": "tuple",
1584
- "internalType": "struct AppendOnlyTreeSnapshot",
1585
- "components": [
1586
- {
1587
- "name": "root",
1588
- "type": "bytes32",
1589
- "internalType": "bytes32"
1590
- },
1591
- {
1592
- "name": "nextAvailableLeafIndex",
1593
- "type": "uint32",
1594
- "internalType": "uint32"
1595
- }
1596
- ]
1597
- },
1598
- {
1599
- "name": "publicDataTree",
1600
- "type": "tuple",
1601
- "internalType": "struct AppendOnlyTreeSnapshot",
1602
- "components": [
1603
- {
1604
- "name": "root",
1605
- "type": "bytes32",
1606
- "internalType": "bytes32"
1607
- },
1608
- {
1609
- "name": "nextAvailableLeafIndex",
1610
- "type": "uint32",
1611
- "internalType": "uint32"
1612
- }
1613
- ]
1614
- }
1615
- ]
1616
- }
1617
- ]
1581
+ "name": "previousBlockHash",
1582
+ "type": "bytes32",
1583
+ "internalType": "bytes32"
1618
1584
  },
1619
1585
  {
1620
- "name": "globalVariables",
1621
- "type": "tuple",
1622
- "internalType": "struct GlobalVariables",
1623
- "components": [
1624
- {
1625
- "name": "chainId",
1626
- "type": "uint256",
1627
- "internalType": "uint256"
1628
- },
1629
- {
1630
- "name": "version",
1631
- "type": "uint256",
1632
- "internalType": "uint256"
1633
- },
1634
- {
1635
- "name": "blockNumber",
1636
- "type": "uint256",
1637
- "internalType": "uint256"
1638
- },
1639
- {
1640
- "name": "slotNumber",
1641
- "type": "uint256",
1642
- "internalType": "uint256"
1643
- },
1644
- {
1645
- "name": "timestamp",
1646
- "type": "uint256",
1647
- "internalType": "uint256"
1648
- },
1649
- {
1650
- "name": "coinbase",
1651
- "type": "address",
1652
- "internalType": "address"
1653
- },
1654
- {
1655
- "name": "feeRecipient",
1656
- "type": "bytes32",
1657
- "internalType": "bytes32"
1658
- },
1659
- {
1660
- "name": "gasFees",
1661
- "type": "tuple",
1662
- "internalType": "struct GasFees",
1663
- "components": [
1664
- {
1665
- "name": "feePerDaGas",
1666
- "type": "uint256",
1667
- "internalType": "uint256"
1668
- },
1669
- {
1670
- "name": "feePerL2Gas",
1671
- "type": "uint256",
1672
- "internalType": "uint256"
1673
- }
1674
- ]
1675
- }
1676
- ]
1586
+ "name": "endBlockHash",
1587
+ "type": "bytes32",
1588
+ "internalType": "bytes32"
1677
1589
  },
1678
1590
  {
1679
- "name": "totalFees",
1591
+ "name": "endTimestamp",
1680
1592
  "type": "uint256",
1681
- "internalType": "uint256"
1593
+ "internalType": "Timestamp"
1682
1594
  },
1683
1595
  {
1684
- "name": "totalManaUsed",
1685
- "type": "uint256",
1686
- "internalType": "uint256"
1596
+ "name": "outHash",
1597
+ "type": "bytes32",
1598
+ "internalType": "bytes32"
1599
+ },
1600
+ {
1601
+ "name": "proverId",
1602
+ "type": "address",
1603
+ "internalType": "address"
1687
1604
  }
1688
1605
  ]
1689
- }
1690
- ],
1691
- "stateMutability": "pure"
1692
- },
1693
- {
1694
- "type": "function",
1695
- "name": "getBlobBaseFee",
1696
- "inputs": [
1606
+ },
1697
1607
  {
1698
- "name": "_vmAddress",
1699
- "type": "address",
1700
- "internalType": "address"
1608
+ "name": "_fees",
1609
+ "type": "bytes32[]",
1610
+ "internalType": "bytes32[]"
1611
+ },
1612
+ {
1613
+ "name": "_blobPublicInputs",
1614
+ "type": "bytes",
1615
+ "internalType": "bytes"
1616
+ },
1617
+ {
1618
+ "name": "_aggregationObject",
1619
+ "type": "bytes",
1620
+ "internalType": "bytes"
1701
1621
  }
1702
1622
  ],
1703
1623
  "outputs": [
1704
1624
  {
1705
1625
  "name": "",
1706
- "type": "uint256",
1707
- "internalType": "uint256"
1626
+ "type": "bytes32[]",
1627
+ "internalType": "bytes32[]"
1708
1628
  }
1709
1629
  ],
1710
1630
  "stateMutability": "view"
@@ -1744,4 +1664,3 @@ export const ExtRollupLibAbi = [
1744
1664
  "stateMutability": "view"
1745
1665
  }
1746
1666
  ];
1747
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXh0Um9sbHVwTGliQWJpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vZ2VuZXJhdGVkL0V4dFJvbGx1cExpYkFiaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRztJQUM3QjtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLHVDQUF1QztRQUMvQyxRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsV0FBVztnQkFDbkIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLHlCQUF5QjtRQUNqQyxRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsVUFBVTtnQkFDbEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLDBCQUEwQjtRQUNsQyxRQUFRLEVBQUUsRUFBRTtLQUNiO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSxvQ0FBb0M7UUFDNUMsUUFBUSxFQUFFLEVBQUU7S0FDYjtJQUNEO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsdUNBQXVDO1FBQy9DLFFBQVEsRUFBRSxFQUFFO0tBQ2I7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLDhCQUE4QjtRQUN0QyxRQUFRLEVBQUUs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