Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
N
nebula
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
exchain
nebula
Commits
01126509
Unverified
Commit
01126509
authored
Jun 23, 2021
by
Matt Masurka
Committed by
GitHub
Jun 23, 2021
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Adds l2 standard bridge to contracts markdown file (#1151)
parent
40b99a6e
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
47 additions
and
43 deletions
+47
-43
README.md
packages/contracts/deployments/README.md
+1
-0
generate-markdown.js
packages/contracts/scripts/generate-markdown.js
+46
-43
No files found.
packages/contracts/deployments/README.md
View file @
01126509
...
@@ -11,6 +11,7 @@
...
@@ -11,6 +11,7 @@
|Contract|Address|
|Contract|Address|
|--|--|
|--|--|
|OVM_ETH: |
`0x4200000000000000000000000000000000000006`
|OVM_ETH: |
`0x4200000000000000000000000000000000000006`
|OVM_L2StandardBridge: |
`0x4200000000000000000000000000000000000010`
|OVM_L2CrossDomainMessenger: |
`0x4200000000000000000000000000000000000007`
|OVM_L2CrossDomainMessenger: |
`0x4200000000000000000000000000000000000007`
|OVM_L2ToL1MessagePasser: |
`0x4200000000000000000000000000000000000000`
|OVM_L2ToL1MessagePasser: |
`0x4200000000000000000000000000000000000000`
|OVM_L1MessageSender: |
`0x4200000000000000000000000000000000000001`
|OVM_L1MessageSender: |
`0x4200000000000000000000000000000000000001`
...
...
packages/contracts/scripts/generate-markdown.js
View file @
01126509
#!/usr/bin/env node
#!/usr/bin/env node
const
dirtree
=
require
(
"
directory-tree
"
);
const
dirtree
=
require
(
'
directory-tree
'
)
const
fs
=
require
(
"
fs
"
);
const
fs
=
require
(
'
fs
'
)
/**
/**
*
*
...
@@ -9,22 +9,22 @@ const fs = require("fs");
...
@@ -9,22 +9,22 @@ const fs = require("fs");
*/
*/
const
networks
=
{
const
networks
=
{
1
:
"
mainnet
"
,
1
:
'
mainnet
'
,
3
:
"
ropsten
"
,
3
:
'
ropsten
'
,
4
:
"
rinkeby
"
,
4
:
'
rinkeby
'
,
5
:
"
goerli
"
,
5
:
'
goerli
'
,
42
:
"
kovan
"
,
42
:
'
kovan
'
,
}
;
}
(
async
()
=>
{
;
(
async
()
=>
{
console
.
log
(
`Writing contract addresses`
)
;
console
.
log
(
`Writing contract addresses`
)
const
deployments
=
dirtree
(
`./deployments`
)
const
deployments
=
dirtree
(
`./deployments`
)
.
children
.
filter
((
child
)
=>
{
.
children
.
filter
((
child
)
=>
{
return
child
.
type
===
"
directory
"
;
return
child
.
type
===
'
directory
'
})
})
.
map
((
d
)
=>
d
.
name
)
.
map
((
d
)
=>
d
.
name
)
.
reverse
()
;
.
reverse
()
let
md
=
`# Optimism Regenesis Deployments
let
md
=
`# Optimism Regenesis Deployments
## LAYER 2
## LAYER 2
...
@@ -39,6 +39,7 @@ const networks = {
...
@@ -39,6 +39,7 @@ const networks = {
|Contract|Address|
|Contract|Address|
|--|--|
|--|--|
|OVM_ETH: | \`0x4200000000000000000000000000000000000006\`
|OVM_ETH: | \`0x4200000000000000000000000000000000000006\`
|OVM_L2StandardBridge: | \`0x4200000000000000000000000000000000000010\`
|OVM_L2CrossDomainMessenger: | \`0x4200000000000000000000000000000000000007\`
|OVM_L2CrossDomainMessenger: | \`0x4200000000000000000000000000000000000007\`
|OVM_L2ToL1MessagePasser: | \`0x4200000000000000000000000000000000000000\`
|OVM_L2ToL1MessagePasser: | \`0x4200000000000000000000000000000000000000\`
|OVM_L1MessageSender: | \`0x4200000000000000000000000000000000000001\`
|OVM_L1MessageSender: | \`0x4200000000000000000000000000000000000001\`
...
@@ -51,62 +52,64 @@ const networks = {
...
@@ -51,62 +52,64 @@ const networks = {
---
---
---
---
## LAYER 1\n\n`
;
## LAYER 1\n\n`
for
(
le
t
deployment
of
deployments
)
{
for
(
cons
t
deployment
of
deployments
)
{
md
+=
`##
${
deployment
.
toUpperCase
()}
\n\n`
;
md
+=
`##
${
deployment
.
toUpperCase
()}
\n\n`
const
chainId
=
Number
(
const
chainId
=
Number
(
fs
.
readFileSync
(
`./deployments/
${
deployment
}
/.chainId`
)
fs
.
readFileSync
(
`./deployments/
${
deployment
}
/.chainId`
)
)
;
)
const
network
=
networks
[
chainId
]
;
const
network
=
networks
[
chainId
]
md
+=
`Network : __
${
network
}
(chain id:
${
chainId
}
)__\n\n`
;
md
+=
`Network : __
${
network
}
(chain id:
${
chainId
}
)__\n\n`
md
+=
`|Contract|Address|\n`
;
md
+=
`|Contract|Address|\n`
md
+=
`|--|--|\n`
;
md
+=
`|--|--|\n`
const
contracts
=
dirtree
(
`./deployments/
${
deployment
}
`
)
const
contracts
=
dirtree
(
`./deployments/
${
deployment
}
`
)
.
children
.
filter
((
child
)
=>
{
.
children
.
filter
((
child
)
=>
{
return
child
.
extension
===
"
.json
"
;
return
child
.
extension
===
'
.json
'
})
})
.
map
((
child
)
=>
{
.
map
((
child
)
=>
{
return
child
.
name
.
replace
(
"
.json
"
,
""
);
return
child
.
name
.
replace
(
'
.json
'
,
''
)
})
;
})
proxiedContracts
=
[]
;
proxiedContracts
=
[]
for
(
let
i
=
0
;
i
<
contracts
.
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
contracts
.
length
;
i
++
)
{
if
(
contracts
[
i
]
==
'
OVM_L1CrossDomainMessenger
'
)
if
(
contracts
[
i
]
==
'
OVM_L1CrossDomainMessenger
'
)
{
proxiedContracts
.
push
(
contracts
.
splice
(
i
,
1
)[
0
]);
proxiedContracts
.
push
(
contracts
.
splice
(
i
,
1
)[
0
])
if
(
contracts
[
i
]
==
'
OVM_L1ETHGateway
'
)
}
proxiedContracts
.
push
(
contracts
.
splice
(
i
,
1
)[
0
]);
if
(
contracts
[
i
]
==
'
OVM_L1ETHGateway
'
)
{
proxiedContracts
.
push
(
contracts
.
splice
(
i
,
1
)[
0
])
}
}
}
for
(
const
contract
of
contracts
)
{
for
(
const
contract
of
contracts
)
{
const
colonizedName
=
contract
.
split
(
'
:
'
).
join
(
'
-
'
)
;
const
colonizedName
=
contract
.
split
(
'
:
'
).
join
(
'
-
'
)
const
deploymentInfo
=
require
(
`../deployments/
${
deployment
}
/
${
contract
}
.json`
)
;
const
deploymentInfo
=
require
(
`../deployments/
${
deployment
}
/
${
contract
}
.json`
)
const
escPrefix
=
chainId
!==
1
?
`
${
network
}
.`
:
""
;
const
escPrefix
=
chainId
!==
1
?
`
${
network
}
.`
:
''
const
etherscanUrl
=
`https://
${
escPrefix
}
etherscan.io/address/
${
deploymentInfo
.
address
}
`
;
const
etherscanUrl
=
`https://
${
escPrefix
}
etherscan.io/address/
${
deploymentInfo
.
address
}
`
md
+=
`|
${
colonizedName
}
|[
${
deploymentInfo
.
address
}
](
${
etherscanUrl
}
)|\n`
;
md
+=
`|
${
colonizedName
}
|[
${
deploymentInfo
.
address
}
](
${
etherscanUrl
}
)|\n`
}
}
md
+=
`<!--\nImplementation addresses. DO NOT use these addresses directly.\nUse their proxied counterparts seen above.\n\n`
;
md
+=
`<!--\nImplementation addresses. DO NOT use these addresses directly.\nUse their proxied counterparts seen above.\n\n`
for
(
const
proxy
of
proxiedContracts
)
{
for
(
const
proxy
of
proxiedContracts
)
{
const
colonizedName
=
proxy
.
split
(
'
:
'
).
join
(
'
-
'
)
;
const
colonizedName
=
proxy
.
split
(
'
:
'
).
join
(
'
-
'
)
const
deploymentInfo
=
require
(
`../deployments/
${
deployment
}
/
${
proxy
}
.json`
)
;
const
deploymentInfo
=
require
(
`../deployments/
${
deployment
}
/
${
proxy
}
.json`
)
const
escPrefix
=
chainId
!==
1
?
`
${
network
}
.`
:
""
;
const
escPrefix
=
chainId
!==
1
?
`
${
network
}
.`
:
''
const
etherscanUrl
=
`https://
${
escPrefix
}
etherscan.io/address/
${
deploymentInfo
.
address
}
`
;
const
etherscanUrl
=
`https://
${
escPrefix
}
etherscan.io/address/
${
deploymentInfo
.
address
}
`
md
+=
`
${
colonizedName
}
: \n -
${
deploymentInfo
.
address
}
\n -
${
etherscanUrl
}
)\n`
;
md
+=
`
${
colonizedName
}
: \n -
${
deploymentInfo
.
address
}
\n -
${
etherscanUrl
}
)\n`
}
}
md
+=
`-->\n`
;
md
+=
`-->\n`
md
+=
`---\n`
;
md
+=
`---\n`
}
}
fs
.
writeFileSync
(
`./deployments/README.md`
,
md
)
;
fs
.
writeFileSync
(
`./deployments/README.md`
,
md
)
})().
catch
(
console
.
error
)
;
})().
catch
(
console
.
error
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment