diff --git a/.env.example b/.env.example
index 66649542c..de288ea8d 100755
--- a/.env.example
+++ b/.env.example
@@ -1,5 +1,6 @@
RPC_URI_FOR_1=
RPC_URI_FOR_10=
+RPC_URI_FOR_137=
RPC_URI_FOR_250=
RPC_URI_FOR_8453=
RPC_URI_FOR_42161=
diff --git a/INSTALL.md b/INSTALL.md
index 963a18f92..8a5275e7b 100755
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -25,6 +25,7 @@ Run `nano /etc/systemd/system/server.conf` and put the environment variables in
```
RPC_URI_FOR_1=
RPC_URI_FOR_10=
+RPC_URI_FOR_137=
RPC_URI_FOR_250=
RPC_URI_FOR_8453=
RPC_URI_FOR_42161=
diff --git a/README.md b/README.md
index bbb260f9c..ee793b3c6 100755
--- a/README.md
+++ b/README.md
@@ -10,6 +10,7 @@ First, ensure [Docker](https://docs.docker.com/get-started/overview/) is install
```
RPC_URI_FOR_1=
RPC_URI_FOR_10=
+RPC_URI_FOR_137=
RPC_URI_FOR_250=
RPC_URI_FOR_8453=
RPC_URI_FOR_42161=
@@ -28,6 +29,7 @@ First, ensure [Go](https://go.dev/) is installed on your system. then, clone the
```
RPC_URI_FOR_1=
RPC_URI_FOR_10=
+RPC_URI_FOR_137=
RPC_URI_FOR_250=
RPC_URI_FOR_8453=
RPC_URI_FOR_42161=
@@ -54,7 +56,7 @@ curl http://localhost:8080/1/vaults/all
## Endpoints
`GET` `[BASE_URL]/[chainID]/vaults/all`
-> This endpoint returns all the vaults of the specified chainID. Supported chains are `1`, `10`, `250`, `8453` and `42161`.
+> This endpoint returns all the vaults of the specified chainID. Supported chains are `1`, `10`, `137`, `250`, `8453` and `42161`.
>
> **Query**
`?skip=N` will skip N vault from the graphQL query. Default is `0`
@@ -66,7 +68,7 @@ curl http://localhost:8080/1/vaults/all
-------
`GET` `[BASE_URL]/[chainID]/vaults/[address]`
-> This endpoint returns the vault matching the specified address, for the specified chainID. Supported chains are `1`, `10`, `250`, `8453`, and `42161`.
+> This endpoint returns the vault matching the specified address, for the specified chainID. Supported chains are `1`, `10`, `137`, `250`, `8453`, and `42161`.
>
> **Query**
> `?strategiesCondition=debtLimit|inQueue|absolute` will select the "active" strategies based on the specified strategy. Default is `debtLimit`
diff --git a/cmd/daemons.go b/cmd/daemons.go
index a425de5a5..d28b212e3 100755
--- a/cmd/daemons.go
+++ b/cmd/daemons.go
@@ -6,7 +6,6 @@ import (
"time"
"github.com/yearn/ydaemon/common/env"
- "github.com/yearn/ydaemon/common/helpers"
"github.com/yearn/ydaemon/common/logs"
"github.com/yearn/ydaemon/external/partners"
"github.com/yearn/ydaemon/external/vaults"
@@ -47,7 +46,7 @@ func runDaemonWithBlocks(chainID uint64, startBlock uint64, endBlock *uint64, wg
// SummonDaemons is a function that summons the daemons for a given chainID.
func SummonDaemons(chainID uint64) {
- if !helpers.Contains(env.SUPPORTED_CHAIN_IDS, chainID) {
+ if _, ok := env.CHAINS[chainID]; !ok {
return
}
@@ -70,7 +69,7 @@ func SummonDaemons(chainID uint64) {
// LoadDaemons is a function that loads the previous store state for a given chainID
func LoadDaemons(chainID uint64) {
- if !helpers.Contains(env.SUPPORTED_CHAIN_IDS, chainID) {
+ if _, ok := env.CHAINS[chainID]; !ok {
return
}
diff --git a/cmd/daemons_test.go b/cmd/daemons_test.go
deleted file mode 100755
index e64f2fb2e..000000000
--- a/cmd/daemons_test.go
+++ /dev/null
@@ -1,54 +0,0 @@
-package main
-
-import (
- "sync"
- "testing"
-
- "github.com/yearn/ydaemon/common/env"
-)
-
-// init is fired directly on app start and prepare the multicall clients
-func TestDaemons(t *testing.T) {
- var wg sync.WaitGroup
-
- //Testing for chainID == 1
- go func(wg *sync.WaitGroup) {
- LoadDaemons(1)
- SummonDaemons(1)
- wg.Done()
- }(&wg)
-
- //Testing for chainID == 4
- go func(wg *sync.WaitGroup) {
- LoadDaemons(4)
- SummonDaemons(4)
- wg.Done()
- }(&wg)
-
- //Testing for chainID == 10
- go func(wg *sync.WaitGroup) {
- LoadDaemons(10)
- SummonDaemons(10)
- wg.Done()
- }(&wg)
-
- //Testing for chainID == 250
- go func(wg *sync.WaitGroup) {
- LoadDaemons(250)
- SummonDaemons(250)
- wg.Done()
- }(&wg)
-
- //Testing for chainID == 42161
- go func(wg *sync.WaitGroup) {
- LoadDaemons(42161)
- SummonDaemons(42161)
- wg.Done()
- }(&wg)
- wg.Add(5)
- wg.Wait()
-
- //Edge case testing with values overwrite
- env.API_V1_BASE_URL = `https://thisisarandomurithatshouldnotbeset.yearn.fi/`
- SummonDaemons(1)
-}
diff --git a/cmd/flags.chains.go b/cmd/flags.chains.go
index 0dcbf45f7..c117c729e 100644
--- a/cmd/flags.chains.go
+++ b/cmd/flags.chains.go
@@ -9,35 +9,21 @@ import (
"github.com/yearn/ydaemon/common/helpers"
)
-type arrayFlags []string
+type arrayFlags string
-var chainFlag arrayFlags
-
-func (i *arrayFlags) String() string {
- defaultSupportedChains := env.SUPPORTED_CHAIN_IDS
- supportedChainsString := ``
- for _, chainID := range defaultSupportedChains {
- supportedChainsString += strconv.FormatUint(chainID, 10) + ` `
- }
- supportedChainsString = strings.Trim(supportedChainsString, ` `)
- return supportedChainsString
-}
-func (i *arrayFlags) Set(value string) error {
- *i = append(*i, value)
- return nil
-}
-
-func handleChainsInitialization() []uint64 {
+func handleChainsInitialization(rawChains *string) []uint64 {
/**********************************************************************************************
** chainFlag is an array of strings, so we need to convert it to an array of uint64, excluding
** any invalid chain IDs or duplicates.
**********************************************************************************************/
- for _, chainIDString := range chainFlag {
+ chainStr := strings.Split(*rawChains, `,`)
+
+ for _, chainIDString := range chainStr {
chainID, err := strconv.ParseUint(chainIDString, 10, 64)
if err != nil {
continue
}
- if !helpers.Contains(env.SUPPORTED_CHAIN_IDS, chainID) {
+ if _, ok := env.CHAINS[chainID]; !ok {
continue
}
if helpers.Contains(chains, chainID) {
diff --git a/cmd/flags.go b/cmd/flags.go
index be465cd79..9d88b1c2a 100644
--- a/cmd/flags.go
+++ b/cmd/flags.go
@@ -14,9 +14,9 @@ func initFlags() {
/**********************************************************************************************
** Flag group: Chains
** Description: List of chain IDs to run yDaemon for
- ** Default: All supported chains (1, 10, 250, 8453, 42161)
+ ** Default: All supported chains (1, 10, 137, 250, 8453, 42161)
**********************************************************************************************/
- flag.Var(&chainFlag, "chains", `List of chain IDs to run yDaemon for: --chains 1 10 250 8453 42161`)
+ rawChains := flag.String(`chains`, `1,10,137,250,8453,42161`, `List of chain IDs to run yDaemon for: --chains 1,10,137,250,8453,42161`)
/**********************************************************************************************
** Flag group: Sentry
@@ -44,7 +44,7 @@ func initFlags() {
endBlock = nil
}
- handleChainsInitialization()
+ handleChainsInitialization(rawChains)
handleSentryInitialization()
handleProcessInitialization(rawProcess)
}
diff --git a/cmd/server.go b/cmd/server.go
index 2cddc99c7..f1e96bbbe 100755
--- a/cmd/server.go
+++ b/cmd/server.go
@@ -63,6 +63,7 @@ func NewRouter() *gin.Engine {
router.GET(`:chainID/vaults/apy/:address`, c.GetVaultsVisionAPY)
router.GET(`:chainID/earned/:address/:vaults`, c.GetEarnedPerVaultPerUser)
router.GET(`:chainID/earned/:address`, c.GetEarnedPerUser)
+ router.GET(`earned/:address`, c.GetEarnedPerUserForAllChains)
// Retrieve the strategies for a specific chainID
router.GET(`:chainID/strategies/all`, c.GetAllStrategies)
diff --git a/cmd/server_test.go b/cmd/server_test.go
deleted file mode 100755
index 807c1afcc..000000000
--- a/cmd/server_test.go
+++ /dev/null
@@ -1,35 +0,0 @@
-package main
-
-import (
- "net/http"
- "testing"
- "time"
-
- "github.com/stretchr/testify/assert"
-)
-
-func TestEnvironment(t *testing.T) {
- //Init the server as non-blocking mode
- go NewRouter().Run()
- time.Sleep(3 * time.Second)
-
- //Init the daemons as blocking mode: we want to wait for them to complete before we continue
- SummonDaemons(1)
- SummonDaemons(10)
- SummonDaemons(250)
- SummonDaemons(8453)
- SummonDaemons(42161)
-
- //Testing the reports endpoint
- resp, err := http.Get(`http://localhost:8080/250/reports/0xb99d6662127d9A3c68Bc949679f364E1739E2CA1`)
- assert.NoError(t, err)
- assert.Equal(t, http.StatusOK, resp.StatusCode)
- resp, err = http.Get(`http://localhost:8080/hello/reports/0xb99d6662127d9A3c68Bc949679f364E1739E2CA1`)
- assert.NoError(t, err)
- assert.Equal(t, http.StatusBadRequest, resp.StatusCode)
-
- //Testing the info/chains route
- resp, err = http.Get(`http://localhost:8080/info/chains`)
- assert.NoError(t, err)
- assert.Equal(t, http.StatusOK, resp.StatusCode)
-}
diff --git a/cmd/status.go b/cmd/status.go
index 53ac01263..a02cf5fdd 100644
--- a/cmd/status.go
+++ b/cmd/status.go
@@ -5,7 +5,7 @@ import "github.com/yearn/ydaemon/common/env"
var STATUS_FOR_CHAINID = map[uint64]string{}
func init() {
- for _, chainID := range env.SUPPORTED_CHAIN_IDS {
+ for chainID := range env.CHAINS {
setStatusForChainID(chainID, "Not Started")
}
}
diff --git a/common/contracts/ERC4626.go b/common/contracts/ERC4626.go
new file mode 100644
index 000000000..3ecaf33d6
--- /dev/null
+++ b/common/contracts/ERC4626.go
@@ -0,0 +1,2947 @@
+// Code generated - DO NOT EDIT.
+// This file is a generated binding and any manual changes will be lost.
+
+package contracts
+
+import (
+ "errors"
+ "math/big"
+ "strings"
+
+ ethereum "github.com/ethereum/go-ethereum"
+ "github.com/ethereum/go-ethereum/accounts/abi"
+ "github.com/ethereum/go-ethereum/accounts/abi/bind"
+ "github.com/ethereum/go-ethereum/common"
+ "github.com/ethereum/go-ethereum/core/types"
+ "github.com/ethereum/go-ethereum/event"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var (
+ _ = errors.New
+ _ = big.NewInt
+ _ = strings.NewReader
+ _ = ethereum.NotFound
+ _ = bind.Bind
+ _ = common.Big1
+ _ = types.BloomLookup
+ _ = event.NewSubscription
+)
+
+// ERC4626MetaData contains all meta data concerning the ERC4626 contract.
+var ERC4626MetaData = &bind.MetaData{
+ ABI: "[{\"name\":\"Rewards\",\"inputs\":[{\"name\":\"pending\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"streaming\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"unlocked\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"delta\",\"type\":\"int256\",\"indexed\":false}],\"anonymous\":false,\"type\":\"event\"},{\"name\":\"SetFeeRate\",\"inputs\":[{\"name\":\"fee_rate\",\"type\":\"uint256\",\"indexed\":false}],\"anonymous\":false,\"type\":\"event\"},{\"name\":\"SetHalfTime\",\"inputs\":[{\"name\":\"half_time\",\"type\":\"uint256\",\"indexed\":false}],\"anonymous\":false,\"type\":\"event\"},{\"name\":\"PendingManagement\",\"inputs\":[{\"name\":\"management\",\"type\":\"address\",\"indexed\":true}],\"anonymous\":false,\"type\":\"event\"},{\"name\":\"SetManagement\",\"inputs\":[{\"name\":\"management\",\"type\":\"address\",\"indexed\":true}],\"anonymous\":false,\"type\":\"event\"},{\"name\":\"SetTreasury\",\"inputs\":[{\"name\":\"treasury\",\"type\":\"address\",\"indexed\":true}],\"anonymous\":false,\"type\":\"event\"},{\"name\":\"Transfer\",\"inputs\":[{\"name\":\"sender\",\"type\":\"address\",\"indexed\":true},{\"name\":\"receiver\",\"type\":\"address\",\"indexed\":true},{\"name\":\"value\",\"type\":\"uint256\",\"indexed\":false}],\"anonymous\":false,\"type\":\"event\"},{\"name\":\"Approval\",\"inputs\":[{\"name\":\"owner\",\"type\":\"address\",\"indexed\":true},{\"name\":\"spender\",\"type\":\"address\",\"indexed\":true},{\"name\":\"value\",\"type\":\"uint256\",\"indexed\":false}],\"anonymous\":false,\"type\":\"event\"},{\"name\":\"Deposit\",\"inputs\":[{\"name\":\"sender\",\"type\":\"address\",\"indexed\":true},{\"name\":\"owner\",\"type\":\"address\",\"indexed\":true},{\"name\":\"assets\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"shares\",\"type\":\"uint256\",\"indexed\":false}],\"anonymous\":false,\"type\":\"event\"},{\"name\":\"Withdraw\",\"inputs\":[{\"name\":\"sender\",\"type\":\"address\",\"indexed\":true},{\"name\":\"receiver\",\"type\":\"address\",\"indexed\":true},{\"name\":\"owner\",\"type\":\"address\",\"indexed\":true},{\"name\":\"assets\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"shares\",\"type\":\"uint256\",\"indexed\":false}],\"anonymous\":false,\"type\":\"event\"},{\"stateMutability\":\"nonpayable\",\"type\":\"constructor\",\"inputs\":[{\"name\":\"_asset\",\"type\":\"address\"}],\"outputs\":[]},{\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"transfer\",\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}]},{\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"transferFrom\",\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}]},{\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"approve\",\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}]},{\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"increaseAllowance\",\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}]},{\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"decreaseAllowance\",\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"totalAssets\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"convertToShares\",\"inputs\":[{\"name\":\"_assets\",\"type\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"convertToAssets\",\"inputs\":[{\"name\":\"_shares\",\"type\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"maxDeposit\",\"inputs\":[{\"name\":\"_receiver\",\"type\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"previewDeposit\",\"inputs\":[{\"name\":\"_assets\",\"type\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"deposit\",\"inputs\":[{\"name\":\"_assets\",\"type\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"deposit\",\"inputs\":[{\"name\":\"_assets\",\"type\":\"uint256\"},{\"name\":\"_receiver\",\"type\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"maxMint\",\"inputs\":[{\"name\":\"_receiver\",\"type\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"previewMint\",\"inputs\":[{\"name\":\"_shares\",\"type\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"mint\",\"inputs\":[{\"name\":\"_shares\",\"type\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"mint\",\"inputs\":[{\"name\":\"_shares\",\"type\":\"uint256\"},{\"name\":\"_receiver\",\"type\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"maxWithdraw\",\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"previewWithdraw\",\"inputs\":[{\"name\":\"_assets\",\"type\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"withdraw\",\"inputs\":[{\"name\":\"_assets\",\"type\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"withdraw\",\"inputs\":[{\"name\":\"_assets\",\"type\":\"uint256\"},{\"name\":\"_receiver\",\"type\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"withdraw\",\"inputs\":[{\"name\":\"_assets\",\"type\":\"uint256\"},{\"name\":\"_receiver\",\"type\":\"address\"},{\"name\":\"_owner\",\"type\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"maxRedeem\",\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"previewRedeem\",\"inputs\":[{\"name\":\"_shares\",\"type\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"redeem\",\"inputs\":[{\"name\":\"_shares\",\"type\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"redeem\",\"inputs\":[{\"name\":\"_shares\",\"type\":\"uint256\"},{\"name\":\"_receiver\",\"type\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"redeem\",\"inputs\":[{\"name\":\"_shares\",\"type\":\"uint256\"},{\"name\":\"_receiver\",\"type\":\"address\"},{\"name\":\"_owner\",\"type\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"update_amounts\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"get_amounts\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"int256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"vote_weight\",\"inputs\":[{\"name\":\"_account\",\"type\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"known\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"rescue\",\"inputs\":[{\"name\":\"_token\",\"type\":\"address\"},{\"name\":\"_receiver\",\"type\":\"address\"}],\"outputs\":[]},{\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"set_performance_fee_rate\",\"inputs\":[{\"name\":\"_fee_rate\",\"type\":\"uint256\"}],\"outputs\":[]},{\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"set_half_time\",\"inputs\":[{\"name\":\"_half_time\",\"type\":\"uint256\"}],\"outputs\":[]},{\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"set_management\",\"inputs\":[{\"name\":\"_management\",\"type\":\"address\"}],\"outputs\":[]},{\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"accept_management\",\"inputs\":[],\"outputs\":[]},{\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"set_treasury\",\"inputs\":[{\"name\":\"_treasury\",\"type\":\"address\"}],\"outputs\":[]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"updated\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"management\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"pending_management\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"performance_fee_rate\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"treasury\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"half_time\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"totalSupply\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"balanceOf\",\"inputs\":[{\"name\":\"arg0\",\"type\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"allowance\",\"inputs\":[{\"name\":\"arg0\",\"type\":\"address\"},{\"name\":\"arg1\",\"type\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"name\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"string\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"symbol\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"string\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"decimals\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"asset\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\"}]}]",
+}
+
+// ERC4626ABI is the input ABI used to generate the binding from.
+// Deprecated: Use ERC4626MetaData.ABI instead.
+var ERC4626ABI = ERC4626MetaData.ABI
+
+// ERC4626 is an auto generated Go binding around an Ethereum contract.
+type ERC4626 struct {
+ ERC4626Caller // Read-only binding to the contract
+ ERC4626Transactor // Write-only binding to the contract
+ ERC4626Filterer // Log filterer for contract events
+}
+
+// ERC4626Caller is an auto generated read-only Go binding around an Ethereum contract.
+type ERC4626Caller struct {
+ contract *bind.BoundContract // Generic contract wrapper for the low level calls
+}
+
+// ERC4626Transactor is an auto generated write-only Go binding around an Ethereum contract.
+type ERC4626Transactor struct {
+ contract *bind.BoundContract // Generic contract wrapper for the low level calls
+}
+
+// ERC4626Filterer is an auto generated log filtering Go binding around an Ethereum contract events.
+type ERC4626Filterer struct {
+ contract *bind.BoundContract // Generic contract wrapper for the low level calls
+}
+
+// ERC4626Session is an auto generated Go binding around an Ethereum contract,
+// with pre-set call and transact options.
+type ERC4626Session struct {
+ Contract *ERC4626 // Generic contract binding to set the session for
+ CallOpts bind.CallOpts // Call options to use throughout this session
+ TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
+}
+
+// ERC4626CallerSession is an auto generated read-only Go binding around an Ethereum contract,
+// with pre-set call options.
+type ERC4626CallerSession struct {
+ Contract *ERC4626Caller // Generic contract caller binding to set the session for
+ CallOpts bind.CallOpts // Call options to use throughout this session
+}
+
+// ERC4626TransactorSession is an auto generated write-only Go binding around an Ethereum contract,
+// with pre-set transact options.
+type ERC4626TransactorSession struct {
+ Contract *ERC4626Transactor // Generic contract transactor binding to set the session for
+ TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
+}
+
+// ERC4626Raw is an auto generated low-level Go binding around an Ethereum contract.
+type ERC4626Raw struct {
+ Contract *ERC4626 // Generic contract binding to access the raw methods on
+}
+
+// ERC4626CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
+type ERC4626CallerRaw struct {
+ Contract *ERC4626Caller // Generic read-only contract binding to access the raw methods on
+}
+
+// ERC4626TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
+type ERC4626TransactorRaw struct {
+ Contract *ERC4626Transactor // Generic write-only contract binding to access the raw methods on
+}
+
+// NewERC4626 creates a new instance of ERC4626, bound to a specific deployed contract.
+func NewERC4626(address common.Address, backend bind.ContractBackend) (*ERC4626, error) {
+ contract, err := bindERC4626(address, backend, backend, backend)
+ if err != nil {
+ return nil, err
+ }
+ return &ERC4626{ERC4626Caller: ERC4626Caller{contract: contract}, ERC4626Transactor: ERC4626Transactor{contract: contract}, ERC4626Filterer: ERC4626Filterer{contract: contract}}, nil
+}
+
+// NewERC4626Caller creates a new read-only instance of ERC4626, bound to a specific deployed contract.
+func NewERC4626Caller(address common.Address, caller bind.ContractCaller) (*ERC4626Caller, error) {
+ contract, err := bindERC4626(address, caller, nil, nil)
+ if err != nil {
+ return nil, err
+ }
+ return &ERC4626Caller{contract: contract}, nil
+}
+
+// NewERC4626Transactor creates a new write-only instance of ERC4626, bound to a specific deployed contract.
+func NewERC4626Transactor(address common.Address, transactor bind.ContractTransactor) (*ERC4626Transactor, error) {
+ contract, err := bindERC4626(address, nil, transactor, nil)
+ if err != nil {
+ return nil, err
+ }
+ return &ERC4626Transactor{contract: contract}, nil
+}
+
+// NewERC4626Filterer creates a new log filterer instance of ERC4626, bound to a specific deployed contract.
+func NewERC4626Filterer(address common.Address, filterer bind.ContractFilterer) (*ERC4626Filterer, error) {
+ contract, err := bindERC4626(address, nil, nil, filterer)
+ if err != nil {
+ return nil, err
+ }
+ return &ERC4626Filterer{contract: contract}, nil
+}
+
+// bindERC4626 binds a generic wrapper to an already deployed contract.
+func bindERC4626(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
+ parsed, err := abi.JSON(strings.NewReader(ERC4626ABI))
+ if err != nil {
+ return nil, err
+ }
+ return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
+}
+
+// Call invokes the (constant) contract method with params as input values and
+// sets the output to result. The result type might be a single field for simple
+// returns, a slice of interfaces for anonymous returns and a struct for named
+// returns.
+func (_ERC4626 *ERC4626Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
+ return _ERC4626.Contract.ERC4626Caller.contract.Call(opts, result, method, params...)
+}
+
+// Transfer initiates a plain transaction to move funds to the contract, calling
+// its default method if one is available.
+func (_ERC4626 *ERC4626Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
+ return _ERC4626.Contract.ERC4626Transactor.contract.Transfer(opts)
+}
+
+// Transact invokes the (paid) contract method with params as input values.
+func (_ERC4626 *ERC4626Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
+ return _ERC4626.Contract.ERC4626Transactor.contract.Transact(opts, method, params...)
+}
+
+// Call invokes the (constant) contract method with params as input values and
+// sets the output to result. The result type might be a single field for simple
+// returns, a slice of interfaces for anonymous returns and a struct for named
+// returns.
+func (_ERC4626 *ERC4626CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
+ return _ERC4626.Contract.contract.Call(opts, result, method, params...)
+}
+
+// Transfer initiates a plain transaction to move funds to the contract, calling
+// its default method if one is available.
+func (_ERC4626 *ERC4626TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
+ return _ERC4626.Contract.contract.Transfer(opts)
+}
+
+// Transact invokes the (paid) contract method with params as input values.
+func (_ERC4626 *ERC4626TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
+ return _ERC4626.Contract.contract.Transact(opts, method, params...)
+}
+
+// Allowance is a free data retrieval call binding the contract method 0xdd62ed3e.
+//
+// Solidity: function allowance(address arg0, address arg1) view returns(uint256)
+func (_ERC4626 *ERC4626Caller) Allowance(opts *bind.CallOpts, arg0 common.Address, arg1 common.Address) (*big.Int, error) {
+ var out []interface{}
+ err := _ERC4626.contract.Call(opts, &out, "allowance", arg0, arg1)
+
+ if err != nil {
+ return *new(*big.Int), err
+ }
+
+ out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
+
+ return out0, err
+
+}
+
+// Allowance is a free data retrieval call binding the contract method 0xdd62ed3e.
+//
+// Solidity: function allowance(address arg0, address arg1) view returns(uint256)
+func (_ERC4626 *ERC4626Session) Allowance(arg0 common.Address, arg1 common.Address) (*big.Int, error) {
+ return _ERC4626.Contract.Allowance(&_ERC4626.CallOpts, arg0, arg1)
+}
+
+// Allowance is a free data retrieval call binding the contract method 0xdd62ed3e.
+//
+// Solidity: function allowance(address arg0, address arg1) view returns(uint256)
+func (_ERC4626 *ERC4626CallerSession) Allowance(arg0 common.Address, arg1 common.Address) (*big.Int, error) {
+ return _ERC4626.Contract.Allowance(&_ERC4626.CallOpts, arg0, arg1)
+}
+
+// Asset is a free data retrieval call binding the contract method 0x38d52e0f.
+//
+// Solidity: function asset() view returns(address)
+func (_ERC4626 *ERC4626Caller) Asset(opts *bind.CallOpts) (common.Address, error) {
+ var out []interface{}
+ err := _ERC4626.contract.Call(opts, &out, "asset")
+
+ if err != nil {
+ return *new(common.Address), err
+ }
+
+ out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
+
+ return out0, err
+
+}
+
+// Asset is a free data retrieval call binding the contract method 0x38d52e0f.
+//
+// Solidity: function asset() view returns(address)
+func (_ERC4626 *ERC4626Session) Asset() (common.Address, error) {
+ return _ERC4626.Contract.Asset(&_ERC4626.CallOpts)
+}
+
+// Asset is a free data retrieval call binding the contract method 0x38d52e0f.
+//
+// Solidity: function asset() view returns(address)
+func (_ERC4626 *ERC4626CallerSession) Asset() (common.Address, error) {
+ return _ERC4626.Contract.Asset(&_ERC4626.CallOpts)
+}
+
+// BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
+//
+// Solidity: function balanceOf(address arg0) view returns(uint256)
+func (_ERC4626 *ERC4626Caller) BalanceOf(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error) {
+ var out []interface{}
+ err := _ERC4626.contract.Call(opts, &out, "balanceOf", arg0)
+
+ if err != nil {
+ return *new(*big.Int), err
+ }
+
+ out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
+
+ return out0, err
+
+}
+
+// BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
+//
+// Solidity: function balanceOf(address arg0) view returns(uint256)
+func (_ERC4626 *ERC4626Session) BalanceOf(arg0 common.Address) (*big.Int, error) {
+ return _ERC4626.Contract.BalanceOf(&_ERC4626.CallOpts, arg0)
+}
+
+// BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
+//
+// Solidity: function balanceOf(address arg0) view returns(uint256)
+func (_ERC4626 *ERC4626CallerSession) BalanceOf(arg0 common.Address) (*big.Int, error) {
+ return _ERC4626.Contract.BalanceOf(&_ERC4626.CallOpts, arg0)
+}
+
+// ConvertToAssets is a free data retrieval call binding the contract method 0x07a2d13a.
+//
+// Solidity: function convertToAssets(uint256 _shares) view returns(uint256)
+func (_ERC4626 *ERC4626Caller) ConvertToAssets(opts *bind.CallOpts, _shares *big.Int) (*big.Int, error) {
+ var out []interface{}
+ err := _ERC4626.contract.Call(opts, &out, "convertToAssets", _shares)
+
+ if err != nil {
+ return *new(*big.Int), err
+ }
+
+ out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
+
+ return out0, err
+
+}
+
+// ConvertToAssets is a free data retrieval call binding the contract method 0x07a2d13a.
+//
+// Solidity: function convertToAssets(uint256 _shares) view returns(uint256)
+func (_ERC4626 *ERC4626Session) ConvertToAssets(_shares *big.Int) (*big.Int, error) {
+ return _ERC4626.Contract.ConvertToAssets(&_ERC4626.CallOpts, _shares)
+}
+
+// ConvertToAssets is a free data retrieval call binding the contract method 0x07a2d13a.
+//
+// Solidity: function convertToAssets(uint256 _shares) view returns(uint256)
+func (_ERC4626 *ERC4626CallerSession) ConvertToAssets(_shares *big.Int) (*big.Int, error) {
+ return _ERC4626.Contract.ConvertToAssets(&_ERC4626.CallOpts, _shares)
+}
+
+// ConvertToShares is a free data retrieval call binding the contract method 0xc6e6f592.
+//
+// Solidity: function convertToShares(uint256 _assets) view returns(uint256)
+func (_ERC4626 *ERC4626Caller) ConvertToShares(opts *bind.CallOpts, _assets *big.Int) (*big.Int, error) {
+ var out []interface{}
+ err := _ERC4626.contract.Call(opts, &out, "convertToShares", _assets)
+
+ if err != nil {
+ return *new(*big.Int), err
+ }
+
+ out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
+
+ return out0, err
+
+}
+
+// ConvertToShares is a free data retrieval call binding the contract method 0xc6e6f592.
+//
+// Solidity: function convertToShares(uint256 _assets) view returns(uint256)
+func (_ERC4626 *ERC4626Session) ConvertToShares(_assets *big.Int) (*big.Int, error) {
+ return _ERC4626.Contract.ConvertToShares(&_ERC4626.CallOpts, _assets)
+}
+
+// ConvertToShares is a free data retrieval call binding the contract method 0xc6e6f592.
+//
+// Solidity: function convertToShares(uint256 _assets) view returns(uint256)
+func (_ERC4626 *ERC4626CallerSession) ConvertToShares(_assets *big.Int) (*big.Int, error) {
+ return _ERC4626.Contract.ConvertToShares(&_ERC4626.CallOpts, _assets)
+}
+
+// Decimals is a free data retrieval call binding the contract method 0x313ce567.
+//
+// Solidity: function decimals() view returns(uint8)
+func (_ERC4626 *ERC4626Caller) Decimals(opts *bind.CallOpts) (uint8, error) {
+ var out []interface{}
+ err := _ERC4626.contract.Call(opts, &out, "decimals")
+
+ if err != nil {
+ return *new(uint8), err
+ }
+
+ out0 := *abi.ConvertType(out[0], new(uint8)).(*uint8)
+
+ return out0, err
+
+}
+
+// Decimals is a free data retrieval call binding the contract method 0x313ce567.
+//
+// Solidity: function decimals() view returns(uint8)
+func (_ERC4626 *ERC4626Session) Decimals() (uint8, error) {
+ return _ERC4626.Contract.Decimals(&_ERC4626.CallOpts)
+}
+
+// Decimals is a free data retrieval call binding the contract method 0x313ce567.
+//
+// Solidity: function decimals() view returns(uint8)
+func (_ERC4626 *ERC4626CallerSession) Decimals() (uint8, error) {
+ return _ERC4626.Contract.Decimals(&_ERC4626.CallOpts)
+}
+
+// GetAmounts is a free data retrieval call binding the contract method 0xccaf0c30.
+//
+// Solidity: function get_amounts() view returns(uint256, uint256, uint256, uint256, int256)
+func (_ERC4626 *ERC4626Caller) GetAmounts(opts *bind.CallOpts) (*big.Int, *big.Int, *big.Int, *big.Int, *big.Int, error) {
+ var out []interface{}
+ err := _ERC4626.contract.Call(opts, &out, "get_amounts")
+
+ if err != nil {
+ return *new(*big.Int), *new(*big.Int), *new(*big.Int), *new(*big.Int), *new(*big.Int), err
+ }
+
+ out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
+ out1 := *abi.ConvertType(out[1], new(*big.Int)).(**big.Int)
+ out2 := *abi.ConvertType(out[2], new(*big.Int)).(**big.Int)
+ out3 := *abi.ConvertType(out[3], new(*big.Int)).(**big.Int)
+ out4 := *abi.ConvertType(out[4], new(*big.Int)).(**big.Int)
+
+ return out0, out1, out2, out3, out4, err
+
+}
+
+// GetAmounts is a free data retrieval call binding the contract method 0xccaf0c30.
+//
+// Solidity: function get_amounts() view returns(uint256, uint256, uint256, uint256, int256)
+func (_ERC4626 *ERC4626Session) GetAmounts() (*big.Int, *big.Int, *big.Int, *big.Int, *big.Int, error) {
+ return _ERC4626.Contract.GetAmounts(&_ERC4626.CallOpts)
+}
+
+// GetAmounts is a free data retrieval call binding the contract method 0xccaf0c30.
+//
+// Solidity: function get_amounts() view returns(uint256, uint256, uint256, uint256, int256)
+func (_ERC4626 *ERC4626CallerSession) GetAmounts() (*big.Int, *big.Int, *big.Int, *big.Int, *big.Int, error) {
+ return _ERC4626.Contract.GetAmounts(&_ERC4626.CallOpts)
+}
+
+// HalfTime is a free data retrieval call binding the contract method 0xc5c91533.
+//
+// Solidity: function half_time() view returns(uint256)
+func (_ERC4626 *ERC4626Caller) HalfTime(opts *bind.CallOpts) (*big.Int, error) {
+ var out []interface{}
+ err := _ERC4626.contract.Call(opts, &out, "half_time")
+
+ if err != nil {
+ return *new(*big.Int), err
+ }
+
+ out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
+
+ return out0, err
+
+}
+
+// HalfTime is a free data retrieval call binding the contract method 0xc5c91533.
+//
+// Solidity: function half_time() view returns(uint256)
+func (_ERC4626 *ERC4626Session) HalfTime() (*big.Int, error) {
+ return _ERC4626.Contract.HalfTime(&_ERC4626.CallOpts)
+}
+
+// HalfTime is a free data retrieval call binding the contract method 0xc5c91533.
+//
+// Solidity: function half_time() view returns(uint256)
+func (_ERC4626 *ERC4626CallerSession) HalfTime() (*big.Int, error) {
+ return _ERC4626.Contract.HalfTime(&_ERC4626.CallOpts)
+}
+
+// Known is a free data retrieval call binding the contract method 0xc445c938.
+//
+// Solidity: function known() view returns(uint256)
+func (_ERC4626 *ERC4626Caller) Known(opts *bind.CallOpts) (*big.Int, error) {
+ var out []interface{}
+ err := _ERC4626.contract.Call(opts, &out, "known")
+
+ if err != nil {
+ return *new(*big.Int), err
+ }
+
+ out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
+
+ return out0, err
+
+}
+
+// Known is a free data retrieval call binding the contract method 0xc445c938.
+//
+// Solidity: function known() view returns(uint256)
+func (_ERC4626 *ERC4626Session) Known() (*big.Int, error) {
+ return _ERC4626.Contract.Known(&_ERC4626.CallOpts)
+}
+
+// Known is a free data retrieval call binding the contract method 0xc445c938.
+//
+// Solidity: function known() view returns(uint256)
+func (_ERC4626 *ERC4626CallerSession) Known() (*big.Int, error) {
+ return _ERC4626.Contract.Known(&_ERC4626.CallOpts)
+}
+
+// Management is a free data retrieval call binding the contract method 0x88a8d602.
+//
+// Solidity: function management() view returns(address)
+func (_ERC4626 *ERC4626Caller) Management(opts *bind.CallOpts) (common.Address, error) {
+ var out []interface{}
+ err := _ERC4626.contract.Call(opts, &out, "management")
+
+ if err != nil {
+ return *new(common.Address), err
+ }
+
+ out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
+
+ return out0, err
+
+}
+
+// Management is a free data retrieval call binding the contract method 0x88a8d602.
+//
+// Solidity: function management() view returns(address)
+func (_ERC4626 *ERC4626Session) Management() (common.Address, error) {
+ return _ERC4626.Contract.Management(&_ERC4626.CallOpts)
+}
+
+// Management is a free data retrieval call binding the contract method 0x88a8d602.
+//
+// Solidity: function management() view returns(address)
+func (_ERC4626 *ERC4626CallerSession) Management() (common.Address, error) {
+ return _ERC4626.Contract.Management(&_ERC4626.CallOpts)
+}
+
+// MaxDeposit is a free data retrieval call binding the contract method 0x402d267d.
+//
+// Solidity: function maxDeposit(address _receiver) view returns(uint256)
+func (_ERC4626 *ERC4626Caller) MaxDeposit(opts *bind.CallOpts, _receiver common.Address) (*big.Int, error) {
+ var out []interface{}
+ err := _ERC4626.contract.Call(opts, &out, "maxDeposit", _receiver)
+
+ if err != nil {
+ return *new(*big.Int), err
+ }
+
+ out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
+
+ return out0, err
+
+}
+
+// MaxDeposit is a free data retrieval call binding the contract method 0x402d267d.
+//
+// Solidity: function maxDeposit(address _receiver) view returns(uint256)
+func (_ERC4626 *ERC4626Session) MaxDeposit(_receiver common.Address) (*big.Int, error) {
+ return _ERC4626.Contract.MaxDeposit(&_ERC4626.CallOpts, _receiver)
+}
+
+// MaxDeposit is a free data retrieval call binding the contract method 0x402d267d.
+//
+// Solidity: function maxDeposit(address _receiver) view returns(uint256)
+func (_ERC4626 *ERC4626CallerSession) MaxDeposit(_receiver common.Address) (*big.Int, error) {
+ return _ERC4626.Contract.MaxDeposit(&_ERC4626.CallOpts, _receiver)
+}
+
+// MaxMint is a free data retrieval call binding the contract method 0xc63d75b6.
+//
+// Solidity: function maxMint(address _receiver) view returns(uint256)
+func (_ERC4626 *ERC4626Caller) MaxMint(opts *bind.CallOpts, _receiver common.Address) (*big.Int, error) {
+ var out []interface{}
+ err := _ERC4626.contract.Call(opts, &out, "maxMint", _receiver)
+
+ if err != nil {
+ return *new(*big.Int), err
+ }
+
+ out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
+
+ return out0, err
+
+}
+
+// MaxMint is a free data retrieval call binding the contract method 0xc63d75b6.
+//
+// Solidity: function maxMint(address _receiver) view returns(uint256)
+func (_ERC4626 *ERC4626Session) MaxMint(_receiver common.Address) (*big.Int, error) {
+ return _ERC4626.Contract.MaxMint(&_ERC4626.CallOpts, _receiver)
+}
+
+// MaxMint is a free data retrieval call binding the contract method 0xc63d75b6.
+//
+// Solidity: function maxMint(address _receiver) view returns(uint256)
+func (_ERC4626 *ERC4626CallerSession) MaxMint(_receiver common.Address) (*big.Int, error) {
+ return _ERC4626.Contract.MaxMint(&_ERC4626.CallOpts, _receiver)
+}
+
+// MaxRedeem is a free data retrieval call binding the contract method 0xd905777e.
+//
+// Solidity: function maxRedeem(address _owner) view returns(uint256)
+func (_ERC4626 *ERC4626Caller) MaxRedeem(opts *bind.CallOpts, _owner common.Address) (*big.Int, error) {
+ var out []interface{}
+ err := _ERC4626.contract.Call(opts, &out, "maxRedeem", _owner)
+
+ if err != nil {
+ return *new(*big.Int), err
+ }
+
+ out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
+
+ return out0, err
+
+}
+
+// MaxRedeem is a free data retrieval call binding the contract method 0xd905777e.
+//
+// Solidity: function maxRedeem(address _owner) view returns(uint256)
+func (_ERC4626 *ERC4626Session) MaxRedeem(_owner common.Address) (*big.Int, error) {
+ return _ERC4626.Contract.MaxRedeem(&_ERC4626.CallOpts, _owner)
+}
+
+// MaxRedeem is a free data retrieval call binding the contract method 0xd905777e.
+//
+// Solidity: function maxRedeem(address _owner) view returns(uint256)
+func (_ERC4626 *ERC4626CallerSession) MaxRedeem(_owner common.Address) (*big.Int, error) {
+ return _ERC4626.Contract.MaxRedeem(&_ERC4626.CallOpts, _owner)
+}
+
+// MaxWithdraw is a free data retrieval call binding the contract method 0xce96cb77.
+//
+// Solidity: function maxWithdraw(address _owner) view returns(uint256)
+func (_ERC4626 *ERC4626Caller) MaxWithdraw(opts *bind.CallOpts, _owner common.Address) (*big.Int, error) {
+ var out []interface{}
+ err := _ERC4626.contract.Call(opts, &out, "maxWithdraw", _owner)
+
+ if err != nil {
+ return *new(*big.Int), err
+ }
+
+ out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
+
+ return out0, err
+
+}
+
+// MaxWithdraw is a free data retrieval call binding the contract method 0xce96cb77.
+//
+// Solidity: function maxWithdraw(address _owner) view returns(uint256)
+func (_ERC4626 *ERC4626Session) MaxWithdraw(_owner common.Address) (*big.Int, error) {
+ return _ERC4626.Contract.MaxWithdraw(&_ERC4626.CallOpts, _owner)
+}
+
+// MaxWithdraw is a free data retrieval call binding the contract method 0xce96cb77.
+//
+// Solidity: function maxWithdraw(address _owner) view returns(uint256)
+func (_ERC4626 *ERC4626CallerSession) MaxWithdraw(_owner common.Address) (*big.Int, error) {
+ return _ERC4626.Contract.MaxWithdraw(&_ERC4626.CallOpts, _owner)
+}
+
+// Name is a free data retrieval call binding the contract method 0x06fdde03.
+//
+// Solidity: function name() view returns(string)
+func (_ERC4626 *ERC4626Caller) Name(opts *bind.CallOpts) (string, error) {
+ var out []interface{}
+ err := _ERC4626.contract.Call(opts, &out, "name")
+
+ if err != nil {
+ return *new(string), err
+ }
+
+ out0 := *abi.ConvertType(out[0], new(string)).(*string)
+
+ return out0, err
+
+}
+
+// Name is a free data retrieval call binding the contract method 0x06fdde03.
+//
+// Solidity: function name() view returns(string)
+func (_ERC4626 *ERC4626Session) Name() (string, error) {
+ return _ERC4626.Contract.Name(&_ERC4626.CallOpts)
+}
+
+// Name is a free data retrieval call binding the contract method 0x06fdde03.
+//
+// Solidity: function name() view returns(string)
+func (_ERC4626 *ERC4626CallerSession) Name() (string, error) {
+ return _ERC4626.Contract.Name(&_ERC4626.CallOpts)
+}
+
+// PendingManagement is a free data retrieval call binding the contract method 0x770817ec.
+//
+// Solidity: function pending_management() view returns(address)
+func (_ERC4626 *ERC4626Caller) PendingManagement(opts *bind.CallOpts) (common.Address, error) {
+ var out []interface{}
+ err := _ERC4626.contract.Call(opts, &out, "pending_management")
+
+ if err != nil {
+ return *new(common.Address), err
+ }
+
+ out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
+
+ return out0, err
+
+}
+
+// PendingManagement is a free data retrieval call binding the contract method 0x770817ec.
+//
+// Solidity: function pending_management() view returns(address)
+func (_ERC4626 *ERC4626Session) PendingManagement() (common.Address, error) {
+ return _ERC4626.Contract.PendingManagement(&_ERC4626.CallOpts)
+}
+
+// PendingManagement is a free data retrieval call binding the contract method 0x770817ec.
+//
+// Solidity: function pending_management() view returns(address)
+func (_ERC4626 *ERC4626CallerSession) PendingManagement() (common.Address, error) {
+ return _ERC4626.Contract.PendingManagement(&_ERC4626.CallOpts)
+}
+
+// PerformanceFeeRate is a free data retrieval call binding the contract method 0x18f7b782.
+//
+// Solidity: function performance_fee_rate() view returns(uint256)
+func (_ERC4626 *ERC4626Caller) PerformanceFeeRate(opts *bind.CallOpts) (*big.Int, error) {
+ var out []interface{}
+ err := _ERC4626.contract.Call(opts, &out, "performance_fee_rate")
+
+ if err != nil {
+ return *new(*big.Int), err
+ }
+
+ out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
+
+ return out0, err
+
+}
+
+// PerformanceFeeRate is a free data retrieval call binding the contract method 0x18f7b782.
+//
+// Solidity: function performance_fee_rate() view returns(uint256)
+func (_ERC4626 *ERC4626Session) PerformanceFeeRate() (*big.Int, error) {
+ return _ERC4626.Contract.PerformanceFeeRate(&_ERC4626.CallOpts)
+}
+
+// PerformanceFeeRate is a free data retrieval call binding the contract method 0x18f7b782.
+//
+// Solidity: function performance_fee_rate() view returns(uint256)
+func (_ERC4626 *ERC4626CallerSession) PerformanceFeeRate() (*big.Int, error) {
+ return _ERC4626.Contract.PerformanceFeeRate(&_ERC4626.CallOpts)
+}
+
+// PreviewDeposit is a free data retrieval call binding the contract method 0xef8b30f7.
+//
+// Solidity: function previewDeposit(uint256 _assets) view returns(uint256)
+func (_ERC4626 *ERC4626Caller) PreviewDeposit(opts *bind.CallOpts, _assets *big.Int) (*big.Int, error) {
+ var out []interface{}
+ err := _ERC4626.contract.Call(opts, &out, "previewDeposit", _assets)
+
+ if err != nil {
+ return *new(*big.Int), err
+ }
+
+ out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
+
+ return out0, err
+
+}
+
+// PreviewDeposit is a free data retrieval call binding the contract method 0xef8b30f7.
+//
+// Solidity: function previewDeposit(uint256 _assets) view returns(uint256)
+func (_ERC4626 *ERC4626Session) PreviewDeposit(_assets *big.Int) (*big.Int, error) {
+ return _ERC4626.Contract.PreviewDeposit(&_ERC4626.CallOpts, _assets)
+}
+
+// PreviewDeposit is a free data retrieval call binding the contract method 0xef8b30f7.
+//
+// Solidity: function previewDeposit(uint256 _assets) view returns(uint256)
+func (_ERC4626 *ERC4626CallerSession) PreviewDeposit(_assets *big.Int) (*big.Int, error) {
+ return _ERC4626.Contract.PreviewDeposit(&_ERC4626.CallOpts, _assets)
+}
+
+// PreviewMint is a free data retrieval call binding the contract method 0xb3d7f6b9.
+//
+// Solidity: function previewMint(uint256 _shares) view returns(uint256)
+func (_ERC4626 *ERC4626Caller) PreviewMint(opts *bind.CallOpts, _shares *big.Int) (*big.Int, error) {
+ var out []interface{}
+ err := _ERC4626.contract.Call(opts, &out, "previewMint", _shares)
+
+ if err != nil {
+ return *new(*big.Int), err
+ }
+
+ out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
+
+ return out0, err
+
+}
+
+// PreviewMint is a free data retrieval call binding the contract method 0xb3d7f6b9.
+//
+// Solidity: function previewMint(uint256 _shares) view returns(uint256)
+func (_ERC4626 *ERC4626Session) PreviewMint(_shares *big.Int) (*big.Int, error) {
+ return _ERC4626.Contract.PreviewMint(&_ERC4626.CallOpts, _shares)
+}
+
+// PreviewMint is a free data retrieval call binding the contract method 0xb3d7f6b9.
+//
+// Solidity: function previewMint(uint256 _shares) view returns(uint256)
+func (_ERC4626 *ERC4626CallerSession) PreviewMint(_shares *big.Int) (*big.Int, error) {
+ return _ERC4626.Contract.PreviewMint(&_ERC4626.CallOpts, _shares)
+}
+
+// PreviewRedeem is a free data retrieval call binding the contract method 0x4cdad506.
+//
+// Solidity: function previewRedeem(uint256 _shares) view returns(uint256)
+func (_ERC4626 *ERC4626Caller) PreviewRedeem(opts *bind.CallOpts, _shares *big.Int) (*big.Int, error) {
+ var out []interface{}
+ err := _ERC4626.contract.Call(opts, &out, "previewRedeem", _shares)
+
+ if err != nil {
+ return *new(*big.Int), err
+ }
+
+ out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
+
+ return out0, err
+
+}
+
+// PreviewRedeem is a free data retrieval call binding the contract method 0x4cdad506.
+//
+// Solidity: function previewRedeem(uint256 _shares) view returns(uint256)
+func (_ERC4626 *ERC4626Session) PreviewRedeem(_shares *big.Int) (*big.Int, error) {
+ return _ERC4626.Contract.PreviewRedeem(&_ERC4626.CallOpts, _shares)
+}
+
+// PreviewRedeem is a free data retrieval call binding the contract method 0x4cdad506.
+//
+// Solidity: function previewRedeem(uint256 _shares) view returns(uint256)
+func (_ERC4626 *ERC4626CallerSession) PreviewRedeem(_shares *big.Int) (*big.Int, error) {
+ return _ERC4626.Contract.PreviewRedeem(&_ERC4626.CallOpts, _shares)
+}
+
+// PreviewWithdraw is a free data retrieval call binding the contract method 0x0a28a477.
+//
+// Solidity: function previewWithdraw(uint256 _assets) view returns(uint256)
+func (_ERC4626 *ERC4626Caller) PreviewWithdraw(opts *bind.CallOpts, _assets *big.Int) (*big.Int, error) {
+ var out []interface{}
+ err := _ERC4626.contract.Call(opts, &out, "previewWithdraw", _assets)
+
+ if err != nil {
+ return *new(*big.Int), err
+ }
+
+ out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
+
+ return out0, err
+
+}
+
+// PreviewWithdraw is a free data retrieval call binding the contract method 0x0a28a477.
+//
+// Solidity: function previewWithdraw(uint256 _assets) view returns(uint256)
+func (_ERC4626 *ERC4626Session) PreviewWithdraw(_assets *big.Int) (*big.Int, error) {
+ return _ERC4626.Contract.PreviewWithdraw(&_ERC4626.CallOpts, _assets)
+}
+
+// PreviewWithdraw is a free data retrieval call binding the contract method 0x0a28a477.
+//
+// Solidity: function previewWithdraw(uint256 _assets) view returns(uint256)
+func (_ERC4626 *ERC4626CallerSession) PreviewWithdraw(_assets *big.Int) (*big.Int, error) {
+ return _ERC4626.Contract.PreviewWithdraw(&_ERC4626.CallOpts, _assets)
+}
+
+// Symbol is a free data retrieval call binding the contract method 0x95d89b41.
+//
+// Solidity: function symbol() view returns(string)
+func (_ERC4626 *ERC4626Caller) Symbol(opts *bind.CallOpts) (string, error) {
+ var out []interface{}
+ err := _ERC4626.contract.Call(opts, &out, "symbol")
+
+ if err != nil {
+ return *new(string), err
+ }
+
+ out0 := *abi.ConvertType(out[0], new(string)).(*string)
+
+ return out0, err
+
+}
+
+// Symbol is a free data retrieval call binding the contract method 0x95d89b41.
+//
+// Solidity: function symbol() view returns(string)
+func (_ERC4626 *ERC4626Session) Symbol() (string, error) {
+ return _ERC4626.Contract.Symbol(&_ERC4626.CallOpts)
+}
+
+// Symbol is a free data retrieval call binding the contract method 0x95d89b41.
+//
+// Solidity: function symbol() view returns(string)
+func (_ERC4626 *ERC4626CallerSession) Symbol() (string, error) {
+ return _ERC4626.Contract.Symbol(&_ERC4626.CallOpts)
+}
+
+// TotalAssets is a free data retrieval call binding the contract method 0x01e1d114.
+//
+// Solidity: function totalAssets() view returns(uint256)
+func (_ERC4626 *ERC4626Caller) TotalAssets(opts *bind.CallOpts) (*big.Int, error) {
+ var out []interface{}
+ err := _ERC4626.contract.Call(opts, &out, "totalAssets")
+
+ if err != nil {
+ return *new(*big.Int), err
+ }
+
+ out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
+
+ return out0, err
+
+}
+
+// TotalAssets is a free data retrieval call binding the contract method 0x01e1d114.
+//
+// Solidity: function totalAssets() view returns(uint256)
+func (_ERC4626 *ERC4626Session) TotalAssets() (*big.Int, error) {
+ return _ERC4626.Contract.TotalAssets(&_ERC4626.CallOpts)
+}
+
+// TotalAssets is a free data retrieval call binding the contract method 0x01e1d114.
+//
+// Solidity: function totalAssets() view returns(uint256)
+func (_ERC4626 *ERC4626CallerSession) TotalAssets() (*big.Int, error) {
+ return _ERC4626.Contract.TotalAssets(&_ERC4626.CallOpts)
+}
+
+// TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.
+//
+// Solidity: function totalSupply() view returns(uint256)
+func (_ERC4626 *ERC4626Caller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) {
+ var out []interface{}
+ err := _ERC4626.contract.Call(opts, &out, "totalSupply")
+
+ if err != nil {
+ return *new(*big.Int), err
+ }
+
+ out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
+
+ return out0, err
+
+}
+
+// TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.
+//
+// Solidity: function totalSupply() view returns(uint256)
+func (_ERC4626 *ERC4626Session) TotalSupply() (*big.Int, error) {
+ return _ERC4626.Contract.TotalSupply(&_ERC4626.CallOpts)
+}
+
+// TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.
+//
+// Solidity: function totalSupply() view returns(uint256)
+func (_ERC4626 *ERC4626CallerSession) TotalSupply() (*big.Int, error) {
+ return _ERC4626.Contract.TotalSupply(&_ERC4626.CallOpts)
+}
+
+// Treasury is a free data retrieval call binding the contract method 0x61d027b3.
+//
+// Solidity: function treasury() view returns(address)
+func (_ERC4626 *ERC4626Caller) Treasury(opts *bind.CallOpts) (common.Address, error) {
+ var out []interface{}
+ err := _ERC4626.contract.Call(opts, &out, "treasury")
+
+ if err != nil {
+ return *new(common.Address), err
+ }
+
+ out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
+
+ return out0, err
+
+}
+
+// Treasury is a free data retrieval call binding the contract method 0x61d027b3.
+//
+// Solidity: function treasury() view returns(address)
+func (_ERC4626 *ERC4626Session) Treasury() (common.Address, error) {
+ return _ERC4626.Contract.Treasury(&_ERC4626.CallOpts)
+}
+
+// Treasury is a free data retrieval call binding the contract method 0x61d027b3.
+//
+// Solidity: function treasury() view returns(address)
+func (_ERC4626 *ERC4626CallerSession) Treasury() (common.Address, error) {
+ return _ERC4626.Contract.Treasury(&_ERC4626.CallOpts)
+}
+
+// Updated is a free data retrieval call binding the contract method 0x7b2aab03.
+//
+// Solidity: function updated() view returns(uint256)
+func (_ERC4626 *ERC4626Caller) Updated(opts *bind.CallOpts) (*big.Int, error) {
+ var out []interface{}
+ err := _ERC4626.contract.Call(opts, &out, "updated")
+
+ if err != nil {
+ return *new(*big.Int), err
+ }
+
+ out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
+
+ return out0, err
+
+}
+
+// Updated is a free data retrieval call binding the contract method 0x7b2aab03.
+//
+// Solidity: function updated() view returns(uint256)
+func (_ERC4626 *ERC4626Session) Updated() (*big.Int, error) {
+ return _ERC4626.Contract.Updated(&_ERC4626.CallOpts)
+}
+
+// Updated is a free data retrieval call binding the contract method 0x7b2aab03.
+//
+// Solidity: function updated() view returns(uint256)
+func (_ERC4626 *ERC4626CallerSession) Updated() (*big.Int, error) {
+ return _ERC4626.Contract.Updated(&_ERC4626.CallOpts)
+}
+
+// VoteWeight is a free data retrieval call binding the contract method 0xf49ec310.
+//
+// Solidity: function vote_weight(address _account) view returns(uint256)
+func (_ERC4626 *ERC4626Caller) VoteWeight(opts *bind.CallOpts, _account common.Address) (*big.Int, error) {
+ var out []interface{}
+ err := _ERC4626.contract.Call(opts, &out, "vote_weight", _account)
+
+ if err != nil {
+ return *new(*big.Int), err
+ }
+
+ out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
+
+ return out0, err
+
+}
+
+// VoteWeight is a free data retrieval call binding the contract method 0xf49ec310.
+//
+// Solidity: function vote_weight(address _account) view returns(uint256)
+func (_ERC4626 *ERC4626Session) VoteWeight(_account common.Address) (*big.Int, error) {
+ return _ERC4626.Contract.VoteWeight(&_ERC4626.CallOpts, _account)
+}
+
+// VoteWeight is a free data retrieval call binding the contract method 0xf49ec310.
+//
+// Solidity: function vote_weight(address _account) view returns(uint256)
+func (_ERC4626 *ERC4626CallerSession) VoteWeight(_account common.Address) (*big.Int, error) {
+ return _ERC4626.Contract.VoteWeight(&_ERC4626.CallOpts, _account)
+}
+
+// AcceptManagement is a paid mutator transaction binding the contract method 0x759be10c.
+//
+// Solidity: function accept_management() returns()
+func (_ERC4626 *ERC4626Transactor) AcceptManagement(opts *bind.TransactOpts) (*types.Transaction, error) {
+ return _ERC4626.contract.Transact(opts, "accept_management")
+}
+
+// AcceptManagement is a paid mutator transaction binding the contract method 0x759be10c.
+//
+// Solidity: function accept_management() returns()
+func (_ERC4626 *ERC4626Session) AcceptManagement() (*types.Transaction, error) {
+ return _ERC4626.Contract.AcceptManagement(&_ERC4626.TransactOpts)
+}
+
+// AcceptManagement is a paid mutator transaction binding the contract method 0x759be10c.
+//
+// Solidity: function accept_management() returns()
+func (_ERC4626 *ERC4626TransactorSession) AcceptManagement() (*types.Transaction, error) {
+ return _ERC4626.Contract.AcceptManagement(&_ERC4626.TransactOpts)
+}
+
+// Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
+//
+// Solidity: function approve(address _spender, uint256 _value) returns(bool)
+func (_ERC4626 *ERC4626Transactor) Approve(opts *bind.TransactOpts, _spender common.Address, _value *big.Int) (*types.Transaction, error) {
+ return _ERC4626.contract.Transact(opts, "approve", _spender, _value)
+}
+
+// Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
+//
+// Solidity: function approve(address _spender, uint256 _value) returns(bool)
+func (_ERC4626 *ERC4626Session) Approve(_spender common.Address, _value *big.Int) (*types.Transaction, error) {
+ return _ERC4626.Contract.Approve(&_ERC4626.TransactOpts, _spender, _value)
+}
+
+// Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
+//
+// Solidity: function approve(address _spender, uint256 _value) returns(bool)
+func (_ERC4626 *ERC4626TransactorSession) Approve(_spender common.Address, _value *big.Int) (*types.Transaction, error) {
+ return _ERC4626.Contract.Approve(&_ERC4626.TransactOpts, _spender, _value)
+}
+
+// DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7.
+//
+// Solidity: function decreaseAllowance(address _spender, uint256 _value) returns(bool)
+func (_ERC4626 *ERC4626Transactor) DecreaseAllowance(opts *bind.TransactOpts, _spender common.Address, _value *big.Int) (*types.Transaction, error) {
+ return _ERC4626.contract.Transact(opts, "decreaseAllowance", _spender, _value)
+}
+
+// DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7.
+//
+// Solidity: function decreaseAllowance(address _spender, uint256 _value) returns(bool)
+func (_ERC4626 *ERC4626Session) DecreaseAllowance(_spender common.Address, _value *big.Int) (*types.Transaction, error) {
+ return _ERC4626.Contract.DecreaseAllowance(&_ERC4626.TransactOpts, _spender, _value)
+}
+
+// DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7.
+//
+// Solidity: function decreaseAllowance(address _spender, uint256 _value) returns(bool)
+func (_ERC4626 *ERC4626TransactorSession) DecreaseAllowance(_spender common.Address, _value *big.Int) (*types.Transaction, error) {
+ return _ERC4626.Contract.DecreaseAllowance(&_ERC4626.TransactOpts, _spender, _value)
+}
+
+// Deposit is a paid mutator transaction binding the contract method 0xb6b55f25.
+//
+// Solidity: function deposit(uint256 _assets) returns(uint256)
+func (_ERC4626 *ERC4626Transactor) Deposit(opts *bind.TransactOpts, _assets *big.Int) (*types.Transaction, error) {
+ return _ERC4626.contract.Transact(opts, "deposit", _assets)
+}
+
+// Deposit is a paid mutator transaction binding the contract method 0xb6b55f25.
+//
+// Solidity: function deposit(uint256 _assets) returns(uint256)
+func (_ERC4626 *ERC4626Session) Deposit(_assets *big.Int) (*types.Transaction, error) {
+ return _ERC4626.Contract.Deposit(&_ERC4626.TransactOpts, _assets)
+}
+
+// Deposit is a paid mutator transaction binding the contract method 0xb6b55f25.
+//
+// Solidity: function deposit(uint256 _assets) returns(uint256)
+func (_ERC4626 *ERC4626TransactorSession) Deposit(_assets *big.Int) (*types.Transaction, error) {
+ return _ERC4626.Contract.Deposit(&_ERC4626.TransactOpts, _assets)
+}
+
+// Deposit0 is a paid mutator transaction binding the contract method 0x6e553f65.
+//
+// Solidity: function deposit(uint256 _assets, address _receiver) returns(uint256)
+func (_ERC4626 *ERC4626Transactor) Deposit0(opts *bind.TransactOpts, _assets *big.Int, _receiver common.Address) (*types.Transaction, error) {
+ return _ERC4626.contract.Transact(opts, "deposit0", _assets, _receiver)
+}
+
+// Deposit0 is a paid mutator transaction binding the contract method 0x6e553f65.
+//
+// Solidity: function deposit(uint256 _assets, address _receiver) returns(uint256)
+func (_ERC4626 *ERC4626Session) Deposit0(_assets *big.Int, _receiver common.Address) (*types.Transaction, error) {
+ return _ERC4626.Contract.Deposit0(&_ERC4626.TransactOpts, _assets, _receiver)
+}
+
+// Deposit0 is a paid mutator transaction binding the contract method 0x6e553f65.
+//
+// Solidity: function deposit(uint256 _assets, address _receiver) returns(uint256)
+func (_ERC4626 *ERC4626TransactorSession) Deposit0(_assets *big.Int, _receiver common.Address) (*types.Transaction, error) {
+ return _ERC4626.Contract.Deposit0(&_ERC4626.TransactOpts, _assets, _receiver)
+}
+
+// IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351.
+//
+// Solidity: function increaseAllowance(address _spender, uint256 _value) returns(bool)
+func (_ERC4626 *ERC4626Transactor) IncreaseAllowance(opts *bind.TransactOpts, _spender common.Address, _value *big.Int) (*types.Transaction, error) {
+ return _ERC4626.contract.Transact(opts, "increaseAllowance", _spender, _value)
+}
+
+// IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351.
+//
+// Solidity: function increaseAllowance(address _spender, uint256 _value) returns(bool)
+func (_ERC4626 *ERC4626Session) IncreaseAllowance(_spender common.Address, _value *big.Int) (*types.Transaction, error) {
+ return _ERC4626.Contract.IncreaseAllowance(&_ERC4626.TransactOpts, _spender, _value)
+}
+
+// IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351.
+//
+// Solidity: function increaseAllowance(address _spender, uint256 _value) returns(bool)
+func (_ERC4626 *ERC4626TransactorSession) IncreaseAllowance(_spender common.Address, _value *big.Int) (*types.Transaction, error) {
+ return _ERC4626.Contract.IncreaseAllowance(&_ERC4626.TransactOpts, _spender, _value)
+}
+
+// Mint is a paid mutator transaction binding the contract method 0xa0712d68.
+//
+// Solidity: function mint(uint256 _shares) returns(uint256)
+func (_ERC4626 *ERC4626Transactor) Mint(opts *bind.TransactOpts, _shares *big.Int) (*types.Transaction, error) {
+ return _ERC4626.contract.Transact(opts, "mint", _shares)
+}
+
+// Mint is a paid mutator transaction binding the contract method 0xa0712d68.
+//
+// Solidity: function mint(uint256 _shares) returns(uint256)
+func (_ERC4626 *ERC4626Session) Mint(_shares *big.Int) (*types.Transaction, error) {
+ return _ERC4626.Contract.Mint(&_ERC4626.TransactOpts, _shares)
+}
+
+// Mint is a paid mutator transaction binding the contract method 0xa0712d68.
+//
+// Solidity: function mint(uint256 _shares) returns(uint256)
+func (_ERC4626 *ERC4626TransactorSession) Mint(_shares *big.Int) (*types.Transaction, error) {
+ return _ERC4626.Contract.Mint(&_ERC4626.TransactOpts, _shares)
+}
+
+// Mint0 is a paid mutator transaction binding the contract method 0x94bf804d.
+//
+// Solidity: function mint(uint256 _shares, address _receiver) returns(uint256)
+func (_ERC4626 *ERC4626Transactor) Mint0(opts *bind.TransactOpts, _shares *big.Int, _receiver common.Address) (*types.Transaction, error) {
+ return _ERC4626.contract.Transact(opts, "mint0", _shares, _receiver)
+}
+
+// Mint0 is a paid mutator transaction binding the contract method 0x94bf804d.
+//
+// Solidity: function mint(uint256 _shares, address _receiver) returns(uint256)
+func (_ERC4626 *ERC4626Session) Mint0(_shares *big.Int, _receiver common.Address) (*types.Transaction, error) {
+ return _ERC4626.Contract.Mint0(&_ERC4626.TransactOpts, _shares, _receiver)
+}
+
+// Mint0 is a paid mutator transaction binding the contract method 0x94bf804d.
+//
+// Solidity: function mint(uint256 _shares, address _receiver) returns(uint256)
+func (_ERC4626 *ERC4626TransactorSession) Mint0(_shares *big.Int, _receiver common.Address) (*types.Transaction, error) {
+ return _ERC4626.Contract.Mint0(&_ERC4626.TransactOpts, _shares, _receiver)
+}
+
+// Redeem is a paid mutator transaction binding the contract method 0xdb006a75.
+//
+// Solidity: function redeem(uint256 _shares) returns(uint256)
+func (_ERC4626 *ERC4626Transactor) Redeem(opts *bind.TransactOpts, _shares *big.Int) (*types.Transaction, error) {
+ return _ERC4626.contract.Transact(opts, "redeem", _shares)
+}
+
+// Redeem is a paid mutator transaction binding the contract method 0xdb006a75.
+//
+// Solidity: function redeem(uint256 _shares) returns(uint256)
+func (_ERC4626 *ERC4626Session) Redeem(_shares *big.Int) (*types.Transaction, error) {
+ return _ERC4626.Contract.Redeem(&_ERC4626.TransactOpts, _shares)
+}
+
+// Redeem is a paid mutator transaction binding the contract method 0xdb006a75.
+//
+// Solidity: function redeem(uint256 _shares) returns(uint256)
+func (_ERC4626 *ERC4626TransactorSession) Redeem(_shares *big.Int) (*types.Transaction, error) {
+ return _ERC4626.Contract.Redeem(&_ERC4626.TransactOpts, _shares)
+}
+
+// Redeem0 is a paid mutator transaction binding the contract method 0x7bde82f2.
+//
+// Solidity: function redeem(uint256 _shares, address _receiver) returns(uint256)
+func (_ERC4626 *ERC4626Transactor) Redeem0(opts *bind.TransactOpts, _shares *big.Int, _receiver common.Address) (*types.Transaction, error) {
+ return _ERC4626.contract.Transact(opts, "redeem0", _shares, _receiver)
+}
+
+// Redeem0 is a paid mutator transaction binding the contract method 0x7bde82f2.
+//
+// Solidity: function redeem(uint256 _shares, address _receiver) returns(uint256)
+func (_ERC4626 *ERC4626Session) Redeem0(_shares *big.Int, _receiver common.Address) (*types.Transaction, error) {
+ return _ERC4626.Contract.Redeem0(&_ERC4626.TransactOpts, _shares, _receiver)
+}
+
+// Redeem0 is a paid mutator transaction binding the contract method 0x7bde82f2.
+//
+// Solidity: function redeem(uint256 _shares, address _receiver) returns(uint256)
+func (_ERC4626 *ERC4626TransactorSession) Redeem0(_shares *big.Int, _receiver common.Address) (*types.Transaction, error) {
+ return _ERC4626.Contract.Redeem0(&_ERC4626.TransactOpts, _shares, _receiver)
+}
+
+// Redeem1 is a paid mutator transaction binding the contract method 0xba087652.
+//
+// Solidity: function redeem(uint256 _shares, address _receiver, address _owner) returns(uint256)
+func (_ERC4626 *ERC4626Transactor) Redeem1(opts *bind.TransactOpts, _shares *big.Int, _receiver common.Address, _owner common.Address) (*types.Transaction, error) {
+ return _ERC4626.contract.Transact(opts, "redeem1", _shares, _receiver, _owner)
+}
+
+// Redeem1 is a paid mutator transaction binding the contract method 0xba087652.
+//
+// Solidity: function redeem(uint256 _shares, address _receiver, address _owner) returns(uint256)
+func (_ERC4626 *ERC4626Session) Redeem1(_shares *big.Int, _receiver common.Address, _owner common.Address) (*types.Transaction, error) {
+ return _ERC4626.Contract.Redeem1(&_ERC4626.TransactOpts, _shares, _receiver, _owner)
+}
+
+// Redeem1 is a paid mutator transaction binding the contract method 0xba087652.
+//
+// Solidity: function redeem(uint256 _shares, address _receiver, address _owner) returns(uint256)
+func (_ERC4626 *ERC4626TransactorSession) Redeem1(_shares *big.Int, _receiver common.Address, _owner common.Address) (*types.Transaction, error) {
+ return _ERC4626.Contract.Redeem1(&_ERC4626.TransactOpts, _shares, _receiver, _owner)
+}
+
+// Rescue is a paid mutator transaction binding the contract method 0x4fdf5d1d.
+//
+// Solidity: function rescue(address _token, address _receiver) returns()
+func (_ERC4626 *ERC4626Transactor) Rescue(opts *bind.TransactOpts, _token common.Address, _receiver common.Address) (*types.Transaction, error) {
+ return _ERC4626.contract.Transact(opts, "rescue", _token, _receiver)
+}
+
+// Rescue is a paid mutator transaction binding the contract method 0x4fdf5d1d.
+//
+// Solidity: function rescue(address _token, address _receiver) returns()
+func (_ERC4626 *ERC4626Session) Rescue(_token common.Address, _receiver common.Address) (*types.Transaction, error) {
+ return _ERC4626.Contract.Rescue(&_ERC4626.TransactOpts, _token, _receiver)
+}
+
+// Rescue is a paid mutator transaction binding the contract method 0x4fdf5d1d.
+//
+// Solidity: function rescue(address _token, address _receiver) returns()
+func (_ERC4626 *ERC4626TransactorSession) Rescue(_token common.Address, _receiver common.Address) (*types.Transaction, error) {
+ return _ERC4626.Contract.Rescue(&_ERC4626.TransactOpts, _token, _receiver)
+}
+
+// SetHalfTime is a paid mutator transaction binding the contract method 0x1bf93f86.
+//
+// Solidity: function set_half_time(uint256 _half_time) returns()
+func (_ERC4626 *ERC4626Transactor) SetHalfTime(opts *bind.TransactOpts, _half_time *big.Int) (*types.Transaction, error) {
+ return _ERC4626.contract.Transact(opts, "set_half_time", _half_time)
+}
+
+// SetHalfTime is a paid mutator transaction binding the contract method 0x1bf93f86.
+//
+// Solidity: function set_half_time(uint256 _half_time) returns()
+func (_ERC4626 *ERC4626Session) SetHalfTime(_half_time *big.Int) (*types.Transaction, error) {
+ return _ERC4626.Contract.SetHalfTime(&_ERC4626.TransactOpts, _half_time)
+}
+
+// SetHalfTime is a paid mutator transaction binding the contract method 0x1bf93f86.
+//
+// Solidity: function set_half_time(uint256 _half_time) returns()
+func (_ERC4626 *ERC4626TransactorSession) SetHalfTime(_half_time *big.Int) (*types.Transaction, error) {
+ return _ERC4626.Contract.SetHalfTime(&_ERC4626.TransactOpts, _half_time)
+}
+
+// SetManagement is a paid mutator transaction binding the contract method 0xfd066ecc.
+//
+// Solidity: function set_management(address _management) returns()
+func (_ERC4626 *ERC4626Transactor) SetManagement(opts *bind.TransactOpts, _management common.Address) (*types.Transaction, error) {
+ return _ERC4626.contract.Transact(opts, "set_management", _management)
+}
+
+// SetManagement is a paid mutator transaction binding the contract method 0xfd066ecc.
+//
+// Solidity: function set_management(address _management) returns()
+func (_ERC4626 *ERC4626Session) SetManagement(_management common.Address) (*types.Transaction, error) {
+ return _ERC4626.Contract.SetManagement(&_ERC4626.TransactOpts, _management)
+}
+
+// SetManagement is a paid mutator transaction binding the contract method 0xfd066ecc.
+//
+// Solidity: function set_management(address _management) returns()
+func (_ERC4626 *ERC4626TransactorSession) SetManagement(_management common.Address) (*types.Transaction, error) {
+ return _ERC4626.Contract.SetManagement(&_ERC4626.TransactOpts, _management)
+}
+
+// SetPerformanceFeeRate is a paid mutator transaction binding the contract method 0x3047ce9d.
+//
+// Solidity: function set_performance_fee_rate(uint256 _fee_rate) returns()
+func (_ERC4626 *ERC4626Transactor) SetPerformanceFeeRate(opts *bind.TransactOpts, _fee_rate *big.Int) (*types.Transaction, error) {
+ return _ERC4626.contract.Transact(opts, "set_performance_fee_rate", _fee_rate)
+}
+
+// SetPerformanceFeeRate is a paid mutator transaction binding the contract method 0x3047ce9d.
+//
+// Solidity: function set_performance_fee_rate(uint256 _fee_rate) returns()
+func (_ERC4626 *ERC4626Session) SetPerformanceFeeRate(_fee_rate *big.Int) (*types.Transaction, error) {
+ return _ERC4626.Contract.SetPerformanceFeeRate(&_ERC4626.TransactOpts, _fee_rate)
+}
+
+// SetPerformanceFeeRate is a paid mutator transaction binding the contract method 0x3047ce9d.
+//
+// Solidity: function set_performance_fee_rate(uint256 _fee_rate) returns()
+func (_ERC4626 *ERC4626TransactorSession) SetPerformanceFeeRate(_fee_rate *big.Int) (*types.Transaction, error) {
+ return _ERC4626.Contract.SetPerformanceFeeRate(&_ERC4626.TransactOpts, _fee_rate)
+}
+
+// SetTreasury is a paid mutator transaction binding the contract method 0x30bcd67b.
+//
+// Solidity: function set_treasury(address _treasury) returns()
+func (_ERC4626 *ERC4626Transactor) SetTreasury(opts *bind.TransactOpts, _treasury common.Address) (*types.Transaction, error) {
+ return _ERC4626.contract.Transact(opts, "set_treasury", _treasury)
+}
+
+// SetTreasury is a paid mutator transaction binding the contract method 0x30bcd67b.
+//
+// Solidity: function set_treasury(address _treasury) returns()
+func (_ERC4626 *ERC4626Session) SetTreasury(_treasury common.Address) (*types.Transaction, error) {
+ return _ERC4626.Contract.SetTreasury(&_ERC4626.TransactOpts, _treasury)
+}
+
+// SetTreasury is a paid mutator transaction binding the contract method 0x30bcd67b.
+//
+// Solidity: function set_treasury(address _treasury) returns()
+func (_ERC4626 *ERC4626TransactorSession) SetTreasury(_treasury common.Address) (*types.Transaction, error) {
+ return _ERC4626.Contract.SetTreasury(&_ERC4626.TransactOpts, _treasury)
+}
+
+// Transfer is a paid mutator transaction binding the contract method 0xa9059cbb.
+//
+// Solidity: function transfer(address _to, uint256 _value) returns(bool)
+func (_ERC4626 *ERC4626Transactor) Transfer(opts *bind.TransactOpts, _to common.Address, _value *big.Int) (*types.Transaction, error) {
+ return _ERC4626.contract.Transact(opts, "transfer", _to, _value)
+}
+
+// Transfer is a paid mutator transaction binding the contract method 0xa9059cbb.
+//
+// Solidity: function transfer(address _to, uint256 _value) returns(bool)
+func (_ERC4626 *ERC4626Session) Transfer(_to common.Address, _value *big.Int) (*types.Transaction, error) {
+ return _ERC4626.Contract.Transfer(&_ERC4626.TransactOpts, _to, _value)
+}
+
+// Transfer is a paid mutator transaction binding the contract method 0xa9059cbb.
+//
+// Solidity: function transfer(address _to, uint256 _value) returns(bool)
+func (_ERC4626 *ERC4626TransactorSession) Transfer(_to common.Address, _value *big.Int) (*types.Transaction, error) {
+ return _ERC4626.Contract.Transfer(&_ERC4626.TransactOpts, _to, _value)
+}
+
+// TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
+//
+// Solidity: function transferFrom(address _from, address _to, uint256 _value) returns(bool)
+func (_ERC4626 *ERC4626Transactor) TransferFrom(opts *bind.TransactOpts, _from common.Address, _to common.Address, _value *big.Int) (*types.Transaction, error) {
+ return _ERC4626.contract.Transact(opts, "transferFrom", _from, _to, _value)
+}
+
+// TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
+//
+// Solidity: function transferFrom(address _from, address _to, uint256 _value) returns(bool)
+func (_ERC4626 *ERC4626Session) TransferFrom(_from common.Address, _to common.Address, _value *big.Int) (*types.Transaction, error) {
+ return _ERC4626.Contract.TransferFrom(&_ERC4626.TransactOpts, _from, _to, _value)
+}
+
+// TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
+//
+// Solidity: function transferFrom(address _from, address _to, uint256 _value) returns(bool)
+func (_ERC4626 *ERC4626TransactorSession) TransferFrom(_from common.Address, _to common.Address, _value *big.Int) (*types.Transaction, error) {
+ return _ERC4626.Contract.TransferFrom(&_ERC4626.TransactOpts, _from, _to, _value)
+}
+
+// UpdateAmounts is a paid mutator transaction binding the contract method 0x3ee352fc.
+//
+// Solidity: function update_amounts() returns(uint256, uint256, uint256)
+func (_ERC4626 *ERC4626Transactor) UpdateAmounts(opts *bind.TransactOpts) (*types.Transaction, error) {
+ return _ERC4626.contract.Transact(opts, "update_amounts")
+}
+
+// UpdateAmounts is a paid mutator transaction binding the contract method 0x3ee352fc.
+//
+// Solidity: function update_amounts() returns(uint256, uint256, uint256)
+func (_ERC4626 *ERC4626Session) UpdateAmounts() (*types.Transaction, error) {
+ return _ERC4626.Contract.UpdateAmounts(&_ERC4626.TransactOpts)
+}
+
+// UpdateAmounts is a paid mutator transaction binding the contract method 0x3ee352fc.
+//
+// Solidity: function update_amounts() returns(uint256, uint256, uint256)
+func (_ERC4626 *ERC4626TransactorSession) UpdateAmounts() (*types.Transaction, error) {
+ return _ERC4626.Contract.UpdateAmounts(&_ERC4626.TransactOpts)
+}
+
+// Withdraw is a paid mutator transaction binding the contract method 0x2e1a7d4d.
+//
+// Solidity: function withdraw(uint256 _assets) returns(uint256)
+func (_ERC4626 *ERC4626Transactor) Withdraw(opts *bind.TransactOpts, _assets *big.Int) (*types.Transaction, error) {
+ return _ERC4626.contract.Transact(opts, "withdraw", _assets)
+}
+
+// Withdraw is a paid mutator transaction binding the contract method 0x2e1a7d4d.
+//
+// Solidity: function withdraw(uint256 _assets) returns(uint256)
+func (_ERC4626 *ERC4626Session) Withdraw(_assets *big.Int) (*types.Transaction, error) {
+ return _ERC4626.Contract.Withdraw(&_ERC4626.TransactOpts, _assets)
+}
+
+// Withdraw is a paid mutator transaction binding the contract method 0x2e1a7d4d.
+//
+// Solidity: function withdraw(uint256 _assets) returns(uint256)
+func (_ERC4626 *ERC4626TransactorSession) Withdraw(_assets *big.Int) (*types.Transaction, error) {
+ return _ERC4626.Contract.Withdraw(&_ERC4626.TransactOpts, _assets)
+}
+
+// Withdraw0 is a paid mutator transaction binding the contract method 0x00f714ce.
+//
+// Solidity: function withdraw(uint256 _assets, address _receiver) returns(uint256)
+func (_ERC4626 *ERC4626Transactor) Withdraw0(opts *bind.TransactOpts, _assets *big.Int, _receiver common.Address) (*types.Transaction, error) {
+ return _ERC4626.contract.Transact(opts, "withdraw0", _assets, _receiver)
+}
+
+// Withdraw0 is a paid mutator transaction binding the contract method 0x00f714ce.
+//
+// Solidity: function withdraw(uint256 _assets, address _receiver) returns(uint256)
+func (_ERC4626 *ERC4626Session) Withdraw0(_assets *big.Int, _receiver common.Address) (*types.Transaction, error) {
+ return _ERC4626.Contract.Withdraw0(&_ERC4626.TransactOpts, _assets, _receiver)
+}
+
+// Withdraw0 is a paid mutator transaction binding the contract method 0x00f714ce.
+//
+// Solidity: function withdraw(uint256 _assets, address _receiver) returns(uint256)
+func (_ERC4626 *ERC4626TransactorSession) Withdraw0(_assets *big.Int, _receiver common.Address) (*types.Transaction, error) {
+ return _ERC4626.Contract.Withdraw0(&_ERC4626.TransactOpts, _assets, _receiver)
+}
+
+// Withdraw1 is a paid mutator transaction binding the contract method 0xb460af94.
+//
+// Solidity: function withdraw(uint256 _assets, address _receiver, address _owner) returns(uint256)
+func (_ERC4626 *ERC4626Transactor) Withdraw1(opts *bind.TransactOpts, _assets *big.Int, _receiver common.Address, _owner common.Address) (*types.Transaction, error) {
+ return _ERC4626.contract.Transact(opts, "withdraw1", _assets, _receiver, _owner)
+}
+
+// Withdraw1 is a paid mutator transaction binding the contract method 0xb460af94.
+//
+// Solidity: function withdraw(uint256 _assets, address _receiver, address _owner) returns(uint256)
+func (_ERC4626 *ERC4626Session) Withdraw1(_assets *big.Int, _receiver common.Address, _owner common.Address) (*types.Transaction, error) {
+ return _ERC4626.Contract.Withdraw1(&_ERC4626.TransactOpts, _assets, _receiver, _owner)
+}
+
+// Withdraw1 is a paid mutator transaction binding the contract method 0xb460af94.
+//
+// Solidity: function withdraw(uint256 _assets, address _receiver, address _owner) returns(uint256)
+func (_ERC4626 *ERC4626TransactorSession) Withdraw1(_assets *big.Int, _receiver common.Address, _owner common.Address) (*types.Transaction, error) {
+ return _ERC4626.Contract.Withdraw1(&_ERC4626.TransactOpts, _assets, _receiver, _owner)
+}
+
+// ERC4626ApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the ERC4626 contract.
+type ERC4626ApprovalIterator struct {
+ Event *ERC4626Approval // Event containing the contract specifics and raw log
+
+ contract *bind.BoundContract // Generic contract to use for unpacking event data
+ event string // Event name to use for unpacking event data
+
+ logs chan types.Log // Log channel receiving the found contract events
+ sub ethereum.Subscription // Subscription for errors, completion and termination
+ done bool // Whether the subscription completed delivering logs
+ fail error // Occurred error to stop iteration
+}
+
+// Next advances the iterator to the subsequent event, returning whether there
+// are any more events found. In case of a retrieval or parsing error, false is
+// returned and Error() can be queried for the exact failure.
+func (it *ERC4626ApprovalIterator) Next() bool {
+ // If the iterator failed, stop iterating
+ if it.fail != nil {
+ return false
+ }
+ // If the iterator completed, deliver directly whatever's available
+ if it.done {
+ select {
+ case log := <-it.logs:
+ it.Event = new(ERC4626Approval)
+ if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
+ it.fail = err
+ return false
+ }
+ it.Event.Raw = log
+ return true
+
+ default:
+ return false
+ }
+ }
+ // Iterator still in progress, wait for either a data or an error event
+ select {
+ case log := <-it.logs:
+ it.Event = new(ERC4626Approval)
+ if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
+ it.fail = err
+ return false
+ }
+ it.Event.Raw = log
+ return true
+
+ case err := <-it.sub.Err():
+ it.done = true
+ it.fail = err
+ return it.Next()
+ }
+}
+
+// Error returns any retrieval or parsing error occurred during filtering.
+func (it *ERC4626ApprovalIterator) Error() error {
+ return it.fail
+}
+
+// Close terminates the iteration process, releasing any pending underlying
+// resources.
+func (it *ERC4626ApprovalIterator) Close() error {
+ it.sub.Unsubscribe()
+ return nil
+}
+
+// ERC4626Approval represents a Approval event raised by the ERC4626 contract.
+type ERC4626Approval struct {
+ Owner common.Address
+ Spender common.Address
+ Value *big.Int
+ Raw types.Log // Blockchain specific contextual infos
+}
+
+// FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
+//
+// Solidity: event Approval(address indexed owner, address indexed spender, uint256 value)
+func (_ERC4626 *ERC4626Filterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, spender []common.Address) (*ERC4626ApprovalIterator, error) {
+
+ var ownerRule []interface{}
+ for _, ownerItem := range owner {
+ ownerRule = append(ownerRule, ownerItem)
+ }
+ var spenderRule []interface{}
+ for _, spenderItem := range spender {
+ spenderRule = append(spenderRule, spenderItem)
+ }
+
+ logs, sub, err := _ERC4626.contract.FilterLogs(opts, "Approval", ownerRule, spenderRule)
+ if err != nil {
+ return nil, err
+ }
+ return &ERC4626ApprovalIterator{contract: _ERC4626.contract, event: "Approval", logs: logs, sub: sub}, nil
+}
+
+// WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
+//
+// Solidity: event Approval(address indexed owner, address indexed spender, uint256 value)
+func (_ERC4626 *ERC4626Filterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC4626Approval, owner []common.Address, spender []common.Address) (event.Subscription, error) {
+
+ var ownerRule []interface{}
+ for _, ownerItem := range owner {
+ ownerRule = append(ownerRule, ownerItem)
+ }
+ var spenderRule []interface{}
+ for _, spenderItem := range spender {
+ spenderRule = append(spenderRule, spenderItem)
+ }
+
+ logs, sub, err := _ERC4626.contract.WatchLogs(opts, "Approval", ownerRule, spenderRule)
+ if err != nil {
+ return nil, err
+ }
+ return event.NewSubscription(func(quit <-chan struct{}) error {
+ defer sub.Unsubscribe()
+ for {
+ select {
+ case log := <-logs:
+ // New log arrived, parse the event and forward to the user
+ event := new(ERC4626Approval)
+ if err := _ERC4626.contract.UnpackLog(event, "Approval", log); err != nil {
+ return err
+ }
+ event.Raw = log
+
+ select {
+ case sink <- event:
+ case err := <-sub.Err():
+ return err
+ case <-quit:
+ return nil
+ }
+ case err := <-sub.Err():
+ return err
+ case <-quit:
+ return nil
+ }
+ }
+ }), nil
+}
+
+// ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
+//
+// Solidity: event Approval(address indexed owner, address indexed spender, uint256 value)
+func (_ERC4626 *ERC4626Filterer) ParseApproval(log types.Log) (*ERC4626Approval, error) {
+ event := new(ERC4626Approval)
+ if err := _ERC4626.contract.UnpackLog(event, "Approval", log); err != nil {
+ return nil, err
+ }
+ event.Raw = log
+ return event, nil
+}
+
+// ERC4626DepositIterator is returned from FilterDeposit and is used to iterate over the raw logs and unpacked data for Deposit events raised by the ERC4626 contract.
+type ERC4626DepositIterator struct {
+ Event *ERC4626Deposit // Event containing the contract specifics and raw log
+
+ contract *bind.BoundContract // Generic contract to use for unpacking event data
+ event string // Event name to use for unpacking event data
+
+ logs chan types.Log // Log channel receiving the found contract events
+ sub ethereum.Subscription // Subscription for errors, completion and termination
+ done bool // Whether the subscription completed delivering logs
+ fail error // Occurred error to stop iteration
+}
+
+// Next advances the iterator to the subsequent event, returning whether there
+// are any more events found. In case of a retrieval or parsing error, false is
+// returned and Error() can be queried for the exact failure.
+func (it *ERC4626DepositIterator) Next() bool {
+ // If the iterator failed, stop iterating
+ if it.fail != nil {
+ return false
+ }
+ // If the iterator completed, deliver directly whatever's available
+ if it.done {
+ select {
+ case log := <-it.logs:
+ it.Event = new(ERC4626Deposit)
+ if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
+ it.fail = err
+ return false
+ }
+ it.Event.Raw = log
+ return true
+
+ default:
+ return false
+ }
+ }
+ // Iterator still in progress, wait for either a data or an error event
+ select {
+ case log := <-it.logs:
+ it.Event = new(ERC4626Deposit)
+ if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
+ it.fail = err
+ return false
+ }
+ it.Event.Raw = log
+ return true
+
+ case err := <-it.sub.Err():
+ it.done = true
+ it.fail = err
+ return it.Next()
+ }
+}
+
+// Error returns any retrieval or parsing error occurred during filtering.
+func (it *ERC4626DepositIterator) Error() error {
+ return it.fail
+}
+
+// Close terminates the iteration process, releasing any pending underlying
+// resources.
+func (it *ERC4626DepositIterator) Close() error {
+ it.sub.Unsubscribe()
+ return nil
+}
+
+// ERC4626Deposit represents a Deposit event raised by the ERC4626 contract.
+type ERC4626Deposit struct {
+ Sender common.Address
+ Owner common.Address
+ Assets *big.Int
+ Shares *big.Int
+ Raw types.Log // Blockchain specific contextual infos
+}
+
+// FilterDeposit is a free log retrieval operation binding the contract event 0xdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d7.
+//
+// Solidity: event Deposit(address indexed sender, address indexed owner, uint256 assets, uint256 shares)
+func (_ERC4626 *ERC4626Filterer) FilterDeposit(opts *bind.FilterOpts, sender []common.Address, owner []common.Address) (*ERC4626DepositIterator, error) {
+
+ var senderRule []interface{}
+ for _, senderItem := range sender {
+ senderRule = append(senderRule, senderItem)
+ }
+ var ownerRule []interface{}
+ for _, ownerItem := range owner {
+ ownerRule = append(ownerRule, ownerItem)
+ }
+
+ logs, sub, err := _ERC4626.contract.FilterLogs(opts, "Deposit", senderRule, ownerRule)
+ if err != nil {
+ return nil, err
+ }
+ return &ERC4626DepositIterator{contract: _ERC4626.contract, event: "Deposit", logs: logs, sub: sub}, nil
+}
+
+// WatchDeposit is a free log subscription operation binding the contract event 0xdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d7.
+//
+// Solidity: event Deposit(address indexed sender, address indexed owner, uint256 assets, uint256 shares)
+func (_ERC4626 *ERC4626Filterer) WatchDeposit(opts *bind.WatchOpts, sink chan<- *ERC4626Deposit, sender []common.Address, owner []common.Address) (event.Subscription, error) {
+
+ var senderRule []interface{}
+ for _, senderItem := range sender {
+ senderRule = append(senderRule, senderItem)
+ }
+ var ownerRule []interface{}
+ for _, ownerItem := range owner {
+ ownerRule = append(ownerRule, ownerItem)
+ }
+
+ logs, sub, err := _ERC4626.contract.WatchLogs(opts, "Deposit", senderRule, ownerRule)
+ if err != nil {
+ return nil, err
+ }
+ return event.NewSubscription(func(quit <-chan struct{}) error {
+ defer sub.Unsubscribe()
+ for {
+ select {
+ case log := <-logs:
+ // New log arrived, parse the event and forward to the user
+ event := new(ERC4626Deposit)
+ if err := _ERC4626.contract.UnpackLog(event, "Deposit", log); err != nil {
+ return err
+ }
+ event.Raw = log
+
+ select {
+ case sink <- event:
+ case err := <-sub.Err():
+ return err
+ case <-quit:
+ return nil
+ }
+ case err := <-sub.Err():
+ return err
+ case <-quit:
+ return nil
+ }
+ }
+ }), nil
+}
+
+// ParseDeposit is a log parse operation binding the contract event 0xdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d7.
+//
+// Solidity: event Deposit(address indexed sender, address indexed owner, uint256 assets, uint256 shares)
+func (_ERC4626 *ERC4626Filterer) ParseDeposit(log types.Log) (*ERC4626Deposit, error) {
+ event := new(ERC4626Deposit)
+ if err := _ERC4626.contract.UnpackLog(event, "Deposit", log); err != nil {
+ return nil, err
+ }
+ event.Raw = log
+ return event, nil
+}
+
+// ERC4626PendingManagementIterator is returned from FilterPendingManagement and is used to iterate over the raw logs and unpacked data for PendingManagement events raised by the ERC4626 contract.
+type ERC4626PendingManagementIterator struct {
+ Event *ERC4626PendingManagement // Event containing the contract specifics and raw log
+
+ contract *bind.BoundContract // Generic contract to use for unpacking event data
+ event string // Event name to use for unpacking event data
+
+ logs chan types.Log // Log channel receiving the found contract events
+ sub ethereum.Subscription // Subscription for errors, completion and termination
+ done bool // Whether the subscription completed delivering logs
+ fail error // Occurred error to stop iteration
+}
+
+// Next advances the iterator to the subsequent event, returning whether there
+// are any more events found. In case of a retrieval or parsing error, false is
+// returned and Error() can be queried for the exact failure.
+func (it *ERC4626PendingManagementIterator) Next() bool {
+ // If the iterator failed, stop iterating
+ if it.fail != nil {
+ return false
+ }
+ // If the iterator completed, deliver directly whatever's available
+ if it.done {
+ select {
+ case log := <-it.logs:
+ it.Event = new(ERC4626PendingManagement)
+ if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
+ it.fail = err
+ return false
+ }
+ it.Event.Raw = log
+ return true
+
+ default:
+ return false
+ }
+ }
+ // Iterator still in progress, wait for either a data or an error event
+ select {
+ case log := <-it.logs:
+ it.Event = new(ERC4626PendingManagement)
+ if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
+ it.fail = err
+ return false
+ }
+ it.Event.Raw = log
+ return true
+
+ case err := <-it.sub.Err():
+ it.done = true
+ it.fail = err
+ return it.Next()
+ }
+}
+
+// Error returns any retrieval or parsing error occurred during filtering.
+func (it *ERC4626PendingManagementIterator) Error() error {
+ return it.fail
+}
+
+// Close terminates the iteration process, releasing any pending underlying
+// resources.
+func (it *ERC4626PendingManagementIterator) Close() error {
+ it.sub.Unsubscribe()
+ return nil
+}
+
+// ERC4626PendingManagement represents a PendingManagement event raised by the ERC4626 contract.
+type ERC4626PendingManagement struct {
+ Management common.Address
+ Raw types.Log // Blockchain specific contextual infos
+}
+
+// FilterPendingManagement is a free log retrieval operation binding the contract event 0xe7b5cc087e6e47e33e86bdfe4720b7e849891938b18ff6e0c3f92299de79e60c.
+//
+// Solidity: event PendingManagement(address indexed management)
+func (_ERC4626 *ERC4626Filterer) FilterPendingManagement(opts *bind.FilterOpts, management []common.Address) (*ERC4626PendingManagementIterator, error) {
+
+ var managementRule []interface{}
+ for _, managementItem := range management {
+ managementRule = append(managementRule, managementItem)
+ }
+
+ logs, sub, err := _ERC4626.contract.FilterLogs(opts, "PendingManagement", managementRule)
+ if err != nil {
+ return nil, err
+ }
+ return &ERC4626PendingManagementIterator{contract: _ERC4626.contract, event: "PendingManagement", logs: logs, sub: sub}, nil
+}
+
+// WatchPendingManagement is a free log subscription operation binding the contract event 0xe7b5cc087e6e47e33e86bdfe4720b7e849891938b18ff6e0c3f92299de79e60c.
+//
+// Solidity: event PendingManagement(address indexed management)
+func (_ERC4626 *ERC4626Filterer) WatchPendingManagement(opts *bind.WatchOpts, sink chan<- *ERC4626PendingManagement, management []common.Address) (event.Subscription, error) {
+
+ var managementRule []interface{}
+ for _, managementItem := range management {
+ managementRule = append(managementRule, managementItem)
+ }
+
+ logs, sub, err := _ERC4626.contract.WatchLogs(opts, "PendingManagement", managementRule)
+ if err != nil {
+ return nil, err
+ }
+ return event.NewSubscription(func(quit <-chan struct{}) error {
+ defer sub.Unsubscribe()
+ for {
+ select {
+ case log := <-logs:
+ // New log arrived, parse the event and forward to the user
+ event := new(ERC4626PendingManagement)
+ if err := _ERC4626.contract.UnpackLog(event, "PendingManagement", log); err != nil {
+ return err
+ }
+ event.Raw = log
+
+ select {
+ case sink <- event:
+ case err := <-sub.Err():
+ return err
+ case <-quit:
+ return nil
+ }
+ case err := <-sub.Err():
+ return err
+ case <-quit:
+ return nil
+ }
+ }
+ }), nil
+}
+
+// ParsePendingManagement is a log parse operation binding the contract event 0xe7b5cc087e6e47e33e86bdfe4720b7e849891938b18ff6e0c3f92299de79e60c.
+//
+// Solidity: event PendingManagement(address indexed management)
+func (_ERC4626 *ERC4626Filterer) ParsePendingManagement(log types.Log) (*ERC4626PendingManagement, error) {
+ event := new(ERC4626PendingManagement)
+ if err := _ERC4626.contract.UnpackLog(event, "PendingManagement", log); err != nil {
+ return nil, err
+ }
+ event.Raw = log
+ return event, nil
+}
+
+// ERC4626RewardsIterator is returned from FilterRewards and is used to iterate over the raw logs and unpacked data for Rewards events raised by the ERC4626 contract.
+type ERC4626RewardsIterator struct {
+ Event *ERC4626Rewards // Event containing the contract specifics and raw log
+
+ contract *bind.BoundContract // Generic contract to use for unpacking event data
+ event string // Event name to use for unpacking event data
+
+ logs chan types.Log // Log channel receiving the found contract events
+ sub ethereum.Subscription // Subscription for errors, completion and termination
+ done bool // Whether the subscription completed delivering logs
+ fail error // Occurred error to stop iteration
+}
+
+// Next advances the iterator to the subsequent event, returning whether there
+// are any more events found. In case of a retrieval or parsing error, false is
+// returned and Error() can be queried for the exact failure.
+func (it *ERC4626RewardsIterator) Next() bool {
+ // If the iterator failed, stop iterating
+ if it.fail != nil {
+ return false
+ }
+ // If the iterator completed, deliver directly whatever's available
+ if it.done {
+ select {
+ case log := <-it.logs:
+ it.Event = new(ERC4626Rewards)
+ if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
+ it.fail = err
+ return false
+ }
+ it.Event.Raw = log
+ return true
+
+ default:
+ return false
+ }
+ }
+ // Iterator still in progress, wait for either a data or an error event
+ select {
+ case log := <-it.logs:
+ it.Event = new(ERC4626Rewards)
+ if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
+ it.fail = err
+ return false
+ }
+ it.Event.Raw = log
+ return true
+
+ case err := <-it.sub.Err():
+ it.done = true
+ it.fail = err
+ return it.Next()
+ }
+}
+
+// Error returns any retrieval or parsing error occurred during filtering.
+func (it *ERC4626RewardsIterator) Error() error {
+ return it.fail
+}
+
+// Close terminates the iteration process, releasing any pending underlying
+// resources.
+func (it *ERC4626RewardsIterator) Close() error {
+ it.sub.Unsubscribe()
+ return nil
+}
+
+// ERC4626Rewards represents a Rewards event raised by the ERC4626 contract.
+type ERC4626Rewards struct {
+ Pending *big.Int
+ Streaming *big.Int
+ Unlocked *big.Int
+ Delta *big.Int
+ Raw types.Log // Blockchain specific contextual infos
+}
+
+// FilterRewards is a free log retrieval operation binding the contract event 0xabf5b9a9abf080b67be5bfa614a827845afc366da18173be4db7bf2761f2517e.
+//
+// Solidity: event Rewards(uint256 pending, uint256 streaming, uint256 unlocked, int256 delta)
+func (_ERC4626 *ERC4626Filterer) FilterRewards(opts *bind.FilterOpts) (*ERC4626RewardsIterator, error) {
+
+ logs, sub, err := _ERC4626.contract.FilterLogs(opts, "Rewards")
+ if err != nil {
+ return nil, err
+ }
+ return &ERC4626RewardsIterator{contract: _ERC4626.contract, event: "Rewards", logs: logs, sub: sub}, nil
+}
+
+// WatchRewards is a free log subscription operation binding the contract event 0xabf5b9a9abf080b67be5bfa614a827845afc366da18173be4db7bf2761f2517e.
+//
+// Solidity: event Rewards(uint256 pending, uint256 streaming, uint256 unlocked, int256 delta)
+func (_ERC4626 *ERC4626Filterer) WatchRewards(opts *bind.WatchOpts, sink chan<- *ERC4626Rewards) (event.Subscription, error) {
+
+ logs, sub, err := _ERC4626.contract.WatchLogs(opts, "Rewards")
+ if err != nil {
+ return nil, err
+ }
+ return event.NewSubscription(func(quit <-chan struct{}) error {
+ defer sub.Unsubscribe()
+ for {
+ select {
+ case log := <-logs:
+ // New log arrived, parse the event and forward to the user
+ event := new(ERC4626Rewards)
+ if err := _ERC4626.contract.UnpackLog(event, "Rewards", log); err != nil {
+ return err
+ }
+ event.Raw = log
+
+ select {
+ case sink <- event:
+ case err := <-sub.Err():
+ return err
+ case <-quit:
+ return nil
+ }
+ case err := <-sub.Err():
+ return err
+ case <-quit:
+ return nil
+ }
+ }
+ }), nil
+}
+
+// ParseRewards is a log parse operation binding the contract event 0xabf5b9a9abf080b67be5bfa614a827845afc366da18173be4db7bf2761f2517e.
+//
+// Solidity: event Rewards(uint256 pending, uint256 streaming, uint256 unlocked, int256 delta)
+func (_ERC4626 *ERC4626Filterer) ParseRewards(log types.Log) (*ERC4626Rewards, error) {
+ event := new(ERC4626Rewards)
+ if err := _ERC4626.contract.UnpackLog(event, "Rewards", log); err != nil {
+ return nil, err
+ }
+ event.Raw = log
+ return event, nil
+}
+
+// ERC4626SetFeeRateIterator is returned from FilterSetFeeRate and is used to iterate over the raw logs and unpacked data for SetFeeRate events raised by the ERC4626 contract.
+type ERC4626SetFeeRateIterator struct {
+ Event *ERC4626SetFeeRate // Event containing the contract specifics and raw log
+
+ contract *bind.BoundContract // Generic contract to use for unpacking event data
+ event string // Event name to use for unpacking event data
+
+ logs chan types.Log // Log channel receiving the found contract events
+ sub ethereum.Subscription // Subscription for errors, completion and termination
+ done bool // Whether the subscription completed delivering logs
+ fail error // Occurred error to stop iteration
+}
+
+// Next advances the iterator to the subsequent event, returning whether there
+// are any more events found. In case of a retrieval or parsing error, false is
+// returned and Error() can be queried for the exact failure.
+func (it *ERC4626SetFeeRateIterator) Next() bool {
+ // If the iterator failed, stop iterating
+ if it.fail != nil {
+ return false
+ }
+ // If the iterator completed, deliver directly whatever's available
+ if it.done {
+ select {
+ case log := <-it.logs:
+ it.Event = new(ERC4626SetFeeRate)
+ if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
+ it.fail = err
+ return false
+ }
+ it.Event.Raw = log
+ return true
+
+ default:
+ return false
+ }
+ }
+ // Iterator still in progress, wait for either a data or an error event
+ select {
+ case log := <-it.logs:
+ it.Event = new(ERC4626SetFeeRate)
+ if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
+ it.fail = err
+ return false
+ }
+ it.Event.Raw = log
+ return true
+
+ case err := <-it.sub.Err():
+ it.done = true
+ it.fail = err
+ return it.Next()
+ }
+}
+
+// Error returns any retrieval or parsing error occurred during filtering.
+func (it *ERC4626SetFeeRateIterator) Error() error {
+ return it.fail
+}
+
+// Close terminates the iteration process, releasing any pending underlying
+// resources.
+func (it *ERC4626SetFeeRateIterator) Close() error {
+ it.sub.Unsubscribe()
+ return nil
+}
+
+// ERC4626SetFeeRate represents a SetFeeRate event raised by the ERC4626 contract.
+type ERC4626SetFeeRate struct {
+ FeeRate *big.Int
+ Raw types.Log // Blockchain specific contextual infos
+}
+
+// FilterSetFeeRate is a free log retrieval operation binding the contract event 0x6717373928cccf59cc9912055cfa8db86e7085b95c94c15862b121114aa333be.
+//
+// Solidity: event SetFeeRate(uint256 fee_rate)
+func (_ERC4626 *ERC4626Filterer) FilterSetFeeRate(opts *bind.FilterOpts) (*ERC4626SetFeeRateIterator, error) {
+
+ logs, sub, err := _ERC4626.contract.FilterLogs(opts, "SetFeeRate")
+ if err != nil {
+ return nil, err
+ }
+ return &ERC4626SetFeeRateIterator{contract: _ERC4626.contract, event: "SetFeeRate", logs: logs, sub: sub}, nil
+}
+
+// WatchSetFeeRate is a free log subscription operation binding the contract event 0x6717373928cccf59cc9912055cfa8db86e7085b95c94c15862b121114aa333be.
+//
+// Solidity: event SetFeeRate(uint256 fee_rate)
+func (_ERC4626 *ERC4626Filterer) WatchSetFeeRate(opts *bind.WatchOpts, sink chan<- *ERC4626SetFeeRate) (event.Subscription, error) {
+
+ logs, sub, err := _ERC4626.contract.WatchLogs(opts, "SetFeeRate")
+ if err != nil {
+ return nil, err
+ }
+ return event.NewSubscription(func(quit <-chan struct{}) error {
+ defer sub.Unsubscribe()
+ for {
+ select {
+ case log := <-logs:
+ // New log arrived, parse the event and forward to the user
+ event := new(ERC4626SetFeeRate)
+ if err := _ERC4626.contract.UnpackLog(event, "SetFeeRate", log); err != nil {
+ return err
+ }
+ event.Raw = log
+
+ select {
+ case sink <- event:
+ case err := <-sub.Err():
+ return err
+ case <-quit:
+ return nil
+ }
+ case err := <-sub.Err():
+ return err
+ case <-quit:
+ return nil
+ }
+ }
+ }), nil
+}
+
+// ParseSetFeeRate is a log parse operation binding the contract event 0x6717373928cccf59cc9912055cfa8db86e7085b95c94c15862b121114aa333be.
+//
+// Solidity: event SetFeeRate(uint256 fee_rate)
+func (_ERC4626 *ERC4626Filterer) ParseSetFeeRate(log types.Log) (*ERC4626SetFeeRate, error) {
+ event := new(ERC4626SetFeeRate)
+ if err := _ERC4626.contract.UnpackLog(event, "SetFeeRate", log); err != nil {
+ return nil, err
+ }
+ event.Raw = log
+ return event, nil
+}
+
+// ERC4626SetHalfTimeIterator is returned from FilterSetHalfTime and is used to iterate over the raw logs and unpacked data for SetHalfTime events raised by the ERC4626 contract.
+type ERC4626SetHalfTimeIterator struct {
+ Event *ERC4626SetHalfTime // Event containing the contract specifics and raw log
+
+ contract *bind.BoundContract // Generic contract to use for unpacking event data
+ event string // Event name to use for unpacking event data
+
+ logs chan types.Log // Log channel receiving the found contract events
+ sub ethereum.Subscription // Subscription for errors, completion and termination
+ done bool // Whether the subscription completed delivering logs
+ fail error // Occurred error to stop iteration
+}
+
+// Next advances the iterator to the subsequent event, returning whether there
+// are any more events found. In case of a retrieval or parsing error, false is
+// returned and Error() can be queried for the exact failure.
+func (it *ERC4626SetHalfTimeIterator) Next() bool {
+ // If the iterator failed, stop iterating
+ if it.fail != nil {
+ return false
+ }
+ // If the iterator completed, deliver directly whatever's available
+ if it.done {
+ select {
+ case log := <-it.logs:
+ it.Event = new(ERC4626SetHalfTime)
+ if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
+ it.fail = err
+ return false
+ }
+ it.Event.Raw = log
+ return true
+
+ default:
+ return false
+ }
+ }
+ // Iterator still in progress, wait for either a data or an error event
+ select {
+ case log := <-it.logs:
+ it.Event = new(ERC4626SetHalfTime)
+ if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
+ it.fail = err
+ return false
+ }
+ it.Event.Raw = log
+ return true
+
+ case err := <-it.sub.Err():
+ it.done = true
+ it.fail = err
+ return it.Next()
+ }
+}
+
+// Error returns any retrieval or parsing error occurred during filtering.
+func (it *ERC4626SetHalfTimeIterator) Error() error {
+ return it.fail
+}
+
+// Close terminates the iteration process, releasing any pending underlying
+// resources.
+func (it *ERC4626SetHalfTimeIterator) Close() error {
+ it.sub.Unsubscribe()
+ return nil
+}
+
+// ERC4626SetHalfTime represents a SetHalfTime event raised by the ERC4626 contract.
+type ERC4626SetHalfTime struct {
+ HalfTime *big.Int
+ Raw types.Log // Blockchain specific contextual infos
+}
+
+// FilterSetHalfTime is a free log retrieval operation binding the contract event 0xa1eced997ca08ff4a574f4f14ce5dfcb37e8bde7f90a609f48f0c86edf1224ee.
+//
+// Solidity: event SetHalfTime(uint256 half_time)
+func (_ERC4626 *ERC4626Filterer) FilterSetHalfTime(opts *bind.FilterOpts) (*ERC4626SetHalfTimeIterator, error) {
+
+ logs, sub, err := _ERC4626.contract.FilterLogs(opts, "SetHalfTime")
+ if err != nil {
+ return nil, err
+ }
+ return &ERC4626SetHalfTimeIterator{contract: _ERC4626.contract, event: "SetHalfTime", logs: logs, sub: sub}, nil
+}
+
+// WatchSetHalfTime is a free log subscription operation binding the contract event 0xa1eced997ca08ff4a574f4f14ce5dfcb37e8bde7f90a609f48f0c86edf1224ee.
+//
+// Solidity: event SetHalfTime(uint256 half_time)
+func (_ERC4626 *ERC4626Filterer) WatchSetHalfTime(opts *bind.WatchOpts, sink chan<- *ERC4626SetHalfTime) (event.Subscription, error) {
+
+ logs, sub, err := _ERC4626.contract.WatchLogs(opts, "SetHalfTime")
+ if err != nil {
+ return nil, err
+ }
+ return event.NewSubscription(func(quit <-chan struct{}) error {
+ defer sub.Unsubscribe()
+ for {
+ select {
+ case log := <-logs:
+ // New log arrived, parse the event and forward to the user
+ event := new(ERC4626SetHalfTime)
+ if err := _ERC4626.contract.UnpackLog(event, "SetHalfTime", log); err != nil {
+ return err
+ }
+ event.Raw = log
+
+ select {
+ case sink <- event:
+ case err := <-sub.Err():
+ return err
+ case <-quit:
+ return nil
+ }
+ case err := <-sub.Err():
+ return err
+ case <-quit:
+ return nil
+ }
+ }
+ }), nil
+}
+
+// ParseSetHalfTime is a log parse operation binding the contract event 0xa1eced997ca08ff4a574f4f14ce5dfcb37e8bde7f90a609f48f0c86edf1224ee.
+//
+// Solidity: event SetHalfTime(uint256 half_time)
+func (_ERC4626 *ERC4626Filterer) ParseSetHalfTime(log types.Log) (*ERC4626SetHalfTime, error) {
+ event := new(ERC4626SetHalfTime)
+ if err := _ERC4626.contract.UnpackLog(event, "SetHalfTime", log); err != nil {
+ return nil, err
+ }
+ event.Raw = log
+ return event, nil
+}
+
+// ERC4626SetManagementIterator is returned from FilterSetManagement and is used to iterate over the raw logs and unpacked data for SetManagement events raised by the ERC4626 contract.
+type ERC4626SetManagementIterator struct {
+ Event *ERC4626SetManagement // Event containing the contract specifics and raw log
+
+ contract *bind.BoundContract // Generic contract to use for unpacking event data
+ event string // Event name to use for unpacking event data
+
+ logs chan types.Log // Log channel receiving the found contract events
+ sub ethereum.Subscription // Subscription for errors, completion and termination
+ done bool // Whether the subscription completed delivering logs
+ fail error // Occurred error to stop iteration
+}
+
+// Next advances the iterator to the subsequent event, returning whether there
+// are any more events found. In case of a retrieval or parsing error, false is
+// returned and Error() can be queried for the exact failure.
+func (it *ERC4626SetManagementIterator) Next() bool {
+ // If the iterator failed, stop iterating
+ if it.fail != nil {
+ return false
+ }
+ // If the iterator completed, deliver directly whatever's available
+ if it.done {
+ select {
+ case log := <-it.logs:
+ it.Event = new(ERC4626SetManagement)
+ if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
+ it.fail = err
+ return false
+ }
+ it.Event.Raw = log
+ return true
+
+ default:
+ return false
+ }
+ }
+ // Iterator still in progress, wait for either a data or an error event
+ select {
+ case log := <-it.logs:
+ it.Event = new(ERC4626SetManagement)
+ if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
+ it.fail = err
+ return false
+ }
+ it.Event.Raw = log
+ return true
+
+ case err := <-it.sub.Err():
+ it.done = true
+ it.fail = err
+ return it.Next()
+ }
+}
+
+// Error returns any retrieval or parsing error occurred during filtering.
+func (it *ERC4626SetManagementIterator) Error() error {
+ return it.fail
+}
+
+// Close terminates the iteration process, releasing any pending underlying
+// resources.
+func (it *ERC4626SetManagementIterator) Close() error {
+ it.sub.Unsubscribe()
+ return nil
+}
+
+// ERC4626SetManagement represents a SetManagement event raised by the ERC4626 contract.
+type ERC4626SetManagement struct {
+ Management common.Address
+ Raw types.Log // Blockchain specific contextual infos
+}
+
+// FilterSetManagement is a free log retrieval operation binding the contract event 0xafe23f9e1f603b288748a507d5a993957e9f14313a5889d5a070851299939d59.
+//
+// Solidity: event SetManagement(address indexed management)
+func (_ERC4626 *ERC4626Filterer) FilterSetManagement(opts *bind.FilterOpts, management []common.Address) (*ERC4626SetManagementIterator, error) {
+
+ var managementRule []interface{}
+ for _, managementItem := range management {
+ managementRule = append(managementRule, managementItem)
+ }
+
+ logs, sub, err := _ERC4626.contract.FilterLogs(opts, "SetManagement", managementRule)
+ if err != nil {
+ return nil, err
+ }
+ return &ERC4626SetManagementIterator{contract: _ERC4626.contract, event: "SetManagement", logs: logs, sub: sub}, nil
+}
+
+// WatchSetManagement is a free log subscription operation binding the contract event 0xafe23f9e1f603b288748a507d5a993957e9f14313a5889d5a070851299939d59.
+//
+// Solidity: event SetManagement(address indexed management)
+func (_ERC4626 *ERC4626Filterer) WatchSetManagement(opts *bind.WatchOpts, sink chan<- *ERC4626SetManagement, management []common.Address) (event.Subscription, error) {
+
+ var managementRule []interface{}
+ for _, managementItem := range management {
+ managementRule = append(managementRule, managementItem)
+ }
+
+ logs, sub, err := _ERC4626.contract.WatchLogs(opts, "SetManagement", managementRule)
+ if err != nil {
+ return nil, err
+ }
+ return event.NewSubscription(func(quit <-chan struct{}) error {
+ defer sub.Unsubscribe()
+ for {
+ select {
+ case log := <-logs:
+ // New log arrived, parse the event and forward to the user
+ event := new(ERC4626SetManagement)
+ if err := _ERC4626.contract.UnpackLog(event, "SetManagement", log); err != nil {
+ return err
+ }
+ event.Raw = log
+
+ select {
+ case sink <- event:
+ case err := <-sub.Err():
+ return err
+ case <-quit:
+ return nil
+ }
+ case err := <-sub.Err():
+ return err
+ case <-quit:
+ return nil
+ }
+ }
+ }), nil
+}
+
+// ParseSetManagement is a log parse operation binding the contract event 0xafe23f9e1f603b288748a507d5a993957e9f14313a5889d5a070851299939d59.
+//
+// Solidity: event SetManagement(address indexed management)
+func (_ERC4626 *ERC4626Filterer) ParseSetManagement(log types.Log) (*ERC4626SetManagement, error) {
+ event := new(ERC4626SetManagement)
+ if err := _ERC4626.contract.UnpackLog(event, "SetManagement", log); err != nil {
+ return nil, err
+ }
+ event.Raw = log
+ return event, nil
+}
+
+// ERC4626SetTreasuryIterator is returned from FilterSetTreasury and is used to iterate over the raw logs and unpacked data for SetTreasury events raised by the ERC4626 contract.
+type ERC4626SetTreasuryIterator struct {
+ Event *ERC4626SetTreasury // Event containing the contract specifics and raw log
+
+ contract *bind.BoundContract // Generic contract to use for unpacking event data
+ event string // Event name to use for unpacking event data
+
+ logs chan types.Log // Log channel receiving the found contract events
+ sub ethereum.Subscription // Subscription for errors, completion and termination
+ done bool // Whether the subscription completed delivering logs
+ fail error // Occurred error to stop iteration
+}
+
+// Next advances the iterator to the subsequent event, returning whether there
+// are any more events found. In case of a retrieval or parsing error, false is
+// returned and Error() can be queried for the exact failure.
+func (it *ERC4626SetTreasuryIterator) Next() bool {
+ // If the iterator failed, stop iterating
+ if it.fail != nil {
+ return false
+ }
+ // If the iterator completed, deliver directly whatever's available
+ if it.done {
+ select {
+ case log := <-it.logs:
+ it.Event = new(ERC4626SetTreasury)
+ if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
+ it.fail = err
+ return false
+ }
+ it.Event.Raw = log
+ return true
+
+ default:
+ return false
+ }
+ }
+ // Iterator still in progress, wait for either a data or an error event
+ select {
+ case log := <-it.logs:
+ it.Event = new(ERC4626SetTreasury)
+ if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
+ it.fail = err
+ return false
+ }
+ it.Event.Raw = log
+ return true
+
+ case err := <-it.sub.Err():
+ it.done = true
+ it.fail = err
+ return it.Next()
+ }
+}
+
+// Error returns any retrieval or parsing error occurred during filtering.
+func (it *ERC4626SetTreasuryIterator) Error() error {
+ return it.fail
+}
+
+// Close terminates the iteration process, releasing any pending underlying
+// resources.
+func (it *ERC4626SetTreasuryIterator) Close() error {
+ it.sub.Unsubscribe()
+ return nil
+}
+
+// ERC4626SetTreasury represents a SetTreasury event raised by the ERC4626 contract.
+type ERC4626SetTreasury struct {
+ Treasury common.Address
+ Raw types.Log // Blockchain specific contextual infos
+}
+
+// FilterSetTreasury is a free log retrieval operation binding the contract event 0xcb7ef3e545f5cdb893f5c568ba710fe08f336375a2d9fd66e161033f8fc09ef3.
+//
+// Solidity: event SetTreasury(address indexed treasury)
+func (_ERC4626 *ERC4626Filterer) FilterSetTreasury(opts *bind.FilterOpts, treasury []common.Address) (*ERC4626SetTreasuryIterator, error) {
+
+ var treasuryRule []interface{}
+ for _, treasuryItem := range treasury {
+ treasuryRule = append(treasuryRule, treasuryItem)
+ }
+
+ logs, sub, err := _ERC4626.contract.FilterLogs(opts, "SetTreasury", treasuryRule)
+ if err != nil {
+ return nil, err
+ }
+ return &ERC4626SetTreasuryIterator{contract: _ERC4626.contract, event: "SetTreasury", logs: logs, sub: sub}, nil
+}
+
+// WatchSetTreasury is a free log subscription operation binding the contract event 0xcb7ef3e545f5cdb893f5c568ba710fe08f336375a2d9fd66e161033f8fc09ef3.
+//
+// Solidity: event SetTreasury(address indexed treasury)
+func (_ERC4626 *ERC4626Filterer) WatchSetTreasury(opts *bind.WatchOpts, sink chan<- *ERC4626SetTreasury, treasury []common.Address) (event.Subscription, error) {
+
+ var treasuryRule []interface{}
+ for _, treasuryItem := range treasury {
+ treasuryRule = append(treasuryRule, treasuryItem)
+ }
+
+ logs, sub, err := _ERC4626.contract.WatchLogs(opts, "SetTreasury", treasuryRule)
+ if err != nil {
+ return nil, err
+ }
+ return event.NewSubscription(func(quit <-chan struct{}) error {
+ defer sub.Unsubscribe()
+ for {
+ select {
+ case log := <-logs:
+ // New log arrived, parse the event and forward to the user
+ event := new(ERC4626SetTreasury)
+ if err := _ERC4626.contract.UnpackLog(event, "SetTreasury", log); err != nil {
+ return err
+ }
+ event.Raw = log
+
+ select {
+ case sink <- event:
+ case err := <-sub.Err():
+ return err
+ case <-quit:
+ return nil
+ }
+ case err := <-sub.Err():
+ return err
+ case <-quit:
+ return nil
+ }
+ }
+ }), nil
+}
+
+// ParseSetTreasury is a log parse operation binding the contract event 0xcb7ef3e545f5cdb893f5c568ba710fe08f336375a2d9fd66e161033f8fc09ef3.
+//
+// Solidity: event SetTreasury(address indexed treasury)
+func (_ERC4626 *ERC4626Filterer) ParseSetTreasury(log types.Log) (*ERC4626SetTreasury, error) {
+ event := new(ERC4626SetTreasury)
+ if err := _ERC4626.contract.UnpackLog(event, "SetTreasury", log); err != nil {
+ return nil, err
+ }
+ event.Raw = log
+ return event, nil
+}
+
+// ERC4626TransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the ERC4626 contract.
+type ERC4626TransferIterator struct {
+ Event *ERC4626Transfer // Event containing the contract specifics and raw log
+
+ contract *bind.BoundContract // Generic contract to use for unpacking event data
+ event string // Event name to use for unpacking event data
+
+ logs chan types.Log // Log channel receiving the found contract events
+ sub ethereum.Subscription // Subscription for errors, completion and termination
+ done bool // Whether the subscription completed delivering logs
+ fail error // Occurred error to stop iteration
+}
+
+// Next advances the iterator to the subsequent event, returning whether there
+// are any more events found. In case of a retrieval or parsing error, false is
+// returned and Error() can be queried for the exact failure.
+func (it *ERC4626TransferIterator) Next() bool {
+ // If the iterator failed, stop iterating
+ if it.fail != nil {
+ return false
+ }
+ // If the iterator completed, deliver directly whatever's available
+ if it.done {
+ select {
+ case log := <-it.logs:
+ it.Event = new(ERC4626Transfer)
+ if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
+ it.fail = err
+ return false
+ }
+ it.Event.Raw = log
+ return true
+
+ default:
+ return false
+ }
+ }
+ // Iterator still in progress, wait for either a data or an error event
+ select {
+ case log := <-it.logs:
+ it.Event = new(ERC4626Transfer)
+ if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
+ it.fail = err
+ return false
+ }
+ it.Event.Raw = log
+ return true
+
+ case err := <-it.sub.Err():
+ it.done = true
+ it.fail = err
+ return it.Next()
+ }
+}
+
+// Error returns any retrieval or parsing error occurred during filtering.
+func (it *ERC4626TransferIterator) Error() error {
+ return it.fail
+}
+
+// Close terminates the iteration process, releasing any pending underlying
+// resources.
+func (it *ERC4626TransferIterator) Close() error {
+ it.sub.Unsubscribe()
+ return nil
+}
+
+// ERC4626Transfer represents a Transfer event raised by the ERC4626 contract.
+type ERC4626Transfer struct {
+ Sender common.Address
+ Receiver common.Address
+ Value *big.Int
+ Raw types.Log // Blockchain specific contextual infos
+}
+
+// FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
+//
+// Solidity: event Transfer(address indexed sender, address indexed receiver, uint256 value)
+func (_ERC4626 *ERC4626Filterer) FilterTransfer(opts *bind.FilterOpts, sender []common.Address, receiver []common.Address) (*ERC4626TransferIterator, error) {
+
+ var senderRule []interface{}
+ for _, senderItem := range sender {
+ senderRule = append(senderRule, senderItem)
+ }
+ var receiverRule []interface{}
+ for _, receiverItem := range receiver {
+ receiverRule = append(receiverRule, receiverItem)
+ }
+
+ logs, sub, err := _ERC4626.contract.FilterLogs(opts, "Transfer", senderRule, receiverRule)
+ if err != nil {
+ return nil, err
+ }
+ return &ERC4626TransferIterator{contract: _ERC4626.contract, event: "Transfer", logs: logs, sub: sub}, nil
+}
+
+// WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
+//
+// Solidity: event Transfer(address indexed sender, address indexed receiver, uint256 value)
+func (_ERC4626 *ERC4626Filterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC4626Transfer, sender []common.Address, receiver []common.Address) (event.Subscription, error) {
+
+ var senderRule []interface{}
+ for _, senderItem := range sender {
+ senderRule = append(senderRule, senderItem)
+ }
+ var receiverRule []interface{}
+ for _, receiverItem := range receiver {
+ receiverRule = append(receiverRule, receiverItem)
+ }
+
+ logs, sub, err := _ERC4626.contract.WatchLogs(opts, "Transfer", senderRule, receiverRule)
+ if err != nil {
+ return nil, err
+ }
+ return event.NewSubscription(func(quit <-chan struct{}) error {
+ defer sub.Unsubscribe()
+ for {
+ select {
+ case log := <-logs:
+ // New log arrived, parse the event and forward to the user
+ event := new(ERC4626Transfer)
+ if err := _ERC4626.contract.UnpackLog(event, "Transfer", log); err != nil {
+ return err
+ }
+ event.Raw = log
+
+ select {
+ case sink <- event:
+ case err := <-sub.Err():
+ return err
+ case <-quit:
+ return nil
+ }
+ case err := <-sub.Err():
+ return err
+ case <-quit:
+ return nil
+ }
+ }
+ }), nil
+}
+
+// ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
+//
+// Solidity: event Transfer(address indexed sender, address indexed receiver, uint256 value)
+func (_ERC4626 *ERC4626Filterer) ParseTransfer(log types.Log) (*ERC4626Transfer, error) {
+ event := new(ERC4626Transfer)
+ if err := _ERC4626.contract.UnpackLog(event, "Transfer", log); err != nil {
+ return nil, err
+ }
+ event.Raw = log
+ return event, nil
+}
+
+// ERC4626WithdrawIterator is returned from FilterWithdraw and is used to iterate over the raw logs and unpacked data for Withdraw events raised by the ERC4626 contract.
+type ERC4626WithdrawIterator struct {
+ Event *ERC4626Withdraw // Event containing the contract specifics and raw log
+
+ contract *bind.BoundContract // Generic contract to use for unpacking event data
+ event string // Event name to use for unpacking event data
+
+ logs chan types.Log // Log channel receiving the found contract events
+ sub ethereum.Subscription // Subscription for errors, completion and termination
+ done bool // Whether the subscription completed delivering logs
+ fail error // Occurred error to stop iteration
+}
+
+// Next advances the iterator to the subsequent event, returning whether there
+// are any more events found. In case of a retrieval or parsing error, false is
+// returned and Error() can be queried for the exact failure.
+func (it *ERC4626WithdrawIterator) Next() bool {
+ // If the iterator failed, stop iterating
+ if it.fail != nil {
+ return false
+ }
+ // If the iterator completed, deliver directly whatever's available
+ if it.done {
+ select {
+ case log := <-it.logs:
+ it.Event = new(ERC4626Withdraw)
+ if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
+ it.fail = err
+ return false
+ }
+ it.Event.Raw = log
+ return true
+
+ default:
+ return false
+ }
+ }
+ // Iterator still in progress, wait for either a data or an error event
+ select {
+ case log := <-it.logs:
+ it.Event = new(ERC4626Withdraw)
+ if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
+ it.fail = err
+ return false
+ }
+ it.Event.Raw = log
+ return true
+
+ case err := <-it.sub.Err():
+ it.done = true
+ it.fail = err
+ return it.Next()
+ }
+}
+
+// Error returns any retrieval or parsing error occurred during filtering.
+func (it *ERC4626WithdrawIterator) Error() error {
+ return it.fail
+}
+
+// Close terminates the iteration process, releasing any pending underlying
+// resources.
+func (it *ERC4626WithdrawIterator) Close() error {
+ it.sub.Unsubscribe()
+ return nil
+}
+
+// ERC4626Withdraw represents a Withdraw event raised by the ERC4626 contract.
+type ERC4626Withdraw struct {
+ Sender common.Address
+ Receiver common.Address
+ Owner common.Address
+ Assets *big.Int
+ Shares *big.Int
+ Raw types.Log // Blockchain specific contextual infos
+}
+
+// FilterWithdraw is a free log retrieval operation binding the contract event 0xfbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db.
+//
+// Solidity: event Withdraw(address indexed sender, address indexed receiver, address indexed owner, uint256 assets, uint256 shares)
+func (_ERC4626 *ERC4626Filterer) FilterWithdraw(opts *bind.FilterOpts, sender []common.Address, receiver []common.Address, owner []common.Address) (*ERC4626WithdrawIterator, error) {
+
+ var senderRule []interface{}
+ for _, senderItem := range sender {
+ senderRule = append(senderRule, senderItem)
+ }
+ var receiverRule []interface{}
+ for _, receiverItem := range receiver {
+ receiverRule = append(receiverRule, receiverItem)
+ }
+ var ownerRule []interface{}
+ for _, ownerItem := range owner {
+ ownerRule = append(ownerRule, ownerItem)
+ }
+
+ logs, sub, err := _ERC4626.contract.FilterLogs(opts, "Withdraw", senderRule, receiverRule, ownerRule)
+ if err != nil {
+ return nil, err
+ }
+ return &ERC4626WithdrawIterator{contract: _ERC4626.contract, event: "Withdraw", logs: logs, sub: sub}, nil
+}
+
+// WatchWithdraw is a free log subscription operation binding the contract event 0xfbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db.
+//
+// Solidity: event Withdraw(address indexed sender, address indexed receiver, address indexed owner, uint256 assets, uint256 shares)
+func (_ERC4626 *ERC4626Filterer) WatchWithdraw(opts *bind.WatchOpts, sink chan<- *ERC4626Withdraw, sender []common.Address, receiver []common.Address, owner []common.Address) (event.Subscription, error) {
+
+ var senderRule []interface{}
+ for _, senderItem := range sender {
+ senderRule = append(senderRule, senderItem)
+ }
+ var receiverRule []interface{}
+ for _, receiverItem := range receiver {
+ receiverRule = append(receiverRule, receiverItem)
+ }
+ var ownerRule []interface{}
+ for _, ownerItem := range owner {
+ ownerRule = append(ownerRule, ownerItem)
+ }
+
+ logs, sub, err := _ERC4626.contract.WatchLogs(opts, "Withdraw", senderRule, receiverRule, ownerRule)
+ if err != nil {
+ return nil, err
+ }
+ return event.NewSubscription(func(quit <-chan struct{}) error {
+ defer sub.Unsubscribe()
+ for {
+ select {
+ case log := <-logs:
+ // New log arrived, parse the event and forward to the user
+ event := new(ERC4626Withdraw)
+ if err := _ERC4626.contract.UnpackLog(event, "Withdraw", log); err != nil {
+ return err
+ }
+ event.Raw = log
+
+ select {
+ case sink <- event:
+ case err := <-sub.Err():
+ return err
+ case <-quit:
+ return nil
+ }
+ case err := <-sub.Err():
+ return err
+ case <-quit:
+ return nil
+ }
+ }
+ }), nil
+}
+
+// ParseWithdraw is a log parse operation binding the contract event 0xfbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db.
+//
+// Solidity: event Withdraw(address indexed sender, address indexed receiver, address indexed owner, uint256 assets, uint256 shares)
+func (_ERC4626 *ERC4626Filterer) ParseWithdraw(log types.Log) (*ERC4626Withdraw, error) {
+ event := new(ERC4626Withdraw)
+ if err := _ERC4626.contract.UnpackLog(event, "Withdraw", log); err != nil {
+ return nil, err
+ }
+ event.Raw = log
+ return event, nil
+}
diff --git a/common/contracts/yVault.registry.v4.go b/common/contracts/yVault.registry.v4.go
new file mode 100644
index 000000000..9ec441a32
--- /dev/null
+++ b/common/contracts/yVault.registry.v4.go
@@ -0,0 +1,1617 @@
+// Code generated - DO NOT EDIT.
+// This file is a generated binding and any manual changes will be lost.
+
+package contracts
+
+import (
+ "errors"
+ "math/big"
+ "strings"
+
+ ethereum "github.com/ethereum/go-ethereum"
+ "github.com/ethereum/go-ethereum/accounts/abi"
+ "github.com/ethereum/go-ethereum/accounts/abi/bind"
+ "github.com/ethereum/go-ethereum/common"
+ "github.com/ethereum/go-ethereum/core/types"
+ "github.com/ethereum/go-ethereum/event"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var (
+ _ = errors.New
+ _ = big.NewInt
+ _ = strings.NewReader
+ _ = ethereum.NotFound
+ _ = bind.Bind
+ _ = common.Big1
+ _ = types.BloomLookup
+ _ = event.NewSubscription
+)
+
+// YRegistryV4MetaData contains all meta data concerning the YRegistryV4 contract.
+var YRegistryV4MetaData = &bind.MetaData{
+ ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_governance\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_releaseRegistry\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousGovernance\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newGovernance\",\"type\":\"address\"}],\"name\":\"GovernanceTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"releaseVersion\",\"type\":\"uint256\"}],\"name\":\"NewEndorsedStrategy\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vault\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"releaseVersion\",\"type\":\"uint256\"}],\"name\":\"NewEndorsedVault\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"releaseVersion\",\"type\":\"uint256\"}],\"name\":\"RemovedStrategy\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vault\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"releaseVersion\",\"type\":\"uint256\"}],\"name\":\"RemovedVault\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"assetIsUsed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"assets\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_releaseDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_deploymentTimestamp\",\"type\":\"uint256\"}],\"name\":\"endorseStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"endorseStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vault\",\"type\":\"address\"}],\"name\":\"endorseVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vault\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_releaseDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_deploymentTimestamp\",\"type\":\"uint256\"}],\"name\":\"endorseVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllEndorsedStrategies\",\"outputs\":[{\"internalType\":\"address[][]\",\"name\":\"allEndorsedStrategies\",\"type\":\"address[][]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllEndorsedVaults\",\"outputs\":[{\"internalType\":\"address[][]\",\"name\":\"allEndorsedVaults\",\"type\":\"address[][]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"getEndorsedStrategies\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"getEndorsedVaults\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"governance\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"info\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"releaseVersion\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deploymentTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tag\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_roleManager\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_profitMaxUnlockTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_releaseDelta\",\"type\":\"uint256\"}],\"name\":\"newEndorsedVault\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_vault\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"numAssets\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"numEndorsedStrategies\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"numEndorsedVaults\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"releaseRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"removeAsset\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"removeStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vault\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"removeVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vault\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_tag\",\"type\":\"string\"}],\"name\":\"tagVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newGovernance\",\"type\":\"address\"}],\"name\":\"transferGovernance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]",
+}
+
+// YRegistryV4ABI is the input ABI used to generate the binding from.
+// Deprecated: Use YRegistryV4MetaData.ABI instead.
+var YRegistryV4ABI = YRegistryV4MetaData.ABI
+
+// YRegistryV4 is an auto generated Go binding around an Ethereum contract.
+type YRegistryV4 struct {
+ YRegistryV4Caller // Read-only binding to the contract
+ YRegistryV4Transactor // Write-only binding to the contract
+ YRegistryV4Filterer // Log filterer for contract events
+}
+
+// YRegistryV4Caller is an auto generated read-only Go binding around an Ethereum contract.
+type YRegistryV4Caller struct {
+ contract *bind.BoundContract // Generic contract wrapper for the low level calls
+}
+
+// YRegistryV4Transactor is an auto generated write-only Go binding around an Ethereum contract.
+type YRegistryV4Transactor struct {
+ contract *bind.BoundContract // Generic contract wrapper for the low level calls
+}
+
+// YRegistryV4Filterer is an auto generated log filtering Go binding around an Ethereum contract events.
+type YRegistryV4Filterer struct {
+ contract *bind.BoundContract // Generic contract wrapper for the low level calls
+}
+
+// YRegistryV4Session is an auto generated Go binding around an Ethereum contract,
+// with pre-set call and transact options.
+type YRegistryV4Session struct {
+ Contract *YRegistryV4 // Generic contract binding to set the session for
+ CallOpts bind.CallOpts // Call options to use throughout this session
+ TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
+}
+
+// YRegistryV4CallerSession is an auto generated read-only Go binding around an Ethereum contract,
+// with pre-set call options.
+type YRegistryV4CallerSession struct {
+ Contract *YRegistryV4Caller // Generic contract caller binding to set the session for
+ CallOpts bind.CallOpts // Call options to use throughout this session
+}
+
+// YRegistryV4TransactorSession is an auto generated write-only Go binding around an Ethereum contract,
+// with pre-set transact options.
+type YRegistryV4TransactorSession struct {
+ Contract *YRegistryV4Transactor // Generic contract transactor binding to set the session for
+ TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
+}
+
+// YRegistryV4Raw is an auto generated low-level Go binding around an Ethereum contract.
+type YRegistryV4Raw struct {
+ Contract *YRegistryV4 // Generic contract binding to access the raw methods on
+}
+
+// YRegistryV4CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
+type YRegistryV4CallerRaw struct {
+ Contract *YRegistryV4Caller // Generic read-only contract binding to access the raw methods on
+}
+
+// YRegistryV4TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
+type YRegistryV4TransactorRaw struct {
+ Contract *YRegistryV4Transactor // Generic write-only contract binding to access the raw methods on
+}
+
+// NewYRegistryV4 creates a new instance of YRegistryV4, bound to a specific deployed contract.
+func NewYRegistryV4(address common.Address, backend bind.ContractBackend) (*YRegistryV4, error) {
+ contract, err := bindYRegistryV4(address, backend, backend, backend)
+ if err != nil {
+ return nil, err
+ }
+ return &YRegistryV4{YRegistryV4Caller: YRegistryV4Caller{contract: contract}, YRegistryV4Transactor: YRegistryV4Transactor{contract: contract}, YRegistryV4Filterer: YRegistryV4Filterer{contract: contract}}, nil
+}
+
+// NewYRegistryV4Caller creates a new read-only instance of YRegistryV4, bound to a specific deployed contract.
+func NewYRegistryV4Caller(address common.Address, caller bind.ContractCaller) (*YRegistryV4Caller, error) {
+ contract, err := bindYRegistryV4(address, caller, nil, nil)
+ if err != nil {
+ return nil, err
+ }
+ return &YRegistryV4Caller{contract: contract}, nil
+}
+
+// NewYRegistryV4Transactor creates a new write-only instance of YRegistryV4, bound to a specific deployed contract.
+func NewYRegistryV4Transactor(address common.Address, transactor bind.ContractTransactor) (*YRegistryV4Transactor, error) {
+ contract, err := bindYRegistryV4(address, nil, transactor, nil)
+ if err != nil {
+ return nil, err
+ }
+ return &YRegistryV4Transactor{contract: contract}, nil
+}
+
+// NewYRegistryV4Filterer creates a new log filterer instance of YRegistryV4, bound to a specific deployed contract.
+func NewYRegistryV4Filterer(address common.Address, filterer bind.ContractFilterer) (*YRegistryV4Filterer, error) {
+ contract, err := bindYRegistryV4(address, nil, nil, filterer)
+ if err != nil {
+ return nil, err
+ }
+ return &YRegistryV4Filterer{contract: contract}, nil
+}
+
+// bindYRegistryV4 binds a generic wrapper to an already deployed contract.
+func bindYRegistryV4(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
+ parsed, err := abi.JSON(strings.NewReader(YRegistryV4ABI))
+ if err != nil {
+ return nil, err
+ }
+ return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
+}
+
+// Call invokes the (constant) contract method with params as input values and
+// sets the output to result. The result type might be a single field for simple
+// returns, a slice of interfaces for anonymous returns and a struct for named
+// returns.
+func (_YRegistryV4 *YRegistryV4Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
+ return _YRegistryV4.Contract.YRegistryV4Caller.contract.Call(opts, result, method, params...)
+}
+
+// Transfer initiates a plain transaction to move funds to the contract, calling
+// its default method if one is available.
+func (_YRegistryV4 *YRegistryV4Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
+ return _YRegistryV4.Contract.YRegistryV4Transactor.contract.Transfer(opts)
+}
+
+// Transact invokes the (paid) contract method with params as input values.
+func (_YRegistryV4 *YRegistryV4Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
+ return _YRegistryV4.Contract.YRegistryV4Transactor.contract.Transact(opts, method, params...)
+}
+
+// Call invokes the (constant) contract method with params as input values and
+// sets the output to result. The result type might be a single field for simple
+// returns, a slice of interfaces for anonymous returns and a struct for named
+// returns.
+func (_YRegistryV4 *YRegistryV4CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
+ return _YRegistryV4.Contract.contract.Call(opts, result, method, params...)
+}
+
+// Transfer initiates a plain transaction to move funds to the contract, calling
+// its default method if one is available.
+func (_YRegistryV4 *YRegistryV4TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
+ return _YRegistryV4.Contract.contract.Transfer(opts)
+}
+
+// Transact invokes the (paid) contract method with params as input values.
+func (_YRegistryV4 *YRegistryV4TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
+ return _YRegistryV4.Contract.contract.Transact(opts, method, params...)
+}
+
+// AssetIsUsed is a free data retrieval call binding the contract method 0xac01762a.
+//
+// Solidity: function assetIsUsed(address ) view returns(bool)
+func (_YRegistryV4 *YRegistryV4Caller) AssetIsUsed(opts *bind.CallOpts, arg0 common.Address) (bool, error) {
+ var out []interface{}
+ err := _YRegistryV4.contract.Call(opts, &out, "assetIsUsed", arg0)
+
+ if err != nil {
+ return *new(bool), err
+ }
+
+ out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
+
+ return out0, err
+
+}
+
+// AssetIsUsed is a free data retrieval call binding the contract method 0xac01762a.
+//
+// Solidity: function assetIsUsed(address ) view returns(bool)
+func (_YRegistryV4 *YRegistryV4Session) AssetIsUsed(arg0 common.Address) (bool, error) {
+ return _YRegistryV4.Contract.AssetIsUsed(&_YRegistryV4.CallOpts, arg0)
+}
+
+// AssetIsUsed is a free data retrieval call binding the contract method 0xac01762a.
+//
+// Solidity: function assetIsUsed(address ) view returns(bool)
+func (_YRegistryV4 *YRegistryV4CallerSession) AssetIsUsed(arg0 common.Address) (bool, error) {
+ return _YRegistryV4.Contract.AssetIsUsed(&_YRegistryV4.CallOpts, arg0)
+}
+
+// Assets is a free data retrieval call binding the contract method 0xcf35bdd0.
+//
+// Solidity: function assets(uint256 ) view returns(address)
+func (_YRegistryV4 *YRegistryV4Caller) Assets(opts *bind.CallOpts, arg0 *big.Int) (common.Address, error) {
+ var out []interface{}
+ err := _YRegistryV4.contract.Call(opts, &out, "assets", arg0)
+
+ if err != nil {
+ return *new(common.Address), err
+ }
+
+ out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
+
+ return out0, err
+
+}
+
+// Assets is a free data retrieval call binding the contract method 0xcf35bdd0.
+//
+// Solidity: function assets(uint256 ) view returns(address)
+func (_YRegistryV4 *YRegistryV4Session) Assets(arg0 *big.Int) (common.Address, error) {
+ return _YRegistryV4.Contract.Assets(&_YRegistryV4.CallOpts, arg0)
+}
+
+// Assets is a free data retrieval call binding the contract method 0xcf35bdd0.
+//
+// Solidity: function assets(uint256 ) view returns(address)
+func (_YRegistryV4 *YRegistryV4CallerSession) Assets(arg0 *big.Int) (common.Address, error) {
+ return _YRegistryV4.Contract.Assets(&_YRegistryV4.CallOpts, arg0)
+}
+
+// GetAllEndorsedStrategies is a free data retrieval call binding the contract method 0x06a70f3d.
+//
+// Solidity: function getAllEndorsedStrategies() view returns(address[][] allEndorsedStrategies)
+func (_YRegistryV4 *YRegistryV4Caller) GetAllEndorsedStrategies(opts *bind.CallOpts) ([][]common.Address, error) {
+ var out []interface{}
+ err := _YRegistryV4.contract.Call(opts, &out, "getAllEndorsedStrategies")
+
+ if err != nil {
+ return *new([][]common.Address), err
+ }
+
+ out0 := *abi.ConvertType(out[0], new([][]common.Address)).(*[][]common.Address)
+
+ return out0, err
+
+}
+
+// GetAllEndorsedStrategies is a free data retrieval call binding the contract method 0x06a70f3d.
+//
+// Solidity: function getAllEndorsedStrategies() view returns(address[][] allEndorsedStrategies)
+func (_YRegistryV4 *YRegistryV4Session) GetAllEndorsedStrategies() ([][]common.Address, error) {
+ return _YRegistryV4.Contract.GetAllEndorsedStrategies(&_YRegistryV4.CallOpts)
+}
+
+// GetAllEndorsedStrategies is a free data retrieval call binding the contract method 0x06a70f3d.
+//
+// Solidity: function getAllEndorsedStrategies() view returns(address[][] allEndorsedStrategies)
+func (_YRegistryV4 *YRegistryV4CallerSession) GetAllEndorsedStrategies() ([][]common.Address, error) {
+ return _YRegistryV4.Contract.GetAllEndorsedStrategies(&_YRegistryV4.CallOpts)
+}
+
+// GetAllEndorsedVaults is a free data retrieval call binding the contract method 0x70df8ba7.
+//
+// Solidity: function getAllEndorsedVaults() view returns(address[][] allEndorsedVaults)
+func (_YRegistryV4 *YRegistryV4Caller) GetAllEndorsedVaults(opts *bind.CallOpts) ([][]common.Address, error) {
+ var out []interface{}
+ err := _YRegistryV4.contract.Call(opts, &out, "getAllEndorsedVaults")
+
+ if err != nil {
+ return *new([][]common.Address), err
+ }
+
+ out0 := *abi.ConvertType(out[0], new([][]common.Address)).(*[][]common.Address)
+
+ return out0, err
+
+}
+
+// GetAllEndorsedVaults is a free data retrieval call binding the contract method 0x70df8ba7.
+//
+// Solidity: function getAllEndorsedVaults() view returns(address[][] allEndorsedVaults)
+func (_YRegistryV4 *YRegistryV4Session) GetAllEndorsedVaults() ([][]common.Address, error) {
+ return _YRegistryV4.Contract.GetAllEndorsedVaults(&_YRegistryV4.CallOpts)
+}
+
+// GetAllEndorsedVaults is a free data retrieval call binding the contract method 0x70df8ba7.
+//
+// Solidity: function getAllEndorsedVaults() view returns(address[][] allEndorsedVaults)
+func (_YRegistryV4 *YRegistryV4CallerSession) GetAllEndorsedVaults() ([][]common.Address, error) {
+ return _YRegistryV4.Contract.GetAllEndorsedVaults(&_YRegistryV4.CallOpts)
+}
+
+// GetAssets is a free data retrieval call binding the contract method 0x67e4ac2c.
+//
+// Solidity: function getAssets() view returns(address[])
+func (_YRegistryV4 *YRegistryV4Caller) GetAssets(opts *bind.CallOpts) ([]common.Address, error) {
+ var out []interface{}
+ err := _YRegistryV4.contract.Call(opts, &out, "getAssets")
+
+ if err != nil {
+ return *new([]common.Address), err
+ }
+
+ out0 := *abi.ConvertType(out[0], new([]common.Address)).(*[]common.Address)
+
+ return out0, err
+
+}
+
+// GetAssets is a free data retrieval call binding the contract method 0x67e4ac2c.
+//
+// Solidity: function getAssets() view returns(address[])
+func (_YRegistryV4 *YRegistryV4Session) GetAssets() ([]common.Address, error) {
+ return _YRegistryV4.Contract.GetAssets(&_YRegistryV4.CallOpts)
+}
+
+// GetAssets is a free data retrieval call binding the contract method 0x67e4ac2c.
+//
+// Solidity: function getAssets() view returns(address[])
+func (_YRegistryV4 *YRegistryV4CallerSession) GetAssets() ([]common.Address, error) {
+ return _YRegistryV4.Contract.GetAssets(&_YRegistryV4.CallOpts)
+}
+
+// GetEndorsedStrategies is a free data retrieval call binding the contract method 0x153a5b16.
+//
+// Solidity: function getEndorsedStrategies(address _asset) view returns(address[])
+func (_YRegistryV4 *YRegistryV4Caller) GetEndorsedStrategies(opts *bind.CallOpts, _asset common.Address) ([]common.Address, error) {
+ var out []interface{}
+ err := _YRegistryV4.contract.Call(opts, &out, "getEndorsedStrategies", _asset)
+
+ if err != nil {
+ return *new([]common.Address), err
+ }
+
+ out0 := *abi.ConvertType(out[0], new([]common.Address)).(*[]common.Address)
+
+ return out0, err
+
+}
+
+// GetEndorsedStrategies is a free data retrieval call binding the contract method 0x153a5b16.
+//
+// Solidity: function getEndorsedStrategies(address _asset) view returns(address[])
+func (_YRegistryV4 *YRegistryV4Session) GetEndorsedStrategies(_asset common.Address) ([]common.Address, error) {
+ return _YRegistryV4.Contract.GetEndorsedStrategies(&_YRegistryV4.CallOpts, _asset)
+}
+
+// GetEndorsedStrategies is a free data retrieval call binding the contract method 0x153a5b16.
+//
+// Solidity: function getEndorsedStrategies(address _asset) view returns(address[])
+func (_YRegistryV4 *YRegistryV4CallerSession) GetEndorsedStrategies(_asset common.Address) ([]common.Address, error) {
+ return _YRegistryV4.Contract.GetEndorsedStrategies(&_YRegistryV4.CallOpts, _asset)
+}
+
+// GetEndorsedVaults is a free data retrieval call binding the contract method 0x53d2e949.
+//
+// Solidity: function getEndorsedVaults(address _asset) view returns(address[])
+func (_YRegistryV4 *YRegistryV4Caller) GetEndorsedVaults(opts *bind.CallOpts, _asset common.Address) ([]common.Address, error) {
+ var out []interface{}
+ err := _YRegistryV4.contract.Call(opts, &out, "getEndorsedVaults", _asset)
+
+ if err != nil {
+ return *new([]common.Address), err
+ }
+
+ out0 := *abi.ConvertType(out[0], new([]common.Address)).(*[]common.Address)
+
+ return out0, err
+
+}
+
+// GetEndorsedVaults is a free data retrieval call binding the contract method 0x53d2e949.
+//
+// Solidity: function getEndorsedVaults(address _asset) view returns(address[])
+func (_YRegistryV4 *YRegistryV4Session) GetEndorsedVaults(_asset common.Address) ([]common.Address, error) {
+ return _YRegistryV4.Contract.GetEndorsedVaults(&_YRegistryV4.CallOpts, _asset)
+}
+
+// GetEndorsedVaults is a free data retrieval call binding the contract method 0x53d2e949.
+//
+// Solidity: function getEndorsedVaults(address _asset) view returns(address[])
+func (_YRegistryV4 *YRegistryV4CallerSession) GetEndorsedVaults(_asset common.Address) ([]common.Address, error) {
+ return _YRegistryV4.Contract.GetEndorsedVaults(&_YRegistryV4.CallOpts, _asset)
+}
+
+// Governance is a free data retrieval call binding the contract method 0x5aa6e675.
+//
+// Solidity: function governance() view returns(address)
+func (_YRegistryV4 *YRegistryV4Caller) Governance(opts *bind.CallOpts) (common.Address, error) {
+ var out []interface{}
+ err := _YRegistryV4.contract.Call(opts, &out, "governance")
+
+ if err != nil {
+ return *new(common.Address), err
+ }
+
+ out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
+
+ return out0, err
+
+}
+
+// Governance is a free data retrieval call binding the contract method 0x5aa6e675.
+//
+// Solidity: function governance() view returns(address)
+func (_YRegistryV4 *YRegistryV4Session) Governance() (common.Address, error) {
+ return _YRegistryV4.Contract.Governance(&_YRegistryV4.CallOpts)
+}
+
+// Governance is a free data retrieval call binding the contract method 0x5aa6e675.
+//
+// Solidity: function governance() view returns(address)
+func (_YRegistryV4 *YRegistryV4CallerSession) Governance() (common.Address, error) {
+ return _YRegistryV4.Contract.Governance(&_YRegistryV4.CallOpts)
+}
+
+// Info is a free data retrieval call binding the contract method 0x0aae7a6b.
+//
+// Solidity: function info(address ) view returns(address asset, uint256 releaseVersion, uint256 deploymentTimestamp, string tag)
+func (_YRegistryV4 *YRegistryV4Caller) Info(opts *bind.CallOpts, arg0 common.Address) (struct {
+ Asset common.Address
+ ReleaseVersion *big.Int
+ DeploymentTimestamp *big.Int
+ Tag string
+}, error) {
+ var out []interface{}
+ err := _YRegistryV4.contract.Call(opts, &out, "info", arg0)
+
+ outstruct := new(struct {
+ Asset common.Address
+ ReleaseVersion *big.Int
+ DeploymentTimestamp *big.Int
+ Tag string
+ })
+ if err != nil {
+ return *outstruct, err
+ }
+
+ outstruct.Asset = *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
+ outstruct.ReleaseVersion = *abi.ConvertType(out[1], new(*big.Int)).(**big.Int)
+ outstruct.DeploymentTimestamp = *abi.ConvertType(out[2], new(*big.Int)).(**big.Int)
+ outstruct.Tag = *abi.ConvertType(out[3], new(string)).(*string)
+
+ return *outstruct, err
+
+}
+
+// Info is a free data retrieval call binding the contract method 0x0aae7a6b.
+//
+// Solidity: function info(address ) view returns(address asset, uint256 releaseVersion, uint256 deploymentTimestamp, string tag)
+func (_YRegistryV4 *YRegistryV4Session) Info(arg0 common.Address) (struct {
+ Asset common.Address
+ ReleaseVersion *big.Int
+ DeploymentTimestamp *big.Int
+ Tag string
+}, error) {
+ return _YRegistryV4.Contract.Info(&_YRegistryV4.CallOpts, arg0)
+}
+
+// Info is a free data retrieval call binding the contract method 0x0aae7a6b.
+//
+// Solidity: function info(address ) view returns(address asset, uint256 releaseVersion, uint256 deploymentTimestamp, string tag)
+func (_YRegistryV4 *YRegistryV4CallerSession) Info(arg0 common.Address) (struct {
+ Asset common.Address
+ ReleaseVersion *big.Int
+ DeploymentTimestamp *big.Int
+ Tag string
+}, error) {
+ return _YRegistryV4.Contract.Info(&_YRegistryV4.CallOpts, arg0)
+}
+
+// Name is a free data retrieval call binding the contract method 0x06fdde03.
+//
+// Solidity: function name() view returns(string)
+func (_YRegistryV4 *YRegistryV4Caller) Name(opts *bind.CallOpts) (string, error) {
+ var out []interface{}
+ err := _YRegistryV4.contract.Call(opts, &out, "name")
+
+ if err != nil {
+ return *new(string), err
+ }
+
+ out0 := *abi.ConvertType(out[0], new(string)).(*string)
+
+ return out0, err
+
+}
+
+// Name is a free data retrieval call binding the contract method 0x06fdde03.
+//
+// Solidity: function name() view returns(string)
+func (_YRegistryV4 *YRegistryV4Session) Name() (string, error) {
+ return _YRegistryV4.Contract.Name(&_YRegistryV4.CallOpts)
+}
+
+// Name is a free data retrieval call binding the contract method 0x06fdde03.
+//
+// Solidity: function name() view returns(string)
+func (_YRegistryV4 *YRegistryV4CallerSession) Name() (string, error) {
+ return _YRegistryV4.Contract.Name(&_YRegistryV4.CallOpts)
+}
+
+// NumAssets is a free data retrieval call binding the contract method 0xa46fe83b.
+//
+// Solidity: function numAssets() view returns(uint256)
+func (_YRegistryV4 *YRegistryV4Caller) NumAssets(opts *bind.CallOpts) (*big.Int, error) {
+ var out []interface{}
+ err := _YRegistryV4.contract.Call(opts, &out, "numAssets")
+
+ if err != nil {
+ return *new(*big.Int), err
+ }
+
+ out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
+
+ return out0, err
+
+}
+
+// NumAssets is a free data retrieval call binding the contract method 0xa46fe83b.
+//
+// Solidity: function numAssets() view returns(uint256)
+func (_YRegistryV4 *YRegistryV4Session) NumAssets() (*big.Int, error) {
+ return _YRegistryV4.Contract.NumAssets(&_YRegistryV4.CallOpts)
+}
+
+// NumAssets is a free data retrieval call binding the contract method 0xa46fe83b.
+//
+// Solidity: function numAssets() view returns(uint256)
+func (_YRegistryV4 *YRegistryV4CallerSession) NumAssets() (*big.Int, error) {
+ return _YRegistryV4.Contract.NumAssets(&_YRegistryV4.CallOpts)
+}
+
+// NumEndorsedStrategies is a free data retrieval call binding the contract method 0x3e3c7b60.
+//
+// Solidity: function numEndorsedStrategies(address _asset) view returns(uint256)
+func (_YRegistryV4 *YRegistryV4Caller) NumEndorsedStrategies(opts *bind.CallOpts, _asset common.Address) (*big.Int, error) {
+ var out []interface{}
+ err := _YRegistryV4.contract.Call(opts, &out, "numEndorsedStrategies", _asset)
+
+ if err != nil {
+ return *new(*big.Int), err
+ }
+
+ out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
+
+ return out0, err
+
+}
+
+// NumEndorsedStrategies is a free data retrieval call binding the contract method 0x3e3c7b60.
+//
+// Solidity: function numEndorsedStrategies(address _asset) view returns(uint256)
+func (_YRegistryV4 *YRegistryV4Session) NumEndorsedStrategies(_asset common.Address) (*big.Int, error) {
+ return _YRegistryV4.Contract.NumEndorsedStrategies(&_YRegistryV4.CallOpts, _asset)
+}
+
+// NumEndorsedStrategies is a free data retrieval call binding the contract method 0x3e3c7b60.
+//
+// Solidity: function numEndorsedStrategies(address _asset) view returns(uint256)
+func (_YRegistryV4 *YRegistryV4CallerSession) NumEndorsedStrategies(_asset common.Address) (*big.Int, error) {
+ return _YRegistryV4.Contract.NumEndorsedStrategies(&_YRegistryV4.CallOpts, _asset)
+}
+
+// NumEndorsedVaults is a free data retrieval call binding the contract method 0xb2c6161c.
+//
+// Solidity: function numEndorsedVaults(address _asset) view returns(uint256)
+func (_YRegistryV4 *YRegistryV4Caller) NumEndorsedVaults(opts *bind.CallOpts, _asset common.Address) (*big.Int, error) {
+ var out []interface{}
+ err := _YRegistryV4.contract.Call(opts, &out, "numEndorsedVaults", _asset)
+
+ if err != nil {
+ return *new(*big.Int), err
+ }
+
+ out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
+
+ return out0, err
+
+}
+
+// NumEndorsedVaults is a free data retrieval call binding the contract method 0xb2c6161c.
+//
+// Solidity: function numEndorsedVaults(address _asset) view returns(uint256)
+func (_YRegistryV4 *YRegistryV4Session) NumEndorsedVaults(_asset common.Address) (*big.Int, error) {
+ return _YRegistryV4.Contract.NumEndorsedVaults(&_YRegistryV4.CallOpts, _asset)
+}
+
+// NumEndorsedVaults is a free data retrieval call binding the contract method 0xb2c6161c.
+//
+// Solidity: function numEndorsedVaults(address _asset) view returns(uint256)
+func (_YRegistryV4 *YRegistryV4CallerSession) NumEndorsedVaults(_asset common.Address) (*big.Int, error) {
+ return _YRegistryV4.Contract.NumEndorsedVaults(&_YRegistryV4.CallOpts, _asset)
+}
+
+// ReleaseRegistry is a free data retrieval call binding the contract method 0x19ee073e.
+//
+// Solidity: function releaseRegistry() view returns(address)
+func (_YRegistryV4 *YRegistryV4Caller) ReleaseRegistry(opts *bind.CallOpts) (common.Address, error) {
+ var out []interface{}
+ err := _YRegistryV4.contract.Call(opts, &out, "releaseRegistry")
+
+ if err != nil {
+ return *new(common.Address), err
+ }
+
+ out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
+
+ return out0, err
+
+}
+
+// ReleaseRegistry is a free data retrieval call binding the contract method 0x19ee073e.
+//
+// Solidity: function releaseRegistry() view returns(address)
+func (_YRegistryV4 *YRegistryV4Session) ReleaseRegistry() (common.Address, error) {
+ return _YRegistryV4.Contract.ReleaseRegistry(&_YRegistryV4.CallOpts)
+}
+
+// ReleaseRegistry is a free data retrieval call binding the contract method 0x19ee073e.
+//
+// Solidity: function releaseRegistry() view returns(address)
+func (_YRegistryV4 *YRegistryV4CallerSession) ReleaseRegistry() (common.Address, error) {
+ return _YRegistryV4.Contract.ReleaseRegistry(&_YRegistryV4.CallOpts)
+}
+
+// EndorseStrategy is a paid mutator transaction binding the contract method 0x0724b07b.
+//
+// Solidity: function endorseStrategy(address _strategy, uint256 _releaseDelta, uint256 _deploymentTimestamp) returns()
+func (_YRegistryV4 *YRegistryV4Transactor) EndorseStrategy(opts *bind.TransactOpts, _strategy common.Address, _releaseDelta *big.Int, _deploymentTimestamp *big.Int) (*types.Transaction, error) {
+ return _YRegistryV4.contract.Transact(opts, "endorseStrategy", _strategy, _releaseDelta, _deploymentTimestamp)
+}
+
+// EndorseStrategy is a paid mutator transaction binding the contract method 0x0724b07b.
+//
+// Solidity: function endorseStrategy(address _strategy, uint256 _releaseDelta, uint256 _deploymentTimestamp) returns()
+func (_YRegistryV4 *YRegistryV4Session) EndorseStrategy(_strategy common.Address, _releaseDelta *big.Int, _deploymentTimestamp *big.Int) (*types.Transaction, error) {
+ return _YRegistryV4.Contract.EndorseStrategy(&_YRegistryV4.TransactOpts, _strategy, _releaseDelta, _deploymentTimestamp)
+}
+
+// EndorseStrategy is a paid mutator transaction binding the contract method 0x0724b07b.
+//
+// Solidity: function endorseStrategy(address _strategy, uint256 _releaseDelta, uint256 _deploymentTimestamp) returns()
+func (_YRegistryV4 *YRegistryV4TransactorSession) EndorseStrategy(_strategy common.Address, _releaseDelta *big.Int, _deploymentTimestamp *big.Int) (*types.Transaction, error) {
+ return _YRegistryV4.Contract.EndorseStrategy(&_YRegistryV4.TransactOpts, _strategy, _releaseDelta, _deploymentTimestamp)
+}
+
+// EndorseStrategy0 is a paid mutator transaction binding the contract method 0x0a225ecf.
+//
+// Solidity: function endorseStrategy(address _strategy) returns()
+func (_YRegistryV4 *YRegistryV4Transactor) EndorseStrategy0(opts *bind.TransactOpts, _strategy common.Address) (*types.Transaction, error) {
+ return _YRegistryV4.contract.Transact(opts, "endorseStrategy0", _strategy)
+}
+
+// EndorseStrategy0 is a paid mutator transaction binding the contract method 0x0a225ecf.
+//
+// Solidity: function endorseStrategy(address _strategy) returns()
+func (_YRegistryV4 *YRegistryV4Session) EndorseStrategy0(_strategy common.Address) (*types.Transaction, error) {
+ return _YRegistryV4.Contract.EndorseStrategy0(&_YRegistryV4.TransactOpts, _strategy)
+}
+
+// EndorseStrategy0 is a paid mutator transaction binding the contract method 0x0a225ecf.
+//
+// Solidity: function endorseStrategy(address _strategy) returns()
+func (_YRegistryV4 *YRegistryV4TransactorSession) EndorseStrategy0(_strategy common.Address) (*types.Transaction, error) {
+ return _YRegistryV4.Contract.EndorseStrategy0(&_YRegistryV4.TransactOpts, _strategy)
+}
+
+// EndorseVault is a paid mutator transaction binding the contract method 0x29b2e0c6.
+//
+// Solidity: function endorseVault(address _vault) returns()
+func (_YRegistryV4 *YRegistryV4Transactor) EndorseVault(opts *bind.TransactOpts, _vault common.Address) (*types.Transaction, error) {
+ return _YRegistryV4.contract.Transact(opts, "endorseVault", _vault)
+}
+
+// EndorseVault is a paid mutator transaction binding the contract method 0x29b2e0c6.
+//
+// Solidity: function endorseVault(address _vault) returns()
+func (_YRegistryV4 *YRegistryV4Session) EndorseVault(_vault common.Address) (*types.Transaction, error) {
+ return _YRegistryV4.Contract.EndorseVault(&_YRegistryV4.TransactOpts, _vault)
+}
+
+// EndorseVault is a paid mutator transaction binding the contract method 0x29b2e0c6.
+//
+// Solidity: function endorseVault(address _vault) returns()
+func (_YRegistryV4 *YRegistryV4TransactorSession) EndorseVault(_vault common.Address) (*types.Transaction, error) {
+ return _YRegistryV4.Contract.EndorseVault(&_YRegistryV4.TransactOpts, _vault)
+}
+
+// EndorseVault0 is a paid mutator transaction binding the contract method 0x931074ba.
+//
+// Solidity: function endorseVault(address _vault, uint256 _releaseDelta, uint256 _deploymentTimestamp) returns()
+func (_YRegistryV4 *YRegistryV4Transactor) EndorseVault0(opts *bind.TransactOpts, _vault common.Address, _releaseDelta *big.Int, _deploymentTimestamp *big.Int) (*types.Transaction, error) {
+ return _YRegistryV4.contract.Transact(opts, "endorseVault0", _vault, _releaseDelta, _deploymentTimestamp)
+}
+
+// EndorseVault0 is a paid mutator transaction binding the contract method 0x931074ba.
+//
+// Solidity: function endorseVault(address _vault, uint256 _releaseDelta, uint256 _deploymentTimestamp) returns()
+func (_YRegistryV4 *YRegistryV4Session) EndorseVault0(_vault common.Address, _releaseDelta *big.Int, _deploymentTimestamp *big.Int) (*types.Transaction, error) {
+ return _YRegistryV4.Contract.EndorseVault0(&_YRegistryV4.TransactOpts, _vault, _releaseDelta, _deploymentTimestamp)
+}
+
+// EndorseVault0 is a paid mutator transaction binding the contract method 0x931074ba.
+//
+// Solidity: function endorseVault(address _vault, uint256 _releaseDelta, uint256 _deploymentTimestamp) returns()
+func (_YRegistryV4 *YRegistryV4TransactorSession) EndorseVault0(_vault common.Address, _releaseDelta *big.Int, _deploymentTimestamp *big.Int) (*types.Transaction, error) {
+ return _YRegistryV4.Contract.EndorseVault0(&_YRegistryV4.TransactOpts, _vault, _releaseDelta, _deploymentTimestamp)
+}
+
+// NewEndorsedVault is a paid mutator transaction binding the contract method 0x7be7b20b.
+//
+// Solidity: function newEndorsedVault(address _asset, string _name, string _symbol, address _roleManager, uint256 _profitMaxUnlockTime, uint256 _releaseDelta) returns(address _vault)
+func (_YRegistryV4 *YRegistryV4Transactor) NewEndorsedVault(opts *bind.TransactOpts, _asset common.Address, _name string, _symbol string, _roleManager common.Address, _profitMaxUnlockTime *big.Int, _releaseDelta *big.Int) (*types.Transaction, error) {
+ return _YRegistryV4.contract.Transact(opts, "newEndorsedVault", _asset, _name, _symbol, _roleManager, _profitMaxUnlockTime, _releaseDelta)
+}
+
+// NewEndorsedVault is a paid mutator transaction binding the contract method 0x7be7b20b.
+//
+// Solidity: function newEndorsedVault(address _asset, string _name, string _symbol, address _roleManager, uint256 _profitMaxUnlockTime, uint256 _releaseDelta) returns(address _vault)
+func (_YRegistryV4 *YRegistryV4Session) NewEndorsedVault(_asset common.Address, _name string, _symbol string, _roleManager common.Address, _profitMaxUnlockTime *big.Int, _releaseDelta *big.Int) (*types.Transaction, error) {
+ return _YRegistryV4.Contract.NewEndorsedVault(&_YRegistryV4.TransactOpts, _asset, _name, _symbol, _roleManager, _profitMaxUnlockTime, _releaseDelta)
+}
+
+// NewEndorsedVault is a paid mutator transaction binding the contract method 0x7be7b20b.
+//
+// Solidity: function newEndorsedVault(address _asset, string _name, string _symbol, address _roleManager, uint256 _profitMaxUnlockTime, uint256 _releaseDelta) returns(address _vault)
+func (_YRegistryV4 *YRegistryV4TransactorSession) NewEndorsedVault(_asset common.Address, _name string, _symbol string, _roleManager common.Address, _profitMaxUnlockTime *big.Int, _releaseDelta *big.Int) (*types.Transaction, error) {
+ return _YRegistryV4.Contract.NewEndorsedVault(&_YRegistryV4.TransactOpts, _asset, _name, _symbol, _roleManager, _profitMaxUnlockTime, _releaseDelta)
+}
+
+// RemoveAsset is a paid mutator transaction binding the contract method 0x2317ef67.
+//
+// Solidity: function removeAsset(address _asset, uint256 _index) returns()
+func (_YRegistryV4 *YRegistryV4Transactor) RemoveAsset(opts *bind.TransactOpts, _asset common.Address, _index *big.Int) (*types.Transaction, error) {
+ return _YRegistryV4.contract.Transact(opts, "removeAsset", _asset, _index)
+}
+
+// RemoveAsset is a paid mutator transaction binding the contract method 0x2317ef67.
+//
+// Solidity: function removeAsset(address _asset, uint256 _index) returns()
+func (_YRegistryV4 *YRegistryV4Session) RemoveAsset(_asset common.Address, _index *big.Int) (*types.Transaction, error) {
+ return _YRegistryV4.Contract.RemoveAsset(&_YRegistryV4.TransactOpts, _asset, _index)
+}
+
+// RemoveAsset is a paid mutator transaction binding the contract method 0x2317ef67.
+//
+// Solidity: function removeAsset(address _asset, uint256 _index) returns()
+func (_YRegistryV4 *YRegistryV4TransactorSession) RemoveAsset(_asset common.Address, _index *big.Int) (*types.Transaction, error) {
+ return _YRegistryV4.Contract.RemoveAsset(&_YRegistryV4.TransactOpts, _asset, _index)
+}
+
+// RemoveStrategy is a paid mutator transaction binding the contract method 0xea682eeb.
+//
+// Solidity: function removeStrategy(address _strategy, uint256 _index) returns()
+func (_YRegistryV4 *YRegistryV4Transactor) RemoveStrategy(opts *bind.TransactOpts, _strategy common.Address, _index *big.Int) (*types.Transaction, error) {
+ return _YRegistryV4.contract.Transact(opts, "removeStrategy", _strategy, _index)
+}
+
+// RemoveStrategy is a paid mutator transaction binding the contract method 0xea682eeb.
+//
+// Solidity: function removeStrategy(address _strategy, uint256 _index) returns()
+func (_YRegistryV4 *YRegistryV4Session) RemoveStrategy(_strategy common.Address, _index *big.Int) (*types.Transaction, error) {
+ return _YRegistryV4.Contract.RemoveStrategy(&_YRegistryV4.TransactOpts, _strategy, _index)
+}
+
+// RemoveStrategy is a paid mutator transaction binding the contract method 0xea682eeb.
+//
+// Solidity: function removeStrategy(address _strategy, uint256 _index) returns()
+func (_YRegistryV4 *YRegistryV4TransactorSession) RemoveStrategy(_strategy common.Address, _index *big.Int) (*types.Transaction, error) {
+ return _YRegistryV4.Contract.RemoveStrategy(&_YRegistryV4.TransactOpts, _strategy, _index)
+}
+
+// RemoveVault is a paid mutator transaction binding the contract method 0xb37c61cd.
+//
+// Solidity: function removeVault(address _vault, uint256 _index) returns()
+func (_YRegistryV4 *YRegistryV4Transactor) RemoveVault(opts *bind.TransactOpts, _vault common.Address, _index *big.Int) (*types.Transaction, error) {
+ return _YRegistryV4.contract.Transact(opts, "removeVault", _vault, _index)
+}
+
+// RemoveVault is a paid mutator transaction binding the contract method 0xb37c61cd.
+//
+// Solidity: function removeVault(address _vault, uint256 _index) returns()
+func (_YRegistryV4 *YRegistryV4Session) RemoveVault(_vault common.Address, _index *big.Int) (*types.Transaction, error) {
+ return _YRegistryV4.Contract.RemoveVault(&_YRegistryV4.TransactOpts, _vault, _index)
+}
+
+// RemoveVault is a paid mutator transaction binding the contract method 0xb37c61cd.
+//
+// Solidity: function removeVault(address _vault, uint256 _index) returns()
+func (_YRegistryV4 *YRegistryV4TransactorSession) RemoveVault(_vault common.Address, _index *big.Int) (*types.Transaction, error) {
+ return _YRegistryV4.Contract.RemoveVault(&_YRegistryV4.TransactOpts, _vault, _index)
+}
+
+// TagVault is a paid mutator transaction binding the contract method 0x60bd68f8.
+//
+// Solidity: function tagVault(address _vault, string _tag) returns()
+func (_YRegistryV4 *YRegistryV4Transactor) TagVault(opts *bind.TransactOpts, _vault common.Address, _tag string) (*types.Transaction, error) {
+ return _YRegistryV4.contract.Transact(opts, "tagVault", _vault, _tag)
+}
+
+// TagVault is a paid mutator transaction binding the contract method 0x60bd68f8.
+//
+// Solidity: function tagVault(address _vault, string _tag) returns()
+func (_YRegistryV4 *YRegistryV4Session) TagVault(_vault common.Address, _tag string) (*types.Transaction, error) {
+ return _YRegistryV4.Contract.TagVault(&_YRegistryV4.TransactOpts, _vault, _tag)
+}
+
+// TagVault is a paid mutator transaction binding the contract method 0x60bd68f8.
+//
+// Solidity: function tagVault(address _vault, string _tag) returns()
+func (_YRegistryV4 *YRegistryV4TransactorSession) TagVault(_vault common.Address, _tag string) (*types.Transaction, error) {
+ return _YRegistryV4.Contract.TagVault(&_YRegistryV4.TransactOpts, _vault, _tag)
+}
+
+// TransferGovernance is a paid mutator transaction binding the contract method 0xd38bfff4.
+//
+// Solidity: function transferGovernance(address _newGovernance) returns()
+func (_YRegistryV4 *YRegistryV4Transactor) TransferGovernance(opts *bind.TransactOpts, _newGovernance common.Address) (*types.Transaction, error) {
+ return _YRegistryV4.contract.Transact(opts, "transferGovernance", _newGovernance)
+}
+
+// TransferGovernance is a paid mutator transaction binding the contract method 0xd38bfff4.
+//
+// Solidity: function transferGovernance(address _newGovernance) returns()
+func (_YRegistryV4 *YRegistryV4Session) TransferGovernance(_newGovernance common.Address) (*types.Transaction, error) {
+ return _YRegistryV4.Contract.TransferGovernance(&_YRegistryV4.TransactOpts, _newGovernance)
+}
+
+// TransferGovernance is a paid mutator transaction binding the contract method 0xd38bfff4.
+//
+// Solidity: function transferGovernance(address _newGovernance) returns()
+func (_YRegistryV4 *YRegistryV4TransactorSession) TransferGovernance(_newGovernance common.Address) (*types.Transaction, error) {
+ return _YRegistryV4.Contract.TransferGovernance(&_YRegistryV4.TransactOpts, _newGovernance)
+}
+
+// YRegistryV4GovernanceTransferredIterator is returned from FilterGovernanceTransferred and is used to iterate over the raw logs and unpacked data for GovernanceTransferred events raised by the YRegistryV4 contract.
+type YRegistryV4GovernanceTransferredIterator struct {
+ Event *YRegistryV4GovernanceTransferred // Event containing the contract specifics and raw log
+
+ contract *bind.BoundContract // Generic contract to use for unpacking event data
+ event string // Event name to use for unpacking event data
+
+ logs chan types.Log // Log channel receiving the found contract events
+ sub ethereum.Subscription // Subscription for errors, completion and termination
+ done bool // Whether the subscription completed delivering logs
+ fail error // Occurred error to stop iteration
+}
+
+// Next advances the iterator to the subsequent event, returning whether there
+// are any more events found. In case of a retrieval or parsing error, false is
+// returned and Error() can be queried for the exact failure.
+func (it *YRegistryV4GovernanceTransferredIterator) Next() bool {
+ // If the iterator failed, stop iterating
+ if it.fail != nil {
+ return false
+ }
+ // If the iterator completed, deliver directly whatever's available
+ if it.done {
+ select {
+ case log := <-it.logs:
+ it.Event = new(YRegistryV4GovernanceTransferred)
+ if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
+ it.fail = err
+ return false
+ }
+ it.Event.Raw = log
+ return true
+
+ default:
+ return false
+ }
+ }
+ // Iterator still in progress, wait for either a data or an error event
+ select {
+ case log := <-it.logs:
+ it.Event = new(YRegistryV4GovernanceTransferred)
+ if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
+ it.fail = err
+ return false
+ }
+ it.Event.Raw = log
+ return true
+
+ case err := <-it.sub.Err():
+ it.done = true
+ it.fail = err
+ return it.Next()
+ }
+}
+
+// Error returns any retrieval or parsing error occurred during filtering.
+func (it *YRegistryV4GovernanceTransferredIterator) Error() error {
+ return it.fail
+}
+
+// Close terminates the iteration process, releasing any pending underlying
+// resources.
+func (it *YRegistryV4GovernanceTransferredIterator) Close() error {
+ it.sub.Unsubscribe()
+ return nil
+}
+
+// YRegistryV4GovernanceTransferred represents a GovernanceTransferred event raised by the YRegistryV4 contract.
+type YRegistryV4GovernanceTransferred struct {
+ PreviousGovernance common.Address
+ NewGovernance common.Address
+ Raw types.Log // Blockchain specific contextual infos
+}
+
+// FilterGovernanceTransferred is a free log retrieval operation binding the contract event 0x5f56bee8cffbe9a78652a74a60705edede02af10b0bbb888ca44b79a0d42ce80.
+//
+// Solidity: event GovernanceTransferred(address indexed previousGovernance, address indexed newGovernance)
+func (_YRegistryV4 *YRegistryV4Filterer) FilterGovernanceTransferred(opts *bind.FilterOpts, previousGovernance []common.Address, newGovernance []common.Address) (*YRegistryV4GovernanceTransferredIterator, error) {
+
+ var previousGovernanceRule []interface{}
+ for _, previousGovernanceItem := range previousGovernance {
+ previousGovernanceRule = append(previousGovernanceRule, previousGovernanceItem)
+ }
+ var newGovernanceRule []interface{}
+ for _, newGovernanceItem := range newGovernance {
+ newGovernanceRule = append(newGovernanceRule, newGovernanceItem)
+ }
+
+ logs, sub, err := _YRegistryV4.contract.FilterLogs(opts, "GovernanceTransferred", previousGovernanceRule, newGovernanceRule)
+ if err != nil {
+ return nil, err
+ }
+ return &YRegistryV4GovernanceTransferredIterator{contract: _YRegistryV4.contract, event: "GovernanceTransferred", logs: logs, sub: sub}, nil
+}
+
+// WatchGovernanceTransferred is a free log subscription operation binding the contract event 0x5f56bee8cffbe9a78652a74a60705edede02af10b0bbb888ca44b79a0d42ce80.
+//
+// Solidity: event GovernanceTransferred(address indexed previousGovernance, address indexed newGovernance)
+func (_YRegistryV4 *YRegistryV4Filterer) WatchGovernanceTransferred(opts *bind.WatchOpts, sink chan<- *YRegistryV4GovernanceTransferred, previousGovernance []common.Address, newGovernance []common.Address) (event.Subscription, error) {
+
+ var previousGovernanceRule []interface{}
+ for _, previousGovernanceItem := range previousGovernance {
+ previousGovernanceRule = append(previousGovernanceRule, previousGovernanceItem)
+ }
+ var newGovernanceRule []interface{}
+ for _, newGovernanceItem := range newGovernance {
+ newGovernanceRule = append(newGovernanceRule, newGovernanceItem)
+ }
+
+ logs, sub, err := _YRegistryV4.contract.WatchLogs(opts, "GovernanceTransferred", previousGovernanceRule, newGovernanceRule)
+ if err != nil {
+ return nil, err
+ }
+ return event.NewSubscription(func(quit <-chan struct{}) error {
+ defer sub.Unsubscribe()
+ for {
+ select {
+ case log := <-logs:
+ // New log arrived, parse the event and forward to the user
+ event := new(YRegistryV4GovernanceTransferred)
+ if err := _YRegistryV4.contract.UnpackLog(event, "GovernanceTransferred", log); err != nil {
+ return err
+ }
+ event.Raw = log
+
+ select {
+ case sink <- event:
+ case err := <-sub.Err():
+ return err
+ case <-quit:
+ return nil
+ }
+ case err := <-sub.Err():
+ return err
+ case <-quit:
+ return nil
+ }
+ }
+ }), nil
+}
+
+// ParseGovernanceTransferred is a log parse operation binding the contract event 0x5f56bee8cffbe9a78652a74a60705edede02af10b0bbb888ca44b79a0d42ce80.
+//
+// Solidity: event GovernanceTransferred(address indexed previousGovernance, address indexed newGovernance)
+func (_YRegistryV4 *YRegistryV4Filterer) ParseGovernanceTransferred(log types.Log) (*YRegistryV4GovernanceTransferred, error) {
+ event := new(YRegistryV4GovernanceTransferred)
+ if err := _YRegistryV4.contract.UnpackLog(event, "GovernanceTransferred", log); err != nil {
+ return nil, err
+ }
+ event.Raw = log
+ return event, nil
+}
+
+// YRegistryV4NewEndorsedStrategyIterator is returned from FilterNewEndorsedStrategy and is used to iterate over the raw logs and unpacked data for NewEndorsedStrategy events raised by the YRegistryV4 contract.
+type YRegistryV4NewEndorsedStrategyIterator struct {
+ Event *YRegistryV4NewEndorsedStrategy // Event containing the contract specifics and raw log
+
+ contract *bind.BoundContract // Generic contract to use for unpacking event data
+ event string // Event name to use for unpacking event data
+
+ logs chan types.Log // Log channel receiving the found contract events
+ sub ethereum.Subscription // Subscription for errors, completion and termination
+ done bool // Whether the subscription completed delivering logs
+ fail error // Occurred error to stop iteration
+}
+
+// Next advances the iterator to the subsequent event, returning whether there
+// are any more events found. In case of a retrieval or parsing error, false is
+// returned and Error() can be queried for the exact failure.
+func (it *YRegistryV4NewEndorsedStrategyIterator) Next() bool {
+ // If the iterator failed, stop iterating
+ if it.fail != nil {
+ return false
+ }
+ // If the iterator completed, deliver directly whatever's available
+ if it.done {
+ select {
+ case log := <-it.logs:
+ it.Event = new(YRegistryV4NewEndorsedStrategy)
+ if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
+ it.fail = err
+ return false
+ }
+ it.Event.Raw = log
+ return true
+
+ default:
+ return false
+ }
+ }
+ // Iterator still in progress, wait for either a data or an error event
+ select {
+ case log := <-it.logs:
+ it.Event = new(YRegistryV4NewEndorsedStrategy)
+ if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
+ it.fail = err
+ return false
+ }
+ it.Event.Raw = log
+ return true
+
+ case err := <-it.sub.Err():
+ it.done = true
+ it.fail = err
+ return it.Next()
+ }
+}
+
+// Error returns any retrieval or parsing error occurred during filtering.
+func (it *YRegistryV4NewEndorsedStrategyIterator) Error() error {
+ return it.fail
+}
+
+// Close terminates the iteration process, releasing any pending underlying
+// resources.
+func (it *YRegistryV4NewEndorsedStrategyIterator) Close() error {
+ it.sub.Unsubscribe()
+ return nil
+}
+
+// YRegistryV4NewEndorsedStrategy represents a NewEndorsedStrategy event raised by the YRegistryV4 contract.
+type YRegistryV4NewEndorsedStrategy struct {
+ Strategy common.Address
+ Asset common.Address
+ ReleaseVersion *big.Int
+ Raw types.Log // Blockchain specific contextual infos
+}
+
+// FilterNewEndorsedStrategy is a free log retrieval operation binding the contract event 0x2ab8c6c9129a30daa2d2add32ab462e1b35dd8fc42a473ea04380a25b5cc9d3a.
+//
+// Solidity: event NewEndorsedStrategy(address indexed strategy, address indexed asset, uint256 releaseVersion)
+func (_YRegistryV4 *YRegistryV4Filterer) FilterNewEndorsedStrategy(opts *bind.FilterOpts, strategy []common.Address, asset []common.Address) (*YRegistryV4NewEndorsedStrategyIterator, error) {
+
+ var strategyRule []interface{}
+ for _, strategyItem := range strategy {
+ strategyRule = append(strategyRule, strategyItem)
+ }
+ var assetRule []interface{}
+ for _, assetItem := range asset {
+ assetRule = append(assetRule, assetItem)
+ }
+
+ logs, sub, err := _YRegistryV4.contract.FilterLogs(opts, "NewEndorsedStrategy", strategyRule, assetRule)
+ if err != nil {
+ return nil, err
+ }
+ return &YRegistryV4NewEndorsedStrategyIterator{contract: _YRegistryV4.contract, event: "NewEndorsedStrategy", logs: logs, sub: sub}, nil
+}
+
+// WatchNewEndorsedStrategy is a free log subscription operation binding the contract event 0x2ab8c6c9129a30daa2d2add32ab462e1b35dd8fc42a473ea04380a25b5cc9d3a.
+//
+// Solidity: event NewEndorsedStrategy(address indexed strategy, address indexed asset, uint256 releaseVersion)
+func (_YRegistryV4 *YRegistryV4Filterer) WatchNewEndorsedStrategy(opts *bind.WatchOpts, sink chan<- *YRegistryV4NewEndorsedStrategy, strategy []common.Address, asset []common.Address) (event.Subscription, error) {
+
+ var strategyRule []interface{}
+ for _, strategyItem := range strategy {
+ strategyRule = append(strategyRule, strategyItem)
+ }
+ var assetRule []interface{}
+ for _, assetItem := range asset {
+ assetRule = append(assetRule, assetItem)
+ }
+
+ logs, sub, err := _YRegistryV4.contract.WatchLogs(opts, "NewEndorsedStrategy", strategyRule, assetRule)
+ if err != nil {
+ return nil, err
+ }
+ return event.NewSubscription(func(quit <-chan struct{}) error {
+ defer sub.Unsubscribe()
+ for {
+ select {
+ case log := <-logs:
+ // New log arrived, parse the event and forward to the user
+ event := new(YRegistryV4NewEndorsedStrategy)
+ if err := _YRegistryV4.contract.UnpackLog(event, "NewEndorsedStrategy", log); err != nil {
+ return err
+ }
+ event.Raw = log
+
+ select {
+ case sink <- event:
+ case err := <-sub.Err():
+ return err
+ case <-quit:
+ return nil
+ }
+ case err := <-sub.Err():
+ return err
+ case <-quit:
+ return nil
+ }
+ }
+ }), nil
+}
+
+// ParseNewEndorsedStrategy is a log parse operation binding the contract event 0x2ab8c6c9129a30daa2d2add32ab462e1b35dd8fc42a473ea04380a25b5cc9d3a.
+//
+// Solidity: event NewEndorsedStrategy(address indexed strategy, address indexed asset, uint256 releaseVersion)
+func (_YRegistryV4 *YRegistryV4Filterer) ParseNewEndorsedStrategy(log types.Log) (*YRegistryV4NewEndorsedStrategy, error) {
+ event := new(YRegistryV4NewEndorsedStrategy)
+ if err := _YRegistryV4.contract.UnpackLog(event, "NewEndorsedStrategy", log); err != nil {
+ return nil, err
+ }
+ event.Raw = log
+ return event, nil
+}
+
+// YRegistryV4NewEndorsedVaultIterator is returned from FilterNewEndorsedVault and is used to iterate over the raw logs and unpacked data for NewEndorsedVault events raised by the YRegistryV4 contract.
+type YRegistryV4NewEndorsedVaultIterator struct {
+ Event *YRegistryV4NewEndorsedVault // Event containing the contract specifics and raw log
+
+ contract *bind.BoundContract // Generic contract to use for unpacking event data
+ event string // Event name to use for unpacking event data
+
+ logs chan types.Log // Log channel receiving the found contract events
+ sub ethereum.Subscription // Subscription for errors, completion and termination
+ done bool // Whether the subscription completed delivering logs
+ fail error // Occurred error to stop iteration
+}
+
+// Next advances the iterator to the subsequent event, returning whether there
+// are any more events found. In case of a retrieval or parsing error, false is
+// returned and Error() can be queried for the exact failure.
+func (it *YRegistryV4NewEndorsedVaultIterator) Next() bool {
+ // If the iterator failed, stop iterating
+ if it.fail != nil {
+ return false
+ }
+ // If the iterator completed, deliver directly whatever's available
+ if it.done {
+ select {
+ case log := <-it.logs:
+ it.Event = new(YRegistryV4NewEndorsedVault)
+ if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
+ it.fail = err
+ return false
+ }
+ it.Event.Raw = log
+ return true
+
+ default:
+ return false
+ }
+ }
+ // Iterator still in progress, wait for either a data or an error event
+ select {
+ case log := <-it.logs:
+ it.Event = new(YRegistryV4NewEndorsedVault)
+ if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
+ it.fail = err
+ return false
+ }
+ it.Event.Raw = log
+ return true
+
+ case err := <-it.sub.Err():
+ it.done = true
+ it.fail = err
+ return it.Next()
+ }
+}
+
+// Error returns any retrieval or parsing error occurred during filtering.
+func (it *YRegistryV4NewEndorsedVaultIterator) Error() error {
+ return it.fail
+}
+
+// Close terminates the iteration process, releasing any pending underlying
+// resources.
+func (it *YRegistryV4NewEndorsedVaultIterator) Close() error {
+ it.sub.Unsubscribe()
+ return nil
+}
+
+// YRegistryV4NewEndorsedVault represents a NewEndorsedVault event raised by the YRegistryV4 contract.
+type YRegistryV4NewEndorsedVault struct {
+ Vault common.Address
+ Asset common.Address
+ ReleaseVersion *big.Int
+ Raw types.Log // Blockchain specific contextual infos
+}
+
+// FilterNewEndorsedVault is a free log retrieval operation binding the contract event 0x5bf19cf6c9f6c9210bc8cfecb4fda8057ebe0c41e300b60c5efa3de7f98f2f35.
+//
+// Solidity: event NewEndorsedVault(address indexed vault, address indexed asset, uint256 releaseVersion)
+func (_YRegistryV4 *YRegistryV4Filterer) FilterNewEndorsedVault(opts *bind.FilterOpts, vault []common.Address, asset []common.Address) (*YRegistryV4NewEndorsedVaultIterator, error) {
+
+ var vaultRule []interface{}
+ for _, vaultItem := range vault {
+ vaultRule = append(vaultRule, vaultItem)
+ }
+ var assetRule []interface{}
+ for _, assetItem := range asset {
+ assetRule = append(assetRule, assetItem)
+ }
+
+ logs, sub, err := _YRegistryV4.contract.FilterLogs(opts, "NewEndorsedVault", vaultRule, assetRule)
+ if err != nil {
+ return nil, err
+ }
+ return &YRegistryV4NewEndorsedVaultIterator{contract: _YRegistryV4.contract, event: "NewEndorsedVault", logs: logs, sub: sub}, nil
+}
+
+// WatchNewEndorsedVault is a free log subscription operation binding the contract event 0x5bf19cf6c9f6c9210bc8cfecb4fda8057ebe0c41e300b60c5efa3de7f98f2f35.
+//
+// Solidity: event NewEndorsedVault(address indexed vault, address indexed asset, uint256 releaseVersion)
+func (_YRegistryV4 *YRegistryV4Filterer) WatchNewEndorsedVault(opts *bind.WatchOpts, sink chan<- *YRegistryV4NewEndorsedVault, vault []common.Address, asset []common.Address) (event.Subscription, error) {
+
+ var vaultRule []interface{}
+ for _, vaultItem := range vault {
+ vaultRule = append(vaultRule, vaultItem)
+ }
+ var assetRule []interface{}
+ for _, assetItem := range asset {
+ assetRule = append(assetRule, assetItem)
+ }
+
+ logs, sub, err := _YRegistryV4.contract.WatchLogs(opts, "NewEndorsedVault", vaultRule, assetRule)
+ if err != nil {
+ return nil, err
+ }
+ return event.NewSubscription(func(quit <-chan struct{}) error {
+ defer sub.Unsubscribe()
+ for {
+ select {
+ case log := <-logs:
+ // New log arrived, parse the event and forward to the user
+ event := new(YRegistryV4NewEndorsedVault)
+ if err := _YRegistryV4.contract.UnpackLog(event, "NewEndorsedVault", log); err != nil {
+ return err
+ }
+ event.Raw = log
+
+ select {
+ case sink <- event:
+ case err := <-sub.Err():
+ return err
+ case <-quit:
+ return nil
+ }
+ case err := <-sub.Err():
+ return err
+ case <-quit:
+ return nil
+ }
+ }
+ }), nil
+}
+
+// ParseNewEndorsedVault is a log parse operation binding the contract event 0x5bf19cf6c9f6c9210bc8cfecb4fda8057ebe0c41e300b60c5efa3de7f98f2f35.
+//
+// Solidity: event NewEndorsedVault(address indexed vault, address indexed asset, uint256 releaseVersion)
+func (_YRegistryV4 *YRegistryV4Filterer) ParseNewEndorsedVault(log types.Log) (*YRegistryV4NewEndorsedVault, error) {
+ event := new(YRegistryV4NewEndorsedVault)
+ if err := _YRegistryV4.contract.UnpackLog(event, "NewEndorsedVault", log); err != nil {
+ return nil, err
+ }
+ event.Raw = log
+ return event, nil
+}
+
+// YRegistryV4RemovedStrategyIterator is returned from FilterRemovedStrategy and is used to iterate over the raw logs and unpacked data for RemovedStrategy events raised by the YRegistryV4 contract.
+type YRegistryV4RemovedStrategyIterator struct {
+ Event *YRegistryV4RemovedStrategy // Event containing the contract specifics and raw log
+
+ contract *bind.BoundContract // Generic contract to use for unpacking event data
+ event string // Event name to use for unpacking event data
+
+ logs chan types.Log // Log channel receiving the found contract events
+ sub ethereum.Subscription // Subscription for errors, completion and termination
+ done bool // Whether the subscription completed delivering logs
+ fail error // Occurred error to stop iteration
+}
+
+// Next advances the iterator to the subsequent event, returning whether there
+// are any more events found. In case of a retrieval or parsing error, false is
+// returned and Error() can be queried for the exact failure.
+func (it *YRegistryV4RemovedStrategyIterator) Next() bool {
+ // If the iterator failed, stop iterating
+ if it.fail != nil {
+ return false
+ }
+ // If the iterator completed, deliver directly whatever's available
+ if it.done {
+ select {
+ case log := <-it.logs:
+ it.Event = new(YRegistryV4RemovedStrategy)
+ if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
+ it.fail = err
+ return false
+ }
+ it.Event.Raw = log
+ return true
+
+ default:
+ return false
+ }
+ }
+ // Iterator still in progress, wait for either a data or an error event
+ select {
+ case log := <-it.logs:
+ it.Event = new(YRegistryV4RemovedStrategy)
+ if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
+ it.fail = err
+ return false
+ }
+ it.Event.Raw = log
+ return true
+
+ case err := <-it.sub.Err():
+ it.done = true
+ it.fail = err
+ return it.Next()
+ }
+}
+
+// Error returns any retrieval or parsing error occurred during filtering.
+func (it *YRegistryV4RemovedStrategyIterator) Error() error {
+ return it.fail
+}
+
+// Close terminates the iteration process, releasing any pending underlying
+// resources.
+func (it *YRegistryV4RemovedStrategyIterator) Close() error {
+ it.sub.Unsubscribe()
+ return nil
+}
+
+// YRegistryV4RemovedStrategy represents a RemovedStrategy event raised by the YRegistryV4 contract.
+type YRegistryV4RemovedStrategy struct {
+ Strategy common.Address
+ Asset common.Address
+ ReleaseVersion *big.Int
+ Raw types.Log // Blockchain specific contextual infos
+}
+
+// FilterRemovedStrategy is a free log retrieval operation binding the contract event 0xd7cdfeb9ab09d32e715ad82cdf2440286c5d462f66b98170a579195945800953.
+//
+// Solidity: event RemovedStrategy(address indexed strategy, address indexed asset, uint256 releaseVersion)
+func (_YRegistryV4 *YRegistryV4Filterer) FilterRemovedStrategy(opts *bind.FilterOpts, strategy []common.Address, asset []common.Address) (*YRegistryV4RemovedStrategyIterator, error) {
+
+ var strategyRule []interface{}
+ for _, strategyItem := range strategy {
+ strategyRule = append(strategyRule, strategyItem)
+ }
+ var assetRule []interface{}
+ for _, assetItem := range asset {
+ assetRule = append(assetRule, assetItem)
+ }
+
+ logs, sub, err := _YRegistryV4.contract.FilterLogs(opts, "RemovedStrategy", strategyRule, assetRule)
+ if err != nil {
+ return nil, err
+ }
+ return &YRegistryV4RemovedStrategyIterator{contract: _YRegistryV4.contract, event: "RemovedStrategy", logs: logs, sub: sub}, nil
+}
+
+// WatchRemovedStrategy is a free log subscription operation binding the contract event 0xd7cdfeb9ab09d32e715ad82cdf2440286c5d462f66b98170a579195945800953.
+//
+// Solidity: event RemovedStrategy(address indexed strategy, address indexed asset, uint256 releaseVersion)
+func (_YRegistryV4 *YRegistryV4Filterer) WatchRemovedStrategy(opts *bind.WatchOpts, sink chan<- *YRegistryV4RemovedStrategy, strategy []common.Address, asset []common.Address) (event.Subscription, error) {
+
+ var strategyRule []interface{}
+ for _, strategyItem := range strategy {
+ strategyRule = append(strategyRule, strategyItem)
+ }
+ var assetRule []interface{}
+ for _, assetItem := range asset {
+ assetRule = append(assetRule, assetItem)
+ }
+
+ logs, sub, err := _YRegistryV4.contract.WatchLogs(opts, "RemovedStrategy", strategyRule, assetRule)
+ if err != nil {
+ return nil, err
+ }
+ return event.NewSubscription(func(quit <-chan struct{}) error {
+ defer sub.Unsubscribe()
+ for {
+ select {
+ case log := <-logs:
+ // New log arrived, parse the event and forward to the user
+ event := new(YRegistryV4RemovedStrategy)
+ if err := _YRegistryV4.contract.UnpackLog(event, "RemovedStrategy", log); err != nil {
+ return err
+ }
+ event.Raw = log
+
+ select {
+ case sink <- event:
+ case err := <-sub.Err():
+ return err
+ case <-quit:
+ return nil
+ }
+ case err := <-sub.Err():
+ return err
+ case <-quit:
+ return nil
+ }
+ }
+ }), nil
+}
+
+// ParseRemovedStrategy is a log parse operation binding the contract event 0xd7cdfeb9ab09d32e715ad82cdf2440286c5d462f66b98170a579195945800953.
+//
+// Solidity: event RemovedStrategy(address indexed strategy, address indexed asset, uint256 releaseVersion)
+func (_YRegistryV4 *YRegistryV4Filterer) ParseRemovedStrategy(log types.Log) (*YRegistryV4RemovedStrategy, error) {
+ event := new(YRegistryV4RemovedStrategy)
+ if err := _YRegistryV4.contract.UnpackLog(event, "RemovedStrategy", log); err != nil {
+ return nil, err
+ }
+ event.Raw = log
+ return event, nil
+}
+
+// YRegistryV4RemovedVaultIterator is returned from FilterRemovedVault and is used to iterate over the raw logs and unpacked data for RemovedVault events raised by the YRegistryV4 contract.
+type YRegistryV4RemovedVaultIterator struct {
+ Event *YRegistryV4RemovedVault // Event containing the contract specifics and raw log
+
+ contract *bind.BoundContract // Generic contract to use for unpacking event data
+ event string // Event name to use for unpacking event data
+
+ logs chan types.Log // Log channel receiving the found contract events
+ sub ethereum.Subscription // Subscription for errors, completion and termination
+ done bool // Whether the subscription completed delivering logs
+ fail error // Occurred error to stop iteration
+}
+
+// Next advances the iterator to the subsequent event, returning whether there
+// are any more events found. In case of a retrieval or parsing error, false is
+// returned and Error() can be queried for the exact failure.
+func (it *YRegistryV4RemovedVaultIterator) Next() bool {
+ // If the iterator failed, stop iterating
+ if it.fail != nil {
+ return false
+ }
+ // If the iterator completed, deliver directly whatever's available
+ if it.done {
+ select {
+ case log := <-it.logs:
+ it.Event = new(YRegistryV4RemovedVault)
+ if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
+ it.fail = err
+ return false
+ }
+ it.Event.Raw = log
+ return true
+
+ default:
+ return false
+ }
+ }
+ // Iterator still in progress, wait for either a data or an error event
+ select {
+ case log := <-it.logs:
+ it.Event = new(YRegistryV4RemovedVault)
+ if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
+ it.fail = err
+ return false
+ }
+ it.Event.Raw = log
+ return true
+
+ case err := <-it.sub.Err():
+ it.done = true
+ it.fail = err
+ return it.Next()
+ }
+}
+
+// Error returns any retrieval or parsing error occurred during filtering.
+func (it *YRegistryV4RemovedVaultIterator) Error() error {
+ return it.fail
+}
+
+// Close terminates the iteration process, releasing any pending underlying
+// resources.
+func (it *YRegistryV4RemovedVaultIterator) Close() error {
+ it.sub.Unsubscribe()
+ return nil
+}
+
+// YRegistryV4RemovedVault represents a RemovedVault event raised by the YRegistryV4 contract.
+type YRegistryV4RemovedVault struct {
+ Vault common.Address
+ Asset common.Address
+ ReleaseVersion *big.Int
+ Raw types.Log // Blockchain specific contextual infos
+}
+
+// FilterRemovedVault is a free log retrieval operation binding the contract event 0x90f0b136797e67e4987983b7f7326571b458a7fd5cb6fb3e1209fdea9483b4cf.
+//
+// Solidity: event RemovedVault(address indexed vault, address indexed asset, uint256 releaseVersion)
+func (_YRegistryV4 *YRegistryV4Filterer) FilterRemovedVault(opts *bind.FilterOpts, vault []common.Address, asset []common.Address) (*YRegistryV4RemovedVaultIterator, error) {
+
+ var vaultRule []interface{}
+ for _, vaultItem := range vault {
+ vaultRule = append(vaultRule, vaultItem)
+ }
+ var assetRule []interface{}
+ for _, assetItem := range asset {
+ assetRule = append(assetRule, assetItem)
+ }
+
+ logs, sub, err := _YRegistryV4.contract.FilterLogs(opts, "RemovedVault", vaultRule, assetRule)
+ if err != nil {
+ return nil, err
+ }
+ return &YRegistryV4RemovedVaultIterator{contract: _YRegistryV4.contract, event: "RemovedVault", logs: logs, sub: sub}, nil
+}
+
+// WatchRemovedVault is a free log subscription operation binding the contract event 0x90f0b136797e67e4987983b7f7326571b458a7fd5cb6fb3e1209fdea9483b4cf.
+//
+// Solidity: event RemovedVault(address indexed vault, address indexed asset, uint256 releaseVersion)
+func (_YRegistryV4 *YRegistryV4Filterer) WatchRemovedVault(opts *bind.WatchOpts, sink chan<- *YRegistryV4RemovedVault, vault []common.Address, asset []common.Address) (event.Subscription, error) {
+
+ var vaultRule []interface{}
+ for _, vaultItem := range vault {
+ vaultRule = append(vaultRule, vaultItem)
+ }
+ var assetRule []interface{}
+ for _, assetItem := range asset {
+ assetRule = append(assetRule, assetItem)
+ }
+
+ logs, sub, err := _YRegistryV4.contract.WatchLogs(opts, "RemovedVault", vaultRule, assetRule)
+ if err != nil {
+ return nil, err
+ }
+ return event.NewSubscription(func(quit <-chan struct{}) error {
+ defer sub.Unsubscribe()
+ for {
+ select {
+ case log := <-logs:
+ // New log arrived, parse the event and forward to the user
+ event := new(YRegistryV4RemovedVault)
+ if err := _YRegistryV4.contract.UnpackLog(event, "RemovedVault", log); err != nil {
+ return err
+ }
+ event.Raw = log
+
+ select {
+ case sink <- event:
+ case err := <-sub.Err():
+ return err
+ case <-quit:
+ return nil
+ }
+ case err := <-sub.Err():
+ return err
+ case <-quit:
+ return nil
+ }
+ }
+ }), nil
+}
+
+// ParseRemovedVault is a log parse operation binding the contract event 0x90f0b136797e67e4987983b7f7326571b458a7fd5cb6fb3e1209fdea9483b4cf.
+//
+// Solidity: event RemovedVault(address indexed vault, address indexed asset, uint256 releaseVersion)
+func (_YRegistryV4 *YRegistryV4Filterer) ParseRemovedVault(log types.Log) (*YRegistryV4RemovedVault, error) {
+ event := new(YRegistryV4RemovedVault)
+ if err := _YRegistryV4.contract.UnpackLog(event, "RemovedVault", log); err != nil {
+ return nil, err
+ }
+ event.Raw = log
+ return event, nil
+}
diff --git a/common/env/chain.arbitrum.go b/common/env/chain.arbitrum.go
new file mode 100644
index 000000000..fcb7b0830
--- /dev/null
+++ b/common/env/chain.arbitrum.go
@@ -0,0 +1,76 @@
+package env
+
+import (
+ "math"
+ "strconv"
+
+ "github.com/ethereum/go-ethereum/common"
+ "github.com/yearn/ydaemon/internal/models"
+)
+
+var ARBITRUM = TChain{
+ ID: 42161,
+ RpcURI: `https://arbitrum.public-rpc.com`,
+ SubgraphURI: `https://api.thegraph.com/subgraphs/name/yearn/yearn-vaults-v2-arbitrum`,
+ MaxBlockRange: 100_000_000,
+ MaxBatchSize: math.MaxInt64,
+ LensContract: TContractData{
+ Address: common.HexToAddress(`0x043518AB266485dC085a1DB095B8d9C2Fc78E9b9`),
+ Block: 2396321,
+ },
+ MulticallContract: TContractData{
+ Address: common.HexToAddress(`0x842eC2c7D803033Edf55E478F461FC547Bc54EB2`),
+ Block: 821923,
+ },
+ PartnerContract: TContractData{
+ Address: common.HexToAddress(`0x0e5b46E4b2a05fd53F5a4cD974eb98a9a613bcb7`),
+ Block: 30385403,
+ },
+ Coin: models.TERC20Token{
+ Address: DEFAULT_COIN_ADDRESS,
+ UnderlyingTokensAddresses: []common.Address{},
+ Type: models.TokenTypeNative,
+ Name: `Arbitrum`,
+ Symbol: `ARB`,
+ DisplayName: `Arbitrum`,
+ DisplaySymbol: `ARB`,
+ Description: `Arbitrum is a Layer 2 scaling solution for Ethereum.`,
+ Icon: BASE_ASSET_URL + strconv.FormatUint(42161, 10) + `/` + DEFAULT_COIN_ADDRESS.Hex() + `/logo-128.png`,
+ Decimals: 18,
+ ChainID: 42161,
+ },
+ Registries: []TContractData{
+ {
+ Address: common.HexToAddress("0x3199437193625DCcD6F9C9e98BDf93582200Eb1f"),
+ Version: 2,
+ Block: 4841854,
+ },
+ },
+ ExtraVaults: []models.TVaultsFromRegistry{},
+ BlacklistedVaults: []common.Address{
+ common.HexToAddress("0x5796698A29F3626c9FE13C4d3d3dEE987c84EBB3"), // Test deployment - Nothing
+ common.HexToAddress("0x976a1C749cd8153909e0B04EebE931eF8957b15b"), // Test deployment - PHPTest
+ common.HexToAddress("0xFa247d0D55a324ca19985577a2cDcFC383D87953"), // Test deployment - PHP
+ },
+ ExtraTokens: []common.Address{
+ common.HexToAddress(`0x82e3A8F066a6989666b031d916c43672085b1582`), // YFI
+ common.HexToAddress(`0x11cDb42B0EB46D95f990BeDD4695A6e3fA034978`), // CRV
+ },
+ IgnoredTokens: []common.Address{
+ common.HexToAddress("0x5796698A29F3626c9FE13C4d3d3dEE987c84EBB3"), // Test deployment - Nothing
+ common.HexToAddress("0x976a1C749cd8153909e0B04EebE931eF8957b15b"), // Test deployment - PHPTest
+ common.HexToAddress("0xFa247d0D55a324ca19985577a2cDcFC383D87953"), // Test deployment - PHP
+ },
+ Curve: TChainCurve{
+ RegistryAddress: common.HexToAddress(`0x0000000022d53366457f9d5e68ec105046fc4383`),
+ FactoryAddress: common.Address{},
+ FactoryURIs: []string{
+ `https://api.curve.fi/api/getPools/arbitrum/factory`,
+ },
+ PoolsURIs: []string{
+ `https://api.curve.fi/api/getPools/arbitrum/main`,
+ `https://api.curve.fi/api/getPools/arbitrum/crypto`,
+ `https://api.curve.fi/api/getPools/arbitrum/factory`,
+ },
+ },
+}
diff --git a/common/env/chain.base.go b/common/env/chain.base.go
new file mode 100644
index 000000000..2d4eb8e67
--- /dev/null
+++ b/common/env/chain.base.go
@@ -0,0 +1,61 @@
+package env
+
+import (
+ "math"
+ "strconv"
+
+ "github.com/ethereum/go-ethereum/common"
+ "github.com/yearn/ydaemon/internal/models"
+)
+
+var BASE = TChain{
+ ID: 8453,
+ RpcURI: `https://developer-access-mainnet.base.org`,
+ SubgraphURI: `https://api.thegraph.com/subgraphs/name/rareweasel/yearn-vaults-v2-subgraph-base`,
+ MaxBlockRange: 100_000_000,
+ MaxBatchSize: math.MaxInt64,
+ LensContract: TContractData{
+ Address: common.HexToAddress(`0xE0F3D78DB7bC111996864A32d22AB0F59Ca5Fa86`),
+ Block: 3318817,
+ },
+ MulticallContract: TContractData{
+ Address: common.HexToAddress(`0xca11bde05977b3631167028862be2a173976ca11`),
+ Block: 5022,
+ },
+ Coin: models.TERC20Token{
+ Address: DEFAULT_COIN_ADDRESS,
+ UnderlyingTokensAddresses: []common.Address{},
+ Type: models.TokenTypeNative,
+ Name: `Ether`,
+ Symbol: `ETH`,
+ DisplayName: `Ether`,
+ DisplaySymbol: `ETH`,
+ Description: `Base is a Layer 2 scaling solution based on Optimism.`,
+ Icon: BASE_ASSET_URL + strconv.FormatUint(8453, 10) + `/` + DEFAULT_COIN_ADDRESS.Hex() + `/logo-128.png`,
+ Decimals: 18,
+ ChainID: 8453,
+ },
+ Registries: []TContractData{
+ {
+ Address: common.HexToAddress("0xF3885eDe00171997BFadAa98E01E167B53a78Ec5"),
+ Version: 3,
+ Block: 3263730,
+ },
+ },
+ ExtraVaults: []models.TVaultsFromRegistry{},
+ BlacklistedVaults: []common.Address{},
+ ExtraTokens: []common.Address{},
+ IgnoredTokens: []common.Address{},
+ Curve: TChainCurve{
+ RegistryAddress: common.Address{},
+ FactoryAddress: common.Address{},
+ FactoryURIs: []string{
+ `https://api.curve.fi/api/getPools/base/factory`,
+ },
+ PoolsURIs: []string{
+ `https://api.curve.fi/api/getPools/base/main`,
+ `https://api.curve.fi/api/getPools/base/crypto`,
+ `https://api.curve.fi/api/getPools/base/factory`,
+ },
+ },
+}
diff --git a/common/env/chain.ethereum.go b/common/env/chain.ethereum.go
new file mode 100644
index 000000000..301f84715
--- /dev/null
+++ b/common/env/chain.ethereum.go
@@ -0,0 +1,130 @@
+package env
+
+import (
+ "math"
+ "strconv"
+
+ "github.com/ethereum/go-ethereum/common"
+ "github.com/yearn/ydaemon/internal/models"
+)
+
+var ETHEREUM = TChain{
+ ID: 1,
+ RpcURI: `https://eth.public-rpc.com`,
+ SubgraphURI: `https://api.thegraph.com/subgraphs/name/rareweasel/yearn-vaults-v2-subgraph-mainnet`,
+ MaxBlockRange: 100_000_000,
+ MaxBatchSize: math.MaxInt64,
+ YBribeV3Contract: TContractData{
+ Address: common.HexToAddress(`0x03dFdBcD4056E2F92251c7B07423E1a33a7D3F6d`),
+ Block: 15878262,
+ },
+ LensContract: TContractData{
+ Address: common.HexToAddress(`0x83d95e0D5f402511dB06817Aff3f9eA88224B030`),
+ Block: 12242339,
+ },
+ MulticallContract: TContractData{
+ Address: common.HexToAddress(`0x5ba1e12693dc8f9c48aad8770482f4739beed696`),
+ Block: 12336033,
+ },
+ PartnerContract: TContractData{
+ Address: common.HexToAddress(`0x8ee392a4787397126C163Cb9844d7c447da419D8`),
+ Block: 14166636,
+ },
+ Coin: models.TERC20Token{
+ Address: DEFAULT_COIN_ADDRESS,
+ UnderlyingTokensAddresses: []common.Address{},
+ Type: models.TokenTypeNative,
+ Name: `Ether`,
+ Symbol: `ETH`,
+ DisplayName: `Ether`,
+ DisplaySymbol: `ETH`,
+ Description: `Ether is the native cryptocurrency for the Ethereum blockchain.`,
+ Icon: BASE_ASSET_URL + strconv.FormatUint(1, 10) + `/` + DEFAULT_COIN_ADDRESS.Hex() + `/logo-128.png`,
+ Decimals: 18,
+ ChainID: 1,
+ },
+ Registries: []TContractData{
+ {
+ Address: common.HexToAddress("0xe15461b18ee31b7379019dc523231c57d1cbc18c"),
+ Version: 1,
+ Block: 11563389,
+ },
+ {
+ Address: common.HexToAddress("0x50c1a2eA0a861A967D9d0FFE2AE4012c2E053804"),
+ Version: 2,
+ Block: 12045555,
+ },
+ {
+ Address: common.HexToAddress("0xaF1f5e1c19cB68B30aAD73846eFfDf78a5863319"),
+ Version: 3,
+ Block: 16215519,
+ },
+ },
+ ExtraVaults: []models.TVaultsFromRegistry{},
+ BlacklistedVaults: []common.Address{
+ common.HexToAddress("0x662fBF2c1E4b04342EeBA6371ec1C7420042B86F"), // Test deployment - Nothing
+ common.HexToAddress("0x9C13e225AE007731caA49Fd17A41379ab1a489F4"), // Test deployment - Nothing
+ common.HexToAddress("0xBF7AA989192b020a8d3e1C65a558e123834325cA"), // HBTC yVault - Not Yearn - PPS 0
+ common.HexToAddress("0x4Fdd1B06eF986238446be0F3EA163C1b6Fe28cC1"), // GUSD yVault - Not Yearn - PPS 100
+ common.HexToAddress("0x8a0889d47f9Aa0Fac1cC718ba34E26b867437880"), // Old st-yCRV
+ common.HexToAddress("0x61f46C65E403429266e8b569F23f70dD75d9BeE7"), // Old lp-yCRV
+ //
+ common.HexToAddress("0x98E86Ed5b0E48734430BfBe92101156C75418cad"), // yearn BAL - Disabled for now
+ common.HexToAddress("0xc09cfb625e586B117282399433257a1C0841edf3"), // Staked Yearn BAL Vault - Disabled for now
+ common.HexToAddress("0xD725F5742047B4B4A3110D0b38284227fcaB041e"), // LP Yearn BAL Vault - Disabled for now
+ common.HexToAddress("0xD61e198e139369a40818FE05F5d5e6e045Cd6eaF"), // Balancer yBAL Stable Pool - Disabled for now
+ },
+ ExtraTokens: []common.Address{
+ common.HexToAddress("0x34fe2a45D8df28459d7705F37eD13d7aE4382009"), // yvWBTC
+ common.HexToAddress("0xD533a949740bb3306d119CC777fa900bA034cd52"), // CRV - used by yBribe UI
+ common.HexToAddress("0x090185f2135308BaD17527004364eBcC2D37e5F6"), // Spell - used by yBribe UI
+ common.HexToAddress("0xCdF7028ceAB81fA0C6971208e83fa7872994beE5"), // TNT - used by yBribe UI
+ common.HexToAddress("0xba100000625a3754423978a60c9317c58a424e3D"), // BAL - used by yBAL UI
+ common.HexToAddress("0x5c6Ee304399DBdB9C8Ef030aB642B10820DB8F56"), // BALWETH - used by yBAL UI
+ common.HexToAddress(`0x30D20208d987713f46DFD34EF128Bb16C404D10f`), // Stader
+ common.HexToAddress(`0xa2E3356610840701BDf5611a53974510Ae27E2e1`), // wBETH
+ common.HexToAddress(`0xac3E018457B222d93114458476f3E3416Abbe38F`), // Staked Frax Ether
+ common.HexToAddress(`0xf951E335afb289353dc249e82926178EaC7DEd78`), // Swell Network Ether
+ common.HexToAddress(`0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0`), // Wrapped liquid staked Ether 2.0
+ common.HexToAddress(`0xA35b1B31Ce002FBF2058D22F30f95D405200A15b`), // Stader ETHx
+ common.HexToAddress(`0xBe9895146f7AF43049ca1c1AE358B0541Ea49704`), // Coinbase Wrapped Staked ETH
+ common.HexToAddress(`0x583019fF0f430721aDa9cfb4fac8F06cA104d0B4`), // st-yETH
+ },
+ IgnoredTokens: []common.Address{
+ common.HexToAddress(`0x7AB4a7BE740131BdE216521B54ADddD672F44A05`), // nothing
+ common.HexToAddress(`0x61f46C65E403429266e8b569F23f70dD75d9BeE7`), // Old lp-yCRV
+ common.HexToAddress(`0x8a0889d47f9Aa0Fac1cC718ba34E26b867437880`), // Old st-yCRV
+ common.HexToAddress(`0x4c1317326fD8EFDeBdBE5e1cd052010D97723bd6`), // Another old st-yCRV
+ common.HexToAddress(`0x2E919d27D515868f3D5Bc9110fa738f9449FC6ad`), // Old yvCurve-yveCRV pool
+ common.HexToAddress(`0x7E46fd8a30869aa9ed55af031067Df666EfE87da`), // Old yvecrv-f
+ common.HexToAddress(`0x5904BAcE7a9cCab585242e9d22f67C9f2F1BF7E2`), // nothing
+ common.HexToAddress(`0x0309A528bBa0394dC4A2Ce59123C52E317A54604`), // Old yCRV-f
+ common.HexToAddress(`0xBF7AA989192b020a8d3e1C65a558e123834325cA`), // Irrelevant HBTC yVault
+ common.HexToAddress(`0xe92AE2cF5b373c1713eB5855D4D3aF81D8a8aCAE`), // Curve Stax Frax/Temple xLP + LP yVault - Unlisted
+ common.HexToAddress(`0x3883f5e181fccaF8410FA61e12b59BAd963fb645`), // Theta: Old Token
+ common.HexToAddress(`0xC4C319E2D4d66CcA4464C0c2B32c9Bd23ebe784e`), // Hacked alETH
+ common.HexToAddress(`0x718AbE90777F5B778B52D553a5aBaa148DD0dc5D`), // Hacked vault
+ common.HexToAddress("0x662fBF2c1E4b04342EeBA6371ec1C7420042B86F"), // Test deployment - Nothing
+ common.HexToAddress("0x9C13e225AE007731caA49Fd17A41379ab1a489F4"), // Test deployment - Nothing
+ common.HexToAddress("0x4Fdd1B06eF986238446be0F3EA163C1b6Fe28cC1"), // GUSD yVault - Not Yearn - PPS 100
+ //
+ common.HexToAddress("0x98E86Ed5b0E48734430BfBe92101156C75418cad"), // yearn BAL - Disabled for now
+ common.HexToAddress("0xc09cfb625e586B117282399433257a1C0841edf3"), // Staked Yearn BAL Vault - Disabled for now
+ common.HexToAddress("0xD725F5742047B4B4A3110D0b38284227fcaB041e"), // LP Yearn BAL Vault - Disabled for now
+ common.HexToAddress("0xD61e198e139369a40818FE05F5d5e6e045Cd6eaF"), // Balancer yBAL Stable Pool - Disabled for now
+ },
+ Curve: TChainCurve{
+ RegistryAddress: common.HexToAddress(`0x90E00ACe148ca3b23Ac1bC8C240C2a7Dd9c2d7f5`),
+ FactoryAddress: common.HexToAddress(`0xF18056Bbd320E96A48e3Fbf8bC061322531aac99`),
+ FactoryURIs: []string{
+ `https://api.curve.fi/api/getPools/ethereum/factory`,
+ `https://api.curve.fi/api/getPools/ethereum/factory-crypto`,
+ },
+ PoolsURIs: []string{
+ `https://api.curve.fi/api/getPools/ethereum/main`,
+ `https://api.curve.fi/api/getPools/ethereum/crypto`,
+ `https://api.curve.fi/api/getPools/ethereum/factory`,
+ `https://api.curve.fi/api/getPools/ethereum/factory-crypto`,
+ },
+ },
+}
diff --git a/common/env/chain.fantom.go b/common/env/chain.fantom.go
new file mode 100644
index 000000000..981367513
--- /dev/null
+++ b/common/env/chain.fantom.go
@@ -0,0 +1,85 @@
+package env
+
+import (
+ "math"
+ "strconv"
+
+ "github.com/ethereum/go-ethereum/common"
+ "github.com/yearn/ydaemon/internal/models"
+)
+
+var FANTOM = TChain{
+ ID: 250,
+ RpcURI: `https://rpc.ftm.tools`,
+ SubgraphURI: `https://api.thegraph.com/subgraphs/name/yearn/yearn-vaults-v2-fantom`,
+ MaxBlockRange: 100_000_000,
+ MaxBatchSize: math.MaxInt64,
+ LensContract: TContractData{
+ Address: common.HexToAddress(`0x57AA88A0810dfe3f9b71a9b179Dd8bF5F956C46A`),
+ Block: 17091856,
+ },
+ MulticallContract: TContractData{
+ Address: common.HexToAddress(`0x470ADB45f5a9ac3550bcFFaD9D990Bf7e2e941c9`),
+ Block: 19328162,
+ },
+ PartnerContract: TContractData{
+ Address: common.HexToAddress(`0x086865B2983320b36C42E48086DaDc786c9Ac73B`),
+ Block: 40499061,
+ },
+ Coin: models.TERC20Token{
+ Address: DEFAULT_COIN_ADDRESS,
+ UnderlyingTokensAddresses: []common.Address{},
+ Type: models.TokenTypeNative,
+ Name: `Fantom`,
+ Symbol: `FTM`,
+ DisplayName: `Fantom`,
+ DisplaySymbol: `FTM`,
+ Description: `Fantom is a Layer 2 scaling solution for Ethereum.`,
+ Icon: BASE_ASSET_URL + strconv.FormatUint(250, 10) + `/` + DEFAULT_COIN_ADDRESS.Hex() + `/logo-128.png`,
+ Decimals: 18,
+ ChainID: 250,
+ },
+ Registries: []TContractData{
+ {
+ Address: common.HexToAddress("0x727fe1759430df13655ddb0731dE0D0FDE929b04"),
+ Version: 2,
+ Block: 18455565,
+ },
+ },
+ ExtraVaults: []models.TVaultsFromRegistry{
+ {
+ //yvMIM, alone in it's own registry, not work registering and listening to it
+ ChainID: 250,
+ Address: common.HexToAddress(`0x0A0b23D9786963DE69CB2447dC125c49929419d8`),
+ RegistryAddress: common.HexToAddress(`0x265F7b1413F6B06654746cf2485082182389A5d0`),
+ TokenAddress: common.HexToAddress(`0x82f0b8b456c1a451378467398982d4834b6829c1`),
+ APIVersion: `0.4.3`,
+ BlockNumber: 18309707,
+ Activation: 18302860,
+ ManagementFee: 200,
+ BlockHash: common.HexToHash(`0x00009ee300000d281b4c0169bb3320b32f435e3fd830fe1625adcfd4cf6410cb`),
+ TxIndex: 0,
+ LogIndex: 0,
+ Type: models.TokenTypeStandardVault,
+ },
+ },
+ BlacklistedVaults: []common.Address{
+ common.HexToAddress("0x03B82e4070cA32FF63A03F2EcfC16c0165689a9d"), // Test deployment - AVAX
+ },
+ ExtraTokens: []common.Address{},
+ IgnoredTokens: []common.Address{
+ common.HexToAddress("0x03B82e4070cA32FF63A03F2EcfC16c0165689a9d"), // Test deployment - AVAX
+ },
+ Curve: TChainCurve{
+ RegistryAddress: common.HexToAddress(`0x0000000022d53366457f9d5e68ec105046fc4383`),
+ FactoryAddress: common.Address{},
+ FactoryURIs: []string{
+ `https://api.curve.fi/api/getPools/fantom/factory`,
+ },
+ PoolsURIs: []string{
+ `https://api.curve.fi/api/getPools/fantom/main`,
+ `https://api.curve.fi/api/getPools/fantom/crypto`,
+ `https://api.curve.fi/api/getPools/fantom/factory`,
+ },
+ },
+}
diff --git a/common/env/chain.optimism.go b/common/env/chain.optimism.go
new file mode 100644
index 000000000..7ebe3df82
--- /dev/null
+++ b/common/env/chain.optimism.go
@@ -0,0 +1,84 @@
+package env
+
+import (
+ "math"
+ "strconv"
+
+ "github.com/ethereum/go-ethereum/common"
+ "github.com/yearn/ydaemon/internal/models"
+)
+
+var OPTIMISM = TChain{
+ ID: 10,
+ RpcURI: `https://mainnet.optimism.io`,
+ SubgraphURI: `https://api.thegraph.com/subgraphs/name/yearn/yearn-vaults-v2-optimism`,
+ MaxBlockRange: 100_000_000,
+ MaxBatchSize: math.MaxInt64,
+ LensContract: TContractData{
+ Address: common.HexToAddress(`0xB082d9f4734c535D9d80536F7E87a6f4F471bF65`),
+ Block: 18109291,
+ },
+ MulticallContract: TContractData{
+ Address: common.HexToAddress(`0xca11bde05977b3631167028862be2a173976ca11`),
+ Block: 4286263,
+ },
+ StackingRewardContract: TContractData{
+ Address: common.HexToAddress(`0x8ed9f6343f057870f1def47aae7cd88dfaa049a8`),
+ Block: 85969070,
+ },
+ PartnerContract: TContractData{
+ Address: common.HexToAddress(`0x7E08735690028cdF3D81e7165493F1C34065AbA2`),
+ Block: 29675215,
+ },
+ Coin: models.TERC20Token{
+ Address: DEFAULT_COIN_ADDRESS,
+ UnderlyingTokensAddresses: []common.Address{},
+ Type: models.TokenTypeNative,
+ Name: `Ether`,
+ Symbol: `ETH`,
+ DisplayName: `Ether`,
+ DisplaySymbol: `ETH`,
+ Description: `Optimism is a Layer 2 scaling solution for Ethereum.`,
+ Icon: BASE_ASSET_URL + strconv.FormatUint(10, 10) + `/` + DEFAULT_COIN_ADDRESS.Hex() + `/logo-128.png`,
+ Decimals: 18,
+ ChainID: 10,
+ },
+ Registries: []TContractData{
+ {
+ Address: common.HexToAddress("0x81291ceb9bB265185A9D07b91B5b50Df94f005BF"),
+ Version: 3,
+ Block: 22450349,
+ },
+ {
+ Address: common.HexToAddress("0x79286Dd38C9017E5423073bAc11F53357Fc5C128"),
+ Version: 3,
+ Block: 22451152,
+ },
+ },
+ ExtraVaults: []models.TVaultsFromRegistry{},
+ BlacklistedVaults: []common.Address{
+ common.HexToAddress("0x6884bd538Db61A626Da0a05E10807BFC5Aea2b32"), // Test deployment - Nothing
+ common.HexToAddress("0xDB8bBF2b0e28721F9BAc603e687E39bcF52201f8"), // Test deployment - Nothing
+ common.HexToAddress("0xed5D83bB6Af23bcb05C144DC816f45A389d622a0"), // Test deployment - Nothing
+ },
+ ExtraTokens: []common.Address{
+ common.HexToAddress("0x4200000000000000000000000000000000000042"), // Opt
+ },
+ IgnoredTokens: []common.Address{
+ common.HexToAddress("0x6884bd538Db61A626Da0a05E10807BFC5Aea2b32"), // Test deployment - Nothing
+ common.HexToAddress("0xDB8bBF2b0e28721F9BAc603e687E39bcF52201f8"), // Test deployment - Nothing
+ common.HexToAddress("0xed5D83bB6Af23bcb05C144DC816f45A389d622a0"), // Test deployment - Nothing
+ },
+ Curve: TChainCurve{
+ RegistryAddress: common.HexToAddress(`0x0000000022d53366457f9d5e68ec105046fc4383`),
+ FactoryAddress: common.Address{},
+ FactoryURIs: []string{
+ `https://api.curve.fi/api/getPools/optimism/factory`,
+ },
+ PoolsURIs: []string{
+ `https://api.curve.fi/api/getPools/optimism/main`,
+ `https://api.curve.fi/api/getPools/optimism/crypto`,
+ `https://api.curve.fi/api/getPools/optimism/factory`,
+ },
+ },
+}
diff --git a/common/env/chain.polygon.go b/common/env/chain.polygon.go
new file mode 100644
index 000000000..2ea78d690
--- /dev/null
+++ b/common/env/chain.polygon.go
@@ -0,0 +1,58 @@
+package env
+
+import (
+ "math"
+ "strconv"
+
+ "github.com/ethereum/go-ethereum/common"
+ "github.com/yearn/ydaemon/internal/models"
+)
+
+var POLYGON = TChain{
+ ID: 137,
+ RpcURI: `https://polygon.llamarpc.com`,
+ SubgraphURI: ``, //TODO: not deployed
+ MaxBlockRange: 100_000_000,
+ MaxBatchSize: math.MaxInt64,
+ LensContract: TContractData{}, //TODO: not deployed
+ MulticallContract: TContractData{
+ Address: common.HexToAddress(`0xca11bde05977b3631167028862be2a173976ca11`),
+ Block: 25770160,
+ },
+ Coin: models.TERC20Token{
+ Address: DEFAULT_COIN_ADDRESS,
+ UnderlyingTokensAddresses: []common.Address{},
+ Type: models.TokenTypeNative,
+ Name: `Matic`,
+ Symbol: `Matic`,
+ DisplayName: `Matic`,
+ DisplaySymbol: `Matic`,
+ Description: `Matic is the Value Layer of the Internet`,
+ Icon: BASE_ASSET_URL + strconv.FormatUint(137, 10) + `/` + DEFAULT_COIN_ADDRESS.Hex() + `/logo-128.png`,
+ Decimals: 18,
+ ChainID: 137,
+ },
+ Registries: []TContractData{
+ {
+ Address: common.HexToAddress("0xFBB087B456a656Ab815EB2D0f3f21Aa409Cec33F"),
+ Version: 4,
+ Block: 47462833,
+ },
+ },
+ ExtraVaults: []models.TVaultsFromRegistry{},
+ BlacklistedVaults: []common.Address{},
+ ExtraTokens: []common.Address{},
+ IgnoredTokens: []common.Address{},
+ Curve: TChainCurve{
+ RegistryAddress: common.HexToAddress(`0x0000000022d53366457f9d5e68ec105046fc4383`),
+ FactoryAddress: common.Address{},
+ FactoryURIs: []string{
+ `https://api.curve.fi/api/getPools/polygon/factory`,
+ },
+ PoolsURIs: []string{
+ `https://api.curve.fi/api/getPools/polygon/main`,
+ `https://api.curve.fi/api/getPools/polygon/crypto`,
+ `https://api.curve.fi/api/getPools/polygon/factory`,
+ },
+ },
+}
diff --git a/common/env/chains.go b/common/env/chains.go
new file mode 100644
index 000000000..097ac386b
--- /dev/null
+++ b/common/env/chains.go
@@ -0,0 +1,52 @@
+package env
+
+import (
+ "github.com/ethereum/go-ethereum/common"
+ "github.com/yearn/ydaemon/internal/models"
+)
+
+type TChainCurve struct {
+ RegistryAddress common.Address
+ FactoryAddress common.Address
+ FactoryURIs []string
+ PoolsURIs []string
+}
+type TChain struct {
+ ID uint64
+ RpcURI string
+ SubgraphURI string
+ MaxBlockRange uint64
+ MaxBatchSize int
+ LensContract TContractData
+ MulticallContract TContractData
+ StackingRewardContract TContractData
+ YBribeV3Contract TContractData
+ PartnerContract TContractData
+ Coin models.TERC20Token
+ Registries []TContractData
+ ExtraVaults []models.TVaultsFromRegistry
+ BlacklistedVaults []common.Address
+ ExtraTokens []common.Address
+ IgnoredTokens []common.Address
+ Curve TChainCurve
+}
+
+var DEFAULT_COIN_ADDRESS = common.HexToAddress(`0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE`)
+
+// CHAINS is the list of supported chains
+var CHAINS = map[uint64]TChain{
+ 1: ETHEREUM,
+ 10: OPTIMISM,
+ 137: POLYGON,
+ 250: FANTOM,
+ 8453: BASE,
+ 42161: ARBITRUM,
+}
+
+var SUPPORTED_CHAIN_IDS = []uint64{}
+
+func init() {
+ for k := range CHAINS {
+ SUPPORTED_CHAIN_IDS = append(SUPPORTED_CHAIN_IDS, k)
+ }
+}
diff --git a/common/env/constants.go b/common/env/constants.go
index 15213b04e..8f963d7eb 100755
--- a/common/env/constants.go
+++ b/common/env/constants.go
@@ -1,13 +1,11 @@
package env
import (
- "math"
"path"
"path/filepath"
"runtime"
"github.com/ethereum/go-ethereum/common"
- "github.com/yearn/ydaemon/internal/models"
)
type TContractData struct {
@@ -37,273 +35,3 @@ var LLAMA_PRICE_URL = `https://coins.llama.fi/prices/current/`
// API_V1_BASE_URL is the base URL to access query the legacy Yearn's api
var API_V1_BASE_URL = `https://api.yexporter.io/v1/chains/`
-
-// SUPPORTED_CHAIN_IDS is the list of supported chain IDs
-var SUPPORTED_CHAIN_IDS = []uint64{1, 10, 250, 8453, 42161}
-
-// MAX_BLOCK_RANGE is the maximum number of blocks we can query in a single request
-var MAX_BLOCK_RANGE = map[uint64]uint64{
- 1: 100_000_000,
- 10: 100_000_000,
- 250: 100_000_000,
- 8453: 100_000_000,
- 42161: 100_000_000,
-}
-
-// MAX_BATCH_SIZE is the maximum size request for a multicall
-var MAX_BATCH_SIZE = map[uint64]int{
- 1: math.MaxInt64,
- 10: math.MaxInt64,
- 250: math.MaxInt64,
- 8453: math.MaxInt64,
- 42161: math.MaxInt64,
-}
-
-// BLACKLISTED_VAULTS contains the vault we should not work with
-var BLACKLISTED_VAULTS = map[uint64][]common.Address{
- 1: {
- common.HexToAddress("0x662fBF2c1E4b04342EeBA6371ec1C7420042B86F"), // Test deployment - Nothing
- common.HexToAddress("0x9C13e225AE007731caA49Fd17A41379ab1a489F4"), // Test deployment - Nothing
- common.HexToAddress("0xBF7AA989192b020a8d3e1C65a558e123834325cA"), // HBTC yVault - Not Yearn - PPS 0
- common.HexToAddress("0x4Fdd1B06eF986238446be0F3EA163C1b6Fe28cC1"), // GUSD yVault - Not Yearn - PPS 100
- common.HexToAddress("0x8a0889d47f9Aa0Fac1cC718ba34E26b867437880"), // Old st-yCRV
- common.HexToAddress("0x61f46C65E403429266e8b569F23f70dD75d9BeE7"), // Old lp-yCRV
-
- },
- 10: {
- common.HexToAddress("0x6884bd538Db61A626Da0a05E10807BFC5Aea2b32"), // Test deployment - Nothing
- common.HexToAddress("0xDB8bBF2b0e28721F9BAc603e687E39bcF52201f8"), // Test deployment - Nothing
- common.HexToAddress("0xed5D83bB6Af23bcb05C144DC816f45A389d622a0"), // Test deployment - Nothing
- },
- 250: {
- common.HexToAddress("0x03B82e4070cA32FF63A03F2EcfC16c0165689a9d"), // Test deployment - AVAX
- },
- 8453: {
- //TODO: ADD IGNORED VAULTS FOR BASE
- },
- 42161: {
- common.HexToAddress("0x5796698A29F3626c9FE13C4d3d3dEE987c84EBB3"), // Test deployment - Nothing
- common.HexToAddress("0x976a1C749cd8153909e0B04EebE931eF8957b15b"), // Test deployment - PHPTest
- common.HexToAddress("0xFa247d0D55a324ca19985577a2cDcFC383D87953"), // Test deployment - PHP
- },
-}
-
-// CURVE_FACTORY_URI contains the URI of the Curve Factory to use
-var CURVE_FACTORY_URI = map[uint64][]string{
- 1: {
- `https://api.curve.fi/api/getPools/ethereum/factory`,
- `https://api.curve.fi/api/getPools/ethereum/factory-crypto`,
- },
- 10: {
- `https://api.curve.fi/api/getPools/optimism/factory`,
- },
- 250: {
- `https://api.curve.fi/api/getPools/fantom/factory`,
- },
- 8453: {
- `https://api.curve.fi/api/getPools/base/factory`,
- },
- 42161: {
- `https://api.curve.fi/api/getPools/arbitrum/factory`,
- },
-}
-
-// CURVE_POOLS_URI contains the URI of the Curve pools to use
-var CURVE_POOLS_URI = map[uint64][]string{
- 1: {
- `https://api.curve.fi/api/getPools/ethereum/main`,
- `https://api.curve.fi/api/getPools/ethereum/crypto`,
- `https://api.curve.fi/api/getPools/ethereum/factory`,
- `https://api.curve.fi/api/getPools/ethereum/factory-crypto`,
- },
- 10: {
- `https://api.curve.fi/api/getPools/optimism/main`,
- `https://api.curve.fi/api/getPools/optimism/crypto`,
- `https://api.curve.fi/api/getPools/optimism/factory`,
- },
- 250: {
- `https://api.curve.fi/api/getPools/fantom/main`,
- `https://api.curve.fi/api/getPools/fantom/crypto`,
- `https://api.curve.fi/api/getPools/fantom/factory`,
- },
- 8453: {
- `https://api.curve.fi/api/getPools/base/main`,
- `https://api.curve.fi/api/getPools/base/crypto`,
- `https://api.curve.fi/api/getPools/base/factory`,
- },
- 42161: {
- `https://api.curve.fi/api/getPools/arbitrum/main`,
- `https://api.curve.fi/api/getPools/arbitrum/crypto`,
- `https://api.curve.fi/api/getPools/arbitrum/factory`,
- },
-}
-
-// RPC_ENDPOINTS contains the node endpoints to connect the blockchains
-// Can be overwritten by env variables
-var RPC_ENDPOINTS = map[uint64]string{
- 1: `https://eth.public-rpc.com`,
- 10: `https://mainnet.optimism.io`,
- 56: `https://bsc.rpc.blxrbdn.com`,
- 137: `https://polygon.llamarpc.com`,
- 250: `https://rpc.ftm.tools`,
- 8453: `https://developer-access-mainnet.base.org`,
- 42161: `https://arbitrum.public-rpc.com`,
-}
-
-// THEGRAPH_ENDPOINTS contains the URI of the GraphQL provider to use
-var THEGRAPH_ENDPOINTS = map[uint64]string{
- 1: `https://api.thegraph.com/subgraphs/name/rareweasel/yearn-vaults-v2-subgraph-mainnet`,
- 10: `https://api.thegraph.com/subgraphs/name/yearn/yearn-vaults-v2-optimism`,
- 250: `https://api.thegraph.com/subgraphs/name/yearn/yearn-vaults-v2-fantom`,
- 8453: `https://api.thegraph.com/subgraphs/name/rareweasel/yearn-vaults-v2-subgraph-base`,
- 42161: `https://api.thegraph.com/subgraphs/name/yearn/yearn-vaults-v2-arbitrum`,
-}
-
-// YEARN_REGISTRIES is the list of registries used by Yearn across all the supported chains, with the version and the activation block
-var YEARN_REGISTRIES = map[uint64][]TContractData{
- 1: {
- {Address: common.HexToAddress("0xe15461b18ee31b7379019dc523231c57d1cbc18c"), Version: 1, Block: 11563389},
- {Address: common.HexToAddress("0x50c1a2eA0a861A967D9d0FFE2AE4012c2E053804"), Version: 2, Block: 12045555},
- {Address: common.HexToAddress("0xaF1f5e1c19cB68B30aAD73846eFfDf78a5863319"), Version: 3, Block: 16215519},
- },
- 10: {
- {Address: common.HexToAddress("0x81291ceb9bB265185A9D07b91B5b50Df94f005BF"), Version: 3, Block: 22450349},
- {Address: common.HexToAddress("0x79286Dd38C9017E5423073bAc11F53357Fc5C128"), Version: 3, Block: 22451152},
- },
- 250: {
- {Address: common.HexToAddress("0x727fe1759430df13655ddb0731dE0D0FDE929b04"), Version: 2, Block: 18455565},
- },
- 8453: {
- {Address: common.HexToAddress("0xF3885eDe00171997BFadAa98E01E167B53a78Ec5"), Version: 3, Block: 3263730},
- },
- 42161: {
- {Address: common.HexToAddress("0x3199437193625DCcD6F9C9e98BDf93582200Eb1f"), Version: 2, Block: 4841854},
- },
-}
-
-// EXTRA_VAULTS is a list of vaults that are not registered in the registries, but are still used by Yearn
-var EXTRA_VAULTS = map[uint64][]models.TVaultsFromRegistry{
- 1: {},
- 10: {},
- 250: {
- {
- //yvMIM, alone in it's own registry, not work registering and listening to it
- ChainID: 250,
- Address: common.HexToAddress(`0x0A0b23D9786963DE69CB2447dC125c49929419d8`),
- RegistryAddress: common.HexToAddress(`0x265F7b1413F6B06654746cf2485082182389A5d0`),
- TokenAddress: common.HexToAddress(`0x82f0b8b456c1a451378467398982d4834b6829c1`),
- APIVersion: `0.4.3`,
- BlockNumber: 18309707,
- Activation: 18302860,
- ManagementFee: 200,
- BlockHash: common.HexToHash(`0x00009ee300000d281b4c0169bb3320b32f435e3fd830fe1625adcfd4cf6410cb`),
- TxIndex: 0,
- LogIndex: 0,
- Type: models.VaultTypeStandard,
- },
- },
- 8453: {
- //TODO: ADD EXTRA_VAULTS FOR BASE
- },
- 42161: {},
-}
-
-// LENS_ADDRESSES contains the address of the Lens oracle for a specific chainID
-var LENS_ADDRESSES = map[uint64]common.Address{
- 1: common.HexToAddress(`0x83d95e0D5f402511dB06817Aff3f9eA88224B030`),
- 10: common.HexToAddress(`0xB082d9f4734c535D9d80536F7E87a6f4F471bF65`),
- 250: common.HexToAddress(`0x57AA88A0810dfe3f9b71a9b179Dd8bF5F956C46A`),
- 8453: common.HexToAddress(`0xE0F3D78DB7bC111996864A32d22AB0F59Ca5Fa86`),
- 42161: common.HexToAddress(`0x043518AB266485dC085a1DB095B8d9C2Fc78E9b9`),
-}
-
-// MULTICALL_ADDRESSES contains the address of the multicall2 contract for a specific chainID
-var MULTICALL_ADDRESSES = map[uint64]common.Address{
- 1: common.HexToAddress(`0x5ba1e12693dc8f9c48aad8770482f4739beed696`),
- 10: common.HexToAddress(`0xca11bde05977b3631167028862be2a173976ca11`),
- 56: common.HexToAddress(`0xca11bde05977b3631167028862be2a173976ca11`),
- 137: common.HexToAddress(`0xca11bde05977b3631167028862be2a173976ca11`),
- 250: common.HexToAddress(`0x470ADB45f5a9ac3550bcFFaD9D990Bf7e2e941c9`),
- 8453: common.HexToAddress(`0xca11bde05977b3631167028862be2a173976ca11`),
- 42161: common.HexToAddress(`0x842eC2c7D803033Edf55E478F461FC547Bc54EB2`),
-}
-
-// CURVE_REGISTRY_ADDRESSES contains the address of the Curve Registry contract
-var CURVE_REGISTRY_ADDRESSES = map[uint64]common.Address{
- 1: common.HexToAddress(`0x90E00ACe148ca3b23Ac1bC8C240C2a7Dd9c2d7f5`),
- 10: common.HexToAddress(`0x0000000022d53366457f9d5e68ec105046fc4383`),
- 250: common.HexToAddress(`0x0000000022d53366457f9d5e68ec105046fc4383`),
- 8453: {
- //TODO: ADD CURVE_REGISTRY_ADDRESSES FOR BASE
- },
- 42161: common.HexToAddress(`0x0000000022d53366457f9d5e68ec105046fc4383`),
-}
-
-// CURVE_FACTORIES_ADDRESSES contains the address of the Curve Registry contract
-var CURVE_FACTORIES_ADDRESSES = map[uint64]common.Address{
- 1: common.HexToAddress(`0xF18056Bbd320E96A48e3Fbf8bC061322531aac99`),
- 10: {},
- 250: {},
- 8453: {},
- 42161: {},
-}
-
-// STACKING_REWARD_ADDRESSES contains the address of the stacking reward contract
-var STACKING_REWARD_ADDRESSES = map[uint64]TContractData{
- 1: {},
- 10: {
- Address: common.HexToAddress(`0x8ed9f6343f057870f1def47aae7cd88dfaa049a8`),
- Block: uint64(85969070),
- },
- 250: {},
- 8453: {
- //TODO: ADD STACKING_REWARD_ADDRESSES FOR BASE
- },
- 42161: {},
-}
-
-// YBRIBE_V3_ADDRESSES contains the address of the yBribe contract
-var YBRIBE_V3_ADDRESSES = map[uint64]TContractData{
- 1: {
- Address: common.HexToAddress(`0x03dFdBcD4056E2F92251c7B07423E1a33a7D3F6d`),
- Block: uint64(15878262),
- },
- 10: {},
- 250: {},
- 8453: {},
- 42161: {},
-}
-
-// PARTNER_TRACKERS_ADDRESSES contains the address of the yBribe contract
-var PARTNER_TRACKERS_ADDRESSES = map[uint64]TContractData{
- 1: {
- Address: common.HexToAddress(`0x8ee392a4787397126C163Cb9844d7c447da419D8`),
- Block: uint64(14166636),
- },
- 10: {
- Address: common.HexToAddress(`0x7E08735690028cdF3D81e7165493F1C34065AbA2`),
- Block: uint64(29675215),
- },
- 250: {
- Address: common.HexToAddress(`0x086865B2983320b36C42E48086DaDc786c9Ac73B`),
- Block: uint64(40499061),
- },
- 8453: {
- //TODO: ADD PARTNER_TRACKERS_ADDRESSES FOR BASE
- },
- 42161: {
- Address: common.HexToAddress(`0x0e5b46E4b2a05fd53F5a4cD974eb98a9a613bcb7`),
- Block: uint64(30385403),
- },
-}
-
-var KnownRefferers = map[uint64]map[common.Address]string{
- 1: {
- common.HexToAddress(`0x558247e365be655f9144e1a0140D793984372Ef3`): `Ledger`,
- common.HexToAddress(`0xFEB4acf3df3cDEA7399794D0869ef76A6EfAff52`): `Yearn.finance`,
- },
- 10: {},
- 250: {},
- 8453: {},
- 42161: {},
-}
diff --git a/common/env/environment.go b/common/env/environment.go
index 983245328..3ecef9e47 100755
--- a/common/env/environment.go
+++ b/common/env/environment.go
@@ -15,42 +15,54 @@ func SetEnv(path string) {
if !exists {
logs.Debug("RPC_URI_FOR_1 not set, using default value: [https://eth.public-rpc.com]")
} else {
- RPC_ENDPOINTS[1] = RPCURIFor1
+ chain := CHAINS[1]
+ chain.RpcURI = RPCURIFor1
+ CHAINS[1] = chain
}
RPCURIFor10, exists := os.LookupEnv("RPC_URI_FOR_10")
if !exists {
logs.Debug("RPC_URI_FOR_10 not set, using default value: [https://mainnet.optimism.io]")
} else {
- RPC_ENDPOINTS[10] = RPCURIFor10
+ chain := CHAINS[10]
+ chain.RpcURI = RPCURIFor10
+ CHAINS[10] = chain
+ }
+
+ RPCURIFor137, exists := os.LookupEnv("RPC_URI_FOR_137")
+ if !exists {
+ logs.Debug("RPC_URI_FOR_137 not set, using default value: [https://polygon.llamarpc.com]")
+ } else {
+ chain := CHAINS[137]
+ chain.RpcURI = RPCURIFor137
+ CHAINS[137] = chain
}
RPCURIFor250, exists := os.LookupEnv("RPC_URI_FOR_250")
if !exists {
logs.Debug("RPC_URI_FOR_250 not set, using default value: [https://rpc.ftm.tools]")
} else {
- RPC_ENDPOINTS[250] = RPCURIFor250
+ chain := CHAINS[250]
+ chain.RpcURI = RPCURIFor250
+ CHAINS[250] = chain
}
RPCURIFor8453, exists := os.LookupEnv("RPC_URI_FOR_8453")
if !exists {
logs.Debug("RPC_URI_FOR_8453 not set, using default value: [https://developer-access-mainnet.base.org]")
} else {
- RPC_ENDPOINTS[8453] = RPCURIFor8453
+ chain := CHAINS[8453]
+ chain.RpcURI = RPCURIFor8453
+ CHAINS[8453] = chain
}
RPCURIFor42161, exists := os.LookupEnv("RPC_URI_FOR_42161")
if !exists {
logs.Debug("RPC_URI_FOR_42161 not set, using default value: [https://arbitrum.public-rpc.com]")
} else {
- RPC_ENDPOINTS[42161] = RPCURIFor42161
- }
-
- GraphAPIURI, exists := os.LookupEnv("GRAPH_API_URI")
- if !exists {
- logs.Debug("GRAPH_API_URI not set, using default value: [https://api.thegraph.com/subgraphs/name/rareweasel/yearn-vaults-v2-subgraph-mainnet]")
- } else {
- THEGRAPH_ENDPOINTS[1] = GraphAPIURI
+ chain := CHAINS[42161]
+ chain.RpcURI = RPCURIFor42161
+ CHAINS[42161] = chain
}
ApiV1BaseUrl, exists := os.LookupEnv("API_V1_BASE_URL")
diff --git a/common/ethereum/initializer.go b/common/ethereum/initializer.go
index c191e4330..00fd23440 100755
--- a/common/ethereum/initializer.go
+++ b/common/ethereum/initializer.go
@@ -16,17 +16,20 @@ import (
***************************************************************************************************/
func init() {
// Create the RPC client for all the chains supported by yDaemon
- for _, chainID := range env.SUPPORTED_CHAIN_IDS {
- client, err := ethclient.Dial(GetRPCURI(chainID))
+ for _, chain := range env.CHAINS {
+ client, err := ethclient.Dial(GetRPCURI(chain.ID))
if err != nil {
logs.Error(err, "Failed to connect to node")
continue
}
- RPC[chainID] = client
+ RPC[chain.ID] = client
}
// Create the multicall client for all the chains supported by yDaemon
- for _, chainID := range env.SUPPORTED_CHAIN_IDS {
- MulticallClientForChainID[chainID] = NewMulticall(GetRPCURI(chainID), env.MULTICALL_ADDRESSES[chainID])
+ for _, chain := range env.CHAINS {
+ MulticallClientForChainID[chain.ID] = NewMulticall(
+ GetRPCURI(chain.ID),
+ chain.MulticallContract.Address,
+ )
}
}
diff --git a/common/ethereum/utils.go b/common/ethereum/utils.go
index cf19d69e2..2c8060856 100755
--- a/common/ethereum/utils.go
+++ b/common/ethereum/utils.go
@@ -26,17 +26,16 @@ func GetRPC(chainID uint64) *ethclient.Client {
// GetRPCURI returns the URI to use to connect to the node for a specific chainID
func GetRPCURI(chainID uint64) string {
- return env.RPC_ENDPOINTS[chainID]
+ return env.CHAINS[chainID].RpcURI
}
// GetWSEnvURI returns the URI to use to connect to the node for a specific chainID
func GetWSEnvURI(chainID uint64) string {
wsFromEnv, exists := os.LookupEnv("WS_URI_FOR_" + strconv.FormatUint(chainID, 10))
if !exists {
- return env.RPC_ENDPOINTS[chainID]
- } else {
- return wsFromEnv
+ return env.CHAINS[chainID].RpcURI
}
+ return wsFromEnv
}
// MulticallClientForChainID holds the multicall client for a specific chainID
diff --git a/common/helpers/helpers.go b/common/helpers/helpers.go
index ef8088609..629602e8d 100755
--- a/common/helpers/helpers.go
+++ b/common/helpers/helpers.go
@@ -137,7 +137,7 @@ func AssertChainID(chainIDStr string) (uint64, bool) {
if chainID == 1337 {
return 1, true
}
- if !Contains(env.SUPPORTED_CHAIN_IDS, chainID) {
+ if _, ok := env.CHAINS[chainID]; !ok {
return 0, false
}
return chainID, true
@@ -148,7 +148,7 @@ func AssertAddress(addressStr string, chainID uint64) (common.Address, bool) {
return common.Address{}, false
}
address := common.HexToAddress(addressStr)
- if chainID > 0 && Contains(env.BLACKLISTED_VAULTS[chainID], address) {
+ if chainID > 0 && Contains(env.CHAINS[chainID].BlacklistedVaults, address) {
return common.Address{}, false
}
return address, true
@@ -158,7 +158,7 @@ func AddressIsValid(address common.Address, chainID uint64) bool {
if (address == common.Address{} || addresses.Equals(address, "0x0000000000000000000000000000000000000000")) {
return false
}
- if chainID > 0 && Contains(env.BLACKLISTED_VAULTS[chainID], address) {
+ if chainID > 0 && Contains(env.CHAINS[chainID].BlacklistedVaults, address) {
return false
}
return true
@@ -236,6 +236,13 @@ func DecodeAddress(something []interface{}) common.Address {
return something[0].(common.Address)
}
+func ToRawAmount(amount *bigNumber.Int, decimals uint64) *bigNumber.Int {
+ return bigNumber.NewInt(0).Mul(
+ amount,
+ bigNumber.NewInt(0).Exp(bigNumber.NewInt(10), bigNumber.NewInt(int64(decimals)), nil),
+ )
+}
+
func ToNormalizedAmount(amount *bigNumber.Int, decimals uint64) *bigNumber.Float {
return bigNumber.NewFloat(0).Quo(
bigNumber.NewFloat(0).SetInt(amount),
diff --git a/common/store/db.badger.go b/common/store/db.badger.go
index bb0c3d24d..535b890ed 100755
--- a/common/store/db.badger.go
+++ b/common/store/db.badger.go
@@ -33,7 +33,7 @@ func _assertMap() {
badgerDBMutex = make(map[uint64]map[string]*sync.Mutex)
}
- for _, chainID := range env.SUPPORTED_CHAIN_IDS {
+ for chainID := range env.CHAINS {
if badgerDB[chainID] == nil {
badgerDB[chainID] = make(map[string]*badger.DB)
}
diff --git a/common/store/initializer.go b/common/store/initializer.go
index e26c8b73c..6dd966f39 100644
--- a/common/store/initializer.go
+++ b/common/store/initializer.go
@@ -27,7 +27,7 @@ func init() {
_dbType = DBBadger
}
- for _, chainID := range env.SUPPORTED_CHAIN_IDS {
+ for chainID := range env.CHAINS {
_blockTimeSyncMap[chainID] = &sync.Map{}
_timeBlockSyncMap[chainID] = &sync.Map{}
_historicalPriceSyncMap[chainID] = &sync.Map{}
@@ -41,7 +41,7 @@ func init() {
}
wg := &sync.WaitGroup{}
- for _, chainID := range env.SUPPORTED_CHAIN_IDS {
+ for chainID := range env.CHAINS {
wg.Add(5)
go LoadBlockTime(chainID, nil)
// go LoadHistoricalPrice(chainID, nil)
diff --git a/common/store/models.go b/common/store/models.go
index 829d51f16..5de53933b 100644
--- a/common/store/models.go
+++ b/common/store/models.go
@@ -52,7 +52,7 @@ type DBNewVaultsFromRegistry struct {
ManagementFee uint64 // ManagementFee is the management fee of the vault
TxIndex uint // TxIndex is the index of the transaction in the block
LogIndex uint // LogIndex is the index of the log in the transaction
- Type models.TVaultType // Type of vault, can be Experimental, Standard or Automated
+ Type models.TTokenType // Type of vault, can be Experimental, Standard or Automated
}
/**************************************************************************************************
@@ -68,7 +68,7 @@ type DBVault struct {
Guardian string // Guardian is the guardian address
Rewards string // Rewards is the rewards address
Token string // Token is the underlying token address
- Type models.TVaultType // Type of vault, can be Experimental, Standard or Automated
+ Type models.TTokenType // Type of vault, can be Experimental, Standard or Automated
Symbol string // Symbol of the vault
DisplaySymbol string // DisplaySymbol is an overwrite symbol for display purpose
FormatedSymbol string // FormatedSymbol is an overwrite symbol yv + symbol
diff --git a/common/store/store.tokens.go b/common/store/store.tokens.go
index 902659556..c454d9021 100644
--- a/common/store/store.tokens.go
+++ b/common/store/store.tokens.go
@@ -222,7 +222,31 @@ func ListERC20Addresses(chainID uint64) []common.Address {
** If the token type matches with "Yearn Vault", it returns true. Otherwise, it returns false.
**********************************************************************************************/
func IsVaultLike(t models.TERC20Token) bool {
- return t.Type == models.TokenTypeVault
+ return IsStandardVault(t) || IsExperimentalVault(t) || IsAutomatedVault(t)
+}
+
+/** 🔵 - Yearn *************************************************************************************
+** This function checks if the provided token is of the "Standard Vault" type.
+** It takes a TERC20Token as input and returns a boolean value.
+**************************************************************************************************/
+func IsStandardVault(t models.TERC20Token) bool {
+ return t.Type == models.TokenTypeStandardVault || t.Type == models.TokenTypeLegagyStandardVault
+}
+
+/** 🔵 - Yearn *************************************************************************************
+** This function checks if the provided token is of the "Experimental Vault" type.
+** It takes a TERC20Token as input and returns a boolean value.
+**************************************************************************************************/
+func IsExperimentalVault(t models.TERC20Token) bool {
+ return t.Type == models.TokenTypeExperimentalVault || t.Type == models.TokenTypeLegacyExperimentalVault
+}
+
+/** 🔵 - Yearn *************************************************************************************
+** This function checks if the provided token is of the "Automated Vault" type.
+** It takes a TERC20Token as input and returns a boolean value.
+**************************************************************************************************/
+func IsAutomatedVault(t models.TERC20Token) bool {
+ return t.Type == models.TokenTypeAutomatedVault || t.Type == models.TokenTypeLegacyAutomatedVault
}
/** 🔵 - Yearn *************************************************************************************
diff --git a/common/store/store.vaultsFromRegistry.go b/common/store/store.vaultsFromRegistry.go
index 8abb5468a..af0016467 100644
--- a/common/store/store.vaultsFromRegistry.go
+++ b/common/store/store.vaultsFromRegistry.go
@@ -171,3 +171,39 @@ func ListVaultsFromRegistry(chainID uint64) (asMap map[common.Address]models.TVa
return asMap, asSlice
}
+
+/**************************************************************************************************
+** GetVaultFromRegistry
+**************************************************************************************************/
+func GetVaultFromRegistry(chainID uint64, vaultAddress common.Address) (models.TVaultsFromRegistry, bool) {
+ /**********************************************************************************************
+ ** We first retrieve the syncMap. This syncMap should be initialized first via the `LoadNewVaultsFromRegistry`
+ ** function which take the data from the database/badger and store it in it.
+ **********************************************************************************************/
+ syncMap := _newVaultsFromRegistrySyncMap[chainID]
+ if syncMap == nil {
+ syncMap = &sync.Map{}
+ _newVaultsFromRegistrySyncMap[chainID] = syncMap
+ }
+
+ /**********************************************************************************************
+ ** Here we are trying to load the vault from the syncMap using the vaultAddress. The loaded
+ ** vault is then type asserted to models.TVaultsFromRegistry. If the vault is not found in the
+ ** syncMap, we return an empty models.TVaultsFromRegistry and false.
+ **********************************************************************************************/
+ vault := models.TVaultsFromRegistry{}
+ found := false
+ syncMap.Range(func(key, value interface{}) bool {
+ element := value.(models.TVaultsFromRegistry)
+ if element.Address == vaultAddress {
+ found = true
+ vault = element
+ return false
+ }
+ return true
+ })
+ if !found {
+ return models.TVaultsFromRegistry{}, false
+ }
+ return vault, true
+}
diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml
index 26dc00c74..f0118dea8 100755
--- a/docker-compose.dev.yml
+++ b/docker-compose.dev.yml
@@ -11,6 +11,7 @@ services:
environment:
- RPC_URI_FOR_1
- RPC_URI_FOR_10
+ - RPC_URI_FOR_137
- RPC_URI_FOR_250
- RPC_URI_FOR_8453
- RPC_URI_FOR_42161
diff --git a/docker-compose.yml b/docker-compose.yml
index 66e7481ba..f1ee9f60d 100755
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -14,6 +14,7 @@ services:
environment:
- RPC_URI_FOR_1
- RPC_URI_FOR_10
+ - RPC_URI_FOR_137
- RPC_URI_FOR_250
- RPC_URI_FOR_8453
- RPC_URI_FOR_42161
diff --git a/docs/.editorconfig b/docs/.editorconfig
deleted file mode 100755
index 0e311ce1d..000000000
--- a/docs/.editorconfig
+++ /dev/null
@@ -1,3 +0,0 @@
-[*]
-indent_style = tab
-indent_size = 4
\ No newline at end of file
diff --git a/docs/.eslintrc.js b/docs/.eslintrc.js
deleted file mode 100755
index a36dc4a0c..000000000
--- a/docs/.eslintrc.js
+++ /dev/null
@@ -1,133 +0,0 @@
-module.exports = {
- 'env': {
- 'node': true,
- 'browser': true,
- 'es2021': true
- },
- 'extends': [
- 'eslint:recommended',
- 'plugin:import/recommended',
- 'plugin:react/recommended',
- 'plugin:react-hooks/recommended',
- 'plugin:tailwindcss/recommended',
- 'plugin:@typescript-eslint/recommended',
- 'next/core-web-vitals'
- ],
- 'parser': '@typescript-eslint/parser',
- 'parserOptions': {
- 'ecmaFeatures': {
- 'jsx': true
- },
- 'ecmaVersion': 2022,
- 'sourceType': 'module',
- 'tsconfigRootDir': __dirname,
- 'project': ['./tsconfig.json']
- },
- 'plugins': [
- '@typescript-eslint',
- 'react',
- 'tailwindcss',
- 'unused-imports'
- ],
- 'settings': {
- 'react': {
- 'version': 'detect'
- },
- 'import/resolver': {
- 'typescript': {}
- }
- },
- 'rules': {
- 'indent': [2, 'tab'],
- 'no-mixed-spaces-and-tabs': 2,
- 'react/prop-types': 0,
- 'no-async-promise-executor': 0,
- 'import/no-unresolved': 0, //Issue with package exports
- 'quotes': [2, 'single', {'avoidEscape': true}],
- 'object-curly-spacing': [2, 'never'],
- 'array-bracket-spacing': [2, 'never'],
- 'semi': 'error',
- 'import/no-named-as-default-member': 2,
- 'tailwindcss/no-custom-classname': 0,
- 'object-property-newline': ['error', {'allowMultiplePropertiesPerLine': true}],
- 'array-bracket-newline': ['error', {'multiline': true}],
- 'react/jsx-curly-brace-presence': ['error', {'props': 'always', 'children': 'always'}],
- 'react/jsx-first-prop-new-line': ['error', 'multiline'],
- 'react/jsx-max-props-per-line': ['error', {'maximum': {'single': 2, 'multi': 1}}],
- 'react/jsx-closing-tag-location': 2,
- 'unused-imports/no-unused-imports': 'error',
- 'unused-imports/no-unused-vars': [
- 'warn', {
- 'vars': 'all',
- 'varsIgnorePattern': '^_',
- 'args': 'after-used',
- 'argsIgnorePattern': '^_'
- }
- ],
- 'sort-imports': [
- 'error', {
- 'ignoreDeclarationSort': true
- }
- ],
- '@typescript-eslint/no-var-requires': 0,
- '@typescript-eslint/no-unused-vars': 2,
- '@typescript-eslint/array-type': ['error', {'default': 'array'}],
- '@typescript-eslint/consistent-type-assertions': ['error', {'assertionStyle': 'as', 'objectLiteralTypeAssertions': 'never'}],
- '@typescript-eslint/consistent-type-definitions': ['error', 'type'],
- '@typescript-eslint/consistent-indexed-object-style': ['error', 'index-signature'],
- '@typescript-eslint/explicit-function-return-type': [
- 'error', {
- 'allowExpressions': false,
- 'allowTypedFunctionExpressions': false,
- 'allowHigherOrderFunctions': false,
- 'allowDirectConstAssertionInArrowFunctions': false,
- 'allowConciseArrowFunctionExpressionsStartingWithVoid': false,
- 'allowedNames': []
- }
- ],
- '@typescript-eslint/naming-convention': [
- 'error',
- {'selector': 'default', 'format': ['camelCase']},
- {'selector': 'function', 'format': ['camelCase', 'PascalCase']},
-
- {'selector': 'variableLike', 'format': ['camelCase', 'PascalCase', 'UPPER_CASE'], 'leadingUnderscore': 'allow'},
- {'selector': 'variable', 'types': ['boolean'], 'format': ['PascalCase'], 'prefix': ['is', 'should', 'has', 'can', 'did', 'will']},
- {'selector': 'default', 'format': null, 'filter': {'regex': '^(0-9)$', 'match': false}},
- {
- 'selector': 'variableLike',
- 'filter': {'regex': '^(set)', 'match': true},
- 'format': ['camelCase'],
- 'prefix': ['set_']
- },
- {'selector': 'variableLike', 'format': ['PascalCase'], 'filter': {'regex': '(Context)$|(ContextApp)$|^Component$', 'match': true}},
- {'selector': ['typeParameter', 'typeAlias'], 'format': ['PascalCase'], 'prefix': ['T']},
- {'selector': 'interface', 'format': ['PascalCase'], 'prefix': ['I']},
- {'selector': ['default', 'variableLike', 'parameter'], 'format': null, 'filter': {'regex': '^(__html|_css)$', 'match': true}}
- ],
- '@typescript-eslint/no-misused-promises': ['error', {'checksConditionals': true, 'checksVoidReturn': false}],
- '@typescript-eslint/no-non-null-asserted-nullish-coalescing': 'error',
- '@typescript-eslint/no-unnecessary-qualifier': 'error',
- '@typescript-eslint/no-unnecessary-type-arguments': 'error',
- '@typescript-eslint/no-unnecessary-boolean-literal-compare': [
- 'error', {
- 'allowComparingNullableBooleansToTrue': false,
- 'allowComparingNullableBooleansToFalse': false
- }
- ],
- '@typescript-eslint/prefer-for-of': 'error',
- '@typescript-eslint/prefer-function-type': 'error',
- '@typescript-eslint/prefer-includes': 'error',
- '@typescript-eslint/prefer-optional-chain': 'error',
- '@typescript-eslint/promise-function-async': 'error',
- '@typescript-eslint/require-array-sort-compare': 'error',
- '@typescript-eslint/type-annotation-spacing': ['error', {'before': true, 'after': true, 'overrides': {'colon': {'before': false, 'after': true}}}],
- 'brace-style': 'off',
- '@typescript-eslint/brace-style': ['error', '1tbs'],
- 'comma-dangle': 'off',
- '@typescript-eslint/comma-dangle': ['error'],
- 'comma-spacing': 'off',
- '@typescript-eslint/comma-spacing': ['error'],
- 'dot-notation': 'off',
- '@typescript-eslint/dot-notation': ['error']
- }
-};
diff --git a/docs/.gitignore b/docs/.gitignore
deleted file mode 100755
index 113f2f085..000000000
--- a/docs/.gitignore
+++ /dev/null
@@ -1,50 +0,0 @@
-# Binaries for programs and plugins
-*.exe
-*.exe~
-*.dll
-*.so
-*.dylib
-cmd/cmd
-cmd/api
-
-# Test binary, build with `go test -c`
-*.test
-
-# Output of the go coverage tool, specifically when used with LiteIDE
-*.out
-
-.idea
-.DS_Store
-/env*.list
-coverage.html
-assert.sh
-
-# Elastic Beanstalk Files
-.elasticbeanstalk/*
-!.elasticbeanstalk/*.cfg.yml
-!.elasticbeanstalk/*.global.yml
-
-# delve binary
-__debug_bin
-
-# Docker windows err
-hs_err*
-.vscode/
-
-coverage.txt
-docs/validated-postman.json
-docs/validated-swagger.yaml.env
-
-.env
-*/.env.env
-*/node_modules
-*/build
-
-vendor
-ystore
-
-# build
-yDaemon
-.next
-.swc
-.turbo
\ No newline at end of file
diff --git a/docs/components/Dropdown.tsx b/docs/components/Dropdown.tsx
deleted file mode 100755
index 0c7c154d6..000000000
--- a/docs/components/Dropdown.tsx
+++ /dev/null
@@ -1,12 +0,0 @@
-import React, {ReactElement, ReactNode} from 'react';
-
-export default function Dropdown({title, children}: {title: string, children: ReactNode}): ReactElement {
- return (
-
- {title}
-
- {children}
-
-
- );
-}
diff --git a/docs/components/GET.tsx b/docs/components/GET.tsx
deleted file mode 100755
index 94bd66501..000000000
--- a/docs/components/GET.tsx
+++ /dev/null
@@ -1,19 +0,0 @@
-import React, {ReactElement} from 'react';
-
-export default function GET({path}: {path: string}): ReactElement {
- return (
-
-
- {'GET'}
-
-
- {path}
-
-
- );
-}
diff --git a/docs/components/Header.tsx b/docs/components/Header.tsx
deleted file mode 100755
index 9bb1a7fc8..000000000
--- a/docs/components/Header.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-/* eslint-disable @next/next/no-img-element */
-import React, {ReactElement} from 'react';
-
-export function Header(): ReactElement {
- return (
-
-
-
{'yDaemon'}
-
-
-
-
-
-
-
-
- {'yDaemon'}
-
-
-
-
- );
-}
diff --git a/docs/components/POST.tsx b/docs/components/POST.tsx
deleted file mode 100755
index 4826ec3f3..000000000
--- a/docs/components/POST.tsx
+++ /dev/null
@@ -1,19 +0,0 @@
-import React, {ReactElement} from 'react';
-
-export default function POST({path}: {path: string}): ReactElement {
- return (
-
-
- {'POST'}
-
-
- {path}
-
-
- );
-}
diff --git a/docs/components/QueryArgumentBox.tsx b/docs/components/QueryArgumentBox.tsx
deleted file mode 100755
index f436f1541..000000000
--- a/docs/components/QueryArgumentBox.tsx
+++ /dev/null
@@ -1,23 +0,0 @@
-import React, {ReactElement} from 'react';
-
-type TQueryArgumentBoxProps = {
- title: string;
- description: string;
- children: ReactElement;
-}
-function QueryArgumentBox({title, description, children}: TQueryArgumentBoxProps): ReactElement {
- return (
-
- );
-}
-
-export default QueryArgumentBox;
\ No newline at end of file
diff --git a/docs/middleware.ts b/docs/middleware.ts
deleted file mode 100755
index 4edd31ebb..000000000
--- a/docs/middleware.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-// eslint-disable-next-line @next/next/no-server-import-in-page
-import {NextRequest, NextResponse} from 'next/server';
-
-export const config = {
- matcher: [
- '/docs',
- '/docs/install/:path*',
- '/docs/hooks/:path*'
- ]
-};
-
-export async function middleware(request: NextRequest): Promise {
- if (request.nextUrl.pathname === ('/docs')) {
- const url = request.nextUrl.clone();
- url.pathname = url.pathname.replace('docs', '');
- return NextResponse.redirect(url);
- }
- if (request.nextUrl.pathname.startsWith('/docs/install')) {
- const url = request.nextUrl.clone();
- url.pathname = url.pathname.replace('install', '1-install');
- return NextResponse.redirect(url);
- }
- if (request.nextUrl.pathname.startsWith('/docs/hooks')) {
- const url = request.nextUrl.clone();
- url.pathname = url.pathname.replace('hooks', '3-web3Hooks');
- return NextResponse.redirect(url);
- }
- return NextResponse.next();
-}
diff --git a/docs/next-env.d.ts b/docs/next-env.d.ts
deleted file mode 100755
index 4f11a03dc..000000000
--- a/docs/next-env.d.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-///
-///
-
-// NOTE: This file should not be edited
-// see https://nextjs.org/docs/basic-features/typescript for more information.
diff --git a/docs/next.config.js b/docs/next.config.js
deleted file mode 100755
index 7605a2123..000000000
--- a/docs/next.config.js
+++ /dev/null
@@ -1,28 +0,0 @@
-/* eslint-disable @typescript-eslint/explicit-function-return-type */
-/* eslint-disable no-undef */
-const withNextra = require('nextra')({
- theme: 'nextra-theme-docs',
- themeConfig: './theme.config.js',
- unstable_contentDump: true,
- unstable_flexsearch: true,
- unstable_staticImage: true
-});
-
-/** @type {import('next').NextConfig} */
-const config = {
- reactStrictMode: true,
- typescript: {
- // Disable type checking since eslint handles this
- ignoreBuildErrors: true
- }
-};
-
-if (process.env.NODE_ENV === 'development') {
- const withPreconstruct = require('@preconstruct/next');
- module.exports = withPreconstruct(withNextra(config));
-} else {
- const withBundleAnalyzer = require('@next/bundle-analyzer')({
- enabled: process.env.ANALYZE === 'true'
- });
- module.exports = withBundleAnalyzer(withNextra(config));
-}
diff --git a/docs/package.json b/docs/package.json
deleted file mode 100755
index fcd2887c3..000000000
--- a/docs/package.json
+++ /dev/null
@@ -1,53 +0,0 @@
-{
- "name": "@yearn-finance/ydaemon-doc",
- "version": "0.0.1",
- "private": true,
- "scripts": {
- "dev": "next dev",
- "build": "next build",
- "start": "next start",
- "lint": "next lint"
- },
- "dependencies": {
- "@reach/skip-nav": "^0.18.0",
- "@yearn-finance/web-lib": "^0.13.28",
- "ethers": "^5.7.1",
- "next": "^12.3.1",
- "next-themes": "^0.2.1",
- "next-pwa": "5.6.0",
- "next-seo": "^5.6.0",
- "nextra": "2.0.0-alpha.56",
- "nextra-theme-docs": "2.0.0-alpha.59",
- "react": "^18.2.0",
- "react-dom": "^18.2.0",
- "tailwindcss": "^3.1.8"
- },
- "devDependencies": {
- "@next/bundle-analyzer": "^12.3.1",
- "@next/eslint-plugin-next": "^12.3.1",
- "@preconstruct/next": "^4.0.0",
- "@types/node": "^18.11.0",
- "@types/nprogress": "^0.2.0",
- "@types/react": "^18.0.21",
- "@types/react-dom": "^18.0.6",
- "@typescript-eslint/eslint-plugin": "^5.40.1",
- "@typescript-eslint/parser": "^5.40.1",
- "autoprefixer": "^10.4.12",
- "babel-loader": "^8.2.5",
- "eslint": "^8.25.0",
- "eslint-config-next": "^12.3.1",
- "eslint-import-resolver-typescript": "^3.5.1",
- "eslint-plugin-import": "^2.26.0",
- "eslint-plugin-react": "^7.31.10",
- "eslint-plugin-react-hooks": "^4.6.0",
- "eslint-plugin-tailwindcss": "^3.6.2",
- "eslint-plugin-unused-imports": "^2.0.0",
- "postcss": "^8.4.18",
- "postcss-import": "^15.0.0",
- "postcss-nesting": "^10.2.0",
- "sass": "^1.55.0",
- "sharp": "^0.31.1",
- "ts-loader": "^9.4.1",
- "typescript": "^4.8.4"
- }
-}
diff --git a/docs/pages/_app.tsx b/docs/pages/_app.tsx
deleted file mode 100755
index 5331183cf..000000000
--- a/docs/pages/_app.tsx
+++ /dev/null
@@ -1,25 +0,0 @@
-import React from 'react';
-import {useTheme} from 'next-themes';
-import {useClientEffect} from '@yearn-finance/web-lib';
-import type {AppProps} from 'next/app';
-import '../style.css';
-
-function WrappedApp({Component, pageProps}: AppProps): React.ReactElement {
- const {theme} = useTheme();
-
- useClientEffect((): void => {
- document.body.dataset.theme = theme;
- }, [theme]);
-
- return (
-
- );
-}
-
-function App(props: AppProps): React.ReactElement {
- const getLayout = (props.Component as any).getLayout || ((page: React.ReactElement): React.ReactElement => page); // eslint-disable-line
-
- return (getLayout( ));
-}
-
-export default App;
diff --git a/docs/pages/_document.tsx b/docs/pages/_document.tsx
deleted file mode 100755
index de35ec5d5..000000000
--- a/docs/pages/_document.tsx
+++ /dev/null
@@ -1,59 +0,0 @@
-import React, {ReactElement} from 'react';
-import Document, {DocumentContext, DocumentInitialProps, Head, Html, Main, NextScript} from 'next/document';
-import {SkipNavLink} from '@reach/skip-nav';
-
-const modeScript = `
- let darkModeMediaQuery = window.matchMedia('(prefers-color-scheme: dark)')
-
- updateMode()
- darkModeMediaQuery.addEventListener('change', updateModeWithoutTransitions)
- window.addEventListener('storage', updateModeWithoutTransitions)
-
- function updateMode() {
- let isSystemDarkMode = darkModeMediaQuery.matches
- let isDarkMode = true
-
- if (isDarkMode) {
- document.documentElement.classList.add('dark')
- } else {
- document.documentElement.classList.remove('dark')
- }
-
- if (isDarkMode === isSystemDarkMode) {
- delete window.localStorage.isDarkMode
- }
- }
-
- function updateModeWithoutTransitions() {
- updateMode()
- }
-`;
-
-class MyDocument extends Document {
- static async getInitialProps(ctx: DocumentContext): Promise {
- const initialProps = await Document.getInitialProps(ctx);
- return {...initialProps};
- }
-
- render(): ReactElement {
- return (
-
-
-
-
-
-
-
-
-
-
-
-
- );
- }
-}
-
-export default MyDocument;
diff --git a/docs/pages/docs/daemons/intro.mdx b/docs/pages/docs/daemons/intro.mdx
deleted file mode 100755
index b8937ea23..000000000
--- a/docs/pages/docs/daemons/intro.mdx
+++ /dev/null
@@ -1,99 +0,0 @@
----
-title: 'Daemons Introduction'
----
-
-import Callout from 'nextra-theme-docs/callout'
-
-# Daemons Introduction
-
-![](https://i.imgur.com/LdIgFAf.png)
-
-The Daemons (or _Imps_, as you want) are GoRoutines responsible for fetching, handling, and storing data from various sources to make them available to the rest of the system.
-
-When working with APIs, we usually have to deal with a Database, with external endpoints etc. Querying all of these, especially the Blockchain environment can be really slow, which is not compatible with a proper API.
-
-To reduce the loading time and ensure we always have the most recent data, we need to have a way to fetch the data from the Blockchain, store it in a local shared database, and then expose it to our application: **this is the role of the Daemons**.
-
-
- Goroutines are functions or methods that run concurrently with other functions or methods. Goroutines can be thought of as lightweight threads. The cost of creating a Goroutine is tiny when compared to a thread. Hence it's common for Go applications to have thousands of Goroutines running concurrently. [Learn more](https://golangbot.com/goroutines/).
-
-
-## What is a Daemon doing?
-Every Daemon is responsible for a specific part of the application but is built on top of a common base. We are therefore using the same arguments and the calling functions are almost the same.
-
-#### Arguments
-The arguments are always the same:
-- `chainID`: the chain id of the Blockchain we are working with. This will be used to get the data for the correct working environment but also to same them correctly, avoiding mixing data from different chains.
-- `WaitGroup`: a `sync.WaitGroup` that will be used to sync a group of daemons together, so we can ensure they all finish before we continue with project initialization.
-
-#### Process
-```go
-func runDaemon(chainID uint64, wg *sync.WaitGroup, delay time.Duration, performAction func(chainID uint64)) {
- isDone := false
- for {
- performAction(chainID)
- if !isDone {
- isDone = true
- wg.Done()
- }
- time.Sleep(delay)
- }
-}
-```
-
-The process is the same:
-1. We first try to fetch the data from the local database. Having these ensure we *always* have at least something to serve, even if some endpoints are down.
-2. Once the data from the database is recovered, we init an infinite loop that will perform its task every `interval` time.
-3. The first action of the loop will be to perform its task, no matter which one it is.
-4. Once the task is done (task can soft fail but the loop will continue), the `sync.WaitGroup` will be notified and the `Done` event will be triggered. This will indicate that the group is ready to proceed (first run is done).
-5. The Daemon will sleep for `interval` time and then repeat the process from step 3.
-
-## Database and cache
-### Cache
-The cache (or store) is the in-memory data we use to get fast access to the data we need. It's not a database or any kind of system, just a global variable declared and available in which we can set and get the data we need.
-```go
-var TokenList = make(map[uint64][]common.Address)
-
-// set
-TokenList[chainID] = myUpdatedTokenList
-
-// get
-myTokenList = TokenList[myChainID]
-```
-
-
-### Database
-The Daemon will use a local database to store the data it fetches. This database will be stored in the `ystore` folder. We are using the [Badger](https://github.com/dgraph-io/badger) system for that, which is a basic Key-Value Store.
-
-In a nutshell, it's fast and easy to use. It will create some files in the `ystore` directory to save the data in it. This system ensure we always have the latest **valid** data available in all circumstances, avoiding data loss or endpoints being down because one of the data sources is down. In this situation data may obviously be outdated, but the latest valid one will be served.
-
-Key to the database is the `chainID` of the chain we are working with, appended to some specific key. We have, for instance, `VaultsFromMeta1` for the `VaultsFromMeta` data on chain `1`. The value is an `interface`, aka an abstract object we are required to correctly decode to be accessed.
-
-#### Save the data
-```go
-func SaveInDBForChainID(key string, chainID uint64, value interface{}) {
- SaveInDB(key+strconv.FormatUint(chainID, 10), value)
-}
-
-[...]
-
-store.SaveInDBForChainID(`myDataKey`, myChainID, myData)
-```
-
-
-#### Access the data
-```go
-func LoadFromDBForChainID(key string, chainID uint64, dest interface{}) error {
- err := LoadFromDB(key+strconv.FormatUint(chainID, 10), &dest)
- if err != nil {
- return err
- }
- return nil
-}
-
-[...]
-
-temp := myDataType
-store.LoadFromDBForChainID(`myDataKey`, myChainID, &temp)
-myCachedData[myChainID] = temp
-```
\ No newline at end of file
diff --git a/docs/pages/docs/daemons/list.mdx b/docs/pages/docs/daemons/list.mdx
deleted file mode 100755
index 12e0764a8..000000000
--- a/docs/pages/docs/daemons/list.mdx
+++ /dev/null
@@ -1,105 +0,0 @@
----
-title: 'Daemons'
----
-
-import Callout from 'nextra-theme-docs/callout'
-
-# List of Daemons
-
-## 📰 Data from Yearn Meta
-The [Yearn Meta](https://github.com/yearn/yearn-meta) repository and API contains all the metadata of the Yearn ecosystem. Contents of the [`data`](https://github.com/yearn/yearn-meta/data) directory are synced to IPFS for storage, accessible through our API [meta.yearn.finance](https://meta.yearn.finance). Consistency of the stored data is verified by smalls scripts and schemas.
-
-Yearn Meta is mostly used to provide some human classification or overwrite for some data.
-
-
-
-### Vaults from Meta
-- **Endpoint**: `https://meta.yearn.finance/api/:chainID/vaults/all`
-- **Description**: The [vaults](https://github.com/yearn/yearn-meta/tree/master/data/vaults) directory contains a bunch of relevant information about each Yearn Vaults.
-- **Trigger**: The Daemon will refresh the data every **24 hours** to assert the data is up-to-date.
-- **Automation**: An external webhook is connected to the API to ask for a refresh of the data once a new commit to the `master` branch is performed on the [Yearn Meta](https://github.com/yearn/yearn-meta) repository.
-
-### Tokens from Meta
-- **Endpoint**: `https://meta.yearn.finance/api/:chainID/tokens/all`
-- **Description**: The [tokens](https://github.com/yearn/yearn-meta/tree/master/data/tokens) directory contains a bunch of relevant information about each tokens that may exits in Yearn's ecosystem.
-- **Trigger**: The Daemon will refresh the data every **24 hours** to assert the data is up-to-date.
-- **Automation**: An external webhook is connected to the API to ask for a refresh of the data once a new commit to the `master` branch is performed on the [Yearn Meta](https://github.com/yearn/yearn-meta) repository.
-
-### Strategies from Meta
-- **Endpoint**: `https://meta.yearn.finance/api/:chainID/strategies/all`
-- **Description**: The [strategies](https://github.com/yearn/yearn-meta/tree/master/data/strategies) directory contains a bunch of relevant information about each strategies that may be attached to a Yearn Vault.
-- **Trigger**: The Daemon will refresh the data every **24 hours** to assert the data is up-to-date.
-- **Automation**: An external webhook is connected to the API to ask for a refresh of the data once a new commit to the `master` branch is performed on the [Yearn Meta](https://github.com/yearn/yearn-meta) repository.
-
-
-## 🕸 Data from Subgraph
-The Graph is an indexing protocol for querying networks like Ethereum and IPFS. Anyone can build and publish open APIs, called subgraphs, making data easily accessible. The [Yearn's Subgraph](https://github.com/yearn/yearn-vaults-v2-subgraph/) repository is used to deploy and handle our subgraphs on the supported chainID.
-
-
- Subgraph is divided in two "versions", hosted and self-hosted. One is community driven while the other is the official one. Both are used the same way and both can be trusted, the community one acting as a fallback.
-
-
-### Token List from subgraph
-- **Endpoint**: The subgraph address if different for each chainID. For Mainnet, uri is `https://thegraph.com/hosted-service/subgraph/rareweasel/yearn-vaults-v2-subgraph-mainnet`.
-- **Description**: Perform a graphql request to get the list of all tokens that are registered in the subgraph, via a simple query: `{vaults {shareToken {id} token {id}}}`.
-- **Trigger**: The Daemon will refresh the data every **1 hour** to assert the data is up-to-date.
-- **Automation**: No other automated is performed.
-
-## 🔮 Data from Lens Oracle
-[Yearn Lens](https://docs.yearn.finance/vaults/yearn-lens/) is a series of smart contracts that aggregate and format Yearn family protocol data into standardized interfaces. The [oracle contract](https://etherscan.io/address/0x83d95e0D5f402511dB06817Aff3f9eA88224B030#readContract) is responsible for fetching price information from various sources and is intended for non-critical off-chain calculations. Prices are returned in USDC.
-
-
-
-### Prices from Lens
-- **Endpoint**: Lens contract endpoints depends on the selected chain. Address for Mainnet is `0x83d95e0D5f402511dB06817Aff3f9eA88224B030`.
-- **Description**: Call the `getPriceUsdcRecommended` function within a multicall for each token supported by the Yearn ecosystem to get the USD price of each of them.
-- **Trigger**: The Daemon will refresh the data every **1 minute** to assert the data is up-to-date.
-- **Automation**: No other automated is performed.
-
-
-
-## 🪦 Data from v1 API
-The Yearn V1 API is built based on the [Yearn Exporter](https://github.com/yearn/yearn-exporter) system, which collects realtime on-chain numeric data about all Yearn products and exposes it in multiple formats with an update every 30 minutes. The code is written in Python and mix data analysis with API purposes.
-
-### APY from V1
-- **Endpoint**: `https://api.yearn.finance/v1/chains/:chainID/vaults/all`.
-- **Description**: The API v1 is called to retrieve the APY information for all supported vaults.
-- **Trigger**: The Daemon will refresh the data every **10 minute** to assert the data is up-to-date. Note that the endpoint is updated every 30 minutes.
-- **Automation**: No other automated is performed.
diff --git a/docs/pages/docs/daemons/meta.json b/docs/pages/docs/daemons/meta.json
deleted file mode 100755
index f7181a9a2..000000000
--- a/docs/pages/docs/daemons/meta.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "intro": "Daemons Introduction",
- "list": "List of Daemons"
-}
diff --git a/docs/pages/docs/install-server.mdx b/docs/pages/docs/install-server.mdx
deleted file mode 100755
index bd71b3c8e..000000000
--- a/docs/pages/docs/install-server.mdx
+++ /dev/null
@@ -1,88 +0,0 @@
----
-title: 'Deploy on Cloud'
----
-
-import Callout from 'nextra-theme-docs/callout'
-
-# Deploy on Cloud
-
-
- - We are using Ubuntu 22.04 (LTS) x64 for the server.
- - We are using Golang for the API with GoEthereum, Gorm and GinGonic
-
-
-### server.service
-Run `nano /etc/systemd/system/server.service` and put this default config in it
-```perl
-[Unit]
-Description=Yearn data API
-
-[Service]
-ExecStart=/root/ydaemon/yDaemon
-Restart=always
-EnvironmentFile=/etc/systemd/system/server.conf
-
-[Install]
-WantedBy=multi-user.target
-```
-
-### server.conf
-Run `nano /etc/systemd/system/server.conf` and put the environment variables in it.
-```bash
-RPC_URI_FOR_1=
-RPC_URI_FOR_250=
-RPC_URI_FOR_42161=
-
-# Optional
-WEBHOOK_SECRET=
-GRAPH_API_URI=
-SENTRY_DSN=
-SENTRY_SAMPLE_RATE=
-LOG_LEVEL= # DEBUG, INFO, WARNING, SUCCESS, ERROR
-```
-
-### Needed packages
-Install the packages needed to run the app
-```bash
-sudo apt-get install nginx #for the reverse proxy
-sudo apt-get install certbot python3-certbot-nginx #for the SSL certificate
-sudo apt-get update #some general update
-sudo apt install golang #go
-```
-
-### Nginx configuration
-First, be sure to point your domain name to the API on your DNS configuration.
-Then, we will set up Nginx. First, navigate to the enable websites with `cd /etc/nginx/sites-enabled`, remove the default configuration with `rm -rf default` and create the one for our API with `nano yearn.server.conf`.
-Add this in your nginx configuration file (`yearn.server.conf`). Be sure to replace `ydaemon.yearn.finance` by your own domain.
-```perl
-upstream golang {
- server 127.0.0.1:8080;
- keepalive 4;
-}
-
-server {
- location / {
- proxy_pass http://golang;
- }
-
- listen 80;
- listen [::]:80;
- server_name ydaemon.yearn.finance;
-}
-```
-Run the `sudo certbot --nginx` command to ask for a SSL certificate. Follow the instruction and wait to get a `Successfully received certificate.`.
-
-### Build the executable
-Now we will need to build the executable. First, clone this repo in `~/`.
-You can now build the project the same way you could do it on your machine: `go build -o yDaemon ./cmd && ./yDaemon`
-
-### Start the daemon
-Run the following commands:
-```bash
-systemctl daemon-reload #reload the services
-sudo systemctl start server.service #start your service
-sudo systemctl status server.service #verify that your service is ready
-```
-
-
-
diff --git a/docs/pages/docs/intro.mdx b/docs/pages/docs/intro.mdx
deleted file mode 100755
index 5e5c873a0..000000000
--- a/docs/pages/docs/intro.mdx
+++ /dev/null
@@ -1,42 +0,0 @@
----
-title: 'Introduction'
----
-
-import Callout from 'nextra-theme-docs/callout'
-
-# Introduction
-
-
-
-> Demons are often described as troublesome and mischievous more than seriously threatening or dangerous, and as lesser beings rather than more important supernatural beings.
-
-The yDaemon API is a REST API that provides access to the Yearn data sources. It should provide all the data that the Yearn team needs to build the Yearn ecosystem, based on a system of Daemons, little subprocesses (_Goroutines_) that are responsible for fetching, handling, and storing data from the various sources to make them available to the rest of the system.
-
-You can access the live API at the following URL:
-
-- **https://ydaemon.yearn.finance/**
-
-
- The lib is far from complete and is being actively developed. Some part heavily depends on some other libs and APIs. Please, use it with caution and be aware of the fact that it is not guaranteed to be stable.
- Feel free to contribute to the daemon and report any issues you might encounter.
-
-
-## What is happening on startup?
-
-If you want to learn more about the startup routine check [`cmd/main.go`](https://github.com/yearn/ydaemon/blob/main/cmd/main.go)
-
-## Folder and structure
-The project is organized following the [Go Standards](https://github.com/golang-standards/project-layout) folder structure with some tweaks. In a nutshell, the project is divided as follows:
-- `cmd`: contains the `main.go` entry point for this API. Its role is _only_ to init the project.
-- `contracts`: contains the `.sol` and `.vy` files used to generate the contract `.go` files with `abigen`
-- `internal`: contains the actual code of the API. It's divided into subpackages, each representing a different part of the API, keeping the code clean and easy to maintain.
-
-The `internal` folder is the _private application and library code_. This is the code we don't want others importing in their applications or libraries. This layout pattern is enforced by the Go compiler itself. Inside of it, we have the following subpackages:
-- `contracts`: contains the `abigen` generated contract `.go` files. Theses files should not be altered.
-- `controllers`: contains the logic around the `REST` API: routes, server, actions by route, etc. This is where the entry-point and the wrapper around the logic for a specific `REST` endpoint is.
-- `daemons`: contains all our background processes. They will run forever in the background to update the data we may need in our application.
-- `ethereum`: contains all the logic around the Blockchain calls. It's the place where we call the RPC, connect to the client, call the methods, etc.
-- `logs`: helper package used to display nice logs.
-- `models`: contains all the cross-package types we need.
-- `store`: contains all the cross-package global variables.
-- `utils`: contains all the cross-package utility functions.
\ No newline at end of file
diff --git a/docs/pages/docs/meta.json b/docs/pages/docs/meta.json
deleted file mode 100755
index 883e38f27..000000000
--- a/docs/pages/docs/meta.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "intro": "Introduction",
- "daemons": "Daemons",
- "routes": "API Routes",
- "install-server": "Deploy on Cloud"
-}
diff --git a/docs/pages/docs/routes/index.mdx b/docs/pages/docs/routes/index.mdx
deleted file mode 100755
index b0592d115..000000000
--- a/docs/pages/docs/routes/index.mdx
+++ /dev/null
@@ -1,97 +0,0 @@
----
-title: 'API Introduction'
----
-
-import Callout from 'nextra-theme-docs/callout'
-
-
-# API Introduction
-You can access the live API at the following URL:
-
-- **https://ydaemon.yearn.finance/**
-
-Some routes are exposed to get the underlying data from the Yearn ecosystem. The API is currently in beta, and the endpoints are subject to change. If you have any questions or suggestions, please join the Yearn Discord or open an issue on the [GitHub repository](https://github.com/yearn/ydaemon).
-
-## List of endpoints
-
-### Vaults
-List vaults that are currently active on the Yearn's ecosystem.
-```
-[GET - `vaults/tvl`]: Get the total value locked in the Yearn ecosystem across all vaults for all chains.
-[GET - `{chainID}/vaults/tvl`]: Get the total value locked in the Yearn ecosystem across all vaults for a specific chain.
-[GET - `{chainID}/vaults/all`]: List the vaults for a specific chain.
-[GET - `{chainID}/vaults/{address}`]: Get a specific vault for a specific chain.
-[GET - `{chainID}/vault/{address}`]: Get a specific vault for a specific chain. Alias for `{chainID}/vaults/{address}`.
-[GET - `info/vaults/blacklisted`]: Get the list of blacklisted vaults (aka ignored vaults).
-```
-
-### Strategies
-List strategies that are currently active on the Yearn's ecosystem.
-```
-[GET - `{chainID}/reports/{address}`]: Get the report for a specific strategy for a specific chain.
-```
-
-### Meta
-Metadata files are difficult to put on-chain, so they are stored in `meta-files` which are updated by the yTeam. This APIs provides a way to access this information.
-
-```
-[GET - `api/{chainID}/strategies/all`]: List the meta for the strategies for a specific chain, as it was on the legacy Meta Repository/API.
-[GET - `api/{chainID}/strategies/{address}`]: Get a specific meta for a strategy for a specific chain, as it was on the legacy Meta Repository/API.
-[GET - `{chainID}/meta/strategies`]: List the meta for the strategies for a specific chain, using a new standard structure.
-[GET - `{chainID}/meta/strategies/{address}`]: Get a specific meta for a strategy for a specific chain, using a new standard structure.
-[GET - `{chainID}/meta/strategy/{address}`]: Get a specific meta for a strategy for a specific chain, using a new standard structure. Alias for `{chainID}/meta/strategies/{address}`.
-
-[GET - `api/{chainID}/tokens/all`]: List the meta for the tokens for a specific chain, as it was on the legacy Meta Repository/API.
-[GET - `api/{chainID}/tokens/{address}`]: Get a specific meta for a token for a specific chain, as it was on the legacy Meta Repository/API.
-[GET - `{chainID}/meta/tokens`]: List the meta for the tokens for a specific chain, using a new standard structure.
-[GET - `{chainID}/meta/tokens/{address}`]: Get a specific meta for a token for a specific chain, using a new standard structure.
-[GET - `{chainID}/meta/token/{address}`]: Get a specific meta for a token for a specific chain, using a new standard structure. Alias for `{chainID}/meta/tokens/{address}`.
-
-[GET - `api/{chainID}/vaults/all`]: List the meta for the vaults for a specific chain, as it was on the legacy Meta Repository/API.
-[GET - `api/{chainID}/vaults/{address}`]: Get a specific meta for a vault for a specific chain, as it was on the legacy Meta Repository/API.
-[GET - `{chainID}/meta/vaults`]: List the meta for the vaults for a specific chain, using a new standard structure.
-[GET - `{chainID}/meta/vaults/{address}`]: Get a specific meta for a vault for a specific chain, using a new standard structure.
-[GET - `{chainID}/meta/vault/{address}`]: Get a specific meta for a vault for a specific chain, using a new standard structure. Alias for `{chainID}/meta/vaults/{address}`.
-
-[GET - `api/{chainID}/protocols/all`]: List the meta for the protocols for a specific chain, as it was on the legacy Meta Repository/API.
-[GET - `api/{chainID}/protocols/{name}`]: Get a specific meta for a protocol for a specific chain, as it was on the legacy Meta Repository/API.
-[GET - `{chainID}/meta/protocols`]: List the meta for the protocols for a specific chain, using a new standard structure.
-[GET - `{chainID}/meta/protocols/{name}`]: Get a specific meta for a protocol for a specific chain, using a new standard structure.
-[GET - `{chainID}/meta/protocol/{name}`]: Get a specific meta for a protocol for a specific chain, using a new standard structure. Alias for `{chainID}/meta/protocols/{address}`.
-```
-
-### Tokens
-Information about the tokens from Yearn's ecosystem.
-```
-[GET - `tokens/all`]: List all the tokens for all chains.
-[GET - `{chainID}/tokens/all`]: List all the tokens for a specific chain.
-[GET - `api/tokens/list`]: Access the Yearn's Token List for mainnet.
-```
-
-### Prices
-List prices of tokens in USD.
-```
-[GET - `prices/all`]: List all the prices for all chains.
-[GET - `{chainID}/prices/all`]: List all the prices for a specific chain.
-[GET - `{chainID}/prices/{address}`]: Get a specific price for a specific chain.
-[GET - `{chainID}/prices/some/{addresses}`]: List the prices for a list of addresses for a specific chain.
-```
-
-### Misc
-Uncategorized API endpoints.
-```
-[GET - `info/chains`]: List of supported chains.
-[POST - `{chainID}/graph`]: Proxy a request to the subgraph for a specific chain.
-```
-
-### Parners
-List information about Yearn Partners.
-
- This is a work in progress, and the endpoints may be deleted.
-
-```
-[GET - `partners/count`]: Returns the number of partners.
-[GET - `partners/all`]: List all the parners for all chains.
-[GET - `{chainID}/partners/all`]: List all the parners for a specific chain.
-[GET - `{chainID}/partners/{addressOrName}`]: Get a specific partner for a specific chain based on the address or name.
-```
diff --git a/docs/pages/docs/routes/meta.json b/docs/pages/docs/routes/meta.json
deleted file mode 100755
index a5b08b8f8..000000000
--- a/docs/pages/docs/routes/meta.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "index": "API Introduction",
- "vaults": "Vaults",
- "strategies": "Strategies",
- "prices": "Prices",
- "tokens": "Tokens",
- "metaVaults": "Vaults From Meta",
- "metaStrategies": "Strategies From Meta",
- "metaTokens": "Tokens From Meta",
- "metaProtocols": "Protocols From Meta",
- "misc": "Misc",
- "partners": "Partners"
-}
diff --git a/docs/pages/docs/routes/metaProtocols.mdx b/docs/pages/docs/routes/metaProtocols.mdx
deleted file mode 100755
index d63179981..000000000
--- a/docs/pages/docs/routes/metaProtocols.mdx
+++ /dev/null
@@ -1,138 +0,0 @@
-import GET from '../../../components/GET.tsx'
-import Dropdown from '../../../components/Dropdown.tsx'
-import QueryArgumentBox from '../../../components/QueryArgumentBox.tsx'
-
-# Protocols Meta API
-The Meta API provides information about various entities in the Yearn ecosystem. This includes information about the strategies, vaults, tokens and protocols.
-
-Because metadata files are difficult to put on-chain, they are stored in `meta-files` which are updated by the yTeam. This API provides a way to access this information.
-
-Here are the paths for the protocols meta API:
-```
-[GET - `{chainID}/meta/protocols`]: List the meta for the protocols for a specific chain.
-[GET - `{chainID}/meta/protocols/{name}`]: Get a specific meta for a protocol for a specific chain.
-[GET - `{chainID}/meta/protocol/{name}`]: Get a specific meta for a protocol for a specific chain. Alias for `{chainID}/meta/protocols/{address}`.
-[GET - `api/{chainID}/protocols/all`]: List the meta for the protocols for a specific chain, as it was on the legacy Meta Repository/API.
-[GET - `api/{chainID}/protocols/{name}`]: Get a specific meta for a protocol for a specific chain, as it was on the legacy Meta Repository/API.
-```
-
----------------------------------------------------------------------------------------------------
-
-### Get All Protocols
-**Get all Protocols**: REST API endpoint to get all the protocols meta for a specific chain.
-
-This route has 1 alias:
--
-
-#### Request
-
- - **chainID**: The chainID of the chain you want to get the protocols for. Must be provided in the URL, and must be one of the [supported](/docs/routes/misc#-get-supported-chains) chains.
-
-
-
-
- ```sh
- ?loc=en # default
- ```
-
-
-
-#### Response
-
- ```go
- type TProtocolsFromMeta struct {
- Name string `json:"name"`
- Description string `json:"description"`
- Localization struct {
- En TLocalizationDetails `json:"en"`
- Fr TLocalizationDetails `json:"fr"`
- Es TLocalizationDetails `json:"es"`
- De TLocalizationDetails `json:"de"`
- Pt TLocalizationDetails `json:"pt"`
- El TLocalizationDetails `json:"el"`
- Tr TLocalizationDetails `json:"tr"`
- Vi TLocalizationDetails `json:"vi"`
- Zh TLocalizationDetails `json:"zh"`
- Hi TLocalizationDetails `json:"hi"`
- Ja TLocalizationDetails `json:"ja"`
- Id TLocalizationDetails `json:"id"`
- Ru TLocalizationDetails `json:"ru"`
- } `json:"localization,omitempty"`
- }[]
- ```
-
- ```json
- // https://ydaemon.yearn.finance/api/250/protocols/all?loc=en
- [{
- "name": "SpiritSwap",
- "description": "SpiritSwap is an automated market maker protocol on the Fantom network. It's a decentralized liquidity aggregator where users can add their assets to several different liquidity pools and earn fees."
- }]
- ```
-
-
- - `400 - invalid chainID`: The provided chainID is not supported.
- - `404 - no data available`: no data is available for the provided chainID.
-
----------------------------------------------------------------------------------------------------
-
-### Get One Protocol
-**Get One Protocol**: REST API endpoint to get the metadata about one specific protocol for a specific chain.
-
-This route has 2 aliases:
--
--
-
-#### Request
-
- - **chainID**: The chainID of the chain you want to get the protocol for. Must be provided in the URL, and must be one of the [supported](/docs/routes/misc#-get-supported-chains) chains.
- - **name**: The name of the protocol you want to get the information for.
-
-
-
-
- ```sh
- ?loc=en # default
- ```
-
-
-
-#### Response
-
- ```go
- type TProtocolsFromMeta struct {
- Name string `json:"name"`
- Description string `json:"description"`
- Localization struct {
- En TLocalizationDetails `json:"en"`
- Fr TLocalizationDetails `json:"fr"`
- Es TLocalizationDetails `json:"es"`
- De TLocalizationDetails `json:"de"`
- Pt TLocalizationDetails `json:"pt"`
- El TLocalizationDetails `json:"el"`
- Tr TLocalizationDetails `json:"tr"`
- Vi TLocalizationDetails `json:"vi"`
- Zh TLocalizationDetails `json:"zh"`
- Hi TLocalizationDetails `json:"hi"`
- Ja TLocalizationDetails `json:"ja"`
- Id TLocalizationDetails `json:"id"`
- Ru TLocalizationDetails `json:"ru"`
- } `json:"localization,omitempty"`
- }
- ```
-
- ```json
- // https://ydaemon.yearn.finance/250/meta/protocol/SpiritSwap
- {
- "name": "SpiritSwap",
- "description": "SpiritSwap is an automated market maker protocol on the Fantom network. It's a decentralized liquidity aggregator where users can add their assets to several different liquidity pools and earn fees."
- }
- ```
-
-
- - `400 - invalid chainID`: The provided chainID is not supported.
- - `404 - no data available`: no data is available for the provided chainID/name
-
diff --git a/docs/pages/docs/routes/metaStrategies.mdx b/docs/pages/docs/routes/metaStrategies.mdx
deleted file mode 100755
index 0ff2fd654..000000000
--- a/docs/pages/docs/routes/metaStrategies.mdx
+++ /dev/null
@@ -1,179 +0,0 @@
-import GET from '../../../components/GET.tsx'
-import Dropdown from '../../../components/Dropdown.tsx'
-import QueryArgumentBox from '../../../components/QueryArgumentBox.tsx'
-
-# Strategies Meta API
-The Meta API provides information about various entities in the Yearn ecosystem. This includes information about the strategies, vaults, tokens and protocols.
-
-Because metadata files are difficult to put on-chain, they are stored in `meta-files` which are updated by the yTeam. This API provides a way to access this information.
-
-Here are the paths for the strategies meta API:
-```
-[GET - `{chainID}/meta/strategies`]: List the meta for the strategies for a specific chain.
-[GET - `{chainID}/meta/strategies/{address}`]: Get a specific meta for a strategy for a specific chain.
-[GET - `{chainID}/meta/strategy/{address}`]: Get a specific meta for a strategy for a specific chain. Alias for `{chainID}/meta/strategies/{address}`.
-[GET - `api/{chainID}/strategies/all`]: List the meta for the strategies for a specific chain, as it was on the legacy Meta Repository/API.
-[GET - `api/{chainID}/strategies/{address}`]: Get a specific meta for a strategy for a specific chain, as it was on the legacy Meta Repository/API.
-```
-
----------------------------------------------------------------------------------------------------
-
-### Get All Strategies
-**Get all Strategies**: REST API endpoint to get all the strategies meta for a specific chain.
-
-This route has 1 alias:
--
-
-#### Request
-
- - **chainID**: The chainID of the chain you want to get the strategies for. Must be provided in the URL, and must be one of the [supported](/docs/routes/misc#-get-supported-chains) chains.
-
-
-
-
- ```sh
- ?loc=en # default
- ```
-
-
-
-#### Response
-
- ```go
- type TStrategyFromMeta struct {
- Name string `json:"name"`
- Description string `json:"description"`
- Addresses []common.Address `json:"addresses"`
- Protocols []string `json:"protocols"`
- Localization struct {
- En TLocalizationDetails `json:"en"`
- Fr TLocalizationDetails `json:"fr"`
- Es TLocalizationDetails `json:"es"`
- De TLocalizationDetails `json:"de"`
- Pt TLocalizationDetails `json:"pt"`
- El TLocalizationDetails `json:"el"`
- Tr TLocalizationDetails `json:"tr"`
- Vi TLocalizationDetails `json:"vi"`
- Zh TLocalizationDetails `json:"zh"`
- Hi TLocalizationDetails `json:"hi"`
- Ja TLocalizationDetails `json:"ja"`
- Id TLocalizationDetails `json:"id"`
- Ru TLocalizationDetails `json:"ru"`
- } `json:"localization,omitempty"`
- }[]
- ```
-
- ```json
- // https://ydaemon.yearn.finance/api/250/strategies/all?loc=en
- [{
- "name": "Masterchef Generic Reinvest",
- "description": "Supplies {{token}} to a generic masterchef genesis pool to earn protocol tokens. Earned tokens are harvested, sold for more {{token}} which is deposited back into the strategy.",
- "addresses": [
- "0x2327585bc4E6E505459C61CBF9a358a3558D6600",
- "0x6F1563CAA81004E87a7F3c476E19B355A11fc4eD",
- "0xfeb61a9E0B4A55f65875486c61Bf313B32C48A46",
- "0x28F2fB6730d5dbeFc4FF9eB375Bbf33BcB36e774",
- "0xf84DD489ad9f55e95593eB266d9D4C1490ece915",
- "0xE635905E321e404027bC369fF7FD5Ad63C26975f",
- "0x4cF620a388d36Fb527ddc03a515b8677c14A967a",
- "0x82CbD2AF730D3dC3715873eA030851D7f3206Bcd",
- "0x67ac0F693C80a37c5a9C2e943e05668615B4Dbeb",
- "0x32aC76a38027C95662d727aee9D9Bb3028197ba7",
- "0xEc28a9708c94605AF291f6De29f291dF74877198",
- "0xeDC42841C4F98e2b1700970041888452D47f8832"
- ],
- "protocols": [
-
- ]
- }]
- ```
-
-
- - `400 - invalid chainID`: The provided chainID is not supported.
- - `404 - no data available`: no data is available for the provided chainID.
-
----------------------------------------------------------------------------------------------------
-
-### Get One Strategy
-**Get One Strategy**: REST API endpoint to get the metadata about one specific strategy for a specific chain.
-
-This route has 2 aliases:
--
--
-
-#### Request
-
- - **chainID**: The chainID of the chain you want to get the strategy for. Must be provided in the URL, and must be one of the [supported](/docs/routes/misc#-get-supported-chains) chains.
- - **address**: The address of the strategy you want to get the information for.
-
-
-
-
-
- ```sh
- ?loc=en # default
- ```
-
-
-
-
-#### Response
-
- ```go
- type TStrategyFromMeta struct {
- Name string `json:"name"`
- Description string `json:"description"`
- Addresses []common.Address `json:"addresses"`
- Protocols []string `json:"protocols"`
- Localization struct {
- En TLocalizationDetails `json:"en"`
- Fr TLocalizationDetails `json:"fr"`
- Es TLocalizationDetails `json:"es"`
- De TLocalizationDetails `json:"de"`
- Pt TLocalizationDetails `json:"pt"`
- El TLocalizationDetails `json:"el"`
- Tr TLocalizationDetails `json:"tr"`
- Vi TLocalizationDetails `json:"vi"`
- Zh TLocalizationDetails `json:"zh"`
- Hi TLocalizationDetails `json:"hi"`
- Ja TLocalizationDetails `json:"ja"`
- Id TLocalizationDetails `json:"id"`
- Ru TLocalizationDetails `json:"ru"`
- } `json:"localization,omitempty"`
- }
- ```
-
- ```json
- // https://ydaemon.yearn.finance/api/250/strategies/0x6F1563CAA81004E87a7F3c476E19B355A11fc4eD
- {
- "name": "Masterchef Generic Reinvest",
- "description": "Supplies {{token}} to a generic masterchef genesis pool to earn protocol tokens. Earned tokens are harvested, sold for more {{token}} which is deposited back into the strategy.",
- "addresses": [
- "0x2327585bc4E6E505459C61CBF9a358a3558D6600",
- "0x6F1563CAA81004E87a7F3c476E19B355A11fc4eD",
- "0xfeb61a9E0B4A55f65875486c61Bf313B32C48A46",
- "0x28F2fB6730d5dbeFc4FF9eB375Bbf33BcB36e774",
- "0xf84DD489ad9f55e95593eB266d9D4C1490ece915",
- "0xE635905E321e404027bC369fF7FD5Ad63C26975f",
- "0x4cF620a388d36Fb527ddc03a515b8677c14A967a",
- "0x82CbD2AF730D3dC3715873eA030851D7f3206Bcd",
- "0x67ac0F693C80a37c5a9C2e943e05668615B4Dbeb",
- "0x32aC76a38027C95662d727aee9D9Bb3028197ba7",
- "0xEc28a9708c94605AF291f6De29f291dF74877198",
- "0xeDC42841C4F98e2b1700970041888452D47f8832"
- ],
- "protocols": [
-
- ]
- }
- ```
-
-
- - `400 - invalid chainID`: The provided chainID is not supported.
- - `400 - invalid address`: The provided token address is not a valid Ethereum address or is blacklisted for this network.
- - `404 - no data available`: no data is available for the provided chainID.
-
\ No newline at end of file
diff --git a/docs/pages/docs/routes/metaTokens.mdx b/docs/pages/docs/routes/metaTokens.mdx
deleted file mode 100755
index b8a070e41..000000000
--- a/docs/pages/docs/routes/metaTokens.mdx
+++ /dev/null
@@ -1,160 +0,0 @@
-import GET from '../../../components/GET.tsx'
-import Dropdown from '../../../components/Dropdown.tsx'
-import QueryArgumentBox from '../../../components/QueryArgumentBox.tsx'
-
-# Tokens Meta API
-The Meta API provides information about various entities in the Yearn ecosystem. This includes information about the strategies, vaults, tokens and protocols.
-
-Because metadata files are difficult to put on-chain, they are stored in `meta-files` which are updated by the yTeam. This API provides a way to access this information.
-
-Here are the paths for the tokens meta API:
-```
-[GET - `{chainID}/meta/tokens`]: List the meta for the tokens for a specific chain.
-[GET - `{chainID}/meta/tokens/{address}`]: Get a specific meta for a token for a specific chain.
-[GET - `{chainID}/meta/token/{address}`]: Get a specific meta for a token for a specific chain. Alias for `{chainID}/meta/tokens/{address}`.
-[GET - `api/{chainID}/tokens/all`]: List the meta for the tokens for a specific chain, as it was on the legacy Meta Repository/API.
-[GET - `api/{chainID}/tokens/{address}`]: Get a specific meta for a token for a specific chain, as it was on the legacy Meta Repository/API.
-```
-
----------------------------------------------------------------------------------------------------
-
-### Get All Tokens
-**Get all Tokens**: REST API endpoint to get all the tokens meta for a specific chain.
-
-This route has 1 alias:
--
-
-#### Request
-
- - **chainID**: The chainID of the chain you want to get the tokens for. Must be provided in the URL, and must be one of the [supported](/docs/routes/misc#-get-supported-chains) chains.
-
-
-
-
- ```sh
- ?loc=en # default
- ```
-
-
-
-#### Response
-
- ```go
- type TTokenFromMeta struct {
- Address common.Address `json:"address"`
- Name string `json:"name"`
- Symbol string `json:"symbol"`
- Description string `json:"description"`
- Website string `json:"website"`
- Categories []string `json:"categories"`
- Localization struct {
- En TLocalizationDetails `json:"en"`
- Fr TLocalizationDetails `json:"fr"`
- Es TLocalizationDetails `json:"es"`
- De TLocalizationDetails `json:"de"`
- Pt TLocalizationDetails `json:"pt"`
- El TLocalizationDetails `json:"el"`
- Tr TLocalizationDetails `json:"tr"`
- Vi TLocalizationDetails `json:"vi"`
- Zh TLocalizationDetails `json:"zh"`
- Hi TLocalizationDetails `json:"hi"`
- Ja TLocalizationDetails `json:"ja"`
- Id TLocalizationDetails `json:"id"`
- Ru TLocalizationDetails `json:"ru"`
- } `json:"localization,omitempty"`
- }[]
- ```
-
- ```json
- // https://ydaemon.yearn.finance/api/250/tokens/all?loc=en
- [{
- "address": "0x321162Cd933E2Be498Cd2267a90534A804051b11",
- "name": "",
- "symbol": "BTC",
- "description": "Wrapped Bitcoin is a tokenized version of Bitcoin (BTC) that runs on the Ethereum blockchain. The Wrapped Tokens project, of which WBTC is a part, was founded as a joint project of three organizations: BitGo, Kyber Network and Ren. BitGo also serves as the entity that holds WBTC tokens and the keys needed to mint more of them. WBTC is backed by Bitcoin at a 1:1 ratio via a network of automatically monitored merchants and custodians.",
- "website": "https://www.wbtc.network/",
- "categories": [
- "Wrapped or Synthetic Assets"
- ]
- }]
- ```
-
-
- - `400 - invalid chainID`: The provided chainID is not supported.
- - `404 - no data available`: no data is available for the provided chainID.
-
-
----------------------------------------------------------------------------------------------------
-
-### Get One Token
-**Get One Token**: REST API endpoint to get the metadata about one specific token for a specific chain.
-
-This route has 2 aliases:
--
--
-
-#### Request
-
- - **chainID**: The chainID of the chain you want to get the token for. Must be provided in the URL, and must be one of the [supported](/docs/routes/misc#-get-supported-chains) chains.
- - **address**: The address of the token you want to get the information for.
-
-
-
-
- ```sh
- ?loc=en # default
- ```
-
-
-
-#### Response
-
- ```go
- type TTokenFromMeta struct {
- Address common.Address `json:"address"`
- Name string `json:"name"`
- Symbol string `json:"symbol"`
- Description string `json:"description"`
- Website string `json:"website"`
- Categories []string `json:"categories"`
- Localization struct {
- En TLocalizationDetails `json:"en"`
- Fr TLocalizationDetails `json:"fr"`
- Es TLocalizationDetails `json:"es"`
- De TLocalizationDetails `json:"de"`
- Pt TLocalizationDetails `json:"pt"`
- El TLocalizationDetails `json:"el"`
- Tr TLocalizationDetails `json:"tr"`
- Vi TLocalizationDetails `json:"vi"`
- Zh TLocalizationDetails `json:"zh"`
- Hi TLocalizationDetails `json:"hi"`
- Ja TLocalizationDetails `json:"ja"`
- Id TLocalizationDetails `json:"id"`
- Ru TLocalizationDetails `json:"ru"`
- } `json:"localization,omitempty"`
- }
- ```
-
- ```json
- // https://ydaemon.yearn.finance/250/meta/tokens/0x321162Cd933E2Be498Cd2267a90534A804051b11
- {
- "address": "0x321162Cd933E2Be498Cd2267a90534A804051b11",
- "name": "",
- "symbol": "BTC",
- "description": "Wrapped Bitcoin is a tokenized version of Bitcoin (BTC) that runs on the Ethereum blockchain. The Wrapped Tokens project, of which WBTC is a part, was founded as a joint project of three organizations: BitGo, Kyber Network and Ren. BitGo also serves as the entity that holds WBTC tokens and the keys needed to mint more of them. WBTC is backed by Bitcoin at a 1:1 ratio via a network of automatically monitored merchants and custodians.",
- "website": "https://www.wbtc.network/",
- "categories": [
- "Wrapped or Synthetic Assets"
- ]
- }
- ```
-
-
- - `400 - invalid chainID`: The provided chainID is not supported.
- - `400 - invalid address`: The provided token address is not a valid Ethereum address or is blacklisted for this network.
- - `404 - no data available`: no data is available for the provided chainID.
-
\ No newline at end of file
diff --git a/docs/pages/docs/routes/metaVaults.mdx b/docs/pages/docs/routes/metaVaults.mdx
deleted file mode 100755
index fdde9079f..000000000
--- a/docs/pages/docs/routes/metaVaults.mdx
+++ /dev/null
@@ -1,219 +0,0 @@
-import Callout from 'nextra-theme-docs/callout'
-import Dropdown from '../../../components/Dropdown.tsx'
-import GET from '../../../components/GET.tsx'
-import QueryArgumentBox from '../../../components/QueryArgumentBox.tsx'
-
-# Vaults Meta API
-The Meta API provides information about various entities in the Yearn ecosystem, including information about the strategies, vaults, tokens and protocols.
-
-Because metadata files are difficult to put on-chain, they are stored in `meta-files` which are updated by the yTeam. This API provides a way to access this information.
-
-Here are the paths for the vaults meta API:
-```
-[GET - `{chainID}/meta/vaults`]: List the meta for the vaults for a specific chain.
-[GET - `{chainID}/meta/vaults/{address}`]: Get a specific meta for a vault for a specific chain.
-[GET - `{chainID}/meta/vault/{address}`]: Get a specific meta for a vault for a specific chain. Alias for `{chainID}/meta/vaults/{address}`.
-[GET - `api/{chainID}/vaults/all`]: List the meta for the vaults for a specific chain, as it was on the legacy Meta Repository/API.
-[GET - `api/{chainID}/vaults/{address}`]: Get a specific meta for a vault for a specific chain, as it was on the legacy Meta Repository/API.
-```
-
----------------------------------------------------------------------------------------------------
-
-### Get All Vaults
-**Get all Vaults**: REST API endpoint to get all the vaults meta for a specific chain.
-
-#### Request
-
- - **chainID**: The chainID of the chain you want to get the vaults for. Must be provided in the URL, and must be one of the [supported](/docs/routes/misc#-get-supported-chains) chains.
-
-
- N/A
-
-
-#### Response
-
- ```go
- map[common.Address] struct {
- Address common.Address `json:"address"`
- MigrationTargetVault common.Address `json:"migrationTargetVault"`
- MigrationContract common.Address `json:"migrationContract"`
- DisplayName string `json:"displayName"`
- Comment string `json:"comment"`
- APYTypeOverride string `json:"apyTypeOverride"`
- APYOverride float64 `json:"apyOverride"`
- Order float32 `json:"order"`
- HideAlways bool `json:"hideAlways"`
- DepositsDisabled bool `json:"depositsDisabled"`
- WithdrawalsDisabled bool `json:"withdrawalsDisabled"`
- MigrationAvailable bool `json:"migrationAvailable"`
- AllowZapIn bool `json:"allowZapIn"`
- AllowZapOut bool `json:"allowZapOut"`
- Retired bool `json:"retired"`
- }
- ```
-
- ```json
- // https://ydaemon.yearn.finance/250/meta/vaults
- {
- "0xA97E7dA01C7047D6a65f894c99bE8c832227a8BC": {
- "address": "0xA97E7dA01C7047D6a65f894c99bE8c832227a8BC",
- "migrationTargetVault": "0x0000000000000000000000000000000000000000",
- "migrationContract": "0x0000000000000000000000000000000000000000",
- "displayName": "Curve MIM 3Pool",
- "comment": "Curve MIM 3Pool",
- "apyTypeOverride": "",
- "apyOverride": 0,
- "order": 8,
- "hideAlways": false,
- "depositsDisabled": false,
- "withdrawalsDisabled": false,
- "migrationAvailable": false,
- "allowZapIn": true,
- "allowZapOut": true,
- "retired": false
- },
- ...
- }
- ```
-
-
- - `400 - invalid chainID`: The provided chainID is not supported.
- - `404 - no data available`: no data is available for the provided chainID.
-
-
----------------------------------------------------------------------------------------------------
-
-### Get One Token
-**Get One Token**: REST API endpoint to get the metadata about one specific vault for a specific chain.
-
-This route has 2 aliases:
--
--
-
-#### Request
-
- - **chainID**: The chainID of the chain you want to get the vault for. Must be provided in the URL, and must be one of the [supported](/docs/routes/misc#-get-supported-chains) chains.
- - **address**: The address of the vault you want to get the information for.
-
-
- N/A
-
-
-#### Response
-
- ```go
- type TVaultFromMeta struct {
- Address common.Address `json:"address"`
- MigrationTargetVault common.Address `json:"migrationTargetVault"`
- MigrationContract common.Address `json:"migrationContract"`
- DisplayName string `json:"displayName"`
- Comment string `json:"comment"`
- APYTypeOverride string `json:"apyTypeOverride"`
- APYOverride float64 `json:"apyOverride"`
- Order float32 `json:"order"`
- HideAlways bool `json:"hideAlways"`
- DepositsDisabled bool `json:"depositsDisabled"`
- WithdrawalsDisabled bool `json:"withdrawalsDisabled"`
- MigrationAvailable bool `json:"migrationAvailable"`
- AllowZapIn bool `json:"allowZapIn"`
- AllowZapOut bool `json:"allowZapOut"`
- Retired bool `json:"retired"`
- }
- ```
-
- ```json
- // https://ydaemon.yearn.finance/250/meta/vaults/0xA97E7dA01C7047D6a65f894c99bE8c832227a8BC
- {
- "address": "0xA97E7dA01C7047D6a65f894c99bE8c832227a8BC",
- "migrationTargetVault": "0x0000000000000000000000000000000000000000",
- "migrationContract": "0x0000000000000000000000000000000000000000",
- "displayName": "Curve MIM 3Pool",
- "comment": "Curve MIM 3Pool",
- "apyTypeOverride": "",
- "apyOverride": 0,
- "order": 8,
- "hideAlways": false,
- "depositsDisabled": false,
- "withdrawalsDisabled": false,
- "migrationAvailable": false,
- "allowZapIn": true,
- "allowZapOut": true,
- "retired": false
- }
- ```
-
-
- - `400 - invalid chainID`: The provided chainID is not supported.
- - `400 - invalid address`: The provided token address is not a valid Ethereum address or is blacklisted for this network.
- - `404 - no data available`: no data is available for the provided chainID.
-
-
----------------------------------------------------------------------------------------------------
-
-### Get All Vaults (deprecated)
-
-
- This route has been created to match the legacy Meta Repository/API. It is deprecated and will be removed in the future.
- Please use the new standard structure instead.
-
-
-**Get all Vaults**: REST API endpoint to get all the vaults meta for a specific chain.
-
-#### Request
-
- - **chainID**: The chainID of the chain you want to get the vaults for. Must be provided in the URL, and must be one of the [supported](/docs/routes/misc#-get-supported-chains) chains.
-
-
- N/A
-
-
-#### Response
-
- ```go
- type TVaultFromMeta struct {
- Address common.Address `json:"address"`
- MigrationTargetVault common.Address `json:"migrationTargetVault"`
- MigrationContract common.Address `json:"migrationContract"`
- DisplayName string `json:"displayName"`
- Comment string `json:"comment"`
- APYTypeOverride string `json:"apyTypeOverride"`
- APYOverride float64 `json:"apyOverride"`
- Order float32 `json:"order"`
- HideAlways bool `json:"hideAlways"`
- DepositsDisabled bool `json:"depositsDisabled"`
- WithdrawalsDisabled bool `json:"withdrawalsDisabled"`
- MigrationAvailable bool `json:"migrationAvailable"`
- AllowZapIn bool `json:"allowZapIn"`
- AllowZapOut bool `json:"allowZapOut"`
- Retired bool `json:"retired"`
- }[]
- ```
-
- ```json
- // https://ydaemon.yearn.finance/api/250/vaults/all
- [
- {
- "address": "0xA97E7dA01C7047D6a65f894c99bE8c832227a8BC",
- "migrationTargetVault": "0x0000000000000000000000000000000000000000",
- "migrationContract": "0x0000000000000000000000000000000000000000",
- "displayName": "Curve MIM 3Pool",
- "comment": "Curve MIM 3Pool",
- "apyTypeOverride": "",
- "apyOverride": 0,
- "order": 8,
- "hideAlways": false,
- "depositsDisabled": false,
- "withdrawalsDisabled": false,
- "migrationAvailable": false,
- "allowZapIn": true,
- "allowZapOut": true,
- "retired": false
- },
- ...
- ]
- ```
-
-
- - `400 - invalid chainID`: The provided chainID is not supported.
- - `404 - no data available`: no data is available for the provided chainID.
-
\ No newline at end of file
diff --git a/docs/pages/docs/routes/misc.mdx b/docs/pages/docs/routes/misc.mdx
deleted file mode 100755
index 129a5dabe..000000000
--- a/docs/pages/docs/routes/misc.mdx
+++ /dev/null
@@ -1,64 +0,0 @@
-import GET from '../../../components/GET.tsx'
-import POST from '../../../components/POST.tsx'
-import Dropdown from '../../../components/Dropdown.tsx'
-import QueryArgumentBox from '../../../components/QueryArgumentBox.tsx'
-
-# Misc API
-Uncategorized API endpoints.
-
-```
-[GET - `info/chains`]: List of supported chains.
-[POST - `{chainID}/graph`]: Proxy a request to the subgraph for a specific chain.
-```
-
----------------------------------------------------------------------------------------------------
-
-### Get Supported Chains
-**Get Supported Chains**: REST API endpoint to get the list of supported chains
-
-#### Request
-
- N/A
-
-
- N/A
-
-
-#### Response
-
- ```go
- []uint64{}
- ```
-
- ```json
- [1, 10, 250, 42161]
- ```
-
-
- N/A
-
-
----------------------------------------------------------------------------------------------------
-
-### Query Subgraph
-**Query Subgraph**: This special endpoint can be used to query the subgraph for a specific chain. By using it you don't have to worry about the subgraph URL. The endpoint will automatically use the correct subgraph URL for the query. This is mostly a proxy, and an experimental feature. The response is the same as the subgraph response.
-
-#### Request
-
- - **chainID**: The chainID of the chain you want to get the Prices for. Must be provided in the URL, and must be one of the [supported](/docs/routes/misc#-get-supported-chains) chains.
-
-
- Any valid GraphQl request
-
-
-#### Response
-
- GraphQl response matching your request
-
-
- - `400 - invalid chainID`: The provided chainID is not supported.
- - `500 - impossible to fetch subgraph`: yDaemon was unable to connect to the subgraph.
- - `500 - invalid graphQL response`: yDaemon was unable to parse the response from the subgraph.
-
-
----------------------------------------------------------------------------------------------------
diff --git a/docs/pages/docs/routes/partners.mdx b/docs/pages/docs/routes/partners.mdx
deleted file mode 100755
index 7d42817ae..000000000
--- a/docs/pages/docs/routes/partners.mdx
+++ /dev/null
@@ -1,15 +0,0 @@
-import Callout from 'nextra-theme-docs/callout'
-
-# Partners API
-List information about Yearn Partners.
-```
-[GET - `partners/count`]: Returns the number of partners.
-[GET - `partners/all`]: List all the parners for all chains.
-[GET - `{chainID}/partners/all`]: List all the parners for a specific chain.
-[GET - `{chainID}/partners/{addressOrName}`]: Get a specific partner for a specific chain based on the address or name.
-```
-
-
-
- This is a work in progress, and the endpoints may be deleted.
-
\ No newline at end of file
diff --git a/docs/pages/docs/routes/prices.mdx b/docs/pages/docs/routes/prices.mdx
deleted file mode 100755
index 6a4e8a9e1..000000000
--- a/docs/pages/docs/routes/prices.mdx
+++ /dev/null
@@ -1,250 +0,0 @@
-import GET from '../../../components/GET.tsx'
-import Dropdown from '../../../components/Dropdown.tsx'
-import QueryArgumentBox from '../../../components/QueryArgumentBox.tsx'
-
-# Prices API
-List prices of tokens in USD. Prices are updated every minute and are based on 3 data sources:
-- The Lens Oracle Contract via the `getPriceUsdcRecommended` method
-- The Curve API to get the price of both the LPs and the Underlying tokens
-- The Yearn Vaults PricePerShare to be able to get the price of the yTokens based on the price of the underlying token
-
-```
-[GET - `prices/all`]: List all the prices for all chains.
-[GET - `{chainID}/prices/all`]: List all the prices for a specific chain.
-[GET - `{chainID}/prices/{address}`]: Get a specific price for a specific chain.
-[GET - `{chainID}/prices/some/{addresses}`]: List the prices for a list of addresses for a specific chain.
-```
-
----------------------------------------------------------------------------------------------------
-
-### Get All Prices
-**Get All Prices**: REST API endpoint to get all the Prices in the system for all the chains.
-
-#### Request
-
- N/A
-
-
-
-
- ```sh
- ?humanized=false # default
- ```
-
-
-
-#### Response
-
- ```go
- map[chainID]map[common.Address]string // is humanized is false
- map[chainID]map[common.Address]float64 // is humanized is true
- ```
-
- ```json
- // https://ydaemon.yearn.finance/prices/all?humanized=true
- {
- "1": {
- "0x3408324dbb537886cadc180f6ffcf674ee215f67": 19177.775729,
- "0x341bb10d8f5947f3066502dc8125d9b8949fd3d6": 1.37813,
- "0x3432b6a60d23ca0dfca7761b7ab56459d9c964d0": 4.311862,
- "0xff8f8a38c80b9899a928152d58f219fdccd4306c": 1309.000715
- },
- "10": {
- "0x061b87122ed14b9526a813209c8a59a633257bab": 1.013707,
- "0x0a2f234ad2e5e9047067904a9d37d0cd02b80d12": 19197.69964,
- "0x0fbea11f39be912096cec5ce22f46908b5375c19": 1.011286,
- "0x1337bedc9d22ecbe766df105c9623922a27963ec": 1.013718
- },
- "250": {
- "0x03fa4c23ba3a7bc0bec18789ce29c7857324bd22": 0.998672,
- "0x0446acab3e0242fcf33aa526f1c95a88068d5042": 0.934997,
- "0x049d68029688eabf473097a2fc38ef61633a3c7a": 1.000256,
- "0x075c1d1d7e9e1af077b0b6117c6ea06cd0a260b5": 1.002875
- },
- "42161": {
- "0x0a824b5d4c96ea0ec46306efbd34bf88fe1277e0": 1327.728015,
- "0x115d8bf0a53e751f8a472f88d587944ec1c8ca6d": 19142.31,
- "0x116172b2482c5dc3e6f445c16ac13367ac3fcd35": 0.949749,
- "0x1c5ffa4fb4907b681c61b8c82b28c4672ceb1974": 0.542506
- }
- }
-
- // https://ydaemon.yearn.finance/prices/all
- {
- "1": {
- "0x3408324dbb537886cadc180f6ffcf674ee215f67": "19177775729",
- "0x341bb10d8f5947f3066502dc8125d9b8949fd3d6": "137813",
- "0x3432b6a60d23ca0dfca7761b7ab56459d9c964d0": "4311862",
- "0xff8f8a38c80b9899a928152d58f219fdccd4306c": "1309000715"
- },
- "10": {
- "0x061b87122ed14b9526a813209c8a59a633257bab": "1013707",
- "0x0a2f234ad2e5e9047067904a9d37d0cd02b80d12": "1919769964",
- "0x0fbea11f39be912096cec5ce22f46908b5375c19": "1011286",
- "0x1337bedc9d22ecbe766df105c9623922a27963ec": "1013718",
- },
- "250": {
- "0x03fa4c23ba3a7bc0bec18789ce29c7857324bd22": "0998672",
- "0x0446acab3e0242fcf33aa526f1c95a88068d5042": "0934997",
- "0x049d68029688eabf473097a2fc38ef61633a3c7a": "1000256",
- "0x075c1d1d7e9e1af077b0b6117c6ea06cd0a260b5": "1002875",
- },
- "42161": {
- "0x0a824b5d4c96ea0ec46306efbd34bf88fe1277e0": "1327728015",
- "0x115d8bf0a53e751f8a472f88d587944ec1c8ca6d": "1914231",
- "0x116172b2482c5dc3e6f445c16ac13367ac3fcd35": "0949749",
- "0x1c5ffa4fb4907b681c61b8c82b28c4672ceb1974": "0542506",
- }
- }
- ```
-
-
-
- N/A
-
-
----------------------------------------------------------------------------------------------------
-
-### Get All Prices For ChainID
-**Get All Prices For ChainID**: REST API endpoint to get all the Prices in the system for one specific chainID. You can check the [getSupportedChains](/docs/routes/misc#-get-supported-chains) endpoint to get the list of supported chains.
-
-#### Request
-
- - **chainID**: The chainID of the chain you want to get the Prices for. Must be provided in the URL, and must be one of the [supported](/docs/routes/misc#-get-supported-chains) chains.
-
-
-
-
- ```sh
- ?humanized=false # default
- ```
-
-
-
-#### Response
-
- ```go
- map[common.Address]string // is humanized is false
- map[common.Address]float64 // is humanized is true
- ```
-
- ```json
- // https://ydaemon.yearn.finance/1/prices/all?humanized=true
- {
- "0x3408324dbb537886cadc180f6ffcf674ee215f67": 19177.775729,
- "0x341bb10d8f5947f3066502dc8125d9b8949fd3d6": 1.37813,
- "0x3432b6a60d23ca0dfca7761b7ab56459d9c964d0": 4.311862,
- "0xff8f8a38c80b9899a928152d58f219fdccd4306c": 1309.000715
- }
-
- // https://ydaemon.yearn.finance/1/prices/all
- {
- "0x3408324dbb537886cadc180f6ffcf674ee215f67": "19177775729",
- "0x341bb10d8f5947f3066502dc8125d9b8949fd3d6": "137813",
- "0x3432b6a60d23ca0dfca7761b7ab56459d9c964d0": "4311862",
- "0xff8f8a38c80b9899a928152d58f219fdccd4306c": "1309000715"
- }
- ```
-
-
-
- - `400 - invalid chainID`: The provided chainID is not supported.
-
-
-
----------------------------------------------------------------------------------------------------
-
-### Get Price For Token
-**Get Price For Token**: REST API endpoint to get all the Price of one specific token for one specific chainID. You can check the [getSupportedChains](/docs/routes/misc#-get-supported-chains) endpoint to get the list of supported chains.
-
-#### Request
-
- - **chainID**: The chainID of the chain you want to get the Price for. Must be provided in the URL, and must be one of the [supported](/docs/routes/misc#-get-supported-chains) chains.
- - **address**: The address of the token you want to get the information for.
-
-
-
-
- ```sh
- ?humanized=false # default
- ```
-
-
-
-#### Response
-
- ```go
- string // is humanized is false
- float64 // is humanized is true
- ```
- ```json
- // https://ydaemon.yearn.finance/10/prices/0x3fc986cc3b44bad5baf1e47031055cf69466ad57?humanized=true
- 1.011286
-
- // https://ydaemon.yearn.finance/10/prices/0x3fc986cc3b44bad5baf1e47031055cf69466ad57?humanized=false
- "1011286"
- ```
-
-
-
- - `400 - invalid chainID`: The provided chainID is not supported.
- - `400 - invalid address`: The provided token address is not a valid Ethereum address or is blacklisted for this network.
- - `404 - token not found`: The provided token address is not supported.
-
-
----------------------------------------------------------------------------------------------------
-
-### Get Prices For Some Tokens
-**Get Price For Token**: REST API endpoint to get all the Price of some specific tokens for one specific chainID. You can check the [getSupportedChains](/docs/routes/misc#-get-supported-chains) endpoint to get the list of supported chains.
-
-#### Request
-
- - **chainID**: The chainID of the chain you want to get the Price for. Must be provided in the URL, and must be one of the [supported](/docs/routes/misc#-get-supported-chains) chains.
- - **addresses**: A list of addresses, separated by a comma, of the tokens you want to get the information for.
-
-
-
-
- ```sh
- ?humanized=false # default
- ```
-
-
-
-#### Response
-
- ```go
- map[common.Address]string // is humanized is false
- map[common.Address]float64 // is humanized is true
- ```
-
- ```json
- // https://ydaemon.yearn.finance/1/prices/some/0x3408324dbb537886cadc180f6ffcf674ee215f67,,0x3432b6a60d23ca0dfca7761b7ab56459d9c964d0,0xff8f8a38c80b9899a928152d58f219fdccd4306c?humanized=true
- {
- "0x3408324dbb537886cadc180f6ffcf674ee215f67": 19177.775729,
- "0x3432b6a60d23ca0dfca7761b7ab56459d9c964d0": 4.311862,
- "0xff8f8a38c80b9899a928152d58f219fdccd4306c": 1309.000715
- }
-
- // https://ydaemon.yearn.finance/1/prices/some/0x3408324dbb537886cadc180f6ffcf674ee215f67,,0x3432b6a60d23ca0dfca7761b7ab56459d9c964d0,0xff8f8a38c80b9899a928152d58f219fdccd4306c
- {
- "0x3408324dbb537886cadc180f6ffcf674ee215f67": "19177775729",
- "0x3432b6a60d23ca0dfca7761b7ab56459d9c964d0": "4311862",
- "0xff8f8a38c80b9899a928152d58f219fdccd4306c": "1309000715"
- }
- ```
-
-
-
- - `400 - invalid chainID`: The provided chainID is not supported.
-
-
----------------------------------------------------------------------------------------------------
diff --git a/docs/pages/docs/routes/strategies.mdx b/docs/pages/docs/routes/strategies.mdx
deleted file mode 100755
index 14e5b07f2..000000000
--- a/docs/pages/docs/routes/strategies.mdx
+++ /dev/null
@@ -1,290 +0,0 @@
-import GET from '../../../components/GET.tsx'
-import Dropdown from '../../../components/Dropdown.tsx'
-import QueryArgumentBox from '../../../components/QueryArgumentBox.tsx'
-
-# Strategies API
-
-List strategies that are currently active on the Yearn's ecosystem.
-
-```
-[GET - `{chainID}/strategies/all`]: List the strategies for a specific chain.
-[GET - `{chainID}/strategies/{address}`]: Get a specific strategy for a specific chain.
-[GET - `{chainID}/strategy/{address}`]: Get a specific strategy for a specific chain.
-[GET - `{chainID}/reports/{address}`]: Get the report for a specific strategy for a specific chain.
-```
-
----------------------------------------------------------------------------------------------------
-
-### Get All Strategies
-**Get All Strategies**: REST API endpoint to get all the Strategies in the system for a given chainID.
-
-You can check [getSupportedChains](/docs/routes/misc#-get-supported-chains) to get a list of supported chains.
-
-When performing a `GET` request to this endpoint, a GraphQL query is executed to retrieve the basic information about all the Strategies from the official Yearn's subgraph.
-
-The strategies from blacklisted vaults are ignored from the query and a comprehensive list of all Strategies is returned.
-
-#### Request
-
- - **chainID**: The chainID of the chain you want to get the Strategies for. Must be provided in the URL, and must be one of the [supported](/docs/routes/misc#-get-supported-chains) chains.
-
-
-
- ```sh
- ?orderBy=Dropdown.order # default
- ```
-
-
- ```sh
- ?orderDirection=asc # default
- ```
-
-
-
-
- - `debtLimit`: The strategy is active if the `debtLimit` is greater than `0`.
- - `debtRatio`: The strategy is active if the `debtRatio` is greater than `0`.
- - `inQueue`: The strategy is active if it is in the vault's `withdrawalQueue`.
- - `absolute`: The strategy is active if the `debtLimit` is greater than `0` and if it is in the vault's `withdrawalQueue` and if the `totalDebt` is greater than `0`.
-
- ```sh
- ?strategiesCondition=debtLimit # default
- ```
-
-
-
-
-#### Response
-
- ```go
- type TStrategy struct {
- Address common.Address `json:"address"`
- Name string `json:"name"`
- Description string `json:"description"`
-
- // Details contains the details about a strategy.
- Details struct {
- Keeper common.Address `json:"keeper"`
- Strategist common.Address `json:"strategist"`
- Rewards common.Address `json:"rewards"`
- HealthCheck common.Address `json:"healthCheck"`
- TotalDebt *bigNumber.Int `json:"totalDebt"`
- TotalLoss *bigNumber.Int `json:"totalLoss"`
- TotalGain *bigNumber.Int `json:"totalGain"`
- RateLimit *bigNumber.Int `json:"rateLimit,omitempty"`
- MinDebtPerHarvest *bigNumber.Int `json:"minDebtPerHarvest,omitempty"`
- MaxDebtPerHarvest *bigNumber.Int `json:"maxDebtPerHarvest,omitempty"`
- EstimatedTotalAssets *bigNumber.Int `json:"estimatedTotalAssets"`
- CreditAvailable *bigNumber.Int `json:"creditAvailable"`
- DebtOutstanding *bigNumber.Int `json:"debtOutstanding"`
- ExpectedReturn *bigNumber.Int `json:"expectedReturn"`
- DelegatedAssets *bigNumber.Int `json:"delegatedAssets"`
- DelegatedValue string `json:"delegatedValue"`
- Version string `json:"version"`
- Protocols []string `json:"protocols"`
- APR float64 `json:"apr"`
- PerformanceFee uint64 `json:"performanceFee"`
- LastReport uint64 `json:"lastReport"`
- Activation uint64 `json:"activation"`
- KeepCRV uint64 `json:"keepCRV"`
- DebtRatio uint64 `json:"debtRatio,omitempty"` // Only > 0.2.2
- DebtLimit uint64 `json:"debtLimit"`
- WithdrawalQueuePosition int64 `json:"withdrawalQueuePosition"`
- DoHealthCheck bool `json:"doHealthCheck"`
- InQueue bool `json:"inQueue"`
- EmergencyExit bool `json:"emergencyExit"`
- IsActive bool `json:"isActive"`
- } `json:"details,omitempty"`
-
- // Risk contains the scores and allocations from the risk framework.
- Risk struct {
- RiskScore float64 `json:"riskScore"`
- RiskGroup string `json:"riskGroup"`
- RiskDetails struct {
- TVLImpact int `json:"TVLImpact"`
- AuditScore int `json:"auditScore"`
- CodeReviewScore int `json:"codeReviewScore"`
- ComplexityScore int `json:"complexityScore"`
- LongevityImpact int `json:"longevityImpact"`
- ProtocolSafetyScore int `json:"protocolSafetyScore"`
- TeamKnowledgeScore int `json:"teamKnowledgeScore"`
- TestingScore int `json:"testingScore"`
- } `json:"riskDetails"`
- Allocation struct {
- Status string `json:"status"`
- CurrentTVL *bigNumber.Float `json:"currentTVL"` // value in USDC
- AvailableTVL *bigNumber.Float `json:"availableTVL"`
- CurrentAmount *bigNumber.Float `json:"currentAmount"` // value in WANT
- AvailableAmount *bigNumber.Float `json:"availableAmount"`
- } `json:"allocation"`
- } `json:"risk,omitempty"`
- }
- ```
-
-
- - `400 - invalid chainID`: The provided chainID is not supported.
- - `500 - impossible to fetch subgraph`: yDaemon was unable to connect to the subgraph.
- - `500 - invalid graphQL response`: yDaemon was unable to parse the response from the subgraph.
-
-
----------------------------------------------------------------------------------------------------
-
-### Get One Strategy
-**Get One Strategy**: REST API endpoint to get one specific strategy for a given chainID.
-
-You can check [getSupportedChains](/docs/routes/misc#-get-supported-chains) to get a list of supported chains.
-
-When performing a `GET` request to this endpoint, a GraphQL query is executed to retrieve the basic information about this specific strategy from the official Yearn's subgraph.
-
-If the address is invalid or the strategy does not exist, the `400` error code is returned.
-
-#### Request
-
- - **chainID**: The chainID of the chain you want to get the Strategy for. Must be provided in the URL, and must be one of the [supported](/docs/routes/misc#-get-supported-chains) chains.
- - **address**: The address of the strategy you want to get the information for.
-
-
- N/A
-
-
-#### Response
-
- ```go
- type TStrategy struct {
- Address common.Address `json:"address"`
- Name string `json:"name"`
- Description string `json:"description"`
-
- // Details contains the details about a strategy.
- Details struct {
- Keeper common.Address `json:"keeper"`
- Strategist common.Address `json:"strategist"`
- Rewards common.Address `json:"rewards"`
- HealthCheck common.Address `json:"healthCheck"`
- TotalDebt *bigNumber.Int `json:"totalDebt"`
- TotalLoss *bigNumber.Int `json:"totalLoss"`
- TotalGain *bigNumber.Int `json:"totalGain"`
- RateLimit *bigNumber.Int `json:"rateLimit,omitempty"`
- MinDebtPerHarvest *bigNumber.Int `json:"minDebtPerHarvest,omitempty"`
- MaxDebtPerHarvest *bigNumber.Int `json:"maxDebtPerHarvest,omitempty"`
- EstimatedTotalAssets *bigNumber.Int `json:"estimatedTotalAssets"`
- CreditAvailable *bigNumber.Int `json:"creditAvailable"`
- DebtOutstanding *bigNumber.Int `json:"debtOutstanding"`
- ExpectedReturn *bigNumber.Int `json:"expectedReturn"`
- DelegatedAssets *bigNumber.Int `json:"delegatedAssets"`
- DelegatedValue string `json:"delegatedValue"`
- Version string `json:"version"`
- Protocols []string `json:"protocols"`
- APR float64 `json:"apr"`
- PerformanceFee uint64 `json:"performanceFee"`
- LastReport uint64 `json:"lastReport"`
- Activation uint64 `json:"activation"`
- KeepCRV uint64 `json:"keepCRV"`
- DebtRatio uint64 `json:"debtRatio,omitempty"` // Only > 0.2.2
- DebtLimit uint64 `json:"debtLimit"`
- WithdrawalQueuePosition int64 `json:"withdrawalQueuePosition"`
- DoHealthCheck bool `json:"doHealthCheck"`
- InQueue bool `json:"inQueue"`
- EmergencyExit bool `json:"emergencyExit"`
- IsActive bool `json:"isActive"`
- } `json:"details,omitempty"`
-
- // Risk contains the scores and allocations from the risk framework.
- Risk struct {
- RiskScore float64 `json:"riskScore"`
- RiskGroup string `json:"riskGroup"`
- RiskDetails struct {
- TVLImpact int `json:"TVLImpact"`
- AuditScore int `json:"auditScore"`
- CodeReviewScore int `json:"codeReviewScore"`
- ComplexityScore int `json:"complexityScore"`
- LongevityImpact int `json:"longevityImpact"`
- ProtocolSafetyScore int `json:"protocolSafetyScore"`
- TeamKnowledgeScore int `json:"teamKnowledgeScore"`
- TestingScore int `json:"testingScore"`
- } `json:"riskDetails"`
- Allocation struct {
- Status string `json:"status"`
- CurrentTVL *bigNumber.Float `json:"currentTVL"` // value in USDC
- AvailableTVL *bigNumber.Float `json:"availableTVL"`
- CurrentAmount *bigNumber.Float `json:"currentAmount"` // value in WANT
- AvailableAmount *bigNumber.Float `json:"availableAmount"`
- } `json:"allocation"`
- } `json:"risk,omitempty"`
- }
- ```
-
-
- - `400 - invalid chainID`: The provided chainID is not supported.
- - `400 - invalid address`: The provided token address is not a valid Ethereum address or is blacklisted for this network.
- - `500 - impossible to fetch subgraph`: yDaemon was unable to connect to the subgraph.
- - `500 - invalid graphQL response`: yDaemon was unable to parse the response from the subgraph.
-
-
----------------------------------------------------------------------------------------------------
-
-### Get Reports for Strategy
-**Reports for Strategy**: REST API endpoint to get the reports for a specific strategy on a given chainID. You can check the [getSupportedChains](/docs/routes/misc#-get-supported-chains) endpoint to get the list of supported chains.
-
-#### Request
-
- - **chainID**: The chainID of the chain you want to get the Vaults for. Must be provided in the URL, and must be one of the [supported](/docs/routes/misc#-get-supported-chains) chains.
-
-
- N/A
-
-
-#### Response
-
- ```json
- // https://ydaemon.yearn.finance/1/reports/0xBec29b45033fC6e98abF3DD7Ad20B8255978e1F1
- [
- {
- "id": "0xc3907925e4258489c584f304c787e4d90e6ebed585b474e9886c32ac4e7be9d0-339",
- "debtAdded": "202429630522854712767528",
- "debtLimit": "5000",
- "totalDebt": "683275560336464892653151",
- "gain": "397421930127572576655",
- "totalGain": "397421930127572576655",
- "loss": "0",
- "totalLoss": "0",
- "debtPaid": "0",
- "timestamp": "1666189115000",
- "results": [
- {
- "duration": "167088000",
- "durationPR": "0.0008265057588854393264328008055694074",
- "APR": "0.1559937614443360061667193706575986"
- }
- ]
- },
- {
- "id": "0x4eddee4bcda754289727b1b221f87e0c3989ae9133a086fe5c98e0ce7cb8194e-385",
- "debtAdded": "480845929813610179885623",
- "debtLimit": "5000",
- "totalDebt": "480845929813610179885623",
- "gain": "0",
- "totalGain": "0",
- "loss": "0",
- "totalLoss": "0",
- "debtPaid": "0",
- "timestamp": "1666022027000",
- "results": [
-
- ]
- }
- ]
- ```
-
-
- - `400 - invalid chainID`: The provided chainID is not supported.
- - `400 - invalid address`: The provided token address is not a valid Ethereum address or is blacklisted for this network.
- - `500 - impossible to fetch subgraph`: yDaemon was unable to connect to the subgraph.
- - `500 - invalid graphQL response`: yDaemon was unable to parse the response from the subgraph.
-
diff --git a/docs/pages/docs/routes/tokens.mdx b/docs/pages/docs/routes/tokens.mdx
deleted file mode 100755
index 838602b32..000000000
--- a/docs/pages/docs/routes/tokens.mdx
+++ /dev/null
@@ -1,207 +0,0 @@
-import GET from '../../../components/GET.tsx'
-import Dropdown from '../../../components/Dropdown.tsx'
-import QueryArgumentBox from '../../../components/QueryArgumentBox.tsx'
-
-# Tokens API
-Information about the tokens from Yearn's ecosystem.
-
-```
-[GET - `tokens/all`]: List all the tokens for all chains.
-[GET - `{chainID}/tokens/all`]: List all the tokens for a specific chain.
-[GET - `api/tokens/list`]: Access the Yearn's Token List for mainnet.
-```
-
----------------------------------------------------------------------------------------------------
-
-### Get All Tokens
-**Get All Tokens**: REST API endpoint to get all the Tokens in the system for all the chains.
-
-#### Request
-
- N/A
-
-
-
- ```sh
- ?loc=en # default
- ```
-
-
-
-#### Response
-
- ```go
- type TAllTokens struct {
- Address common.Address `json:"address"`
- Name string `json:"name"`
- Symbol string `json:"symbol"`
- Price float64 `json:"price"`
- Decimals uint64 `json:"decimals"`
- IsVault bool `json:"isVault"`
- DisplayName string `json:"display_name,omitempty"`
- DisplaySymbol string `json:"display_symbol,omitempty"`
- Description string `json:"description,omitempty"`
- Website string `json:"website,omitempty"`
- Categories []string `json:"categories,omitempty"`
- Localization *models.TLocalization `json:"localization,omitempty"`
- }
- map[string]TAllTokens
- ```
-
- ```json
- // https://ydaemon.yearn.finance/tokens/all
- {
- "1": {
- "0x03ab458634910aad20ef5f1c8ee96f1d6ac54919": {
- "address": "0x03ab458634910AaD20eF5f1C8ee96F1D6ac54919",
- "name": "Rai Reflex Index",
- "symbol": "RAI",
- "price": 2.584818,
- "decimals": 18,
- "isVault": false,
- "display_symbol": "RAI",
- "description": "RAI is a non pegged, ETH backed stable asset built by Reflexer. It is the first asset of its kind that, instead of being pegged to a specific target such as the USD, it freely floats while it's being influenced by market forces. RAI's mission is to become a crypto native and governance minimized stable asset that is detached from fiat.",
- "website": "http://reflexer.finance/",
- "categories": [
- "Non-pegged Stablecoins"
- ]
- },
- "0x03c31f3444357087d5f568d24ae17f9177c8aa84": {
- "address": "0x03c31f3444357087d5f568d24AE17f9177c8AA84",
- "name": "LINK yVault",
- "symbol": "yvLINK",
- "price": 6.982,
- "decimals": 18,
- "isVault": true
- },
- },
- "10": {...},
- ...
- }
- ```
-
-
- N/A
-
-
----------------------------------------------------------------------------------------------------
-
-### Get All Tokens For ChainID
-**Get All Tokens For Chain**: REST API endpoint to get all the Tokens in the system for one specific chainID. You can check the [getSupportedChains](/docs/routes/misc#-get-supported-chains) endpoint to get the list of supported chains.
-
-#### Request
-
- - **chainID**: The chainID of the chain you want to get the Prices for. Must be provided in the URL, and must be one of the [supported](/docs/routes/misc#-get-supported-chains) chains.
-
-
-
- ```sh
- ?loc=en # default
- ```
-
-
-
-#### Response
-
- ```go
- type TAllTokens struct {
- Address common.Address `json:"address"`
- Name string `json:"name"`
- Symbol string `json:"symbol"`
- Price float64 `json:"price"`
- Decimals uint64 `json:"decimals"`
- IsVault bool `json:"isVault"`
- DisplayName string `json:"display_name,omitempty"`
- DisplaySymbol string `json:"display_symbol,omitempty"`
- Description string `json:"description,omitempty"`
- Website string `json:"website,omitempty"`
- Categories []string `json:"categories,omitempty"`
- Localization *models.TLocalization `json:"localization,omitempty"`
- }
- ```
-
- ```json
- // https://ydaemon.yearn.finance/1/tokens/all
- {
- "0x03ab458634910aad20ef5f1c8ee96f1d6ac54919": {
- "address": "0x03ab458634910AaD20eF5f1C8ee96F1D6ac54919",
- "name": "Rai Reflex Index",
- "symbol": "RAI",
- "price": 2.584818,
- "decimals": 18,
- "isVault": false,
- "display_symbol": "RAI",
- "description": "RAI is a non pegged, ETH backed stable asset built by Reflexer. It is the first asset of its kind that, instead of being pegged to a specific target such as the USD, it freely floats while it's being influenced by market forces. RAI's mission is to become a crypto native and governance minimized stable asset that is detached from fiat.",
- "website": "http://reflexer.finance/",
- "categories": [
- "Non-pegged Stablecoins"
- ]
- },
- "0x03c31f3444357087d5f568d24ae17f9177c8aa84": {
- "address": "0x03c31f3444357087d5f568d24AE17f9177c8AA84",
- "name": "LINK yVault",
- "symbol": "yvLINK",
- "price": 6.982,
- "decimals": 18,
- "isVault": true
- },
- }
- ```
-
-
- - `400 - invalid chainID`: The provided chainID is not supported.
-
-
----------------------------------------------------------------------------------------------------
-
-### Get TokenList
-**Get TokenList**: REST API endpoint to get the TokenList for Yearn's Mainnet.
-
-> Token Lists aim to solve the problem of the Ethereum community creating, discovering and maintaining lists of reputable tokens in a way that is inclusive, transparent, decentralized and open source.
-> The goal of Token Lists is to enable trust to emerge around reputable tokens in a way that is aligned with the values of decentralization.
-
-
-#### Request
-
- N/A
-
-
- N/A
-
-
-#### Response
-
- Standardized TokenList JSON object.
- ```json
- {
- "name": "Yearn",
- "timestamp": "2022-05-12T18:15:59+00:00",
- "version": {
- "major": 1,
- "minor": 169,
- "patch": 0
- },
- "tokens": [{
- "chainId": 1,
- "address": "0x16de59092dAE5CcF4A1E6439D611fd0653f0Bd01",
- "name": "iearn DAI",
- "decimals": 18,
- "symbol": "yDAI",
- "logoURI": "https://raw.githubusercontent.com/yearn/yearn-assets/3ec995a8b19cd95e56a1a42b18d394d667e0e2cd/icons/multichain-tokens/1/0x16de59092dAE5CcF4A1E6439D611fd0653f0Bd01/logo.svg",
- "tags": [
- "earn"
- ]
- },
- ...
- ],
- "logoURI": "https://raw.githubusercontent.com/yearn/yearn-assets/3ec995a8b19cd95e56a1a42b18d394d667e0e2cd/icons/multichain-tokens/1/0x0bc529c00C6401aEF6D220BE8C6Ea1667F6Ad93e/logo.svg"
- }
- ```
-
-
- N/A
-
\ No newline at end of file
diff --git a/docs/pages/docs/routes/vaults.mdx b/docs/pages/docs/routes/vaults.mdx
deleted file mode 100755
index e180e2545..000000000
--- a/docs/pages/docs/routes/vaults.mdx
+++ /dev/null
@@ -1,581 +0,0 @@
-import GET from '../../../components/GET.tsx'
-import Dropdown from '../../../components/Dropdown.tsx'
-import QueryArgumentBox from '../../../components/QueryArgumentBox.tsx'
-
-# Vaults API
-
-List vaults that are currently active on the Yearn's ecosystem.
-
-```
-[GET - `vaults/tvl`]: Get the total value locked in the Yearn ecosystem across all vaults for all chains.
-[GET - `{chainID}/vaults/tvl`]: Get the total value locked in the Yearn ecosystem across all vaults for a specific chain.
-[GET - `{chainID}/vaults/all`]: List the vaults for a specific chain.
-[GET - `{chainID}/vaults/{address}`]: Get a specific vault for a specific chain.
-[GET - `{chainID}/vault/{address}`]: Get a specific vault for a specific chain. Alias for `{chainID}/vaults/{address}`.
-[GET - `info/vaults/blacklisted`]: List the blacklisted vaults (aka ignored vaults).
-[GET - `{chainID}/vaults/harvests/{addresses}`]: List the harvests for a group of vault addresses.
-```
-
----------------------------------------------------------------------------------------------------
-
-### Get All Vaults
-**Get All Vaults**: REST API endpoint to get all the Vaults in the system for a given chainID.
-
-You can check [getSupportedChains](/docs/routes/misc#-get-supported-chains) to get a list of supported chains.
-
-When performing a `GET` request to this endpoint, a GraphQL query is executed to retrieve the basic information about all the Vaults from the official Yearn's subgraph.
-
-The blacklisted vaults are ignored from the query and a comprehensive list of all the Vaults is returned.
-
-#### Request
-
- - **chainID**: The chainID of the chain you want to get the Vaults for. Must be provided in the URL, and must be one of the [supported](/docs/routes/misc#-get-supported-chains) chains.
-
-
-
- ```sh
- ?hideAlways=false # default
- ```
-
-
- ```sh
- ?orderBy=Dropdown.order # default
- ```
-
-
- ```sh
- ?orderDirection=asc # default
- ```
-
-
-
-
- - `debtLimit`: The strategy is active if the `debtLimit` is greater than `0`.
- - `debtRatio`: The strategy is active if the `debtRatio` is greater than `0`.
- - `inQueue`: The strategy is active if it is in the vault's `withdrawalQueue`.
- - `absolute`: The strategy is active if the `debtLimit` is greater than `0` and if it is in the vault's `withdrawalQueue` and if the `totalDebt` is greater than `0`.
-
- ```sh
- ?strategiesCondition=debtLimit # default
- ```
-
-
-
- ```sh
- ?strategiesDetails=none # default
- ```
-
-
- ```sh
- ?strategiesRisk=none # default
- ```
-
-
-
-#### Response
-
- ```go
- type TVault struct {
- Address string `json:"address"` // Address of the vault on the chain.
- Symbol string `json:"symbol"` // Symbol representing the vault.
- DisplaySymbol string `json:"display_symbol"` // Human set alias for the symbol.
- FormatedSymbol string `json:"formated_symbol"` // Following format: `yv{underlyingTokenSymbol}`
- Name string `json:"name"` // Name of the vault.
- DisplayName string `json:"display_name"` // Human set alias for the name of the vault.
- FormatedName string `json:"formated_name"` // Following format: `{underlyingTokenName} yVault`.
- Icon string `json:"icon"` // URI of the 128x128 png icon of the vault.
- Version string `json:"version"` // Version of the vault.
- Type string `json:"type"` // Type of the vault (only V2 for now).
- Inception uint64 `json:"inception"` // Date when the vault was created.
- Decimals uint64 `json:"decimals"` // Number of decimals of the vault token.
- Updated uint64 `json:"updated"` //When the vault was last updated.
- Endorsed bool `json:"endorsed"` //Indicates if the vault is endorsed by Yearn or not
- Emergency_shutdown bool `json:"emergency_shutdown"` //Indicates if the vault is currently in emergency shutdown mode.
-
- //Token contains the relevant information about the underlying token.
- Token struct {
- Address string `json:"address"` // Address of the underlying token.
- Name string `json:"name"` // Name of the underlying token.
- DisplayName string `json:"display_name"` // Human set alias for the name of the underlying token.
- Symbol string `json:"symbol"` // Symbol of the underlying token.
- Description string `json:"description"` // Meta-description for this token, based on Yearn-Meta.
- Decimals uint64 `json:"decimals"` // Number of decimals of the underlying token.
- Icon string `json:"icon"` // URI of the 128x128 png icon of the underlying token.
- } `json:"token"`
-
- //TVL holds the info about the value locked in a vault
- TVL struct {
- TotalAssets *bigNumber.Int `json:"total_assets"` // Total amount of assets in the vault
- TotalDelegatedAssets *bigNumber.Int `json:"total_delegated_assets"` // Total amount of assets delegated to the strategies
- TVLDeposited float64 `json:"tvl_deposited"` // Total value locked in the vault
- TVLDelegated float64 `json:"tvl_delegated"` // Total value delegated to other vaults
- TVL float64 `json:"tvl"` // Total value locked minus the delegated value
- Price float64 `json:"price"` // Price of the underlying token
- } `json:"tvl"`
-
- //APY contains all the information useful about the APY, APR, fees and breakdown.
- APY struct {
- Type string `json:"type"`
- GrossAPR float64 `json:"gross_apr"`
- NetAPY float64 `json:"net_apy"`
- Fees struct {
- Performance float64 `json:"performance"`
- Withdrawal float64 `json:"withdrawal"`
- Management float64 `json:"management"`
- KeepCRV float64 `json:"keep_crv"`
- CvxKeepCRV float64 `json:"cvx_keep_crv"`
- } `json:"fees"`
- Points struct {
- WeekAgo float64 `json:"week_ago"`
- MonthAgo float64 `json:"month_ago"`
- Inception float64 `json:"inception"`
- } `json:"points"`
- Composite struct {
- Boost float64 `json:"boost"`
- PoolAPY float64 `json:"pool_apy"`
- BoostedAPR float64 `json:"boosted_apr"`
- BaseAPR float64 `json:"base_apr"`
- CvxAPR float64 `json:"cvx_apr"`
- RewardsAPR float64 `json:"rewards_apr"`
- } `json:"composite"`
- } `json:"apy"`
-
- //Strategies contains all the information useful about the strategies currently active in this vault.
- Strategies []struct {
- Address string `json:"address"` // Address of the strategy.
- Name string `json:"name"` // Name of the strategy.
- Description string `json:"description"` // Meta-description for this strategy, based on Yearn-Meta.
- Details struct {
- Version string `json:"version"`
- Keeper string `json:"keeper"`
- Strategist string `json:"strategist"`
- Rewards string `json:"rewards"`
- HealthCheck string `json:"healthCheck"`
- TotalDebt string `json:"totalDebt"`
- TotalLoss string `json:"totalLoss"`
- TotalGain string `json:"totalGain"`
- LastReport string `json:"lastReport"`
- APR float64 `json:"apr"`
- DebtLimit uint64 `json:"debtLimit"`
- DoHealthCheck bool `json:"doHealthCheck"`
- InQueue bool `json:"inQueue"`
- EmergencyExit bool `json:"emergencyExit"`
- } `json:"Dropdown"`
- } `json:"strategies"`
-
- //Details holds some extra information about the vault.
- Details struct {
- Management common.Address `json:"management"` // Address of the management contract.
- Governance common.Address `json:"governance"` // Address of the governance contract.
- Guardian common.Address `json:"guardian"` // Address of the guardian contract.
- Rewards common.Address `json:"rewards"` // Address of the rewards contract.
- DepositLimit *bigNumber.Int `json:"depositLimit"` // Maximum amount of underlying tokens that can be deposited in the vault.
- AvailableDepositLimit *bigNumber.Int `json:"availableDepositLimit,omitempty"` // Maximum amount of underlying tokens that can be currently deposited in the vault.
- Comment string `json:"comment"` // Comment set by the governance.
- APYTypeOverride string `json:"apyTypeOverride"` // Override for the APY type.
- APYOverride float64 `json:"apyOverride"` // Override for the APY.
- PerformanceFee uint64 `json:"performanceFee"` // Performance fee.
- ManagementFee uint64 `json:"managementFee"` // Management fee.
- DepositsDisabled bool `json:"depositsDisabled"` // Indicates if deposits are disabled.
- WithdrawalsDisabled bool `json:"withdrawalsDisabled"` // Indicates if withdrawals are disabled.
- AllowZapIn bool `json:"allowZapIn"` // Indicates if zap-in is allowed.
- AllowZapOut bool `json:"allowZapOut"` // Indicates if zap-out is allowed.
- Retired bool `json:"retired"` // Indicates if the vault is retired.
- } `json:"Dropdown"`
-
- //Migration helps us to know if a vault is in the process of being migrated.
- Migration struct {
- Available bool `json:"available"` // Indicates if the vault has an available migration.
- Address string `json:"address"` //Address of the new version of this vault.
- } `json:"migration"`
- }[]
- ```
-
-
- - `400 - invalid chainID`: The provided chainID is not supported.
- - `500 - impossible to fetch subgraph`: yDaemon was unable to connect to the subgraph.
- - `500 - invalid graphQL response`: yDaemon was unable to parse the response from the subgraph.
-
-
----------------------------------------------------------------------------------------------------
-
-### Get One Vault
-**Get One Vault**: REST API endpoint to get one specific vault for a given chainID.
-
-You can check [getSupportedChains](/docs/routes/misc#-get-supported-chains) to get a list of supported chains.
-
-When performing a `GET` request to this endpoint, a GraphQL query is executed to retrieve the basic information about this specific vault from the official Yearn's subgraph.
-
-If the address is invalid or the vault does not exist, the `400` error code is returned.
-
-#### Request
-
- - **chainID**: The chainID of the chain you want to get the Vaults for. Must be provided in the URL, and must be one of the [supported](/docs/routes/misc#-get-supported-chains) chains.
- - **address**: The address of the vault you want to get the information for.
-
-
-
-
-
- - `debtLimit`: The strategy is active if the `debtLimit` is greater than `0`.
- - `inQueue`: The strategy is active if it is in the vault's `withdrawalQueue`.
- - `absolute`: The strategy is active if the `debtLimit` is greater than `0` and if it is in the vault's `withdrawalQueue` and if the `totalDebt` is greater than `0`.
-
- ```sh
- ?strategiesCondition=debtLimit # default
- ```
-
-
-
-
- ```sh
- ?strategiesDetails=none # default
- ```
-
-
-
- ```sh
- ?strategiesRisk=none # default
- ```
-
-
-
-#### Response
-
- ```go
- type TVault struct {
- Address string `json:"address"` // Address of the vault on the chain.
- Symbol string `json:"symbol"` // Symbol representing the vault.
- DisplaySymbol string `json:"display_symbol"` // Human set alias for the symbol.
- FormatedSymbol string `json:"formated_symbol"` // Following format: `yv{underlyingTokenSymbol}`
- Name string `json:"name"` // Name of the vault.
- DisplayName string `json:"display_name"` // Human set alias for the name of the vault.
- FormatedName string `json:"formated_name"` // Following format: `{underlyingTokenName} yVault`.
- Icon string `json:"icon"` // URI of the 128x128 png icon of the vault.
- Version string `json:"version"` // Version of the vault.
- Type string `json:"type"` // Type of the vault (only V2 for now).
- Inception uint64 `json:"inception"` // Date when the vault was created.
- Decimals uint64 `json:"decimals"` // Number of decimals of the vault token.
- Updated uint64 `json:"updated"` //When the vault was last updated.
- Endorsed bool `json:"endorsed"` //Indicates if the vault is endorsed by Yearn or not
- Emergency_shutdown bool `json:"emergency_shutdown"` //Indicates if the vault is currently in emergency shutdown mode.
-
- //Token contains the relevant information about the underlying token.
- Token struct {
- Address string `json:"address"` // Address of the underlying token.
- Name string `json:"name"` // Name of the underlying token.
- DisplayName string `json:"display_name"` // Human set alias for the name of the underlying token.
- Symbol string `json:"symbol"` // Symbol of the underlying token.
- Description string `json:"description"` // Meta-description for this token, based on Yearn-Meta.
- Decimals uint64 `json:"decimals"` // Number of decimals of the underlying token.
- Icon string `json:"icon"` // URI of the 128x128 png icon of the underlying token.
- } `json:"token"`
-
- //TVL holds the info about the value locked in a vault
- TVL struct {
- TotalAssets *bigNumber.Int `json:"total_assets"` // Total amount of assets in the vault
- TotalDelegatedAssets *bigNumber.Int `json:"total_delegated_assets"` // Total amount of assets delegated to the strategies
- TVLDeposited float64 `json:"tvl_deposited"` // Total value locked in the vault
- TVLDelegated float64 `json:"tvl_delegated"` // Total value delegated to other vaults
- TVL float64 `json:"tvl"` // Total value locked minus the delegated value
- Price float64 `json:"price"` // Price of the underlying token
- } `json:"tvl"`
-
- //APY contains all the information useful about the APY, APR, fees and breakdown.
- APY struct {
- Type string `json:"type"`
- GrossAPR float64 `json:"gross_apr"`
- NetAPY float64 `json:"net_apy"`
- Fees struct {
- Performance float64 `json:"performance"`
- Withdrawal float64 `json:"withdrawal"`
- Management float64 `json:"management"`
- KeepCRV float64 `json:"keep_crv"`
- CvxKeepCRV float64 `json:"cvx_keep_crv"`
- } `json:"fees"`
- Points struct {
- WeekAgo float64 `json:"week_ago"`
- MonthAgo float64 `json:"month_ago"`
- Inception float64 `json:"inception"`
- } `json:"points"`
- Composite struct {
- Boost float64 `json:"boost"`
- PoolAPY float64 `json:"pool_apy"`
- BoostedAPR float64 `json:"boosted_apr"`
- BaseAPR float64 `json:"base_apr"`
- CvxAPR float64 `json:"cvx_apr"`
- RewardsAPR float64 `json:"rewards_apr"`
- } `json:"composite"`
- } `json:"apy"`
-
- //Strategies contains all the information useful about the strategies currently active in this vault.
- Strategies []struct {
- Address string `json:"address"` // Address of the strategy.
- Name string `json:"name"` // Name of the strategy.
- Description string `json:"description"` // Meta-description for this strategy, based on Yearn-Meta.
- Details struct {
- Version string `json:"version"`
- Keeper string `json:"keeper"`
- Strategist string `json:"strategist"`
- Rewards string `json:"rewards"`
- HealthCheck string `json:"healthCheck"`
- TotalDebt string `json:"totalDebt"`
- TotalLoss string `json:"totalLoss"`
- TotalGain string `json:"totalGain"`
- LastReport string `json:"lastReport"`
- APR float64 `json:"apr"`
- DebtLimit uint64 `json:"debtLimit"`
- DoHealthCheck bool `json:"doHealthCheck"`
- InQueue bool `json:"inQueue"`
- EmergencyExit bool `json:"emergencyExit"`
- } `json:"Dropdown"`
- } `json:"strategies"`
-
- //Details holds some extra information about the vault.
- Details struct {
- Management common.Address `json:"management"` // Address of the management contract.
- Governance common.Address `json:"governance"` // Address of the governance contract.
- Guardian common.Address `json:"guardian"` // Address of the guardian contract.
- Rewards common.Address `json:"rewards"` // Address of the rewards contract.
- DepositLimit *bigNumber.Int `json:"depositLimit"` // Maximum amount of underlying tokens that can be deposited in the vault.
- AvailableDepositLimit *bigNumber.Int `json:"availableDepositLimit,omitempty"` // Maximum amount of underlying tokens that can be currently deposited in the vault.
- Comment string `json:"comment"` // Comment set by the governance.
- APYTypeOverride string `json:"apyTypeOverride"` // Override for the APY type.
- APYOverride float64 `json:"apyOverride"` // Override for the APY.
- PerformanceFee uint64 `json:"performanceFee"` // Performance fee.
- ManagementFee uint64 `json:"managementFee"` // Management fee.
- DepositsDisabled bool `json:"depositsDisabled"` // Indicates if deposits are disabled.
- WithdrawalsDisabled bool `json:"withdrawalsDisabled"` // Indicates if withdrawals are disabled.
- AllowZapIn bool `json:"allowZapIn"` // Indicates if zap-in is allowed.
- AllowZapOut bool `json:"allowZapOut"` // Indicates if zap-out is allowed.
- Retired bool `json:"retired"` // Indicates if the vault is retired.
- } `json:"Dropdown"`
-
- //Migration helps us to know if a vault is in the process of being migrated.
- Migration struct {
- Available bool `json:"available"` // Indicates if the vault has an available migration.
- Address string `json:"address"` //Address of the new version of this vault.
- } `json:"migration"`
- }
- ```
-
-
- - `400 - invalid chainID`: The provided chainID is not supported.
- - `400 - invalid address`: The provided token address is not a valid Ethereum address or is blacklisted for this network.
- - `500 - impossible to fetch subgraph`: yDaemon was unable to connect to the subgraph.
- - `500 - invalid graphQL response`: yDaemon was unable to parse the response from the subgraph.
-
-
----------------------------------------------------------------------------------------------------
-
-### Get TVL
-**Get TVL**: REST API endpoint to get the Total Value Locked (TVL) of all the vaults across all the supported chains.
-The returned TVL is in USD and does not include the delegated value (they are removed from accounting).
-
-#### Request
-
- N/A
-
-
- N/A
-
-
-#### Response
-
- ```go
- type TVL struct {
- Chains map[string]float64 `json:"chains"`
- Total float64 `json:"total"`
- }
- ```
-
- ```json
- {
- "chains": {
- "1": 343378329.0446586,
- "10": 31712.242023212246,
- "250": 29225791.020335883,
- "42161": 319507.42996021686
- },
- "total": 372955339.73697793
- }
- ```
-
-
- N/A
-
-
----------------------------------------------------------------------------------------------------
-
-### Get Chain TVL
-**Get Chain TVL**: REST API endpoint to get the Total Value Locked (TVL) of all the vaults for a specific chainID.
-The returned TVL is in USD and does not include the delegated value (they are removed from accounting).
-
-#### Request
-
- - **chainID**: The chainID of the chain you want to get the TVL for. Must be provided in the URL, and must be one of the [supported](/docs/routes/misc#-get-supported-chains) chains.
-
-
- N/A
-
-
-#### Response
-
- ```go
- float64
- ```
-
- ```json
- 343378329.0446586
- ```
-
-
- - `400 - invalid chainID`: The provided chainID is not supported.
-
-
----------------------------------------------------------------------------------------------------
-
-### Get Blacklisted Vaults
-**Get Blacklisted Vaults**: REST API endpoint to get the list of blacklisted vaults.
-Blacklisted vaults are vaults that are ignored by the API.
-
-#### Request
-
- N/A
-
-
-
- ```sh
- ?chainID=0 # default
- ```
-
-
-
-#### Response
-
- ```go
- map[string][]common.Address
- ```
-
- ```json
- {
- "1": [
- "0x662fBF2c1E4b04342EeBA6371ec1C7420042B86F",
- "0x9C13e225AE007731caA49Fd17A41379ab1a489F4",
- "0xBF7AA989192b020a8d3e1C65a558e123834325cA",
- "0x4Fdd1B06eF986238446be0F3EA163C1b6Fe28cC1",
- "0x8a0889d47f9Aa0Fac1cC718ba34E26b867437880",
- "0x61f46C65E403429266e8b569F23f70dD75d9BeE7"
- ],
- "10": [
- "0x6884bd538Db61A626Da0a05E10807BFC5Aea2b32",
- "0xDB8bBF2b0e28721F9BAc603e687E39bcF52201f8",
- "0xed5D83bB6Af23bcb05C144DC816f45A389d622a0"
- ],
- "250": [
- "0x03B82e4070cA32FF63A03F2EcfC16c0165689a9d"
- ],
- "42161": [
- "0x5796698A29F3626c9FE13C4d3d3dEE987c84EBB3",
- "0x976a1C749cd8153909e0B04EebE931eF8957b15b",
- "0xFa247d0D55a324ca19985577a2cDcFC383D87953"
- ]
- }
- ```
-
-
- N/A
-
-
----------------------------------------------------------------------------------------------------
-
-### Get All Harvests
-**Get All Harvests**: REST API endpoint to the harvests for a list of selected vaults for a specific chainID.
-
-#### Request
-
- - **chainID**: The chainID of the chain you want to get the Harvests for. Must be provided in the URL, and must be one of the [supported](/docs/routes/misc#-get-supported-chains) chains.
- - **addresses**: A list of addresses, separated by a comma, of the vaults you want to get the information for.
-
-
-
- ```sh
- ?orderBy=timestamp # default
- ```
-
-
- ```sh
- ?orderDirection=desc # default
- ```
-
-
-
-#### Response
-
- ```go
- type TVaultHarvest struct {
- VaultAddress string `json:"vaultAddress,omitempty"`
- StrategyAddress string `json:"strategyAddress"`
- TxHash string `json:"txHash"`
- Timestamp string `json:"timestamp"`
- Profit string `json:"profit"`
- ProfitValue float64 `json:"profitValue"`
- Loss string `json:"loss"`
- LossValue float64 `json:"lossValue"`
- }[]
- ```
- ```json
- // https://ydaemon.yearn.finance/1/vaults/harvests/0xc97232527B62eFb0D8ed38CF3EA103A6CcA4037e
- [
- {
- "vaultAddress": "0xc97232527b62efb0d8ed38cf3ea103a6cca4037e",
- "strategyAddress": "0xbec29b45033fc6e98abf3dd7ad20b8255978e1f1",
- "txHash": "0xc3907925e4258489c584f304c787e4d90e6ebed585b474e9886c32ac4e7be9d0",
- "timestamp": "1666189115",
- "profit": "397421930127572576655",
- "profitValue": 342.1357705836657,
- "loss": "0",
- "lossValue": 0
- },
- {
- "vaultAddress": "0xc97232527b62efb0d8ed38cf3ea103a6cca4037e",
- "strategyAddress": "0xf81ad33a29c7a85cd9fbe4f3e96dfde50c7565ff",
- "txHash": "0x7bdde6580cc769a5ce6830e9456f2c9241ce13dcf2a1f881eab8df394da66e93",
- "timestamp": "1666182035",
- "profit": "520978848627387975930",
- "profitValue": 448.5044390371348,
- "loss": "0",
- "lossValue": 0
- }
- ]
- ```
-
-
- - `400 - invalid chainID`: The provided chainID is not supported.
- - `500 - impossible to fetch subgraph`: yDaemon was unable to connect to the subgraph.
- - `500 - invalid graphQL response`: yDaemon was unable to parse the response from the subgraph.
-
\ No newline at end of file
diff --git a/docs/pages/index.mdx b/docs/pages/index.mdx
deleted file mode 100755
index 8e4dbf9b0..000000000
--- a/docs/pages/index.mdx
+++ /dev/null
@@ -1,54 +0,0 @@
----
-title: 'Yearn Web Lib'
----
-
-import {Header} from '../components/Header.tsx';
-
-
-
-**yDaemon** is the next-gen API for Yearn. Based on the one from the [exporter](https://github.com/yearn/yearn-exporter), it brings a lot of new features and benefits without breaking the existing system.
-
-
-[Get Started](/docs/intro) ·
-[GitHub Repository](https://github.com/yearn/yDaemon) .
-[Introductory Article](https://medium.com/@marcoworms/ydaemon-one-api-to-unify-all-yearn-data-4fc74dc9a33b)
-
-
-## Quick Start
-Ensure [Go](https://go.dev/) is installed on your system. Then, clone the repo and create the `.env` file:
-```sh
-RPC_URI_FOR_1=
-RPC_URI_FOR_250=
-RPC_URI_FOR_42161=
-
-# Optional
-WEBHOOK_SECRET=
-GRAPH_API_URI=
-SENTRY_DSN=
-SENTRY_SAMPLE_RATE=
-LOG_LEVEL= # DEBUG, INFO, WARNING, SUCCESS, ERROR
-```
-
-Then, install, build and run the API:
-```bash
-go mod vendor
-go build -o yDaemon ./cmd
-./yDaemon
-```
-
-After a few seconds, you should see the API running. You can test it by running the following command:
-```bash
-curl http://localhost:8080/1/vaults/all
-```
-
-## Data Sources
-To build this API, data is fetched from various Yearn data sources:
-- [Yearn Subgraph](https://thegraph.com/explorer/subgraph?id=5xMSe3wTNLgFQqsAc5SCVVwT4MiRb5AogJCuSN9PjzXF) as the base data source.
-- [Yearn Meta](https://github.com/yearn/yearn-meta) for some basic data and information updated by the Yearn team.
-- [Yearn API](https://api.yearn.finance/) for the APY computation.
-- [Yearn Lens Oracle](https://etherscan.io/address/0xca11bde05977b3631167028862be2a173976ca11) for tokens and vault prices.
-
-To provide a fast and up-to-date experience, a bunch of daemons are summoned with the API, running in the background, forever and ever.
-- Prices from the oracle are updated every 30 seconds for every tokens and vaults, as the price may change at every block.
-- APY information is updated every 10 minutes, as the underlying API is updated every 30 minutes
-- Metadata is updated every day and whenever you deploy yDaemon API.
diff --git a/docs/pages/meta.json b/docs/pages/meta.json
deleted file mode 100755
index a3be3dc64..000000000
--- a/docs/pages/meta.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "index": {
- "title": "Introduction",
- "type": "page",
- "hidden": true
- },
- "docs": {
- "title": "Docs",
- "type": "page"
- }
-}
diff --git a/docs/postcss.config.js b/docs/postcss.config.js
deleted file mode 100755
index a1f7e3a04..000000000
--- a/docs/postcss.config.js
+++ /dev/null
@@ -1,8 +0,0 @@
-module.exports = {
- plugins: {
- 'postcss-import': {},
- 'tailwindcss/nesting': 'postcss-nesting',
- 'tailwindcss': {},
- 'autoprefixer': {}
- }
-};
diff --git a/docs/public/favicons/android-icon-144x144.png b/docs/public/favicons/android-icon-144x144.png
deleted file mode 100755
index a2ccd7778..000000000
Binary files a/docs/public/favicons/android-icon-144x144.png and /dev/null differ
diff --git a/docs/public/favicons/android-icon-192x192.png b/docs/public/favicons/android-icon-192x192.png
deleted file mode 100755
index 2c492f59f..000000000
Binary files a/docs/public/favicons/android-icon-192x192.png and /dev/null differ
diff --git a/docs/public/favicons/android-icon-36x36.png b/docs/public/favicons/android-icon-36x36.png
deleted file mode 100755
index 2a893cb60..000000000
Binary files a/docs/public/favicons/android-icon-36x36.png and /dev/null differ
diff --git a/docs/public/favicons/android-icon-48x48.png b/docs/public/favicons/android-icon-48x48.png
deleted file mode 100755
index 6867675b2..000000000
Binary files a/docs/public/favicons/android-icon-48x48.png and /dev/null differ
diff --git a/docs/public/favicons/android-icon-72x72.png b/docs/public/favicons/android-icon-72x72.png
deleted file mode 100755
index fb02f3f82..000000000
Binary files a/docs/public/favicons/android-icon-72x72.png and /dev/null differ
diff --git a/docs/public/favicons/android-icon-96x96.png b/docs/public/favicons/android-icon-96x96.png
deleted file mode 100755
index 9a3077a91..000000000
Binary files a/docs/public/favicons/android-icon-96x96.png and /dev/null differ
diff --git a/docs/public/favicons/apple-icon-114x114.png b/docs/public/favicons/apple-icon-114x114.png
deleted file mode 100755
index e0bcd3656..000000000
Binary files a/docs/public/favicons/apple-icon-114x114.png and /dev/null differ
diff --git a/docs/public/favicons/apple-icon-120x120.png b/docs/public/favicons/apple-icon-120x120.png
deleted file mode 100755
index 7594baded..000000000
Binary files a/docs/public/favicons/apple-icon-120x120.png and /dev/null differ
diff --git a/docs/public/favicons/apple-icon-144x144.png b/docs/public/favicons/apple-icon-144x144.png
deleted file mode 100755
index a2ccd7778..000000000
Binary files a/docs/public/favicons/apple-icon-144x144.png and /dev/null differ
diff --git a/docs/public/favicons/apple-icon-152x152.png b/docs/public/favicons/apple-icon-152x152.png
deleted file mode 100755
index 520517d04..000000000
Binary files a/docs/public/favicons/apple-icon-152x152.png and /dev/null differ
diff --git a/docs/public/favicons/apple-icon-180x180.png b/docs/public/favicons/apple-icon-180x180.png
deleted file mode 100755
index d42566466..000000000
Binary files a/docs/public/favicons/apple-icon-180x180.png and /dev/null differ
diff --git a/docs/public/favicons/apple-icon-57x57.png b/docs/public/favicons/apple-icon-57x57.png
deleted file mode 100755
index 5fae5fbba..000000000
Binary files a/docs/public/favicons/apple-icon-57x57.png and /dev/null differ
diff --git a/docs/public/favicons/apple-icon-60x60.png b/docs/public/favicons/apple-icon-60x60.png
deleted file mode 100755
index 163ca90c3..000000000
Binary files a/docs/public/favicons/apple-icon-60x60.png and /dev/null differ
diff --git a/docs/public/favicons/apple-icon-72x72.png b/docs/public/favicons/apple-icon-72x72.png
deleted file mode 100755
index fb02f3f82..000000000
Binary files a/docs/public/favicons/apple-icon-72x72.png and /dev/null differ
diff --git a/docs/public/favicons/apple-icon-76x76.png b/docs/public/favicons/apple-icon-76x76.png
deleted file mode 100755
index 8126976a1..000000000
Binary files a/docs/public/favicons/apple-icon-76x76.png and /dev/null differ
diff --git a/docs/public/favicons/apple-icon-precomposed.png b/docs/public/favicons/apple-icon-precomposed.png
deleted file mode 100755
index f52983967..000000000
Binary files a/docs/public/favicons/apple-icon-precomposed.png and /dev/null differ
diff --git a/docs/public/favicons/apple-icon.png b/docs/public/favicons/apple-icon.png
deleted file mode 100755
index f52983967..000000000
Binary files a/docs/public/favicons/apple-icon.png and /dev/null differ
diff --git a/docs/public/favicons/browserconfig.xml b/docs/public/favicons/browserconfig.xml
deleted file mode 100755
index c55414822..000000000
--- a/docs/public/favicons/browserconfig.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-#ffffff
\ No newline at end of file
diff --git a/docs/public/favicons/favicon-16x16.png b/docs/public/favicons/favicon-16x16.png
deleted file mode 100755
index 284e7b5d9..000000000
Binary files a/docs/public/favicons/favicon-16x16.png and /dev/null differ
diff --git a/docs/public/favicons/favicon-32x32.png b/docs/public/favicons/favicon-32x32.png
deleted file mode 100755
index 603176f71..000000000
Binary files a/docs/public/favicons/favicon-32x32.png and /dev/null differ
diff --git a/docs/public/favicons/favicon-96x96.png b/docs/public/favicons/favicon-96x96.png
deleted file mode 100755
index 9a3077a91..000000000
Binary files a/docs/public/favicons/favicon-96x96.png and /dev/null differ
diff --git a/docs/public/favicons/favicon.ico b/docs/public/favicons/favicon.ico
deleted file mode 100755
index c39e0b779..000000000
Binary files a/docs/public/favicons/favicon.ico and /dev/null differ
diff --git a/docs/public/favicons/manifest.json b/docs/public/favicons/manifest.json
deleted file mode 100755
index 013d4a6a5..000000000
--- a/docs/public/favicons/manifest.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "name": "App",
- "icons": [
- {
- "src": "\/android-icon-36x36.png",
- "sizes": "36x36",
- "type": "image\/png",
- "density": "0.75"
- },
- {
- "src": "\/android-icon-48x48.png",
- "sizes": "48x48",
- "type": "image\/png",
- "density": "1.0"
- },
- {
- "src": "\/android-icon-72x72.png",
- "sizes": "72x72",
- "type": "image\/png",
- "density": "1.5"
- },
- {
- "src": "\/android-icon-96x96.png",
- "sizes": "96x96",
- "type": "image\/png",
- "density": "2.0"
- },
- {
- "src": "\/android-icon-144x144.png",
- "sizes": "144x144",
- "type": "image\/png",
- "density": "3.0"
- },
- {
- "src": "\/android-icon-192x192.png",
- "sizes": "192x192",
- "type": "image\/png",
- "density": "4.0"
- }
- ]
-}
\ No newline at end of file
diff --git a/docs/public/favicons/ms-icon-144x144.png b/docs/public/favicons/ms-icon-144x144.png
deleted file mode 100755
index a2ccd7778..000000000
Binary files a/docs/public/favicons/ms-icon-144x144.png and /dev/null differ
diff --git a/docs/public/favicons/ms-icon-150x150.png b/docs/public/favicons/ms-icon-150x150.png
deleted file mode 100755
index ca7ed265b..000000000
Binary files a/docs/public/favicons/ms-icon-150x150.png and /dev/null differ
diff --git a/docs/public/favicons/ms-icon-310x310.png b/docs/public/favicons/ms-icon-310x310.png
deleted file mode 100755
index fa6842c23..000000000
Binary files a/docs/public/favicons/ms-icon-310x310.png and /dev/null differ
diff --git a/docs/public/favicons/ms-icon-70x70.png b/docs/public/favicons/ms-icon-70x70.png
deleted file mode 100755
index 5f9a5b4e9..000000000
Binary files a/docs/public/favicons/ms-icon-70x70.png and /dev/null differ
diff --git a/docs/style.css b/docs/style.css
deleted file mode 100755
index 31eff9dd8..000000000
--- a/docs/style.css
+++ /dev/null
@@ -1,91 +0,0 @@
-/* @import '@yearn-finance/web-lib/style.css'; */
-@import 'nextra-theme-docs/style.css';
-
-html {
- font-feature-settings: "rlig" 1, "calt" 1, "ss01" 1, "ss06" 1 !important;
-}
-
-[data-reach-skip-link] {
- @apply sr-only;
-}
-
-[data-reach-skip-link]:focus {
- @apply not-sr-only fixed ml-6 top-0 bg-white text-lg px-6 py-2 mt-2 outline-none z-50;
-}
-
-.dark .invert-on-dark {
- filter: invert(1) brightness(1.8);
-}
-
-body {
- background: linear-gradient(
- to bottom,
- rgba(255, 255, 255, 0) 0%,
- rgba(255, 255, 255, 1) 300px
- ),
- fixed 0 0 / 20px 20px radial-gradient(#d1d1d1 1px, transparent 0),
- fixed 10px 10px / 20px 20px radial-gradient(#d1d1d1 1px, transparent 0);
-}
-
-.dark body {
-background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, #111 300px),
- fixed 0 0 / 20px 20px radial-gradient(#313131 1px, transparent 0),
- fixed 10px 10px / 20px 20px radial-gradient(#313131 1px, transparent 0);
-}
-
-.callout a {
- color: inherit;
-}
-
-sup a {
- @apply text-base;
- text-decoration: none;
-}
-
-.footnotes {
- @apply text-sm;
-}
-
-.install [role="tablist"] {
- justify-content: center;
-}
-
-.focus-visible:ring {
- @apply !ring-0;
-}
-h1 {
- @apply text-neutral-900;
-}
-
-article pre {
- @apply rounded-lg;
-}
-
-pre *,
-code * {
- font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;
-}
-
-.ring-offset-2 {
- --tw-ring-offset-width: 0px;
- @apply !ring-0;
-}
-
-/* 🔵 - Yearn Finance **************************************************
-** Nextra specific CSS
-**********************************************************************/
-.box-gradient-default {
- & p:not(:first-child),
- & blockquote:not(:first-child),
- & .table-container:not(:first-child) {
- @apply mt-0;
- }
-
- & h4 {
- @apply mt-0;
- }
-}
-
-.getTag ~ p {
- display: none;
-}
\ No newline at end of file
diff --git a/docs/tailwind.config.js b/docs/tailwind.config.js
deleted file mode 100755
index a83919cf3..000000000
--- a/docs/tailwind.config.js
+++ /dev/null
@@ -1,38 +0,0 @@
-/* eslint-disable @typescript-eslint/explicit-function-return-type */
-const {join} = require('path');
-const defaultTheme = require('tailwindcss/defaultTheme');
-
-module.exports = {
- presets: [require('@yearn-finance/web-lib/config/tailwind.config.cjs')],
- content: [
- join(__dirname, 'pages', '**', '*.{js,jsx,ts,tsx}'),
- join(__dirname, 'components', 'icons', '**', '*.{js,jsx,ts,tsx}'),
- join(__dirname, 'components', '**', '*.{js,jsx,ts,tsx}'),
- join(__dirname, 'utils', '**', '*.{js,jsx,ts,tsx}'),
- join(__dirname, 'node_modules', '@yearn-finance', 'web-lib', 'dist', 'layouts', '**', '*.js'),
- join(__dirname, 'node_modules', '@yearn-finance', 'web-lib', 'dist', 'components', '**', '*.js'),
- join(__dirname, 'node_modules', '@yearn-finance', 'web-lib', 'dist', 'contexts', '**', '*.js'),
- join(__dirname, 'node_modules', '@yearn-finance', 'web-lib', 'dist', 'icons', '**', '*.js'),
- join(__dirname, 'node_modules', '@yearn-finance', 'web-lib', 'dist', 'utils', '**', '*.js')
- ],
- theme: {
- extend: {
- fontFamily: {
- aeonik: ['Aeonik', ...defaultTheme.fontFamily.sans],
- mono: ['Aeonik Mono', ...defaultTheme.fontFamily.mono]
- },
- height: {
- 'inherit': 'inherit'
- },
- screens: {
- 'lg': '1200px'
- },
- fontSize: {
- '3xl': ['32px', '40px'],
- '7xl': ['64px', '72px'],
- '8xl': ['88px', '104px']
- }
- }
- },
- plugins: []
-};
\ No newline at end of file
diff --git a/docs/theme.config.js b/docs/theme.config.js
deleted file mode 100755
index 68be21158..000000000
--- a/docs/theme.config.js
+++ /dev/null
@@ -1,101 +0,0 @@
-/* eslint-disable react/react-in-jsx-scope */
-/* eslint-disable @typescript-eslint/explicit-function-return-type */
-
-const GITHUB_URI = 'https://github.com/yearn/ydaemon';
-
-// eslint-disable-next-line import/no-anonymous-default-export
-export default {
- docsRepositoryBase: GITHUB_URI,
- feedbackLabels: 'feedback',
- feedbackLink: 'Question? Give us feedback →',
- floatTOC: true,
- defaultMenuCollapsed: false,
- footerEditLink: 'Edit this page on GitHub',
- footerText: () => (
-
- {'Yearn Finance '}{new Date().getFullYear()}
-
- ),
- GITHUB_URI,
- head: ({meta, title}) => {
- // eslint-disable-next-line react-hooks/rules-of-hooks
- const description = meta.description || 'yDaemon is the next-gen API for Yearn. Based on the one from the [exporter](https://github.com/yearn/yearn-exporter), it brings a lot of new features and benefits without breaking the existing system.';
- const appTitle = title && !title.startsWith('Yearn') ? title + ' – Yearn' : 'yDaemon';
- return (
- <>
- {appTitle}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- >
- );
- },
- logo: () => {
- // eslint-disable-next-line react-hooks/rules-of-hooks
- return (
- <>
-
-
- {'yDaemon'}
-
- >
- );
- },
- nextLinks: true,
- darkMode: true,
- prevLinks: true,
- projectLink: GITHUB_URI,
- search: true,
- titleSuffix: ' – Yearn',
- unstable_flexsearch: true
-};
diff --git a/docs/tsconfig.json b/docs/tsconfig.json
deleted file mode 100755
index d2ef631ce..000000000
--- a/docs/tsconfig.json
+++ /dev/null
@@ -1,65 +0,0 @@
-{
- "compilerOptions": {
- "rootDirs": ["."],
- "baseUrl": ".",
- "paths": {
- "@yearn-finance/web-lib/components": ["./node_modules/@yearn-finance/web-lib/dist/components"],
- "@yearn-finance/web-lib/layouts": ["./node_modules/@yearn-finance/web-lib/dist/layouts"],
- "@yearn-finance/web-lib/contexts": ["./node_modules/@yearn-finance/web-lib/dist/contexts"],
- "@yearn-finance/web-lib/hooks": ["./node_modules/@yearn-finance/web-lib/dist/hooks"],
- "@yearn-finance/web-lib/icons": ["./node_modules/@yearn-finance/web-lib/dist/icons"],
- "@yearn-finance/web-lib/utils": ["./node_modules/@yearn-finance/web-lib/dist/utils"],
- },
- /* Basic Options */
- "target": "esnext",
- "module": "esnext",
- "lib": [
- "es6",
- "es7",
- "esnext",
- "dom"
- ],
- "allowJs": true,
- "jsx": "preserve",
- "removeComments": false,
- "strict": true,
- "noImplicitAny": true,
- "strictNullChecks": true,
- "strictFunctionTypes": true,
- "strictPropertyInitialization": true,
- "noImplicitThis": true,
- "alwaysStrict": true,
- "noUnusedLocals": true,
- "noUnusedParameters": true,
- "noImplicitReturns": true,
- "noFallthroughCasesInSwitch": true,
- "moduleResolution": "node",
- "allowSyntheticDefaultImports": true,
- "esModuleInterop": true,
- "inlineSourceMap": true,
- "inlineSources": true,
- "resolveJsonModule": true,
- "skipLibCheck": true,
- "forceConsistentCasingInFileNames": true,
- "noEmit": true,
- "incremental": true,
- "isolatedModules": true
- },
- "exclude": [
- "node_modules"
- ],
- "include": [
- "**/*.css",
- "**/*.ts",
- "**/*.mdx",
- "**/*.tsx",
- "**/*.d.tsx",
- "public",
- "postcss.config.js",
- "tailwind.config.js",
- "next.config.js",
- "theme.config.js",
- ".eslintrc.js"
- ]
- }
-
\ No newline at end of file
diff --git a/docs/types/nextra.d.ts b/docs/types/nextra.d.ts
deleted file mode 100755
index 211fde29b..000000000
--- a/docs/types/nextra.d.ts
+++ /dev/null
@@ -1 +0,0 @@
-declare module 'nextra/locales'
diff --git a/docs/yarn.lock b/docs/yarn.lock
deleted file mode 100755
index 84696ef59..000000000
--- a/docs/yarn.lock
+++ /dev/null
@@ -1,9057 +0,0 @@
-# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
-# yarn lockfile v1
-
-
-"@ampproject/remapping@^2.1.0":
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d"
- integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==
- dependencies:
- "@jridgewell/gen-mapping" "^0.1.0"
- "@jridgewell/trace-mapping" "^0.3.9"
-
-"@apideck/better-ajv-errors@^0.3.1":
- version "0.3.6"
- resolved "https://registry.yarnpkg.com/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz#957d4c28e886a64a8141f7522783be65733ff097"
- integrity sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==
- dependencies:
- json-schema "^0.4.0"
- jsonpointer "^5.0.0"
- leven "^3.1.0"
-
-"@babel/code-frame@^7.10.4", "@babel/code-frame@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a"
- integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==
- dependencies:
- "@babel/highlight" "^7.18.6"
-
-"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.6.tgz#8b37d24e88e8e21c499d4328db80577d8882fa53"
- integrity sha512-tzulrgDT0QD6U7BJ4TKVk2SDDg7wlP39P9yAx1RfLy7vP/7rsDRlWVfbWxElslu56+r7QOhB2NSDsabYYruoZQ==
-
-"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.19.3", "@babel/compat-data@^7.19.4":
- version "7.19.4"
- resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.19.4.tgz#95c86de137bf0317f3a570e1b6e996b427299747"
- integrity sha512-CHIGpJcUQ5lU9KrPHTjBMhVwQG6CQjxfg36fGXl3qk/Gik1WwWachaXFuo0uCWJT/mStOKtcbFJCaVLihC1CMw==
-
-"@babel/core@^7.11.1":
- version "7.19.3"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.19.3.tgz#2519f62a51458f43b682d61583c3810e7dcee64c"
- integrity sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==
- dependencies:
- "@ampproject/remapping" "^2.1.0"
- "@babel/code-frame" "^7.18.6"
- "@babel/generator" "^7.19.3"
- "@babel/helper-compilation-targets" "^7.19.3"
- "@babel/helper-module-transforms" "^7.19.0"
- "@babel/helpers" "^7.19.0"
- "@babel/parser" "^7.19.3"
- "@babel/template" "^7.18.10"
- "@babel/traverse" "^7.19.3"
- "@babel/types" "^7.19.3"
- convert-source-map "^1.7.0"
- debug "^4.1.0"
- gensync "^1.0.0-beta.2"
- json5 "^2.2.1"
- semver "^6.3.0"
-
-"@babel/generator@^7.18.6":
- version "7.18.7"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.7.tgz#2aa78da3c05aadfc82dbac16c99552fc802284bd"
- integrity sha512-shck+7VLlY72a2w9c3zYWuE1pwOKEiQHV7GTUbSnhyl5eu3i04t30tBY82ZRWrDfo3gkakCFtevExnxbkf2a3A==
- dependencies:
- "@babel/types" "^7.18.7"
- "@jridgewell/gen-mapping" "^0.3.2"
- jsesc "^2.5.1"
-
-"@babel/generator@^7.19.3", "@babel/generator@^7.19.4":
- version "7.19.5"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.19.5.tgz#da3f4b301c8086717eee9cab14da91b1fa5dcca7"
- integrity sha512-DxbNz9Lz4aMZ99qPpO1raTbcrI1ZeYh+9NR9qhfkQIbFtVEqotHojEBxHzmxhVONkGt6VyrqVQcgpefMy9pqcg==
- dependencies:
- "@babel/types" "^7.19.4"
- "@jridgewell/gen-mapping" "^0.3.2"
- jsesc "^2.5.1"
-
-"@babel/helper-annotate-as-pure@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb"
- integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==
- dependencies:
- "@babel/types" "^7.18.6"
-
-"@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6":
- version "7.18.9"
- resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz#acd4edfd7a566d1d51ea975dff38fd52906981bb"
- integrity sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==
- dependencies:
- "@babel/helper-explode-assignable-expression" "^7.18.6"
- "@babel/types" "^7.18.9"
-
-"@babel/helper-compilation-targets@^7.13.0":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.6.tgz#18d35bfb9f83b1293c22c55b3d576c1315b6ed96"
- integrity sha512-vFjbfhNCzqdeAtZflUFrG5YIFqGTqsctrtkZ1D/NB0mDW9TwW3GmmUepYY4G9wCET5rY5ugz4OGTcLd614IzQg==
- dependencies:
- "@babel/compat-data" "^7.18.6"
- "@babel/helper-validator-option" "^7.18.6"
- browserslist "^4.20.2"
- semver "^6.3.0"
-
-"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.19.0", "@babel/helper-compilation-targets@^7.19.3":
- version "7.19.3"
- resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz#a10a04588125675d7c7ae299af86fa1b2ee038ca"
- integrity sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg==
- dependencies:
- "@babel/compat-data" "^7.19.3"
- "@babel/helper-validator-option" "^7.18.6"
- browserslist "^4.21.3"
- semver "^6.3.0"
-
-"@babel/helper-create-class-features-plugin@^7.18.6":
- version "7.19.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz#bfd6904620df4e46470bae4850d66be1054c404b"
- integrity sha512-NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.18.6"
- "@babel/helper-environment-visitor" "^7.18.9"
- "@babel/helper-function-name" "^7.19.0"
- "@babel/helper-member-expression-to-functions" "^7.18.9"
- "@babel/helper-optimise-call-expression" "^7.18.6"
- "@babel/helper-replace-supers" "^7.18.9"
- "@babel/helper-split-export-declaration" "^7.18.6"
-
-"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.19.0":
- version "7.19.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz#7976aca61c0984202baca73d84e2337a5424a41b"
- integrity sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.18.6"
- regexpu-core "^5.1.0"
-
-"@babel/helper-define-polyfill-provider@^0.3.1":
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz#52411b445bdb2e676869e5a74960d2d3826d2665"
- integrity sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==
- dependencies:
- "@babel/helper-compilation-targets" "^7.13.0"
- "@babel/helper-module-imports" "^7.12.13"
- "@babel/helper-plugin-utils" "^7.13.0"
- "@babel/traverse" "^7.13.0"
- debug "^4.1.1"
- lodash.debounce "^4.0.8"
- resolve "^1.14.2"
- semver "^6.1.2"
-
-"@babel/helper-define-polyfill-provider@^0.3.3":
- version "0.3.3"
- resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz#8612e55be5d51f0cd1f36b4a5a83924e89884b7a"
- integrity sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==
- dependencies:
- "@babel/helper-compilation-targets" "^7.17.7"
- "@babel/helper-plugin-utils" "^7.16.7"
- debug "^4.1.1"
- lodash.debounce "^4.0.8"
- resolve "^1.14.2"
- semver "^6.1.2"
-
-"@babel/helper-environment-visitor@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.6.tgz#b7eee2b5b9d70602e59d1a6cad7dd24de7ca6cd7"
- integrity sha512-8n6gSfn2baOY+qlp+VSzsosjCVGFqWKmDF0cCWOybh52Dw3SEyoWR1KrhMJASjLwIEkkAufZ0xvr+SxLHSpy2Q==
-
-"@babel/helper-environment-visitor@^7.18.9":
- version "7.18.9"
- resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be"
- integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==
-
-"@babel/helper-explode-assignable-expression@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz#41f8228ef0a6f1a036b8dfdfec7ce94f9a6bc096"
- integrity sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==
- dependencies:
- "@babel/types" "^7.18.6"
-
-"@babel/helper-function-name@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.18.6.tgz#8334fecb0afba66e6d87a7e8c6bb7fed79926b83"
- integrity sha512-0mWMxV1aC97dhjCah5U5Ua7668r5ZmSC2DLfH2EZnf9c3/dHZKiFa5pRLMH5tjSl471tY6496ZWk/kjNONBxhw==
- dependencies:
- "@babel/template" "^7.18.6"
- "@babel/types" "^7.18.6"
-
-"@babel/helper-function-name@^7.18.9", "@babel/helper-function-name@^7.19.0":
- version "7.19.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz#941574ed5390682e872e52d3f38ce9d1bef4648c"
- integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==
- dependencies:
- "@babel/template" "^7.18.10"
- "@babel/types" "^7.19.0"
-
-"@babel/helper-hoist-variables@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678"
- integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==
- dependencies:
- "@babel/types" "^7.18.6"
-
-"@babel/helper-member-expression-to-functions@^7.18.9":
- version "7.18.9"
- resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz#1531661e8375af843ad37ac692c132841e2fd815"
- integrity sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==
- dependencies:
- "@babel/types" "^7.18.9"
-
-"@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e"
- integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==
- dependencies:
- "@babel/types" "^7.18.6"
-
-"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.19.0":
- version "7.19.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz#309b230f04e22c58c6a2c0c0c7e50b216d350c30"
- integrity sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==
- dependencies:
- "@babel/helper-environment-visitor" "^7.18.9"
- "@babel/helper-module-imports" "^7.18.6"
- "@babel/helper-simple-access" "^7.18.6"
- "@babel/helper-split-export-declaration" "^7.18.6"
- "@babel/helper-validator-identifier" "^7.18.6"
- "@babel/template" "^7.18.10"
- "@babel/traverse" "^7.19.0"
- "@babel/types" "^7.19.0"
-
-"@babel/helper-optimise-call-expression@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz#9369aa943ee7da47edab2cb4e838acf09d290ffe"
- integrity sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==
- dependencies:
- "@babel/types" "^7.18.6"
-
-"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
- version "7.19.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz#4796bb14961521f0f8715990bee2fb6e51ce21bf"
- integrity sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==
-
-"@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.6.tgz#9448974dd4fb1d80fefe72e8a0af37809cd30d6d"
- integrity sha512-gvZnm1YAAxh13eJdkb9EWHBnF3eAub3XTLCZEehHT2kWxiKVRL64+ae5Y6Ivne0mVHmMYKT+xWgZO+gQhuLUBg==
-
-"@babel/helper-remap-async-to-generator@^7.18.6", "@babel/helper-remap-async-to-generator@^7.18.9":
- version "7.18.9"
- resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz#997458a0e3357080e54e1d79ec347f8a8cd28519"
- integrity sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.18.6"
- "@babel/helper-environment-visitor" "^7.18.9"
- "@babel/helper-wrap-function" "^7.18.9"
- "@babel/types" "^7.18.9"
-
-"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.18.9":
- version "7.19.1"
- resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz#e1592a9b4b368aa6bdb8784a711e0bcbf0612b78"
- integrity sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==
- dependencies:
- "@babel/helper-environment-visitor" "^7.18.9"
- "@babel/helper-member-expression-to-functions" "^7.18.9"
- "@babel/helper-optimise-call-expression" "^7.18.6"
- "@babel/traverse" "^7.19.1"
- "@babel/types" "^7.19.0"
-
-"@babel/helper-simple-access@^7.18.6":
- version "7.19.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.19.4.tgz#be553f4951ac6352df2567f7daa19a0ee15668e7"
- integrity sha512-f9Xq6WqBFqaDfbCzn2w85hwklswz5qsKlh7f08w4Y9yhJHpnNC0QemtSkK5YyOY8kPGvyiwdzZksGUhnGdaUIg==
- dependencies:
- "@babel/types" "^7.19.4"
-
-"@babel/helper-skip-transparent-expression-wrappers@^7.18.9":
- version "7.18.9"
- resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz#778d87b3a758d90b471e7b9918f34a9a02eb5818"
- integrity sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==
- dependencies:
- "@babel/types" "^7.18.9"
-
-"@babel/helper-split-export-declaration@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075"
- integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==
- dependencies:
- "@babel/types" "^7.18.6"
-
-"@babel/helper-string-parser@^7.19.4":
- version "7.19.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63"
- integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==
-
-"@babel/helper-validator-identifier@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz#9c97e30d31b2b8c72a1d08984f2ca9b574d7a076"
- integrity sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==
-
-"@babel/helper-validator-identifier@^7.19.1":
- version "7.19.1"
- resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2"
- integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==
-
-"@babel/helper-validator-option@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8"
- integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==
-
-"@babel/helper-wrap-function@^7.18.9":
- version "7.19.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz#89f18335cff1152373222f76a4b37799636ae8b1"
- integrity sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg==
- dependencies:
- "@babel/helper-function-name" "^7.19.0"
- "@babel/template" "^7.18.10"
- "@babel/traverse" "^7.19.0"
- "@babel/types" "^7.19.0"
-
-"@babel/helpers@^7.19.0":
- version "7.19.4"
- resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.19.4.tgz#42154945f87b8148df7203a25c31ba9a73be46c5"
- integrity sha512-G+z3aOx2nfDHwX/kyVii5fJq+bgscg89/dJNWpYeKeBv3v9xX8EIabmx1k6u9LS04H7nROFVRVK+e3k0VHp+sw==
- dependencies:
- "@babel/template" "^7.18.10"
- "@babel/traverse" "^7.19.4"
- "@babel/types" "^7.19.4"
-
-"@babel/highlight@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf"
- integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==
- dependencies:
- "@babel/helper-validator-identifier" "^7.18.6"
- chalk "^2.0.0"
- js-tokens "^4.0.0"
-
-"@babel/parser@^7.18.10", "@babel/parser@^7.19.3", "@babel/parser@^7.19.4":
- version "7.19.4"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.19.4.tgz#03c4339d2b8971eb3beca5252bafd9b9f79db3dc"
- integrity sha512-qpVT7gtuOLjWeDTKLkJ6sryqLliBaFpAtGeqw5cs5giLldvh+Ch0plqnUMKoVAUS6ZEueQQiZV+p5pxtPitEsA==
-
-"@babel/parser@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.6.tgz#845338edecad65ebffef058d3be851f1d28a63bc"
- integrity sha512-uQVSa9jJUe/G/304lXspfWVpKpK4euFLgGiMQFOCpM/bgcAdeoHwi/OQz23O9GK2osz26ZiXRRV9aV+Yl1O8tw==
-
-"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2"
- integrity sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.6"
-
-"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.9":
- version "7.18.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz#a11af19aa373d68d561f08e0a57242350ed0ec50"
- integrity sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.9"
- "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9"
- "@babel/plugin-proposal-optional-chaining" "^7.18.9"
-
-"@babel/plugin-proposal-async-generator-functions@^7.19.1":
- version "7.19.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.1.tgz#34f6f5174b688529342288cd264f80c9ea9fb4a7"
- integrity sha512-0yu8vNATgLy4ivqMNBIwb1HebCelqN7YX8SL3FDXORv/RqT0zEEWUCH4GH44JsSrvCu6GqnAdR5EBFAPeNBB4Q==
- dependencies:
- "@babel/helper-environment-visitor" "^7.18.9"
- "@babel/helper-plugin-utils" "^7.19.0"
- "@babel/helper-remap-async-to-generator" "^7.18.9"
- "@babel/plugin-syntax-async-generators" "^7.8.4"
-
-"@babel/plugin-proposal-class-properties@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3"
- integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==
- dependencies:
- "@babel/helper-create-class-features-plugin" "^7.18.6"
- "@babel/helper-plugin-utils" "^7.18.6"
-
-"@babel/plugin-proposal-class-static-block@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz#8aa81d403ab72d3962fc06c26e222dacfc9b9020"
- integrity sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==
- dependencies:
- "@babel/helper-create-class-features-plugin" "^7.18.6"
- "@babel/helper-plugin-utils" "^7.18.6"
- "@babel/plugin-syntax-class-static-block" "^7.14.5"
-
-"@babel/plugin-proposal-dynamic-import@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz#72bcf8d408799f547d759298c3c27c7e7faa4d94"
- integrity sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.6"
- "@babel/plugin-syntax-dynamic-import" "^7.8.3"
-
-"@babel/plugin-proposal-export-namespace-from@^7.18.9":
- version "7.18.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz#5f7313ab348cdb19d590145f9247540e94761203"
- integrity sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.9"
- "@babel/plugin-syntax-export-namespace-from" "^7.8.3"
-
-"@babel/plugin-proposal-json-strings@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz#7e8788c1811c393aff762817e7dbf1ebd0c05f0b"
- integrity sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.6"
- "@babel/plugin-syntax-json-strings" "^7.8.3"
-
-"@babel/plugin-proposal-logical-assignment-operators@^7.18.9":
- version "7.18.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz#8148cbb350483bf6220af06fa6db3690e14b2e23"
- integrity sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.9"
- "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
-
-"@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1"
- integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.6"
- "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
-
-"@babel/plugin-proposal-numeric-separator@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz#899b14fbafe87f053d2c5ff05b36029c62e13c75"
- integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.6"
- "@babel/plugin-syntax-numeric-separator" "^7.10.4"
-
-"@babel/plugin-proposal-object-rest-spread@^7.19.4":
- version "7.19.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.19.4.tgz#a8fc86e8180ff57290c91a75d83fe658189b642d"
- integrity sha512-wHmj6LDxVDnL+3WhXteUBaoM1aVILZODAUjg11kHqG4cOlfgMQGxw6aCgvrXrmaJR3Bn14oZhImyCPZzRpC93Q==
- dependencies:
- "@babel/compat-data" "^7.19.4"
- "@babel/helper-compilation-targets" "^7.19.3"
- "@babel/helper-plugin-utils" "^7.19.0"
- "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
- "@babel/plugin-transform-parameters" "^7.18.8"
-
-"@babel/plugin-proposal-optional-catch-binding@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz#f9400d0e6a3ea93ba9ef70b09e72dd6da638a2cb"
- integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.6"
- "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
-
-"@babel/plugin-proposal-optional-chaining@^7.18.9":
- version "7.18.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz#e8e8fe0723f2563960e4bf5e9690933691915993"
- integrity sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.9"
- "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9"
- "@babel/plugin-syntax-optional-chaining" "^7.8.3"
-
-"@babel/plugin-proposal-private-methods@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz#5209de7d213457548a98436fa2882f52f4be6bea"
- integrity sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==
- dependencies:
- "@babel/helper-create-class-features-plugin" "^7.18.6"
- "@babel/helper-plugin-utils" "^7.18.6"
-
-"@babel/plugin-proposal-private-property-in-object@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz#a64137b232f0aca3733a67eb1a144c192389c503"
- integrity sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.18.6"
- "@babel/helper-create-class-features-plugin" "^7.18.6"
- "@babel/helper-plugin-utils" "^7.18.6"
- "@babel/plugin-syntax-private-property-in-object" "^7.14.5"
-
-"@babel/plugin-proposal-unicode-property-regex@^7.18.6", "@babel/plugin-proposal-unicode-property-regex@^7.4.4":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz#af613d2cd5e643643b65cded64207b15c85cb78e"
- integrity sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==
- dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.18.6"
- "@babel/helper-plugin-utils" "^7.18.6"
-
-"@babel/plugin-syntax-async-generators@^7.8.4":
- version "7.8.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d"
- integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-class-properties@^7.12.13":
- version "7.12.13"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10"
- integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.12.13"
-
-"@babel/plugin-syntax-class-static-block@^7.14.5":
- version "7.14.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406"
- integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-syntax-dynamic-import@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3"
- integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-export-namespace-from@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a"
- integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
-
-"@babel/plugin-syntax-import-assertions@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz#cd6190500a4fa2fe31990a963ffab4b63e4505e4"
- integrity sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.6"
-
-"@babel/plugin-syntax-json-strings@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a"
- integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-logical-assignment-operators@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699"
- integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9"
- integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-numeric-separator@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97"
- integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-syntax-object-rest-spread@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871"
- integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-optional-catch-binding@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1"
- integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-optional-chaining@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a"
- integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-private-property-in-object@^7.14.5":
- version "7.14.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad"
- integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-syntax-top-level-await@^7.14.5":
- version "7.14.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c"
- integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-transform-arrow-functions@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz#19063fcf8771ec7b31d742339dac62433d0611fe"
- integrity sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.6"
-
-"@babel/plugin-transform-async-to-generator@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz#ccda3d1ab9d5ced5265fdb13f1882d5476c71615"
- integrity sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==
- dependencies:
- "@babel/helper-module-imports" "^7.18.6"
- "@babel/helper-plugin-utils" "^7.18.6"
- "@babel/helper-remap-async-to-generator" "^7.18.6"
-
-"@babel/plugin-transform-block-scoped-functions@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz#9187bf4ba302635b9d70d986ad70f038726216a8"
- integrity sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.6"
-
-"@babel/plugin-transform-block-scoping@^7.19.4":
- version "7.19.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.19.4.tgz#315d70f68ce64426db379a3d830e7ac30be02e9b"
- integrity sha512-934S2VLLlt2hRJwPf4MczaOr4hYF0z+VKPwqTNxyKX7NthTiPfhuKFWQZHXRM0vh/wo/VyXB3s4bZUNA08l+tQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.19.0"
-
-"@babel/plugin-transform-classes@^7.19.0":
- version "7.19.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz#0e61ec257fba409c41372175e7c1e606dc79bb20"
- integrity sha512-YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.18.6"
- "@babel/helper-compilation-targets" "^7.19.0"
- "@babel/helper-environment-visitor" "^7.18.9"
- "@babel/helper-function-name" "^7.19.0"
- "@babel/helper-optimise-call-expression" "^7.18.6"
- "@babel/helper-plugin-utils" "^7.19.0"
- "@babel/helper-replace-supers" "^7.18.9"
- "@babel/helper-split-export-declaration" "^7.18.6"
- globals "^11.1.0"
-
-"@babel/plugin-transform-computed-properties@^7.18.9":
- version "7.18.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz#2357a8224d402dad623caf6259b611e56aec746e"
- integrity sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.9"
-
-"@babel/plugin-transform-destructuring@^7.19.4":
- version "7.19.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.19.4.tgz#46890722687b9b89e1369ad0bd8dc6c5a3b4319d"
- integrity sha512-t0j0Hgidqf0aM86dF8U+vXYReUgJnlv4bZLsyoPnwZNrGY+7/38o8YjaELrvHeVfTZao15kjR0PVv0nju2iduA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.19.0"
-
-"@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz#b286b3e7aae6c7b861e45bed0a2fafd6b1a4fef8"
- integrity sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==
- dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.18.6"
- "@babel/helper-plugin-utils" "^7.18.6"
-
-"@babel/plugin-transform-duplicate-keys@^7.18.9":
- version "7.18.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz#687f15ee3cdad6d85191eb2a372c4528eaa0ae0e"
- integrity sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.9"
-
-"@babel/plugin-transform-exponentiation-operator@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz#421c705f4521888c65e91fdd1af951bfefd4dacd"
- integrity sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==
- dependencies:
- "@babel/helper-builder-binary-assignment-operator-visitor" "^7.18.6"
- "@babel/helper-plugin-utils" "^7.18.6"
-
-"@babel/plugin-transform-for-of@^7.18.8":
- version "7.18.8"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz#6ef8a50b244eb6a0bdbad0c7c61877e4e30097c1"
- integrity sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.6"
-
-"@babel/plugin-transform-function-name@^7.18.9":
- version "7.18.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz#cc354f8234e62968946c61a46d6365440fc764e0"
- integrity sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==
- dependencies:
- "@babel/helper-compilation-targets" "^7.18.9"
- "@babel/helper-function-name" "^7.18.9"
- "@babel/helper-plugin-utils" "^7.18.9"
-
-"@babel/plugin-transform-literals@^7.18.9":
- version "7.18.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz#72796fdbef80e56fba3c6a699d54f0de557444bc"
- integrity sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.9"
-
-"@babel/plugin-transform-member-expression-literals@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz#ac9fdc1a118620ac49b7e7a5d2dc177a1bfee88e"
- integrity sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.6"
-
-"@babel/plugin-transform-modules-amd@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz#8c91f8c5115d2202f277549848874027d7172d21"
- integrity sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==
- dependencies:
- "@babel/helper-module-transforms" "^7.18.6"
- "@babel/helper-plugin-utils" "^7.18.6"
- babel-plugin-dynamic-import-node "^2.3.3"
-
-"@babel/plugin-transform-modules-commonjs@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz#afd243afba166cca69892e24a8fd8c9f2ca87883"
- integrity sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==
- dependencies:
- "@babel/helper-module-transforms" "^7.18.6"
- "@babel/helper-plugin-utils" "^7.18.6"
- "@babel/helper-simple-access" "^7.18.6"
- babel-plugin-dynamic-import-node "^2.3.3"
-
-"@babel/plugin-transform-modules-systemjs@^7.19.0":
- version "7.19.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.0.tgz#5f20b471284430f02d9c5059d9b9a16d4b085a1f"
- integrity sha512-x9aiR0WXAWmOWsqcsnrzGR+ieaTMVyGyffPVA7F8cXAGt/UxefYv6uSHZLkAFChN5M5Iy1+wjE+xJuPt22H39A==
- dependencies:
- "@babel/helper-hoist-variables" "^7.18.6"
- "@babel/helper-module-transforms" "^7.19.0"
- "@babel/helper-plugin-utils" "^7.19.0"
- "@babel/helper-validator-identifier" "^7.18.6"
- babel-plugin-dynamic-import-node "^2.3.3"
-
-"@babel/plugin-transform-modules-umd@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz#81d3832d6034b75b54e62821ba58f28ed0aab4b9"
- integrity sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==
- dependencies:
- "@babel/helper-module-transforms" "^7.18.6"
- "@babel/helper-plugin-utils" "^7.18.6"
-
-"@babel/plugin-transform-named-capturing-groups-regex@^7.19.1":
- version "7.19.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz#ec7455bab6cd8fb05c525a94876f435a48128888"
- integrity sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw==
- dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.19.0"
- "@babel/helper-plugin-utils" "^7.19.0"
-
-"@babel/plugin-transform-new-target@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz#d128f376ae200477f37c4ddfcc722a8a1b3246a8"
- integrity sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.6"
-
-"@babel/plugin-transform-object-super@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz#fb3c6ccdd15939b6ff7939944b51971ddc35912c"
- integrity sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.6"
- "@babel/helper-replace-supers" "^7.18.6"
-
-"@babel/plugin-transform-parameters@^7.18.8":
- version "7.18.8"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz#ee9f1a0ce6d78af58d0956a9378ea3427cccb48a"
- integrity sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.6"
-
-"@babel/plugin-transform-property-literals@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz#e22498903a483448e94e032e9bbb9c5ccbfc93a3"
- integrity sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.6"
-
-"@babel/plugin-transform-regenerator@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz#585c66cb84d4b4bf72519a34cfce761b8676ca73"
- integrity sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.6"
- regenerator-transform "^0.15.0"
-
-"@babel/plugin-transform-reserved-words@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz#b1abd8ebf8edaa5f7fe6bbb8d2133d23b6a6f76a"
- integrity sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.6"
-
-"@babel/plugin-transform-runtime@^7.5.5":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.6.tgz#77b14416015ea93367ca06979710f5000ff34ccb"
- integrity sha512-8uRHk9ZmRSnWqUgyae249EJZ94b0yAGLBIqzZzl+0iEdbno55Pmlt/32JZsHwXD9k/uZj18Aqqk35wBX4CBTXA==
- dependencies:
- "@babel/helper-module-imports" "^7.18.6"
- "@babel/helper-plugin-utils" "^7.18.6"
- babel-plugin-polyfill-corejs2 "^0.3.1"
- babel-plugin-polyfill-corejs3 "^0.5.2"
- babel-plugin-polyfill-regenerator "^0.3.1"
- semver "^6.3.0"
-
-"@babel/plugin-transform-shorthand-properties@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz#6d6df7983d67b195289be24909e3f12a8f664dc9"
- integrity sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.6"
-
-"@babel/plugin-transform-spread@^7.19.0":
- version "7.19.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz#dd60b4620c2fec806d60cfaae364ec2188d593b6"
- integrity sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==
- dependencies:
- "@babel/helper-plugin-utils" "^7.19.0"
- "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9"
-
-"@babel/plugin-transform-sticky-regex@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz#c6706eb2b1524028e317720339583ad0f444adcc"
- integrity sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.6"
-
-"@babel/plugin-transform-template-literals@^7.18.9":
- version "7.18.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz#04ec6f10acdaa81846689d63fae117dd9c243a5e"
- integrity sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.9"
-
-"@babel/plugin-transform-typeof-symbol@^7.18.9":
- version "7.18.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz#c8cea68263e45addcd6afc9091429f80925762c0"
- integrity sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.9"
-
-"@babel/plugin-transform-unicode-escapes@^7.18.10":
- version "7.18.10"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz#1ecfb0eda83d09bbcb77c09970c2dd55832aa246"
- integrity sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.9"
-
-"@babel/plugin-transform-unicode-regex@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz#194317225d8c201bbae103364ffe9e2cea36cdca"
- integrity sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==
- dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.18.6"
- "@babel/helper-plugin-utils" "^7.18.6"
-
-"@babel/preset-env@^7.11.0":
- version "7.19.4"
- resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.19.4.tgz#4c91ce2e1f994f717efb4237891c3ad2d808c94b"
- integrity sha512-5QVOTXUdqTCjQuh2GGtdd7YEhoRXBMVGROAtsBeLGIbIz3obCBIfRMT1I3ZKkMgNzwkyCkftDXSSkHxnfVf4qg==
- dependencies:
- "@babel/compat-data" "^7.19.4"
- "@babel/helper-compilation-targets" "^7.19.3"
- "@babel/helper-plugin-utils" "^7.19.0"
- "@babel/helper-validator-option" "^7.18.6"
- "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6"
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.9"
- "@babel/plugin-proposal-async-generator-functions" "^7.19.1"
- "@babel/plugin-proposal-class-properties" "^7.18.6"
- "@babel/plugin-proposal-class-static-block" "^7.18.6"
- "@babel/plugin-proposal-dynamic-import" "^7.18.6"
- "@babel/plugin-proposal-export-namespace-from" "^7.18.9"
- "@babel/plugin-proposal-json-strings" "^7.18.6"
- "@babel/plugin-proposal-logical-assignment-operators" "^7.18.9"
- "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6"
- "@babel/plugin-proposal-numeric-separator" "^7.18.6"
- "@babel/plugin-proposal-object-rest-spread" "^7.19.4"
- "@babel/plugin-proposal-optional-catch-binding" "^7.18.6"
- "@babel/plugin-proposal-optional-chaining" "^7.18.9"
- "@babel/plugin-proposal-private-methods" "^7.18.6"
- "@babel/plugin-proposal-private-property-in-object" "^7.18.6"
- "@babel/plugin-proposal-unicode-property-regex" "^7.18.6"
- "@babel/plugin-syntax-async-generators" "^7.8.4"
- "@babel/plugin-syntax-class-properties" "^7.12.13"
- "@babel/plugin-syntax-class-static-block" "^7.14.5"
- "@babel/plugin-syntax-dynamic-import" "^7.8.3"
- "@babel/plugin-syntax-export-namespace-from" "^7.8.3"
- "@babel/plugin-syntax-import-assertions" "^7.18.6"
- "@babel/plugin-syntax-json-strings" "^7.8.3"
- "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
- "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
- "@babel/plugin-syntax-numeric-separator" "^7.10.4"
- "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
- "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
- "@babel/plugin-syntax-optional-chaining" "^7.8.3"
- "@babel/plugin-syntax-private-property-in-object" "^7.14.5"
- "@babel/plugin-syntax-top-level-await" "^7.14.5"
- "@babel/plugin-transform-arrow-functions" "^7.18.6"
- "@babel/plugin-transform-async-to-generator" "^7.18.6"
- "@babel/plugin-transform-block-scoped-functions" "^7.18.6"
- "@babel/plugin-transform-block-scoping" "^7.19.4"
- "@babel/plugin-transform-classes" "^7.19.0"
- "@babel/plugin-transform-computed-properties" "^7.18.9"
- "@babel/plugin-transform-destructuring" "^7.19.4"
- "@babel/plugin-transform-dotall-regex" "^7.18.6"
- "@babel/plugin-transform-duplicate-keys" "^7.18.9"
- "@babel/plugin-transform-exponentiation-operator" "^7.18.6"
- "@babel/plugin-transform-for-of" "^7.18.8"
- "@babel/plugin-transform-function-name" "^7.18.9"
- "@babel/plugin-transform-literals" "^7.18.9"
- "@babel/plugin-transform-member-expression-literals" "^7.18.6"
- "@babel/plugin-transform-modules-amd" "^7.18.6"
- "@babel/plugin-transform-modules-commonjs" "^7.18.6"
- "@babel/plugin-transform-modules-systemjs" "^7.19.0"
- "@babel/plugin-transform-modules-umd" "^7.18.6"
- "@babel/plugin-transform-named-capturing-groups-regex" "^7.19.1"
- "@babel/plugin-transform-new-target" "^7.18.6"
- "@babel/plugin-transform-object-super" "^7.18.6"
- "@babel/plugin-transform-parameters" "^7.18.8"
- "@babel/plugin-transform-property-literals" "^7.18.6"
- "@babel/plugin-transform-regenerator" "^7.18.6"
- "@babel/plugin-transform-reserved-words" "^7.18.6"
- "@babel/plugin-transform-shorthand-properties" "^7.18.6"
- "@babel/plugin-transform-spread" "^7.19.0"
- "@babel/plugin-transform-sticky-regex" "^7.18.6"
- "@babel/plugin-transform-template-literals" "^7.18.9"
- "@babel/plugin-transform-typeof-symbol" "^7.18.9"
- "@babel/plugin-transform-unicode-escapes" "^7.18.10"
- "@babel/plugin-transform-unicode-regex" "^7.18.6"
- "@babel/preset-modules" "^0.1.5"
- "@babel/types" "^7.19.4"
- babel-plugin-polyfill-corejs2 "^0.3.3"
- babel-plugin-polyfill-corejs3 "^0.6.0"
- babel-plugin-polyfill-regenerator "^0.4.1"
- core-js-compat "^3.25.1"
- semver "^6.3.0"
-
-"@babel/preset-modules@^0.1.5":
- version "0.1.5"
- resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9"
- integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/plugin-proposal-unicode-property-regex" "^7.4.4"
- "@babel/plugin-transform-dotall-regex" "^7.4.4"
- "@babel/types" "^7.4.4"
- esutils "^2.0.2"
-
-"@babel/runtime-corejs3@^7.10.2":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.18.6.tgz#6f02c5536911f4b445946a2179554b95c8838635"
- integrity sha512-cOu5wH2JFBgMjje+a+fz2JNIWU4GzYpl05oSob3UDvBEh6EuIn+TXFHMmBbhSb+k/4HMzgKCQfEEDArAWNF9Cw==
- dependencies:
- core-js-pure "^3.20.2"
- regenerator-runtime "^0.13.4"
-
-"@babel/runtime@^7.10.2", "@babel/runtime@^7.10.5", "@babel/runtime@^7.18.3", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.7":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.6.tgz#6a1ef59f838debd670421f8c7f2cbb8da9751580"
- integrity sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ==
- dependencies:
- regenerator-runtime "^0.13.4"
-
-"@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.17.2", "@babel/runtime@^7.8.4":
- version "7.19.4"
- resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.19.4.tgz#a42f814502ee467d55b38dd1c256f53a7b885c78"
- integrity sha512-EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA==
- dependencies:
- regenerator-runtime "^0.13.4"
-
-"@babel/template@^7.18.10":
- version "7.18.10"
- resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71"
- integrity sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==
- dependencies:
- "@babel/code-frame" "^7.18.6"
- "@babel/parser" "^7.18.10"
- "@babel/types" "^7.18.10"
-
-"@babel/template@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.6.tgz#1283f4993e00b929d6e2d3c72fdc9168a2977a31"
- integrity sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw==
- dependencies:
- "@babel/code-frame" "^7.18.6"
- "@babel/parser" "^7.18.6"
- "@babel/types" "^7.18.6"
-
-"@babel/traverse@^7.13.0":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.6.tgz#a228562d2f46e89258efa4ddd0416942e2fd671d"
- integrity sha512-zS/OKyqmD7lslOtFqbscH6gMLFYOfG1YPqCKfAW5KrTeolKqvB8UelR49Fpr6y93kYkW2Ik00mT1LOGiAGvizw==
- dependencies:
- "@babel/code-frame" "^7.18.6"
- "@babel/generator" "^7.18.6"
- "@babel/helper-environment-visitor" "^7.18.6"
- "@babel/helper-function-name" "^7.18.6"
- "@babel/helper-hoist-variables" "^7.18.6"
- "@babel/helper-split-export-declaration" "^7.18.6"
- "@babel/parser" "^7.18.6"
- "@babel/types" "^7.18.6"
- debug "^4.1.0"
- globals "^11.1.0"
-
-"@babel/traverse@^7.19.0", "@babel/traverse@^7.19.1", "@babel/traverse@^7.19.3", "@babel/traverse@^7.19.4":
- version "7.19.4"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.19.4.tgz#f117820e18b1e59448a6c1fa9d0ff08f7ac459a8"
- integrity sha512-w3K1i+V5u2aJUOXBFFC5pveFLmtq1s3qcdDNC2qRI6WPBQIDaKFqXxDEqDO/h1dQ3HjsZoZMyIy6jGLq0xtw+g==
- dependencies:
- "@babel/code-frame" "^7.18.6"
- "@babel/generator" "^7.19.4"
- "@babel/helper-environment-visitor" "^7.18.9"
- "@babel/helper-function-name" "^7.19.0"
- "@babel/helper-hoist-variables" "^7.18.6"
- "@babel/helper-split-export-declaration" "^7.18.6"
- "@babel/parser" "^7.19.4"
- "@babel/types" "^7.19.4"
- debug "^4.1.0"
- globals "^11.1.0"
-
-"@babel/types@^7.18.10", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.19.3", "@babel/types@^7.19.4", "@babel/types@^7.4.4":
- version "7.19.4"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.19.4.tgz#0dd5c91c573a202d600490a35b33246fed8a41c7"
- integrity sha512-M5LK7nAeS6+9j7hAq+b3fQs+pNfUtTGq+yFFfHnauFA8zQtLRfmuipmsKDKKLuyG+wC8ABW43A153YNawNTEtw==
- dependencies:
- "@babel/helper-string-parser" "^7.19.4"
- "@babel/helper-validator-identifier" "^7.19.1"
- to-fast-properties "^2.0.0"
-
-"@babel/types@^7.18.6", "@babel/types@^7.18.7":
- version "7.18.7"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.7.tgz#a4a2c910c15040ea52cdd1ddb1614a65c8041726"
- integrity sha512-QG3yxTcTIBoAcQmkCs+wAPYZhu7Dk9rXKacINfNbdJDNERTbLQbHGyVG8q/YGMPeCJRIhSY0+fTc5+xuh6WPSQ==
- dependencies:
- "@babel/helper-validator-identifier" "^7.18.6"
- to-fast-properties "^2.0.0"
-
-"@coinbase/wallet-sdk@^3.4.2":
- version "3.5.3"
- resolved "https://registry.yarnpkg.com/@coinbase/wallet-sdk/-/wallet-sdk-3.5.3.tgz#ffa657cc16f896e08c3e9ac571ca6a37d1f560fd"
- integrity sha512-kaGMk9KyiSLPm1+BvCQSc99ku9gn0j+M1+2Beii+4gx/lRVhutlzmn6l+5zTB/n3xri25iTr+SxjMZLlMfW8Hg==
- dependencies:
- "@metamask/safe-event-emitter" "2.0.0"
- "@solana/web3.js" "1.52.0"
- bind-decorator "^1.0.11"
- bn.js "^5.1.1"
- buffer "^6.0.3"
- clsx "^1.1.0"
- eth-block-tracker "4.4.3"
- eth-json-rpc-filters "4.2.2"
- eth-rpc-errors "4.0.2"
- json-rpc-engine "6.1.0"
- keccak "^3.0.1"
- preact "^10.5.9"
- qs "^6.10.3"
- rxjs "^6.6.3"
- sha.js "^2.4.11"
- stream-browserify "^3.0.0"
- util "^0.12.4"
-
-"@csstools/selector-specificity@^2.0.0":
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-2.0.1.tgz#b6b8d81780b9a9f6459f4bfe9226ac6aefaefe87"
- integrity sha512-aG20vknL4/YjQF9BSV7ts4EWm/yrjagAN7OWBNmlbEOUiu0llj4OGrFoOKK3g2vey4/p2omKCoHrWtPxSwV3HA==
-
-"@emotion/is-prop-valid@^0.8.2":
- version "0.8.8"
- resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz#db28b1c4368a259b60a97311d6a952d4fd01ac1a"
- integrity sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==
- dependencies:
- "@emotion/memoize" "0.7.4"
-
-"@emotion/memoize@0.7.4":
- version "0.7.4"
- resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.4.tgz#19bf0f5af19149111c40d98bb0cf82119f5d9eeb"
- integrity sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==
-
-"@eslint/eslintrc@^1.3.3":
- version "1.3.3"
- resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.3.tgz#2b044ab39fdfa75b4688184f9e573ce3c5b0ff95"
- integrity sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==
- dependencies:
- ajv "^6.12.4"
- debug "^4.3.2"
- espree "^9.4.0"
- globals "^13.15.0"
- ignore "^5.2.0"
- import-fresh "^3.2.1"
- js-yaml "^4.1.0"
- minimatch "^3.1.2"
- strip-json-comments "^3.1.1"
-
-"@ethersproject/abi@5.6.4", "@ethersproject/abi@^5.0.0", "@ethersproject/abi@^5.6.3":
- version "5.6.4"
- resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.6.4.tgz#f6e01b6ed391a505932698ecc0d9e7a99ee60362"
- integrity sha512-TTeZUlCeIHG6527/2goZA6gW5F8Emoc7MrZDC7hhP84aRGvW3TEdTnZR08Ls88YXM1m2SuK42Osw/jSi3uO8gg==
- dependencies:
- "@ethersproject/address" "^5.6.1"
- "@ethersproject/bignumber" "^5.6.2"
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/constants" "^5.6.1"
- "@ethersproject/hash" "^5.6.1"
- "@ethersproject/keccak256" "^5.6.1"
- "@ethersproject/logger" "^5.6.0"
- "@ethersproject/properties" "^5.6.0"
- "@ethersproject/strings" "^5.6.1"
-
-"@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449"
- integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==
- dependencies:
- "@ethersproject/address" "^5.7.0"
- "@ethersproject/bignumber" "^5.7.0"
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/constants" "^5.7.0"
- "@ethersproject/hash" "^5.7.0"
- "@ethersproject/keccak256" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/properties" "^5.7.0"
- "@ethersproject/strings" "^5.7.0"
-
-"@ethersproject/abstract-provider@5.6.1", "@ethersproject/abstract-provider@^5.6.1":
- version "5.6.1"
- resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.6.1.tgz#02ddce150785caf0c77fe036a0ebfcee61878c59"
- integrity sha512-BxlIgogYJtp1FS8Muvj8YfdClk3unZH0vRMVX791Z9INBNT/kuACZ9GzaY1Y4yFq+YSy6/w4gzj3HCRKrK9hsQ==
- dependencies:
- "@ethersproject/bignumber" "^5.6.2"
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/logger" "^5.6.0"
- "@ethersproject/networks" "^5.6.3"
- "@ethersproject/properties" "^5.6.0"
- "@ethersproject/transactions" "^5.6.2"
- "@ethersproject/web" "^5.6.1"
-
-"@ethersproject/abstract-provider@5.7.0", "@ethersproject/abstract-provider@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz#b0a8550f88b6bf9d51f90e4795d48294630cb9ef"
- integrity sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==
- dependencies:
- "@ethersproject/bignumber" "^5.7.0"
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/networks" "^5.7.0"
- "@ethersproject/properties" "^5.7.0"
- "@ethersproject/transactions" "^5.7.0"
- "@ethersproject/web" "^5.7.0"
-
-"@ethersproject/abstract-signer@5.6.2", "@ethersproject/abstract-signer@^5.6.2":
- version "5.6.2"
- resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.6.2.tgz#491f07fc2cbd5da258f46ec539664713950b0b33"
- integrity sha512-n1r6lttFBG0t2vNiI3HoWaS/KdOt8xyDjzlP2cuevlWLG6EX0OwcKLyG/Kp/cuwNxdy/ous+R/DEMdTUwWQIjQ==
- dependencies:
- "@ethersproject/abstract-provider" "^5.6.1"
- "@ethersproject/bignumber" "^5.6.2"
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/logger" "^5.6.0"
- "@ethersproject/properties" "^5.6.0"
-
-"@ethersproject/abstract-signer@5.7.0", "@ethersproject/abstract-signer@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz#13f4f32117868452191a4649723cb086d2b596b2"
- integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==
- dependencies:
- "@ethersproject/abstract-provider" "^5.7.0"
- "@ethersproject/bignumber" "^5.7.0"
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/properties" "^5.7.0"
-
-"@ethersproject/address@5.6.1", "@ethersproject/address@^5", "@ethersproject/address@^5.6.1":
- version "5.6.1"
- resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.6.1.tgz#ab57818d9aefee919c5721d28cd31fd95eff413d"
- integrity sha512-uOgF0kS5MJv9ZvCz7x6T2EXJSzotiybApn4XlOgoTX0xdtyVIJ7pF+6cGPxiEq/dpBiTfMiw7Yc81JcwhSYA0Q==
- dependencies:
- "@ethersproject/bignumber" "^5.6.2"
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/keccak256" "^5.6.1"
- "@ethersproject/logger" "^5.6.0"
- "@ethersproject/rlp" "^5.6.1"
-
-"@ethersproject/address@5.7.0", "@ethersproject/address@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.7.0.tgz#19b56c4d74a3b0a46bfdbb6cfcc0a153fc697f37"
- integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==
- dependencies:
- "@ethersproject/bignumber" "^5.7.0"
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/keccak256" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/rlp" "^5.7.0"
-
-"@ethersproject/base64@5.6.1", "@ethersproject/base64@^5.6.1":
- version "5.6.1"
- resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.6.1.tgz#2c40d8a0310c9d1606c2c37ae3092634b41d87cb"
- integrity sha512-qB76rjop6a0RIYYMiB4Eh/8n+Hxu2NIZm8S/Q7kNo5pmZfXhHGHmS4MinUainiBC54SCyRnwzL+KZjj8zbsSsw==
- dependencies:
- "@ethersproject/bytes" "^5.6.1"
-
-"@ethersproject/base64@5.7.0", "@ethersproject/base64@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.7.0.tgz#ac4ee92aa36c1628173e221d0d01f53692059e1c"
- integrity sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==
- dependencies:
- "@ethersproject/bytes" "^5.7.0"
-
-"@ethersproject/basex@5.6.1", "@ethersproject/basex@^5.6.1":
- version "5.6.1"
- resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.6.1.tgz#badbb2f1d4a6f52ce41c9064f01eab19cc4c5305"
- integrity sha512-a52MkVz4vuBXR06nvflPMotld1FJWSj2QT0985v7P/emPZO00PucFAkbcmq2vpVU7Ts7umKiSI6SppiLykVWsA==
- dependencies:
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/properties" "^5.6.0"
-
-"@ethersproject/basex@5.7.0", "@ethersproject/basex@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.7.0.tgz#97034dc7e8938a8ca943ab20f8a5e492ece4020b"
- integrity sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==
- dependencies:
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/properties" "^5.7.0"
-
-"@ethersproject/bignumber@5.6.2", "@ethersproject/bignumber@^5.6.2":
- version "5.6.2"
- resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.6.2.tgz#72a0717d6163fab44c47bcc82e0c550ac0315d66"
- integrity sha512-v7+EEUbhGqT3XJ9LMPsKvXYHFc8eHxTowFCG/HgJErmq4XHJ2WR7aeyICg3uTOAQ7Icn0GFHAohXEhxQHq4Ubw==
- dependencies:
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/logger" "^5.6.0"
- bn.js "^5.2.1"
-
-"@ethersproject/bignumber@5.7.0", "@ethersproject/bignumber@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.7.0.tgz#e2f03837f268ba655ffba03a57853e18a18dc9c2"
- integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==
- dependencies:
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- bn.js "^5.2.1"
-
-"@ethersproject/bytes@5.6.1", "@ethersproject/bytes@^5.0.0", "@ethersproject/bytes@^5.6.1":
- version "5.6.1"
- resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.6.1.tgz#24f916e411f82a8a60412344bf4a813b917eefe7"
- integrity sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g==
- dependencies:
- "@ethersproject/logger" "^5.6.0"
-
-"@ethersproject/bytes@5.7.0", "@ethersproject/bytes@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.7.0.tgz#a00f6ea8d7e7534d6d87f47188af1148d71f155d"
- integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==
- dependencies:
- "@ethersproject/logger" "^5.7.0"
-
-"@ethersproject/constants@5.6.1", "@ethersproject/constants@^5.6.1":
- version "5.6.1"
- resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.6.1.tgz#e2e974cac160dd101cf79fdf879d7d18e8cb1370"
- integrity sha512-QSq9WVnZbxXYFftrjSjZDUshp6/eKp6qrtdBtUCm0QxCV5z1fG/w3kdlcsjMCQuQHUnAclKoK7XpXMezhRDOLg==
- dependencies:
- "@ethersproject/bignumber" "^5.6.2"
-
-"@ethersproject/constants@5.7.0", "@ethersproject/constants@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.7.0.tgz#df80a9705a7e08984161f09014ea012d1c75295e"
- integrity sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==
- dependencies:
- "@ethersproject/bignumber" "^5.7.0"
-
-"@ethersproject/contracts@5.6.2", "@ethersproject/contracts@^5.0.0":
- version "5.6.2"
- resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.6.2.tgz#20b52e69ebc1b74274ff8e3d4e508de971c287bc"
- integrity sha512-hguUA57BIKi6WY0kHvZp6PwPlWF87MCeB4B7Z7AbUpTxfFXFdn/3b0GmjZPagIHS+3yhcBJDnuEfU4Xz+Ks/8g==
- dependencies:
- "@ethersproject/abi" "^5.6.3"
- "@ethersproject/abstract-provider" "^5.6.1"
- "@ethersproject/abstract-signer" "^5.6.2"
- "@ethersproject/address" "^5.6.1"
- "@ethersproject/bignumber" "^5.6.2"
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/constants" "^5.6.1"
- "@ethersproject/logger" "^5.6.0"
- "@ethersproject/properties" "^5.6.0"
- "@ethersproject/transactions" "^5.6.2"
-
-"@ethersproject/contracts@5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.7.0.tgz#c305e775abd07e48aa590e1a877ed5c316f8bd1e"
- integrity sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==
- dependencies:
- "@ethersproject/abi" "^5.7.0"
- "@ethersproject/abstract-provider" "^5.7.0"
- "@ethersproject/abstract-signer" "^5.7.0"
- "@ethersproject/address" "^5.7.0"
- "@ethersproject/bignumber" "^5.7.0"
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/constants" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/properties" "^5.7.0"
- "@ethersproject/transactions" "^5.7.0"
-
-"@ethersproject/experimental@^5.6.3":
- version "5.6.3"
- resolved "https://registry.yarnpkg.com/@ethersproject/experimental/-/experimental-5.6.3.tgz#d1cd8f3b886cbab86430fb2954eb65ddb7c75ffd"
- integrity sha512-yMymv32XMr9sXvHc3S1On2wD0JMT6n4X9uKpfZ8jFFw5rEcI99yfovcCZ0tpUedh1b3IvReSain+RobeNQmmEg==
- dependencies:
- "@ethersproject/web" "^5.6.1"
- ethers "^5.6.8"
- scrypt-js "3.0.1"
-
-"@ethersproject/hash@5.6.1", "@ethersproject/hash@^5.6.1":
- version "5.6.1"
- resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.6.1.tgz#224572ea4de257f05b4abf8ae58b03a67e99b0f4"
- integrity sha512-L1xAHurbaxG8VVul4ankNX5HgQ8PNCTrnVXEiFnE9xoRnaUcgfD12tZINtDinSllxPLCtGwguQxJ5E6keE84pA==
- dependencies:
- "@ethersproject/abstract-signer" "^5.6.2"
- "@ethersproject/address" "^5.6.1"
- "@ethersproject/bignumber" "^5.6.2"
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/keccak256" "^5.6.1"
- "@ethersproject/logger" "^5.6.0"
- "@ethersproject/properties" "^5.6.0"
- "@ethersproject/strings" "^5.6.1"
-
-"@ethersproject/hash@5.7.0", "@ethersproject/hash@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.7.0.tgz#eb7aca84a588508369562e16e514b539ba5240a7"
- integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==
- dependencies:
- "@ethersproject/abstract-signer" "^5.7.0"
- "@ethersproject/address" "^5.7.0"
- "@ethersproject/base64" "^5.7.0"
- "@ethersproject/bignumber" "^5.7.0"
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/keccak256" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/properties" "^5.7.0"
- "@ethersproject/strings" "^5.7.0"
-
-"@ethersproject/hdnode@5.6.2", "@ethersproject/hdnode@^5.6.2":
- version "5.6.2"
- resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.6.2.tgz#26f3c83a3e8f1b7985c15d1db50dc2903418b2d2"
- integrity sha512-tERxW8Ccf9CxW2db3WsN01Qao3wFeRsfYY9TCuhmG0xNpl2IO8wgXU3HtWIZ49gUWPggRy4Yg5axU0ACaEKf1Q==
- dependencies:
- "@ethersproject/abstract-signer" "^5.6.2"
- "@ethersproject/basex" "^5.6.1"
- "@ethersproject/bignumber" "^5.6.2"
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/logger" "^5.6.0"
- "@ethersproject/pbkdf2" "^5.6.1"
- "@ethersproject/properties" "^5.6.0"
- "@ethersproject/sha2" "^5.6.1"
- "@ethersproject/signing-key" "^5.6.2"
- "@ethersproject/strings" "^5.6.1"
- "@ethersproject/transactions" "^5.6.2"
- "@ethersproject/wordlists" "^5.6.1"
-
-"@ethersproject/hdnode@5.7.0", "@ethersproject/hdnode@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.7.0.tgz#e627ddc6b466bc77aebf1a6b9e47405ca5aef9cf"
- integrity sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==
- dependencies:
- "@ethersproject/abstract-signer" "^5.7.0"
- "@ethersproject/basex" "^5.7.0"
- "@ethersproject/bignumber" "^5.7.0"
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/pbkdf2" "^5.7.0"
- "@ethersproject/properties" "^5.7.0"
- "@ethersproject/sha2" "^5.7.0"
- "@ethersproject/signing-key" "^5.7.0"
- "@ethersproject/strings" "^5.7.0"
- "@ethersproject/transactions" "^5.7.0"
- "@ethersproject/wordlists" "^5.7.0"
-
-"@ethersproject/json-wallets@5.6.1", "@ethersproject/json-wallets@^5.6.1":
- version "5.6.1"
- resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.6.1.tgz#3f06ba555c9c0d7da46756a12ac53483fe18dd91"
- integrity sha512-KfyJ6Zwz3kGeX25nLihPwZYlDqamO6pfGKNnVMWWfEVVp42lTfCZVXXy5Ie8IZTN0HKwAngpIPi7gk4IJzgmqQ==
- dependencies:
- "@ethersproject/abstract-signer" "^5.6.2"
- "@ethersproject/address" "^5.6.1"
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/hdnode" "^5.6.2"
- "@ethersproject/keccak256" "^5.6.1"
- "@ethersproject/logger" "^5.6.0"
- "@ethersproject/pbkdf2" "^5.6.1"
- "@ethersproject/properties" "^5.6.0"
- "@ethersproject/random" "^5.6.1"
- "@ethersproject/strings" "^5.6.1"
- "@ethersproject/transactions" "^5.6.2"
- aes-js "3.0.0"
- scrypt-js "3.0.1"
-
-"@ethersproject/json-wallets@5.7.0", "@ethersproject/json-wallets@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz#5e3355287b548c32b368d91014919ebebddd5360"
- integrity sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==
- dependencies:
- "@ethersproject/abstract-signer" "^5.7.0"
- "@ethersproject/address" "^5.7.0"
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/hdnode" "^5.7.0"
- "@ethersproject/keccak256" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/pbkdf2" "^5.7.0"
- "@ethersproject/properties" "^5.7.0"
- "@ethersproject/random" "^5.7.0"
- "@ethersproject/strings" "^5.7.0"
- "@ethersproject/transactions" "^5.7.0"
- aes-js "3.0.0"
- scrypt-js "3.0.1"
-
-"@ethersproject/keccak256@5.6.1", "@ethersproject/keccak256@^5.0.0", "@ethersproject/keccak256@^5.6.1":
- version "5.6.1"
- resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.6.1.tgz#b867167c9b50ba1b1a92bccdd4f2d6bd168a91cc"
- integrity sha512-bB7DQHCTRDooZZdL3lk9wpL0+XuG3XLGHLh3cePnybsO3V0rdCAOQGpn/0R3aODmnTOOkCATJiD2hnL+5bwthA==
- dependencies:
- "@ethersproject/bytes" "^5.6.1"
- js-sha3 "0.8.0"
-
-"@ethersproject/keccak256@5.7.0", "@ethersproject/keccak256@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.7.0.tgz#3186350c6e1cd6aba7940384ec7d6d9db01f335a"
- integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==
- dependencies:
- "@ethersproject/bytes" "^5.7.0"
- js-sha3 "0.8.0"
-
-"@ethersproject/logger@5.6.0", "@ethersproject/logger@^5.6.0":
- version "5.6.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.6.0.tgz#d7db1bfcc22fd2e4ab574cba0bb6ad779a9a3e7a"
- integrity sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg==
-
-"@ethersproject/logger@5.7.0", "@ethersproject/logger@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.7.0.tgz#6ce9ae168e74fecf287be17062b590852c311892"
- integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==
-
-"@ethersproject/networks@5.6.4", "@ethersproject/networks@^5.6.3":
- version "5.6.4"
- resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.6.4.tgz#51296d8fec59e9627554f5a8a9c7791248c8dc07"
- integrity sha512-KShHeHPahHI2UlWdtDMn2lJETcbtaJge4k7XSjDR9h79QTd6yQJmv6Cp2ZA4JdqWnhszAOLSuJEd9C0PRw7hSQ==
- dependencies:
- "@ethersproject/logger" "^5.6.0"
-
-"@ethersproject/networks@5.7.1", "@ethersproject/networks@^5.7.0":
- version "5.7.1"
- resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.1.tgz#118e1a981d757d45ccea6bb58d9fd3d9db14ead6"
- integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==
- dependencies:
- "@ethersproject/logger" "^5.7.0"
-
-"@ethersproject/pbkdf2@5.6.1", "@ethersproject/pbkdf2@^5.6.1":
- version "5.6.1"
- resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.6.1.tgz#f462fe320b22c0d6b1d72a9920a3963b09eb82d1"
- integrity sha512-k4gRQ+D93zDRPNUfmduNKq065uadC2YjMP/CqwwX5qG6R05f47boq6pLZtV/RnC4NZAYOPH1Cyo54q0c9sshRQ==
- dependencies:
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/sha2" "^5.6.1"
-
-"@ethersproject/pbkdf2@5.7.0", "@ethersproject/pbkdf2@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz#d2267d0a1f6e123f3771007338c47cccd83d3102"
- integrity sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==
- dependencies:
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/sha2" "^5.7.0"
-
-"@ethersproject/properties@5.6.0", "@ethersproject/properties@^5.6.0":
- version "5.6.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.6.0.tgz#38904651713bc6bdd5bdd1b0a4287ecda920fa04"
- integrity sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg==
- dependencies:
- "@ethersproject/logger" "^5.6.0"
-
-"@ethersproject/properties@5.7.0", "@ethersproject/properties@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.7.0.tgz#a6e12cb0439b878aaf470f1902a176033067ed30"
- integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==
- dependencies:
- "@ethersproject/logger" "^5.7.0"
-
-"@ethersproject/providers@5.6.8", "@ethersproject/providers@^5", "@ethersproject/providers@^5.0.0":
- version "5.6.8"
- resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.6.8.tgz#22e6c57be215ba5545d3a46cf759d265bb4e879d"
- integrity sha512-Wf+CseT/iOJjrGtAOf3ck9zS7AgPmr2fZ3N97r4+YXN3mBePTG2/bJ8DApl9mVwYL+RpYbNxMEkEp4mPGdwG/w==
- dependencies:
- "@ethersproject/abstract-provider" "^5.6.1"
- "@ethersproject/abstract-signer" "^5.6.2"
- "@ethersproject/address" "^5.6.1"
- "@ethersproject/base64" "^5.6.1"
- "@ethersproject/basex" "^5.6.1"
- "@ethersproject/bignumber" "^5.6.2"
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/constants" "^5.6.1"
- "@ethersproject/hash" "^5.6.1"
- "@ethersproject/logger" "^5.6.0"
- "@ethersproject/networks" "^5.6.3"
- "@ethersproject/properties" "^5.6.0"
- "@ethersproject/random" "^5.6.1"
- "@ethersproject/rlp" "^5.6.1"
- "@ethersproject/sha2" "^5.6.1"
- "@ethersproject/strings" "^5.6.1"
- "@ethersproject/transactions" "^5.6.2"
- "@ethersproject/web" "^5.6.1"
- bech32 "1.1.4"
- ws "7.4.6"
-
-"@ethersproject/providers@5.7.1":
- version "5.7.1"
- resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.7.1.tgz#b0799b616d5579cd1067a8ebf1fc1ec74c1e122c"
- integrity sha512-vZveG/DLyo+wk4Ga1yx6jSEHrLPgmTt+dFv0dv8URpVCRf0jVhalps1jq/emN/oXnMRsC7cQgAF32DcXLL7BPQ==
- dependencies:
- "@ethersproject/abstract-provider" "^5.7.0"
- "@ethersproject/abstract-signer" "^5.7.0"
- "@ethersproject/address" "^5.7.0"
- "@ethersproject/base64" "^5.7.0"
- "@ethersproject/basex" "^5.7.0"
- "@ethersproject/bignumber" "^5.7.0"
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/constants" "^5.7.0"
- "@ethersproject/hash" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/networks" "^5.7.0"
- "@ethersproject/properties" "^5.7.0"
- "@ethersproject/random" "^5.7.0"
- "@ethersproject/rlp" "^5.7.0"
- "@ethersproject/sha2" "^5.7.0"
- "@ethersproject/strings" "^5.7.0"
- "@ethersproject/transactions" "^5.7.0"
- "@ethersproject/web" "^5.7.0"
- bech32 "1.1.4"
- ws "7.4.6"
-
-"@ethersproject/random@5.6.1", "@ethersproject/random@^5.6.1":
- version "5.6.1"
- resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.6.1.tgz#66915943981bcd3e11bbd43733f5c3ba5a790255"
- integrity sha512-/wtPNHwbmng+5yi3fkipA8YBT59DdkGRoC2vWk09Dci/q5DlgnMkhIycjHlavrvrjJBkFjO/ueLyT+aUDfc4lA==
- dependencies:
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/logger" "^5.6.0"
-
-"@ethersproject/random@5.7.0", "@ethersproject/random@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.7.0.tgz#af19dcbc2484aae078bb03656ec05df66253280c"
- integrity sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==
- dependencies:
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
-
-"@ethersproject/rlp@5.6.1", "@ethersproject/rlp@^5.6.1":
- version "5.6.1"
- resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.6.1.tgz#df8311e6f9f24dcb03d59a2bac457a28a4fe2bd8"
- integrity sha512-uYjmcZx+DKlFUk7a5/W9aQVaoEC7+1MOBgNtvNg13+RnuUwT4F0zTovC0tmay5SmRslb29V1B7Y5KCri46WhuQ==
- dependencies:
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/logger" "^5.6.0"
-
-"@ethersproject/rlp@5.7.0", "@ethersproject/rlp@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.7.0.tgz#de39e4d5918b9d74d46de93af80b7685a9c21304"
- integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==
- dependencies:
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
-
-"@ethersproject/sha2@5.6.1", "@ethersproject/sha2@^5.6.1":
- version "5.6.1"
- resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.6.1.tgz#211f14d3f5da5301c8972a8827770b6fd3e51656"
- integrity sha512-5K2GyqcW7G4Yo3uenHegbXRPDgARpWUiXc6RiF7b6i/HXUoWlb7uCARh7BAHg7/qT/Q5ydofNwiZcim9qpjB6g==
- dependencies:
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/logger" "^5.6.0"
- hash.js "1.1.7"
-
-"@ethersproject/sha2@5.7.0", "@ethersproject/sha2@^5.5.0", "@ethersproject/sha2@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.7.0.tgz#9a5f7a7824ef784f7f7680984e593a800480c9fb"
- integrity sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==
- dependencies:
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- hash.js "1.1.7"
-
-"@ethersproject/signing-key@5.6.2", "@ethersproject/signing-key@^5.6.2":
- version "5.6.2"
- resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.6.2.tgz#8a51b111e4d62e5a62aee1da1e088d12de0614a3"
- integrity sha512-jVbu0RuP7EFpw82vHcL+GP35+KaNruVAZM90GxgQnGqB6crhBqW/ozBfFvdeImtmb4qPko0uxXjn8l9jpn0cwQ==
- dependencies:
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/logger" "^5.6.0"
- "@ethersproject/properties" "^5.6.0"
- bn.js "^5.2.1"
- elliptic "6.5.4"
- hash.js "1.1.7"
-
-"@ethersproject/signing-key@5.7.0", "@ethersproject/signing-key@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.7.0.tgz#06b2df39411b00bc57c7c09b01d1e41cf1b16ab3"
- integrity sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==
- dependencies:
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/properties" "^5.7.0"
- bn.js "^5.2.1"
- elliptic "6.5.4"
- hash.js "1.1.7"
-
-"@ethersproject/solidity@5.6.1":
- version "5.6.1"
- resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.6.1.tgz#5845e71182c66d32e6ec5eefd041fca091a473e2"
- integrity sha512-KWqVLkUUoLBfL1iwdzUVlkNqAUIFMpbbeH0rgCfKmJp0vFtY4AsaN91gHKo9ZZLkC4UOm3cI3BmMV4N53BOq4g==
- dependencies:
- "@ethersproject/bignumber" "^5.6.2"
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/keccak256" "^5.6.1"
- "@ethersproject/logger" "^5.6.0"
- "@ethersproject/sha2" "^5.6.1"
- "@ethersproject/strings" "^5.6.1"
-
-"@ethersproject/solidity@5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.7.0.tgz#5e9c911d8a2acce2a5ebb48a5e2e0af20b631cb8"
- integrity sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==
- dependencies:
- "@ethersproject/bignumber" "^5.7.0"
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/keccak256" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/sha2" "^5.7.0"
- "@ethersproject/strings" "^5.7.0"
-
-"@ethersproject/strings@5.6.1", "@ethersproject/strings@^5.0.0", "@ethersproject/strings@^5.6.1":
- version "5.6.1"
- resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.6.1.tgz#dbc1b7f901db822b5cafd4ebf01ca93c373f8952"
- integrity sha512-2X1Lgk6Jyfg26MUnsHiT456U9ijxKUybz8IM1Vih+NJxYtXhmvKBcHOmvGqpFSVJ0nQ4ZCoIViR8XlRw1v/+Cw==
- dependencies:
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/constants" "^5.6.1"
- "@ethersproject/logger" "^5.6.0"
-
-"@ethersproject/strings@5.7.0", "@ethersproject/strings@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.7.0.tgz#54c9d2a7c57ae8f1205c88a9d3a56471e14d5ed2"
- integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==
- dependencies:
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/constants" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
-
-"@ethersproject/transactions@5.6.2", "@ethersproject/transactions@^5.6.2":
- version "5.6.2"
- resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.6.2.tgz#793a774c01ced9fe7073985bb95a4b4e57a6370b"
- integrity sha512-BuV63IRPHmJvthNkkt9G70Ullx6AcM+SDc+a8Aw/8Yew6YwT51TcBKEp1P4oOQ/bP25I18JJr7rcFRgFtU9B2Q==
- dependencies:
- "@ethersproject/address" "^5.6.1"
- "@ethersproject/bignumber" "^5.6.2"
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/constants" "^5.6.1"
- "@ethersproject/keccak256" "^5.6.1"
- "@ethersproject/logger" "^5.6.0"
- "@ethersproject/properties" "^5.6.0"
- "@ethersproject/rlp" "^5.6.1"
- "@ethersproject/signing-key" "^5.6.2"
-
-"@ethersproject/transactions@5.7.0", "@ethersproject/transactions@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.7.0.tgz#91318fc24063e057885a6af13fdb703e1f993d3b"
- integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==
- dependencies:
- "@ethersproject/address" "^5.7.0"
- "@ethersproject/bignumber" "^5.7.0"
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/constants" "^5.7.0"
- "@ethersproject/keccak256" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/properties" "^5.7.0"
- "@ethersproject/rlp" "^5.7.0"
- "@ethersproject/signing-key" "^5.7.0"
-
-"@ethersproject/units@5.6.1":
- version "5.6.1"
- resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.6.1.tgz#ecc590d16d37c8f9ef4e89e2005bda7ddc6a4e6f"
- integrity sha512-rEfSEvMQ7obcx3KWD5EWWx77gqv54K6BKiZzKxkQJqtpriVsICrktIQmKl8ReNToPeIYPnFHpXvKpi068YFZXw==
- dependencies:
- "@ethersproject/bignumber" "^5.6.2"
- "@ethersproject/constants" "^5.6.1"
- "@ethersproject/logger" "^5.6.0"
-
-"@ethersproject/units@5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.7.0.tgz#637b563d7e14f42deeee39245275d477aae1d8b1"
- integrity sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==
- dependencies:
- "@ethersproject/bignumber" "^5.7.0"
- "@ethersproject/constants" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
-
-"@ethersproject/wallet@5.6.2":
- version "5.6.2"
- resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.6.2.tgz#cd61429d1e934681e413f4bc847a5f2f87e3a03c"
- integrity sha512-lrgh0FDQPuOnHcF80Q3gHYsSUODp6aJLAdDmDV0xKCN/T7D99ta1jGVhulg3PY8wiXEngD0DfM0I2XKXlrqJfg==
- dependencies:
- "@ethersproject/abstract-provider" "^5.6.1"
- "@ethersproject/abstract-signer" "^5.6.2"
- "@ethersproject/address" "^5.6.1"
- "@ethersproject/bignumber" "^5.6.2"
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/hash" "^5.6.1"
- "@ethersproject/hdnode" "^5.6.2"
- "@ethersproject/json-wallets" "^5.6.1"
- "@ethersproject/keccak256" "^5.6.1"
- "@ethersproject/logger" "^5.6.0"
- "@ethersproject/properties" "^5.6.0"
- "@ethersproject/random" "^5.6.1"
- "@ethersproject/signing-key" "^5.6.2"
- "@ethersproject/transactions" "^5.6.2"
- "@ethersproject/wordlists" "^5.6.1"
-
-"@ethersproject/wallet@5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.7.0.tgz#4e5d0790d96fe21d61d38fb40324e6c7ef350b2d"
- integrity sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==
- dependencies:
- "@ethersproject/abstract-provider" "^5.7.0"
- "@ethersproject/abstract-signer" "^5.7.0"
- "@ethersproject/address" "^5.7.0"
- "@ethersproject/bignumber" "^5.7.0"
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/hash" "^5.7.0"
- "@ethersproject/hdnode" "^5.7.0"
- "@ethersproject/json-wallets" "^5.7.0"
- "@ethersproject/keccak256" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/properties" "^5.7.0"
- "@ethersproject/random" "^5.7.0"
- "@ethersproject/signing-key" "^5.7.0"
- "@ethersproject/transactions" "^5.7.0"
- "@ethersproject/wordlists" "^5.7.0"
-
-"@ethersproject/web@5.6.1", "@ethersproject/web@^5.6.1":
- version "5.6.1"
- resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.6.1.tgz#6e2bd3ebadd033e6fe57d072db2b69ad2c9bdf5d"
- integrity sha512-/vSyzaQlNXkO1WV+RneYKqCJwualcUdx/Z3gseVovZP0wIlOFcCE1hkRhKBH8ImKbGQbMl9EAAyJFrJu7V0aqA==
- dependencies:
- "@ethersproject/base64" "^5.6.1"
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/logger" "^5.6.0"
- "@ethersproject/properties" "^5.6.0"
- "@ethersproject/strings" "^5.6.1"
-
-"@ethersproject/web@5.7.1", "@ethersproject/web@^5.7.0":
- version "5.7.1"
- resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.7.1.tgz#de1f285b373149bee5928f4eb7bcb87ee5fbb4ae"
- integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==
- dependencies:
- "@ethersproject/base64" "^5.7.0"
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/properties" "^5.7.0"
- "@ethersproject/strings" "^5.7.0"
-
-"@ethersproject/wordlists@5.6.1", "@ethersproject/wordlists@^5.6.1":
- version "5.6.1"
- resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.6.1.tgz#1e78e2740a8a21e9e99947e47979d72e130aeda1"
- integrity sha512-wiPRgBpNbNwCQFoCr8bcWO8o5I810cqO6mkdtKfLKFlLxeCWcnzDi4Alu8iyNzlhYuS9npCwivMbRWF19dyblw==
- dependencies:
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/hash" "^5.6.1"
- "@ethersproject/logger" "^5.6.0"
- "@ethersproject/properties" "^5.6.0"
- "@ethersproject/strings" "^5.6.1"
-
-"@ethersproject/wordlists@5.7.0", "@ethersproject/wordlists@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.7.0.tgz#8fb2c07185d68c3e09eb3bfd6e779ba2774627f5"
- integrity sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==
- dependencies:
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/hash" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/properties" "^5.7.0"
- "@ethersproject/strings" "^5.7.0"
-
-"@gnosis.pm/safe-apps-provider@^0.11.3":
- version "0.11.3"
- resolved "https://registry.yarnpkg.com/@gnosis.pm/safe-apps-provider/-/safe-apps-provider-0.11.3.tgz#9e1ec2fb69a7fae8127631330f630662bd07a580"
- integrity sha512-vER+vuf44f40KfwqTRjU8rdVMDnGZMmgQcGetlMxq+MTI7VD2Cr3CrCuABFGE/DZK80SxZ+IvQ9yjkemo/ywmQ==
- dependencies:
- "@gnosis.pm/safe-apps-sdk" "7.5.0"
- events "^3.3.0"
-
-"@gnosis.pm/safe-apps-sdk@7.5.0":
- version "7.5.0"
- resolved "https://registry.yarnpkg.com/@gnosis.pm/safe-apps-sdk/-/safe-apps-sdk-7.5.0.tgz#59033c62726abacbf988286ea57250e7581444e8"
- integrity sha512-OaF2agv2zfPExzedv1eOGtt3W+rnwGFwtuP37epofhsnDgqS/JMPoqyDLRSvyWYlU22OeKvtghTppvRfaEnUTw==
- dependencies:
- "@gnosis.pm/safe-react-gateway-sdk" "^3.1.3"
- ethers "^5.6.8"
-
-"@gnosis.pm/safe-apps-sdk@^7.5.0":
- version "7.8.0"
- resolved "https://registry.yarnpkg.com/@gnosis.pm/safe-apps-sdk/-/safe-apps-sdk-7.8.0.tgz#295ab9d563b94208e3042495cdba787fa035c71e"
- integrity sha512-kO8fJi1ebiKN9qH1NdDToVBuDQQ0U9NkL467U+84LtNTx5PzUJIu6O7tb4nZD24e/OItinf5W8GDWhhfZeiqOA==
- dependencies:
- "@gnosis.pm/safe-react-gateway-sdk" "^3.1.3"
- ethers "^5.6.8"
-
-"@gnosis.pm/safe-react-gateway-sdk@^3.1.3":
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/@gnosis.pm/safe-react-gateway-sdk/-/safe-react-gateway-sdk-3.1.3.tgz#a4d3faf84a02de1a961b2f42b6b5398ff3a61f7b"
- integrity sha512-o/U2hN5RoK8sa6UT5hALc+4yveJ5qctMxCHe0VBJ5IE2KHqqwHrFteOVcrkunmgb5V5U8GfZVYhehuHDVN8WMA==
- dependencies:
- cross-fetch "^3.1.5"
-
-"@headlessui/react@^1.6.1":
- version "1.6.6"
- resolved "https://registry.yarnpkg.com/@headlessui/react/-/react-1.6.6.tgz#3073c066b85535c9d28783da0a4d9288b5354d0c"
- integrity sha512-MFJtmj9Xh/hhBMhLccGbBoSk+sk61BlP6sJe4uQcVMtXZhCgGqd2GyIQzzmsdPdTEWGSF434CBi8mnhR6um46Q==
-
-"@headlessui/react@^1.6.6":
- version "1.7.3"
- resolved "https://registry.yarnpkg.com/@headlessui/react/-/react-1.7.3.tgz#853c598ff47b37cdd192c5cbee890d9b610c3ec0"
- integrity sha512-LGp06SrGv7BMaIQlTs8s2G06moqkI0cb0b8stgq7KZ3xcHdH3qMP+cRyV7qe5x4XEW/IGY48BW4fLesD6NQLng==
-
-"@humanwhocodes/config-array@^0.10.5":
- version "0.10.7"
- resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.10.7.tgz#6d53769fd0c222767e6452e8ebda825c22e9f0dc"
- integrity sha512-MDl6D6sBsaV452/QSdX+4CXIjZhIcI0PELsxUjk4U828yd58vk3bTIvk/6w5FY+4hIy9sLW0sfrV7K7Kc++j/w==
- dependencies:
- "@humanwhocodes/object-schema" "^1.2.1"
- debug "^4.1.1"
- minimatch "^3.0.4"
-
-"@humanwhocodes/module-importer@^1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c"
- integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==
-
-"@humanwhocodes/object-schema@^1.2.1":
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45"
- integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==
-
-"@jridgewell/gen-mapping@^0.1.0":
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996"
- integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==
- dependencies:
- "@jridgewell/set-array" "^1.0.0"
- "@jridgewell/sourcemap-codec" "^1.4.10"
-
-"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2":
- version "0.3.2"
- resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9"
- integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==
- dependencies:
- "@jridgewell/set-array" "^1.0.1"
- "@jridgewell/sourcemap-codec" "^1.4.10"
- "@jridgewell/trace-mapping" "^0.3.9"
-
-"@jridgewell/resolve-uri@3.1.0", "@jridgewell/resolve-uri@^3.0.3":
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78"
- integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==
-
-"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1":
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72"
- integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==
-
-"@jridgewell/source-map@^0.3.2":
- version "0.3.2"
- resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.2.tgz#f45351aaed4527a298512ec72f81040c998580fb"
- integrity sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==
- dependencies:
- "@jridgewell/gen-mapping" "^0.3.0"
- "@jridgewell/trace-mapping" "^0.3.9"
-
-"@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10":
- version "1.4.14"
- resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24"
- integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==
-
-"@jridgewell/trace-mapping@^0.3.14":
- version "0.3.17"
- resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985"
- integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==
- dependencies:
- "@jridgewell/resolve-uri" "3.1.0"
- "@jridgewell/sourcemap-codec" "1.4.14"
-
-"@jridgewell/trace-mapping@^0.3.9":
- version "0.3.14"
- resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz#b231a081d8f66796e475ad588a1ef473112701ed"
- integrity sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==
- dependencies:
- "@jridgewell/resolve-uri" "^3.0.3"
- "@jridgewell/sourcemap-codec" "^1.4.10"
-
-"@json-rpc-tools/provider@^1.5.5":
- version "1.7.6"
- resolved "https://registry.yarnpkg.com/@json-rpc-tools/provider/-/provider-1.7.6.tgz#8a17c34c493fa892632e278fd9331104e8491ec6"
- integrity sha512-z7D3xvJ33UfCGv77n40lbzOYjZKVM3k2+5cV7xS8G6SCvKTzMkhkUYuD/qzQUNT4cG/lv0e9mRToweEEVLVVmA==
- dependencies:
- "@json-rpc-tools/utils" "^1.7.6"
- axios "^0.21.0"
- safe-json-utils "^1.1.1"
- ws "^7.4.0"
-
-"@json-rpc-tools/types@^1.7.6":
- version "1.7.6"
- resolved "https://registry.yarnpkg.com/@json-rpc-tools/types/-/types-1.7.6.tgz#5abd5fde01364a130c46093b501715bcce5bdc0e"
- integrity sha512-nDSqmyRNEqEK9TZHtM15uNnDljczhCUdBmRhpNZ95bIPKEDQ+nTDmGMFd2lLin3upc5h2VVVd9tkTDdbXUhDIQ==
- dependencies:
- keyvaluestorage-interface "^1.0.0"
-
-"@json-rpc-tools/utils@^1.7.6":
- version "1.7.6"
- resolved "https://registry.yarnpkg.com/@json-rpc-tools/utils/-/utils-1.7.6.tgz#67f04987dbaa2e7adb6adff1575367b75a9a9ba1"
- integrity sha512-HjA8x/U/Q78HRRe19yh8HVKoZ+Iaoo3YZjakJYxR+rw52NHo6jM+VE9b8+7ygkCFXl/EHID5wh/MkXaE/jGyYw==
- dependencies:
- "@json-rpc-tools/types" "^1.7.6"
- "@pedrouid/environment" "^1.0.1"
-
-"@mdx-js/mdx@^2.1.0":
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/@mdx-js/mdx/-/mdx-2.1.2.tgz#d13fb811809fda37967dc0eebd5bb36adce89a81"
- integrity sha512-ASN1GUH0gXsgJ2UD/Td7FzJo1SwFkkQ5V1i9at5o/ROra7brkyMcBsotsOWJWRzmXZaLw2uXWn4aN8B3PMNFMA==
- dependencies:
- "@types/estree-jsx" "^0.0.1"
- "@types/mdx" "^2.0.0"
- astring "^1.6.0"
- estree-util-build-jsx "^2.0.0"
- estree-util-is-identifier-name "^2.0.0"
- estree-walker "^3.0.0"
- hast-util-to-estree "^2.0.0"
- markdown-extensions "^1.0.0"
- periscopic "^3.0.0"
- remark-mdx "^2.0.0"
- remark-parse "^10.0.0"
- remark-rehype "^10.0.0"
- unified "^10.0.0"
- unist-util-position-from-estree "^1.0.0"
- unist-util-stringify-position "^3.0.0"
- unist-util-visit "^4.0.0"
- vfile "^5.0.0"
-
-"@mdx-js/react@^2.1.0":
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-2.1.2.tgz#02972f170cd3ad9113ce448245c5f636bb3e750d"
- integrity sha512-52e3DTJBrjsw3U51ZCdZ3N1IBaqnbzLIngCSXpKtiYiGr7PIqp3/P/+kym0MPTwBL/y9ZBmCieD8FyrXuEDrRw==
- dependencies:
- "@types/mdx" "^2.0.0"
- "@types/react" ">=16"
-
-"@metamask/detect-provider@^1.2.0":
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/@metamask/detect-provider/-/detect-provider-1.2.0.tgz#3667a7531f2a682e3c3a43eaf3a1958bdb42a696"
- integrity sha512-ocA76vt+8D0thgXZ7LxFPyqw3H7988qblgzddTDA6B8a/yU0uKV42QR/DhA+Jh11rJjxW0jKvwb5htA6krNZDQ==
-
-"@metamask/safe-event-emitter@2.0.0", "@metamask/safe-event-emitter@^2.0.0":
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/@metamask/safe-event-emitter/-/safe-event-emitter-2.0.0.tgz#af577b477c683fad17c619a78208cede06f9605c"
- integrity sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q==
-
-"@motionone/animation@^10.13.1":
- version "10.14.0"
- resolved "https://registry.yarnpkg.com/@motionone/animation/-/animation-10.14.0.tgz#2f2a3517183bb58d82e389aac777fe0850079de6"
- integrity sha512-h+1sdyBP8vbxEBW5gPFDnj+m2DCqdlAuf2g6Iafb1lcMnqjsRXWlPw1AXgvUMXmreyhqmPbJqoNfIKdytampRQ==
- dependencies:
- "@motionone/easing" "^10.14.0"
- "@motionone/types" "^10.14.0"
- "@motionone/utils" "^10.14.0"
- tslib "^2.3.1"
-
-"@motionone/dom@10.13.1":
- version "10.13.1"
- resolved "https://registry.yarnpkg.com/@motionone/dom/-/dom-10.13.1.tgz#fc29ea5d12538f21b211b3168e502cfc07a24882"
- integrity sha512-zjfX+AGMIt/fIqd/SL1Lj93S6AiJsEA3oc5M9VkUr+Gz+juRmYN1vfvZd6MvEkSqEjwPQgcjN7rGZHrDB9APfQ==
- dependencies:
- "@motionone/animation" "^10.13.1"
- "@motionone/generators" "^10.13.1"
- "@motionone/types" "^10.13.0"
- "@motionone/utils" "^10.13.1"
- hey-listen "^1.0.8"
- tslib "^2.3.1"
-
-"@motionone/easing@^10.14.0":
- version "10.14.0"
- resolved "https://registry.yarnpkg.com/@motionone/easing/-/easing-10.14.0.tgz#d8154b7f71491414f3cdee23bd3838d763fffd00"
- integrity sha512-2vUBdH9uWTlRbuErhcsMmt1jvMTTqvGmn9fHq8FleFDXBlHFs5jZzHJT9iw+4kR1h6a4SZQuCf72b9ji92qNYA==
- dependencies:
- "@motionone/utils" "^10.14.0"
- tslib "^2.3.1"
-
-"@motionone/generators@^10.13.1":
- version "10.14.0"
- resolved "https://registry.yarnpkg.com/@motionone/generators/-/generators-10.14.0.tgz#e05d9dd56da78a4b92db99185848a0f3db62242d"
- integrity sha512-6kRHezoFfIjFN7pPpaxmkdZXD36tQNcyJe3nwVqwJ+ZfC0e3rFmszR8kp9DEVFs9QL/akWjuGPSLBI1tvz+Vjg==
- dependencies:
- "@motionone/types" "^10.14.0"
- "@motionone/utils" "^10.14.0"
- tslib "^2.3.1"
-
-"@motionone/types@^10.13.0", "@motionone/types@^10.14.0":
- version "10.14.0"
- resolved "https://registry.yarnpkg.com/@motionone/types/-/types-10.14.0.tgz#148c34f3270b175397e49c3058b33fab405c21e3"
- integrity sha512-3bNWyYBHtVd27KncnJLhksMFQ5o2MSdk1cA/IZqsHtA9DnRM1SYgN01CTcJ8Iw8pCXF5Ocp34tyAjY7WRpOJJQ==
-
-"@motionone/utils@^10.13.1", "@motionone/utils@^10.14.0":
- version "10.14.0"
- resolved "https://registry.yarnpkg.com/@motionone/utils/-/utils-10.14.0.tgz#a19a3464ed35b08506747b062d035c7bc9bbe708"
- integrity sha512-sLWBLPzRqkxmOTRzSaD3LFQXCPHvDzyHJ1a3VP9PRzBxyVd2pv51/gMOsdAcxQ9n+MIeGJnxzXBYplUHKj4jkw==
- dependencies:
- "@motionone/types" "^10.14.0"
- hey-listen "^1.0.8"
- tslib "^2.3.1"
-
-"@napi-rs/simple-git-android-arm-eabi@0.1.8":
- version "0.1.8"
- resolved "https://registry.yarnpkg.com/@napi-rs/simple-git-android-arm-eabi/-/simple-git-android-arm-eabi-0.1.8.tgz#303bea1ec00db24466e3b3ba13de337d87c5371b"
- integrity sha512-JJCejHBB1G6O8nxjQLT4quWCcvLpC3oRdJJ9G3MFYSCoYS8i1bWCWeU+K7Br+xT+D6s1t9q8kNJAwJv9Ygpi0g==
-
-"@napi-rs/simple-git-android-arm64@0.1.8":
- version "0.1.8"
- resolved "https://registry.yarnpkg.com/@napi-rs/simple-git-android-arm64/-/simple-git-android-arm64-0.1.8.tgz#42c8d04287364fd1619002629fa52183dcf462ee"
- integrity sha512-mraHzwWBw3tdRetNOS5KnFSjvdAbNBnjFLA8I4PwTCPJj3Q4txrigcPp2d59cJ0TC51xpnPXnZjYdNwwSI9g6g==
-
-"@napi-rs/simple-git-darwin-arm64@0.1.8":
- version "0.1.8"
- resolved "https://registry.yarnpkg.com/@napi-rs/simple-git-darwin-arm64/-/simple-git-darwin-arm64-0.1.8.tgz#e210808e6d646d6efecea84c67ced8eb44a8f821"
- integrity sha512-ufy/36eI/j4UskEuvqSH7uXtp3oXeLDmjQCfKJz3u5Vx98KmOMKrqAm2H81AB2WOtCo5mqS6PbBeUXR8BJX8lQ==
-
-"@napi-rs/simple-git-darwin-x64@0.1.8":
- version "0.1.8"
- resolved "https://registry.yarnpkg.com/@napi-rs/simple-git-darwin-x64/-/simple-git-darwin-x64-0.1.8.tgz#d717525c33e0dfd8a6d6215da2fcbc0ad40011e1"
- integrity sha512-Vb21U+v3tPJNl+8JtIHHT8HGe6WZ8o1Tq3f6p+Jx9Cz71zEbcIiB9FCEMY1knS/jwQEOuhhlI9Qk7d4HY+rprA==
-
-"@napi-rs/simple-git-linux-arm-gnueabihf@0.1.8":
- version "0.1.8"
- resolved "https://registry.yarnpkg.com/@napi-rs/simple-git-linux-arm-gnueabihf/-/simple-git-linux-arm-gnueabihf-0.1.8.tgz#03e7b2dd299c10e61bbf29f405ea74f6571cf6a1"
- integrity sha512-6BPTJ7CzpSm2t54mRLVaUr3S7ORJfVJoCk2rQ8v8oDg0XAMKvmQQxOsAgqKBo9gYNHJnqrOx3AEuEgvB586BuQ==
-
-"@napi-rs/simple-git-linux-arm64-gnu@0.1.8":
- version "0.1.8"
- resolved "https://registry.yarnpkg.com/@napi-rs/simple-git-linux-arm64-gnu/-/simple-git-linux-arm64-gnu-0.1.8.tgz#945123f75c9a36fd0364e789ce06cd29a74a43cc"
- integrity sha512-qfESqUCAA/XoQpRXHptSQ8gIFnETCQt1zY9VOkplx6tgYk9PCeaX4B1Xuzrh3eZamSCMJFn+1YB9Ut8NwyGgAA==
-
-"@napi-rs/simple-git-linux-arm64-musl@0.1.8":
- version "0.1.8"
- resolved "https://registry.yarnpkg.com/@napi-rs/simple-git-linux-arm64-musl/-/simple-git-linux-arm64-musl-0.1.8.tgz#2c20a0bff7c08f60b033ed7056dcb07bbbff8310"
- integrity sha512-G80BQPpaRmQpn8dJGHp4I2/YVhWDUNJwcCrJAtAdbKFDCMyCHJBln2ERL/+IEUlIAT05zK/c1Z5WEprvXEdXow==
-
-"@napi-rs/simple-git-linux-x64-gnu@0.1.8":
- version "0.1.8"
- resolved "https://registry.yarnpkg.com/@napi-rs/simple-git-linux-x64-gnu/-/simple-git-linux-x64-gnu-0.1.8.tgz#980e22b7376252a0767298ec801d374d97553da1"
- integrity sha512-NI6o1sZYEf6vPtNWJAm9w8BxJt+LlSFW0liSjYe3lc3e4dhMfV240f0ALeqlwdIldRPaDFwZSJX5/QbS7nMzhw==
-
-"@napi-rs/simple-git-linux-x64-musl@0.1.8":
- version "0.1.8"
- resolved "https://registry.yarnpkg.com/@napi-rs/simple-git-linux-x64-musl/-/simple-git-linux-x64-musl-0.1.8.tgz#edca3b2833dc5d3fc9151f5b931f7b14478ccca4"
- integrity sha512-wljGAEOW41er45VTiU8kXJmO480pQKzsgRCvPlJJSCaEVBbmo6XXbFIXnZy1a2J3Zyy2IOsRB4PVkUZaNuPkZQ==
-
-"@napi-rs/simple-git-win32-arm64-msvc@0.1.8":
- version "0.1.8"
- resolved "https://registry.yarnpkg.com/@napi-rs/simple-git-win32-arm64-msvc/-/simple-git-win32-arm64-msvc-0.1.8.tgz#3ac4c7fe816a2cdafabd091ded76161d1ba1fe88"
- integrity sha512-QuV4QILyKPfbWHoQKrhXqjiCClx0SxbCTVogkR89BwivekqJMd9UlMxZdoCmwLWutRx4z9KmzQqokvYI5QeepA==
-
-"@napi-rs/simple-git-win32-x64-msvc@0.1.8":
- version "0.1.8"
- resolved "https://registry.yarnpkg.com/@napi-rs/simple-git-win32-x64-msvc/-/simple-git-win32-x64-msvc-0.1.8.tgz#3b825bc2cb1c7ff535a3ca03768142d68bbf5c19"
- integrity sha512-UzNS4JtjhZhZ5hRLq7BIUq+4JOwt1ThIKv11CsF1ag2l99f0123XvfEpjczKTaa94nHtjXYc2Mv9TjccBqYOew==
-
-"@napi-rs/simple-git@^0.1.7":
- version "0.1.8"
- resolved "https://registry.yarnpkg.com/@napi-rs/simple-git/-/simple-git-0.1.8.tgz#391cb58436d50bd32d924611d45bdc41f5e7607a"
- integrity sha512-BvOMdkkofTz6lEE35itJ/laUokPhr/5ToMGlOH25YnhLD2yN1KpRAT4blW9tT8281/1aZjW3xyi73bs//IrDKA==
- optionalDependencies:
- "@napi-rs/simple-git-android-arm-eabi" "0.1.8"
- "@napi-rs/simple-git-android-arm64" "0.1.8"
- "@napi-rs/simple-git-darwin-arm64" "0.1.8"
- "@napi-rs/simple-git-darwin-x64" "0.1.8"
- "@napi-rs/simple-git-linux-arm-gnueabihf" "0.1.8"
- "@napi-rs/simple-git-linux-arm64-gnu" "0.1.8"
- "@napi-rs/simple-git-linux-arm64-musl" "0.1.8"
- "@napi-rs/simple-git-linux-x64-gnu" "0.1.8"
- "@napi-rs/simple-git-linux-x64-musl" "0.1.8"
- "@napi-rs/simple-git-win32-arm64-msvc" "0.1.8"
- "@napi-rs/simple-git-win32-x64-msvc" "0.1.8"
-
-"@next/bundle-analyzer@^12.3.1":
- version "12.3.1"
- resolved "https://registry.yarnpkg.com/@next/bundle-analyzer/-/bundle-analyzer-12.3.1.tgz#df168652c43ed0dc3e91a5108e34cdcc8fc7f05a"
- integrity sha512-2f/eei0YqZZBMTs4g1+HbgHyAFH5MbI/w9wLXmE8ly9SFze2D40sRH46JcC//EFVM/TIynVBh5sxn9CVO/vtxg==
- dependencies:
- webpack-bundle-analyzer "4.3.0"
-
-"@next/env@12.3.1":
- version "12.3.1"
- resolved "https://registry.yarnpkg.com/@next/env/-/env-12.3.1.tgz#18266bd92de3b4aa4037b1927aa59e6f11879260"
- integrity sha512-9P9THmRFVKGKt9DYqeC2aKIxm8rlvkK38V1P1sRE7qyoPBIs8l9oo79QoSdPtOWfzkbDAVUqvbQGgTMsb8BtJg==
-
-"@next/eslint-plugin-next@12.3.1", "@next/eslint-plugin-next@^12.3.1":
- version "12.3.1"
- resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-12.3.1.tgz#b821f27b0f175954d8d18e5d323fce040ecc79a6"
- integrity sha512-sw+lTf6r6P0j+g/n9y4qdWWI2syPqZx+uc0+B/fRENqfR3KpSid6MIKqc9gNwGhJASazEQ5b3w8h4cAET213jw==
- dependencies:
- glob "7.1.7"
-
-"@next/swc-android-arm-eabi@12.3.1":
- version "12.3.1"
- resolved "https://registry.yarnpkg.com/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-12.3.1.tgz#b15ce8ad376102a3b8c0f3c017dde050a22bb1a3"
- integrity sha512-i+BvKA8tB//srVPPQxIQN5lvfROcfv4OB23/L1nXznP+N/TyKL8lql3l7oo2LNhnH66zWhfoemg3Q4VJZSruzQ==
-
-"@next/swc-android-arm64@12.3.1":
- version "12.3.1"
- resolved "https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-12.3.1.tgz#85d205f568a790a137cb3c3f720d961a2436ac9c"
- integrity sha512-CmgU2ZNyBP0rkugOOqLnjl3+eRpXBzB/I2sjwcGZ7/Z6RcUJXK5Evz+N0ucOxqE4cZ3gkTeXtSzRrMK2mGYV8Q==
-
-"@next/swc-darwin-arm64@12.3.1":
- version "12.3.1"
- resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.3.1.tgz#b105457d6760a7916b27e46c97cb1a40547114ae"
- integrity sha512-hT/EBGNcu0ITiuWDYU9ur57Oa4LybD5DOQp4f22T6zLfpoBMfBibPtR8XktXmOyFHrL/6FC2p9ojdLZhWhvBHg==
-
-"@next/swc-darwin-x64@12.3.1":
- version "12.3.1"
- resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-12.3.1.tgz#6947b39082271378896b095b6696a7791c6e32b1"
- integrity sha512-9S6EVueCVCyGf2vuiLiGEHZCJcPAxglyckTZcEwLdJwozLqN0gtS0Eq0bQlGS3dH49Py/rQYpZ3KVWZ9BUf/WA==
-
-"@next/swc-freebsd-x64@12.3.1":
- version "12.3.1"
- resolved "https://registry.yarnpkg.com/@next/swc-freebsd-x64/-/swc-freebsd-x64-12.3.1.tgz#2b6c36a4d84aae8b0ea0e0da9bafc696ae27085a"
- integrity sha512-qcuUQkaBZWqzM0F1N4AkAh88lLzzpfE6ImOcI1P6YeyJSsBmpBIV8o70zV+Wxpc26yV9vpzb+e5gCyxNjKJg5Q==
-
-"@next/swc-linux-arm-gnueabihf@12.3.1":
- version "12.3.1"
- resolved "https://registry.yarnpkg.com/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.3.1.tgz#6e421c44285cfedac1f4631d5de330dd60b86298"
- integrity sha512-diL9MSYrEI5nY2wc/h/DBewEDUzr/DqBjIgHJ3RUNtETAOB3spMNHvJk2XKUDjnQuluLmFMloet9tpEqU2TT9w==
-
-"@next/swc-linux-arm64-gnu@12.3.1":
- version "12.3.1"
- resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.3.1.tgz#8863f08a81f422f910af126159d2cbb9552ef717"
- integrity sha512-o/xB2nztoaC7jnXU3Q36vGgOolJpsGG8ETNjxM1VAPxRwM7FyGCPHOMk1XavG88QZSQf+1r+POBW0tLxQOJ9DQ==
-
-"@next/swc-linux-arm64-musl@12.3.1":
- version "12.3.1"
- resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.3.1.tgz#0038f07cf0b259d70ae0c80890d826dfc775d9f3"
- integrity sha512-2WEasRxJzgAmP43glFNhADpe8zB7kJofhEAVNbDJZANp+H4+wq+/cW1CdDi8DqjkShPEA6/ejJw+xnEyDID2jg==
-
-"@next/swc-linux-x64-gnu@12.3.1":
- version "12.3.1"
- resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.3.1.tgz#c66468f5e8181ffb096c537f0dbfb589baa6a9c1"
- integrity sha512-JWEaMyvNrXuM3dyy9Pp5cFPuSSvG82+yABqsWugjWlvfmnlnx9HOQZY23bFq3cNghy5V/t0iPb6cffzRWylgsA==
-
-"@next/swc-linux-x64-musl@12.3.1":
- version "12.3.1"
- resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.3.1.tgz#c6269f3e96ac0395bc722ad97ce410ea5101d305"
- integrity sha512-xoEWQQ71waWc4BZcOjmatuvPUXKTv6MbIFzpm4LFeCHsg2iwai0ILmNXf81rJR+L1Wb9ifEke2sQpZSPNz1Iyg==
-
-"@next/swc-win32-arm64-msvc@12.3.1":
- version "12.3.1"
- resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.3.1.tgz#83c639ee969cee36ce247c3abd1d9df97b5ecade"
- integrity sha512-hswVFYQYIeGHE2JYaBVtvqmBQ1CppplQbZJS/JgrVI3x2CurNhEkmds/yqvDONfwfbttTtH4+q9Dzf/WVl3Opw==
-
-"@next/swc-win32-ia32-msvc@12.3.1":
- version "12.3.1"
- resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.3.1.tgz#52995748b92aa8ad053440301bc2c0d9fbcf27c2"
- integrity sha512-Kny5JBehkTbKPmqulr5i+iKntO5YMP+bVM8Hf8UAmjSMVo3wehyLVc9IZkNmcbxi+vwETnQvJaT5ynYBkJ9dWA==
-
-"@next/swc-win32-x64-msvc@12.3.1":
- version "12.3.1"
- resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.3.1.tgz#27d71a95247a9eaee03d47adee7e3bd594514136"
- integrity sha512-W1ijvzzg+kPEX6LAc+50EYYSEo0FVu7dmTE+t+DM4iOLqgGHoW9uYSz9wCVdkXOEEMP9xhXfGpcSxsfDucyPkA==
-
-"@nodelib/fs.scandir@2.1.5":
- version "2.1.5"
- resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
- integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
- dependencies:
- "@nodelib/fs.stat" "2.0.5"
- run-parallel "^1.1.9"
-
-"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
- integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
-
-"@nodelib/fs.walk@^1.2.3":
- version "1.2.8"
- resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
- integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
- dependencies:
- "@nodelib/fs.scandir" "2.1.5"
- fastq "^1.6.0"
-
-"@pedrouid/environment@^1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@pedrouid/environment/-/environment-1.0.1.tgz#858f0f8a057340e0b250398b75ead77d6f4342ec"
- integrity sha512-HaW78NszGzRZd9SeoI3JD11JqY+lubnaOx7Pewj5pfjqWXOEATpeKIFb9Z4t2WBUK2iryiXX3lzWwmYWgUL0Ug==
-
-"@pkgr/utils@^2.3.1":
- version "2.3.1"
- resolved "https://registry.yarnpkg.com/@pkgr/utils/-/utils-2.3.1.tgz#0a9b06ffddee364d6642b3cd562ca76f55b34a03"
- integrity sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw==
- dependencies:
- cross-spawn "^7.0.3"
- is-glob "^4.0.3"
- open "^8.4.0"
- picocolors "^1.0.0"
- tiny-glob "^0.2.9"
- tslib "^2.4.0"
-
-"@polka/url@^1.0.0-next.20":
- version "1.0.0-next.21"
- resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.21.tgz#5de5a2385a35309427f6011992b544514d559aa1"
- integrity sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==
-
-"@preconstruct/next@^4.0.0":
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/@preconstruct/next/-/next-4.0.0.tgz#4d9c64ed68bb7cdc72d35d79d1dbe26ba2cae61e"
- integrity sha512-vSrc8wFQgBErU7dKTKSQtr/DLWPHcN9jMoiWOAQodB1+B4Kpqqry6QhGYoRm0DQU5gNL+Rcp+Xb350O1E/gjsg==
-
-"@reach/polymorphic@0.18.0":
- version "0.18.0"
- resolved "https://registry.yarnpkg.com/@reach/polymorphic/-/polymorphic-0.18.0.tgz#2fe42007a774e06cdbc8e13e0d46f2dc30f2f1ed"
- integrity sha512-N9iAjdMbE//6rryZZxAPLRorzDcGBnluf7YQij6XDLiMtfCj1noa7KyLpEc/5XCIB/EwhX3zCluFAwloBKdblA==
-
-"@reach/skip-nav@^0.16.0":
- version "0.16.0"
- resolved "https://registry.yarnpkg.com/@reach/skip-nav/-/skip-nav-0.16.0.tgz#dec34f3a40a1e804e05647646aacab0ffd73b24d"
- integrity sha512-SY4PdNx+hQHbeOr/+qLc+QXdRt9NTVlt0r737bOqY1WURGBIEN9sGgsmIsHluP1/bQuAe0JKdOJ/tXiwQ3Z3ug==
- dependencies:
- "@reach/utils" "0.16.0"
- tslib "^2.3.0"
-
-"@reach/skip-nav@^0.18.0":
- version "0.18.0"
- resolved "https://registry.yarnpkg.com/@reach/skip-nav/-/skip-nav-0.18.0.tgz#9f72ba7ffcd8231c5d3aa10829ef68806e5bf759"
- integrity sha512-7XKHX0NNTz9VJw1d+ZRuu3KhKSOZTIHSbHUuv7qKKPwSNApDa+dVGqR/I7dKwyB/CDFMXO4iEz4XLtOmvi0FEg==
- dependencies:
- "@reach/polymorphic" "0.18.0"
-
-"@reach/utils@0.16.0":
- version "0.16.0"
- resolved "https://registry.yarnpkg.com/@reach/utils/-/utils-0.16.0.tgz#5b0777cf16a7cab1ddd4728d5d02762df0ba84ce"
- integrity sha512-PCggBet3qaQmwFNcmQ/GqHSefadAFyNCUekq9RrWoaU9hh/S4iaFgf2MBMdM47eQj5i/Bk0Mm07cP/XPFlkN+Q==
- dependencies:
- tiny-warning "^1.0.3"
- tslib "^2.3.0"
-
-"@rollup/plugin-babel@^5.2.0":
- version "5.3.1"
- resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz#04bc0608f4aa4b2e4b1aebf284344d0f68fda283"
- integrity sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==
- dependencies:
- "@babel/helper-module-imports" "^7.10.4"
- "@rollup/pluginutils" "^3.1.0"
-
-"@rollup/plugin-node-resolve@^11.2.1":
- version "11.2.1"
- resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz#82aa59397a29cd4e13248b106e6a4a1880362a60"
- integrity sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==
- dependencies:
- "@rollup/pluginutils" "^3.1.0"
- "@types/resolve" "1.17.1"
- builtin-modules "^3.1.0"
- deepmerge "^4.2.2"
- is-module "^1.0.0"
- resolve "^1.19.0"
-
-"@rollup/plugin-replace@^2.4.1":
- version "2.4.2"
- resolved "https://registry.yarnpkg.com/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz#a2d539314fbc77c244858faa523012825068510a"
- integrity sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==
- dependencies:
- "@rollup/pluginutils" "^3.1.0"
- magic-string "^0.25.7"
-
-"@rollup/pluginutils@^3.1.0":
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b"
- integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==
- dependencies:
- "@types/estree" "0.0.39"
- estree-walker "^1.0.1"
- picomatch "^2.2.2"
-
-"@rushstack/eslint-patch@^1.1.3":
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.1.4.tgz#0c8b74c50f29ee44f423f7416829c0bf8bb5eb27"
- integrity sha512-LwzQKA4vzIct1zNZzBmRKI9QuNpLgTQMEjsQLf3BXuGYb3QPTP4Yjf6mkdX+X1mYttZ808QpOwAzZjv28kq7DA==
-
-"@solana/buffer-layout@^4.0.0":
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/@solana/buffer-layout/-/buffer-layout-4.0.0.tgz#75b1b11adc487234821c81dfae3119b73a5fd734"
- integrity sha512-lR0EMP2HC3+Mxwd4YcnZb0smnaDw7Bl2IQWZiTevRH5ZZBZn6VRWn3/92E3qdU4SSImJkA6IDHawOHAnx/qUvQ==
- dependencies:
- buffer "~6.0.3"
-
-"@solana/web3.js@1.52.0":
- version "1.52.0"
- resolved "https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.52.0.tgz#71bd5c322a31e3e2fa8cda2261c594846810b8ea"
- integrity sha512-oG1+BX4nVYZ0OBzmk6DRrY8oBYMsbXVQEf9N9JOfKm+wXSmjxVEEo8v3IPV8mKwR0JvUWuE8lOn3IUDiMlRLgg==
- dependencies:
- "@babel/runtime" "^7.12.5"
- "@ethersproject/sha2" "^5.5.0"
- "@solana/buffer-layout" "^4.0.0"
- bigint-buffer "^1.1.5"
- bn.js "^5.0.0"
- borsh "^0.7.0"
- bs58 "^4.0.1"
- buffer "6.0.1"
- fast-stable-stringify "^1.0.0"
- jayson "^3.4.4"
- js-sha3 "^0.8.0"
- node-fetch "2"
- react-native-url-polyfill "^1.3.0"
- rpc-websockets "^7.5.0"
- secp256k1 "^4.0.2"
- superstruct "^0.14.2"
- tweetnacl "^1.0.3"
-
-"@surma/rollup-plugin-off-main-thread@^2.2.3":
- version "2.2.3"
- resolved "https://registry.yarnpkg.com/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz#ee34985952ca21558ab0d952f00298ad2190c053"
- integrity sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==
- dependencies:
- ejs "^3.1.6"
- json5 "^2.2.0"
- magic-string "^0.25.0"
- string.prototype.matchall "^4.0.6"
-
-"@swc/helpers@0.4.11":
- version "0.4.11"
- resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.4.11.tgz#db23a376761b3d31c26502122f349a21b592c8de"
- integrity sha512-rEUrBSGIoSFuYxwBYtlUFMlE2CwGhmW+w9355/5oduSw8e5h2+Tj4UrAGNNgP9915++wj5vkQo0UuOBqOAq4nw==
- dependencies:
- tslib "^2.4.0"
-
-"@tailwindcss/forms@^0.5.2":
- version "0.5.2"
- resolved "https://registry.yarnpkg.com/@tailwindcss/forms/-/forms-0.5.2.tgz#4ef45f9916dcb37838cbe7fecdcc4ba7a7c2ab59"
- integrity sha512-pSrFeJB6Bg1Mrg9CdQW3+hqZXAKsBrSG9MAfFLKy1pVA4Mb4W7C0k7mEhlmS2Dfo/otxrQOET7NJiJ9RrS563w==
- dependencies:
- mini-svg-data-uri "^1.2.3"
-
-"@tailwindcss/line-clamp@^0.4.0":
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/@tailwindcss/line-clamp/-/line-clamp-0.4.0.tgz#03353e31e77636b785f2336e8c978502cec1de81"
- integrity sha512-HQZo6gfx1D0+DU3nWlNLD5iA6Ef4JAXh0LeD8lOGrJwEDBwwJNKQza6WoXhhY1uQrxOuU8ROxV7CqiQV4CoiLw==
-
-"@tailwindcss/typography@^0.5.4":
- version "0.5.7"
- resolved "https://registry.yarnpkg.com/@tailwindcss/typography/-/typography-0.5.7.tgz#e0b95bea787ee14c5a34a74fc824e6fe86ea8855"
- integrity sha512-JTTSTrgZfp6Ki4svhPA4mkd9nmQ/j9EfE7SbHJ1cLtthKkpW2OxsFXzSmxbhYbEkfNIyAyhle5p4SYyKRbz/jg==
- dependencies:
- lodash.castarray "^4.4.0"
- lodash.isplainobject "^4.0.6"
- lodash.merge "^4.6.2"
- postcss-selector-parser "6.0.10"
-
-"@types/acorn@^4.0.0":
- version "4.0.6"
- resolved "https://registry.yarnpkg.com/@types/acorn/-/acorn-4.0.6.tgz#d61ca5480300ac41a7d973dd5b84d0a591154a22"
- integrity sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==
- dependencies:
- "@types/estree" "*"
-
-"@types/bn.js@^4.11.3":
- version "4.11.6"
- resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.6.tgz#c306c70d9358aaea33cd4eda092a742b9505967c"
- integrity sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==
- dependencies:
- "@types/node" "*"
-
-"@types/connect@^3.4.33":
- version "3.4.35"
- resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1"
- integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==
- dependencies:
- "@types/node" "*"
-
-"@types/debug@^4.0.0":
- version "4.1.7"
- resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.7.tgz#7cc0ea761509124709b8b2d1090d8f6c17aadb82"
- integrity sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==
- dependencies:
- "@types/ms" "*"
-
-"@types/estree-jsx@^0.0.1":
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/@types/estree-jsx/-/estree-jsx-0.0.1.tgz#c36d7a1afeb47a95a8ee0b7bc8bc705db38f919d"
- integrity sha512-gcLAYiMfQklDCPjQegGn0TBAn9it05ISEsEhlKQUddIk7o2XDokOcTN7HBO8tznM0D9dGezvHEfRZBfZf6me0A==
- dependencies:
- "@types/estree" "*"
-
-"@types/estree@*":
- version "0.0.52"
- resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.52.tgz#7f1f57ad5b741f3d5b210d3b1f145640d89bf8fe"
- integrity sha512-BZWrtCU0bMVAIliIV+HJO1f1PR41M7NKjfxrFJwwhKI1KwhwOxYw1SXg9ao+CIMt774nFuGiG6eU+udtbEI9oQ==
-
-"@types/estree@0.0.39":
- version "0.0.39"
- resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f"
- integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==
-
-"@types/estree@^0.0.51":
- version "0.0.51"
- resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40"
- integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==
-
-"@types/glob@^7.1.1":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb"
- integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==
- dependencies:
- "@types/minimatch" "*"
- "@types/node" "*"
-
-"@types/hast@^2.0.0":
- version "2.3.4"
- resolved "https://registry.yarnpkg.com/@types/hast/-/hast-2.3.4.tgz#8aa5ef92c117d20d974a82bdfb6a648b08c0bafc"
- integrity sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==
- dependencies:
- "@types/unist" "*"
-
-"@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9":
- version "7.0.11"
- resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3"
- integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==
-
-"@types/json5@^0.0.29":
- version "0.0.29"
- resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
- integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==
-
-"@types/mdast@^3.0.0":
- version "3.0.10"
- resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.10.tgz#4724244a82a4598884cbbe9bcfd73dff927ee8af"
- integrity sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==
- dependencies:
- "@types/unist" "*"
-
-"@types/mdurl@^1.0.0":
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/@types/mdurl/-/mdurl-1.0.2.tgz#e2ce9d83a613bacf284c7be7d491945e39e1f8e9"
- integrity sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==
-
-"@types/mdx@^2.0.0":
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/@types/mdx/-/mdx-2.0.2.tgz#64be19baddba4323ae7893e077e98759316fe279"
- integrity sha512-mJGfgj4aWpiKb8C0nnJJchs1sHBHn0HugkVfqqyQi7Wn6mBRksLeQsPOFvih/Pu8L1vlDzfe/LidhVHBeUk3aQ==
-
-"@types/minimatch@*":
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca"
- integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==
-
-"@types/ms@*":
- version "0.7.31"
- resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197"
- integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==
-
-"@types/node@*":
- version "18.0.3"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-18.0.3.tgz#463fc47f13ec0688a33aec75d078a0541a447199"
- integrity sha512-HzNRZtp4eepNitP+BD6k2L6DROIDG4Q0fm4x+dwfsr6LGmROENnok75VGw40628xf+iR24WeMFcHuuBDUAzzsQ==
-
-"@types/node@^12.12.54":
- version "12.20.55"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240"
- integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==
-
-"@types/node@^18.11.0", "@types/node@^18.6.3":
- version "18.11.0"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.0.tgz#f38c7139247a1d619f6cc6f27b072606af7c289d"
- integrity sha512-IOXCvVRToe7e0ny7HpT/X9Rb2RYtElG1a+VshjwT00HxrM2dWBApHQoqsI6WiY7Q03vdf2bCrIGzVrkF/5t10w==
-
-"@types/nprogress@^0.2.0":
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/@types/nprogress/-/nprogress-0.2.0.tgz#86c593682d4199212a0509cc3c4d562bbbd6e45f"
- integrity sha512-1cYJrqq9GezNFPsWTZpFut/d4CjpZqA0vhqDUPFWYKF1oIyBz5qnoYMzR+0C/T96t3ebLAC1SSnwrVOm5/j74A==
-
-"@types/pbkdf2@^3.0.0":
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/@types/pbkdf2/-/pbkdf2-3.1.0.tgz#039a0e9b67da0cdc4ee5dab865caa6b267bb66b1"
- integrity sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==
- dependencies:
- "@types/node" "*"
-
-"@types/prop-types@*":
- version "15.7.5"
- resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf"
- integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==
-
-"@types/react-dom@^18.0.6":
- version "18.0.6"
- resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.0.6.tgz#36652900024842b74607a17786b6662dd1e103a1"
- integrity sha512-/5OFZgfIPSwy+YuIBP/FgJnQnsxhZhjjrnxudMddeblOouIodEQ75X14Rr4wGSG/bknL+Omy9iWlLo1u/9GzAA==
- dependencies:
- "@types/react" "*"
-
-"@types/react@*", "@types/react@>=16":
- version "18.0.15"
- resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.15.tgz#d355644c26832dc27f3e6cbf0c4f4603fc4ab7fe"
- integrity sha512-iz3BtLuIYH1uWdsv6wXYdhozhqj20oD4/Hk2DNXIn1kFsmp9x8d9QB6FnPhfkbhd2PgEONt9Q1x/ebkwjfFLow==
- dependencies:
- "@types/prop-types" "*"
- "@types/scheduler" "*"
- csstype "^3.0.2"
-
-"@types/react@^18.0.21":
- version "18.0.21"
- resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.21.tgz#b8209e9626bb00a34c76f55482697edd2b43cc67"
- integrity sha512-7QUCOxvFgnD5Jk8ZKlUAhVcRj7GuJRjnjjiY/IUBWKgOlnvDvTMLD4RTF7NPyVmbRhNrbomZiOepg7M/2Kj1mA==
- dependencies:
- "@types/prop-types" "*"
- "@types/scheduler" "*"
- csstype "^3.0.2"
-
-"@types/resolve@1.17.1":
- version "1.17.1"
- resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6"
- integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==
- dependencies:
- "@types/node" "*"
-
-"@types/scheduler@*":
- version "0.16.2"
- resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39"
- integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==
-
-"@types/secp256k1@^4.0.1":
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.3.tgz#1b8e55d8e00f08ee7220b4d59a6abe89c37a901c"
- integrity sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==
- dependencies:
- "@types/node" "*"
-
-"@types/semver@^7.3.12":
- version "7.3.12"
- resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.12.tgz#920447fdd78d76b19de0438b7f60df3c4a80bf1c"
- integrity sha512-WwA1MW0++RfXmCr12xeYOOC5baSC9mSb0ZqCquFzKhcoF4TvHu5MKOuXsncgZcpVFhB1pXd5hZmM0ryAoCp12A==
-
-"@types/trusted-types@^2.0.2":
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.2.tgz#fc25ad9943bcac11cceb8168db4f275e0e72e756"
- integrity sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg==
-
-"@types/unist@*", "@types/unist@^2.0.0":
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.6.tgz#250a7b16c3b91f672a24552ec64678eeb1d3a08d"
- integrity sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==
-
-"@types/ws@^7.4.4":
- version "7.4.7"
- resolved "https://registry.yarnpkg.com/@types/ws/-/ws-7.4.7.tgz#f7c390a36f7a0679aa69de2d501319f4f8d9b702"
- integrity sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==
- dependencies:
- "@types/node" "*"
-
-"@typescript-eslint/eslint-plugin@^5.40.1":
- version "5.40.1"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.40.1.tgz#3203a6ff396b1194083faaa6e5110c401201d7d5"
- integrity sha512-FsWboKkWdytGiXT5O1/R9j37YgcjO8MKHSUmWnIEjVaz0krHkplPnYi7mwdb+5+cs0toFNQb0HIrN7zONdIEWg==
- dependencies:
- "@typescript-eslint/scope-manager" "5.40.1"
- "@typescript-eslint/type-utils" "5.40.1"
- "@typescript-eslint/utils" "5.40.1"
- debug "^4.3.4"
- ignore "^5.2.0"
- regexpp "^3.2.0"
- semver "^7.3.7"
- tsutils "^3.21.0"
-
-"@typescript-eslint/parser@^5.21.0":
- version "5.30.5"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.30.5.tgz#f667c34e4e4c299d98281246c9b1e68c03a92522"
- integrity sha512-zj251pcPXI8GO9NDKWWmygP6+UjwWmrdf9qMW/L/uQJBM/0XbU2inxe5io/234y/RCvwpKEYjZ6c1YrXERkK4Q==
- dependencies:
- "@typescript-eslint/scope-manager" "5.30.5"
- "@typescript-eslint/types" "5.30.5"
- "@typescript-eslint/typescript-estree" "5.30.5"
- debug "^4.3.4"
-
-"@typescript-eslint/parser@^5.40.1":
- version "5.40.1"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.40.1.tgz#e7f8295dd8154d0d37d661ddd8e2f0ecfdee28dd"
- integrity sha512-IK6x55va5w4YvXd4b3VrXQPldV9vQTxi5ov+g4pMANsXPTXOcfjx08CRR1Dfrcc51syPtXHF5bgLlMHYFrvQtg==
- dependencies:
- "@typescript-eslint/scope-manager" "5.40.1"
- "@typescript-eslint/types" "5.40.1"
- "@typescript-eslint/typescript-estree" "5.40.1"
- debug "^4.3.4"
-
-"@typescript-eslint/scope-manager@5.30.5":
- version "5.30.5"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.30.5.tgz#7f90b9d6800552c856a5f3644f5e55dd1469d964"
- integrity sha512-NJ6F+YHHFT/30isRe2UTmIGGAiXKckCyMnIV58cE3JkHmaD6e5zyEYm5hBDv0Wbin+IC0T1FWJpD3YqHUG/Ydg==
- dependencies:
- "@typescript-eslint/types" "5.30.5"
- "@typescript-eslint/visitor-keys" "5.30.5"
-
-"@typescript-eslint/scope-manager@5.40.1":
- version "5.40.1"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.40.1.tgz#a7a5197dfd234622a2421ea590ee0ccc02e18dfe"
- integrity sha512-jkn4xsJiUQucI16OLCXrLRXDZ3afKhOIqXs4R3O+M00hdQLKR58WuyXPZZjhKLFCEP2g+TXdBRtLQ33UfAdRUg==
- dependencies:
- "@typescript-eslint/types" "5.40.1"
- "@typescript-eslint/visitor-keys" "5.40.1"
-
-"@typescript-eslint/type-utils@5.40.1":
- version "5.40.1"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.40.1.tgz#091e4ce3bebbdb68f4980bae9dee2e4e1725f601"
- integrity sha512-DLAs+AHQOe6n5LRraXiv27IYPhleF0ldEmx6yBqBgBLaNRKTkffhV1RPsjoJBhVup2zHxfaRtan8/YRBgYhU9Q==
- dependencies:
- "@typescript-eslint/typescript-estree" "5.40.1"
- "@typescript-eslint/utils" "5.40.1"
- debug "^4.3.4"
- tsutils "^3.21.0"
-
-"@typescript-eslint/types@5.30.5":
- version "5.30.5"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.30.5.tgz#36a0c05a72af3623cdf9ee8b81ea743b7de75a98"
- integrity sha512-kZ80w/M2AvsbRvOr3PjaNh6qEW1LFqs2pLdo2s5R38B2HYXG8Z0PP48/4+j1QHJFL3ssHIbJ4odPRS8PlHrFfw==
-
-"@typescript-eslint/types@5.40.1":
- version "5.40.1"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.40.1.tgz#de37f4f64de731ee454bb2085d71030aa832f749"
- integrity sha512-Icg9kiuVJSwdzSQvtdGspOlWNjVDnF3qVIKXdJ103o36yRprdl3Ge5cABQx+csx960nuMF21v8qvO31v9t3OHw==
-
-"@typescript-eslint/typescript-estree@5.30.5":
- version "5.30.5"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.30.5.tgz#c520e4eba20551c4ec76af8d344a42eb6c9767bb"
- integrity sha512-qGTc7QZC801kbYjAr4AgdOfnokpwStqyhSbiQvqGBLixniAKyH+ib2qXIVo4P9NgGzwyfD9I0nlJN7D91E1VpQ==
- dependencies:
- "@typescript-eslint/types" "5.30.5"
- "@typescript-eslint/visitor-keys" "5.30.5"
- debug "^4.3.4"
- globby "^11.1.0"
- is-glob "^4.0.3"
- semver "^7.3.7"
- tsutils "^3.21.0"
-
-"@typescript-eslint/typescript-estree@5.40.1":
- version "5.40.1"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.40.1.tgz#9a7d25492f02c69882ce5e0cd1857b0c55645d72"
- integrity sha512-5QTP/nW5+60jBcEPfXy/EZL01qrl9GZtbgDZtDPlfW5zj/zjNrdI2B5zMUHmOsfvOr2cWqwVdWjobCiHcedmQA==
- dependencies:
- "@typescript-eslint/types" "5.40.1"
- "@typescript-eslint/visitor-keys" "5.40.1"
- debug "^4.3.4"
- globby "^11.1.0"
- is-glob "^4.0.3"
- semver "^7.3.7"
- tsutils "^3.21.0"
-
-"@typescript-eslint/utils@5.40.1":
- version "5.40.1"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.40.1.tgz#3204fb73a559d3b7bab7dc9d3c44487c2734a9ca"
- integrity sha512-a2TAVScoX9fjryNrW6BZRnreDUszxqm9eQ9Esv8n5nXApMW0zeANUYlwh/DED04SC/ifuBvXgZpIK5xeJHQ3aw==
- dependencies:
- "@types/json-schema" "^7.0.9"
- "@types/semver" "^7.3.12"
- "@typescript-eslint/scope-manager" "5.40.1"
- "@typescript-eslint/types" "5.40.1"
- "@typescript-eslint/typescript-estree" "5.40.1"
- eslint-scope "^5.1.1"
- eslint-utils "^3.0.0"
- semver "^7.3.7"
-
-"@typescript-eslint/visitor-keys@5.30.5":
- version "5.30.5"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.30.5.tgz#d4bb969202019d5d5d849a0aaedc7370cc044b14"
- integrity sha512-D+xtGo9HUMELzWIUqcQc0p2PO4NyvTrgIOK/VnSH083+8sq0tiLozNRKuLarwHYGRuA6TVBQSuuLwJUDWd3aaA==
- dependencies:
- "@typescript-eslint/types" "5.30.5"
- eslint-visitor-keys "^3.3.0"
-
-"@typescript-eslint/visitor-keys@5.40.1":
- version "5.40.1"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.40.1.tgz#f3d2bf5af192f4432b84cec6fdcb387193518754"
- integrity sha512-A2DGmeZ+FMja0geX5rww+DpvILpwo1OsiQs0M+joPWJYsiEFBLsH0y1oFymPNul6Z5okSmHpP4ivkc2N0Cgfkw==
- dependencies:
- "@typescript-eslint/types" "5.40.1"
- eslint-visitor-keys "^3.3.0"
-
-"@walletconnect/browser-utils@^1.8.0":
- version "1.8.0"
- resolved "https://registry.yarnpkg.com/@walletconnect/browser-utils/-/browser-utils-1.8.0.tgz#33c10e777aa6be86c713095b5206d63d32df0951"
- integrity sha512-Wcqqx+wjxIo9fv6eBUFHPsW1y/bGWWRboni5dfD8PtOmrihrEpOCmvRJe4rfl7xgJW8Ea9UqKEaq0bIRLHlK4A==
- dependencies:
- "@walletconnect/safe-json" "1.0.0"
- "@walletconnect/types" "^1.8.0"
- "@walletconnect/window-getters" "1.0.0"
- "@walletconnect/window-metadata" "1.0.0"
- detect-browser "5.2.0"
-
-"@walletconnect/client@^1.8.0":
- version "1.8.0"
- resolved "https://registry.yarnpkg.com/@walletconnect/client/-/client-1.8.0.tgz#6f46b5499c7c861c651ff1ebe5da5b66225ca696"
- integrity sha512-svyBQ14NHx6Cs2j4TpkQaBI/2AF4+LXz64FojTjMtV4VMMhl81jSO1vNeg+yYhQzvjcGH/GpSwixjyCW0xFBOQ==
- dependencies:
- "@walletconnect/core" "^1.8.0"
- "@walletconnect/iso-crypto" "^1.8.0"
- "@walletconnect/types" "^1.8.0"
- "@walletconnect/utils" "^1.8.0"
-
-"@walletconnect/core@^1.8.0":
- version "1.8.0"
- resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-1.8.0.tgz#6b2748b90c999d9d6a70e52e26a8d5e8bfeaa81e"
- integrity sha512-aFTHvEEbXcZ8XdWBw6rpQDte41Rxwnuk3SgTD8/iKGSRTni50gI9S3YEzMj05jozSiOBxQci4pJDMVhIUMtarw==
- dependencies:
- "@walletconnect/socket-transport" "^1.8.0"
- "@walletconnect/types" "^1.8.0"
- "@walletconnect/utils" "^1.8.0"
-
-"@walletconnect/crypto@^1.0.2":
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/@walletconnect/crypto/-/crypto-1.0.2.tgz#3fcc2b2cde6f529a19eadd883dc555cd0e861992"
- integrity sha512-+OlNtwieUqVcOpFTvLBvH+9J9pntEqH5evpINHfVxff1XIgwV55PpbdvkHu6r9Ib4WQDOFiD8OeeXs1vHw7xKQ==
- dependencies:
- "@walletconnect/encoding" "^1.0.1"
- "@walletconnect/environment" "^1.0.0"
- "@walletconnect/randombytes" "^1.0.2"
- aes-js "^3.1.2"
- hash.js "^1.1.7"
-
-"@walletconnect/encoding@^1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@walletconnect/encoding/-/encoding-1.0.1.tgz#93c18ce9478c3d5283dbb88c41eb2864b575269a"
- integrity sha512-8opL2rs6N6E3tJfsqwS82aZQDL3gmupWUgmvuZ3CGU7z/InZs3R9jkzH8wmYtpbq0sFK3WkJkQRZFFk4BkrmFA==
- dependencies:
- is-typedarray "1.0.0"
- typedarray-to-buffer "3.1.5"
-
-"@walletconnect/environment@^1.0.0":
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/@walletconnect/environment/-/environment-1.0.0.tgz#c4545869fa9c389ec88c364e1a5f8178e8ab5034"
- integrity sha512-4BwqyWy6KpSvkocSaV7WR3BlZfrxLbJSLkg+j7Gl6pTDE+U55lLhJvQaMuDVazXYxcjBsG09k7UlH7cGiUI5vQ==
-
-"@walletconnect/ethereum-provider@^1.8.0":
- version "1.8.0"
- resolved "https://registry.yarnpkg.com/@walletconnect/ethereum-provider/-/ethereum-provider-1.8.0.tgz#ed1dbf9cecc3b818758a060d2f9017c50bde1d32"
- integrity sha512-Nq9m+oo5P0F+njsROHw9KMWdoc/8iGHYzQdkjJN/1C7DtsqFRg5k5a3hd9rzCLpbPsOC1q8Z5lRs6JQgDvPm6Q==
- dependencies:
- "@walletconnect/client" "^1.8.0"
- "@walletconnect/jsonrpc-http-connection" "^1.0.2"
- "@walletconnect/jsonrpc-provider" "^1.0.5"
- "@walletconnect/signer-connection" "^1.8.0"
- "@walletconnect/types" "^1.8.0"
- "@walletconnect/utils" "^1.8.0"
- eip1193-provider "1.0.1"
- eventemitter3 "4.0.7"
-
-"@walletconnect/iso-crypto@^1.8.0":
- version "1.8.0"
- resolved "https://registry.yarnpkg.com/@walletconnect/iso-crypto/-/iso-crypto-1.8.0.tgz#44ddf337c4f02837c062dbe33fa7ab36789df451"
- integrity sha512-pWy19KCyitpfXb70hA73r9FcvklS+FvO9QUIttp3c2mfW8frxgYeRXfxLRCIQTkaYueRKvdqPjbyhPLam508XQ==
- dependencies:
- "@walletconnect/crypto" "^1.0.2"
- "@walletconnect/types" "^1.8.0"
- "@walletconnect/utils" "^1.8.0"
-
-"@walletconnect/jsonrpc-http-connection@^1.0.2", "@walletconnect/jsonrpc-http-connection@^1.0.3":
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-http-connection/-/jsonrpc-http-connection-1.0.3.tgz#0343811bb33fb8a3823cb3306b306cf2ed61e99a"
- integrity sha512-npPvDG2JxyxoqOphDiyjp5pPeASRBrlfQS39wHESPHlFIjBuvNt9lV9teh53MK9Ncbyxh4y2qEKMfPgcUulTRg==
- dependencies:
- "@walletconnect/jsonrpc-utils" "^1.0.3"
- "@walletconnect/safe-json" "^1.0.0"
- cross-fetch "^3.1.4"
-
-"@walletconnect/jsonrpc-provider@^1.0.5":
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.5.tgz#1a66053b6f083a9885a32b7c2c8f6a376f1a4458"
- integrity sha512-v61u4ZIV8+p9uIHS2Kl2YRj/2idrQiHcrbrJXw3McQkEJtj9mkCofr1Hu/n419wSRM5uiNK8Z4WRS9zGTTAhWQ==
- dependencies:
- "@walletconnect/jsonrpc-utils" "^1.0.3"
- "@walletconnect/safe-json" "^1.0.0"
-
-"@walletconnect/jsonrpc-types@^1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.1.tgz#a96b4bb2bcc8838a70e06f15c1b5ab11c47d8e95"
- integrity sha512-+6coTtOuChCqM+AoYyi4Q83p9l/laI6NvuM2/AHaZFuf0gT0NjW7IX2+86qGyizn7Ptq4AYZmfxurAxTnhefuw==
- dependencies:
- keyvaluestorage-interface "^1.0.0"
-
-"@walletconnect/jsonrpc-utils@^1.0.3":
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-utils/-/jsonrpc-utils-1.0.3.tgz#5bd49865eef0eae48e8b45a06731dc18691cf8c7"
- integrity sha512-3yb49bPk16MNLk6uIIHPSHQCpD6UAo1OMOx1rM8cW/MPEAYAzrSW5hkhG7NEUwX9SokRIgnZK3QuQkiyNzBMhQ==
- dependencies:
- "@walletconnect/environment" "^1.0.0"
- "@walletconnect/jsonrpc-types" "^1.0.1"
-
-"@walletconnect/mobile-registry@^1.4.0":
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/@walletconnect/mobile-registry/-/mobile-registry-1.4.0.tgz#502cf8ab87330841d794819081e748ebdef7aee5"
- integrity sha512-ZtKRio4uCZ1JUF7LIdecmZt7FOLnX72RPSY7aUVu7mj7CSfxDwUn6gBuK6WGtH+NZCldBqDl5DenI5fFSvkKYw==
-
-"@walletconnect/qrcode-modal@^1.8.0":
- version "1.8.0"
- resolved "https://registry.yarnpkg.com/@walletconnect/qrcode-modal/-/qrcode-modal-1.8.0.tgz#ddd6f5c9b7ee52c16adf9aacec2a3eac4994caea"
- integrity sha512-BueaFefaAi8mawE45eUtztg3ZFbsAH4DDXh1UNwdUlsvFMjqcYzLUG0xZvDd6z2eOpbgDg2N3bl6gF0KONj1dg==
- dependencies:
- "@walletconnect/browser-utils" "^1.8.0"
- "@walletconnect/mobile-registry" "^1.4.0"
- "@walletconnect/types" "^1.8.0"
- copy-to-clipboard "^3.3.1"
- preact "10.4.1"
- qrcode "1.4.4"
-
-"@walletconnect/randombytes@^1.0.2":
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/@walletconnect/randombytes/-/randombytes-1.0.2.tgz#95c644251a15e6675f58fbffc9513a01486da49c"
- integrity sha512-ivgOtAyqQnN0rLQmOFPemsgYGysd/ooLfaDA/ACQ3cyqlca56t3rZc7pXfqJOIETx/wSyoF5XbwL+BqYodw27A==
- dependencies:
- "@walletconnect/encoding" "^1.0.1"
- "@walletconnect/environment" "^1.0.0"
- randombytes "^2.1.0"
-
-"@walletconnect/safe-json@1.0.0", "@walletconnect/safe-json@^1.0.0":
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/@walletconnect/safe-json/-/safe-json-1.0.0.tgz#12eeb11d43795199c045fafde97e3c91646683b2"
- integrity sha512-QJzp/S/86sUAgWY6eh5MKYmSfZaRpIlmCJdi5uG4DJlKkZrHEF7ye7gA+VtbVzvTtpM/gRwO2plQuiooIeXjfg==
-
-"@walletconnect/signer-connection@^1.8.0":
- version "1.8.0"
- resolved "https://registry.yarnpkg.com/@walletconnect/signer-connection/-/signer-connection-1.8.0.tgz#6cdf490df770e504cc1a550bdb5bac7696b130bc"
- integrity sha512-+YAaTAP52MWZJ2wWnqKClKCPlPHBo6reURFe0cWidLADh9mi/kPWGALZ5AENK22zpem1bbKV466rF5Rzvu0ehA==
- dependencies:
- "@walletconnect/client" "^1.8.0"
- "@walletconnect/jsonrpc-types" "^1.0.1"
- "@walletconnect/jsonrpc-utils" "^1.0.3"
- "@walletconnect/qrcode-modal" "^1.8.0"
- "@walletconnect/types" "^1.8.0"
- eventemitter3 "4.0.7"
-
-"@walletconnect/socket-transport@^1.8.0":
- version "1.8.0"
- resolved "https://registry.yarnpkg.com/@walletconnect/socket-transport/-/socket-transport-1.8.0.tgz#9a1128a249628a0be11a0979b522fe82b44afa1b"
- integrity sha512-5DyIyWrzHXTcVp0Vd93zJ5XMW61iDM6bcWT4p8DTRfFsOtW46JquruMhxOLeCOieM4D73kcr3U7WtyR4JUsGuQ==
- dependencies:
- "@walletconnect/types" "^1.8.0"
- "@walletconnect/utils" "^1.8.0"
- ws "7.5.3"
-
-"@walletconnect/types@^1.8.0":
- version "1.8.0"
- resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-1.8.0.tgz#3f5e85b2d6b149337f727ab8a71b8471d8d9a195"
- integrity sha512-Cn+3I0V0vT9ghMuzh1KzZvCkiAxTq+1TR2eSqw5E5AVWfmCtECFkVZBP6uUJZ8YjwLqXheI+rnjqPy7sVM4Fyg==
-
-"@walletconnect/utils@^1.8.0":
- version "1.8.0"
- resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-1.8.0.tgz#2591a197c1fa7429941fe428876088fda6632060"
- integrity sha512-zExzp8Mj1YiAIBfKNm5u622oNw44WOESzo6hj+Q3apSMIb0Jph9X3GDIdbZmvVZsNPxWDL7uodKgZcCInZv2vA==
- dependencies:
- "@walletconnect/browser-utils" "^1.8.0"
- "@walletconnect/encoding" "^1.0.1"
- "@walletconnect/jsonrpc-utils" "^1.0.3"
- "@walletconnect/types" "^1.8.0"
- bn.js "4.11.8"
- js-sha3 "0.8.0"
- query-string "6.13.5"
-
-"@walletconnect/window-getters@1.0.0", "@walletconnect/window-getters@^1.0.0":
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/@walletconnect/window-getters/-/window-getters-1.0.0.tgz#1053224f77e725dfd611c83931b5f6c98c32bfc8"
- integrity sha512-xB0SQsLaleIYIkSsl43vm8EwETpBzJ2gnzk7e0wMF3ktqiTGS6TFHxcprMl5R44KKh4tCcHCJwolMCaDSwtAaA==
-
-"@walletconnect/window-metadata@1.0.0":
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/@walletconnect/window-metadata/-/window-metadata-1.0.0.tgz#93b1cc685e6b9b202f29c26be550fde97800c4e5"
- integrity sha512-9eFvmJxIKCC3YWOL97SgRkKhlyGXkrHwamfechmqszbypFspaSk+t2jQXAEU7YClHF6Qjw5eYOmy1//zFi9/GA==
- dependencies:
- "@walletconnect/window-getters" "^1.0.0"
-
-"@web3-react/coinbase-wallet@8.0.34-beta.0":
- version "8.0.34-beta.0"
- resolved "https://registry.yarnpkg.com/@web3-react/coinbase-wallet/-/coinbase-wallet-8.0.34-beta.0.tgz#43d51bb440fb4b98cc2c33782714da30ab8e1fb6"
- integrity sha512-eGgtGtAqcRL64U1lcWeICB9CmpUycVl/mWD/b2Nd7yE0hXFUbPGLZHNvBTpnOpkANkjHI5ufFoyDGzzoxdw12A==
- dependencies:
- "@web3-react/types" "^8.0.20-beta.0"
-
-"@web3-react/core@8.0.35-beta.0":
- version "8.0.35-beta.0"
- resolved "https://registry.yarnpkg.com/@web3-react/core/-/core-8.0.35-beta.0.tgz#8667483bdbc283fc8377d7f56faba1ec2fcdb095"
- integrity sha512-vkEL2Vafu57lTA9T/cd3DNkZoDZ3G/JDUgxgjHqKLQVF4bPucrkeErqIHutAJ4suIi4bLOD0dFPMpFs+Bq7RgA==
- dependencies:
- "@web3-react/store" "^8.0.25-beta.0"
- "@web3-react/types" "^8.0.20-beta.0"
- zustand "^4.0.0-rc.0"
- optionalDependencies:
- "@ethersproject/providers" "^5"
-
-"@web3-react/eip1193@8.0.26-beta.0":
- version "8.0.26-beta.0"
- resolved "https://registry.yarnpkg.com/@web3-react/eip1193/-/eip1193-8.0.26-beta.0.tgz#2e36423bab637a1fbc57b36d4f0f38ac531fd541"
- integrity sha512-n/2ajjABcP8DktZfXxSHrxtPIxeSRJ9tsgfmd9XPEIW9FO7xLzLrF+nloTSghtZ8H+ZKKcswlKjYq4rbX/oqHg==
- dependencies:
- "@web3-react/types" "^8.0.20-beta.0"
-
-"@web3-react/gnosis-safe@8.0.6-beta.0":
- version "8.0.6-beta.0"
- resolved "https://registry.yarnpkg.com/@web3-react/gnosis-safe/-/gnosis-safe-8.0.6-beta.0.tgz#19eae87aab2cd1cd7a96833fb752c27800a6f2f8"
- integrity sha512-xDf87UPfAZK89T19q0oKsN8P6RgWKqD8T9CxjClIVdeDxOoEWMTPn9FPeXM5/Ik3+pq3UUaqcITUZb2CMD14Zw==
- dependencies:
- "@gnosis.pm/safe-apps-provider" "^0.11.3"
- "@gnosis.pm/safe-apps-sdk" "^7.5.0"
- "@web3-react/types" "^8.0.20-beta.0"
-
-"@web3-react/metamask@8.0.28-beta.0":
- version "8.0.28-beta.0"
- resolved "https://registry.yarnpkg.com/@web3-react/metamask/-/metamask-8.0.28-beta.0.tgz#f7e9e0de446727a961745cbec75c8cbf6c961388"
- integrity sha512-IXuVyj6vhRAhfGQ/sN4qgET8EEdqX844pB4kCDG9kjPD3LLm5kq47ykBosgTr9YCUtdHAXN0UaUimD0TbLMRFg==
- dependencies:
- "@metamask/detect-provider" "^1.2.0"
- "@web3-react/types" "^8.0.20-beta.0"
-
-"@web3-react/store@^8.0.25-beta.0":
- version "8.0.25-beta.0"
- resolved "https://registry.yarnpkg.com/@web3-react/store/-/store-8.0.25-beta.0.tgz#853a029a9f82d8950e306adb455ba308f908c8f4"
- integrity sha512-YHrZ42EHiQ9UAJq8Y/pHsyXu6GhzbCSHaQJ9U0wCDhbPoQ9QjOj0Pwcaa/VLXljuynK/7ERP942nI1IzArt9Sg==
- dependencies:
- "@ethersproject/address" "^5"
- "@web3-react/types" "^8.0.20-beta.0"
- zustand "^4.0.0-rc.0"
-
-"@web3-react/types@8.0.20-beta.0", "@web3-react/types@^8.0.20-beta.0":
- version "8.0.20-beta.0"
- resolved "https://registry.yarnpkg.com/@web3-react/types/-/types-8.0.20-beta.0.tgz#6b4509bef8c5c7eb866e49295880c865c20fb565"
- integrity sha512-qOZYMyUmsm3Um6t6Pg3OgnE86ufhWZpB5/VxsooB8cdpXc/C/f8KMyYSeM63GoKSMScOKwfqV6yODFL7g/Qc8g==
- dependencies:
- zustand "^4.0.0-rc.0"
-
-"@web3-react/walletconnect@8.0.35-beta.0":
- version "8.0.35-beta.0"
- resolved "https://registry.yarnpkg.com/@web3-react/walletconnect/-/walletconnect-8.0.35-beta.0.tgz#49c6c77447d58bfb295f28fa87c8fbfeec95cff5"
- integrity sha512-fUrqcnwAr5oecZ6VUE/7+RSVURrohbAgWMLKYxd8Zo47AtTPzgJ1t5Lydh/EX4xJPLhfK1LqX5YgMwiys3DvhQ==
- dependencies:
- "@web3-react/types" "^8.0.20-beta.0"
- eventemitter3 "^4.0.7"
-
-"@yearn-finance/web-lib@^0.13.28":
- version "0.13.28"
- resolved "https://registry.yarnpkg.com/@yearn-finance/web-lib/-/web-lib-0.13.28.tgz#76f3a55a72ca7e4003179bba5000fbb80f8f51e3"
- integrity sha512-YbXOchUBWfqlQbSUiqTNeJGrldiQ4YnprXad96RFhReDDC0YUtQlFY7BThg0djhGTChjhFf6Z8fTbMXbZCZaGA==
- dependencies:
- "@coinbase/wallet-sdk" "^3.4.2"
- "@ethersproject/experimental" "^5.6.3"
- "@headlessui/react" "^1.6.6"
- "@tailwindcss/forms" "^0.5.2"
- "@tailwindcss/line-clamp" "^0.4.0"
- "@tailwindcss/typography" "^0.5.4"
- "@walletconnect/ethereum-provider" "^1.8.0"
- "@walletconnect/jsonrpc-http-connection" "^1.0.3"
- "@walletconnect/jsonrpc-provider" "^1.0.5"
- "@web3-react/coinbase-wallet" "8.0.34-beta.0"
- "@web3-react/core" "8.0.35-beta.0"
- "@web3-react/eip1193" "8.0.26-beta.0"
- "@web3-react/gnosis-safe" "8.0.6-beta.0"
- "@web3-react/metamask" "8.0.28-beta.0"
- "@web3-react/types" "8.0.20-beta.0"
- "@web3-react/walletconnect" "8.0.35-beta.0"
- dayjs "^1.11.5"
- ethcall "^4.8.2"
- ethers "^5.6.9"
- eventemitter3 "^4.0.7"
- framer-motion "^7.1.1"
- nprogress "^0.2.0"
- postcss "^8.4.16"
- react-flip-move "^3.0.4"
- react-hot-toast "^2.3.0"
- react-virtualized "^9.22.3"
- tailwindcss "^3.1.8"
-
-JSONStream@^1.3.5:
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0"
- integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==
- dependencies:
- jsonparse "^1.2.0"
- through ">=2.2.7 <3"
-
-abi-coder@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/abi-coder/-/abi-coder-4.0.0.tgz#c50f2363818000485836fe41a48e12c863f9b180"
- integrity sha512-kR3+QqAbvG+nBR3dE6tgxiaxyu9dJl40y7WXwmMqAaatg0E8xn37XkS/bBUozQ45KWqQnUHt4TtLcvad+X9Z5g==
- dependencies:
- "@ethersproject/abi" "^5.0.0"
- "@ethersproject/keccak256" "^5.0.0"
- "@ethersproject/strings" "^5.0.0"
-
-acorn-jsx@^5.0.0, acorn-jsx@^5.3.2:
- version "5.3.2"
- resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
- integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
-
-acorn-node@^1.8.2:
- version "1.8.2"
- resolved "https://registry.yarnpkg.com/acorn-node/-/acorn-node-1.8.2.tgz#114c95d64539e53dede23de8b9d96df7c7ae2af8"
- integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==
- dependencies:
- acorn "^7.0.0"
- acorn-walk "^7.0.0"
- xtend "^4.0.2"
-
-acorn-walk@^7.0.0:
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc"
- integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==
-
-acorn-walk@^8.0.0:
- version "8.2.0"
- resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1"
- integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==
-
-acorn@^7.0.0:
- version "7.4.1"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
- integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
-
-acorn@^8.0.0, acorn@^8.0.4:
- version "8.7.1"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30"
- integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==
-
-acorn@^8.5.0, acorn@^8.8.0:
- version "8.8.0"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8"
- integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==
-
-aes-js@3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d"
- integrity sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==
-
-aes-js@^3.1.2:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.1.2.tgz#db9aabde85d5caabbfc0d4f2a4446960f627146a"
- integrity sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ==
-
-ajv-keywords@^3.5.2:
- version "3.5.2"
- resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d"
- integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==
-
-ajv@^6.10.0, ajv@^6.12.4, ajv@^6.12.5:
- version "6.12.6"
- resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
- integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
- dependencies:
- fast-deep-equal "^3.1.1"
- fast-json-stable-stringify "^2.0.0"
- json-schema-traverse "^0.4.1"
- uri-js "^4.2.2"
-
-ajv@^8.6.0:
- version "8.11.0"
- resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.11.0.tgz#977e91dd96ca669f54a11e23e378e33b884a565f"
- integrity sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==
- dependencies:
- fast-deep-equal "^3.1.1"
- json-schema-traverse "^1.0.0"
- require-from-string "^2.0.2"
- uri-js "^4.2.2"
-
-ansi-regex@^4.1.0:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.1.tgz#164daac87ab2d6f6db3a29875e2d1766582dabed"
- integrity sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==
-
-ansi-regex@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
- integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
-
-ansi-styles@^3.1.0, ansi-styles@^3.2.0, ansi-styles@^3.2.1:
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
- integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
- dependencies:
- color-convert "^1.9.0"
-
-ansi-styles@^4.1.0:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
- integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
- dependencies:
- color-convert "^2.0.1"
-
-anymatch@~3.1.2:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716"
- integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==
- dependencies:
- normalize-path "^3.0.0"
- picomatch "^2.0.4"
-
-arch@^2.1.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/arch/-/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11"
- integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==
-
-arg@1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/arg/-/arg-1.0.0.tgz#444d885a4e25b121640b55155ef7cd03975d6050"
- integrity sha512-Wk7TEzl1KqvTGs/uyhmHO/3XLd3t1UeU4IstvPXVzGPM522cTjqjNZ99esCkcL52sjqjo8e8CTBcWhkxvGzoAw==
-
-arg@^5.0.2:
- version "5.0.2"
- resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c"
- integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==
-
-argparse@^1.0.7:
- version "1.0.10"
- resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
- integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
- dependencies:
- sprintf-js "~1.0.2"
-
-argparse@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
- integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
-
-aria-query@^4.2.2:
- version "4.2.2"
- resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b"
- integrity sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==
- dependencies:
- "@babel/runtime" "^7.10.2"
- "@babel/runtime-corejs3" "^7.10.2"
-
-array-includes@^3.1.4, array-includes@^3.1.5:
- version "3.1.5"
- resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.5.tgz#2c320010db8d31031fd2a5f6b3bbd4b1aad31bdb"
- integrity sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.4"
- es-abstract "^1.19.5"
- get-intrinsic "^1.1.1"
- is-string "^1.0.7"
-
-array-union@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
- integrity sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==
- dependencies:
- array-uniq "^1.0.1"
-
-array-union@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"
- integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
-
-array-uniq@^1.0.1:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
- integrity sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==
-
-array.prototype.flat@^1.2.5:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz#0b0c1567bf57b38b56b4c97b8aa72ab45e4adc7b"
- integrity sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.3"
- es-abstract "^1.19.2"
- es-shim-unscopables "^1.0.0"
-
-array.prototype.flatmap@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.0.tgz#a7e8ed4225f4788a70cd910abcf0791e76a5534f"
- integrity sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.3"
- es-abstract "^1.19.2"
- es-shim-unscopables "^1.0.0"
-
-ast-types-flow@^0.0.7:
- version "0.0.7"
- resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad"
- integrity sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==
-
-astring@^1.6.0:
- version "1.8.3"
- resolved "https://registry.yarnpkg.com/astring/-/astring-1.8.3.tgz#1a0ae738c7cc558f8e5ddc8e3120636f5cebcb85"
- integrity sha512-sRpyiNrx2dEYIMmUXprS8nlpRg2Drs8m9ElX9vVEXaCB4XEAJhKfs7IcX0IwShjuOAjLR6wzIrgoptz1n19i1A==
-
-async-mutex@^0.2.6:
- version "0.2.6"
- resolved "https://registry.yarnpkg.com/async-mutex/-/async-mutex-0.2.6.tgz#0d7a3deb978bc2b984d5908a2038e1ae2e54ff40"
- integrity sha512-Hs4R+4SPgamu6rSGW8C7cV9gaWUKEHykfzCCvIRuaVv636Ju10ZdeUbvb4TBEW0INuq2DHZqXbK4Nd3yG4RaRw==
- dependencies:
- tslib "^2.0.0"
-
-async@^3.2.3:
- version "3.2.4"
- resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c"
- integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==
-
-at-least-node@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2"
- integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==
-
-autoprefixer@^10.4.12:
- version "10.4.12"
- resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.12.tgz#183f30bf0b0722af54ee5ef257f7d4320bb33129"
- integrity sha512-WrCGV9/b97Pa+jtwf5UGaRjgQIg7OK3D06GnoYoZNcG1Xb8Gt3EfuKjlhh9i/VtT16g6PYjZ69jdJ2g8FxSC4Q==
- dependencies:
- browserslist "^4.21.4"
- caniuse-lite "^1.0.30001407"
- fraction.js "^4.2.0"
- normalize-range "^0.1.2"
- picocolors "^1.0.0"
- postcss-value-parser "^4.2.0"
-
-available-typed-arrays@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7"
- integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==
-
-axe-core@^4.4.2:
- version "4.4.2"
- resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.4.2.tgz#dcf7fb6dea866166c3eab33d68208afe4d5f670c"
- integrity sha512-LVAaGp/wkkgYJcjmHsoKx4juT1aQvJyPcW09MLCjVTh3V2cc6PnyempiLMNH5iMdfIX/zdbjUx2KDjMLCTdPeA==
-
-axios@^0.21.0:
- version "0.21.4"
- resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575"
- integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==
- dependencies:
- follow-redirects "^1.14.0"
-
-axobject-query@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be"
- integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==
-
-babel-loader@^8.2.5:
- version "8.2.5"
- resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.5.tgz#d45f585e654d5a5d90f5350a779d7647c5ed512e"
- integrity sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==
- dependencies:
- find-cache-dir "^3.3.1"
- loader-utils "^2.0.0"
- make-dir "^3.1.0"
- schema-utils "^2.6.5"
-
-babel-plugin-dynamic-import-node@^2.3.3:
- version "2.3.3"
- resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3"
- integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==
- dependencies:
- object.assign "^4.1.0"
-
-babel-plugin-polyfill-corejs2@^0.3.1:
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz#440f1b70ccfaabc6b676d196239b138f8a2cfba5"
- integrity sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==
- dependencies:
- "@babel/compat-data" "^7.13.11"
- "@babel/helper-define-polyfill-provider" "^0.3.1"
- semver "^6.1.1"
-
-babel-plugin-polyfill-corejs2@^0.3.3:
- version "0.3.3"
- resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz#5d1bd3836d0a19e1b84bbf2d9640ccb6f951c122"
- integrity sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==
- dependencies:
- "@babel/compat-data" "^7.17.7"
- "@babel/helper-define-polyfill-provider" "^0.3.3"
- semver "^6.1.1"
-
-babel-plugin-polyfill-corejs3@^0.5.2:
- version "0.5.2"
- resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz#aabe4b2fa04a6e038b688c5e55d44e78cd3a5f72"
- integrity sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==
- dependencies:
- "@babel/helper-define-polyfill-provider" "^0.3.1"
- core-js-compat "^3.21.0"
-
-babel-plugin-polyfill-corejs3@^0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz#56ad88237137eade485a71b52f72dbed57c6230a"
- integrity sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==
- dependencies:
- "@babel/helper-define-polyfill-provider" "^0.3.3"
- core-js-compat "^3.25.1"
-
-babel-plugin-polyfill-regenerator@^0.3.1:
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz#2c0678ea47c75c8cc2fbb1852278d8fb68233990"
- integrity sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==
- dependencies:
- "@babel/helper-define-polyfill-provider" "^0.3.1"
-
-babel-plugin-polyfill-regenerator@^0.4.1:
- version "0.4.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz#390f91c38d90473592ed43351e801a9d3e0fd747"
- integrity sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==
- dependencies:
- "@babel/helper-define-polyfill-provider" "^0.3.3"
-
-bail@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/bail/-/bail-2.0.2.tgz#d26f5cd8fe5d6f832a31517b9f7c356040ba6d5d"
- integrity sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==
-
-balanced-match@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
- integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
-
-base-x@^3.0.2:
- version "3.0.9"
- resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.9.tgz#6349aaabb58526332de9f60995e548a53fe21320"
- integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==
- dependencies:
- safe-buffer "^5.0.1"
-
-base64-js@^1.3.1:
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
- integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
-
-bech32@1.1.4:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9"
- integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==
-
-big.js@^5.2.2:
- version "5.2.2"
- resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328"
- integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==
-
-bigint-buffer@^1.1.5:
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/bigint-buffer/-/bigint-buffer-1.1.5.tgz#d038f31c8e4534c1f8d0015209bf34b4fa6dd442"
- integrity sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA==
- dependencies:
- bindings "^1.3.0"
-
-binary-extensions@^2.0.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
- integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
-
-bind-decorator@^1.0.11:
- version "1.0.11"
- resolved "https://registry.yarnpkg.com/bind-decorator/-/bind-decorator-1.0.11.tgz#e41bc06a1f65dd9cec476c91c5daf3978488252f"
- integrity sha512-yzkH0uog6Vv/vQ9+rhSKxecnqGUZHYncg7qS7voz3Q76+TAi1SGiOKk2mlOvusQnFz9Dc4BC/NMkeXu11YgjJg==
-
-bindings@^1.3.0:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df"
- integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==
- dependencies:
- file-uri-to-path "1.0.0"
-
-bl@^4.0.3:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a"
- integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==
- dependencies:
- buffer "^5.5.0"
- inherits "^2.0.4"
- readable-stream "^3.4.0"
-
-blakejs@^1.1.0:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.2.1.tgz#5057e4206eadb4a97f7c0b6e197a505042fc3814"
- integrity sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==
-
-bn.js@4.11.8:
- version "4.11.8"
- resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f"
- integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==
-
-bn.js@^4.11.0, bn.js@^4.11.8, bn.js@^4.11.9:
- version "4.12.0"
- resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88"
- integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==
-
-bn.js@^5.0.0, bn.js@^5.1.1, bn.js@^5.2.0, bn.js@^5.2.1:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70"
- integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==
-
-borsh@^0.7.0:
- version "0.7.0"
- resolved "https://registry.yarnpkg.com/borsh/-/borsh-0.7.0.tgz#6e9560d719d86d90dc589bca60ffc8a6c51fec2a"
- integrity sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA==
- dependencies:
- bn.js "^5.2.0"
- bs58 "^4.0.0"
- text-encoding-utf-8 "^1.0.2"
-
-brace-expansion@^1.1.7:
- version "1.1.11"
- resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
- integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
- dependencies:
- balanced-match "^1.0.0"
- concat-map "0.0.1"
-
-brace-expansion@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae"
- integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==
- dependencies:
- balanced-match "^1.0.0"
-
-braces@^3.0.2, braces@~3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
- integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
- dependencies:
- fill-range "^7.0.1"
-
-brorand@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
- integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==
-
-browserify-aes@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48"
- integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==
- dependencies:
- buffer-xor "^1.0.3"
- cipher-base "^1.0.0"
- create-hash "^1.1.0"
- evp_bytestokey "^1.0.3"
- inherits "^2.0.1"
- safe-buffer "^5.0.1"
-
-browserslist@^4.20.2, browserslist@^4.21.0:
- version "4.21.1"
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.1.tgz#c9b9b0a54c7607e8dc3e01a0d311727188011a00"
- integrity sha512-Nq8MFCSrnJXSc88yliwlzQe3qNe3VntIjhsArW9IJOEPSHNx23FalwApUVbzAWABLhYJJ7y8AynWI/XM8OdfjQ==
- dependencies:
- caniuse-lite "^1.0.30001359"
- electron-to-chromium "^1.4.172"
- node-releases "^2.0.5"
- update-browserslist-db "^1.0.4"
-
-browserslist@^4.21.3, browserslist@^4.21.4:
- version "4.21.4"
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987"
- integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==
- dependencies:
- caniuse-lite "^1.0.30001400"
- electron-to-chromium "^1.4.251"
- node-releases "^2.0.6"
- update-browserslist-db "^1.0.9"
-
-bs58@^4.0.0, bs58@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a"
- integrity sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==
- dependencies:
- base-x "^3.0.2"
-
-bs58check@^2.1.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc"
- integrity sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==
- dependencies:
- bs58 "^4.0.0"
- create-hash "^1.1.0"
- safe-buffer "^5.1.2"
-
-btoa@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/btoa/-/btoa-1.2.1.tgz#01a9909f8b2c93f6bf680ba26131eb30f7fa3d73"
- integrity sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==
-
-buffer-alloc-unsafe@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0"
- integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==
-
-buffer-alloc@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec"
- integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==
- dependencies:
- buffer-alloc-unsafe "^1.1.0"
- buffer-fill "^1.0.0"
-
-buffer-fill@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c"
- integrity sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==
-
-buffer-from@^1.0.0, buffer-from@^1.1.1:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
- integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
-
-buffer-xor@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
- integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==
-
-buffer@6.0.1:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.1.tgz#3cbea8c1463e5a0779e30b66d4c88c6ffa182ac2"
- integrity sha512-rVAXBwEcEoYtxnHSO5iWyhzV/O1WMtkUYWlfdLS7FjU4PnSJJHEfHXi/uHPI5EwltmOA794gN3bm3/pzuctWjQ==
- dependencies:
- base64-js "^1.3.1"
- ieee754 "^1.2.1"
-
-buffer@^5.4.3, buffer@^5.5.0:
- version "5.7.1"
- resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0"
- integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==
- dependencies:
- base64-js "^1.3.1"
- ieee754 "^1.1.13"
-
-buffer@^6.0.3, buffer@~6.0.3:
- version "6.0.3"
- resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6"
- integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==
- dependencies:
- base64-js "^1.3.1"
- ieee754 "^1.2.1"
-
-bufferutil@^4.0.1:
- version "4.0.6"
- resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.6.tgz#ebd6c67c7922a0e902f053e5d8be5ec850e48433"
- integrity sha512-jduaYOYtnio4aIAyc6UbvPCVcgq7nYpVnucyxr6eCYg/Woad9Hf/oxxBRDnGGjPfjUm6j5O/uBWhIu4iLebFaw==
- dependencies:
- node-gyp-build "^4.3.0"
-
-builtin-modules@^3.1.0:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6"
- integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==
-
-call-bind@^1.0.0, call-bind@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c"
- integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==
- dependencies:
- function-bind "^1.1.1"
- get-intrinsic "^1.0.2"
-
-callsites@^3.0.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
- integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
-
-camelcase-css@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5"
- integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==
-
-camelcase@^5.0.0:
- version "5.3.1"
- resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
- integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
-
-caniuse-lite@^1.0.30001359:
- version "1.0.30001363"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001363.tgz#26bec2d606924ba318235944e1193304ea7c4f15"
- integrity sha512-HpQhpzTGGPVMnCjIomjt+jvyUu8vNFo3TaDiZ/RcoTrlOq/5+tC8zHdsbgFB6MxmaY+jCpsH09aD80Bb4Ow3Sg==
-
-caniuse-lite@^1.0.30001400, caniuse-lite@^1.0.30001406, caniuse-lite@^1.0.30001407:
- version "1.0.30001421"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001421.tgz#979993aaacff5ab72a8d0d58c28ddbcb7b4deba6"
- integrity sha512-Sw4eLbgUJAEhjLs1Fa+mk45sidp1wRn5y6GtDpHGBaNJ9OCDJaVh2tIaWWUnGfuXfKf1JCBaIarak3FkVAvEeA==
-
-ccount@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/ccount/-/ccount-2.0.1.tgz#17a3bf82302e0870d6da43a01311a8bc02a3ecf5"
- integrity sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==
-
-chalk@2.3.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.0.tgz#b5ea48efc9c1793dccc9b4767c93914d3f2d52ba"
- integrity sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==
- dependencies:
- ansi-styles "^3.1.0"
- escape-string-regexp "^1.0.5"
- supports-color "^4.0.0"
-
-chalk@^2.0.0:
- version "2.4.2"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
- integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
- dependencies:
- ansi-styles "^3.2.1"
- escape-string-regexp "^1.0.5"
- supports-color "^5.3.0"
-
-chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0:
- version "4.1.2"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
- integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
- dependencies:
- ansi-styles "^4.1.0"
- supports-color "^7.1.0"
-
-character-entities-html4@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-2.1.0.tgz#1f1adb940c971a4b22ba39ddca6b618dc6e56b2b"
- integrity sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==
-
-character-entities-legacy@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz#76bc83a90738901d7bc223a9e93759fdd560125b"
- integrity sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==
-
-character-entities@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-2.0.2.tgz#2d09c2e72cd9523076ccb21157dff66ad43fcc22"
- integrity sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==
-
-character-reference-invalid@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz#85c66b041e43b47210faf401278abf808ac45cb9"
- integrity sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==
-
-"chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.3:
- version "3.5.3"
- resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd"
- integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
- dependencies:
- anymatch "~3.1.2"
- braces "~3.0.2"
- glob-parent "~5.1.2"
- is-binary-path "~2.1.0"
- is-glob "~4.0.1"
- normalize-path "~3.0.0"
- readdirp "~3.6.0"
- optionalDependencies:
- fsevents "~2.3.2"
-
-chownr@^1.1.1:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b"
- integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==
-
-cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de"
- integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==
- dependencies:
- inherits "^2.0.1"
- safe-buffer "^5.0.1"
-
-classnames@^2.2.6:
- version "2.3.1"
- resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e"
- integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==
-
-clean-webpack-plugin@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/clean-webpack-plugin/-/clean-webpack-plugin-4.0.0.tgz#72947d4403d452f38ed61a9ff0ada8122aacd729"
- integrity sha512-WuWE1nyTNAyW5T7oNyys2EN0cfP2fdRxhxnIQWiAp0bMabPdHhoGxM8A6YL2GhqwgrPnnaemVE7nv5XJ2Fhh2w==
- dependencies:
- del "^4.1.1"
-
-clipboardy@1.2.2:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/clipboardy/-/clipboardy-1.2.2.tgz#2ce320b9ed9be1514f79878b53ff9765420903e2"
- integrity sha512-16KrBOV7bHmHdxcQiCvfUFYVFyEah4FI8vYT1Fr7CGSA4G+xBWMEfUEQJS1hxeHGtI9ju1Bzs9uXSbj5HZKArw==
- dependencies:
- arch "^2.1.0"
- execa "^0.8.0"
-
-cliui@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5"
- integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==
- dependencies:
- string-width "^3.1.0"
- strip-ansi "^5.2.0"
- wrap-ansi "^5.1.0"
-
-clone@^2.1.1:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f"
- integrity sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==
-
-clsx@^1.0.4, clsx@^1.1.0:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12"
- integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==
-
-color-convert@^1.9.0:
- version "1.9.3"
- resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
- integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
- dependencies:
- color-name "1.1.3"
-
-color-convert@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
- integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
- dependencies:
- color-name "~1.1.4"
-
-color-name@1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
- integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
-
-color-name@^1.0.0, color-name@^1.1.4, color-name@~1.1.4:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
- integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
-
-color-string@^1.9.0:
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.9.1.tgz#4467f9146f036f855b764dfb5bf8582bf342c7a4"
- integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==
- dependencies:
- color-name "^1.0.0"
- simple-swizzle "^0.2.2"
-
-color@^4.2.3:
- version "4.2.3"
- resolved "https://registry.yarnpkg.com/color/-/color-4.2.3.tgz#d781ecb5e57224ee43ea9627560107c0e0c6463a"
- integrity sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==
- dependencies:
- color-convert "^2.0.1"
- color-string "^1.9.0"
-
-comma-separated-tokens@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-2.0.2.tgz#d4c25abb679b7751c880be623c1179780fe1dd98"
- integrity sha512-G5yTt3KQN4Yn7Yk4ed73hlZ1evrFKXeUW3086p3PRFNp7m2vIjI6Pg+Kgb+oyzhd9F2qdcoj67+y3SdxL5XWsg==
-
-commander@^2.20.0, commander@^2.20.3:
- version "2.20.3"
- resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
- integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
-
-commander@^6.2.0:
- version "6.2.1"
- resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c"
- integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==
-
-common-tags@^1.8.0:
- version "1.8.2"
- resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.2.tgz#94ebb3c076d26032745fd54face7f688ef5ac9c6"
- integrity sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==
-
-commondir@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
- integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==
-
-compute-scroll-into-view@^1.0.17:
- version "1.0.17"
- resolved "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-1.0.17.tgz#6a88f18acd9d42e9cf4baa6bec7e0522607ab7ab"
- integrity sha512-j4dx+Fb0URmzbwwMUrhqWM2BEWHdFGx+qZ9qqASHRPqvTYdqvWnHg0H1hIbcyLnvgnoNAVMlwkepyqM3DaIFUg==
-
-concat-map@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
- integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
-
-convert-source-map@^1.7.0:
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f"
- integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==
-
-copy-to-clipboard@^3.3.1:
- version "3.3.1"
- resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz#115aa1a9998ffab6196f93076ad6da3b913662ae"
- integrity sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==
- dependencies:
- toggle-selection "^1.0.6"
-
-core-js-compat@^3.21.0:
- version "3.23.3"
- resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.23.3.tgz#7d8503185be76bb6d8d592c291a4457a8e440aa9"
- integrity sha512-WSzUs2h2vvmKsacLHNTdpyOC9k43AEhcGoFlVgCY4L7aw98oSBKtPL6vD0/TqZjRWRQYdDSLkzZIni4Crbbiqw==
- dependencies:
- browserslist "^4.21.0"
- semver "7.0.0"
-
-core-js-compat@^3.25.1:
- version "3.25.5"
- resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.25.5.tgz#0016e8158c904f7b059486639e6e82116eafa7d9"
- integrity sha512-ovcyhs2DEBUIE0MGEKHP4olCUW/XYte3Vroyxuh38rD1wAO4dHohsovUC4eAOuzFxE6b+RXvBU3UZ9o0YhUTkA==
- dependencies:
- browserslist "^4.21.4"
-
-core-js-pure@^3.20.2:
- version "3.23.3"
- resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.23.3.tgz#bcd02d3d8ec68ad871ef50d5ccbb248ddb54f401"
- integrity sha512-XpoouuqIj4P+GWtdyV8ZO3/u4KftkeDVMfvp+308eGMhCrA3lVDSmAxO0c6GGOcmgVlaKDrgWVMo49h2ab/TDA==
-
-create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196"
- integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==
- dependencies:
- cipher-base "^1.0.1"
- inherits "^2.0.1"
- md5.js "^1.3.4"
- ripemd160 "^2.0.1"
- sha.js "^2.4.0"
-
-create-hmac@^1.1.4, create-hmac@^1.1.7:
- version "1.1.7"
- resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff"
- integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==
- dependencies:
- cipher-base "^1.0.3"
- create-hash "^1.1.0"
- inherits "^2.0.1"
- ripemd160 "^2.0.0"
- safe-buffer "^5.0.1"
- sha.js "^2.4.8"
-
-cross-fetch@^3.1.4, cross-fetch@^3.1.5:
- version "3.1.5"
- resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f"
- integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==
- dependencies:
- node-fetch "2.6.7"
-
-cross-spawn@^5.0.1:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
- integrity sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==
- dependencies:
- lru-cache "^4.0.1"
- shebang-command "^1.2.0"
- which "^1.2.9"
-
-cross-spawn@^7.0.2, cross-spawn@^7.0.3:
- version "7.0.3"
- resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
- integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
- dependencies:
- path-key "^3.1.0"
- shebang-command "^2.0.0"
- which "^2.0.1"
-
-crypto-random-string@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5"
- integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==
-
-cssesc@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
- integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
-
-csstype@^3.0.2:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.0.tgz#4ddcac3718d787cf9df0d1b7d15033925c8f29f2"
- integrity sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==
-
-damerau-levenshtein@^1.0.8:
- version "1.0.8"
- resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7"
- integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==
-
-dayjs@^1.11.5:
- version "1.11.5"
- resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.5.tgz#00e8cc627f231f9499c19b38af49f56dc0ac5e93"
- integrity sha512-CAdX5Q3YW3Gclyo5Vpqkgpj8fSdLQcRuzfX6mC6Phy0nfJ0eGYOeS7m4mt2plDWLAtA4TqTakvbboHvUxfe4iA==
-
-debug@^2.6.9:
- version "2.6.9"
- resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
- integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
- dependencies:
- ms "2.0.0"
-
-debug@^3.2.7:
- version "3.2.7"
- resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a"
- integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==
- dependencies:
- ms "^2.1.1"
-
-debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4:
- version "4.3.4"
- resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
- integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
- dependencies:
- ms "2.1.2"
-
-decamelize@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
- integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==
-
-decode-named-character-reference@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz#daabac9690874c394c81e4162a0304b35d824f0e"
- integrity sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==
- dependencies:
- character-entities "^2.0.0"
-
-decode-uri-component@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
- integrity sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==
-
-decompress-response@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc"
- integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==
- dependencies:
- mimic-response "^3.1.0"
-
-deep-extend@^0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
- integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
-
-deep-is@^0.1.3:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
- integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
-
-deepmerge@^4.2.2:
- version "4.2.2"
- resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955"
- integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==
-
-define-lazy-prop@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f"
- integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==
-
-define-properties@^1.1.3, define-properties@^1.1.4:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1"
- integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==
- dependencies:
- has-property-descriptors "^1.0.0"
- object-keys "^1.1.1"
-
-defined@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693"
- integrity sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==
-
-del@^4.1.1:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/del/-/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4"
- integrity sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==
- dependencies:
- "@types/glob" "^7.1.1"
- globby "^6.1.0"
- is-path-cwd "^2.0.0"
- is-path-in-cwd "^2.0.0"
- p-map "^2.0.0"
- pify "^4.0.1"
- rimraf "^2.6.3"
-
-delay@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/delay/-/delay-5.0.0.tgz#137045ef1b96e5071060dd5be60bf9334436bd1d"
- integrity sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==
-
-dequal@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.2.tgz#85ca22025e3a87e65ef75a7a437b35284a7e319d"
- integrity sha512-q9K8BlJVxK7hQYqa6XISGmBZbtQQWVXSrRrWreHC94rMt1QL/Impruc+7p2CYSYuVIUr+YCt6hjrs1kkdJRTug==
-
-detect-browser@5.2.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/detect-browser/-/detect-browser-5.2.0.tgz#c9cd5afa96a6a19fda0bbe9e9be48a6b6e1e9c97"
- integrity sha512-tr7XntDAu50BVENgQfajMLzacmSe34D+qZc4zjnniz0ZVuw/TZcLcyxHQjYpJTM36sGEkZZlYLnIM1hH7alTMA==
-
-detect-libc@^2.0.0, detect-libc@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.1.tgz#e1897aa88fa6ad197862937fbc0441ef352ee0cd"
- integrity sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==
-
-detective@^5.2.1:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/detective/-/detective-5.2.1.tgz#6af01eeda11015acb0e73f933242b70f24f91034"
- integrity sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==
- dependencies:
- acorn-node "^1.8.2"
- defined "^1.0.0"
- minimist "^1.2.6"
-
-didyoumean@^1.2.2:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037"
- integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==
-
-diff@^5.0.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/diff/-/diff-5.1.0.tgz#bc52d298c5ea8df9194800224445ed43ffc87e40"
- integrity sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==
-
-dijkstrajs@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/dijkstrajs/-/dijkstrajs-1.0.2.tgz#2e48c0d3b825462afe75ab4ad5e829c8ece36257"
- integrity sha512-QV6PMaHTCNmKSeP6QoXhVTw9snc9VD8MulTT0Bd99Pacp4SS1cjcrYPgBPmibqKVtMJJfqC6XvOXgPMEEPH/fg==
-
-dir-glob@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
- integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==
- dependencies:
- path-type "^4.0.0"
-
-dlv@^1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79"
- integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==
-
-doctrine@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d"
- integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==
- dependencies:
- esutils "^2.0.2"
-
-doctrine@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
- integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
- dependencies:
- esutils "^2.0.2"
-
-dom-helpers@^5.1.3:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902"
- integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==
- dependencies:
- "@babel/runtime" "^7.8.7"
- csstype "^3.0.2"
-
-duplexer@^0.1.2:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6"
- integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==
-
-eip1193-provider@1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/eip1193-provider/-/eip1193-provider-1.0.1.tgz#420d29cf4f6c443e3f32e718fb16fafb250637c3"
- integrity sha512-kSuqwQ26d7CzuS/t3yRXo2Su2cVH0QfvyKbr2H7Be7O5YDyIq4hQGCNTo5wRdP07bt+E2R/8nPCzey4ojBHf7g==
- dependencies:
- "@json-rpc-tools/provider" "^1.5.5"
-
-ejs@^3.1.6:
- version "3.1.8"
- resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.8.tgz#758d32910c78047585c7ef1f92f9ee041c1c190b"
- integrity sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==
- dependencies:
- jake "^10.8.5"
-
-electron-to-chromium@^1.4.172:
- version "1.4.184"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.184.tgz#381d4d111fc82d3376ed690dfb621e675f9078a9"
- integrity sha512-IADi390FRdvxWfVX3hjzfTDNVHiTqVo9ar53/7em/SfhUG9YcjVhyQecY/XwmBHRKden/wFud7RWOUH7+7LFng==
-
-electron-to-chromium@^1.4.251:
- version "1.4.284"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz#61046d1e4cab3a25238f6bf7413795270f125592"
- integrity sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==
-
-elliptic@6.5.4, elliptic@^6.5.2, elliptic@^6.5.4:
- version "6.5.4"
- resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb"
- integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==
- dependencies:
- bn.js "^4.11.9"
- brorand "^1.1.0"
- hash.js "^1.0.0"
- hmac-drbg "^1.0.1"
- inherits "^2.0.4"
- minimalistic-assert "^1.0.1"
- minimalistic-crypto-utils "^1.0.1"
-
-emoji-regex@^7.0.1:
- version "7.0.3"
- resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
- integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==
-
-emoji-regex@^9.2.2:
- version "9.2.2"
- resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72"
- integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==
-
-emojis-list@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78"
- integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==
-
-end-of-stream@^1.1.0, end-of-stream@^1.4.1:
- version "1.4.4"
- resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
- integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
- dependencies:
- once "^1.4.0"
-
-enhanced-resolve@^5.0.0, enhanced-resolve@^5.10.0:
- version "5.10.0"
- resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz#0dc579c3bb2a1032e357ac45b8f3a6f3ad4fb1e6"
- integrity sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==
- dependencies:
- graceful-fs "^4.2.4"
- tapable "^2.2.0"
-
-es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5, es-abstract@^1.20.0:
- version "1.20.1"
- resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.1.tgz#027292cd6ef44bd12b1913b828116f54787d1814"
- integrity sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==
- dependencies:
- call-bind "^1.0.2"
- es-to-primitive "^1.2.1"
- function-bind "^1.1.1"
- function.prototype.name "^1.1.5"
- get-intrinsic "^1.1.1"
- get-symbol-description "^1.0.0"
- has "^1.0.3"
- has-property-descriptors "^1.0.0"
- has-symbols "^1.0.3"
- internal-slot "^1.0.3"
- is-callable "^1.2.4"
- is-negative-zero "^2.0.2"
- is-regex "^1.1.4"
- is-shared-array-buffer "^1.0.2"
- is-string "^1.0.7"
- is-weakref "^1.0.2"
- object-inspect "^1.12.0"
- object-keys "^1.1.1"
- object.assign "^4.1.2"
- regexp.prototype.flags "^1.4.3"
- string.prototype.trimend "^1.0.5"
- string.prototype.trimstart "^1.0.5"
- unbox-primitive "^1.0.2"
-
-es-shim-unscopables@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241"
- integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==
- dependencies:
- has "^1.0.3"
-
-es-to-primitive@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a"
- integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==
- dependencies:
- is-callable "^1.1.4"
- is-date-object "^1.0.1"
- is-symbol "^1.0.2"
-
-es6-promise@^4.0.3:
- version "4.2.8"
- resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a"
- integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==
-
-es6-promisify@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203"
- integrity sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==
- dependencies:
- es6-promise "^4.0.3"
-
-escalade@^3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
- integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
-
-escape-string-regexp@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
- integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==
-
-escape-string-regexp@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
- integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
-
-escape-string-regexp@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz#4683126b500b61762f2dbebace1806e8be31b1c8"
- integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==
-
-eslint-config-next@^12.3.1:
- version "12.3.1"
- resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-12.3.1.tgz#5d4eb0b7903cea81fd0d5106601d3afb0a453ff4"
- integrity sha512-EN/xwKPU6jz1G0Qi6Bd/BqMnHLyRAL0VsaQaWA7F3KkjAgZHi4f1uL1JKGWNxdQpHTW/sdGONBd0bzxUka/DJg==
- dependencies:
- "@next/eslint-plugin-next" "12.3.1"
- "@rushstack/eslint-patch" "^1.1.3"
- "@typescript-eslint/parser" "^5.21.0"
- eslint-import-resolver-node "^0.3.6"
- eslint-import-resolver-typescript "^2.7.1"
- eslint-plugin-import "^2.26.0"
- eslint-plugin-jsx-a11y "^6.5.1"
- eslint-plugin-react "^7.31.7"
- eslint-plugin-react-hooks "^4.5.0"
-
-eslint-import-resolver-node@^0.3.6:
- version "0.3.6"
- resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd"
- integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==
- dependencies:
- debug "^3.2.7"
- resolve "^1.20.0"
-
-eslint-import-resolver-typescript@^2.7.1:
- version "2.7.1"
- resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.7.1.tgz#a90a4a1c80da8d632df25994c4c5fdcdd02b8751"
- integrity sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ==
- dependencies:
- debug "^4.3.4"
- glob "^7.2.0"
- is-glob "^4.0.3"
- resolve "^1.22.0"
- tsconfig-paths "^3.14.1"
-
-eslint-import-resolver-typescript@^3.5.1:
- version "3.5.1"
- resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.5.1.tgz#c72634da072eebd04fe73007fa58a62c333c8147"
- integrity sha512-U7LUjNJPYjNsHvAUAkt/RU3fcTSpbllA0//35B4eLYTX74frmOepbt7F7J3D1IGtj9k21buOpaqtDd4ZlS/BYQ==
- dependencies:
- debug "^4.3.4"
- enhanced-resolve "^5.10.0"
- get-tsconfig "^4.2.0"
- globby "^13.1.2"
- is-core-module "^2.10.0"
- is-glob "^4.0.3"
- synckit "^0.8.3"
-
-eslint-module-utils@^2.7.3:
- version "2.7.3"
- resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz#ad7e3a10552fdd0642e1e55292781bd6e34876ee"
- integrity sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==
- dependencies:
- debug "^3.2.7"
- find-up "^2.1.0"
-
-eslint-plugin-import@^2.26.0:
- version "2.26.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz#f812dc47be4f2b72b478a021605a59fc6fe8b88b"
- integrity sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==
- dependencies:
- array-includes "^3.1.4"
- array.prototype.flat "^1.2.5"
- debug "^2.6.9"
- doctrine "^2.1.0"
- eslint-import-resolver-node "^0.3.6"
- eslint-module-utils "^2.7.3"
- has "^1.0.3"
- is-core-module "^2.8.1"
- is-glob "^4.0.3"
- minimatch "^3.1.2"
- object.values "^1.1.5"
- resolve "^1.22.0"
- tsconfig-paths "^3.14.1"
-
-eslint-plugin-jsx-a11y@^6.5.1:
- version "6.6.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.0.tgz#2c5ac12e013eb98337b9aa261c3b355275cc6415"
- integrity sha512-kTeLuIzpNhXL2CwLlc8AHI0aFRwWHcg483yepO9VQiHzM9bZwJdzTkzBszbuPrbgGmq2rlX/FaT2fJQsjUSHsw==
- dependencies:
- "@babel/runtime" "^7.18.3"
- aria-query "^4.2.2"
- array-includes "^3.1.5"
- ast-types-flow "^0.0.7"
- axe-core "^4.4.2"
- axobject-query "^2.2.0"
- damerau-levenshtein "^1.0.8"
- emoji-regex "^9.2.2"
- has "^1.0.3"
- jsx-ast-utils "^3.3.1"
- language-tags "^1.0.5"
- minimatch "^3.1.2"
- semver "^6.3.0"
-
-eslint-plugin-react-hooks@^4.5.0, eslint-plugin-react-hooks@^4.6.0:
- version "4.6.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3"
- integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==
-
-eslint-plugin-react@^7.31.10, eslint-plugin-react@^7.31.7:
- version "7.31.10"
- resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.31.10.tgz#6782c2c7fe91c09e715d536067644bbb9491419a"
- integrity sha512-e4N/nc6AAlg4UKW/mXeYWd3R++qUano5/o+t+wnWxIf+bLsOaH3a4q74kX3nDjYym3VBN4HyO9nEn1GcAqgQOA==
- dependencies:
- array-includes "^3.1.5"
- array.prototype.flatmap "^1.3.0"
- doctrine "^2.1.0"
- estraverse "^5.3.0"
- jsx-ast-utils "^2.4.1 || ^3.0.0"
- minimatch "^3.1.2"
- object.entries "^1.1.5"
- object.fromentries "^2.0.5"
- object.hasown "^1.1.1"
- object.values "^1.1.5"
- prop-types "^15.8.1"
- resolve "^2.0.0-next.3"
- semver "^6.3.0"
- string.prototype.matchall "^4.0.7"
-
-eslint-plugin-tailwindcss@^3.6.2:
- version "3.6.2"
- resolved "https://registry.yarnpkg.com/eslint-plugin-tailwindcss/-/eslint-plugin-tailwindcss-3.6.2.tgz#56ce5722b2972ed45cb4c0bc7062d37b0cfd4995"
- integrity sha512-C9Ka3w6W9F5l/3ZDLnkdbqmeujc1vE+p5drjP1Z1UyxgoE1Nh4/f8oQ4XC45PrZsS0Nyv0YKXNH8/dn/FJZKsQ==
- dependencies:
- fast-glob "^3.2.5"
- postcss "^8.4.4"
- tailwindcss "^3.1.3"
-
-eslint-plugin-unused-imports@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-unused-imports/-/eslint-plugin-unused-imports-2.0.0.tgz#d8db8c4d0cfa0637a8b51ce3fd7d1b6bc3f08520"
- integrity sha512-3APeS/tQlTrFa167ThtP0Zm0vctjr4M44HMpeg1P4bK6wItarumq0Ma82xorMKdFsWpphQBlRPzw/pxiVELX1A==
- dependencies:
- eslint-rule-composer "^0.3.0"
-
-eslint-rule-composer@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz#79320c927b0c5c0d3d3d2b76c8b4a488f25bbaf9"
- integrity sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==
-
-eslint-scope@^5.1.1:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
- integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
- dependencies:
- esrecurse "^4.3.0"
- estraverse "^4.1.1"
-
-eslint-scope@^7.1.1:
- version "7.1.1"
- resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642"
- integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==
- dependencies:
- esrecurse "^4.3.0"
- estraverse "^5.2.0"
-
-eslint-utils@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672"
- integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==
- dependencies:
- eslint-visitor-keys "^2.0.0"
-
-eslint-visitor-keys@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303"
- integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==
-
-eslint-visitor-keys@^3.3.0:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826"
- integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==
-
-eslint@^8.25.0:
- version "8.25.0"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.25.0.tgz#00eb962f50962165d0c4ee3327708315eaa8058b"
- integrity sha512-DVlJOZ4Pn50zcKW5bYH7GQK/9MsoQG2d5eDH0ebEkE8PbgzTTmtt/VTH9GGJ4BfeZCpBLqFfvsjX35UacUL83A==
- dependencies:
- "@eslint/eslintrc" "^1.3.3"
- "@humanwhocodes/config-array" "^0.10.5"
- "@humanwhocodes/module-importer" "^1.0.1"
- ajv "^6.10.0"
- chalk "^4.0.0"
- cross-spawn "^7.0.2"
- debug "^4.3.2"
- doctrine "^3.0.0"
- escape-string-regexp "^4.0.0"
- eslint-scope "^7.1.1"
- eslint-utils "^3.0.0"
- eslint-visitor-keys "^3.3.0"
- espree "^9.4.0"
- esquery "^1.4.0"
- esutils "^2.0.2"
- fast-deep-equal "^3.1.3"
- file-entry-cache "^6.0.1"
- find-up "^5.0.0"
- glob-parent "^6.0.1"
- globals "^13.15.0"
- globby "^11.1.0"
- grapheme-splitter "^1.0.4"
- ignore "^5.2.0"
- import-fresh "^3.0.0"
- imurmurhash "^0.1.4"
- is-glob "^4.0.0"
- js-sdsl "^4.1.4"
- js-yaml "^4.1.0"
- json-stable-stringify-without-jsonify "^1.0.1"
- levn "^0.4.1"
- lodash.merge "^4.6.2"
- minimatch "^3.1.2"
- natural-compare "^1.4.0"
- optionator "^0.9.1"
- regexpp "^3.2.0"
- strip-ansi "^6.0.1"
- strip-json-comments "^3.1.0"
- text-table "^0.2.0"
-
-espree@^9.4.0:
- version "9.4.0"
- resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.0.tgz#cd4bc3d6e9336c433265fc0aa016fc1aaf182f8a"
- integrity sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==
- dependencies:
- acorn "^8.8.0"
- acorn-jsx "^5.3.2"
- eslint-visitor-keys "^3.3.0"
-
-esprima@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
- integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
-
-esquery@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5"
- integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==
- dependencies:
- estraverse "^5.1.0"
-
-esrecurse@^4.3.0:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
- integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
- dependencies:
- estraverse "^5.2.0"
-
-estraverse@^4.1.1:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
- integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
-
-estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0:
- version "5.3.0"
- resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
- integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
-
-estree-util-attach-comments@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/estree-util-attach-comments/-/estree-util-attach-comments-2.0.1.tgz#57dd0ae170ce2a6d9170ad69e6a45c87bcb52d81"
- integrity sha512-1wTBNndwMIsnvnuxjFIaYQz0M7PsCvcgP0YD7/dU8xWh1FuHk+O6pYpT4sLa5THY/CywJvdIdgw4uhozujga/g==
- dependencies:
- "@types/estree" "^0.0.51"
-
-estree-util-build-jsx@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/estree-util-build-jsx/-/estree-util-build-jsx-2.1.0.tgz#629aa81fbb1b16ed628c7a9334d37bc8a2a3726f"
- integrity sha512-gsBGfsY6LOJUIDwmMkTOcgCX+3r/LUjRBccgHMSW55PHjhZsV13RmPl/iwpAvW8KcQqoN9P0FEFWTSS2Zc5bGA==
- dependencies:
- "@types/estree-jsx" "^0.0.1"
- estree-util-is-identifier-name "^2.0.0"
- estree-walker "^3.0.0"
-
-estree-util-is-identifier-name@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/estree-util-is-identifier-name/-/estree-util-is-identifier-name-2.0.1.tgz#cf07867f42705892718d9d89eb2d85eaa8f0fcb5"
- integrity sha512-rxZj1GkQhY4x1j/CSnybK9cGuMFQYFPLq0iNyopqf14aOVLFtMv7Esika+ObJWPWiOHuMOAHz3YkWoLYYRnzWQ==
-
-estree-util-visit@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/estree-util-visit/-/estree-util-visit-1.1.0.tgz#c0ea7942c40ac7889a77b57a11e92f987744bc6f"
- integrity sha512-3lXJ4Us9j8TUif9cWcQy81t9p5OLasnDuuhrFiqb+XstmKC1d1LmrQWYsY49/9URcfHE64mPypDBaNK9NwWDPQ==
- dependencies:
- "@types/estree-jsx" "^0.0.1"
- "@types/unist" "^2.0.0"
-
-estree-walker@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700"
- integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==
-
-estree-walker@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-3.0.1.tgz#c2a9fb4a30232f5039b7c030b37ead691932debd"
- integrity sha512-woY0RUD87WzMBUiZLx8NsYr23N5BKsOMZHhu2hoNRVh6NXGfoiT1KOL8G3UHlJAnEDGmfa5ubNA/AacfG+Kb0g==
-
-esutils@^2.0.2:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
- integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
-
-eth-block-tracker@4.4.3:
- version "4.4.3"
- resolved "https://registry.yarnpkg.com/eth-block-tracker/-/eth-block-tracker-4.4.3.tgz#766a0a0eb4a52c867a28328e9ae21353812cf626"
- integrity sha512-A8tG4Z4iNg4mw5tP1Vung9N9IjgMNqpiMoJ/FouSFwNCGHv2X0mmOYwtQOJzki6XN7r7Tyo01S29p7b224I4jw==
- dependencies:
- "@babel/plugin-transform-runtime" "^7.5.5"
- "@babel/runtime" "^7.5.5"
- eth-query "^2.1.0"
- json-rpc-random-id "^1.0.1"
- pify "^3.0.0"
- safe-event-emitter "^1.0.1"
-
-eth-json-rpc-filters@4.2.2:
- version "4.2.2"
- resolved "https://registry.yarnpkg.com/eth-json-rpc-filters/-/eth-json-rpc-filters-4.2.2.tgz#eb35e1dfe9357ace8a8908e7daee80b2cd60a10d"
- integrity sha512-DGtqpLU7bBg63wPMWg1sCpkKCf57dJ+hj/k3zF26anXMzkmtSBDExL8IhUu7LUd34f0Zsce3PYNO2vV2GaTzaw==
- dependencies:
- "@metamask/safe-event-emitter" "^2.0.0"
- async-mutex "^0.2.6"
- eth-json-rpc-middleware "^6.0.0"
- eth-query "^2.1.2"
- json-rpc-engine "^6.1.0"
- pify "^5.0.0"
-
-eth-json-rpc-middleware@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/eth-json-rpc-middleware/-/eth-json-rpc-middleware-6.0.0.tgz#4fe16928b34231a2537856f08a5ebbc3d0c31175"
- integrity sha512-qqBfLU2Uq1Ou15Wox1s+NX05S9OcAEL4JZ04VZox2NS0U+RtCMjSxzXhLFWekdShUPZ+P8ax3zCO2xcPrp6XJQ==
- dependencies:
- btoa "^1.2.1"
- clone "^2.1.1"
- eth-query "^2.1.2"
- eth-rpc-errors "^3.0.0"
- eth-sig-util "^1.4.2"
- ethereumjs-util "^5.1.2"
- json-rpc-engine "^5.3.0"
- json-stable-stringify "^1.0.1"
- node-fetch "^2.6.1"
- pify "^3.0.0"
- safe-event-emitter "^1.0.1"
-
-eth-query@^2.1.0, eth-query@^2.1.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/eth-query/-/eth-query-2.1.2.tgz#d6741d9000106b51510c72db92d6365456a6da5e"
- integrity sha512-srES0ZcvwkR/wd5OQBRA1bIJMww1skfGS0s8wlwK3/oNP4+wnds60krvu5R1QbpRQjMmpG5OMIWro5s7gvDPsA==
- dependencies:
- json-rpc-random-id "^1.0.0"
- xtend "^4.0.1"
-
-eth-rpc-errors@4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/eth-rpc-errors/-/eth-rpc-errors-4.0.2.tgz#11bc164e25237a679061ac05b7da7537b673d3b7"
- integrity sha512-n+Re6Gu8XGyfFy1it0AwbD1x0MUzspQs0D5UiPs1fFPCr6WAwZM+vbIhXheBFrpgosqN9bs5PqlB4Q61U/QytQ==
- dependencies:
- fast-safe-stringify "^2.0.6"
-
-eth-rpc-errors@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/eth-rpc-errors/-/eth-rpc-errors-3.0.0.tgz#d7b22653c70dbf9defd4ef490fd08fe70608ca10"
- integrity sha512-iPPNHPrLwUlR9xCSYm7HHQjWBasor3+KZfRvwEWxMz3ca0yqnlBeJrnyphkGIXZ4J7AMAaOLmwy4AWhnxOiLxg==
- dependencies:
- fast-safe-stringify "^2.0.6"
-
-eth-rpc-errors@^4.0.2:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/eth-rpc-errors/-/eth-rpc-errors-4.0.3.tgz#6ddb6190a4bf360afda82790bb7d9d5e724f423a"
- integrity sha512-Z3ymjopaoft7JDoxZcEb3pwdGh7yiYMhOwm2doUt6ASXlMavpNlK6Cre0+IMl2VSGyEU9rkiperQhp5iRxn5Pg==
- dependencies:
- fast-safe-stringify "^2.0.6"
-
-eth-sig-util@^1.4.2:
- version "1.4.2"
- resolved "https://registry.yarnpkg.com/eth-sig-util/-/eth-sig-util-1.4.2.tgz#8d958202c7edbaae839707fba6f09ff327606210"
- integrity sha512-iNZ576iTOGcfllftB73cPB5AN+XUQAT/T8xzsILsghXC1o8gJUqe3RHlcDqagu+biFpYQ61KQrZZJza8eRSYqw==
- dependencies:
- ethereumjs-abi "git+https://github.com/ethereumjs/ethereumjs-abi.git"
- ethereumjs-util "^5.1.1"
-
-ethcall@^4.8.2:
- version "4.8.5"
- resolved "https://registry.yarnpkg.com/ethcall/-/ethcall-4.8.5.tgz#4f4a4561ce420549093b323b02d993009b3fb22b"
- integrity sha512-JMLpNY12ZcE0ctN32gU5Zuzvt5j7aK1qiPIdu5tCe9XKtmojs47gaSLaCFTFLlbs9yv/7L5c5rBnHbTPyWnISg==
- dependencies:
- "@ethersproject/abi" "^5.0.0"
- "@ethersproject/bytes" "^5.0.0"
- "@ethersproject/contracts" "^5.0.0"
- "@ethersproject/providers" "^5.0.0"
- "@types/node" "^18.6.3"
- abi-coder "^4.0.0"
-
-ethereum-cryptography@^0.1.3:
- version "0.1.3"
- resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz#8d6143cfc3d74bf79bbd8edecdf29e4ae20dd191"
- integrity sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==
- dependencies:
- "@types/pbkdf2" "^3.0.0"
- "@types/secp256k1" "^4.0.1"
- blakejs "^1.1.0"
- browserify-aes "^1.2.0"
- bs58check "^2.1.2"
- create-hash "^1.2.0"
- create-hmac "^1.1.7"
- hash.js "^1.1.7"
- keccak "^3.0.0"
- pbkdf2 "^3.0.17"
- randombytes "^2.1.0"
- safe-buffer "^5.1.2"
- scrypt-js "^3.0.0"
- secp256k1 "^4.0.1"
- setimmediate "^1.0.5"
-
-"ethereumjs-abi@git+https://github.com/ethereumjs/ethereumjs-abi.git":
- version "0.6.8"
- resolved "git+https://github.com/ethereumjs/ethereumjs-abi.git#ee3994657fa7a427238e6ba92a84d0b529bbcde0"
- dependencies:
- bn.js "^4.11.8"
- ethereumjs-util "^6.0.0"
-
-ethereumjs-util@^5.1.1, ethereumjs-util@^5.1.2:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz#a833f0e5fca7e5b361384dc76301a721f537bf65"
- integrity sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==
- dependencies:
- bn.js "^4.11.0"
- create-hash "^1.1.2"
- elliptic "^6.5.2"
- ethereum-cryptography "^0.1.3"
- ethjs-util "^0.1.3"
- rlp "^2.0.0"
- safe-buffer "^5.1.1"
-
-ethereumjs-util@^6.0.0:
- version "6.2.1"
- resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz#fcb4e4dd5ceacb9d2305426ab1a5cd93e3163b69"
- integrity sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==
- dependencies:
- "@types/bn.js" "^4.11.3"
- bn.js "^4.11.0"
- create-hash "^1.1.2"
- elliptic "^6.5.2"
- ethereum-cryptography "^0.1.3"
- ethjs-util "0.1.6"
- rlp "^2.2.3"
-
-ethers@^5.6.8, ethers@^5.6.9:
- version "5.6.9"
- resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.6.9.tgz#4e12f8dfcb67b88ae7a78a9519b384c23c576a4d"
- integrity sha512-lMGC2zv9HC5EC+8r429WaWu3uWJUCgUCt8xxKCFqkrFuBDZXDYIdzDUECxzjf2BMF8IVBByY1EBoGSL3RTm8RA==
- dependencies:
- "@ethersproject/abi" "5.6.4"
- "@ethersproject/abstract-provider" "5.6.1"
- "@ethersproject/abstract-signer" "5.6.2"
- "@ethersproject/address" "5.6.1"
- "@ethersproject/base64" "5.6.1"
- "@ethersproject/basex" "5.6.1"
- "@ethersproject/bignumber" "5.6.2"
- "@ethersproject/bytes" "5.6.1"
- "@ethersproject/constants" "5.6.1"
- "@ethersproject/contracts" "5.6.2"
- "@ethersproject/hash" "5.6.1"
- "@ethersproject/hdnode" "5.6.2"
- "@ethersproject/json-wallets" "5.6.1"
- "@ethersproject/keccak256" "5.6.1"
- "@ethersproject/logger" "5.6.0"
- "@ethersproject/networks" "5.6.4"
- "@ethersproject/pbkdf2" "5.6.1"
- "@ethersproject/properties" "5.6.0"
- "@ethersproject/providers" "5.6.8"
- "@ethersproject/random" "5.6.1"
- "@ethersproject/rlp" "5.6.1"
- "@ethersproject/sha2" "5.6.1"
- "@ethersproject/signing-key" "5.6.2"
- "@ethersproject/solidity" "5.6.1"
- "@ethersproject/strings" "5.6.1"
- "@ethersproject/transactions" "5.6.2"
- "@ethersproject/units" "5.6.1"
- "@ethersproject/wallet" "5.6.2"
- "@ethersproject/web" "5.6.1"
- "@ethersproject/wordlists" "5.6.1"
-
-ethers@^5.7.1:
- version "5.7.1"
- resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.1.tgz#48c83a44900b5f006eb2f65d3ba6277047fd4f33"
- integrity sha512-5krze4dRLITX7FpU8J4WscXqADiKmyeNlylmmDLbS95DaZpBhDe2YSwRQwKXWNyXcox7a3gBgm/MkGXV1O1S/Q==
- dependencies:
- "@ethersproject/abi" "5.7.0"
- "@ethersproject/abstract-provider" "5.7.0"
- "@ethersproject/abstract-signer" "5.7.0"
- "@ethersproject/address" "5.7.0"
- "@ethersproject/base64" "5.7.0"
- "@ethersproject/basex" "5.7.0"
- "@ethersproject/bignumber" "5.7.0"
- "@ethersproject/bytes" "5.7.0"
- "@ethersproject/constants" "5.7.0"
- "@ethersproject/contracts" "5.7.0"
- "@ethersproject/hash" "5.7.0"
- "@ethersproject/hdnode" "5.7.0"
- "@ethersproject/json-wallets" "5.7.0"
- "@ethersproject/keccak256" "5.7.0"
- "@ethersproject/logger" "5.7.0"
- "@ethersproject/networks" "5.7.1"
- "@ethersproject/pbkdf2" "5.7.0"
- "@ethersproject/properties" "5.7.0"
- "@ethersproject/providers" "5.7.1"
- "@ethersproject/random" "5.7.0"
- "@ethersproject/rlp" "5.7.0"
- "@ethersproject/sha2" "5.7.0"
- "@ethersproject/signing-key" "5.7.0"
- "@ethersproject/solidity" "5.7.0"
- "@ethersproject/strings" "5.7.0"
- "@ethersproject/transactions" "5.7.0"
- "@ethersproject/units" "5.7.0"
- "@ethersproject/wallet" "5.7.0"
- "@ethersproject/web" "5.7.1"
- "@ethersproject/wordlists" "5.7.0"
-
-ethjs-util@0.1.6, ethjs-util@^0.1.3:
- version "0.1.6"
- resolved "https://registry.yarnpkg.com/ethjs-util/-/ethjs-util-0.1.6.tgz#f308b62f185f9fe6237132fb2a9818866a5cd536"
- integrity sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==
- dependencies:
- is-hex-prefixed "1.0.0"
- strip-hex-prefix "1.0.0"
-
-eventemitter3@4.0.7, eventemitter3@^4.0.7:
- version "4.0.7"
- resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f"
- integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==
-
-events@^3.0.0, events@^3.3.0:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400"
- integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==
-
-evp_bytestokey@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02"
- integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==
- dependencies:
- md5.js "^1.3.4"
- safe-buffer "^5.1.1"
-
-execa@^0.8.0:
- version "0.8.0"
- resolved "https://registry.yarnpkg.com/execa/-/execa-0.8.0.tgz#d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da"
- integrity sha512-zDWS+Rb1E8BlqqhALSt9kUhss8Qq4nN3iof3gsOdyINksElaPyNBtKUMTR62qhvgVWR0CqCX7sdnKe4MnUbFEA==
- dependencies:
- cross-spawn "^5.0.1"
- get-stream "^3.0.0"
- is-stream "^1.1.0"
- npm-run-path "^2.0.0"
- p-finally "^1.0.0"
- signal-exit "^3.0.0"
- strip-eof "^1.0.0"
-
-expand-template@^2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c"
- integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==
-
-extend-shallow@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
- integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==
- dependencies:
- is-extendable "^0.1.0"
-
-extend@^3.0.0:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
- integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
-
-eyes@^0.1.8:
- version "0.1.8"
- resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0"
- integrity sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==
-
-fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
- integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
-
-fast-glob@^3.2.11, fast-glob@^3.2.5, fast-glob@^3.2.9:
- version "3.2.11"
- resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9"
- integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==
- dependencies:
- "@nodelib/fs.stat" "^2.0.2"
- "@nodelib/fs.walk" "^1.2.3"
- glob-parent "^5.1.2"
- merge2 "^1.3.0"
- micromatch "^4.0.4"
-
-fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
- integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
-
-fast-levenshtein@^2.0.6:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
- integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==
-
-fast-safe-stringify@^2.0.6:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884"
- integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==
-
-fast-stable-stringify@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/fast-stable-stringify/-/fast-stable-stringify-1.0.0.tgz#5c5543462b22aeeefd36d05b34e51c78cb86d313"
- integrity sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag==
-
-fastq@^1.6.0:
- version "1.13.0"
- resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c"
- integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==
- dependencies:
- reusify "^1.0.4"
-
-file-entry-cache@^6.0.1:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027"
- integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==
- dependencies:
- flat-cache "^3.0.4"
-
-file-uri-to-path@1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd"
- integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==
-
-filelist@^1.0.1:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5"
- integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==
- dependencies:
- minimatch "^5.0.1"
-
-fill-range@^7.0.1:
- version "7.0.1"
- resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
- integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
- dependencies:
- to-regex-range "^5.0.1"
-
-find-cache-dir@^3.3.1:
- version "3.3.2"
- resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b"
- integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==
- dependencies:
- commondir "^1.0.1"
- make-dir "^3.0.2"
- pkg-dir "^4.1.0"
-
-find-up@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
- integrity sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==
- dependencies:
- locate-path "^2.0.0"
-
-find-up@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
- integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==
- dependencies:
- locate-path "^3.0.0"
-
-find-up@^4.0.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
- integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
- dependencies:
- locate-path "^5.0.0"
- path-exists "^4.0.0"
-
-find-up@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"
- integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
- dependencies:
- locate-path "^6.0.0"
- path-exists "^4.0.0"
-
-flat-cache@^3.0.4:
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11"
- integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==
- dependencies:
- flatted "^3.1.0"
- rimraf "^3.0.2"
-
-flatted@^3.1.0:
- version "3.2.6"
- resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.6.tgz#022e9218c637f9f3fc9c35ab9c9193f05add60b2"
- integrity sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ==
-
-flexsearch@^0.7.21:
- version "0.7.21"
- resolved "https://registry.yarnpkg.com/flexsearch/-/flexsearch-0.7.21.tgz#0f5ede3f2aae67ddc351efbe3b24b69d29e9d48b"
- integrity sha512-W7cHV7Hrwjid6lWmy0IhsWDFQboWSng25U3VVywpHOTJnnAZNPScog67G+cVpeX9f7yDD21ih0WDrMMT+JoaYg==
-
-focus-visible@^5.1.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/focus-visible/-/focus-visible-5.2.0.tgz#3a9e41fccf587bd25dcc2ef045508284f0a4d6b3"
- integrity sha512-Rwix9pBtC1Nuy5wysTmKy+UjbDJpIfg8eHjw0rjZ1mX4GNLz1Bmd16uDpI3Gk1i70Fgcs8Csg2lPm8HULFg9DQ==
-
-follow-redirects@^1.14.0:
- version "1.15.1"
- resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.1.tgz#0ca6a452306c9b276e4d3127483e29575e207ad5"
- integrity sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==
-
-for-each@^0.3.3:
- version "0.3.3"
- resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e"
- integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==
- dependencies:
- is-callable "^1.1.3"
-
-fraction.js@^4.2.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950"
- integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==
-
-framer-motion@^7.1.1:
- version "7.6.1"
- resolved "https://registry.yarnpkg.com/framer-motion/-/framer-motion-7.6.1.tgz#45356eb5519275bce42121a3b3849a6243d45a22"
- integrity sha512-8US03IWJKrLoSb81l5OahNzB9Sv7Jo1RhIwUoTG/25BRUdO9lOqq/klsdZqNmNG0ua9IEJJQ8hkYpETJ4N6VSw==
- dependencies:
- "@motionone/dom" "10.13.1"
- framesync "6.1.2"
- hey-listen "^1.0.8"
- popmotion "11.0.5"
- style-value-types "5.1.2"
- tslib "2.4.0"
- optionalDependencies:
- "@emotion/is-prop-valid" "^0.8.2"
-
-framesync@6.1.2:
- version "6.1.2"
- resolved "https://registry.yarnpkg.com/framesync/-/framesync-6.1.2.tgz#755eff2fb5b8f3b4d2b266dd18121b300aefea27"
- integrity sha512-jBTqhX6KaQVDyus8muwZbBeGGP0XgujBRbQ7gM7BRdS3CadCZIHiawyzYLnafYcvZIh5j8WE7cxZKFn7dXhu9g==
- dependencies:
- tslib "2.4.0"
-
-fs-constants@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad"
- integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==
-
-fs-extra@^9.0.1:
- version "9.1.0"
- resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d"
- integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==
- dependencies:
- at-least-node "^1.0.0"
- graceful-fs "^4.2.0"
- jsonfile "^6.0.1"
- universalify "^2.0.0"
-
-fs.realpath@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
- integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
-
-fsevents@~2.3.2:
- version "2.3.2"
- resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
- integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
-
-function-bind@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
- integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
-
-function.prototype.name@^1.1.5:
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621"
- integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.3"
- es-abstract "^1.19.0"
- functions-have-names "^1.2.2"
-
-functions-have-names@^1.2.2:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834"
- integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==
-
-gensync@^1.0.0-beta.2:
- version "1.0.0-beta.2"
- resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
- integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
-
-get-caller-file@^2.0.1:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
- integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
-
-get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.2.tgz#336975123e05ad0b7ba41f152ee4aadbea6cf598"
- integrity sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==
- dependencies:
- function-bind "^1.1.1"
- has "^1.0.3"
- has-symbols "^1.0.3"
-
-get-own-enumerable-property-symbols@^3.0.0:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664"
- integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==
-
-get-stream@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
- integrity sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==
-
-get-symbol-description@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6"
- integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==
- dependencies:
- call-bind "^1.0.2"
- get-intrinsic "^1.1.1"
-
-get-tsconfig@^4.2.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.2.0.tgz#ff368dd7104dab47bf923404eb93838245c66543"
- integrity sha512-X8u8fREiYOE6S8hLbq99PeykTDoLVnxvF4DjWKJmz9xy2nNRdUcV8ZN9tniJFeKyTU3qnC9lL8n4Chd6LmVKHg==
-
-github-from-package@0.0.0:
- version "0.0.0"
- resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce"
- integrity sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==
-
-github-slugger@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.4.0.tgz#206eb96cdb22ee56fdc53a28d5a302338463444e"
- integrity sha512-w0dzqw/nt51xMVmlaV1+JRzN+oCa1KfcgGEWhxUG16wbdA+Xnt/yoFO8Z8x/V82ZcZ0wy6ln9QDup5avbhiDhQ==
-
-glob-parent@^5.1.2, glob-parent@~5.1.2:
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
- integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
- dependencies:
- is-glob "^4.0.1"
-
-glob-parent@^6.0.1, glob-parent@^6.0.2:
- version "6.0.2"
- resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3"
- integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
- dependencies:
- is-glob "^4.0.3"
-
-glob@7.1.7:
- version "7.1.7"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90"
- integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==
- dependencies:
- fs.realpath "^1.0.0"
- inflight "^1.0.4"
- inherits "2"
- minimatch "^3.0.4"
- once "^1.3.0"
- path-is-absolute "^1.0.0"
-
-glob@^7.0.3, glob@^7.1.3, glob@^7.1.6, glob@^7.2.0:
- version "7.2.3"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
- integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
- dependencies:
- fs.realpath "^1.0.0"
- inflight "^1.0.4"
- inherits "2"
- minimatch "^3.1.1"
- once "^1.3.0"
- path-is-absolute "^1.0.0"
-
-globals@^11.1.0:
- version "11.12.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
- integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
-
-globals@^13.15.0:
- version "13.16.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-13.16.0.tgz#9be4aca28f311aaeb974ea54978ebbb5e35ce46a"
- integrity sha512-A1lrQfpNF+McdPOnnFqY3kSN0AFTy485bTi1bkLk4mVPODIUEcSfhHgRqA+QdXPksrSTTztYXx37NFV+GpGk3Q==
- dependencies:
- type-fest "^0.20.2"
-
-globalyzer@0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/globalyzer/-/globalyzer-0.1.0.tgz#cb76da79555669a1519d5a8edf093afaa0bf1465"
- integrity sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==
-
-globby@^11.0.4, globby@^11.1.0:
- version "11.1.0"
- resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b"
- integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==
- dependencies:
- array-union "^2.1.0"
- dir-glob "^3.0.1"
- fast-glob "^3.2.9"
- ignore "^5.2.0"
- merge2 "^1.4.1"
- slash "^3.0.0"
-
-globby@^13.1.2:
- version "13.1.2"
- resolved "https://registry.yarnpkg.com/globby/-/globby-13.1.2.tgz#29047105582427ab6eca4f905200667b056da515"
- integrity sha512-LKSDZXToac40u8Q1PQtZihbNdTYSNMuWe+K5l+oa6KgDzSvVrHXlJy40hUP522RjAIoNLJYBJi7ow+rbFpIhHQ==
- dependencies:
- dir-glob "^3.0.1"
- fast-glob "^3.2.11"
- ignore "^5.2.0"
- merge2 "^1.4.1"
- slash "^4.0.0"
-
-globby@^6.1.0:
- version "6.1.0"
- resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c"
- integrity sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==
- dependencies:
- array-union "^1.0.1"
- glob "^7.0.3"
- object-assign "^4.0.1"
- pify "^2.0.0"
- pinkie-promise "^2.0.0"
-
-globrex@^0.1.2:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/globrex/-/globrex-0.1.2.tgz#dd5d9ec826232730cd6793a5e33a9302985e6098"
- integrity sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==
-
-goober@^2.1.10:
- version "2.1.11"
- resolved "https://registry.yarnpkg.com/goober/-/goober-2.1.11.tgz#bbd71f90d2df725397340f808dbe7acc3118e610"
- integrity sha512-5SS2lmxbhqH0u9ABEWq7WPU69a4i2pYcHeCxqaNq6Cw3mnrF0ghWNM4tEGid4dKy8XNIAUbuThuozDHHKJVh3A==
-
-graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6:
- version "4.2.10"
- resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c"
- integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==
-
-grapheme-splitter@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e"
- integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==
-
-gray-matter@^4.0.3:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-4.0.3.tgz#e893c064825de73ea1f5f7d88c7a9f7274288798"
- integrity sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==
- dependencies:
- js-yaml "^3.13.1"
- kind-of "^6.0.2"
- section-matter "^1.0.0"
- strip-bom-string "^1.0.0"
-
-gzip-size@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462"
- integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==
- dependencies:
- duplexer "^0.1.2"
-
-has-bigints@^1.0.1, has-bigints@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa"
- integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==
-
-has-flag@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51"
- integrity sha512-P+1n3MnwjR/Epg9BBo1KT8qbye2g2Ou4sFumihwt6I4tsUX7jnLcX4BTOSKg/B1ZrIYMN9FcEnG4x5a7NB8Eng==
-
-has-flag@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
- integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==
-
-has-flag@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
- integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
-
-has-property-descriptors@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861"
- integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==
- dependencies:
- get-intrinsic "^1.1.1"
-
-has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8"
- integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
-
-has-tostringtag@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25"
- integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==
- dependencies:
- has-symbols "^1.0.2"
-
-has@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
- integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
- dependencies:
- function-bind "^1.1.1"
-
-hash-base@^3.0.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33"
- integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==
- dependencies:
- inherits "^2.0.4"
- readable-stream "^3.6.0"
- safe-buffer "^5.2.0"
-
-hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7:
- version "1.1.7"
- resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42"
- integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==
- dependencies:
- inherits "^2.0.3"
- minimalistic-assert "^1.0.1"
-
-hast-util-to-estree@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/hast-util-to-estree/-/hast-util-to-estree-2.0.2.tgz#79c5bf588915610b3f0d47ca83a74dc0269c7dc2"
- integrity sha512-UQrZVeBj6A9od0lpFvqHKNSH9zvDrNoyWKbveu1a2oSCXEDUI+3bnd6BoiQLPnLrcXXn/jzJ6y9hmJTTlvf8lQ==
- dependencies:
- "@types/estree-jsx" "^0.0.1"
- "@types/hast" "^2.0.0"
- "@types/unist" "^2.0.0"
- comma-separated-tokens "^2.0.0"
- estree-util-attach-comments "^2.0.0"
- estree-util-is-identifier-name "^2.0.0"
- hast-util-whitespace "^2.0.0"
- mdast-util-mdx-expression "^1.0.0"
- mdast-util-mdxjs-esm "^1.0.0"
- property-information "^6.0.0"
- space-separated-tokens "^2.0.0"
- style-to-object "^0.3.0"
- unist-util-position "^4.0.0"
- zwitch "^2.0.0"
-
-hast-util-whitespace@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-2.0.0.tgz#4fc1086467cc1ef5ba20673cb6b03cec3a970f1c"
- integrity sha512-Pkw+xBHuV6xFeJprJe2BBEoDV+AvQySaz3pPDRUs5PNZEMQjpXJJueqrpcHIXxnWTcAGi/UOCgVShlkY6kLoqg==
-
-hey-listen@^1.0.8:
- version "1.0.8"
- resolved "https://registry.yarnpkg.com/hey-listen/-/hey-listen-1.0.8.tgz#8e59561ff724908de1aa924ed6ecc84a56a9aa68"
- integrity sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==
-
-hmac-drbg@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
- integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==
- dependencies:
- hash.js "^1.0.3"
- minimalistic-assert "^1.0.0"
- minimalistic-crypto-utils "^1.0.1"
-
-idb@^7.0.1:
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/idb/-/idb-7.1.0.tgz#2cc886be57738419e57f9aab58f647e5e2160270"
- integrity sha512-Wsk07aAxDsntgYJY4h0knZJuTxM73eQ4reRAO+Z1liOh8eMCJ/MoDS8fCui1vGT9mnjtl1sOu3I2i/W1swPYZg==
-
-ieee754@^1.1.13, ieee754@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
- integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
-
-ignore@^5.2.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a"
- integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==
-
-immutable@^4.0.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.1.0.tgz#f795787f0db780183307b9eb2091fcac1f6fafef"
- integrity sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==
-
-import-fresh@^3.0.0, import-fresh@^3.2.1:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
- integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
- dependencies:
- parent-module "^1.0.0"
- resolve-from "^4.0.0"
-
-imurmurhash@^0.1.4:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
- integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==
-
-inflight@^1.0.4:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
- integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==
- dependencies:
- once "^1.3.0"
- wrappy "1"
-
-inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.4:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
- integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
-
-ini@~1.3.0:
- version "1.3.8"
- resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c"
- integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
-
-inline-style-parser@0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.1.1.tgz#ec8a3b429274e9c0a1f1c4ffa9453a7fef72cea1"
- integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==
-
-internal-slot@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c"
- integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==
- dependencies:
- get-intrinsic "^1.1.0"
- has "^1.0.3"
- side-channel "^1.0.4"
-
-intersection-observer@^0.12.0:
- version "0.12.2"
- resolved "https://registry.yarnpkg.com/intersection-observer/-/intersection-observer-0.12.2.tgz#4a45349cc0cd91916682b1f44c28d7ec737dc375"
- integrity sha512-7m1vEcPCxXYI8HqnL8CKI6siDyD+eIWSwgB3DZA+ZTogxk9I4CDnj4wilt9x/+/QbHI4YG5YZNmC6458/e9Ktg==
-
-is-alphabetical@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-2.0.1.tgz#01072053ea7c1036df3c7d19a6daaec7f19e789b"
- integrity sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==
-
-is-alphanumerical@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz#7c03fbe96e3e931113e57f964b0a368cc2dfd875"
- integrity sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==
- dependencies:
- is-alphabetical "^2.0.0"
- is-decimal "^2.0.0"
-
-is-arguments@^1.0.4:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b"
- integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==
- dependencies:
- call-bind "^1.0.2"
- has-tostringtag "^1.0.0"
-
-is-arrayish@^0.3.1:
- version "0.3.2"
- resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03"
- integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==
-
-is-bigint@^1.0.1:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3"
- integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==
- dependencies:
- has-bigints "^1.0.1"
-
-is-binary-path@~2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
- integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
- dependencies:
- binary-extensions "^2.0.0"
-
-is-boolean-object@^1.1.0:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719"
- integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==
- dependencies:
- call-bind "^1.0.2"
- has-tostringtag "^1.0.0"
-
-is-buffer@^2.0.0:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191"
- integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==
-
-is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.4:
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945"
- integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==
-
-is-core-module@^2.10.0:
- version "2.10.0"
- resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed"
- integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==
- dependencies:
- has "^1.0.3"
-
-is-core-module@^2.8.1, is-core-module@^2.9.0:
- version "2.9.0"
- resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69"
- integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==
- dependencies:
- has "^1.0.3"
-
-is-date-object@^1.0.1:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f"
- integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==
- dependencies:
- has-tostringtag "^1.0.0"
-
-is-decimal@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-2.0.1.tgz#9469d2dc190d0214fd87d78b78caecc0cc14eef7"
- integrity sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==
-
-is-docker@^2.0.0, is-docker@^2.1.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa"
- integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==
-
-is-extendable@^0.1.0:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
- integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==
-
-is-extglob@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
- integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
-
-is-fullwidth-code-point@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
- integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==
-
-is-generator-function@^1.0.7:
- version "1.0.10"
- resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72"
- integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==
- dependencies:
- has-tostringtag "^1.0.0"
-
-is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
- integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
- dependencies:
- is-extglob "^2.1.1"
-
-is-hex-prefixed@1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz#7d8d37e6ad77e5d127148913c573e082d777f554"
- integrity sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==
-
-is-hexadecimal@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz#86b5bf668fca307498d319dfc03289d781a90027"
- integrity sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==
-
-is-module@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591"
- integrity sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==
-
-is-negative-zero@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150"
- integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==
-
-is-number-object@^1.0.4:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc"
- integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==
- dependencies:
- has-tostringtag "^1.0.0"
-
-is-number@^7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
- integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
-
-is-obj@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
- integrity sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==
-
-is-path-cwd@^2.0.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb"
- integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==
-
-is-path-in-cwd@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz#bfe2dca26c69f397265a4009963602935a053acb"
- integrity sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==
- dependencies:
- is-path-inside "^2.1.0"
-
-is-path-inside@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-2.1.0.tgz#7c9810587d659a40d27bcdb4d5616eab059494b2"
- integrity sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==
- dependencies:
- path-is-inside "^1.0.2"
-
-is-plain-obj@^4.0.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz#d65025edec3657ce032fd7db63c97883eaed71f0"
- integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==
-
-is-reference@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-3.0.0.tgz#b1380c03d96ddf7089709781e3208fceb0c92cd6"
- integrity sha512-Eo1W3wUoHWoCoVM4GVl/a+K0IgiqE5aIo4kJABFyMum1ZORlPkC+UC357sSQUL5w5QCE5kCC9upl75b7+7CY/Q==
- dependencies:
- "@types/estree" "*"
-
-is-regex@^1.1.4:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958"
- integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==
- dependencies:
- call-bind "^1.0.2"
- has-tostringtag "^1.0.0"
-
-is-regexp@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069"
- integrity sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==
-
-is-shared-array-buffer@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79"
- integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==
- dependencies:
- call-bind "^1.0.2"
-
-is-stream@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
- integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==
-
-is-stream@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077"
- integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==
-
-is-string@^1.0.5, is-string@^1.0.7:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd"
- integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==
- dependencies:
- has-tostringtag "^1.0.0"
-
-is-symbol@^1.0.2, is-symbol@^1.0.3:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c"
- integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==
- dependencies:
- has-symbols "^1.0.2"
-
-is-typed-array@^1.1.3, is-typed-array@^1.1.9:
- version "1.1.9"
- resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.9.tgz#246d77d2871e7d9f5aeb1d54b9f52c71329ece67"
- integrity sha512-kfrlnTTn8pZkfpJMUgYD7YZ3qzeJgWUn8XfVYBARc4wnmNOmLbmuuaAs3q5fvB0UJOn6yHAKaGTPM7d6ezoD/A==
- dependencies:
- available-typed-arrays "^1.0.5"
- call-bind "^1.0.2"
- es-abstract "^1.20.0"
- for-each "^0.3.3"
- has-tostringtag "^1.0.0"
-
-is-typedarray@1.0.0, is-typedarray@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
- integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==
-
-is-weakref@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2"
- integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==
- dependencies:
- call-bind "^1.0.2"
-
-is-wsl@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271"
- integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==
- dependencies:
- is-docker "^2.0.0"
-
-isarray@^2.0.1:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723"
- integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==
-
-isexe@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
- integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
-
-isomorphic-ws@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc"
- integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==
-
-jake@^10.8.5:
- version "10.8.5"
- resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.5.tgz#f2183d2c59382cb274226034543b9c03b8164c46"
- integrity sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==
- dependencies:
- async "^3.2.3"
- chalk "^4.0.2"
- filelist "^1.0.1"
- minimatch "^3.0.4"
-
-jayson@^3.4.4:
- version "3.7.0"
- resolved "https://registry.yarnpkg.com/jayson/-/jayson-3.7.0.tgz#b735b12d06d348639ae8230d7a1e2916cb078f25"
- integrity sha512-tfy39KJMrrXJ+mFcMpxwBvFDetS8LAID93+rycFglIQM4kl3uNR3W4lBLE/FFhsoUCEox5Dt2adVpDm/XtebbQ==
- dependencies:
- "@types/connect" "^3.4.33"
- "@types/node" "^12.12.54"
- "@types/ws" "^7.4.4"
- JSONStream "^1.3.5"
- commander "^2.20.3"
- delay "^5.0.0"
- es6-promisify "^5.0.0"
- eyes "^0.1.8"
- isomorphic-ws "^4.0.1"
- json-stringify-safe "^5.0.1"
- lodash "^4.17.20"
- uuid "^8.3.2"
- ws "^7.4.5"
-
-jest-worker@^26.2.1:
- version "26.6.2"
- resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed"
- integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==
- dependencies:
- "@types/node" "*"
- merge-stream "^2.0.0"
- supports-color "^7.0.0"
-
-jest-worker@^27.4.5:
- version "27.5.1"
- resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0"
- integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==
- dependencies:
- "@types/node" "*"
- merge-stream "^2.0.0"
- supports-color "^8.0.0"
-
-js-sdsl@^4.1.4:
- version "4.1.5"
- resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.1.5.tgz#1ff1645e6b4d1b028cd3f862db88c9d887f26e2a"
- integrity sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==
-
-js-sha3@0.8.0, js-sha3@^0.8.0:
- version "0.8.0"
- resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840"
- integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==
-
-"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
- integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
-
-js-yaml@^3.13.1:
- version "3.14.1"
- resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
- integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
- dependencies:
- argparse "^1.0.7"
- esprima "^4.0.0"
-
-js-yaml@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
- integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
- dependencies:
- argparse "^2.0.1"
-
-jsesc@^2.5.1:
- version "2.5.2"
- resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
- integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
-
-jsesc@~0.5.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
- integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==
-
-json-rpc-engine@6.1.0, json-rpc-engine@^6.1.0:
- version "6.1.0"
- resolved "https://registry.yarnpkg.com/json-rpc-engine/-/json-rpc-engine-6.1.0.tgz#bf5ff7d029e1c1bf20cb6c0e9f348dcd8be5a393"
- integrity sha512-NEdLrtrq1jUZyfjkr9OCz9EzCNhnRyWtt1PAnvnhwy6e8XETS0Dtc+ZNCO2gvuAoKsIn2+vCSowXTYE4CkgnAQ==
- dependencies:
- "@metamask/safe-event-emitter" "^2.0.0"
- eth-rpc-errors "^4.0.2"
-
-json-rpc-engine@^5.3.0:
- version "5.4.0"
- resolved "https://registry.yarnpkg.com/json-rpc-engine/-/json-rpc-engine-5.4.0.tgz#75758609d849e1dba1e09021ae473f3ab63161e5"
- integrity sha512-rAffKbPoNDjuRnXkecTjnsE3xLLrb00rEkdgalINhaYVYIxDwWtvYBr9UFbhTvPB1B2qUOLoFd/cV6f4Q7mh7g==
- dependencies:
- eth-rpc-errors "^3.0.0"
- safe-event-emitter "^1.0.1"
-
-json-rpc-random-id@^1.0.0, json-rpc-random-id@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/json-rpc-random-id/-/json-rpc-random-id-1.0.1.tgz#ba49d96aded1444dbb8da3d203748acbbcdec8c8"
- integrity sha512-RJ9YYNCkhVDBuP4zN5BBtYAzEl03yq/jIIsyif0JY9qyJuQQZNeDK7anAPKKlyEtLSj2s8h6hNh2F8zO5q7ScA==
-
-json-schema-traverse@^0.4.1:
- version "0.4.1"
- resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
- integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
-
-json-schema-traverse@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2"
- integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==
-
-json-schema@^0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5"
- integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==
-
-json-stable-stringify-without-jsonify@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
- integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
-
-json-stable-stringify@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af"
- integrity sha512-i/J297TW6xyj7sDFa7AmBPkQvLIxWr2kKPWI26tXydnZrzVAocNqn5DMNT1Mzk0vit1V5UkRM7C1KdVNp7Lmcg==
- dependencies:
- jsonify "~0.0.0"
-
-json-stringify-safe@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
- integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==
-
-json5@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe"
- integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==
- dependencies:
- minimist "^1.2.0"
-
-json5@^2.1.2, json5@^2.2.0, json5@^2.2.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c"
- integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==
-
-jsonc-parser@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.0.0.tgz#abdd785701c7e7eaca8a9ec8cf070ca51a745a22"
- integrity sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==
-
-jsonfile@^6.0.1:
- version "6.1.0"
- resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae"
- integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==
- dependencies:
- universalify "^2.0.0"
- optionalDependencies:
- graceful-fs "^4.1.6"
-
-jsonify@~0.0.0:
- version "0.0.0"
- resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
- integrity sha512-trvBk1ki43VZptdBI5rIlG4YOzyeH/WefQt5rj1grasPn4iiZWKet8nkgc4GlsAylaztn0qZfUYOiTsASJFdNA==
-
-jsonparse@^1.2.0:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280"
- integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==
-
-jsonpointer@^5.0.0:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-5.0.1.tgz#2110e0af0900fd37467b5907ecd13a7884a1b559"
- integrity sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==
-
-"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.1:
- version "3.3.2"
- resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.2.tgz#afe5efe4332cd3515c065072bd4d6b0aa22152bd"
- integrity sha512-4ZCADZHRkno244xlNnn4AOG6sRQ7iBZ5BbgZ4vW4y5IZw7cVUD1PPeblm1xx/nfmMxPdt/LHsXZW8z/j58+l9Q==
- dependencies:
- array-includes "^3.1.5"
- object.assign "^4.1.2"
-
-keccak@^3.0.0, keccak@^3.0.1:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.2.tgz#4c2c6e8c54e04f2670ee49fa734eb9da152206e0"
- integrity sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==
- dependencies:
- node-addon-api "^2.0.0"
- node-gyp-build "^4.2.0"
- readable-stream "^3.6.0"
-
-keyvaluestorage-interface@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/keyvaluestorage-interface/-/keyvaluestorage-interface-1.0.0.tgz#13ebdf71f5284ad54be94bd1ad9ed79adad515ff"
- integrity sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g==
-
-kind-of@^6.0.0, kind-of@^6.0.2:
- version "6.0.3"
- resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
- integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
-
-kleur@^4.0.3:
- version "4.1.5"
- resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780"
- integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==
-
-language-subtag-registry@~0.3.2:
- version "0.3.22"
- resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz#2e1500861b2e457eba7e7ae86877cbd08fa1fd1d"
- integrity sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==
-
-language-tags@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a"
- integrity sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==
- dependencies:
- language-subtag-registry "~0.3.2"
-
-leven@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2"
- integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==
-
-levn@^0.4.1:
- version "0.4.1"
- resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
- integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
- dependencies:
- prelude-ls "^1.2.1"
- type-check "~0.4.0"
-
-lilconfig@^2.0.5:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.5.tgz#19e57fd06ccc3848fd1891655b5a447092225b25"
- integrity sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==
-
-lilconfig@^2.0.6:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.6.tgz#32a384558bd58af3d4c6e077dd1ad1d397bc69d4"
- integrity sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==
-
-loader-utils@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.2.tgz#d6e3b4fb81870721ae4e0868ab11dd638368c129"
- integrity sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==
- dependencies:
- big.js "^5.2.2"
- emojis-list "^3.0.0"
- json5 "^2.1.2"
-
-locate-path@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
- integrity sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==
- dependencies:
- p-locate "^2.0.0"
- path-exists "^3.0.0"
-
-locate-path@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
- integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==
- dependencies:
- p-locate "^3.0.0"
- path-exists "^3.0.0"
-
-locate-path@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
- integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==
- dependencies:
- p-locate "^4.1.0"
-
-locate-path@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
- integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==
- dependencies:
- p-locate "^5.0.0"
-
-lodash.castarray@^4.4.0:
- version "4.4.0"
- resolved "https://registry.yarnpkg.com/lodash.castarray/-/lodash.castarray-4.4.0.tgz#c02513515e309daddd4c24c60cfddcf5976d9115"
- integrity sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==
-
-lodash.debounce@^4.0.8:
- version "4.0.8"
- resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
- integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==
-
-lodash.isplainobject@^4.0.6:
- version "4.0.6"
- resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb"
- integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==
-
-lodash.merge@^4.6.2:
- version "4.6.2"
- resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
- integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
-
-lodash.sortby@^4.7.0:
- version "4.7.0"
- resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
- integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==
-
-lodash@^4.17.20:
- version "4.17.21"
- resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
- integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
-
-longest-streak@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-3.0.1.tgz#c97315b7afa0e7d9525db9a5a2953651432bdc5d"
- integrity sha512-cHlYSUpL2s7Fb3394mYxwTYj8niTaNHUCLr0qdiCXQfSjfuA7CKofpX2uSwEfFDQ0EB7JcnMnm+GjbqqoinYYg==
-
-loose-envify@^1.1.0, loose-envify@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
- integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
- dependencies:
- js-tokens "^3.0.0 || ^4.0.0"
-
-lru-cache@^4.0.1:
- version "4.1.5"
- resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd"
- integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==
- dependencies:
- pseudomap "^1.0.2"
- yallist "^2.1.2"
-
-lru-cache@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
- integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
- dependencies:
- yallist "^4.0.0"
-
-magic-string@^0.25.0, magic-string@^0.25.7:
- version "0.25.9"
- resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c"
- integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==
- dependencies:
- sourcemap-codec "^1.4.8"
-
-make-dir@^3.0.2, make-dir@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f"
- integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==
- dependencies:
- semver "^6.0.0"
-
-markdown-extensions@^1.0.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/markdown-extensions/-/markdown-extensions-1.1.1.tgz#fea03b539faeaee9b4ef02a3769b455b189f7fc3"
- integrity sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==
-
-markdown-table@^3.0.0:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-3.0.2.tgz#9b59eb2c1b22fe71954a65ff512887065a7bb57c"
- integrity sha512-y8j3a5/DkJCmS5x4dMCQL+OR0+2EAq3DOtio1COSHsmW2BGXnNCK3v12hJt1LrUz5iZH5g0LmuYOjDdI+czghA==
-
-match-sorter@^4.2.0:
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/match-sorter/-/match-sorter-4.2.1.tgz#575b4b3737185ba9518b67612b66877ea0b37358"
- integrity sha512-s+3h9TiZU9U1pWhIERHf8/f4LmBN6IXaRgo2CI17+XGByGS1GvG5VvXK9pcGyCjGe3WM3mSYRC3ipGrd5UEVgw==
- dependencies:
- "@babel/runtime" "^7.10.5"
- remove-accents "0.4.2"
-
-md5.js@^1.3.4:
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f"
- integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==
- dependencies:
- hash-base "^3.0.0"
- inherits "^2.0.1"
- safe-buffer "^5.1.2"
-
-mdast-util-definitions@^5.0.0:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-5.1.1.tgz#2c1d684b28e53f84938bb06317944bee8efa79db"
- integrity sha512-rQ+Gv7mHttxHOBx2dkF4HWTg+EE+UR78ptQWDylzPKaQuVGdG4HIoY3SrS/pCp80nZ04greFvXbVFHT+uf0JVQ==
- dependencies:
- "@types/mdast" "^3.0.0"
- "@types/unist" "^2.0.0"
- unist-util-visit "^4.0.0"
-
-mdast-util-find-and-replace@^2.0.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/mdast-util-find-and-replace/-/mdast-util-find-and-replace-2.2.0.tgz#6167edf16c2fd79e7213024544575f304151953f"
- integrity sha512-bz8hUWkMX7UcasORORcyBEsTKJ+dBiFwRPrm43hHC9NMRylIMLbfO5rwfeCN+UtY4AAi7s8WqXftb9eX6ZsqCg==
- dependencies:
- escape-string-regexp "^5.0.0"
- unist-util-is "^5.0.0"
- unist-util-visit-parents "^5.0.0"
-
-mdast-util-from-markdown@^1.0.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-1.2.0.tgz#84df2924ccc6c995dec1e2368b2b208ad0a76268"
- integrity sha512-iZJyyvKD1+K7QX1b5jXdE7Sc5dtoTry1vzV28UZZe8Z1xVnB/czKntJ7ZAkG0tANqRnBF6p3p7GpU1y19DTf2Q==
- dependencies:
- "@types/mdast" "^3.0.0"
- "@types/unist" "^2.0.0"
- decode-named-character-reference "^1.0.0"
- mdast-util-to-string "^3.1.0"
- micromark "^3.0.0"
- micromark-util-decode-numeric-character-reference "^1.0.0"
- micromark-util-decode-string "^1.0.0"
- micromark-util-normalize-identifier "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.0"
- unist-util-stringify-position "^3.0.0"
- uvu "^0.5.0"
-
-mdast-util-gfm-autolink-literal@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-1.0.2.tgz#4032dcbaddaef7d4f2f3768ed830475bb22d3970"
- integrity sha512-FzopkOd4xTTBeGXhXSBU0OCDDh5lUj2rd+HQqG92Ld+jL4lpUfgX2AT2OHAVP9aEeDKp7G92fuooSZcYJA3cRg==
- dependencies:
- "@types/mdast" "^3.0.0"
- ccount "^2.0.0"
- mdast-util-find-and-replace "^2.0.0"
- micromark-util-character "^1.0.0"
-
-mdast-util-gfm-footnote@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.1.tgz#11d2d40a1a673a399c459e467fa85e00223191fe"
- integrity sha512-p+PrYlkw9DeCRkTVw1duWqPRHX6Ywh2BNKJQcZbCwAuP/59B0Lk9kakuAd7KbQprVO4GzdW8eS5++A9PUSqIyw==
- dependencies:
- "@types/mdast" "^3.0.0"
- mdast-util-to-markdown "^1.3.0"
- micromark-util-normalize-identifier "^1.0.0"
-
-mdast-util-gfm-strikethrough@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-1.0.1.tgz#a4a74c36864ec6a6e3bbd31e1977f29beb475789"
- integrity sha512-zKJbEPe+JP6EUv0mZ0tQUyLQOC+FADt0bARldONot/nefuISkaZFlmVK4tU6JgfyZGrky02m/I6PmehgAgZgqg==
- dependencies:
- "@types/mdast" "^3.0.0"
- mdast-util-to-markdown "^1.3.0"
-
-mdast-util-gfm-table@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/mdast-util-gfm-table/-/mdast-util-gfm-table-1.0.4.tgz#0dbb25f04fd9c0877dc63b76203ecbdf5d945755"
- integrity sha512-aEuoPwZyP4iIMkf2cLWXxx3EQ6Bmh2yKy9MVCg4i6Sd3cX80dcLEfXO/V4ul3pGH9czBK4kp+FAl+ZHmSUt9/w==
- dependencies:
- markdown-table "^3.0.0"
- mdast-util-from-markdown "^1.0.0"
- mdast-util-to-markdown "^1.3.0"
-
-mdast-util-gfm-task-list-item@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-1.0.1.tgz#6f35f09c6e2bcbe88af62fdea02ac199cc802c5c"
- integrity sha512-KZ4KLmPdABXOsfnM6JHUIjxEvcx2ulk656Z/4Balw071/5qgnhz+H1uGtf2zIGnrnvDC8xR4Fj9uKbjAFGNIeA==
- dependencies:
- "@types/mdast" "^3.0.0"
- mdast-util-to-markdown "^1.3.0"
-
-mdast-util-gfm@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/mdast-util-gfm/-/mdast-util-gfm-2.0.1.tgz#16fcf70110ae689a06d77e8f4e346223b64a0ea6"
- integrity sha512-42yHBbfWIFisaAfV1eixlabbsa6q7vHeSPY+cg+BBjX51M8xhgMacqH9g6TftB/9+YkcI0ooV4ncfrJslzm/RQ==
- dependencies:
- mdast-util-from-markdown "^1.0.0"
- mdast-util-gfm-autolink-literal "^1.0.0"
- mdast-util-gfm-footnote "^1.0.0"
- mdast-util-gfm-strikethrough "^1.0.0"
- mdast-util-gfm-table "^1.0.0"
- mdast-util-gfm-task-list-item "^1.0.0"
- mdast-util-to-markdown "^1.0.0"
-
-mdast-util-mdx-expression@^1.0.0:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/mdast-util-mdx-expression/-/mdast-util-mdx-expression-1.2.1.tgz#3195450498c438fbdb82838c23d9b3f8b23174da"
- integrity sha512-BtQwyalaq6jRjx0pagtuAwGrmzL1yInrfA4EJv7GOoiPOUbR4gr6h65I+G3WTh1/Cag2Eda4ip400Ch6CFmWiA==
- dependencies:
- "@types/estree-jsx" "^0.0.1"
- "@types/hast" "^2.0.0"
- "@types/mdast" "^3.0.0"
- mdast-util-from-markdown "^1.0.0"
- mdast-util-to-markdown "^1.0.0"
-
-mdast-util-mdx-jsx@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-2.0.1.tgz#03d003c8b0b4bd94ab092d876c0f92d2b0c83b0b"
- integrity sha512-oPC7/smPBf7vxnvIYH5y3fPo2lw1rdrswFfSb4i0GTAXRUQv7JUU/t/hbp07dgGdUFTSDOHm5DNamhNg/s2Hrg==
- dependencies:
- "@types/estree-jsx" "^0.0.1"
- "@types/hast" "^2.0.0"
- "@types/mdast" "^3.0.0"
- ccount "^2.0.0"
- mdast-util-to-markdown "^1.3.0"
- parse-entities "^4.0.0"
- stringify-entities "^4.0.0"
- unist-util-remove-position "^4.0.0"
- unist-util-stringify-position "^3.0.0"
- vfile-message "^3.0.0"
-
-mdast-util-mdx@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/mdast-util-mdx/-/mdast-util-mdx-2.0.0.tgz#dd4f6c993cf27da32725e50a04874f595b7b63fb"
- integrity sha512-M09lW0CcBT1VrJUaF/PYxemxxHa7SLDHdSn94Q9FhxjCQfuW7nMAWKWimTmA3OyDMSTH981NN1csW1X+HPSluw==
- dependencies:
- mdast-util-mdx-expression "^1.0.0"
- mdast-util-mdx-jsx "^2.0.0"
- mdast-util-mdxjs-esm "^1.0.0"
-
-mdast-util-mdxjs-esm@^1.0.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-1.2.0.tgz#eca8b985f091c2d65a72c19d2740cefbc209aa63"
- integrity sha512-IPpX9GBzAIbIRCjbyeLDpMhACFb0wxTIujuR3YElB8LWbducUdMgRJuqs/Vg8xQ1bIAMm7lw8L+YNtua0xKXRw==
- dependencies:
- "@types/estree-jsx" "^0.0.1"
- "@types/hast" "^2.0.0"
- "@types/mdast" "^3.0.0"
- mdast-util-from-markdown "^1.0.0"
- mdast-util-to-markdown "^1.0.0"
-
-mdast-util-to-hast@^12.1.0:
- version "12.1.2"
- resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-12.1.2.tgz#5c793b04014746585254c7ce0bc2d117201a5d1d"
- integrity sha512-Wn6Mcj04qU4qUXHnHpPATYMH2Jd8RlntdnloDfYLe1ErWRHo6+pvSl/DzHp6sCZ9cBSYlc8Sk8pbwb8xtUoQhQ==
- dependencies:
- "@types/hast" "^2.0.0"
- "@types/mdast" "^3.0.0"
- "@types/mdurl" "^1.0.0"
- mdast-util-definitions "^5.0.0"
- mdurl "^1.0.0"
- micromark-util-sanitize-uri "^1.0.0"
- trim-lines "^3.0.0"
- unist-builder "^3.0.0"
- unist-util-generated "^2.0.0"
- unist-util-position "^4.0.0"
- unist-util-visit "^4.0.0"
-
-mdast-util-to-markdown@^1.0.0, mdast-util-to-markdown@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/mdast-util-to-markdown/-/mdast-util-to-markdown-1.3.0.tgz#38b6cdc8dc417de642a469c4fc2abdf8c931bd1e"
- integrity sha512-6tUSs4r+KK4JGTTiQ7FfHmVOaDrLQJPmpjD6wPMlHGUVXoG9Vjc3jIeP+uyBWRf8clwB2blM+W7+KrlMYQnftA==
- dependencies:
- "@types/mdast" "^3.0.0"
- "@types/unist" "^2.0.0"
- longest-streak "^3.0.0"
- mdast-util-to-string "^3.0.0"
- micromark-util-decode-string "^1.0.0"
- unist-util-visit "^4.0.0"
- zwitch "^2.0.0"
-
-mdast-util-to-string@^3.0.0, mdast-util-to-string@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-3.1.0.tgz#56c506d065fbf769515235e577b5a261552d56e9"
- integrity sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA==
-
-mdurl@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e"
- integrity sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==
-
-merge-stream@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
- integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
-
-merge2@^1.3.0, merge2@^1.4.1:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
- integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
-
-micromark-core-commonmark@^1.0.0, micromark-core-commonmark@^1.0.1:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz#edff4c72e5993d93724a3c206970f5a15b0585ad"
- integrity sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==
- dependencies:
- decode-named-character-reference "^1.0.0"
- micromark-factory-destination "^1.0.0"
- micromark-factory-label "^1.0.0"
- micromark-factory-space "^1.0.0"
- micromark-factory-title "^1.0.0"
- micromark-factory-whitespace "^1.0.0"
- micromark-util-character "^1.0.0"
- micromark-util-chunked "^1.0.0"
- micromark-util-classify-character "^1.0.0"
- micromark-util-html-tag-name "^1.0.0"
- micromark-util-normalize-identifier "^1.0.0"
- micromark-util-resolve-all "^1.0.0"
- micromark-util-subtokenize "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.1"
- uvu "^0.5.0"
-
-micromark-extension-gfm-autolink-literal@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-1.0.3.tgz#dc589f9c37eaff31a175bab49f12290edcf96058"
- integrity sha512-i3dmvU0htawfWED8aHMMAzAVp/F0Z+0bPh3YrbTPPL1v4YAlCZpy5rBO5p0LPYiZo0zFVkoYh7vDU7yQSiCMjg==
- dependencies:
- micromark-util-character "^1.0.0"
- micromark-util-sanitize-uri "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.0"
- uvu "^0.5.0"
-
-micromark-extension-gfm-footnote@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-1.0.4.tgz#cbfd8873b983e820c494498c6dac0105920818d5"
- integrity sha512-E/fmPmDqLiMUP8mLJ8NbJWJ4bTw6tS+FEQS8CcuDtZpILuOb2kjLqPEeAePF1djXROHXChM/wPJw0iS4kHCcIg==
- dependencies:
- micromark-core-commonmark "^1.0.0"
- micromark-factory-space "^1.0.0"
- micromark-util-character "^1.0.0"
- micromark-util-normalize-identifier "^1.0.0"
- micromark-util-sanitize-uri "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.0"
- uvu "^0.5.0"
-
-micromark-extension-gfm-strikethrough@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-1.0.4.tgz#162232c284ffbedd8c74e59c1525bda217295e18"
- integrity sha512-/vjHU/lalmjZCT5xt7CcHVJGq8sYRm80z24qAKXzaHzem/xsDYb2yLL+NNVbYvmpLx3O7SYPuGL5pzusL9CLIQ==
- dependencies:
- micromark-util-chunked "^1.0.0"
- micromark-util-classify-character "^1.0.0"
- micromark-util-resolve-all "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.0"
- uvu "^0.5.0"
-
-micromark-extension-gfm-table@^1.0.0:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/micromark-extension-gfm-table/-/micromark-extension-gfm-table-1.0.5.tgz#7b708b728f8dc4d95d486b9e7a2262f9cddbcbb4"
- integrity sha512-xAZ8J1X9W9K3JTJTUL7G6wSKhp2ZYHrFk5qJgY/4B33scJzE2kpfRL6oiw/veJTbt7jiM/1rngLlOKPWr1G+vg==
- dependencies:
- micromark-factory-space "^1.0.0"
- micromark-util-character "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.0"
- uvu "^0.5.0"
-
-micromark-extension-gfm-tagfilter@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-1.0.1.tgz#fb2e303f7daf616db428bb6a26e18fda14a90a4d"
- integrity sha512-Ty6psLAcAjboRa/UKUbbUcwjVAv5plxmpUTy2XC/3nJFL37eHej8jrHrRzkqcpipJliuBH30DTs7+3wqNcQUVA==
- dependencies:
- micromark-util-types "^1.0.0"
-
-micromark-extension-gfm-task-list-item@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-1.0.3.tgz#7683641df5d4a09795f353574d7f7f66e47b7fc4"
- integrity sha512-PpysK2S1Q/5VXi72IIapbi/jliaiOFzv7THH4amwXeYXLq3l1uo8/2Be0Ac1rEwK20MQEsGH2ltAZLNY2KI/0Q==
- dependencies:
- micromark-factory-space "^1.0.0"
- micromark-util-character "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.0"
- uvu "^0.5.0"
-
-micromark-extension-gfm@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/micromark-extension-gfm/-/micromark-extension-gfm-2.0.1.tgz#40f3209216127a96297c54c67f5edc7ef2d1a2a2"
- integrity sha512-p2sGjajLa0iYiGQdT0oelahRYtMWvLjy8J9LOCxzIQsllMCGLbsLW+Nc+N4vi02jcRJvedVJ68cjelKIO6bpDA==
- dependencies:
- micromark-extension-gfm-autolink-literal "^1.0.0"
- micromark-extension-gfm-footnote "^1.0.0"
- micromark-extension-gfm-strikethrough "^1.0.0"
- micromark-extension-gfm-table "^1.0.0"
- micromark-extension-gfm-tagfilter "^1.0.0"
- micromark-extension-gfm-task-list-item "^1.0.0"
- micromark-util-combine-extensions "^1.0.0"
- micromark-util-types "^1.0.0"
-
-micromark-extension-mdx-expression@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-1.0.3.tgz#cd3843573921bf55afcfff4ae0cd2e857a16dcfa"
- integrity sha512-TjYtjEMszWze51NJCZmhv7MEBcgYRgb3tJeMAJ+HQCAaZHHRBaDCccqQzGizR/H4ODefP44wRTgOn2vE5I6nZA==
- dependencies:
- micromark-factory-mdx-expression "^1.0.0"
- micromark-factory-space "^1.0.0"
- micromark-util-character "^1.0.0"
- micromark-util-events-to-acorn "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.0"
- uvu "^0.5.0"
-
-micromark-extension-mdx-jsx@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-1.0.3.tgz#9f196be5f65eb09d2a49b237a7b3398bba2999be"
- integrity sha512-VfA369RdqUISF0qGgv2FfV7gGjHDfn9+Qfiv5hEwpyr1xscRj/CiVRkU7rywGFCO7JwJ5L0e7CJz60lY52+qOA==
- dependencies:
- "@types/acorn" "^4.0.0"
- estree-util-is-identifier-name "^2.0.0"
- micromark-factory-mdx-expression "^1.0.0"
- micromark-factory-space "^1.0.0"
- micromark-util-character "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.0"
- uvu "^0.5.0"
- vfile-message "^3.0.0"
-
-micromark-extension-mdx-md@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/micromark-extension-mdx-md/-/micromark-extension-mdx-md-1.0.0.tgz#382f5df9ee3706dd120b51782a211f31f4760d22"
- integrity sha512-xaRAMoSkKdqZXDAoSgp20Azm0aRQKGOl0RrS81yGu8Hr/JhMsBmfs4wR7m9kgVUIO36cMUQjNyiyDKPrsv8gOw==
- dependencies:
- micromark-util-types "^1.0.0"
-
-micromark-extension-mdxjs-esm@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-1.0.3.tgz#630d9dc9db2c2fd470cac8c1e7a824851267404d"
- integrity sha512-2N13ol4KMoxb85rdDwTAC6uzs8lMX0zeqpcyx7FhS7PxXomOnLactu8WI8iBNXW8AVyea3KIJd/1CKnUmwrK9A==
- dependencies:
- micromark-core-commonmark "^1.0.0"
- micromark-util-character "^1.0.0"
- micromark-util-events-to-acorn "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.0"
- unist-util-position-from-estree "^1.1.0"
- uvu "^0.5.0"
- vfile-message "^3.0.0"
-
-micromark-extension-mdxjs@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/micromark-extension-mdxjs/-/micromark-extension-mdxjs-1.0.0.tgz#772644e12fc8299a33e50f59c5aa15727f6689dd"
- integrity sha512-TZZRZgeHvtgm+IhtgC2+uDMR7h8eTKF0QUX9YsgoL9+bADBpBY6SiLvWqnBlLbCEevITmTqmEuY3FoxMKVs1rQ==
- dependencies:
- acorn "^8.0.0"
- acorn-jsx "^5.0.0"
- micromark-extension-mdx-expression "^1.0.0"
- micromark-extension-mdx-jsx "^1.0.0"
- micromark-extension-mdx-md "^1.0.0"
- micromark-extension-mdxjs-esm "^1.0.0"
- micromark-util-combine-extensions "^1.0.0"
- micromark-util-types "^1.0.0"
-
-micromark-factory-destination@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz#fef1cb59ad4997c496f887b6977aa3034a5a277e"
- integrity sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==
- dependencies:
- micromark-util-character "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.0"
-
-micromark-factory-label@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/micromark-factory-label/-/micromark-factory-label-1.0.2.tgz#6be2551fa8d13542fcbbac478258fb7a20047137"
- integrity sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==
- dependencies:
- micromark-util-character "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.0"
- uvu "^0.5.0"
-
-micromark-factory-mdx-expression@^1.0.0:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-1.0.6.tgz#917e17d16e6e9c2551f3a862e6a9ebdd22056476"
- integrity sha512-WRQIc78FV7KrCfjsEf/sETopbYjElh3xAmNpLkd1ODPqxEngP42eVRGbiPEQWpRV27LzqW+XVTvQAMIIRLPnNA==
- dependencies:
- micromark-factory-space "^1.0.0"
- micromark-util-character "^1.0.0"
- micromark-util-events-to-acorn "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.0"
- unist-util-position-from-estree "^1.0.0"
- uvu "^0.5.0"
- vfile-message "^3.0.0"
-
-micromark-factory-space@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz#cebff49968f2b9616c0fcb239e96685cb9497633"
- integrity sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==
- dependencies:
- micromark-util-character "^1.0.0"
- micromark-util-types "^1.0.0"
-
-micromark-factory-title@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/micromark-factory-title/-/micromark-factory-title-1.0.2.tgz#7e09287c3748ff1693930f176e1c4a328382494f"
- integrity sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==
- dependencies:
- micromark-factory-space "^1.0.0"
- micromark-util-character "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.0"
- uvu "^0.5.0"
-
-micromark-factory-whitespace@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz#e991e043ad376c1ba52f4e49858ce0794678621c"
- integrity sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==
- dependencies:
- micromark-factory-space "^1.0.0"
- micromark-util-character "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.0"
-
-micromark-util-character@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-1.1.0.tgz#d97c54d5742a0d9611a68ca0cd4124331f264d86"
- integrity sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==
- dependencies:
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.0"
-
-micromark-util-chunked@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz#5b40d83f3d53b84c4c6bce30ed4257e9a4c79d06"
- integrity sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==
- dependencies:
- micromark-util-symbol "^1.0.0"
-
-micromark-util-classify-character@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz#cbd7b447cb79ee6997dd274a46fc4eb806460a20"
- integrity sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==
- dependencies:
- micromark-util-character "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.0"
-
-micromark-util-combine-extensions@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz#91418e1e74fb893e3628b8d496085639124ff3d5"
- integrity sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==
- dependencies:
- micromark-util-chunked "^1.0.0"
- micromark-util-types "^1.0.0"
-
-micromark-util-decode-numeric-character-reference@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz#dcc85f13b5bd93ff8d2868c3dba28039d490b946"
- integrity sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==
- dependencies:
- micromark-util-symbol "^1.0.0"
-
-micromark-util-decode-string@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/micromark-util-decode-string/-/micromark-util-decode-string-1.0.2.tgz#942252ab7a76dec2dbf089cc32505ee2bc3acf02"
- integrity sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==
- dependencies:
- decode-named-character-reference "^1.0.0"
- micromark-util-character "^1.0.0"
- micromark-util-decode-numeric-character-reference "^1.0.0"
- micromark-util-symbol "^1.0.0"
-
-micromark-util-encode@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-1.0.1.tgz#2c1c22d3800870ad770ece5686ebca5920353383"
- integrity sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==
-
-micromark-util-events-to-acorn@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-1.1.0.tgz#9891638e201c266484d0af7cd2505d208f73db9d"
- integrity sha512-hB8HzidNt/Us5q2BvqXj8eeEm0U9rRfnZxcA9T65JRUMAY4MbfJRAFm7m9fXMAdSHJiVPmajsp8/rp6/FlHL8A==
- dependencies:
- "@types/acorn" "^4.0.0"
- "@types/estree" "^0.0.51"
- estree-util-visit "^1.0.0"
- micromark-util-types "^1.0.0"
- uvu "^0.5.0"
- vfile-location "^4.0.0"
- vfile-message "^3.0.0"
-
-micromark-util-html-tag-name@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.1.0.tgz#eb227118befd51f48858e879b7a419fc0df20497"
- integrity sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA==
-
-micromark-util-normalize-identifier@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz#4a3539cb8db954bbec5203952bfe8cedadae7828"
- integrity sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==
- dependencies:
- micromark-util-symbol "^1.0.0"
-
-micromark-util-resolve-all@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz#a7c363f49a0162e931960c44f3127ab58f031d88"
- integrity sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==
- dependencies:
- micromark-util-types "^1.0.0"
-
-micromark-util-sanitize-uri@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.0.0.tgz#27dc875397cd15102274c6c6da5585d34d4f12b2"
- integrity sha512-cCxvBKlmac4rxCGx6ejlIviRaMKZc0fWm5HdCHEeDWRSkn44l6NdYVRyU+0nT1XC72EQJMZV8IPHF+jTr56lAg==
- dependencies:
- micromark-util-character "^1.0.0"
- micromark-util-encode "^1.0.0"
- micromark-util-symbol "^1.0.0"
-
-micromark-util-subtokenize@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz#ff6f1af6ac836f8bfdbf9b02f40431760ad89105"
- integrity sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==
- dependencies:
- micromark-util-chunked "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.0"
- uvu "^0.5.0"
-
-micromark-util-symbol@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-1.0.1.tgz#b90344db62042ce454f351cf0bebcc0a6da4920e"
- integrity sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ==
-
-micromark-util-types@^1.0.0, micromark-util-types@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-1.0.2.tgz#f4220fdb319205812f99c40f8c87a9be83eded20"
- integrity sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w==
-
-micromark@^3.0.0:
- version "3.0.10"
- resolved "https://registry.yarnpkg.com/micromark/-/micromark-3.0.10.tgz#1eac156f0399d42736458a14b0ca2d86190b457c"
- integrity sha512-ryTDy6UUunOXy2HPjelppgJ2sNfcPz1pLlMdA6Rz9jPzhLikWXv/irpWV/I2jd68Uhmny7hHxAlAhk4+vWggpg==
- dependencies:
- "@types/debug" "^4.0.0"
- debug "^4.0.0"
- decode-named-character-reference "^1.0.0"
- micromark-core-commonmark "^1.0.1"
- micromark-factory-space "^1.0.0"
- micromark-util-character "^1.0.0"
- micromark-util-chunked "^1.0.0"
- micromark-util-combine-extensions "^1.0.0"
- micromark-util-decode-numeric-character-reference "^1.0.0"
- micromark-util-encode "^1.0.0"
- micromark-util-normalize-identifier "^1.0.0"
- micromark-util-resolve-all "^1.0.0"
- micromark-util-sanitize-uri "^1.0.0"
- micromark-util-subtokenize "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.1"
- uvu "^0.5.0"
-
-micromatch@^4.0.0, micromatch@^4.0.4:
- version "4.0.5"
- resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"
- integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
- dependencies:
- braces "^3.0.2"
- picomatch "^2.3.1"
-
-mimic-response@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9"
- integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==
-
-mini-svg-data-uri@^1.2.3:
- version "1.4.4"
- resolved "https://registry.yarnpkg.com/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz#8ab0aabcdf8c29ad5693ca595af19dd2ead09939"
- integrity sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==
-
-minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
- integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==
-
-minimalistic-crypto-utils@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
- integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==
-
-minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
- integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
- dependencies:
- brace-expansion "^1.1.7"
-
-minimatch@^5.0.1:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.0.tgz#1717b464f4971b144f6aabe8f2d0b8e4511e09c7"
- integrity sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==
- dependencies:
- brace-expansion "^2.0.1"
-
-minimist@^1.2.0, minimist@^1.2.6:
- version "1.2.6"
- resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44"
- integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
-
-minimist@^1.2.3:
- version "1.2.7"
- resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18"
- integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==
-
-mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3:
- version "0.5.3"
- resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113"
- integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==
-
-mri@^1.1.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b"
- integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==
-
-mrmime@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/mrmime/-/mrmime-1.0.1.tgz#5f90c825fad4bdd41dc914eff5d1a8cfdaf24f27"
- integrity sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==
-
-ms@2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
- integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==
-
-ms@2.1.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
- integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
-
-ms@^2.1.1:
- version "2.1.3"
- resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
- integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
-
-nanoid@^3.3.4:
- version "3.3.4"
- resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab"
- integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==
-
-napi-build-utils@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.2.tgz#b1fddc0b2c46e380a0b7a76f984dd47c41a13806"
- integrity sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==
-
-natural-compare@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
- integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
-
-next-pwa@5.6.0:
- version "5.6.0"
- resolved "https://registry.yarnpkg.com/next-pwa/-/next-pwa-5.6.0.tgz#f7b1960c4fdd7be4253eb9b41b612ac773392bf4"
- integrity sha512-XV8g8C6B7UmViXU8askMEYhWwQ4qc/XqJGnexbLV68hzKaGHZDMtHsm2TNxFcbR7+ypVuth/wwpiIlMwpRJJ5A==
- dependencies:
- babel-loader "^8.2.5"
- clean-webpack-plugin "^4.0.0"
- globby "^11.0.4"
- terser-webpack-plugin "^5.3.3"
- workbox-webpack-plugin "^6.5.4"
- workbox-window "^6.5.4"
-
-next-seo@^5.6.0:
- version "5.6.0"
- resolved "https://registry.yarnpkg.com/next-seo/-/next-seo-5.6.0.tgz#70cb96199e77718d0ffb499c43c7317aba905797"
- integrity sha512-6o7OJq+/V7ZrijayG94BvNOYLQg9xQp0OAwLpA5kdlSei3mYsVbSB32UBIqSxT6uqRf55Jmd56ScG65IDnJShw==
-
-next-themes@^0.2.0-beta.2:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/next-themes/-/next-themes-0.2.0.tgz#fdc507f61e95b3ae513dee8d4783bcec8c02e3a3"
- integrity sha512-myhpDL4vadBD9YDSHiewqvzorGzB03N84e+3LxCwHRlM/hiBOaW+UsKsQojQAzC7fdcJA0l2ppveXcYaVV+hxQ==
-
-next-themes@^0.2.1:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/next-themes/-/next-themes-0.2.1.tgz#0c9f128e847979daf6c67f70b38e6b6567856e45"
- integrity sha512-B+AKNfYNIzh0vqQQKqQItTS8evEouKD7H5Hj3kmuPERwddR2TxvDSFZuTj6T7Jfn1oyeUyJMydPl1Bkxkh0W7A==
-
-next@^12.3.1:
- version "12.3.1"
- resolved "https://registry.yarnpkg.com/next/-/next-12.3.1.tgz#127b825ad2207faf869b33393ec8c75fe61e50f1"
- integrity sha512-l7bvmSeIwX5lp07WtIiP9u2ytZMv7jIeB8iacR28PuUEFG5j0HGAPnMqyG5kbZNBG2H7tRsrQ4HCjuMOPnANZw==
- dependencies:
- "@next/env" "12.3.1"
- "@swc/helpers" "0.4.11"
- caniuse-lite "^1.0.30001406"
- postcss "8.4.14"
- styled-jsx "5.0.7"
- use-sync-external-store "1.2.0"
- optionalDependencies:
- "@next/swc-android-arm-eabi" "12.3.1"
- "@next/swc-android-arm64" "12.3.1"
- "@next/swc-darwin-arm64" "12.3.1"
- "@next/swc-darwin-x64" "12.3.1"
- "@next/swc-freebsd-x64" "12.3.1"
- "@next/swc-linux-arm-gnueabihf" "12.3.1"
- "@next/swc-linux-arm64-gnu" "12.3.1"
- "@next/swc-linux-arm64-musl" "12.3.1"
- "@next/swc-linux-x64-gnu" "12.3.1"
- "@next/swc-linux-x64-musl" "12.3.1"
- "@next/swc-win32-arm64-msvc" "12.3.1"
- "@next/swc-win32-ia32-msvc" "12.3.1"
- "@next/swc-win32-x64-msvc" "12.3.1"
-
-nextra-theme-docs@2.0.0-alpha.59:
- version "2.0.0-alpha.59"
- resolved "https://registry.yarnpkg.com/nextra-theme-docs/-/nextra-theme-docs-2.0.0-alpha.59.tgz#47e4c9851868613f7f8602ee31f5a95da535686c"
- integrity sha512-X5/YZAJaX/TDDBEaUoAdsZ3gjnanRv2Q+1wKwtHsEa8QCz8z5BjgFqcIIXf6A8NK6vtaYS7R1paFga+wpFhpCg==
- dependencies:
- "@headlessui/react" "^1.6.1"
- "@mdx-js/react" "^2.1.0"
- "@reach/skip-nav" "^0.16.0"
- classnames "^2.2.6"
- flexsearch "^0.7.21"
- focus-visible "^5.1.0"
- github-slugger "^1.4.0"
- intersection-observer "^0.12.0"
- match-sorter "^4.2.0"
- next-themes "^0.2.0-beta.2"
- parse-git-url "^1.0.1"
- scroll-into-view-if-needed "^2.2.29"
- title "^3.4.2"
-
-nextra@2.0.0-alpha.56:
- version "2.0.0-alpha.56"
- resolved "https://registry.yarnpkg.com/nextra/-/nextra-2.0.0-alpha.56.tgz#b6a1c889d0eda9650cce53c31bdce897f5458a0b"
- integrity sha512-U6vFoUj4Oc+Px9WyNOUJWdta6j8B+dKtjbWvE1jCoz9wdAARtWxIZknIEMK62yt94zZeUjJg5KCzj1HBZc6UpQ==
- dependencies:
- "@mdx-js/mdx" "^2.1.0"
- "@napi-rs/simple-git" "^0.1.7"
- github-slugger "^1.4.0"
- graceful-fs "^4.2.6"
- gray-matter "^4.0.3"
- p-limit "^4.0.0"
- rehype-pretty-code "^0.1.0"
- remark-gfm "^3.0.1"
- shiki "0.10.1"
- slash "^3.0.0"
-
-node-abi@^3.3.0:
- version "3.26.0"
- resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.26.0.tgz#fa5dfb912b821f29f058cb04b87f397ce107dc4b"
- integrity sha512-jRVtMFTChbi2i/jqo/i2iP9634KMe+7K1v35mIdj3Mn59i5q27ZYhn+sW6npISM/PQg7HrP2kwtRBMmh5Uvzdg==
- dependencies:
- semver "^7.3.5"
-
-node-addon-api@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32"
- integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==
-
-node-addon-api@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-5.0.0.tgz#7d7e6f9ef89043befdb20c1989c905ebde18c501"
- integrity sha512-CvkDw2OEnme7ybCykJpVcKH+uAOLV2qLqiyla128dN9TkEWfrYmxG6C2boDe5KcNQqZF3orkqzGgOMvZ/JNekA==
-
-node-fetch@2, node-fetch@2.6.7, node-fetch@^2.6.1:
- version "2.6.7"
- resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad"
- integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==
- dependencies:
- whatwg-url "^5.0.0"
-
-node-gyp-build@^4.2.0, node-gyp-build@^4.3.0:
- version "4.5.0"
- resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.5.0.tgz#7a64eefa0b21112f89f58379da128ac177f20e40"
- integrity sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==
-
-node-releases@^2.0.5:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.5.tgz#280ed5bc3eba0d96ce44897d8aee478bfb3d9666"
- integrity sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==
-
-node-releases@^2.0.6:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503"
- integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==
-
-normalize-path@^3.0.0, normalize-path@~3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
- integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
-
-normalize-range@^0.1.2:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
- integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==
-
-npm-run-path@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
- integrity sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==
- dependencies:
- path-key "^2.0.0"
-
-nprogress@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/nprogress/-/nprogress-0.2.0.tgz#cb8f34c53213d895723fcbab907e9422adbcafb1"
- integrity sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==
-
-object-assign@^4.0.1, object-assign@^4.1.1:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
- integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
-
-object-hash@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9"
- integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==
-
-object-inspect@^1.12.0, object-inspect@^1.9.0:
- version "1.12.2"
- resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea"
- integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==
-
-object-keys@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
- integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
-
-object.assign@^4.1.0:
- version "4.1.4"
- resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f"
- integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.4"
- has-symbols "^1.0.3"
- object-keys "^1.1.1"
-
-object.assign@^4.1.2:
- version "4.1.2"
- resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940"
- integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==
- dependencies:
- call-bind "^1.0.0"
- define-properties "^1.1.3"
- has-symbols "^1.0.1"
- object-keys "^1.1.1"
-
-object.entries@^1.1.5:
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861"
- integrity sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.3"
- es-abstract "^1.19.1"
-
-object.fromentries@^2.0.5:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.5.tgz#7b37b205109c21e741e605727fe8b0ad5fa08251"
- integrity sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.3"
- es-abstract "^1.19.1"
-
-object.hasown@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.1.tgz#ad1eecc60d03f49460600430d97f23882cf592a3"
- integrity sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A==
- dependencies:
- define-properties "^1.1.4"
- es-abstract "^1.19.5"
-
-object.values@^1.1.5:
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac"
- integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.3"
- es-abstract "^1.19.1"
-
-once@^1.3.0, once@^1.3.1, once@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
- integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
- dependencies:
- wrappy "1"
-
-open@^8.4.0:
- version "8.4.0"
- resolved "https://registry.yarnpkg.com/open/-/open-8.4.0.tgz#345321ae18f8138f82565a910fdc6b39e8c244f8"
- integrity sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==
- dependencies:
- define-lazy-prop "^2.0.0"
- is-docker "^2.1.1"
- is-wsl "^2.2.0"
-
-opener@^1.5.2:
- version "1.5.2"
- resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598"
- integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==
-
-optionator@^0.9.1:
- version "0.9.1"
- resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499"
- integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==
- dependencies:
- deep-is "^0.1.3"
- fast-levenshtein "^2.0.6"
- levn "^0.4.1"
- prelude-ls "^1.2.1"
- type-check "^0.4.0"
- word-wrap "^1.2.3"
-
-p-finally@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
- integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==
-
-p-limit@^1.1.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"
- integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==
- dependencies:
- p-try "^1.0.0"
-
-p-limit@^2.0.0, p-limit@^2.2.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
- integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
- dependencies:
- p-try "^2.0.0"
-
-p-limit@^3.0.2:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
- integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
- dependencies:
- yocto-queue "^0.1.0"
-
-p-limit@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-4.0.0.tgz#914af6544ed32bfa54670b061cafcbd04984b644"
- integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==
- dependencies:
- yocto-queue "^1.0.0"
-
-p-locate@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
- integrity sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==
- dependencies:
- p-limit "^1.1.0"
-
-p-locate@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
- integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==
- dependencies:
- p-limit "^2.0.0"
-
-p-locate@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07"
- integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==
- dependencies:
- p-limit "^2.2.0"
-
-p-locate@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834"
- integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==
- dependencies:
- p-limit "^3.0.2"
-
-p-map@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175"
- integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==
-
-p-try@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
- integrity sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==
-
-p-try@^2.0.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
- integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
-
-parent-module@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
- integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
- dependencies:
- callsites "^3.0.0"
-
-parse-entities@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-4.0.0.tgz#f67c856d4e3fe19b1a445c3fabe78dcdc1053eeb"
- integrity sha512-5nk9Fn03x3rEhGaX1FU6IDwG/k+GxLXlFAkgrbM1asuAFl3BhdQWvASaIsmwWypRNcZKHPYnIuOSfIWEyEQnPQ==
- dependencies:
- "@types/unist" "^2.0.0"
- character-entities "^2.0.0"
- character-entities-legacy "^3.0.0"
- character-reference-invalid "^2.0.0"
- decode-named-character-reference "^1.0.0"
- is-alphanumerical "^2.0.0"
- is-decimal "^2.0.0"
- is-hexadecimal "^2.0.0"
-
-parse-git-url@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/parse-git-url/-/parse-git-url-1.0.1.tgz#92bdaf615a7e24d32bea3bf955ee90a9050aeb57"
- integrity sha512-Zukjztu09UXpXV/Q+4vgwyVPzUBkUvDjlqHlpG+swv/zYzed/5Igw/33rIEJxFDRc5LxvEqYDVDzhBfnOLWDYw==
-
-parse-numeric-range@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz#7c63b61190d61e4d53a1197f0c83c47bb670ffa3"
- integrity sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==
-
-path-exists@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
- integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==
-
-path-exists@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
- integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
-
-path-is-absolute@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
- integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
-
-path-is-inside@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
- integrity sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==
-
-path-key@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
- integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==
-
-path-key@^3.1.0:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
- integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
-
-path-parse@^1.0.7:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
- integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
-
-path-type@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
- integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
-
-pbkdf2@^3.0.17:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075"
- integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==
- dependencies:
- create-hash "^1.1.2"
- create-hmac "^1.1.4"
- ripemd160 "^2.0.1"
- safe-buffer "^5.0.1"
- sha.js "^2.4.8"
-
-periscopic@^3.0.0:
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/periscopic/-/periscopic-3.0.4.tgz#b3fbed0d1bc844976b977173ca2cd4a0ef4fa8d1"
- integrity sha512-SFx68DxCv0Iyo6APZuw/AKewkkThGwssmU0QWtTlvov3VAtPX+QJ4CadwSaz8nrT5jPIuxdvJWB4PnD2KNDxQg==
- dependencies:
- estree-walker "^3.0.0"
- is-reference "^3.0.0"
-
-picocolors@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
- integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
-
-picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.3.1:
- version "2.3.1"
- resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
- integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
-
-pify@^2.0.0, pify@^2.3.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
- integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==
-
-pify@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
- integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==
-
-pify@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231"
- integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==
-
-pify@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/pify/-/pify-5.0.0.tgz#1f5eca3f5e87ebec28cc6d54a0e4aaf00acc127f"
- integrity sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==
-
-pinkie-promise@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
- integrity sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==
- dependencies:
- pinkie "^2.0.0"
-
-pinkie@^2.0.0:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
- integrity sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==
-
-pkg-dir@^4.1.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3"
- integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==
- dependencies:
- find-up "^4.0.0"
-
-pngjs@^3.3.0:
- version "3.4.0"
- resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f"
- integrity sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==
-
-popmotion@11.0.5:
- version "11.0.5"
- resolved "https://registry.yarnpkg.com/popmotion/-/popmotion-11.0.5.tgz#8e3e014421a0ffa30ecd722564fd2558954e1f7d"
- integrity sha512-la8gPM1WYeFznb/JqF4GiTkRRPZsfaj2+kCxqQgr2MJylMmIKUwBfWW8Wa5fml/8gmtlD5yI01MP1QCZPWmppA==
- dependencies:
- framesync "6.1.2"
- hey-listen "^1.0.8"
- style-value-types "5.1.2"
- tslib "2.4.0"
-
-postcss-import@^14.1.0:
- version "14.1.0"
- resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-14.1.0.tgz#a7333ffe32f0b8795303ee9e40215dac922781f0"
- integrity sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==
- dependencies:
- postcss-value-parser "^4.0.0"
- read-cache "^1.0.0"
- resolve "^1.1.7"
-
-postcss-import@^15.0.0:
- version "15.0.0"
- resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-15.0.0.tgz#0b66c25fdd9c0d19576e63c803cf39e4bad08822"
- integrity sha512-Y20shPQ07RitgBGv2zvkEAu9bqvrD77C9axhj/aA1BQj4czape2MdClCExvB27EwYEJdGgKZBpKanb0t1rK2Kg==
- dependencies:
- postcss-value-parser "^4.0.0"
- read-cache "^1.0.0"
- resolve "^1.1.7"
-
-postcss-js@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.0.tgz#31db79889531b80dc7bc9b0ad283e418dce0ac00"
- integrity sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==
- dependencies:
- camelcase-css "^2.0.1"
-
-postcss-load-config@^3.1.4:
- version "3.1.4"
- resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-3.1.4.tgz#1ab2571faf84bb078877e1d07905eabe9ebda855"
- integrity sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==
- dependencies:
- lilconfig "^2.0.5"
- yaml "^1.10.2"
-
-postcss-load-config@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-4.0.1.tgz#152383f481c2758274404e4962743191d73875bd"
- integrity sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==
- dependencies:
- lilconfig "^2.0.5"
- yaml "^2.1.1"
-
-postcss-nested@5.0.6:
- version "5.0.6"
- resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-5.0.6.tgz#466343f7fc8d3d46af3e7dba3fcd47d052a945bc"
- integrity sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==
- dependencies:
- postcss-selector-parser "^6.0.6"
-
-postcss-nesting@^10.2.0:
- version "10.2.0"
- resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-10.2.0.tgz#0b12ce0db8edfd2d8ae0aaf86427370b898890be"
- integrity sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==
- dependencies:
- "@csstools/selector-specificity" "^2.0.0"
- postcss-selector-parser "^6.0.10"
-
-postcss-selector-parser@6.0.10, postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.6:
- version "6.0.10"
- resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz#79b61e2c0d1bfc2602d549e11d0876256f8df88d"
- integrity sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==
- dependencies:
- cssesc "^3.0.0"
- util-deprecate "^1.0.2"
-
-postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514"
- integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
-
-postcss@8.4.14, postcss@^8.4.14, postcss@^8.4.4:
- version "8.4.14"
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.14.tgz#ee9274d5622b4858c1007a74d76e42e56fd21caf"
- integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==
- dependencies:
- nanoid "^3.3.4"
- picocolors "^1.0.0"
- source-map-js "^1.0.2"
-
-postcss@^8.4.16, postcss@^8.4.18:
- version "8.4.18"
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.18.tgz#6d50046ea7d3d66a85e0e782074e7203bc7fbca2"
- integrity sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==
- dependencies:
- nanoid "^3.3.4"
- picocolors "^1.0.0"
- source-map-js "^1.0.2"
-
-preact@10.4.1:
- version "10.4.1"
- resolved "https://registry.yarnpkg.com/preact/-/preact-10.4.1.tgz#9b3ba020547673a231c6cf16f0fbaef0e8863431"
- integrity sha512-WKrRpCSwL2t3tpOOGhf2WfTpcmbpxaWtDbdJdKdjd0aEiTkvOmS4NBkG6kzlaAHI9AkQ3iVqbFWM3Ei7mZ4o1Q==
-
-preact@^10.5.9:
- version "10.9.0"
- resolved "https://registry.yarnpkg.com/preact/-/preact-10.9.0.tgz#69b282b26926b66481c9ae3450cf68610fee29ff"
- integrity sha512-jO6/OvCRL+OT8gst/+Q2ir7dMybZAX8ioP02Zmzh3BkQMHLyqZSujvxbUriXvHi8qmhcHKC2Gwbog6Kt+YTh+Q==
-
-prebuild-install@^7.1.1:
- version "7.1.1"
- resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-7.1.1.tgz#de97d5b34a70a0c81334fd24641f2a1702352e45"
- integrity sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==
- dependencies:
- detect-libc "^2.0.0"
- expand-template "^2.0.3"
- github-from-package "0.0.0"
- minimist "^1.2.3"
- mkdirp-classic "^0.5.3"
- napi-build-utils "^1.0.1"
- node-abi "^3.3.0"
- pump "^3.0.0"
- rc "^1.2.7"
- simple-get "^4.0.0"
- tar-fs "^2.0.0"
- tunnel-agent "^0.6.0"
-
-prelude-ls@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
- integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
-
-pretty-bytes@^5.3.0, pretty-bytes@^5.4.1:
- version "5.6.0"
- resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb"
- integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==
-
-prop-types@^15.7.2, prop-types@^15.8.1:
- version "15.8.1"
- resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5"
- integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==
- dependencies:
- loose-envify "^1.4.0"
- object-assign "^4.1.1"
- react-is "^16.13.1"
-
-property-information@^6.0.0:
- version "6.1.1"
- resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.1.1.tgz#5ca85510a3019726cb9afed4197b7b8ac5926a22"
- integrity sha512-hrzC564QIl0r0vy4l6MvRLhafmUowhO/O3KgVSoXIbbA2Sz4j8HGpJc6T2cubRVwMwpdiG/vKGfhT4IixmKN9w==
-
-pseudomap@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
- integrity sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==
-
-pump@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
- integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
- dependencies:
- end-of-stream "^1.1.0"
- once "^1.3.1"
-
-punycode@^2.1.0, punycode@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
- integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
-
-qrcode@1.4.4:
- version "1.4.4"
- resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.4.4.tgz#f0c43568a7e7510a55efc3b88d9602f71963ea83"
- integrity sha512-oLzEC5+NKFou9P0bMj5+v6Z40evexeE29Z9cummZXZ9QXyMr3lphkURzxjXgPJC5azpxcshoDWV1xE46z+/c3Q==
- dependencies:
- buffer "^5.4.3"
- buffer-alloc "^1.2.0"
- buffer-from "^1.1.1"
- dijkstrajs "^1.0.1"
- isarray "^2.0.1"
- pngjs "^3.3.0"
- yargs "^13.2.4"
-
-qs@^6.10.3:
- version "6.11.0"
- resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a"
- integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==
- dependencies:
- side-channel "^1.0.4"
-
-query-string@6.13.5:
- version "6.13.5"
- resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.13.5.tgz#99e95e2fb7021db90a6f373f990c0c814b3812d8"
- integrity sha512-svk3xg9qHR39P3JlHuD7g3nRnyay5mHbrPctEBDUxUkHRifPHXJDhBUycdCC0NBjXoDf44Gb+IsOZL1Uwn8M/Q==
- dependencies:
- decode-uri-component "^0.2.0"
- split-on-first "^1.0.0"
- strict-uri-encode "^2.0.0"
-
-queue-microtask@^1.2.2:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
- integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
-
-quick-lru@^5.1.1:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932"
- integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==
-
-randombytes@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
- integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==
- dependencies:
- safe-buffer "^5.1.0"
-
-rc@^1.2.7:
- version "1.2.8"
- resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
- integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
- dependencies:
- deep-extend "^0.6.0"
- ini "~1.3.0"
- minimist "^1.2.0"
- strip-json-comments "~2.0.1"
-
-react-dom@^18.2.0:
- version "18.2.0"
- resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d"
- integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==
- dependencies:
- loose-envify "^1.1.0"
- scheduler "^0.23.0"
-
-react-flip-move@^3.0.4:
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/react-flip-move/-/react-flip-move-3.0.4.tgz#261f66101fbc305f9b7b28959c5cf8236413ca74"
- integrity sha512-HyUVv9g3t/BS7Yz9HgrtYSWyRNdR2F81nkj+C5iRY675AwlqCLB5JU9mnZWg0cdVz7IM4iquoyZx70vzZv3Z8Q==
-
-react-hot-toast@^2.3.0:
- version "2.4.0"
- resolved "https://registry.yarnpkg.com/react-hot-toast/-/react-hot-toast-2.4.0.tgz#b91e7a4c1b6e3068fc599d3d83b4fb48668ae51d"
- integrity sha512-qnnVbXropKuwUpriVVosgo8QrB+IaPJCpL8oBI6Ov84uvHZ5QQcTp2qg6ku2wNfgJl6rlQXJIQU5q+5lmPOutA==
- dependencies:
- goober "^2.1.10"
-
-react-is@^16.13.1:
- version "16.13.1"
- resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
- integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
-
-react-lifecycles-compat@^3.0.4:
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362"
- integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==
-
-react-native-url-polyfill@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/react-native-url-polyfill/-/react-native-url-polyfill-1.3.0.tgz#c1763de0f2a8c22cc3e959b654c8790622b6ef6a"
- integrity sha512-w9JfSkvpqqlix9UjDvJjm1EjSt652zVQ6iwCIj1cVVkwXf4jQhQgTNXY6EVTwuAmUjg6BC6k9RHCBynoLFo3IQ==
- dependencies:
- whatwg-url-without-unicode "8.0.0-3"
-
-react-virtualized@^9.22.3:
- version "9.22.3"
- resolved "https://registry.yarnpkg.com/react-virtualized/-/react-virtualized-9.22.3.tgz#f430f16beb0a42db420dbd4d340403c0de334421"
- integrity sha512-MKovKMxWTcwPSxE1kK1HcheQTWfuCxAuBoSTf2gwyMM21NdX/PXUhnoP8Uc5dRKd+nKm8v41R36OellhdCpkrw==
- dependencies:
- "@babel/runtime" "^7.7.2"
- clsx "^1.0.4"
- dom-helpers "^5.1.3"
- loose-envify "^1.4.0"
- prop-types "^15.7.2"
- react-lifecycles-compat "^3.0.4"
-
-react@^18.2.0:
- version "18.2.0"
- resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5"
- integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==
- dependencies:
- loose-envify "^1.1.0"
-
-read-cache@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774"
- integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==
- dependencies:
- pify "^2.3.0"
-
-readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0:
- version "3.6.0"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
- integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
- dependencies:
- inherits "^2.0.3"
- string_decoder "^1.1.1"
- util-deprecate "^1.0.1"
-
-readdirp@~3.6.0:
- version "3.6.0"
- resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
- integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
- dependencies:
- picomatch "^2.2.1"
-
-regenerate-unicode-properties@^10.1.0:
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz#7c3192cab6dd24e21cb4461e5ddd7dd24fa8374c"
- integrity sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==
- dependencies:
- regenerate "^1.4.2"
-
-regenerate@^1.4.2:
- version "1.4.2"
- resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a"
- integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==
-
-regenerator-runtime@^0.13.4:
- version "0.13.9"
- resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52"
- integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==
-
-regenerator-transform@^0.15.0:
- version "0.15.0"
- resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.0.tgz#cbd9ead5d77fae1a48d957cf889ad0586adb6537"
- integrity sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==
- dependencies:
- "@babel/runtime" "^7.8.4"
-
-regexp.prototype.flags@^1.4.1, regexp.prototype.flags@^1.4.3:
- version "1.4.3"
- resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac"
- integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.3"
- functions-have-names "^1.2.2"
-
-regexpp@^3.2.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2"
- integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==
-
-regexpu-core@^5.1.0:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.2.1.tgz#a69c26f324c1e962e9ffd0b88b055caba8089139"
- integrity sha512-HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ==
- dependencies:
- regenerate "^1.4.2"
- regenerate-unicode-properties "^10.1.0"
- regjsgen "^0.7.1"
- regjsparser "^0.9.1"
- unicode-match-property-ecmascript "^2.0.0"
- unicode-match-property-value-ecmascript "^2.0.0"
-
-regjsgen@^0.7.1:
- version "0.7.1"
- resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.7.1.tgz#ee5ef30e18d3f09b7c369b76e7c2373ed25546f6"
- integrity sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==
-
-regjsparser@^0.9.1:
- version "0.9.1"
- resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709"
- integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==
- dependencies:
- jsesc "~0.5.0"
-
-rehype-pretty-code@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/rehype-pretty-code/-/rehype-pretty-code-0.1.0.tgz#2e6bf1dae2a1b29454ffe7095d44f3ed20bfe0f1"
- integrity sha512-7SaedCOn5VcDGdllQeu3kBWC+/zbkD6ZE7iOALJzK79+v0K0qQpa1WqBwoxetTbCLwBTY9wC4CabEsDS3qj55g==
- dependencies:
- parse-numeric-range "^1.3.0"
-
-remark-gfm@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/remark-gfm/-/remark-gfm-3.0.1.tgz#0b180f095e3036545e9dddac0e8df3fa5cfee54f"
- integrity sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==
- dependencies:
- "@types/mdast" "^3.0.0"
- mdast-util-gfm "^2.0.0"
- micromark-extension-gfm "^2.0.0"
- unified "^10.0.0"
-
-remark-mdx@^2.0.0:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/remark-mdx/-/remark-mdx-2.1.2.tgz#eea2784fa5697e14f6e0686700077986b88b8078"
- integrity sha512-npQagPdczPAv0xN9F8GSi5hJfAe/z6nBjylyfOfjLOmz086ahWrIjlk4BulRfNhA+asutqWxyuT3DFVsxiTVHA==
- dependencies:
- mdast-util-mdx "^2.0.0"
- micromark-extension-mdxjs "^1.0.0"
-
-remark-parse@^10.0.0:
- version "10.0.1"
- resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-10.0.1.tgz#6f60ae53edbf0cf38ea223fe643db64d112e0775"
- integrity sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw==
- dependencies:
- "@types/mdast" "^3.0.0"
- mdast-util-from-markdown "^1.0.0"
- unified "^10.0.0"
-
-remark-rehype@^10.0.0:
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/remark-rehype/-/remark-rehype-10.1.0.tgz#32dc99d2034c27ecaf2e0150d22a6dcccd9a6279"
- integrity sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==
- dependencies:
- "@types/hast" "^2.0.0"
- "@types/mdast" "^3.0.0"
- mdast-util-to-hast "^12.1.0"
- unified "^10.0.0"
-
-remove-accents@0.4.2:
- version "0.4.2"
- resolved "https://registry.yarnpkg.com/remove-accents/-/remove-accents-0.4.2.tgz#0a43d3aaae1e80db919e07ae254b285d9e1c7bb5"
- integrity sha512-7pXIJqJOq5tFgG1A2Zxti3Ht8jJF337m4sowbuHsW30ZnkQFnDzy9qBNhgzX8ZLW4+UBcXiiR7SwR6pokHsxiA==
-
-require-directory@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
- integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==
-
-require-from-string@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909"
- integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==
-
-require-main-filename@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
- integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==
-
-resolve-from@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
- integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
-
-resolve@^1.1.7, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.0, resolve@^1.22.1:
- version "1.22.1"
- resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177"
- integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==
- dependencies:
- is-core-module "^2.9.0"
- path-parse "^1.0.7"
- supports-preserve-symlinks-flag "^1.0.0"
-
-resolve@^2.0.0-next.3:
- version "2.0.0-next.4"
- resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.4.tgz#3d37a113d6429f496ec4752d2a2e58efb1fd4660"
- integrity sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==
- dependencies:
- is-core-module "^2.9.0"
- path-parse "^1.0.7"
- supports-preserve-symlinks-flag "^1.0.0"
-
-reusify@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
- integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
-
-rimraf@^2.6.3:
- version "2.7.1"
- resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
- integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
- dependencies:
- glob "^7.1.3"
-
-rimraf@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
- integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
- dependencies:
- glob "^7.1.3"
-
-ripemd160@^2.0.0, ripemd160@^2.0.1:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c"
- integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==
- dependencies:
- hash-base "^3.0.0"
- inherits "^2.0.1"
-
-rlp@^2.0.0, rlp@^2.2.3:
- version "2.2.7"
- resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.7.tgz#33f31c4afac81124ac4b283e2bd4d9720b30beaf"
- integrity sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==
- dependencies:
- bn.js "^5.2.0"
-
-rollup-plugin-terser@^7.0.0:
- version "7.0.2"
- resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz#e8fbba4869981b2dc35ae7e8a502d5c6c04d324d"
- integrity sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==
- dependencies:
- "@babel/code-frame" "^7.10.4"
- jest-worker "^26.2.1"
- serialize-javascript "^4.0.0"
- terser "^5.0.0"
-
-rollup@^2.43.1:
- version "2.79.1"
- resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.79.1.tgz#bedee8faef7c9f93a2647ac0108748f497f081c7"
- integrity sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==
- optionalDependencies:
- fsevents "~2.3.2"
-
-rpc-websockets@^7.5.0:
- version "7.5.0"
- resolved "https://registry.yarnpkg.com/rpc-websockets/-/rpc-websockets-7.5.0.tgz#bbeb87572e66703ff151e50af1658f98098e2748"
- integrity sha512-9tIRi1uZGy7YmDjErf1Ax3wtqdSSLIlnmL5OtOzgd5eqPKbsPpwDP5whUDO2LQay3Xp0CcHlcNSGzacNRluBaQ==
- dependencies:
- "@babel/runtime" "^7.17.2"
- eventemitter3 "^4.0.7"
- uuid "^8.3.2"
- ws "^8.5.0"
- optionalDependencies:
- bufferutil "^4.0.1"
- utf-8-validate "^5.0.2"
-
-run-parallel@^1.1.9:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
- integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
- dependencies:
- queue-microtask "^1.2.2"
-
-rxjs@^6.6.3:
- version "6.6.7"
- resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9"
- integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==
- dependencies:
- tslib "^1.9.0"
-
-sade@^1.7.3:
- version "1.8.1"
- resolved "https://registry.yarnpkg.com/sade/-/sade-1.8.1.tgz#0a78e81d658d394887be57d2a409bf703a3b2701"
- integrity sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==
- dependencies:
- mri "^1.1.0"
-
-safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
- integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
-
-safe-event-emitter@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/safe-event-emitter/-/safe-event-emitter-1.0.1.tgz#5b692ef22329ed8f69fdce607e50ca734f6f20af"
- integrity sha512-e1wFe99A91XYYxoQbcq2ZJUWurxEyP8vfz7A7vuUe1s95q8r5ebraVaA1BukYJcpM6V16ugWoD9vngi8Ccu5fg==
- dependencies:
- events "^3.0.0"
-
-safe-json-utils@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/safe-json-utils/-/safe-json-utils-1.1.1.tgz#0e883874467d95ab914c3f511096b89bfb3e63b1"
- integrity sha512-SAJWGKDs50tAbiDXLf89PDwt9XYkWyANFWVzn4dTXl5QyI8t2o/bW5/OJl3lvc2WVU4MEpTo9Yz5NVFNsp+OJQ==
-
-sass@^1.55.0:
- version "1.55.0"
- resolved "https://registry.yarnpkg.com/sass/-/sass-1.55.0.tgz#0c4d3c293cfe8f8a2e8d3b666e1cf1bff8065d1c"
- integrity sha512-Pk+PMy7OGLs9WaxZGJMn7S96dvlyVBwwtToX895WmCpAOr5YiJYEUJfiJidMuKb613z2xNWcXCHEuOvjZbqC6A==
- dependencies:
- chokidar ">=3.0.0 <4.0.0"
- immutable "^4.0.0"
- source-map-js ">=0.6.2 <2.0.0"
-
-scheduler@^0.23.0:
- version "0.23.0"
- resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe"
- integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==
- dependencies:
- loose-envify "^1.1.0"
-
-schema-utils@^2.6.5:
- version "2.7.1"
- resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7"
- integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==
- dependencies:
- "@types/json-schema" "^7.0.5"
- ajv "^6.12.4"
- ajv-keywords "^3.5.2"
-
-schema-utils@^3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281"
- integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==
- dependencies:
- "@types/json-schema" "^7.0.8"
- ajv "^6.12.5"
- ajv-keywords "^3.5.2"
-
-scroll-into-view-if-needed@^2.2.29:
- version "2.2.29"
- resolved "https://registry.yarnpkg.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.29.tgz#551791a84b7e2287706511f8c68161e4990ab885"
- integrity sha512-hxpAR6AN+Gh53AdAimHM6C8oTN1ppwVZITihix+WqalywBeFcQ6LdQP5ABNl26nX8GTEL7VT+b8lKpdqq65wXg==
- dependencies:
- compute-scroll-into-view "^1.0.17"
-
-scrypt-js@3.0.1, scrypt-js@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312"
- integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==
-
-secp256k1@^4.0.1, secp256k1@^4.0.2:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.3.tgz#c4559ecd1b8d3c1827ed2d1b94190d69ce267303"
- integrity sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==
- dependencies:
- elliptic "^6.5.4"
- node-addon-api "^2.0.0"
- node-gyp-build "^4.2.0"
-
-section-matter@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/section-matter/-/section-matter-1.0.0.tgz#e9041953506780ec01d59f292a19c7b850b84167"
- integrity sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==
- dependencies:
- extend-shallow "^2.0.1"
- kind-of "^6.0.0"
-
-semver@7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e"
- integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==
-
-semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0:
- version "6.3.0"
- resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
- integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
-
-semver@^7.3.4, semver@^7.3.7:
- version "7.3.7"
- resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f"
- integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==
- dependencies:
- lru-cache "^6.0.0"
-
-semver@^7.3.5:
- version "7.3.8"
- resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798"
- integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==
- dependencies:
- lru-cache "^6.0.0"
-
-serialize-javascript@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa"
- integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==
- dependencies:
- randombytes "^2.1.0"
-
-serialize-javascript@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8"
- integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==
- dependencies:
- randombytes "^2.1.0"
-
-set-blocking@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
- integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==
-
-setimmediate@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
- integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==
-
-sha.js@^2.4.0, sha.js@^2.4.11, sha.js@^2.4.8:
- version "2.4.11"
- resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7"
- integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==
- dependencies:
- inherits "^2.0.1"
- safe-buffer "^5.0.1"
-
-sharp@^0.31.1:
- version "0.31.1"
- resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.31.1.tgz#b2f7076d381a120761aa93700cadefcf90a22458"
- integrity sha512-GR8M1wBwOiFKLkm9JPun27OQnNRZdHfSf9VwcdZX6UrRmM1/XnOrLFTF0GAil+y/YK4E6qcM/ugxs80QirsHxg==
- dependencies:
- color "^4.2.3"
- detect-libc "^2.0.1"
- node-addon-api "^5.0.0"
- prebuild-install "^7.1.1"
- semver "^7.3.7"
- simple-get "^4.0.1"
- tar-fs "^2.1.1"
- tunnel-agent "^0.6.0"
-
-shebang-command@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
- integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==
- dependencies:
- shebang-regex "^1.0.0"
-
-shebang-command@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
- integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
- dependencies:
- shebang-regex "^3.0.0"
-
-shebang-regex@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
- integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==
-
-shebang-regex@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
- integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
-
-shiki@0.10.1:
- version "0.10.1"
- resolved "https://registry.yarnpkg.com/shiki/-/shiki-0.10.1.tgz#6f9a16205a823b56c072d0f1a0bcd0f2646bef14"
- integrity sha512-VsY7QJVzU51j5o1+DguUd+6vmCmZ5v/6gYu4vyYAhzjuNQU6P/vmSy4uQaOhvje031qQMiW0d2BwgMH52vqMng==
- dependencies:
- jsonc-parser "^3.0.0"
- vscode-oniguruma "^1.6.1"
- vscode-textmate "5.2.0"
-
-side-channel@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf"
- integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==
- dependencies:
- call-bind "^1.0.0"
- get-intrinsic "^1.0.2"
- object-inspect "^1.9.0"
-
-signal-exit@^3.0.0:
- version "3.0.7"
- resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
- integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
-
-simple-concat@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f"
- integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==
-
-simple-get@^4.0.0, simple-get@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-4.0.1.tgz#4a39db549287c979d352112fa03fd99fd6bc3543"
- integrity sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==
- dependencies:
- decompress-response "^6.0.0"
- once "^1.3.1"
- simple-concat "^1.0.0"
-
-simple-swizzle@^0.2.2:
- version "0.2.2"
- resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a"
- integrity sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==
- dependencies:
- is-arrayish "^0.3.1"
-
-sirv@^1.0.7:
- version "1.0.19"
- resolved "https://registry.yarnpkg.com/sirv/-/sirv-1.0.19.tgz#1d73979b38c7fe91fcba49c85280daa9c2363b49"
- integrity sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==
- dependencies:
- "@polka/url" "^1.0.0-next.20"
- mrmime "^1.0.0"
- totalist "^1.0.0"
-
-slash@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
- integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
-
-slash@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7"
- integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==
-
-source-list-map@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34"
- integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==
-
-"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
- integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
-
-source-map-support@~0.5.20:
- version "0.5.21"
- resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f"
- integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==
- dependencies:
- buffer-from "^1.0.0"
- source-map "^0.6.0"
-
-source-map@^0.6.0, source-map@~0.6.1:
- version "0.6.1"
- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
- integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
-
-source-map@^0.8.0-beta.0:
- version "0.8.0-beta.0"
- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.8.0-beta.0.tgz#d4c1bb42c3f7ee925f005927ba10709e0d1d1f11"
- integrity sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==
- dependencies:
- whatwg-url "^7.0.0"
-
-sourcemap-codec@^1.4.8:
- version "1.4.8"
- resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4"
- integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==
-
-space-separated-tokens@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-2.0.1.tgz#43193cec4fb858a2ce934b7f98b7f2c18107098b"
- integrity sha512-ekwEbFp5aqSPKaqeY1PGrlGQxPNaq+Cnx4+bE2D8sciBQrHpbwoBbawqTN2+6jPs9IdWxxiUcN0K2pkczD3zmw==
-
-split-on-first@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f"
- integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==
-
-sprintf-js@~1.0.2:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
- integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==
-
-stream-browserify@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f"
- integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==
- dependencies:
- inherits "~2.0.4"
- readable-stream "^3.5.0"
-
-strict-uri-encode@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546"
- integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==
-
-string-width@^3.0.0, string-width@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961"
- integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==
- dependencies:
- emoji-regex "^7.0.1"
- is-fullwidth-code-point "^2.0.0"
- strip-ansi "^5.1.0"
-
-string.prototype.matchall@^4.0.6, string.prototype.matchall@^4.0.7:
- version "4.0.7"
- resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz#8e6ecb0d8a1fb1fda470d81acecb2dba057a481d"
- integrity sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.3"
- es-abstract "^1.19.1"
- get-intrinsic "^1.1.1"
- has-symbols "^1.0.3"
- internal-slot "^1.0.3"
- regexp.prototype.flags "^1.4.1"
- side-channel "^1.0.4"
-
-string.prototype.trimend@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz#914a65baaab25fbdd4ee291ca7dde57e869cb8d0"
- integrity sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.4"
- es-abstract "^1.19.5"
-
-string.prototype.trimstart@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz#5466d93ba58cfa2134839f81d7f42437e8c01fef"
- integrity sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.4"
- es-abstract "^1.19.5"
-
-string_decoder@^1.1.1:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
- integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
- dependencies:
- safe-buffer "~5.2.0"
-
-stringify-entities@^4.0.0:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-4.0.3.tgz#cfabd7039d22ad30f3cc435b0ca2c1574fc88ef8"
- integrity sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==
- dependencies:
- character-entities-html4 "^2.0.0"
- character-entities-legacy "^3.0.0"
-
-stringify-object@^3.3.0:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629"
- integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==
- dependencies:
- get-own-enumerable-property-symbols "^3.0.0"
- is-obj "^1.0.1"
- is-regexp "^1.0.0"
-
-strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
- integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==
- dependencies:
- ansi-regex "^4.1.0"
-
-strip-ansi@^6.0.1:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
- integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
- dependencies:
- ansi-regex "^5.0.1"
-
-strip-bom-string@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92"
- integrity sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==
-
-strip-bom@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
- integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==
-
-strip-comments@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/strip-comments/-/strip-comments-2.0.1.tgz#4ad11c3fbcac177a67a40ac224ca339ca1c1ba9b"
- integrity sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==
-
-strip-eof@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
- integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==
-
-strip-hex-prefix@1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz#0c5f155fef1151373377de9dbb588da05500e36f"
- integrity sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==
- dependencies:
- is-hex-prefixed "1.0.0"
-
-strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
- integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
-
-strip-json-comments@~2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
- integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==
-
-style-to-object@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.3.0.tgz#b1b790d205991cc783801967214979ee19a76e46"
- integrity sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==
- dependencies:
- inline-style-parser "0.1.1"
-
-style-value-types@5.1.2:
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/style-value-types/-/style-value-types-5.1.2.tgz#6be66b237bd546048a764883528072ed95713b62"
- integrity sha512-Vs9fNreYF9j6W2VvuDTP7kepALi7sk0xtk2Tu8Yxi9UoajJdEVpNpCov0HsLTqXvNGKX+Uv09pkozVITi1jf3Q==
- dependencies:
- hey-listen "^1.0.8"
- tslib "2.4.0"
-
-styled-jsx@5.0.7:
- version "5.0.7"
- resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.0.7.tgz#be44afc53771b983769ac654d355ca8d019dff48"
- integrity sha512-b3sUzamS086YLRuvnaDigdAewz1/EFYlHpYBP5mZovKEdQQOIIYq8lApylub3HHZ6xFjV051kkGU7cudJmrXEA==
-
-superstruct@^0.14.2:
- version "0.14.2"
- resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-0.14.2.tgz#0dbcdf3d83676588828f1cf5ed35cda02f59025b"
- integrity sha512-nPewA6m9mR3d6k7WkZ8N8zpTWfenFH3q9pA2PkuiZxINr9DKB2+40wEQf0ixn8VaGuJ78AB6iWOtStI+/4FKZQ==
-
-supports-color@^4.0.0:
- version "4.5.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b"
- integrity sha512-ycQR/UbvI9xIlEdQT1TQqwoXtEldExbCEAJgRo5YXlmSKjv6ThHnP9/vwGa1gr19Gfw+LkFd7KqYMhzrRC5JYw==
- dependencies:
- has-flag "^2.0.0"
-
-supports-color@^5.3.0:
- version "5.5.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
- integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
- dependencies:
- has-flag "^3.0.0"
-
-supports-color@^7.0.0, supports-color@^7.1.0:
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
- integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
- dependencies:
- has-flag "^4.0.0"
-
-supports-color@^8.0.0:
- version "8.1.1"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c"
- integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==
- dependencies:
- has-flag "^4.0.0"
-
-supports-preserve-symlinks-flag@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
- integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
-
-synckit@^0.8.3:
- version "0.8.4"
- resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.8.4.tgz#0e6b392b73fafdafcde56692e3352500261d64ec"
- integrity sha512-Dn2ZkzMdSX827QbowGbU/4yjWuvNaCoScLLoMo/yKbu+P4GBR6cRGKZH27k6a9bRzdqcyd1DE96pQtQ6uNkmyw==
- dependencies:
- "@pkgr/utils" "^2.3.1"
- tslib "^2.4.0"
-
-tailwindcss@^3.1.3:
- version "3.1.5"
- resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.1.5.tgz#c8e0bb1cbacf29a6411d9c07debc1af9d388d4ca"
- integrity sha512-bC/2dy3dGPqxMWAqFSRgQxVCfmO/31ZbeEp8s9DMDh4zgPZ5WW1gxRJkbBkXcTUIzaSUdhWrcsrSOe32ccgB4w==
- dependencies:
- arg "^5.0.2"
- chokidar "^3.5.3"
- color-name "^1.1.4"
- detective "^5.2.1"
- didyoumean "^1.2.2"
- dlv "^1.1.3"
- fast-glob "^3.2.11"
- glob-parent "^6.0.2"
- is-glob "^4.0.3"
- lilconfig "^2.0.5"
- normalize-path "^3.0.0"
- object-hash "^3.0.0"
- picocolors "^1.0.0"
- postcss "^8.4.14"
- postcss-import "^14.1.0"
- postcss-js "^4.0.0"
- postcss-load-config "^4.0.1"
- postcss-nested "5.0.6"
- postcss-selector-parser "^6.0.10"
- postcss-value-parser "^4.2.0"
- quick-lru "^5.1.1"
- resolve "^1.22.1"
-
-tailwindcss@^3.1.8:
- version "3.1.8"
- resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.1.8.tgz#4f8520550d67a835d32f2f4021580f9fddb7b741"
- integrity sha512-YSneUCZSFDYMwk+TGq8qYFdCA3yfBRdBlS7txSq0LUmzyeqRe3a8fBQzbz9M3WS/iFT4BNf/nmw9mEzrnSaC0g==
- dependencies:
- arg "^5.0.2"
- chokidar "^3.5.3"
- color-name "^1.1.4"
- detective "^5.2.1"
- didyoumean "^1.2.2"
- dlv "^1.1.3"
- fast-glob "^3.2.11"
- glob-parent "^6.0.2"
- is-glob "^4.0.3"
- lilconfig "^2.0.6"
- normalize-path "^3.0.0"
- object-hash "^3.0.0"
- picocolors "^1.0.0"
- postcss "^8.4.14"
- postcss-import "^14.1.0"
- postcss-js "^4.0.0"
- postcss-load-config "^3.1.4"
- postcss-nested "5.0.6"
- postcss-selector-parser "^6.0.10"
- postcss-value-parser "^4.2.0"
- quick-lru "^5.1.1"
- resolve "^1.22.1"
-
-tapable@^2.2.0:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0"
- integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==
-
-tar-fs@^2.0.0, tar-fs@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784"
- integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==
- dependencies:
- chownr "^1.1.1"
- mkdirp-classic "^0.5.2"
- pump "^3.0.0"
- tar-stream "^2.1.4"
-
-tar-stream@^2.1.4:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287"
- integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==
- dependencies:
- bl "^4.0.3"
- end-of-stream "^1.4.1"
- fs-constants "^1.0.0"
- inherits "^2.0.3"
- readable-stream "^3.1.1"
-
-temp-dir@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-2.0.0.tgz#bde92b05bdfeb1516e804c9c00ad45177f31321e"
- integrity sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==
-
-tempy@^0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/tempy/-/tempy-0.6.0.tgz#65e2c35abc06f1124a97f387b08303442bde59f3"
- integrity sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==
- dependencies:
- is-stream "^2.0.0"
- temp-dir "^2.0.0"
- type-fest "^0.16.0"
- unique-string "^2.0.0"
-
-terser-webpack-plugin@^5.3.3:
- version "5.3.6"
- resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz#5590aec31aa3c6f771ce1b1acca60639eab3195c"
- integrity sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==
- dependencies:
- "@jridgewell/trace-mapping" "^0.3.14"
- jest-worker "^27.4.5"
- schema-utils "^3.1.1"
- serialize-javascript "^6.0.0"
- terser "^5.14.1"
-
-terser@^5.0.0, terser@^5.14.1:
- version "5.15.1"
- resolved "https://registry.yarnpkg.com/terser/-/terser-5.15.1.tgz#8561af6e0fd6d839669c73b92bdd5777d870ed6c"
- integrity sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw==
- dependencies:
- "@jridgewell/source-map" "^0.3.2"
- acorn "^8.5.0"
- commander "^2.20.0"
- source-map-support "~0.5.20"
-
-text-encoding-utf-8@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/text-encoding-utf-8/-/text-encoding-utf-8-1.0.2.tgz#585b62197b0ae437e3c7b5d0af27ac1021e10d13"
- integrity sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg==
-
-text-table@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
- integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==
-
-"through@>=2.2.7 <3":
- version "2.3.8"
- resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
- integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==
-
-tiny-glob@^0.2.9:
- version "0.2.9"
- resolved "https://registry.yarnpkg.com/tiny-glob/-/tiny-glob-0.2.9.tgz#2212d441ac17928033b110f8b3640683129d31e2"
- integrity sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==
- dependencies:
- globalyzer "0.1.0"
- globrex "^0.1.2"
-
-tiny-warning@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754"
- integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==
-
-title@^3.4.2:
- version "3.4.4"
- resolved "https://registry.yarnpkg.com/title/-/title-3.4.4.tgz#5c0ab11fd69643bc05dc006bba52aaf5c1630f5e"
- integrity sha512-ViLJMyg5TFwWQ7Aqrs3e0IPINA99++cOLzQFIuBw6rKPhn8Cz7J7sdsag0BQPCf4ip7bHY1/docykbQe2R4N6Q==
- dependencies:
- arg "1.0.0"
- chalk "2.3.0"
- clipboardy "1.2.2"
- titleize "1.0.0"
-
-titleize@1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/titleize/-/titleize-1.0.0.tgz#7d350722061830ba6617631e0cfd3ea08398d95a"
- integrity sha512-TARUb7z1pGvlLxgPk++7wJ6aycXF3GJ0sNSBTAsTuJrQG5QuZlkUQP+zl+nbjAh4gMX9yDw9ZYklMd7vAfJKEw==
-
-to-fast-properties@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
- integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==
-
-to-regex-range@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
- integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
- dependencies:
- is-number "^7.0.0"
-
-toggle-selection@^1.0.6:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32"
- integrity sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==
-
-totalist@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/totalist/-/totalist-1.1.0.tgz#a4d65a3e546517701e3e5c37a47a70ac97fe56df"
- integrity sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==
-
-tr46@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09"
- integrity sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==
- dependencies:
- punycode "^2.1.0"
-
-tr46@~0.0.3:
- version "0.0.3"
- resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
- integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==
-
-trim-lines@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/trim-lines/-/trim-lines-3.0.1.tgz#d802e332a07df861c48802c04321017b1bd87338"
- integrity sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==
-
-trough@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/trough/-/trough-2.1.0.tgz#0f7b511a4fde65a46f18477ab38849b22c554876"
- integrity sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==
-
-ts-loader@^9.4.1:
- version "9.4.1"
- resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-9.4.1.tgz#b6f3d82db0eac5a8295994f8cb5e4940ff6b1060"
- integrity sha512-384TYAqGs70rn9F0VBnh6BPTfhga7yFNdC5gXbQpDrBj9/KsT4iRkGqKXhziofHOlE2j6YEaiTYVGKKvPhGWvw==
- dependencies:
- chalk "^4.1.0"
- enhanced-resolve "^5.0.0"
- micromatch "^4.0.0"
- semver "^7.3.4"
-
-tsconfig-paths@^3.14.1:
- version "3.14.1"
- resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a"
- integrity sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==
- dependencies:
- "@types/json5" "^0.0.29"
- json5 "^1.0.1"
- minimist "^1.2.6"
- strip-bom "^3.0.0"
-
-tslib@2.4.0, tslib@^2.0.0, tslib@^2.3.0, tslib@^2.3.1, tslib@^2.4.0:
- version "2.4.0"
- resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3"
- integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==
-
-tslib@^1.8.1, tslib@^1.9.0:
- version "1.14.1"
- resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
- integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
-
-tsutils@^3.21.0:
- version "3.21.0"
- resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623"
- integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==
- dependencies:
- tslib "^1.8.1"
-
-tunnel-agent@^0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
- integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==
- dependencies:
- safe-buffer "^5.0.1"
-
-tweetnacl@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.3.tgz#ac0af71680458d8a6378d0d0d050ab1407d35596"
- integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==
-
-type-check@^0.4.0, type-check@~0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
- integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
- dependencies:
- prelude-ls "^1.2.1"
-
-type-fest@^0.16.0:
- version "0.16.0"
- resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.16.0.tgz#3240b891a78b0deae910dbeb86553e552a148860"
- integrity sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==
-
-type-fest@^0.20.2:
- version "0.20.2"
- resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4"
- integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
-
-typedarray-to-buffer@3.1.5:
- version "3.1.5"
- resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080"
- integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==
- dependencies:
- is-typedarray "^1.0.0"
-
-typescript@^4.8.4:
- version "4.8.4"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.4.tgz#c464abca159669597be5f96b8943500b238e60e6"
- integrity sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==
-
-unbox-primitive@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e"
- integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==
- dependencies:
- call-bind "^1.0.2"
- has-bigints "^1.0.2"
- has-symbols "^1.0.3"
- which-boxed-primitive "^1.0.2"
-
-unicode-canonical-property-names-ecmascript@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc"
- integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==
-
-unicode-match-property-ecmascript@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3"
- integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==
- dependencies:
- unicode-canonical-property-names-ecmascript "^2.0.0"
- unicode-property-aliases-ecmascript "^2.0.0"
-
-unicode-match-property-value-ecmascript@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz#1a01aa57247c14c568b89775a54938788189a714"
- integrity sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==
-
-unicode-property-aliases-ecmascript@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd"
- integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==
-
-unified@^10.0.0:
- version "10.1.2"
- resolved "https://registry.yarnpkg.com/unified/-/unified-10.1.2.tgz#b1d64e55dafe1f0b98bb6c719881103ecf6c86df"
- integrity sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==
- dependencies:
- "@types/unist" "^2.0.0"
- bail "^2.0.0"
- extend "^3.0.0"
- is-buffer "^2.0.0"
- is-plain-obj "^4.0.0"
- trough "^2.0.0"
- vfile "^5.0.0"
-
-unique-string@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d"
- integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==
- dependencies:
- crypto-random-string "^2.0.0"
-
-unist-builder@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/unist-builder/-/unist-builder-3.0.0.tgz#728baca4767c0e784e1e64bb44b5a5a753021a04"
- integrity sha512-GFxmfEAa0vi9i5sd0R2kcrI9ks0r82NasRq5QHh2ysGngrc6GiqD5CDf1FjPenY4vApmFASBIIlk/jj5J5YbmQ==
- dependencies:
- "@types/unist" "^2.0.0"
-
-unist-util-generated@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-2.0.0.tgz#86fafb77eb6ce9bfa6b663c3f5ad4f8e56a60113"
- integrity sha512-TiWE6DVtVe7Ye2QxOVW9kqybs6cZexNwTwSMVgkfjEReqy/xwGpAXb99OxktoWwmL+Z+Epb0Dn8/GNDYP1wnUw==
-
-unist-util-is@^5.0.0:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-5.1.1.tgz#e8aece0b102fa9bc097b0fef8f870c496d4a6236"
- integrity sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==
-
-unist-util-position-from-estree@^1.0.0, unist-util-position-from-estree@^1.1.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/unist-util-position-from-estree/-/unist-util-position-from-estree-1.1.1.tgz#96f4d543dfb0428edc01ebb928570b602d280c4c"
- integrity sha512-xtoY50b5+7IH8tFbkw64gisG9tMSpxDjhX9TmaJJae/XuxQ9R/Kc8Nv1eOsf43Gt4KV/LkriMy9mptDr7XLcaw==
- dependencies:
- "@types/unist" "^2.0.0"
-
-unist-util-position@^4.0.0:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-4.0.3.tgz#5290547b014f6222dff95c48d5c3c13a88fadd07"
- integrity sha512-p/5EMGIa1qwbXjA+QgcBXaPWjSnZfQ2Sc3yBEEfgPwsEmJd8Qh+DSk3LGnmOM4S1bY2C0AjmMnB8RuEYxpPwXQ==
- dependencies:
- "@types/unist" "^2.0.0"
-
-unist-util-remove-position@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-4.0.1.tgz#d5b46a7304ac114c8d91990ece085ca7c2c135c8"
- integrity sha512-0yDkppiIhDlPrfHELgB+NLQD5mfjup3a8UYclHruTJWmY74je8g+CIFr79x5f6AkmzSwlvKLbs63hC0meOMowQ==
- dependencies:
- "@types/unist" "^2.0.0"
- unist-util-visit "^4.0.0"
-
-unist-util-stringify-position@^3.0.0:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-3.0.2.tgz#5c6aa07c90b1deffd9153be170dce628a869a447"
- integrity sha512-7A6eiDCs9UtjcwZOcCpM4aPII3bAAGv13E96IkawkOAW0OhH+yRxtY0lzo8KiHpzEMfH7Q+FizUmwp8Iqy5EWg==
- dependencies:
- "@types/unist" "^2.0.0"
-
-unist-util-visit-parents@^5.0.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-5.1.0.tgz#44bbc5d25f2411e7dfc5cecff12de43296aa8521"
- integrity sha512-y+QVLcY5eR/YVpqDsLf/xh9R3Q2Y4HxkZTp7ViLDU6WtJCEcPmRzW1gpdWDCDIqIlhuPDXOgttqPlykrHYDekg==
- dependencies:
- "@types/unist" "^2.0.0"
- unist-util-is "^5.0.0"
-
-unist-util-visit@^4.0.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-4.1.0.tgz#f41e407a9e94da31594e6b1c9811c51ab0b3d8f5"
- integrity sha512-n7lyhFKJfVZ9MnKtqbsqkQEk5P1KShj0+//V7mAcoI6bpbUjh3C/OG8HVD+pBihfh6Ovl01m8dkcv9HNqYajmQ==
- dependencies:
- "@types/unist" "^2.0.0"
- unist-util-is "^5.0.0"
- unist-util-visit-parents "^5.0.0"
-
-universalify@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717"
- integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==
-
-upath@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894"
- integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==
-
-update-browserslist-db@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.4.tgz#dbfc5a789caa26b1db8990796c2c8ebbce304824"
- integrity sha512-jnmO2BEGUjsMOe/Fg9u0oczOe/ppIDZPebzccl1yDWGLFP16Pa1/RM5wEoKYPG2zstNcDuAStejyxsOuKINdGA==
- dependencies:
- escalade "^3.1.1"
- picocolors "^1.0.0"
-
-update-browserslist-db@^1.0.9:
- version "1.0.10"
- resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3"
- integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==
- dependencies:
- escalade "^3.1.1"
- picocolors "^1.0.0"
-
-uri-js@^4.2.2:
- version "4.4.1"
- resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
- integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
- dependencies:
- punycode "^2.1.0"
-
-use-sync-external-store@1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.1.0.tgz#3343c3fe7f7e404db70f8c687adf5c1652d34e82"
- integrity sha512-SEnieB2FPKEVne66NpXPd1Np4R1lTNKfjuy3XdIoPQKYBAFdzbzSZlSn1KJZUiihQLQC5Znot4SBz1EOTBwQAQ==
-
-use-sync-external-store@1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a"
- integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==
-
-utf-8-validate@^5.0.2:
- version "5.0.9"
- resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.9.tgz#ba16a822fbeedff1a58918f2a6a6b36387493ea3"
- integrity sha512-Yek7dAy0v3Kl0orwMlvi7TPtiCNrdfHNd7Gcc/pLq4BLXqfAmd0J7OWMizUQnTTJsyjKn02mU7anqwfmUP4J8Q==
- dependencies:
- node-gyp-build "^4.3.0"
-
-util-deprecate@^1.0.1, util-deprecate@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
- integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
-
-util@^0.12.4:
- version "0.12.4"
- resolved "https://registry.yarnpkg.com/util/-/util-0.12.4.tgz#66121a31420df8f01ca0c464be15dfa1d1850253"
- integrity sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==
- dependencies:
- inherits "^2.0.3"
- is-arguments "^1.0.4"
- is-generator-function "^1.0.7"
- is-typed-array "^1.1.3"
- safe-buffer "^5.1.2"
- which-typed-array "^1.1.2"
-
-uuid@^8.3.2:
- version "8.3.2"
- resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
- integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
-
-uvu@^0.5.0:
- version "0.5.6"
- resolved "https://registry.yarnpkg.com/uvu/-/uvu-0.5.6.tgz#2754ca20bcb0bb59b64e9985e84d2e81058502df"
- integrity sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==
- dependencies:
- dequal "^2.0.0"
- diff "^5.0.0"
- kleur "^4.0.3"
- sade "^1.7.3"
-
-vfile-location@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-4.0.1.tgz#06f2b9244a3565bef91f099359486a08b10d3a95"
- integrity sha512-JDxPlTbZrZCQXogGheBHjbRWjESSPEak770XwWPfw5mTc1v1nWGLB/apzZxsx8a0SJVfF8HK8ql8RD308vXRUw==
- dependencies:
- "@types/unist" "^2.0.0"
- vfile "^5.0.0"
-
-vfile-message@^3.0.0:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-3.1.2.tgz#a2908f64d9e557315ec9d7ea3a910f658ac05f7d"
- integrity sha512-QjSNP6Yxzyycd4SVOtmKKyTsSvClqBPJcd00Z0zuPj3hOIjg0rUPG6DbFGPvUKRgYyaIWLPKpuEclcuvb3H8qA==
- dependencies:
- "@types/unist" "^2.0.0"
- unist-util-stringify-position "^3.0.0"
-
-vfile@^5.0.0:
- version "5.3.4"
- resolved "https://registry.yarnpkg.com/vfile/-/vfile-5.3.4.tgz#bbb8c96b956693bbf70b2c67fdb5781dff769b93"
- integrity sha512-KI+7cnst03KbEyN1+JE504zF5bJBZa+J+CrevLeyIMq0aPU681I2rQ5p4PlnQ6exFtWiUrg26QUdFMnAKR6PIw==
- dependencies:
- "@types/unist" "^2.0.0"
- is-buffer "^2.0.0"
- unist-util-stringify-position "^3.0.0"
- vfile-message "^3.0.0"
-
-vscode-oniguruma@^1.6.1:
- version "1.6.2"
- resolved "https://registry.yarnpkg.com/vscode-oniguruma/-/vscode-oniguruma-1.6.2.tgz#aeb9771a2f1dbfc9083c8a7fdd9cccaa3f386607"
- integrity sha512-KH8+KKov5eS/9WhofZR8M8dMHWN2gTxjMsG4jd04YhpbPR91fUj7rYQ2/XjeHCJWbg7X++ApRIU9NUwM2vTvLA==
-
-vscode-textmate@5.2.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-5.2.0.tgz#01f01760a391e8222fe4f33fbccbd1ad71aed74e"
- integrity sha512-Uw5ooOQxRASHgu6C7GVvUxisKXfSgW4oFlO+aa+PAkgmH89O3CXxEEzNRNtHSqtXFTl0nAC1uYj0GMSH27uwtQ==
-
-webidl-conversions@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
- integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==
-
-webidl-conversions@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad"
- integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==
-
-webidl-conversions@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff"
- integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==
-
-webpack-bundle-analyzer@4.3.0:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.3.0.tgz#2f3c0ca9041d5ee47fa418693cf56b4a518b578b"
- integrity sha512-J3TPm54bPARx6QG8z4cKBszahnUglcv70+N+8gUqv2I5KOFHJbzBiLx+pAp606so0X004fxM7hqRu10MLjJifA==
- dependencies:
- acorn "^8.0.4"
- acorn-walk "^8.0.0"
- chalk "^4.1.0"
- commander "^6.2.0"
- gzip-size "^6.0.0"
- lodash "^4.17.20"
- opener "^1.5.2"
- sirv "^1.0.7"
- ws "^7.3.1"
-
-webpack-sources@^1.4.3:
- version "1.4.3"
- resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933"
- integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==
- dependencies:
- source-list-map "^2.0.0"
- source-map "~0.6.1"
-
-whatwg-url-without-unicode@8.0.0-3:
- version "8.0.0-3"
- resolved "https://registry.yarnpkg.com/whatwg-url-without-unicode/-/whatwg-url-without-unicode-8.0.0-3.tgz#ab6df4bf6caaa6c85a59f6e82c026151d4bb376b"
- integrity sha512-HoKuzZrUlgpz35YO27XgD28uh/WJH4B0+3ttFqRo//lmq+9T/mIOJ6kqmINI9HpUpz1imRC/nR/lxKpJiv0uig==
- dependencies:
- buffer "^5.4.3"
- punycode "^2.1.1"
- webidl-conversions "^5.0.0"
-
-whatwg-url@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
- integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==
- dependencies:
- tr46 "~0.0.3"
- webidl-conversions "^3.0.0"
-
-whatwg-url@^7.0.0:
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06"
- integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==
- dependencies:
- lodash.sortby "^4.7.0"
- tr46 "^1.0.1"
- webidl-conversions "^4.0.2"
-
-which-boxed-primitive@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6"
- integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==
- dependencies:
- is-bigint "^1.0.1"
- is-boolean-object "^1.1.0"
- is-number-object "^1.0.4"
- is-string "^1.0.5"
- is-symbol "^1.0.3"
-
-which-module@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
- integrity sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==
-
-which-typed-array@^1.1.2:
- version "1.1.8"
- resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.8.tgz#0cfd53401a6f334d90ed1125754a42ed663eb01f"
- integrity sha512-Jn4e5PItbcAHyLoRDwvPj1ypu27DJbtdYXUa5zsinrUx77Uvfb0cXwwnGMTn7cjUfhhqgVQnVJCwF+7cgU7tpw==
- dependencies:
- available-typed-arrays "^1.0.5"
- call-bind "^1.0.2"
- es-abstract "^1.20.0"
- for-each "^0.3.3"
- has-tostringtag "^1.0.0"
- is-typed-array "^1.1.9"
-
-which@^1.2.9:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
- integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
- dependencies:
- isexe "^2.0.0"
-
-which@^2.0.1:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
- integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
- dependencies:
- isexe "^2.0.0"
-
-word-wrap@^1.2.3:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
- integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
-
-workbox-background-sync@6.5.4:
- version "6.5.4"
- resolved "https://registry.yarnpkg.com/workbox-background-sync/-/workbox-background-sync-6.5.4.tgz#3141afba3cc8aa2ae14c24d0f6811374ba8ff6a9"
- integrity sha512-0r4INQZMyPky/lj4Ou98qxcThrETucOde+7mRGJl13MPJugQNKeZQOdIJe/1AchOP23cTqHcN/YVpD6r8E6I8g==
- dependencies:
- idb "^7.0.1"
- workbox-core "6.5.4"
-
-workbox-broadcast-update@6.5.4:
- version "6.5.4"
- resolved "https://registry.yarnpkg.com/workbox-broadcast-update/-/workbox-broadcast-update-6.5.4.tgz#8441cff5417cd41f384ba7633ca960a7ffe40f66"
- integrity sha512-I/lBERoH1u3zyBosnpPEtcAVe5lwykx9Yg1k6f8/BGEPGaMMgZrwVrqL1uA9QZ1NGGFoyE6t9i7lBjOlDhFEEw==
- dependencies:
- workbox-core "6.5.4"
-
-workbox-build@6.5.4:
- version "6.5.4"
- resolved "https://registry.yarnpkg.com/workbox-build/-/workbox-build-6.5.4.tgz#7d06d31eb28a878817e1c991c05c5b93409f0389"
- integrity sha512-kgRevLXEYvUW9WS4XoziYqZ8Q9j/2ziJYEtTrjdz5/L/cTUa2XfyMP2i7c3p34lgqJ03+mTiz13SdFef2POwbA==
- dependencies:
- "@apideck/better-ajv-errors" "^0.3.1"
- "@babel/core" "^7.11.1"
- "@babel/preset-env" "^7.11.0"
- "@babel/runtime" "^7.11.2"
- "@rollup/plugin-babel" "^5.2.0"
- "@rollup/plugin-node-resolve" "^11.2.1"
- "@rollup/plugin-replace" "^2.4.1"
- "@surma/rollup-plugin-off-main-thread" "^2.2.3"
- ajv "^8.6.0"
- common-tags "^1.8.0"
- fast-json-stable-stringify "^2.1.0"
- fs-extra "^9.0.1"
- glob "^7.1.6"
- lodash "^4.17.20"
- pretty-bytes "^5.3.0"
- rollup "^2.43.1"
- rollup-plugin-terser "^7.0.0"
- source-map "^0.8.0-beta.0"
- stringify-object "^3.3.0"
- strip-comments "^2.0.1"
- tempy "^0.6.0"
- upath "^1.2.0"
- workbox-background-sync "6.5.4"
- workbox-broadcast-update "6.5.4"
- workbox-cacheable-response "6.5.4"
- workbox-core "6.5.4"
- workbox-expiration "6.5.4"
- workbox-google-analytics "6.5.4"
- workbox-navigation-preload "6.5.4"
- workbox-precaching "6.5.4"
- workbox-range-requests "6.5.4"
- workbox-recipes "6.5.4"
- workbox-routing "6.5.4"
- workbox-strategies "6.5.4"
- workbox-streams "6.5.4"
- workbox-sw "6.5.4"
- workbox-window "6.5.4"
-
-workbox-cacheable-response@6.5.4:
- version "6.5.4"
- resolved "https://registry.yarnpkg.com/workbox-cacheable-response/-/workbox-cacheable-response-6.5.4.tgz#a5c6ec0c6e2b6f037379198d4ef07d098f7cf137"
- integrity sha512-DCR9uD0Fqj8oB2TSWQEm1hbFs/85hXXoayVwFKLVuIuxwJaihBsLsp4y7J9bvZbqtPJ1KlCkmYVGQKrBU4KAug==
- dependencies:
- workbox-core "6.5.4"
-
-workbox-core@6.5.4:
- version "6.5.4"
- resolved "https://registry.yarnpkg.com/workbox-core/-/workbox-core-6.5.4.tgz#df48bf44cd58bb1d1726c49b883fb1dffa24c9ba"
- integrity sha512-OXYb+m9wZm8GrORlV2vBbE5EC1FKu71GGp0H4rjmxmF4/HLbMCoTFws87M3dFwgpmg0v00K++PImpNQ6J5NQ6Q==
-
-workbox-expiration@6.5.4:
- version "6.5.4"
- resolved "https://registry.yarnpkg.com/workbox-expiration/-/workbox-expiration-6.5.4.tgz#501056f81e87e1d296c76570bb483ce5e29b4539"
- integrity sha512-jUP5qPOpH1nXtjGGh1fRBa1wJL2QlIb5mGpct3NzepjGG2uFFBn4iiEBiI9GUmfAFR2ApuRhDydjcRmYXddiEQ==
- dependencies:
- idb "^7.0.1"
- workbox-core "6.5.4"
-
-workbox-google-analytics@6.5.4:
- version "6.5.4"
- resolved "https://registry.yarnpkg.com/workbox-google-analytics/-/workbox-google-analytics-6.5.4.tgz#c74327f80dfa4c1954cbba93cd7ea640fe7ece7d"
- integrity sha512-8AU1WuaXsD49249Wq0B2zn4a/vvFfHkpcFfqAFHNHwln3jK9QUYmzdkKXGIZl9wyKNP+RRX30vcgcyWMcZ9VAg==
- dependencies:
- workbox-background-sync "6.5.4"
- workbox-core "6.5.4"
- workbox-routing "6.5.4"
- workbox-strategies "6.5.4"
-
-workbox-navigation-preload@6.5.4:
- version "6.5.4"
- resolved "https://registry.yarnpkg.com/workbox-navigation-preload/-/workbox-navigation-preload-6.5.4.tgz#ede56dd5f6fc9e860a7e45b2c1a8f87c1c793212"
- integrity sha512-IIwf80eO3cr8h6XSQJF+Hxj26rg2RPFVUmJLUlM0+A2GzB4HFbQyKkrgD5y2d84g2IbJzP4B4j5dPBRzamHrng==
- dependencies:
- workbox-core "6.5.4"
-
-workbox-precaching@6.5.4:
- version "6.5.4"
- resolved "https://registry.yarnpkg.com/workbox-precaching/-/workbox-precaching-6.5.4.tgz#740e3561df92c6726ab5f7471e6aac89582cab72"
- integrity sha512-hSMezMsW6btKnxHB4bFy2Qfwey/8SYdGWvVIKFaUm8vJ4E53JAY+U2JwLTRD8wbLWoP6OVUdFlXsTdKu9yoLTg==
- dependencies:
- workbox-core "6.5.4"
- workbox-routing "6.5.4"
- workbox-strategies "6.5.4"
-
-workbox-range-requests@6.5.4:
- version "6.5.4"
- resolved "https://registry.yarnpkg.com/workbox-range-requests/-/workbox-range-requests-6.5.4.tgz#86b3d482e090433dab38d36ae031b2bb0bd74399"
- integrity sha512-Je2qR1NXCFC8xVJ/Lux6saH6IrQGhMpDrPXWZWWS8n/RD+WZfKa6dSZwU+/QksfEadJEr/NfY+aP/CXFFK5JFg==
- dependencies:
- workbox-core "6.5.4"
-
-workbox-recipes@6.5.4:
- version "6.5.4"
- resolved "https://registry.yarnpkg.com/workbox-recipes/-/workbox-recipes-6.5.4.tgz#cca809ee63b98b158b2702dcfb741b5cc3e24acb"
- integrity sha512-QZNO8Ez708NNwzLNEXTG4QYSKQ1ochzEtRLGaq+mr2PyoEIC1xFW7MrWxrONUxBFOByksds9Z4//lKAX8tHyUA==
- dependencies:
- workbox-cacheable-response "6.5.4"
- workbox-core "6.5.4"
- workbox-expiration "6.5.4"
- workbox-precaching "6.5.4"
- workbox-routing "6.5.4"
- workbox-strategies "6.5.4"
-
-workbox-routing@6.5.4:
- version "6.5.4"
- resolved "https://registry.yarnpkg.com/workbox-routing/-/workbox-routing-6.5.4.tgz#6a7fbbd23f4ac801038d9a0298bc907ee26fe3da"
- integrity sha512-apQswLsbrrOsBUWtr9Lf80F+P1sHnQdYodRo32SjiByYi36IDyL2r7BH1lJtFX8fwNHDa1QOVY74WKLLS6o5Pg==
- dependencies:
- workbox-core "6.5.4"
-
-workbox-strategies@6.5.4:
- version "6.5.4"
- resolved "https://registry.yarnpkg.com/workbox-strategies/-/workbox-strategies-6.5.4.tgz#4edda035b3c010fc7f6152918370699334cd204d"
- integrity sha512-DEtsxhx0LIYWkJBTQolRxG4EI0setTJkqR4m7r4YpBdxtWJH1Mbg01Cj8ZjNOO8etqfA3IZaOPHUxCs8cBsKLw==
- dependencies:
- workbox-core "6.5.4"
-
-workbox-streams@6.5.4:
- version "6.5.4"
- resolved "https://registry.yarnpkg.com/workbox-streams/-/workbox-streams-6.5.4.tgz#1cb3c168a6101df7b5269d0353c19e36668d7d69"
- integrity sha512-FXKVh87d2RFXkliAIheBojBELIPnWbQdyDvsH3t74Cwhg0fDheL1T8BqSM86hZvC0ZESLsznSYWw+Va+KVbUzg==
- dependencies:
- workbox-core "6.5.4"
- workbox-routing "6.5.4"
-
-workbox-sw@6.5.4:
- version "6.5.4"
- resolved "https://registry.yarnpkg.com/workbox-sw/-/workbox-sw-6.5.4.tgz#d93e9c67924dd153a61367a4656ff4d2ae2ed736"
- integrity sha512-vo2RQo7DILVRoH5LjGqw3nphavEjK4Qk+FenXeUsknKn14eCNedHOXWbmnvP4ipKhlE35pvJ4yl4YYf6YsJArA==
-
-workbox-webpack-plugin@^6.5.4:
- version "6.5.4"
- resolved "https://registry.yarnpkg.com/workbox-webpack-plugin/-/workbox-webpack-plugin-6.5.4.tgz#baf2d3f4b8f435f3469887cf4fba2b7fac3d0fd7"
- integrity sha512-LmWm/zoaahe0EGmMTrSLUi+BjyR3cdGEfU3fS6PN1zKFYbqAKuQ+Oy/27e4VSXsyIwAw8+QDfk1XHNGtZu9nQg==
- dependencies:
- fast-json-stable-stringify "^2.1.0"
- pretty-bytes "^5.4.1"
- upath "^1.2.0"
- webpack-sources "^1.4.3"
- workbox-build "6.5.4"
-
-workbox-window@6.5.4, workbox-window@^6.5.4:
- version "6.5.4"
- resolved "https://registry.yarnpkg.com/workbox-window/-/workbox-window-6.5.4.tgz#d991bc0a94dff3c2dbb6b84558cff155ca878e91"
- integrity sha512-HnLZJDwYBE+hpG25AQBO8RUWBJRaCsI9ksQJEp3aCOFCaG5kqaToAYXFRAHxzRluM2cQbGzdQF5rjKPWPA1fug==
- dependencies:
- "@types/trusted-types" "^2.0.2"
- workbox-core "6.5.4"
-
-wrap-ansi@^5.1.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09"
- integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==
- dependencies:
- ansi-styles "^3.2.0"
- string-width "^3.0.0"
- strip-ansi "^5.0.0"
-
-wrappy@1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
- integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
-
-ws@7.4.6:
- version "7.4.6"
- resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c"
- integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==
-
-ws@7.5.3:
- version "7.5.3"
- resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.3.tgz#160835b63c7d97bfab418fc1b8a9fced2ac01a74"
- integrity sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==
-
-ws@^7.3.1, ws@^7.4.0:
- version "7.5.8"
- resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.8.tgz#ac2729881ab9e7cbaf8787fe3469a48c5c7f636a"
- integrity sha512-ri1Id1WinAX5Jqn9HejiGb8crfRio0Qgu8+MtL36rlTA6RLsMdWt1Az/19A2Qij6uSHUMphEFaTKa4WG+UNHNw==
-
-ws@^7.4.5:
- version "7.5.9"
- resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591"
- integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==
-
-ws@^8.5.0:
- version "8.9.0"
- resolved "https://registry.yarnpkg.com/ws/-/ws-8.9.0.tgz#2a994bb67144be1b53fe2d23c53c028adeb7f45e"
- integrity sha512-Ja7nszREasGaYUYCI2k4lCKIRTt+y7XuqVoHR44YpI49TtryyqbqvDMn5eqfW7e6HzTukDRIsXqzVHScqRcafg==
-
-xtend@^4.0.1, xtend@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
- integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
-
-y18n@^4.0.0:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf"
- integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==
-
-yallist@^2.1.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
- integrity sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==
-
-yallist@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
- integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
-
-yaml@^1.10.2:
- version "1.10.2"
- resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b"
- integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
-
-yaml@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.1.1.tgz#1e06fb4ca46e60d9da07e4f786ea370ed3c3cfec"
- integrity sha512-o96x3OPo8GjWeSLF+wOAbrPfhFOGY0W00GNaxCDv+9hkcDJEnev1yh8S7pgHF0ik6zc8sQLuL8hjHjJULZp8bw==
-
-yargs-parser@^13.1.2:
- version "13.1.2"
- resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38"
- integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==
- dependencies:
- camelcase "^5.0.0"
- decamelize "^1.2.0"
-
-yargs@^13.2.4:
- version "13.3.2"
- resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd"
- integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==
- dependencies:
- cliui "^5.0.0"
- find-up "^3.0.0"
- get-caller-file "^2.0.1"
- require-directory "^2.1.1"
- require-main-filename "^2.0.0"
- set-blocking "^2.0.0"
- string-width "^3.0.0"
- which-module "^2.0.0"
- y18n "^4.0.0"
- yargs-parser "^13.1.2"
-
-yocto-queue@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
- integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
-
-yocto-queue@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251"
- integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==
-
-zustand@^4.0.0-rc.0:
- version "4.0.0-rc.1"
- resolved "https://registry.yarnpkg.com/zustand/-/zustand-4.0.0-rc.1.tgz#ec30a3afc03728adec7e1bd7bcc3592176372201"
- integrity sha512-qgcs7zLqBdHu0PuT3GW4WCIY5SgXdsv30GQMu9Qpp1BA2aS+sNS8l4x0hWuyEhjXkN+701aGWawhKDv6oWJAcw==
- dependencies:
- use-sync-external-store "1.1.0"
-
-zwitch@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-2.0.2.tgz#91f8d0e901ffa3d66599756dde7f57b17c95dce1"
- integrity sha512-JZxotl7SxAJH0j7dN4pxsTV6ZLXoLdGME+PsjkL/DaBrVryK9kTGq06GfKrwcSOqypP+fdXGoCHE36b99fWVoA==
diff --git a/external/partners/all_test.go b/external/partners/all_test.go
deleted file mode 100755
index 8d84882a1..000000000
--- a/external/partners/all_test.go
+++ /dev/null
@@ -1,87 +0,0 @@
-package partners
-
-import (
- "net/http"
- "sync"
- "testing"
- "time"
-
- "github.com/gin-contrib/cors"
- "github.com/gin-gonic/gin"
- "github.com/stretchr/testify/assert"
- "github.com/yearn/ydaemon/common/env"
-)
-
-func newRouter() *gin.Engine {
- gin.EnableJsonDecoderDisallowUnknownFields()
- router := gin.New()
- router.Use(gin.Recovery())
- corsConf := cors.Config{
- AllowAllOrigins: true,
- AllowMethods: []string{"GET", "HEAD"},
- AllowHeaders: []string{`Origin`, `Content-Length`, `Content-Type`, `Authorization`},
- }
- router.Use(cors.New(corsConf))
- env.SUPPORTED_CHAIN_IDS = append(env.SUPPORTED_CHAIN_IDS, 4545456)
-
- {
- c := Controller{}
- router.GET(`partners/count`, c.CountAllPartners)
- router.GET(`partners/all`, c.GetAllPartners)
- router.GET(`:chainID/partners/all`, c.GetPartners)
- router.GET(`:chainID/partners/:addressOrName`, c.GetPartner)
- }
-
- return router
-}
-
-func TestPartners(t *testing.T) {
- //Init the server as non-blocking mode
- go newRouter().Run(":8081")
- time.Sleep(10 * time.Second)
-
- //Init the daemons as blocking mode: we want to wait for them to complete before we continue
- wg := sync.WaitGroup{}
- wg.Add(5)
- LoadPartners(1, &wg)
- LoadPartners(10, &wg)
- LoadPartners(250, &wg)
- LoadPartners(42161, &wg)
- LoadPartners(42, &wg)
- wg.Wait()
-
- FetchPartnersFromFiles(1)
- FetchPartnersFromFiles(10)
- FetchPartnersFromFiles(250)
- FetchPartnersFromFiles(42161)
- FetchPartnersFromFiles(42)
-
- //Testing the a meta paths - Legacy
- resp, err := http.Get(`http://localhost:8081/partners/count`)
- assert.NoError(t, err)
- assert.Equal(t, http.StatusOK, resp.StatusCode)
- resp, err = http.Get(`http://localhost:8081/partners/all`)
- assert.NoError(t, err)
- assert.Equal(t, http.StatusOK, resp.StatusCode)
- resp, err = http.Get(`http://localhost:8081/1/partners/all`)
- assert.NoError(t, err)
- assert.Equal(t, http.StatusOK, resp.StatusCode)
- resp, err = http.Get(`http://localhost:8081/250/partners/all`)
- assert.NoError(t, err)
- assert.Equal(t, http.StatusOK, resp.StatusCode)
- resp, err = http.Get(`http://localhost:8081/1/partners/inverse`)
- assert.NoError(t, err)
- assert.Equal(t, http.StatusOK, resp.StatusCode)
- resp, err = http.Get(`http://localhost:8081/1/partners/0x926dF14a23BE491164dCF93f4c468A50ef659D5B`)
- assert.NoError(t, err)
- assert.Equal(t, http.StatusOK, resp.StatusCode)
- resp, err = http.Get(`http://localhost:8081/1/partners/0x926dF14a23BE491164dCF93f4c468A50ef659D5A`)
- assert.NoError(t, err)
- assert.Equal(t, http.StatusBadRequest, resp.StatusCode)
- resp, err = http.Get(`http://localhost:8081/1/partners/major`)
- assert.NoError(t, err)
- assert.Equal(t, http.StatusBadRequest, resp.StatusCode)
- resp, err = http.Get(`http://localhost:8081/250/partners/inverse`)
- assert.NoError(t, err)
- assert.Equal(t, http.StatusBadRequest, resp.StatusCode)
-}
diff --git a/external/partners/route.partners.all.go b/external/partners/route.partners.all.go
index 098697b39..3840d8dd3 100755
--- a/external/partners/route.partners.all.go
+++ b/external/partners/route.partners.all.go
@@ -11,7 +11,7 @@ import (
// GetAllPartners will return all the partners informations, no matter the chainID.
func (y Controller) GetAllPartners(c *gin.Context) {
allPartners := make(map[uint64]map[string]*TPartners)
- for _, chainID := range env.SUPPORTED_CHAIN_IDS {
+ for chainID := range env.CHAINS {
partners := partnersByAddress[chainID]
for _, partner := range partners {
if _, ok := allPartners[chainID]; !ok {
diff --git a/external/partners/route.partners.count.go b/external/partners/route.partners.count.go
index 791dd9c7a..775b835be 100755
--- a/external/partners/route.partners.count.go
+++ b/external/partners/route.partners.count.go
@@ -11,7 +11,7 @@ import (
func (y Controller) CountAllPartners(c *gin.Context) {
total := uint64(0)
allPartnersCount := make(map[uint64]uint64)
- for _, chainID := range env.SUPPORTED_CHAIN_IDS {
+ for chainID := range env.CHAINS {
allPartnersCount[chainID] = uint64(len(partnersByAddress[chainID]))
total += allPartnersCount[chainID]
}
diff --git a/external/prices/route.prices.all.go b/external/prices/route.prices.all.go
index 0de1fa793..f41700882 100755
--- a/external/prices/route.prices.all.go
+++ b/external/prices/route.prices.all.go
@@ -16,7 +16,7 @@ func (y Controller) GetAllPrices(c *gin.Context) {
allPrices := make(map[uint64]map[string]*bigNumber.Int)
allPricesHumanized := make(map[uint64]map[string]float64)
- for _, chainID := range env.SUPPORTED_CHAIN_IDS {
+ for chainID := range env.CHAINS {
allChainPrices := prices.MapPrices(chainID)
for key, price := range allChainPrices {
if _, ok := allPrices[chainID]; !ok {
diff --git a/external/strategies/route.reports.all.go b/external/strategies/route.reports.all.go
index 800766e29..c39a72bc7 100755
--- a/external/strategies/route.reports.all.go
+++ b/external/strategies/route.reports.all.go
@@ -35,8 +35,8 @@ func (y Controller) GetReports(c *gin.Context) {
return
}
- graphQLEndpoint, ok := env.THEGRAPH_ENDPOINTS[chainID]
- if !ok {
+ graphQLEndpoint := env.CHAINS[chainID].SubgraphURI
+ if graphQLEndpoint == "" {
logs.Error("No graph endpoint for chainID", chainID)
c.String(http.StatusInternalServerError, "impossible to fetch subgraph")
return
diff --git a/external/tokens/route.tokens.all.go b/external/tokens/route.tokens.all.go
index 357cdbace..d8c4453d4 100755
--- a/external/tokens/route.tokens.all.go
+++ b/external/tokens/route.tokens.all.go
@@ -30,7 +30,7 @@ type TAllTokens struct {
func (y Controller) GetAllTokens(c *gin.Context) {
localization := helpers.SafeString(getQuery(c, "loc"), "en")
allTokens := make(map[uint64]map[string]TAllTokens)
- for _, chainID := range env.SUPPORTED_CHAIN_IDS {
+ for chainID := range env.CHAINS {
tokenList, _ := store.ListERC20(chainID)
for _, token := range tokenList {
if _, ok := allTokens[chainID]; !ok {
diff --git a/external/tokensList/routes.go b/external/tokensList/routes.go
index b6494a282..34ff3a920 100644
--- a/external/tokensList/routes.go
+++ b/external/tokensList/routes.go
@@ -15,7 +15,6 @@ import (
"github.com/yearn/ydaemon/internal/models"
"github.com/yearn/ydaemon/internal/multicalls"
"github.com/yearn/ydaemon/internal/prices"
- "github.com/yearn/ydaemon/internal/tokens"
"github.com/yearn/ydaemon/processes/tokenList"
)
@@ -83,7 +82,7 @@ func GetYearnTokenList(c *gin.Context) {
** available, we add the price to the chainToken struct. Then, we add the chainToken struct to
** the tokenBalanceMap map using the chainCoin address as the key.
**********************************************************************************************/
- chainCoin := tokens.COIN_PER_CHAIN[chainID]
+ chainCoin := env.CHAINS[chainID].Coin
chainCoinPrice, ok := prices.FindPrice(chainID, chainCoin.Address)
chainToken := models.TYearnTokenListToken{
TTokenListToken: models.TTokenListToken{
@@ -144,7 +143,7 @@ func GetTokenList(c *gin.Context) {
/**********************************************************************************************
** Retrieve the MapTokenList for each chainID and return it as a map of chainID to token list.
**********************************************************************************************/
- for _, chainID := range env.SUPPORTED_CHAIN_IDS {
+ for chainID := range env.CHAINS {
tokenMap, _ := store.ListERC20(chainID)
for _, token := range tokenMap {
list.Tokens = append(list.Tokens, models.TTokenListToken{
diff --git a/external/vaults/models.go b/external/vaults/models.go
index 1d56103e0..a45670e28 100755
--- a/external/vaults/models.go
+++ b/external/vaults/models.go
@@ -127,7 +127,7 @@ type TExternalERC20Token struct {
// TExternalVault is the struct containing the information about a vault.
type TExternalVault struct {
Address string `json:"address"`
- Type models.TVaultType `json:"type"`
+ Type models.TTokenType `json:"type"`
Symbol string `json:"symbol"`
DisplaySymbol string `json:"display_symbol"`
FormatedSymbol string `json:"formated_symbol"`
diff --git a/external/vaults/route.strategies.all.go b/external/vaults/route.strategies.all.go
index 55b29a40e..d5713439b 100644
--- a/external/vaults/route.strategies.all.go
+++ b/external/vaults/route.strategies.all.go
@@ -25,7 +25,7 @@ func (y Controller) GetAllStrategies(c *gin.Context) {
data := []TStrategy{}
allVaults := vaults.ListVaults(chainID)
for _, currentVault := range allVaults {
- if helpers.Contains(env.BLACKLISTED_VAULTS[chainID], currentVault.Address) {
+ if helpers.Contains(env.CHAINS[chainID].BlacklistedVaults, currentVault.Address) {
continue
}
vaultStrategies := strategies.ListStrategiesForVault(chainID, currentVault.Address)
diff --git a/external/vaults/route.vaults.all.go b/external/vaults/route.vaults.all.go
index 1e21c2947..01c5a2e67 100755
--- a/external/vaults/route.vaults.all.go
+++ b/external/vaults/route.vaults.all.go
@@ -63,7 +63,7 @@ func (y Controller) GetAllVaults(c *gin.Context) {
allVaults := vaults.ListVaults(chainID)
for _, currentVault := range allVaults {
vaultAddress := currentVault.Address
- if helpers.Contains(env.BLACKLISTED_VAULTS[chainID], vaultAddress) {
+ if helpers.Contains(env.CHAINS[chainID].BlacklistedVaults, vaultAddress) {
continue
}
diff --git a/external/vaults/route.vaults.allchains.go b/external/vaults/route.vaults.allchains.go
index e024d074b..239552ecc 100755
--- a/external/vaults/route.vaults.allchains.go
+++ b/external/vaults/route.vaults.allchains.go
@@ -4,13 +4,10 @@ import (
"net/http"
"strings"
- "time"
-
"github.com/ethereum/go-ethereum/common"
"github.com/gin-gonic/gin"
"github.com/yearn/ydaemon/common/env"
"github.com/yearn/ydaemon/common/helpers"
- "github.com/yearn/ydaemon/common/logs"
"github.com/yearn/ydaemon/common/sort"
"github.com/yearn/ydaemon/internal/strategies"
"github.com/yearn/ydaemon/internal/vaults"
@@ -18,8 +15,6 @@ import (
// GetAllVaultsForAllChains will return a list of all vaults for all chains
func (y Controller) GetAllVaultsForAllChains(c *gin.Context) {
- now := time.Now()
- logs.Info(now)
/** 🔵 - Yearn *************************************************************************************
** orderBy: A string that determines the order in which the vaults are returned. It is obtained
** from the 'orderBy' query parameter in the request. If the parameter is not provided,
@@ -119,7 +114,7 @@ func (y Controller) GetAllVaultsForAllChains(c *gin.Context) {
for _, chainID := range chains {
vaultsForChain := vaults.ListVaults(chainID)
for _, currentVault := range vaultsForChain {
- if helpers.Contains(env.BLACKLISTED_VAULTS[chainID], currentVault.Address) {
+ if helpers.Contains(env.CHAINS[chainID].BlacklistedVaults, currentVault.Address) {
continue
}
newVault := NewVault().AssignTVault(currentVault)
@@ -226,6 +221,5 @@ func (y Controller) GetAllVaultsForAllChains(c *gin.Context) {
}
data = data[start:end]
- logs.Success(time.Since(now))
c.JSON(http.StatusOK, data)
}
diff --git a/external/vaults/route.vaults.blacklisted.go b/external/vaults/route.vaults.blacklisted.go
index 13c19d270..bcd1d7d35 100755
--- a/external/vaults/route.vaults.blacklisted.go
+++ b/external/vaults/route.vaults.blacklisted.go
@@ -4,6 +4,7 @@ import (
"net/http"
"strconv"
+ "github.com/ethereum/go-ethereum/common"
"github.com/gin-gonic/gin"
"github.com/yearn/ydaemon/common/env"
"github.com/yearn/ydaemon/common/helpers"
@@ -13,9 +14,13 @@ import (
func (y Controller) GetBlacklistedVaults(c *gin.Context) {
chainID := helpers.SafeString(getQuery(c, "chainID"), "0")
if chainID == "0" {
- c.JSON(http.StatusOK, env.BLACKLISTED_VAULTS)
+ blacklistedVaults := []common.Address{}
+ for _, chain := range env.CHAINS {
+ blacklistedVaults = append(blacklistedVaults, chain.BlacklistedVaults...)
+ }
+ c.JSON(http.StatusOK, blacklistedVaults)
} else {
chainIDAsUint, _ := strconv.ParseUint(chainID, 10, 64)
- c.JSON(http.StatusOK, env.BLACKLISTED_VAULTS[chainIDAsUint])
+ c.JSON(http.StatusOK, env.CHAINS[chainIDAsUint].BlacklistedVaults)
}
}
diff --git a/external/vaults/route.vaults.earned.go b/external/vaults/route.vaults.earned.go
index eab3dfc50..4aa80f78e 100755
--- a/external/vaults/route.vaults.earned.go
+++ b/external/vaults/route.vaults.earned.go
@@ -53,8 +53,8 @@ func (y Controller) GetEarnedPerVaultPerUser(c *gin.Context) {
}
vaultsAddressesStr := strings.Split(strings.ToLower(c.Param(`vaults`)), `,`)
- graphQLEndpoint, ok := env.THEGRAPH_ENDPOINTS[chainID]
- if !ok {
+ graphQLEndpoint := env.CHAINS[chainID].SubgraphURI
+ if graphQLEndpoint == "" {
logs.Error(`No graph endpoint for chainID`, chainID)
c.String(http.StatusInternalServerError, `impossible to fetch subgraph`)
return
@@ -229,6 +229,18 @@ func (y Controller) GetEarnedPerVaultPerUser(c *gin.Context) {
tokenPrice, _ := prices.FindPrice(chainID, addresses.ToAddress(vaultAddress))
realizedGainsUSD := helpers.GetHumanizedValue(realizedGains, int(token.Decimals), tokenPrice)
unrealizedGainsUSD := helpers.GetHumanizedValue(unrealizedGains, int(token.Decimals), tokenPrice)
+ if realizedGains.Lt(bigNumber.NewInt(0)) {
+ realizedGains = bigNumber.NewInt(0)
+ }
+ if unrealizedGains.Lt(bigNumber.NewInt(0)) {
+ unrealizedGains = bigNumber.NewInt(0)
+ }
+ if realizedGainsUSD < 0 {
+ realizedGainsUSD = 0
+ }
+ if unrealizedGainsUSD < 0 {
+ unrealizedGainsUSD = 0
+ }
earnedMap[vaultAddress.Address().Hex()] = &TEarned{
RealizedGains: realizedGains.String(),
@@ -260,8 +272,8 @@ func (y Controller) GetEarnedPerUser(c *gin.Context) {
return
}
- graphQLEndpoint, ok := env.THEGRAPH_ENDPOINTS[chainID]
- if !ok {
+ graphQLEndpoint := env.CHAINS[chainID].SubgraphURI
+ if graphQLEndpoint == "" {
logs.Error(`No graph endpoint for chainID`, chainID)
c.String(http.StatusInternalServerError, `impossible to fetch subgraph`)
return
@@ -443,6 +455,18 @@ func (y Controller) GetEarnedPerUser(c *gin.Context) {
}
realizedGainsUSD := helpers.GetHumanizedValue(realizedGains, tokenDecimal, tokenPrice)
unrealizedGainsUSD := helpers.GetHumanizedValue(unrealizedGains, tokenDecimal, tokenPrice)
+ if realizedGains.Lt(bigNumber.NewInt(0)) {
+ realizedGains = bigNumber.NewInt(0)
+ }
+ if unrealizedGains.Lt(bigNumber.NewInt(0)) {
+ unrealizedGains = bigNumber.NewInt(0)
+ }
+ if realizedGainsUSD < 0 {
+ realizedGainsUSD = 0
+ }
+ if unrealizedGainsUSD < 0 {
+ unrealizedGainsUSD = 0
+ }
earnedMap[vaultAddress.Address().Hex()] = &TEarned{
RealizedGains: realizedGains.String(),
@@ -460,3 +484,255 @@ func (y Controller) GetEarnedPerUser(c *gin.Context) {
`earned`: earnedMap,
})
}
+
+// GetEarnedPerUser will, for a given chainID, return the amount earned by an user in all vaults
+func (y Controller) GetEarnedPerUserForAllChains(c *gin.Context) {
+ /** 🔵 - Yearn *************************************************************************************
+ ** chainsStr: A string that represents the chain IDs for which the vaults are to be returned. It is
+ ** obtained from the 'chainIDs' query parameter in the request. The string is split by commas to
+ ** obtain an array of chain IDs.
+ **
+ ** chains: An array of uint64 values that represents the chain IDs for which the vaults are to be
+ ** returned. If the 'chains' query parameter is not provided or is empty, this array defaults to
+ ** all supported chain IDs.
+ **
+ ** The 'chains' array is populated by iterating over the 'chainsStr' array and converting each
+ ** chain ID to a uint64 value. If the conversion is not successful, the chain ID is ignored.
+ **
+ ** The 'chains' array is used to filter the vaults that are returned in the response.
+ **************************************************************************************************/
+ chainsStr := strings.Split(getQuery(c, `chainIDs`), `,`)
+ chains := []uint64{}
+ if len(chainsStr) == 0 || (len(chainsStr) == 1 && chainsStr[0] == ``) {
+ chains = env.SUPPORTED_CHAIN_IDS
+ } else {
+ for _, chainStr := range chainsStr {
+ chain, ok := helpers.AssertChainID(chainStr)
+ if !ok {
+ continue
+ }
+ chains = append(chains, chain)
+ }
+ }
+
+ userAddress, ok := helpers.AssertAddress(c.Param("address"), 1)
+ if !ok {
+ c.String(http.StatusBadRequest, "invalid address")
+ return
+ }
+
+ earnedMap := make(map[uint64]map[string]*TEarned)
+ totalRealizedGainsUSD := 0.0
+ totalUnrealizedGainsUSD := 0.0
+ for _, chainID := range chains {
+ earnedMap[chainID] = make(map[string]*TEarned)
+ graphQLEndpoint := env.CHAINS[chainID].SubgraphURI
+ if graphQLEndpoint == "" {
+ logs.Error(`No graph endpoint for chainID`, chainID)
+ c.String(http.StatusInternalServerError, `impossible to fetch subgraph`)
+ return
+ }
+
+ client := graphql.NewClient(graphQLEndpoint)
+ request := graphQLRequestForUser(userAddress.Hex(), []string{})
+ var response models.TFIFOForUserForVault
+ if err := client.Run(context.Background(), request, &response); err != nil {
+ logs.Error(err)
+ c.String(http.StatusInternalServerError, `invalid graphQL response`)
+ return
+ }
+
+ listOfVaults := response.AccountVaultPositions
+ for _, currentVault := range listOfVaults {
+ vaultAddress := addresses.ToMixedcase(currentVault.Vault.Id)
+ pricePerShare := bigNumber.NewInt(0).SetString(currentVault.Vault.LatestUpdate.PricePerShare)
+ decimals := bigNumber.NewInt(currentVault.Vault.ShareToken.Decimals)
+ decimals = bigNumber.NewInt(0).Exp(bigNumber.NewInt(10), decimals, nil)
+ decimalsFloat := bigNumber.NewFloat(0).SetInt(decimals)
+ allDepositsPricePerShare := []*bigNumber.Int{}
+ allWithdrawalsPricePerShare := []*bigNumber.Int{}
+ allShareMinted := []*bigNumber.Int{}
+ allShareBurned := []*bigNumber.Int{}
+
+ /**************************************************************************************************
+ ** Processing all the updates to get:
+ ** - a list of all deposits price per share
+ ** - a list of all withdrawals price per share
+ ** - a list of all share minted
+ ** - a list of all share burned
+ ** We will have as many elements in depositsPricePerShare as in sharesMinted and as many elements
+ ** in withdrawalsPricePerShare as in sharesBurned, which will allow us to find, for a given index
+ ** in sharesMinted, the corresponding deposit price per share.
+ **************************************************************************************************/
+ for _, update := range currentVault.Updates {
+ deposit := bigNumber.NewInt().SetString(update.Deposits)
+ withdrawal := bigNumber.NewInt().SetString(update.Withdrawals)
+ sharesBurnt := bigNumber.NewInt().SetString(update.SharesBurnt)
+ sharesMinted := bigNumber.NewInt().SetString(update.SharesMinted)
+ sharesReceived := bigNumber.NewInt().SetString(update.SharesReceived)
+ sharesSent := bigNumber.NewInt().SetString(update.SharesSent)
+ tokensSent := bigNumber.NewInt().SetString(update.TokensSent)
+ tokensReceived := bigNumber.NewInt().SetString(update.TokensReceived)
+
+ if deposit != nil && !deposit.IsZero() {
+ pricePerShareAtThisTime := bigNumber.NewInt(0).Mul(deposit, decimals).Div(sharesMinted)
+ allDepositsPricePerShare = append(allDepositsPricePerShare, pricePerShareAtThisTime)
+ allShareMinted = append(allShareMinted, sharesMinted)
+ }
+ if withdrawal != nil && !withdrawal.IsZero() {
+ pricePerShareAtThisTime := bigNumber.NewInt(0).Mul(withdrawal, decimals).Div(sharesBurnt)
+ allWithdrawalsPricePerShare = append(allWithdrawalsPricePerShare, pricePerShareAtThisTime)
+ allShareBurned = append(allShareBurned, sharesBurnt)
+ }
+
+ if sharesReceived != nil && !sharesReceived.IsZero() {
+ pricePerShareAtThisTime := bigNumber.NewInt(0).Mul(tokensReceived, decimals).Div(sharesReceived)
+ allDepositsPricePerShare = append(allDepositsPricePerShare, pricePerShareAtThisTime)
+ allShareMinted = append(allShareMinted, sharesReceived)
+ }
+ if sharesSent != nil && !sharesSent.IsZero() {
+ pricePerShareAtThisTime := bigNumber.NewInt(0).Mul(tokensSent, decimals).Div(sharesSent)
+ allWithdrawalsPricePerShare = append(allWithdrawalsPricePerShare, pricePerShareAtThisTime)
+ allShareBurned = append(allShareBurned, sharesSent)
+ }
+ }
+
+ /**************************************************************************************************
+ ** First step is to compute the realized gains or losses. Plan is to use the FIFO method, aka
+ ** First In First Out. In order to do so, we will iterate over all withdrawals (allSharesBurned)
+ ** and compare the amount of shares burned with the oldest shares minted. This oldest shares minted
+ ** will act like if it was a queue, meaning that we will withdraw X shares burned from it, with it's
+ ** own pricePerShare, until it is empty, then we will move to the next oldest shares minted and
+ ** so on.
+ **
+ ** Example:
+ **
+ ** Shares minted: [100, 100] [pricePerShare: 1, 1.2]
+ ** Shares burned: [50, 80] [pricePerShare: 1.5, 1.5]
+ **
+ ** Step 1:
+ ** - 50 shares burned from the first shares minted, which has a pricePerShare of 1
+ ** - New Shares minted queue: [50, 100] [pricePerShare: 1, 1.2]
+ ** - FIFO earned: 50 * 1.5 - 50 * 1 = 50 * 0.5 = 25
+ ** - Total FIFO earned: 25
+ **
+ ** Step 2:
+ ** - 50 shares burned from the first shares minted, which has a pricePerShare of 1 (max possible)
+ ** - 30 shares burned from the second shares minted, which has a pricePerShare of 1.2
+ ** - New Shares minted queue: [0, 70] [pricePerShare: 1, 1.2]
+ ** - FIFO earned: 50 * 1.5 - 50 * 1 = 50 * 0.5 = 25
+ ** - FIFO earned: 30 * 1.5 - 30 * 1.2 = 30 * 0.3 = 9
+ ** - Total FIFO earned: 25 + 9 = 34
+ **************************************************************************************************/
+ fifoRealizedGains := []*bigNumber.Int{}
+ latestMintIndex := 0
+ for index := 0; index < len(allShareBurned); {
+ currentShareBurned := allShareBurned[index]
+ if latestMintIndex >= len(allShareMinted) {
+ break
+ }
+ latestSharesMinted := allShareMinted[latestMintIndex]
+
+ latestSharesMintedPPS := allDepositsPricePerShare[latestMintIndex]
+ currentShareBurnedPPS := allWithdrawalsPricePerShare[index]
+ currentShareBurnedValue := bigNumber.NewInt(0).Mul(currentShareBurned, currentShareBurnedPPS).Div(decimals)
+
+ gainOrLoss := bigNumber.NewInt(0)
+ if currentShareBurned.Gt(latestSharesMinted) {
+ mintedShareValueForRemainingAmountOfShares := bigNumber.NewInt(0).
+ Mul(latestSharesMinted, latestSharesMintedPPS).
+ Div(decimals)
+
+ gainOrLoss = bigNumber.NewInt(0).Sub(currentShareBurnedValue, mintedShareValueForRemainingAmountOfShares)
+ allShareMinted[latestMintIndex] = bigNumber.NewInt(0)
+
+ latestMintIndex++
+ } else if currentShareBurned.Lte(latestSharesMinted) {
+ mintedShareValueForThisAmountOfBurnedShares := bigNumber.NewInt(0).
+ Mul(currentShareBurned, latestSharesMintedPPS).
+ Div(decimals)
+
+ gainOrLoss = bigNumber.NewInt(0).Sub(currentShareBurnedValue, mintedShareValueForThisAmountOfBurnedShares)
+ allShareMinted[latestMintIndex] = bigNumber.NewInt(0).Sub(allShareMinted[latestMintIndex], currentShareBurned)
+
+ index++
+ if currentShareBurned.Eq(latestSharesMinted) {
+ latestMintIndex++
+ }
+ }
+
+ fifoRealizedGains = append(fifoRealizedGains, gainOrLoss)
+ }
+ realizedGains := bigNumber.NewInt(0)
+ for _, gain := range fifoRealizedGains {
+ realizedGains.Add(realizedGains, gain)
+ }
+
+ /**************************************************************************************************
+ ** Second step is to do almost the same thing for the unrealized gains. We will proceed just like
+ ** we did for the realized gains, but we will use the current price per share and all the
+ ** remaining shares.
+ **************************************************************************************************/
+ fifoUnRealizedGains := []*bigNumber.Int{}
+ currentPPS := bigNumber.NewFloat(0).Div(bigNumber.NewFloat().SetInt(pricePerShare), decimalsFloat)
+ _ = currentPPS
+ for index := range allShareMinted {
+ latestSharesMinted := allShareMinted[index]
+ latestSharesMintedPPS := allDepositsPricePerShare[index]
+
+ mintedValue := bigNumber.NewInt(0).
+ Mul(latestSharesMinted, latestSharesMintedPPS).
+ Div(decimals)
+
+ scaledValue := bigNumber.NewInt(0).
+ Mul(latestSharesMinted, pricePerShare).
+ Div(decimals)
+
+ fifoUnRealizedGains = append(fifoUnRealizedGains, bigNumber.NewInt(0).Sub(scaledValue, mintedValue))
+ }
+ unrealizedGains := bigNumber.NewInt(0)
+ for _, gain := range fifoUnRealizedGains {
+ unrealizedGains.Add(unrealizedGains, gain)
+ }
+
+ tokenDecimal := 18
+ token, ok := store.GetUnderlyingERC20(chainID, addresses.ToAddress(vaultAddress))
+ tokenPrice, _ := prices.FindPrice(chainID, addresses.ToAddress(vaultAddress))
+ if !ok {
+ tokenDecimal = int(token.Decimals)
+ }
+ if tokenPrice == nil {
+ tokenPrice = bigNumber.NewInt(0)
+ }
+ realizedGainsUSD := helpers.GetHumanizedValue(realizedGains, tokenDecimal, tokenPrice)
+ unrealizedGainsUSD := helpers.GetHumanizedValue(unrealizedGains, tokenDecimal, tokenPrice)
+ if realizedGains.Lt(bigNumber.NewInt(0)) {
+ realizedGains = bigNumber.NewInt(0)
+ }
+ if unrealizedGains.Lt(bigNumber.NewInt(0)) {
+ unrealizedGains = bigNumber.NewInt(0)
+ }
+ if realizedGainsUSD < 0 {
+ realizedGainsUSD = 0
+ }
+ if unrealizedGainsUSD < 0 {
+ unrealizedGainsUSD = 0
+ }
+
+ earnedMap[chainID][vaultAddress.Address().Hex()] = &TEarned{
+ RealizedGains: realizedGains.String(),
+ RealizedGainsUSD: realizedGainsUSD,
+ UnrealizedGains: unrealizedGains.String(),
+ UnrealizedGainsUSD: unrealizedGainsUSD,
+ }
+ totalRealizedGainsUSD += realizedGainsUSD
+ totalUnrealizedGainsUSD += unrealizedGainsUSD
+ }
+ }
+
+ c.JSON(http.StatusOK, gin.H{
+ `totalRealizedGainsUSD`: totalRealizedGainsUSD,
+ `totalUnrealizedGainsUSD`: totalUnrealizedGainsUSD,
+ `earned`: earnedMap,
+ })
+}
diff --git a/external/vaults/route.vaults.harvests.go b/external/vaults/route.vaults.harvests.go
index 96797a88c..29af4c96f 100755
--- a/external/vaults/route.vaults.harvests.go
+++ b/external/vaults/route.vaults.harvests.go
@@ -34,8 +34,8 @@ func (y Controller) GetHarvestsForVault(c *gin.Context) {
orderBy := helpers.SafeString(getQuery(c, `orderBy`), `timestamp`)
orderDirection := helpers.SafeString(getQuery(c, `orderDirection`), `desc`)
- graphQLEndpoint, ok := env.THEGRAPH_ENDPOINTS[chainID]
- if !ok {
+ graphQLEndpoint := env.CHAINS[chainID].SubgraphURI
+ if graphQLEndpoint == `` {
logs.Error(`No graph endpoint for chainID`, chainID)
c.String(http.StatusInternalServerError, `impossible to fetch subgraph`)
return
diff --git a/external/vaults/route.vaults.retired.go b/external/vaults/route.vaults.retired.go
index 0481f3529..5bc12e360 100755
--- a/external/vaults/route.vaults.retired.go
+++ b/external/vaults/route.vaults.retired.go
@@ -24,7 +24,7 @@ func (y Controller) GetRetiredVaults(c *gin.Context) {
allVaults := vaults.ListVaults(chainID)
for _, currentVault := range allVaults {
vaultAddress := currentVault.Address
- if helpers.Contains(env.BLACKLISTED_VAULTS[chainID], vaultAddress) {
+ if helpers.Contains(env.CHAINS[chainID].BlacklistedVaults, vaultAddress) {
continue
}
diff --git a/external/vaults/route.vaults.tvl.go b/external/vaults/route.vaults.tvl.go
index 3f21d42f6..097a0b942 100755
--- a/external/vaults/route.vaults.tvl.go
+++ b/external/vaults/route.vaults.tvl.go
@@ -14,7 +14,7 @@ func computeChainTVL(chainID uint64, c *gin.Context) float64 {
tvl := 0.0
vaultsList := vaults.ListVaults(chainID)
for _, currentVault := range vaultsList {
- if helpers.Contains(env.BLACKLISTED_VAULTS[chainID], currentVault.Address) {
+ if helpers.Contains(env.CHAINS[chainID].BlacklistedVaults, currentVault.Address) {
continue
}
vaultTVL := vaults.BuildTVL(currentVault)
@@ -28,7 +28,7 @@ func (y Controller) GetAllVaultsTVL(c *gin.Context) {
total := 0.0
var wg sync.WaitGroup
var tvl = make(map[uint64]float64)
- for _, chainID := range env.SUPPORTED_CHAIN_IDS {
+ for chainID := range env.CHAINS {
wg.Add(1)
go func(chainID uint64) {
defer wg.Done()
diff --git a/internal/events/filterNewVault.go b/internal/events/filterNewVault.go
index 76bbdab57..8b9f25993 100644
--- a/internal/events/filterNewVault.go
+++ b/internal/events/filterNewVault.go
@@ -58,7 +58,7 @@ func filterNewExperimentalVault(
BlockHash: log.Event.Raw.BlockHash,
TxIndex: log.Event.Raw.TxIndex,
LogIndex: log.Event.Raw.Index,
- Type: models.VaultTypeExperimental,
+ Type: models.TokenTypeExperimentalVault,
}
syncMap.Store(eventKey, newVault)
}
@@ -107,7 +107,7 @@ func filterNewVaults(
BlockHash: log.Event.Raw.BlockHash,
TxIndex: log.Event.Raw.TxIndex,
LogIndex: log.Event.Raw.Index,
- Type: models.VaultTypeStandard,
+ Type: models.TokenTypeStandardVault,
}
syncMap.Store(eventKey, newVault)
}
@@ -136,10 +136,10 @@ func filterNewVaults(
BlockHash: log.Event.Raw.BlockHash,
TxIndex: log.Event.Raw.TxIndex,
LogIndex: log.Event.Raw.Index,
- Type: models.VaultTypeStandard,
+ Type: models.TokenTypeStandardVault,
}
if log.Event.VaultType.Uint64() == 2 {
- newVault.Type = models.VaultTypeAutomated
+ newVault.Type = models.TokenTypeAutomatedVault
newVault.ManagementFee = 0
}
eventKey := log.Event.Vault.Hex() + `-` + log.Event.Token.Hex() + `-` + log.Event.ApiVersion + `-` + strconv.FormatUint(uint64(log.Event.Raw.BlockNumber), 10)
@@ -186,7 +186,7 @@ func HandleNewVaults(
}
wg := &sync.WaitGroup{}
- for _, registry := range env.YEARN_REGISTRIES[chainID] {
+ for _, registry := range env.CHAINS[chainID].Registries {
_start := start
/******************************************************************************************
@@ -210,9 +210,9 @@ func HandleNewVaults(
** Finally, we will fetch the logs in chunks of MAX_BLOCK_RANGE blocks. This is done to
** avoid hitting some external node providers' rate limits.
******************************************************************************************/
- for chunkStart := _start; chunkStart < *end; chunkStart += env.MAX_BLOCK_RANGE[chainID] {
+ for chunkStart := _start; chunkStart < *end; chunkStart += env.CHAINS[chainID].MaxBlockRange {
wg.Add(2)
- chunkEnd := chunkStart + env.MAX_BLOCK_RANGE[chainID]
+ chunkEnd := chunkStart + env.CHAINS[chainID].MaxBlockRange
if chunkEnd > *end {
chunkEnd = *end
}
@@ -311,8 +311,8 @@ func HandleNewStandardVaults(
** Finally, we will fetch the logs in chunks of MAX_BLOCK_RANGE blocks. This is done to avoid
** hitting some external node providers' rate limits.
**********************************************************************************************/
- for chunkStart := start; chunkStart < *end; chunkStart += env.MAX_BLOCK_RANGE[chainID] {
- chunkEnd := chunkStart + env.MAX_BLOCK_RANGE[chainID]
+ for chunkStart := start; chunkStart < *end; chunkStart += env.CHAINS[chainID].MaxBlockRange {
+ chunkEnd := chunkStart + env.CHAINS[chainID].MaxBlockRange
if chunkEnd > *end {
chunkEnd = *end
}
diff --git a/internal/events/filterReferrerBalanceIncreased.go b/internal/events/filterReferrerBalanceIncreased.go
index dec036442..2245ba50c 100644
--- a/internal/events/filterReferrerBalanceIncreased.go
+++ b/internal/events/filterReferrerBalanceIncreased.go
@@ -25,7 +25,7 @@ import (
**************************************************************************************************/
func filterReferrerBalanceIncreased(chainID uint64, start uint64, end *uint64, syncMap *sync.Map) {
client := ethereum.GetRPC(chainID)
- partnerContract := env.PARTNER_TRACKERS_ADDRESSES[chainID]
+ partnerContract := env.CHAINS[chainID].PartnerContract
partnerContractAddress := partnerContract.Address
currentPartnerContract, _ := contracts.NewYPartnerTracker(partnerContractAddress, client)
@@ -44,8 +44,8 @@ func filterReferrerBalanceIncreased(chainID uint64, start uint64, end *uint64, s
** Note: we don't use start here because we want the full history previous to the end
** to ensure the balance is correct
******************************************************************************************/
- for chunkStart := start; chunkStart < *end; chunkStart += env.MAX_BLOCK_RANGE[chainID] {
- chunkEnd := chunkStart + env.MAX_BLOCK_RANGE[chainID]
+ for chunkStart := start; chunkStart < *end; chunkStart += env.CHAINS[chainID].MaxBlockRange {
+ chunkEnd := chunkStart + env.CHAINS[chainID].MaxBlockRange
if chunkEnd > *end {
chunkEnd = *end
}
diff --git a/internal/events/filterRewardAdded.go b/internal/events/filterRewardAdded.go
index 3b67deb53..f41fa894f 100644
--- a/internal/events/filterRewardAdded.go
+++ b/internal/events/filterRewardAdded.go
@@ -25,7 +25,7 @@ import (
**************************************************************************************************/
func filterRewardAdded(chainID uint64, start uint64, end *uint64, syncMap *sync.Map) {
client := ethereum.GetRPC(chainID)
- contract := env.YBRIBE_V3_ADDRESSES[chainID]
+ contract := env.CHAINS[chainID].YBribeV3Contract
currentVault, _ := contracts.NewYBribeV3(contract.Address, client)
if start == 0 || start < contract.Block {
start = contract.Block
@@ -47,8 +47,8 @@ func filterRewardAdded(chainID uint64, start uint64, end *uint64, syncMap *sync.
** Note: we don't use start here because we want the full history previous to the end
** to ensure the balance is correct
******************************************************************************************/
- for chunkStart := start; chunkStart < *end; chunkStart += env.MAX_BLOCK_RANGE[chainID] {
- chunkEnd := chunkStart + env.MAX_BLOCK_RANGE[chainID]
+ for chunkStart := start; chunkStart < *end; chunkStart += env.CHAINS[chainID].MaxBlockRange {
+ chunkEnd := chunkStart + env.CHAINS[chainID].MaxBlockRange
if chunkEnd > *end {
chunkEnd = *end
}
diff --git a/internal/events/filterStakingPoolAdded.go b/internal/events/filterStakingPoolAdded.go
index 8772d445c..ccb89d5de 100644
--- a/internal/events/filterStakingPoolAdded.go
+++ b/internal/events/filterStakingPoolAdded.go
@@ -29,9 +29,12 @@ import (
**************************************************************************************************/
func filterStakingPoolAdded(chainID uint64, start uint64, end *uint64, asyncMap *sync.Map) {
client := ethereum.GetRPC(chainID)
- stackingReward, ok := env.STACKING_REWARD_ADDRESSES[chainID]
+ stackingReward := env.CHAINS[chainID].StackingRewardContract
+ if (stackingReward.Address == common.Address{}) {
+ return
+ }
contract, err := contracts.NewYOptimismStakingRewardRegistry(stackingReward.Address, client)
- if err != nil || !ok {
+ if err != nil {
logs.Error("Error while fetching StakingPoolAdded event", err)
return
}
@@ -55,8 +58,8 @@ func filterStakingPoolAdded(chainID uint64, start uint64, end *uint64, asyncMap
** Note: we don't use start here because we want the full history previous to the end
** to ensure the balance is correct
******************************************************************************************/
- for chunkStart := start; chunkStart < *end; chunkStart += env.MAX_BLOCK_RANGE[chainID] {
- chunkEnd := chunkStart + env.MAX_BLOCK_RANGE[chainID]
+ for chunkStart := start; chunkStart < *end; chunkStart += env.CHAINS[chainID].MaxBlockRange {
+ chunkEnd := chunkStart + env.CHAINS[chainID].MaxBlockRange
if chunkEnd > *end {
chunkEnd = *end
}
diff --git a/internal/events/filterStrategyAdded.go b/internal/events/filterStrategyAdded.go
index c31d7e266..45da08b6d 100644
--- a/internal/events/filterStrategyAdded.go
+++ b/internal/events/filterStrategyAdded.go
@@ -73,8 +73,8 @@ func filterStrategyAdded(
** Finally, we will fetch the logs in chunks of MAX_BLOCK_RANGE blocks. This is done to
** avoid hitting some external node providers' rate limits.
******************************************************************************************/
- for chunkStart := start; chunkStart < *end; chunkStart += env.MAX_BLOCK_RANGE[vault.ChainID] {
- chunkEnd := chunkStart + env.MAX_BLOCK_RANGE[vault.ChainID]
+ for chunkStart := start; chunkStart < *end; chunkStart += env.CHAINS[vault.ChainID].MaxBlockRange {
+ chunkEnd := chunkStart + env.CHAINS[vault.ChainID].MaxBlockRange
if chunkEnd > *end {
chunkEnd = *end
}
@@ -216,8 +216,8 @@ func filterStrategiesMigrated(
** Finally, we will fetch the logs in chunks of MAX_BLOCK_RANGE blocks. This is done to
** avoid hitting some external node providers' rate limits.
******************************************************************************************/
- for chunkStart := start; chunkStart < *end; chunkStart += env.MAX_BLOCK_RANGE[vault.ChainID] {
- chunkEnd := chunkStart + env.MAX_BLOCK_RANGE[vault.ChainID]
+ for chunkStart := start; chunkStart < *end; chunkStart += env.CHAINS[vault.ChainID].MaxBlockRange {
+ chunkEnd := chunkStart + env.CHAINS[vault.ChainID].MaxBlockRange
if chunkEnd > *end {
chunkEnd = *end
}
diff --git a/internal/events/filterStrategyReported.go b/internal/events/filterStrategyReported.go
index cd25f0199..ad195e1c4 100644
--- a/internal/events/filterStrategyReported.go
+++ b/internal/events/filterStrategyReported.go
@@ -64,8 +64,8 @@ func filterStrategyReportedFor031To043(vault models.TVault, start uint64, end *u
** Finally, we will fetch the logs in chunks of MAX_BLOCK_RANGE blocks. This is done to
** avoid hitting some external node providers' rate limits.
******************************************************************************************/
- for chunkStart := start; chunkStart < *end; chunkStart += env.MAX_BLOCK_RANGE[vault.ChainID] {
- chunkEnd := chunkStart + env.MAX_BLOCK_RANGE[vault.ChainID]
+ for chunkStart := start; chunkStart < *end; chunkStart += env.CHAINS[vault.ChainID].MaxBlockRange {
+ chunkEnd := chunkStart + env.CHAINS[vault.ChainID].MaxBlockRange
if chunkEnd > *end {
chunkEnd = *end
}
@@ -131,8 +131,8 @@ func filterStrategyReportedFor030(vault models.TVault, start uint64, end *uint64
** Finally, we will fetch the logs in chunks of MAX_BLOCK_RANGE blocks. This is done to
** avoid hitting some external node providers' rate limits.
******************************************************************************************/
- for chunkStart := start; chunkStart < *end; chunkStart += env.MAX_BLOCK_RANGE[vault.ChainID] {
- chunkEnd := chunkStart + env.MAX_BLOCK_RANGE[vault.ChainID]
+ for chunkStart := start; chunkStart < *end; chunkStart += env.CHAINS[vault.ChainID].MaxBlockRange {
+ chunkEnd := chunkStart + env.CHAINS[vault.ChainID].MaxBlockRange
if chunkEnd > *end {
chunkEnd = *end
}
@@ -200,8 +200,8 @@ func filterStrategyReportedFor022(vault models.TVault, start uint64, end *uint64
** Finally, we will fetch the logs in chunks of MAX_BLOCK_RANGE blocks. This is done to
** avoid hitting some external node providers' rate limits.
******************************************************************************************/
- for chunkStart := start; chunkStart < *end; chunkStart += env.MAX_BLOCK_RANGE[vault.ChainID] {
- chunkEnd := chunkStart + env.MAX_BLOCK_RANGE[vault.ChainID]
+ for chunkStart := start; chunkStart < *end; chunkStart += env.CHAINS[vault.ChainID].MaxBlockRange {
+ chunkEnd := chunkStart + env.CHAINS[vault.ChainID].MaxBlockRange
if chunkEnd > *end {
chunkEnd = *end
}
diff --git a/internal/events/filterStrategyUpdatePerformanceFee.go b/internal/events/filterStrategyUpdatePerformanceFee.go
index 03c1f6d59..a08f07504 100644
--- a/internal/events/filterStrategyUpdatePerformanceFee.go
+++ b/internal/events/filterStrategyUpdatePerformanceFee.go
@@ -57,8 +57,8 @@ func filterUpdateStrategyPerformanceFee(vault models.TVault, start uint64, end *
** Finally, we will fetch the logs in chunks of MAX_BLOCK_RANGE blocks. This is done to
** avoid hitting some external node providers' rate limits.
******************************************************************************************/
- for chunkStart := start; chunkStart < *end; chunkStart += env.MAX_BLOCK_RANGE[vault.ChainID] {
- chunkEnd := chunkStart + env.MAX_BLOCK_RANGE[vault.ChainID]
+ for chunkStart := start; chunkStart < *end; chunkStart += env.CHAINS[vault.ChainID].MaxBlockRange {
+ chunkEnd := chunkStart + env.CHAINS[vault.ChainID].MaxBlockRange
if chunkEnd > *end {
chunkEnd = *end
}
diff --git a/internal/events/filterTransfer.go b/internal/events/filterTransfer.go
index ec4ef4a96..a22b6c2cf 100644
--- a/internal/events/filterTransfer.go
+++ b/internal/events/filterTransfer.go
@@ -72,8 +72,8 @@ func filterTransfers(
** Finally, we will fetch the logs in chunks of MAX_BLOCK_RANGE blocks. This is done to
** avoid hitting some external node providers' rate limits.
******************************************************************************************/
- for chunkStart := start; chunkStart < *end; chunkStart += env.MAX_BLOCK_RANGE[chainID] {
- chunkEnd := chunkStart + env.MAX_BLOCK_RANGE[chainID]
+ for chunkStart := start; chunkStart < *end; chunkStart += env.CHAINS[chainID].MaxBlockRange {
+ chunkEnd := chunkStart + env.CHAINS[chainID].MaxBlockRange
if chunkEnd > *end {
chunkEnd = *end
}
diff --git a/internal/events/filterUpdateManagement.go b/internal/events/filterUpdateManagement.go
index 2499ca260..c54603126 100644
--- a/internal/events/filterUpdateManagement.go
+++ b/internal/events/filterUpdateManagement.go
@@ -42,8 +42,8 @@ func filterUpdateManagementOneTime(vault models.TVaultsFromRegistry) {
** Finally, we will fetch the logs in chunks of MAX_BLOCK_RANGE blocks. This is done to
** avoid hitting some external node providers' rate limits.
******************************************************************************************/
- for chunkStart := start; chunkStart < *end; chunkStart += env.MAX_BLOCK_RANGE[vault.ChainID] {
- chunkEnd := chunkStart + env.MAX_BLOCK_RANGE[vault.ChainID]
+ for chunkStart := start; chunkStart < *end; chunkStart += env.CHAINS[vault.ChainID].MaxBlockRange {
+ chunkEnd := chunkStart + env.CHAINS[vault.ChainID].MaxBlockRange
if chunkEnd > *end {
chunkEnd = *end
}
diff --git a/internal/events/filterUpdateManagementFee.go b/internal/events/filterUpdateManagementFee.go
index 00fe7a3fd..5d34d2a32 100644
--- a/internal/events/filterUpdateManagementFee.go
+++ b/internal/events/filterUpdateManagementFee.go
@@ -56,8 +56,8 @@ func filterUpdateManagementFee(vault models.TVault, start uint64, end *uint64, a
** Finally, we will fetch the logs in chunks of MAX_BLOCK_RANGE blocks. This is done to
** avoid hitting some external node providers' rate limits.
******************************************************************************************/
- for chunkStart := start; chunkStart < *end; chunkStart += env.MAX_BLOCK_RANGE[vault.ChainID] {
- chunkEnd := chunkStart + env.MAX_BLOCK_RANGE[vault.ChainID]
+ for chunkStart := start; chunkStart < *end; chunkStart += env.CHAINS[vault.ChainID].MaxBlockRange {
+ chunkEnd := chunkStart + env.CHAINS[vault.ChainID].MaxBlockRange
if chunkEnd > *end {
chunkEnd = *end
}
diff --git a/internal/events/filterUpdatePerformanceFee.go b/internal/events/filterUpdatePerformanceFee.go
index 74dd8e6c3..907efc8b3 100644
--- a/internal/events/filterUpdatePerformanceFee.go
+++ b/internal/events/filterUpdatePerformanceFee.go
@@ -56,8 +56,8 @@ func filterUpdatePerformanceFee(vault models.TVault, start uint64, end *uint64,
** Finally, we will fetch the logs in chunks of MAX_BLOCK_RANGE blocks. This is done to
** avoid hitting some external node providers' rate limits.
******************************************************************************************/
- for chunkStart := start; chunkStart < *end; chunkStart += env.MAX_BLOCK_RANGE[vault.ChainID] {
- chunkEnd := chunkStart + env.MAX_BLOCK_RANGE[vault.ChainID]
+ for chunkStart := start; chunkStart < *end; chunkStart += env.CHAINS[vault.ChainID].MaxBlockRange {
+ chunkEnd := chunkStart + env.CHAINS[vault.ChainID].MaxBlockRange
if chunkEnd > *end {
chunkEnd = *end
}
diff --git a/internal/events/filterUpdateRewards.go b/internal/events/filterUpdateRewards.go
index d84e00b43..d316afb65 100644
--- a/internal/events/filterUpdateRewards.go
+++ b/internal/events/filterUpdateRewards.go
@@ -55,8 +55,8 @@ func filterUpdateRewards(vault models.TVault, start uint64, end *uint64, reportM
** Finally, we will fetch the logs in chunks of MAX_BLOCK_RANGE blocks. This is done to
** avoid hitting some external node providers' rate limits.
******************************************************************************************/
- for chunkStart := start; chunkStart < *end; chunkStart += env.MAX_BLOCK_RANGE[vault.ChainID] {
- chunkEnd := chunkStart + env.MAX_BLOCK_RANGE[vault.ChainID]
+ for chunkStart := start; chunkStart < *end; chunkStart += env.CHAINS[vault.ChainID].MaxBlockRange {
+ chunkEnd := chunkStart + env.CHAINS[vault.ChainID].MaxBlockRange
if chunkEnd > *end {
chunkEnd = *end
}
diff --git a/internal/meta/protocols.go b/internal/meta/protocols.go
index 7b324582c..0923cb7b1 100755
--- a/internal/meta/protocols.go
+++ b/internal/meta/protocols.go
@@ -29,7 +29,7 @@ func initOrGetMetaProtocolMap(chainID uint64) *sync.Map {
}
func init() {
- for _, chainID := range env.SUPPORTED_CHAIN_IDS {
+ for chainID := range env.CHAINS {
if _, ok := _metaProtocolMap[chainID]; !ok {
_metaProtocolMap[chainID] = &sync.Map{}
}
diff --git a/internal/meta/strategies.go b/internal/meta/strategies.go
index 85e2654cb..934f5df0d 100755
--- a/internal/meta/strategies.go
+++ b/internal/meta/strategies.go
@@ -30,7 +30,7 @@ func initOrGetMetaStrategyMap(chainID uint64) *sync.Map {
}
func init() {
- for _, chainID := range env.SUPPORTED_CHAIN_IDS {
+ for chainID := range env.CHAINS {
if _, ok := _metaStrategyMap[chainID]; !ok {
_metaStrategyMap[chainID] = &sync.Map{}
}
diff --git a/internal/meta/tokens.go b/internal/meta/tokens.go
index 392c3712d..69207b86c 100755
--- a/internal/meta/tokens.go
+++ b/internal/meta/tokens.go
@@ -31,7 +31,7 @@ func initOrGetMetaTokenMap(chainID uint64) *sync.Map {
}
func init() {
- for _, chainID := range env.SUPPORTED_CHAIN_IDS {
+ for chainID := range env.CHAINS {
if _, ok := _metaTokentMap[chainID]; !ok {
_metaTokentMap[chainID] = &sync.Map{}
}
diff --git a/internal/meta/vaults.go b/internal/meta/vaults.go
index 1c7a7a319..8ceed2500 100755
--- a/internal/meta/vaults.go
+++ b/internal/meta/vaults.go
@@ -31,7 +31,7 @@ func initOrGetMetaVaultsMap(chainID uint64) *sync.Map {
}
func init() {
- for _, chainID := range env.SUPPORTED_CHAIN_IDS {
+ for chainID := range env.CHAINS {
if _, ok := _metaVaultMap[chainID]; !ok {
_metaVaultMap[chainID] = &sync.Map{}
}
diff --git a/internal/models/erc20.go b/internal/models/erc20.go
index e8886e5cf..827fe2351 100755
--- a/internal/models/erc20.go
+++ b/internal/models/erc20.go
@@ -7,12 +7,17 @@ import (
type TTokenType string
const (
- TokenTypeVault TTokenType = "Yearn Vault"
- TokenTypeNative TTokenType = "Native"
- TokenTypeCurveLP TTokenType = "Curve LP"
- TokenTypeCompound TTokenType = "Compound"
- TokenTypeAaveV1 TTokenType = "AAVE V1"
- TokenTypeAaveV2 TTokenType = "AAVE V2"
+ TokenTypeStandardVault TTokenType = "Yearn Vault"
+ TokenTypeLegagyStandardVault TTokenType = "Standard"
+ TokenTypeExperimentalVault TTokenType = "Experimental Yearn Vault"
+ TokenTypeLegacyExperimentalVault TTokenType = "Experimental"
+ TokenTypeAutomatedVault TTokenType = "Automated Yearn Vault"
+ TokenTypeLegacyAutomatedVault TTokenType = "Automated"
+ TokenTypeNative TTokenType = "Native"
+ TokenTypeCurveLP TTokenType = "Curve LP"
+ TokenTypeCompound TTokenType = "Compound"
+ TokenTypeAaveV1 TTokenType = "AAVE V1"
+ TokenTypeAaveV2 TTokenType = "AAVE V2"
)
// TERC20Token contains the basic information of an ERC20 token
diff --git a/internal/models/vaults.go b/internal/models/vaults.go
index a780bd5f1..03aa3e9ca 100644
--- a/internal/models/vaults.go
+++ b/internal/models/vaults.go
@@ -5,20 +5,12 @@ import (
"github.com/yearn/ydaemon/common/bigNumber"
)
-type TVaultType string
-
-const (
- VaultTypeExperimental TVaultType = "Experimental"
- VaultTypeStandard TVaultType = "Standard"
- VaultTypeAutomated TVaultType = "Automated"
-)
-
type TVaultsFromRegistry struct {
Address common.Address
RegistryAddress common.Address
TokenAddress common.Address
BlockHash common.Hash
- Type TVaultType
+ Type TTokenType
APIVersion string
ChainID uint64
BlockNumber uint64
@@ -107,7 +99,7 @@ type TVault struct {
DepositLimit *bigNumber.Int `json:"depositLimit"`
AvailableDepositLimit *bigNumber.Int `json:"availableDepositLimit,omitempty"`
TotalAssets *bigNumber.Int `json:"total_assets"`
- Type TVaultType `json:"type"`
+ Type TTokenType `json:"type"`
Symbol string `json:"symbol"`
DisplaySymbol string `json:"display_symbol"`
FormatedSymbol string `json:"formated_symbol"`
diff --git a/internal/multicalls/calls.helpers.go b/internal/multicalls/calls.helpers.go
index 711d80cfd..5cb87e65f 100644
--- a/internal/multicalls/calls.helpers.go
+++ b/internal/multicalls/calls.helpers.go
@@ -4,6 +4,7 @@ import (
"math/big"
"github.com/ethereum/go-ethereum/common"
+ "github.com/yearn/ydaemon/common/bigNumber"
"github.com/yearn/ydaemon/common/contracts"
"github.com/yearn/ydaemon/common/ethereum"
"github.com/yearn/ydaemon/common/logs"
@@ -25,6 +26,7 @@ var LensABI, _ = contracts.OracleMetaData.GetAbi()
var CurveGaugeABI, _ = contracts.CurveGaugeMetaData.GetAbi()
var CVXBoosterABI, _ = contracts.CVXBoosterMetaData.GetAbi()
var CrvUSDABI, _ = contracts.CrvUSDMetaData.GetAbi()
+var ERC4626ABI, _ = contracts.ERC4626MetaData.GetAbi()
func GetPriceUsdcRecommendedCall(name string, contractAddress common.Address, tokenAddress common.Address) ethereum.Call {
parsedData, err := LensABI.Pack("getPriceUsdcRecommended", tokenAddress)
@@ -246,3 +248,45 @@ func GetCurveBalanceOf(name string, contractAddress common.Address, voter common
Name: name,
}
}
+
+func GetConvertToShares(name string, contractAddress common.Address, oneUnit *bigNumber.Int) ethereum.Call {
+ parsedData, err := ERC4626ABI.Pack("convertToShares", &oneUnit.Int)
+ if err != nil {
+ logs.Error("Error packing ERC4626ABI convertToShares", err)
+ }
+ return ethereum.Call{
+ Target: contractAddress,
+ Abi: ERC4626ABI,
+ Method: `convertToShares`,
+ CallData: parsedData,
+ Name: name,
+ }
+}
+
+func GetConvertToAssets(name string, contractAddress common.Address, oneUnit *bigNumber.Int) ethereum.Call {
+ parsedData, err := ERC4626ABI.Pack("convertToAssets", &oneUnit.Int)
+ if err != nil {
+ logs.Error("Error packing ERC4626ABI convertToAssets", err)
+ }
+ return ethereum.Call{
+ Target: contractAddress,
+ Abi: ERC4626ABI,
+ Method: `convertToAssets`,
+ CallData: parsedData,
+ Name: name,
+ }
+}
+
+func GetAsset(name string, contractAddress common.Address) ethereum.Call {
+ parsedData, err := ERC4626ABI.Pack("asset")
+ if err != nil {
+ logs.Error("Error packing ERC4626ABI asset", err)
+ }
+ return ethereum.Call{
+ Target: contractAddress,
+ Abi: ERC4626ABI,
+ Method: `asset`,
+ CallData: parsedData,
+ Name: name,
+ }
+}
diff --git a/internal/multicalls/perform.go b/internal/multicalls/perform.go
index 5a6e2842b..cc8a0e20f 100644
--- a/internal/multicalls/perform.go
+++ b/internal/multicalls/perform.go
@@ -9,6 +9,6 @@ import (
func Perform(chainID uint64, calls []ethereum.Call, blockNumber *big.Int) map[string][]interface{} {
caller := ethereum.MulticallClientForChainID[chainID]
- batchSize := env.MAX_BATCH_SIZE[chainID]
+ batchSize := env.CHAINS[chainID].MaxBatchSize
return caller.ExecuteByBatch(calls, batchSize, blockNumber)
}
diff --git a/internal/prices/accessor.go b/internal/prices/accessor.go
index b3b2d94c2..997bb79f3 100755
--- a/internal/prices/accessor.go
+++ b/internal/prices/accessor.go
@@ -25,7 +25,7 @@ func initOrGetPriceMap(chainID uint64) *sync.Map {
}
func init() {
- for _, chainID := range env.SUPPORTED_CHAIN_IDS {
+ for chainID := range env.CHAINS {
if _, ok := _priceMap[chainID]; !ok {
_priceMap[chainID] = &sync.Map{}
}
diff --git a/internal/prices/blockSpecific.go b/internal/prices/blockSpecific.go
index bf43c78c9..009d60f3b 100755
--- a/internal/prices/blockSpecific.go
+++ b/internal/prices/blockSpecific.go
@@ -18,6 +18,10 @@ import (
func FetchPricesOnBlock(chainID uint64, blockNumber uint64, tokenList []common.Address) map[common.Address]*bigNumber.Int {
newPriceMap := make(map[common.Address]*bigNumber.Int)
+ if (len(tokenList) == 0 || env.CHAINS[chainID].LensContract.Address == common.Address{}) {
+ return newPriceMap
+ }
+
/**********************************************************************************************
** The first step is to prepare the multicall, connecting to the multicall instance and
** preparing the array of calls to send. All calls for all tokens will be send in a single
@@ -29,7 +33,11 @@ func FetchPricesOnBlock(chainID uint64, blockNumber uint64, tokenList []common.A
newPriceMap[tokenAddress] = tokenPrice
continue
}
- calls = append(calls, multicalls.GetPriceUsdcRecommendedCall(tokenAddress.Hex(), env.LENS_ADDRESSES[chainID], tokenAddress))
+ calls = append(calls, multicalls.GetPriceUsdcRecommendedCall(
+ tokenAddress.Hex(),
+ env.CHAINS[chainID].LensContract.Address,
+ tokenAddress,
+ ))
}
/**********************************************************************************************
@@ -80,7 +88,10 @@ func GetPricesOnBlock(chainID uint64, blockNumber uint64, tokenAddress common.Ad
}
client := ethereum.GetRPC(chainID)
- contractAddress := env.LENS_ADDRESSES[chainID]
+ contractAddress := env.CHAINS[chainID].LensContract.Address
+ if (contractAddress == common.Address{}) {
+ return bigNumber.NewInt(0), false
+ }
oracleContract, _ := contracts.NewOracleCaller(contractAddress, client)
tokenPriceFromOracle, err := oracleContract.GetPriceUsdcRecommended(&bind.CallOpts{BlockNumber: big.NewInt(int64(blockNumber))}, tokenAddress)
if err != nil {
diff --git a/internal/registries/accessor.go b/internal/registries/accessor.go
index c98aac7e6..6d3c87011 100644
--- a/internal/registries/accessor.go
+++ b/internal/registries/accessor.go
@@ -41,7 +41,7 @@ func RegisterAllVaults(
}
}
- for _, v := range env.EXTRA_VAULTS[chainID] {
+ for _, v := range env.CHAINS[chainID].ExtraVaults {
if _, ok := uniqueVaultsList[v.Address]; !ok {
uniqueVaultsList[v.Address] = v
}
diff --git a/internal/registries/indexer.go b/internal/registries/indexer.go
index f6f3c7959..685147339 100644
--- a/internal/registries/indexer.go
+++ b/internal/registries/indexer.go
@@ -12,7 +12,6 @@ import (
"github.com/yearn/ydaemon/common/env"
"github.com/yearn/ydaemon/common/ethereum"
"github.com/yearn/ydaemon/common/logs"
- "github.com/yearn/ydaemon/common/traces"
"github.com/yearn/ydaemon/internal/events"
"github.com/yearn/ydaemon/internal/indexer"
"github.com/yearn/ydaemon/internal/models"
@@ -79,7 +78,7 @@ func fallbackIndexNewVaults(
BlockHash: log.Event.Raw.BlockHash,
TxIndex: log.Event.Raw.TxIndex,
LogIndex: log.Event.Raw.Index,
- Type: models.VaultTypeStandard,
+ Type: models.TokenTypeStandardVault,
}
logs.Info(`Got vault ` + log.Event.Vault.Hex() + ` from registry ` + registryAddress.Hex())
newVaultList := map[common.Address]models.TVaultsFromRegistry{
@@ -130,10 +129,10 @@ func fallbackIndexNewVaults(
BlockHash: log.Event.Raw.BlockHash,
TxIndex: log.Event.Raw.TxIndex,
LogIndex: log.Event.Raw.Index,
- Type: models.VaultTypeStandard,
+ Type: models.TokenTypeStandardVault,
}
if log.Event.VaultType.Cmp(big.NewInt(2)) == 0 {
- newVault.Type = models.VaultTypeAutomated
+ newVault.Type = models.TokenTypeAutomatedVault
}
logs.Info(`Got vault ` + log.Event.Vault.Hex() + ` from registry ` + registryAddress.Hex())
@@ -152,6 +151,54 @@ func fallbackIndexNewVaults(
lastSyncedBlockForV3 = currentBlock
time.Sleep(60 * time.Second)
}
+ case 4:
+ lastSyncedBlockForV3 := lastSyncedBlock
+ for {
+ currentVault, _ := contracts.NewYRegistryV4(registryAddress, client)
+ currentBlock, err := client.BlockNumber(context.Background())
+ if err != nil {
+ time.Sleep(60 * time.Second)
+ continue
+ }
+
+ if currentBlock > lastSyncedBlockForV3 {
+ currentBlock = lastSyncedBlockForV3
+ }
+ opts := &bind.FilterOpts{Start: lastSyncedBlockForV3, End: ¤tBlock}
+
+ if log, err := currentVault.FilterNewEndorsedVault(opts, nil, nil); err == nil {
+ for log.Next() {
+ if log.Error() != nil {
+ continue
+ }
+ newVault := models.TVaultsFromRegistry{
+ ChainID: chainID,
+ RegistryAddress: registryAddress,
+ Address: log.Event.Vault,
+ TokenAddress: log.Event.Asset,
+ APIVersion: log.Event.ReleaseVersion.Text(10),
+ BlockNumber: log.Event.Raw.BlockNumber,
+ Activation: log.Event.Raw.BlockNumber,
+ ManagementFee: 200,
+ BlockHash: log.Event.Raw.BlockHash,
+ TxIndex: log.Event.Raw.TxIndex,
+ LogIndex: log.Event.Raw.Index,
+ Type: models.TokenTypeStandardVault,
+ }
+ logs.Info(`Got V3 vault ` + log.Event.Vault.Hex() + ` from registry ` + registryAddress.Hex())
+
+ newVaultList := map[common.Address]models.TVaultsFromRegistry{
+ newVault.Address: newVault,
+ }
+ //TODO: ADD PROCESS TO GET MANAGEMENT FEE
+ indexer.ProcessNewVault(chainID, newVaultList)
+ }
+ } else {
+ logs.Error(`impossible to FilterNewVault for YRegistryV3 ` + registryAddress.Hex() + ` on chain ` + strconv.FormatUint(chainID, 10) + `: ` + err.Error())
+ }
+ lastSyncedBlockForV3 = currentBlock
+ time.Sleep(60 * time.Second)
+ }
}
return lastSyncedBlock, true, err
}
@@ -246,7 +293,7 @@ func indexNewVaults(
BlockHash: log.Raw.BlockHash,
TxIndex: log.Raw.TxIndex,
LogIndex: log.Raw.Index,
- Type: models.VaultTypeStandard,
+ Type: models.TokenTypeStandardVault,
}
logs.Info(`Got vault ` + log.Vault.Hex() + ` from registry ` + registryAddress.Hex())
@@ -302,10 +349,10 @@ func indexNewVaults(
BlockHash: log.Raw.BlockHash,
TxIndex: log.Raw.TxIndex,
LogIndex: log.Raw.Index,
- Type: models.VaultTypeStandard,
+ Type: models.TokenTypeStandardVault,
}
if log.VaultType.Cmp(big.NewInt(2)) == 0 {
- newVault.Type = models.VaultTypeAutomated
+ newVault.Type = models.TokenTypeAutomatedVault
}
logs.Info(`Got vault ` + log.Vault.Hex() + ` from registry ` + registryAddress.Hex())
@@ -321,6 +368,59 @@ func indexNewVaults(
return lastSyncedBlock, true, err
}
}
+ case 4:
+ logs.Info(`Watching new vaults`)
+ /**********************************************************************************************
+ ** Connect to the Yearn Registry with general configuration, starting from the lastSyncedBlock.
+ ** No error should happen here, but if it does, we just return.
+ **********************************************************************************************/
+ currentVault, _ := contracts.NewYRegistryV4(registryAddress, client)
+ channel := make(chan *contracts.YRegistryV4NewEndorsedVault)
+ watcher, err := currentVault.WatchNewEndorsedVault(
+ &bind.WatchOpts{Start: ¤tBlock},
+ channel,
+ nil,
+ nil,
+ )
+ if err != nil {
+ return currentBlock, false, err
+ }
+
+ /**********************************************************************************************
+ ** Listen to the channel forever, and handle the new events as they are emitted. Once an event
+ ** is received, we also update the lastSyncedBlock to be able to filter the next events from
+ ** that block.
+ ** On error, fallback to the default setup
+ **********************************************************************************************/
+ for {
+ select {
+ case log := <-channel:
+ lastSyncedBlock = log.Raw.BlockNumber
+ newVault := models.TVaultsFromRegistry{
+ ChainID: chainID,
+ RegistryAddress: registryAddress,
+ Address: log.Vault,
+ TokenAddress: log.Asset,
+ APIVersion: log.ReleaseVersion.Text(10),
+ BlockNumber: log.Raw.BlockNumber,
+ Activation: log.Raw.BlockNumber,
+ ManagementFee: 200,
+ BlockHash: log.Raw.BlockHash,
+ TxIndex: log.Raw.TxIndex,
+ LogIndex: log.Raw.Index,
+ Type: models.TokenTypeStandardVault,
+ }
+ logs.Info(`Got V3 vault ` + log.Vault.Hex() + ` from registry ` + registryAddress.Hex())
+ //TODO: ADD PROCESS TO GET MANAGEMENT FEE
+
+ newVaultList := map[common.Address]models.TVaultsFromRegistry{
+ newVault.Address: newVault,
+ }
+ indexer.ProcessNewVault(chainID, newVaultList)
+ case err := <-watcher.Err():
+ return lastSyncedBlock, true, err
+ }
+ }
}
return lastSyncedBlock, true, err
}
@@ -374,13 +474,7 @@ func indexNewVaultsWrapper(
lastSyncedBlock,
)
if err != nil {
- traces.
- Capture(`error`, `error while indexing NewVault from registry `+registryAddress.Hex()+` on chain `+strconv.FormatUint(chainID, 10)).
- SetEntity(`registry`).
- SetTag(`chainID`, strconv.FormatUint(chainID, 10)).
- SetTag(`registryAddress`, registryAddress.Hex()).
- SetExtra(`error`, err.Error()).
- Send()
+ logs.Error(`error while indexing NewVault from registry ` + registryAddress.Hex() + ` on chain ` + strconv.FormatUint(chainID, 10) + `: ` + err.Error())
}
if !shouldRetry {
break
@@ -436,7 +530,7 @@ func indexNewVaultsWrapper(
}
func IndexNewVaults(chainID uint64) {
- for _, registry := range env.YEARN_REGISTRIES[chainID] {
+ for _, registry := range env.CHAINS[chainID].Registries {
go indexNewVaultsWrapper(chainID, registry.Address, registry.Version, registry.Block, 1*time.Minute)
}
diff --git a/internal/strategies/accessor.go b/internal/strategies/accessor.go
index 1decfc196..53151e950 100755
--- a/internal/strategies/accessor.go
+++ b/internal/strategies/accessor.go
@@ -36,7 +36,7 @@ func initOrGetStrategyWithdrawalQueueMap(chainID uint64) *sync.Map {
}
func init() {
- for _, chainID := range env.SUPPORTED_CHAIN_IDS {
+ for chainID := range env.CHAINS {
if _, ok := _strategyMap[chainID]; !ok {
_strategyMap[chainID] = &sync.Map{}
_strategyWithdrawalQueueMap[chainID] = &sync.Map{}
diff --git a/internal/strategies/model.risk.go b/internal/strategies/model.risk.go
index c27ba3d60..704cf8568 100755
--- a/internal/strategies/model.risk.go
+++ b/internal/strategies/model.risk.go
@@ -16,7 +16,7 @@ import (
var _strategyRiskGroupMap = make(map[uint64]*sync.Map)
func init() {
- for _, chainID := range env.SUPPORTED_CHAIN_IDS {
+ for chainID := range env.CHAINS {
if _, ok := _strategyRiskGroupMap[chainID]; !ok {
_strategyRiskGroupMap[chainID] = &sync.Map{}
}
diff --git a/internal/strategies/stakingContracts.go b/internal/strategies/stakingContracts.go
index 7cf402724..d0b5a2e1d 100644
--- a/internal/strategies/stakingContracts.go
+++ b/internal/strategies/stakingContracts.go
@@ -47,7 +47,11 @@ func calculateStakingMetrics(chainID uint64) {
}
calls = append(calls, multicalls.GetTotalSupply(pool.StackingPoolAddress.Hex(), pool.StackingPoolAddress))
calls = append(calls, multicalls.GetDecimals(pool.StackingPoolAddress.Hex(), pool.VaultAddress))
- calls = append(calls, multicalls.GetPriceUsdcRecommendedCall(pool.StackingPoolAddress.Hex(), env.LENS_ADDRESSES[chainID], pool.VaultAddress))
+ calls = append(calls, multicalls.GetPriceUsdcRecommendedCall(
+ pool.StackingPoolAddress.Hex(),
+ env.CHAINS[chainID].LensContract.Address,
+ pool.VaultAddress,
+ ))
}
response := multicalls.Perform(chainID, calls, nil)
diff --git a/internal/tokens/constants.go b/internal/tokens/constants.go
deleted file mode 100644
index 276de885c..000000000
--- a/internal/tokens/constants.go
+++ /dev/null
@@ -1,80 +0,0 @@
-package tokens
-
-import (
- "strconv"
-
- "github.com/ethereum/go-ethereum/common"
- "github.com/yearn/ydaemon/common/env"
- "github.com/yearn/ydaemon/internal/models"
-)
-
-var COIN_PER_CHAIN = map[uint64]models.TERC20Token{}
-
-func init() {
- defaultCoinAddress := common.HexToAddress(`0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE`)
- COIN_PER_CHAIN[1] = models.TERC20Token{
- Address: defaultCoinAddress,
- UnderlyingTokensAddresses: []common.Address{},
- Type: models.TokenTypeNative,
- Name: `Ether`,
- Symbol: `ETH`,
- DisplayName: `Ether`,
- DisplaySymbol: `ETH`,
- Description: `Ether is the native cryptocurrency for the Ethereum blockchain.`,
- Icon: env.BASE_ASSET_URL + strconv.FormatUint(1, 10) + `/` + defaultCoinAddress.Hex() + `/logo-128.png`,
- Decimals: 18,
- ChainID: 1,
- }
- COIN_PER_CHAIN[10] = models.TERC20Token{
- Address: defaultCoinAddress,
- UnderlyingTokensAddresses: []common.Address{},
- Type: models.TokenTypeNative,
- Name: `Ether`,
- Symbol: `ETH`,
- DisplayName: `Ether`,
- DisplaySymbol: `ETH`,
- Description: `Optimism is a Layer 2 scaling solution for Ethereum.`,
- Icon: env.BASE_ASSET_URL + strconv.FormatUint(1, 10) + `/` + defaultCoinAddress.Hex() + `/logo-128.png`,
- Decimals: 18,
- ChainID: 10,
- }
- COIN_PER_CHAIN[250] = models.TERC20Token{
- Address: defaultCoinAddress,
- UnderlyingTokensAddresses: []common.Address{},
- Type: models.TokenTypeNative,
- Name: `Fantom`,
- Symbol: `FTM`,
- DisplayName: `Fantom`,
- DisplaySymbol: `FTM`,
- Description: `Fantom is a Layer 2 scaling solution for Ethereum.`,
- Icon: env.BASE_ASSET_URL + strconv.FormatUint(1, 10) + `/` + defaultCoinAddress.Hex() + `/logo-128.png`,
- Decimals: 18,
- ChainID: 250,
- }
- COIN_PER_CHAIN[8453] = models.TERC20Token{
- Address: defaultCoinAddress,
- UnderlyingTokensAddresses: []common.Address{},
- Type: models.TokenTypeNative,
- Name: `Ether`,
- Symbol: `ETH`,
- DisplayName: `Ether`,
- DisplaySymbol: `ETH`,
- Description: `Base is a Layer 2 scaling solution based on Optimism.`,
- Icon: env.BASE_ASSET_URL + strconv.FormatUint(8453, 10) + `/` + defaultCoinAddress.Hex() + `/logo-128.png`,
- Decimals: 18,
- ChainID: 8453,
- }
- COIN_PER_CHAIN[42161] = models.TERC20Token{
- Address: defaultCoinAddress,
- UnderlyingTokensAddresses: []common.Address{},
- Type: models.TokenTypeNative,
- Name: `Arbitrum`,
- Symbol: `ARB`,
- DisplayName: `Arbitrum`,
- DisplaySymbol: `ARB`,
- Description: `Arbitrum is a Layer 2 scaling solution for Ethereum.`,
- Icon: env.BASE_ASSET_URL + strconv.FormatUint(1, 10) + `/` + defaultCoinAddress.Hex() + `/logo-128.png`,
- Decimals: 18,
- ChainID: 42161,
- }
-}
diff --git a/internal/tokens/fetcher.go b/internal/tokens/fetcher.go
index 2d7f55430..c9cf9b7f9 100755
--- a/internal/tokens/fetcher.go
+++ b/internal/tokens/fetcher.go
@@ -50,7 +50,7 @@ func fetchBasicInformations(
calls = append(calls, multicalls.GetSymbol(token.Hex(), token))
calls = append(calls, multicalls.GetDecimals(token.Hex(), token))
calls = append(calls, multicalls.GetToken(token.Hex(), token))
- calls = append(calls, multicalls.GetPoolFromLpToken(token.Hex(), env.CURVE_REGISTRY_ADDRESSES[chainID], token))
+ calls = append(calls, multicalls.GetPoolFromLpToken(token.Hex(), env.CHAINS[chainID].Curve.RegistryAddress, token))
calls = append(calls, multicalls.GetCompoundUnderlying(token.Hex(), token))
calls = append(calls, multicalls.GetAaveV1Underlying(token.Hex(), token))
calls = append(calls, multicalls.GetAaveV2Underlying(token.Hex(), token))
@@ -123,7 +123,12 @@ func fetchBasicInformations(
******************************************************************************************/
isYearnVault := rawYearnVaultToken != nil && helpers.DecodeAddress(rawYearnVaultToken) != common.Address{}
if isYearnVault {
- newToken.Type = models.TokenTypeVault
+ vault, ok := store.GetVaultFromRegistry(chainID, tokenAddress)
+ if !ok {
+ newToken.Type = models.TokenTypeStandardVault
+ } else {
+ newToken.Type = vault.Type
+ }
coin := helpers.DecodeAddress(rawYearnVaultToken)
if (coin != common.Address{}) {
relatedTokensList = append(relatedTokensList, coin)
@@ -142,7 +147,10 @@ func fetchBasicInformations(
isCurveLpToken := rawPoolFromLpToken != nil && helpers.DecodeAddress(rawPoolFromLpToken) != common.Address{}
if isCurveLpToken {
newToken.Type = models.TokenTypeCurveLP
- curvePoolCaller, _ := contracts.NewCurvePoolRegistryCaller(env.CURVE_REGISTRY_ADDRESSES[chainID], caller.Client)
+ curvePoolCaller, _ := contracts.NewCurvePoolRegistryCaller(
+ env.CHAINS[chainID].Curve.RegistryAddress,
+ caller.Client,
+ )
poolCoins, _ := curvePoolCaller.GetCoins(&bind.CallOpts{}, helpers.DecodeAddress(rawPoolFromLpToken))
for _, coin := range poolCoins {
if (coin != common.Address{}) {
@@ -290,7 +298,7 @@ func loadCurvePools(chainID uint64) map[string][]common.Address {
** multicall and will later be accessible via a concatened string `tokenAddress + methodName`.
**********************************************************************************************/
client := ethereum.GetRPC(chainID)
- curvePoolFactory, _ := contracts.NewCurvePoolFactory(env.CURVE_FACTORIES_ADDRESSES[chainID], client)
+ curvePoolFactory, _ := contracts.NewCurvePoolFactory(env.CHAINS[chainID].Curve.FactoryAddress, client)
poolCount, err := curvePoolFactory.PoolCount(&bind.CallOpts{})
if err != nil {
return coinsForPool
@@ -304,7 +312,7 @@ func loadCurvePools(chainID uint64) map[string][]common.Address {
for i := 0; i < int(poolCount.Int64()); i++ {
calls = append(calls, multicalls.GetCurveFactoryPool(
strconv.Itoa(i),
- env.CURVE_FACTORIES_ADDRESSES[chainID],
+ env.CHAINS[chainID].Curve.FactoryAddress,
big.NewInt(int64(i)),
))
}
@@ -320,7 +328,7 @@ func loadCurvePools(chainID uint64) map[string][]common.Address {
poolAddress := helpers.DecodeAddress(response[strconv.Itoa(i)+`pool_list`])
calls = append(calls, multicalls.GetCurveFactoryCoin(
poolAddress.Hex(),
- env.CURVE_FACTORIES_ADDRESSES[chainID],
+ env.CHAINS[chainID].Curve.FactoryAddress,
poolAddress,
))
}
@@ -377,6 +385,18 @@ func RetrieveAllTokens(
for _, currentVault := range vaults {
updatedTokenMap[currentVault.Address] = models.TERC20Token{
Address: currentVault.Address,
+ Type: currentVault.Type,
+ ChainID: chainID,
+ }
+ }
+
+ /**********************************************************************************************
+ ** We may have a list of extra tokens to add to the list. This is used for some tokens that
+ ** are not in the registry but that we still want to track.
+ **********************************************************************************************/
+ for _, extraToken := range env.CHAINS[chainID].ExtraTokens {
+ updatedTokenMap[extraToken] = models.TERC20Token{
+ Address: extraToken,
ChainID: chainID,
}
}
@@ -403,24 +423,7 @@ func RetrieveAllTokens(
** Somehow, some vaults are not in the registries, but we still need the tokens data for them.
** We will add them manually here.
**********************************************************************************************/
- extraTokens := map[uint64][]string{
- 1: {
- `0x34fe2a45D8df28459d7705F37eD13d7aE4382009`, // yvWBTC
- `0xD533a949740bb3306d119CC777fa900bA034cd52`, // CRV - used by yBribe UI
- `0x090185f2135308BaD17527004364eBcC2D37e5F6`, // Spell - used by yBribe UI
- `0xCdF7028ceAB81fA0C6971208e83fa7872994beE5`, // TNT - used by yBribe UI
- `0xba100000625a3754423978a60c9317c58a424e3D`, // BAL - used by yBAL UI
- `0x5c6Ee304399DBdB9C8Ef030aB642B10820DB8F56`, // BALWETH - used by yBAL UI
- },
- 10: {
- `0x4200000000000000000000000000000000000042`, // Opt
- },
- 250: {},
- 8453: {},
- 42161: {},
- }
- for _, tokenAddress := range extraTokens[chainID] {
- tokenAddress := common.HexToAddress(tokenAddress)
+ for _, tokenAddress := range env.CHAINS[chainID].ExtraTokens {
if _, ok := tokenMap[tokenAddress]; !ok {
updatedTokenMap[tokenAddress] = models.TERC20Token{
Address: tokenAddress,
diff --git a/internal/vaults/fetcher.go b/internal/vaults/fetcher.go
index 6adbba046..39a5219c6 100755
--- a/internal/vaults/fetcher.go
+++ b/internal/vaults/fetcher.go
@@ -120,7 +120,7 @@ func fetchBasicInformations(
Symbol: shareTokenData.Symbol,
Decimals: shareTokenData.Decimals,
Icon: env.BASE_ASSET_URL + strconv.FormatUint(chainID, 10) + `/` + vault.Hex() + `/logo-128.png`,
- Type: models.VaultTypeStandard,
+ Type: models.TokenTypeStandardVault,
Endorsed: false, //Default to false, will be updated later
Inception: helpers.DecodeBigInt(rawActivation).Uint64(),
Version: helpers.DecodeString(rawApiVersion),
@@ -241,7 +241,7 @@ func RetrieveAllVaults(
for _, currentVault := range vaults {
updatedVaultMap[currentVault.Address] = models.TVault{
Address: currentVault.TokenAddress,
- Endorsed: (currentVault.Type == models.VaultTypeStandard || currentVault.Type == models.VaultTypeAutomated) && currentVault.TokenAddress != common.Address{},
+ Endorsed: (currentVault.Type == models.TokenTypeStandardVault || currentVault.Type == models.TokenTypeAutomatedVault) && currentVault.TokenAddress != common.Address{},
Type: currentVault.Type,
Activation: currentVault.Activation,
}
@@ -251,15 +251,8 @@ func RetrieveAllVaults(
** Somehow, some vaults are not in the registries, but we still need the vault data for them.
** We will add them manually here.
**********************************************************************************************/
- extraVaults := map[uint64][]string{
- 1: {},
- 10: {},
- 250: {},
- 8453: {},
- 42161: {},
- }
- for _, vaultAddress := range extraVaults[chainID] {
- vaultAddress := common.HexToAddress(vaultAddress)
+ for _, vault := range env.CHAINS[chainID].ExtraVaults {
+ vaultAddress := vault.Address
if _, ok := vaultMap[vaultAddress]; !ok {
updatedVaultMap[vaultAddress] = models.TVault{Address: vaultAddress}
}
diff --git a/processes/apy/constants.go b/processes/apy/constants.go
index b72b64971..28fc15f34 100644
--- a/processes/apy/constants.go
+++ b/processes/apy/constants.go
@@ -10,18 +10,17 @@ var ONE = bigNumber.NewFloat(1)
var WEI = bigNumber.NewFloat(1e18)
var YEARN_VOTER_ADDRESS = map[uint64]common.Address{
- 1: common.HexToAddress(`0xF147b8125d2ef93FB6965Db97D6746952a133934`),
- 10: common.HexToAddress(`0xea3a15df68fcdbe44fdb0db675b2b3a14a148b26`),
- 250: common.HexToAddress(`0x72a34AbafAB09b15E7191822A679f28E067C4a16`),
- 8453: {
- //TODO: ADD YEARN_VOTER_ADDRESS FOR BASE
- },
+ 1: common.HexToAddress(`0xF147b8125d2ef93FB6965Db97D6746952a133934`),
+ 10: common.HexToAddress(`0xea3a15df68fcdbe44fdb0db675b2b3a14a148b26`),
+ 250: common.HexToAddress(`0x72a34AbafAB09b15E7191822A679f28E067C4a16`),
+ 8453: {}, //TODO: ADD YEARN_VOTER_ADDRESS FOR BASE
42161: common.HexToAddress(`0x6346282DB8323A54E840c6C772B4399C9c655C0d`),
}
var CONVEX_VOTER_ADDRESS = map[uint64]common.Address{
1: common.HexToAddress(`0x989AEb4d175e16225E39E87d0D97A3360524AD80`),
10: {},
+ 137: {},
250: {},
8453: {},
42161: {},
@@ -30,24 +29,25 @@ var CONVEX_VOTER_ADDRESS = map[uint64]common.Address{
var CVX_BOOSTER_ADDRESS = map[uint64]common.Address{
1: common.HexToAddress(`0xF403C135812408BFbE8713b5A23a04b3D48AAE31`),
10: {},
+ 137: {},
250: {},
8453: {},
42161: {},
}
var CRV_TOKEN_ADDRESS = map[uint64]common.Address{
- 1: common.HexToAddress(`0xD533a949740bb3306d119CC777fa900bA034cd52`),
- 10: common.HexToAddress(`0x0994206dfE8De6Ec6920FF4D779B0d950605Fb53`),
- 250: common.HexToAddress(`0x1E4F97b9f9F913c46F1632781732927B9019C68b`),
- 8453: {
- //TODO: ADD CRV_TOKEN_ADDRESS FOR BASE
- },
+ 1: common.HexToAddress(`0xD533a949740bb3306d119CC777fa900bA034cd52`),
+ 10: common.HexToAddress(`0x0994206dfE8De6Ec6920FF4D779B0d950605Fb53`),
+ 137: common.HexToAddress(`0x172370d5Cd63279eFa6d502DAB29171933a610AF`),
+ 250: common.HexToAddress(`0x1E4F97b9f9F913c46F1632781732927B9019C68b`),
+ 8453: {}, //TODO: ADD CRV_TOKEN_ADDRESS FOR BASE
42161: common.HexToAddress(`0x11cDb42B0EB46D95f990BeDD4695A6e3fA034978`),
}
var CVX_TOKEN_ADDRESS = map[uint64]common.Address{
1: common.HexToAddress(`0x4e3FBD56CD56c3e72c1403e103b45Db9da5B9D2B`),
10: {},
+ 137: {},
250: {},
8453: {},
42161: {},
@@ -57,6 +57,7 @@ var CVX_TOKEN_ADDRESS = map[uint64]common.Address{
var CURVE_GAUGES_URI = map[uint64]string{
1: `https://api.curve.fi/api/getAllGauges?blockchainId=ethereum`,
10: `https://api.curve.fi/api/getAllGauges?blockchainId=optimism`,
+ 137: `https://api.curve.fi/api/getAllGauges?blockchainId=polygon`,
250: `https://api.curve.fi/api/getAllGauges?blockchainId=fantom`,
8453: `https://api.curve.fi/api/getAllGauges?blockchainId=base`,
42161: `https://api.curve.fi/api/getAllGauges?blockchainId=arbitrum`,
@@ -66,6 +67,7 @@ var CURVE_GAUGES_URI = map[uint64]string{
var CURVE_SUBGRAPHDATA_URI = map[uint64]string{
1: `https://api.curve.fi/api/getSubgraphData/ethereum`,
10: `https://api.curve.fi/api/getSubgraphData/optimism`,
+ 137: `https://api.curve.fi/api/getSubgraphData/polygon`,
250: `https://api.curve.fi/api/getSubgraphData/fantom`,
8453: ``, //TODO: ADD CURVE_SUBGRAPHDATA_URI FOR BASE
42161: `https://api.curve.fi/api/getSubgraphData/arbitrum`,
diff --git a/processes/apy/helpers.fetcher.go b/processes/apy/helpers.fetcher.go
index 6f71e414e..9f54b7a27 100644
--- a/processes/apy/helpers.fetcher.go
+++ b/processes/apy/helpers.fetcher.go
@@ -36,7 +36,7 @@ func retrieveCurveGauges(chainID uint64) []models.CurveGauge {
}
func retrieveCurveGetPools(chainID uint64) []models.CurvePool {
- URIsToFetch := env.CURVE_POOLS_URI[chainID]
+ URIsToFetch := env.CHAINS[chainID].Curve.PoolsURIs
pools := []models.CurvePool{}
for _, uri := range URIsToFetch {
resp, err := http.Get(uri)
diff --git a/processes/initDailyBlock/main.go b/processes/initDailyBlock/main.go
index 3032b7e31..0425f5a75 100644
--- a/processes/initDailyBlock/main.go
+++ b/processes/initDailyBlock/main.go
@@ -192,7 +192,7 @@ func assertDailyBlockNumber(chainID uint64) {
earliestBlock := uint64(lastItem.Block)
if (earliestBlock == 0) || (earliestBlock == math.MaxUint64) {
earliestBlock = uint64(math.MaxUint64)
- for _, registry := range env.YEARN_REGISTRIES[chainID] {
+ for _, registry := range env.CHAINS[chainID].Registries {
if registry.Block < earliestBlock {
earliestBlock = registry.Block
}
diff --git a/processes/prices/fetcher.ERC4626.go b/processes/prices/fetcher.ERC4626.go
new file mode 100644
index 000000000..d4cf21d37
--- /dev/null
+++ b/processes/prices/fetcher.ERC4626.go
@@ -0,0 +1,77 @@
+package prices
+
+import (
+ "context"
+ "math/big"
+
+ "github.com/ethereum/go-ethereum/common"
+ "github.com/yearn/ydaemon/common/bigNumber"
+ "github.com/yearn/ydaemon/common/ethereum"
+ "github.com/yearn/ydaemon/common/helpers"
+ "github.com/yearn/ydaemon/common/store"
+ "github.com/yearn/ydaemon/internal/multicalls"
+)
+
+type TVaultToAsset struct {
+ VaultAddress common.Address
+ AssetAddress common.Address
+ Value *bigNumber.Int
+}
+
+/**************************************************************************************************
+** fetchShareValueFromERC4626 will try to get the value of the assets for a ERC4626 vault type token
+** It will return an array of struct with vault/asset/value
+**************************************************************************************************/
+func fetchShareValueFromERC4626(chainID uint64, blockNumber *uint64, tokenList []common.Address) []TVaultToAsset {
+ vaultToAsset := []TVaultToAsset{}
+
+ /**********************************************************************************************
+ ** The first step is to prepare the multicall, connecting to the multicall instance and
+ ** preparing the array of calls to send. All calls for all tokenList will be send in a single
+ ** multicall and will later be accessible via a concatened string `tokenAddress + methodName`.
+ **********************************************************************************************/
+ calls := []ethereum.Call{}
+ for _, tokenAddress := range tokenList {
+ if token, ok := store.GetERC20(chainID, tokenAddress); ok {
+ oneUnitScaledToDecimals := helpers.ToRawAmount(bigNumber.NewInt(1), token.Decimals)
+ calls = append(calls, multicalls.GetConvertToAssets(tokenAddress.Hex(), tokenAddress, oneUnitScaledToDecimals))
+ calls = append(calls, multicalls.GetAsset(tokenAddress.Hex(), tokenAddress))
+ }
+ }
+
+ /**********************************************************************************************
+ ** Then we can proceed the responses. We loop over the responses and check if the price is
+ ** available. If it is, we add it to the map. If it's not, we try to fetch it from an external
+ ** API.
+ **********************************************************************************************/
+ var response map[string][]interface{}
+ var blockNumberBigInt *big.Int
+
+ if blockNumber == nil {
+ currentBlockNumber, _ := ethereum.GetRPC(chainID).BlockNumber(context.Background())
+ blockNumber = ¤tBlockNumber
+ response = multicalls.Perform(chainID, calls, nil)
+ } else {
+ blockNumberBigInt = big.NewInt(int64(*blockNumber))
+ response = multicalls.Perform(chainID, calls, blockNumberBigInt)
+ }
+
+ for _, token := range tokenList {
+ rawConvertedToAsset := response[token.Hex()+`convertToAssets`]
+ rawAsset := response[token.Hex()+`asset`]
+ if len(rawConvertedToAsset) == 0 || len(rawAsset) == 0 {
+ continue
+ }
+ tokenPrice := bigNumber.SetInt(rawConvertedToAsset[0].(*big.Int))
+ if tokenPrice.IsZero() {
+ continue
+ }
+
+ vaultToAsset = append(vaultToAsset, TVaultToAsset{
+ VaultAddress: token,
+ AssetAddress: helpers.DecodeAddress(rawAsset),
+ Value: helpers.DecodeBigInt(rawConvertedToAsset),
+ })
+ }
+ return vaultToAsset
+}
diff --git a/processes/prices/fetcher.coingecko.go b/processes/prices/fetcher.coingecko.go
index 5a60cae3d..9dc22ac50 100644
--- a/processes/prices/fetcher.coingecko.go
+++ b/processes/prices/fetcher.coingecko.go
@@ -19,6 +19,7 @@ import (
var GECKO_CHAIN_NAMES = map[uint64]string{
1: `ethereum`,
10: `optimistic-ethereum`,
+ 137: `polygon`,
250: `fantom`,
8453: `base`,
42161: `arbitrum-one`,
diff --git a/processes/prices/fetcher.curve.go b/processes/prices/fetcher.curve.go
index 54d8425ae..4abfef408 100755
--- a/processes/prices/fetcher.curve.go
+++ b/processes/prices/fetcher.curve.go
@@ -58,7 +58,7 @@ func getPricesFromCurveFactoriesAPI(chainID uint64) map[common.Address]*bigNumbe
// Running a sync group to execute all fetch at the same time
wg := sync.WaitGroup{}
- for _, url := range env.CURVE_FACTORY_URI[chainID] {
+ for _, url := range env.CHAINS[chainID].Curve.FactoryURIs {
wg.Add(1)
go func(url string) {
defer wg.Done()
diff --git a/processes/prices/fetcher.defillama.go b/processes/prices/fetcher.defillama.go
index b3bf1ed68..d7568b3aa 100644
--- a/processes/prices/fetcher.defillama.go
+++ b/processes/prices/fetcher.defillama.go
@@ -19,6 +19,7 @@ import (
var LLAMA_CHAIN_NAMES = map[uint64]string{
1: `ethereum`,
10: `optimism`,
+ 138: `polygon`,
250: `fantom`,
8453: `base`,
42161: `arbitrum`,
diff --git a/processes/prices/fetcher.lens.go b/processes/prices/fetcher.lens.go
index 9a60f61cb..e5d021b50 100644
--- a/processes/prices/fetcher.lens.go
+++ b/processes/prices/fetcher.lens.go
@@ -26,8 +26,8 @@ func fetchPricesFromLens(chainID uint64, blockNumber *uint64, tokens []common.Ad
** preparing the array of calls to send. All calls for all tokens will be send in a single
** multicall and will later be accessible via a concatened string `tokenAddress + methodName`.
**********************************************************************************************/
- lensAddress, ok := env.LENS_ADDRESSES[chainID]
- if !ok {
+ lensAddress := env.CHAINS[chainID].LensContract.Address
+ if (lensAddress == common.Address{}) {
logs.Error(`missing a valid Lens Address for chain ` + strconv.FormatUint(chainID, 10))
return newPriceMap
}
diff --git a/processes/prices/fetcher.yVaultV2.go b/processes/prices/fetcher.yVaultV2.go
new file mode 100644
index 000000000..0dba25403
--- /dev/null
+++ b/processes/prices/fetcher.yVaultV2.go
@@ -0,0 +1,70 @@
+package prices
+
+import (
+ "context"
+ "math/big"
+
+ "github.com/ethereum/go-ethereum/common"
+ "github.com/yearn/ydaemon/common/bigNumber"
+ "github.com/yearn/ydaemon/common/ethereum"
+ "github.com/yearn/ydaemon/common/helpers"
+ "github.com/yearn/ydaemon/common/store"
+ "github.com/yearn/ydaemon/internal/multicalls"
+)
+
+/**************************************************************************************************
+** fetchPricePerShareFromVault will try to get the price per share for a vault type token
+** It will return an array of struct with vault/asset/value
+**************************************************************************************************/
+func fetchPricePerShareFromVault(chainID uint64, blockNumber *uint64, tokenList []common.Address) []TVaultToAsset {
+ vaultToAsset := []TVaultToAsset{}
+
+ /**********************************************************************************************
+ ** The first step is to prepare the multicall, connecting to the multicall instance and
+ ** preparing the array of calls to send. All calls for all tokenList will be send in a single
+ ** multicall and will later be accessible via a concatened string `tokenAddress + methodName`.
+ **********************************************************************************************/
+ calls := []ethereum.Call{}
+ for _, tokenAddress := range tokenList {
+ if _, ok := store.GetERC20(chainID, tokenAddress); ok {
+ calls = append(calls, multicalls.GetPricePerShare(tokenAddress.Hex(), tokenAddress))
+ calls = append(calls, multicalls.GetToken(tokenAddress.Hex(), tokenAddress))
+ }
+ }
+
+ /**********************************************************************************************
+ ** Then we can proceed the responses. We loop over the responses and check if the price is
+ ** available. If it is, we add it to the map. If it's not, we try to fetch it from an external
+ ** API.
+ **********************************************************************************************/
+ var response map[string][]interface{}
+ var blockNumberBigInt *big.Int
+
+ if blockNumber == nil {
+ currentBlockNumber, _ := ethereum.GetRPC(chainID).BlockNumber(context.Background())
+ blockNumber = ¤tBlockNumber
+ response = multicalls.Perform(chainID, calls, nil)
+ } else {
+ blockNumberBigInt = big.NewInt(int64(*blockNumber))
+ response = multicalls.Perform(chainID, calls, blockNumberBigInt)
+ }
+
+ for _, token := range tokenList {
+ rawPricePerShare := response[token.Hex()+`pricePerShare`]
+ rawToken := response[token.Hex()+`token`]
+ if len(rawPricePerShare) == 0 || len(rawToken) == 0 {
+ continue
+ }
+ tokenPrice := bigNumber.SetInt(rawPricePerShare[0].(*big.Int))
+ if tokenPrice.IsZero() {
+ continue
+ }
+
+ vaultToAsset = append(vaultToAsset, TVaultToAsset{
+ VaultAddress: token,
+ AssetAddress: helpers.DecodeAddress(rawToken),
+ Value: helpers.DecodeBigInt(rawPricePerShare),
+ })
+ }
+ return vaultToAsset
+}
diff --git a/processes/prices/main.go b/processes/prices/main.go
index 171b5b32b..c4385ed1c 100644
--- a/processes/prices/main.go
+++ b/processes/prices/main.go
@@ -7,6 +7,7 @@ import (
"github.com/ethereum/go-ethereum/common"
"github.com/yearn/ydaemon/common/bigNumber"
+ "github.com/yearn/ydaemon/common/env"
"github.com/yearn/ydaemon/common/ethereum"
"github.com/yearn/ydaemon/common/helpers"
"github.com/yearn/ydaemon/common/logs"
@@ -117,6 +118,38 @@ func fetchPrices(
}
}
+ /**********************************************************************************************
+ ** With the ERC-4626 standard, the `price per share` is no longer relevant. We can use the new
+ ** `convertToAssets` function to get the value of the underlying asset for a given amount of
+ ** shares: 1 share will give me 1.23 asset for example.
+ ** Based on that, if we have the price of the underlying asset, we can calculate the price of
+ ** the share.
+ **********************************************************************************************/
+ sharesValue := fetchShareValueFromERC4626(chainID, blockNumber, queryList)
+ for _, shareValue := range sharesValue {
+ if shareValue.Value == nil || shareValue.Value.IsZero() {
+ continue
+ }
+ if newPriceMap[shareValue.AssetAddress] == nil || newPriceMap[shareValue.AssetAddress].IsZero() {
+ continue
+ }
+
+ token, ok := store.GetERC20(chainID, shareValue.AssetAddress)
+ if !ok {
+ continue
+ }
+
+ tokenDecimals := helpers.ToRawAmount(bigNumber.NewInt(1), token.Decimals)
+ sharePrice := bigNumber.NewFloat(0).Quo(
+ bigNumber.NewFloat(0).Mul(
+ bigNumber.NewFloat(0).SetInt(shareValue.Value),
+ bigNumber.NewFloat(0).SetInt(newPriceMap[shareValue.AssetAddress]),
+ ),
+ bigNumber.NewFloat(0).SetInt(tokenDecimals),
+ )
+ newPriceMap[shareValue.VaultAddress] = sharePrice.Int()
+ }
+
/**********************************************************************************************
** If the price is missing, check if it's a vault and try to compute the price from the
** underlying tokens.
@@ -136,6 +169,42 @@ func fetchPrices(
}
}
+ /**********************************************************************************************
+ ** If the price is still missing, we can fallback to try to retreive the price per share of the
+ ** vaults (vs the underlying token). Just like with the ERC-4626 standard, we can then
+ ** calculate the price of one share (underlyingPrice * pricePerShare)
+ **********************************************************************************************/
+ stillMissing := []common.Address{}
+ for _, token := range queryList {
+ if (newPriceMap[token] == nil || newPriceMap[token].IsZero()) && !priceErrorAlreadySent[chainID][token] {
+ stillMissing = append(stillMissing, token)
+ }
+ }
+ pricePerShareValue := fetchPricePerShareFromVault(chainID, blockNumber, stillMissing)
+ for _, ppsValue := range pricePerShareValue {
+ if ppsValue.Value == nil || ppsValue.Value.IsZero() {
+ continue
+ }
+ if newPriceMap[ppsValue.AssetAddress] == nil || newPriceMap[ppsValue.AssetAddress].IsZero() {
+ continue
+ }
+
+ token, ok := store.GetERC20(chainID, ppsValue.AssetAddress)
+ if !ok {
+ continue
+ }
+
+ tokenDecimals := helpers.ToRawAmount(bigNumber.NewInt(1), token.Decimals)
+ sharePrice := bigNumber.NewFloat(0).Quo(
+ bigNumber.NewFloat(0).Mul(
+ bigNumber.NewFloat(0).SetInt(ppsValue.Value),
+ bigNumber.NewFloat(0).SetInt(newPriceMap[ppsValue.AssetAddress]),
+ ),
+ bigNumber.NewFloat(0).SetInt(tokenDecimals),
+ )
+ newPriceMap[ppsValue.VaultAddress] = sharePrice.Int()
+ }
+
/**********************************************************************************************
** Finally, we will list all the tokens that are still missing a price to log them to Sentry.
**********************************************************************************************/
@@ -143,10 +212,12 @@ func fetchPrices(
priceErrorAlreadySent[chainID] = make(map[common.Address]bool)
}
- for _, token := range queryList {
+ for _, token := range stillMissing {
if (newPriceMap[token] == nil || newPriceMap[token].IsZero()) && !priceErrorAlreadySent[chainID][token] {
if tokenData, ok := store.GetERC20(chainID, token); ok {
- logs.Warning(`missing a valid price for ` + tokenData.Address.Hex() + ` (` + tokenData.Name + `)` + ` on chain ` + strconv.FormatUint(chainID, 10) + ` (` + string(tokenData.Type) + `)`)
+ if !store.IsExperimentalVault(tokenData) {
+ logs.Warning(`missing a valid price for ` + tokenData.Address.Hex() + ` (` + tokenData.Name + `)` + ` on chain ` + strconv.FormatUint(chainID, 10) + ` (` + string(tokenData.Type) + `)`)
+ }
} else {
logs.Warning(`missing a valid price for token ` + token.Hex() + ` on chain ` + strconv.FormatUint(chainID, 10))
}
@@ -208,64 +279,13 @@ func retrieveAllPrices(chainID uint64) map[common.Address]*bigNumber.Int {
** Somehow, some vaults are not in the registries, but we still need the price data for them.
** We will add them manually here.
**********************************************************************************************/
- extraTokens := map[uint64][]string{
- 1: {
- `0x34fe2a45D8df28459d7705F37eD13d7aE4382009`, // yvWBTC
- `0xD533a949740bb3306d119CC777fa900bA034cd52`, // CRV - used by yBribe UI
- `0x090185f2135308BaD17527004364eBcC2D37e5F6`, // Spell - used by yBribe UI
- `0xCdF7028ceAB81fA0C6971208e83fa7872994beE5`, // TNT - used by yBribe UI
- `0xba100000625a3754423978a60c9317c58a424e3D`, // BAL - used by yBAL UI
- `0x5c6Ee304399DBdB9C8Ef030aB642B10820DB8F56`, // BALWETH - used by yBAL UI
- `0x30D20208d987713f46DFD34EF128Bb16C404D10f`, // Stader
- `0xa2E3356610840701BDf5611a53974510Ae27E2e1`, // wBETH
- `0xac3E018457B222d93114458476f3E3416Abbe38F`, // Staked Frax Ether
- `0xf951E335afb289353dc249e82926178EaC7DEd78`, // Swell Network Ether
- `0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0`, // Wrapped liquid staked Ether 2.0
- `0xA35b1B31Ce002FBF2058D22F30f95D405200A15b`, // Stader ETHx
- `0xBe9895146f7AF43049ca1c1AE358B0541Ea49704`, // Coinbase Wrapped Staked ETH
- },
- 10: {},
- 250: {},
- 8453: {},
- 42161: {
- `0x82e3A8F066a6989666b031d916c43672085b1582`, // YFI
- `0x11cDb42B0EB46D95f990BeDD4695A6e3fA034978`, // CRV
- },
- }
- for _, tokenAddress := range extraTokens[chainID] {
- allTokens = append(allTokens, common.HexToAddress(tokenAddress))
- }
+ allTokens = append(allTokens, env.CHAINS[chainID].ExtraTokens...)
/**********************************************************************************************
** Some tokens are just useless, errors or not wanted. We will remove them from the list.
**********************************************************************************************/
- ignoredTokens := map[uint64][]string{
- 1: {
- `0x7AB4a7BE740131BdE216521B54ADddD672F44A05`, // nothing
- `0x61f46C65E403429266e8b569F23f70dD75d9BeE7`, // Old lp-yCRV
- `0x8a0889d47f9Aa0Fac1cC718ba34E26b867437880`, // Old st-yCRV
- `0x4c1317326fD8EFDeBdBE5e1cd052010D97723bd6`, // Another old st-yCRV
- `0x2E919d27D515868f3D5Bc9110fa738f9449FC6ad`, // Old yvCurve-yveCRV pool
- `0x7E46fd8a30869aa9ed55af031067Df666EfE87da`, // Old yvecrv-f
- `0x5904BAcE7a9cCab585242e9d22f67C9f2F1BF7E2`, // nothing
- `0x0309A528bBa0394dC4A2Ce59123C52E317A54604`, // Old yCRV-f
- `0xBF7AA989192b020a8d3e1C65a558e123834325cA`, // Irrelevant HBTC yVault
- `0xe92AE2cF5b373c1713eB5855D4D3aF81D8a8aCAE`, // Curve Stax Frax/Temple xLP + LP yVault - Unlisted
- `0x3883f5e181fccaF8410FA61e12b59BAd963fb645`, // Theta: Old Token
-
- `0xC4C319E2D4d66CcA4464C0c2B32c9Bd23ebe784e`, // Hacked alETH
- `0x718AbE90777F5B778B52D553a5aBaa148DD0dc5D`, // Hacked vault
- },
- 10: {},
- 250: {},
- 8453: {},
- 42161: {
- `0x976a1C749cd8153909e0B04EebE931eF8957b15b`, // PHPTest
- `0xFa247d0D55a324ca19985577a2cDcFC383D87953`, // Philippine Peso (PHP)
- },
- }
- for _, tokenAddress := range ignoredTokens[chainID] {
- allTokens = helpers.RemoveFromArray(allTokens, common.HexToAddress(tokenAddress))
+ for _, tokenAddress := range env.CHAINS[chainID].IgnoredTokens {
+ allTokens = helpers.RemoveFromArray(allTokens, tokenAddress)
}
allTokens = helpers.UniqueArrayAddress(allTokens)
diff --git a/processes/prices/prices.go b/processes/prices/models.go
similarity index 100%
rename from processes/prices/prices.go
rename to processes/prices/models.go
diff --git a/processes/tokenList/accessor.go b/processes/tokenList/accessor.go
index 1e8652d30..5d66e4fb5 100644
--- a/processes/tokenList/accessor.go
+++ b/processes/tokenList/accessor.go
@@ -113,7 +113,7 @@ func saveTokensListToJSON(YTokenMap map[common.Address]models.TYearnTokenListTok
}
func init() {
- for _, chainID := range env.SUPPORTED_CHAIN_IDS {
+ for chainID := range env.CHAINS {
yTokenMap, lastUpdate := loadTokensListFromJSON(chainID)
_tokenListMap[chainID] = yTokenMap
_tokenListUpdateMap[chainID] = lastUpdate