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
72da248c
Unverified
Commit
72da248c
authored
Aug 22, 2023
by
mergify[bot]
Committed by
GitHub
Aug 22, 2023
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop' into indexer.l1height-param
parents
cbed843e
b97ff3dc
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
295 additions
and
195 deletions
+295
-195
main.go
op-chain-ops/cmd/registry-data/main.go
+261
-0
package.json
packages/contracts-ts/package.json
+1
-1
package.json
packages/fee-estimation/package.json
+1
-1
pnpm-lock.yaml
pnpm-lock.yaml
+32
-193
No files found.
op-chain-ops/cmd/registry-data/main.go
0 → 100644
View file @
72da248c
package
main
import
(
"bytes"
"compress/flate"
"compress/gzip"
"encoding/json"
"errors"
"fmt"
"os"
"path/filepath"
opservice
"github.com/ethereum-optimism/optimism/op-service"
"github.com/ethereum-optimism/optimism/op-service/jsonutil"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/common/hexutil"
"github.com/ethereum/go-ethereum/core"
"github.com/ethereum/go-ethereum/core/types"
"github.com/ethereum/go-ethereum/crypto"
"github.com/ethereum/go-ethereum/log"
"github.com/mattn/go-isatty"
"github.com/urfave/cli/v2"
)
const
EnvPrefix
=
"OP_CHAIN_OPS_REGISTRY_DATA"
var
(
L2GenesisFlag
=
&
cli
.
PathFlag
{
Name
:
"l2-genesis"
,
Value
:
"genesis.json"
,
Usage
:
"Path to genesis json (go-ethereum format)"
,
EnvVars
:
opservice
.
PrefixEnvVar
(
EnvPrefix
,
"L2_GENESIS"
),
}
L2GenesisHeaderFlag
=
&
cli
.
PathFlag
{
Name
:
"l2-genesis-header"
,
Value
:
"genesis-header.json"
,
Usage
:
"Alternative to l2-genesis flag, if genesis-state is omitted. Path to block header at genesis"
,
EnvVars
:
opservice
.
PrefixEnvVar
(
EnvPrefix
,
"L2_GENESIS_HEADER"
),
}
BytecodesDirFlag
=
&
cli
.
PathFlag
{
Name
:
"bytecodes-dir"
,
Value
:
"superchain-registry/superchain/bytecodes"
,
Usage
:
"Collection of gzipped L2 bytecodes"
,
EnvVars
:
opservice
.
PrefixEnvVar
(
EnvPrefix
,
"BYTECODES_DIR"
),
}
OutputFlag
=
&
cli
.
PathFlag
{
Name
:
"output"
,
Value
:
"out.json.gz"
,
Usage
:
"output gzipped JSON file path to write to"
,
EnvVars
:
opservice
.
PrefixEnvVar
(
EnvPrefix
,
"OUTPUT"
),
}
)
func
main
()
{
log
.
Root
()
.
SetHandler
(
log
.
StreamHandler
(
os
.
Stderr
,
log
.
TerminalFormat
(
isatty
.
IsTerminal
(
os
.
Stderr
.
Fd
()))))
app
:=
&
cli
.
App
{
Name
:
"registry-genesis"
,
Usage
:
"Prepare superchain-registry genesis data files based on full genesis dump"
,
Flags
:
[]
cli
.
Flag
{
L2GenesisFlag
,
L2GenesisHeaderFlag
,
BytecodesDirFlag
,
OutputFlag
,
},
Action
:
entrypoint
,
}
if
err
:=
app
.
Run
(
os
.
Args
);
err
!=
nil
{
log
.
Crit
(
"error while generating registry data"
,
"err"
,
err
)
}
}
type
GenesisAccount
struct
{
CodeHash
common
.
Hash
`json:"codeHash,omitempty"`
Storage
jsonutil
.
LazySortedJsonMap
[
common
.
Hash
,
common
.
Hash
]
`json:"storage,omitempty"`
Balance
*
hexutil
.
Big
`json:"balance,omitempty"`
Nonce
uint64
`json:"nonce,omitempty"`
}
type
Genesis
struct
{
Nonce
uint64
`json:"nonce"`
Timestamp
uint64
`json:"timestamp"`
ExtraData
[]
byte
`json:"extraData"`
GasLimit
uint64
`json:"gasLimit"`
Difficulty
*
hexutil
.
Big
`json:"difficulty"`
Mixhash
common
.
Hash
`json:"mixHash"`
Coinbase
common
.
Address
`json:"coinbase"`
Number
uint64
`json:"number"`
GasUsed
uint64
`json:"gasUsed"`
ParentHash
common
.
Hash
`json:"parentHash"`
BaseFee
*
hexutil
.
Big
`json:"baseFeePerGas"`
Alloc
jsonutil
.
LazySortedJsonMap
[
common
.
Address
,
GenesisAccount
]
`json:"alloc"`
// For genesis definitions without full state (OP-Mainnet, OP-Goerli)
StateHash
*
common
.
Hash
`json:"stateHash,omitempty"`
}
func
loadJSON
[
X
any
](
inputPath
string
)
(
*
X
,
error
)
{
if
inputPath
==
""
{
return
nil
,
errors
.
New
(
"no path specified"
)
}
f
,
err
:=
os
.
OpenFile
(
inputPath
,
os
.
O_RDONLY
,
0
)
if
err
!=
nil
{
return
nil
,
fmt
.
Errorf
(
"failed to open file %q: %w"
,
inputPath
,
err
)
}
defer
f
.
Close
()
var
obj
X
if
err
:=
json
.
NewDecoder
(
f
)
.
Decode
(
&
obj
);
err
!=
nil
{
return
nil
,
fmt
.
Errorf
(
"failed to decode file %q: %w"
,
inputPath
,
err
)
}
return
&
obj
,
nil
}
func
writeGzipJSON
(
outputPath
string
,
value
any
)
error
{
f
,
err
:=
os
.
OpenFile
(
outputPath
,
os
.
O_WRONLY
|
os
.
O_CREATE
|
os
.
O_TRUNC
,
0755
)
if
err
!=
nil
{
return
fmt
.
Errorf
(
"failed to open output file: %w"
,
err
)
}
defer
f
.
Close
()
w
,
err
:=
gzip
.
NewWriterLevel
(
f
,
flate
.
BestCompression
)
if
err
!=
nil
{
return
fmt
.
Errorf
(
"failed to create gzip writer: %w"
,
err
)
}
defer
w
.
Close
()
enc
:=
json
.
NewEncoder
(
w
)
if
err
:=
enc
.
Encode
(
value
);
err
!=
nil
{
return
fmt
.
Errorf
(
"failed to encode to JSON: %w"
,
err
)
}
return
nil
}
func
entrypoint
(
ctx
*
cli
.
Context
)
error
{
genesisPath
:=
ctx
.
Path
(
L2GenesisFlag
.
Name
)
if
genesisPath
==
""
{
// When the genesis-state is too large, or not meant to be available, only the header data is made available.
// This allows the user to verify the header-chain starting from genesis, and state-sync the latest state,
// skipping the historical state.
// Archive nodes that depend on this historical state should instantiate the chain from a full genesis dump
// with allocation data, or datadir.
genesisHeaderPath
:=
ctx
.
Path
(
L2GenesisHeaderFlag
.
Name
)
genesisHeader
,
err
:=
loadJSON
[
types
.
Header
](
genesisHeaderPath
)
if
err
!=
nil
{
return
fmt
.
Errorf
(
"genesis-header %q failed to load: %w"
,
genesisHeaderPath
,
err
)
}
if
genesisHeader
.
TxHash
!=
types
.
EmptyTxsHash
{
return
errors
.
New
(
"genesis-header based genesis must have no transactions"
)
}
if
genesisHeader
.
ReceiptHash
!=
types
.
EmptyReceiptsHash
{
return
errors
.
New
(
"genesis-header based genesis must have no receipts"
)
}
if
genesisHeader
.
UncleHash
!=
types
.
EmptyUncleHash
{
return
errors
.
New
(
"genesis-header based genesis must have no uncle hashes"
)
}
if
genesisHeader
.
WithdrawalsHash
!=
nil
&&
*
genesisHeader
.
WithdrawalsHash
!=
types
.
EmptyWithdrawalsHash
{
return
errors
.
New
(
"genesis-header based genesis must have no withdrawals"
)
}
out
:=
Genesis
{
Nonce
:
genesisHeader
.
Nonce
.
Uint64
(),
Timestamp
:
genesisHeader
.
Time
,
ExtraData
:
genesisHeader
.
Extra
,
GasLimit
:
genesisHeader
.
GasLimit
,
Difficulty
:
(
*
hexutil
.
Big
)(
genesisHeader
.
Difficulty
),
Mixhash
:
genesisHeader
.
MixDigest
,
Coinbase
:
genesisHeader
.
Coinbase
,
Number
:
genesisHeader
.
Number
.
Uint64
(),
GasUsed
:
genesisHeader
.
GasUsed
,
ParentHash
:
genesisHeader
.
ParentHash
,
BaseFee
:
(
*
hexutil
.
Big
)(
genesisHeader
.
BaseFee
),
Alloc
:
make
(
jsonutil
.
LazySortedJsonMap
[
common
.
Address
,
GenesisAccount
]),
StateHash
:
&
genesisHeader
.
Root
,
}
if
err
:=
writeGzipJSON
(
ctx
.
Path
(
OutputFlag
.
Name
),
out
);
err
!=
nil
{
return
fmt
.
Errorf
(
"failed to write output: %w"
,
err
)
}
return
nil
}
genesis
,
err
:=
loadJSON
[
core
.
Genesis
](
genesisPath
)
if
err
!=
nil
{
return
fmt
.
Errorf
(
"failed to load L2 genesis: %w"
,
err
)
}
// export all contract bytecodes, write them to bytecodes collection
bytecodesDir
:=
ctx
.
Path
(
BytecodesDirFlag
.
Name
)
if
err
:=
os
.
MkdirAll
(
bytecodesDir
,
0755
);
err
!=
nil
{
return
fmt
.
Errorf
(
"failed to make bytecodes dir: %w"
,
err
)
}
for
addr
,
account
:=
range
genesis
.
Alloc
{
if
len
(
account
.
Code
)
>
0
{
codeHash
:=
crypto
.
Keccak256Hash
(
account
.
Code
)
name
:=
filepath
.
Join
(
bytecodesDir
,
fmt
.
Sprintf
(
"%s.bin.gz"
,
codeHash
))
_
,
err
:=
os
.
Stat
(
name
)
if
err
!=
nil
{
if
os
.
IsNotExist
(
err
)
{
var
buf
bytes
.
Buffer
w
,
err
:=
gzip
.
NewWriterLevel
(
&
buf
,
9
)
if
err
!=
nil
{
return
fmt
.
Errorf
(
"failed to construct gzip writer for bytecode %s: %w"
,
codeHash
,
err
)
}
if
_
,
err
:=
w
.
Write
(
account
.
Code
);
err
!=
nil
{
return
fmt
.
Errorf
(
"failed to write bytecode %s to gzip writer: %w"
,
codeHash
,
err
)
}
if
err
:=
w
.
Close
();
err
!=
nil
{
return
fmt
.
Errorf
(
"failed to close gzip writer: %w"
,
err
)
}
// new bytecode
if
err
:=
os
.
WriteFile
(
name
,
buf
.
Bytes
(),
0755
);
err
!=
nil
{
return
fmt
.
Errorf
(
"failed to write bytecode %s of account %s: %w"
,
codeHash
,
addr
,
err
)
}
}
else
{
return
fmt
.
Errorf
(
"failed to check for pre-existing bytecode %s for address %s: %w"
,
codeHash
,
addr
,
err
)
}
}
// else: already exists
}
}
// convert into allocation data
out
:=
Genesis
{
Nonce
:
genesis
.
Nonce
,
Timestamp
:
genesis
.
Timestamp
,
ExtraData
:
genesis
.
ExtraData
,
GasLimit
:
genesis
.
GasLimit
,
Difficulty
:
(
*
hexutil
.
Big
)(
genesis
.
Difficulty
),
Mixhash
:
genesis
.
Mixhash
,
Coinbase
:
genesis
.
Coinbase
,
Number
:
genesis
.
Number
,
GasUsed
:
genesis
.
GasUsed
,
ParentHash
:
genesis
.
ParentHash
,
BaseFee
:
(
*
hexutil
.
Big
)(
genesis
.
BaseFee
),
Alloc
:
make
(
jsonutil
.
LazySortedJsonMap
[
common
.
Address
,
GenesisAccount
]),
}
// write genesis, but only reference code by code-hash, and don't encode the L2 predeploys to save space.
for
addr
,
account
:=
range
genesis
.
Alloc
{
var
codeHash
common
.
Hash
if
len
(
account
.
Code
)
>
0
{
codeHash
=
crypto
.
Keccak256Hash
(
account
.
Code
)
}
outAcc
:=
GenesisAccount
{
CodeHash
:
codeHash
,
Nonce
:
account
.
Nonce
,
}
if
account
.
Balance
!=
nil
&&
account
.
Balance
.
Cmp
(
common
.
Big0
)
!=
0
{
outAcc
.
Balance
=
(
*
hexutil
.
Big
)(
account
.
Balance
)
}
if
len
(
account
.
Storage
)
>
0
{
outAcc
.
Storage
=
make
(
jsonutil
.
LazySortedJsonMap
[
common
.
Hash
,
common
.
Hash
])
for
k
,
v
:=
range
account
.
Storage
{
outAcc
.
Storage
[
k
]
=
v
}
}
out
.
Alloc
[
addr
]
=
outAcc
}
// write genesis alloc
if
err
:=
writeGzipJSON
(
ctx
.
Path
(
OutputFlag
.
Name
),
out
);
err
!=
nil
{
return
fmt
.
Errorf
(
"failed to write output: %w"
,
err
)
}
return
nil
}
packages/contracts-ts/package.json
View file @
72da248c
...
...
@@ -62,7 +62,7 @@
"tsup"
:
"^7.1.0"
,
"typescript"
:
"^5.1.6"
,
"vite"
:
"^4.4.6"
,
"vitest"
:
"^0.3
3.0
"
"vitest"
:
"^0.3
4.2
"
},
"peerDependencies"
:
{
"@wagmi/core"
:
">1.0.0"
,
...
...
packages/fee-estimation/package.json
View file @
72da248c
...
...
@@ -46,7 +46,7 @@
"typescript"
:
"^5.1.6"
,
"viem"
:
"^1.3.1"
,
"vite"
:
"^4.4.6"
,
"vitest"
:
"^0.3
3.0
"
"vitest"
:
"^0.3
4.2
"
},
"peerDependencies"
:
{
"viem"
:
"^0.3.30"
...
...
pnpm-lock.yaml
View file @
72da248c
...
...
@@ -23,7 +23,7 @@ importers:
version
:
0.4.8
'
@nrwl/nx-cloud'
:
specifier
:
latest
version
:
16.
4.0-beta.1
version
:
16.
3.0
'
@types/chai'
:
specifier
:
^4.2.18
version
:
4.2.21
...
...
@@ -62,10 +62,10 @@ importers:
version
:
8.3.0(eslint@8.47.0)
eslint-config-standard
:
specifier
:
^16.0.3
version
:
16.0.3(eslint-plugin-import@2.28.
0
)(eslint-plugin-node@11.1.0)(eslint-plugin-promise@5.2.0)(eslint@8.47.0)
version
:
16.0.3(eslint-plugin-import@2.28.
1
)(eslint-plugin-node@11.1.0)(eslint-plugin-promise@5.2.0)(eslint@8.47.0)
eslint-plugin-import
:
specifier
:
^2.26.0
version
:
2.28.
0
(@typescript-eslint/parser@5.60.1)(eslint@8.47.0)
version
:
2.28.
1
(@typescript-eslint/parser@5.60.1)(eslint@8.47.0)
eslint-plugin-jsdoc
:
specifier
:
^35.1.2
version
:
35.5.1(eslint@8.47.0)
...
...
@@ -312,7 +312,7 @@ importers:
version
:
8.1.0
'
@vitest/coverage-istanbul'
:
specifier
:
^0.34.1
version
:
0.34.1(vitest@0.3
3.0
)
version
:
0.34.1(vitest@0.3
4.2
)
'
@wagmi/cli'
:
specifier
:
^1.3.0
version
:
1.3.0(@wagmi/core@1.3.8)(typescript@5.1.6)(wagmi@1.0.1)
...
...
@@ -344,8 +344,8 @@ importers:
specifier
:
^4.4.6
version
:
4.4.6(@types/node@12.20.20)
vitest
:
specifier
:
^0.3
3.0
version
:
0.3
3.0
(jsdom@22.1.0)
specifier
:
^0.3
4.2
version
:
0.3
4.2
(jsdom@22.1.0)
packages/core-utils
:
dependencies
:
...
...
@@ -412,7 +412,7 @@ importers:
version
:
8.0.1(react@17.0.2)
'
@vitest/coverage-istanbul'
:
specifier
:
^0.34.1
version
:
0.34.1(vitest@0.3
3.0
)
version
:
0.34.1(vitest@0.3
4.2
)
abitype
:
specifier
:
^0.9.3
version
:
0.9.3(typescript@5.1.6)(zod@3.22.1)
...
...
@@ -438,8 +438,8 @@ importers:
specifier
:
^4.4.6
version
:
4.4.6(@types/node@12.20.20)
vitest
:
specifier
:
^0.3
3.0
version
:
0.3
3.0
(jsdom@22.1.0)
specifier
:
^0.3
4.2
version
:
0.3
4.2
(jsdom@22.1.0)
packages/sdk
:
dependencies
:
...
...
@@ -527,7 +527,7 @@ importers:
version
:
1.6.0(typescript@5.1.6)(zod@3.22.1)
vitest
:
specifier
:
^0.34.2
version
:
0.34.2
version
:
0.34.2
(jsdom@22.1.0)
zod
:
specifier
:
^3.22.1
version
:
3.22.1
...
...
@@ -2846,10 +2846,10 @@ packages:
-
nx
dev
:
true
/@nrwl/nx-cloud@16.
4.0-beta.1
:
resolution
:
{
integrity
:
sha512-
XQFmpVtGJghvR+JJWgp2so0eeJSG7U1W0/WcyAskTnCSMt8M5FFotJmF4upFfRK1rexlECZ7xbcZzUXuIEqzsw
==
}
/@nrwl/nx-cloud@16.
3.0
:
resolution
:
{
integrity
:
sha512-
nJrGsVufhY74KcP7kM7BqFOGAoO5OEF6+wfiM295DgmEG9c1yW+x5QiQaC42K9SWYn/eKQa1X7466ZA5lynXoQ
==
}
dependencies
:
nx-cloud
:
16.
4.0-beta.1
nx-cloud
:
16.
3.0
transitivePeerDependencies
:
-
debug
dev
:
true
...
...
@@ -3653,12 +3653,6 @@ packages:
'
@swc/core-win32-x64-msvc'
:
1.3.76
dev
:
true
/@swc/helpers@0.5.1
:
resolution
:
{
integrity
:
sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==
}
dependencies
:
tslib
:
2.6.0
dev
:
true
/@tanstack/query-core@4.29.25
:
resolution
:
{
integrity
:
sha512-DI4y4VC6Uw4wlTpOocEXDky69xeOScME1ezLKsj+hOk7DguC9fkqXtp6Hn39BVb9y0b5IBrY67q6kIX623Zj4Q==
}
...
...
@@ -4526,7 +4520,7 @@ packages:
resolution
:
{
integrity
:
sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==
}
dev
:
true
/@vitest/coverage-istanbul@0.34.1(vitest@0.3
3.0
)
:
/@vitest/coverage-istanbul@0.34.1(vitest@0.3
4.1
)
:
resolution
:
{
integrity
:
sha512-5GprlyY2t1g6+RrssWcN/w5RnZV3qIOM0eoaSDJw3jXbHpBpMvAfTg791zXo7PIqNYs5ORUqBWXIIU0gyAfZxA==
}
peerDependencies
:
vitest
:
'
>=0.32.0
<1'
...
...
@@ -4537,12 +4531,12 @@ packages:
istanbul-lib-source-maps
:
4.0.1
istanbul-reports
:
3.1.5
test-exclude
:
6.0.0
vitest
:
0.3
3.0(jsdom@22.1.0)
vitest
:
0.3
4.1
transitivePeerDependencies
:
-
supports-color
dev
:
true
/@vitest/coverage-istanbul@0.34.1(vitest@0.34.
1
)
:
/@vitest/coverage-istanbul@0.34.1(vitest@0.34.
2
)
:
resolution
:
{
integrity
:
sha512-5GprlyY2t1g6+RrssWcN/w5RnZV3qIOM0eoaSDJw3jXbHpBpMvAfTg791zXo7PIqNYs5ORUqBWXIIU0gyAfZxA==
}
peerDependencies
:
vitest
:
'
>=0.32.0
<1'
...
...
@@ -4553,19 +4547,11 @@ packages:
istanbul-lib-source-maps
:
4.0.1
istanbul-reports
:
3.1.5
test-exclude
:
6.0.0
vitest
:
0.34.
1
vitest
:
0.34.
2(jsdom@22.1.0)
transitivePeerDependencies
:
-
supports-color
dev
:
true
/@vitest/expect@0.33.0
:
resolution
:
{
integrity
:
sha512-sVNf+Gla3mhTCxNJx+wJLDPp/WcstOe0Ksqz4Vec51MmgMth/ia0MGFEkIZmVGeTL5HtjYR4Wl/ZxBxBXZJTzQ==
}
dependencies
:
'
@vitest/spy'
:
0.33.0
'
@vitest/utils'
:
0.33.0
chai
:
4.3.7
dev
:
true
/@vitest/expect@0.34.1
:
resolution
:
{
integrity
:
sha512-q2CD8+XIsQ+tHwypnoCk8Mnv5e6afLFvinVGCq3/BOT4kQdVQmY6rRfyKkwcg635lbliLPqbunXZr+L1ssUWiQ==
}
dependencies
:
...
...
@@ -4582,14 +4568,6 @@ packages:
chai
:
4.3.7
dev
:
true
/@vitest/runner@0.33.0
:
resolution
:
{
integrity
:
sha512-UPfACnmCB6HKRHTlcgCoBh6ppl6fDn+J/xR8dTufWiKt/74Y9bHci5CKB8tESSV82zKYtkBJo9whU3mNvfaisg==
}
dependencies
:
'
@vitest/utils'
:
0.33.0
p-limit
:
4.0.0
pathe
:
1.1.1
dev
:
true
/@vitest/runner@0.34.1
:
resolution
:
{
integrity
:
sha512-YfQMpYzDsYB7yqgmlxZ06NI4LurHWfrH7Wy3Pvf/z/vwUSgq1zLAb1lWcItCzQG+NVox+VvzlKQrYEXb47645g==
}
dependencies
:
...
...
@@ -4606,14 +4584,6 @@ packages:
pathe
:
1.1.1
dev
:
true
/@vitest/snapshot@0.33.0
:
resolution
:
{
integrity
:
sha512-tJjrl//qAHbyHajpFvr8Wsk8DIOODEebTu7pgBrP07iOepR5jYkLFiqLq2Ltxv+r0uptUb4izv1J8XBOwKkVYA==
}
dependencies
:
magic-string
:
0.30.1
pathe
:
1.1.1
pretty-format
:
29.6.1
dev
:
true
/@vitest/snapshot@0.34.1
:
resolution
:
{
integrity
:
sha512-0O9LfLU0114OqdF8lENlrLsnn024Tb1CsS9UwG0YMWY2oGTQfPtkW+B/7ieyv0X9R2Oijhi3caB1xgGgEgclSQ==
}
dependencies
:
...
...
@@ -4630,12 +4600,6 @@ packages:
pretty-format
:
29.6.1
dev
:
true
/@vitest/spy@0.33.0
:
resolution
:
{
integrity
:
sha512-Kv+yZ4hnH1WdiAkPUQTpRxW8kGtH8VRTnus7ZTGovFYM1ZezJpvGtb9nPIjPnptHbsyIAxYZsEpVPYgtpjGnrg==
}
dependencies
:
tinyspy
:
2.1.1
dev
:
true
/@vitest/spy@0.34.1
:
resolution
:
{
integrity
:
sha512-UT4WcI3EAPUNO8n6y9QoEqynGGEPmmRxC+cLzneFFXpmacivjHZsNbiKD88KUScv5DCHVDgdBsLD7O7s1enFcQ==
}
dependencies
:
...
...
@@ -4648,14 +4612,6 @@ packages:
tinyspy
:
2.1.1
dev
:
true
/@vitest/utils@0.33.0
:
resolution
:
{
integrity
:
sha512-pF1w22ic965sv+EN6uoePkAOTkAPWM03Ri/jXNyMIKBb/XHLDPfhLvf/Fa9g0YECevAIz56oVYXhodLvLQ/awA==
}
dependencies
:
diff-sequences
:
29.4.3
loupe
:
2.3.6
pretty-format
:
29.6.1
dev
:
true
/@vitest/utils@0.34.1
:
resolution
:
{
integrity
:
sha512-/ql9dsFi4iuEbiNcjNHQWXBum7aL8pyhxvfnD9gNtbjR9fUKAjxhj4AA3yfLXg6gJpMGGecvtF8Au2G9y3q47Q==
}
dependencies
:
...
...
@@ -4794,7 +4750,7 @@ packages:
picocolors
:
1.0.0
prettier
:
2.8.8
typescript
:
5.1.6
viem
:
1.
3.1
(typescript@5.1.6)(zod@3.22.0)
viem
:
1.
6.0
(typescript@5.1.6)(zod@3.22.0)
wagmi
:
1.0.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.1.6)(viem@1.3.1)
zod
:
3.22.0
transitivePeerDependencies
:
...
...
@@ -8061,7 +8017,7 @@ packages:
eslint
:
8.47.0
dev
:
true
/eslint-config-standard@16.0.3(eslint-plugin-import@2.28.
0
)(eslint-plugin-node@11.1.0)(eslint-plugin-promise@5.2.0)(eslint@8.47.0)
:
/eslint-config-standard@16.0.3(eslint-plugin-import@2.28.
1
)(eslint-plugin-node@11.1.0)(eslint-plugin-promise@5.2.0)(eslint@8.47.0)
:
resolution
:
{
integrity
:
sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg==
}
peerDependencies
:
eslint
:
^7.12.1
...
...
@@ -8070,7 +8026,7 @@ packages:
eslint-plugin-promise
:
^4.2.1 || ^5.0.0
dependencies
:
eslint
:
8.47.0
eslint-plugin-import
:
2.28.
0
(@typescript-eslint/parser@5.60.1)(eslint@8.47.0)
eslint-plugin-import
:
2.28.
1
(@typescript-eslint/parser@5.60.1)(eslint@8.47.0)
eslint-plugin-node
:
11.1.0(eslint@8.47.0)
eslint-plugin-promise
:
5.2.0(eslint@8.47.0)
dev
:
true
...
...
@@ -8125,8 +8081,8 @@ packages:
regexpp
:
3.2.0
dev
:
true
/eslint-plugin-import@2.28.
0
(@typescript-eslint/parser@5.60.1)(eslint@8.47.0)
:
resolution
:
{
integrity
:
sha512-
B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q
==
}
/eslint-plugin-import@2.28.
1
(@typescript-eslint/parser@5.60.1)(eslint@8.47.0)
:
resolution
:
{
integrity
:
sha512-
9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A
==
}
engines
:
{
node
:
'
>=4'
}
peerDependencies
:
'
@typescript-eslint/parser'
:
'
*'
...
...
@@ -8152,7 +8108,6 @@ packages:
object.fromentries
:
2.0.6
object.groupby
:
1.0.0
object.values
:
1.1.6
resolve
:
1.22.4
semver
:
6.3.1
tsconfig-paths
:
3.14.2
transitivePeerDependencies
:
...
...
@@ -9591,7 +9546,7 @@ packages:
fs-extra
:
10.1.0
match-all
:
1.2.6
murmur-128
:
0.2.1
qs
:
6.11.
0
qs
:
6.11.
2
zksync-web3
:
0.4.0(ethers@5.7.2)
transitivePeerDependencies
:
-
bufferutil
...
...
@@ -12556,12 +12511,11 @@ packages:
resolution
:
{
integrity
:
sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==
}
dev
:
true
/nx-cloud@16.
4.0-beta.1
:
resolution
:
{
integrity
:
sha512-
I62IBQDjbA3h+P8JVFrannVllj8O9/3YYfyg8sPLVYxFKwnqqsgR6kG2zHxB9Q2k0hoSU7JZ02d9oPJsRzL5rg
==
}
/nx-cloud@16.
3.0
:
resolution
:
{
integrity
:
sha512-
hmNgpeLO4v4WDSWa8YhwX+q+9ohIyY8iqxlWyIKixWzQH2XfRgYFjOLH4IDLGOlKa3hg7MB6+4+75cK9CfSmKw
==
}
hasBin
:
true
dependencies
:
'
@nrwl/nx-cloud'
:
16.4.0-beta.1
'
@swc/helpers'
:
0.5.1
'
@nrwl/nx-cloud'
:
16.3.0
axios
:
1.1.3
chalk
:
4.1.2
dotenv
:
10.0.0
...
...
@@ -13631,6 +13585,7 @@ packages:
engines
:
{
node
:
'
>=0.6'
}
dependencies
:
side-channel
:
1.0.4
dev
:
false
/qs@6.11.2
:
resolution
:
{
integrity
:
sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==
}
...
...
@@ -13638,8 +13593,8 @@ packages:
dependencies
:
side-channel
:
1.0.4
/qs@6.5.
2
:
resolution
:
{
integrity
:
sha512-
N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDG
A==
}
/qs@6.5.
3
:
resolution
:
{
integrity
:
sha512-
qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5Kzcz
A==
}
engines
:
{
node
:
'
>=0.6'
}
/query-ast@1.0.4
:
...
...
@@ -14043,7 +13998,7 @@ packages:
mime-types
:
2.1.35
oauth-sign
:
0.9.0
performance-now
:
2.1.0
qs
:
6.5.
2
qs
:
6.5.
3
safe-buffer
:
5.2.1
tough-cookie
:
2.5.0
tunnel-agent
:
0.6.0
...
...
@@ -15220,11 +15175,6 @@ packages:
resolution
:
{
integrity
:
sha512-kRwSG8Zx4tjF9ZiyH4bhaebu+EDz1BOx9hOigYHlUW4xxI/wKIUQUqo018UlU4ar6ATPBsaMrdbKZ+tmPdohFA==
}
dev
:
true
/tinypool@0.6.0
:
resolution
:
{
integrity
:
sha512-FdswUUo5SxRizcBc6b1GSuLpLjisa8N8qMyYoP3rl+bym+QauhtJP5bvZY1ytt8krKGmMLYIRl36HBZfeAoqhQ==
}
engines
:
{
node
:
'
>=14.0.0'
}
dev
:
true
/tinypool@0.7.0
:
resolution
:
{
integrity
:
sha512-zSYNUlYSMhJ6Zdou4cJwo/p7w5nmAH17GRfU/ui3ctvjXFErXXkruT4MWW6poDeXgCaIBlGLrfU6TbTXxyGMww==
}
engines
:
{
node
:
'
>=14.0.0'
}
...
...
@@ -16073,30 +16023,6 @@ packages:
-
utf-8-validate
-
zod
/viem@1.3.1(typescript@5.1.6)(zod@3.22.0)
:
resolution
:
{
integrity
:
sha512-Yv+y3/exrrEN4EAkVUtUuQxsjF4+3taHY2aSinJnNWtcA4fBZ+WfPJBTywcnFIa/Q5oDcQN85yqPFBbkXqWHdw==
}
peerDependencies
:
typescript
:
'
>=5.0.4'
peerDependenciesMeta
:
typescript
:
optional
:
true
dependencies
:
'
@adraffy/ens-normalize'
:
1.9.0
'
@noble/curves'
:
1.0.0
'
@noble/hashes'
:
1.3.0
'
@scure/bip32'
:
1.3.0
'
@scure/bip39'
:
1.2.0
'
@wagmi/chains'
:
1.6.0(typescript@5.1.6)
abitype
:
0.9.3(typescript@5.1.6)(zod@3.22.0)
isomorphic-ws
:
5.0.0(ws@8.12.0)
typescript
:
5.1.6
ws
:
8.12.0
transitivePeerDependencies
:
-
bufferutil
-
utf-8-validate
-
zod
dev
:
true
/viem@1.6.0(typescript@5.1.6)(zod@3.22.0)
:
resolution
:
{
integrity
:
sha512-ae9Twkd0q2Qlj4yYpWjb4DzYAhKY0ibEpRH8FJaTywZXNpTjFidSdBaT0CVn1BaH7O7cnX4/O47zvDUMGJD1AA==
}
peerDependencies
:
...
...
@@ -16147,28 +16073,6 @@ packages:
-
zod
dev
:
true
/vite-node@0.33.0(@types/node@20.5.0)
:
resolution
:
{
integrity
:
sha512-19FpHYbwWWxDr73ruNahC+vtEdza52kA90Qb3La98yZ0xULqV8A5JLNPUff0f5zID4984tW7l3DH2przTJUZSw==
}
engines
:
{
node
:
'
>=v14.18.0'
}
hasBin
:
true
dependencies
:
cac
:
6.7.14
debug
:
4.3.4(supports-color@8.1.1)
mlly
:
1.4.0
pathe
:
1.1.1
picocolors
:
1.0.0
vite
:
4.4.9(@types/node@20.5.0)
transitivePeerDependencies
:
-
'
@types/node'
-
less
-
lightningcss
-
sass
-
stylus
-
sugarss
-
supports-color
-
terser
dev
:
true
/vite-node@0.34.1(@types/node@20.5.0)
:
resolution
:
{
integrity
:
sha512-odAZAL9xFMuAg8aWd7nSPT+hU8u2r9gU3LRm9QKjxBEF2rRdWpMuqkrkjvyVQEdNFiBctqr2Gg4uJYizm5Le6w==
}
engines
:
{
node
:
'
>=v14.18.0'
}
...
...
@@ -16321,72 +16225,6 @@ packages:
fsevents
:
2.3.2
dev
:
true
/vitest@0.33.0(jsdom@22.1.0)
:
resolution
:
{
integrity
:
sha512-1CxaugJ50xskkQ0e969R/hW47za4YXDUfWJDxip1hwbnhUjYolpfUn2AMOulqG/Dtd9WYAtkHmM/m3yKVrEejQ==
}
engines
:
{
node
:
'
>=v14.18.0'
}
hasBin
:
true
peerDependencies
:
'
@edge-runtime/vm'
:
'
*'
'
@vitest/browser'
:
'
*'
'
@vitest/ui'
:
'
*'
happy-dom
:
'
*'
jsdom
:
'
*'
playwright
:
'
*'
safaridriver
:
'
*'
webdriverio
:
'
*'
peerDependenciesMeta
:
'
@edge-runtime/vm'
:
optional
:
true
'
@vitest/browser'
:
optional
:
true
'
@vitest/ui'
:
optional
:
true
happy-dom
:
optional
:
true
jsdom
:
optional
:
true
playwright
:
optional
:
true
safaridriver
:
optional
:
true
webdriverio
:
optional
:
true
dependencies
:
'
@types/chai'
:
4.3.5
'
@types/chai-subset'
:
1.3.3
'
@types/node'
:
20.5.0
'
@vitest/expect'
:
0.33.0
'
@vitest/runner'
:
0.33.0
'
@vitest/snapshot'
:
0.33.0
'
@vitest/spy'
:
0.33.0
'
@vitest/utils'
:
0.33.0
acorn
:
8.10.0
acorn-walk
:
8.2.0
cac
:
6.7.14
chai
:
4.3.7
debug
:
4.3.4(supports-color@8.1.1)
jsdom
:
22.1.0
local-pkg
:
0.4.3
magic-string
:
0.30.1
pathe
:
1.1.1
picocolors
:
1.0.0
std-env
:
3.3.3
strip-literal
:
1.0.1
tinybench
:
2.5.0
tinypool
:
0.6.0
vite
:
4.4.9(@types/node@20.5.0)
vite-node
:
0.33.0(@types/node@20.5.0)
why-is-node-running
:
2.2.2
transitivePeerDependencies
:
-
less
-
lightningcss
-
sass
-
stylus
-
sugarss
-
supports-color
-
terser
dev
:
true
/vitest@0.34.1
:
resolution
:
{
integrity
:
sha512-G1PzuBEq9A75XSU88yO5G4vPT20UovbC/2osB2KEuV/FisSIIsw7m5y2xMdB7RsAGHAfg2lPmp2qKr3KWliVlQ==
}
engines
:
{
node
:
'
>=v14.18.0'
}
...
...
@@ -16452,7 +16290,7 @@ packages:
-
terser
dev
:
true
/vitest@0.34.2
:
/vitest@0.34.2
(jsdom@22.1.0)
:
resolution
:
{
integrity
:
sha512-WgaIvBbjsSYMq/oiMlXUI7KflELmzM43BEvkdC/8b5CAod4ryAiY2z8uR6Crbi5Pjnu5oOmhKa9sy7uk6paBxQ==
}
engines
:
{
node
:
'
>=v14.18.0'
}
hasBin
:
true
...
...
@@ -16496,6 +16334,7 @@ packages:
cac
:
6.7.14
chai
:
4.3.7
debug
:
4.3.4(supports-color@8.1.1)
jsdom
:
22.1.0
local-pkg
:
0.4.3
magic-string
:
0.30.1
pathe
:
1.1.1
...
...
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