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
e3300c42
Unverified
Commit
e3300c42
authored
Jun 26, 2023
by
Mark Tyneway
Committed by
GitHub
Jun 26, 2023
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #6148 from ethereum-optimism/feat/ctb-dead-ts
contracts-bedrock: delete dead typescript
parents
ee058e41
d59ac98d
Changes
29
Hide whitespace changes
Inline
Side-by-side
Showing
29 changed files
with
210 additions
and
681 deletions
+210
-681
config.yml
.circleci/config.yml
+4
-4
nx.json
nx.json
+1
-14
Makefile
op-bindings/Makefile
+1
-1
main.go
op-bindings/gen/main.go
+20
-14
devnetL1.ts
packages/contracts-bedrock/deploy-config/devnetL1.ts
+0
-4
getting-started.ts
packages/contracts-bedrock/deploy-config/getting-started.ts
+0
-4
goerli-forked.ts
packages/contracts-bedrock/deploy-config/goerli-forked.ts
+0
-4
goerli.ts
packages/contracts-bedrock/deploy-config/goerli.ts
+0
-4
hardhat.ts
packages/contracts-bedrock/deploy-config/hardhat.ts
+0
-4
local.ts
packages/contracts-bedrock/deploy-config/local.ts
+0
-57
mainnet.ts
packages/contracts-bedrock/deploy-config/mainnet.ts
+0
-26
hardhat.config.ts
packages/contracts-bedrock/hardhat.config.ts
+0
-180
package.json
packages/contracts-bedrock/package.json
+6
-31
contract-defs.ts
packages/contracts-bedrock/src/contract-defs.ts
+0
-52
index.ts
packages/contracts-bedrock/src/index.ts
+0
-2
generate-deploy-config.ts
packages/contracts-bedrock/tasks/generate-deploy-config.ts
+0
-25
index.ts
packages/contracts-bedrock/tasks/index.ts
+0
-2
solidity.ts
packages/contracts-bedrock/tasks/solidity.ts
+0
-10
tsconfig.json
packages/contracts-bedrock/tsconfig.json
+0
-2
package.json
packages/core-utils/package.json
+1
-0
constants.ts
packages/core-utils/src/optimism/constants.ts
+0
-0
index.ts
packages/core-utils/src/optimism/index.ts
+1
-0
standard-bridge.ts
packages/sdk/src/adapters/standard-bridge.ts
+8
-6
chain-constants.ts
packages/sdk/src/utils/chain-constants.ts
+55
-33
contracts.ts
packages/sdk/src/utils/contracts.ts
+67
-1
deposit-erc20.ts
packages/sdk/tasks/deposit-erc20.ts
+11
-38
deposit-eth.ts
packages/sdk/tasks/deposit-eth.ts
+7
-28
finalize-withdrawal.ts
packages/sdk/tasks/finalize-withdrawal.ts
+1
-1
yarn.lock
yarn.lock
+27
-134
No files found.
.circleci/config.yml
View file @
e3300c42
...
@@ -130,8 +130,8 @@ jobs:
...
@@ -130,8 +130,8 @@ jobs:
-
persist_to_workspace
:
-
persist_to_workspace
:
root
:
"
."
root
:
"
."
paths
:
paths
:
-
"
packages/*/dist"
-
"
packages/*
*
/dist"
-
"
packages/
*/
artifacts"
-
"
packages/
contracts-bedrock/forge-
artifacts"
docker-build
:
docker-build
:
environment
:
environment
:
...
@@ -574,12 +574,12 @@ jobs:
...
@@ -574,12 +574,12 @@ jobs:
steps
:
steps
:
-
checkout
-
checkout
-
attach_workspace
:
{
at
:
"
."
}
-
attach_workspace
:
{
at
:
"
."
}
-
check-changed
:
patterns
:
sdk,contracts-bedrock,contracts
-
restore_cache
:
-
restore_cache
:
name
:
Restore Yarn Package Cache
name
:
Restore Yarn Package Cache
keys
:
keys
:
-
yarn-packages-v2-{{ checksum "yarn.lock" }}
-
yarn-packages-v2-{{ checksum "yarn.lock" }}
-
check-changed
:
patterns
:
sdk,contracts-bedrock,contracts
-
run
:
-
run
:
name
:
anvil-l1
name
:
anvil-l1
background
:
true
background
:
true
...
...
nx.json
View file @
e3300c42
...
@@ -28,7 +28,6 @@
...
@@ -28,7 +28,6 @@
"configsProject"
:
[
"configsProject"
:
[
"{projectRoot}/foundry.toml"
,
"{projectRoot}/foundry.toml"
,
"{projectRoot}/tsconfig.json"
,
"{projectRoot}/tsconfig.json"
,
"{projectRoot}/hardhat.config.ts"
,
"{projectRoot}/package.json"
"{projectRoot}/package.json"
],
],
"default"
:
[
"{projectRoot}/**/*"
,
"configsWorkspace"
],
"default"
:
[
"{projectRoot}/**/*"
,
"configsWorkspace"
],
...
@@ -38,8 +37,6 @@
...
@@ -38,8 +37,6 @@
],
],
"productionSrc"
:
[
"productionSrc"
:
[
"{projectRoot}/src/**/*"
,
"{projectRoot}/src/**/*"
,
"!{projectRoot}/src/contract-artifacts.ts"
,
"!{projectRoot}/src/contract-deployed-artifacts.ts"
,
"!{projectRoot}/src/**/*.spec.ts"
"!{projectRoot}/src/**/*.spec.ts"
],
],
"productionContracts"
:
[
"{projectRoot}/contracts/**/*"
],
"productionContracts"
:
[
"{projectRoot}/contracts/**/*"
],
...
@@ -63,16 +60,6 @@
...
@@ -63,16 +60,6 @@
"dependsOn"
:
[
"^build"
],
"dependsOn"
:
[
"^build"
],
"outputs"
:
[
"{projectRoot}/artifacts"
,
"{projectRoot}/forge-artifacts"
]
"outputs"
:
[
"{projectRoot}/artifacts"
,
"{projectRoot}/forge-artifacts"
]
},
},
"autogen:artifacts"
:
{
"inputs"
:
[
"configsWorkspace"
,
"configsProject"
,
"productionContracts"
,
"^productionContracts"
],
"dependsOn"
:
[
"^build"
,
"build:contracts"
],
"outputs"
:
[
"srcGenerated"
]
},
"build"
:
{
"build"
:
{
"inputs"
:
[
"inputs"
:
[
"configsWorkspace"
,
"configsWorkspace"
,
...
@@ -80,7 +67,7 @@
...
@@ -80,7 +67,7 @@
"production"
,
"production"
,
"^production"
"^production"
],
],
"dependsOn"
:
[
"^build"
,
"
autogen:artifacts"
,
"
build:contracts"
],
"dependsOn"
:
[
"^build"
,
"build:contracts"
],
"outputs"
:
[
"{projectRoot}/dist"
]
"outputs"
:
[
"{projectRoot}/dist"
]
}
}
}
}
...
...
op-bindings/Makefile
View file @
e3300c42
...
@@ -45,7 +45,7 @@ version:
...
@@ -45,7 +45,7 @@ version:
compile
:
compile
:
cd
../packages/contracts-bedrock/
&&
\
cd
../packages/contracts-bedrock/
&&
\
yarn clean
&&
\
yarn clean
&&
\
npx hardhat compile
yarn build
system-config-bindings
:
compile
system-config-bindings
:
compile
./gen_bindings.sh contracts/L1/SystemConfig.sol:SystemConfig
$(pkg)
./gen_bindings.sh contracts/L1/SystemConfig.sol:SystemConfig
$(pkg)
...
...
op-bindings/gen/main.go
View file @
e3300c42
...
@@ -12,7 +12,8 @@ import (
...
@@ -12,7 +12,8 @@ import (
"text/template"
"text/template"
"github.com/ethereum-optimism/optimism/op-bindings/ast"
"github.com/ethereum-optimism/optimism/op-bindings/ast"
"github.com/ethereum-optimism/optimism/op-bindings/hardhat"
"github.com/ethereum-optimism/optimism/op-bindings/solc"
"github.com/ethereum/go-ethereum/common/hexutil"
)
)
type
flags
struct
{
type
flags
struct
{
...
@@ -33,14 +34,16 @@ type data struct {
...
@@ -33,14 +34,16 @@ type data struct {
}
}
type
forgeArtifact
struct
{
type
forgeArtifact
struct
{
StorageLayout
*
solc
.
StorageLayout
`json:"storageLayout"`
DeployedBytecode
struct
{
DeployedBytecode
struct
{
SourceMap
string
`json:"sourceMap"`
SourceMap
string
`json:"sourceMap"`
Object
hexutil
.
Bytes
`json:"object"`
}
`json:"deployedBytecode"`
}
`json:"deployedBytecode"`
}
}
func
main
()
{
func
main
()
{
var
f
flags
var
f
flags
flag
.
StringVar
(
&
f
.
ArtifactsDir
,
"artifacts"
,
""
,
"Comma-separated list of directories
containing artifacts and
build info"
)
flag
.
StringVar
(
&
f
.
ArtifactsDir
,
"artifacts"
,
""
,
"Comma-separated list of directories build info"
)
flag
.
StringVar
(
&
f
.
ForgeArtifacts
,
"forge-artifacts"
,
""
,
"Forge artifacts directory, to load sourcemaps from, if available"
)
flag
.
StringVar
(
&
f
.
ForgeArtifacts
,
"forge-artifacts"
,
""
,
"Forge artifacts directory, to load sourcemaps from, if available"
)
flag
.
StringVar
(
&
f
.
OutDir
,
"out"
,
""
,
"Output directory to put code in"
)
flag
.
StringVar
(
&
f
.
OutDir
,
"out"
,
""
,
"Output directory to put code in"
)
flag
.
StringVar
(
&
f
.
Contracts
,
"contracts"
,
""
,
"Comma-separated list of contracts to generate code for"
)
flag
.
StringVar
(
&
f
.
Contracts
,
"contracts"
,
""
,
"Comma-separated list of contracts to generate code for"
)
...
@@ -64,25 +67,28 @@ func main() {
...
@@ -64,25 +67,28 @@ func main() {
log
.
Fatalf
(
"must define a list of contracts"
)
log
.
Fatalf
(
"must define a list of contracts"
)
}
}
hh
,
err
:=
hardhat
.
New
(
"dummy"
,
artifacts
,
nil
)
if
err
!=
nil
{
log
.
Fatalln
(
"error reading artifacts:"
,
err
)
}
t
:=
template
.
Must
(
template
.
New
(
"artifact"
)
.
Parse
(
tmpl
))
t
:=
template
.
Must
(
template
.
New
(
"artifact"
)
.
Parse
(
tmpl
))
for
_
,
name
:=
range
contracts
{
for
_
,
name
:=
range
contracts
{
art
,
err
:=
hh
.
GetArtifact
(
name
)
forgeArtifactData
,
err
:=
os
.
ReadFile
(
path
.
Join
(
f
.
ForgeArtifacts
,
name
+
".sol"
,
name
+
".json"
)
)
if
err
!=
nil
{
if
err
ors
.
Is
(
err
,
os
.
ErrNotExist
)
{
log
.
Fatalf
(
"error reading artifact %s: %v
\n
"
,
name
,
err
)
log
.
Printf
(
"cannot find forge-artifact with source-map data of %q
\n
"
,
name
)
}
}
storage
,
err
:=
hh
.
GetStorageLayout
(
name
)
var
artifact
forgeArtifact
if
err
:=
json
.
Unmarshal
(
forgeArtifactData
,
&
artifact
);
err
!=
nil
{
log
.
Fatalf
(
"failed to parse forge artifact of %q: %v
\n
"
,
name
,
err
)
}
if
err
!=
nil
{
if
err
!=
nil
{
log
.
Fatalf
(
"error reading storage layout %s: %v
\n
"
,
name
,
err
)
log
.
Fatalf
(
"error reading storage layout %s: %v
\n
"
,
name
,
err
)
}
}
canonicalStorage
:=
ast
.
CanonicalizeASTIDs
(
storage
)
storage
:=
artifact
.
StorageLayout
if
storage
==
nil
{
log
.
Fatalf
(
"no storage layout for %s
\n
"
,
name
)
}
canonicalStorage
:=
ast
.
CanonicalizeASTIDs
(
storage
)
ser
,
err
:=
json
.
Marshal
(
canonicalStorage
)
ser
,
err
:=
json
.
Marshal
(
canonicalStorage
)
if
err
!=
nil
{
if
err
!=
nil
{
log
.
Fatalf
(
"error marshaling storage: %v
\n
"
,
err
)
log
.
Fatalf
(
"error marshaling storage: %v
\n
"
,
err
)
...
@@ -108,7 +114,7 @@ func main() {
...
@@ -108,7 +114,7 @@ func main() {
d
:=
data
{
d
:=
data
{
Name
:
name
,
Name
:
name
,
StorageLayout
:
serStr
,
StorageLayout
:
serStr
,
DeployedBin
:
art
.
DeployedBytecode
.
String
(),
DeployedBin
:
art
ifact
.
DeployedBytecode
.
Object
.
String
(),
Package
:
f
.
Package
,
Package
:
f
.
Package
,
DeployedSourceMap
:
deployedSourceMap
,
DeployedSourceMap
:
deployedSourceMap
,
}
}
...
...
packages/contracts-bedrock/deploy-config/devnetL1.ts
deleted
100644 → 0
View file @
ee058e41
import
{
DeployConfig
}
from
'
../src/deploy-config
'
import
config
from
'
./devnetL1.json
'
export
default
config
satisfies
DeployConfig
packages/contracts-bedrock/deploy-config/getting-started.ts
deleted
100644 → 0
View file @
ee058e41
import
{
DeployConfig
}
from
'
../src/deploy-config
'
import
config
from
'
./getting-started.json
'
export
default
config
satisfies
DeployConfig
packages/contracts-bedrock/deploy-config/goerli-forked.ts
deleted
100644 → 0
View file @
ee058e41
import
{
DeployConfig
}
from
'
../src/deploy-config
'
import
config
from
'
./goerli-forked.json
'
export
default
config
satisfies
DeployConfig
packages/contracts-bedrock/deploy-config/goerli.ts
deleted
100644 → 0
View file @
ee058e41
import
{
DeployConfig
}
from
'
../src/deploy-config
'
import
config
from
'
./goerli.json
'
export
default
config
satisfies
DeployConfig
packages/contracts-bedrock/deploy-config/hardhat.ts
deleted
100644 → 0
View file @
ee058e41
import
{
DeployConfig
}
from
'
../src/deploy-config
'
import
config
from
'
./hardhat.json
'
export
default
config
satisfies
DeployConfig
packages/contracts-bedrock/deploy-config/local.ts
deleted
100644 → 0
View file @
ee058e41
import
{
DeployConfig
}
from
'
../src/deploy-config
'
const
config
:
DeployConfig
=
{
finalSystemOwner
:
'
0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266
'
,
controller
:
'
0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266
'
,
portalGuardian
:
'
0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266
'
,
proxyAdminOwner
:
'
0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266
'
,
l1StartingBlockTag
:
'
0x126e52a0cc0ae18948f567ee9443f4a8f0db67c437706e35baee424eb314a0d0
'
,
l1ChainID
:
1
,
l2ChainID
:
10
,
l2BlockTime
:
2
,
maxSequencerDrift
:
600
,
sequencerWindowSize
:
3600
,
channelTimeout
:
300
,
p2pSequencerAddress
:
'
0x15d34AAf54267DB7D7c367839AAf71A00a2C6A65
'
,
batchInboxAddress
:
'
0xff00000000000000000000000000000000000010
'
,
batchSenderAddress
:
'
0x70997970C51812dc3A010C7d01b50e0d17dc79C8
'
,
l2OutputOracleSubmissionInterval
:
20
,
l2OutputOracleStartingTimestamp
:
1679069195
,
l2OutputOracleStartingBlockNumber
:
79149704
,
l2OutputOracleProposer
:
'
0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC
'
,
l2OutputOracleChallenger
:
'
0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC
'
,
finalizationPeriodSeconds
:
2
,
baseFeeVaultRecipient
:
'
0x90F79bf6EB2c4f870365E785982E1f101E93b906
'
,
l1FeeVaultRecipient
:
'
0x90F79bf6EB2c4f870365E785982E1f101E93b906
'
,
sequencerFeeVaultRecipient
:
'
0x90F79bf6EB2c4f870365E785982E1f101E93b906
'
,
baseFeeVaultMinimumWithdrawalAmount
:
'
0x8ac7230489e80000
'
,
l1FeeVaultMinimumWithdrawalAmount
:
'
0x8ac7230489e80000
'
,
sequencerFeeVaultMinimumWithdrawalAmount
:
'
0x8ac7230489e80000
'
,
baseFeeVaultWithdrawalNetwork
:
0
,
l1FeeVaultWithdrawalNetwork
:
0
,
sequencerFeeVaultWithdrawalNetwork
:
0
,
enableGovernance
:
true
,
governanceTokenName
:
'
Optimism
'
,
governanceTokenSymbol
:
'
OP
'
,
governanceTokenOwner
:
'
0x90F79bf6EB2c4f870365E785982E1f101E93b906
'
,
l2GenesisBlockGasLimit
:
'
0x17D7840
'
,
l2GenesisBlockCoinbase
:
'
0x4200000000000000000000000000000000000011
'
,
l2GenesisBlockBaseFeePerGas
:
'
0x3b9aca00
'
,
gasPriceOracleOverhead
:
2100
,
gasPriceOracleScalar
:
1000000
,
eip1559Denominator
:
50
,
eip1559Elasticity
:
10
,
l2GenesisRegolithTimeOffset
:
'
0x0
'
,
}
export
default
config
packages/contracts-bedrock/deploy-config/mainnet.ts
deleted
100644 → 0
View file @
ee058e41
import
{
DeployConfig
}
from
'
../src/deploy-config
'
import
mainnetJson
from
'
./mainnet.json
'
// NOTE: The 'mainnet' network is currently being used for bedrock migration rehearsals.
// The system configured below is not yet live on mainnet, and many of the addresses used are
// unsafe for a production system.
// Re-export the mainnet json as a DeployConfig object.
//
// Notice, the following roles in the system are assigned to the:
// Optimism Foundation Mulitisig:
// - finalSystemOwner
// - controller
// - portalGuardian
// - proxyAdminOwner
// - l2OutputOracleChallenger
//
// The following roles are assigned to the same fee recipient:
// - baseFeeVaultRecipient
// - l1FeeVaultRecipient
// - sequencerFeeVaultRecipient
//
// The following role is assigned to the Mint Manager contract:
// - governanceTokenOwner
export
default
mainnetJson
satisfies
DeployConfig
packages/contracts-bedrock/hardhat.config.ts
deleted
100644 → 0
View file @
ee058e41
import
{
ethers
}
from
'
ethers
'
import
{
HardhatUserConfig
}
from
'
hardhat/config
'
import
dotenv
from
'
dotenv
'
// Hardhat plugins
import
'
@eth-optimism/hardhat-deploy-config
'
import
'
@foundry-rs/hardhat-forge
'
import
'
@nomiclabs/hardhat-ethers
'
import
'
hardhat-deploy
'
// Hardhat tasks
import
'
./tasks
'
// Deploy configuration
import
{
deployConfigSpec
}
from
'
./src/deploy-config
'
// Load environment variables
dotenv
.
config
()
const
config
:
HardhatUserConfig
=
{
networks
:
{
hardhat
:
{
live
:
false
,
},
local
:
{
live
:
false
,
url
:
'
http://localhost:8545
'
,
saveDeployments
:
!!
process
.
env
.
SAVE_DEPLOYMENTS
||
false
,
accounts
:
[
'
ac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80
'
,
],
},
// NOTE: The 'mainnet' network is currently being used for mainnet rehearsals.
mainnet
:
{
url
:
process
.
env
.
L1_RPC
||
'
https://mainnet-l1-rehearsal.optimism.io
'
,
accounts
:
[
process
.
env
.
PRIVATE_KEY_DEPLOYER
||
'
ac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80
'
,
],
},
devnetL1
:
{
live
:
false
,
url
:
'
http://localhost:8545
'
,
accounts
:
[
'
ac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80
'
,
],
},
devnetL2
:
{
live
:
false
,
url
:
process
.
env
.
RPC_URL
||
'
http://localhost:9545
'
,
accounts
:
[
'
ac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80
'
,
],
},
hivenet
:
{
chainId
:
Number
(
process
.
env
.
CHAIN_ID
),
url
:
process
.
env
.
L1_RPC
||
''
,
accounts
:
[
process
.
env
.
PRIVATE_KEY_DEPLOYER
||
ethers
.
constants
.
HashZero
],
},
goerli
:
{
chainId
:
5
,
url
:
process
.
env
.
L1_RPC
||
''
,
accounts
:
[
process
.
env
.
PRIVATE_KEY_DEPLOYER
||
ethers
.
constants
.
HashZero
],
companionNetworks
:
{
l2
:
'
optimism-goerli
'
,
},
},
'
optimism-goerli
'
:
{
chainId
:
420
,
url
:
process
.
env
.
L2_RPC
||
''
,
accounts
:
[
process
.
env
.
PRIVATE_KEY_DEPLOYER
||
ethers
.
constants
.
HashZero
],
companionNetworks
:
{
l1
:
'
goerli
'
,
},
},
'
alpha-1
'
:
{
chainId
:
5
,
url
:
process
.
env
.
L1_RPC
||
''
,
accounts
:
[
process
.
env
.
PRIVATE_KEY_DEPLOYER
||
ethers
.
constants
.
HashZero
],
},
deployer
:
{
chainId
:
Number
(
process
.
env
.
CHAIN_ID
),
url
:
process
.
env
.
L1_RPC
||
''
,
accounts
:
[
process
.
env
.
PRIVATE_KEY_DEPLOYER
||
ethers
.
constants
.
HashZero
],
live
:
process
.
env
.
VERIFY_CONTRACTS
===
'
true
'
,
},
'
mainnet-forked
'
:
{
chainId
:
1
,
url
:
process
.
env
.
L1_RPC
||
''
,
accounts
:
[
process
.
env
.
PRIVATE_KEY_DEPLOYER
||
ethers
.
constants
.
HashZero
],
live
:
false
,
},
'
goerli-forked
'
:
{
chainId
:
5
,
url
:
process
.
env
.
L1_RPC
||
''
,
accounts
:
[
process
.
env
.
PRIVATE_KEY_DEPLOYER
||
ethers
.
constants
.
HashZero
],
live
:
true
,
},
'
internal-devnet
'
:
{
chainId
:
5
,
url
:
process
.
env
.
L1_RPC
||
''
,
accounts
:
[
process
.
env
.
PRIVATE_KEY_DEPLOYER
||
ethers
.
constants
.
HashZero
],
live
:
true
,
},
'
getting-started
'
:
{
chainId
:
5
,
url
:
process
.
env
.
L1_RPC
||
''
,
accounts
:
[
process
.
env
.
PRIVATE_KEY_DEPLOYER
||
ethers
.
constants
.
HashZero
],
live
:
true
,
},
},
foundry
:
{
buildInfo
:
true
,
},
paths
:
{
deploy
:
'
./deploy
'
,
deployments
:
'
./deployments
'
,
deployConfig
:
'
./deploy-config
'
,
},
namedAccounts
:
{
deployer
:
{
default
:
0
,
},
},
deployConfigSpec
,
external
:
{
contracts
:
[
{
artifacts
:
'
../contracts/artifacts
'
,
},
],
deployments
:
{
goerli
:
[
'
../contracts/deployments/goerli
'
,
'
../contracts-periphery/deployments/goerli
'
,
],
mainnet
:
[
'
../contracts/deployments/mainnet
'
,
'
../contracts-periphery/deployments/mainnet
'
,
],
'
mainnet-forked
'
:
[
'
../contracts/deployments/mainnet
'
,
'
../contracts-periphery/deployments/mainnet
'
,
],
'
goerli-forked
'
:
[
'
../contracts/deployments/goerli
'
,
'
../contracts-periphery/deployments/goerli
'
,
],
},
},
solidity
:
{
compilers
:
[
{
version
:
'
0.8.15
'
,
settings
:
{
optimizer
:
{
enabled
:
true
,
runs
:
10
_000
},
},
},
{
version
:
'
0.5.17
'
,
// Required for WETH9
settings
:
{
optimizer
:
{
enabled
:
true
,
runs
:
10
_000
},
},
},
],
settings
:
{
metadata
:
{
bytecodeHash
:
process
.
env
.
FOUNDRY_PROFILE
===
'
echidna
'
?
'
ipfs
'
:
'
none
'
,
},
outputSelection
:
{
'
*
'
:
{
'
*
'
:
[
'
metadata
'
,
'
storageLayout
'
],
},
},
},
},
}
export
default
config
packages/contracts-bedrock/package.json
View file @
e3300c42
...
@@ -2,36 +2,28 @@
...
@@ -2,36 +2,28 @@
"name"
:
"@eth-optimism/contracts-bedrock"
,
"name"
:
"@eth-optimism/contracts-bedrock"
,
"version"
:
"0.15.0"
,
"version"
:
"0.15.0"
,
"description"
:
"Contracts for Optimism Specs"
,
"description"
:
"Contracts for Optimism Specs"
,
"main"
:
"dist/index"
,
"types"
:
"dist/index"
,
"license"
:
"MIT"
,
"license"
:
"MIT"
,
"files"
:
[
"files"
:
[
"dist/**/*.js"
,
"forge-artifacts/**/*.json"
,
"dist/**/*.d.ts"
,
"dist/types/**/*.ts"
,
"artifacts/contracts/**/*.json"
,
"deployments/**/*.json"
,
"deployments/**/*.json"
,
"contracts/**/*.sol"
"contracts/**/*.sol"
],
],
"scripts"
:
{
"scripts"
:
{
"bindings"
:
"cd ../../op-bindings && make"
,
"bindings"
:
"cd ../../op-bindings && make"
,
"build:with-metadata"
:
"FOUNDRY_PROFILE=echidna yarn build:forge"
,
"build:with-metadata"
:
"FOUNDRY_PROFILE=echidna yarn build:forge"
,
"build"
:
"npx nx build:
ts && npx nx typechain
"
,
"build"
:
"npx nx build:
contracts
"
,
"prebuild:contracts"
:
"./scripts/verify-foundry-install.sh"
,
"prebuild:contracts"
:
"./scripts/verify-foundry-install.sh"
,
"build:contracts"
:
"yarn build:
hardhat
"
,
"build:contracts"
:
"yarn build:
forge
"
,
"build:forge"
:
"forge build"
,
"build:forge"
:
"forge build"
,
"build:hardhat"
:
"hardhat compile"
,
"build:ts"
:
"tsc -p tsconfig.build.json"
,
"build:differential"
:
"go build -o ./scripts/differential-testing/differential-testing ./scripts/differential-testing"
,
"build:differential"
:
"go build -o ./scripts/differential-testing/differential-testing ./scripts/differential-testing"
,
"build:fuzz"
:
"(cd test-case-generator && go build ./cmd/fuzz.go)"
,
"build:fuzz"
:
"(cd test-case-generator && go build ./cmd/fuzz.go)"
,
"autogen:artifacts"
:
"ts-node scripts/generate-artifacts.ts"
,
"autogen:invariant-docs"
:
"ts-node scripts/invariant-doc-gen.ts"
,
"autogen:invariant-docs"
:
"ts-node scripts/invariant-doc-gen.ts"
,
"test"
:
"yarn build:differential && yarn build:fuzz && forge test"
,
"test"
:
"yarn build:differential && yarn build:fuzz && forge test"
,
"coverage"
:
"yarn build:differential && yarn build:fuzz && forge coverage"
,
"coverage"
:
"yarn build:differential && yarn build:fuzz && forge coverage"
,
"coverage:lcov"
:
"yarn build:differential && yarn build:fuzz && forge coverage --report lcov"
,
"coverage:lcov"
:
"yarn build:differential && yarn build:fuzz && forge coverage --report lcov"
,
"gas-snapshot"
:
"yarn build:differential && yarn build:fuzz && forge snapshot --no-match-test 'testDiff|testFuzz|invariant|generateArtifact'"
,
"gas-snapshot"
:
"yarn build:differential && yarn build:fuzz && forge snapshot --no-match-test 'testDiff|testFuzz|invariant|generateArtifact'"
,
"storage-snapshot"
:
"./scripts/storage-snapshot.sh"
,
"storage-snapshot"
:
"./scripts/storage-snapshot.sh"
,
"validate-deploy-configs"
:
"
hardhat compile && hardhat generate-deploy-config &&
./scripts/validate-deploy-configs.sh"
,
"validate-deploy-configs"
:
"./scripts/validate-deploy-configs.sh"
,
"validate-spacers"
:
"forge build && npx ts-node scripts/validate-spacers.ts"
,
"validate-spacers"
:
"forge build && npx ts-node scripts/validate-spacers.ts"
,
"slither"
:
"./scripts/slither.sh"
,
"slither"
:
"./scripts/slither.sh"
,
"slither:triage"
:
"TRIAGE_MODE=1 ./scripts/slither.sh"
,
"slither:triage"
:
"TRIAGE_MODE=1 ./scripts/slither.sh"
,
...
@@ -44,7 +36,6 @@
...
@@ -44,7 +36,6 @@
"lint:contracts:fix"
:
"yarn solhint --fix 'contracts/**/!(DisputeTypes).sol' && yarn prettier --write 'contracts/**/!(DisputeTypes).sol'"
,
"lint:contracts:fix"
:
"yarn solhint --fix 'contracts/**/!(DisputeTypes).sol' && yarn prettier --write 'contracts/**/!(DisputeTypes).sol'"
,
"lint:fix"
:
"yarn lint:contracts:fix && yarn lint:ts:fix"
,
"lint:fix"
:
"yarn lint:contracts:fix && yarn lint:ts:fix"
,
"lint"
:
"yarn lint:fix && yarn lint:check"
,
"lint"
:
"yarn lint:fix && yarn lint:check"
,
"typechain"
:
"typechain --target ethers-v5 --out-dir dist/types --glob 'artifacts/!(build-info)/**/+([a-zA-Z0-9_]).json'"
,
"echidna:aliasing"
:
"echidna-test --contract EchidnaFuzzAddressAliasing --config ./echidna.yaml ."
,
"echidna:aliasing"
:
"echidna-test --contract EchidnaFuzzAddressAliasing --config ./echidna.yaml ."
,
"echidna:burn:gas"
:
"echidna-test --contract EchidnaFuzzBurnGas --config ./echidna.yaml ."
,
"echidna:burn:gas"
:
"echidna-test --contract EchidnaFuzzBurnGas --config ./echidna.yaml ."
,
"echidna:burn:eth"
:
"echidna-test --contract EchidnaFuzzBurnEth --config ./echidna.yaml ."
,
"echidna:burn:eth"
:
"echidna-test --contract EchidnaFuzzBurnEth --config ./echidna.yaml ."
,
...
@@ -57,35 +48,19 @@
...
@@ -57,35 +48,19 @@
"@eth-optimism/core-utils"
:
"^0.12.1"
,
"@eth-optimism/core-utils"
:
"^0.12.1"
,
"@openzeppelin/contracts"
:
"4.7.3"
,
"@openzeppelin/contracts"
:
"4.7.3"
,
"@openzeppelin/contracts-upgradeable"
:
"4.7.3"
,
"@openzeppelin/contracts-upgradeable"
:
"4.7.3"
,
"@rari-capital/solmate"
:
"https://github.com/rari-capital/solmate.git#8f9b23f8838670afda0fd8983f2c41e8037ae6bc"
,
"clones-with-immutable-args"
:
"https://github.com/Saw-mon-and-Natalie/clones-with-immutable-args.git#105efee1b9127ed7f6fedf139e1fc796ce8791f2"
,
"ethers"
:
"^5.7.0"
"ethers"
:
"^5.7.0"
},
},
"devDependencies"
:
{
"devDependencies"
:
{
"@eth-optimism/hardhat-deploy-config"
:
"^0.2.6"
,
"@ethersproject/abstract-provider"
:
"^5.7.0"
,
"@ethersproject/abstract-signer"
:
"^5.7.0"
,
"ethereumjs-wallet"
:
"^1.0.2"
,
"@defi-wonderland/smock"
:
"^2.0.2"
,
"@foundry-rs/hardhat-forge"
:
"^0.1.17"
,
"@nomiclabs/hardhat-ethers"
:
"^2.0.0"
,
"@nomiclabs/hardhat-waffle"
:
"^2.0.0"
,
"@rari-capital/solmate"
:
"https://github.com/rari-capital/solmate.git#8f9b23f8838670afda0fd8983f2c41e8037ae6bc"
,
"clones-with-immutable-args"
:
"https://github.com/Saw-mon-and-Natalie/clones-with-immutable-args.git#105efee1b9127ed7f6fedf139e1fc796ce8791f2"
,
"@typechain/ethers-v5"
:
"^10.1.0"
,
"@typescript-eslint/eslint-plugin"
:
"^5.45.1"
,
"@typescript-eslint/eslint-plugin"
:
"^5.45.1"
,
"@typescript-eslint/parser"
:
"^5.45.1"
,
"@typescript-eslint/parser"
:
"^5.45.1"
,
"bip39"
:
"^3.0.4"
,
"chai"
:
"^4.2.0"
,
"dotenv"
:
"^16.0.0"
,
"ds-test"
:
"https://github.com/dapphub/ds-test.git#9310e879db8ba3ea6d5c6489a579118fd264a3f5"
,
"ds-test"
:
"https://github.com/dapphub/ds-test.git#9310e879db8ba3ea6d5c6489a579118fd264a3f5"
,
"ethereum-waffle"
:
"^3.0.0"
,
"forge-std"
:
"https://github.com/foundry-rs/forge-std.git#e8a047e3f40f13fa37af6fe14e6e06283d9a060e"
,
"forge-std"
:
"https://github.com/foundry-rs/forge-std.git#e8a047e3f40f13fa37af6fe14e6e06283d9a060e"
,
"glob"
:
"^7.1.6"
,
"glob"
:
"^7.1.6"
,
"hardhat"
:
"^2.9.6"
,
"hardhat-deploy"
:
"^0.11.4"
,
"solhint"
:
"^3.3.7"
,
"solhint"
:
"^3.3.7"
,
"solhint-plugin-prettier"
:
"^0.0.5"
,
"solhint-plugin-prettier"
:
"^0.0.5"
,
"ts-node"
:
"^10.9.1"
,
"ts-node"
:
"^10.9.1"
,
"typechain"
:
"^8.1.0"
,
"typescript"
:
"^4.9.3"
"typescript"
:
"^4.9.3"
}
}
}
}
packages/contracts-bedrock/src/contract-defs.ts
deleted
100644 → 0
View file @
ee058e41
import
{
ethers
}
from
'
ethers
'
/**
* Gets the hardhat artifact for the given contract name.
* Will throw an error if the contract artifact is not found.
*
* @param name Contract name.
* @returns The artifact for the given contract name.
*/
export
const
getContractDefinition
=
(
name
:
string
):
any
=>
{
// We import this using `require` because hardhat tries to build this file when compiling
// the contracts, but we need the contracts to be compiled before the contract-artifacts.ts
// file can be generated.
// eslint-disable-next-line @typescript-eslint/no-var-requires
const
{
getContractArtifact
}
=
require
(
'
./contract-artifacts
'
)
const
artifact
=
getContractArtifact
(
name
)
if
(
artifact
===
undefined
)
{
throw
new
Error
(
`Unable to find artifact for contract:
${
name
}
`
)
}
return
artifact
}
/**
* Gets an ethers Interface instance for the given contract name.
*
* @param name Contract name.
* @returns The interface for the given contract name.
*/
export
const
getContractInterface
=
(
name
:
string
):
ethers
.
utils
.
Interface
=>
{
const
definition
=
getContractDefinition
(
name
)
return
new
ethers
.
utils
.
Interface
(
definition
.
abi
)
}
/**
* Gets an ethers ContractFactory instance for the given contract name.
*
* @param name Contract name.
* @param signer The signer for the ContractFactory to use.
* @returns The contract factory for the given contract name.
*/
export
const
getContractFactory
=
(
name
:
string
,
signer
?:
ethers
.
Signer
):
ethers
.
ContractFactory
=>
{
const
definition
=
getContractDefinition
(
name
)
const
contractInterface
=
getContractInterface
(
name
)
return
new
ethers
.
ContractFactory
(
contractInterface
,
definition
.
bytecode
,
signer
)
}
packages/contracts-bedrock/src/index.ts
deleted
100644 → 0
View file @
ee058e41
export
*
from
'
./constants
'
export
*
from
'
./contract-defs
'
packages/contracts-bedrock/tasks/generate-deploy-config.ts
deleted
100644 → 0
View file @
ee058e41
import
fs
from
'
fs
'
import
path
from
'
path
'
import
{
task
}
from
'
hardhat/config
'
import
{
HardhatRuntimeEnvironment
}
from
'
hardhat/types
'
task
(
'
generate-deploy-config
'
,
'
generates a json config file for the current network
'
).
setAction
(
async
({},
hre
:
HardhatRuntimeEnvironment
)
=>
{
try
{
const
base
=
path
.
join
(
hre
.
config
.
paths
.
deployConfig
,
hre
.
network
.
name
)
if
(
fs
.
existsSync
(
`
${
base
}
.ts`
))
{
// eslint-disable-next-line @typescript-eslint/no-var-requires
const
config
=
require
(
`
${
base
}
.ts`
).
default
fs
.
writeFileSync
(
`
${
base
}
.json`
,
JSON
.
stringify
(
config
,
null
,
2
),
'
utf8
'
)
}
else
{
throw
new
Error
(
'
not found
'
)
}
}
catch
(
err
)
{
throw
new
Error
(
`error while loading deploy config for network:
${
hre
.
network
.
name
}
,
${
err
}
`
)
}
})
packages/contracts-bedrock/tasks/index.ts
deleted
100644 → 0
View file @
ee058e41
import
'
./solidity
'
import
'
./generate-deploy-config
'
packages/contracts-bedrock/tasks/solidity.ts
deleted
100644 → 0
View file @
ee058e41
import
{
subtask
}
from
'
hardhat/config
'
import
{
TASK_COMPILE_SOLIDITY_GET_SOURCE_PATHS
}
from
'
hardhat/builtin-tasks/task-names
'
subtask
(
TASK_COMPILE_SOLIDITY_GET_SOURCE_PATHS
).
setAction
(
async
(
_
,
__
,
runSuper
)
=>
{
const
paths
=
await
runSuper
()
return
paths
.
filter
((
p
:
string
)
=>
!
p
.
endsWith
(
'
.t.sol
'
))
}
)
packages/contracts-bedrock/tsconfig.json
View file @
e3300c42
...
@@ -4,10 +4,8 @@
...
@@ -4,10 +4,8 @@
"outDir"
:
"./dist"
"outDir"
:
"./dist"
},
},
"include"
:
[
"include"
:
[
"src/**/*"
,
"deploy-config/**/*"
,
"deploy-config/**/*"
,
"deploy-config/**/*.json"
,
"deploy-config/**/*.json"
,
"tasks/**/*"
,
"scripts/**/*"
"scripts/**/*"
]
]
}
}
packages/core-utils/package.json
View file @
e3300c42
...
@@ -32,6 +32,7 @@
...
@@ -32,6 +32,7 @@
"url"
:
"https://github.com/ethereum-optimism/optimism.git"
"url"
:
"https://github.com/ethereum-optimism/optimism.git"
},
},
"dependencies"
:
{
"dependencies"
:
{
"ethers"
:
"^5.7.0"
,
"@ethersproject/abi"
:
"^5.7.0"
,
"@ethersproject/abi"
:
"^5.7.0"
,
"@ethersproject/abstract-provider"
:
"^5.7.0"
,
"@ethersproject/abstract-provider"
:
"^5.7.0"
,
"@ethersproject/address"
:
"^5.7.0"
,
"@ethersproject/address"
:
"^5.7.0"
,
...
...
packages/co
ntracts-bedrock/src
/constants.ts
→
packages/co
re-utils/src/optimism
/constants.ts
View file @
e3300c42
File moved
packages/core-utils/src/optimism/index.ts
View file @
e3300c42
...
@@ -9,3 +9,4 @@ export * from './deposit-transaction'
...
@@ -9,3 +9,4 @@ export * from './deposit-transaction'
export
*
from
'
./encoding
'
export
*
from
'
./encoding
'
export
*
from
'
./hashing
'
export
*
from
'
./hashing
'
export
*
from
'
./op-provider
'
export
*
from
'
./op-provider
'
export
*
from
'
./constants
'
packages/sdk/src/adapters/standard-bridge.ts
View file @
e3300c42
...
@@ -13,8 +13,10 @@ import {
...
@@ -13,8 +13,10 @@ import {
BlockTag
,
BlockTag
,
}
from
'
@ethersproject/abstract-provider
'
}
from
'
@ethersproject/abstract-provider
'
import
{
predeploys
}
from
'
@eth-optimism/contracts
'
import
{
predeploys
}
from
'
@eth-optimism/contracts
'
import
{
getContractInterface
}
from
'
@eth-optimism/contracts-bedrock
'
import
{
hexStringEquals
}
from
'
@eth-optimism/core-utils
'
import
{
hexStringEquals
}
from
'
@eth-optimism/core-utils
'
import
l1StandardBridgeArtifact
from
'
@eth-optimism/contracts-bedrock/forge-artifacts/L1StandardBridge.sol/L1StandardBridge.json
'
import
l2StandardBridgeArtifact
from
'
@eth-optimism/contracts-bedrock/forge-artifacts/L2StandardBridge.sol/L2StandardBridge.json
'
import
optimismMintableERC20
from
'
@eth-optimism/contracts-bedrock/forge-artifacts/OptimismMintableERC20.sol/OptimismMintableERC20.json
'
import
{
CrossChainMessenger
}
from
'
../cross-chain-messenger
'
import
{
CrossChainMessenger
}
from
'
../cross-chain-messenger
'
import
{
import
{
...
@@ -50,12 +52,12 @@ export class StandardBridgeAdapter implements IBridgeAdapter {
...
@@ -50,12 +52,12 @@ export class StandardBridgeAdapter implements IBridgeAdapter {
this
.
messenger
=
opts
.
messenger
this
.
messenger
=
opts
.
messenger
this
.
l1Bridge
=
new
Contract
(
this
.
l1Bridge
=
new
Contract
(
toAddress
(
opts
.
l1Bridge
),
toAddress
(
opts
.
l1Bridge
),
getContractInterface
(
'
L1StandardBridge
'
)
,
l1StandardBridgeArtifact
.
abi
,
this
.
messenger
.
l1Provider
this
.
messenger
.
l1Provider
)
)
this
.
l2Bridge
=
new
Contract
(
this
.
l2Bridge
=
new
Contract
(
toAddress
(
opts
.
l2Bridge
),
toAddress
(
opts
.
l2Bridge
),
getContractInterface
(
'
L2StandardBridge
'
)
,
l2StandardBridgeArtifact
.
abi
,
this
.
messenger
.
l2Provider
this
.
messenger
.
l2Provider
)
)
}
}
...
@@ -157,7 +159,7 @@ export class StandardBridgeAdapter implements IBridgeAdapter {
...
@@ -157,7 +159,7 @@ export class StandardBridgeAdapter implements IBridgeAdapter {
try
{
try
{
const
contract
=
new
Contract
(
const
contract
=
new
Contract
(
toAddress
(
l2Token
),
toAddress
(
l2Token
),
getContractInterface
(
'
OptimismMintableERC20
'
)
,
optimismMintableERC20
.
abi
,
this
.
messenger
.
l2Provider
this
.
messenger
.
l2Provider
)
)
// Don't support ETH deposits or withdrawals via this bridge.
// Don't support ETH deposits or withdrawals via this bridge.
...
@@ -207,7 +209,7 @@ export class StandardBridgeAdapter implements IBridgeAdapter {
...
@@ -207,7 +209,7 @@ export class StandardBridgeAdapter implements IBridgeAdapter {
const
token
=
new
Contract
(
const
token
=
new
Contract
(
toAddress
(
l1Token
),
toAddress
(
l1Token
),
getContractInterface
(
'
OptimismMintableERC20
'
),
// Any ERC20 will do
optimismMintableERC20
.
abi
,
this
.
messenger
.
l1Provider
this
.
messenger
.
l1Provider
)
)
...
@@ -274,7 +276,7 @@ export class StandardBridgeAdapter implements IBridgeAdapter {
...
@@ -274,7 +276,7 @@ export class StandardBridgeAdapter implements IBridgeAdapter {
const
token
=
new
Contract
(
const
token
=
new
Contract
(
toAddress
(
l1Token
),
toAddress
(
l1Token
),
getContractInterface
(
'
OptimismMintableERC20
'
),
// Any ERC20 will do
optimismMintableERC20
.
abi
,
this
.
messenger
.
l1Provider
this
.
messenger
.
l1Provider
)
)
...
...
packages/sdk/src/utils/chain-constants.ts
View file @
e3300c42
import
{
import
{
predeploys
}
from
'
@eth-optimism/core-utils
'
predeploys
,
import
{
ethers
}
from
'
ethers
'
getDeployedContractDefinition
,
}
from
'
@eth-optimism/contracts
'
import
{
predeploys
as
bedrockPredeploys
}
from
'
@eth-optimism/contracts-bedrock
'
import
portalArtifactsMainnet
from
'
@eth-optimism/contracts-bedrock/deployments/mainnet/OptimismPortalProxy.json
'
import
portalArtifactsMainnet
from
'
@eth-optimism/contracts-bedrock/deployments/mainnet/OptimismPortalProxy.json
'
import
portalArtifactsGoerli
from
'
@eth-optimism/contracts-bedrock/deployments/goerli/OptimismPortalProxy.json
'
import
portalArtifactsGoerli
from
'
@eth-optimism/contracts-bedrock/deployments/goerli/OptimismPortalProxy.json
'
import
l2OutputOracleArtifactsMainnet
from
'
@eth-optimism/contracts-bedrock/deployments/mainnet/L2OutputOracleProxy.json
'
import
l2OutputOracleArtifactsMainnet
from
'
@eth-optimism/contracts-bedrock/deployments/mainnet/L2OutputOracleProxy.json
'
import
l2OutputOracleArtifactsGoerli
from
'
@eth-optimism/contracts-bedrock/deployments/goerli/L2OutputOracleProxy.json
'
import
l2OutputOracleArtifactsGoerli
from
'
@eth-optimism/contracts-bedrock/deployments/goerli/L2OutputOracleProxy.json
'
import
addressManagerArtifactMainnet
from
'
@eth-optimism/contracts-bedrock/deployments/mainnet/AddressManager.json
'
import
addressManagerArtifactGoerli
from
'
@eth-optimism/contracts-bedrock/deployments/goerli/AddressManager.json
'
import
l1StandardBridgeArtifactMainnet
from
'
@eth-optimism/contracts-bedrock/deployments/mainnet/L1StandardBridgeProxy.json
'
import
l1StandardBridgeArtifactGoerli
from
'
@eth-optimism/contracts-bedrock/deployments/goerli/L1StandardBridgeProxy.json
'
import
l1CrossDomainMessengerArtifactMainnet
from
'
@eth-optimism/contracts-bedrock/deployments/mainnet/L1CrossDomainMessengerProxy.json
'
import
l1CrossDomainMessengerArtifactGoerli
from
'
@eth-optimism/contracts-bedrock/deployments/goerli/L1CrossDomainMessengerProxy.json
'
const
portalAddresses
=
{
const
portalAddresses
=
{
mainnet
:
portalArtifactsMainnet
,
mainnet
:
portalArtifactsMainnet
.
address
,
goerli
:
portalArtifactsGoerli
,
goerli
:
portalArtifactsGoerli
.
address
,
}
}
const
l2OutputOracleAddresses
=
{
const
l2OutputOracleAddresses
=
{
mainnet
:
l2OutputOracleArtifactsMainnet
,
mainnet
:
l2OutputOracleArtifactsMainnet
.
address
,
goerli
:
l2OutputOracleArtifactsGoerli
,
goerli
:
l2OutputOracleArtifactsGoerli
.
address
,
}
const
addressManagerAddresses
=
{
mainnet
:
addressManagerArtifactMainnet
.
address
,
goerli
:
addressManagerArtifactGoerli
.
address
,
}
const
l1StandardBridgeAddresses
=
{
mainnet
:
l1StandardBridgeArtifactMainnet
.
address
,
goerli
:
l1StandardBridgeArtifactGoerli
.
address
,
}
const
l1CrossDomainMessengerAddresses
=
{
mainnet
:
l1CrossDomainMessengerArtifactMainnet
.
address
,
goerli
:
l1CrossDomainMessengerArtifactGoerli
.
address
,
}
// legacy
const
stateCommitmentChainAddresses
=
{
mainnet
:
'
0xBe5dAb4A2e9cd0F27300dB4aB94BeE3A233AEB19
'
,
goerli
:
'
0x9c945aC97Baf48cB784AbBB61399beB71aF7A378
'
,
}
// legacy
const
canonicalTransactionChainAddresses
=
{
mainnet
:
'
0x5E4e65926BA27467555EB562121fac00D24E9dD2
'
,
goerli
:
'
0x607F755149cFEB3a14E1Dc3A4E2450Cde7dfb04D
'
,
}
}
import
{
import
{
...
@@ -55,20 +85,19 @@ export const CHAIN_BLOCK_TIMES: {
...
@@ -55,20 +85,19 @@ export const CHAIN_BLOCK_TIMES: {
/**
/**
* Full list of default L2 contract addresses.
* Full list of default L2 contract addresses.
* TODO(tynes): migrate to predeploys from contracts-bedrock
*/
*/
export
const
DEFAULT_L2_CONTRACT_ADDRESSES
:
OEL2ContractsLike
=
{
export
const
DEFAULT_L2_CONTRACT_ADDRESSES
:
OEL2ContractsLike
=
{
L2CrossDomainMessenger
:
predeploys
.
L2CrossDomainMessenger
,
L2CrossDomainMessenger
:
predeploys
.
L2CrossDomainMessenger
,
L2ToL1MessagePasser
:
predeploys
.
OVM_
L2ToL1MessagePasser
,
L2ToL1MessagePasser
:
predeploys
.
L2ToL1MessagePasser
,
L2StandardBridge
:
predeploys
.
L2StandardBridge
,
L2StandardBridge
:
predeploys
.
L2StandardBridge
,
OVM_L1BlockNumber
:
predeploys
.
OVM_
L1BlockNumber
,
OVM_L1BlockNumber
:
predeploys
.
L1BlockNumber
,
OVM_L2ToL1MessagePasser
:
predeploys
.
OVM_
L2ToL1MessagePasser
,
OVM_L2ToL1MessagePasser
:
predeploys
.
L2ToL1MessagePasser
,
OVM_DeployerWhitelist
:
predeploys
.
OVM_
DeployerWhitelist
,
OVM_DeployerWhitelist
:
predeploys
.
DeployerWhitelist
,
OVM_ETH
:
predeploys
.
OVM_
ETH
,
OVM_ETH
:
predeploys
.
LegacyERC20
ETH
,
OVM_GasPriceOracle
:
predeploys
.
OVM_
GasPriceOracle
,
OVM_GasPriceOracle
:
predeploys
.
GasPriceOracle
,
OVM_SequencerFeeVault
:
predeploys
.
OVM_
SequencerFeeVault
,
OVM_SequencerFeeVault
:
predeploys
.
SequencerFeeVault
,
WETH
:
predeploys
.
WETH9
,
WETH
:
predeploys
.
WETH9
,
BedrockMessagePasser
:
bedrockP
redeploys
.
L2ToL1MessagePasser
,
BedrockMessagePasser
:
p
redeploys
.
L2ToL1MessagePasser
,
}
}
/**
/**
...
@@ -78,22 +107,15 @@ export const DEFAULT_L2_CONTRACT_ADDRESSES: OEL2ContractsLike = {
...
@@ -78,22 +107,15 @@ export const DEFAULT_L2_CONTRACT_ADDRESSES: OEL2ContractsLike = {
* @returns The L1 contracts for the given network.
* @returns The L1 contracts for the given network.
*/
*/
const
getL1ContractsByNetworkName
=
(
network
:
string
):
OEL1ContractsLike
=>
{
const
getL1ContractsByNetworkName
=
(
network
:
string
):
OEL1ContractsLike
=>
{
// TODO this doesn't code split and makes the sdk artifacts way too big
const
getDeployedAddress
=
(
name
:
string
)
=>
{
return
getDeployedContractDefinition
(
name
,
network
).
address
}
return
{
return
{
AddressManager
:
getDeployedAddress
(
'
Lib_AddressManager
'
),
AddressManager
:
addressManagerAddresses
[
network
],
L1CrossDomainMessenger
:
getDeployedAddress
(
L1CrossDomainMessenger
:
l1CrossDomainMessengerAddresses
[
network
],
'
Proxy__OVM_L1CrossDomainMessenger
'
L1StandardBridge
:
l1StandardBridgeAddresses
[
network
],
),
StateCommitmentChain
:
stateCommitmentChainAddresses
[
network
],
L1StandardBridge
:
getDeployedAddress
(
'
Proxy__OVM_L1StandardBridge
'
),
CanonicalTransactionChain
:
canonicalTransactionChainAddresses
[
network
],
StateCommitmentChain
:
getDeployedAddress
(
'
StateCommitmentChain
'
),
BondManager
:
ethers
.
constants
.
AddressZero
,
CanonicalTransactionChain
:
getDeployedAddress
(
'
CanonicalTransactionChain
'
),
OptimismPortal
:
portalAddresses
[
network
],
BondManager
:
getDeployedAddress
(
'
BondManager
'
),
L2OutputOracle
:
l2OutputOracleAddresses
[
network
],
OptimismPortal
:
portalAddresses
[
network
].
address
,
L2OutputOracle
:
l2OutputOracleAddresses
[
network
].
address
,
}
}
}
}
...
...
packages/sdk/src/utils/contracts.ts
View file @
e3300c42
import
{
getContractInterface
,
predeploys
}
from
'
@eth-optimism/contracts
'
import
{
getContractInterface
,
predeploys
}
from
'
@eth-optimism/contracts
'
import
{
getContractInterface
as
getContractInterfaceBedrock
}
from
'
@eth-optimism/contracts-bedrock
'
import
{
ethers
,
Contract
}
from
'
ethers
'
import
{
ethers
,
Contract
}
from
'
ethers
'
import
l1StandardBridge
from
'
@eth-optimism/contracts-bedrock/forge-artifacts/L1StandardBridge.sol/L1StandardBridge.json
'
import
l2StandardBridge
from
'
@eth-optimism/contracts-bedrock/forge-artifacts/L2StandardBridge.sol/L2StandardBridge.json
'
import
optimismMintableERC20
from
'
@eth-optimism/contracts-bedrock/forge-artifacts/OptimismMintableERC20.sol/OptimismMintableERC20.json
'
import
optimismPortal
from
'
@eth-optimism/contracts-bedrock/forge-artifacts/OptimismPortal.sol/OptimismPortal.json
'
import
l1CrossDomainMessenger
from
'
@eth-optimism/contracts-bedrock/forge-artifacts/L1CrossDomainMessenger.sol/L1CrossDomainMessenger.json
'
import
l2CrossDomainMessenger
from
'
@eth-optimism/contracts-bedrock/forge-artifacts/L2CrossDomainMessenger.sol/L2CrossDomainMessenger.json
'
import
optimismMintableERC20Factory
from
'
@eth-optimism/contracts-bedrock/forge-artifacts/OptimismMintableERC20Factory.sol/OptimismMintableERC20Factory.json
'
import
proxyAdmin
from
'
@eth-optimism/contracts-bedrock/forge-artifacts/ProxyAdmin.sol/ProxyAdmin.json
'
import
l2OutputOracle
from
'
@eth-optimism/contracts-bedrock/forge-artifacts/L2OutputOracle.sol/L2OutputOracle.json
'
import
l1ERC721Bridge
from
'
@eth-optimism/contracts-bedrock/forge-artifacts/L1ERC721Bridge.sol/L1ERC721Bridge.json
'
import
l2ERC721Bridge
from
'
@eth-optimism/contracts-bedrock/forge-artifacts/L2ERC721Bridge.sol/L2ERC721Bridge.json
'
import
l1Block
from
'
@eth-optimism/contracts-bedrock/forge-artifacts/L1Block.sol/L1Block.json
'
import
l2ToL1MessagePasser
from
'
@eth-optimism/contracts-bedrock/forge-artifacts/L2ToL1MessagePasser.sol/L2ToL1MessagePasser.json
'
import
gasPriceOracle
from
'
@eth-optimism/contracts-bedrock/forge-artifacts/GasPriceOracle.sol/GasPriceOracle.json
'
import
{
toAddress
}
from
'
./coercion
'
import
{
toAddress
}
from
'
./coercion
'
import
{
DeepPartial
}
from
'
./type-utils
'
import
{
DeepPartial
}
from
'
./type-utils
'
...
@@ -32,6 +45,59 @@ const NAME_REMAPPING = {
...
@@ -32,6 +45,59 @@ const NAME_REMAPPING = {
BedrockMessagePasser
:
'
L2ToL1MessagePasser
'
as
const
,
BedrockMessagePasser
:
'
L2ToL1MessagePasser
'
as
const
,
}
}
const
getContractInterfaceBedrock
=
(
name
:
string
):
ethers
.
utils
.
Interface
=>
{
let
artifact
:
any
=
''
switch
(
name
)
{
case
'
Lib_AddressManager
'
:
case
'
AddressManager
'
:
artifact
=
''
break
case
'
L1CrossDomainMessenger
'
:
artifact
=
l1CrossDomainMessenger
break
case
'
L1ERC721Bridge
'
:
artifact
=
l1ERC721Bridge
break
case
'
L2OutputOracle
'
:
artifact
=
l2OutputOracle
break
case
'
OptimismMintableERC20Factory
'
:
artifact
=
optimismMintableERC20Factory
break
case
'
ProxyAdmin
'
:
artifact
=
proxyAdmin
break
case
'
L1StandardBridge
'
:
artifact
=
l1StandardBridge
break
case
'
L2StandardBridge
'
:
artifact
=
l2StandardBridge
break
case
'
OptimismPortal
'
:
artifact
=
optimismPortal
break
case
'
L2CrossDomainMessenger
'
:
artifact
=
l2CrossDomainMessenger
break
case
'
OptimismMintableERC20
'
:
artifact
=
optimismMintableERC20
break
case
'
L2ERC721Bridge
'
:
artifact
=
l2ERC721Bridge
break
case
'
L1Block
'
:
artifact
=
l1Block
break
case
'
L2ToL1MessagePasser
'
:
artifact
=
l2ToL1MessagePasser
break
case
'
GasPriceOracle
'
:
artifact
=
gasPriceOracle
break
}
return
new
ethers
.
utils
.
Interface
(
artifact
.
abi
)
}
/**
/**
* Returns an ethers.Contract object for the given name, connected to the appropriate address for
* Returns an ethers.Contract object for the given name, connected to the appropriate address for
* the given L2 chain ID. Users can also provide a custom address to connect the contract to
* the given L2 chain ID. Users can also provide a custom address to connect the contract to
...
...
packages/sdk/tasks/deposit-erc20.ts
View file @
e3300c42
...
@@ -5,11 +5,16 @@ import { HardhatRuntimeEnvironment } from 'hardhat/types'
...
@@ -5,11 +5,16 @@ import { HardhatRuntimeEnvironment } from 'hardhat/types'
import
'
@nomiclabs/hardhat-ethers
'
import
'
@nomiclabs/hardhat-ethers
'
import
'
hardhat-deploy
'
import
'
hardhat-deploy
'
import
{
Event
,
Contract
,
Wallet
,
providers
,
utils
}
from
'
ethers
'
import
{
Event
,
Contract
,
Wallet
,
providers
,
utils
}
from
'
ethers
'
import
{
import
{
predeploys
,
sleep
}
from
'
@eth-optimism/core-utils
'
predeploys
,
import
Artifact__WETH9
from
'
@eth-optimism/contracts-bedrock/forge-artifacts/WETH9.sol/WETH9.json
'
getContractDefinition
,
import
Artifact__OptimismMintableERC20TokenFactory
from
'
@eth-optimism/contracts-bedrock/forge-artifacts/OptimismMintableERC20Factory.sol/OptimismMintableERC20Factory.json
'
}
from
'
@eth-optimism/contracts-bedrock
'
import
Artifact__OptimismMintableERC20Token
from
'
@eth-optimism/contracts-bedrock/forge-artifacts/OptimismMintableERC20.sol/OptimismMintableERC20.json
'
import
{
sleep
}
from
'
@eth-optimism/core-utils
'
import
Artifact__L2ToL1MessagePasser
from
'
@eth-optimism/contracts-bedrock/forge-artifacts/L2ToL1MessagePasser.sol/L2ToL1MessagePasser.json
'
import
Artifact__L2CrossDomainMessenger
from
'
@eth-optimism/contracts-bedrock/forge-artifacts/L2CrossDomainMessenger.sol/L2CrossDomainMessenger.json
'
import
Artifact__L2StandardBridge
from
'
@eth-optimism/contracts-bedrock/forge-artifacts/L2StandardBridge.sol/L2StandardBridge.json
'
import
Artifact__OptimismPortal
from
'
@eth-optimism/contracts-bedrock/forge-artifacts/OptimismPortal.sol/OptimismPortal.json
'
import
Artifact__L1CrossDomainMessenger
from
'
@eth-optimism/contracts-bedrock/forge-artifacts/L1CrossDomainMessenger.sol/L1CrossDomainMessenger.json
'
import
Artifact__L1StandardBridge
from
'
@eth-optimism/contracts-bedrock/forge-artifacts/L1StandardBridge.sol/L1StandardBridge.json
'
import
{
import
{
CrossChainMessenger
,
CrossChainMessenger
,
...
@@ -26,10 +31,9 @@ const deployWETH9 = async (
...
@@ -26,10 +31,9 @@ const deployWETH9 = async (
const
signers
=
await
hre
.
ethers
.
getSigners
()
const
signers
=
await
hre
.
ethers
.
getSigners
()
const
signer
=
signers
[
0
]
const
signer
=
signers
[
0
]
const
Artifact__WETH9
=
await
getContractDefinition
(
'
WETH9
'
)
const
Factory__WETH9
=
new
hre
.
ethers
.
ContractFactory
(
const
Factory__WETH9
=
new
hre
.
ethers
.
ContractFactory
(
Artifact__WETH9
.
abi
,
Artifact__WETH9
.
abi
,
Artifact__WETH9
.
bytecode
,
Artifact__WETH9
.
bytecode
.
object
,
signer
signer
)
)
...
@@ -54,13 +58,6 @@ const createOptimismMintableERC20 = async (
...
@@ -54,13 +58,6 @@ const createOptimismMintableERC20 = async (
L1ERC20
:
Contract
,
L1ERC20
:
Contract
,
l2Signer
:
Wallet
l2Signer
:
Wallet
):
Promise
<
Contract
>
=>
{
):
Promise
<
Contract
>
=>
{
const
Artifact__OptimismMintableERC20Token
=
await
getContractDefinition
(
'
OptimismMintableERC20
'
)
const
Artifact__OptimismMintableERC20TokenFactory
=
await
getContractDefinition
(
'
OptimismMintableERC20Factory
'
)
const
OptimismMintableERC20TokenFactory
=
new
Contract
(
const
OptimismMintableERC20TokenFactory
=
new
Contract
(
predeploys
.
OptimismMintableERC20Factory
,
predeploys
.
OptimismMintableERC20Factory
,
Artifact__OptimismMintableERC20TokenFactory
.
abi
,
Artifact__OptimismMintableERC20TokenFactory
.
abi
,
...
@@ -153,30 +150,6 @@ task('deposit-erc20', 'Deposits WETH9 onto L2.')
...
@@ -153,30 +150,6 @@ task('deposit-erc20', 'Deposits WETH9 onto L2.')
}
as
OEContractsLike
}
as
OEContractsLike
}
}
const
Artifact__L2ToL1MessagePasser
=
await
getContractDefinition
(
'
L2ToL1MessagePasser
'
)
const
Artifact__L2CrossDomainMessenger
=
await
getContractDefinition
(
'
L2CrossDomainMessenger
'
)
const
Artifact__L2StandardBridge
=
await
getContractDefinition
(
'
L2StandardBridge
'
)
const
Artifact__OptimismPortal
=
await
getContractDefinition
(
'
OptimismPortal
'
)
const
Artifact__L1CrossDomainMessenger
=
await
getContractDefinition
(
'
L1CrossDomainMessenger
'
)
const
Artifact__L1StandardBridge
=
await
getContractDefinition
(
'
L1StandardBridge
'
)
const
OptimismPortal
=
new
hre
.
ethers
.
Contract
(
const
OptimismPortal
=
new
hre
.
ethers
.
Contract
(
contractAddrs
.
l1
.
OptimismPortal
,
contractAddrs
.
l1
.
OptimismPortal
,
Artifact__OptimismPortal
.
abi
,
Artifact__OptimismPortal
.
abi
,
...
...
packages/sdk/tasks/deposit-eth.ts
View file @
e3300c42
...
@@ -4,11 +4,14 @@ import { task, types } from 'hardhat/config'
...
@@ -4,11 +4,14 @@ import { task, types } from 'hardhat/config'
import
'
@nomiclabs/hardhat-ethers
'
import
'
@nomiclabs/hardhat-ethers
'
import
'
hardhat-deploy
'
import
'
hardhat-deploy
'
import
{
Deployment
}
from
'
hardhat-deploy/types
'
import
{
Deployment
}
from
'
hardhat-deploy/types
'
import
{
import
{
predeploys
}
from
'
@eth-optimism/core-utils
'
predeploys
,
getContractDefinition
,
}
from
'
@eth-optimism/contracts-bedrock
'
import
{
providers
,
utils
,
ethers
}
from
'
ethers
'
import
{
providers
,
utils
,
ethers
}
from
'
ethers
'
import
Artifact__L2ToL1MessagePasser
from
'
@eth-optimism/contracts-bedrock/forge-artifacts/L2ToL1MessagePasser.sol/L2ToL1MessagePasser.json
'
import
Artifact__L2CrossDomainMessenger
from
'
@eth-optimism/contracts-bedrock/forge-artifacts/L2CrossDomainMessenger.sol/L2CrossDomainMessenger.json
'
import
Artifact__L2StandardBridge
from
'
@eth-optimism/contracts-bedrock/forge-artifacts/L2StandardBridge.sol/L2StandardBridge.json
'
import
Artifact__OptimismPortal
from
'
@eth-optimism/contracts-bedrock/forge-artifacts/OptimismPortal.sol/OptimismPortal.json
'
import
Artifact__L1CrossDomainMessenger
from
'
@eth-optimism/contracts-bedrock/forge-artifacts/L1CrossDomainMessenger.sol/L1CrossDomainMessenger.json
'
import
Artifact__L1StandardBridge
from
'
@eth-optimism/contracts-bedrock/forge-artifacts/L1StandardBridge.sol/L1StandardBridge.json
'
import
{
import
{
CrossChainMessenger
,
CrossChainMessenger
,
...
@@ -142,30 +145,6 @@ task('deposit-eth', 'Deposits ether to L2.')
...
@@ -142,30 +145,6 @@ task('deposit-eth', 'Deposits ether to L2.')
}
}
}
}
const
Artifact__L2ToL1MessagePasser
=
await
getContractDefinition
(
'
L2ToL1MessagePasser
'
)
const
Artifact__L2CrossDomainMessenger
=
await
getContractDefinition
(
'
L2CrossDomainMessenger
'
)
const
Artifact__L2StandardBridge
=
await
getContractDefinition
(
'
L2StandardBridge
'
)
const
Artifact__OptimismPortal
=
await
getContractDefinition
(
'
OptimismPortal
'
)
const
Artifact__L1CrossDomainMessenger
=
await
getContractDefinition
(
'
L1CrossDomainMessenger
'
)
const
Artifact__L1StandardBridge
=
await
getContractDefinition
(
'
L1StandardBridge
'
)
const
OptimismPortal
=
new
hre
.
ethers
.
Contract
(
const
OptimismPortal
=
new
hre
.
ethers
.
Contract
(
contractAddrs
.
l1
.
OptimismPortal
,
contractAddrs
.
l1
.
OptimismPortal
,
Artifact__OptimismPortal
.
abi
,
Artifact__OptimismPortal
.
abi
,
...
...
packages/sdk/tasks/finalize-withdrawal.ts
View file @
e3300c42
import
{
task
,
types
}
from
'
hardhat/config
'
import
{
task
,
types
}
from
'
hardhat/config
'
import
{
HardhatRuntimeEnvironment
}
from
'
hardhat/types
'
import
{
HardhatRuntimeEnvironment
}
from
'
hardhat/types
'
import
{
Wallet
,
providers
}
from
'
ethers
'
import
{
Wallet
,
providers
}
from
'
ethers
'
import
{
predeploys
}
from
'
@eth-optimism/co
ntracts-bedrock
'
import
{
predeploys
}
from
'
@eth-optimism/co
re-utils
'
import
'
hardhat-deploy
'
import
'
hardhat-deploy
'
import
'
@nomiclabs/hardhat-ethers
'
import
'
@nomiclabs/hardhat-ethers
'
...
...
yarn.lock
View file @
e3300c42
...
@@ -562,17 +562,6 @@
...
@@ -562,17 +562,6 @@
dependencies:
dependencies:
"@jridgewell/trace-mapping" "0.3.9"
"@jridgewell/trace-mapping" "0.3.9"
"@defi-wonderland/smock@^2.0.2":
version "2.0.2"
resolved "https://registry.yarnpkg.com/@defi-wonderland/smock/-/smock-2.0.2.tgz#0be863a61420fb162190c9be8798befada179f30"
integrity sha512-nZtnUftPkMmFedqDzBqQrZWX+6Q3fK5MNMK3R6mLTg8Ig087A7ifs1KH9vGGpZ3p9RdgC+scUy9KfDASp2SKxg==
dependencies:
diff "^5.0.0"
lodash.isequal "^4.5.0"
lodash.isequalwith "^4.4.0"
rxjs "^7.2.0"
semver "^7.3.5"
"@defi-wonderland/smock@^2.0.7":
"@defi-wonderland/smock@^2.0.7":
version "2.0.7"
version "2.0.7"
resolved "https://registry.yarnpkg.com/@defi-wonderland/smock/-/smock-2.0.7.tgz#59d5fc93e175ad120c5dcdd8294e07525606c855"
resolved "https://registry.yarnpkg.com/@defi-wonderland/smock/-/smock-2.0.7.tgz#59d5fc93e175ad120c5dcdd8294e07525606c855"
...
@@ -2135,32 +2124,6 @@
...
@@ -2135,32 +2124,6 @@
"@ethersproject/properties" "^5.7.0"
"@ethersproject/properties" "^5.7.0"
"@ethersproject/strings" "^5.7.0"
"@ethersproject/strings" "^5.7.0"
"@foundry-rs/easy-foundryup@^0.1.3":
version "0.1.3"
resolved "https://registry.yarnpkg.com/@foundry-rs/easy-foundryup/-/easy-foundryup-0.1.3.tgz#f5281aff6b3a98f277bdafcb4330e71f80979ed4"
integrity sha512-Funb4hrSBeikKCmccFT/d3Ud5o92tlIZHTJeMCVk5b54/+CHZHr4g7MmtvO5xrGhxrOebQ0L+ojIj+VixgW7ug==
dependencies:
command-exists "^1.2.9"
ts-interface-checker "^0.1.9"
"@foundry-rs/hardhat-forge@^0.1.17":
version "0.1.17"
resolved "https://registry.yarnpkg.com/@foundry-rs/hardhat-forge/-/hardhat-forge-0.1.17.tgz#8f59fdb0189e6b89c6dd5644e543ae4e33e0d0f5"
integrity sha512-2wxzxA12CQmT11PH/KigyVTNm/4vzsVtzVZow6gwCbC41fTyf73a5qbggHZFRR74JXfmvVSkX1BJitTmdzQvxw==
dependencies:
"@foundry-rs/easy-foundryup" "^0.1.3"
"@nomiclabs/hardhat-ethers" "^2.0.0"
"@nomiclabs/hardhat-waffle" "^2.0.0"
"@types/sinon-chai" "^3.2.3"
"@types/web3" "1.0.19"
camelcase-keys "7.0.2"
debug "^4.1.1"
ethers "^5.0.0"
fs-extra "^10.1.0"
glob "^7.1.3"
"true-case-path" "^2.2.1"
ts-interface-checker "^0.1.9"
"@humanwhocodes/config-array@^0.9.2":
"@humanwhocodes/config-array@^0.9.2":
version "0.9.5"
version "0.9.5"
resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.5.tgz#2cbaf9a89460da24b5ca6531b8bbfc23e1df50c7"
resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.5.tgz#2cbaf9a89460da24b5ca6531b8bbfc23e1df50c7"
...
@@ -2419,16 +2382,16 @@
...
@@ -2419,16 +2382,16 @@
safe-buffer "^5.1.1"
safe-buffer "^5.1.1"
util.promisify "^1.0.0"
util.promisify "^1.0.0"
"@nomiclabs/hardhat-ethers@^2.0.0", "@nomiclabs/hardhat-ethers@^2.0.6":
version "2.0.6"
resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-ethers/-/hardhat-ethers-2.0.6.tgz#1c695263d5b46a375dcda48c248c4fba9dfe2fc2"
integrity sha512-q2Cjp20IB48rEn2NPjR1qxsIQBvFVYW9rFRCFq+bC4RUrn1Ljz3g4wM8uSlgIBZYBi2JMXxmOzFqHraczxq4Ng==
"@nomiclabs/hardhat-ethers@^2.0.2":
"@nomiclabs/hardhat-ethers@^2.0.2":
version "2.0.2"
version "2.0.2"
resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-ethers/-/hardhat-ethers-2.0.2.tgz#c472abcba0c5185aaa4ad4070146e95213c68511"
resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-ethers/-/hardhat-ethers-2.0.2.tgz#c472abcba0c5185aaa4ad4070146e95213c68511"
integrity sha512-6quxWe8wwS4X5v3Au8q1jOvXYEPkS1Fh+cME5u6AwNdnI4uERvPlVjlgRWzpnb+Rrt1l/cEqiNRH9GlsBMSDQg==
integrity sha512-6quxWe8wwS4X5v3Au8q1jOvXYEPkS1Fh+cME5u6AwNdnI4uERvPlVjlgRWzpnb+Rrt1l/cEqiNRH9GlsBMSDQg==
"@nomiclabs/hardhat-ethers@^2.0.6":
version "2.0.6"
resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-ethers/-/hardhat-ethers-2.0.6.tgz#1c695263d5b46a375dcda48c248c4fba9dfe2fc2"
integrity sha512-q2Cjp20IB48rEn2NPjR1qxsIQBvFVYW9rFRCFq+bC4RUrn1Ljz3g4wM8uSlgIBZYBi2JMXxmOzFqHraczxq4Ng==
"@nomiclabs/hardhat-etherscan@^3.0.3":
"@nomiclabs/hardhat-etherscan@^3.0.3":
version "3.0.3"
version "3.0.3"
resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-etherscan/-/hardhat-etherscan-3.0.3.tgz#ca54a03351f3de41f9f5240e37bea9d64fa24e64"
resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-etherscan/-/hardhat-etherscan-3.0.3.tgz#ca54a03351f3de41f9f5240e37bea9d64fa24e64"
...
@@ -2442,14 +2405,6 @@
...
@@ -2442,14 +2405,6 @@
semver "^6.3.0"
semver "^6.3.0"
undici "^4.14.1"
undici "^4.14.1"
"@nomiclabs/hardhat-waffle@^2.0.0", "@nomiclabs/hardhat-waffle@^2.0.3":
version "2.0.3"
resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-waffle/-/hardhat-waffle-2.0.3.tgz#9c538a09c5ed89f68f5fd2dc3f78f16ed1d6e0b1"
integrity sha512-049PHSnI1CZq6+XTbrMbMv5NaL7cednTfPenx02k3cEh8wBMLa6ys++dBETJa6JjfwgA9nBhhHQ173LJv6k2Pg==
dependencies:
"@types/sinon-chai" "^3.2.3"
"@types/web3" "1.0.19"
"@nomiclabs/hardhat-waffle@^2.0.1":
"@nomiclabs/hardhat-waffle@^2.0.1":
version "2.0.1"
version "2.0.1"
resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-waffle/-/hardhat-waffle-2.0.1.tgz#5d43654fba780720c5033dea240fe14f70ef4bd2"
resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-waffle/-/hardhat-waffle-2.0.1.tgz#5d43654fba780720c5033dea240fe14f70ef4bd2"
...
@@ -2458,6 +2413,14 @@
...
@@ -2458,6 +2413,14 @@
"@types/sinon-chai" "^3.2.3"
"@types/sinon-chai" "^3.2.3"
"@types/web3" "1.0.19"
"@types/web3" "1.0.19"
"@nomiclabs/hardhat-waffle@^2.0.3":
version "2.0.3"
resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-waffle/-/hardhat-waffle-2.0.3.tgz#9c538a09c5ed89f68f5fd2dc3f78f16ed1d6e0b1"
integrity sha512-049PHSnI1CZq6+XTbrMbMv5NaL7cednTfPenx02k3cEh8wBMLa6ys++dBETJa6JjfwgA9nBhhHQ173LJv6k2Pg==
dependencies:
"@types/sinon-chai" "^3.2.3"
"@types/web3" "1.0.19"
"@nrwl/cli@15.6.0":
"@nrwl/cli@15.6.0":
version "15.6.0"
version "15.6.0"
resolved "https://registry.yarnpkg.com/@nrwl/cli/-/cli-15.6.0.tgz#c6e2856b17170973084bc103d70fdb6b18b950b4"
resolved "https://registry.yarnpkg.com/@nrwl/cli/-/cli-15.6.0.tgz#c6e2856b17170973084bc103d70fdb6b18b950b4"
...
@@ -3049,11 +3012,6 @@
...
@@ -3049,11 +3012,6 @@
resolved "https://registry.yarnpkg.com/@types/node/-/node-16.7.1.tgz#c6b9198178da504dfca1fd0be9b2e1002f1586f0"
resolved "https://registry.yarnpkg.com/@types/node/-/node-16.7.1.tgz#c6b9198178da504dfca1fd0be9b2e1002f1586f0"
integrity sha512-ncRdc45SoYJ2H4eWU9ReDfp3vtFqDYhjOsKlFFUDEn8V1Bgr2RjYal8YT5byfadWIRluhPFU6JiDOl0H6Sl87A==
integrity sha512-ncRdc45SoYJ2H4eWU9ReDfp3vtFqDYhjOsKlFFUDEn8V1Bgr2RjYal8YT5byfadWIRluhPFU6JiDOl0H6Sl87A==
"@types/node@11.11.6":
version "11.11.6"
resolved "https://registry.yarnpkg.com/@types/node/-/node-11.11.6.tgz#df929d1bb2eee5afdda598a41930fe50b43eaa6a"
integrity sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ==
"@types/node@^10.0.3":
"@types/node@^10.0.3":
version "10.17.60"
version "10.17.60"
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.60.tgz#35f3d6213daed95da7f0f73e75bcc6980e90597b"
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.60.tgz#35f3d6213daed95da7f0f73e75bcc6980e90597b"
...
@@ -3544,7 +3502,7 @@ aes-js@3.0.0:
...
@@ -3544,7 +3502,7 @@ aes-js@3.0.0:
resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d"
resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d"
integrity sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0=
integrity sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0=
aes-js@^3.1.1
, aes-js@^3.1.2
:
aes-js@^3.1.1:
version "3.1.2"
version "3.1.2"
resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.1.2.tgz#db9aabde85d5caabbfc0d4f2a4446960f627146a"
resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.1.2.tgz#db9aabde85d5caabbfc0d4f2a4446960f627146a"
integrity sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ==
integrity sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ==
...
@@ -4653,16 +4611,6 @@ bip39@2.5.0:
...
@@ -4653,16 +4611,6 @@ bip39@2.5.0:
safe-buffer "^5.0.1"
safe-buffer "^5.0.1"
unorm "^1.3.3"
unorm "^1.3.3"
bip39@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/bip39/-/bip39-3.0.4.tgz#5b11fed966840b5e1b8539f0f54ab6392969b2a0"
integrity sha512-YZKQlb752TrUWqHWj7XAwCSjYEgGAk+/Aas3V7NyjQeZYsztO8JnQUaCWhcnL4T+jL8nvB8typ2jRPzTlgugNw==
dependencies:
"@types/node" "11.11.6"
create-hash "^1.1.0"
pbkdf2 "^3.0.9"
randombytes "^2.0.1"
bl@^4.0.3:
bl@^4.0.3:
version "4.1.0"
version "4.1.0"
resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a"
resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a"
...
@@ -5045,16 +4993,6 @@ callsites@^3.0.0:
...
@@ -5045,16 +4993,6 @@ callsites@^3.0.0:
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
camelcase-keys@7.0.2:
version "7.0.2"
resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-7.0.2.tgz#d048d8c69448745bb0de6fc4c1c52a30dfbe7252"
integrity sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==
dependencies:
camelcase "^6.3.0"
map-obj "^4.1.0"
quick-lru "^5.1.1"
type-fest "^1.2.1"
camelcase-keys@^6.2.2:
camelcase-keys@^6.2.2:
version "6.2.2"
version "6.2.2"
resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0"
resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0"
...
@@ -5079,7 +5017,7 @@ camelcase@^6.0.0:
...
@@ -5079,7 +5017,7 @@ camelcase@^6.0.0:
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809"
integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==
integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==
camelcase@^6.2.0
, camelcase@^6.3.0
:
camelcase@^6.2.0:
version "6.3.0"
version "6.3.0"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a"
integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
...
@@ -5546,7 +5484,7 @@ combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6:
...
@@ -5546,7 +5484,7 @@ combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6:
dependencies:
dependencies:
delayed-stream "~1.0.0"
delayed-stream "~1.0.0"
command-exists@^1.2.8
, command-exists@^1.2.9
:
command-exists@^1.2.8:
version "1.2.9"
version "1.2.9"
resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.9.tgz#c50725af3808c8ab0260fd60b01fbfa25b954f69"
resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.9.tgz#c50725af3808c8ab0260fd60b01fbfa25b954f69"
integrity sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==
integrity sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==
...
@@ -7397,17 +7335,6 @@ ethereum-cryptography@^1.0.3:
...
@@ -7397,17 +7335,6 @@ ethereum-cryptography@^1.0.3:
"@scure/bip32" "1.0.1"
"@scure/bip32" "1.0.1"
"@scure/bip39" "1.0.0"
"@scure/bip39" "1.0.0"
ethereum-waffle@^3.0.0, ethereum-waffle@^3.4.4:
version "3.4.4"
resolved "https://registry.yarnpkg.com/ethereum-waffle/-/ethereum-waffle-3.4.4.tgz#1378b72040697857b7f5e8f473ca8f97a37b5840"
integrity sha512-PA9+jCjw4WC3Oc5ocSMBj5sXvueWQeAbvCA+hUlb6oFgwwKyq5ka3bWQ7QZcjzIX+TdFkxP4IbFmoY2D8Dkj9Q==
dependencies:
"@ethereum-waffle/chai" "^3.4.4"
"@ethereum-waffle/compiler" "^3.4.4"
"@ethereum-waffle/mock-contract" "^3.4.4"
"@ethereum-waffle/provider" "^3.4.4"
ethers "^5.0.1"
ethereum-waffle@^3.4.0:
ethereum-waffle@^3.4.0:
version "3.4.0"
version "3.4.0"
resolved "https://registry.yarnpkg.com/ethereum-waffle/-/ethereum-waffle-3.4.0.tgz#990b3c6c26db9c2dd943bf26750a496f60c04720"
resolved "https://registry.yarnpkg.com/ethereum-waffle/-/ethereum-waffle-3.4.0.tgz#990b3c6c26db9c2dd943bf26750a496f60c04720"
...
@@ -7419,6 +7346,17 @@ ethereum-waffle@^3.4.0:
...
@@ -7419,6 +7346,17 @@ ethereum-waffle@^3.4.0:
"@ethereum-waffle/provider" "^3.4.0"
"@ethereum-waffle/provider" "^3.4.0"
ethers "^5.0.1"
ethers "^5.0.1"
ethereum-waffle@^3.4.4:
version "3.4.4"
resolved "https://registry.yarnpkg.com/ethereum-waffle/-/ethereum-waffle-3.4.4.tgz#1378b72040697857b7f5e8f473ca8f97a37b5840"
integrity sha512-PA9+jCjw4WC3Oc5ocSMBj5sXvueWQeAbvCA+hUlb6oFgwwKyq5ka3bWQ7QZcjzIX+TdFkxP4IbFmoY2D8Dkj9Q==
dependencies:
"@ethereum-waffle/chai" "^3.4.4"
"@ethereum-waffle/compiler" "^3.4.4"
"@ethereum-waffle/mock-contract" "^3.4.4"
"@ethereum-waffle/provider" "^3.4.4"
ethers "^5.0.1"
ethereumjs-abi@0.6.5:
ethereumjs-abi@0.6.5:
version "0.6.5"
version "0.6.5"
resolved "https://registry.yarnpkg.com/ethereumjs-abi/-/ethereumjs-abi-0.6.5.tgz#5a637ef16ab43473fa72a29ad90871405b3f5241"
resolved "https://registry.yarnpkg.com/ethereumjs-abi/-/ethereumjs-abi-0.6.5.tgz#5a637ef16ab43473fa72a29ad90871405b3f5241"
...
@@ -7584,17 +7522,6 @@ ethereumjs-util@^7.1.1, ethereumjs-util@^7.1.4:
...
@@ -7584,17 +7522,6 @@ ethereumjs-util@^7.1.1, ethereumjs-util@^7.1.4:
ethereum-cryptography "^0.1.3"
ethereum-cryptography "^0.1.3"
rlp "^2.2.4"
rlp "^2.2.4"
ethereumjs-util@^7.1.2:
version "7.1.5"
resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz#9ecf04861e4fbbeed7465ece5f23317ad1129181"
integrity sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==
dependencies:
"@types/bn.js" "^5.1.0"
bn.js "^5.1.2"
create-hash "^1.1.2"
ethereum-cryptography "^0.1.3"
rlp "^2.2.4"
ethereumjs-vm@4.2.0:
ethereumjs-vm@4.2.0:
version "4.2.0"
version "4.2.0"
resolved "https://registry.yarnpkg.com/ethereumjs-vm/-/ethereumjs-vm-4.2.0.tgz#e885e861424e373dbc556278f7259ff3fca5edab"
resolved "https://registry.yarnpkg.com/ethereumjs-vm/-/ethereumjs-vm-4.2.0.tgz#e885e861424e373dbc556278f7259ff3fca5edab"
...
@@ -7648,20 +7575,6 @@ ethereumjs-wallet@0.6.5:
...
@@ -7648,20 +7575,6 @@ ethereumjs-wallet@0.6.5:
utf8 "^3.0.0"
utf8 "^3.0.0"
uuid "^3.3.2"
uuid "^3.3.2"
ethereumjs-wallet@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/ethereumjs-wallet/-/ethereumjs-wallet-1.0.2.tgz#2c000504b4c71e8f3782dabe1113d192522e99b6"
integrity sha512-CCWV4RESJgRdHIvFciVQFnCHfqyhXWchTPlkfp28Qc53ufs+doi5I/cV2+xeK9+qEo25XCWfP9MiL+WEPAZfdA==
dependencies:
aes-js "^3.1.2"
bs58check "^2.1.2"
ethereum-cryptography "^0.1.3"
ethereumjs-util "^7.1.2"
randombytes "^2.1.0"
scrypt-js "^3.0.1"
utf8 "^3.0.0"
uuid "^8.3.2"
ethers@^4.0.32, ethers@^4.0.40:
ethers@^4.0.32, ethers@^4.0.40:
version "4.0.49"
version "4.0.49"
resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.49.tgz#0eb0e9161a0c8b4761be547396bbe2fb121a8894"
resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.49.tgz#0eb0e9161a0c8b4761be547396bbe2fb121a8894"
...
@@ -10956,11 +10869,6 @@ map-obj@^4.0.0:
...
@@ -10956,11 +10869,6 @@ map-obj@^4.0.0:
resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.2.1.tgz#e4ea399dbc979ae735c83c863dd31bdf364277b7"
resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.2.1.tgz#e4ea399dbc979ae735c83c863dd31bdf364277b7"
integrity sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ==
integrity sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ==
map-obj@^4.1.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a"
integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==
map-visit@^1.0.0:
map-visit@^1.0.0:
version "1.0.0"
version "1.0.0"
resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"
resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"
...
@@ -13303,11 +13211,6 @@ quick-lru@^4.0.1:
...
@@ -13303,11 +13211,6 @@ quick-lru@^4.0.1:
resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f"
resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f"
integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==
integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==
quick-lru@^5.1.1:
version "5.1.1"
resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932"
integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==
randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.0.6, randombytes@^2.1.0:
randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.0.6, randombytes@^2.1.0:
version "2.1.0"
version "2.1.0"
resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
...
@@ -15504,11 +15407,6 @@ ts-generator@^0.1.1:
...
@@ -15504,11 +15407,6 @@ ts-generator@^0.1.1:
resolve "^1.8.1"
resolve "^1.8.1"
ts-essentials "^1.0.0"
ts-essentials "^1.0.0"
ts-interface-checker@^0.1.9:
version "0.1.13"
resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699"
integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==
ts-mocha@^10.0.0:
ts-mocha@^10.0.0:
version "10.0.0"
version "10.0.0"
resolved "https://registry.yarnpkg.com/ts-mocha/-/ts-mocha-10.0.0.tgz#41a8d099ac90dbbc64b06976c5025ffaebc53cb9"
resolved "https://registry.yarnpkg.com/ts-mocha/-/ts-mocha-10.0.0.tgz#41a8d099ac90dbbc64b06976c5025ffaebc53cb9"
...
@@ -15717,11 +15615,6 @@ type-fest@^0.8.0, type-fest@^0.8.1:
...
@@ -15717,11 +15615,6 @@ type-fest@^0.8.0, type-fest@^0.8.1:
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==
integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==
type-fest@^1.2.1:
version "1.4.0"
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1"
integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==
type-is@~1.6.17, type-is@~1.6.18:
type-is@~1.6.17, type-is@~1.6.18:
version "1.6.18"
version "1.6.18"
resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
...
...
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