Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(protocol): expose getUncleProofDelay function #7058

Merged
merged 6 commits into from
Jan 4, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
chore(docs): auto commit solidity docs
  • Loading branch information
cyberhorsey authored and github-actions[bot] committed Jan 4, 2023
commit db61121e0460e87163c21d2b29ede9263ed5f0f4
27 changes: 27 additions & 0 deletions packages/website/docs/smart-contracts/L1/ProofVerifier.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
## IProofVerifier

### verifyZKP

```solidity
function verifyZKP(bytes verificationKey, bytes zkproof, bytes32 blockHash, address prover, bytes32 txListHash) external pure returns (bool verified)
```

### verifyMKP

```solidity
function verifyMKP(bytes key, bytes value, bytes proof, bytes32 root) external pure returns (bool verified)
```

## ProofVerifier

### verifyZKP

```solidity
function verifyZKP(bytes verificationKey, bytes zkproof, bytes32 blockHash, address prover, bytes32 txListHash) external pure returns (bool)
```

### verifyMKP

```solidity
function verifyMKP(bytes key, bytes value, bytes proof, bytes32 root) external pure returns (bool)
```
98 changes: 98 additions & 0 deletions packages/website/docs/smart-contracts/L1/TaikoData.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
## TaikoData

### Config

```solidity
struct Config {
uint256 chainId;
uint256 maxNumBlocks;
uint256 blockHashHistory;
uint256 zkProofsPerBlock;
uint256 maxVerificationsPerTx;
uint256 commitConfirmations;
uint256 maxProofsPerForkChoice;
uint256 blockMaxGasLimit;
uint256 maxTransactionsPerBlock;
uint256 maxBytesPerTxList;
uint256 minTxGasLimit;
uint256 anchorTxGasLimit;
uint256 feePremiumLamda;
uint256 rewardBurnBips;
uint256 proposerDepositPctg;
uint256 feeBaseMAF;
uint256 blockTimeMAF;
uint256 proofTimeMAF;
uint64 rewardMultiplierPctg;
uint64 feeGracePeriodPctg;
uint64 feeMaxPeriodPctg;
uint64 blockTimeCap;
uint64 proofTimeCap;
uint64 boostrapDiscountHalvingPeriod;
uint64 initialUncleDelay;
bool enableTokenomics;
}
```

### BlockMetadata

```solidity
struct BlockMetadata {
uint256 id;
uint256 l1Height;
bytes32 l1Hash;
address beneficiary;
bytes32 txListHash;
bytes32 mixHash;
bytes extraData;
uint64 gasLimit;
uint64 timestamp;
uint64 commitHeight;
uint64 commitSlot;
}
```

### ProposedBlock

```solidity
struct ProposedBlock {
bytes32 metaHash;
uint256 deposit;
address proposer;
uint64 proposedAt;
}
```

### ForkChoice

```solidity
struct ForkChoice {
bytes32 blockHash;
uint64 provenAt;
address[] provers;
}
```

### State

```solidity
struct State {
mapping(uint256 => bytes32) l2Hashes;
mapping(uint256 => struct TaikoData.ProposedBlock) proposedBlocks;
mapping(uint256 => mapping(bytes32 => struct TaikoData.ForkChoice)) forkChoices;
mapping(address => mapping(uint256 => bytes32)) commits;
uint64 genesisHeight;
uint64 genesisTimestamp;
uint64 __reservedA1;
uint64 statusBits;
uint256 feeBase;
uint64 nextBlockId;
uint64 lastProposedAt;
uint64 avgBlockTime;
uint64 __avgGasLimit;
uint64 latestVerifiedHeight;
uint64 latestVerifiedId;
uint64 avgProofTime;
uint64 __reservedC1;
uint256[42] __gap;
}
```
31 changes: 31 additions & 0 deletions packages/website/docs/smart-contracts/L1/TaikoEvents.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
## TaikoEvents

### BlockVerified

```solidity
event BlockVerified(uint256 id, bytes32 blockHash)
```

### BlockCommitted

```solidity
event BlockCommitted(uint64 commitSlot, uint64 commitHeight, bytes32 commitHash)
```

### BlockProposed

```solidity
event BlockProposed(uint256 id, struct TaikoData.BlockMetadata meta)
```

### BlockProven

```solidity
event BlockProven(uint256 id, bytes32 parentHash, bytes32 blockHash, uint64 timestamp, uint64 provenAt, address prover)
```

### Halted

