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
247086e8
Unverified
Commit
247086e8
authored
Aug 23, 2023
by
mergify[bot]
Committed by
GitHub
Aug 23, 2023
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop' into fix/getting-started
parents
6f4edb22
0e1330b2
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
224 additions
and
102 deletions
+224
-102
monitor.go
op-challenger/fault/monitor.go
+20
-11
monitor_test.go
op-challenger/fault/monitor_test.go
+10
-10
pnpm-lock.yaml
pnpm-lock.yaml
+194
-81
No files found.
op-challenger/fault/monitor.go
View file @
247086e8
...
...
@@ -87,11 +87,7 @@ func (m *gameMonitor) minGameTimestamp() uint64 {
return
0
}
func
(
m
*
gameMonitor
)
progressGames
(
ctx
context
.
Context
)
error
{
blockNum
,
err
:=
m
.
fetchBlockNumber
(
ctx
)
if
err
!=
nil
{
return
fmt
.
Errorf
(
"failed to load current block number: %w"
,
err
)
}
func
(
m
*
gameMonitor
)
progressGames
(
ctx
context
.
Context
,
blockNum
uint64
)
error
{
games
,
err
:=
m
.
source
.
FetchAllGamesAtBlock
(
ctx
,
m
.
minGameTimestamp
(),
new
(
big
.
Int
)
.
SetUint64
(
blockNum
))
if
err
!=
nil
{
return
fmt
.
Errorf
(
"failed to load games: %w"
,
err
)
...
...
@@ -147,13 +143,26 @@ func (m *gameMonitor) fetchOrCreateGamePlayer(gameData FaultDisputeGame) (gamePl
func
(
m
*
gameMonitor
)
MonitorGames
(
ctx
context
.
Context
)
error
{
m
.
logger
.
Info
(
"Monitoring fault dispute games"
)
blockNum
:=
uint64
(
0
)
for
{
err
:=
m
.
progressGames
(
ctx
)
select
{
case
<-
ctx
.
Done
()
:
return
ctx
.
Err
()
default
:
nextBlockNum
,
err
:=
m
.
fetchBlockNumber
(
ctx
)
if
err
!=
nil
{
m
.
logger
.
Error
(
"Failed to load current block number"
,
"err"
,
err
)
continue
}
if
nextBlockNum
>
blockNum
{
blockNum
=
nextBlockNum
if
err
:=
m
.
progressGames
(
ctx
,
nextBlockNum
);
err
!=
nil
{
m
.
logger
.
Error
(
"Failed to progress games"
,
"err"
,
err
)
}
if
err
:=
m
.
clock
.
SleepCtx
(
ctx
,
300
*
time
.
Millisecond
);
err
!=
nil
{
}
if
err
:=
m
.
clock
.
SleepCtx
(
ctx
,
time
.
Second
);
err
!=
nil
{
return
err
}
}
}
}
op-challenger/fault/monitor_test.go
View file @
247086e8
...
...
@@ -65,8 +65,7 @@ func TestMonitorCreateAndProgressGameAgents(t *testing.T) {
},
}
err
:=
monitor
.
progressGames
(
context
.
Background
())
require
.
NoError
(
t
,
err
)
require
.
NoError
(
t
,
monitor
.
progressGames
(
context
.
Background
(),
uint64
(
1
)))
require
.
Len
(
t
,
games
.
created
,
2
,
"should create game agents"
)
require
.
Contains
(
t
,
games
.
created
,
addr1
)
...
...
@@ -75,7 +74,7 @@ func TestMonitorCreateAndProgressGameAgents(t *testing.T) {
require
.
Equal
(
t
,
1
,
games
.
created
[
addr2
]
.
progressCount
)
// The stub will fail the test if a game is created with the same address multiple times
require
.
NoError
(
t
,
monitor
.
progressGames
(
context
.
Background
()),
"should only create games once"
)
require
.
NoError
(
t
,
monitor
.
progressGames
(
context
.
Background
()
,
uint64
(
2
)
),
"should only create games once"
)
require
.
Equal
(
t
,
2
,
games
.
created
[
addr1
]
.
progressCount
)
require
.
Equal
(
t
,
2
,
games
.
created
[
addr2
]
.
progressCount
)
}
...
...
@@ -96,8 +95,7 @@ func TestMonitorOnlyCreateSpecifiedGame(t *testing.T) {
},
}
err
:=
monitor
.
progressGames
(
context
.
Background
())
require
.
NoError
(
t
,
err
)
require
.
NoError
(
t
,
monitor
.
progressGames
(
context
.
Background
(),
uint64
(
1
)))
require
.
Len
(
t
,
games
.
created
,
1
,
"should only create allowed game"
)
require
.
Contains
(
t
,
games
.
created
,
addr2
)
...
...
@@ -122,14 +120,14 @@ func TestDeletePlayersWhenNoLongerInListOfGames(t *testing.T) {
}
source
.
games
=
allGames
require
.
NoError
(
t
,
monitor
.
progressGames
(
context
.
Background
()))
require
.
NoError
(
t
,
monitor
.
progressGames
(
context
.
Background
()
,
uint64
(
1
)
))
require
.
Len
(
t
,
games
.
created
,
2
)
require
.
Contains
(
t
,
games
.
created
,
addr1
)
require
.
Contains
(
t
,
games
.
created
,
addr2
)
// First game is now old enough it's not returned in the list of active games
source
.
games
=
source
.
games
[
1
:
]
require
.
NoError
(
t
,
monitor
.
progressGames
(
context
.
Background
()))
require
.
NoError
(
t
,
monitor
.
progressGames
(
context
.
Background
()
,
uint64
(
2
)
))
require
.
Len
(
t
,
games
.
created
,
2
)
require
.
Contains
(
t
,
games
.
created
,
addr1
)
require
.
Contains
(
t
,
games
.
created
,
addr2
)
...
...
@@ -139,7 +137,7 @@ func TestDeletePlayersWhenNoLongerInListOfGames(t *testing.T) {
// First game now reappears (inexplicably but usefully for our testing)
source
.
games
=
allGames
require
.
NoError
(
t
,
monitor
.
progressGames
(
context
.
Background
()))
require
.
NoError
(
t
,
monitor
.
progressGames
(
context
.
Background
()
,
uint64
(
3
)
))
// A new player is created for it because the original was deleted
require
.
Len
(
t
,
games
.
created
,
2
)
require
.
Contains
(
t
,
games
.
created
,
addr1
)
...
...
@@ -165,7 +163,7 @@ func TestCleanupResourcesOfCompletedGames(t *testing.T) {
},
}
err
:=
monitor
.
progressGames
(
context
.
Background
())
err
:=
monitor
.
progressGames
(
context
.
Background
()
,
uint64
(
1
)
)
require
.
NoError
(
t
,
err
)
require
.
Len
(
t
,
games
.
created
,
2
,
"should create game agents"
)
...
...
@@ -187,8 +185,10 @@ func setupMonitorTest(t *testing.T, allowedGames []common.Address) (*gameMonitor
t
:
t
,
created
:
make
(
map
[
common
.
Address
]
*
stubGame
),
}
i
:=
uint64
(
1
)
fetchBlockNum
:=
func
(
ctx
context
.
Context
)
(
uint64
,
error
)
{
return
1234
,
nil
i
++
return
i
,
nil
}
disk
:=
&
stubDiskManager
{
gameDirExists
:
make
(
map
[
common
.
Address
]
bool
),
...
...
pnpm-lock.yaml
View file @
247086e8
...
...
@@ -17,7 +17,7 @@ importers:
devDependencies
:
'
@babel/eslint-parser'
:
specifier
:
^7.18.2
version
:
7.
18.2
(@babel/core@7.22.10)(eslint@8.47.0)
version
:
7.
22.10
(@babel/core@7.22.10)(eslint@8.47.0)
'
@changesets/changelog-github'
:
specifier
:
^0.4.8
version
:
0.4.8
...
...
@@ -83,7 +83,7 @@ importers:
version
:
5.2.0(eslint@8.47.0)
eslint-plugin-react
:
specifier
:
^7.24.0
version
:
7.
24.0
(eslint@8.47.0)
version
:
7.
33.2
(eslint@8.47.0)
eslint-plugin-unicorn
:
specifier
:
^42.0.0
version
:
42.0.0(eslint@8.47.0)
...
...
@@ -662,18 +662,18 @@ packages:
-
supports-color
dev
:
true
/@babel/eslint-parser@7.
18.2
(@babel/core@7.22.10)(eslint@8.47.0)
:
resolution
:
{
integrity
:
sha512-
oFQYkE8SuH14+uR51JVAmdqwKYXGRjEXx7s+WiagVjqQ+HPE+nnwyF2qlVG8evUsUHmPcA+6YXMEDbIhEyQc5A
==
}
/@babel/eslint-parser@7.
22.10
(@babel/core@7.22.10)(eslint@8.47.0)
:
resolution
:
{
integrity
:
sha512-
0J8DNPRXQRLeR9rPaUMM3fA+RbixjnVLe/MRMYCkp3hzgsSuxCHQ8NN8xQG1wIHKJ4a1DTROTvFJdW+B5/eOsg
==
}
engines
:
{
node
:
^10.13.0 || ^12.13.0 || >=14.0.0
}
peerDependencies
:
'
@babel/core'
:
'
>=7.11.0'
'
@babel/core'
:
^7.11.0
eslint
:
^7.5.0 || ^8.0.0
dependencies
:
'
@babel/core'
:
7.22.10
'
@nicolo-ribaudo/eslint-scope-5-internals'
:
5.1.1-v1
eslint
:
8.47.0
eslint-scope
:
5.1.1
eslint-visitor-keys
:
2.1.0
semver
:
6.3.
0
semver
:
6.3.
1
dev
:
true
/@babel/generator@7.22.10
:
...
...
@@ -2670,6 +2670,12 @@ packages:
'
@motionone/dom'
:
10.16.2
tslib
:
2.6.0
/@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1
:
resolution
:
{
integrity
:
sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==
}
dependencies
:
eslint-scope
:
5.1.1
dev
:
true
/@noble/curves@1.0.0
:
resolution
:
{
integrity
:
sha512-2upgEu0iLiDVDZkNLeFV2+ht0BAVgQnEmCk6JsOch9Rp8xfkMCbvbAZlA2pBHQc73dbl+vFOXfqkf4uemdn0bw==
}
dependencies
:
...
...
@@ -5712,24 +5718,13 @@ packages:
resolution
:
{
integrity
:
sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==
}
dev
:
true
/array-includes@3.1.5
:
resolution
:
{
integrity
:
sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==
}
engines
:
{
node
:
'
>=
0.4'
}
dependencies
:
call-bind
:
1.0.2
define-properties
:
1.2.0
es-abstract
:
1.21.2
get-intrinsic
:
1.2.1
is-string
:
1.0.7
dev
:
true
/array-includes@3.1.6
:
resolution
:
{
integrity
:
sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==
}
engines
:
{
node
:
'
>=
0.4'
}
dependencies
:
call-bind
:
1.0.2
define-properties
:
1.2.0
es-abstract
:
1.2
1.2
es-abstract
:
1.2
2.1
get-intrinsic
:
1.2.1
is-string
:
1.0.7
dev
:
true
...
...
@@ -5749,7 +5744,7 @@ packages:
dependencies
:
call-bind
:
1.0.2
define-properties
:
1.2.0
es-abstract
:
1.2
1.2
es-abstract
:
1.2
2.1
es-shim-unscopables
:
1.0.0
get-intrinsic
:
1.2.1
dev
:
true
...
...
@@ -5760,29 +5755,40 @@ packages:
dependencies
:
call-bind
:
1.0.2
define-properties
:
1.2.0
es-abstract
:
1.2
1.2
es-abstract
:
1.2
2.1
es-shim-unscopables
:
1.0.0
/array.prototype.flatmap@1.
2.4
:
resolution
:
{
integrity
:
sha512-
r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2
Q==
}
/array.prototype.flatmap@1.
3.1
:
resolution
:
{
integrity
:
sha512-
8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/m
Q==
}
engines
:
{
node
:
'
>=
0.4'
}
dependencies
:
call-bind
:
1.0.2
define-properties
:
1.2.0
es-abstract
:
1.2
1.2
function-bind
:
1.1.1
es-abstract
:
1.2
2.1
es-shim-unscopables
:
1.0.0
dev
:
true
/array.prototype.flatmap@1.3.1
:
resolution
:
{
integrity
:
sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==
}
engines
:
{
node
:
'
>=
0.4'
}
/array.prototype.tosorted@1.1.1
:
resolution
:
{
integrity
:
sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==
}
dependencies
:
call-bind
:
1.0.2
define-properties
:
1.2.0
es-abstract
:
1.2
1.2
es-abstract
:
1.2
2.1
es-shim-unscopables
:
1.0.0
get-intrinsic
:
1.2.1
dev
:
true
/arraybuffer.prototype.slice@1.0.1
:
resolution
:
{
integrity
:
sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==
}
engines
:
{
node
:
'
>=
0.4'
}
dependencies
:
array-buffer-byte-length
:
1.0.0
call-bind
:
1.0.2
define-properties
:
1.2.0
get-intrinsic
:
1.2.1
is-array-buffer
:
3.0.2
is-shared-array-buffer
:
1.0.2
/arrify@1.0.1
:
resolution
:
{
integrity
:
sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==
}
engines
:
{
node
:
'
>=0.10.0'
}
...
...
@@ -5828,6 +5834,12 @@ packages:
resolution
:
{
integrity
:
sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==
}
dev
:
true
/asynciterator.prototype@1.0.0
:
resolution
:
{
integrity
:
sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==
}
dependencies
:
has-symbols
:
1.0.3
dev
:
true
/asynckit@0.4.0
:
resolution
:
{
integrity
:
sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
}
...
...
@@ -7567,11 +7579,12 @@ packages:
dependencies
:
is-arrayish
:
0.2.1
/es-abstract@1.2
1.2
:
resolution
:
{
integrity
:
sha512-
y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg
==
}
/es-abstract@1.2
2.1
:
resolution
:
{
integrity
:
sha512-
ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw
==
}
engines
:
{
node
:
'
>=
0.4'
}
dependencies
:
array-buffer-byte-length
:
1.0.0
arraybuffer.prototype.slice
:
1.0.1
available-typed-arrays
:
1.0.5
call-bind
:
1.0.2
es-set-tostringtag
:
2.0.1
...
...
@@ -7598,10 +7611,14 @@ packages:
object-keys
:
1.1.1
object.assign
:
4.1.4
regexp.prototype.flags
:
1.5.0
safe-array-concat
:
1.0.0
safe-regex-test
:
1.0.0
string.prototype.trim
:
1.2.7
string.prototype.trimend
:
1.0.6
string.prototype.trimstart
:
1.0.6
typed-array-buffer
:
1.0.0
typed-array-byte-length
:
1.0.0
typed-array-byte-offset
:
1.0.0
typed-array-length
:
1.0.4
unbox-primitive
:
1.0.2
which-typed-array
:
1.1.11
...
...
@@ -7620,6 +7637,25 @@ packages:
stop-iteration-iterator
:
1.0.0
dev
:
false
/es-iterator-helpers@1.0.13
:
resolution
:
{
integrity
:
sha512-LK3VGwzvaPWobO8xzXXGRUOGw8Dcjyfk62CsY/wfHN75CwsJPbuypOYJxK6g5RyEL8YDjIWcl6jgd8foO6mmrA==
}
dependencies
:
asynciterator.prototype
:
1.0.0
call-bind
:
1.0.2
define-properties
:
1.2.0
es-abstract
:
1.22.1
es-set-tostringtag
:
2.0.1
function-bind
:
1.1.1
get-intrinsic
:
1.2.1
globalthis
:
1.0.3
has-property-descriptors
:
1.0.0
has-proto
:
1.0.1
has-symbols
:
1.0.3
internal-slot
:
1.0.5
iterator.prototype
:
1.1.0
safe-array-concat
:
1.0.0
dev
:
true
/es-set-tostringtag@2.0.1
:
resolution
:
{
integrity
:
sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==
}
engines
:
{
node
:
'
>=
0.4'
}
...
...
@@ -8117,25 +8153,29 @@ packages:
eslint
:
8.47.0
dev
:
true
/eslint-plugin-react@7.
24.0
(eslint@8.47.0)
:
resolution
:
{
integrity
:
sha512-
KJJIx2SYx7PBx3ONe/mEeMz4YE0Lcr7feJTCMyyKb/341NcjuAgim3Acgan89GfPv7nxXK2+0slu0CWXYM4x+Q
==
}
/eslint-plugin-react@7.
33.2
(eslint@8.47.0)
:
resolution
:
{
integrity
:
sha512-
73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw
==
}
engines
:
{
node
:
'
>=4'
}
peerDependencies
:
eslint
:
^3 || ^4 || ^5 || ^6 || ^7
eslint
:
^3 || ^4 || ^5 || ^6 || ^7
|| ^8
dependencies
:
array-includes
:
3.1.5
array.prototype.flatmap
:
1.2.4
array-includes
:
3.1.6
array.prototype.flatmap
:
1.3.1
array.prototype.tosorted
:
1.1.1
doctrine
:
2.1.0
es-iterator-helpers
:
1.0.13
eslint
:
8.47.0
has
:
1.0.3
estraverse
:
5.3.0
jsx-ast-utils
:
3.2.0
minimatch
:
3.1.2
object.entries
:
1.1.4
object.fromentries
:
2.0.4
object.values
:
1.1.5
prop-types
:
15.7.2
resolve
:
2.0.0-next.3
string.prototype.matchall
:
4.0.5
object.entries
:
1.1.6
object.fromentries
:
2.0.6
object.hasown
:
1.1.2
object.values
:
1.1.6
prop-types
:
15.8.1
resolve
:
2.0.0-next.4
semver
:
6.3.1
string.prototype.matchall
:
4.0.8
dev
:
true
/eslint-plugin-unicorn@42.0.0(eslint@8.47.0)
:
...
...
@@ -9078,7 +9118,7 @@ packages:
dependencies
:
call-bind
:
1.0.2
define-properties
:
1.2.0
es-abstract
:
1.2
1.2
es-abstract
:
1.2
2.1
functions-have-names
:
1.2.3
/functional-red-black-tree@1.0.1
:
...
...
@@ -9956,6 +9996,13 @@ packages:
/is-arrayish@0.2.1
:
resolution
:
{
integrity
:
sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==
}
/is-async-function@2.0.0
:
resolution
:
{
integrity
:
sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==
}
engines
:
{
node
:
'
>=
0.4'
}
dependencies
:
has-tostringtag
:
1.0.0
dev
:
true
/is-bigint@1.0.4
:
resolution
:
{
integrity
:
sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==
}
dependencies
:
...
...
@@ -10028,6 +10075,12 @@ packages:
resolution
:
{
integrity
:
sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
}
engines
:
{
node
:
'
>=0.10.0'
}
/is-finalizationregistry@1.0.2
:
resolution
:
{
integrity
:
sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==
}
dependencies
:
call-bind
:
1.0.2
dev
:
true
/is-fullwidth-code-point@1.0.0
:
resolution
:
{
integrity
:
sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==
}
engines
:
{
node
:
'
>=0.10.0'
}
...
...
@@ -10080,7 +10133,6 @@ packages:
/is-map@2.0.2
:
resolution
:
{
integrity
:
sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==
}
dev
:
false
/is-my-ip-valid@1.0.1
:
resolution
:
{
integrity
:
sha512-jxc8cBcOWbNK2i2aTkCZP6i7wkHF1bqKFrwEHuN5Jtg5BSaZHUZQ/JTOJwoV41YvHnOaRyWWh72T/KvfNz9DJg==
}
...
...
@@ -10158,7 +10210,6 @@ packages:
/is-set@2.0.2
:
resolution
:
{
integrity
:
sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==
}
dev
:
false
/is-shared-array-buffer@1.0.2
:
resolution
:
{
integrity
:
sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==
}
...
...
@@ -10246,7 +10297,6 @@ packages:
/is-weakmap@2.0.1
:
resolution
:
{
integrity
:
sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==
}
dev
:
false
/is-weakref@1.0.2
:
resolution
:
{
integrity
:
sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==
}
...
...
@@ -10258,7 +10308,6 @@ packages:
dependencies
:
call-bind
:
1.0.2
get-intrinsic
:
1.2.1
dev
:
false
/is-windows@1.0.2
:
resolution
:
{
integrity
:
sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==
}
...
...
@@ -10281,7 +10330,6 @@ packages:
/isarray@2.0.5
:
resolution
:
{
integrity
:
sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==
}
dev
:
false
/isexe@2.0.0
:
resolution
:
{
integrity
:
sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
}
...
...
@@ -10436,6 +10484,16 @@ packages:
istanbul-lib-report
:
3.0.1
dev
:
true
/iterator.prototype@1.1.0
:
resolution
:
{
integrity
:
sha512-rjuhAk1AJ1fssphHD0IFV6TWL40CwRZ53FrztKx43yk2v6rguBYsY4Bj1VU4HmoMmKwZUlx7mfnhDf9cOp4YTw==
}
dependencies
:
define-properties
:
1.2.0
get-intrinsic
:
1.2.1
has-symbols
:
1.0.3
has-tostringtag
:
1.0.0
reflect.getprototypeof
:
1.0.3
dev
:
true
/jackspeak@2.2.1
:
resolution
:
{
integrity
:
sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==
}
engines
:
{
node
:
'
>=14'
}
...
...
@@ -12562,23 +12620,13 @@ packages:
has-symbols
:
1.0.3
object-keys
:
1.1.1
/object.entries@1.1.4
:
resolution
:
{
integrity
:
sha512-h4LWKWE+wKQGhtMjZEBud7uLGhqyLwj8fpHOarZhD2uY3C9cRtk57VQ89ke3moByLXMedqs3XCHzyb4AmA2DjA==
}
engines
:
{
node
:
'
>=
0.4'
}
dependencies
:
call-bind
:
1.0.2
define-properties
:
1.2.0
es-abstract
:
1.21.2
dev
:
true
/object.fromentries@2.0.4
:
resolution
:
{
integrity
:
sha512-EsFBshs5RUUpQEY1D4q/m59kMfz4YJvxuNCJcv/jWwOJr34EaVnG11ZrZa0UHB3wnzV1wx8m58T4hQL8IuNXlQ==
}
/object.entries@1.1.6
:
resolution
:
{
integrity
:
sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==
}
engines
:
{
node
:
'
>=
0.4'
}
dependencies
:
call-bind
:
1.0.2
define-properties
:
1.2.0
es-abstract
:
1.21.2
has
:
1.0.3
es-abstract
:
1.22.1
dev
:
true
/object.fromentries@2.0.6
:
...
...
@@ -12587,7 +12635,7 @@ packages:
dependencies
:
call-bind
:
1.0.2
define-properties
:
1.2.0
es-abstract
:
1.2
1.2
es-abstract
:
1.2
2.1
dev
:
true
/object.groupby@1.0.0
:
...
...
@@ -12595,17 +12643,15 @@ packages:
dependencies
:
call-bind
:
1.0.2
define-properties
:
1.2.0
es-abstract
:
1.2
1.2
es-abstract
:
1.2
2.1
get-intrinsic
:
1.2.1
dev
:
true
/object.values@1.1.5
:
resolution
:
{
integrity
:
sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==
}
engines
:
{
node
:
'
>=
0.4'
}
/object.hasown@1.1.2
:
resolution
:
{
integrity
:
sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==
}
dependencies
:
call-bind
:
1.0.2
define-properties
:
1.2.0
es-abstract
:
1.2
1.2
es-abstract
:
1.2
2.1
dev
:
true
/object.values@1.1.6
:
...
...
@@ -12614,7 +12660,7 @@ packages:
dependencies
:
call-bind
:
1.0.2
define-properties
:
1.2.0
es-abstract
:
1.2
1.2
es-abstract
:
1.2
2.1
dev
:
true
/obliterator@1.6.1
:
...
...
@@ -13412,8 +13458,8 @@ packages:
read
:
2.1.0
dev
:
true
/prop-types@15.
7.2
:
resolution
:
{
integrity
:
sha512-
8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ
==
}
/prop-types@15.
8.1
:
resolution
:
{
integrity
:
sha512-
oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg
==
}
dependencies
:
loose-envify
:
1.4.0
object-assign
:
4.1.1
...
...
@@ -13791,6 +13837,18 @@ packages:
engines
:
{
node
:
'
>=6'
}
dev
:
true
/reflect.getprototypeof@1.0.3
:
resolution
:
{
integrity
:
sha512-TTAOZpkJ2YLxl7mVHWrNo3iDMEkYlva/kgFcXndqMgbo/AZUmmavEkdXV+hXtE4P8xdyEKRzalaFqZVuwIk/Nw==
}
engines
:
{
node
:
'
>=
0.4'
}
dependencies
:
call-bind
:
1.0.2
define-properties
:
1.2.0
es-abstract
:
1.22.1
get-intrinsic
:
1.2.1
globalthis
:
1.0.3
which-builtin-type
:
1.1.3
dev
:
true
/regenerator-runtime@0.13.11
:
resolution
:
{
integrity
:
sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==
}
...
...
@@ -13984,11 +14042,13 @@ packages:
path-parse
:
1.0.7
supports-preserve-symlinks-flag
:
1.0.0
/resolve@2.0.0-next.3
:
resolution
:
{
integrity
:
sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==
}
/resolve@2.0.0-next.4
:
resolution
:
{
integrity
:
sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==
}
hasBin
:
true
dependencies
:
is-core-module
:
2.13.0
path-parse
:
1.0.7
supports-preserve-symlinks-flag
:
1.0.0
dev
:
true
/restore-cursor@3.1.0
:
...
...
@@ -14127,6 +14187,15 @@ packages:
tslib
:
2.6.0
dev
:
true
/safe-array-concat@1.0.0
:
resolution
:
{
integrity
:
sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==
}
engines
:
{
node
:
'
>=0.4'
}
dependencies
:
call-bind
:
1.0.2
get-intrinsic
:
1.2.1
has-symbols
:
1.0.3
isarray
:
2.0.5
/safe-buffer@5.1.2
:
resolution
:
{
integrity
:
sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
}
...
...
@@ -14720,12 +14789,12 @@ packages:
strip-ansi
:
7.1.0
dev
:
true
/string.prototype.matchall@4.0.
5
:
resolution
:
{
integrity
:
sha512-
Z5ZaXO0svs0M2xd/6By3qpeKpLKd9mO4v4q3oMEQrk8Ck4xOD5d5XeBOOjGrmVZZ/AHB1S0CgG4N5r1G9N3E2Q
==
}
/string.prototype.matchall@4.0.
8
:
resolution
:
{
integrity
:
sha512-
6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg
==
}
dependencies
:
call-bind
:
1.0.2
define-properties
:
1.2.0
es-abstract
:
1.2
1.2
es-abstract
:
1.2
2.1
get-intrinsic
:
1.2.1
has-symbols
:
1.0.3
internal-slot
:
1.0.5
...
...
@@ -14739,21 +14808,21 @@ packages:
dependencies
:
call-bind
:
1.0.2
define-properties
:
1.2.0
es-abstract
:
1.2
1.2
es-abstract
:
1.2
2.1
/string.prototype.trimend@1.0.6
:
resolution
:
{
integrity
:
sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==
}
dependencies
:
call-bind
:
1.0.2
define-properties
:
1.2.0
es-abstract
:
1.2
1.2
es-abstract
:
1.2
2.1
/string.prototype.trimstart@1.0.6
:
resolution
:
{
integrity
:
sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==
}
dependencies
:
call-bind
:
1.0.2
define-properties
:
1.2.0
es-abstract
:
1.2
1.2
es-abstract
:
1.2
2.1
/string_decoder@0.10.31
:
resolution
:
{
integrity
:
sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==
}
...
...
@@ -15552,6 +15621,33 @@ packages:
-
supports-color
dev
:
true
/typed-array-buffer@1.0.0
:
resolution
:
{
integrity
:
sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==
}
engines
:
{
node
:
'
>=
0.4'
}
dependencies
:
call-bind
:
1.0.2
get-intrinsic
:
1.2.1
is-typed-array
:
1.1.12
/typed-array-byte-length@1.0.0
:
resolution
:
{
integrity
:
sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==
}
engines
:
{
node
:
'
>=
0.4'
}
dependencies
:
call-bind
:
1.0.2
for-each
:
0.3.3
has-proto
:
1.0.1
is-typed-array
:
1.1.12
/typed-array-byte-offset@1.0.0
:
resolution
:
{
integrity
:
sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==
}
engines
:
{
node
:
'
>=
0.4'
}
dependencies
:
available-typed-arrays
:
1.0.5
call-bind
:
1.0.2
for-each
:
0.3.3
has-proto
:
1.0.1
is-typed-array
:
1.1.12
/typed-array-length@1.0.4
:
resolution
:
{
integrity
:
sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==
}
dependencies
:
...
...
@@ -16743,6 +16839,24 @@ packages:
is-string
:
1.0.7
is-symbol
:
1.0.4
/which-builtin-type@1.1.3
:
resolution
:
{
integrity
:
sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==
}
engines
:
{
node
:
'
>=
0.4'
}
dependencies
:
function.prototype.name
:
1.1.5
has-tostringtag
:
1.0.0
is-async-function
:
2.0.0
is-date-object
:
1.0.5
is-finalizationregistry
:
1.0.2
is-generator-function
:
1.0.10
is-regex
:
1.1.4
is-weakref
:
1.0.2
isarray
:
2.0.5
which-boxed-primitive
:
1.0.2
which-collection
:
1.0.1
which-typed-array
:
1.1.11
dev
:
true
/which-collection@1.0.1
:
resolution
:
{
integrity
:
sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==
}
dependencies
:
...
...
@@ -16750,7 +16864,6 @@ packages:
is-set
:
2.0.2
is-weakmap
:
2.0.1
is-weakset
:
2.0.2
dev
:
false
/which-module@1.0.0
:
resolution
:
{
integrity
:
sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ==
}
...
...
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