Skip to content

Commit

Permalink
Holesky Deployment and Github Actions (#2)
Browse files Browse the repository at this point in the history
* holesky deployment and readme update

* github actions

* update
  • Loading branch information
preston4896 authored Sep 26, 2024
1 parent 26f5fe6 commit cfb9514
Show file tree
Hide file tree
Showing 12 changed files with 487 additions and 20 deletions.
31 changes: 31 additions & 0 deletions .github/scripts/slither-comment.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
// Ref: https://github.com/marketplace/actions/slither-action#example-workflow-markdown-report

module.exports = async ({ github, context, header, body }) => {
const collapse_details = '<details> <summary> Click me to view the full report </summary>';
const close_details = '</details>';

const comment = [header, collapse_details, body, close_details].join("\n");

const { data: comments } = await github.rest.issues.listComments({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.payload.number,
});

const botComment = comments.find(
(comment) =>
// github-actions bot user
comment.user.id === 41898282 && comment.body.startsWith(header)
);

const commentFn = botComment ? "updateComment" : "createComment";

await github.rest.issues[commentFn]({
owner: context.repo.owner,
repo: context.repo.repo,
body: comment,
...(botComment
? { comment_id: botComment.id }
: { issue_number: context.payload.number }),
});
};
17 changes: 6 additions & 11 deletions .github/workflows/foundry.yml → .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Foundry CI/CD
name: Foundry Build CI/CD

on:
push:
Expand All @@ -9,15 +9,7 @@ on:
workflow_dispatch:

env:
FOUNDRY_PROFILE: ci
FORK_URL: https://rpc.goerli.linea.build
ENCLAVE_IDENTITY_HELPER: "0x4DfeFC7d9b139D5DD5837075FFd7CB340994d6bc"
FMSPC_TCB_HELPER: "0xd7e1EE3d83baa20eA9ee5c42BcCCEDA411E2F02F"
X509_CRL_HELPER: "0x74a4A96787D23058A67d9799F4Ac62379a1a3136"
X509_HELPER: "0xaa27A6a77D6F23b0346863E732beF8D0DaF7c61E"
ENCLAVE_IDENTITY_DAO_PORTAL: "0xeAce48c11258Ec79c941Daee80343298dC084Be3"
FMSPC_TCB_DAO_PORTAL: "0x1930D878D4BAbb10b2C20F65D84a54fdf709959A"
PCS_DAO_PORTAL: "0xC4838158D29C7DB6D344dDB4C082dB0f30C8073e"
DCAP_IMAGE_ID: "0x4052beb38db7869b15596d53c2d5c02c9307faffca9215e69b0f0d0e1812a6c2"

jobs:
check:
Expand Down Expand Up @@ -45,4 +37,7 @@ jobs:
- name: Run Forge tests
run: |
forge test -vvv
id: test
id: test

- name: Run snapshot and Generate Summary
run: NO_COLOR=1 forge snapshot --gas-report >> $GITHUB_STEP_SUMMARY
42 changes: 42 additions & 0 deletions .github/workflows/slither.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Slither Static Analysis

# Runs only on PR merging to main
on:
pull_request:
branches: [ main ]
types: [ opened, reopened, synchronize, ready_for_review ]

workflow_dispatch:

jobs:
analyze:
runs-on: ubuntu-latest

# Do not run when PR is still a draft
if: ${{ !github.event.pull_request.draft }}

env:
commit_url: ${{ github.server_url }}/${{ github.repository }}/blob/${{ github.event.pull_request.head.sha }}/

steps:
- uses: actions/checkout@v3

- name: Run Slither
uses: crytic/[email protected]
id: slither
with:
fail-on: none
slither-args: --checklist --show-ignored-findings --markdown-root ${{ env.commit_url }}


- name: Create/update checklist as PR comment
uses: actions/github-script@v7
if: github.event_name == 'pull_request'
env:
REPORT: ${{ steps.slither.outputs.stdout }}
with:
script: |
const script = require('.github/scripts/slither-comment')
const header = '# Slither report'
const body = process.env.REPORT
await script({ github, context, header, body })
27 changes: 19 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -163,13 +163,24 @@ forge script AttestationScript --rpc-url $RPC_URL --broadcast -vvvv --sig "confi

The ImageID currently used for the DCAP RiscZero Guest Program is `4052beb38db7869b15596d53c2d5c02c9307faffca9215e69b0f0d0e1812a6c2`.

##### Testnet

| Contract | Network | Address |
| --- | --- | --- |
| `PCCSRouter.sol` | Automata Testnet | 0xbFDeE7A1f1bFA2267cD0DA50BE76D8c4a3864543 |
| | Ethereum Holesky | 0xdE5e69A2ca2556fe46883d754d987703bF28Cc51 |
| `AutomataDcapAttestation.sol` | Automata Testnet | 0xefE368b17D137E86298eec8EbC5502fb56d27832 |
| | Ethereum Holesky | 0x133303659F51d75ED216FD98a0B70CbCD75339b2 |
| `V3QuoteVerifier.sol` | Automata Testnet | 0x67042d171b8b7da1a4a98df787bdce79190dac3c |
| | Ethereum Holesky | 0x12d7d59Ae1e4dbF83b08C82958Ac3FcEB84fB164 |
| `V4QuoteVerifier.sol` | Automata Testnet | 0x921b8f6ec83e405b715111ec1ae8b54a3ea063eb |
| | Ethereum Holesky | 0x3Cb24c454a29e796edF47a96dF32DD1855058258 |

##### Mainnet

| Contract | Network | Address |
| --- | --- | --- |
| `PCCSRouter.sol` | testnet | 0xbFDeE7A1f1bFA2267cD0DA50BE76D8c4a3864543 |
| | mainnet (preview) | 0xb76834729717868fa203b9D90fc88F859A4E594D |
| `AutomataDcapAttestation.sol` | testnet | 0xefE368b17D137E86298eec8EbC5502fb56d27832 |
| | mainnet (preview) | 0xE26E11B257856B0bEBc4C759aaBDdea72B64351F |
| `V3QuoteVerifier.sol` | testnet | 0x67042d171b8b7da1a4a98df787bdce79190dac3c |
| | mainnet (preview) | 0xF38a49322cAA0Ead71D4B1cF2afBb6d02BE5FC96 |
| `V4QuoteVerifier.sol` | testnet | 0x921b8f6ec83e405b715111ec1ae8b54a3ea063eb |
| | mainnet (preview) | 0xfF47ecA64898692a86926CDDa794807be3f6567D |
| `PCCSRouter.sol` | Automata Mainnet (preview) | 0xb76834729717868fa203b9D90fc88F859A4E594D |
| `AutomataDcapAttestation.sol` | Automata Mainnet (preview) | 0xE26E11B257856B0bEBc4C759aaBDdea72B64351F |
| `V3QuoteVerifier.sol` | Automata Mainnet (preview) | 0xF38a49322cAA0Ead71D4B1cF2afBb6d02BE5FC96 |
| `V4QuoteVerifier.sol` | Automata Mainnet (preview) | 0xfF47ecA64898692a86926CDDa794807be3f6567D |
49 changes: 49 additions & 0 deletions broadcast/AttestationScript.s.sol/17000/configVerifier-latest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
{
"transactions": [
{
"hash": "0xd90eb00c1b505c7d7fc5b7783ed820053ed050c123fa45c98711b5406a3858b9",
"transactionType": "CALL",
"contractName": null,
"contractAddress": "0x133303659f51d75ed216fd98a0b70cbcd75339b2",
"function": "setQuoteVerifier(address)",
"arguments": [
"0x3Cb24c454a29e796edF47a96dF32DD1855058258"
],
"transaction": {
"from": "0xdc3bda6d40f0e33e0dfa4aef9604b66195e6c5dc",
"to": "0x133303659f51d75ed216fd98a0b70cbcd75339b2",
"gas": "0x109d3",
"value": "0x0",
"input": "0xce3fe7ee0000000000000000000000003cb24c454a29e796edf47a96df32dd1855058258",
"nonce": "0x16",
"chainId": "0x4268"
},
"additionalContracts": [],
"isFixedGasLimit": false
}
],
"receipts": [
{
"status": "0x1",
"cumulativeGasUsed": "0x1d3bc7",
"logs": [],
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"type": "0x2",
"transactionHash": "0xd90eb00c1b505c7d7fc5b7783ed820053ed050c123fa45c98711b5406a3858b9",
"transactionIndex": "0xe",
"blockHash": "0x4e7026244e10e953a30e8dae33773db15ae8247d3fc6c0c0e709a0947aa2d574",
"blockNumber": "0x24b6e2",
"gasUsed": "0xc074",
"effectiveGasPrice": "0x5c81a45",
"from": "0xdc3bda6d40f0e33e0dfa4aef9604b66195e6c5dc",
"to": "0x133303659f51d75ed216fd98a0b70cbcd75339b2",
"contractAddress": null
}
],
"libraries": [],
"pending": [],
"returns": {},
"timestamp": 1727270560,
"chain": 17000,
"commit": "7c32bb8"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
{
"transactions": [
{
"hash": "0xa9bcce54a587dff5ee6f3dffed68ab81d73e4bb7650a42aea70b8212e8028510",
"transactionType": "CREATE",
"contractName": "AutomataDcapAttestation",
"contractAddress": "0x133303659f51d75ed216fd98a0b70cbcd75339b2",
"function": null,
"arguments": [
"0xf70aBAb028Eb6F4100A24B203E113D94E87DE93C",
"0x4052beb38db7869b15596d53c2d5c02c9307faffca9215e69b0f0d0e1812a6c2"
],
"transaction": {
"from": "0xdc3bda6d40f0e33e0dfa4aef9604b66195e6c5dc",
"gas": "0xfc6f9",
"value": "0x0",
"input": "0x60803460a857601f610ce738819003918201601f19168301916001600160401b0383118484101760ad57808492604094855283398101031260a85780516001600160a01b038116919082900360a857602001519033638b78c6d819553360007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3600080546001600160a01b031916919091179055600155604051610c2390816100c48239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe608080604052600436101561001357600080fd5b60003560e01c90816304daae79146104a95750806313f19c801461044c578063256929621461040057806338d8480a146103b257806354d1f13d1461036a578063715018a61461031e57806386b5dec9146102de5780638da5cb5b146102b1578063cb7f894414610268578063ce3fe7ee1461019d578063eec47a181461017f578063f04e283e1461012f578063f2fde38b146100f15763fee81cf4146100b957600080fd5b346100ec5760203660031901126100ec576100d2610553565b63389a75e1600c52600052602080600c2054604051908152f35b600080fd5b60203660031901126100ec57610105610553565b61010d610aa0565b8060601b156101215761011f90610abd565b005b637448fbae6000526004601cfd5b60203660031901126100ec57610143610553565b61014b610aa0565b63389a75e1600c52806000526020600c20908154421161017157600061011f9255610abd565b636f5e88186000526004601cfd5b346100ec5760003660031901126100ec576020600154604051908152f35b346100ec5760203660031901126100ec576101b6610553565b6101be610aa0565b604051630207783760e01b81526001600160a01b039190911690602081600481855afa90811561025c57600091610216575b5061ffff16600090815260026020526040902080546001600160a01b0319169091179055005b6020813d602011610254575b8161022f6020938361059b565b8101031261025057519061ffff8216820361024d575061ffff6101f0565b80fd5b5080fd5b3d9150610222565b6040513d6000823e3d90fd5b346100ec5760403660031901126100ec57610281610553565b610289610aa0565b600080546001600160a01b0319166001600160a01b0392909216919091179055602435600155005b346100ec5760003660031901126100ec57638b78c6d819546040516001600160a01b039091168152602090f35b346100ec5760203660031901126100ec5760043561ffff81168091036100ec576000526002602052602060018060a01b0360406000205416604051908152f35b60003660031901126100ec57610332610aa0565b6000638b78c6d819547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a36000638b78c6d81955005b60003660031901126100ec5763389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2005b346100ec5760203660031901126100ec5760043567ffffffffffffffff81116100ec576103e66103ec9136906004016104cd565b90610808565b906103fc6040519283928361051e565b0390f35b60003660031901126100ec5763389a75e1600c52336000526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a2005b346100ec5760403660031901126100ec5760043567ffffffffffffffff81116100ec5761047d9036906004016104cd565b6024359167ffffffffffffffff83116100ec576104a16103ec9336906004016104cd565b9290916106a8565b346100ec5760003660031901126100ec576000546001600160a01b03168152602090f35b9181601f840112156100ec5782359167ffffffffffffffff83116100ec57602083818601950101116100ec57565b60005b83811061050e5750506000910152565b81810151838201526020016104fe565b9091606092151582526040602083015261054781518092816040860152602086860191016104fb565b601f01601f1916010190565b600435906001600160a01b03821682036100ec57565b60e0810190811067ffffffffffffffff82111761058557604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761058557604052565b908060209392818452848401376000828201840152601f01601f1916010190565b67ffffffffffffffff811161058557601f01601f191660200190565b6040519061060960408361059b565b601982527f556e737570706f727465642071756f74652076657273696f6e000000000000006020830152565b91906040838203126100ec57825180151581036100ec579260208101519067ffffffffffffffff82116100ec570181601f820112156100ec578051610679816105de565b92610687604051948561059b565b818452602082840101116100ec576106a591602080850191016104fb565b90565b919260009360018060a01b0385541690600154926020876040518789823780888101838152039060025afa156107fd57865193833b156107f9579187939161070f936040519687958694859463ab750e7560e01b86526060600487015260648601916105bd565b916024840152604483015203915afa80156107ee576107da575b50806004116107d65760028281013560f01c845260205260408320546001600160a01b03169081156107ca579183916107809360405180958194829363d9ed324f60e01b84526020600485015260248401916105bd565b03915afa9081156107bf57828092610799575b50509091565b9091506107b892503d8091833e6107b0818361059b565b810190610635565b3880610793565b6040513d84823e3d90fd5b505050906106a56105fa565b8280fd5b836107e79194929461059b565b9138610729565b6040513d86823e3d90fd5b8780fd5b6040513d88823e3d90fd5b90600060c060405161081981610569565b8281528260208201528260408201528260608201528260808201528260a08201520152806004116100ec576002820180356001600160f01b03191690600a83106100ec57600884019061ffff60f01b8235169484600c116100ec57600a8101356001600160f01b03191691601c86106100ec57856002116100ec5761089e60026105de565b906108ac604051928361059b565b6002825236106100ec576108d181600284602061ffff95013760006022820152610b3f565b1692856008116100ec576108e560046105de565b906108f3604051928361059b565b6004825236106100ec5760048083016020830137600060248201526001600160e01b03199061092190610b3f565b60e01b1695856030116100ec576040519161093b83610569565b8483526020830195865260408301978852606083019182526080830193845260a08301966fffffffffffffffffffffffffffffffff19600c83013516885260c08401956bffffffffffffffffffffffff19601c840135168752600052600260205260018060a01b0360406000205416958615610a8957604051633c52544560e21b8152945161ffff16600486015296516001600160f01b0319908116602486015298516001600160e01b03191660448501529151881660648401529251909616608482015293516fffffffffffffffffffffffffffffffff191660a485015291516bffffffffffffffffffffffff191660c484015261010060e484015291926000928492909183918291610a5591610104840191906105bd565b03915afa801561025c57600091600091610a6e57509091565b9050610a8591503d806000833e6107b0818361059b565b9091565b50505050505050505050610a9b6105fa565b600091565b638b78c6d819543303610aaf57565b6382b429006000526004601cfd5b60018060a01b031680638b78c6d819547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3638b78c6d81955565b81810292918115918404141715610b0e57565b634e487b7160e01b600052601160045260246000fd5b603f8111610b0e5760100a90565b91908201809211610b0e57565b60009190825b8151841015610be85781840160200151600090600186901b6001600160ff1b0387168703610bd457610b85610b7982610b24565b600f8460f81c16610afb565b9260018201809211610bc05750610bb892610bb260019593610ba9610bb294610b24565b9060fc1c610afb565b90610b32565b930192610b45565b634e487b7160e01b81526011600452602490fd5b634e487b7160e01b83526011600452602483fd5b92505056fea2646970667358221220071c10cf8b0e0563544bbed0ec5bf442b55047e10260aace5d1f511e6974195364736f6c634300081b0033000000000000000000000000f70abab028eb6f4100a24b203e113d94e87de93c4052beb38db7869b15596d53c2d5c02c9307faffca9215e69b0f0d0e1812a6c2",
"nonce": "0x12",
"chainId": "0x4268"
},
"additionalContracts": [],
"isFixedGasLimit": false
}
],
"receipts": [
{
"status": "0x1",
"cumulativeGasUsed": "0x296421",
"logs": [
{
"address": "0x133303659f51d75ed216fd98a0b70cbcd75339b2",
"topics": [
"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0",
"0x0000000000000000000000000000000000000000000000000000000000000000",
"0x000000000000000000000000dc3bda6d40f0e33e0dfa4aef9604b66195e6c5dc"
],
"data": "0x",
"blockHash": "0x3d7448ba7101c5b14d7efffad12211a42969b71acfd73d05fcc6ce03c1cd4f29",
"blockNumber": "0x24b6c7",
"transactionHash": "0xa9bcce54a587dff5ee6f3dffed68ab81d73e4bb7650a42aea70b8212e8028510",
"transactionIndex": "0x13",
"logIndex": "0x1c",
"removed": false
}
],
"logsBloom": "0x00004000800000000000000000000000000000000000000000800000000000000080000000001000000000000000000000000800000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000020000000000000000000800000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000",
"type": "0x2",
"transactionHash": "0xa9bcce54a587dff5ee6f3dffed68ab81d73e4bb7650a42aea70b8212e8028510",
"transactionIndex": "0x13",
"blockHash": "0x3d7448ba7101c5b14d7efffad12211a42969b71acfd73d05fcc6ce03c1cd4f29",
"blockNumber": "0x24b6c7",
"gasUsed": "0xc23bb",
"effectiveGasPrice": "0x5f5e105",
"from": "0xdc3bda6d40f0e33e0dfa4aef9604b66195e6c5dc",
"to": null,
"contractAddress": "0x133303659f51d75ed216fd98a0b70cbcd75339b2"
}
],
"libraries": [],
"pending": [],
"returns": {},
"timestamp": 1727270133,
"chain": 17000,
"commit": "7c32bb8"
}
55 changes: 55 additions & 0 deletions broadcast/AttestationScript.s.sol/65536/configVerifier-latest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
{
"transactions": [
{
"hash": "0x83e5aeb4d2dad352ba250c6b2ead2378204d40b8c39360b02d25cf8643320776",
"transactionType": "CALL",
"contractName": null,
"contractAddress": "0xe26e11b257856b0bebc4c759aabddea72b64351f",
"function": "setQuoteVerifier(address)",
"arguments": [
"0xfF47ecA64898692a86926CDDa794807be3f6567D"
],
"transaction": {
"from": "0x427e03845e6187ec01260a0fb501ab0908ec42b5",
"to": "0xe26e11b257856b0bebc4c759aabddea72b64351f",
"gas": "0x109ff",
"value": "0x0",
"input": "0xce3fe7ee000000000000000000000000ff47eca64898692a86926cdda794807be3f6567d",
"nonce": "0x10",
"chainId": "0x10000"
},
"additionalContracts": [],
"isFixedGasLimit": false
}
],
"receipts": [
{
"status": "0x1",
"cumulativeGasUsed": "0x285402",
"logs": [],
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"type": "0x2",
"transactionHash": "0x83e5aeb4d2dad352ba250c6b2ead2378204d40b8c39360b02d25cf8643320776",
"transactionIndex": "0x2",
"blockHash": "0x4f283d3074538027fc4dfede2f5cdb3c9674b56b2354010a8696254f5772d496",
"blockNumber": "0x1142ee",
"gasUsed": "0xc094",
"effectiveGasPrice": "0xb2d05efd",
"from": "0x427e03845e6187ec01260a0fb501ab0908ec42b5",
"to": "0xe26e11b257856b0bebc4c759aabddea72b64351f",
"contractAddress": null,
"l1BaseFeeScalar": "0x3567e00",
"l1BlobBaseFee": "0x1",
"l1BlobBaseFeeScalar": "0x0",
"l1Fee": "0x5556106db800",
"l1GasPrice": "0x3e6ad5e4",
"l1GasUsed": "0x640"
}
],
"libraries": [],
"pending": [],
"returns": {},
"timestamp": 1723445560,
"chain": 65536,
"commit": "ed37ade"
}
69 changes: 69 additions & 0 deletions broadcast/DeployRouter.s.sol/17000/run-latest.json

Large diffs are not rendered by default.

48 changes: 48 additions & 0 deletions broadcast/DeployV3.s.sol/17000/run-latest.json

Large diffs are not rendered by default.

48 changes: 48 additions & 0 deletions broadcast/DeployV4.s.sol/17000/run-latest.json

Large diffs are not rendered by default.

54 changes: 54 additions & 0 deletions broadcast/DeployV4.s.sol/65536/run-latest.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion foundry.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ remappings = [
# foundry is not able to detect this particular remapping for some reason...
"openzeppelin/=lib/risc0-ethereum/lib/openzeppelin-contracts/"
]
solc = "0.8.24"
solc = "0.8.27"
optimizer = true
optimizer_runs = 200

Expand Down

0 comments on commit cfb9514

Please sign in to comment.