```solidity
event Halted(bool halted)
```
103 changes: 15 additions & 88 deletions packages/website/docs/smart-contracts/L1/TaikoL1.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,10 @@
struct TaikoData.State state
```

### tentative

```solidity
struct TaikoData.TentativeState tentative
```

### init

```solidity
function init(address _addressManager, bytes32 _genesisBlockHash) external
function init(address _addressManager, bytes32 _genesisBlockHash, uint256 _feeBase) external
```

### commitBlock
Expand Down Expand Up @@ -95,51 +89,6 @@ Verify up to N blocks.
| --------- | ------- | ------------------------------- |
| maxBlocks | uint256 | Max number of blocks to verify. |

### enableWhitelisting

```solidity
function enableWhitelisting(bool whitelistProposers, bool whitelistProvers) public
```

Enable or disable proposer and prover whitelisting

#### Parameters

| Name | Type | Description |
| ------------------ | ---- | ------------------------------------- |
| whitelistProposers | bool | True to enable proposer whitelisting. |
| whitelistProvers | bool | True to enable prover whitelisting. |

### whitelistProposer

```solidity
function whitelistProposer(address proposer, bool whitelisted) public
```

Add or remove a proposer from the whitelist.

#### Parameters

| Name | Type | Description |
| ----------- | ------- | ------------------------------------ |
| proposer | address | The proposer to be added or removed. |
| whitelisted | bool | True to add; remove otherwise. |

### whitelistProver

```solidity
function whitelistProver(address prover, bool whitelisted) public
```

Add or remove a prover from the whitelist.

#### Parameters

| Name | Type | Description |
| ----------- | ------- | ---------------------------------- |
| prover | address | The prover to be added or removed. |
| whitelisted | bool | True to add; remove otherwise. |

### halt

```solidity
Expand All @@ -154,46 +103,18 @@ Halt or resume the chain.
| ------ | ---- | ------------------------------ |
| toHalt | bool | True to halt, false to resume. |

### isProposerWhitelisted
### getBlockFee

```solidity
function isProposerWhitelisted(address proposer) public view returns (bool)
function getBlockFee() public view returns (uint256)
```

Check whether a proposer is whitelisted.

#### Parameters

| Name | Type | Description |
| -------- | ------- | ------------- |
| proposer | address | The proposer. |

#### Return Values

| Name | Type | Description |
| ---- | ---- | ----------------------------------------------------- |
| [0] | bool | True if the proposer is whitelisted, false otherwise. |

### isProverWhitelisted
### getProofReward

```solidity
function isProverWhitelisted(address prover) public view returns (bool)
function getProofReward(uint64 provenAt, uint64 proposedAt) public view returns (uint256 reward)
```

Check whether a prover is whitelisted.

#### Parameters

| Name | Type | Description |
| ------ | ------- | ----------- |
| prover | address | The prover. |

#### Return Values

| Name | Type | Description |
| ---- | ---- | --------------------------------------------------- |
| [0] | bool | True if the prover is whitelisted, false otherwise. |

### isHalted

```solidity
Expand Down Expand Up @@ -223,7 +144,7 @@ function getProposedBlock(uint256 id) public view returns (struct TaikoData.Prop
### getSyncedHeader

```solidity
function getSyncedHeader(uint256 number) public view returns (bytes32)
function getSyncedHeader(uint256 number) public view returns (bytes32 header)
```

### getLatestSyncedHeader
Expand All @@ -235,7 +156,7 @@ function getLatestSyncedHeader() public view returns (bytes32)
### getStateVariables

```solidity
function getStateVariables() public view returns (uint64, uint64, uint64, uint64)
function getStateVariables() public view returns (uint64, uint64, uint64, uint256, uint64, uint64, uint64, uint64, uint64, uint64)
```

### signWithGoldenTouch
Expand All @@ -250,8 +171,14 @@ function signWithGoldenTouch(bytes32 hash, uint8 k) public view returns (uint8 v
function getBlockProvers(uint256 id, bytes32 parentHash) public view returns (address[])
```

### getConstants
### getUncleProofDelay

```solidity
function getUncleProofDelay(uint256 blockId) public view returns (uint64)
```

### getConfig

```solidity
function getConstants() public pure returns (uint256, uint256, uint256, uint256, uint256, uint256, uint256, uint256, uint256, uint256, uint256)
function getConfig() public pure virtual returns (struct TaikoData.Config)
```
12 changes: 6 additions & 6 deletions packages/website/docs/smart-contracts/L2/TaikoL2.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,12 @@ Invalidate a L2 block by verifying its txList is not intrinsically valid.
| hint | enum LibInvalidTxList.Reason | A hint for this method to invalidate the txList. |
| txIdx | uint256 | If the hint is for a specific transaction in txList, txIdx specifies which transaction to check. |

### getConfig

```solidity
function getConfig() public view virtual returns (struct TaikoData.Config config)
```

### getSyncedHeader

```solidity
Expand All @@ -77,9 +83,3 @@ function getLatestSyncedHeader() public view returns (bytes32)
```solidity
function getBlockHash(uint256 number) public view returns (bytes32)
```

### getConstants

```solidity
function getConstants() public pure returns (uint256, uint256, uint256, uint256, uint256, uint256, uint256, uint256, uint256, uint256, uint256)
```