diff --git a/.husky/post-commit b/.husky/post-commit
index 6030411bf..78eafcbf5 100755
--- a/.husky/post-commit
+++ b/.husky/post-commit
@@ -1,9 +1,9 @@
#!/bin/bash
-set -euo pipefail
+set -eu
printf "variables:\n DOCKERFILE_HASH: $(git hash-object docker/build.Dockerfile)" > .ci/dockerfile-hash.yaml
git add .ci/dockerfile-hash.yaml
if ! git diff-index --quiet --cached HEAD --; then
git commit --amend -C HEAD --no-verify
echo "postcommit hook automatically amended commit to include new dockerfile hash"
-fi
\ No newline at end of file
+fi
diff --git a/Makefile b/Makefile
index 555f827da..91c39c607 100644
--- a/Makefile
+++ b/Makefile
@@ -27,14 +27,19 @@ install:
yarn install --inline-builds
.PHONY: app
-app: install
+app: schema install
yarn run build
.PHONY: node
-node:
+node: schema
meson setup build --native=./util/linux-amd64-gnu.ini && meson compile -C build
mv ./build/aquareum ./bin/aquareum
+.PHONY: schema
+schema:
+ mkdir -p js/app/generated \
+ && go run pkg/crypto/signers/eip712/export-schema/export-schema.go > js/app/generated/eip712-schema.json
+
.PHONY: test
test: app
go test ./pkg/... ./cmd/...
diff --git a/go.mod b/go.mod
index 71317e752..3bd729227 100644
--- a/go.mod
+++ b/go.mod
@@ -3,9 +3,11 @@ module aquareum.tv/aquareum
go 1.22.2
require (
+ firebase.google.com/go/v4 v4.14.1
github.com/NYTimes/gziphandler v1.1.1
github.com/adrg/xdg v0.4.0
github.com/dunglas/httpsfv v1.0.2
+ github.com/ethereum/go-ethereum v1.14.7
github.com/go-git/go-git/v5 v5.12.0
github.com/golang/glog v1.2.0
github.com/google/uuid v1.6.0
@@ -13,11 +15,14 @@ require (
github.com/lmittmann/tint v1.0.4
github.com/orandin/slog-gorm v1.3.2
github.com/peterbourgon/ff/v3 v3.3.1
+ github.com/rs/cors v1.7.0
github.com/samber/slog-http v1.4.0
github.com/stretchr/testify v1.9.0
gitlab.com/gitlab-org/release-cli v0.18.0
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56
+ golang.org/x/net v0.27.0
golang.org/x/sync v0.7.0
+ google.golang.org/api v0.189.0
gorm.io/driver/sqlite v1.5.5
)
@@ -37,39 +42,79 @@ require (
)
require (
+ cloud.google.com/go v0.115.0 // indirect
+ cloud.google.com/go/auth v0.7.2 // indirect
+ cloud.google.com/go/auth/oauth2adapt v0.2.3 // indirect
+ cloud.google.com/go/compute/metadata v0.5.0 // indirect
+ cloud.google.com/go/firestore v1.15.0 // indirect
+ cloud.google.com/go/iam v1.1.10 // indirect
+ cloud.google.com/go/longrunning v0.5.9 // indirect
+ cloud.google.com/go/storage v1.41.0 // indirect
dario.cat/mergo v1.0.0 // indirect
- github.com/BurntSushi/toml v0.3.1 // indirect
- github.com/Microsoft/go-winio v0.6.1 // indirect
+ github.com/BurntSushi/toml v1.3.2 // indirect
+ github.com/MicahParks/keyfunc v1.9.0 // indirect
+ github.com/Microsoft/go-winio v0.6.2 // indirect
github.com/ProtonMail/go-crypto v1.0.0 // indirect
+ github.com/bits-and-blooms/bitset v1.10.0 // indirect
+ github.com/btcsuite/btcd/btcec/v2 v2.2.0 // indirect
github.com/cloudflare/circl v1.3.7 // indirect
- github.com/cpuguy83/go-md2man/v2 v2.0.1 // indirect
+ github.com/consensys/bavard v0.1.13 // indirect
+ github.com/consensys/gnark-crypto v0.12.1 // indirect
+ github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect
+ github.com/crate-crypto/go-kzg-4844 v1.0.0 // indirect
github.com/cyphar/filepath-securejoin v0.2.4 // indirect
+ github.com/deckarep/golang-set/v2 v2.6.0 // indirect
+ github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 // indirect
github.com/emirpasic/gods v1.18.1 // indirect
+ github.com/ethereum/c-kzg-4844 v1.0.0 // indirect
+ github.com/felixge/httpsnoop v1.0.4 // indirect
+ github.com/fsnotify/fsnotify v1.6.0 // indirect
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
github.com/go-git/go-billy/v5 v5.5.0 // indirect
+ github.com/go-logr/logr v1.4.2 // indirect
+ github.com/go-logr/stdr v1.2.2 // indirect
+ github.com/golang-jwt/jwt/v4 v4.5.0 // indirect
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
+ github.com/golang/protobuf v1.5.4 // indirect
+ github.com/google/s2a-go v0.1.7 // indirect
+ github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect
+ github.com/googleapis/gax-go/v2 v2.12.5 // indirect
github.com/hashicorp/errwrap v1.1.0 // indirect
github.com/hashicorp/go-multierror v1.1.1 // indirect
github.com/hashicorp/go-version v1.4.0 // indirect
+ github.com/holiman/uint256 v1.3.0 // indirect
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
github.com/jstemmer/go-junit-report v1.0.0 // indirect
github.com/kevinburke/ssh_config v1.2.0 // indirect
github.com/mitchellh/gox v1.0.1 // indirect
github.com/mitchellh/iochan v1.0.0 // indirect
+ github.com/mmcloughlin/addchain v0.4.0 // indirect
github.com/pjbgf/sha1cd v0.3.0 // indirect
github.com/russross/blackfriday/v2 v2.1.0 // indirect
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect
- github.com/sirupsen/logrus v1.9.0 // indirect
+ github.com/sirupsen/logrus v1.9.3 // indirect
github.com/skeema/knownhosts v1.2.2 // indirect
github.com/stretchr/objx v0.5.2 // indirect
- github.com/urfave/cli/v2 v2.4.0 // indirect
+ github.com/supranational/blst v0.3.11 // indirect
+ github.com/urfave/cli/v2 v2.25.7 // indirect
github.com/xanzy/ssh-agent v0.3.3 // indirect
- go.opentelemetry.io/otel v1.19.0 // indirect
- go.opentelemetry.io/otel/trace v1.19.0 // indirect
+ github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 // indirect
+ go.opencensus.io v0.24.0 // indirect
+ go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 // indirect
+ go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect
+ go.opentelemetry.io/otel v1.24.0 // indirect
+ go.opentelemetry.io/otel/metric v1.24.0 // indirect
+ go.opentelemetry.io/otel/trace v1.24.0 // indirect
golang.org/x/crypto v0.25.0 // indirect
- golang.org/x/mod v0.19.0 // indirect
- golang.org/x/net v0.27.0 // indirect
- golang.org/x/tools v0.23.0 // indirect
+ golang.org/x/oauth2 v0.21.0 // indirect
+ golang.org/x/text v0.16.0 // indirect
+ golang.org/x/time v0.5.0 // indirect
+ google.golang.org/appengine/v2 v2.0.2 // indirect
+ google.golang.org/genproto v0.0.0-20240722135656-d784300faade // indirect
+ google.golang.org/genproto/googleapis/api v0.0.0-20240701130421-f6361c86f094 // indirect
+ google.golang.org/genproto/googleapis/rpc v0.0.0-20240722135656-d784300faade // indirect
+ google.golang.org/grpc v1.64.1 // indirect
+ google.golang.org/protobuf v1.34.2 // indirect
gopkg.in/warnings.v0 v0.1.2 // indirect
- gopkg.in/yaml.v2 v2.4.0 // indirect
+ rsc.io/tmplfunc v0.0.3 // indirect
)
diff --git a/go.sum b/go.sum
index 91558a0a5..e27e7057d 100644
--- a/go.sum
+++ b/go.sum
@@ -1,37 +1,122 @@
+cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
+cloud.google.com/go v0.115.0 h1:CnFSK6Xo3lDYRoBKEcAtia6VSC837/ZkJuRduSFnr14=
+cloud.google.com/go v0.115.0/go.mod h1:8jIM5vVgoAEoiVxQ/O4BFTfHqulPZgs/ufEzMcFMdWU=
+cloud.google.com/go/auth v0.7.2 h1:uiha352VrCDMXg+yoBtaD0tUF4Kv9vrtrWPYXwutnDE=
+cloud.google.com/go/auth v0.7.2/go.mod h1:VEc4p5NNxycWQTMQEDQF0bd6aTMb6VgYDXEwiJJQAbs=
+cloud.google.com/go/auth/oauth2adapt v0.2.3 h1:MlxF+Pd3OmSudg/b1yZ5lJwoXCEaeedAguodky1PcKI=
+cloud.google.com/go/auth/oauth2adapt v0.2.3/go.mod h1:tMQXOfZzFuNuUxOypHlQEXgdfX5cuhwU+ffUuXRJE8I=
+cloud.google.com/go/compute/metadata v0.5.0 h1:Zr0eK8JbFv6+Wi4ilXAR8FJ3wyNdpxHKJNPos6LTZOY=
+cloud.google.com/go/compute/metadata v0.5.0/go.mod h1:aHnloV2TPI38yx4s9+wAZhHykWvVCfu7hQbF+9CWoiY=
+cloud.google.com/go/firestore v1.15.0 h1:/k8ppuWOtNuDHt2tsRV42yI21uaGnKDEQnRFeBpbFF8=
+cloud.google.com/go/firestore v1.15.0/go.mod h1:GWOxFXcv8GZUtYpWHw/w6IuYNux/BtmeVTMmjrm4yhk=
+cloud.google.com/go/iam v1.1.10 h1:ZSAr64oEhQSClwBL670MsJAW5/RLiC6kfw3Bqmd5ZDI=
+cloud.google.com/go/iam v1.1.10/go.mod h1:iEgMq62sg8zx446GCaijmA2Miwg5o3UbO+nI47WHJps=
+cloud.google.com/go/longrunning v0.5.9 h1:haH9pAuXdPAMqHvzX0zlWQigXT7B0+CL4/2nXXdBo5k=
+cloud.google.com/go/longrunning v0.5.9/go.mod h1:HD+0l9/OOW0za6UWdKJtXoFAX/BGg/3Wj8p10NeWF7c=
+cloud.google.com/go/storage v1.41.0 h1:RusiwatSu6lHeEXe3kglxakAmAbfV+rhtPqA6i8RBx0=
+cloud.google.com/go/storage v1.41.0/go.mod h1:J1WCa/Z2FcgdEDuPUY8DxT5I+d9mFKsCepp5vR6Sq80=
dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk=
dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk=
-github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
+firebase.google.com/go/v4 v4.14.1 h1:4qiUETaFRWoFGE1XP5VbcEdtPX93Qs+8B/7KvP2825g=
+firebase.google.com/go/v4 v4.14.1/go.mod h1:fgk2XshgNDEKaioKco+AouiegSI9oTWVqRaBdTTGBoM=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
+github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8=
+github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
+github.com/DataDog/zstd v1.4.5 h1:EndNeuB0l9syBZhut0wns3gV1hL8zX8LIu6ZiVHWLIQ=
+github.com/DataDog/zstd v1.4.5/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo=
+github.com/MicahParks/keyfunc v1.9.0 h1:lhKd5xrFHLNOWrDc4Tyb/Q1AJ4LCzQ48GVJyVIID3+o=
+github.com/MicahParks/keyfunc v1.9.0/go.mod h1:IdnCilugA0O/99dW+/MkvlyrsX8+L8+x95xuVNtM5jw=
github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY=
-github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow=
-github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM=
+github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY=
+github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU=
github.com/NYTimes/gziphandler v1.1.1 h1:ZUDjpQae29j0ryrS0u/B8HZfJBtBQHjqw2rQ2cqUQ3I=
github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c=
github.com/ProtonMail/go-crypto v1.0.0 h1:LRuvITjQWX+WIfr930YHG2HNfjR1uOfyf5vE0kC2U78=
github.com/ProtonMail/go-crypto v1.0.0/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0=
+github.com/StackExchange/wmi v1.2.1 h1:VIkavFPXSjcnS+O8yTq7NI32k0R5Aj+v39y29VYDOSA=
+github.com/StackExchange/wmi v1.2.1/go.mod h1:rcmrprowKIVzvc+NUiLncP2uuArMWLCbu9SBzvHz7e8=
+github.com/VictoriaMetrics/fastcache v1.12.2 h1:N0y9ASrJ0F6h0QaC3o6uJb3NIZ9VKLjCM7NQbSmF7WI=
+github.com/VictoriaMetrics/fastcache v1.12.2/go.mod h1:AmC+Nzz1+3G2eCPapF6UcsnkThDcMsQicp4xDukwJYI=
github.com/adrg/xdg v0.4.0 h1:RzRqFcjH4nE5C6oTAxhBtoE2IRyjBSa62SCbyPidvls=
github.com/adrg/xdg v0.4.0/go.mod h1:N6ag73EX4wyxeaoeHctc1mas01KZgsj5tYiAIwqJE/E=
github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8=
github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4=
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio=
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
+github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
+github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
+github.com/bits-and-blooms/bitset v1.10.0 h1:ePXTeiPEazB5+opbv5fr8umg2R/1NlzgDsyepwsSr88=
+github.com/bits-and-blooms/bitset v1.10.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8=
+github.com/btcsuite/btcd/btcec/v2 v2.2.0 h1:fzn1qaOt32TuLjFlkzYSsBC35Q3KUjT1SwPxiMSCF5k=
+github.com/btcsuite/btcd/btcec/v2 v2.2.0/go.mod h1:U7MHm051Al6XmscBQ0BoNydpOTsFAn707034b5nY8zU=
+github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 h1:q0rUy8C/TYNBQS1+CGKw68tLOFYSNEs0TFnxxnS9+4U=
+github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc=
github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0=
+github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
+github.com/cespare/cp v0.1.0 h1:SE+dxFebS7Iik5LK0tsi1k9ZCxEaFX4AjQmoyA+1dJk=
+github.com/cespare/cp v0.1.0/go.mod h1:SOGHArjBr4JWaSDEVpWpo/hNg6RoKrls6Oh40hiwW+s=
+github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
+github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
+github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA=
github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU=
github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA=
-github.com/cpuguy83/go-md2man/v2 v2.0.1 h1:r/myEWzV9lfsM1tFLgDyu0atFtJ1fXn261LKYj/3DxU=
-github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
+github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
+github.com/cockroachdb/errors v1.11.3 h1:5bA+k2Y6r+oz/6Z/RFlNeVCesGARKuC6YymtcDrbC/I=
+github.com/cockroachdb/errors v1.11.3/go.mod h1:m4UIW4CDjx+R5cybPsNrRbreomiFqt8o1h1wUVazSd8=
+github.com/cockroachdb/fifo v0.0.0-20240606204812-0bbfbd93a7ce h1:giXvy4KSc/6g/esnpM7Geqxka4WSqI1SZc7sMJFd3y4=
+github.com/cockroachdb/fifo v0.0.0-20240606204812-0bbfbd93a7ce/go.mod h1:9/y3cnZ5GKakj/H4y9r9GTjCvAFta7KLgSHPJJYc52M=
+github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b h1:r6VH0faHjZeQy818SGhaone5OnYfxFR/+AzdY3sf5aE=
+github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs=
+github.com/cockroachdb/pebble v1.1.1 h1:XnKU22oiCLy2Xn8vp1re67cXg4SAasg/WDt1NtcRFaw=
+github.com/cockroachdb/pebble v1.1.1/go.mod h1:4exszw1r40423ZsmkG/09AFEG83I0uDgfujJdbL6kYU=
+github.com/cockroachdb/redact v1.1.5 h1:u1PMllDkdFfPWaNGMyLD1+so+aq3uUItthCFqzwPJ30=
+github.com/cockroachdb/redact v1.1.5/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg=
+github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 h1:zuQyyAKVxetITBuuhv3BI9cMrmStnpT18zmgmTxunpo=
+github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06/go.mod h1:7nc4anLGjupUW/PeY5qiNYsdNXj7zopG+eqsS7To5IQ=
+github.com/consensys/bavard v0.1.13 h1:oLhMLOFGTLdlda/kma4VOJazblc7IM5y5QPd2A/YjhQ=
+github.com/consensys/bavard v0.1.13/go.mod h1:9ItSMtA/dXMAiL7BG6bqW2m3NdSEObYWoH223nGHukI=
+github.com/consensys/gnark-crypto v0.12.1 h1:lHH39WuuFgVHONRl3J0LRBtuYdQTumFSDtJF7HpyG8M=
+github.com/consensys/gnark-crypto v0.12.1/go.mod h1:v2Gy7L/4ZRosZ7Ivs+9SfUDr0f5UlG+EM5t7MPHiLuY=
+github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w=
+github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
+github.com/crate-crypto/go-ipa v0.0.0-20240223125850-b1e8a79f509c h1:uQYC5Z1mdLRPrZhHjHxufI8+2UG/i25QG92j0Er9p6I=
+github.com/crate-crypto/go-ipa v0.0.0-20240223125850-b1e8a79f509c/go.mod h1:geZJZH3SzKCqnz5VT0q/DyIG/tvu/dZk+VIfXicupJs=
+github.com/crate-crypto/go-kzg-4844 v1.0.0 h1:TsSgHwrkTKecKJ4kadtHi4b3xHW5dCFUDFnUp1TsawI=
+github.com/crate-crypto/go-kzg-4844 v1.0.0/go.mod h1:1kMhvPgI0Ky3yIa+9lFySEBUBXkYxeOi8ZF1sYioxhc=
github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg=
github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/deckarep/golang-set/v2 v2.6.0 h1:XfcQbWM1LlMB8BsJ8N9vW5ehnnPVIw0je80NsVHagjM=
+github.com/deckarep/golang-set/v2 v2.6.0/go.mod h1:VAky9rY/yGXJOLEDv3OMci+7wtDpOF4IN+y82NBOac4=
+github.com/decred/dcrd/crypto/blake256 v1.0.0 h1:/8DMNYp9SGi5f0w7uCm6d6M4OU2rGFK09Y2A4Xv7EE0=
+github.com/decred/dcrd/crypto/blake256 v1.0.0/go.mod h1:sQl2p6Y26YV+ZOcSTP6thNdn47hh8kt6rqSlvmrXFAc=
+github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 h1:YLtO71vCjJRCBcrPMtQ9nqBsqpA1m5sE92cU+pd5Mcc=
+github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1/go.mod h1:hyedUtir6IdtD/7lIxGeCxkaw7y45JueMRL4DIyJDKs=
github.com/dunglas/httpsfv v1.0.2 h1:iERDp/YAfnojSDJ7PW3dj1AReJz4MrwbECSSE59JWL0=
github.com/dunglas/httpsfv v1.0.2/go.mod h1:zID2mqw9mFsnt7YC3vYQ9/cjq30q41W+1AnDwH8TiMg=
github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a h1:mATvB/9r/3gvcejNsXKSkQ6lcIaNec2nyfOdlTBR2lU=
github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM=
github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc=
github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ=
+github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
+github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
+github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
+github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
+github.com/ethereum/c-kzg-4844 v1.0.0 h1:0X1LBXxaEtYD9xsyj9B9ctQEZIpnvVDeoBx8aHEwTNA=
+github.com/ethereum/c-kzg-4844 v1.0.0/go.mod h1:VewdlzQmpT5QSrVhbBuGoCdFJkpaJlO1aQputP83wc0=
+github.com/ethereum/go-ethereum v1.14.7 h1:EHpv3dE8evQmpVEQ/Ne2ahB06n2mQptdwqaMNhAT29g=
+github.com/ethereum/go-ethereum v1.14.7/go.mod h1:Mq0biU2jbdmKSZoqOj29017ygFrMnB5/Rifwp980W4o=
+github.com/ethereum/go-verkle v0.1.1-0.20240306133620-7d920df305f0 h1:KrE8I4reeVvf7C1tm8elRjj4BdscTYzz/WAbYyf/JI4=
+github.com/ethereum/go-verkle v0.1.1-0.20240306133620-7d920df305f0/go.mod h1:D9AJLVXSyZQXJQVk8oh1EwjISE+sJTn2duYIZC0dy3w=
+github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=
+github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
+github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY=
+github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw=
+github.com/getsentry/sentry-go v0.27.0 h1:Pv98CIbtB3LkMWmXi4Joa5OOcwbmnX88sF5qbK3r3Ps=
+github.com/getsentry/sentry-go v0.27.0/go.mod h1:lc76E2QywIyW8WuBnwl8Lc4bkmQH4+w1gwTf25trprY=
github.com/gliderlabs/ssh v0.3.7 h1:iV3Bqi942d9huXnzEF2Mt+CY9gLu8DNM4Obd+8bODRE=
github.com/gliderlabs/ssh v0.3.7/go.mod h1:zpHEXBstFnQYtGnB8k8kQLol82umzn/2/snG7alWVD8=
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI=
@@ -42,14 +127,61 @@ github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMj
github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII=
github.com/go-git/go-git/v5 v5.12.0 h1:7Md+ndsjrzZxbddRDZjF14qK+NN56sy6wkqaVrjZtys=
github.com/go-git/go-git/v5 v5.12.0/go.mod h1:FTM9VKtnI2m65hNI/TenDDDnUf2Q9FHnXYjuz9i5OEY=
+github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
+github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
+github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
+github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
+github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
+github.com/go-ole/go-ole v1.3.0 h1:Dt6ye7+vXGIKZ7Xtk4s6/xVdGDQynvom7xCFEdWr6uE=
+github.com/go-ole/go-ole v1.3.0/go.mod h1:5LS6F96DhAwUc7C+1HLexzMXY1xGRSryjyPPKW6zv78=
+github.com/gofrs/flock v0.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw=
+github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU=
+github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
+github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
+github.com/golang-jwt/jwt/v4 v4.4.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0=
+github.com/golang-jwt/jwt/v4 v4.5.0 h1:7cYmW1XlMY7h7ii7UhUyChSgS5wUJEnm9uZVTGqOWzg=
+github.com/golang-jwt/jwt/v4 v4.5.0/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0=
+github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68=
github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w=
+github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE=
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
+github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
+github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
+github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
+github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
+github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8=
+github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA=
+github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs=
+github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w=
+github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
+github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8=
+github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
+github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
+github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
+github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb h1:PBC98N2aIaM3XXiurYmW7fx4GZkL8feAMVq7nEjURHk=
+github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
+github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
+github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
+github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
+github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
+github.com/google/martian/v3 v3.3.3 h1:DIhPTQrbPkgs2yJYdXU/eNACCG5DVQjySNRNlflZ9Fc=
+github.com/google/martian/v3 v3.3.3/go.mod h1:iEPrYcgCF7jA9OtScMFQyAlZZ4YXTKEtJ1E6RWzmBA0=
+github.com/google/s2a-go v0.1.7 h1:60BLSyTrOV4/haCDW4zb1guZItoSq8foHCXrAnjBo/o=
+github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw=
+github.com/google/subcommands v1.2.0/go.mod h1:ZjhPrFU+Olkh9WazFPsl27BQ4UPiG37m3yTrtFlrHVk=
+github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+github.com/googleapis/enterprise-certificate-proxy v0.3.2 h1:Vie5ybvEvT75RniqhfFxPRy3Bf7vr3h0cechB90XaQs=
+github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0=
+github.com/googleapis/gax-go/v2 v2.12.5 h1:8gw9KZK8TiVKB6q3zHY3SBzLnrGp6HQjyfYBYGmXdxA=
+github.com/googleapis/gax-go/v2 v2.12.5/go.mod h1:BUDKcWo+RaKq5SC9vVYL0wLADa3VcfswbOMMRmB9H3E=
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
@@ -58,6 +190,8 @@ github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9
github.com/hashicorp/go-version v1.0.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
github.com/hashicorp/go-version v1.4.0 h1:aAQzgqIrRKRa7w75CKpbBxYsmUoPjzVm1W59ca1L0J4=
github.com/hashicorp/go-version v1.4.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
+github.com/holiman/uint256 v1.3.0 h1:4wdcm/tnd0xXdu7iS3ruNvxkWwrb4aeBQv19ayYn8F4=
+github.com/holiman/uint256 v1.3.0/go.mod h1:EOMSn4q6Nyt9P6efbI3bueV4e1b3dGlUCXeiRV4ng7E=
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A=
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo=
github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E=
@@ -70,6 +204,8 @@ github.com/julienschmidt/httprouter v1.3.0 h1:U0609e9tgbseu3rBINet9P48AI/D3oJs4d
github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM=
github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4=
github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM=
+github.com/klauspost/compress v1.16.0 h1:iULayQNOReoYUe+1qtKOqw9CwJv3aNQu8ivo7lw1HU4=
+github.com/klauspost/compress v1.16.0/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
@@ -77,16 +213,29 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
+github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
+github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
+github.com/leanovate/gopter v0.2.9 h1:fQjYxZaynp97ozCzfOyOuAGOU4aU/z37zf/tOujFk7c=
+github.com/leanovate/gopter v0.2.9/go.mod h1:U2L/78B+KVFIx2VmW6onHJQzXtFb+p5y3y2Sh+Jxxv8=
github.com/lmittmann/tint v1.0.4 h1:LeYihpJ9hyGvE0w+K2okPTGUdVLfng1+nDNVR4vWISc=
github.com/lmittmann/tint v1.0.4/go.mod h1:HIS3gSy7qNwGCj+5oRjAutErFBl4BzdQP6cJZ0NfMwE=
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
+github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU=
+github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
github.com/mattn/go-sqlite3 v1.14.22 h1:2gZY6PC6kBnID23Tichd1K+Z0oS6nE/XwU+Vz/5o4kU=
github.com/mattn/go-sqlite3 v1.14.22/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y=
+github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI=
+github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4=
github.com/mitchellh/gox v1.0.1 h1:x0jD3dcHk9a9xPSDN6YEL4xL6Qz0dvNYm8yZqui5chI=
github.com/mitchellh/gox v1.0.1/go.mod h1:ED6BioOGXMswlXa2zxfh/xdd5QhwYliBFn9V18Ap4z4=
github.com/mitchellh/iochan v1.0.0 h1:C+X3KsSTLFVBr/tK1eYN/vs4rJcvsiLU338UhYPJWeY=
github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY=
+github.com/mmcloughlin/addchain v0.4.0 h1:SobOdjm2xLj1KkXN5/n0xTIWyZA2+s99UCY1iPfkHRY=
+github.com/mmcloughlin/addchain v0.4.0/go.mod h1:A86O+tHqZLMNO4w6ZZ4FlVQEadcoqkyU72HC5wJ4RlU=
+github.com/mmcloughlin/profile v0.1.1/go.mod h1:IhHD7q1ooxgwTgjxQYkACGA77oFTDdFVejUS1/tS/qU=
+github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec=
+github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY=
github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI=
github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M=
github.com/orandin/slog-gorm v1.3.2 h1:C0lKDQPAx/pF+8K2HL7bdShPwOEJpPM0Bn80zTzxU1g=
@@ -99,68 +248,126 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
+github.com/prometheus/client_golang v1.12.0 h1:C+UIj/QWtmqY13Arb8kwMt5j34/0Z2iKamrJ+ryC0Gg=
+github.com/prometheus/client_golang v1.12.0/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY=
+github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
+github.com/prometheus/client_model v0.2.1-0.20210607210712-147c58e9608a h1:CmF68hwI0XsOQ5UwlBopMi2Ow4Pbg32akc4KIVCOm+Y=
+github.com/prometheus/client_model v0.2.1-0.20210607210712-147c58e9608a/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w=
+github.com/prometheus/common v0.32.1 h1:hWIdL3N2HoUx3B8j3YN9mWor0qhY/NlEKZEaXxuIRh4=
+github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls=
+github.com/prometheus/procfs v0.7.3 h1:4jVXhlkAyzOScmCkXBTOLRLTz8EeU+eyjrwB/EPq0VU=
+github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA=
+github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY=
+github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M=
github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA=
+github.com/rs/cors v1.7.0 h1:+88SsELBHx5r+hZ8TCkggzSstaWNbDvThkVK8H6f9ik=
+github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU=
github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/samber/slog-http v1.4.0 h1:s2hSzMlQBFDIPTUBDm6G+SGfv7F4xR9q8edjxtY6aho=
github.com/samber/slog-http v1.4.0/go.mod h1:n6h4x2ZBeTgLqMKf95EuNlU6mcJF1b/RVLxo1od5+V0=
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8=
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4=
+github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible h1:Bn1aCHHRnjv4Bl16T8rcaFjYSrGrIZvpiGO6P3Q4GpU=
+github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA=
github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
-github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0=
-github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
+github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
+github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
github.com/skeema/knownhosts v1.2.2 h1:Iug2P4fLmDw9f41PB6thxUkNUkJzB5i+1/exaj40L3A=
github.com/skeema/knownhosts v1.2.2/go.mod h1:xYbVRSPxqBZFrdmDyMmsOs+uX1UZC3nTN3ThzgDxUwo=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
+github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
+github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY=
github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
+github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
+github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
+github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
-github.com/urfave/cli/v2 v2.4.0 h1:m2pxjjDFgDxSPtO8WSdbndj17Wu2y8vOT86wE/tjr+I=
-github.com/urfave/cli/v2 v2.4.0/go.mod h1:NX9W0zmTvedE5oDoOMs2RTC8RvdK98NTYZE5LbaEYPg=
+github.com/supranational/blst v0.3.11 h1:LyU6FolezeWAhvQk0k6O/d49jqgO52MSDDfYgbeoEm4=
+github.com/supranational/blst v0.3.11/go.mod h1:jZJtfjgudtNl4en1tzwPIV3KjUnQUvG3/j+w+fVonLw=
+github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 h1:epCh84lMvA70Z7CTTCmYQn2CKbY8j86K7/FAIr141uY=
+github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7/go.mod h1:q4W45IWZaF22tdD+VEXcAWRA037jwmWEB5VWYORlTpc=
+github.com/tklauser/go-sysconf v0.3.12 h1:0QaGUFOdQaIVdPgfITYzaTegZvdCjmYO52cSFAEVmqU=
+github.com/tklauser/go-sysconf v0.3.12/go.mod h1:Ho14jnntGE1fpdOqQEEaiKRpvIavV0hSfmBq8nJbHYI=
+github.com/tklauser/numcpus v0.6.1 h1:ng9scYS7az0Bk4OZLvrNXNSAO2Pxr1XXRAPyjhIx+Fk=
+github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9fESEdAacY=
+github.com/urfave/cli/v2 v2.25.7 h1:VAzn5oq403l5pHjc4OhD54+XGO9cdKVL/7lDjF+iKUs=
+github.com/urfave/cli/v2 v2.25.7/go.mod h1:8qnjx1vcq5s2/wpsqoZFndg2CE5tNFyrTvS6SinrnYQ=
github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM=
github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw=
+github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 h1:bAn7/zixMGCfxrRTfdpNzjtPYqr8smhKouy9mxVdGPU=
+github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673/go.mod h1:N3UwUGtsrSj3ccvlPHLoLsHnpR27oXr4ZE984MbSER8=
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
gitlab.com/gitlab-org/release-cli v0.18.0 h1:vVNxGRIy4w4FIo0ucO8ZyYecSH+jwV+vdZygpBt+E/0=
gitlab.com/gitlab-org/release-cli v0.18.0/go.mod h1:VRzoYTcZ/1CgyaQBKbz0LIfjigKGUh0leWA1f1cLAFc=
-go.opentelemetry.io/otel v1.19.0 h1:MuS/TNf4/j4IXsZuJegVzI1cwut7Qc00344rgH7p8bs=
-go.opentelemetry.io/otel v1.19.0/go.mod h1:i0QyjOq3UPoTzff0PJB2N66fb4S0+rSbSB15/oyH9fY=
-go.opentelemetry.io/otel/trace v1.19.0 h1:DFVQmlVbfVeOuBRrwdtaehRrWiL1JoVs9CPIQ1Dzxpg=
-go.opentelemetry.io/otel/trace v1.19.0/go.mod h1:mfaSyvGyEJEI0nyV2I4qhNQnbBOUUmYZpYojqMnX2vo=
+go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0=
+go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo=
+go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 h1:4Pp6oUg3+e/6M4C0A/3kJ2VYa++dsWVTtGgLVj5xtHg=
+go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0/go.mod h1:Mjt1i1INqiaoZOMGR1RIUJN+i3ChKoFRqzrRQhlkbs0=
+go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk=
+go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw=
+go.opentelemetry.io/otel v1.24.0 h1:0LAOdjNmQeSTzGBzduGe/rU4tZhMwL5rWgtp9Ku5Jfo=
+go.opentelemetry.io/otel v1.24.0/go.mod h1:W7b9Ozg4nkF5tWI5zsXkaKKDjdVjpD4oAt9Qi/MArHo=
+go.opentelemetry.io/otel/metric v1.24.0 h1:6EhoGWWK28x1fbpA4tYTOWBkPefTDQnb8WSGXlc88kI=
+go.opentelemetry.io/otel/metric v1.24.0/go.mod h1:VYhLe1rFfxuTXLgj4CBiyz+9WYBA8pNGJgDcSFRKBco=
+go.opentelemetry.io/otel/sdk v1.24.0 h1:YMPPDNymmQN3ZgczicBY3B6sf9n62Dlj9pWD3ucgoDw=
+go.opentelemetry.io/otel/sdk v1.24.0/go.mod h1:KVrIYw6tEubO9E96HQpcmpTKDVn9gdv35HoYiQWGDFg=
+go.opentelemetry.io/otel/trace v1.24.0 h1:CsKnnL4dUAr/0llH9FKuc698G04IrpWV0MQA/Y1YELI=
+go.opentelemetry.io/otel/trace v1.24.0/go.mod h1:HPc3Xr/cOApsBI154IU0OI0HJexz+aw5uPdbs3UCjNU=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
+golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
golang.org/x/crypto v0.25.0 h1:ypSNr+bnYL2YhwoMt2zPxHFmbAN1KZs/njMG3hxUp30=
golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M=
+golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 h1:2dVuKD2vS7b0QIHQbpyTISPd0LeHDbnYEryqj5Q1ug8=
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56/go.mod h1:M4RDyNAINzryxdtnbRXRL/OHtkFuWGRjvuhBJpk2IlY=
+golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
+golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
+golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
-golang.org/x/mod v0.19.0 h1:fEdghXQSo20giMthA7cd28ZC+jts4amQ3YMXiP5oMQ8=
-golang.org/x/mod v0.19.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
+golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20220708220712-1185a9018129/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys=
golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE=
+golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
+golang.org/x/oauth2 v0.21.0 h1:tsimM75w1tF/uws5rbeHzIWxEqElMehnc+iW793zsZs=
+golang.org/x/oauth2 v0.21.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
+golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M=
golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
+golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -169,6 +376,7 @@ golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
@@ -191,13 +399,53 @@ golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4=
golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI=
+golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk=
+golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
+golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
+golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
-golang.org/x/tools v0.23.0 h1:SGsXPZ+2l4JsgaCKkx+FQ9YZ5XEtA1GZYuoDjenLjvg=
-golang.org/x/tools v0.23.0/go.mod h1:pnu6ufv6vQkll6szChhK3C3L/ruaIv5eBeztNG8wtsI=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU=
+golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90=
+google.golang.org/api v0.189.0 h1:equMo30LypAkdkLMBqfeIqtyAnlyig1JSZArl4XPwdI=
+google.golang.org/api v0.189.0/go.mod h1:FLWGJKb0hb+pU2j+rJqwbnsF+ym+fQs73rbJ+KAUgy8=
+google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
+google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
+google.golang.org/appengine/v2 v2.0.2 h1:MSqyWy2shDLwG7chbwBJ5uMyw6SNqJzhJHNDwYB0Akk=
+google.golang.org/appengine/v2 v2.0.2/go.mod h1:PkgRUWz4o1XOvbqtWTkBtCitEJ5Tp4HoVEdMMYQR/8E=
+google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
+google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
+google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
+google.golang.org/genproto v0.0.0-20240722135656-d784300faade h1:lKFsS7wpngDgSCeFn7MoLy+wBDQZ1UQIJD4UNM1Qvkg=
+google.golang.org/genproto v0.0.0-20240722135656-d784300faade/go.mod h1:FfBgJBJg9GcpPvKIuHSZ/aE1g2ecGL74upMzGZjiGEY=
+google.golang.org/genproto/googleapis/api v0.0.0-20240701130421-f6361c86f094 h1:0+ozOGcrp+Y8Aq8TLNN2Aliibms5LEzsq99ZZmAGYm0=
+google.golang.org/genproto/googleapis/api v0.0.0-20240701130421-f6361c86f094/go.mod h1:fJ/e3If/Q67Mj99hin0hMhiNyCRmt6BQ2aWIJshUSJw=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20240722135656-d784300faade h1:oCRSWfwGXQsqlVdErcyTt4A93Y8fo0/9D4b1gnI++qo=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20240722135656-d784300faade/go.mod h1:Ue6ibwXGpU+dqIcODieyLOcgj7z8+IcskoNIgZxtrFY=
+google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
+google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
+google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
+google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
+google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
+google.golang.org/grpc v1.64.1 h1:LKtvyfbX3UGVPFcGqJ9ItpVWW6oN/2XqTxfAnwRRXiA=
+google.golang.org/grpc v1.64.1/go.mod h1:hiQF4LFZelK2WKaP6W0L92zGHtiQdZxk8CrSdvyjeP0=
+google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
+google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
+google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
+google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE=
+google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
+google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
+google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
+google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
+google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
+google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg=
+google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
@@ -205,7 +453,6 @@ gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EV
gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME=
gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
@@ -215,3 +462,7 @@ gorm.io/driver/sqlite v1.5.5 h1:7MDMtUZhV065SilG62E0MquljeArQZNfJnjd9i9gx3E=
gorm.io/driver/sqlite v1.5.5/go.mod h1:6NgQ7sQWAIFsPrJJl1lSNSu2TABh0ZZ/zm5fosATavE=
gorm.io/gorm v1.25.9 h1:wct0gxZIELDk8+ZqF/MVnHLkA1rvYlBWUMv2EdsK1g8=
gorm.io/gorm v1.25.9/go.mod h1:hbnx/Oo0ChWMn1BIhpy1oYozzpM15i4YPuHDmfYtwg8=
+honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
+honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
+rsc.io/tmplfunc v0.0.3 h1:53XFQh69AfOa8Tw0Jm7t+GV7KZhOi6jzsCzTtKbMvzU=
+rsc.io/tmplfunc v0.0.3/go.mod h1:AG3sTPzElb1Io3Yg4voV9AGZJuleGAwaVRxL9M49PhA=
diff --git a/js/app/.gitignore b/js/app/.gitignore
index 3cce0b229..bceeb6ddb 100644
--- a/js/app/.gitignore
+++ b/js/app/.gitignore
@@ -57,3 +57,4 @@ ios/Aquareum.xcworkspace/xcshareddata
ios
android
code-signing-dev
+generated
diff --git a/js/app/app/(tabs)/_layout.tsx b/js/app/app/(tabs)/_layout.tsx
index 93349cbc2..5d9b72ec9 100644
--- a/js/app/app/(tabs)/_layout.tsx
+++ b/js/app/app/(tabs)/_layout.tsx
@@ -1,26 +1,34 @@
import { Link, Tabs } from "expo-router";
-import { Button, useTheme } from "tamagui";
+import { Button, useTheme, View } from "tamagui";
import { Atom, AudioWaveform } from "@tamagui/lucide-icons";
-import MainScreen from "./index";
export default function TabLayout() {
const theme = useTheme();
return (
-
- //
- // ,
- // headerShown: false,
- // }}
- // />
- //
+ //
+ }
+ >
+ ,
+ headerShown: false,
+ }}
+ />
+ ,
+ headerShown: false,
+ }}
+ />
+
);
}
diff --git a/js/app/app/(tabs)/admin.tsx b/js/app/app/(tabs)/admin.tsx
new file mode 100644
index 000000000..75e453faa
--- /dev/null
+++ b/js/app/app/(tabs)/admin.tsx
@@ -0,0 +1,5 @@
+import Admin from "components/admin";
+
+export default function AdminPage() {
+ return ;
+}
diff --git a/js/app/app/(tabs)/index.tsx b/js/app/app/(tabs)/index.tsx
index d7a77d508..c242120ac 100644
--- a/js/app/app/(tabs)/index.tsx
+++ b/js/app/app/(tabs)/index.tsx
@@ -46,6 +46,7 @@ import { ImageBackground } from "react-native";
import * as env from "constants/env";
import { useState } from "react";
import GetApps from "components/get-apps";
+import { Link } from "expo-router";
const WebviewIframe = ({ src }) => {
if (isWeb) {
diff --git a/js/app/app/Provider.tsx b/js/app/app/Provider.tsx
index 016dd5684..0582ff896 100644
--- a/js/app/app/Provider.tsx
+++ b/js/app/app/Provider.tsx
@@ -3,6 +3,7 @@ import { TamaguiProvider, type TamaguiProviderProps } from "tamagui";
import { ToastProvider, ToastViewport } from "@tamagui/toast";
import { CurrentToast } from "./CurrentToast";
import { config } from "../tamagui.config";
+import NativeProvider from "components/providers";
export function Provider({
children,
@@ -26,7 +27,7 @@ export function Provider({
]
}
>
- {children}
+ {children}
diff --git a/js/app/components/admin.native.tsx b/js/app/components/admin.native.tsx
new file mode 100644
index 000000000..f728f4b38
--- /dev/null
+++ b/js/app/components/admin.native.tsx
@@ -0,0 +1,9 @@
+import { View, Text } from "tamagui";
+
+export default function Admin() {
+ return (
+
+ web-only for now
+
+ );
+}
diff --git a/js/app/components/admin.tsx b/js/app/components/admin.tsx
new file mode 100644
index 000000000..1f17fdcc1
--- /dev/null
+++ b/js/app/components/admin.tsx
@@ -0,0 +1,83 @@
+import { Button, View, TextArea, Input, Label } from "tamagui";
+import { ConnectButton } from "@rainbow-me/rainbowkit";
+import { useSignTypedData, useAccount } from "wagmi";
+import schema from "generated/eip712-schema.json";
+import { useState } from "react";
+import { useToastController } from "@tamagui/toast";
+import { EXPO_PUBLIC_AQUAREUM_URL } from "constants/env";
+
+export default function AdminPage() {
+ const { signTypedDataAsync } = useSignTypedData();
+ const account = useAccount();
+ const [streamer, setStreamer] = useState("");
+ const [title, setTitle] = useState("");
+ const [loading, setLoading] = useState(false);
+ const toast = useToastController();
+ const disabled = loading || streamer === "" || title === "";
+ return (
+
+
+ {account.address && (
+
+
+
+
+
+ )}
+
+ );
+}
diff --git a/js/app/components/providers.native.tsx b/js/app/components/providers.native.tsx
new file mode 100644
index 000000000..9e93bb5d4
--- /dev/null
+++ b/js/app/components/providers.native.tsx
@@ -0,0 +1,5 @@
+import React from "react";
+
+export default function Provider({ children }: { children: React.ReactNode }) {
+ return <>{children}>;
+}
diff --git a/js/app/components/providers.tsx b/js/app/components/providers.tsx
new file mode 100644
index 000000000..c11eb919b
--- /dev/null
+++ b/js/app/components/providers.tsx
@@ -0,0 +1,42 @@
+// Web-only provider
+import "@rainbow-me/rainbowkit/styles.css";
+
+import { getDefaultConfig, RainbowKitProvider } from "@rainbow-me/rainbowkit";
+import { WagmiProvider } from "wagmi";
+import { mainnet, polygon, optimism, arbitrum, base } from "wagmi/chains";
+import { QueryClientProvider, QueryClient } from "@tanstack/react-query";
+import { View, Text } from "tamagui";
+
+const queryClient = new QueryClient();
+
+const config = getDefaultConfig({
+ appName: "Aquareum",
+ appUrl: "https://aquareum.tv",
+ projectId: "32c8489fbff0b10e2e011b36c36b4466",
+ chains: [mainnet, polygon, optimism, arbitrum, base],
+ ssr: true, // If your dApp uses server side rendering (SSR)
+});
+
+export default function Provider({ children }: { children: React.ReactNode }) {
+ return (
+
+
+
+ {/* RainbowKitProvider hides our children unless we do this...? */}
+
+ {children}
+
+
+
+
+ );
+}
diff --git a/js/app/package.json b/js/app/package.json
index 1430d1a49..aa1658e72 100644
--- a/js/app/package.json
+++ b/js/app/package.json
@@ -24,12 +24,14 @@
"preset": "jest-expo"
},
"dependencies": {
+ "@rainbow-me/rainbowkit": "2",
"@react-native-firebase/app": "^20.3.0",
"@react-native-firebase/messaging": "^20.3.0",
"@react-navigation/native": "^6.1.17",
"@tamagui/config": "^1.102.3",
"@tamagui/lucide-icons": "^1.102.3",
"@tamagui/toast": "^1.102.3",
+ "@tanstack/react-query": "^5.51.16",
"babel-preset-expo": "^11.0.12",
"burnt": "^0.12.2",
"chrono-node": "^2.7.6",
@@ -54,7 +56,9 @@
"react-native-svg": "15.4.0",
"react-native-web": "^0.19.12",
"react-native-webview": "13.10.5",
- "tamagui": "^1.102.3"
+ "tamagui": "^1.102.3",
+ "viem": "2.x",
+ "wagmi": "2"
},
"devDependencies": {
"@babel/core": "^7.24.9",
diff --git a/pkg/api/api.go b/pkg/api/api.go
index 704961f84..1334b61d8 100644
--- a/pkg/api/api.go
+++ b/pkg/api/api.go
@@ -13,27 +13,35 @@ import (
"time"
"github.com/NYTimes/gziphandler"
+ "github.com/julienschmidt/httprouter"
+ "github.com/rs/cors"
sloghttp "github.com/samber/slog-http"
"aquareum.tv/aquareum/js/app"
"aquareum.tv/aquareum/pkg/config"
+ "aquareum.tv/aquareum/pkg/crypto/signers/eip712"
+ apierrors "aquareum.tv/aquareum/pkg/errors"
"aquareum.tv/aquareum/pkg/log"
"aquareum.tv/aquareum/pkg/model"
+ "aquareum.tv/aquareum/pkg/notifications"
+ v0 "aquareum.tv/aquareum/pkg/schema/v0"
)
type AquareumAPI struct {
- CLI *config.CLI
- Model model.Model
- Updater *Updater
- Mimes map[string]string
+ CLI *config.CLI
+ Model model.Model
+ Updater *Updater
+ Signer *eip712.EIP712Signer
+ Mimes map[string]string
+ FirebaseNotifier notifications.FirebaseNotifier
}
-func MakeAquareumAPI(cli *config.CLI, mod model.Model) (*AquareumAPI, error) {
+func MakeAquareumAPI(cli *config.CLI, mod model.Model, signer *eip712.EIP712Signer, noter notifications.FirebaseNotifier) (*AquareumAPI, error) {
updater, err := PrepareUpdater(cli)
if err != nil {
return nil, err
}
- a := &AquareumAPI{CLI: cli, Model: mod, Updater: updater}
+ a := &AquareumAPI{CLI: cli, Model: mod, Updater: updater, Signer: signer, FirebaseNotifier: noter}
a.Mimes, err = updater.GetMimes()
if err != nil {
return nil, err
@@ -61,21 +69,30 @@ func (fs AppHostingFS) Open(name string) (http.File, error) {
}
func (a *AquareumAPI) Handler(ctx context.Context) (http.Handler, error) {
- mux := http.NewServeMux()
files, err := app.Files()
if err != nil {
return nil, err
}
- mux.Handle("/dl/", a.AppDownloadHandler(ctx))
- mux.Handle("/api/notification", a.HandleNotification(ctx))
+ router := httprouter.New()
+ apiRouter := httprouter.New()
+ apiRouter.HandlerFunc("POST", "/api/notification", a.HandleNotification(ctx))
+ apiRouter.HandlerFunc("POST", "/api/golive", a.HandleGoLive(ctx))
// old clients
- mux.Handle("/app-updates", a.HandleAppUpdates(ctx))
+ router.HandlerFunc("GET", "/app-updates", a.HandleAppUpdates(ctx))
// new ones
- mux.Handle("/api/manifest", a.HandleAppUpdates(ctx))
- mux.Handle("/api", a.HandleAPI404(ctx))
- mux.HandleFunc("/", a.FileHandler(ctx, http.FileServer(AppHostingFS{http.FS(files)})))
- handler := sloghttp.Recovery(mux)
+ apiRouter.HandlerFunc("GET", "/api/manifest", a.HandleAppUpdates(ctx))
+ apiRouter.NotFound = a.HandleAPI404(ctx)
+ router.Handler("GET", "/api/*resource", apiRouter)
+ router.Handler("POST", "/api/*resource", apiRouter)
+ router.Handler("PUT", "/api/*resource", apiRouter)
+ router.Handler("PATCH", "/api/*resource", apiRouter)
+ router.Handler("DELETE", "/api/*resource", apiRouter)
+ router.Handler("GET", "/dl/*params", a.AppDownloadHandler(ctx))
+ router.NotFound = a.FileHandler(ctx, http.FileServer(AppHostingFS{http.FS(files)}))
+ handler := sloghttp.Recovery(router)
+ handler = cors.Default().Handler(handler)
handler = sloghttp.New(slog.Default())(handler)
+
return handler, nil
}
@@ -124,65 +141,71 @@ func (a *AquareumAPI) HandleAPI404(ctx context.Context) http.HandlerFunc {
}
}
+func (a *AquareumAPI) HandleGoLive(ctx context.Context) http.HandlerFunc {
+ return func(w http.ResponseWriter, req *http.Request) {
+ payload, err := io.ReadAll(req.Body)
+ if err != nil {
+ apierrors.WriteHTTPBadRequest(w, "error reading body", err)
+ return
+ }
+ signed, err := a.Signer.Verify(payload)
+ if err != nil {
+ apierrors.WriteHTTPBadRequest(w, "could not verify signature on payload", err)
+ return
+ }
+ golive, ok := signed.Data().(*v0.GoLive)
+ if !ok {
+ log.Log(ctx, "got signed payload but it wasn't a golive")
+ apierrors.WriteHTTPBadRequest(w, "not a golive", nil)
+ return
+ }
+ if signed.Signer() != a.CLI.AdminAccount {
+ log.Log(ctx, "wrong user tried to golive", "signer", signed.Signer(), "admin", a.CLI.AdminAccount)
+ apierrors.WriteHTTPForbidden(w, "admins only for now", nil)
+ return
+ }
+ log.Log(ctx, "got signed & verified payload", "payload", signed)
+ if a.FirebaseNotifier == nil {
+ apierrors.WriteHTTPNotImplemented(w, "no firebase token, can't notify", nil)
+ return
+ }
+ nots, err := a.Model.ListNotifications()
+ if err != nil {
+ apierrors.WriteHTTPInternalServerError(w, "couldn't list notifications", err)
+ return
+ }
+ err = a.FirebaseNotifier.Blast(ctx, nots, golive)
+ if err != nil {
+ apierrors.WriteHTTPInternalServerError(w, "couldn't blast", err)
+ return
+ }
+ w.WriteHeader(204)
+ }
+}
+
func (a *AquareumAPI) HandleNotification(ctx context.Context) http.HandlerFunc {
return func(w http.ResponseWriter, req *http.Request) {
- if req.Method == "POST" {
- payload, err := io.ReadAll(req.Body)
- if err != nil {
- log.Log(ctx, "error reading notification create", "error", err)
- w.WriteHeader(400)
- return
- }
- n := NotificationPayload{}
- err = json.Unmarshal(payload, &n)
- if err != nil {
- log.Log(ctx, "error unmarshalling notification create", "error", err)
- w.WriteHeader(400)
- return
- }
- err = a.Model.CreateNotification(n.Token)
- if err != nil {
- log.Log(ctx, "error creating notification", "error", err)
- w.WriteHeader(400)
- return
- }
- log.Log(ctx, "successfully created notification", "token", n.Token)
- w.WriteHeader(200)
- } else if req.Method == "GET" {
- // disallow unless we have an admin token
- if a.CLI.AdminSecret == "" {
- w.WriteHeader(http.StatusNotImplemented)
- return
- }
- log.Log(ctx, a.CLI.AdminSecret)
- auth := req.Header.Get("Authorization")
- if auth == "" {
- w.WriteHeader(http.StatusUnauthorized)
- return
- }
- expected := fmt.Sprintf("Bearer %s", a.CLI.AdminSecret)
- if auth != expected {
- w.WriteHeader(http.StatusForbidden)
- return
- }
- nots, err := a.Model.ListNotifications()
- if err != nil {
- log.Log(ctx, "error listing notifications", "error", err)
- w.WriteHeader(500)
- return
- }
- bs, err := json.Marshal(nots)
- if err != nil {
- log.Log(ctx, "error marshalling notifications", "error", err)
- w.WriteHeader(500)
- return
- }
- w.WriteHeader(200)
- w.Write(bs)
- } else {
- w.WriteHeader(http.StatusMethodNotAllowed)
+ payload, err := io.ReadAll(req.Body)
+ if err != nil {
+ log.Log(ctx, "error reading notification create", "error", err)
+ w.WriteHeader(400)
+ return
+ }
+ n := NotificationPayload{}
+ err = json.Unmarshal(payload, &n)
+ if err != nil {
+ log.Log(ctx, "error unmarshalling notification create", "error", err)
+ w.WriteHeader(400)
+ return
+ }
+ err = a.Model.CreateNotification(n.Token)
+ if err != nil {
+ log.Log(ctx, "error creating notification", "error", err)
+ w.WriteHeader(400)
return
}
+ log.Log(ctx, "successfully created notification", "token", n.Token)
+ w.WriteHeader(200)
}
}
diff --git a/pkg/api/api_test.go b/pkg/api/api_test.go
index 0d4720163..fa56da4cc 100644
--- a/pkg/api/api_test.go
+++ b/pkg/api/api_test.go
@@ -1,14 +1,19 @@
package api
import (
+ "bytes"
"context"
"net/http"
"net/http/httptest"
"testing"
"aquareum.tv/aquareum/pkg/config"
+ "aquareum.tv/aquareum/pkg/crypto/signers/eip712"
+ "aquareum.tv/aquareum/pkg/crypto/signers/eip712/eip712test"
"aquareum.tv/aquareum/pkg/model"
+ v0 "aquareum.tv/aquareum/pkg/schema/v0"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func TestRedirectHandler(t *testing.T) {
@@ -73,3 +78,53 @@ func TestRedirectHandler(t *testing.T) {
})
}
}
+
+type MockFirebase struct {
+}
+
+func (m *MockFirebase) Blast(ctx context.Context, nots []model.Notification, golive *v0.GoLive) error {
+ return nil
+}
+
+func TestGoLiveHandler(t *testing.T) {
+ mod, err := model.MakeDB("sqlite://:memory:")
+ require.NoError(t, err)
+ eip712test.WithTestSigner(func(signer *eip712.EIP712Signer) {
+ tests := []struct {
+ adminAccount string
+ responseCode int
+ name string
+ }{
+ {
+ name: "successful auth",
+ adminAccount: signer.Opts.EthAccountAddr,
+ responseCode: 204,
+ },
+ {
+ name: "failed auth",
+ adminAccount: "0x156118110DcD4b7c91fC1F4200691d4b6e3BcaF7",
+ responseCode: 403,
+ },
+ }
+ for _, tt := range tests {
+ t.Run(tt.name, func(t *testing.T) {
+ cli := &config.CLI{AdminAccount: tt.adminAccount, FirebaseServiceAccount: "foo"}
+ a := AquareumAPI{CLI: cli, Model: mod, Signer: signer, FirebaseNotifier: &MockFirebase{}}
+ handler := a.HandleGoLive(context.Background())
+
+ goLive := v0.GoLive{
+ Streamer: "@aquareum.tv",
+ Title: "Let's gooooooo!",
+ }
+ signed, err := signer.Sign(goLive)
+ require.NoError(t, err)
+
+ req := httptest.NewRequest("POST", "https://aquareum.tv/api/golive", bytes.NewReader(signed))
+ rr := httptest.NewRecorder()
+
+ handler.ServeHTTP(rr, req)
+ require.Equal(t, tt.responseCode, rr.Code)
+ })
+ }
+ })
+}
diff --git a/pkg/cmd/aquareum.go b/pkg/cmd/aquareum.go
index b0d39c71a..514ac597f 100644
--- a/pkg/cmd/aquareum.go
+++ b/pkg/cmd/aquareum.go
@@ -9,8 +9,11 @@ import (
"runtime"
"syscall"
+ "aquareum.tv/aquareum/pkg/crypto/signers/eip712"
"aquareum.tv/aquareum/pkg/log"
+ "aquareum.tv/aquareum/pkg/notifications"
"aquareum.tv/aquareum/pkg/proc"
+ v0 "aquareum.tv/aquareum/pkg/schema/v0"
"aquareum.tv/aquareum/pkg/api"
"aquareum.tv/aquareum/pkg/config"
@@ -51,7 +54,8 @@ func Start(build *config.BuildFlags) error {
fs.StringVar(&cli.TLSKeyPath, "tls-key", tlsKeyFile, "Path to TLS key")
fs.StringVar(&cli.SigningKeyPath, "signing-key", "", "Path to signing key for pushing OTA updates to the app")
fs.StringVar(&cli.DBPath, "db-path", dbFile, "path to sqlite database file")
- fs.StringVar(&cli.AdminSecret, "admin-secret", "", "secret admin token (to be replaced soon)")
+ fs.StringVar(&cli.AdminAccount, "admin-account", "", "ethereum account that administrates this aquareum node")
+ fs.StringVar(&cli.FirebaseServiceAccount, "firebase-service-account", "", "JSON string of a firebase service account key")
fs.IntVar(&cli.MistAdminPort, "mist-admin-port", 14242, "MistServer admin port (internal use only)")
fs.IntVar(&cli.MistRTMPPort, "mist-rtmp-port", 11935, "MistServer RTMP port (internal use only)")
fs.IntVar(&cli.MistHTTPPort, "mist-http-port", 18080, "MistServer HTTP port (internal use only)")
@@ -61,7 +65,6 @@ func Start(build *config.BuildFlags) error {
ff.Parse(
fs, os.Args[1:],
ff.WithEnvVarPrefix("AQ"),
- ff.WithEnvVarSplit(","),
)
log.Log(context.Background(),
@@ -74,11 +77,29 @@ func Start(build *config.BuildFlags) error {
if *version {
return nil
}
+
+ schema, err := v0.MakeV0Schema()
+ if err != nil {
+ return err
+ }
+ signer, err := eip712.MakeEIP712Signer(context.Background(), &eip712.EIP712SignerOptions{
+ Schema: schema,
+ })
+ if err != nil {
+ return err
+ }
mod, err := model.MakeDB(cli.DBPath)
if err != nil {
return err
}
- a, err := api.MakeAquareumAPI(&cli, mod)
+ var noter notifications.FirebaseNotifier
+ if cli.FirebaseServiceAccount != "" {
+ noter, err = notifications.MakeFirebaseNotifier(context.Background(), cli.FirebaseServiceAccount)
+ if err != nil {
+ return err
+ }
+ }
+ a, err := api.MakeAquareumAPI(&cli, mod, signer, noter)
if err != nil {
return err
}
diff --git a/pkg/config/config.go b/pkg/config/config.go
index 9a1bb1a4e..709066a59 100644
--- a/pkg/config/config.go
+++ b/pkg/config/config.go
@@ -29,20 +29,21 @@ func (b BuildFlags) BuildTimeStrExpo() string {
}
type CLI struct {
- TLSCertPath string
- TLSKeyPath string
- SigningKeyPath string
- DBPath string
- Insecure bool
- HttpAddr string
- HttpsAddr string
- HttpInternalAddr string
- AdminSecret string
- GitLabURL string
- Build *BuildFlags
- MistAdminPort int
- MistRTMPPort int
- MistHTTPPort int
+ TLSCertPath string
+ TLSKeyPath string
+ SigningKeyPath string
+ DBPath string
+ Insecure bool
+ HttpAddr string
+ HttpsAddr string
+ HttpInternalAddr string
+ GitLabURL string
+ FirebaseServiceAccount string
+ AdminAccount string
+ Build *BuildFlags
+ MistAdminPort int
+ MistRTMPPort int
+ MistHTTPPort int
}
func (cli *CLI) OwnInternalURL() string {
diff --git a/pkg/crypto/signers/eip712/eip712.go b/pkg/crypto/signers/eip712/eip712.go
new file mode 100644
index 000000000..7768a5fc5
--- /dev/null
+++ b/pkg/crypto/signers/eip712/eip712.go
@@ -0,0 +1,286 @@
+package eip712
+
+import (
+ "bytes"
+ "context"
+ "encoding/json"
+ "fmt"
+ "math/big"
+ "reflect"
+ "strings"
+ "time"
+
+ "aquareum.tv/aquareum/pkg/log"
+ "aquareum.tv/aquareum/pkg/schema"
+ "github.com/ethereum/go-ethereum/accounts"
+ "github.com/ethereum/go-ethereum/accounts/keystore"
+ "github.com/ethereum/go-ethereum/common"
+ "github.com/ethereum/go-ethereum/common/hexutil"
+ "github.com/ethereum/go-ethereum/crypto"
+ "github.com/ethereum/go-ethereum/signer/core/apitypes"
+)
+
+// type Signer interface {
+// Sign(action Action) (*SignedEvent, error)
+// Verify(unverified UnverifiedEvent) (*SignedEvent, error)
+// }
+
+// schema-aware signer for signing actions and verifying untrusted payloads
+// type Signer interface {
+// Sign(action Action) (*SignedEvent, error)
+// Verify(unverified UnverifiedEvent) (*SignedEvent, error)
+// }
+
+// Signer implemented with EIP712
+type EIP712Signer struct {
+ // // When I sign an action, which schema should I use?
+ // PrimarySchema *Schema
+ // // All supported schemas for verification purposes
+ // Schemas []*Schema
+ // // Eth Account Manager
+ // AccountManager eth.AccountManager
+ KeyStore *keystore.KeyStore
+ Account *accounts.Account
+ Opts *EIP712SignerOptions
+ EIP712Schema *schema.EIP712SchemaStruct
+}
+
+type EIP712SignerOptions struct {
+ // PrimarySchema *Schema
+ // Schemas []*Schema
+ EthKeystorePassword string
+ EthKeystorePath string
+ EthAccountAddr string
+ Schema schema.Schema
+}
+
+func MakeEIP712Signer(ctx context.Context, opts *EIP712SignerOptions) (*EIP712Signer, error) {
+
+ eip712Schema, err := opts.Schema.EIP712()
+ if err != nil {
+ return nil, err
+ }
+ signer := &EIP712Signer{
+ Opts: opts,
+ EIP712Schema: eip712Schema,
+ }
+
+ if opts.EthKeystorePath != "" {
+ err := signer.InitKeystore(ctx)
+ if err != nil {
+ return nil, err
+ }
+ log.Log(ctx, "successfully initalized keystore", "opts.EthKeystorePath", opts.EthKeystorePath)
+ } else {
+ log.Log(ctx, "my EthKeystorePath is empty; EIP-712 signing won't work (which is fine, i guess)")
+ }
+
+ return signer, nil
+}
+
+func (signer *EIP712Signer) InitKeystore(ctx context.Context) error {
+ keyStore := keystore.NewKeyStore(signer.Opts.EthKeystorePath, keystore.StandardScryptN, keystore.StandardScryptP)
+
+ addr := common.HexToAddress(signer.Opts.EthAccountAddr)
+
+ acctExists := keyStore.HasAddress(addr)
+ if !acctExists {
+ return fmt.Errorf("keystore does not contain account %s", signer.Opts.EthAccountAddr)
+ }
+ var account *accounts.Account
+ for _, a := range keyStore.Accounts() {
+ if a.Address == addr {
+ account = &a
+ }
+ }
+ if account == nil {
+ return fmt.Errorf("keystore does not contain account %s", signer.Opts.EthAccountAddr)
+ }
+ err := keyStore.Unlock(*account, signer.Opts.EthKeystorePassword)
+ if err != nil {
+ return err
+ }
+ signer.Account = account
+ signer.KeyStore = keyStore
+ return nil
+}
+
+func (signer *EIP712Signer) KnownTypes() []string {
+ types := []string{}
+ for _, val := range signer.EIP712Schema.TypeToName {
+ types = append(types, val)
+ }
+ return types
+}
+
+type SignedMessage interface {
+ Signer() string
+ Time() int64
+ Data() any
+}
+type AquareumEIP712 struct {
+ PrimaryType string `json:"primaryType"`
+ Domain *apitypes.TypedDataDomain `json:"domain"`
+ Message AquareumEIP712Message `json:"message"`
+ Signature string `json:"signature"`
+}
+
+type AquareumEIP712Message struct {
+ MsgSigner string `json:"signer"`
+ MsgTime int64 `json:"time"`
+ MsgData any `json:"data"`
+}
+
+// return a Map representation suitable for passing to the geth functions
+func (msg AquareumEIP712Message) Map() map[string]any {
+ m := map[string]any{}
+ m["signer"] = msg.MsgSigner
+ m["time"] = new(big.Int).SetInt64(msg.MsgTime)
+ m["data"] = msg.MsgData
+ return m
+}
+
+func (msg *AquareumEIP712Message) Signer() string {
+ return msg.MsgSigner
+}
+
+func (msg *AquareumEIP712Message) Time() int64 {
+ return msg.MsgTime
+}
+
+func (msg *AquareumEIP712Message) Data() any {
+ return msg.MsgData
+}
+
+func (signer *EIP712Signer) Sign(something any) ([]byte, error) {
+ typ := reflect.TypeOf(something)
+ name, ok := signer.EIP712Schema.TypeToName[typ]
+ if !ok {
+ allTypes := strings.Join(signer.KnownTypes(), ", ")
+ return nil, fmt.Errorf("unknown type provided to Sign, expected one of [%s]", allTypes)
+ }
+
+ innerMessage, err := ActionToMap(something)
+ if err != nil {
+ return nil, err
+ }
+ msg := AquareumEIP712Message{
+ MsgData: innerMessage,
+ MsgSigner: signer.Account.Address.String(),
+ MsgTime: time.Now().UnixMilli(),
+ }
+ typedData := apitypes.TypedData{
+ Types: signer.EIP712Schema.Types,
+ PrimaryType: name,
+ Domain: *signer.EIP712Schema.Domain,
+ Message: msg.Map(),
+ }
+ domainSeparator, err := typedData.HashStruct("EIP712Domain", typedData.Domain.Map())
+ if err != nil {
+ return nil, err
+ }
+ typedDataHash, err := typedData.HashStruct(typedData.PrimaryType, typedData.Message)
+ if err != nil {
+ return nil, err
+ }
+ rawData := []byte(fmt.Sprintf("\x19\x01%s%s", string(domainSeparator), string(typedDataHash)))
+ rawHash := crypto.Keccak256(rawData)
+ sig, err := signer.KeyStore.SignHash(*signer.Account, rawHash)
+ if err != nil {
+ return nil, fmt.Errorf("error calling KeyStore.SignHash: %w", err)
+ }
+
+ // sig is in the [R || S || V] format where V is 0 or 1
+ // Convert the V param to 27 or 28
+ v := sig[64]
+ if v == byte(0) || v == byte(1) {
+ v += 27
+ }
+ sig = append(sig[:64], v)
+ // golint wants string(b) but that gives /x1234 encoded output
+ sigHex := hexutil.Bytes(sig).String()
+
+ finalMessage := AquareumEIP712{
+ PrimaryType: name,
+ Domain: signer.EIP712Schema.Domain,
+ Message: msg,
+ Signature: sigHex,
+ }
+
+ data, err := json.Marshal(finalMessage)
+ if err != nil {
+ return nil, err
+ }
+
+ return data, nil
+}
+
+func ActionToMap(a any) (map[string]any, error) {
+ data, err := json.Marshal(a)
+
+ if err != nil {
+ return nil, err
+ }
+
+ newMap := map[string]any{}
+ err = json.Unmarshal(data, &newMap)
+ if err != nil {
+ return nil, err
+ }
+ return newMap, nil
+}
+
+func (signer *EIP712Signer) Verify(bs []byte) (SignedMessage, error) {
+ var unverified AquareumEIP712
+ err := json.Unmarshal(bs, &unverified)
+ if err != nil {
+ return nil, fmt.Errorf("error on json.Unmarshal: %w", err)
+ }
+ sig, err := hexutil.Decode(unverified.Signature)
+ if err != nil {
+ return nil, fmt.Errorf("error on hexutil.Decode: %w", err)
+ }
+ sig[64] -= 27
+ typedData := apitypes.TypedData{
+ Types: signer.EIP712Schema.Types,
+ Domain: *signer.EIP712Schema.Domain,
+ PrimaryType: unverified.PrimaryType,
+ Message: unverified.Message.Map(),
+ }
+ hash, _, err := apitypes.TypedDataAndHash(typedData)
+ if err != nil {
+ return nil, fmt.Errorf("error on apitypes.TypedDataAndHash: %w", err)
+ }
+ rpk, err := crypto.SigToPub(hash, sig)
+ if err != nil {
+ return nil, fmt.Errorf("error on crypto.SigToPub: %w", err)
+ }
+ addr := crypto.PubkeyToAddress(*rpk)
+ messageSignerAddr, err := hexutil.Decode(unverified.Message.Signer())
+ if err != nil {
+ return nil, fmt.Errorf("error on hexutil.Decode: %w", err)
+ }
+ if !bytes.Equal(messageSignerAddr, addr.Bytes()) {
+ return nil, fmt.Errorf("message signature does not match signer on message")
+ }
+ typ, ok := signer.EIP712Schema.NameToType[unverified.PrimaryType]
+ if !ok {
+ return nil, fmt.Errorf("go type not found for message type %s", unverified.PrimaryType)
+ }
+ dataBs, err := json.Marshal(unverified.Message.Data())
+ if err != nil {
+ return nil, err
+ }
+ something := reflect.New(typ).Interface()
+ err = json.Unmarshal(dataBs, something)
+ if err != nil {
+ return nil, err
+ }
+ // new object that has the correct type hidden within!
+ signed := AquareumEIP712Message{
+ MsgSigner: unverified.Message.Signer(),
+ MsgTime: unverified.Message.Time(),
+ MsgData: something,
+ }
+ return &signed, nil
+}
diff --git a/pkg/crypto/signers/eip712/eip712_test.go b/pkg/crypto/signers/eip712/eip712_test.go
new file mode 100644
index 000000000..bf994eeb5
--- /dev/null
+++ b/pkg/crypto/signers/eip712/eip712_test.go
@@ -0,0 +1,73 @@
+package eip712_test
+
+import (
+ "strings"
+ "testing"
+ "time"
+
+ "aquareum.tv/aquareum/pkg/crypto/signers/eip712"
+ "aquareum.tv/aquareum/pkg/crypto/signers/eip712/eip712test"
+ v0 "aquareum.tv/aquareum/pkg/schema/v0"
+ "github.com/stretchr/testify/require"
+)
+
+func TestEIP712Map(t *testing.T) {
+ msg := eip712.AquareumEIP712Message{
+ MsgData: map[string]string{"foo": "bar"},
+ MsgSigner: "0x295481766f43bb048aec5d71f3bf76fdacea78f2",
+ MsgTime: time.Now().UnixMilli(),
+ }
+ m := msg.Map()
+ require.Equal(t, m["signer"], msg.MsgSigner)
+}
+
+func TestCreateSigner(t *testing.T) {
+ ran := false
+ eip712test.WithTestSigner(func(signer *eip712.EIP712Signer) {
+ ran = true
+ })
+ require.True(t, ran)
+}
+
+func TestSignGoLive(t *testing.T) {
+ eip712test.WithTestSigner(func(signer *eip712.EIP712Signer) {
+ goLive := v0.GoLive{
+ Streamer: "@aquareum.tv",
+ Title: "Let's gooooooo!",
+ }
+ _, err := signer.Sign(goLive)
+ require.NoError(t, err)
+ })
+}
+
+var testCase = `{
+ "primaryType": "GoLive",
+ "domain": { "name": "Aquareum", "version": "0.0.1" },
+ "message": {
+ "data": { "streamer": "@aquareum.tv", "title": "Let's gooooooo!" },
+ "signer": "0x295481766F43bb048Aec5D71f3Bf76FDaCEA78f2",
+ "time": 1722373018292
+ },
+ "signature": "0x1723aa5ffb04a6ade0acb84c5ce15c804141ac06fd4ae0a867655d1b2f9e130e1ceb659297d262281795b49c191e6f67623d538890b4454eeaa1b6c2da0668e81b"
+}`
+
+func TestVerifyGoLive(t *testing.T) {
+ eip712test.WithTestSigner(func(signer *eip712.EIP712Signer) {
+ signed, err := signer.Verify([]byte(testCase))
+ require.NoError(t, err)
+ require.Equal(t, signed.Signer(), "0x295481766F43bb048Aec5D71f3Bf76FDaCEA78f2")
+ require.Equal(t, signed.Time(), int64(1722373018292))
+ goLive, ok := signed.Data().(*v0.GoLive)
+ require.True(t, ok)
+ require.Equal(t, goLive.Streamer, "@aquareum.tv")
+ require.Equal(t, goLive.Title, "Let's gooooooo!")
+ })
+}
+
+func TestFailingGoLive(t *testing.T) {
+ eip712test.WithTestSigner(func(signer *eip712.EIP712Signer) {
+ failingTestCase := strings.Replace(testCase, "@aquareum.tv", "@evilstreamer.evil", 1)
+ _, err := signer.Verify([]byte(failingTestCase))
+ require.Error(t, err)
+ })
+}
diff --git a/pkg/crypto/signers/eip712/eip712test/eip712test.go b/pkg/crypto/signers/eip712/eip712test/eip712test.go
new file mode 100644
index 000000000..f381e3f0f
--- /dev/null
+++ b/pkg/crypto/signers/eip712/eip712test/eip712test.go
@@ -0,0 +1,57 @@
+package eip712test
+
+import (
+ "context"
+ "os"
+ "path/filepath"
+
+ "aquareum.tv/aquareum/pkg/crypto/signers/eip712"
+ v0 "aquareum.tv/aquareum/pkg/schema/v0"
+)
+
+// package for setting up a test wallet
+
+var wallet = `{
+ "address": "295481766f43bb048aec5d71f3bf76fdacea78f2",
+ "crypto": {
+ "cipher": "aes-128-ctr",
+ "ciphertext": "2cd9bfb58a6d7720d064dffdbd9840f055f7e877396364ce6fdb15d496166cb6",
+ "cipherparams": { "iv": "f6f53d78aac9a1af96fbbc217d17394b" },
+ "kdf": "scrypt",
+ "kdfparams": {
+ "dklen": 32,
+ "n": 262144,
+ "p": 1,
+ "r": 8,
+ "salt": "3f66908f20dd26f98b0347f6ab6cc2e5658b751b89dcb487be59e1ba1d0b76e5"
+ },
+ "mac": "a284cc5c66d38cf058ee3aed52012d7375b3f463abde58a174251a36d09ea8e2"
+ },
+ "id": "86ec124c-ebe6-4100-811c-22396e10abe8",
+ "version": 3
+}`
+
+// creates a test wallet, cleaned up after the function ends
+func WithTestSigner(fn func(*eip712.EIP712Signer)) {
+ dname, err := os.MkdirTemp("", "sampledir")
+ defer os.RemoveAll(dname)
+ fname := filepath.Join(dname, "wallet.json")
+ os.WriteFile(fname, []byte(wallet), 0600)
+ if err != nil {
+ panic(err)
+ }
+ schema, err := v0.MakeV0Schema()
+ if err != nil {
+ panic(err)
+ }
+ signer, err := eip712.MakeEIP712Signer(context.Background(), &eip712.EIP712SignerOptions{
+ EthKeystorePassword: "aquareumaquareum",
+ EthKeystorePath: dname,
+ EthAccountAddr: "0x295481766F43bb048Aec5D71f3Bf76FDaCEA78f2",
+ Schema: schema,
+ })
+ if err != nil {
+ panic(err)
+ }
+ fn(signer)
+}
diff --git a/pkg/crypto/signers/eip712/export-schema/export-schema.go b/pkg/crypto/signers/eip712/export-schema/export-schema.go
new file mode 100644
index 000000000..20986edc2
--- /dev/null
+++ b/pkg/crypto/signers/eip712/export-schema/export-schema.go
@@ -0,0 +1,32 @@
+package main
+
+import (
+ "fmt"
+
+ v0 "aquareum.tv/aquareum/pkg/schema/v0"
+)
+
+func main() {
+ err := Main()
+ if err != nil {
+ panic(err)
+ }
+}
+
+// Exports the generated EIP-712 schema for use elsewhere
+func Main() error {
+ schema, err := v0.MakeV0Schema()
+ if err != nil {
+ return err
+ }
+ eipSchema, err := schema.EIP712()
+ if err != nil {
+ return err
+ }
+ bs, err := eipSchema.JSON()
+ if err != nil {
+ return err
+ }
+ fmt.Println(string(bs))
+ return nil
+}
diff --git a/pkg/errors/errors.go b/pkg/errors/errors.go
index ef8b810a9..259a4c6ba 100644
--- a/pkg/errors/errors.go
+++ b/pkg/errors/errors.go
@@ -33,6 +33,10 @@ func WriteHTTPUnauthorized(w http.ResponseWriter, msg string, err error) APIErro
return writeHttpError(w, msg, http.StatusUnauthorized, err)
}
+func WriteHTTPForbidden(w http.ResponseWriter, msg string, err error) APIError {
+ return writeHttpError(w, msg, http.StatusForbidden, err)
+}
+
func WriteHTTPBadRequest(w http.ResponseWriter, msg string, err error) APIError {
return writeHttpError(w, msg, http.StatusBadRequest, err)
}
@@ -48,3 +52,7 @@ func WriteHTTPNotFound(w http.ResponseWriter, msg string, err error) APIError {
func WriteHTTPInternalServerError(w http.ResponseWriter, msg string, err error) APIError {
return writeHttpError(w, msg, http.StatusInternalServerError, err)
}
+
+func WriteHTTPNotImplemented(w http.ResponseWriter, msg string, err error) APIError {
+ return writeHttpError(w, msg, http.StatusNotImplemented, err)
+}
diff --git a/pkg/notifications/firebase.go b/pkg/notifications/firebase.go
new file mode 100644
index 000000000..98ba83689
--- /dev/null
+++ b/pkg/notifications/firebase.go
@@ -0,0 +1,85 @@
+package notifications
+
+import (
+ "encoding/json"
+ "fmt"
+
+ "aquareum.tv/aquareum/pkg/log"
+ "aquareum.tv/aquareum/pkg/model"
+ v0 "aquareum.tv/aquareum/pkg/schema/v0"
+ firebase "firebase.google.com/go/v4"
+ "firebase.google.com/go/v4/messaging"
+ "golang.org/x/net/context"
+ "google.golang.org/api/option"
+)
+
+type FirebaseNotifier interface {
+ Blast(ctx context.Context, nots []model.Notification, golive *v0.GoLive) error
+}
+
+type FirebaseNotifierS struct {
+ app *firebase.App
+}
+
+type GoogleCredential struct {
+ ProjectID string `json:"project_id"`
+}
+
+func MakeFirebaseNotifier(ctx context.Context, serviceAccountJSON string) (FirebaseNotifier, error) {
+ var cred GoogleCredential
+ err := json.Unmarshal([]byte(serviceAccountJSON), &cred)
+ if err != nil {
+ return nil, fmt.Errorf("error trying to discover project_id: %w", err)
+ }
+ conf := &firebase.Config{
+ ProjectID: cred.ProjectID,
+ }
+ opt := option.WithCredentialsJSON([]byte(serviceAccountJSON))
+ app, err := firebase.NewApp(ctx, conf, opt)
+ if err != nil {
+ return nil, fmt.Errorf("failed to initialize Firebase app: %w", err)
+ }
+ return &FirebaseNotifierS{app: app}, nil
+}
+
+// refactor me when we have >500 users
+func (f *FirebaseNotifierS) Blast(ctx context.Context, nots []model.Notification, golive *v0.GoLive) error {
+ client, err := f.app.Messaging(ctx)
+ if err != nil {
+ return err
+ }
+ var tokens []string
+ for _, n := range nots {
+ tokens = append(tokens, n.Token)
+ }
+
+ notification := &messaging.MulticastMessage{
+ Tokens: tokens,
+ Notification: &messaging.Notification{
+ Title: fmt.Sprintf("🔴 %s is LIVE!", golive.Streamer),
+ Body: golive.Title,
+ },
+ Android: &messaging.AndroidConfig{
+ Priority: "high",
+ Notification: &messaging.AndroidNotification{
+ Sound: "default",
+ },
+ },
+ APNS: &messaging.APNSConfig{
+ Headers: map[string]string{
+ "apns-priority": "10",
+ },
+ Payload: &messaging.APNSPayload{
+ Aps: &messaging.Aps{
+ Sound: "default",
+ },
+ },
+ },
+ }
+ res, err := client.SendEachForMulticast(ctx, notification)
+ if err != nil {
+ return err
+ }
+ log.Log(ctx, "notification blast successful", "successCount", res.SuccessCount, "failureCount", res.FailureCount)
+ return nil
+}
diff --git a/pkg/notifications/firebase_test.go b/pkg/notifications/firebase_test.go
new file mode 100644
index 000000000..edb43f90b
--- /dev/null
+++ b/pkg/notifications/firebase_test.go
@@ -0,0 +1,29 @@
+package notifications
+
+import (
+ "context"
+ "testing"
+
+ "github.com/stretchr/testify/require"
+)
+
+var fakeServiceAccount = `
+{
+ "type": "service_account",
+ "private_key_id": "abc",
+ "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDY3E8o1NEFcjMM\nHW/5ZfFJw29/8NEqpViNjQIx95Xx5KDtJ+nWn9+OW0uqsSqKlKGhAdAo+Q6bjx2c\nuXVsXTu7XrZUY5Kltvj94DvUa1wjNXs606r/RxWTJ58bfdC+gLLxBfGnB6CwK0YQ\nxnfpjNbkUfVVzO0MQD7UP0Hl5ZcY0Puvxd/yHuONQn/rIAieTHH1pqgW+zrH/y3c\n59IGThC9PPtugI9ea8RSnVj3PWz1bX2UkCDpy9IRh9LzJLaYYX9RUd7++dULUlat\nAaXBh1U6emUDzhrIsgApjDVtimOPbmQWmX1S60mqQikRpVYZ8u+NDD+LNw+/Eovn\nxCj2Y3z1AgMBAAECggEAWDBzoqO1IvVXjBA2lqId10T6hXmN3j1ifyH+aAqK+FVl\nGjyWjDj0xWQcJ9ync7bQ6fSeTeNGzP0M6kzDU1+w6FgyZqwdmXWI2VmEizRjwk+/\n/uLQUcL7I55Dxn7KUoZs/rZPmQDxmGLoue60Gg6z3yLzVcKiDc7cnhzhdBgDc8vd\nQorNAlqGPRnm3EqKQ6VQp6fyQmCAxrr45kspRXNLddat3AMsuqImDkqGKBmF3Q1y\nxWGe81LphUiRqvqbyUlh6cdSZ8pLBpc9m0c3qWPKs9paqBIvgUPlvOZMqec6x4S6\nChbdkkTRLnbsRr0Yg/nDeEPlkhRBhasXpxpMUBgPywKBgQDs2axNkFjbU94uXvd5\nznUhDVxPFBuxyUHtsJNqW4p/ujLNimGet5E/YthCnQeC2P3Ym7c3fiz68amM6hiA\nOnW7HYPZ+jKFnefpAtjyOOs46AkftEg07T9XjwWNPt8+8l0DYawPoJgbM5iE0L2O\nx8TU1Vs4mXc+ql9F90GzI0x3VwKBgQDqZOOqWw3hTnNT07Ixqnmd3dugV9S7eW6o\nU9OoUgJB4rYTpG+yFqNqbRT8bkx37iKBMEReppqonOqGm4wtuRR6LSLlgcIU9Iwx\nyfH12UWqVmFSHsgZFqM/cK3wGev38h1WBIOx3/djKn7BdlKVh8kWyx6uC8bmV+E6\nOoK0vJD6kwKBgHAySOnROBZlqzkiKW8c+uU2VATtzJSydrWm0J4wUPJifNBa/hVW\ndcqmAzXC9xznt5AVa3wxHBOfyKaE+ig8CSsjNyNZ3vbmr0X04FoV1m91k2TeXNod\njMTobkPThaNm4eLJMN2SQJuaHGTGERWC0l3T18t+/zrDMDCPiSLX1NAvAoGBAN1T\nVLJYdjvIMxf1bm59VYcepbK7HLHFkRq6xMJMZbtG0ryraZjUzYvB4q4VjHk2UDiC\nlhx13tXWDZH7MJtABzjyg+AI7XWSEQs2cBXACos0M4Myc6lU+eL+iA+OuoUOhmrh\nqmT8YYGu76/IBWUSqWuvcpHPpwl7871i4Ga/I3qnAoGBANNkKAcMoeAbJQK7a/Rn\nwPEJB+dPgNDIaboAsh1nZhVhN5cvdvCWuEYgOGCPQLYQF0zmTLcM+sVxOYgfy8mV\nfbNgPgsP5xmu6dw2COBKdtozw0HrWSRjACd1N4yGu75+wPCcX/gQarcjRcXXZeEa\nNtBLSfcqPULqD+h7br9lEJio\n-----END PRIVATE KEY-----\n",
+ "client_email": "123-abc@developer.gserviceaccount.com",
+ "client_id": "123-abc.apps.googleusercontent.com",
+ "auth_uri": "https://accounts.google.com/o/oauth2/auth",
+ "token_uri": "https://oauth2.googleapis.com/token",
+ "project_id": "fakeproject",
+ "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
+ "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/firebase-adminsdk-fmlii%40fakeproject.iam.gserviceaccount.com",
+ "universe_domain": "googleapis.com"
+}
+`
+
+func TestFirebaseNotifier(t *testing.T) {
+ _, err := MakeFirebaseNotifier(context.Background(), fakeServiceAccount)
+ require.NoError(t, err)
+}
diff --git a/pkg/schema/schema.go b/pkg/schema/schema.go
new file mode 100644
index 000000000..30787be09
--- /dev/null
+++ b/pkg/schema/schema.go
@@ -0,0 +1,132 @@
+package schema
+
+import (
+ "encoding/json"
+ "fmt"
+ "reflect"
+
+ "github.com/ethereum/go-ethereum/signer/core/apitypes"
+)
+
+type Schema interface {
+ EIP712() (*EIP712SchemaStruct, error)
+}
+
+type SchemaStruct struct {
+ name string
+ version string
+ schema any
+}
+
+func MakeSchema(name, version string, schema any) (Schema, error) {
+ return &SchemaStruct{
+ name: name,
+ version: version,
+ schema: schema,
+ }, nil
+}
+
+type EIP712SchemaStruct struct {
+ Types apitypes.Types `json:"types"`
+ Domain *apitypes.TypedDataDomain `json:"domain"`
+ TypeToName map[reflect.Type]string
+ NameToType map[string]reflect.Type
+}
+
+func (schema *SchemaStruct) EIP712() (*EIP712SchemaStruct, error) {
+ var eip712Types = apitypes.Types{
+ "EIP712Domain": {
+ {
+ Name: "name",
+ Type: "string",
+ },
+ {
+ Name: "version",
+ Type: "string",
+ },
+ },
+ }
+
+ stype := reflect.TypeOf(schema.schema)
+ if stype.Kind() != reflect.Struct {
+ return nil, fmt.Errorf("schema parameter of MakeEIP712Signer is not a struct")
+ }
+ fields := reflect.VisibleFields(stype)
+ typeToName := map[reflect.Type]string{}
+ nameToType := map[string]reflect.Type{}
+ for _, field := range fields {
+ name := field.Name
+ eip712TypeName := fmt.Sprintf("%sData", name)
+ if field.Type.Kind() != reflect.Struct {
+ return nil, fmt.Errorf("field '%s' in provided schema is not a struct", name)
+ }
+ typeToName[field.Type] = name
+ nameToType[name] = field.Type
+ parentType := []apitypes.Type{
+ {
+ Name: "signer",
+ Type: "address",
+ },
+ {
+ Name: "time",
+ Type: "int64",
+ },
+ {
+ Name: "data",
+ Type: eip712TypeName,
+ },
+ }
+ typeSlice := []apitypes.Type{}
+
+ subfields := reflect.VisibleFields(field.Type)
+ for _, subfield := range subfields {
+ eipType, err := goToEIP712(subfield)
+ if err != nil {
+ return nil, fmt.Errorf("error handling type %s: %w", name, err)
+ }
+ typeSlice = append(typeSlice, eipType)
+ }
+ eip712Types[name] = parentType
+ eip712Types[eip712TypeName] = typeSlice
+ }
+ return &EIP712SchemaStruct{
+ Types: eip712Types,
+ Domain: &apitypes.TypedDataDomain{
+ Version: schema.version,
+ Name: schema.name,
+ },
+ TypeToName: typeToName,
+ NameToType: nameToType,
+ }, nil
+}
+
+func (eip *EIP712SchemaStruct) JSON() ([]byte, error) {
+ out := map[string]any{
+ "domain": eip.Domain,
+ "types": eip.Types,
+ }
+ bs, err := json.MarshalIndent(out, "", " ")
+ if err != nil {
+ return []byte{}, err
+ }
+ return bs, nil
+}
+
+// turns a go type into an eip712 type
+func goToEIP712(field reflect.StructField) (apitypes.Type, error) {
+ var typ string
+ kind := field.Type.Kind()
+ if kind == reflect.String {
+ typ = "string"
+ } else if kind == reflect.Int64 {
+ typ = "int64"
+ }
+ jsonTag := field.Tag.Get("json")
+ if jsonTag == "" {
+ return apitypes.Type{}, fmt.Errorf("could not find field name for %s", field.Name)
+ }
+ return apitypes.Type{
+ Name: jsonTag,
+ Type: typ,
+ }, nil
+}
diff --git a/pkg/schema/v0/golive.go b/pkg/schema/v0/golive.go
new file mode 100644
index 000000000..2143070b4
--- /dev/null
+++ b/pkg/schema/v0/golive.go
@@ -0,0 +1,18 @@
+package v0
+
+import "aquareum.tv/aquareum/pkg/schema"
+
+var Name = "Aquareum"
+var Version = "0.0.1"
+
+type V0Schema struct {
+ GoLive GoLive
+}
+type GoLive struct {
+ Streamer string `json:"streamer"`
+ Title string `json:"title"`
+}
+
+func MakeV0Schema() (schema.Schema, error) {
+ return schema.MakeSchema(Name, Version, V0Schema{})
+}
diff --git a/yarn.lock b/yarn.lock
index d26a09bdc..c29a2bcd0 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -17,6 +17,13 @@ __metadata:
languageName: node
linkType: hard
+"@adraffy/ens-normalize@npm:1.10.0":
+ version: 1.10.0
+ resolution: "@adraffy/ens-normalize@npm:1.10.0"
+ checksum: 10/5cdb5d2a9c9f8c0a71a7bb830967da0069cae1f1235cd41ae11147e4000f368f6958386e622cd4d52bf45c1ed3f8275056b387cba28902b83354e40ff323ecde
+ languageName: node
+ linkType: hard
+
"@ampproject/remapping@npm:^2.2.0":
version: 2.3.0
resolution: "@ampproject/remapping@npm:2.3.0"
@@ -1208,6 +1215,15 @@ __metadata:
languageName: node
linkType: hard
+"@babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.19.4, @babel/runtime@npm:^7.21.0":
+ version: 7.25.0
+ resolution: "@babel/runtime@npm:7.25.0"
+ dependencies:
+ regenerator-runtime: "npm:^0.14.0"
+ checksum: 10/6870e9e0e9125075b3aeba49a266f442b10820bfc693019eb6c1785c5a0edbe927e98b8238662cdcdba17842107c040386c3b69f39a0a3b217f9d00ffe685b27
+ languageName: node
+ linkType: hard
+
"@babel/template@npm:^7.0.0, @babel/template@npm:^7.22.15, @babel/template@npm:^7.24.7":
version: 7.24.7
resolution: "@babel/template@npm:7.24.7"
@@ -1277,6 +1293,20 @@ __metadata:
languageName: node
linkType: hard
+"@coinbase/wallet-sdk@npm:4.0.4":
+ version: 4.0.4
+ resolution: "@coinbase/wallet-sdk@npm:4.0.4"
+ dependencies:
+ buffer: "npm:^6.0.3"
+ clsx: "npm:^1.2.1"
+ eventemitter3: "npm:^5.0.1"
+ keccak: "npm:^3.0.3"
+ preact: "npm:^10.16.0"
+ sha.js: "npm:^2.4.11"
+ checksum: 10/4915f90e78cbd734e791ad99b360ec7bf9cd6f76addfdeac537a0891956db7f19b8ccbd5e7ea72292ce37a45807bee9e44f67664b79e2c7ab07266f4dfc92116
+ languageName: node
+ linkType: hard
+
"@emnapi/core@npm:^1.1.0":
version: 1.2.0
resolution: "@emnapi/core@npm:1.2.0"
@@ -1305,6 +1335,13 @@ __metadata:
languageName: node
linkType: hard
+"@emotion/hash@npm:^0.9.0":
+ version: 0.9.2
+ resolution: "@emotion/hash@npm:0.9.2"
+ checksum: 10/379bde2830ccb0328c2617ec009642321c0e009a46aa383dfbe75b679c6aea977ca698c832d225a893901f29d7b3eef0e38cf341f560f6b2b56f1ff23c172387
+ languageName: node
+ linkType: hard
+
"@esbuild/aix-ppc64@npm:0.23.0":
version: 0.23.0
resolution: "@esbuild/aix-ppc64@npm:0.23.0"
@@ -1473,6 +1510,48 @@ __metadata:
languageName: node
linkType: hard
+"@ethereumjs/common@npm:^3.2.0":
+ version: 3.2.0
+ resolution: "@ethereumjs/common@npm:3.2.0"
+ dependencies:
+ "@ethereumjs/util": "npm:^8.1.0"
+ crc-32: "npm:^1.2.0"
+ checksum: 10/b3f612406b6bcefaf9117ceb42eff58d311e2b50205e3d55b4c793d803de517efbc84075e058dc0e2ec27a2bff11dfc279dda1fa2b249ed6ab3973be045898f4
+ languageName: node
+ linkType: hard
+
+"@ethereumjs/rlp@npm:^4.0.1":
+ version: 4.0.1
+ resolution: "@ethereumjs/rlp@npm:4.0.1"
+ bin:
+ rlp: bin/rlp
+ checksum: 10/bfdffd634ce72f3b17e3d085d071f2fe7ce9680aebdf10713d74b30afd80ef882d17f19ff7175fcb049431a56e800bd3558d3b028bd0d82341927edb303ab450
+ languageName: node
+ linkType: hard
+
+"@ethereumjs/tx@npm:^4.1.2, @ethereumjs/tx@npm:^4.2.0":
+ version: 4.2.0
+ resolution: "@ethereumjs/tx@npm:4.2.0"
+ dependencies:
+ "@ethereumjs/common": "npm:^3.2.0"
+ "@ethereumjs/rlp": "npm:^4.0.1"
+ "@ethereumjs/util": "npm:^8.1.0"
+ ethereum-cryptography: "npm:^2.0.0"
+ checksum: 10/cbd2ffc3ef76ca5416d58f2f694858d9fcac946e6a107fef44cf3f308a7c9fcc996a6847868609354d72d5b356faee68408e9d5601c4c4f7dad8e18cb2c24a95
+ languageName: node
+ linkType: hard
+
+"@ethereumjs/util@npm:^8.1.0":
+ version: 8.1.0
+ resolution: "@ethereumjs/util@npm:8.1.0"
+ dependencies:
+ "@ethereumjs/rlp": "npm:^4.0.1"
+ ethereum-cryptography: "npm:^2.0.0"
+ micro-ftch: "npm:^0.3.1"
+ checksum: 10/cc35338932e49b15e54ca6e548b32a1f48eed7d7e1d34ee743e4d3600dd616668bd50f70139e86c5c35f55aac35fba3b6cc4e6f679cf650aeba66bf93016200c
+ languageName: node
+ linkType: hard
+
"@expo/bunyan@npm:^4.0.0":
version: 4.0.0
resolution: "@expo/bunyan@npm:4.0.0"
@@ -2967,6 +3046,347 @@ __metadata:
languageName: node
linkType: hard
+"@lit-labs/ssr-dom-shim@npm:^1.0.0, @lit-labs/ssr-dom-shim@npm:^1.1.0":
+ version: 1.2.0
+ resolution: "@lit-labs/ssr-dom-shim@npm:1.2.0"
+ checksum: 10/33679defe08538ac6fb612854e7d32b4ea1e787cceba2c3373d26fd56baa9833881887da7bade3930a176ba518dc00bb42ce95d82ddb6af6b05b8fbe1fc3169f
+ languageName: node
+ linkType: hard
+
+"@lit/reactive-element@npm:^1.3.0, @lit/reactive-element@npm:^1.6.0":
+ version: 1.6.3
+ resolution: "@lit/reactive-element@npm:1.6.3"
+ dependencies:
+ "@lit-labs/ssr-dom-shim": "npm:^1.0.0"
+ checksum: 10/664c899bb0b144590dc4faf83b358b1504810eac107778c3aeb384affc65a7ef4eda754944bcc34a57237db03dff145332406345ac24da19ca37cf4b3cb343d3
+ languageName: node
+ linkType: hard
+
+"@metamask/eth-json-rpc-provider@npm:^1.0.0":
+ version: 1.0.1
+ resolution: "@metamask/eth-json-rpc-provider@npm:1.0.1"
+ dependencies:
+ "@metamask/json-rpc-engine": "npm:^7.0.0"
+ "@metamask/safe-event-emitter": "npm:^3.0.0"
+ "@metamask/utils": "npm:^5.0.1"
+ checksum: 10/4ed1a96afc32eb46f585ff54e16cb2aee2e7027dcf6a142d875b9c6248f15c9a00dd1df43035f2e64efbf01a96954040699d9d97e3b483c958f5b1d6c0fa6f50
+ languageName: node
+ linkType: hard
+
+"@metamask/json-rpc-engine@npm:^7.0.0":
+ version: 7.3.3
+ resolution: "@metamask/json-rpc-engine@npm:7.3.3"
+ dependencies:
+ "@metamask/rpc-errors": "npm:^6.2.1"
+ "@metamask/safe-event-emitter": "npm:^3.0.0"
+ "@metamask/utils": "npm:^8.3.0"
+ checksum: 10/116664c974c522d280335d9a02cba731e4f08562c2980415f7535513cd308c7e612e52618086996e5ac2b67db7f1e6ac1bd8201aba7825163db17a25f2874cc9
+ languageName: node
+ linkType: hard
+
+"@metamask/json-rpc-engine@npm:^8.0.1, @metamask/json-rpc-engine@npm:^8.0.2":
+ version: 8.0.2
+ resolution: "@metamask/json-rpc-engine@npm:8.0.2"
+ dependencies:
+ "@metamask/rpc-errors": "npm:^6.2.1"
+ "@metamask/safe-event-emitter": "npm:^3.0.0"
+ "@metamask/utils": "npm:^8.3.0"
+ checksum: 10/f088f4b648b9b55875b56e8237853e7282f13302a9db6a1f9bba06314dfd6cd0a23b3d27f8fde05a157b97ebb03b67bc2699ba455c99553dfb2ecccd73ab3474
+ languageName: node
+ linkType: hard
+
+"@metamask/json-rpc-middleware-stream@npm:^7.0.1":
+ version: 7.0.2
+ resolution: "@metamask/json-rpc-middleware-stream@npm:7.0.2"
+ dependencies:
+ "@metamask/json-rpc-engine": "npm:^8.0.2"
+ "@metamask/safe-event-emitter": "npm:^3.0.0"
+ "@metamask/utils": "npm:^8.3.0"
+ readable-stream: "npm:^3.6.2"
+ checksum: 10/850a857418fc6b8c73fb4f978b76d2cdc0372ccb2f0f7e6f0229117882a4687d716fc37638483c9ac1338f7957b3f8207bc6be8a3d4c0708339fe9dfc3510fe0
+ languageName: node
+ linkType: hard
+
+"@metamask/object-multiplex@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "@metamask/object-multiplex@npm:2.0.0"
+ dependencies:
+ once: "npm:^1.4.0"
+ readable-stream: "npm:^3.6.2"
+ checksum: 10/54baea752a3ac7c2742c376512e00d4902d383e9da8787574d3b21eb0081523309e24e3915a98f3ae0341d65712b6832d2eb7eeb862f4ef0da1ead52dcde5387
+ languageName: node
+ linkType: hard
+
+"@metamask/onboarding@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "@metamask/onboarding@npm:1.0.1"
+ dependencies:
+ bowser: "npm:^2.9.0"
+ checksum: 10/2aa288e58fc34cb4708e311fc08abd33a0d9bc67671610955a2bd8d43a16330261f1159174c365611e249751ec984da9a9cb963bb0a87b3a6945d7caa6cc8799
+ languageName: node
+ linkType: hard
+
+"@metamask/providers@npm:16.1.0":
+ version: 16.1.0
+ resolution: "@metamask/providers@npm:16.1.0"
+ dependencies:
+ "@metamask/json-rpc-engine": "npm:^8.0.1"
+ "@metamask/json-rpc-middleware-stream": "npm:^7.0.1"
+ "@metamask/object-multiplex": "npm:^2.0.0"
+ "@metamask/rpc-errors": "npm:^6.2.1"
+ "@metamask/safe-event-emitter": "npm:^3.1.1"
+ "@metamask/utils": "npm:^8.3.0"
+ detect-browser: "npm:^5.2.0"
+ extension-port-stream: "npm:^3.0.0"
+ fast-deep-equal: "npm:^3.1.3"
+ is-stream: "npm:^2.0.0"
+ readable-stream: "npm:^3.6.2"
+ webextension-polyfill: "npm:^0.10.0"
+ checksum: 10/596bcc0206355e5698cc41458b07caa748f589790e1a3210f1a32d21103a3318902d953a641d4583b8179d653659ba29c42e65fba019a98533bdcf68316bf915
+ languageName: node
+ linkType: hard
+
+"@metamask/rpc-errors@npm:^6.2.1":
+ version: 6.3.1
+ resolution: "@metamask/rpc-errors@npm:6.3.1"
+ dependencies:
+ "@metamask/utils": "npm:^9.0.0"
+ fast-safe-stringify: "npm:^2.0.6"
+ checksum: 10/f968fb490b13b632c2ad4770a144d67cecdff8d539cb8b489c732b08dab7a62fae65d7a2908ce8c5b77260317aa618948a52463f093fa8d9f84aee1c5f6f5daf
+ languageName: node
+ linkType: hard
+
+"@metamask/safe-event-emitter@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "@metamask/safe-event-emitter@npm:2.0.0"
+ checksum: 10/3e4f00c64aa1ddf9b9ae5c2337fb8cee359b6c481ded0ec21ef70610960c51cdcc4a9b569de334dcd7cb1fe445cafd298360907c1e211e244c5990b55246f350
+ languageName: node
+ linkType: hard
+
+"@metamask/safe-event-emitter@npm:^3.0.0, @metamask/safe-event-emitter@npm:^3.1.1":
+ version: 3.1.1
+ resolution: "@metamask/safe-event-emitter@npm:3.1.1"
+ checksum: 10/e24db4d7c20764bfc5b025065f92518c805f0ffb1da4820078b8cff7dcae964c0f354cf053fcb7ac659de015d5ffdf21aae5e8d44e191ee8faa9066855f22653
+ languageName: node
+ linkType: hard
+
+"@metamask/sdk-communication-layer@npm:0.27.0":
+ version: 0.27.0
+ resolution: "@metamask/sdk-communication-layer@npm:0.27.0"
+ dependencies:
+ bufferutil: "npm:^4.0.8"
+ date-fns: "npm:^2.29.3"
+ debug: "npm:^4.3.4"
+ utf-8-validate: "npm:^5.0.2"
+ uuid: "npm:^8.3.2"
+ peerDependencies:
+ cross-fetch: ^4.0.0
+ eciesjs: ^0.3.16
+ eventemitter2: ^6.4.7
+ readable-stream: ^3.6.2
+ socket.io-client: ^4.5.1
+ checksum: 10/bf538eda91e8b2ba765adc291cfcc282a54aa43f45b702ff2d3cd6c8a5f9d5ef1204262452683264d99a56339dcb34b60414dc7387383b950315b113215b2c9e
+ languageName: node
+ linkType: hard
+
+"@metamask/sdk-install-modal-web@npm:0.26.5":
+ version: 0.26.5
+ resolution: "@metamask/sdk-install-modal-web@npm:0.26.5"
+ dependencies:
+ qr-code-styling: "npm:^1.6.0-rc.1"
+ peerDependencies:
+ i18next: 23.11.5
+ react: ^18.2.0
+ react-dom: ^18.2.0
+ react-native: "*"
+ peerDependenciesMeta:
+ react:
+ optional: true
+ react-dom:
+ optional: true
+ react-native:
+ optional: true
+ checksum: 10/69f35db2429dc40e901c0260f1dd7874f604ade43e42358f38b4a66689f11d126c875e3d444dbac86885b64227dda21ce5b166a3dd19645703bfcc916ce072bf
+ languageName: node
+ linkType: hard
+
+"@metamask/sdk@npm:0.27.0":
+ version: 0.27.0
+ resolution: "@metamask/sdk@npm:0.27.0"
+ dependencies:
+ "@metamask/onboarding": "npm:^1.0.1"
+ "@metamask/providers": "npm:16.1.0"
+ "@metamask/sdk-communication-layer": "npm:0.27.0"
+ "@metamask/sdk-install-modal-web": "npm:0.26.5"
+ "@types/dom-screen-wake-lock": "npm:^1.0.0"
+ bowser: "npm:^2.9.0"
+ cross-fetch: "npm:^4.0.0"
+ debug: "npm:^4.3.4"
+ eciesjs: "npm:^0.3.15"
+ eth-rpc-errors: "npm:^4.0.3"
+ eventemitter2: "npm:^6.4.7"
+ i18next: "npm:23.11.5"
+ i18next-browser-languagedetector: "npm:7.1.0"
+ obj-multiplex: "npm:^1.0.0"
+ pump: "npm:^3.0.0"
+ qrcode-terminal-nooctal: "npm:^0.12.1"
+ react-native-webview: "npm:^11.26.0"
+ readable-stream: "npm:^3.6.2"
+ rollup-plugin-visualizer: "npm:^5.9.2"
+ socket.io-client: "npm:^4.5.1"
+ util: "npm:^0.12.4"
+ uuid: "npm:^8.3.2"
+ peerDependencies:
+ react: ^18.2.0
+ react-dom: ^18.2.0
+ peerDependenciesMeta:
+ react:
+ optional: true
+ react-dom:
+ optional: true
+ checksum: 10/9f675d2b598fbaf283c742a621a7c3ece2db4a2fae8e6c840e3f806b589d12f251b4d8ff08117d2866738036b23cf090de24fd07c5e963dcad41fc8e9d50f146
+ languageName: node
+ linkType: hard
+
+"@metamask/superstruct@npm:^3.0.0, @metamask/superstruct@npm:^3.1.0":
+ version: 3.1.0
+ resolution: "@metamask/superstruct@npm:3.1.0"
+ checksum: 10/5066fe228d5f11da387606d7f9545de2b473ab5a9e0f1bb8aea2f52d3e2c9d25e427151acde61f4a2de80a07a9871fe9505ad06abca6a61b7c3b54ed5c403b01
+ languageName: node
+ linkType: hard
+
+"@metamask/utils@npm:^5.0.1":
+ version: 5.0.2
+ resolution: "@metamask/utils@npm:5.0.2"
+ dependencies:
+ "@ethereumjs/tx": "npm:^4.1.2"
+ "@types/debug": "npm:^4.1.7"
+ debug: "npm:^4.3.4"
+ semver: "npm:^7.3.8"
+ superstruct: "npm:^1.0.3"
+ checksum: 10/c0d3ee4c3144b557936ab01c1a64950c0f99782bd0cf5596c0fabe8fd224dba48ed3483c0ea954791fe2ee81064a445adb489df50c776bbbeb67b5b96e930115
+ languageName: node
+ linkType: hard
+
+"@metamask/utils@npm:^8.3.0":
+ version: 8.5.0
+ resolution: "@metamask/utils@npm:8.5.0"
+ dependencies:
+ "@ethereumjs/tx": "npm:^4.2.0"
+ "@metamask/superstruct": "npm:^3.0.0"
+ "@noble/hashes": "npm:^1.3.1"
+ "@scure/base": "npm:^1.1.3"
+ "@types/debug": "npm:^4.1.7"
+ debug: "npm:^4.3.4"
+ pony-cause: "npm:^2.1.10"
+ semver: "npm:^7.5.4"
+ uuid: "npm:^9.0.1"
+ checksum: 10/68a42a55f7dc750b75467fb7c05a496c20dac073a2753e0f4d9642c4d8dcb3f9ddf51a09d30337e11637f1777f3dfe22e15b5159dbafb0fdb7bd8c9236056153
+ languageName: node
+ linkType: hard
+
+"@metamask/utils@npm:^9.0.0":
+ version: 9.1.0
+ resolution: "@metamask/utils@npm:9.1.0"
+ dependencies:
+ "@ethereumjs/tx": "npm:^4.2.0"
+ "@metamask/superstruct": "npm:^3.1.0"
+ "@noble/hashes": "npm:^1.3.1"
+ "@scure/base": "npm:^1.1.3"
+ "@types/debug": "npm:^4.1.7"
+ debug: "npm:^4.3.4"
+ pony-cause: "npm:^2.1.10"
+ semver: "npm:^7.5.4"
+ uuid: "npm:^9.0.1"
+ checksum: 10/7335e151a51be92e86868dc48b3ee78c376d4edd5d758d334176027247637ab22839d8f663bd02542c0a19b05ecec456bedab5f36436689cf3d953ca36d91781
+ languageName: node
+ linkType: hard
+
+"@motionone/animation@npm:^10.15.1, @motionone/animation@npm:^10.18.0":
+ version: 10.18.0
+ resolution: "@motionone/animation@npm:10.18.0"
+ dependencies:
+ "@motionone/easing": "npm:^10.18.0"
+ "@motionone/types": "npm:^10.17.1"
+ "@motionone/utils": "npm:^10.18.0"
+ tslib: "npm:^2.3.1"
+ checksum: 10/c7fc04dd10d6cade3d3b63d26f2532a2b2731233afc0454722e55ad8061fb3923d926db9cc09f1bcedb39f504fcee1e80adaab270523846998aad3017364a583
+ languageName: node
+ linkType: hard
+
+"@motionone/dom@npm:^10.16.2, @motionone/dom@npm:^10.16.4":
+ version: 10.18.0
+ resolution: "@motionone/dom@npm:10.18.0"
+ dependencies:
+ "@motionone/animation": "npm:^10.18.0"
+ "@motionone/generators": "npm:^10.18.0"
+ "@motionone/types": "npm:^10.17.1"
+ "@motionone/utils": "npm:^10.18.0"
+ hey-listen: "npm:^1.0.8"
+ tslib: "npm:^2.3.1"
+ checksum: 10/18abb5c174a84c90b2e59459fa3a9f8b655d063c259f2f3be5b6740e660285d2f66a8b25437dd963c3b9cdeae9fa5984ee8d217881088ea4d392cf39f8493a84
+ languageName: node
+ linkType: hard
+
+"@motionone/easing@npm:^10.18.0":
+ version: 10.18.0
+ resolution: "@motionone/easing@npm:10.18.0"
+ dependencies:
+ "@motionone/utils": "npm:^10.18.0"
+ tslib: "npm:^2.3.1"
+ checksum: 10/a455a06ccee907ce9da7b1dfe392060a473132733e3f92bbee3a99c36af7baa333cf3c6e38c6d44ad0f9878fdafca3c3f4bcfe55aaeb2a633e45d8e0429f8fa5
+ languageName: node
+ linkType: hard
+
+"@motionone/generators@npm:^10.18.0":
+ version: 10.18.0
+ resolution: "@motionone/generators@npm:10.18.0"
+ dependencies:
+ "@motionone/types": "npm:^10.17.1"
+ "@motionone/utils": "npm:^10.18.0"
+ tslib: "npm:^2.3.1"
+ checksum: 10/149720881e8db6a1ff38cea98349c3a00f72e5318b645459b68a2aeddb1f2be63ad2ae8978f6c4a63e2414f39e65f06de13a43fd35cf24dc3fb3e3c7f87526bc
+ languageName: node
+ linkType: hard
+
+"@motionone/svelte@npm:^10.16.2":
+ version: 10.16.4
+ resolution: "@motionone/svelte@npm:10.16.4"
+ dependencies:
+ "@motionone/dom": "npm:^10.16.4"
+ tslib: "npm:^2.3.1"
+ checksum: 10/5ad532d4d9bb16a9f311487e6409fa7e1a66ec12f82e3c36434ab6dfe3cedc61b35dae6314cee4fba8dca463b8a259cafb83801a932b7ad5f4a6e45baaa581f4
+ languageName: node
+ linkType: hard
+
+"@motionone/types@npm:^10.15.1, @motionone/types@npm:^10.17.1":
+ version: 10.17.1
+ resolution: "@motionone/types@npm:10.17.1"
+ checksum: 10/21d92d733ba30f810b72609fe04f2ef86125ba0160b826974605cc4cc5fbb6ab7bbf1640cbc64fd6298eb8d36fb920ad3ca646c76adf0e2c47a4920200616952
+ languageName: node
+ linkType: hard
+
+"@motionone/utils@npm:^10.15.1, @motionone/utils@npm:^10.18.0":
+ version: 10.18.0
+ resolution: "@motionone/utils@npm:10.18.0"
+ dependencies:
+ "@motionone/types": "npm:^10.17.1"
+ hey-listen: "npm:^1.0.8"
+ tslib: "npm:^2.3.1"
+ checksum: 10/0fa9232d132383880d6004522ded763d60f490946584e02bca7f64df98fae07421071f3a85de06aa6ecb52632a47a7586b4143e824e459a87cc852fab657e549
+ languageName: node
+ linkType: hard
+
+"@motionone/vue@npm:^10.16.2":
+ version: 10.16.4
+ resolution: "@motionone/vue@npm:10.16.4"
+ dependencies:
+ "@motionone/dom": "npm:^10.16.4"
+ tslib: "npm:^2.3.1"
+ checksum: 10/2400d31bbf5c3e02bc68f4b88d96d9c0672ba646bca0b6566e555cd7e8f14849a645f558f574e658fd90574a0b548b61712ae5edcee055c60288fd9382d711ea
+ languageName: node
+ linkType: hard
+
"@napi-rs/wasm-runtime@npm:0.2.4":
version: 0.2.4
resolution: "@napi-rs/wasm-runtime@npm:0.2.4"
@@ -2978,6 +3398,31 @@ __metadata:
languageName: node
linkType: hard
+"@noble/curves@npm:1.4.0":
+ version: 1.4.0
+ resolution: "@noble/curves@npm:1.4.0"
+ dependencies:
+ "@noble/hashes": "npm:1.4.0"
+ checksum: 10/b21b30a36ff02bfcc0f5e6163d245cdbaf7f640511fff97ccf83fc207ee79cfd91584b4d97977374de04cb118a55eb63a7964c82596a64162bbc42bc685ae6d9
+ languageName: node
+ linkType: hard
+
+"@noble/curves@npm:1.4.2, @noble/curves@npm:^1.4.0, @noble/curves@npm:~1.4.0":
+ version: 1.4.2
+ resolution: "@noble/curves@npm:1.4.2"
+ dependencies:
+ "@noble/hashes": "npm:1.4.0"
+ checksum: 10/f433a2e8811ae345109388eadfa18ef2b0004c1f79417553241db4f0ad0d59550be6298a4f43d989c627e9f7551ffae6e402a4edf0173981e6da95fc7cab5123
+ languageName: node
+ linkType: hard
+
+"@noble/hashes@npm:1.4.0, @noble/hashes@npm:^1.3.1, @noble/hashes@npm:^1.4.0, @noble/hashes@npm:~1.4.0":
+ version: 1.4.0
+ resolution: "@noble/hashes@npm:1.4.0"
+ checksum: 10/e156e65794c473794c52fa9d06baf1eb20903d0d96719530f523cc4450f6c721a957c544796e6efd0197b2296e7cd70efeb312f861465e17940a3e3c7e0febc6
+ languageName: node
+ linkType: hard
+
"@nodelib/fs.scandir@npm:2.1.5":
version: 2.1.5
resolution: "@nodelib/fs.scandir@npm:2.1.5"
@@ -3456,77 +3901,222 @@ __metadata:
languageName: node
linkType: hard
-"@pkgjs/parseargs@npm:^0.11.0":
- version: 0.11.0
- resolution: "@pkgjs/parseargs@npm:0.11.0"
- checksum: 10/115e8ceeec6bc69dff2048b35c0ab4f8bbee12d8bb6c1f4af758604586d802b6e669dcb02dda61d078de42c2b4ddce41b3d9e726d7daa6b4b850f4adbf7333ff
+"@parcel/watcher-android-arm64@npm:2.4.1":
+ version: 2.4.1
+ resolution: "@parcel/watcher-android-arm64@npm:2.4.1"
+ conditions: os=android & cpu=arm64
languageName: node
linkType: hard
-"@protobufjs/aspromise@npm:^1.1.1, @protobufjs/aspromise@npm:^1.1.2":
- version: 1.1.2
- resolution: "@protobufjs/aspromise@npm:1.1.2"
- checksum: 10/8a938d84fe4889411296db66b29287bd61ea3c14c2d23e7a8325f46a2b8ce899857c5f038d65d7641805e6c1d06b495525c7faf00c44f85a7ee6476649034969
+"@parcel/watcher-darwin-arm64@npm:2.4.1":
+ version: 2.4.1
+ resolution: "@parcel/watcher-darwin-arm64@npm:2.4.1"
+ conditions: os=darwin & cpu=arm64
languageName: node
linkType: hard
-"@protobufjs/base64@npm:^1.1.2":
- version: 1.1.2
- resolution: "@protobufjs/base64@npm:1.1.2"
- checksum: 10/c71b100daeb3c9bdccab5cbc29495b906ba0ae22ceedc200e1ba49717d9c4ab15a6256839cebb6f9c6acae4ed7c25c67e0a95e734f612b258261d1a3098fe342
+"@parcel/watcher-darwin-x64@npm:2.4.1":
+ version: 2.4.1
+ resolution: "@parcel/watcher-darwin-x64@npm:2.4.1"
+ conditions: os=darwin & cpu=x64
languageName: node
linkType: hard
-"@protobufjs/codegen@npm:^2.0.4":
- version: 2.0.4
- resolution: "@protobufjs/codegen@npm:2.0.4"
- checksum: 10/c6ee5fa172a8464f5253174d3c2353ea520c2573ad7b6476983d9b1346f4d8f2b44aa29feb17a949b83c1816bc35286a5ea265ed9d8fdd2865acfa09668c0447
+"@parcel/watcher-freebsd-x64@npm:2.4.1":
+ version: 2.4.1
+ resolution: "@parcel/watcher-freebsd-x64@npm:2.4.1"
+ conditions: os=freebsd & cpu=x64
languageName: node
linkType: hard
-"@protobufjs/eventemitter@npm:^1.1.0":
- version: 1.1.0
- resolution: "@protobufjs/eventemitter@npm:1.1.0"
- checksum: 10/03af3e99f17ad421283d054c88a06a30a615922a817741b43ca1b13e7c6b37820a37f6eba9980fb5150c54dba6e26cb6f7b64a6f7d8afa83596fafb3afa218c3
+"@parcel/watcher-linux-arm-glibc@npm:2.4.1":
+ version: 2.4.1
+ resolution: "@parcel/watcher-linux-arm-glibc@npm:2.4.1"
+ conditions: os=linux & cpu=arm & libc=glibc
languageName: node
linkType: hard
-"@protobufjs/fetch@npm:^1.1.0":
- version: 1.1.0
- resolution: "@protobufjs/fetch@npm:1.1.0"
- dependencies:
- "@protobufjs/aspromise": "npm:^1.1.1"
- "@protobufjs/inquire": "npm:^1.1.0"
- checksum: 10/67ae40572ad536e4ef94269199f252c024b66e3059850906bdaee161ca1d75c73d04d35cd56f147a8a5a079f5808e342b99e61942c1dae15604ff0600b09a958
+"@parcel/watcher-linux-arm64-glibc@npm:2.4.1":
+ version: 2.4.1
+ resolution: "@parcel/watcher-linux-arm64-glibc@npm:2.4.1"
+ conditions: os=linux & cpu=arm64 & libc=glibc
languageName: node
linkType: hard
-"@protobufjs/float@npm:^1.0.2":
- version: 1.0.2
- resolution: "@protobufjs/float@npm:1.0.2"
- checksum: 10/634c2c989da0ef2f4f19373d64187e2a79f598c5fb7991afb689d29a2ea17c14b796b29725945fa34b9493c17fb799e08ac0a7ccaae460ee1757d3083ed35187
+"@parcel/watcher-linux-arm64-musl@npm:2.4.1":
+ version: 2.4.1
+ resolution: "@parcel/watcher-linux-arm64-musl@npm:2.4.1"
+ conditions: os=linux & cpu=arm64 & libc=musl
languageName: node
linkType: hard
-"@protobufjs/inquire@npm:^1.1.0":
- version: 1.1.0
- resolution: "@protobufjs/inquire@npm:1.1.0"
- checksum: 10/c09efa34a5465cb120775e1a482136f2340a58b4abce7e93d72b8b5a9324a0e879275016ef9fcd73d72a4731639c54f2bb755bb82f916e4a78892d1d840bb3d2
+"@parcel/watcher-linux-x64-glibc@npm:2.4.1":
+ version: 2.4.1
+ resolution: "@parcel/watcher-linux-x64-glibc@npm:2.4.1"
+ conditions: os=linux & cpu=x64 & libc=glibc
languageName: node
linkType: hard
-"@protobufjs/path@npm:^1.1.2":
- version: 1.1.2
- resolution: "@protobufjs/path@npm:1.1.2"
- checksum: 10/bb709567935fd385a86ad1f575aea98131bbd719c743fb9b6edd6b47ede429ff71a801cecbd64fc72deebf4e08b8f1bd8062793178cdaed3713b8d15771f9b83
+"@parcel/watcher-linux-x64-musl@npm:2.4.1":
+ version: 2.4.1
+ resolution: "@parcel/watcher-linux-x64-musl@npm:2.4.1"
+ conditions: os=linux & cpu=x64 & libc=musl
languageName: node
linkType: hard
-"@protobufjs/pool@npm:^1.1.0":
- version: 1.1.0
- resolution: "@protobufjs/pool@npm:1.1.0"
- checksum: 10/b9c7047647f6af28e92aac54f6f7c1f7ff31b201b4bfcc7a415b2861528854fce3ec666d7e7e10fd744da905f7d4aef2205bbcc8944ca0ca7a82e18134d00c46
- languageName: node
+"@parcel/watcher-wasm@npm:^2.4.1":
+ version: 2.4.1
+ resolution: "@parcel/watcher-wasm@npm:2.4.1"
+ dependencies:
+ is-glob: "npm:^4.0.3"
+ micromatch: "npm:^4.0.5"
+ napi-wasm: "npm:^1.1.0"
+ checksum: 10/df32eec32ce1ac895c3ee2ae4574dd5f73f4c886820992e2e7c11e8bf4913d271484cb6c4863914129bd8a104e6924c767efa75bb19e17dde9a5c14408660cd2
+ languageName: node
+ linkType: hard
+
+"@parcel/watcher-win32-arm64@npm:2.4.1":
+ version: 2.4.1
+ resolution: "@parcel/watcher-win32-arm64@npm:2.4.1"
+ conditions: os=win32 & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"@parcel/watcher-win32-ia32@npm:2.4.1":
+ version: 2.4.1
+ resolution: "@parcel/watcher-win32-ia32@npm:2.4.1"
+ conditions: os=win32 & cpu=ia32
+ languageName: node
+ linkType: hard
+
+"@parcel/watcher-win32-x64@npm:2.4.1":
+ version: 2.4.1
+ resolution: "@parcel/watcher-win32-x64@npm:2.4.1"
+ conditions: os=win32 & cpu=x64
+ languageName: node
+ linkType: hard
+
+"@parcel/watcher@npm:^2.4.1":
+ version: 2.4.1
+ resolution: "@parcel/watcher@npm:2.4.1"
+ dependencies:
+ "@parcel/watcher-android-arm64": "npm:2.4.1"
+ "@parcel/watcher-darwin-arm64": "npm:2.4.1"
+ "@parcel/watcher-darwin-x64": "npm:2.4.1"
+ "@parcel/watcher-freebsd-x64": "npm:2.4.1"
+ "@parcel/watcher-linux-arm-glibc": "npm:2.4.1"
+ "@parcel/watcher-linux-arm64-glibc": "npm:2.4.1"
+ "@parcel/watcher-linux-arm64-musl": "npm:2.4.1"
+ "@parcel/watcher-linux-x64-glibc": "npm:2.4.1"
+ "@parcel/watcher-linux-x64-musl": "npm:2.4.1"
+ "@parcel/watcher-win32-arm64": "npm:2.4.1"
+ "@parcel/watcher-win32-ia32": "npm:2.4.1"
+ "@parcel/watcher-win32-x64": "npm:2.4.1"
+ detect-libc: "npm:^1.0.3"
+ is-glob: "npm:^4.0.3"
+ micromatch: "npm:^4.0.5"
+ node-addon-api: "npm:^7.0.0"
+ node-gyp: "npm:latest"
+ dependenciesMeta:
+ "@parcel/watcher-android-arm64":
+ optional: true
+ "@parcel/watcher-darwin-arm64":
+ optional: true
+ "@parcel/watcher-darwin-x64":
+ optional: true
+ "@parcel/watcher-freebsd-x64":
+ optional: true
+ "@parcel/watcher-linux-arm-glibc":
+ optional: true
+ "@parcel/watcher-linux-arm64-glibc":
+ optional: true
+ "@parcel/watcher-linux-arm64-musl":
+ optional: true
+ "@parcel/watcher-linux-x64-glibc":
+ optional: true
+ "@parcel/watcher-linux-x64-musl":
+ optional: true
+ "@parcel/watcher-win32-arm64":
+ optional: true
+ "@parcel/watcher-win32-ia32":
+ optional: true
+ "@parcel/watcher-win32-x64":
+ optional: true
+ checksum: 10/c163dff1828fa249c00f24931332dea5a8f2fcd1bfdd0e304ccdf7619c58bff044526fa39241fd2121d2a2141f71775ce3117450d78c4df3070d152282017644
+ languageName: node
+ linkType: hard
+
+"@pkgjs/parseargs@npm:^0.11.0":
+ version: 0.11.0
+ resolution: "@pkgjs/parseargs@npm:0.11.0"
+ checksum: 10/115e8ceeec6bc69dff2048b35c0ab4f8bbee12d8bb6c1f4af758604586d802b6e669dcb02dda61d078de42c2b4ddce41b3d9e726d7daa6b4b850f4adbf7333ff
+ languageName: node
+ linkType: hard
+
+"@protobufjs/aspromise@npm:^1.1.1, @protobufjs/aspromise@npm:^1.1.2":
+ version: 1.1.2
+ resolution: "@protobufjs/aspromise@npm:1.1.2"
+ checksum: 10/8a938d84fe4889411296db66b29287bd61ea3c14c2d23e7a8325f46a2b8ce899857c5f038d65d7641805e6c1d06b495525c7faf00c44f85a7ee6476649034969
+ languageName: node
+ linkType: hard
+
+"@protobufjs/base64@npm:^1.1.2":
+ version: 1.1.2
+ resolution: "@protobufjs/base64@npm:1.1.2"
+ checksum: 10/c71b100daeb3c9bdccab5cbc29495b906ba0ae22ceedc200e1ba49717d9c4ab15a6256839cebb6f9c6acae4ed7c25c67e0a95e734f612b258261d1a3098fe342
+ languageName: node
+ linkType: hard
+
+"@protobufjs/codegen@npm:^2.0.4":
+ version: 2.0.4
+ resolution: "@protobufjs/codegen@npm:2.0.4"
+ checksum: 10/c6ee5fa172a8464f5253174d3c2353ea520c2573ad7b6476983d9b1346f4d8f2b44aa29feb17a949b83c1816bc35286a5ea265ed9d8fdd2865acfa09668c0447
+ languageName: node
+ linkType: hard
+
+"@protobufjs/eventemitter@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "@protobufjs/eventemitter@npm:1.1.0"
+ checksum: 10/03af3e99f17ad421283d054c88a06a30a615922a817741b43ca1b13e7c6b37820a37f6eba9980fb5150c54dba6e26cb6f7b64a6f7d8afa83596fafb3afa218c3
+ languageName: node
+ linkType: hard
+
+"@protobufjs/fetch@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "@protobufjs/fetch@npm:1.1.0"
+ dependencies:
+ "@protobufjs/aspromise": "npm:^1.1.1"
+ "@protobufjs/inquire": "npm:^1.1.0"
+ checksum: 10/67ae40572ad536e4ef94269199f252c024b66e3059850906bdaee161ca1d75c73d04d35cd56f147a8a5a079f5808e342b99e61942c1dae15604ff0600b09a958
+ languageName: node
+ linkType: hard
+
+"@protobufjs/float@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "@protobufjs/float@npm:1.0.2"
+ checksum: 10/634c2c989da0ef2f4f19373d64187e2a79f598c5fb7991afb689d29a2ea17c14b796b29725945fa34b9493c17fb799e08ac0a7ccaae460ee1757d3083ed35187
+ languageName: node
+ linkType: hard
+
+"@protobufjs/inquire@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "@protobufjs/inquire@npm:1.1.0"
+ checksum: 10/c09efa34a5465cb120775e1a482136f2340a58b4abce7e93d72b8b5a9324a0e879275016ef9fcd73d72a4731639c54f2bb755bb82f916e4a78892d1d840bb3d2
+ languageName: node
+ linkType: hard
+
+"@protobufjs/path@npm:^1.1.2":
+ version: 1.1.2
+ resolution: "@protobufjs/path@npm:1.1.2"
+ checksum: 10/bb709567935fd385a86ad1f575aea98131bbd719c743fb9b6edd6b47ede429ff71a801cecbd64fc72deebf4e08b8f1bd8062793178cdaed3713b8d15771f9b83
+ languageName: node
+ linkType: hard
+
+"@protobufjs/pool@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "@protobufjs/pool@npm:1.1.0"
+ checksum: 10/b9c7047647f6af28e92aac54f6f7c1f7ff31b201b4bfcc7a415b2861528854fce3ec666d7e7e10fd744da905f7d4aef2205bbcc8944ca0ca7a82e18134d00c46
+ languageName: node
linkType: hard
"@protobufjs/utf8@npm:^1.1.0":
@@ -3559,6 +4149,27 @@ __metadata:
languageName: node
linkType: hard
+"@rainbow-me/rainbowkit@npm:2":
+ version: 2.1.3
+ resolution: "@rainbow-me/rainbowkit@npm:2.1.3"
+ dependencies:
+ "@vanilla-extract/css": "npm:1.14.0"
+ "@vanilla-extract/dynamic": "npm:2.1.0"
+ "@vanilla-extract/sprinkles": "npm:1.6.1"
+ clsx: "npm:2.1.0"
+ qrcode: "npm:1.5.3"
+ react-remove-scroll: "npm:2.5.7"
+ ua-parser-js: "npm:^1.0.37"
+ peerDependencies:
+ "@tanstack/react-query": ">=5.0.0"
+ react: ">=18"
+ react-dom: ">=18"
+ viem: 2.x
+ wagmi: ^2.9.0
+ checksum: 10/93885e9e39b55a2884b01ddd7a88e78827fd637d4eedd78db329627b2bc2c65be1c7021dce35fcc2b37250b8fe075568c6d2cf6770bbad47f406729264b426be
+ languageName: node
+ linkType: hard
+
"@react-native-community/cli-clean@npm:13.6.9":
version: 13.6.9
resolution: "@react-native-community/cli-clean@npm:13.6.9"
@@ -4169,6 +4780,61 @@ __metadata:
languageName: node
linkType: hard
+"@safe-global/safe-apps-provider@npm:0.18.3":
+ version: 0.18.3
+ resolution: "@safe-global/safe-apps-provider@npm:0.18.3"
+ dependencies:
+ "@safe-global/safe-apps-sdk": "npm:^9.1.0"
+ events: "npm:^3.3.0"
+ checksum: 10/fb0bf260a224195923394c61265f421c655f096cce4c9f10643f5ff2787ca964269dbb539cfd08959ce88395af9c08f0cef60581cb06e14f1505b03bb7973bd1
+ languageName: node
+ linkType: hard
+
+"@safe-global/safe-apps-sdk@npm:9.1.0, @safe-global/safe-apps-sdk@npm:^9.1.0":
+ version: 9.1.0
+ resolution: "@safe-global/safe-apps-sdk@npm:9.1.0"
+ dependencies:
+ "@safe-global/safe-gateway-typescript-sdk": "npm:^3.5.3"
+ viem: "npm:^2.1.1"
+ checksum: 10/b81e1a554509fc41f5b8ec3bcccaf477fd55824010774699dd2c00dee8431cfd351bf13893ff6acb1450028ce4de31a1316548a0e77a66d801ff9e0b4e08b9ff
+ languageName: node
+ linkType: hard
+
+"@safe-global/safe-gateway-typescript-sdk@npm:^3.5.3":
+ version: 3.22.1
+ resolution: "@safe-global/safe-gateway-typescript-sdk@npm:3.22.1"
+ checksum: 10/5e940d667f661602971fdae104400cf44774c80e17f22519ea250b61eca3850866cce8ff206be319553a6f10aca7c851c86b05e1eeb775c1e828d388a731b2de
+ languageName: node
+ linkType: hard
+
+"@scure/base@npm:^1.1.3, @scure/base@npm:~1.1.6":
+ version: 1.1.7
+ resolution: "@scure/base@npm:1.1.7"
+ checksum: 10/fc50ffaab36cb46ff9fa4dc5052a06089ab6a6707f63d596bb34aaaec76173c9a564ac312a0b981b5e7a5349d60097b8878673c75d6cbfc4da7012b63a82099b
+ languageName: node
+ linkType: hard
+
+"@scure/bip32@npm:1.4.0":
+ version: 1.4.0
+ resolution: "@scure/bip32@npm:1.4.0"
+ dependencies:
+ "@noble/curves": "npm:~1.4.0"
+ "@noble/hashes": "npm:~1.4.0"
+ "@scure/base": "npm:~1.1.6"
+ checksum: 10/6cd5062d902564d9e970597ec8b1adacb415b2eadfbb95aee1a1a0480a52eb0de4d294d3753aa8b48548064c9795ed108d348a31a8ce3fc88785377bb12c63b9
+ languageName: node
+ linkType: hard
+
+"@scure/bip39@npm:1.3.0":
+ version: 1.3.0
+ resolution: "@scure/bip39@npm:1.3.0"
+ dependencies:
+ "@noble/hashes": "npm:~1.4.0"
+ "@scure/base": "npm:~1.1.6"
+ checksum: 10/7d71fd58153de22fe8cd65b525f6958a80487bc9d0fbc32c71c328aeafe41fa259f989d2f1e0fa4fdfeaf83b8fcf9310d52ed9862987e46c2f2bfb9dd8cf9fc1
+ languageName: node
+ linkType: hard
+
"@segment/loosely-validate-event@npm:^2.0.0":
version: 2.0.0
resolution: "@segment/loosely-validate-event@npm:2.0.0"
@@ -4285,6 +4951,183 @@ __metadata:
languageName: node
linkType: hard
+"@socket.io/component-emitter@npm:~3.1.0":
+ version: 3.1.2
+ resolution: "@socket.io/component-emitter@npm:3.1.2"
+ checksum: 10/89888f00699eb34e3070624eb7b8161fa29f064aeb1389a48f02195d55dd7c52a504e52160016859f6d6dffddd54324623cdd47fd34b3d46f9ed96c18c456edc
+ languageName: node
+ linkType: hard
+
+"@stablelib/aead@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "@stablelib/aead@npm:1.0.1"
+ checksum: 10/1a6f68d138f105d17dd65349751515bd252ab0498c77255b8555478d28415600dde493f909eb718245047a993f838dfae546071e1687566ffb7b8c3e10c918d9
+ languageName: node
+ linkType: hard
+
+"@stablelib/binary@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "@stablelib/binary@npm:1.0.1"
+ dependencies:
+ "@stablelib/int": "npm:^1.0.1"
+ checksum: 10/c5ed769e2b5d607a5cdb72d325fcf98db437627862fade839daad934bd9ccf02a6f6e34f9de8cb3b18d72fce2ba6cc019a5d22398187d7d69d2607165f27f8bf
+ languageName: node
+ linkType: hard
+
+"@stablelib/bytes@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "@stablelib/bytes@npm:1.0.1"
+ checksum: 10/23d4d632a8a15ca91be1dc56da92eefed695d9b66068d1ab27a5655d0233dc2ac0b8668f875af542ca4ed526893c65dd53e777c72c8056f3648115aac98823ee
+ languageName: node
+ linkType: hard
+
+"@stablelib/chacha20poly1305@npm:1.0.1":
+ version: 1.0.1
+ resolution: "@stablelib/chacha20poly1305@npm:1.0.1"
+ dependencies:
+ "@stablelib/aead": "npm:^1.0.1"
+ "@stablelib/binary": "npm:^1.0.1"
+ "@stablelib/chacha": "npm:^1.0.1"
+ "@stablelib/constant-time": "npm:^1.0.1"
+ "@stablelib/poly1305": "npm:^1.0.1"
+ "@stablelib/wipe": "npm:^1.0.1"
+ checksum: 10/2a4df136b078b7c09acb3c6fe029613d4c9f70a0ce8bec65551a4a5016930a4f9091d3b83ed1cfc9c2e7bd6ec7f5ee93a7dc729b784b3900dcb97f3c7f5da84a
+ languageName: node
+ linkType: hard
+
+"@stablelib/chacha@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "@stablelib/chacha@npm:1.0.1"
+ dependencies:
+ "@stablelib/binary": "npm:^1.0.1"
+ "@stablelib/wipe": "npm:^1.0.1"
+ checksum: 10/38cd8095d94eda29a9bb8a742b1c945dba7f9ec91fc07ab351c826680d03976641ac6366c3d004a00a72d746fcd838215fe1263ef4b0660c453c5de18a0a4295
+ languageName: node
+ linkType: hard
+
+"@stablelib/constant-time@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "@stablelib/constant-time@npm:1.0.1"
+ checksum: 10/dba4f4bf508de2ff15f7f0cbd875e70391aa3ba3698290fe1ed2feb151c243ba08a90fc6fb390ec2230e30fcc622318c591a7c0e35dcb8150afb50c797eac3d7
+ languageName: node
+ linkType: hard
+
+"@stablelib/ed25519@npm:^1.0.2":
+ version: 1.0.3
+ resolution: "@stablelib/ed25519@npm:1.0.3"
+ dependencies:
+ "@stablelib/random": "npm:^1.0.2"
+ "@stablelib/sha512": "npm:^1.0.1"
+ "@stablelib/wipe": "npm:^1.0.1"
+ checksum: 10/52e861e4fbd9d3d0a1a370d9ad96de8e2e15f133249bbbc32da66b8993e843db598054a3af17a746beb3fd5043b7529613a5dda7f2e79de6613eb3ebe5ffe3dd
+ languageName: node
+ linkType: hard
+
+"@stablelib/hash@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "@stablelib/hash@npm:1.0.1"
+ checksum: 10/3ff1f12d1a4082aaf4b6cdf40c2010aabe5c4209d3b40b97b5bbb0d9abc0ee94abdc545e57de0614afaea807ca0212ac870e247ec8f66cdce91ec39ce82948cf
+ languageName: node
+ linkType: hard
+
+"@stablelib/hkdf@npm:1.0.1":
+ version: 1.0.1
+ resolution: "@stablelib/hkdf@npm:1.0.1"
+ dependencies:
+ "@stablelib/hash": "npm:^1.0.1"
+ "@stablelib/hmac": "npm:^1.0.1"
+ "@stablelib/wipe": "npm:^1.0.1"
+ checksum: 10/9d45e303715a1835c8612b78e6c1b9d2b7463699b484241d8681fb5c17e0f2bbde5ce211c882134b64616a402e09177baeba80426995ff227b3654a155ab225d
+ languageName: node
+ linkType: hard
+
+"@stablelib/hmac@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "@stablelib/hmac@npm:1.0.1"
+ dependencies:
+ "@stablelib/constant-time": "npm:^1.0.1"
+ "@stablelib/hash": "npm:^1.0.1"
+ "@stablelib/wipe": "npm:^1.0.1"
+ checksum: 10/d3ac9e2fea2b4972a5d874ee9d96c94f8c8207452e2d243a2668b1325a7b20bd9a1541df32387789a0e9bfef82c3fe021a785f46eb3442c782443863faf75205
+ languageName: node
+ linkType: hard
+
+"@stablelib/int@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "@stablelib/int@npm:1.0.1"
+ checksum: 10/65bfbf50a382eea70c68e05366bf379cfceff8fbc076f1c267ef2f2411d7aed64fd140c415cb6c29f19a3910d3b8b7805d4b32ad5721a5007a8e744a808c7ae3
+ languageName: node
+ linkType: hard
+
+"@stablelib/keyagreement@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "@stablelib/keyagreement@npm:1.0.1"
+ dependencies:
+ "@stablelib/bytes": "npm:^1.0.1"
+ checksum: 10/3c8ec904dd50f72f3162f5447a0fa8f1d9ca6e24cd272d3dbe84971267f3b47f9bd5dc4e4eeedf3fbac2fe01f2d9277053e57c8e60db8c5544bfb35c62d290dd
+ languageName: node
+ linkType: hard
+
+"@stablelib/poly1305@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "@stablelib/poly1305@npm:1.0.1"
+ dependencies:
+ "@stablelib/constant-time": "npm:^1.0.1"
+ "@stablelib/wipe": "npm:^1.0.1"
+ checksum: 10/b01d4b532a42e5260f7f263e3a670924849c7ba51569abd8ece8279a448e625cbe4049bff1d50ad0d3a9d5f268c1b52fc611808640a6e684550edd7589a0a581
+ languageName: node
+ linkType: hard
+
+"@stablelib/random@npm:1.0.2, @stablelib/random@npm:^1.0.1, @stablelib/random@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "@stablelib/random@npm:1.0.2"
+ dependencies:
+ "@stablelib/binary": "npm:^1.0.1"
+ "@stablelib/wipe": "npm:^1.0.1"
+ checksum: 10/f5ace0a588dc4c21f01cb85837892d4c872e994ae77a58a8eb7dd61aa0b26fb1e9b46b0445e71af57d963ef7d9f5965c64258fc0d04df7b2947bc48f2d3560c5
+ languageName: node
+ linkType: hard
+
+"@stablelib/sha256@npm:1.0.1":
+ version: 1.0.1
+ resolution: "@stablelib/sha256@npm:1.0.1"
+ dependencies:
+ "@stablelib/binary": "npm:^1.0.1"
+ "@stablelib/hash": "npm:^1.0.1"
+ "@stablelib/wipe": "npm:^1.0.1"
+ checksum: 10/4d55f6c676e2cc0dd2a32be0cfa96837f3e15ae48dc50a340e56db2b201f1341a9ecabb429a3a44a5bf31adee0a8151467a8e7cc15346c561c914faad415d4d4
+ languageName: node
+ linkType: hard
+
+"@stablelib/sha512@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "@stablelib/sha512@npm:1.0.1"
+ dependencies:
+ "@stablelib/binary": "npm:^1.0.1"
+ "@stablelib/hash": "npm:^1.0.1"
+ "@stablelib/wipe": "npm:^1.0.1"
+ checksum: 10/35d188cd62f20d27e1d61ea07984022e9a78815a023c8f7c747d92456a60823f0683138591e87158a47cd72e73cf24ecf97f8936aa6fba8b3bef6fcb138e723d
+ languageName: node
+ linkType: hard
+
+"@stablelib/wipe@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "@stablelib/wipe@npm:1.0.1"
+ checksum: 10/287802eb146810a46ba72af70b82022caf83a8aeebde23605f5ee0decf64fe2b97a60c856e43b6617b5801287c30cfa863cfb0469e7fcde6f02d143cf0c6cbf4
+ languageName: node
+ linkType: hard
+
+"@stablelib/x25519@npm:1.0.3":
+ version: 1.0.3
+ resolution: "@stablelib/x25519@npm:1.0.3"
+ dependencies:
+ "@stablelib/keyagreement": "npm:^1.0.1"
+ "@stablelib/random": "npm:^1.0.2"
+ "@stablelib/wipe": "npm:^1.0.1"
+ checksum: 10/fb5469e390ee2515d926633e3e179038894ac4f5e8c8cd2c2fc912022e34a051112eab0fe80c4dbc6e59129679844182562a036abff89444e5c4a05dd42ed329
+ languageName: node
+ linkType: hard
+
"@swc/core-darwin-arm64@npm:1.6.13":
version: 1.6.13
resolution: "@swc/core-darwin-arm64@npm:1.6.13"
@@ -5880,6 +6723,24 @@ __metadata:
languageName: node
linkType: hard
+"@tanstack/query-core@npm:5.51.16":
+ version: 5.51.16
+ resolution: "@tanstack/query-core@npm:5.51.16"
+ checksum: 10/7b5f48839d41e083fb0a00cd92a2710e4850b3e1c9daa74073b11319b4fa8a3ef335fb8da3dbc711144c7aa982597b34745bd5851b40eab17deadd56681ed798
+ languageName: node
+ linkType: hard
+
+"@tanstack/react-query@npm:^5.51.16":
+ version: 5.51.16
+ resolution: "@tanstack/react-query@npm:5.51.16"
+ dependencies:
+ "@tanstack/query-core": "npm:5.51.16"
+ peerDependencies:
+ react: ^18.0.0
+ checksum: 10/84261a5c66c4311b06618af78d1534a84d908d5bc32c04f36f39dad977365090c244e8c5e3578f38118431e7a77970fae2ba6af75e1f03e8a22a48458f8d518d
+ languageName: node
+ linkType: hard
+
"@tootallnate/once@npm:2":
version: 2.0.0
resolution: "@tootallnate/once@npm:2.0.0"
@@ -5946,6 +6807,22 @@ __metadata:
languageName: node
linkType: hard
+"@types/debug@npm:^4.1.7":
+ version: 4.1.12
+ resolution: "@types/debug@npm:4.1.12"
+ dependencies:
+ "@types/ms": "npm:*"
+ checksum: 10/47876a852de8240bfdaf7481357af2b88cb660d30c72e73789abf00c499d6bc7cd5e52f41c915d1b9cd8ec9fef5b05688d7b7aef17f7f272c2d04679508d1053
+ languageName: node
+ linkType: hard
+
+"@types/dom-screen-wake-lock@npm:^1.0.0":
+ version: 1.0.3
+ resolution: "@types/dom-screen-wake-lock@npm:1.0.3"
+ checksum: 10/66bece3508b4f4147db97a530c758f8f5d3132ef00c06cab1db4bf2b4af6a3a614ae0a0ba6b53ddc4177a6545adf9d312547087256efc8eff7314b13221380b8
+ languageName: node
+ linkType: hard
+
"@types/express-serve-static-core@npm:^4.17.33":
version: 4.19.5
resolution: "@types/express-serve-static-core@npm:4.19.5"
@@ -6062,6 +6939,13 @@ __metadata:
languageName: node
linkType: hard
+"@types/ms@npm:*":
+ version: 0.7.34
+ resolution: "@types/ms@npm:0.7.34"
+ checksum: 10/f38d36e7b6edecd9badc9cf50474159e9da5fa6965a75186cceaf883278611b9df6669dc3a3cc122b7938d317b68a9e3d573d316fcb35d1be47ec9e468c6bd8a
+ languageName: node
+ linkType: hard
+
"@types/node-forge@npm:^1.3.0":
version: 1.3.11
resolution: "@types/node-forge@npm:1.3.11"
@@ -6157,6 +7041,15 @@ __metadata:
languageName: node
linkType: hard
+"@types/secp256k1@npm:^4.0.6":
+ version: 4.0.6
+ resolution: "@types/secp256k1@npm:4.0.6"
+ dependencies:
+ "@types/node": "npm:*"
+ checksum: 10/211f823be990b55612e604d620acf0dc3bc942d3836bdd8da604269effabc86d98161e5947487b4e4e128f9180fc1682daae2f89ea7a4d9648fdfe52fba365fc
+ languageName: node
+ linkType: hard
+
"@types/send@npm:*":
version: 0.17.4
resolution: "@types/send@npm:0.17.4"
@@ -6192,6 +7085,13 @@ __metadata:
languageName: node
linkType: hard
+"@types/trusted-types@npm:^2.0.2":
+ version: 2.0.7
+ resolution: "@types/trusted-types@npm:2.0.7"
+ checksum: 10/8e4202766a65877efcf5d5a41b7dd458480b36195e580a3b1085ad21e948bc417d55d6f8af1fd2a7ad008015d4117d5fdfe432731157da3c68678487174e4ba3
+ languageName: node
+ linkType: hard
+
"@types/yargs-parser@npm:*":
version: 21.0.3
resolution: "@types/yargs-parser@npm:21.0.3"
@@ -6208,46 +7108,448 @@ __metadata:
languageName: node
linkType: hard
-"@types/yargs@npm:^17.0.8":
- version: 17.0.32
- resolution: "@types/yargs@npm:17.0.32"
+"@types/yargs@npm:^17.0.8":
+ version: 17.0.32
+ resolution: "@types/yargs@npm:17.0.32"
+ dependencies:
+ "@types/yargs-parser": "npm:*"
+ checksum: 10/1e2b2673847011ce43607df690d392f137d95a2d6ea85aa319403eadda2ef4277365efd4982354d8843f2611ef3846c88599660aaeb537fa9ccddae83c2a89de
+ languageName: node
+ linkType: hard
+
+"@urql/core@npm:2.3.6":
+ version: 2.3.6
+ resolution: "@urql/core@npm:2.3.6"
+ dependencies:
+ "@graphql-typed-document-node/core": "npm:^3.1.0"
+ wonka: "npm:^4.0.14"
+ peerDependencies:
+ graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
+ checksum: 10/83b239f5559f380fff8f88ddeac15977443d97b83c47b2066315194e37a5b27b1b1f777a588f8ecb3bb823f522755a20337d3437119721328fd53f08fa55b361
+ languageName: node
+ linkType: hard
+
+"@urql/core@npm:>=2.3.1":
+ version: 5.0.4
+ resolution: "@urql/core@npm:5.0.4"
+ dependencies:
+ "@0no-co/graphql.web": "npm:^1.0.5"
+ wonka: "npm:^6.3.2"
+ checksum: 10/fe3ee871bde8ee8931d1f791a1475f8bf97940eb93eaa690b11dbfcfa9409644ea87c204245f64e22ea1ddeb16a55e7532b765c18eedcdd9ae8032981889d06a
+ languageName: node
+ linkType: hard
+
+"@urql/exchange-retry@npm:0.3.0":
+ version: 0.3.0
+ resolution: "@urql/exchange-retry@npm:0.3.0"
+ dependencies:
+ "@urql/core": "npm:>=2.3.1"
+ wonka: "npm:^4.0.14"
+ peerDependencies:
+ graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0
+ checksum: 10/db9d611a5c66afa0b9953d2d622ad19b191da631841a1a3231d1a837ff1bd756e26cb87569e9f124d5503866f36c77f2bc33fa2f86fba20b1b61bd476be9261b
+ languageName: node
+ linkType: hard
+
+"@vanilla-extract/css@npm:1.14.0":
+ version: 1.14.0
+ resolution: "@vanilla-extract/css@npm:1.14.0"
+ dependencies:
+ "@emotion/hash": "npm:^0.9.0"
+ "@vanilla-extract/private": "npm:^1.0.3"
+ chalk: "npm:^4.1.1"
+ css-what: "npm:^6.1.0"
+ cssesc: "npm:^3.0.0"
+ csstype: "npm:^3.0.7"
+ deep-object-diff: "npm:^1.1.9"
+ deepmerge: "npm:^4.2.2"
+ media-query-parser: "npm:^2.0.2"
+ modern-ahocorasick: "npm:^1.0.0"
+ outdent: "npm:^0.8.0"
+ checksum: 10/b708fa88705c72db4a4ed5246247910ca0297a6ef1edb3c64aa1ace3d4aee4bb739afcf5cf190ea4398f800aa96586c4ed4013b794924afa851b68723655cfb5
+ languageName: node
+ linkType: hard
+
+"@vanilla-extract/dynamic@npm:2.1.0":
+ version: 2.1.0
+ resolution: "@vanilla-extract/dynamic@npm:2.1.0"
+ dependencies:
+ "@vanilla-extract/private": "npm:^1.0.3"
+ checksum: 10/c4a49e20485889967bb1c71fc4d208ff5c500f61bf6390a03453d51a691736c85807f47727d10de55ac66260a3ac2a4a9df76354f10c75ce127f0c00e49fd64b
+ languageName: node
+ linkType: hard
+
+"@vanilla-extract/private@npm:^1.0.3":
+ version: 1.0.5
+ resolution: "@vanilla-extract/private@npm:1.0.5"
+ checksum: 10/31c3536e36320f56c8c7e196a5a29597630899775d63b660f6d9fbe6d407702e52501247d08919316b7ad5d23d3e52dffcc0c2182edbdcc7ebf726076cb245e9
+ languageName: node
+ linkType: hard
+
+"@vanilla-extract/sprinkles@npm:1.6.1":
+ version: 1.6.1
+ resolution: "@vanilla-extract/sprinkles@npm:1.6.1"
+ peerDependencies:
+ "@vanilla-extract/css": ^1.0.0
+ checksum: 10/a469f5a925da3cb0d23a83c77ce88779697143758c72000f3c4f9e4f4396035ae2a3a13d7d200e625c98952a1f375d83709817ff86fee039aa480840bd5a8888
+ languageName: node
+ linkType: hard
+
+"@wagmi/connectors@npm:5.1.2":
+ version: 5.1.2
+ resolution: "@wagmi/connectors@npm:5.1.2"
+ dependencies:
+ "@coinbase/wallet-sdk": "npm:4.0.4"
+ "@metamask/sdk": "npm:0.27.0"
+ "@safe-global/safe-apps-provider": "npm:0.18.3"
+ "@safe-global/safe-apps-sdk": "npm:9.1.0"
+ "@walletconnect/ethereum-provider": "npm:2.14.0"
+ "@walletconnect/modal": "npm:2.6.2"
+ cbw-sdk: "npm:@coinbase/wallet-sdk@3.9.3"
+ peerDependencies:
+ "@wagmi/core": 2.13.1
+ typescript: ">=5.0.4"
+ viem: 2.x
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ checksum: 10/6cf837cc57d34ba4a3da2eb051497d9e628ef6f06c0133c04ddfcec045179d94190a1b15d4d50f1422bbf38dfd6b9d20bf3f885c0d1567d1c7a7ee30eeca028b
+ languageName: node
+ linkType: hard
+
+"@wagmi/core@npm:2.13.1":
+ version: 2.13.1
+ resolution: "@wagmi/core@npm:2.13.1"
+ dependencies:
+ eventemitter3: "npm:5.0.1"
+ mipd: "npm:0.0.7"
+ zustand: "npm:4.4.1"
+ peerDependencies:
+ "@tanstack/query-core": ">=5.0.0"
+ typescript: ">=5.0.4"
+ viem: 2.x
+ peerDependenciesMeta:
+ "@tanstack/query-core":
+ optional: true
+ typescript:
+ optional: true
+ checksum: 10/2f2847799c08422ba354589a92f635eab0254fe7faac4f07bf6e66968d6db7219b3efb9c350a4e2e8f6e170fd853cf82cbe9980034145e3f9246a042dd4e48e3
+ languageName: node
+ linkType: hard
+
+"@walletconnect/core@npm:2.14.0":
+ version: 2.14.0
+ resolution: "@walletconnect/core@npm:2.14.0"
+ dependencies:
+ "@walletconnect/heartbeat": "npm:1.2.2"
+ "@walletconnect/jsonrpc-provider": "npm:1.0.14"
+ "@walletconnect/jsonrpc-types": "npm:1.0.4"
+ "@walletconnect/jsonrpc-utils": "npm:1.0.8"
+ "@walletconnect/jsonrpc-ws-connection": "npm:1.0.14"
+ "@walletconnect/keyvaluestorage": "npm:1.1.1"
+ "@walletconnect/logger": "npm:2.1.2"
+ "@walletconnect/relay-api": "npm:1.0.10"
+ "@walletconnect/relay-auth": "npm:1.0.4"
+ "@walletconnect/safe-json": "npm:1.0.2"
+ "@walletconnect/time": "npm:1.0.2"
+ "@walletconnect/types": "npm:2.14.0"
+ "@walletconnect/utils": "npm:2.14.0"
+ events: "npm:3.3.0"
+ isomorphic-unfetch: "npm:3.1.0"
+ lodash.isequal: "npm:4.5.0"
+ uint8arrays: "npm:3.1.0"
+ checksum: 10/1612c0da3a2f843f0bf65f903e627026cbcfaf4c517a3f2eed1d90ba42d4ab4d97216b1e2ba817417558a095e645f90961326356be9b4be5ad53c524ae2be26f
+ languageName: node
+ linkType: hard
+
+"@walletconnect/environment@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "@walletconnect/environment@npm:1.0.1"
+ dependencies:
+ tslib: "npm:1.14.1"
+ checksum: 10/f6a1e3456e50cc7cfa58d99fd513ecac75573d0b8bcbbedcb1d7ec04ca9108df16b471afd40761b2a5cb4f66d8e33b7ba25f02c62c8365d68b1bd1ef52c1813e
+ languageName: node
+ linkType: hard
+
+"@walletconnect/ethereum-provider@npm:2.14.0":
+ version: 2.14.0
+ resolution: "@walletconnect/ethereum-provider@npm:2.14.0"
+ dependencies:
+ "@walletconnect/jsonrpc-http-connection": "npm:1.0.8"
+ "@walletconnect/jsonrpc-provider": "npm:1.0.14"
+ "@walletconnect/jsonrpc-types": "npm:1.0.4"
+ "@walletconnect/jsonrpc-utils": "npm:1.0.8"
+ "@walletconnect/modal": "npm:2.6.2"
+ "@walletconnect/sign-client": "npm:2.14.0"
+ "@walletconnect/types": "npm:2.14.0"
+ "@walletconnect/universal-provider": "npm:2.14.0"
+ "@walletconnect/utils": "npm:2.14.0"
+ events: "npm:3.3.0"
+ checksum: 10/d2db655603ce2c9bb83000eafd0d77dd8de6879997afcd1a5a70539c05c4863ed08ae637dcb90c208176b19b620545ca365e9f11899cfadc9dbce7ed1fc4d093
+ languageName: node
+ linkType: hard
+
+"@walletconnect/events@npm:1.0.1, @walletconnect/events@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "@walletconnect/events@npm:1.0.1"
+ dependencies:
+ keyvaluestorage-interface: "npm:^1.0.0"
+ tslib: "npm:1.14.1"
+ checksum: 10/b5a105e9ac4d7d0a500085afd77b71e71a8ab78fd38b033e4ce91f8626fd8c254b1ba49a59c8c0ed8a00a7e8b93995163f414eda73c58694f8f830e453a902b6
+ languageName: node
+ linkType: hard
+
+"@walletconnect/heartbeat@npm:1.2.2":
+ version: 1.2.2
+ resolution: "@walletconnect/heartbeat@npm:1.2.2"
+ dependencies:
+ "@walletconnect/events": "npm:^1.0.1"
+ "@walletconnect/time": "npm:^1.0.2"
+ events: "npm:^3.3.0"
+ checksum: 10/f3a1c3c255ac9bd374b25e1ef65a61b1f623b9118d48471acaac1f9ee4ee1438d8d8cbc77733cdd980809b468443c046328fe5ac4084e01e0892f8c699cf44e7
+ languageName: node
+ linkType: hard
+
+"@walletconnect/jsonrpc-http-connection@npm:1.0.8":
+ version: 1.0.8
+ resolution: "@walletconnect/jsonrpc-http-connection@npm:1.0.8"
+ dependencies:
+ "@walletconnect/jsonrpc-utils": "npm:^1.0.6"
+ "@walletconnect/safe-json": "npm:^1.0.1"
+ cross-fetch: "npm:^3.1.4"
+ events: "npm:^3.3.0"
+ checksum: 10/c545906243df27fdbde3c8e9005217069dd22ce0f496c59f55843ca8fcb0c1a90d2c0ac6ecb16fa110ed85c36e5486f5a74621a5ca6230667d77ee3b0ae36cc6
+ languageName: node
+ linkType: hard
+
+"@walletconnect/jsonrpc-provider@npm:1.0.14":
+ version: 1.0.14
+ resolution: "@walletconnect/jsonrpc-provider@npm:1.0.14"
+ dependencies:
+ "@walletconnect/jsonrpc-utils": "npm:^1.0.8"
+ "@walletconnect/safe-json": "npm:^1.0.2"
+ events: "npm:^3.3.0"
+ checksum: 10/c3c78f00148043b70213f5174d537b210f1fb231d96103cbf7d0101626578d3c13fe99ac080df7a0056c7128ce488b0523eda0e3d1deed75754672848b4909a5
+ languageName: node
+ linkType: hard
+
+"@walletconnect/jsonrpc-types@npm:1.0.4, @walletconnect/jsonrpc-types@npm:^1.0.2, @walletconnect/jsonrpc-types@npm:^1.0.3":
+ version: 1.0.4
+ resolution: "@walletconnect/jsonrpc-types@npm:1.0.4"
+ dependencies:
+ events: "npm:^3.3.0"
+ keyvaluestorage-interface: "npm:^1.0.0"
+ checksum: 10/8cdc9f7b5e3ae0d702a44a6fc4c388a2b627188df758ffd103ba9aac6596a787d2f319aa8f6928a03d990c71c17d9b876028f36b8e0c37bd5c9026231ed9ba45
+ languageName: node
+ linkType: hard
+
+"@walletconnect/jsonrpc-utils@npm:1.0.8, @walletconnect/jsonrpc-utils@npm:^1.0.6, @walletconnect/jsonrpc-utils@npm:^1.0.8":
+ version: 1.0.8
+ resolution: "@walletconnect/jsonrpc-utils@npm:1.0.8"
+ dependencies:
+ "@walletconnect/environment": "npm:^1.0.1"
+ "@walletconnect/jsonrpc-types": "npm:^1.0.3"
+ tslib: "npm:1.14.1"
+ checksum: 10/4687b4582a5c33883d94e87ca8bb22d129a2a47b6e1d9e2c3210b74f02d9677723b3bf2283d2f0fa69866b0a66a80cdfada9a2f1c204d485fbd10d2baed1f0a6
+ languageName: node
+ linkType: hard
+
+"@walletconnect/jsonrpc-ws-connection@npm:1.0.14":
+ version: 1.0.14
+ resolution: "@walletconnect/jsonrpc-ws-connection@npm:1.0.14"
+ dependencies:
+ "@walletconnect/jsonrpc-utils": "npm:^1.0.6"
+ "@walletconnect/safe-json": "npm:^1.0.2"
+ events: "npm:^3.3.0"
+ ws: "npm:^7.5.1"
+ checksum: 10/2ad66217b62fb57a43c8edd33c27da0c9ba09cfec79f4d43e5d30bcb8224a48c1d1f0d6273be0371f2c7e33d8138a6fe03afa499b429ab7829d719677cd48f4d
+ languageName: node
+ linkType: hard
+
+"@walletconnect/keyvaluestorage@npm:1.1.1":
+ version: 1.1.1
+ resolution: "@walletconnect/keyvaluestorage@npm:1.1.1"
+ dependencies:
+ "@walletconnect/safe-json": "npm:^1.0.1"
+ idb-keyval: "npm:^6.2.1"
+ unstorage: "npm:^1.9.0"
+ peerDependencies:
+ "@react-native-async-storage/async-storage": 1.x
+ peerDependenciesMeta:
+ "@react-native-async-storage/async-storage":
+ optional: true
+ checksum: 10/fd9c275b3249d8e9f722866703b5c040eb35d0670c92a297428ffb700ac36c6b9978242beac5d2cfe97eb522ae01307cacd9c79ecf95640878804fce0f13c5e7
+ languageName: node
+ linkType: hard
+
+"@walletconnect/logger@npm:2.1.2":
+ version: 2.1.2
+ resolution: "@walletconnect/logger@npm:2.1.2"
+ dependencies:
+ "@walletconnect/safe-json": "npm:^1.0.2"
+ pino: "npm:7.11.0"
+ checksum: 10/2e6d438bd352595fff6691712c83953e3ad6b2b9ab298c5a8b670a024f53a3f744b165e5aa081a79261ee4801b93b6c60698a39947d613d49a8f6e6215ecd4c2
+ languageName: node
+ linkType: hard
+
+"@walletconnect/modal-core@npm:2.6.2":
+ version: 2.6.2
+ resolution: "@walletconnect/modal-core@npm:2.6.2"
+ dependencies:
+ valtio: "npm:1.11.2"
+ checksum: 10/671184da341eebb6b7a3ad7c334851113683d71e6118f7203a377e493b61eb94bc0571484e497e577b9f4d7221a8a7034ad4b52af722c89fa4105627bed638ba
+ languageName: node
+ linkType: hard
+
+"@walletconnect/modal-ui@npm:2.6.2":
+ version: 2.6.2
+ resolution: "@walletconnect/modal-ui@npm:2.6.2"
+ dependencies:
+ "@walletconnect/modal-core": "npm:2.6.2"
+ lit: "npm:2.8.0"
+ motion: "npm:10.16.2"
+ qrcode: "npm:1.5.3"
+ checksum: 10/5460ad7f4591c016b723b3f707ac0020e185b60744cf7132b4b4f48d71c87c1c55826f6e11005860f96bd11e0ed3f88da7cda4c0a1c35a0e5b7d6e53bc14cf15
+ languageName: node
+ linkType: hard
+
+"@walletconnect/modal@npm:2.6.2":
+ version: 2.6.2
+ resolution: "@walletconnect/modal@npm:2.6.2"
+ dependencies:
+ "@walletconnect/modal-core": "npm:2.6.2"
+ "@walletconnect/modal-ui": "npm:2.6.2"
+ checksum: 10/f8f132c89d1d7f44f2fa564c8d5122163610be4afb0cadc9576c77083471297c37ff62aae3a25492c0ddb480240a2a6ffefe3eba1fd48f1664160c6bac01466d
+ languageName: node
+ linkType: hard
+
+"@walletconnect/relay-api@npm:1.0.10":
+ version: 1.0.10
+ resolution: "@walletconnect/relay-api@npm:1.0.10"
+ dependencies:
+ "@walletconnect/jsonrpc-types": "npm:^1.0.2"
+ checksum: 10/0faeaed5bcd71da9f6b622d9d2cf2db3019108c61512032895e9bd9267a9f93edb7232489813df0a2770a88b83b2ebf8cf13159580f9126b81ebc283caebd4c6
+ languageName: node
+ linkType: hard
+
+"@walletconnect/relay-auth@npm:1.0.4":
+ version: 1.0.4
+ resolution: "@walletconnect/relay-auth@npm:1.0.4"
+ dependencies:
+ "@stablelib/ed25519": "npm:^1.0.2"
+ "@stablelib/random": "npm:^1.0.1"
+ "@walletconnect/safe-json": "npm:^1.0.1"
+ "@walletconnect/time": "npm:^1.0.2"
+ tslib: "npm:1.14.1"
+ uint8arrays: "npm:^3.0.0"
+ checksum: 10/d9128b2a25f38ebf2f49f8c184dad5c997ad6343513bddd7941459c2f2757e6acfbcdd36dc9c12d0491f55723d5e2c5c0ee2e9cf381b3247274b920e95d4db0e
+ languageName: node
+ linkType: hard
+
+"@walletconnect/safe-json@npm:1.0.2, @walletconnect/safe-json@npm:^1.0.1, @walletconnect/safe-json@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "@walletconnect/safe-json@npm:1.0.2"
+ dependencies:
+ tslib: "npm:1.14.1"
+ checksum: 10/b9d031dab3916d20fa5241d7ad2be425368ae489995ba3ba18d6ad88e81ad3ed093b8e867b8a4fc44759099896aeb5afee5635858cb80c4819ebc7ebb71ed5a6
+ languageName: node
+ linkType: hard
+
+"@walletconnect/sign-client@npm:2.14.0":
+ version: 2.14.0
+ resolution: "@walletconnect/sign-client@npm:2.14.0"
+ dependencies:
+ "@walletconnect/core": "npm:2.14.0"
+ "@walletconnect/events": "npm:1.0.1"
+ "@walletconnect/heartbeat": "npm:1.2.2"
+ "@walletconnect/jsonrpc-utils": "npm:1.0.8"
+ "@walletconnect/logger": "npm:2.1.2"
+ "@walletconnect/time": "npm:1.0.2"
+ "@walletconnect/types": "npm:2.14.0"
+ "@walletconnect/utils": "npm:2.14.0"
+ events: "npm:3.3.0"
+ checksum: 10/2e95feae093cace1d8230296f802b62fc267d360850b8c5d5558bdc5b53087ed758f0e3935353a7e10d4b4f3e04bcfb4bf2b3cdbf212d05903ceb4e76f6a67cb
+ languageName: node
+ linkType: hard
+
+"@walletconnect/time@npm:1.0.2, @walletconnect/time@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "@walletconnect/time@npm:1.0.2"
+ dependencies:
+ tslib: "npm:1.14.1"
+ checksum: 10/ea84d0850e63306837f98a228e08a59f6945da38ba5553b1f158abeaa8ec4dc8a0025a0f0cfc843ddf05ce2947da95c02ac1e8cedce7092bbe1c2d46ca816dd9
+ languageName: node
+ linkType: hard
+
+"@walletconnect/types@npm:2.14.0":
+ version: 2.14.0
+ resolution: "@walletconnect/types@npm:2.14.0"
dependencies:
- "@types/yargs-parser": "npm:*"
- checksum: 10/1e2b2673847011ce43607df690d392f137d95a2d6ea85aa319403eadda2ef4277365efd4982354d8843f2611ef3846c88599660aaeb537fa9ccddae83c2a89de
+ "@walletconnect/events": "npm:1.0.1"
+ "@walletconnect/heartbeat": "npm:1.2.2"
+ "@walletconnect/jsonrpc-types": "npm:1.0.4"
+ "@walletconnect/keyvaluestorage": "npm:1.1.1"
+ "@walletconnect/logger": "npm:2.1.2"
+ events: "npm:3.3.0"
+ checksum: 10/02ffe6b97eeb7af35cb5234241f170751463ca60852dbff494a9b0bf942a224b4b58500f3ff3cd5074fda2d6bc32a9113ee99fd639bc5d66b7e0b223951e150c
languageName: node
linkType: hard
-"@urql/core@npm:2.3.6":
- version: 2.3.6
- resolution: "@urql/core@npm:2.3.6"
+"@walletconnect/universal-provider@npm:2.14.0":
+ version: 2.14.0
+ resolution: "@walletconnect/universal-provider@npm:2.14.0"
dependencies:
- "@graphql-typed-document-node/core": "npm:^3.1.0"
- wonka: "npm:^4.0.14"
- peerDependencies:
- graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
- checksum: 10/83b239f5559f380fff8f88ddeac15977443d97b83c47b2066315194e37a5b27b1b1f777a588f8ecb3bb823f522755a20337d3437119721328fd53f08fa55b361
+ "@walletconnect/jsonrpc-http-connection": "npm:1.0.8"
+ "@walletconnect/jsonrpc-provider": "npm:1.0.14"
+ "@walletconnect/jsonrpc-types": "npm:1.0.4"
+ "@walletconnect/jsonrpc-utils": "npm:1.0.8"
+ "@walletconnect/logger": "npm:2.1.2"
+ "@walletconnect/sign-client": "npm:2.14.0"
+ "@walletconnect/types": "npm:2.14.0"
+ "@walletconnect/utils": "npm:2.14.0"
+ events: "npm:3.3.0"
+ checksum: 10/f72702acc797e7fe7bef1fbe31004050e149536c8b5b1071390edd247e1324334cf002ad82815febf8586393008cf84b341f2d6ff3d137af4bad2f2c82ba0fe8
languageName: node
linkType: hard
-"@urql/core@npm:>=2.3.1":
- version: 5.0.4
- resolution: "@urql/core@npm:5.0.4"
+"@walletconnect/utils@npm:2.14.0":
+ version: 2.14.0
+ resolution: "@walletconnect/utils@npm:2.14.0"
+ dependencies:
+ "@stablelib/chacha20poly1305": "npm:1.0.1"
+ "@stablelib/hkdf": "npm:1.0.1"
+ "@stablelib/random": "npm:1.0.2"
+ "@stablelib/sha256": "npm:1.0.1"
+ "@stablelib/x25519": "npm:1.0.3"
+ "@walletconnect/relay-api": "npm:1.0.10"
+ "@walletconnect/safe-json": "npm:1.0.2"
+ "@walletconnect/time": "npm:1.0.2"
+ "@walletconnect/types": "npm:2.14.0"
+ "@walletconnect/window-getters": "npm:1.0.1"
+ "@walletconnect/window-metadata": "npm:1.0.1"
+ detect-browser: "npm:5.3.0"
+ query-string: "npm:7.1.3"
+ uint8arrays: "npm:3.1.0"
+ checksum: 10/a0e63763e5ac6391fd458a466c0f1b25247633fe3b7866fed7efc39b6399406f68ad353c49c091cdf718a8ce1be9d7eeaee8146c9ea2c32470bb716d3c73c0b6
+ languageName: node
+ linkType: hard
+
+"@walletconnect/window-getters@npm:1.0.1, @walletconnect/window-getters@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "@walletconnect/window-getters@npm:1.0.1"
dependencies:
- "@0no-co/graphql.web": "npm:^1.0.5"
- wonka: "npm:^6.3.2"
- checksum: 10/fe3ee871bde8ee8931d1f791a1475f8bf97940eb93eaa690b11dbfcfa9409644ea87c204245f64e22ea1ddeb16a55e7532b765c18eedcdd9ae8032981889d06a
+ tslib: "npm:1.14.1"
+ checksum: 10/8d3fcb134fbbe903ba4a63f1fa5a7849fd443874bf45488260afc2fe3b1cbe211f86da1d76ee844be7c0e8618ae67402f94c213432fd80b04715eaf72e2e00e3
languageName: node
linkType: hard
-"@urql/exchange-retry@npm:0.3.0":
- version: 0.3.0
- resolution: "@urql/exchange-retry@npm:0.3.0"
+"@walletconnect/window-metadata@npm:1.0.1":
+ version: 1.0.1
+ resolution: "@walletconnect/window-metadata@npm:1.0.1"
dependencies:
- "@urql/core": "npm:>=2.3.1"
- wonka: "npm:^4.0.14"
- peerDependencies:
- graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0
- checksum: 10/db9d611a5c66afa0b9953d2d622ad19b191da631841a1a3231d1a837ff1bd756e26cb87569e9f124d5503866f36c77f2bc33fa2f86fba20b1b61bd476be9261b
+ "@walletconnect/window-getters": "npm:^1.0.1"
+ tslib: "npm:1.14.1"
+ checksum: 10/cf322e0860c4448cefcd81f34bc6d49d1a235a81e74a6146baefb74e47cf6c3c8050b65e534a3dc13f8d2aed3fc59732ccf48d5a01b5b23e08e1847fcffa950c
languageName: node
linkType: hard
@@ -6326,6 +7628,21 @@ __metadata:
languageName: node
linkType: hard
+"abitype@npm:1.0.5":
+ version: 1.0.5
+ resolution: "abitype@npm:1.0.5"
+ peerDependencies:
+ typescript: ">=5.0.4"
+ zod: ^3 >=3.22.0
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ zod:
+ optional: true
+ checksum: 10/1acd0d9687945dd78442b71bd84ff3b9dceae27d15f0d8b14b16554a0c8c9518eeb971ff8e94d507f4d9f05a8a8b91eb8fafd735eaecebac37d5c5a4aac06d8e
+ languageName: node
+ linkType: hard
+
"abort-controller@npm:^3.0.0":
version: 3.0.0
resolution: "abort-controller@npm:3.0.0"
@@ -6345,7 +7662,7 @@ __metadata:
languageName: node
linkType: hard
-"acorn@npm:^8.8.2":
+"acorn@npm:^8.11.3, acorn@npm:^8.8.2":
version: 8.12.1
resolution: "acorn@npm:8.12.1"
bin:
@@ -6527,7 +7844,7 @@ __metadata:
languageName: node
linkType: hard
-"anymatch@npm:^3.0.3, anymatch@npm:~3.1.2":
+"anymatch@npm:^3.0.3, anymatch@npm:^3.1.3, anymatch@npm:~3.1.2":
version: 3.1.3
resolution: "anymatch@npm:3.1.3"
dependencies:
@@ -6577,6 +7894,7 @@ __metadata:
"@babel/core": "npm:^7.24.9"
"@expo/metro-config": "npm:~0.18.8"
"@expo/metro-runtime": "npm:~3.2.1"
+ "@rainbow-me/rainbowkit": "npm:2"
"@react-native-firebase/app": "npm:^20.3.0"
"@react-native-firebase/messaging": "npm:^20.3.0"
"@react-navigation/native": "npm:^6.1.17"
@@ -6585,6 +7903,7 @@ __metadata:
"@tamagui/lucide-icons": "npm:^1.102.3"
"@tamagui/metro-plugin": "npm:^1.102.3"
"@tamagui/toast": "npm:^1.102.3"
+ "@tanstack/react-query": "npm:^5.51.16"
"@types/react": "npm:~18.3.3"
"@types/react-native": "npm:^0.73.0"
babel-preset-expo: "npm:^11.0.12"
@@ -6613,6 +7932,8 @@ __metadata:
react-native-webview: "npm:13.10.5"
tamagui: "npm:^1.102.3"
typescript: "npm:~5.5.3"
+ viem: "npm:2.x"
+ wagmi: "npm:2"
languageName: unknown
linkType: soft
@@ -6766,6 +8087,15 @@ __metadata:
languageName: node
linkType: hard
+"async-mutex@npm:^0.2.6":
+ version: 0.2.6
+ resolution: "async-mutex@npm:0.2.6"
+ dependencies:
+ tslib: "npm:^2.0.0"
+ checksum: 10/3cf676fc48b4686abf534cc02d4784bab3f35d7836a0a7476c96e57c3f6607dd3d94cc0989b29d33ce5ae5cde8be8e1a96f3e769ba3b0e1ba4a244f873aa5623
+ languageName: node
+ linkType: hard
+
"async-retry@npm:^1.3.3":
version: 1.3.3
resolution: "async-retry@npm:1.3.3"
@@ -6796,6 +8126,13 @@ __metadata:
languageName: node
linkType: hard
+"atomic-sleep@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "atomic-sleep@npm:1.0.0"
+ checksum: 10/3ab6d2cf46b31394b4607e935ec5c1c3c4f60f3e30f0913d35ea74b51b3585e84f590d09e58067f11762eec71c87d25314ce859030983dc0e4397eed21daa12e
+ languageName: node
+ linkType: hard
+
"available-typed-arrays@npm:^1.0.7":
version: 1.0.7
resolution: "available-typed-arrays@npm:1.0.7"
@@ -7020,6 +8357,20 @@ __metadata:
languageName: node
linkType: hard
+"bn.js@npm:^4.11.9":
+ version: 4.12.0
+ resolution: "bn.js@npm:4.12.0"
+ checksum: 10/10f8db196d3da5adfc3207d35d0a42aa29033eb33685f20ba2c36cadfe2de63dad05df0a20ab5aae01b418d1c4b3d4d205273085262fa020d17e93ff32b67527
+ languageName: node
+ linkType: hard
+
+"bn.js@npm:^5.2.1":
+ version: 5.2.1
+ resolution: "bn.js@npm:5.2.1"
+ checksum: 10/7a7e8764d7a6e9708b8b9841b2b3d6019cc154d2fc23716d0efecfe1e16921b7533c6f7361fb05471eab47986c4aa310c270f88e3507172104632ac8df2cfd84
+ languageName: node
+ linkType: hard
+
"boolbase@npm:^1.0.0":
version: 1.0.0
resolution: "boolbase@npm:1.0.0"
@@ -7027,6 +8378,13 @@ __metadata:
languageName: node
linkType: hard
+"bowser@npm:^2.9.0":
+ version: 2.11.0
+ resolution: "bowser@npm:2.11.0"
+ checksum: 10/ef46500eafe35072455e7c3ae771244e97827e0626686a9a3601c436d16eb272dad7ccbd49e2130b599b617ca9daa67027de827ffc4c220e02f63c84b69a8751
+ languageName: node
+ linkType: hard
+
"bplist-creator@npm:0.0.7":
version: 0.0.7
resolution: "bplist-creator@npm:0.0.7"
@@ -7082,6 +8440,13 @@ __metadata:
languageName: node
linkType: hard
+"brorand@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "brorand@npm:1.1.0"
+ checksum: 10/8a05c9f3c4b46572dec6ef71012b1946db6cae8c7bb60ccd4b7dd5a84655db49fe043ecc6272e7ef1f69dc53d6730b9e2a3a03a8310509a3d797a618cbee52be
+ languageName: node
+ linkType: hard
+
"browserslist@npm:^4.22.2, browserslist@npm:^4.23.0":
version: 4.23.1
resolution: "browserslist@npm:4.23.1"
@@ -7167,6 +8532,26 @@ __metadata:
languageName: node
linkType: hard
+"buffer@npm:^6.0.3":
+ version: 6.0.3
+ resolution: "buffer@npm:6.0.3"
+ dependencies:
+ base64-js: "npm:^1.3.1"
+ ieee754: "npm:^1.2.1"
+ checksum: 10/b6bc68237ebf29bdacae48ce60e5e28fc53ae886301f2ad9496618efac49427ed79096750033e7eab1897a4f26ae374ace49106a5758f38fb70c78c9fda2c3b1
+ languageName: node
+ linkType: hard
+
+"bufferutil@npm:^4.0.8":
+ version: 4.0.8
+ resolution: "bufferutil@npm:4.0.8"
+ dependencies:
+ node-gyp: "npm:latest"
+ node-gyp-build: "npm:^4.3.0"
+ checksum: 10/d9337badc960a19d5a031db5de47159d7d8a11b6bab399bdfbf464ffa9ecd2972fef19bb61a7d2827e0c55f912c20713e12343386b86cb013f2b99c2324ab6a3
+ languageName: node
+ linkType: hard
+
"builtins@npm:^1.0.3":
version: 1.0.3
resolution: "builtins@npm:1.0.3"
@@ -7333,6 +8718,23 @@ __metadata:
languageName: node
linkType: hard
+"cbw-sdk@npm:@coinbase/wallet-sdk@3.9.3":
+ version: 3.9.3
+ resolution: "@coinbase/wallet-sdk@npm:3.9.3"
+ dependencies:
+ bn.js: "npm:^5.2.1"
+ buffer: "npm:^6.0.3"
+ clsx: "npm:^1.2.1"
+ eth-block-tracker: "npm:^7.1.0"
+ eth-json-rpc-filters: "npm:^6.0.0"
+ eventemitter3: "npm:^5.0.1"
+ keccak: "npm:^3.0.3"
+ preact: "npm:^10.16.0"
+ sha.js: "npm:^2.4.11"
+ checksum: 10/3bc3f0edad8ea46cb7a127993373093d95b6fef03d2a6a40bae7983a1d9a20a114faa8e7bf1230efd380ffb67b42dae405c6617cd6fad6d278bf9b9e021a0280
+ languageName: node
+ linkType: hard
+
"chalk@npm:4.1.0":
version: 4.1.0
resolution: "chalk@npm:4.1.0"
@@ -7404,7 +8806,7 @@ __metadata:
languageName: node
linkType: hard
-"chokidar@npm:^3.5.2":
+"chokidar@npm:^3.5.2, chokidar@npm:^3.6.0":
version: 3.6.0
resolution: "chokidar@npm:3.6.0"
dependencies:
@@ -7474,6 +8876,15 @@ __metadata:
languageName: node
linkType: hard
+"citty@npm:^0.1.5, citty@npm:^0.1.6":
+ version: 0.1.6
+ resolution: "citty@npm:0.1.6"
+ dependencies:
+ consola: "npm:^3.2.3"
+ checksum: 10/3208947e73abb699a12578ee2bfee254bf8dd1ce0d5698e8a298411cabf16bd3620d63433aef5bd88cdb2b9da71aef18adefa3b4ffd18273bb62dd1d28c344f5
+ languageName: node
+ linkType: hard
+
"clean-stack@npm:^2.0.0":
version: 2.2.0
resolution: "clean-stack@npm:2.2.0"
@@ -7539,6 +8950,17 @@ __metadata:
languageName: node
linkType: hard
+"clipboardy@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "clipboardy@npm:4.0.0"
+ dependencies:
+ execa: "npm:^8.0.1"
+ is-wsl: "npm:^3.1.0"
+ is64bit: "npm:^2.0.0"
+ checksum: 10/ec4ebe7e5c81d9c9cb994637e7b0e068c1c8fc272167ecd5519f967427271ec66e0e64da7268a2630b860eff42933aeabe25ba5e42bb80dbf1fae6362df059ed
+ languageName: node
+ linkType: hard
+
"cliui@npm:^6.0.0":
version: 6.0.0
resolution: "cliui@npm:6.0.0"
@@ -7609,6 +9031,20 @@ __metadata:
languageName: node
linkType: hard
+"clsx@npm:2.1.0":
+ version: 2.1.0
+ resolution: "clsx@npm:2.1.0"
+ checksum: 10/2e0ce7c3b6803d74fc8147c408f88e79245583202ac14abd9691e2aebb9f312de44270b79154320d10bb7804a9197869635d1291741084826cff20820f31542b
+ languageName: node
+ linkType: hard
+
+"clsx@npm:^1.2.1":
+ version: 1.2.1
+ resolution: "clsx@npm:1.2.1"
+ checksum: 10/5ded6f61f15f1fa0350e691ccec43a28b12fb8e64c8e94715f2a937bc3722d4c3ed41d6e945c971fc4dcc2a7213a43323beaf2e1c28654af63ba70c9968a8643
+ languageName: node
+ linkType: hard
+
"cmd-shim@npm:6.0.3, cmd-shim@npm:^6.0.0":
version: 6.0.3
resolution: "cmd-shim@npm:6.0.3"
@@ -7840,6 +9276,13 @@ __metadata:
languageName: node
linkType: hard
+"confbox@npm:^0.1.7":
+ version: 0.1.7
+ resolution: "confbox@npm:0.1.7"
+ checksum: 10/3086687b9a2a70d44d4b40a2d376536fe7e1baec4a2a34261b21b8a836026b419cbf89ded6054216631823e7d63c415dad4b4d53591d6edbb202bb9820dfa6fa
+ languageName: node
+ linkType: hard
+
"connect@npm:^3.6.5, connect@npm:^3.7.0":
version: 3.7.0
resolution: "connect@npm:3.7.0"
@@ -7852,6 +9295,13 @@ __metadata:
languageName: node
linkType: hard
+"consola@npm:^3.2.3":
+ version: 3.2.3
+ resolution: "consola@npm:3.2.3"
+ checksum: 10/02972dcb048c337357a3628438e5976b8e45bcec22fdcfbe9cd17622992953c4d695d5152f141464a02deac769b1d23028e8ac87f56483838df7a6bbf8e0f5a2
+ languageName: node
+ linkType: hard
+
"console-control-strings@npm:^1.1.0":
version: 1.1.0
resolution: "console-control-strings@npm:1.1.0"
@@ -7959,6 +9409,13 @@ __metadata:
languageName: node
linkType: hard
+"cookie-es@npm:^1.1.0":
+ version: 1.2.2
+ resolution: "cookie-es@npm:1.2.2"
+ checksum: 10/0fd742c11caa185928e450543f84df62d4b2c1fc7b5041196b57b7db04e1c6ac6585fb40e4f579a2819efefd2d6a9cbb4d17f71240d05f4dcd8f74ae81341a20
+ languageName: node
+ linkType: hard
+
"cookie-signature@npm:^1.1.0":
version: 1.2.1
resolution: "cookie-signature@npm:1.2.1"
@@ -8025,7 +9482,16 @@ __metadata:
languageName: node
linkType: hard
-"cross-fetch@npm:^3.1.5":
+"crc-32@npm:^1.2.0":
+ version: 1.2.2
+ resolution: "crc-32@npm:1.2.2"
+ bin:
+ crc32: bin/crc32.njs
+ checksum: 10/824f696a5baaf617809aa9cd033313c8f94f12d15ebffa69f10202480396be44aef9831d900ab291638a8022ed91c360696dd5b1ba691eb3f34e60be8835b7c3
+ languageName: node
+ linkType: hard
+
+"cross-fetch@npm:^3.1.4, cross-fetch@npm:^3.1.5":
version: 3.1.8
resolution: "cross-fetch@npm:3.1.8"
dependencies:
@@ -8034,6 +9500,15 @@ __metadata:
languageName: node
linkType: hard
+"cross-fetch@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "cross-fetch@npm:4.0.0"
+ dependencies:
+ node-fetch: "npm:^2.6.12"
+ checksum: 10/e231a71926644ef122d334a3a4e73d9ba3ba4b480a8a277fb9badc434c1ba905b3d60c8034e18b348361a09afbec40ba9371036801ba2b675a7b84588f9f55d8
+ languageName: node
+ linkType: hard
+
"cross-spawn@npm:^6.0.0":
version: 6.0.5
resolution: "cross-spawn@npm:6.0.5"
@@ -8058,6 +9533,18 @@ __metadata:
languageName: node
linkType: hard
+"crossws@npm:^0.2.0, crossws@npm:^0.2.4":
+ version: 0.2.4
+ resolution: "crossws@npm:0.2.4"
+ peerDependencies:
+ uWebSockets.js: "*"
+ peerDependenciesMeta:
+ uWebSockets.js:
+ optional: true
+ checksum: 10/f8ece87d1737f370f2e4802d5423b24bbe9286dd6f3b0111d00beaf2d16879dc8d332cfc5e42312425a6f1a1010fb72a6e7d4af33fc4fa0c9c6547843d87fcb6
+ languageName: node
+ linkType: hard
+
"crypt@npm:0.0.2, crypt@npm:~0.0.1":
version: 0.0.2
resolution: "crypt@npm:0.0.2"
@@ -8145,7 +9632,7 @@ __metadata:
languageName: node
linkType: hard
-"csstype@npm:^3.0.2":
+"csstype@npm:^3.0.2, csstype@npm:^3.0.7":
version: 3.1.3
resolution: "csstype@npm:3.1.3"
checksum: 10/f593cce41ff5ade23f44e77521e3a1bcc2c64107041e1bf6c3c32adc5187d0d60983292fda326154d20b01079e24931aa5b08e4467cc488b60bb1e7f6d478ade
@@ -8206,6 +9693,15 @@ __metadata:
languageName: node
linkType: hard
+"date-fns@npm:^2.29.3":
+ version: 2.30.0
+ resolution: "date-fns@npm:2.30.0"
+ dependencies:
+ "@babel/runtime": "npm:^7.21.0"
+ checksum: 10/70b3e8ea7aaaaeaa2cd80bd889622a4bcb5d8028b4de9162cbcda359db06e16ff6e9309e54eead5341e71031818497f19aaf9839c87d1aba1e27bb4796e758a9
+ languageName: node
+ linkType: hard
+
"dateformat@npm:^3.0.3":
version: 3.0.3
resolution: "dateformat@npm:3.0.3"
@@ -8250,6 +9746,18 @@ __metadata:
languageName: node
linkType: hard
+"debug@npm:~4.3.1, debug@npm:~4.3.2":
+ version: 4.3.6
+ resolution: "debug@npm:4.3.6"
+ dependencies:
+ ms: "npm:2.1.2"
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ checksum: 10/d3adb9af7d57a9e809a68f404490cf776122acca16e6359a2702c0f462e510e91f9765c07f707b8ab0d91e03bad57328f3256f5082631cefb5393d0394d50fb7
+ languageName: node
+ linkType: hard
+
"decamelize-keys@npm:^1.1.0":
version: 1.1.1
resolution: "decamelize-keys@npm:1.1.1"
@@ -8293,7 +9801,14 @@ __metadata:
languageName: node
linkType: hard
-"deepmerge@npm:^4.3.0, deepmerge@npm:^4.3.1":
+"deep-object-diff@npm:^1.1.9":
+ version: 1.1.9
+ resolution: "deep-object-diff@npm:1.1.9"
+ checksum: 10/b9771cc1ca08a34e408309eaab967bd2ab697684abdfa1262f4283ced8230a9ace966322f356364ff71a785c6e9cc356b7596582e900da5726e6b87d4b2a1463
+ languageName: node
+ linkType: hard
+
+"deepmerge@npm:^4.2.2, deepmerge@npm:^4.3.0, deepmerge@npm:^4.3.1":
version: 4.3.1
resolution: "deepmerge@npm:4.3.1"
checksum: 10/058d9e1b0ff1a154468bf3837aea436abcfea1ba1d165ddaaf48ca93765fdd01a30d33c36173da8fbbed951dd0a267602bc782fe288b0fc4b7e1e7091afc4529
@@ -8348,6 +9863,13 @@ __metadata:
languageName: node
linkType: hard
+"defu@npm:^6.1.4":
+ version: 6.1.4
+ resolution: "defu@npm:6.1.4"
+ checksum: 10/aeffdb47300f45b4fdef1c5bd3880ac18ea7a1fd5b8a8faf8df29350ff03bf16dd34f9800205cab513d476e4c0a3783aa0cff0a433aff0ac84a67ddc4c8a2d64
+ languageName: node
+ linkType: hard
+
"del@npm:^6.0.0":
version: 6.1.1
resolution: "del@npm:6.1.1"
@@ -8392,6 +9914,13 @@ __metadata:
languageName: node
linkType: hard
+"destr@npm:^2.0.3":
+ version: 2.0.3
+ resolution: "destr@npm:2.0.3"
+ checksum: 10/dbb756baa876810ec0ca4bcb702d86cc3b480ed14f36bf5747718ed211f96bca5520b63a4109eb181ad940ee2a645677d9a63d4a0ed11a7510619dae97317201
+ languageName: node
+ linkType: hard
+
"destroy@npm:1.2.0":
version: 1.2.0
resolution: "destroy@npm:1.2.0"
@@ -8399,6 +9928,13 @@ __metadata:
languageName: node
linkType: hard
+"detect-browser@npm:5.3.0, detect-browser@npm:^5.2.0":
+ version: 5.3.0
+ resolution: "detect-browser@npm:5.3.0"
+ checksum: 10/4a8551e1f5170633c9aa976f16c57f81f1044d071b2eb853c572bd817bf9cd0cc90c9c520d950edb5accd31b1b0c8ddb7a96e82040b0b5579f9f09c77446a117
+ languageName: node
+ linkType: hard
+
"detect-indent@npm:^5.0.0":
version: 5.0.0
resolution: "detect-indent@npm:5.0.0"
@@ -8429,6 +9965,13 @@ __metadata:
languageName: node
linkType: hard
+"dijkstrajs@npm:^1.0.1":
+ version: 1.0.3
+ resolution: "dijkstrajs@npm:1.0.3"
+ checksum: 10/0d8429699a6d5897ed371de494ef3c7072e8052b42abbd978e686a9b8689e70af005fa3e93e93263ee3653673ff5f89c36db830a57ae7c2e088cb9c496307507
+ languageName: node
+ linkType: hard
+
"dir-glob@npm:^3.0.1":
version: 3.0.1
resolution: "dir-glob@npm:3.0.1"
@@ -8508,7 +10051,7 @@ __metadata:
languageName: node
linkType: hard
-"duplexify@npm:^4.0.0, duplexify@npm:^4.1.3":
+"duplexify@npm:^4.0.0, duplexify@npm:^4.1.2, duplexify@npm:^4.1.3":
version: 4.1.3
resolution: "duplexify@npm:4.1.3"
dependencies:
@@ -8536,6 +10079,17 @@ __metadata:
languageName: node
linkType: hard
+"eciesjs@npm:^0.3.15":
+ version: 0.3.19
+ resolution: "eciesjs@npm:0.3.19"
+ dependencies:
+ "@types/secp256k1": "npm:^4.0.6"
+ futoin-hkdf: "npm:^1.5.3"
+ secp256k1: "npm:^5.0.0"
+ checksum: 10/35cdf409c39500662a62e9b6775f7ad65cbb598eb2a19ebf5d78e7444b995fe533f2a0ce97f90bb8787c32f3d5a9e35d5e9725536b515d3dd336a52a68b3791d
+ languageName: node
+ linkType: hard
+
"edit-json-file@npm:^1.7.0":
version: 1.8.0
resolution: "edit-json-file@npm:1.8.0"
@@ -8581,6 +10135,21 @@ __metadata:
languageName: node
linkType: hard
+"elliptic@npm:^6.5.4":
+ version: 6.5.6
+ resolution: "elliptic@npm:6.5.6"
+ dependencies:
+ bn.js: "npm:^4.11.9"
+ brorand: "npm:^1.1.0"
+ hash.js: "npm:^1.0.0"
+ hmac-drbg: "npm:^1.0.1"
+ inherits: "npm:^2.0.4"
+ minimalistic-assert: "npm:^1.0.1"
+ minimalistic-crypto-utils: "npm:^1.0.1"
+ checksum: 10/09377ec924fdb37775d63e5d7e5ebb2845842e6f08880b68265b1108863e968970c4a4e1c43df622078c8262417deec9a04aeb9d34e8d09a9693e19b5454e1df
+ languageName: node
+ linkType: hard
+
"emoji-regex@npm:^10.3.0":
version: 10.3.0
resolution: "emoji-regex@npm:10.3.0"
@@ -8602,6 +10171,13 @@ __metadata:
languageName: node
linkType: hard
+"encode-utf8@npm:^1.0.3":
+ version: 1.0.3
+ resolution: "encode-utf8@npm:1.0.3"
+ checksum: 10/0204c37cda21bf19bb8f87f7ec6c89a23d43488c2ef1e5cfa40b64ee9568e63e15dc323fa7f50a491e2c6d33843a6b409f6de09afbf6cf371cb8da596cc64b44
+ languageName: node
+ linkType: hard
+
"encodeurl@npm:~1.0.2":
version: 1.0.2
resolution: "encodeurl@npm:1.0.2"
@@ -8618,7 +10194,7 @@ __metadata:
languageName: node
linkType: hard
-"end-of-stream@npm:^1.1.0, end-of-stream@npm:^1.4.1":
+"end-of-stream@npm:^1.1.0, end-of-stream@npm:^1.4.0, end-of-stream@npm:^1.4.1":
version: 1.4.4
resolution: "end-of-stream@npm:1.4.4"
dependencies:
@@ -8627,6 +10203,26 @@ __metadata:
languageName: node
linkType: hard
+"engine.io-client@npm:~6.5.2":
+ version: 6.5.4
+ resolution: "engine.io-client@npm:6.5.4"
+ dependencies:
+ "@socket.io/component-emitter": "npm:~3.1.0"
+ debug: "npm:~4.3.1"
+ engine.io-parser: "npm:~5.2.1"
+ ws: "npm:~8.17.1"
+ xmlhttprequest-ssl: "npm:~2.0.0"
+ checksum: 10/a91b97cd80e6b048e24887ccac53b143d08ea91c76335870a4aee1427394ba01a7e78ed8d64e518a42fdb297b331ffa80e50fdd26dbc5a08364ea715bf367c59
+ languageName: node
+ linkType: hard
+
+"engine.io-parser@npm:~5.2.1":
+ version: 5.2.3
+ resolution: "engine.io-parser@npm:5.2.3"
+ checksum: 10/eb0023fff5766e7ae9d59e52d92df53fea06d472cfd7b52e5d2c36b4c1dbf78cab5fde1052bcb3d4bb85bdb5aee10ae85d8a1c6c04676dac0c6cdf16bcba6380
+ languageName: node
+ linkType: hard
+
"enquirer@npm:~2.3.6":
version: 2.3.6
resolution: "enquirer@npm:2.3.6"
@@ -8975,6 +10571,63 @@ __metadata:
languageName: node
linkType: hard
+"eth-block-tracker@npm:^7.1.0":
+ version: 7.1.0
+ resolution: "eth-block-tracker@npm:7.1.0"
+ dependencies:
+ "@metamask/eth-json-rpc-provider": "npm:^1.0.0"
+ "@metamask/safe-event-emitter": "npm:^3.0.0"
+ "@metamask/utils": "npm:^5.0.1"
+ json-rpc-random-id: "npm:^1.0.1"
+ pify: "npm:^3.0.0"
+ checksum: 10/b001ecb126e949a9ff19950596d5180b2f1bc5504e3dec0c01b3417e8ad190f4a53dfc61be901b72ab6dd558d1d711b73eca560bc8a605d0348eef9f501defab
+ languageName: node
+ linkType: hard
+
+"eth-json-rpc-filters@npm:^6.0.0":
+ version: 6.0.1
+ resolution: "eth-json-rpc-filters@npm:6.0.1"
+ dependencies:
+ "@metamask/safe-event-emitter": "npm:^3.0.0"
+ async-mutex: "npm:^0.2.6"
+ eth-query: "npm:^2.1.2"
+ json-rpc-engine: "npm:^6.1.0"
+ pify: "npm:^5.0.0"
+ checksum: 10/d1fa8bb21da07c2f5d37c1e6053d499b272b4f49542077efc6b05eebe49affa9df7221c8c2439c4e33caa3f4ccb35240a6105abc83b83375dae03c0de53113a7
+ languageName: node
+ linkType: hard
+
+"eth-query@npm:^2.1.2":
+ version: 2.1.2
+ resolution: "eth-query@npm:2.1.2"
+ dependencies:
+ json-rpc-random-id: "npm:^1.0.0"
+ xtend: "npm:^4.0.1"
+ checksum: 10/af4f3575b8315f8156a83a24e850881053748aca97e4aee12dd6645ab56f0985c7000a5c45ccf315702f3e532f0c6464e03f4aba294c658dee89f5e5d1b86702
+ languageName: node
+ linkType: hard
+
+"eth-rpc-errors@npm:^4.0.2, eth-rpc-errors@npm:^4.0.3":
+ version: 4.0.3
+ resolution: "eth-rpc-errors@npm:4.0.3"
+ dependencies:
+ fast-safe-stringify: "npm:^2.0.6"
+ checksum: 10/47ce14170eabaee51ab1cc7e643bb3ef96ee6b15c6404806aedcd51750e00ae0b1a12c37785b180679b8d452b6dd44a0240bb018d01fa73efc85fcfa808b35a7
+ languageName: node
+ linkType: hard
+
+"ethereum-cryptography@npm:^2.0.0":
+ version: 2.2.1
+ resolution: "ethereum-cryptography@npm:2.2.1"
+ dependencies:
+ "@noble/curves": "npm:1.4.2"
+ "@noble/hashes": "npm:1.4.0"
+ "@scure/bip32": "npm:1.4.0"
+ "@scure/bip39": "npm:1.3.0"
+ checksum: 10/ab123bbfe843500ac2d645ce9edc4bc814962ffb598db6bf8bf01fbecac656e6c81ff4cf2472f1734844bbcbad2bf658d8b699cb7248d768e0f06ae13ecf43b8
+ languageName: node
+ linkType: hard
+
"event-target-shim@npm:^5.0.0, event-target-shim@npm:^5.0.1":
version: 5.0.1
resolution: "event-target-shim@npm:5.0.1"
@@ -8982,6 +10635,20 @@ __metadata:
languageName: node
linkType: hard
+"eventemitter2@npm:^6.4.7":
+ version: 6.4.9
+ resolution: "eventemitter2@npm:6.4.9"
+ checksum: 10/b829b1c6b11e15926b635092b5ad62b4463d1c928859831dcae606e988cf41893059e3541f5a8209d21d2f15314422ddd4d84d20830b4bf44978608d15b06b08
+ languageName: node
+ linkType: hard
+
+"eventemitter3@npm:5.0.1, eventemitter3@npm:^5.0.1":
+ version: 5.0.1
+ resolution: "eventemitter3@npm:5.0.1"
+ checksum: 10/ac6423ec31124629c84c7077eed1e6987f6d66c31cf43c6fcbf6c87791d56317ce808d9ead483652436df171b526fc7220eccdc9f3225df334e81582c3cf7dd5
+ languageName: node
+ linkType: hard
+
"eventemitter3@npm:^4.0.4":
version: 4.0.7
resolution: "eventemitter3@npm:4.0.7"
@@ -8989,10 +10656,10 @@ __metadata:
languageName: node
linkType: hard
-"eventemitter3@npm:^5.0.1":
- version: 5.0.1
- resolution: "eventemitter3@npm:5.0.1"
- checksum: 10/ac6423ec31124629c84c7077eed1e6987f6d66c31cf43c6fcbf6c87791d56317ce808d9ead483652436df171b526fc7220eccdc9f3225df334e81582c3cf7dd5
+"events@npm:3.3.0, events@npm:^3.3.0":
+ version: 3.3.0
+ resolution: "events@npm:3.3.0"
+ checksum: 10/a3d47e285e28d324d7180f1e493961a2bbb4cad6412090e4dec114f4db1f5b560c7696ee8e758f55e23913ede856e3689cd3aa9ae13c56b5d8314cd3b3ddd1be
languageName: node
linkType: hard
@@ -9052,7 +10719,7 @@ __metadata:
languageName: node
linkType: hard
-"execa@npm:~8.0.1":
+"execa@npm:^8.0.1, execa@npm:~8.0.1":
version: 8.0.1
resolution: "execa@npm:8.0.1"
dependencies:
@@ -9376,6 +11043,16 @@ __metadata:
languageName: node
linkType: hard
+"extension-port-stream@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "extension-port-stream@npm:3.0.0"
+ dependencies:
+ readable-stream: "npm:^3.6.2 || ^4.4.2"
+ webextension-polyfill: "npm:>=0.10.0 <1.0"
+ checksum: 10/4f51d2258a96154c2d916a8a5425636a2b0817763e9277f7dc378d08b6f050c90d185dbde4313d27cf66ad99d4b3116479f9f699c40358c64cccfa524d2b55bf
+ languageName: node
+ linkType: hard
+
"external-editor@npm:^3.0.3":
version: 3.1.0
resolution: "external-editor@npm:3.1.0"
@@ -9421,6 +11098,20 @@ __metadata:
languageName: node
linkType: hard
+"fast-redact@npm:^3.0.0":
+ version: 3.5.0
+ resolution: "fast-redact@npm:3.5.0"
+ checksum: 10/24b27e2023bd5a62f908d97a753b1adb8d89206b260f97727728e00b693197dea2fc2aa3711147a385d0ec6e713569fd533df37a4ef947e08cb65af3019c7ad5
+ languageName: node
+ linkType: hard
+
+"fast-safe-stringify@npm:^2.0.6":
+ version: 2.1.1
+ resolution: "fast-safe-stringify@npm:2.1.1"
+ checksum: 10/dc1f063c2c6ac9533aee14d406441f86783a8984b2ca09b19c2fe281f9ff59d315298bc7bc22fd1f83d26fe19ef2f20e2ddb68e96b15040292e555c5ced0c1e4
+ languageName: node
+ linkType: hard
+
"fast-xml-parser@npm:^4.0.12, fast-xml-parser@npm:^4.2.4, fast-xml-parser@npm:^4.3.0":
version: 4.4.0
resolution: "fast-xml-parser@npm:4.4.0"
@@ -9957,6 +11648,13 @@ __metadata:
languageName: node
linkType: hard
+"futoin-hkdf@npm:^1.5.3":
+ version: 1.5.3
+ resolution: "futoin-hkdf@npm:1.5.3"
+ checksum: 10/aa64b93b4fdca77e6e9c7f045c539dd912f10077bc31d933e219eb5784e88e90a6d830b5d34431da840cc7477c0ed5f2d504dec49718b9f57941de5f23c20471
+ languageName: node
+ linkType: hard
+
"gaxios@npm:^6.0.0, gaxios@npm:^6.0.2, gaxios@npm:^6.1.1":
version: 6.7.0
resolution: "gaxios@npm:6.7.0"
@@ -10035,6 +11733,13 @@ __metadata:
languageName: node
linkType: hard
+"get-port-please@npm:^3.1.2":
+ version: 3.1.2
+ resolution: "get-port-please@npm:3.1.2"
+ checksum: 10/ec8b8da9f816edde114b76742ec29695730094904bb0e94309081e4adf3f797b483b9d648abcf5e0511c4e21a7bf68334672b9575f8b23bccf93bf97eb517f0e
+ languageName: node
+ linkType: hard
+
"get-port@npm:5.1.1":
version: 5.1.1
resolution: "get-port@npm:5.1.1"
@@ -10369,6 +12074,24 @@ __metadata:
languageName: node
linkType: hard
+"h3@npm:^1.10.2, h3@npm:^1.11.1":
+ version: 1.12.0
+ resolution: "h3@npm:1.12.0"
+ dependencies:
+ cookie-es: "npm:^1.1.0"
+ crossws: "npm:^0.2.4"
+ defu: "npm:^6.1.4"
+ destr: "npm:^2.0.3"
+ iron-webcrypto: "npm:^1.1.1"
+ ohash: "npm:^1.1.3"
+ radix3: "npm:^1.1.2"
+ ufo: "npm:^1.5.3"
+ uncrypto: "npm:^0.1.3"
+ unenv: "npm:^1.9.0"
+ checksum: 10/59c7a3818e863c84a32110cf4ee26ac6deb39b99527c483e56c4334b1cadb77ffca2895472b7af227a205757a5b27da43b73a057cb113b7769547062ace89cc7
+ languageName: node
+ linkType: hard
+
"handlebars@npm:^4.7.7":
version: 4.7.8
resolution: "handlebars@npm:4.7.8"
@@ -10454,6 +12177,16 @@ __metadata:
languageName: node
linkType: hard
+"hash.js@npm:^1.0.0, hash.js@npm:^1.0.3":
+ version: 1.1.7
+ resolution: "hash.js@npm:1.1.7"
+ dependencies:
+ inherits: "npm:^2.0.3"
+ minimalistic-assert: "npm:^1.0.1"
+ checksum: 10/0c89ee4006606a40f92df5cc3c263342e7fea68110f3e9ef032bd2083650430505db01b6b7926953489517d4027535e4fdc7f970412893d3031c361d3ec8f4b3
+ languageName: node
+ linkType: hard
+
"hasown@npm:^2.0.0, hasown@npm:^2.0.1, hasown@npm:^2.0.2":
version: 2.0.2
resolution: "hasown@npm:2.0.2"
@@ -10504,6 +12237,24 @@ __metadata:
languageName: node
linkType: hard
+"hey-listen@npm:^1.0.8":
+ version: 1.0.8
+ resolution: "hey-listen@npm:1.0.8"
+ checksum: 10/744b5f4c18c7cfb82b22bd22e1d300a9ac4eafe05a22e58fb87e48addfca8be00604d9aa006434ea02f9530990eb4b393ddb28659e2ab7f833ce873e32eb809c
+ languageName: node
+ linkType: hard
+
+"hmac-drbg@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "hmac-drbg@npm:1.0.1"
+ dependencies:
+ hash.js: "npm:^1.0.3"
+ minimalistic-assert: "npm:^1.0.0"
+ minimalistic-crypto-utils: "npm:^1.0.1"
+ checksum: 10/0298a1445b8029a69b713d918ecaa84a1d9f614f5857e0c6e1ca517abfa1357216987b2ee08cc6cc73ba82a6c6ddf2ff11b9717a653530ef03be599d4699b836
+ languageName: node
+ linkType: hard
+
"hosted-git-info@npm:^2.1.4":
version: 2.8.9
resolution: "hosted-git-info@npm:2.8.9"
@@ -10593,6 +12344,13 @@ __metadata:
languageName: node
linkType: hard
+"http-shutdown@npm:^1.2.2":
+ version: 1.2.2
+ resolution: "http-shutdown@npm:1.2.2"
+ checksum: 10/1c99b575b1a7ebd749950e7f59410348723638808336063321d89588b7f7b548d61c8e3566af0f1f4f961d941c758677d062d2289bc63356ead143da4d8f3daf
+ languageName: node
+ linkType: hard
+
"https-proxy-agent@npm:^5.0.0, https-proxy-agent@npm:^5.0.1":
version: 5.0.1
resolution: "https-proxy-agent@npm:5.0.1"
@@ -10643,6 +12401,24 @@ __metadata:
languageName: node
linkType: hard
+"i18next-browser-languagedetector@npm:7.1.0":
+ version: 7.1.0
+ resolution: "i18next-browser-languagedetector@npm:7.1.0"
+ dependencies:
+ "@babel/runtime": "npm:^7.19.4"
+ checksum: 10/3b06c8a5df09092cffc0b6637b542bb572e8a25dcba97d0d8a5e5dd7539b90bf00000f3a279654693f4b5908c5fc4d1d4f3766dfb461dacab46be3d071266384
+ languageName: node
+ linkType: hard
+
+"i18next@npm:23.11.5":
+ version: 23.11.5
+ resolution: "i18next@npm:23.11.5"
+ dependencies:
+ "@babel/runtime": "npm:^7.23.2"
+ checksum: 10/3a8e0d5d2b9ac6c6fa8c2180452aaf816d60e1cc790da69d6be515feec85553f8af9fcc19414ade1a621f08236e84f38df4415a8234919fa97fa2e35624e86b6
+ languageName: node
+ linkType: hard
+
"iconv-lite@npm:^0.4.24":
version: 0.4.24
resolution: "iconv-lite@npm:0.4.24"
@@ -10661,6 +12437,13 @@ __metadata:
languageName: node
linkType: hard
+"idb-keyval@npm:^6.2.1":
+ version: 6.2.1
+ resolution: "idb-keyval@npm:6.2.1"
+ checksum: 10/9a1416ff5e2ceff3832f5645518f438833a5ff6ee316fe3ec111d580db120425991d64d8098a847be7541bbbb7cc941984b4d0d62d541c39f7a0f415594837c2
+ languageName: node
+ linkType: hard
+
"idb@npm:7.1.1":
version: 7.1.1
resolution: "idb@npm:7.1.1"
@@ -10668,7 +12451,7 @@ __metadata:
languageName: node
linkType: hard
-"ieee754@npm:^1.1.13":
+"ieee754@npm:^1.1.13, ieee754@npm:^1.2.1":
version: 1.2.1
resolution: "ieee754@npm:1.2.1"
checksum: 10/d9f2557a59036f16c282aaeb107832dc957a93d73397d89bbad4eb1130560560eb695060145e8e6b3b498b15ab95510226649a0b8f52ae06583575419fe10fc4
@@ -10758,7 +12541,7 @@ __metadata:
languageName: node
linkType: hard
-"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3":
+"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3":
version: 2.0.4
resolution: "inherits@npm:2.0.4"
checksum: 10/cd45e923bee15186c07fa4c89db0aace24824c482fb887b528304694b2aa6ff8a898da8657046a5dcf3e46cd6db6c61629551f9215f208d7c3f157cf9b290521
@@ -10881,6 +12664,13 @@ __metadata:
languageName: node
linkType: hard
+"iron-webcrypto@npm:^1.1.1":
+ version: 1.2.1
+ resolution: "iron-webcrypto@npm:1.2.1"
+ checksum: 10/c1f52ccfe2780efa5438c134538ee4b26c96a87d22f351d896781219efbce25b4fe716d1cb7f248e02da96881760541135acbcc7c0622ffedf71cb0e227bebf9
+ languageName: node
+ linkType: hard
+
"is-arguments@npm:^1.0.4":
version: 1.1.1
resolution: "is-arguments@npm:1.1.1"
@@ -11011,6 +12801,15 @@ __metadata:
languageName: node
linkType: hard
+"is-docker@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "is-docker@npm:3.0.0"
+ bin:
+ is-docker: cli.js
+ checksum: 10/b698118f04feb7eaf3338922bd79cba064ea54a1c3db6ec8c0c8d8ee7613e7e5854d802d3ef646812a8a3ace81182a085dfa0a71cc68b06f3fa794b9783b3c90
+ languageName: node
+ linkType: hard
+
"is-extendable@npm:^0.1.1":
version: 0.1.1
resolution: "is-extendable@npm:0.1.1"
@@ -11089,6 +12888,17 @@ __metadata:
languageName: node
linkType: hard
+"is-inside-container@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "is-inside-container@npm:1.0.0"
+ dependencies:
+ is-docker: "npm:^3.0.0"
+ bin:
+ is-inside-container: cli.js
+ checksum: 10/c50b75a2ab66ab3e8b92b3bc534e1ea72ca25766832c0623ac22d134116a98bcf012197d1caabe1d1c4bd5f84363d4aa5c36bb4b585fbcaf57be172cd10a1a03
+ languageName: node
+ linkType: hard
+
"is-interactive@npm:^1.0.0":
version: 1.0.0
resolution: "is-interactive@npm:1.0.0"
@@ -11329,6 +13139,24 @@ __metadata:
languageName: node
linkType: hard
+"is-wsl@npm:^3.1.0":
+ version: 3.1.0
+ resolution: "is-wsl@npm:3.1.0"
+ dependencies:
+ is-inside-container: "npm:^1.0.0"
+ checksum: 10/f9734c81f2f9cf9877c5db8356bfe1ff61680f1f4c1011e91278a9c0564b395ae796addb4bf33956871041476ec82c3e5260ed57b22ac91794d4ae70a1d2f0a9
+ languageName: node
+ linkType: hard
+
+"is64bit@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "is64bit@npm:2.0.0"
+ dependencies:
+ system-architecture: "npm:^0.1.0"
+ checksum: 10/94dafd5f29bfb96c542e89ef8c33e811159ca7d07a2890ab83026fa87706612af4101308d9392e9ee68e046e8604a6b59a8f41091f8556f6235efbcfd9c5574c
+ languageName: node
+ linkType: hard
+
"isarray@npm:^2.0.5":
version: 2.0.5
resolution: "isarray@npm:2.0.5"
@@ -11364,6 +13192,25 @@ __metadata:
languageName: node
linkType: hard
+"isomorphic-unfetch@npm:3.1.0":
+ version: 3.1.0
+ resolution: "isomorphic-unfetch@npm:3.1.0"
+ dependencies:
+ node-fetch: "npm:^2.6.1"
+ unfetch: "npm:^4.2.0"
+ checksum: 10/4e760d9a3f94b42c59fe5c6b53202469cecd864875dcac927668b1f43eb57698422a0086fadde47f7815752c4f4e30ecf1ce9a0eb09c44a871a2484dbc580b39
+ languageName: node
+ linkType: hard
+
+"isows@npm:1.0.4":
+ version: 1.0.4
+ resolution: "isows@npm:1.0.4"
+ peerDependencies:
+ ws: "*"
+ checksum: 10/a3ee62e3d6216abb3adeeb2a551fe2e7835eac87b05a6ecc3e7739259bf5f8e83290501f49e26137390c8093f207fc3378d4a7653aab76ad7bbab4b2dba9c5b9
+ languageName: node
+ linkType: hard
+
"iterate-object@npm:^1.3.4":
version: 1.3.4
resolution: "iterate-object@npm:1.3.4"
@@ -11506,6 +13353,15 @@ __metadata:
languageName: node
linkType: hard
+"jiti@npm:^1.21.0":
+ version: 1.21.6
+ resolution: "jiti@npm:1.21.6"
+ bin:
+ jiti: bin/jiti.js
+ checksum: 10/289b124cea411c130a14ffe88e3d38376ab44b6695616dfa0a1f32176a8f20ec90cdd6d2b9d81450fc6467cfa4d865f04f49b98452bff0f812bc400fd0ae78d6
+ languageName: node
+ linkType: hard
+
"joi@npm:^17.2.1":
version: 17.13.3
resolution: "joi@npm:17.13.3"
@@ -11663,6 +13519,23 @@ __metadata:
languageName: node
linkType: hard
+"json-rpc-engine@npm:^6.1.0":
+ version: 6.1.0
+ resolution: "json-rpc-engine@npm:6.1.0"
+ dependencies:
+ "@metamask/safe-event-emitter": "npm:^2.0.0"
+ eth-rpc-errors: "npm:^4.0.2"
+ checksum: 10/00d5b5228e90f126dd52176598db6e5611d295d3a3f7be21254c30c1b6555811260ef2ec2df035cd8e583e4b12096259da721e29f4ea2affb615f7dfc960a6a6
+ languageName: node
+ linkType: hard
+
+"json-rpc-random-id@npm:^1.0.0, json-rpc-random-id@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "json-rpc-random-id@npm:1.0.1"
+ checksum: 10/fcd2e884193a129ace4002bd65a86e9cdb206733b4693baea77bd8b372cf8de3043fbea27716a2c9a716581a908ca8d978d9dfec4847eb2cf77edb4cf4b2252c
+ languageName: node
+ linkType: hard
+
"json-schema-deref-sync@npm:^0.13.0":
version: 0.13.0
resolution: "json-schema-deref-sync@npm:0.13.0"
@@ -11836,6 +13709,25 @@ __metadata:
languageName: node
linkType: hard
+"keccak@npm:^3.0.3":
+ version: 3.0.4
+ resolution: "keccak@npm:3.0.4"
+ dependencies:
+ node-addon-api: "npm:^2.0.0"
+ node-gyp: "npm:latest"
+ node-gyp-build: "npm:^4.2.0"
+ readable-stream: "npm:^3.6.0"
+ checksum: 10/45478bb0a57e44d0108646499b8360914b0fbc8b0e088f1076659cb34faaa9eb829c40f6dd9dadb3460bb86cc33153c41fed37fe5ce09465a60e71e78c23fa55
+ languageName: node
+ linkType: hard
+
+"keyvaluestorage-interface@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "keyvaluestorage-interface@npm:1.0.0"
+ checksum: 10/e652448bc915f9c21b9916678ed58f5314c831f0a284d190a340c0370296c71918e0cdc1156a17b12d1993941b302f0881e23fb9c395079e2065a7d2f33d0199
+ languageName: node
+ linkType: hard
+
"kind-of@npm:^5.0.0":
version: 5.1.0
resolution: "kind-of@npm:5.1.0"
@@ -12237,6 +14129,35 @@ __metadata:
languageName: node
linkType: hard
+"listhen@npm:^1.7.2":
+ version: 1.7.2
+ resolution: "listhen@npm:1.7.2"
+ dependencies:
+ "@parcel/watcher": "npm:^2.4.1"
+ "@parcel/watcher-wasm": "npm:^2.4.1"
+ citty: "npm:^0.1.6"
+ clipboardy: "npm:^4.0.0"
+ consola: "npm:^3.2.3"
+ crossws: "npm:^0.2.0"
+ defu: "npm:^6.1.4"
+ get-port-please: "npm:^3.1.2"
+ h3: "npm:^1.10.2"
+ http-shutdown: "npm:^1.2.2"
+ jiti: "npm:^1.21.0"
+ mlly: "npm:^1.6.1"
+ node-forge: "npm:^1.3.1"
+ pathe: "npm:^1.1.2"
+ std-env: "npm:^3.7.0"
+ ufo: "npm:^1.4.0"
+ untun: "npm:^0.1.3"
+ uqr: "npm:^0.1.2"
+ bin:
+ listen: bin/listhen.mjs
+ listhen: bin/listhen.mjs
+ checksum: 10/42634382736042709a58e3c10fad3b99c9750252e5ba14314092bc9d47be27cd9e5ce9449dc631f479d68299db6c4c90afb93b833b3d8a94a8dc99c19c6f888b
+ languageName: node
+ linkType: hard
+
"listr2@npm:~8.2.1":
version: 8.2.1
resolution: "listr2@npm:8.2.1"
@@ -12251,6 +14172,37 @@ __metadata:
languageName: node
linkType: hard
+"lit-element@npm:^3.3.0":
+ version: 3.3.3
+ resolution: "lit-element@npm:3.3.3"
+ dependencies:
+ "@lit-labs/ssr-dom-shim": "npm:^1.1.0"
+ "@lit/reactive-element": "npm:^1.3.0"
+ lit-html: "npm:^2.8.0"
+ checksum: 10/7968e7f3ce3994911f27c4c54acc956488c91d8af81677cce3d6f0c2eaea45cceb79b064077159392238d6e43d46015a950269db9914fea8913566aacb17eaa1
+ languageName: node
+ linkType: hard
+
+"lit-html@npm:^2.8.0":
+ version: 2.8.0
+ resolution: "lit-html@npm:2.8.0"
+ dependencies:
+ "@types/trusted-types": "npm:^2.0.2"
+ checksum: 10/3503e55e2927c2ff94773cf041fc4128f92291869c9192f36eacb7f95132d11f6b329e5b910ab60a4456349cd2e6d23b33d83291b24d557bcd6b904d6314ac1a
+ languageName: node
+ linkType: hard
+
+"lit@npm:2.8.0":
+ version: 2.8.0
+ resolution: "lit@npm:2.8.0"
+ dependencies:
+ "@lit/reactive-element": "npm:^1.6.0"
+ lit-element: "npm:^3.3.0"
+ lit-html: "npm:^2.8.0"
+ checksum: 10/aa64c1136b855ba328d41157dba67657d480345aeec3c1dd829abeb67719d759c9ff2ade9903f9cfb4f9d012b16087034aaa5b33f1182e70c615765562e3251b
+ languageName: node
+ linkType: hard
+
"load-json-file@npm:6.2.0":
version: 6.2.0
resolution: "load-json-file@npm:6.2.0"
@@ -12348,6 +14300,13 @@ __metadata:
languageName: node
linkType: hard
+"lodash.isequal@npm:4.5.0":
+ version: 4.5.0
+ resolution: "lodash.isequal@npm:4.5.0"
+ checksum: 10/82fc58a83a1555f8df34ca9a2cd300995ff94018ac12cc47c349655f0ae1d4d92ba346db4c19bbfc90510764e0c00ddcc985a358bdcd4b3b965abf8f2a48a214
+ languageName: node
+ linkType: hard
+
"lodash.isinteger@npm:^4.0.4":
version: 4.0.4
resolution: "lodash.isinteger@npm:4.0.4"
@@ -12670,6 +14629,15 @@ __metadata:
languageName: node
linkType: hard
+"media-query-parser@npm:^2.0.2":
+ version: 2.0.2
+ resolution: "media-query-parser@npm:2.0.2"
+ dependencies:
+ "@babel/runtime": "npm:^7.12.5"
+ checksum: 10/9dff3ed135149944717a8687567f4fda1d39d28637f265c6ce7efe5ed55cd88ed49136c912ee0c7f3a6e5debc50b1ff969db609d862318f1af97f48752b08b0b
+ languageName: node
+ linkType: hard
+
"memoize-one@npm:^5.0.0":
version: 5.2.1
resolution: "memoize-one@npm:5.2.1"
@@ -12942,7 +14910,14 @@ __metadata:
languageName: node
linkType: hard
-"micromatch@npm:^4.0.2, micromatch@npm:^4.0.4, micromatch@npm:~4.0.7":
+"micro-ftch@npm:^0.3.1":
+ version: 0.3.1
+ resolution: "micro-ftch@npm:0.3.1"
+ checksum: 10/a7ab07d25e28ec4ae492ce4542ea9b06eee85538742b3b1263b247366ee8872f2c5ce9c8651138b2f1d22c8212f691a7b8b5384fe86ead5aff1852e211f1c035
+ languageName: node
+ linkType: hard
+
+"micromatch@npm:^4.0.2, micromatch@npm:^4.0.4, micromatch@npm:^4.0.5, micromatch@npm:~4.0.7":
version: 4.0.7
resolution: "micromatch@npm:4.0.7"
dependencies:
@@ -13023,6 +14998,20 @@ __metadata:
languageName: node
linkType: hard
+"minimalistic-assert@npm:^1.0.0, minimalistic-assert@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "minimalistic-assert@npm:1.0.1"
+ checksum: 10/cc7974a9268fbf130fb055aff76700d7e2d8be5f761fb5c60318d0ed010d839ab3661a533ad29a5d37653133385204c503bfac995aaa4236f4e847461ea32ba7
+ languageName: node
+ linkType: hard
+
+"minimalistic-crypto-utils@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "minimalistic-crypto-utils@npm:1.0.1"
+ checksum: 10/6e8a0422b30039406efd4c440829ea8f988845db02a3299f372fceba56ffa94994a9c0f2fd70c17f9969eedfbd72f34b5070ead9656a34d3f71c0bd72583a0ed
+ languageName: node
+ linkType: hard
+
"minimatch@npm:2 || 3, minimatch@npm:^3.0.2, minimatch@npm:^3.0.4, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2":
version: 3.1.2
resolution: "minimatch@npm:3.1.2"
@@ -13186,6 +15175,18 @@ __metadata:
languageName: node
linkType: hard
+"mipd@npm:0.0.7":
+ version: 0.0.7
+ resolution: "mipd@npm:0.0.7"
+ peerDependencies:
+ typescript: ">=5.0.4"
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ checksum: 10/c14dffef0ef7a3e71469aee553f5735f4a6a9f9a2b47ca02798040f2e006261c2e7e8b26ee0dc56a815c04d5612eb4be1eed474e7bb4e496eb0f5ada2fe1d2e7
+ languageName: node
+ linkType: hard
+
"mixin-object@npm:^2.0.1":
version: 2.0.1
resolution: "mixin-object@npm:2.0.1"
@@ -13216,6 +15217,25 @@ __metadata:
languageName: node
linkType: hard
+"mlly@npm:^1.6.1, mlly@npm:^1.7.1":
+ version: 1.7.1
+ resolution: "mlly@npm:1.7.1"
+ dependencies:
+ acorn: "npm:^8.11.3"
+ pathe: "npm:^1.1.2"
+ pkg-types: "npm:^1.1.1"
+ ufo: "npm:^1.5.3"
+ checksum: 10/c1ef3989e95fb6c6c27a238330897b01f46507020501f45a681f2cae453f982e38dcb0e45aa65f672ea7280945d4a729d266f17a8acb187956f312b0cafddf61
+ languageName: node
+ linkType: hard
+
+"modern-ahocorasick@npm:^1.0.0":
+ version: 1.0.1
+ resolution: "modern-ahocorasick@npm:1.0.1"
+ checksum: 10/ec83479f406511f37a966d66ce1c2b1701bb4a2cc2aabbbc257001178c9fbc48ce748c88eb10dfe72ba8b7f991a0bc7f1fa14683f444685edd1a9eeb32ecbc1e
+ languageName: node
+ linkType: hard
+
"modify-values@npm:^1.0.1":
version: 1.0.1
resolution: "modify-values@npm:1.0.1"
@@ -13223,6 +15243,27 @@ __metadata:
languageName: node
linkType: hard
+"motion@npm:10.16.2":
+ version: 10.16.2
+ resolution: "motion@npm:10.16.2"
+ dependencies:
+ "@motionone/animation": "npm:^10.15.1"
+ "@motionone/dom": "npm:^10.16.2"
+ "@motionone/svelte": "npm:^10.16.2"
+ "@motionone/types": "npm:^10.15.1"
+ "@motionone/utils": "npm:^10.15.1"
+ "@motionone/vue": "npm:^10.16.2"
+ checksum: 10/2470f12b97371eb876337b355ad158c545622b2cc7c83b0ba540d2c02afedb49990e78898e520b8f74cccc9ecf11d366ae005a35c60e92178fadd7434860a966
+ languageName: node
+ linkType: hard
+
+"mri@npm:^1.2.0":
+ version: 1.2.0
+ resolution: "mri@npm:1.2.0"
+ checksum: 10/6775a1d2228bb9d191ead4efc220bd6be64f943ad3afd4dcb3b3ac8fc7b87034443f666e38805df38e8d047b29f910c3cc7810da0109af83e42c82c73bd3f6bc
+ languageName: node
+ linkType: hard
+
"mrmime@npm:^1.0.0":
version: 1.0.1
resolution: "mrmime@npm:1.0.1"
@@ -13251,6 +15292,13 @@ __metadata:
languageName: node
linkType: hard
+"multiformats@npm:^9.4.2":
+ version: 9.9.0
+ resolution: "multiformats@npm:9.9.0"
+ checksum: 10/ad55c7d480d22f4258a68fd88aa2aab744fe0cb1e68d732fc886f67d858b37e3aa6c2cec12b2960ead7730d43be690931485238569952d8a3d7f90fdc726c652
+ languageName: node
+ linkType: hard
+
"multimatch@npm:5.0.0":
version: 5.0.0
resolution: "multimatch@npm:5.0.0"
@@ -13309,6 +15357,13 @@ __metadata:
languageName: node
linkType: hard
+"napi-wasm@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "napi-wasm@npm:1.1.0"
+ checksum: 10/767781f07ccaca846a6036a2df7686c9decc1b4fd6ad30ba782c94829476ec5610acc41e4caf7df94ebf0bed4abd4d34539979d0d85b025127c8a41be6259375
+ languageName: node
+ linkType: hard
+
"ncp@npm:~2.0.0":
version: 2.0.0
resolution: "ncp@npm:2.0.0"
@@ -13360,6 +15415,33 @@ __metadata:
languageName: node
linkType: hard
+"node-addon-api@npm:^2.0.0":
+ version: 2.0.2
+ resolution: "node-addon-api@npm:2.0.2"
+ dependencies:
+ node-gyp: "npm:latest"
+ checksum: 10/e4ce4daac5b2fefa6b94491b86979a9c12d9cceba571d2c6df1eb5859f9da68e5dc198f128798e1785a88aafee6e11f4992dcccd4bf86bec90973927d158bd60
+ languageName: node
+ linkType: hard
+
+"node-addon-api@npm:^5.0.0":
+ version: 5.1.0
+ resolution: "node-addon-api@npm:5.1.0"
+ dependencies:
+ node-gyp: "npm:latest"
+ checksum: 10/595f59ffb4630564f587c502119cbd980d302e482781021f3b479f5fc7e41cf8f2f7280fdc2795f32d148e4f3259bd15043c52d4a3442796aa6f1ae97b959636
+ languageName: node
+ linkType: hard
+
+"node-addon-api@npm:^7.0.0":
+ version: 7.1.1
+ resolution: "node-addon-api@npm:7.1.1"
+ dependencies:
+ node-gyp: "npm:latest"
+ checksum: 10/ee1e1ed6284a2f8cd1d59ac6175ecbabf8978dcf570345e9a8095a9d0a2b9ced591074ae77f9009287b00c402352b38aa9322a34f2199cdc9f567b842a636b94
+ languageName: node
+ linkType: hard
+
"node-dir@npm:^0.1.17":
version: 0.1.17
resolution: "node-dir@npm:0.1.17"
@@ -13369,6 +15451,13 @@ __metadata:
languageName: node
linkType: hard
+"node-fetch-native@npm:^1.6.2, node-fetch-native@npm:^1.6.3, node-fetch-native@npm:^1.6.4":
+ version: 1.6.4
+ resolution: "node-fetch-native@npm:1.6.4"
+ checksum: 10/39c4c6d0c2a4bed1444943e1647ad0d79eb6638cf159bc37dffeafd22cffcf6a998e006aa1f3dd1d9d2258db7d78dee96b44bee4ba0bbaf0440ed348794f2543
+ languageName: node
+ linkType: hard
+
"node-fetch@npm:2.6.7":
version: 2.6.7
resolution: "node-fetch@npm:2.6.7"
@@ -13404,6 +15493,17 @@ __metadata:
languageName: node
linkType: hard
+"node-gyp-build@npm:^4.2.0, node-gyp-build@npm:^4.3.0":
+ version: 4.8.1
+ resolution: "node-gyp-build@npm:4.8.1"
+ bin:
+ node-gyp-build: bin.js
+ node-gyp-build-optional: optional.js
+ node-gyp-build-test: build-test.js
+ checksum: 10/b9297770f96a92e5f2b854f3fd5e4bd418df81d7785a81ab60cec5cf2e5e72dc2c3319808978adc572cfa3885e6b12338cb5f4034bed2cab35f0d76a4b75ccdf
+ languageName: node
+ linkType: hard
+
"node-gyp@npm:^10.0.0":
version: 10.2.0
resolution: "node-gyp@npm:10.2.0"
@@ -13746,6 +15846,17 @@ __metadata:
languageName: node
linkType: hard
+"obj-multiplex@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "obj-multiplex@npm:1.0.0"
+ dependencies:
+ end-of-stream: "npm:^1.4.0"
+ once: "npm:^1.4.0"
+ readable-stream: "npm:^2.3.3"
+ checksum: 10/6bdcb7d48a1cd4458a7ff0be0b3c1dc58e8e9e6504f937c10b1eac096a3d459b85d7ba32bdd9a45382bb238e245eb42ebcd91430c72f04b0a57c97f846f2d06f
+ languageName: node
+ linkType: hard
+
"object-assign@npm:^4.0.1, object-assign@npm:^4.1.0, object-assign@npm:^4.1.1":
version: 4.1.1
resolution: "object-assign@npm:4.1.1"
@@ -13796,6 +15907,31 @@ __metadata:
languageName: node
linkType: hard
+"ofetch@npm:^1.3.3":
+ version: 1.3.4
+ resolution: "ofetch@npm:1.3.4"
+ dependencies:
+ destr: "npm:^2.0.3"
+ node-fetch-native: "npm:^1.6.3"
+ ufo: "npm:^1.5.3"
+ checksum: 10/41630a6d8adeddb03fc9a9ae435d7da58a364e84df254640a3965ae5246fd627ef752ef46bc083996c2bfafa56837f1e8c6b69f07a97b5da4fa98f2c98119c0f
+ languageName: node
+ linkType: hard
+
+"ohash@npm:^1.1.3":
+ version: 1.1.3
+ resolution: "ohash@npm:1.1.3"
+ checksum: 10/80a3528285f61588600c8c4f091a67f55fbc141f4eec4b3c30182468053042eef5a9684780e963f98a71ec068f3de56d42920c6417bf8f79ab14aeb75ac0bb39
+ languageName: node
+ linkType: hard
+
+"on-exit-leak-free@npm:^0.2.0":
+ version: 0.2.0
+ resolution: "on-exit-leak-free@npm:0.2.0"
+ checksum: 10/36a3a1baea964dc01088884e9d87824cc1a3304ae702e7c688bdb5deec61fbb79325977dd6cba5988f60ad40fedc6ef31ec705adf65b4b042bc0d2686186c0dd
+ languageName: node
+ linkType: hard
+
"on-finished@npm:2.4.1":
version: 2.4.1
resolution: "on-finished@npm:2.4.1"
@@ -13958,6 +16094,13 @@ __metadata:
languageName: node
linkType: hard
+"outdent@npm:^0.8.0":
+ version: 0.8.0
+ resolution: "outdent@npm:0.8.0"
+ checksum: 10/a556c5c308705ad4e3441be435f2b2cf014cb5f9753a24cbd080eadc473b988c77d0d529a6a9a57c3931fb4178e5a81d668cc4bc49892b668191a5d0ba3df76e
+ languageName: node
+ linkType: hard
+
"p-finally@npm:^1.0.0":
version: 1.0.0
resolution: "p-finally@npm:1.0.0"
@@ -14295,6 +16438,13 @@ __metadata:
languageName: node
linkType: hard
+"pathe@npm:^1.1.1, pathe@npm:^1.1.2":
+ version: 1.1.2
+ resolution: "pathe@npm:1.1.2"
+ checksum: 10/f201d796351bf7433d147b92c20eb154a4e0ea83512017bf4ec4e492a5d6e738fb45798be4259a61aa81270179fce11026f6ff0d3fa04173041de044defe9d80
+ languageName: node
+ linkType: hard
+
"performant-array-to-tree@npm:^1.11.0":
version: 1.11.0
resolution: "performant-array-to-tree@npm:1.11.0"
@@ -14332,7 +16482,7 @@ __metadata:
languageName: node
linkType: hard
-"pify@npm:5.0.0":
+"pify@npm:5.0.0, pify@npm:^5.0.0":
version: 5.0.0
resolution: "pify@npm:5.0.0"
checksum: 10/443e3e198ad6bfa8c0c533764cf75c9d5bc976387a163792fb553ffe6ce923887cf14eebf5aea9b7caa8eab930da8c33612990ae85bd8c2bc18bedb9eae94ecb
@@ -14360,6 +16510,44 @@ __metadata:
languageName: node
linkType: hard
+"pino-abstract-transport@npm:v0.5.0":
+ version: 0.5.0
+ resolution: "pino-abstract-transport@npm:0.5.0"
+ dependencies:
+ duplexify: "npm:^4.1.2"
+ split2: "npm:^4.0.0"
+ checksum: 10/d304a104e5cb0c3fef62ea544a4a39bf2472a602cdd7ddb136b0671b9c324ad93fa7888825c4cf33e624802436e897081ba92440f40518b9f2dbdbc0c889e409
+ languageName: node
+ linkType: hard
+
+"pino-std-serializers@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "pino-std-serializers@npm:4.0.0"
+ checksum: 10/cec586f9634ef0e6582f62bc8fc5ca5b6e5e11ab88fe3950c66fb0fd5d6690f66bc39cd3f27216b925d2963ad5c3bba415718819ac20ebe0390c7d056cbfea1b
+ languageName: node
+ linkType: hard
+
+"pino@npm:7.11.0":
+ version: 7.11.0
+ resolution: "pino@npm:7.11.0"
+ dependencies:
+ atomic-sleep: "npm:^1.0.0"
+ fast-redact: "npm:^3.0.0"
+ on-exit-leak-free: "npm:^0.2.0"
+ pino-abstract-transport: "npm:v0.5.0"
+ pino-std-serializers: "npm:^4.0.0"
+ process-warning: "npm:^1.0.0"
+ quick-format-unescaped: "npm:^4.0.3"
+ real-require: "npm:^0.1.0"
+ safe-stable-stringify: "npm:^2.1.0"
+ sonic-boom: "npm:^2.2.1"
+ thread-stream: "npm:^0.15.1"
+ bin:
+ pino: bin.js
+ checksum: 10/1c7b4b52fea76e0bc5d8b1190a0fee24279cb16d76fdb5833b32b64256fd8a94d641574b850faba5be72514f04045206b6d902a9a3f5ceae2a4296687088e073
+ languageName: node
+ linkType: hard
+
"pirates@npm:^4.0.1, pirates@npm:^4.0.6":
version: 4.0.6
resolution: "pirates@npm:4.0.6"
@@ -14385,6 +16573,17 @@ __metadata:
languageName: node
linkType: hard
+"pkg-types@npm:^1.1.1":
+ version: 1.1.3
+ resolution: "pkg-types@npm:1.1.3"
+ dependencies:
+ confbox: "npm:^0.1.7"
+ mlly: "npm:^1.7.1"
+ pathe: "npm:^1.1.2"
+ checksum: 10/06c03ca679ea8e3a1ea7cb74e92af1a486a6081401aac35f6aa51fb6f0855cd86bbfc713f9bfdaaa730815b5ae147b4d6a838710b550c1c4b3f54a6653ff04a3
+ languageName: node
+ linkType: hard
+
"plist@npm:^3.0.5":
version: 3.1.0
resolution: "plist@npm:3.1.0"
@@ -14403,6 +16602,20 @@ __metadata:
languageName: node
linkType: hard
+"pngjs@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "pngjs@npm:5.0.0"
+ checksum: 10/345781644740779752505af2fea3e9043f6c7cc349b18e1fb8842796360d1624791f0c24d33c0f27b05658373f90ffaa177a849e932e5fea1f540cef3975f3c9
+ languageName: node
+ linkType: hard
+
+"pony-cause@npm:^2.1.10":
+ version: 2.1.11
+ resolution: "pony-cause@npm:2.1.11"
+ checksum: 10/ed7d0bb6e3e69f753080bf736b71f40e6ae4c13ec0c8c473ff73345345c088819966fdd68a62ad7482d464bf41176cf9421f5f63715d1a4532005eedc099db55
+ languageName: node
+ linkType: hard
+
"possible-typed-array-names@npm:^1.0.0":
version: 1.0.0
resolution: "possible-typed-array-names@npm:1.0.0"
@@ -14438,6 +16651,13 @@ __metadata:
languageName: node
linkType: hard
+"preact@npm:^10.16.0":
+ version: 10.23.1
+ resolution: "preact@npm:10.23.1"
+ checksum: 10/ab90545445e805005627f0cf5cbd505b553877a5fc98e7bad8e93a7e223b973d38c8fb3368f75bb60265d23fee98b7086c738bf8ee06b7ff8527fb0c00d0698f
+ languageName: node
+ linkType: hard
+
"prettier@npm:^2.8.3":
version: 2.8.8
resolution: "prettier@npm:2.8.8"
@@ -14507,6 +16727,20 @@ __metadata:
languageName: node
linkType: hard
+"process-warning@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "process-warning@npm:1.0.0"
+ checksum: 10/8736d11d8d71c349d176e210305e84d74b13af06efb3c779377b056bfd608257d1e4e32b8fbbf90637c900f0313e40f7c9f583140884f667a21fc10a869b840c
+ languageName: node
+ linkType: hard
+
+"process@npm:^0.11.10":
+ version: 0.11.10
+ resolution: "process@npm:0.11.10"
+ checksum: 10/dbaa7e8d1d5cf375c36963ff43116772a989ef2bb47c9bdee20f38fd8fc061119cf38140631cf90c781aca4d3f0f0d2c834711952b728953f04fd7d238f59f5b
+ languageName: node
+ linkType: hard
+
"proggy@npm:^2.0.0":
version: 2.0.0
resolution: "proggy@npm:2.0.0"
@@ -14636,6 +16870,13 @@ __metadata:
languageName: node
linkType: hard
+"proxy-compare@npm:2.5.1":
+ version: 2.5.1
+ resolution: "proxy-compare@npm:2.5.1"
+ checksum: 10/64b6277d08d89f0b2c468a84decf43f82a4e88da7075651e6adebc69d1b87fadc17cfeb43c024c00b65faa3f0908f7ac1e61f5f6849a404a547a742e6aa527a6
+ languageName: node
+ linkType: hard
+
"proxy-from-env@npm:^1.1.0":
version: 1.1.0
resolution: "proxy-from-env@npm:1.1.0"
@@ -14660,6 +16901,31 @@ __metadata:
languageName: node
linkType: hard
+"qr-code-styling@npm:^1.6.0-rc.1":
+ version: 1.6.0-rc.1
+ resolution: "qr-code-styling@npm:1.6.0-rc.1"
+ dependencies:
+ qrcode-generator: "npm:^1.4.3"
+ checksum: 10/5654e75497eae7123143bd8fc87afae3b03e01b24f7cbd2c08df20e84f412d0ac1309191c89c9590396b8d38ba37ef15ea6461713c7cea0c710f8a2dbdeec892
+ languageName: node
+ linkType: hard
+
+"qrcode-generator@npm:^1.4.3":
+ version: 1.4.4
+ resolution: "qrcode-generator@npm:1.4.4"
+ checksum: 10/65b2bba237d1f230eba0d08ae4267d04f326859c2265775ade99191be1b522158b623fcc0b613bbfc9d4edbbafb928fc41c66d61053b333f2eb0bcedb2ebadca
+ languageName: node
+ linkType: hard
+
+"qrcode-terminal-nooctal@npm:^0.12.1":
+ version: 0.12.1
+ resolution: "qrcode-terminal-nooctal@npm:0.12.1"
+ bin:
+ qrcode-terminal: bin/qrcode-terminal.js
+ checksum: 10/8f437f9e95d8211c3b4eb3de572abd8e9695efa51b327e68e843fcbc2f017e32d6407caf4d8a8dca64d2d1270cf1cc1b16ebb6f2a69a1f891df430e8efdef66a
+ languageName: node
+ linkType: hard
+
"qrcode-terminal@npm:0.11.0":
version: 0.11.0
resolution: "qrcode-terminal@npm:0.11.0"
@@ -14669,7 +16935,21 @@ __metadata:
languageName: node
linkType: hard
-"query-string@npm:^7.1.3":
+"qrcode@npm:1.5.3":
+ version: 1.5.3
+ resolution: "qrcode@npm:1.5.3"
+ dependencies:
+ dijkstrajs: "npm:^1.0.1"
+ encode-utf8: "npm:^1.0.3"
+ pngjs: "npm:^5.0.0"
+ yargs: "npm:^15.3.1"
+ bin:
+ qrcode: bin/qrcode
+ checksum: 10/823642d59a81ba5f406a1e78415fee37fd53856038f49a85c4ca7aa32ba6b8505ab059a832718ac16612bed75aa2a18584faae38cf3c25e2c90fb19b8c55fe46
+ languageName: node
+ linkType: hard
+
+"query-string@npm:7.1.3, query-string@npm:^7.1.3":
version: 7.1.3
resolution: "query-string@npm:7.1.3"
dependencies:
@@ -14704,6 +16984,13 @@ __metadata:
languageName: node
linkType: hard
+"quick-format-unescaped@npm:^4.0.3":
+ version: 4.0.4
+ resolution: "quick-format-unescaped@npm:4.0.4"
+ checksum: 10/591eca457509a99368b623db05248c1193aa3cedafc9a077d7acab09495db1231017ba3ad1b5386e5633271edd0a03b312d8640a59ee585b8516a42e15438aa7
+ languageName: node
+ linkType: hard
+
"quick-lru@npm:^4.0.1":
version: 4.0.1
resolution: "quick-lru@npm:4.0.1"
@@ -14720,6 +17007,13 @@ __metadata:
languageName: node
linkType: hard
+"radix3@npm:^1.1.2":
+ version: 1.1.2
+ resolution: "radix3@npm:1.1.2"
+ checksum: 10/5ed01a8e4b753e325c6ecb01d993de77f690e548ef9e149e7dc403ee7b109c2cb41e3d09bc3ce004d872c67c8dca1d556dbf7808b1ac7df9f86994e57d757557
+ languageName: node
+ linkType: hard
+
"range-parser@npm:~1.2.1":
version: 1.2.1
resolution: "range-parser@npm:1.2.1"
@@ -14979,6 +17273,19 @@ __metadata:
languageName: node
linkType: hard
+"react-native-webview@npm:^11.26.0":
+ version: 11.26.1
+ resolution: "react-native-webview@npm:11.26.1"
+ dependencies:
+ escape-string-regexp: "npm:2.0.0"
+ invariant: "npm:2.2.4"
+ peerDependencies:
+ react: "*"
+ react-native: "*"
+ checksum: 10/d64123c73e7795096434135a1bec2aef5caf71a4c1c95b1416cc528bc55f5c4a89df2d311ad3637594f120e864b5798e2c4ea4eb7153bf938ad167c54e7a7e61
+ languageName: node
+ linkType: hard
+
"react-native@npm:*, react-native@npm:0.74.3":
version: 0.74.3
resolution: "react-native@npm:0.74.3"
@@ -15039,7 +17346,7 @@ __metadata:
languageName: node
linkType: hard
-"react-remove-scroll-bar@npm:^2.3.3":
+"react-remove-scroll-bar@npm:^2.3.3, react-remove-scroll-bar@npm:^2.3.4":
version: 2.3.6
resolution: "react-remove-scroll-bar@npm:2.3.6"
dependencies:
@@ -15074,6 +17381,25 @@ __metadata:
languageName: node
linkType: hard
+"react-remove-scroll@npm:2.5.7":
+ version: 2.5.7
+ resolution: "react-remove-scroll@npm:2.5.7"
+ dependencies:
+ react-remove-scroll-bar: "npm:^2.3.4"
+ react-style-singleton: "npm:^2.2.1"
+ tslib: "npm:^2.1.0"
+ use-callback-ref: "npm:^1.3.0"
+ use-sidecar: "npm:^1.1.2"
+ peerDependencies:
+ "@types/react": ^16.8.0 || ^17.0.0 || ^18.0.0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 10/a1285d118e734855be6a1cf6c83a2ee39d8c5a5c3c336a1e9b80ab571326669bf39a52607f1889337c559c18b9e5fd5a0772fa82f748de3fcfe114ee6f772cc6
+ languageName: node
+ linkType: hard
+
"react-shallow-renderer@npm:^16.15.0":
version: 16.15.0
resolution: "react-shallow-renderer@npm:16.15.0"
@@ -15182,18 +17508,7 @@ __metadata:
languageName: node
linkType: hard
-"readable-stream@npm:^3.0.0, readable-stream@npm:^3.0.2, readable-stream@npm:^3.1.1, readable-stream@npm:^3.4.0":
- version: 3.6.2
- resolution: "readable-stream@npm:3.6.2"
- dependencies:
- inherits: "npm:^2.0.3"
- string_decoder: "npm:^1.1.1"
- util-deprecate: "npm:^1.0.1"
- checksum: 10/d9e3e53193adcdb79d8f10f2a1f6989bd4389f5936c6f8b870e77570853561c362bee69feca2bbb7b32368ce96a85504aa4cedf7cf80f36e6a9de30d64244048
- languageName: node
- linkType: hard
-
-"readable-stream@npm:~2.3.6":
+"readable-stream@npm:^2.3.3, readable-stream@npm:~2.3.6":
version: 2.3.8
resolution: "readable-stream@npm:2.3.8"
dependencies:
@@ -15208,6 +17523,30 @@ __metadata:
languageName: node
linkType: hard
+"readable-stream@npm:^3.0.0, readable-stream@npm:^3.0.2, readable-stream@npm:^3.1.1, readable-stream@npm:^3.4.0, readable-stream@npm:^3.6.0, readable-stream@npm:^3.6.2":
+ version: 3.6.2
+ resolution: "readable-stream@npm:3.6.2"
+ dependencies:
+ inherits: "npm:^2.0.3"
+ string_decoder: "npm:^1.1.1"
+ util-deprecate: "npm:^1.0.1"
+ checksum: 10/d9e3e53193adcdb79d8f10f2a1f6989bd4389f5936c6f8b870e77570853561c362bee69feca2bbb7b32368ce96a85504aa4cedf7cf80f36e6a9de30d64244048
+ languageName: node
+ linkType: hard
+
+"readable-stream@npm:^3.6.2 || ^4.4.2":
+ version: 4.5.2
+ resolution: "readable-stream@npm:4.5.2"
+ dependencies:
+ abort-controller: "npm:^3.0.0"
+ buffer: "npm:^6.0.3"
+ events: "npm:^3.3.0"
+ process: "npm:^0.11.10"
+ string_decoder: "npm:^1.3.0"
+ checksum: 10/01b128a559c5fd76a898495f858cf0a8839f135e6a69e3409f986e88460134791657eb46a2ff16826f331682a3c4d0c5a75cef5e52ef259711021ba52b1c2e82
+ languageName: node
+ linkType: hard
+
"readdirp@npm:~3.6.0":
version: 3.6.0
resolution: "readdirp@npm:3.6.0"
@@ -15224,6 +17563,13 @@ __metadata:
languageName: node
linkType: hard
+"real-require@npm:^0.1.0":
+ version: 0.1.0
+ resolution: "real-require@npm:0.1.0"
+ checksum: 10/0ba1c440dc9b7777d35a97f755312bf236be0847249f76cc9789c5c08d141f5d80b8564888e6a94ed0253fabf597b6892f8502c4e5658fb98f88642633a39723
+ languageName: node
+ linkType: hard
+
"recast@npm:^0.21.0":
version: 0.21.5
resolution: "recast@npm:0.21.5"
@@ -15569,6 +17915,25 @@ __metadata:
languageName: node
linkType: hard
+"rollup-plugin-visualizer@npm:^5.9.2":
+ version: 5.12.0
+ resolution: "rollup-plugin-visualizer@npm:5.12.0"
+ dependencies:
+ open: "npm:^8.4.0"
+ picomatch: "npm:^2.3.1"
+ source-map: "npm:^0.7.4"
+ yargs: "npm:^17.5.1"
+ peerDependencies:
+ rollup: 2.x || 3.x || 4.x
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ bin:
+ rollup-plugin-visualizer: dist/bin/cli.js
+ checksum: 10/47358feb672291d6edcfd94197577c192a84c24cb644119425dae8241fb6f5a52556efd0c501f38b276c07534642a80c0885ef681babb474e83c7b5a3b475b84
+ languageName: node
+ linkType: hard
+
"run-async@npm:^2.4.0":
version: 2.4.1
resolution: "run-async@npm:2.4.1"
@@ -15638,6 +18003,13 @@ __metadata:
languageName: node
linkType: hard
+"safe-stable-stringify@npm:^2.1.0":
+ version: 2.4.3
+ resolution: "safe-stable-stringify@npm:2.4.3"
+ checksum: 10/a6c192bbefe47770a11072b51b500ed29be7b1c15095371c1ee1dc13e45ce48ee3c80330214c56764d006c485b88bd0b24940d868948170dddc16eed312582d8
+ languageName: node
+ linkType: hard
+
"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0":
version: 2.1.2
resolution: "safer-buffer@npm:2.1.2"
@@ -15682,6 +18054,18 @@ __metadata:
languageName: node
linkType: hard
+"secp256k1@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "secp256k1@npm:5.0.0"
+ dependencies:
+ elliptic: "npm:^6.5.4"
+ node-addon-api: "npm:^5.0.0"
+ node-gyp: "npm:latest"
+ node-gyp-build: "npm:^4.2.0"
+ checksum: 10/6e146c876ef202dbfbb35836d6ccd0ea3779dc09bad632bb9e0fe2e702848a4ee96638f39da54895430de832232d6292d858529e2eda56db3ddda13e40d7facc
+ languageName: node
+ linkType: hard
+
"selfsigned@npm:^2.4.1":
version: 2.4.1
resolution: "selfsigned@npm:2.4.1"
@@ -15839,6 +18223,18 @@ __metadata:
languageName: node
linkType: hard
+"sha.js@npm:^2.4.11":
+ version: 2.4.11
+ resolution: "sha.js@npm:2.4.11"
+ dependencies:
+ inherits: "npm:^2.0.1"
+ safe-buffer: "npm:^5.0.1"
+ bin:
+ sha.js: ./bin.js
+ checksum: 10/d833bfa3e0a67579a6ce6e1bc95571f05246e0a441dd8c76e3057972f2a3e098465687a4369b07e83a0375a88703577f71b5b2e966809e67ebc340dbedb478c7
+ languageName: node
+ linkType: hard
+
"shallow-clone@npm:^1.0.0":
version: 1.0.0
resolution: "shallow-clone@npm:1.0.0"
@@ -16042,6 +18438,28 @@ __metadata:
languageName: node
linkType: hard
+"socket.io-client@npm:^4.5.1":
+ version: 4.7.5
+ resolution: "socket.io-client@npm:4.7.5"
+ dependencies:
+ "@socket.io/component-emitter": "npm:~3.1.0"
+ debug: "npm:~4.3.2"
+ engine.io-client: "npm:~6.5.2"
+ socket.io-parser: "npm:~4.2.4"
+ checksum: 10/a9e118081dc1669a63af3abd9defce94f85c8ed8d9146cd7a77665b5f1f78baf0b9f4155cf0fce7770856f97493416551abcba686f02778045f4768ceaafed5c
+ languageName: node
+ linkType: hard
+
+"socket.io-parser@npm:~4.2.4":
+ version: 4.2.4
+ resolution: "socket.io-parser@npm:4.2.4"
+ dependencies:
+ "@socket.io/component-emitter": "npm:~3.1.0"
+ debug: "npm:~4.3.1"
+ checksum: 10/4be500a9ff7e79c50ec25af11048a3ed34b4c003a9500d656786a1e5bceae68421a8394cf3eb0aa9041f85f36c1a9a737617f4aee91a42ab4ce16ffb2aa0c89c
+ languageName: node
+ linkType: hard
+
"socks-proxy-agent@npm:^8.0.3":
version: 8.0.4
resolution: "socks-proxy-agent@npm:8.0.4"
@@ -16063,6 +18481,15 @@ __metadata:
languageName: node
linkType: hard
+"sonic-boom@npm:^2.2.1":
+ version: 2.8.0
+ resolution: "sonic-boom@npm:2.8.0"
+ dependencies:
+ atomic-sleep: "npm:^1.0.0"
+ checksum: 10/05351d9f44bac59b2a4ab42ee22bf81b8c3bbd22db20183d78d5f2067557eb623e0eaf93b2bc0f8417bee92ca372bc26e0d83e3bdb0ffebcc33738ac1c191876
+ languageName: node
+ linkType: hard
+
"sonner@npm:^0.3.5":
version: 0.3.5
resolution: "sonner@npm:0.3.5"
@@ -16113,7 +18540,7 @@ __metadata:
languageName: node
linkType: hard
-"source-map@npm:^0.7.3":
+"source-map@npm:^0.7.3, source-map@npm:^0.7.4":
version: 0.7.4
resolution: "source-map@npm:0.7.4"
checksum: 10/a0f7c9b797eda93139842fd28648e868a9a03ea0ad0d9fa6602a0c1f17b7fb6a7dcca00c144476cccaeaae5042e99a285723b1a201e844ad67221bf5d428f1dc
@@ -16170,6 +18597,13 @@ __metadata:
languageName: node
linkType: hard
+"split2@npm:^4.0.0":
+ version: 4.2.0
+ resolution: "split2@npm:4.2.0"
+ checksum: 10/09bbefc11bcf03f044584c9764cd31a252d8e52cea29130950b26161287c11f519807c5e54bd9e5804c713b79c02cefe6a98f4688630993386be353e03f534ab
+ languageName: node
+ linkType: hard
+
"split@npm:^1.0.1":
version: 1.0.1
resolution: "split@npm:1.0.1"
@@ -16241,6 +18675,13 @@ __metadata:
languageName: node
linkType: hard
+"std-env@npm:^3.7.0":
+ version: 3.7.0
+ resolution: "std-env@npm:3.7.0"
+ checksum: 10/6ee0cca1add3fd84656b0002cfbc5bfa20340389d9ba4720569840f1caa34bce74322aef4c93f046391583e50649d0cf81a5f8fe1d411e50b659571690a45f12
+ languageName: node
+ linkType: hard
+
"stream-buffers@npm:2.2.x, stream-buffers@npm:~2.2.0":
version: 2.2.0
resolution: "stream-buffers@npm:2.2.0"
@@ -16352,7 +18793,7 @@ __metadata:
languageName: node
linkType: hard
-"string_decoder@npm:^1.1.1":
+"string_decoder@npm:^1.1.1, string_decoder@npm:^1.3.0":
version: 1.3.0
resolution: "string_decoder@npm:1.3.0"
dependencies:
@@ -16538,6 +18979,13 @@ __metadata:
languageName: node
linkType: hard
+"superstruct@npm:^1.0.3":
+ version: 1.0.4
+ resolution: "superstruct@npm:1.0.4"
+ checksum: 10/9b3fd70a08c5ad3ea78b5c6b7ab90d31dde71af10448208d296c3d29ba2e55dfd817dfef75957163ee032163d04c4b2e0cb2fddff30313516aa60f748c1a48da
+ languageName: node
+ linkType: hard
+
"supports-color@npm:^5.3.0":
version: 5.5.0
resolution: "supports-color@npm:5.5.0"
@@ -16582,6 +19030,13 @@ __metadata:
languageName: node
linkType: hard
+"system-architecture@npm:^0.1.0":
+ version: 0.1.0
+ resolution: "system-architecture@npm:0.1.0"
+ checksum: 10/ca0dd793c45c354ab57dd7fc8ce7dc9923a6e07382bd3b22eb5b08f55ddb0217c390d00767549c5155fd4ce7ef23ffdd8cfb33dd4344cbbd37837d085a50f6f0
+ languageName: node
+ linkType: hard
+
"tabbable@npm:^6.0.0":
version: 6.2.0
resolution: "tabbable@npm:6.2.0"
@@ -16807,6 +19262,15 @@ __metadata:
languageName: node
linkType: hard
+"thread-stream@npm:^0.15.1":
+ version: 0.15.2
+ resolution: "thread-stream@npm:0.15.2"
+ dependencies:
+ real-require: "npm:^0.1.0"
+ checksum: 10/ca0a4f5bf45db88b48b41af0299455eaa8f01dd3ef8279e7ba6909c295b3ab79ddf576b595cbbceb4dbdf4012b17c6449805092926163fcbf30ac1604cb595b1
+ languageName: node
+ linkType: hard
+
"throat@npm:^5.0.0":
version: 5.0.0
resolution: "throat@npm:5.0.0"
@@ -16927,7 +19391,14 @@ __metadata:
languageName: node
linkType: hard
-"tslib@npm:^2.0.0, tslib@npm:^2.0.1, tslib@npm:^2.1.0, tslib@npm:^2.3.0, tslib@npm:^2.4.0":
+"tslib@npm:1.14.1":
+ version: 1.14.1
+ resolution: "tslib@npm:1.14.1"
+ checksum: 10/7dbf34e6f55c6492637adb81b555af5e3b4f9cc6b998fb440dac82d3b42bdc91560a35a5fb75e20e24a076c651438234da6743d139e4feabf0783f3cdfe1dddb
+ languageName: node
+ linkType: hard
+
+"tslib@npm:^2.0.0, tslib@npm:^2.0.1, tslib@npm:^2.1.0, tslib@npm:^2.3.0, tslib@npm:^2.3.1, tslib@npm:^2.4.0":
version: 2.6.3
resolution: "tslib@npm:2.6.3"
checksum: 10/52109bb681f8133a2e58142f11a50e05476de4f075ca906d13b596ae5f7f12d30c482feb0bff167ae01cfc84c5803e575a307d47938999246f5a49d174fc558c
@@ -17115,7 +19586,7 @@ __metadata:
languageName: node
linkType: hard
-"ua-parser-js@npm:^1.0.35":
+"ua-parser-js@npm:^1.0.35, ua-parser-js@npm:^1.0.37":
version: 1.0.38
resolution: "ua-parser-js@npm:1.0.38"
checksum: 10/f2345e9bd0f9c5f85bcaa434535fae88f4bb891538e568106f0225b2c2937fbfbeb5782bd22320d07b6b3d68b350b8861574c1d7af072ff9b2362fb72d326fd9
@@ -17129,6 +19600,13 @@ __metadata:
languageName: node
linkType: hard
+"ufo@npm:^1.4.0, ufo@npm:^1.5.3":
+ version: 1.5.4
+ resolution: "ufo@npm:1.5.4"
+ checksum: 10/a885ed421e656aea6ca64e9727b8118a9488715460b6f1a0f0427118adfe2f2830fe7c1d5bd9c5c754a332e6807516551cd663ea67ce9ed6a4e3edc739916335
+ languageName: node
+ linkType: hard
+
"uglify-js@npm:^3.1.4":
version: 3.19.0
resolution: "uglify-js@npm:3.19.0"
@@ -17138,6 +19616,24 @@ __metadata:
languageName: node
linkType: hard
+"uint8arrays@npm:3.1.0":
+ version: 3.1.0
+ resolution: "uint8arrays@npm:3.1.0"
+ dependencies:
+ multiformats: "npm:^9.4.2"
+ checksum: 10/caf1cd6a1cdbd7c59d6c8698c06a6d603380942b5745b3fddcd1b16f7a84a4f351fb8c6ac41f4cb2c59c226bb6d954733a6e20a42dec6f3fd266a02270a5088d
+ languageName: node
+ linkType: hard
+
+"uint8arrays@npm:^3.0.0":
+ version: 3.1.1
+ resolution: "uint8arrays@npm:3.1.1"
+ dependencies:
+ multiformats: "npm:^9.4.2"
+ checksum: 10/536e70273c040484aa7d522031a9dbca1fe8c06eb58a3ace1064ba68825b4e2764d4a0b604a1c451e7b8be0986dc94f23a419cfe9334bd116716074a2d29b33d
+ languageName: node
+ linkType: hard
+
"unbox-primitive@npm:^1.0.2":
version: 1.0.2
resolution: "unbox-primitive@npm:1.0.2"
@@ -17150,6 +19646,13 @@ __metadata:
languageName: node
linkType: hard
+"uncrypto@npm:^0.1.3":
+ version: 0.1.3
+ resolution: "uncrypto@npm:0.1.3"
+ checksum: 10/0020f74b0ce34723196d8982a73bb7f40cff455a41b8f88ae146b86885f4e66e41a1241fe80a887505c3bd2c7f07ed362b6ed041968370073c40a98496e6a737
+ languageName: node
+ linkType: hard
+
"undici-types@npm:~5.26.4":
version: 5.26.5
resolution: "undici-types@npm:5.26.5"
@@ -17173,6 +19676,26 @@ __metadata:
languageName: node
linkType: hard
+"unenv@npm:^1.9.0":
+ version: 1.10.0
+ resolution: "unenv@npm:1.10.0"
+ dependencies:
+ consola: "npm:^3.2.3"
+ defu: "npm:^6.1.4"
+ mime: "npm:^3.0.0"
+ node-fetch-native: "npm:^1.6.4"
+ pathe: "npm:^1.1.2"
+ checksum: 10/23198e150fd3b4db4d7abe444b75ee05a0d36768bd6d94a6aaf5dca830db82e707ccc0f6cca22671327b62c5cd85ada08d4665bf7652afec9de0bdc7a4546249
+ languageName: node
+ linkType: hard
+
+"unfetch@npm:^4.2.0":
+ version: 4.2.0
+ resolution: "unfetch@npm:4.2.0"
+ checksum: 10/d4924178060b6828d858acef3ce2baea69acd3f3f9e2429fd503a0ed0d2b1ed0ee107786aceadfd167ce884fad12d22b5288eb865a3ea036979b8358b8555c9a
+ languageName: node
+ linkType: hard
+
"unicode-canonical-property-names-ecmascript@npm:^2.0.0":
version: 2.0.0
resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.0"
@@ -17275,6 +19798,78 @@ __metadata:
languageName: node
linkType: hard
+"unstorage@npm:^1.9.0":
+ version: 1.10.2
+ resolution: "unstorage@npm:1.10.2"
+ dependencies:
+ anymatch: "npm:^3.1.3"
+ chokidar: "npm:^3.6.0"
+ destr: "npm:^2.0.3"
+ h3: "npm:^1.11.1"
+ listhen: "npm:^1.7.2"
+ lru-cache: "npm:^10.2.0"
+ mri: "npm:^1.2.0"
+ node-fetch-native: "npm:^1.6.2"
+ ofetch: "npm:^1.3.3"
+ ufo: "npm:^1.4.0"
+ peerDependencies:
+ "@azure/app-configuration": ^1.5.0
+ "@azure/cosmos": ^4.0.0
+ "@azure/data-tables": ^13.2.2
+ "@azure/identity": ^4.0.1
+ "@azure/keyvault-secrets": ^4.8.0
+ "@azure/storage-blob": ^12.17.0
+ "@capacitor/preferences": ^5.0.7
+ "@netlify/blobs": ^6.5.0 || ^7.0.0
+ "@planetscale/database": ^1.16.0
+ "@upstash/redis": ^1.28.4
+ "@vercel/kv": ^1.0.1
+ idb-keyval: ^6.2.1
+ ioredis: ^5.3.2
+ peerDependenciesMeta:
+ "@azure/app-configuration":
+ optional: true
+ "@azure/cosmos":
+ optional: true
+ "@azure/data-tables":
+ optional: true
+ "@azure/identity":
+ optional: true
+ "@azure/keyvault-secrets":
+ optional: true
+ "@azure/storage-blob":
+ optional: true
+ "@capacitor/preferences":
+ optional: true
+ "@netlify/blobs":
+ optional: true
+ "@planetscale/database":
+ optional: true
+ "@upstash/redis":
+ optional: true
+ "@vercel/kv":
+ optional: true
+ idb-keyval:
+ optional: true
+ ioredis:
+ optional: true
+ checksum: 10/2ed14d4755447fbb383e98294ca383ec19fdcfbff1c6a46a6d5cf3c322e2f77eb9b71e8a135338daa32229adb6d087076c5321d44674bf1fd6df0b3e00b10f78
+ languageName: node
+ linkType: hard
+
+"untun@npm:^0.1.3":
+ version: 0.1.3
+ resolution: "untun@npm:0.1.3"
+ dependencies:
+ citty: "npm:^0.1.5"
+ consola: "npm:^3.2.3"
+ pathe: "npm:^1.1.1"
+ bin:
+ untun: bin/untun.mjs
+ checksum: 10/6a096002ca13b8442ad1d40840088888cfaa28626eefdd132cd0fd3d3b956af121a9733b7bda32647608e278fb13332d2b72e2c319a27dc55dbc8e709a2f61d4
+ languageName: node
+ linkType: hard
+
"upath@npm:2.0.1":
version: 2.0.1
resolution: "upath@npm:2.0.1"
@@ -17296,6 +19891,13 @@ __metadata:
languageName: node
linkType: hard
+"uqr@npm:^0.1.2":
+ version: 0.1.2
+ resolution: "uqr@npm:0.1.2"
+ checksum: 10/31f1fe7d7a8121a2670712234524763160985b053e7eb8af7925a131bcde0df11641e15129d988358032da603185456d08dd72b26b507897272eb9640273bfa6
+ languageName: node
+ linkType: hard
+
"uri-js@npm:^4.4.1":
version: 4.4.1
resolution: "uri-js@npm:4.4.1"
@@ -17361,6 +19963,16 @@ __metadata:
languageName: node
linkType: hard
+"utf-8-validate@npm:^5.0.2":
+ version: 5.0.10
+ resolution: "utf-8-validate@npm:5.0.10"
+ dependencies:
+ node-gyp: "npm:latest"
+ node-gyp-build: "npm:^4.3.0"
+ checksum: 10/b89cbc13b4badad04828349ebb7aa2ab1edcb02b46ab12ce0ba5b2d6886d684ad4e93347819e3c8d36224c8742422d2dca69f5cc16c72ae4d7eeecc0c5cb544b
+ languageName: node
+ linkType: hard
+
"util-deprecate@npm:^1.0.1, util-deprecate@npm:^1.0.2, util-deprecate@npm:~1.0.1":
version: 1.0.2
resolution: "util-deprecate@npm:1.0.2"
@@ -17368,7 +19980,7 @@ __metadata:
languageName: node
linkType: hard
-"util@npm:^0.12.3, util@npm:^0.12.5":
+"util@npm:^0.12.3, util@npm:^0.12.4, util@npm:^0.12.5":
version: 0.12.5
resolution: "util@npm:0.12.5"
dependencies:
@@ -17457,6 +20069,24 @@ __metadata:
languageName: node
linkType: hard
+"valtio@npm:1.11.2":
+ version: 1.11.2
+ resolution: "valtio@npm:1.11.2"
+ dependencies:
+ proxy-compare: "npm:2.5.1"
+ use-sync-external-store: "npm:1.2.0"
+ peerDependencies:
+ "@types/react": ">=16.8"
+ react: ">=16.8"
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ react:
+ optional: true
+ checksum: 10/a259f5af204b801668e019855813a8f702c9558961395bb5847f583119428b997efb9b0e6feb5d6e48a76a9b541173a10fdfdb1527a7bd14477a0e0c5beba914
+ languageName: node
+ linkType: hard
+
"vary@npm:~1.1.2":
version: 1.1.2
resolution: "vary@npm:1.1.2"
@@ -17464,6 +20094,28 @@ __metadata:
languageName: node
linkType: hard
+"viem@npm:2.x, viem@npm:^2.1.1":
+ version: 2.18.6
+ resolution: "viem@npm:2.18.6"
+ dependencies:
+ "@adraffy/ens-normalize": "npm:1.10.0"
+ "@noble/curves": "npm:1.4.0"
+ "@noble/hashes": "npm:1.4.0"
+ "@scure/bip32": "npm:1.4.0"
+ "@scure/bip39": "npm:1.3.0"
+ abitype: "npm:1.0.5"
+ isows: "npm:1.0.4"
+ webauthn-p256: "npm:0.0.5"
+ ws: "npm:8.17.1"
+ peerDependencies:
+ typescript: ">=5.0.4"
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ checksum: 10/b51b50db0ebc134788eacd768f95938cc57b053bea51b4df871abf4ddb48cbbf5d349bc3df1cb8ebc15c84f65087ef99a4458472f697c22cd87e6994f0ebeecf
+ languageName: node
+ linkType: hard
+
"vlq@npm:^1.0.0":
version: 1.0.1
resolution: "vlq@npm:1.0.1"
@@ -17478,6 +20130,25 @@ __metadata:
languageName: node
linkType: hard
+"wagmi@npm:2":
+ version: 2.12.2
+ resolution: "wagmi@npm:2.12.2"
+ dependencies:
+ "@wagmi/connectors": "npm:5.1.2"
+ "@wagmi/core": "npm:2.13.1"
+ use-sync-external-store: "npm:1.2.0"
+ peerDependencies:
+ "@tanstack/react-query": ">=5.0.0"
+ react: ">=18"
+ typescript: ">=5.0.4"
+ viem: 2.x
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ checksum: 10/c8faa9677f9c3700bb69d425a5461719d506481f7faa2af7428dafa41132e251b423547db9da28b35ddf1a90c3f8bba346d03ffea46b4606419e412a33808d7c
+ languageName: node
+ linkType: hard
+
"walk-up-path@npm:^3.0.1":
version: 3.0.1
resolution: "walk-up-path@npm:3.0.1"
@@ -17530,6 +20201,30 @@ __metadata:
languageName: node
linkType: hard
+"webauthn-p256@npm:0.0.5":
+ version: 0.0.5
+ resolution: "webauthn-p256@npm:0.0.5"
+ dependencies:
+ "@noble/curves": "npm:^1.4.0"
+ "@noble/hashes": "npm:^1.4.0"
+ checksum: 10/6bf5d1857dfb99ecb3b318af06eddea874c10135e6ebb9f046270f5cbb162933bc6caf77aedb033e14c09971dda544a5fb367ac545e4ec8001b309ba517555cf
+ languageName: node
+ linkType: hard
+
+"webextension-polyfill@npm:>=0.10.0 <1.0":
+ version: 0.12.0
+ resolution: "webextension-polyfill@npm:0.12.0"
+ checksum: 10/77e648b958b573ef075e75a0c180e2bbd74dee17b3145e86d21fcbb168c4999e4a311654fe634b8178997bee9b35ea5808d8d3d3e5ff2ad138f197f4f0ea75d9
+ languageName: node
+ linkType: hard
+
+"webextension-polyfill@npm:^0.10.0":
+ version: 0.10.0
+ resolution: "webextension-polyfill@npm:0.10.0"
+ checksum: 10/51ff30ebed4b1aa802b7f0347f05021b2fe492078bb1a597223d43995fcee96e2da8f914a2f6e36f988c1877ed5ab36ca7077f2f3ab828955151a59e4c01bf7e
+ languageName: node
+ linkType: hard
+
"webidl-conversions@npm:^3.0.0":
version: 3.0.1
resolution: "webidl-conversions@npm:3.0.1"
@@ -17783,6 +20478,21 @@ __metadata:
languageName: node
linkType: hard
+"ws@npm:8.17.1, ws@npm:~8.17.1":
+ version: 8.17.1
+ resolution: "ws@npm:8.17.1"
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: ">=5.0.2"
+ peerDependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+ checksum: 10/4264ae92c0b3e59c7e309001e93079b26937aab181835fb7af79f906b22cd33b6196d96556dafb4e985742dd401e99139572242e9847661fdbc96556b9e6902d
+ languageName: node
+ linkType: hard
+
"ws@npm:^6.2.2":
version: 6.2.3
resolution: "ws@npm:6.2.3"
@@ -17863,7 +20573,14 @@ __metadata:
languageName: node
linkType: hard
-"xtend@npm:~4.0.1":
+"xmlhttprequest-ssl@npm:~2.0.0":
+ version: 2.0.0
+ resolution: "xmlhttprequest-ssl@npm:2.0.0"
+ checksum: 10/3c2edfce0c49c7a494ed16c87e6897c9e3eba29763a5505526de83ddefd195d224fa5cdf41092298c99cd6ee473c9f259a0679f6ff3b8a9535dcd09900db91f9
+ languageName: node
+ linkType: hard
+
+"xtend@npm:^4.0.1, xtend@npm:~4.0.1":
version: 4.0.2
resolution: "xtend@npm:4.0.2"
checksum: 10/ac5dfa738b21f6e7f0dd6e65e1b3155036d68104e67e5d5d1bde74892e327d7e5636a076f625599dc394330a731861e87343ff184b0047fef1360a7ec0a5a36a
@@ -17931,7 +20648,7 @@ __metadata:
languageName: node
linkType: hard
-"yargs@npm:17.7.2, yargs@npm:^17.6.2, yargs@npm:^17.7.2":
+"yargs@npm:17.7.2, yargs@npm:^17.5.1, yargs@npm:^17.6.2, yargs@npm:^17.7.2":
version: 17.7.2
resolution: "yargs@npm:17.7.2"
dependencies:
@@ -17946,7 +20663,7 @@ __metadata:
languageName: node
linkType: hard
-"yargs@npm:^15.1.0":
+"yargs@npm:^15.1.0, yargs@npm:^15.3.1":
version: 15.4.1
resolution: "yargs@npm:15.4.1"
dependencies:
@@ -17987,6 +20704,26 @@ __metadata:
languageName: node
linkType: hard
+"zustand@npm:4.4.1":
+ version: 4.4.1
+ resolution: "zustand@npm:4.4.1"
+ dependencies:
+ use-sync-external-store: "npm:1.2.0"
+ peerDependencies:
+ "@types/react": ">=16.8"
+ immer: ">=9.0"
+ react: ">=16.8"
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ immer:
+ optional: true
+ react:
+ optional: true
+ checksum: 10/e6e21cbb7200bd9eca35c8f385d8b4c06949581f4e19a11c473fe2df5b756997e7d4747eb9f54ee918b9a378c62e3f2f6eadba9d24f9eb4351cc50ad27832c13
+ languageName: node
+ linkType: hard
+
"zustand@npm:^4.3.8":
version: 4.5.4
resolution: "zustand@npm:4.5.4"