diff --git a/cannon/mipsevm/evm_test.go b/cannon/mipsevm/evm_test.go index e660d084d68f..f4c0c9cbb4a4 100644 --- a/cannon/mipsevm/evm_test.go +++ b/cannon/mipsevm/evm_test.go @@ -165,6 +165,43 @@ func TestEVM(t *testing.T) { } } +func TestEVMSingleStep(t *testing.T) { + contracts, addrs := testContractsSetup(t) + var tracer vm.EVMLogger + //tracer = SourceMapTracer(t, contracts, addrs) + + type testInput struct { + name string + pc uint32 + nextPC uint32 + insn uint32 + } + cases := []testInput{ + {"j MSB set target", 0, 4, 0x0A_00_00_02}, // j 0x02_00_00_02 + {"j non-zero PC region", 0x10000000, 0x10000004, 0x08_00_00_02}, // j 0x2 + {"jal MSB set target", 0, 4, 0x0E_00_00_02}, // jal 0x02_00_00_02 + {"jal non-zero PC region", 0x10000000, 0x10000004, 0x0C_00_00_02}, // jal 0x2 + } + + for _, tt := range cases { + t.Run(tt.name, func(t *testing.T) { + state := &State{PC: tt.pc, NextPC: tt.nextPC, Memory: NewMemory()} + state.Memory.SetMemory(tt.pc, tt.insn) + + us := NewInstrumentedState(state, nil, os.Stdout, os.Stderr) + stepWitness, err := us.Step(true) + require.NoError(t, err) + + evm := NewMIPSEVM(contracts, addrs) + evm.SetTracer(tracer) + evmPost := evm.Step(t, stepWitness) + goPost := us.state.EncodeWitness() + require.Equal(t, hexutil.Bytes(goPost).String(), hexutil.Bytes(evmPost).String(), + "mipsevm produced different state than EVM") + }) + } +} + func TestEVMFault(t *testing.T) { contracts, addrs := testContractsSetup(t) var tracer vm.EVMLogger // no-tracer by default, but see SourceMapTracer and MarkdownTracer diff --git a/cannon/mipsevm/mips.go b/cannon/mipsevm/mips.go index 6e9e4bf821fe..0a70b48ab701 100644 --- a/cannon/mipsevm/mips.go +++ b/cannon/mipsevm/mips.go @@ -285,13 +285,13 @@ func (m *InstrumentedState) mipsStep() error { // j-type j/jal if opcode == 2 || opcode == 3 { - // TODO likely bug in original code: MIPS spec says this should be in the "current" region; - // a 256 MB aligned region (i.e. use top 4 bits of branch delay slot (pc+4)) linkReg := uint32(0) if opcode == 3 { linkReg = 31 } - return m.handleJump(linkReg, SE(insn&0x03FFFFFF, 26)<<2) + // Take top 4 bits of the next PC (its 256 MB region), and concatenate with the 26-bit offset + target := (m.state.NextPC & 0xF0000000) | ((insn & 0x03FFFFFF) << 2) + return m.handleJump(linkReg, target) } // register fetch @@ -396,7 +396,6 @@ func (m *InstrumentedState) mipsStep() error { func execute(insn uint32, rs uint32, rt uint32, mem uint32) uint32 { opcode := insn >> 26 // 6-bits fun := insn & 0x3f // 6-bits - // TODO(CLI-4136): deref the immed into a register if opcode < 0x20 { // transform ArithLogI diff --git a/go.mod b/go.mod index 2c15603c3e5b..0a5b40a9fd1c 100644 --- a/go.mod +++ b/go.mod @@ -43,7 +43,7 @@ require ( golang.org/x/term v0.11.0 golang.org/x/time v0.3.0 gorm.io/driver/postgres v1.5.2 - gorm.io/gorm v1.25.2 + gorm.io/gorm v1.25.3 ) require ( diff --git a/go.sum b/go.sum index 85eaaefbdcac..9bf1c1f1da4d 100644 --- a/go.sum +++ b/go.sum @@ -1111,8 +1111,8 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gorm.io/driver/postgres v1.5.2 h1:ytTDxxEv+MplXOfFe3Lzm7SjG09fcdb3Z/c056DTBx0= gorm.io/driver/postgres v1.5.2/go.mod h1:fmpX0m2I1PKuR7mKZiEluwrP3hbs+ps7JIGMUBpCgl8= -gorm.io/gorm v1.25.2 h1:gs1o6Vsa+oVKG/a9ElL3XgyGfghFfkKA2SInQaCyMho= -gorm.io/gorm v1.25.2/go.mod h1:L4uxeKpfBml98NYqVqwAdmV1a2nBtAec/cf3fpucW/k= +gorm.io/gorm v1.25.3 h1:zi4rHZj1anhZS2EuEODMhDisGy+Daq9jtPrNGgbQYD8= +gorm.io/gorm v1.25.3/go.mod h1:L4uxeKpfBml98NYqVqwAdmV1a2nBtAec/cf3fpucW/k= grpc.go4.org v0.0.0-20170609214715-11d0a25b4919/go.mod h1:77eQGdRu53HpSqPFJFmuJdjuHRquDANNeA4x7B8WQ9o= honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/indexer/api/api.go b/indexer/api/api.go index cd632743d5c5..bac0b8d045f0 100644 --- a/indexer/api/api.go +++ b/indexer/api/api.go @@ -1,102 +1,35 @@ package api import ( - "encoding/json" + "fmt" "net/http" + "github.com/ethereum-optimism/optimism/indexer/api/routes" "github.com/ethereum-optimism/optimism/indexer/database" - "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/log" "github.com/go-chi/chi/v5" ) -type PaginationResponse struct { - // TODO type this better - Data interface{} `json:"data"` - Cursor string `json:"cursor"` - HasNextPage bool `json:"hasNextPage"` -} - -func (a *Api) L1DepositsHandler(w http.ResponseWriter, r *http.Request) { - bv := a.BridgeTransfersView - address := common.HexToAddress(chi.URLParam(r, "address")) - - // limit := getIntFromQuery(r, "limit", 10) - // cursor := r.URL.Query().Get("cursor") - // sortDirection := r.URL.Query().Get("sortDirection") - - deposits, err := bv.L1BridgeDepositsByAddress(address) - if err != nil { - http.Error(w, err.Error(), http.StatusInternalServerError) - return - } - - // This is not the shape of the response we want!!! - // will add in the individual features in future prs 1 by 1 - response := PaginationResponse{ - Data: deposits, - // Cursor: nextCursor, - HasNextPage: false, - } - - jsonResponse(w, response, http.StatusOK) -} - -func (a *Api) L2WithdrawalsHandler(w http.ResponseWriter, r *http.Request) { - bv := a.BridgeTransfersView - address := common.HexToAddress(chi.URLParam(r, "address")) - - // limit := getIntFromQuery(r, "limit", 10) - // cursor := r.URL.Query().Get("cursor") - // sortDirection := r.URL.Query().Get("sortDirection") - - withdrawals, err := bv.L2BridgeWithdrawalsByAddress(address) - if err != nil { - http.Error(w, err.Error(), http.StatusInternalServerError) - return - } - - // This is not the shape of the response we want!!! - // will add in the individual features in future prs 1 by 1 - response := PaginationResponse{ - Data: withdrawals, - // Cursor: nextCursor, - HasNextPage: false, - } - - jsonResponse(w, response, http.StatusOK) -} - -func (a *Api) HealthzHandler(w http.ResponseWriter, r *http.Request) { - jsonResponse(w, "ok", http.StatusOK) -} - -func jsonResponse(w http.ResponseWriter, data interface{}, statusCode int) { - w.Header().Set("Content-Type", "application/json") - w.WriteHeader(statusCode) - if err := json.NewEncoder(w).Encode(data); err != nil { - http.Error(w, err.Error(), http.StatusInternalServerError) - } -} +const ethereumAddressRegex = `^0x[a-fA-F0-9]{40}$` type Api struct { - Router *chi.Mux - BridgeTransfersView database.BridgeTransfersView + Router *chi.Mux } -func NewApi(bv database.BridgeTransfersView) *Api { +func NewApi(bv database.BridgeTransfersView, logger log.Logger) *Api { + logger.Info("Initializing API...") + r := chi.NewRouter() - api := &Api{Router: r, BridgeTransfersView: bv} + h := routes.NewRoutes(logger, bv) - // these regex are .+ because I wasn't sure what they should be - // don't want a regex for addresses because would prefer to validate the address - // with go-ethereum and throw a friendly error message - r.Get("/api/v0/deposits/{address:.+}", api.L1DepositsHandler) - r.Get("/api/v0/withdrawals/{address:.+}", api.L2WithdrawalsHandler) - r.Get("/healthz", api.HealthzHandler) + api := &Api{Router: r} - return api + r.Get("/healthz", h.HealthzHandler) + r.Get(fmt.Sprintf("/api/v0/deposits/{address:%s}", ethereumAddressRegex), h.L1DepositsHandler) + r.Get(fmt.Sprintf("/api/v0/withdrawals/{address:%s}", ethereumAddressRegex), h.L2WithdrawalsHandler) + return api } func (a *Api) Listen(port string) error { diff --git a/indexer/api/api_test.go b/indexer/api/api_test.go index c174fbe01f7c..e09da5aa55dd 100644 --- a/indexer/api/api_test.go +++ b/indexer/api/api_test.go @@ -1,19 +1,24 @@ package api import ( + "fmt" "math/big" "net/http" "net/http/httptest" "testing" "github.com/ethereum-optimism/optimism/indexer/database" + "github.com/ethereum-optimism/optimism/op-node/testlog" "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/log" "github.com/stretchr/testify/assert" ) // MockBridgeTransfersView mocks the BridgeTransfersView interface type MockBridgeTransfersView struct{} +var mockAddress = "0x4204204204204204204204204204204204204204" + var ( deposit = database.L1BridgeDeposit{ TransactionSourceHash: common.HexToHash("abc"), @@ -23,7 +28,7 @@ var ( } withdrawal = database.L2BridgeWithdrawal{ - TransactionWithdrawalHash: common.HexToHash("0x456"), + TransactionWithdrawalHash: common.HexToHash("0x420"), CrossDomainMessengerNonce: &database.U256{Int: big.NewInt(0)}, Tx: database.Transaction{}, TokenPair: database.TokenPair{}, @@ -65,7 +70,8 @@ func (mbv *MockBridgeTransfersView) L2BridgeWithdrawalsByAddress(address common. } func TestHealthz(t *testing.T) { - api := NewApi(&MockBridgeTransfersView{}) + logger := testlog.Logger(t, log.LvlInfo) + api := NewApi(&MockBridgeTransfersView{}, logger) request, err := http.NewRequest("GET", "/healthz", nil) assert.Nil(t, err) @@ -76,8 +82,9 @@ func TestHealthz(t *testing.T) { } func TestL1BridgeDepositsHandler(t *testing.T) { - api := NewApi(&MockBridgeTransfersView{}) - request, err := http.NewRequest("GET", "/api/v0/deposits/0x123", nil) + logger := testlog.Logger(t, log.LvlInfo) + api := NewApi(&MockBridgeTransfersView{}, logger) + request, err := http.NewRequest("GET", fmt.Sprintf("/api/v0/deposits/%s", mockAddress), nil) assert.Nil(t, err) responseRecorder := httptest.NewRecorder() @@ -87,8 +94,9 @@ func TestL1BridgeDepositsHandler(t *testing.T) { } func TestL2BridgeWithdrawalsByAddressHandler(t *testing.T) { - api := NewApi(&MockBridgeTransfersView{}) - request, err := http.NewRequest("GET", "/api/v0/withdrawals/0x123", nil) + logger := testlog.Logger(t, log.LvlInfo) + api := NewApi(&MockBridgeTransfersView{}, logger) + request, err := http.NewRequest("GET", fmt.Sprintf("/api/v0/withdrawals/%s", mockAddress), nil) assert.Nil(t, err) responseRecorder := httptest.NewRecorder() diff --git a/indexer/api/routes/common.go b/indexer/api/routes/common.go new file mode 100644 index 000000000000..f434e9c28ec1 --- /dev/null +++ b/indexer/api/routes/common.go @@ -0,0 +1,52 @@ +package routes + +import ( + "encoding/json" + "net/http" + + "github.com/ethereum/go-ethereum/log" +) + +// lazily typing numbers fixme +type Transaction struct { + Timestamp uint64 `json:"timestamp"` + TransactionHash string `json:"transactionHash"` +} + +type Block struct { + BlockNumber int64 `json:"number"` + BlockHash string `json:"hash"` + // ParentBlockHash string `json:"parentHash"` +} + +type Extensions struct { + OptimismBridgeAddress string `json:"OptimismBridgeAddress"` +} + +type TokenInfo struct { + // TODO lazily typing ints go through them all with fine tooth comb once api is up + ChainId int `json:"chainId"` + Address string `json:"address"` + Name string `json:"name"` + Symbol string `json:"symbol"` + Decimals int `json:"decimals"` + Extensions Extensions `json:"extensions"` +} + +func jsonResponse(w http.ResponseWriter, logger log.Logger, data interface{}, statusCode int) { + w.Header().Set("Content-Type", "application/json") + jsonData, err := json.Marshal(data) + if err != nil { + http.Error(w, "Internal server error", http.StatusInternalServerError) + logger.Error("Failed to marshal JSON: %v", err) + return + } + + w.WriteHeader(statusCode) + _, err = w.Write(jsonData) + if err != nil { + http.Error(w, "Internal server error", http.StatusInternalServerError) + logger.Error("Failed to write JSON data", err) + return + } +} diff --git a/indexer/api/routes/deposits.go b/indexer/api/routes/deposits.go new file mode 100644 index 000000000000..5845ef36bcad --- /dev/null +++ b/indexer/api/routes/deposits.go @@ -0,0 +1,94 @@ +package routes + +import ( + "net/http" + + "github.com/ethereum-optimism/optimism/indexer/database" + "github.com/ethereum/go-ethereum/common" + "github.com/go-chi/chi/v5" +) + +type DepositItem struct { + Guid string `json:"guid"` + From string `json:"from"` + To string `json:"to"` + // TODO could consider OriginTx to be more generic to handling L2 to L2 deposits + // this seems more clear today though + Tx Transaction `json:"Tx"` + Block Block `json:"Block"` + Amount string `json:"amount"` + L1Token TokenInfo `json:"l1Token"` + L2Token TokenInfo `json:"l2Token"` +} + +type DepositResponse struct { + Cursor string `json:"cursor"` + HasNextPage bool `json:"hasNextPage"` + Items []DepositItem `json:"items"` +} + +// TODO this is original spec but maybe include the l2 block info too for the relayed tx +// FIXME make a pure function that returns a struct instead of newWithdrawalResponse +func newDepositResponse(deposits []*database.L1BridgeDepositWithTransactionHashes) DepositResponse { + items := make([]DepositItem, len(deposits)) + for _, deposit := range deposits { + item := DepositItem{ + Guid: deposit.L1BridgeDeposit.TransactionSourceHash.String(), + Block: Block{ + BlockNumber: 420420, // TODO + BlockHash: "0x420", // TODO + + }, + Tx: Transaction{ + TransactionHash: "0x420", // TODO + Timestamp: deposit.L1BridgeDeposit.Tx.Timestamp, + }, + From: deposit.L1BridgeDeposit.Tx.FromAddress.String(), + To: deposit.L1BridgeDeposit.Tx.ToAddress.String(), + Amount: deposit.L1BridgeDeposit.Tx.Amount.Int.String(), + L1Token: TokenInfo{ + ChainId: 1, + Address: deposit.L1BridgeDeposit.TokenPair.L1TokenAddress.String(), + Name: "TODO", + Symbol: "TODO", + Decimals: 420, + Extensions: Extensions{ + OptimismBridgeAddress: "0x420", // TODO + }, + }, + L2Token: TokenInfo{ + ChainId: 10, + Address: deposit.L1BridgeDeposit.TokenPair.L2TokenAddress.String(), + Name: "TODO", + Symbol: "TODO", + Decimals: 420, + Extensions: Extensions{ + OptimismBridgeAddress: "0x420", // TODO + }, + }, + } + items = append(items, item) + } + + return DepositResponse{ + Cursor: "42042042-4204-4204-4204-420420420420", // TODO + HasNextPage: false, // TODO + Items: items, + } +} + +func (h Routes) L1DepositsHandler(w http.ResponseWriter, r *http.Request) { + address := common.HexToAddress(chi.URLParam(r, "address")) + + deposits, err := h.BridgeTransfersView.L1BridgeDepositsByAddress(address) + if err != nil { + http.Error(w, "Internal server error reading deposits", http.StatusInternalServerError) + h.Logger.Error("Unable to read deposits from DB") + h.Logger.Error(err.Error()) + return + } + + response := newDepositResponse(deposits) + + jsonResponse(w, h.Logger, response, http.StatusOK) +} diff --git a/indexer/api/routes/healthz.go b/indexer/api/routes/healthz.go new file mode 100644 index 000000000000..8386397cf6e2 --- /dev/null +++ b/indexer/api/routes/healthz.go @@ -0,0 +1,9 @@ +package routes + +import ( + "net/http" +) + +func (h Routes) HealthzHandler(w http.ResponseWriter, r *http.Request) { + jsonResponse(w, h.Logger, "ok", http.StatusOK) +} diff --git a/indexer/api/routes/routes.go b/indexer/api/routes/routes.go new file mode 100644 index 000000000000..c21595bea68a --- /dev/null +++ b/indexer/api/routes/routes.go @@ -0,0 +1,18 @@ +package routes + +import ( + "github.com/ethereum-optimism/optimism/indexer/database" + "github.com/ethereum/go-ethereum/log" +) + +type Routes struct { + Logger log.Logger + BridgeTransfersView database.BridgeTransfersView +} + +func NewRoutes(logger log.Logger, bv database.BridgeTransfersView) Routes { + return Routes{ + Logger: logger, + BridgeTransfersView: bv, + } +} diff --git a/indexer/api/routes/withdrawals.go b/indexer/api/routes/withdrawals.go new file mode 100644 index 000000000000..0f125527a540 --- /dev/null +++ b/indexer/api/routes/withdrawals.go @@ -0,0 +1,119 @@ +package routes + +import ( + "net/http" + + "github.com/ethereum-optimism/optimism/indexer/database" + "github.com/ethereum/go-ethereum/common" + "github.com/go-chi/chi/v5" +) + +type Proof struct { + TransactionHash string `json:"transactionHash"` + BlockTimestamp uint64 `json:"blockTimestamp"` + BlockNumber int `json:"blockNumber"` +} + +type Claim struct { + TransactionHash string `json:"transactionHash"` + BlockTimestamp uint64 `json:"blockTimestamp"` + BlockNumber int `json:"blockNumber"` +} + +type WithdrawalItem struct { + Guid string `json:"guid"` + Tx Transaction `json:"Tx"` + Block Block `json:"Block"` + From string `json:"from"` + To string `json:"to"` + TransactionHash string `json:"transactionHash"` + Amount string `json:"amount"` + Proof Proof `json:"proof"` + Claim Claim `json:"claim"` + WithdrawalState string `json:"withdrawalState"` + L1Token TokenInfo `json:"l1Token"` + L2Token TokenInfo `json:"l2Token"` +} + +type WithdrawalResponse struct { + Cursor string `json:"cursor"` + HasNextPage bool `json:"hasNextPage"` + Items []WithdrawalItem `json:"items"` +} + +// FIXME make a pure function that returns a struct instead of newWithdrawalResponse +func newWithdrawalResponse(withdrawals []*database.L2BridgeWithdrawalWithTransactionHashes) WithdrawalResponse { + items := make([]WithdrawalItem, len(withdrawals)) + for _, withdrawal := range withdrawals { + item := WithdrawalItem{ + Guid: withdrawal.L2BridgeWithdrawal.TransactionWithdrawalHash.String(), + Block: Block{ + BlockNumber: 420420, // TODO + BlockHash: "0x420", // TODO + + }, + Tx: Transaction{ + TransactionHash: "0x420", // TODO + Timestamp: withdrawal.L2BridgeWithdrawal.Tx.Timestamp, + }, + From: withdrawal.L2BridgeWithdrawal.Tx.FromAddress.String(), + To: withdrawal.L2BridgeWithdrawal.Tx.ToAddress.String(), + TransactionHash: withdrawal.L2TransactionHash.String(), + Amount: withdrawal.L2BridgeWithdrawal.Tx.Amount.Int.String(), + Proof: Proof{ + TransactionHash: withdrawal.ProvenL1TransactionHash.String(), + BlockTimestamp: withdrawal.L2BridgeWithdrawal.Tx.Timestamp, + BlockNumber: 420, // TODO Block struct instead + }, + Claim: Claim{ + TransactionHash: withdrawal.FinalizedL1TransactionHash.String(), + BlockTimestamp: withdrawal.L2BridgeWithdrawal.Tx.Timestamp, // Using L2 timestamp for now, might need adjustment + BlockNumber: 420, // TODO block struct + }, + WithdrawalState: "COMPLETE", // TODO + L1Token: TokenInfo{ + ChainId: 1, + Address: withdrawal.L2BridgeWithdrawal.TokenPair.L1TokenAddress.String(), + Name: "Example", // TODO + Symbol: "EXAMPLE", // TODO + Decimals: 18, // TODO + Extensions: Extensions{ + OptimismBridgeAddress: "0x636Af16bf2f682dD3109e60102b8E1A089FedAa8", + }, + }, + L2Token: TokenInfo{ + ChainId: 10, + Address: withdrawal.L2BridgeWithdrawal.TokenPair.L2TokenAddress.String(), + Name: "Example", // TODO + Symbol: "EXAMPLE", // TODO + Decimals: 18, // TODO + Extensions: Extensions{ + OptimismBridgeAddress: "0x36Af16bf2f682dD3109e60102b8E1A089FedAa86", + }, + }, + } + items = append(items, item) + } + + return WithdrawalResponse{ + Cursor: "42042042-0420-4204-2042-420420420420", // TODO + HasNextPage: true, // TODO + Items: items, + } +} + +func (h Routes) L2WithdrawalsHandler(w http.ResponseWriter, r *http.Request) { + address := common.HexToAddress(chi.URLParam(r, "address")) + + withdrawals, err := h.BridgeTransfersView.L2BridgeWithdrawalsByAddress(address) + if err != nil { + http.Error(w, "Internal server error fetching withdrawals", http.StatusInternalServerError) + h.Logger.Error("Unable to read deposits from DB") + h.Logger.Error(err.Error()) + return + } + + response := newWithdrawalResponse(withdrawals) + + jsonResponse(w, h.Logger, response, http.StatusOK) +} diff --git a/indexer/cli/cli.go b/indexer/cli/cli.go index a683911ef33d..f46ee7a6f721 100644 --- a/indexer/cli/cli.go +++ b/indexer/cli/cli.go @@ -3,12 +3,14 @@ package cli import ( "context" "fmt" + "strconv" "github.com/ethereum-optimism/optimism/indexer" + "github.com/ethereum-optimism/optimism/indexer/api" "github.com/ethereum-optimism/optimism/indexer/config" + "github.com/ethereum-optimism/optimism/indexer/database" "github.com/ethereum-optimism/optimism/op-service/log" "github.com/ethereum-optimism/optimism/op-service/opio" - "github.com/ethereum/go-ethereum/params" "github.com/urfave/cli/v2" @@ -23,17 +25,28 @@ type Cli struct { } func runIndexer(ctx *cli.Context) error { - logger := log.NewLogger(log.ReadCLIConfig(ctx)) + logger := log.NewLogger(log.CLIConfig{ + Level: "warn", + Color: false, + Format: "terminal", + }) configPath := ctx.String(ConfigFlag.Name) - cfg, err := config.LoadConfig(configPath) + cfg, err := config.LoadConfig(logger, configPath) if err != nil { logger.Error("failed to load config", "err", err) return err } - cfg.Logger = logger - indexer, err := indexer.NewIndexer(cfg) + logger = log.NewLogger(cfg.Logger) + + db, err := database.NewDB(cfg.DB) + + if err != nil { + return err + } + + indexer, err := indexer.NewIndexer(cfg.Chain, cfg.RPCs, db, logger) if err != nil { return err } @@ -51,17 +64,21 @@ func runApi(ctx *cli.Context) error { logger := log.NewLogger(log.ReadCLIConfig(ctx)) configPath := ctx.String(ConfigFlag.Name) - cfg, err := config.LoadConfig(configPath) + cfg, err := config.LoadConfig(logger, configPath) if err != nil { logger.Error("failed to load config", "err", err) return err } - cfg.Logger = logger - fmt.Println(cfg) + db, err := database.NewDB(cfg.DB) + + if err != nil { + logger.Crit("Failed to connect to database", "err", err) + } + + server := api.NewApi(db.BridgeTransfers, logger) - // finish me - return err + return server.Listen(strconv.Itoa(cfg.API.Port)) } var ( @@ -81,7 +98,7 @@ func (c *Cli) Run(args []string) error { } func NewCli(GitVersion string, GitCommit string, GitDate string) *Cli { - flags := append([]cli.Flag{ConfigFlag}, log.CLIFlags("INDEXER")...) + flags := []cli.Flag{ConfigFlag} app := &cli.App{ Version: fmt.Sprintf("%s-%s", GitVersion, params.VersionWithCommit(GitCommit, GitDate)), Description: "An indexer of all optimism events with a serving api layer", diff --git a/indexer/config/config.go b/indexer/config/config.go index 8a8c750d6509..d7975ba796a3 100644 --- a/indexer/config/config.go +++ b/indexer/config/config.go @@ -1,15 +1,20 @@ package config import ( + "fmt" "os" + "reflect" "github.com/BurntSushi/toml" - "github.com/ethereum-optimism/optimism/indexer/processor" - "github.com/ethereum/go-ethereum/log" + "github.com/ethereum-optimism/optimism/op-service/log" + "github.com/ethereum/go-ethereum/common" + geth_log "github.com/ethereum/go-ethereum/log" "github.com/joho/godotenv" ) +// in future presets can just be onchain config and fetched on initialization + // Config represents the `indexer.toml` file used to configure the indexer type Config struct { Chain ChainConfig @@ -17,14 +22,42 @@ type Config struct { DB DBConfig API APIConfig Metrics MetricsConfig - Logger log.Logger `toml:"-"` + Logger log.CLIConfig +} + +// fetch this via onchain config from RPCsConfig and remove from config in future +type L1Contracts struct { + OptimismPortal common.Address + L2OutputOracle common.Address + L1CrossDomainMessenger common.Address + L1StandardBridge common.Address + L1ERC721Bridge common.Address + + // Some more contracts -- ProxyAdmin, SystemConfig, etcc + // Ignore the auxiliary contracts? + + // Legacy contracts? We'll add this in to index the legacy chain. + // Remove afterwards? +} + +func (c L1Contracts) ToSlice() []common.Address { + fields := reflect.VisibleFields(reflect.TypeOf(c)) + v := reflect.ValueOf(c) + + contracts := make([]common.Address, len(fields)) + for i, field := range fields { + contracts[i] = (v.FieldByName(field.Name).Interface()).(common.Address) + } + + return contracts } // ChainConfig configures of the chain being indexed type ChainConfig struct { // Configure known chains with the l2 chain id - Preset int - L1Contracts processor.L1Contracts + Preset int + // Configure custom chains via providing the L1Contract addresses + L1Contracts L1Contracts } // RPCsConfig configures the RPC urls @@ -55,32 +88,38 @@ type MetricsConfig struct { } // LoadConfig loads the `indexer.toml` config file from a given path -func LoadConfig(path string) (Config, error) { +func LoadConfig(logger geth_log.Logger, path string) (Config, error) { if err := godotenv.Load(); err != nil { - log.Warn("Unable to load .env file", err) - log.Info("Continuing without .env file") + logger.Warn("Unable to load .env file", err) + logger.Info("Continuing without .env file") } else { - log.Info("Loaded .env file") + logger.Info("Loaded .env file") } var conf Config - // Read the config file. data, err := os.ReadFile(path) if err != nil { return conf, err } - // Replace environment variables. data = []byte(os.ExpandEnv(string(data))) - // Decode the TOML data. if _, err := toml.Decode(string(data), &conf); err != nil { - log.Info("Failed to decode config file", "message", err) + logger.Info("Failed to decode config file", "message", err) return conf, err } - log.Debug("Loaded config file", conf) + if conf.Chain.Preset != 0 { + knownContracts, ok := presetL1Contracts[conf.Chain.Preset] + if ok { + conf.Chain.L1Contracts = knownContracts + } else { + return conf, fmt.Errorf("unknown preset: %d", conf.Chain.Preset) + } + } + + logger.Debug("Loaded config file", conf) return conf, nil } diff --git a/indexer/config/config_test.go b/indexer/config/config_test.go index c484e0777237..472a9587d59e 100644 --- a/indexer/config/config_test.go +++ b/indexer/config/config_test.go @@ -1,13 +1,18 @@ package config import ( + "fmt" "os" "testing" + "github.com/ethereum-optimism/optimism/op-node/testlog" + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/log" "github.com/stretchr/testify/require" ) func TestLoadConfig(t *testing.T) { + logger := testlog.Logger(t, log.LvlInfo) tmpfile, err := os.CreateTemp("", "test.toml") require.NoError(t, err) defer os.Remove(tmpfile.Name()) @@ -15,7 +20,7 @@ func TestLoadConfig(t *testing.T) { testData := ` [chain] - preset = 1234 + preset = 420 [rpcs] l1-rpc = "https://l1.example.com" @@ -45,10 +50,15 @@ func TestLoadConfig(t *testing.T) { err = tmpfile.Close() require.NoError(t, err) - conf, err := LoadConfig(tmpfile.Name()) + conf, err := LoadConfig(logger, tmpfile.Name()) require.NoError(t, err) - require.Equal(t, conf.Chain.Preset, 1234) + require.Equal(t, conf.Chain.Preset, 420) + require.Equal(t, conf.Chain.L1Contracts.OptimismPortal.String(), presetL1Contracts[420].OptimismPortal.String()) + require.Equal(t, conf.Chain.L1Contracts.L1CrossDomainMessenger.String(), presetL1Contracts[420].L1CrossDomainMessenger.String()) + require.Equal(t, conf.Chain.L1Contracts.L1ERC721Bridge.String(), presetL1Contracts[420].L1ERC721Bridge.String()) + require.Equal(t, conf.Chain.L1Contracts.L1StandardBridge.String(), presetL1Contracts[420].L1StandardBridge.String()) + require.Equal(t, conf.Chain.L1Contracts.L2OutputOracle.String(), presetL1Contracts[420].L2OutputOracle.String()) require.Equal(t, conf.RPCs.L1RPC, "https://l1.example.com") require.Equal(t, conf.RPCs.L2RPC, "https://l2.example.com") require.Equal(t, conf.DB.Host, "127.0.0.1") @@ -61,3 +71,69 @@ func TestLoadConfig(t *testing.T) { require.Equal(t, conf.Metrics.Host, "127.0.0.1") require.Equal(t, conf.Metrics.Port, 7300) } + +func TestLoadConfig_WithoutPreset(t *testing.T) { + tmpfile, err := os.CreateTemp("", "test_without_preset.toml") + require.NoError(t, err) + defer os.Remove(tmpfile.Name()) + defer tmpfile.Close() + + testData := ` + [chain] + l1contracts = { OptimismPortal = "0x4205Fc579115071764c7423A4f12eDde41f106Ed", L2OutputOracle = "0x42097868233d1aa22e815a266982f2cf17685a27", L1CrossDomainMessenger = "0x420ce71c97B33Cc4729CF772ae268934F7ab5fA1", L1StandardBridge = "0x4209fc46f92E8a1c0deC1b1747d010903E884bE1", L1ERC721Bridge ="0x420749f83b81B301cAb5f48EB8516B986DAef23D" } + + [rpcs] + l1-rpc = "https://l1.example.com" + l2-rpc = "https://l2.example.com" + ` + + data := []byte(testData) + err = os.WriteFile(tmpfile.Name(), data, 0644) + require.NoError(t, err) + defer os.Remove(tmpfile.Name()) + + err = tmpfile.Close() + require.NoError(t, err) + + logger := testlog.Logger(t, log.LvlInfo) + conf, err := LoadConfig(logger, tmpfile.Name()) + require.NoError(t, err) + + require.Equal(t, conf.Chain.L1Contracts.OptimismPortal.String(), common.HexToAddress("0x4205Fc579115071764c7423A4f12eDde41f106Ed").String()) + require.Equal(t, conf.Chain.L1Contracts.L2OutputOracle.String(), common.HexToAddress("0x42097868233d1aa22e815a266982f2cf17685a27").String()) + require.Equal(t, conf.Chain.L1Contracts.L1CrossDomainMessenger.String(), common.HexToAddress("0x420ce71c97B33Cc4729CF772ae268934F7ab5fA1").String()) + require.Equal(t, conf.Chain.L1Contracts.L1StandardBridge.String(), common.HexToAddress("0x4209fc46f92E8a1c0deC1b1747d010903E884bE1").String()) + require.Equal(t, conf.Chain.L1Contracts.L1ERC721Bridge.String(), common.HexToAddress("0x420749f83b81B301cAb5f48EB8516B986DAef23D").String()) + require.Equal(t, conf.Chain.Preset, 0) +} + +func TestLoadConfig_WithUnknownPreset(t *testing.T) { + tmpfile, err := os.CreateTemp("", "test_bad_preset.toml") + require.NoError(t, err) + defer os.Remove(tmpfile.Name()) + defer tmpfile.Close() + + testData := ` + [chain] + preset = 1234567890 # this preset doesn't exist + + [rpcs] + l1-rpc = "https://l1.example.com" + l2-rpc = "https://l2.example.com" + ` + + data := []byte(testData) + err = os.WriteFile(tmpfile.Name(), data, 0644) + require.NoError(t, err) + defer os.Remove(tmpfile.Name()) + + err = tmpfile.Close() + require.NoError(t, err) + + logger := testlog.Logger(t, log.LvlInfo) + conf, err := LoadConfig(logger, tmpfile.Name()) + var faultyPreset = 1234567890 + require.Equal(t, conf.Chain.Preset, faultyPreset) + require.Error(t, err) + require.Equal(t, fmt.Sprintf("unknown preset: %d", faultyPreset), err.Error()) +} diff --git a/indexer/config/presets.go b/indexer/config/presets.go new file mode 100644 index 000000000000..5d00415d1cbe --- /dev/null +++ b/indexer/config/presets.go @@ -0,0 +1,63 @@ +package config + +import ( + "github.com/ethereum/go-ethereum/common" +) + +// in future presets can just be onchain config and fetched on initialization + +// Mapping of l2 chain ids to their preset chain configurations +var presetL1Contracts = map[int]L1Contracts{ + // OP Mainnet + 10: { + OptimismPortal: common.HexToAddress("0xbEb5Fc579115071764c7423A4f12eDde41f106Ed"), + L2OutputOracle: common.HexToAddress("0xdfe97868233d1aa22e815a266982f2cf17685a27"), + L1CrossDomainMessenger: common.HexToAddress("0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1"), + L1StandardBridge: common.HexToAddress("0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1"), + L1ERC721Bridge: common.HexToAddress("0x5a7749f83b81B301cAb5f48EB8516B986DAef23D"), + }, + // OP Goerli + 420: { + OptimismPortal: common.HexToAddress("0x5b47E1A08Ea6d985D6649300584e6722Ec4B1383"), + L2OutputOracle: common.HexToAddress("0xE6Dfba0953616Bacab0c9A8ecb3a9BBa77FC15c0"), + L1CrossDomainMessenger: common.HexToAddress("0x5086d1eEF304eb5284A0f6720f79403b4e9bE294"), + L1StandardBridge: common.HexToAddress("0x636Af16bf2f682dD3109e60102b8E1A089FedAa8"), + L1ERC721Bridge: common.HexToAddress("0x8DD330DdE8D9898d43b4dc840Da27A07dF91b3c9"), + }, + // Base Mainnet + 8453: { + OptimismPortal: common.HexToAddress("0x49048044D57e1C92A77f79988d21Fa8fAF74E97e"), + L2OutputOracle: common.HexToAddress("0x56315b90c40730925ec5485cf004d835058518A0"), + L1CrossDomainMessenger: common.HexToAddress("0x866E82a600A1414e583f7F13623F1aC5d58b0Afa"), + L1StandardBridge: common.HexToAddress("0x3154Cf16ccdb4C6d922629664174b904d80F2C35"), + // FIXME update this to the correct address + L1ERC721Bridge: common.HexToAddress("0x0000000000000000000000000000000000000000"), + }, + // Base Goerli + 84531: { + OptimismPortal: common.HexToAddress("0xe93c8cD0D409341205A592f8c4Ac1A5fe5585cfA"), + L2OutputOracle: common.HexToAddress("0x2A35891ff30313CcFa6CE88dcf3858bb075A2298"), + L1CrossDomainMessenger: common.HexToAddress("0x8e5693140eA606bcEB98761d9beB1BC87383706D"), + L1StandardBridge: common.HexToAddress("0xfA6D8Ee5BE770F84FC001D098C4bD604Fe01284a"), + // FIXME update this to the correct address + L1ERC721Bridge: common.HexToAddress("0x0000000000000000000000000000000000000000"), + }, + // Zora mainnet + 7777777: { + OptimismPortal: common.HexToAddress("0x1a0ad011913A150f69f6A19DF447A0CfD9551054"), + L2OutputOracle: common.HexToAddress("0x9E6204F750cD866b299594e2aC9eA824E2e5f95c"), + L1CrossDomainMessenger: common.HexToAddress("0xdC40a14d9abd6F410226f1E6de71aE03441ca506"), + L1StandardBridge: common.HexToAddress("0x3e2Ea9B92B7E48A52296fD261dc26fd995284631"), + // FIXME update this to the correct address + L1ERC721Bridge: common.HexToAddress("0x0000000000000000000000000000000000000000"), + }, + // Zora goerli + 999: { + OptimismPortal: common.HexToAddress("0xDb9F51790365e7dc196e7D072728df39Be958ACe"), + L2OutputOracle: common.HexToAddress("0xdD292C9eEd00f6A32Ff5245d0BCd7f2a15f24e00"), + L1CrossDomainMessenger: common.HexToAddress("0xD87342e16352D33170557A7dA1e5fB966a60FafC"), + L1StandardBridge: common.HexToAddress("0x7CC09AC2452D6555d5e0C213Ab9E2d44eFbFc956"), + // FIXME update this to the correct address + L1ERC721Bridge: common.HexToAddress("0x0000000000000000000000000000000000000000"), + }, +} diff --git a/indexer/database/db.go b/indexer/database/db.go index 7f7d5c9960c4..253ef77d0268 100644 --- a/indexer/database/db.go +++ b/indexer/database/db.go @@ -2,6 +2,9 @@ package database import ( + "fmt" + + "github.com/ethereum-optimism/optimism/indexer/config" "gorm.io/driver/postgres" "gorm.io/gorm" "gorm.io/gorm/logger" @@ -17,7 +20,14 @@ type DB struct { BridgeTransactions BridgeTransactionsDB } -func NewDB(dsn string) (*DB, error) { +func NewDB(dbConfig config.DBConfig) (*DB, error) { + dsn := fmt.Sprintf("host=%s port=%d dbname=%s sslmode=disable", dbConfig.Host, dbConfig.Port, dbConfig.Name) + if dbConfig.User != "" { + dsn += fmt.Sprintf(" user=%s", dbConfig.User) + } + if dbConfig.Password != "" { + dsn += fmt.Sprintf(" password=%s", dbConfig.Password) + } gorm, err := gorm.Open(postgres.Open(dsn), &gorm.Config{ // The indexer will explicitly manage the transaction // flow processing blocks diff --git a/indexer/docker-compose.yml b/indexer/docker-compose.yml index 639168d8e0f8..b96c67c4a1d4 100644 --- a/indexer/docker-compose.yml +++ b/indexer/docker-compose.yml @@ -17,6 +17,29 @@ services: - postgres_data:/data/postgres indexer: + build: + context: .. + dockerfile: indexer/Dockerfile.refresh + command: ["indexer-refresh", "processor"] + # healthcheck: + # Add healthcheck once figure out good way how + # maybe after we add metrics? + ports: + - 8080:8080 + environment: + - INDEXER_DB_PORT=5432 + - INDEXER_DB_USER=db_username + - INDEXER_DB_PASSWORD=db_password + - INDEXER_DB_NAME=db_name + - INDEXER_DB_HOST=postgres + - INDEXER_CONFIG=/configs/indexer.toml + volumes: + - ./indexer.toml:/configs/indexer.toml + depends_on: + postgres: + condition: service_healthy + + api: build: context: .. dockerfile: indexer/Dockerfile @@ -75,5 +98,121 @@ services: postgres: condition: service_healthy + gateway-frontend: + command: pnpm nx start @gateway/frontend --host 0.0.0.0 --port 5173 + # Change tag to `latest` after https://github.com/ethereum-optimism/gateway/pull/2541 merges + image: ethereumoptimism/gateway-frontend:0687c408e4f85cbe81acf7a197e861df8c7282df + ports: + - 5173:5173 + healthcheck: + test: curl http://0.0.0.0:5173 + environment: + - VITE_GROWTHBOOK=${VITE_GROWTHBOOK:-https://cdn.growthbook.io/api/features/dev_iGoAbSwtGOtEJONeHdVTosV0BD3TvTPttAccGyRxqsk} + - VITE_ENABLE_DEVNET=true + - VITE_RPC_URL_ETHEREUM_MAINNET=$VITE_RPC_URL_ETHEREUM_MAINNET + - VITE_RPC_URL_ETHEREUM_OPTIMISM_MAINNET=$VITE_RPC_URL_OPTIMISM_MAINNET + - VITE_RPC_URL_ETHEREUM_GOERLI=$VITE_RPC_URL_ETHEREUM_GOERLI + - VITE_RPC_URL_ETHEREUM_OPTIMISM_GOERLI=$VITE_RPC_URL_OPTIMISM_GOERLI + - VITE_BACKEND_URL_MAINNET=http://localhost:7421 + - VITE_BACKEND_URL_GOERLI=http://localhost:7422 + - VITE_ENABLE_ALL_FEATURES=true + + backend-mainnet: + image: ethereumoptimism/gateway-backend:latest + environment: + # this enables the backend to proxy history requests to the indexer + - BRIDGE_INDEXER_URI=http://api + - HOST=0.0.0.0 + - PORT=7300 + - MIGRATE_APP_DB_USER=${MIGRATE_APP_DB_USER:-postgres} + - MIGRATE_APP_DB_PASSWORD=${MIGRATE_APP_DB_PASSWORD:-db_password} + - APP_DB_HOST=${APP_DB_HOST:-postgres-app} + - APP_DB_USER=${APP_DB_USER:-gateway-backend-mainnet@oplabs-local-web.iam} + - APP_DB_NAME=${APP_DB_NAME:-gateway} + - APP_DB_PORT=${APP_DB_PORT:-5432} + # THis is for the legacy indexer which won't be used but the env variable is still required + - INDEXER_DB_HOST=postgres-mainnet + # THis is for the legacy indexer which won't be used but the env variable is still required + - INDEXER_DB_USER=db_username + # THis is for the legacy indexer which won't be used but the env variable is still required + - INDEXER_DB_PASS=db_password + # THis is for the legacy indexer which won't be used but the env variable is still required + - INDEXER_DB_NAME=db_name + # THis is for the legacy indexer which won't be used but the env variable is still required + - INDEXER_DB_PORT=5432 + # THis is for the legacy indexer which won't be used but the env variable is still required + - DATABASE_URL=postgres://db_username:db_password@postgres-mainnet:5432/db_name + - JSON_RPC_URLS_L1=$JSON_RPC_URLS_L1_MAINNET + - JSON_RPC_URLS_L2=$JSON_RPC_URLS_L2_MAINNET + - JSON_RPC_URLS_L2_GOERLI=$JSON_RPC_URLS_L2_GOERLI + # anvil[0] privater key as placeholder + - FAUCET_AUTH_ADMIN_WALLET_PRIVATE_KEY=${$FAUCET_AUTH_ADMIN_WALLET_PRIVATE_KEY:-0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80} + - IRON_SESSION_SECRET=${IRON_SESSION_SECRET:-UNKNOWN_IRON_SESSION_PASSWORD_32} + - CHAIN_ID_L1=1 + - CHAIN_ID_L2=10 + - FLEEK_BUCKET_ADDRESS=34a609661-6774-441f-9fdb-453fdbb89931-bucket + - FLEEK_API_SECRET=$FLEEK_API_SECRET + - FLEEK_API_KEY=$FLEEK_API_KEY + - MOCK_MERKLE_PROOF=true + - LOOP_INTERVAL_MINUTES=.1 + - GITHUB_CLIENT_ID=$GITHUB_CLIENT_ID + - GITHUB_SECRET=$GITHUB_SECRET + - MAINNET_BEDROCK=$MAINNET_BEDROCK + - TRM_API_KEY=$TRM_API_KEY + - GOOGLE_CLOUD_STORAGE_BUCKET_NAME=oplabs-dev-web-content + # Recommened to uncomment for local dev unless you need it + #- BYPASS_EVENT_LOG_POLLER_BOOTSTRAP=true + ports: + - 7421:7300 + # overrides command in Dockerfile so we can hot reload the server in docker while developing + #command: ['pnpm', 'nx', 'run', '@gateway/backend:docker:watch'] + healthcheck: + test: curl http://0.0.0.0:7300/api/v0/healthz + + backend-goerli: + image: ethereumoptimism/gateway-backend:latest + environment: + # this enables the backend to proxy history requests to the indexer + - BRIDGE_INDEXER_URI=http://api + - HOST=0.0.0.0 + - PORT=7300 + - MIGRATE_APP_DB_USER=${MIGRATE_APP_DB_USER:-postgres} + - MIGRATE_APP_DB_PASSWORD=${MIGRATE_APP_DB_PASSWORD:-db_password} + - APP_DB_HOST=${APP_DB_HOST:-postgres-app} + - APP_DB_USER=${APP_DB_USER:-gateway-backend-goerli@oplabs-local-web.iam} + - APP_DB_NAME=${APP_DB_NAME:-gateway} + - APP_DB_PORT=${APP_DB_PORT:-5432} + - INDEXER_DB_HOST=${INDEXER_DB_HOST_GOERLI:-postgres-goerli} + - INDEXER_DB_USER=${INDEXER_DB_USER_GOERLI:-db_username} + - INDEXER_DB_PASS=${INDEXER_DB_PASSWORD_GOERLI:-db_password} + - INDEXER_DB_NAME=${INDEXER_DB_NAME_GOERLI:-db_name} + - INDEXER_DB_PORT=${INDEXER_DB_PORT_GOERLI:-5432} + - DATABASE_URL=${DATABASE_URL_GOERLI:-postgres://db_username:db_password@postgres-goerli:5432/db_name} + - JSON_RPC_URLS_L1=$JSON_RPC_URLS_L1_GOERLI + - JSON_RPC_URLS_L2=$JSON_RPC_URLS_L2_GOERLI + - JSON_RPC_URLS_L2_GOERLI=$JSON_RPC_URLS_L2_GOERLI + - FAUCET_AUTH_ADMIN_WALLET_PRIVATE_KEY=$FAUCET_AUTH_ADMIN_WALLET_PRIVATE_KEY + - IRON_SESSION_SECRET=${IRON_SESSION_SECRET:-UNKNOWN_IRON_SESSION_PASSWORD_32} + - CHAIN_ID_L1=5 + - CHAIN_ID_L2=420 + - FLEEK_BUCKET_ADDRESS=34a609661-6774-441f-9fdb-453fdbb89931-bucket + - FLEEK_API_SECRET=$FLEEK_API_SECRET + - FLEEK_API_KEY=$FLEEK_API_KEY + - MOCK_MERKLE_PROOF=true + - LOOP_INTERVAL_MINUTES=.1 + - GITHUB_CLIENT_ID=$GITHUB_CLIENT_ID + - GITHUB_SECRET=$GITHUB_SECRET + - MAINNET_BEDROCK=true + - TRM_API_KEY=$TRM_API_KEY + - GOOGLE_CLOUD_STORAGE_BUCKET_NAME=oplabs-dev-web-content + # Recommened to uncomment for local dev unless you need it + #- BYPASS_EVENT_LOG_POLLER_BOOTSTRAP=true + ports: + - 7422:7300 + # overrides command in Dockerfile so we can hot reload the server in docker while developing + #command: ['pnpm', 'nx', 'run', '@gateway/backend:docker:watch'] + healthcheck: + test: curl http://0.0.0.0:7300/api/v0/healthz + volumes: postgres_data: diff --git a/indexer/e2e_tests/setup.go b/indexer/e2e_tests/setup.go index 006ef60cc403..9a174ae6837e 100644 --- a/indexer/e2e_tests/setup.go +++ b/indexer/e2e_tests/setup.go @@ -13,10 +13,10 @@ import ( "github.com/ethereum-optimism/optimism/indexer" "github.com/ethereum-optimism/optimism/indexer/config" "github.com/ethereum-optimism/optimism/indexer/database" - "github.com/ethereum-optimism/optimism/indexer/processor" op_e2e "github.com/ethereum-optimism/optimism/op-e2e" "github.com/ethereum-optimism/optimism/op-node/testlog" + op_log "github.com/ethereum-optimism/optimism/op-service/log" "github.com/ethereum/go-ethereum/ethclient" "github.com/ethereum/go-ethereum/log" @@ -59,7 +59,10 @@ func createE2ETestSuite(t *testing.T) E2ETestSuite { // Indexer Configuration and Start indexerCfg := config.Config{ - Logger: logger, + + Logger: op_log.CLIConfig{ + Level: "warn", + }, DB: config.DBConfig{ Host: "127.0.0.1", Port: 5432, @@ -71,7 +74,7 @@ func createE2ETestSuite(t *testing.T) E2ETestSuite { L2RPC: opSys.Nodes["sequencer"].HTTPEndpoint(), }, Chain: config.ChainConfig{ - L1Contracts: processor.L1Contracts{ + L1Contracts: config.L1Contracts{ OptimismPortal: opCfg.L1Deployments.OptimismPortalProxy, L2OutputOracle: opCfg.L1Deployments.L2OutputOracleProxy, L1CrossDomainMessenger: opCfg.L1Deployments.L1CrossDomainMessengerProxy, @@ -81,9 +84,14 @@ func createE2ETestSuite(t *testing.T) E2ETestSuite { }, } - db, err := database.NewDB(fmt.Sprintf("postgres://%s@localhost:5432/%s?sslmode=disable", dbUser, dbName)) + db, err := database.NewDB(indexerCfg.DB) require.NoError(t, err) - indexer, err := indexer.NewIndexer(indexerCfg) + indexer, err := indexer.NewIndexer( + indexerCfg.Chain, + indexerCfg.RPCs, + db, + logger, + ) require.NoError(t, err) indexerStoppedCh := make(chan interface{}, 1) diff --git a/indexer/indexer.go b/indexer/indexer.go index 1c09e47c90dd..cb3b994a2853 100644 --- a/indexer/indexer.go +++ b/indexer/indexer.go @@ -24,44 +24,31 @@ type Indexer struct { } // NewIndexer initializes an instance of the Indexer -func NewIndexer(cfg config.Config) (*Indexer, error) { - dsn := fmt.Sprintf("host=%s port=%d dbname=%s sslmode=disable", cfg.DB.Host, cfg.DB.Port, cfg.DB.Name) - if cfg.DB.User != "" { - dsn += fmt.Sprintf(" user=%s", cfg.DB.User) - } - if cfg.DB.Password != "" { - dsn += fmt.Sprintf(" password=%s", cfg.DB.Password) - } - - db, err := database.NewDB(dsn) - if err != nil { - return nil, err - } - - l1Contracts := cfg.Chain.L1Contracts - l1EthClient, err := node.DialEthClient(cfg.RPCs.L1RPC) +func NewIndexer(chainConfig config.ChainConfig, rpcsConfig config.RPCsConfig, db *database.DB, logger log.Logger) (*Indexer, error) { + l1Contracts := chainConfig.L1Contracts + l1EthClient, err := node.DialEthClient(rpcsConfig.L1RPC) if err != nil { return nil, err } - l1Processor, err := processor.NewL1Processor(cfg.Logger, l1EthClient, db, l1Contracts) + l1Processor, err := processor.NewL1Processor(logger, l1EthClient, db, l1Contracts) if err != nil { return nil, err } // L2Processor (predeploys). Although most likely the right setting, make this configurable? l2Contracts := processor.L2ContractPredeploys() - l2EthClient, err := node.DialEthClient(cfg.RPCs.L2RPC) + l2EthClient, err := node.DialEthClient(rpcsConfig.L2RPC) if err != nil { return nil, err } - l2Processor, err := processor.NewL2Processor(cfg.Logger, l2EthClient, db, l2Contracts) + l2Processor, err := processor.NewL2Processor(logger, l2EthClient, db, l2Contracts) if err != nil { return nil, err } indexer := &Indexer{ db: db, - log: cfg.Logger, + log: logger, L1Processor: l1Processor, L2Processor: l2Processor, } diff --git a/indexer/indexer.toml b/indexer/indexer.toml index 09e89870b2ad..bc263e51d703 100644 --- a/indexer/indexer.toml +++ b/indexer/indexer.toml @@ -1,6 +1,8 @@ +# Chain configures l1 chain addresses +# Can configure them manually or use a preset l2 ChainId for known chains including OP Mainnet, OP Goerli, Base, Base Goerli, Zora, and Zora goerli [chain] +# OP Goerli preset = 420 - [rpcs] l1-rpc = "${INDEXER_RPC_URL_L1}" l2-rpc = "${INDEXER_RPC_URL_L2}" @@ -20,3 +22,11 @@ port = 8080 host = "127.0.0.1" port = 7300 +[logger] +# Log level: trace, debug, info, warn, error, crit. Capitals are accepted too. +level = "info" +# Color the log output. Defaults to true if terminal is detected. +color = true +# Format the log output. Supported formats: 'text', 'terminal', 'logfmt', 'json', 'json-pretty' +format = "terminal" + diff --git a/indexer/processor/l1_processor.go b/indexer/processor/l1_processor.go index c95f5e8f873b..21ab6b502d41 100644 --- a/indexer/processor/l1_processor.go +++ b/indexer/processor/l1_processor.go @@ -6,8 +6,8 @@ import ( "errors" "fmt" "math/big" - "reflect" + "github.com/ethereum-optimism/optimism/indexer/config" "github.com/ethereum-optimism/optimism/indexer/database" "github.com/ethereum-optimism/optimism/indexer/node" "github.com/ethereum-optimism/optimism/op-bindings/bindings" @@ -23,32 +23,6 @@ import ( "github.com/ethereum/go-ethereum/log" ) -type L1Contracts struct { - OptimismPortal common.Address - L2OutputOracle common.Address - L1CrossDomainMessenger common.Address - L1StandardBridge common.Address - L1ERC721Bridge common.Address - - // Some more contracts -- ProxyAdmin, SystemConfig, etcc - // Ignore the auxiliary contracts? - - // Legacy contracts? We'll add this in to index the legacy chain. - // Remove afterwards? -} - -func (c L1Contracts) ToSlice() []common.Address { - fields := reflect.VisibleFields(reflect.TypeOf(c)) - v := reflect.ValueOf(c) - - contracts := make([]common.Address, len(fields)) - for i, field := range fields { - contracts[i] = (v.FieldByName(field.Name).Interface()).(common.Address) - } - - return contracts -} - type checkpointAbi struct { l2OutputOracle *abi.ABI legacyStateCommitmentChain *abi.ABI @@ -58,7 +32,7 @@ type L1Processor struct { processor } -func NewL1Processor(logger log.Logger, ethClient node.EthClient, db *database.DB, l1Contracts L1Contracts) (*L1Processor, error) { +func NewL1Processor(logger log.Logger, ethClient node.EthClient, db *database.DB, l1Contracts config.L1Contracts) (*L1Processor, error) { l1ProcessLog := logger.New("processor", "l1") l1ProcessLog.Info("initializing processor") @@ -107,7 +81,7 @@ func NewL1Processor(logger log.Logger, ethClient node.EthClient, db *database.DB return l1Processor, nil } -func l1ProcessFn(processLog log.Logger, ethClient node.EthClient, l1Contracts L1Contracts, checkpointAbi checkpointAbi) ProcessFn { +func l1ProcessFn(processLog log.Logger, ethClient node.EthClient, l1Contracts config.L1Contracts, checkpointAbi checkpointAbi) ProcessFn { rawEthClient := ethclient.NewClient(ethClient.RawRpcClient()) contractAddrs := l1Contracts.ToSlice() @@ -261,7 +235,7 @@ func l1ProcessFn(processLog log.Logger, ethClient node.EthClient, l1Contracts L1 } } -func l1ProcessContractEventsBridgeTransactions(processLog log.Logger, db *database.DB, l1Contracts L1Contracts, events *ProcessedContractEvents) error { +func l1ProcessContractEventsBridgeTransactions(processLog log.Logger, db *database.DB, l1Contracts config.L1Contracts, events *ProcessedContractEvents) error { // (1) Process New Deposits portalDeposits, err := OptimismPortalTransactionDepositEvents(events) if err != nil { @@ -294,6 +268,7 @@ func l1ProcessContractEventsBridgeTransactions(processLog log.Logger, db *databa TransactionSourceHash: depositTx.SourceHash, Tx: transactionDeposits[i].Tx, TokenPair: database.TokenPair{ + // TODO index eth token if it doesn't exist L1TokenAddress: predeploys.LegacyERC20ETHAddr, L2TokenAddress: predeploys.LegacyERC20ETHAddr, }, @@ -492,7 +467,8 @@ func l1ProcessContractEventsStandardBridge(processLog log.Logger, db *database.D deposits[i] = &database.L1BridgeDeposit{ TransactionSourceHash: depositTx.SourceHash, CrossDomainMessengerNonce: &database.U256{Int: initiatedBridgeEvent.CrossDomainMessengerNonce}, - TokenPair: database.TokenPair{L1TokenAddress: initiatedBridgeEvent.LocalToken, L2TokenAddress: initiatedBridgeEvent.RemoteToken}, + // TODO index the tokens pairs if they don't exist + TokenPair: database.TokenPair{L1TokenAddress: initiatedBridgeEvent.LocalToken, L2TokenAddress: initiatedBridgeEvent.RemoteToken}, Tx: database.Transaction{ FromAddress: initiatedBridgeEvent.From, ToAddress: initiatedBridgeEvent.To, diff --git a/op-bindings/bindings/mips.go b/op-bindings/bindings/mips.go index e425b65d1389..11df0d80971c 100644 --- a/op-bindings/bindings/mips.go +++ b/op-bindings/bindings/mips.go @@ -31,7 +31,7 @@ var ( // MIPSMetaData contains all meta data concerning the MIPS contract. var MIPSMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"internalType\":\"contractIPreimageOracle\",\"name\":\"_oracle\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"BRK_START\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"oracle\",\"outputs\":[{\"internalType\":\"contractIPreimageOracle\",\"name\":\"oracle_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"stateData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"proof\",\"type\":\"bytes\"}],\"name\":\"step\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", - Bin: "0x60a060405234801561001057600080fd5b50604051611d55380380611d5583398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051611cc4610091600039600081816085015261148a0152611cc46000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063155633fe146100465780637dc0d1d01461006b578063f8e0cb96146100af575b600080fd5b610051634000000081565b60405163ffffffff90911681526020015b60405180910390f35b60405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610062565b6100c26100bd366004611bc9565b6100d0565b604051908152602001610062565b60006100da611af6565b608081146100e757600080fd5b604051610600146100f757600080fd5b6064861461010457600080fd5b610184841461011257600080fd5b8535608052602086013560a052604086013560e090811c60c09081526044880135821c82526048880135821c61010052604c880135821c610120526050880135821c61014052605488013590911c61016052605887013560f890811c610180526059880135901c6101a052605a870135901c6101c0526102006101e0819052606287019060005b60208110156101bd57823560e01c8252600490920191602090910190600101610199565b505050806101200151156101db576101d3610611565b915050610609565b6101408101805160010167ffffffffffffffff169052606081015160009061020390826106b9565b9050603f601a82901c16600281148061022257508063ffffffff166003145b1561026f576102658163ffffffff1660021461023f57601f610242565b60005b60ff166002610258856303ffffff16601a610775565b63ffffffff16901b6107e8565b9350505050610609565b6101608301516000908190601f601086901c81169190601587901c166020811061029b5761029b611c35565b602002015192508063ffffffff851615806102bc57508463ffffffff16601c145b156102f3578661016001518263ffffffff16602081106102de576102de611c35565b6020020151925050601f600b86901c166103af565b60208563ffffffff161015610355578463ffffffff16600c148061031d57508463ffffffff16600d145b8061032e57508463ffffffff16600e145b1561033f578561ffff1692506103af565b61034e8661ffff166010610775565b92506103af565b60288563ffffffff1610158061037157508463ffffffff166022145b8061038257508463ffffffff166026145b156103af578661016001518263ffffffff16602081106103a4576103a4611c35565b602002015192508190505b60048563ffffffff16101580156103cc575060088563ffffffff16105b806103dd57508463ffffffff166001145b156103fc576103ee858784876108e2565b975050505050505050610609565b63ffffffff60006020878316106104615761041c8861ffff166010610775565b9095019463fffffffc86166104328160016106b9565b915060288863ffffffff161015801561045257508763ffffffff16603014155b1561045f57809250600093505b505b600061046f89888885610af2565b63ffffffff9081169150603f8a16908916158015610494575060088163ffffffff1610155b80156104a65750601c8163ffffffff16105b15610582578063ffffffff16600814806104c657508063ffffffff166009145b156104fd576104eb8163ffffffff166008146104e257856104e5565b60005b896107e8565b9b505050505050505050505050610609565b8063ffffffff16600a0361051d576104eb858963ffffffff8a1615611195565b8063ffffffff16600b0361053e576104eb858963ffffffff8a161515611195565b8063ffffffff16600c03610554576104eb61127b565b60108163ffffffff16101580156105715750601c8163ffffffff16105b15610582576104eb818989886117af565b8863ffffffff16603814801561059d575063ffffffff861615155b156105d25760018b61016001518763ffffffff16602081106105c1576105c1611c35565b63ffffffff90921660209290920201525b8363ffffffff1663ffffffff146105ef576105ef846001846119a9565b6105fb85836001611195565b9b5050505050505050505050505b949350505050565b60408051608051815260a051602082015260dc519181019190915260fc51604482015261011c51604882015261013c51604c82015261015c51605082015261017c51605482015261019f5160588201526101bf5160598201526101d851605a8201526000906102009060628101835b60208110156106a457601c8401518252602090930192600490910190600101610680565b506000815281810382a0819003902092915050565b6000806106c583611a4d565b905060038416156106d557600080fd5b6020810190358460051c8160005b601b81101561073b5760208501943583821c600116801561070b576001811461072057610731565b60008481526020839052604090209350610731565b600082815260208590526040902093505b50506001016106e3565b50608051915081811461075657630badf00d60005260206000fd5b5050601f94909416601c0360031b9390931c63ffffffff169392505050565b600063ffffffff8381167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80850183169190911c821615159160016020869003821681901b830191861691821b92911b01826107d25760006107d4565b815b90861663ffffffff16179250505092915050565b60006107f2611af6565b60809050806060015160040163ffffffff16816080015163ffffffff161461087b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6a756d7020696e2064656c617920736c6f74000000000000000000000000000060448201526064015b60405180910390fd5b60608101805160808301805163ffffffff9081169093528583169052908516156108d157806008018261016001518663ffffffff16602081106108c0576108c0611c35565b63ffffffff90921660209290920201525b6108d9610611565b95945050505050565b60006108ec611af6565b608090506000816060015160040163ffffffff16826080015163ffffffff1614610972576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f6272616e636820696e2064656c617920736c6f740000000000000000000000006044820152606401610872565b8663ffffffff166004148061098d57508663ffffffff166005145b15610a095760008261016001518663ffffffff16602081106109b1576109b1611c35565b602002015190508063ffffffff168563ffffffff161480156109d957508763ffffffff166004145b80610a0157508063ffffffff168563ffffffff1614158015610a0157508763ffffffff166005145b915050610a86565b8663ffffffff16600603610a265760008460030b13159050610a86565b8663ffffffff16600703610a425760008460030b139050610a86565b8663ffffffff16600103610a8657601f601087901c166000819003610a6b5760008560030b1291505b8063ffffffff16600103610a845760008560030b121591505b505b606082018051608084015163ffffffff169091528115610acc576002610ab18861ffff166010610775565b63ffffffff90811690911b8201600401166080840152610ade565b60808301805160040163ffffffff1690525b610ae6610611565b98975050505050505050565b6000603f601a86901c81169086166020821015610eb65760088263ffffffff1610158015610b265750600f8263ffffffff16105b15610bc6578163ffffffff16600803610b4157506020610bc1565b8163ffffffff16600903610b5757506021610bc1565b8163ffffffff16600a03610b6d5750602a610bc1565b8163ffffffff16600b03610b835750602b610bc1565b8163ffffffff16600c03610b9957506024610bc1565b8163ffffffff16600d03610baf57506025610bc1565b8163ffffffff16600e03610bc1575060265b600091505b8163ffffffff16600003610e0a57601f600688901c16602063ffffffff83161015610ce45760088263ffffffff1610610c0457869350505050610609565b8163ffffffff16600003610c275763ffffffff86811691161b9250610609915050565b8163ffffffff16600203610c4a5763ffffffff86811691161c9250610609915050565b8163ffffffff16600303610c74576102658163ffffffff168763ffffffff16901c82602003610775565b8163ffffffff16600403610c97575050505063ffffffff8216601f84161b610609565b8163ffffffff16600603610cba575050505063ffffffff8216601f84161c610609565b8163ffffffff16600703610ce4576102658763ffffffff168763ffffffff16901c88602003610775565b8163ffffffff1660201480610cff57508163ffffffff166021145b15610d11578587019350505050610609565b8163ffffffff1660221480610d2c57508163ffffffff166023145b15610d3e578587039350505050610609565b8163ffffffff16602403610d59578587169350505050610609565b8163ffffffff16602503610d74578587179350505050610609565b8163ffffffff16602603610d8f578587189350505050610609565b8163ffffffff16602703610daa575050505082821719610609565b8163ffffffff16602a03610ddc578560030b8760030b12610dcc576000610dcf565b60015b60ff169350505050610609565b8163ffffffff16602b03610e04578563ffffffff168763ffffffff1610610dcc576000610dcf565b50611133565b8163ffffffff16600f03610e2c5760108563ffffffff16901b92505050610609565b8163ffffffff16601c03610eb1578063ffffffff16600203610e5357505050828202610609565b8063ffffffff1660201480610e6e57508063ffffffff166021145b15610eb1578063ffffffff16602003610e85579419945b60005b6380000000871615610ea7576401fffffffe600197881b169601610e88565b9250610609915050565b611133565b60288263ffffffff161015611019578163ffffffff16602003610f0257610ef98660031660080260180363ffffffff168563ffffffff16901c60ff166008610775565b92505050610609565b8163ffffffff16602103610f3757610ef98660021660080260100363ffffffff168563ffffffff16901c61ffff166010610775565b8163ffffffff16602203610f675750505063ffffffff60086003851602811681811b198416918316901b17610609565b8163ffffffff16602303610f7f578392505050610609565b8163ffffffff16602403610fb2578560031660080260180363ffffffff168463ffffffff16901c60ff1692505050610609565b8163ffffffff16602503610fe6578560021660080260100363ffffffff168463ffffffff16901c61ffff1692505050610609565b8163ffffffff16602603610eb15750505063ffffffff60086003851602601803811681811c198416918316901c17610609565b8163ffffffff166028036110505750505060ff63ffffffff60086003861602601803811682811b9091188316918416901b17610609565b8163ffffffff166029036110885750505061ffff63ffffffff60086002861602601003811682811b9091188316918416901b17610609565b8163ffffffff16602a036110b85750505063ffffffff60086003851602811681811c198316918416901c17610609565b8163ffffffff16602b036110d0578492505050610609565b8163ffffffff16602e036111035750505063ffffffff60086003851602601803811681811b198316918416901b17610609565b8163ffffffff1660300361111b578392505050610609565b8163ffffffff16603803611133578492505050610609565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f696e76616c696420696e737472756374696f6e000000000000000000000000006044820152606401610872565b600061119f611af6565b506080602063ffffffff861610611212576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f76616c69642072656769737465720000000000000000000000000000000000006044820152606401610872565b63ffffffff8516158015906112245750825b1561125857838161016001518663ffffffff166020811061124757611247611c35565b63ffffffff90921660209290920201525b60808101805163ffffffff808216606085015260049091011690526108d9610611565b6000611285611af6565b506101e051604081015160808083015160a084015160c09094015191936000928392919063ffffffff8616610ffa036112ff5781610fff8116156112ce57610fff811661100003015b8363ffffffff166000036112f55760e08801805163ffffffff8382011690915295506112f9565b8395505b5061176e565b8563ffffffff16610fcd0361131a576340000000945061176e565b8563ffffffff1661101803611332576001945061176e565b8563ffffffff166110960361136757600161012088015260ff831661010088015261135b610611565b97505050505050505090565b8563ffffffff16610fa3036115d15763ffffffff83161561176e577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb63ffffffff84160161158b5760006113c28363fffffffc1660016106b9565b60208901519091508060001a60010361142f5761142c81600090815233602052604090207effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01000000000000000000000000000000000000000000000000000000000000001790565b90505b6040808a015190517fe03110e10000000000000000000000000000000000000000000000000000000081526004810183905263ffffffff9091166024820152600090819073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063e03110e1906044016040805180830381865afa1580156114d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f49190611c64565b9150915060038616806004038281101561150c578092505b5081861015611519578591505b8260088302610100031c9250826008828460040303021b9250600180600883600403021b036001806008858560040303021b039150811981169050838119871617955050506115708663fffffffc166001866119a9565b60408b018051820163ffffffff16905297506115cc92505050565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd63ffffffff8416016115c05780945061176e565b63ffffffff9450600993505b61176e565b8563ffffffff16610fa4036116c25763ffffffff8316600114806115fb575063ffffffff83166002145b8061160c575063ffffffff83166004145b156116195780945061176e565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa63ffffffff8416016115c05760006116598363fffffffc1660016106b9565b60208901519091506003841660040383811015611674578093505b83900360089081029290921c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600193850293841b0116911b1760208801526000604088015293508361176e565b8563ffffffff16610fd70361176e578163ffffffff166003036117625763ffffffff831615806116f8575063ffffffff83166005145b80611709575063ffffffff83166003145b15611717576000945061176e565b63ffffffff831660011480611732575063ffffffff83166002145b80611743575063ffffffff83166006145b80611754575063ffffffff83166004145b156115c0576001945061176e565b63ffffffff9450601693505b6101608701805163ffffffff808816604090920191909152905185821660e09091015260808801805180831660608b0152600401909116905261135b610611565b60006117b9611af6565b506080600063ffffffff87166010036117d7575060c0810151611940565b8663ffffffff166011036117f65763ffffffff861660c0830152611940565b8663ffffffff1660120361180f575060a0810151611940565b8663ffffffff1660130361182e5763ffffffff861660a0830152611940565b8663ffffffff166018036118625763ffffffff600387810b9087900b02602081901c821660c08501521660a0830152611940565b8663ffffffff166019036118935763ffffffff86811681871602602081901c821660c08501521660a0830152611940565b8663ffffffff16601a036118e9578460030b8660030b816118b6576118b6611c88565b0763ffffffff1660c0830152600385810b9087900b816118d8576118d8611c88565b0563ffffffff1660a0830152611940565b8663ffffffff16601b03611940578463ffffffff168663ffffffff168161191257611912611c88565b0663ffffffff90811660c08401528581169087168161193357611933611c88565b0463ffffffff1660a08301525b63ffffffff84161561197b57808261016001518563ffffffff166020811061196a5761196a611c35565b63ffffffff90921660209290920201525b60808201805163ffffffff8082166060860152600490910116905261199e610611565b979650505050505050565b60006119b483611a4d565b905060038416156119c457600080fd5b6020810190601f8516601c0360031b83811b913563ffffffff90911b1916178460051c60005b601b811015611a425760208401933582821c6001168015611a125760018114611a2757611a38565b60008581526020839052604090209450611a38565b600082815260208690526040902094505b50506001016119ea565b505060805250505050565b60ff811661038002610184810190369061050401811015611af0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f636865636b207468617420746865726520697320656e6f7567682063616c6c6460448201527f61746100000000000000000000000000000000000000000000000000000000006064820152608401610872565b50919050565b6040805161018081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101919091526101608101611b5c611b61565b905290565b6040518061040001604052806020906020820280368337509192915050565b60008083601f840112611b9257600080fd5b50813567ffffffffffffffff811115611baa57600080fd5b602083019150836020828501011115611bc257600080fd5b9250929050565b60008060008060408587031215611bdf57600080fd5b843567ffffffffffffffff80821115611bf757600080fd5b611c0388838901611b80565b90965094506020870135915080821115611c1c57600080fd5b50611c2987828801611b80565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008060408385031215611c7757600080fd5b505080516020909101519092909150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fdfea164736f6c634300080f000a", + Bin: "0x60a060405234801561001057600080fd5b50604051611d67380380611d6783398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051611cd6610091600039600081816085015261149c0152611cd66000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063155633fe146100465780637dc0d1d01461006b578063f8e0cb96146100af575b600080fd5b610051634000000081565b60405163ffffffff90911681526020015b60405180910390f35b60405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610062565b6100c26100bd366004611bdb565b6100d0565b604051908152602001610062565b60006100da611b08565b608081146100e757600080fd5b604051610600146100f757600080fd5b6064861461010457600080fd5b610184841461011257600080fd5b8535608052602086013560a052604086013560e090811c60c09081526044880135821c82526048880135821c61010052604c880135821c610120526050880135821c61014052605488013590911c61016052605887013560f890811c610180526059880135901c6101a052605a870135901c6101c0526102006101e0819052606287019060005b60208110156101bd57823560e01c8252600490920191602090910190600101610199565b505050806101200151156101db576101d3610619565b915050610611565b6101408101805160010167ffffffffffffffff169052606081015160009061020390826106c1565b9050603f601a82901c16600281148061022257508063ffffffff166003145b156102775760006002836303ffffff1663ffffffff16901b846080015163f00000001617905061026c8263ffffffff1660021461026057601f610263565b60005b60ff168261077d565b945050505050610611565b6101608301516000908190601f601086901c81169190601587901c16602081106102a3576102a3611c47565b602002015192508063ffffffff851615806102c457508463ffffffff16601c145b156102fb578661016001518263ffffffff16602081106102e6576102e6611c47565b6020020151925050601f600b86901c166103b7565b60208563ffffffff16101561035d578463ffffffff16600c148061032557508463ffffffff16600d145b8061033657508463ffffffff16600e145b15610347578561ffff1692506103b7565b6103568661ffff166010610877565b92506103b7565b60288563ffffffff1610158061037957508463ffffffff166022145b8061038a57508463ffffffff166026145b156103b7578661016001518263ffffffff16602081106103ac576103ac611c47565b602002015192508190505b60048563ffffffff16101580156103d4575060088563ffffffff16105b806103e557508463ffffffff166001145b15610404576103f6858784876108ea565b975050505050505050610611565b63ffffffff6000602087831610610469576104248861ffff166010610877565b9095019463fffffffc861661043a8160016106c1565b915060288863ffffffff161015801561045a57508763ffffffff16603014155b1561046757809250600093505b505b600061047789888885610afa565b63ffffffff9081169150603f8a1690891615801561049c575060088163ffffffff1610155b80156104ae5750601c8163ffffffff16105b1561058a578063ffffffff16600814806104ce57508063ffffffff166009145b15610505576104f38163ffffffff166008146104ea57856104ed565b60005b8961077d565b9b505050505050505050505050610611565b8063ffffffff16600a03610525576104f3858963ffffffff8a16156111a7565b8063ffffffff16600b03610546576104f3858963ffffffff8a1615156111a7565b8063ffffffff16600c0361055c576104f361128d565b60108163ffffffff16101580156105795750601c8163ffffffff16105b1561058a576104f3818989886117c1565b8863ffffffff1660381480156105a5575063ffffffff861615155b156105da5760018b61016001518763ffffffff16602081106105c9576105c9611c47565b63ffffffff90921660209290920201525b8363ffffffff1663ffffffff146105f7576105f7846001846119bb565b610603858360016111a7565b9b5050505050505050505050505b949350505050565b60408051608051815260a051602082015260dc519181019190915260fc51604482015261011c51604882015261013c51604c82015261015c51605082015261017c51605482015261019f5160588201526101bf5160598201526101d851605a8201526000906102009060628101835b60208110156106ac57601c8401518252602090930192600490910190600101610688565b506000815281810382a0819003902092915050565b6000806106cd83611a5f565b905060038416156106dd57600080fd5b6020810190358460051c8160005b601b8110156107435760208501943583821c6001168015610713576001811461072857610739565b60008481526020839052604090209350610739565b600082815260208590526040902093505b50506001016106eb565b50608051915081811461075e57630badf00d60005260206000fd5b5050601f94909416601c0360031b9390931c63ffffffff169392505050565b6000610787611b08565b60809050806060015160040163ffffffff16816080015163ffffffff1614610810576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6a756d7020696e2064656c617920736c6f74000000000000000000000000000060448201526064015b60405180910390fd5b60608101805160808301805163ffffffff90811690935285831690529085161561086657806008018261016001518663ffffffff166020811061085557610855611c47565b63ffffffff90921660209290920201525b61086e610619565b95945050505050565b600063ffffffff8381167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80850183169190911c821615159160016020869003821681901b830191861691821b92911b01826108d45760006108d6565b815b90861663ffffffff16179250505092915050565b60006108f4611b08565b608090506000816060015160040163ffffffff16826080015163ffffffff161461097a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f6272616e636820696e2064656c617920736c6f740000000000000000000000006044820152606401610807565b8663ffffffff166004148061099557508663ffffffff166005145b15610a115760008261016001518663ffffffff16602081106109b9576109b9611c47565b602002015190508063ffffffff168563ffffffff161480156109e157508763ffffffff166004145b80610a0957508063ffffffff168563ffffffff1614158015610a0957508763ffffffff166005145b915050610a8e565b8663ffffffff16600603610a2e5760008460030b13159050610a8e565b8663ffffffff16600703610a4a5760008460030b139050610a8e565b8663ffffffff16600103610a8e57601f601087901c166000819003610a735760008560030b1291505b8063ffffffff16600103610a8c5760008560030b121591505b505b606082018051608084015163ffffffff169091528115610ad4576002610ab98861ffff166010610877565b63ffffffff90811690911b8201600401166080840152610ae6565b60808301805160040163ffffffff1690525b610aee610619565b98975050505050505050565b6000603f601a86901c81169086166020821015610ec85760088263ffffffff1610158015610b2e5750600f8263ffffffff16105b15610bce578163ffffffff16600803610b4957506020610bc9565b8163ffffffff16600903610b5f57506021610bc9565b8163ffffffff16600a03610b755750602a610bc9565b8163ffffffff16600b03610b8b5750602b610bc9565b8163ffffffff16600c03610ba157506024610bc9565b8163ffffffff16600d03610bb757506025610bc9565b8163ffffffff16600e03610bc9575060265b600091505b8163ffffffff16600003610e1c57601f600688901c16602063ffffffff83161015610cf65760088263ffffffff1610610c0c57869350505050610611565b8163ffffffff16600003610c2f5763ffffffff86811691161b9250610611915050565b8163ffffffff16600203610c525763ffffffff86811691161c9250610611915050565b8163ffffffff16600303610c8657610c7c8163ffffffff168763ffffffff16901c82602003610877565b9350505050610611565b8163ffffffff16600403610ca9575050505063ffffffff8216601f84161b610611565b8163ffffffff16600603610ccc575050505063ffffffff8216601f84161c610611565b8163ffffffff16600703610cf657610c7c8763ffffffff168763ffffffff16901c88602003610877565b8163ffffffff1660201480610d1157508163ffffffff166021145b15610d23578587019350505050610611565b8163ffffffff1660221480610d3e57508163ffffffff166023145b15610d50578587039350505050610611565b8163ffffffff16602403610d6b578587169350505050610611565b8163ffffffff16602503610d86578587179350505050610611565b8163ffffffff16602603610da1578587189350505050610611565b8163ffffffff16602703610dbc575050505082821719610611565b8163ffffffff16602a03610dee578560030b8760030b12610dde576000610de1565b60015b60ff169350505050610611565b8163ffffffff16602b03610e16578563ffffffff168763ffffffff1610610dde576000610de1565b50611145565b8163ffffffff16600f03610e3e5760108563ffffffff16901b92505050610611565b8163ffffffff16601c03610ec3578063ffffffff16600203610e6557505050828202610611565b8063ffffffff1660201480610e8057508063ffffffff166021145b15610ec3578063ffffffff16602003610e97579419945b60005b6380000000871615610eb9576401fffffffe600197881b169601610e9a565b9250610611915050565b611145565b60288263ffffffff16101561102b578163ffffffff16602003610f1457610f0b8660031660080260180363ffffffff168563ffffffff16901c60ff166008610877565b92505050610611565b8163ffffffff16602103610f4957610f0b8660021660080260100363ffffffff168563ffffffff16901c61ffff166010610877565b8163ffffffff16602203610f795750505063ffffffff60086003851602811681811b198416918316901b17610611565b8163ffffffff16602303610f91578392505050610611565b8163ffffffff16602403610fc4578560031660080260180363ffffffff168463ffffffff16901c60ff1692505050610611565b8163ffffffff16602503610ff8578560021660080260100363ffffffff168463ffffffff16901c61ffff1692505050610611565b8163ffffffff16602603610ec35750505063ffffffff60086003851602601803811681811c198416918316901c17610611565b8163ffffffff166028036110625750505060ff63ffffffff60086003861602601803811682811b9091188316918416901b17610611565b8163ffffffff1660290361109a5750505061ffff63ffffffff60086002861602601003811682811b9091188316918416901b17610611565b8163ffffffff16602a036110ca5750505063ffffffff60086003851602811681811c198316918416901c17610611565b8163ffffffff16602b036110e2578492505050610611565b8163ffffffff16602e036111155750505063ffffffff60086003851602601803811681811b198316918416901b17610611565b8163ffffffff1660300361112d578392505050610611565b8163ffffffff16603803611145578492505050610611565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f696e76616c696420696e737472756374696f6e000000000000000000000000006044820152606401610807565b60006111b1611b08565b506080602063ffffffff861610611224576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f76616c69642072656769737465720000000000000000000000000000000000006044820152606401610807565b63ffffffff8516158015906112365750825b1561126a57838161016001518663ffffffff166020811061125957611259611c47565b63ffffffff90921660209290920201525b60808101805163ffffffff8082166060850152600490910116905261086e610619565b6000611297611b08565b506101e051604081015160808083015160a084015160c09094015191936000928392919063ffffffff8616610ffa036113115781610fff8116156112e057610fff811661100003015b8363ffffffff166000036113075760e08801805163ffffffff83820116909152955061130b565b8395505b50611780565b8563ffffffff16610fcd0361132c5763400000009450611780565b8563ffffffff16611018036113445760019450611780565b8563ffffffff166110960361137957600161012088015260ff831661010088015261136d610619565b97505050505050505090565b8563ffffffff16610fa3036115e35763ffffffff831615611780577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb63ffffffff84160161159d5760006113d48363fffffffc1660016106c1565b60208901519091508060001a6001036114415761143e81600090815233602052604090207effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01000000000000000000000000000000000000000000000000000000000000001790565b90505b6040808a015190517fe03110e10000000000000000000000000000000000000000000000000000000081526004810183905263ffffffff9091166024820152600090819073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063e03110e1906044016040805180830381865afa1580156114e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115069190611c76565b9150915060038616806004038281101561151e578092505b508186101561152b578591505b8260088302610100031c9250826008828460040303021b9250600180600883600403021b036001806008858560040303021b039150811981169050838119871617955050506115828663fffffffc166001866119bb565b60408b018051820163ffffffff16905297506115de92505050565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd63ffffffff8416016115d257809450611780565b63ffffffff9450600993505b611780565b8563ffffffff16610fa4036116d45763ffffffff83166001148061160d575063ffffffff83166002145b8061161e575063ffffffff83166004145b1561162b57809450611780565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa63ffffffff8416016115d257600061166b8363fffffffc1660016106c1565b60208901519091506003841660040383811015611686578093505b83900360089081029290921c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600193850293841b0116911b17602088015260006040880152935083611780565b8563ffffffff16610fd703611780578163ffffffff166003036117745763ffffffff8316158061170a575063ffffffff83166005145b8061171b575063ffffffff83166003145b156117295760009450611780565b63ffffffff831660011480611744575063ffffffff83166002145b80611755575063ffffffff83166006145b80611766575063ffffffff83166004145b156115d25760019450611780565b63ffffffff9450601693505b6101608701805163ffffffff808816604090920191909152905185821660e09091015260808801805180831660608b0152600401909116905261136d610619565b60006117cb611b08565b506080600063ffffffff87166010036117e9575060c0810151611952565b8663ffffffff166011036118085763ffffffff861660c0830152611952565b8663ffffffff16601203611821575060a0810151611952565b8663ffffffff166013036118405763ffffffff861660a0830152611952565b8663ffffffff166018036118745763ffffffff600387810b9087900b02602081901c821660c08501521660a0830152611952565b8663ffffffff166019036118a55763ffffffff86811681871602602081901c821660c08501521660a0830152611952565b8663ffffffff16601a036118fb578460030b8660030b816118c8576118c8611c9a565b0763ffffffff1660c0830152600385810b9087900b816118ea576118ea611c9a565b0563ffffffff1660a0830152611952565b8663ffffffff16601b03611952578463ffffffff168663ffffffff168161192457611924611c9a565b0663ffffffff90811660c08401528581169087168161194557611945611c9a565b0463ffffffff1660a08301525b63ffffffff84161561198d57808261016001518563ffffffff166020811061197c5761197c611c47565b63ffffffff90921660209290920201525b60808201805163ffffffff808216606086015260049091011690526119b0610619565b979650505050505050565b60006119c683611a5f565b905060038416156119d657600080fd5b6020810190601f8516601c0360031b83811b913563ffffffff90911b1916178460051c60005b601b811015611a545760208401933582821c6001168015611a245760018114611a3957611a4a565b60008581526020839052604090209450611a4a565b600082815260208690526040902094505b50506001016119fc565b505060805250505050565b60ff811661038002610184810190369061050401811015611b02576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f636865636b207468617420746865726520697320656e6f7567682063616c6c6460448201527f61746100000000000000000000000000000000000000000000000000000000006064820152608401610807565b50919050565b6040805161018081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101919091526101608101611b6e611b73565b905290565b6040518061040001604052806020906020820280368337509192915050565b60008083601f840112611ba457600080fd5b50813567ffffffffffffffff811115611bbc57600080fd5b602083019150836020828501011115611bd457600080fd5b9250929050565b60008060008060408587031215611bf157600080fd5b843567ffffffffffffffff80821115611c0957600080fd5b611c1588838901611b92565b90965094506020870135915080821115611c2e57600080fd5b50611c3b87828801611b92565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008060408385031215611c8957600080fd5b505080516020909101519092909150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fdfea164736f6c634300080f000a", } // MIPSABI is the input ABI used to generate the binding from. diff --git a/op-bindings/bindings/mips_more.go b/op-bindings/bindings/mips_more.go index 22a85360b459..42eafb2c0211 100644 --- a/op-bindings/bindings/mips_more.go +++ b/op-bindings/bindings/mips_more.go @@ -13,9 +13,9 @@ const MIPSStorageLayoutJSON = "{\"storage\":null,\"types\":{}}" var MIPSStorageLayout = new(solc.StorageLayout) -var MIPSDeployedBin = "0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063155633fe146100465780637dc0d1d01461006b578063f8e0cb96146100af575b600080fd5b610051634000000081565b60405163ffffffff90911681526020015b60405180910390f35b60405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610062565b6100c26100bd366004611bc9565b6100d0565b604051908152602001610062565b60006100da611af6565b608081146100e757600080fd5b604051610600146100f757600080fd5b6064861461010457600080fd5b610184841461011257600080fd5b8535608052602086013560a052604086013560e090811c60c09081526044880135821c82526048880135821c61010052604c880135821c610120526050880135821c61014052605488013590911c61016052605887013560f890811c610180526059880135901c6101a052605a870135901c6101c0526102006101e0819052606287019060005b60208110156101bd57823560e01c8252600490920191602090910190600101610199565b505050806101200151156101db576101d3610611565b915050610609565b6101408101805160010167ffffffffffffffff169052606081015160009061020390826106b9565b9050603f601a82901c16600281148061022257508063ffffffff166003145b1561026f576102658163ffffffff1660021461023f57601f610242565b60005b60ff166002610258856303ffffff16601a610775565b63ffffffff16901b6107e8565b9350505050610609565b6101608301516000908190601f601086901c81169190601587901c166020811061029b5761029b611c35565b602002015192508063ffffffff851615806102bc57508463ffffffff16601c145b156102f3578661016001518263ffffffff16602081106102de576102de611c35565b6020020151925050601f600b86901c166103af565b60208563ffffffff161015610355578463ffffffff16600c148061031d57508463ffffffff16600d145b8061032e57508463ffffffff16600e145b1561033f578561ffff1692506103af565b61034e8661ffff166010610775565b92506103af565b60288563ffffffff1610158061037157508463ffffffff166022145b8061038257508463ffffffff166026145b156103af578661016001518263ffffffff16602081106103a4576103a4611c35565b602002015192508190505b60048563ffffffff16101580156103cc575060088563ffffffff16105b806103dd57508463ffffffff166001145b156103fc576103ee858784876108e2565b975050505050505050610609565b63ffffffff60006020878316106104615761041c8861ffff166010610775565b9095019463fffffffc86166104328160016106b9565b915060288863ffffffff161015801561045257508763ffffffff16603014155b1561045f57809250600093505b505b600061046f89888885610af2565b63ffffffff9081169150603f8a16908916158015610494575060088163ffffffff1610155b80156104a65750601c8163ffffffff16105b15610582578063ffffffff16600814806104c657508063ffffffff166009145b156104fd576104eb8163ffffffff166008146104e257856104e5565b60005b896107e8565b9b505050505050505050505050610609565b8063ffffffff16600a0361051d576104eb858963ffffffff8a1615611195565b8063ffffffff16600b0361053e576104eb858963ffffffff8a161515611195565b8063ffffffff16600c03610554576104eb61127b565b60108163ffffffff16101580156105715750601c8163ffffffff16105b15610582576104eb818989886117af565b8863ffffffff16603814801561059d575063ffffffff861615155b156105d25760018b61016001518763ffffffff16602081106105c1576105c1611c35565b63ffffffff90921660209290920201525b8363ffffffff1663ffffffff146105ef576105ef846001846119a9565b6105fb85836001611195565b9b5050505050505050505050505b949350505050565b60408051608051815260a051602082015260dc519181019190915260fc51604482015261011c51604882015261013c51604c82015261015c51605082015261017c51605482015261019f5160588201526101bf5160598201526101d851605a8201526000906102009060628101835b60208110156106a457601c8401518252602090930192600490910190600101610680565b506000815281810382a0819003902092915050565b6000806106c583611a4d565b905060038416156106d557600080fd5b6020810190358460051c8160005b601b81101561073b5760208501943583821c600116801561070b576001811461072057610731565b60008481526020839052604090209350610731565b600082815260208590526040902093505b50506001016106e3565b50608051915081811461075657630badf00d60005260206000fd5b5050601f94909416601c0360031b9390931c63ffffffff169392505050565b600063ffffffff8381167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80850183169190911c821615159160016020869003821681901b830191861691821b92911b01826107d25760006107d4565b815b90861663ffffffff16179250505092915050565b60006107f2611af6565b60809050806060015160040163ffffffff16816080015163ffffffff161461087b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6a756d7020696e2064656c617920736c6f74000000000000000000000000000060448201526064015b60405180910390fd5b60608101805160808301805163ffffffff9081169093528583169052908516156108d157806008018261016001518663ffffffff16602081106108c0576108c0611c35565b63ffffffff90921660209290920201525b6108d9610611565b95945050505050565b60006108ec611af6565b608090506000816060015160040163ffffffff16826080015163ffffffff1614610972576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f6272616e636820696e2064656c617920736c6f740000000000000000000000006044820152606401610872565b8663ffffffff166004148061098d57508663ffffffff166005145b15610a095760008261016001518663ffffffff16602081106109b1576109b1611c35565b602002015190508063ffffffff168563ffffffff161480156109d957508763ffffffff166004145b80610a0157508063ffffffff168563ffffffff1614158015610a0157508763ffffffff166005145b915050610a86565b8663ffffffff16600603610a265760008460030b13159050610a86565b8663ffffffff16600703610a425760008460030b139050610a86565b8663ffffffff16600103610a8657601f601087901c166000819003610a6b5760008560030b1291505b8063ffffffff16600103610a845760008560030b121591505b505b606082018051608084015163ffffffff169091528115610acc576002610ab18861ffff166010610775565b63ffffffff90811690911b8201600401166080840152610ade565b60808301805160040163ffffffff1690525b610ae6610611565b98975050505050505050565b6000603f601a86901c81169086166020821015610eb65760088263ffffffff1610158015610b265750600f8263ffffffff16105b15610bc6578163ffffffff16600803610b4157506020610bc1565b8163ffffffff16600903610b5757506021610bc1565b8163ffffffff16600a03610b6d5750602a610bc1565b8163ffffffff16600b03610b835750602b610bc1565b8163ffffffff16600c03610b9957506024610bc1565b8163ffffffff16600d03610baf57506025610bc1565b8163ffffffff16600e03610bc1575060265b600091505b8163ffffffff16600003610e0a57601f600688901c16602063ffffffff83161015610ce45760088263ffffffff1610610c0457869350505050610609565b8163ffffffff16600003610c275763ffffffff86811691161b9250610609915050565b8163ffffffff16600203610c4a5763ffffffff86811691161c9250610609915050565b8163ffffffff16600303610c74576102658163ffffffff168763ffffffff16901c82602003610775565b8163ffffffff16600403610c97575050505063ffffffff8216601f84161b610609565b8163ffffffff16600603610cba575050505063ffffffff8216601f84161c610609565b8163ffffffff16600703610ce4576102658763ffffffff168763ffffffff16901c88602003610775565b8163ffffffff1660201480610cff57508163ffffffff166021145b15610d11578587019350505050610609565b8163ffffffff1660221480610d2c57508163ffffffff166023145b15610d3e578587039350505050610609565b8163ffffffff16602403610d59578587169350505050610609565b8163ffffffff16602503610d74578587179350505050610609565b8163ffffffff16602603610d8f578587189350505050610609565b8163ffffffff16602703610daa575050505082821719610609565b8163ffffffff16602a03610ddc578560030b8760030b12610dcc576000610dcf565b60015b60ff169350505050610609565b8163ffffffff16602b03610e04578563ffffffff168763ffffffff1610610dcc576000610dcf565b50611133565b8163ffffffff16600f03610e2c5760108563ffffffff16901b92505050610609565b8163ffffffff16601c03610eb1578063ffffffff16600203610e5357505050828202610609565b8063ffffffff1660201480610e6e57508063ffffffff166021145b15610eb1578063ffffffff16602003610e85579419945b60005b6380000000871615610ea7576401fffffffe600197881b169601610e88565b9250610609915050565b611133565b60288263ffffffff161015611019578163ffffffff16602003610f0257610ef98660031660080260180363ffffffff168563ffffffff16901c60ff166008610775565b92505050610609565b8163ffffffff16602103610f3757610ef98660021660080260100363ffffffff168563ffffffff16901c61ffff166010610775565b8163ffffffff16602203610f675750505063ffffffff60086003851602811681811b198416918316901b17610609565b8163ffffffff16602303610f7f578392505050610609565b8163ffffffff16602403610fb2578560031660080260180363ffffffff168463ffffffff16901c60ff1692505050610609565b8163ffffffff16602503610fe6578560021660080260100363ffffffff168463ffffffff16901c61ffff1692505050610609565b8163ffffffff16602603610eb15750505063ffffffff60086003851602601803811681811c198416918316901c17610609565b8163ffffffff166028036110505750505060ff63ffffffff60086003861602601803811682811b9091188316918416901b17610609565b8163ffffffff166029036110885750505061ffff63ffffffff60086002861602601003811682811b9091188316918416901b17610609565b8163ffffffff16602a036110b85750505063ffffffff60086003851602811681811c198316918416901c17610609565b8163ffffffff16602b036110d0578492505050610609565b8163ffffffff16602e036111035750505063ffffffff60086003851602601803811681811b198316918416901b17610609565b8163ffffffff1660300361111b578392505050610609565b8163ffffffff16603803611133578492505050610609565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f696e76616c696420696e737472756374696f6e000000000000000000000000006044820152606401610872565b600061119f611af6565b506080602063ffffffff861610611212576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f76616c69642072656769737465720000000000000000000000000000000000006044820152606401610872565b63ffffffff8516158015906112245750825b1561125857838161016001518663ffffffff166020811061124757611247611c35565b63ffffffff90921660209290920201525b60808101805163ffffffff808216606085015260049091011690526108d9610611565b6000611285611af6565b506101e051604081015160808083015160a084015160c09094015191936000928392919063ffffffff8616610ffa036112ff5781610fff8116156112ce57610fff811661100003015b8363ffffffff166000036112f55760e08801805163ffffffff8382011690915295506112f9565b8395505b5061176e565b8563ffffffff16610fcd0361131a576340000000945061176e565b8563ffffffff1661101803611332576001945061176e565b8563ffffffff166110960361136757600161012088015260ff831661010088015261135b610611565b97505050505050505090565b8563ffffffff16610fa3036115d15763ffffffff83161561176e577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb63ffffffff84160161158b5760006113c28363fffffffc1660016106b9565b60208901519091508060001a60010361142f5761142c81600090815233602052604090207effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01000000000000000000000000000000000000000000000000000000000000001790565b90505b6040808a015190517fe03110e10000000000000000000000000000000000000000000000000000000081526004810183905263ffffffff9091166024820152600090819073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063e03110e1906044016040805180830381865afa1580156114d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f49190611c64565b9150915060038616806004038281101561150c578092505b5081861015611519578591505b8260088302610100031c9250826008828460040303021b9250600180600883600403021b036001806008858560040303021b039150811981169050838119871617955050506115708663fffffffc166001866119a9565b60408b018051820163ffffffff16905297506115cc92505050565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd63ffffffff8416016115c05780945061176e565b63ffffffff9450600993505b61176e565b8563ffffffff16610fa4036116c25763ffffffff8316600114806115fb575063ffffffff83166002145b8061160c575063ffffffff83166004145b156116195780945061176e565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa63ffffffff8416016115c05760006116598363fffffffc1660016106b9565b60208901519091506003841660040383811015611674578093505b83900360089081029290921c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600193850293841b0116911b1760208801526000604088015293508361176e565b8563ffffffff16610fd70361176e578163ffffffff166003036117625763ffffffff831615806116f8575063ffffffff83166005145b80611709575063ffffffff83166003145b15611717576000945061176e565b63ffffffff831660011480611732575063ffffffff83166002145b80611743575063ffffffff83166006145b80611754575063ffffffff83166004145b156115c0576001945061176e565b63ffffffff9450601693505b6101608701805163ffffffff808816604090920191909152905185821660e09091015260808801805180831660608b0152600401909116905261135b610611565b60006117b9611af6565b506080600063ffffffff87166010036117d7575060c0810151611940565b8663ffffffff166011036117f65763ffffffff861660c0830152611940565b8663ffffffff1660120361180f575060a0810151611940565b8663ffffffff1660130361182e5763ffffffff861660a0830152611940565b8663ffffffff166018036118625763ffffffff600387810b9087900b02602081901c821660c08501521660a0830152611940565b8663ffffffff166019036118935763ffffffff86811681871602602081901c821660c08501521660a0830152611940565b8663ffffffff16601a036118e9578460030b8660030b816118b6576118b6611c88565b0763ffffffff1660c0830152600385810b9087900b816118d8576118d8611c88565b0563ffffffff1660a0830152611940565b8663ffffffff16601b03611940578463ffffffff168663ffffffff168161191257611912611c88565b0663ffffffff90811660c08401528581169087168161193357611933611c88565b0463ffffffff1660a08301525b63ffffffff84161561197b57808261016001518563ffffffff166020811061196a5761196a611c35565b63ffffffff90921660209290920201525b60808201805163ffffffff8082166060860152600490910116905261199e610611565b979650505050505050565b60006119b483611a4d565b905060038416156119c457600080fd5b6020810190601f8516601c0360031b83811b913563ffffffff90911b1916178460051c60005b601b811015611a425760208401933582821c6001168015611a125760018114611a2757611a38565b60008581526020839052604090209450611a38565b600082815260208690526040902094505b50506001016119ea565b505060805250505050565b60ff811661038002610184810190369061050401811015611af0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f636865636b207468617420746865726520697320656e6f7567682063616c6c6460448201527f61746100000000000000000000000000000000000000000000000000000000006064820152608401610872565b50919050565b6040805161018081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101919091526101608101611b5c611b61565b905290565b6040518061040001604052806020906020820280368337509192915050565b60008083601f840112611b9257600080fd5b50813567ffffffffffffffff811115611baa57600080fd5b602083019150836020828501011115611bc257600080fd5b9250929050565b60008060008060408587031215611bdf57600080fd5b843567ffffffffffffffff80821115611bf757600080fd5b611c0388838901611b80565b90965094506020870135915080821115611c1c57600080fd5b50611c2987828801611b80565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008060408385031215611c7757600080fd5b505080516020909101519092909150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fdfea164736f6c634300080f000a" +var MIPSDeployedBin = "0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063155633fe146100465780637dc0d1d01461006b578063f8e0cb96146100af575b600080fd5b610051634000000081565b60405163ffffffff90911681526020015b60405180910390f35b60405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610062565b6100c26100bd366004611bdb565b6100d0565b604051908152602001610062565b60006100da611b08565b608081146100e757600080fd5b604051610600146100f757600080fd5b6064861461010457600080fd5b610184841461011257600080fd5b8535608052602086013560a052604086013560e090811c60c09081526044880135821c82526048880135821c61010052604c880135821c610120526050880135821c61014052605488013590911c61016052605887013560f890811c610180526059880135901c6101a052605a870135901c6101c0526102006101e0819052606287019060005b60208110156101bd57823560e01c8252600490920191602090910190600101610199565b505050806101200151156101db576101d3610619565b915050610611565b6101408101805160010167ffffffffffffffff169052606081015160009061020390826106c1565b9050603f601a82901c16600281148061022257508063ffffffff166003145b156102775760006002836303ffffff1663ffffffff16901b846080015163f00000001617905061026c8263ffffffff1660021461026057601f610263565b60005b60ff168261077d565b945050505050610611565b6101608301516000908190601f601086901c81169190601587901c16602081106102a3576102a3611c47565b602002015192508063ffffffff851615806102c457508463ffffffff16601c145b156102fb578661016001518263ffffffff16602081106102e6576102e6611c47565b6020020151925050601f600b86901c166103b7565b60208563ffffffff16101561035d578463ffffffff16600c148061032557508463ffffffff16600d145b8061033657508463ffffffff16600e145b15610347578561ffff1692506103b7565b6103568661ffff166010610877565b92506103b7565b60288563ffffffff1610158061037957508463ffffffff166022145b8061038a57508463ffffffff166026145b156103b7578661016001518263ffffffff16602081106103ac576103ac611c47565b602002015192508190505b60048563ffffffff16101580156103d4575060088563ffffffff16105b806103e557508463ffffffff166001145b15610404576103f6858784876108ea565b975050505050505050610611565b63ffffffff6000602087831610610469576104248861ffff166010610877565b9095019463fffffffc861661043a8160016106c1565b915060288863ffffffff161015801561045a57508763ffffffff16603014155b1561046757809250600093505b505b600061047789888885610afa565b63ffffffff9081169150603f8a1690891615801561049c575060088163ffffffff1610155b80156104ae5750601c8163ffffffff16105b1561058a578063ffffffff16600814806104ce57508063ffffffff166009145b15610505576104f38163ffffffff166008146104ea57856104ed565b60005b8961077d565b9b505050505050505050505050610611565b8063ffffffff16600a03610525576104f3858963ffffffff8a16156111a7565b8063ffffffff16600b03610546576104f3858963ffffffff8a1615156111a7565b8063ffffffff16600c0361055c576104f361128d565b60108163ffffffff16101580156105795750601c8163ffffffff16105b1561058a576104f3818989886117c1565b8863ffffffff1660381480156105a5575063ffffffff861615155b156105da5760018b61016001518763ffffffff16602081106105c9576105c9611c47565b63ffffffff90921660209290920201525b8363ffffffff1663ffffffff146105f7576105f7846001846119bb565b610603858360016111a7565b9b5050505050505050505050505b949350505050565b60408051608051815260a051602082015260dc519181019190915260fc51604482015261011c51604882015261013c51604c82015261015c51605082015261017c51605482015261019f5160588201526101bf5160598201526101d851605a8201526000906102009060628101835b60208110156106ac57601c8401518252602090930192600490910190600101610688565b506000815281810382a0819003902092915050565b6000806106cd83611a5f565b905060038416156106dd57600080fd5b6020810190358460051c8160005b601b8110156107435760208501943583821c6001168015610713576001811461072857610739565b60008481526020839052604090209350610739565b600082815260208590526040902093505b50506001016106eb565b50608051915081811461075e57630badf00d60005260206000fd5b5050601f94909416601c0360031b9390931c63ffffffff169392505050565b6000610787611b08565b60809050806060015160040163ffffffff16816080015163ffffffff1614610810576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6a756d7020696e2064656c617920736c6f74000000000000000000000000000060448201526064015b60405180910390fd5b60608101805160808301805163ffffffff90811690935285831690529085161561086657806008018261016001518663ffffffff166020811061085557610855611c47565b63ffffffff90921660209290920201525b61086e610619565b95945050505050565b600063ffffffff8381167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80850183169190911c821615159160016020869003821681901b830191861691821b92911b01826108d45760006108d6565b815b90861663ffffffff16179250505092915050565b60006108f4611b08565b608090506000816060015160040163ffffffff16826080015163ffffffff161461097a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f6272616e636820696e2064656c617920736c6f740000000000000000000000006044820152606401610807565b8663ffffffff166004148061099557508663ffffffff166005145b15610a115760008261016001518663ffffffff16602081106109b9576109b9611c47565b602002015190508063ffffffff168563ffffffff161480156109e157508763ffffffff166004145b80610a0957508063ffffffff168563ffffffff1614158015610a0957508763ffffffff166005145b915050610a8e565b8663ffffffff16600603610a2e5760008460030b13159050610a8e565b8663ffffffff16600703610a4a5760008460030b139050610a8e565b8663ffffffff16600103610a8e57601f601087901c166000819003610a735760008560030b1291505b8063ffffffff16600103610a8c5760008560030b121591505b505b606082018051608084015163ffffffff169091528115610ad4576002610ab98861ffff166010610877565b63ffffffff90811690911b8201600401166080840152610ae6565b60808301805160040163ffffffff1690525b610aee610619565b98975050505050505050565b6000603f601a86901c81169086166020821015610ec85760088263ffffffff1610158015610b2e5750600f8263ffffffff16105b15610bce578163ffffffff16600803610b4957506020610bc9565b8163ffffffff16600903610b5f57506021610bc9565b8163ffffffff16600a03610b755750602a610bc9565b8163ffffffff16600b03610b8b5750602b610bc9565b8163ffffffff16600c03610ba157506024610bc9565b8163ffffffff16600d03610bb757506025610bc9565b8163ffffffff16600e03610bc9575060265b600091505b8163ffffffff16600003610e1c57601f600688901c16602063ffffffff83161015610cf65760088263ffffffff1610610c0c57869350505050610611565b8163ffffffff16600003610c2f5763ffffffff86811691161b9250610611915050565b8163ffffffff16600203610c525763ffffffff86811691161c9250610611915050565b8163ffffffff16600303610c8657610c7c8163ffffffff168763ffffffff16901c82602003610877565b9350505050610611565b8163ffffffff16600403610ca9575050505063ffffffff8216601f84161b610611565b8163ffffffff16600603610ccc575050505063ffffffff8216601f84161c610611565b8163ffffffff16600703610cf657610c7c8763ffffffff168763ffffffff16901c88602003610877565b8163ffffffff1660201480610d1157508163ffffffff166021145b15610d23578587019350505050610611565b8163ffffffff1660221480610d3e57508163ffffffff166023145b15610d50578587039350505050610611565b8163ffffffff16602403610d6b578587169350505050610611565b8163ffffffff16602503610d86578587179350505050610611565b8163ffffffff16602603610da1578587189350505050610611565b8163ffffffff16602703610dbc575050505082821719610611565b8163ffffffff16602a03610dee578560030b8760030b12610dde576000610de1565b60015b60ff169350505050610611565b8163ffffffff16602b03610e16578563ffffffff168763ffffffff1610610dde576000610de1565b50611145565b8163ffffffff16600f03610e3e5760108563ffffffff16901b92505050610611565b8163ffffffff16601c03610ec3578063ffffffff16600203610e6557505050828202610611565b8063ffffffff1660201480610e8057508063ffffffff166021145b15610ec3578063ffffffff16602003610e97579419945b60005b6380000000871615610eb9576401fffffffe600197881b169601610e9a565b9250610611915050565b611145565b60288263ffffffff16101561102b578163ffffffff16602003610f1457610f0b8660031660080260180363ffffffff168563ffffffff16901c60ff166008610877565b92505050610611565b8163ffffffff16602103610f4957610f0b8660021660080260100363ffffffff168563ffffffff16901c61ffff166010610877565b8163ffffffff16602203610f795750505063ffffffff60086003851602811681811b198416918316901b17610611565b8163ffffffff16602303610f91578392505050610611565b8163ffffffff16602403610fc4578560031660080260180363ffffffff168463ffffffff16901c60ff1692505050610611565b8163ffffffff16602503610ff8578560021660080260100363ffffffff168463ffffffff16901c61ffff1692505050610611565b8163ffffffff16602603610ec35750505063ffffffff60086003851602601803811681811c198416918316901c17610611565b8163ffffffff166028036110625750505060ff63ffffffff60086003861602601803811682811b9091188316918416901b17610611565b8163ffffffff1660290361109a5750505061ffff63ffffffff60086002861602601003811682811b9091188316918416901b17610611565b8163ffffffff16602a036110ca5750505063ffffffff60086003851602811681811c198316918416901c17610611565b8163ffffffff16602b036110e2578492505050610611565b8163ffffffff16602e036111155750505063ffffffff60086003851602601803811681811b198316918416901b17610611565b8163ffffffff1660300361112d578392505050610611565b8163ffffffff16603803611145578492505050610611565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f696e76616c696420696e737472756374696f6e000000000000000000000000006044820152606401610807565b60006111b1611b08565b506080602063ffffffff861610611224576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f76616c69642072656769737465720000000000000000000000000000000000006044820152606401610807565b63ffffffff8516158015906112365750825b1561126a57838161016001518663ffffffff166020811061125957611259611c47565b63ffffffff90921660209290920201525b60808101805163ffffffff8082166060850152600490910116905261086e610619565b6000611297611b08565b506101e051604081015160808083015160a084015160c09094015191936000928392919063ffffffff8616610ffa036113115781610fff8116156112e057610fff811661100003015b8363ffffffff166000036113075760e08801805163ffffffff83820116909152955061130b565b8395505b50611780565b8563ffffffff16610fcd0361132c5763400000009450611780565b8563ffffffff16611018036113445760019450611780565b8563ffffffff166110960361137957600161012088015260ff831661010088015261136d610619565b97505050505050505090565b8563ffffffff16610fa3036115e35763ffffffff831615611780577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb63ffffffff84160161159d5760006113d48363fffffffc1660016106c1565b60208901519091508060001a6001036114415761143e81600090815233602052604090207effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01000000000000000000000000000000000000000000000000000000000000001790565b90505b6040808a015190517fe03110e10000000000000000000000000000000000000000000000000000000081526004810183905263ffffffff9091166024820152600090819073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063e03110e1906044016040805180830381865afa1580156114e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115069190611c76565b9150915060038616806004038281101561151e578092505b508186101561152b578591505b8260088302610100031c9250826008828460040303021b9250600180600883600403021b036001806008858560040303021b039150811981169050838119871617955050506115828663fffffffc166001866119bb565b60408b018051820163ffffffff16905297506115de92505050565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd63ffffffff8416016115d257809450611780565b63ffffffff9450600993505b611780565b8563ffffffff16610fa4036116d45763ffffffff83166001148061160d575063ffffffff83166002145b8061161e575063ffffffff83166004145b1561162b57809450611780565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa63ffffffff8416016115d257600061166b8363fffffffc1660016106c1565b60208901519091506003841660040383811015611686578093505b83900360089081029290921c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600193850293841b0116911b17602088015260006040880152935083611780565b8563ffffffff16610fd703611780578163ffffffff166003036117745763ffffffff8316158061170a575063ffffffff83166005145b8061171b575063ffffffff83166003145b156117295760009450611780565b63ffffffff831660011480611744575063ffffffff83166002145b80611755575063ffffffff83166006145b80611766575063ffffffff83166004145b156115d25760019450611780565b63ffffffff9450601693505b6101608701805163ffffffff808816604090920191909152905185821660e09091015260808801805180831660608b0152600401909116905261136d610619565b60006117cb611b08565b506080600063ffffffff87166010036117e9575060c0810151611952565b8663ffffffff166011036118085763ffffffff861660c0830152611952565b8663ffffffff16601203611821575060a0810151611952565b8663ffffffff166013036118405763ffffffff861660a0830152611952565b8663ffffffff166018036118745763ffffffff600387810b9087900b02602081901c821660c08501521660a0830152611952565b8663ffffffff166019036118a55763ffffffff86811681871602602081901c821660c08501521660a0830152611952565b8663ffffffff16601a036118fb578460030b8660030b816118c8576118c8611c9a565b0763ffffffff1660c0830152600385810b9087900b816118ea576118ea611c9a565b0563ffffffff1660a0830152611952565b8663ffffffff16601b03611952578463ffffffff168663ffffffff168161192457611924611c9a565b0663ffffffff90811660c08401528581169087168161194557611945611c9a565b0463ffffffff1660a08301525b63ffffffff84161561198d57808261016001518563ffffffff166020811061197c5761197c611c47565b63ffffffff90921660209290920201525b60808201805163ffffffff808216606086015260049091011690526119b0610619565b979650505050505050565b60006119c683611a5f565b905060038416156119d657600080fd5b6020810190601f8516601c0360031b83811b913563ffffffff90911b1916178460051c60005b601b811015611a545760208401933582821c6001168015611a245760018114611a3957611a4a565b60008581526020839052604090209450611a4a565b600082815260208690526040902094505b50506001016119fc565b505060805250505050565b60ff811661038002610184810190369061050401811015611b02576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f636865636b207468617420746865726520697320656e6f7567682063616c6c6460448201527f61746100000000000000000000000000000000000000000000000000000000006064820152608401610807565b50919050565b6040805161018081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101919091526101608101611b6e611b73565b905290565b6040518061040001604052806020906020820280368337509192915050565b60008083601f840112611ba457600080fd5b50813567ffffffffffffffff811115611bbc57600080fd5b602083019150836020828501011115611bd457600080fd5b9250929050565b60008060008060408587031215611bf157600080fd5b843567ffffffffffffffff80821115611c0957600080fd5b611c1588838901611b92565b90965094506020870135915080821115611c2e57600080fd5b50611c3b87828801611b92565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008060408385031215611c8957600080fd5b505080516020909101519092909150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fdfea164736f6c634300080f000a" -var MIPSDeployedSourceMap = "1131:37447:106:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1710:45;;1745:10;1710:45;;;;;188:10:256;176:23;;;158:42;;146:2;131:18;1710:45:106;;;;;;;;2448:99;;;412:42:256;2534:6:106;400:55:256;382:74;;370:2;355:18;2448:99:106;211:251:256;24925:6377:106;;;;;;:::i;:::-;;:::i;:::-;;;1687:25:256;;;1675:2;1660:18;24925:6377:106;1541:177:256;24925:6377:106;25003:7;25046:18;;:::i;:::-;25193:4;25186:5;25183:15;25173:134;;25287:1;25284;25277:12;25173:134;25343:4;25337:11;25350;25334:28;25324:137;;25441:1;25438;25431:12;25324:137;25509:3;25491:16;25488:25;25478:150;;25608:1;25605;25598:12;25478:150;25672:3;25658:12;25655:21;25645:145;;25770:1;25767;25760:12;25645:145;26050:24;;26394:4;26096:20;26452:2;26154:21;;26050:24;26212:18;26096:20;26154:21;;;26050:24;26027:21;26023:52;;;26212:18;26096:20;;;26154:21;;;26050:24;26023:52;;26096:20;;26154:21;;;26050:24;26023:52;;26212:18;26096:20;26154:21;;;26050:24;26023:52;;26212:18;26096:20;26154:21;;;26050:24;26023:52;;26212:18;26096:20;26154:21;;;26050:24;26023:52;;;26212:18;26096:20;26154:21;;;26050:24;26027:21;26023:52;;;26212:18;26096:20;26154:21;;;26050:24;26023:52;;26212:18;26096:20;26154:21;;;26050:24;26023:52;;26212:18;26096:20;27070:10;26212:18;27060:21;;;26154;;;;27168:1;27153:77;27178:2;27175:1;27172:9;27153:77;;;26050:24;;26027:21;26023:52;26096:20;;27226:1;26154:21;;;;26038:2;26212:18;;;;27196:1;27189:9;27153:77;;;27157:14;;;27308:5;:12;;;27304:71;;;27347:13;:11;:13::i;:::-;27340:20;;;;;27304:71;27389:10;;;:15;;27403:1;27389:15;;;;;27474:8;;;;-1:-1:-1;;27466:20:106;;-1:-1:-1;27466:7:106;:20::i;:::-;27452:34;-1:-1:-1;27516:10:106;27524:2;27516:10;;;;27593:1;27583:11;;;:26;;;27598:6;:11;;27608:1;27598:11;27583:26;27579:348;;;27848:64;27859:6;:11;;27869:1;27859:11;:20;;27877:2;27859:20;;;27873:1;27859:20;27848:64;;27910:1;27881:25;27884:4;27891:10;27884:17;27903:2;27881;:25::i;:::-;:30;;;;27848:10;:64::i;:::-;27841:71;;;;;;;27579:348;28176:15;;;;27971:9;;;;28108:4;28102:2;28094:10;;;28093:19;;;28176:15;28201:2;28193:10;;;28192:19;28176:36;;;;;;;:::i;:::-;;;;;;-1:-1:-1;28241:5:106;28265:11;;;;;:29;;;28280:6;:14;;28290:4;28280:14;28265:29;28261:832;;;28357:5;:15;;;28373:5;28357:22;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;28420:4:106;28414:2;28406:10;;;28405:19;28261:832;;;28458:4;28449:6;:13;;;28445:648;;;28579:6;:13;;28589:3;28579:13;:30;;;;28596:6;:13;;28606:3;28596:13;28579:30;:47;;;;28613:6;:13;;28623:3;28613:13;28579:47;28575:253;;;28689:4;28696:6;28689:13;28684:18;;28445:648;;28575:253;28788:21;28791:4;28798:6;28791:13;28806:2;28788;:21::i;:::-;28783:26;;28445:648;;;28862:4;28852:6;:14;;;;:32;;;;28870:6;:14;;28880:4;28870:14;28852:32;:50;;;;28888:6;:14;;28898:4;28888:14;28852:50;28848:245;;;28972:5;:15;;;28988:5;28972:22;;;;;;;;;:::i;:::-;;;;;28967:27;;29073:5;29065:13;;28848:245;29122:1;29112:6;:11;;;;:25;;;;;29136:1;29127:6;:10;;;29112:25;29111:42;;;;29142:6;:11;;29152:1;29142:11;29111:42;29107:125;;;29180:37;29193:6;29201:4;29207:5;29214:2;29180:12;:37::i;:::-;29173:44;;;;;;;;;;;29107:125;29265:13;29246:16;29417:4;29407:14;;;;29403:446;;29486:21;29489:4;29496:6;29489:13;29504:2;29486;:21::i;:::-;29480:27;;;;29544:10;29539:15;;29578:16;29539:15;29592:1;29578:7;:16::i;:::-;29572:22;;29626:4;29616:6;:14;;;;:32;;;;;29634:6;:14;;29644:4;29634:14;;29616:32;29612:223;;;29713:4;29701:16;;29815:1;29807:9;;29612:223;29423:426;29403:446;29882:10;29895:26;29903:4;29909:2;29913;29917:3;29895:7;:26::i;:::-;29924:10;29895:39;;;;-1:-1:-1;30020:4:106;30013:11;;;30052;;;:24;;;;;30075:1;30067:4;:9;;;;30052:24;:39;;;;;30087:4;30080;:11;;;30052:39;30048:847;;;30115:4;:9;;30123:1;30115:9;:22;;;;30128:4;:9;;30136:1;30128:9;30115:22;30111:144;;;30199:37;30210:4;:9;;30218:1;30210:9;:21;;30226:5;30210:21;;;30222:1;30210:21;30233:2;30199:10;:37::i;:::-;30192:44;;;;;;;;;;;;;;;30111:144;30277:4;:11;;30285:3;30277:11;30273:121;;30347:28;30356:5;30363:2;30367:7;;;;30347:8;:28::i;30273:121::-;30415:4;:11;;30423:3;30415:11;30411:121;;30485:28;30494:5;30501:2;30505:7;;;;;30485:8;:28::i;30411:121::-;30602:4;:11;;30610:3;30602:11;30598:80;;30644:15;:13;:15::i;30598:80::-;30781:4;30773;:12;;;;:27;;;;;30796:4;30789;:11;;;30773:27;30769:112;;;30831:31;30842:4;30848:2;30852;30856:5;30831:10;:31::i;30769:112::-;30955:6;:14;;30965:4;30955:14;:28;;;;-1:-1:-1;30973:10:106;;;;;30955:28;30951:93;;;31028:1;31003:5;:15;;;31019:5;31003:22;;;;;;;;;:::i;:::-;:26;;;;:22;;;;;;:26;30951:93;31090:9;:26;;31103:13;31090:26;31086:92;;31136:27;31145:9;31156:1;31159:3;31136:8;:27::i;:::-;31259:26;31268:5;31275:3;31280:4;31259:8;:26::i;:::-;31252:33;;;;;;;;;;;;;24925:6377;;;;;;;:::o;3087:1709::-;3634:4;3628:11;;3550:4;3353:31;3342:43;;3413:13;3353:31;3752:2;3452:13;;3342:43;3359:24;3353:31;3452:13;;;3342:43;;;;3359:24;3353:31;3452:13;;;3342:43;3359:24;3353:31;3452:13;;;3342:43;3359:24;3353:31;3452:13;;;3342:43;3359:24;3353:31;3452:13;;;3342:43;3359:24;3353:31;3452:13;;;3342:43;3359:24;3353:31;3452:13;;;3342:43;3359:24;3353:31;3452:13;;;3342:43;3359:24;3353:31;3452:13;;;3342:43;3128:12;;4337:13;;3452;;;3128:12;4417:84;4442:2;4439:1;4436:9;4417:84;;;3369:13;3359:24;;3353:31;3342:43;;3373:2;3413:13;;;;4497:1;3452:13;;;;4460:1;4453:9;4417:84;;;4421:14;4564:1;4560:2;4553:13;4659:5;4655:2;4651:14;4644:5;4639:27;4765:14;;;4748:32;;;3087:1709;-1:-1:-1;;3087:1709:106:o;20980:1831::-;21053:11;21164:14;21181:24;21193:11;21181;:24::i;:::-;21164:41;;21313:1;21306:5;21302:13;21299:33;;;21328:1;21325;21318:12;21299:33;21461:2;21449:15;;;21402:20;21891:5;21888:1;21884:13;21926:4;21962:1;21947:343;21972:2;21969:1;21966:9;21947:343;;;22095:2;22083:15;;;22032:20;22130:12;;;22144:1;22126:20;22167:42;;;;22235:1;22230:42;;;;22119:153;;22167:42;21625:1;21618:12;;;21658:2;21651:13;;;21703:2;21690:16;;22176:31;;22167:42;;22230;21625:1;21618:12;;;21658:2;21651:13;;;21703:2;21690:16;;22239:31;;22119:153;-1:-1:-1;;21990:1:106;21983:9;21947:343;;;21951:14;22400:4;22394:11;22379:26;;22486:7;22480:4;22477:17;22467:124;;22528:10;22525:1;22518:21;22570:2;22567:1;22560:13;22467:124;-1:-1:-1;;22718:2:106;22707:14;;;;22695:10;22691:31;22688:1;22684:39;22752:16;;;;22770:10;22748:33;;20980:1831;-1:-1:-1;;;20980:1831:106:o;2645:334::-;2706:6;2765:18;;;;2774:8;;;;2765:18;;;;;;2764:25;;;;;2781:1;2828:2;:9;;;2822:16;;;;;2821:22;;2820:32;;;;;;;2882:9;;2881:15;2764:25;2939:21;;2959:1;2939:21;;;2950:6;2939:21;2924:11;;;;;:37;;-1:-1:-1;;;2645:334:106;;;;:::o;18090:823::-;18159:12;18246:18;;:::i;:::-;18314:4;18305:13;;18366:5;:8;;;18377:1;18366:12;18350:28;;:5;:12;;;:28;;;18346:95;;18398:28;;;;;2114:2:256;18398:28:106;;;2096:21:256;2153:2;2133:18;;;2126:30;2192:20;2172:18;;;2165:48;2230:18;;18398:28:106;;;;;;;;18346:95;18530:8;;;;;18563:12;;;;;18552:23;;;;;;;18589:20;;;;;18530:8;18721:13;;;18717:90;;18782:6;18791:1;18782:10;18754:5;:15;;;18770:8;18754:25;;;;;;;;;:::i;:::-;:38;;;;:25;;;;;;:38;18717:90;18883:13;:11;:13::i;:::-;18876:20;18090:823;-1:-1:-1;;;;;18090:823:106:o;12951:2026::-;13048:12;13134:18;;:::i;:::-;13202:4;13193:13;;13234:17;13294:5;:8;;;13305:1;13294:12;13278:28;;:5;:12;;;:28;;;13274:97;;13326:30;;;;;2461:2:256;13326:30:106;;;2443:21:256;2500:2;2480:18;;;2473:30;2539:22;2519:18;;;2512:50;2579:18;;13326:30:106;2259:344:256;13274:97:106;13441:7;:12;;13452:1;13441:12;:28;;;;13457:7;:12;;13468:1;13457:12;13441:28;13437:947;;;13489:9;13501:5;:15;;;13517:6;13501:23;;;;;;;;;:::i;:::-;;;;;13489:35;;13565:2;13558:9;;:3;:9;;;:25;;;;;13571:7;:12;;13582:1;13571:12;13558:25;13557:58;;;;13596:2;13589:9;;:3;:9;;;;:25;;;;;13602:7;:12;;13613:1;13602:12;13589:25;13542:73;;13471:159;13437:947;;;13727:7;:12;;13738:1;13727:12;13723:661;;13788:1;13780:3;13774:15;;;;13759:30;;13723:661;;;13892:7;:12;;13903:1;13892:12;13888:496;;13952:1;13945:3;13939:14;;;13924:29;;13888:496;;;14073:7;:12;;14084:1;14073:12;14069:315;;14161:4;14155:2;14146:11;;;14145:20;14131:10;14188:8;;;14184:84;;14248:1;14241:3;14235:14;;;14220:29;;14184:84;14289:3;:8;;14296:1;14289:8;14285:85;;14350:1;14342:3;14336:15;;;;14321:30;;14285:85;14087:297;14069:315;14460:8;;;;;14538:12;;;;14527:23;;;;;14694:178;;;;14785:1;14759:22;14762:5;14770:6;14762:14;14778:2;14759;:22::i;:::-;:27;;;;;;;14745:42;;14754:1;14745:42;14730:57;:12;;;:57;14694:178;;;14841:12;;;;;14856:1;14841:16;14826:31;;;;14694:178;14947:13;:11;:13::i;:::-;14940:20;12951:2026;-1:-1:-1;;;;;;;;12951:2026:106:o;31348:7228::-;31435:6;31493:10;31501:2;31493:10;;;;;;31541:11;;31653:4;31644:13;;31640:6876;;;31784:1;31774:6;:11;;;;:27;;;;;31798:3;31789:6;:12;;;31774:27;31770:537;;;31829:6;:11;;31839:1;31829:11;31825:423;;-1:-1:-1;31849:4:106;31825:423;;;31893:6;:11;;31903:1;31893:11;31889:359;;-1:-1:-1;31913:4:106;31889:359;;;31958:6;:13;;31968:3;31958:13;31954:294;;-1:-1:-1;31980:4:106;31954:294;;;32024:6;:13;;32034:3;32024:13;32020:228;;-1:-1:-1;32046:4:106;32020:228;;;32091:6;:13;;32101:3;32091:13;32087:161;;-1:-1:-1;32113:4:106;32087:161;;;32157:6;:13;;32167:3;32157:13;32153:95;;-1:-1:-1;32179:4:106;32153:95;;;32222:6;:13;;32232:3;32222:13;32218:30;;-1:-1:-1;32244:4:106;32218:30;32287:1;32278:10;;31770:537;32368:6;:11;;32378:1;32368:11;32364:3554;;32432:4;32427:1;32419:9;;;32418:18;32469:4;32419:9;32462:11;;;32458:1319;;;32561:4;32553;:12;;;32549:1206;;32604:2;32597:9;;;;;;;32549:1206;32718:4;:12;;32726:4;32718:12;32714:1041;;32769:11;;;;;;;;-1:-1:-1;32762:18:106;;-1:-1:-1;;32762:18:106;32714:1041;32893:4;:12;;32901:4;32893:12;32889:866;;32944:11;;;;;;;;-1:-1:-1;32937:18:106;;-1:-1:-1;;32937:18:106;32889:866;33071:4;:12;;33079:4;33071:12;33067:688;;33122:27;33131:5;33125:11;;:2;:11;;;;33143:5;33138:2;:10;33122:2;:27::i;33067:688::-;33271:4;:12;;33279:4;33271:12;33267:488;;-1:-1:-1;;;;33322:17:106;;;33334:4;33329:9;;33322:17;33315:24;;33267:488;33462:4;:12;;33470:4;33462:12;33458:297;;-1:-1:-1;;;;33513:17:106;;;33525:4;33520:9;;33513:17;33506:24;;33458:297;33656:4;:12;;33664:4;33656:12;33652:103;;33707:21;33716:2;33710:8;;:2;:8;;;;33725:2;33720;:7;33707:2;:21::i;33652:103::-;33937:4;:12;;33945:4;33937:12;:28;;;;33953:4;:12;;33961:4;33953:12;33937:28;33933:1151;;;34005:2;34000;:7;33993:14;;;;;;;33933:1151;34095:4;:12;;34103:4;34095:12;:28;;;;34111:4;:12;;34119:4;34111:12;34095:28;34091:993;;;34163:2;34158;:7;34151:14;;;;;;;34091:993;34245:4;:12;;34253:4;34245:12;34241:843;;34297:2;34292;:7;34285:14;;;;;;;34241:843;34378:4;:12;;34386:4;34378:12;34374:710;;34431:2;34426;:7;34418:16;;;;;;;34374:710;34514:4;:12;;34522:4;34514:12;34510:574;;34567:2;34562;:7;34554:16;;;;;;;34510:574;34650:4;:12;;34658:4;34650:12;34646:438;;-1:-1:-1;;;;34699:7:106;;;34697:10;34690:17;;34646:438;34810:4;:12;;34818:4;34810:12;34806:278;;34875:2;34857:21;;34863:2;34857:21;;;:29;;34885:1;34857:29;;;34881:1;34857:29;34850:36;;;;;;;;;34806:278;34999:4;:12;;35007:4;34999:12;34995:89;;35051:2;35046:7;;:2;:7;;;:15;;35060:1;35046:15;;34995:89;32381:2721;31640:6876;;32364:3554;35173:6;:13;;35183:3;35173:13;35169:749;;35223:2;35217;:8;;;;35210:15;;;;;;35169:749;35298:6;:14;;35308:4;35298:14;35294:624;;35367:4;:9;;35375:1;35367:9;35363:100;;-1:-1:-1;;;35418:21:106;;;35404:36;;35363:100;35515:4;:12;;35523:4;35515:12;:28;;;;35531:4;:12;;35539:4;35531:12;35515:28;35511:389;;;35575:4;:12;;35583:4;35575:12;35571:83;;35624:3;;;35571:83;35679:8;35717:127;35729:10;35724:15;;:20;35717:127;;35809:8;35776:3;35809:8;;;;;35776:3;35717:127;;;35876:1;-1:-1:-1;35869:8:106;;-1:-1:-1;;35869:8:106;35511:389;31640:6876;;;35951:4;35942:6;:13;;;35938:2578;;;36001:6;:14;;36011:4;36001:14;35997:1208;;36046:42;36064:2;36069:1;36064:6;36074:1;36063:12;36058:2;:17;36050:26;;:3;:26;;;;36080:4;36049:35;36086:1;36046:2;:42::i;:::-;36039:49;;;;;;35997:1208;36155:6;:14;;36165:4;36155:14;36151:1054;;36200:45;36218:2;36223:1;36218:6;36228:1;36217:12;36212:2;:17;36204:26;;:3;:26;;;;36234:6;36203:37;36242:2;36200;:45::i;36151:1054::-;36313:6;:14;;36323:4;36313:14;36309:896;;-1:-1:-1;;;36364:21:106;36383:1;36378;36373:6;;36372:12;36364:21;;36421:36;;;36492:5;36487:10;;36364:21;;;;;36486:18;36479:25;;36309:896;36571:6;:14;;36581:4;36571:14;36567:638;;36616:3;36609:10;;;;;;36567:638;36687:6;:14;;36697:4;36687:14;36683:522;;36747:2;36752:1;36747:6;36757:1;36746:12;36741:2;:17;36733:26;;:3;:26;;;;36763:4;36732:35;36725:42;;;;;;36683:522;36835:6;:14;;36845:4;36835:14;36831:374;;36895:2;36900:1;36895:6;36905:1;36894:12;36889:2;:17;36881:26;;:3;:26;;;;36911:6;36880:37;36873:44;;;;;;36831:374;36985:6;:14;;36995:4;36985:14;36981:224;;-1:-1:-1;;;37036:26:106;37060:1;37055;37050:6;;37049:12;37044:2;:17;37036:26;;37098:41;;;37174:5;37169:10;;37036:26;;;;;37168:18;37161:25;;35938:2578;37259:6;:14;;37269:4;37259:14;37255:1261;;-1:-1:-1;;;37312:4:106;37306:34;37338:1;37333;37328:6;;37327:12;37322:2;:17;37306:34;;37392:27;;;37372:48;;;37446:10;;37307:9;;;37306:34;;37445:18;37438:25;;37255:1261;37518:6;:14;;37528:4;37518:14;37514:1002;;-1:-1:-1;;;37571:6:106;37565:36;37599:1;37594;37589:6;;37588:12;37583:2;:17;37565:36;;37653:29;;;37633:50;;;37709:10;;37566:11;;;37565:36;;37708:18;37701:25;;37514:1002;37782:6;:14;;37792:4;37782:14;37778:738;;-1:-1:-1;;;37829:20:106;37847:1;37842;37837:6;;37836:12;37829:20;;37881:36;;;37949:5;37943:11;;37829:20;;;;;37942:19;37935:26;;37778:738;38016:6;:14;;38026:4;38016:14;38012:504;;38057:2;38050:9;;;;;;38012:504;38115:6;:14;;38125:4;38115:14;38111:405;;-1:-1:-1;;;38162:25:106;38185:1;38180;38175:6;;38174:12;38169:2;:17;38162:25;;38219:41;;;38292:5;38286:11;;38162:25;;;;;38285:19;38278:26;;38111:405;38359:6;:14;;38369:4;38359:14;38355:161;;38400:3;38393:10;;;;;;38355:161;38458:6;:14;;38468:4;38458:14;38454:62;;38499:2;38492:9;;;;;;38454:62;38530:29;;;;;2810:2:256;38530:29:106;;;2792:21:256;2849:2;2829:18;;;2822:30;2888:21;2868:18;;;2861:49;2927:18;;38530:29:106;2608:343:256;19194:782:106;19280:12;19367:18;;:::i;:::-;-1:-1:-1;19435:4:106;19542:2;19530:14;;;;19522:41;;;;;;;3158:2:256;19522:41:106;;;3140:21:256;3197:2;3177:18;;;3170:30;3236:16;3216:18;;;3209:44;3270:18;;19522:41:106;2956:338:256;19522:41:106;19659:14;;;;;;;:30;;;19677:12;19659:30;19655:102;;;19738:4;19709:5;:15;;;19725:9;19709:26;;;;;;;;;:::i;:::-;:33;;;;:26;;;;;;:33;19655:102;19812:12;;;;;19801:23;;;;:8;;;:23;19868:1;19853:16;;;19838:31;;;19946:13;:11;:13::i;4837:7728::-;4880:12;4966:18;;:::i;:::-;-1:-1:-1;5144:15:106;;:18;;;;5034:4;5304:18;;;;5348;;;;5392;;;;;5034:4;;5124:17;;;;5304:18;5348;5482;;;5496:4;5482:18;5478:6777;;5532:2;5561:4;5556:9;;:14;5552:144;;5672:4;5667:9;;5659:4;:18;5653:24;5552:144;5717:2;:7;;5723:1;5717:7;5713:161;;5753:10;;;;;5785:16;;;;;;;;5753:10;-1:-1:-1;5713:161:106;;;5853:2;5848:7;;5713:161;5502:386;5478:6777;;;5990:10;:18;;6004:4;5990:18;5986:6269;;1745:10;6028:14;;5986:6269;;;6126:10;:18;;6140:4;6126:18;6122:6133;;6169:1;6164:6;;6122:6133;;;6294:10;:18;;6308:4;6294:18;6290:5965;;6347:4;6332:12;;;:19;6369:26;;;:14;;;:26;6420:13;:11;:13::i;:::-;6413:20;;;;;;;;;4837:7728;:::o;6290:5965::-;6559:10;:18;;6573:4;6559:18;6555:5700;;6710:14;;;6706:2708;6555:5700;6706:2708;6880:22;;;;;6876:2538;;7005:10;7018:27;7026:2;7031:10;7026:15;7043:1;7018:7;:27::i;:::-;7129:17;;;;7005:40;;-1:-1:-1;7129:17:106;7107:19;7279:14;7298:1;7273:26;7269:131;;7341:36;7365:11;1277:21:107;1426:15;;;1467:8;1461:4;1454:22;1595:4;1582:18;;1602:19;1578:44;1624:11;1575:61;;1222:430;7341:36:106;7327:50;;7269:131;7486:20;;;;;7453:54;;;;;;;;3472:25:256;;;7453:54:106;3533:23:256;;;3513:18;;;3506:51;7422:11:106;;;;7453:19;:6;:19;;;;3445:18:256;;7453:54:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7421:86;;;;7734:1;7730:2;7726:10;7831:9;7828:1;7824:17;7913:6;7906:5;7903:17;7900:40;;;7933:5;7923:15;;7900:40;;8016:6;8012:2;8009:14;8006:34;;;8036:2;8026:12;;8006:34;8142:3;8137:1;8129:6;8125:14;8120:3;8116:24;8112:34;8105:41;;8242:3;8238:1;8226:9;8217:6;8214:1;8210:14;8206:30;8202:38;8198:48;8191:55;;8397:1;8393;8389;8377:9;8374:1;8370:17;8366:25;8362:33;8358:41;8524:1;8520;8516;8507:6;8495:9;8492:1;8488:17;8484:30;8480:38;8476:46;8472:54;8454:72;;8655:10;8651:15;8645:4;8641:26;8633:34;;8771:3;8763:4;8759:9;8754:3;8750:19;8747:28;8740:35;;;;8917:33;8926:2;8931:10;8926:15;8943:1;8946:3;8917:8;:33::i;:::-;8972:20;;;:38;;;;;;;;;-1:-1:-1;6876:2538:106;;-1:-1:-1;;;6876:2538:106;;9129:18;;;;;9125:289;;9299:2;9294:7;;6555:5700;;9125:289;9353:10;9348:15;;2053:3;9385:10;;9125:289;6555:5700;;;9543:10;:18;;9557:4;9543:18;9539:2716;;9697:15;;;1824:1;9697:15;;:34;;-1:-1:-1;9716:15:106;;;1859:1;9716:15;9697:34;:57;;;-1:-1:-1;9735:19:106;;;1936:1;9735:19;9697:57;9693:1593;;;9783:2;9778:7;;9539:2716;;9693:1593;9909:23;;;;;9905:1381;;9956:10;9969:27;9977:2;9982:10;9977:15;9994:1;9969:7;:27::i;:::-;10072:17;;;;9956:40;;-1:-1:-1;10315:1:106;10307:10;;10409:1;10405:17;10484:13;;;10481:32;;;10506:5;10500:11;;10481:32;10792:14;;;10598:1;10788:22;;;10784:32;;;;10681:26;10705:1;10590:10;;;10685:18;;;10681:26;10780:43;10586:20;;10888:12;11016:17;;;:23;11084:1;11061:20;;;:24;10594:2;-1:-1:-1;10594:2:106;6555:5700;;9539:2716;11488:10;:18;;11502:4;11488:18;11484:771;;11598:2;:7;;11604:1;11598:7;11594:647;;11691:14;;;;;:40;;-1:-1:-1;11709:22:106;;;1978:1;11709:22;11691:40;:62;;;-1:-1:-1;11735:18:106;;;1897:1;11735:18;11691:62;11687:404;;;11786:1;11781:6;;11594:647;;11687:404;11832:15;;;1824:1;11832:15;;:34;;-1:-1:-1;11851:15:106;;;1859:1;11851:15;11832:34;:61;;;-1:-1:-1;11870:23:106;;;2021:1;11870:23;11832:61;:84;;;-1:-1:-1;11897:19:106;;;1936:1;11897:19;11832:84;11828:263;;;11949:1;11944:6;;6555:5700;;11594:647;12142:10;12137:15;;2087:4;12174:11;;11594:647;12330:15;;;;;:23;;;;:18;;;;:23;;;;12367:15;;:23;;;:18;;;;:23;-1:-1:-1;12456:12:106;;;;12445:23;;;:8;;;:23;12512:1;12497:16;12482:31;;;;;12535:13;:11;:13::i;15318:2480::-;15412:12;15498:18;;:::i;:::-;-1:-1:-1;15566:4:106;15598:10;15706:13;;;15715:4;15706:13;15702:1705;;-1:-1:-1;15745:8:106;;;;15702:1705;;;15864:5;:13;;15873:4;15864:13;15860:1547;;15897:14;;;:8;;;:14;15860:1547;;;16027:5;:13;;16036:4;16027:13;16023:1384;;-1:-1:-1;16066:8:106;;;;16023:1384;;;16185:5;:13;;16194:4;16185:13;16181:1226;;16218:14;;;:8;;;:14;16181:1226;;;16359:5;:13;;16368:4;16359:13;16355:1052;;16486:9;16432:17;16412;;;16432;;;;16412:37;16493:2;16486:9;;;;;16468:8;;;:28;16514:22;:8;;;:22;16355:1052;;;16673:5;:13;;16682:4;16673:13;16669:738;;16740:11;16726;;;16740;;;16726:25;16795:2;16788:9;;;;;16770:8;;;:28;16816:22;:8;;;:22;16669:738;;;16997:5;:13;;17006:4;16997:13;16993:414;;17067:3;17048:23;;17054:3;17048:23;;;;;;;:::i;:::-;;17030:42;;:8;;;:42;17108:23;;;;;;;;;;;;;:::i;:::-;;17090:42;;:8;;;:42;16993:414;;;17301:5;:13;;17310:4;17301:13;17297:110;;17351:3;17345:9;;:3;:9;;;;;;;:::i;:::-;;17334:20;;;;:8;;;:20;17383:9;;;;;;;;;;;:::i;:::-;;17372:20;;:8;;;:20;17297:110;17500:14;;;;17496:85;;17563:3;17534:5;:15;;;17550:9;17534:26;;;;;;;;;:::i;:::-;:32;;;;:26;;;;;;:32;17496:85;17635:12;;;;;17624:23;;;;:8;;;:23;17691:1;17676:16;;;17661:31;;;17768:13;:11;:13::i;:::-;17761:20;15318:2480;-1:-1:-1;;;;;;;15318:2480:106:o;23147:1654::-;23323:14;23340:24;23352:11;23340;:24::i;:::-;23323:41;;23472:1;23465:5;23461:13;23458:33;;;23487:1;23484;23477:12;23458:33;23626:2;23820:15;;;23645:2;23634:14;;23622:10;23618:31;23615:1;23611:39;23776:16;;;23561:20;;23761:10;23750:22;;;23746:27;23736:38;23733:60;24262:5;24259:1;24255:13;24333:1;24318:343;24343:2;24340:1;24337:9;24318:343;;;24466:2;24454:15;;;24403:20;24501:12;;;24515:1;24497:20;24538:42;;;;24606:1;24601:42;;;;24490:153;;24538:42;21625:1;21618:12;;;21658:2;21651:13;;;21703:2;21690:16;;24547:31;;24538:42;;24601;21625:1;21618:12;;;21658:2;21651:13;;;21703:2;21690:16;;24610:31;;24490:153;-1:-1:-1;;24361:1:106;24354:9;24318:343;;;-1:-1:-1;;24760:4:106;24753:18;-1:-1:-1;;;;23147:1654:106:o;20180:586::-;20502:20;;;20526:7;20502:32;20495:3;:40;;;20608:14;;20663:17;;20657:24;;;20649:72;;;;;;;4209:2:256;20649:72:106;;;4191:21:256;4248:2;4228:18;;;4221:30;4287:34;4267:18;;;4260:62;4358:5;4338:18;;;4331:33;4381:19;;20649:72:106;4007:399:256;20649:72:106;20735:14;20180:586;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;467:347:256:-;518:8;528:6;582:3;575:4;567:6;563:17;559:27;549:55;;600:1;597;590:12;549:55;-1:-1:-1;623:20:256;;666:18;655:30;;652:50;;;698:1;695;688:12;652:50;735:4;727:6;723:17;711:29;;787:3;780:4;771:6;763;759:19;755:30;752:39;749:59;;;804:1;801;794:12;749:59;467:347;;;;;:::o;819:717::-;909:6;917;925;933;986:2;974:9;965:7;961:23;957:32;954:52;;;1002:1;999;992:12;954:52;1042:9;1029:23;1071:18;1112:2;1104:6;1101:14;1098:34;;;1128:1;1125;1118:12;1098:34;1167:58;1217:7;1208:6;1197:9;1193:22;1167:58;:::i;:::-;1244:8;;-1:-1:-1;1141:84:256;-1:-1:-1;1332:2:256;1317:18;;1304:32;;-1:-1:-1;1348:16:256;;;1345:36;;;1377:1;1374;1367:12;1345:36;;1416:60;1468:7;1457:8;1446:9;1442:24;1416:60;:::i;:::-;819:717;;;;-1:-1:-1;1495:8:256;-1:-1:-1;;;;819:717:256:o;1723:184::-;1775:77;1772:1;1765:88;1872:4;1869:1;1862:15;1896:4;1893:1;1886:15;3568:245;3647:6;3655;3708:2;3696:9;3687:7;3683:23;3679:32;3676:52;;;3724:1;3721;3714:12;3676:52;-1:-1:-1;;3747:16:256;;3803:2;3788:18;;;3782:25;3747:16;;3782:25;;-1:-1:-1;3568:245:256:o;3818:184::-;3870:77;3867:1;3860:88;3967:4;3964:1;3957:15;3991:4;3988:1;3981:15" +var MIPSDeployedSourceMap = "1131:37346:104:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1710:45;;1745:10;1710:45;;;;;188:10:254;176:23;;;158:42;;146:2;131:18;1710:45:104;;;;;;;;2448:99;;;412:42:254;2534:6:104;400:55:254;382:74;;370:2;355:18;2448:99:104;211:251:254;24925:6339:104;;;;;;:::i;:::-;;:::i;:::-;;;1687:25:254;;;1675:2;1660:18;24925:6339:104;1541:177:254;24925:6339:104;25003:7;25046:18;;:::i;:::-;25193:4;25186:5;25183:15;25173:134;;25287:1;25284;25277:12;25173:134;25343:4;25337:11;25350;25334:28;25324:137;;25441:1;25438;25431:12;25324:137;25509:3;25491:16;25488:25;25478:150;;25608:1;25605;25598:12;25478:150;25672:3;25658:12;25655:21;25645:145;;25770:1;25767;25760:12;25645:145;26050:24;;26394:4;26096:20;26452:2;26154:21;;26050:24;26212:18;26096:20;26154:21;;;26050:24;26027:21;26023:52;;;26212:18;26096:20;;;26154:21;;;26050:24;26023:52;;26096:20;;26154:21;;;26050:24;26023:52;;26212:18;26096:20;26154:21;;;26050:24;26023:52;;26212:18;26096:20;26154:21;;;26050:24;26023:52;;26212:18;26096:20;26154:21;;;26050:24;26023:52;;;26212:18;26096:20;26154:21;;;26050:24;26027:21;26023:52;;;26212:18;26096:20;26154:21;;;26050:24;26023:52;;26212:18;26096:20;26154:21;;;26050:24;26023:52;;26212:18;26096:20;27070:10;26212:18;27060:21;;;26154;;;;27168:1;27153:77;27178:2;27175:1;27172:9;27153:77;;;26050:24;;26027:21;26023:52;26096:20;;27226:1;26154:21;;;;26038:2;26212:18;;;;27196:1;27189:9;27153:77;;;27157:14;;;27308:5;:12;;;27304:71;;;27347:13;:11;:13::i;:::-;27340:20;;;;;27304:71;27389:10;;;:15;;27403:1;27389:15;;;;;27474:8;;;;-1:-1:-1;;27466:20:104;;-1:-1:-1;27466:7:104;:20::i;:::-;27452:34;-1:-1:-1;27516:10:104;27524:2;27516:10;;;;27593:1;27583:11;;;:26;;;27598:6;:11;;27608:1;27598:11;27583:26;27579:310;;;27739:13;27808:1;27786:4;27793:10;27786:17;27785:24;;;;27756:5;:12;;;27771:10;27756:25;27755:54;27739:70;;27834:40;27845:6;:11;;27855:1;27845:11;:20;;27863:2;27845:20;;;27859:1;27845:20;27834:40;;27867:6;27834:10;:40::i;:::-;27827:47;;;;;;;;27579:310;28138:15;;;;27933:9;;;;28070:4;28064:2;28056:10;;;28055:19;;;28138:15;28163:2;28155:10;;;28154:19;28138:36;;;;;;;:::i;:::-;;;;;;-1:-1:-1;28203:5:104;28227:11;;;;;:29;;;28242:6;:14;;28252:4;28242:14;28227:29;28223:832;;;28319:5;:15;;;28335:5;28319:22;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;28382:4:104;28376:2;28368:10;;;28367:19;28223:832;;;28420:4;28411:6;:13;;;28407:648;;;28541:6;:13;;28551:3;28541:13;:30;;;;28558:6;:13;;28568:3;28558:13;28541:30;:47;;;;28575:6;:13;;28585:3;28575:13;28541:47;28537:253;;;28651:4;28658:6;28651:13;28646:18;;28407:648;;28537:253;28750:21;28753:4;28760:6;28753:13;28768:2;28750;:21::i;:::-;28745:26;;28407:648;;;28824:4;28814:6;:14;;;;:32;;;;28832:6;:14;;28842:4;28832:14;28814:32;:50;;;;28850:6;:14;;28860:4;28850:14;28814:50;28810:245;;;28934:5;:15;;;28950:5;28934:22;;;;;;;;;:::i;:::-;;;;;28929:27;;29035:5;29027:13;;28810:245;29084:1;29074:6;:11;;;;:25;;;;;29098:1;29089:6;:10;;;29074:25;29073:42;;;;29104:6;:11;;29114:1;29104:11;29073:42;29069:125;;;29142:37;29155:6;29163:4;29169:5;29176:2;29142:12;:37::i;:::-;29135:44;;;;;;;;;;;29069:125;29227:13;29208:16;29379:4;29369:14;;;;29365:446;;29448:21;29451:4;29458:6;29451:13;29466:2;29448;:21::i;:::-;29442:27;;;;29506:10;29501:15;;29540:16;29501:15;29554:1;29540:7;:16::i;:::-;29534:22;;29588:4;29578:6;:14;;;;:32;;;;;29596:6;:14;;29606:4;29596:14;;29578:32;29574:223;;;29675:4;29663:16;;29777:1;29769:9;;29574:223;29385:426;29365:446;29844:10;29857:26;29865:4;29871:2;29875;29879:3;29857:7;:26::i;:::-;29886:10;29857:39;;;;-1:-1:-1;29982:4:104;29975:11;;;30014;;;:24;;;;;30037:1;30029:4;:9;;;;30014:24;:39;;;;;30049:4;30042;:11;;;30014:39;30010:847;;;30077:4;:9;;30085:1;30077:9;:22;;;;30090:4;:9;;30098:1;30090:9;30077:22;30073:144;;;30161:37;30172:4;:9;;30180:1;30172:9;:21;;30188:5;30172:21;;;30184:1;30172:21;30195:2;30161:10;:37::i;:::-;30154:44;;;;;;;;;;;;;;;30073:144;30239:4;:11;;30247:3;30239:11;30235:121;;30309:28;30318:5;30325:2;30329:7;;;;30309:8;:28::i;30235:121::-;30377:4;:11;;30385:3;30377:11;30373:121;;30447:28;30456:5;30463:2;30467:7;;;;;30447:8;:28::i;30373:121::-;30564:4;:11;;30572:3;30564:11;30560:80;;30606:15;:13;:15::i;30560:80::-;30743:4;30735;:12;;;;:27;;;;;30758:4;30751;:11;;;30735:27;30731:112;;;30793:31;30804:4;30810:2;30814;30818:5;30793:10;:31::i;30731:112::-;30917:6;:14;;30927:4;30917:14;:28;;;;-1:-1:-1;30935:10:104;;;;;30917:28;30913:93;;;30990:1;30965:5;:15;;;30981:5;30965:22;;;;;;;;;:::i;:::-;:26;;;;:22;;;;;;:26;30913:93;31052:9;:26;;31065:13;31052:26;31048:92;;31098:27;31107:9;31118:1;31121:3;31098:8;:27::i;:::-;31221:26;31230:5;31237:3;31242:4;31221:8;:26::i;:::-;31214:33;;;;;;;;;;;;;24925:6339;;;;;;;:::o;3087:1709::-;3634:4;3628:11;;3550:4;3353:31;3342:43;;3413:13;3353:31;3752:2;3452:13;;3342:43;3359:24;3353:31;3452:13;;;3342:43;;;;3359:24;3353:31;3452:13;;;3342:43;3359:24;3353:31;3452:13;;;3342:43;3359:24;3353:31;3452:13;;;3342:43;3359:24;3353:31;3452:13;;;3342:43;3359:24;3353:31;3452:13;;;3342:43;3359:24;3353:31;3452:13;;;3342:43;3359:24;3353:31;3452:13;;;3342:43;3359:24;3353:31;3452:13;;;3342:43;3128:12;;4337:13;;3452;;;3128:12;4417:84;4442:2;4439:1;4436:9;4417:84;;;3369:13;3359:24;;3353:31;3342:43;;3373:2;3413:13;;;;4497:1;3452:13;;;;4460:1;4453:9;4417:84;;;4421:14;4564:1;4560:2;4553:13;4659:5;4655:2;4651:14;4644:5;4639:27;4765:14;;;4748:32;;;3087:1709;-1:-1:-1;;3087:1709:104:o;20980:1831::-;21053:11;21164:14;21181:24;21193:11;21181;:24::i;:::-;21164:41;;21313:1;21306:5;21302:13;21299:33;;;21328:1;21325;21318:12;21299:33;21461:2;21449:15;;;21402:20;21891:5;21888:1;21884:13;21926:4;21962:1;21947:343;21972:2;21969:1;21966:9;21947:343;;;22095:2;22083:15;;;22032:20;22130:12;;;22144:1;22126:20;22167:42;;;;22235:1;22230:42;;;;22119:153;;22167:42;21625:1;21618:12;;;21658:2;21651:13;;;21703:2;21690:16;;22176:31;;22167:42;;22230;21625:1;21618:12;;;21658:2;21651:13;;;21703:2;21690:16;;22239:31;;22119:153;-1:-1:-1;;21990:1:104;21983:9;21947:343;;;21951:14;22400:4;22394:11;22379:26;;22486:7;22480:4;22477:17;22467:124;;22528:10;22525:1;22518:21;22570:2;22567:1;22560:13;22467:124;-1:-1:-1;;22718:2:104;22707:14;;;;22695:10;22691:31;22688:1;22684:39;22752:16;;;;22770:10;22748:33;;20980:1831;-1:-1:-1;;;20980:1831:104:o;18090:823::-;18159:12;18246:18;;:::i;:::-;18314:4;18305:13;;18366:5;:8;;;18377:1;18366:12;18350:28;;:5;:12;;;:28;;;18346:95;;18398:28;;;;;2114:2:254;18398:28:104;;;2096:21:254;2153:2;2133:18;;;2126:30;2192:20;2172:18;;;2165:48;2230:18;;18398:28:104;;;;;;;;18346:95;18530:8;;;;;18563:12;;;;;18552:23;;;;;;;18589:20;;;;;18530:8;18721:13;;;18717:90;;18782:6;18791:1;18782:10;18754:5;:15;;;18770:8;18754:25;;;;;;;;;:::i;:::-;:38;;;;:25;;;;;;:38;18717:90;18883:13;:11;:13::i;:::-;18876:20;18090:823;-1:-1:-1;;;;;18090:823:104:o;2645:334::-;2706:6;2765:18;;;;2774:8;;;;2765:18;;;;;;2764:25;;;;;2781:1;2828:2;:9;;;2822:16;;;;;2821:22;;2820:32;;;;;;;2882:9;;2881:15;2764:25;2939:21;;2959:1;2939:21;;;2950:6;2939:21;2924:11;;;;;:37;;-1:-1:-1;;;2645:334:104;;;;:::o;12951:2026::-;13048:12;13134:18;;:::i;:::-;13202:4;13193:13;;13234:17;13294:5;:8;;;13305:1;13294:12;13278:28;;:5;:12;;;:28;;;13274:97;;13326:30;;;;;2461:2:254;13326:30:104;;;2443:21:254;2500:2;2480:18;;;2473:30;2539:22;2519:18;;;2512:50;2579:18;;13326:30:104;2259:344:254;13274:97:104;13441:7;:12;;13452:1;13441:12;:28;;;;13457:7;:12;;13468:1;13457:12;13441:28;13437:947;;;13489:9;13501:5;:15;;;13517:6;13501:23;;;;;;;;;:::i;:::-;;;;;13489:35;;13565:2;13558:9;;:3;:9;;;:25;;;;;13571:7;:12;;13582:1;13571:12;13558:25;13557:58;;;;13596:2;13589:9;;:3;:9;;;;:25;;;;;13602:7;:12;;13613:1;13602:12;13589:25;13542:73;;13471:159;13437:947;;;13727:7;:12;;13738:1;13727:12;13723:661;;13788:1;13780:3;13774:15;;;;13759:30;;13723:661;;;13892:7;:12;;13903:1;13892:12;13888:496;;13952:1;13945:3;13939:14;;;13924:29;;13888:496;;;14073:7;:12;;14084:1;14073:12;14069:315;;14161:4;14155:2;14146:11;;;14145:20;14131:10;14188:8;;;14184:84;;14248:1;14241:3;14235:14;;;14220:29;;14184:84;14289:3;:8;;14296:1;14289:8;14285:85;;14350:1;14342:3;14336:15;;;;14321:30;;14285:85;14087:297;14069:315;14460:8;;;;;14538:12;;;;14527:23;;;;;14694:178;;;;14785:1;14759:22;14762:5;14770:6;14762:14;14778:2;14759;:22::i;:::-;:27;;;;;;;14745:42;;14754:1;14745:42;14730:57;:12;;;:57;14694:178;;;14841:12;;;;;14856:1;14841:16;14826:31;;;;14694:178;14947:13;:11;:13::i;:::-;14940:20;12951:2026;-1:-1:-1;;;;;;;;12951:2026:104:o;31310:7165::-;31397:6;31455:10;31463:2;31455:10;;;;;;31503:11;;31552:4;31543:13;;31539:6876;;;31683:1;31673:6;:11;;;;:27;;;;;31697:3;31688:6;:12;;;31673:27;31669:537;;;31728:6;:11;;31738:1;31728:11;31724:423;;-1:-1:-1;31748:4:104;31724:423;;;31792:6;:11;;31802:1;31792:11;31788:359;;-1:-1:-1;31812:4:104;31788:359;;;31857:6;:13;;31867:3;31857:13;31853:294;;-1:-1:-1;31879:4:104;31853:294;;;31923:6;:13;;31933:3;31923:13;31919:228;;-1:-1:-1;31945:4:104;31919:228;;;31990:6;:13;;32000:3;31990:13;31986:161;;-1:-1:-1;32012:4:104;31986:161;;;32056:6;:13;;32066:3;32056:13;32052:95;;-1:-1:-1;32078:4:104;32052:95;;;32121:6;:13;;32131:3;32121:13;32117:30;;-1:-1:-1;32143:4:104;32117:30;32186:1;32177:10;;31669:537;32267:6;:11;;32277:1;32267:11;32263:3554;;32331:4;32326:1;32318:9;;;32317:18;32368:4;32318:9;32361:11;;;32357:1319;;;32460:4;32452;:12;;;32448:1206;;32503:2;32496:9;;;;;;;32448:1206;32617:4;:12;;32625:4;32617:12;32613:1041;;32668:11;;;;;;;;-1:-1:-1;32661:18:104;;-1:-1:-1;;32661:18:104;32613:1041;32792:4;:12;;32800:4;32792:12;32788:866;;32843:11;;;;;;;;-1:-1:-1;32836:18:104;;-1:-1:-1;;32836:18:104;32788:866;32970:4;:12;;32978:4;32970:12;32966:688;;33021:27;33030:5;33024:11;;:2;:11;;;;33042:5;33037:2;:10;33021:2;:27::i;:::-;33014:34;;;;;;;32966:688;33170:4;:12;;33178:4;33170:12;33166:488;;-1:-1:-1;;;;33221:17:104;;;33233:4;33228:9;;33221:17;33214:24;;33166:488;33361:4;:12;;33369:4;33361:12;33357:297;;-1:-1:-1;;;;33412:17:104;;;33424:4;33419:9;;33412:17;33405:24;;33357:297;33555:4;:12;;33563:4;33555:12;33551:103;;33606:21;33615:2;33609:8;;:2;:8;;;;33624:2;33619;:7;33606:2;:21::i;33551:103::-;33836:4;:12;;33844:4;33836:12;:28;;;;33852:4;:12;;33860:4;33852:12;33836:28;33832:1151;;;33904:2;33899;:7;33892:14;;;;;;;33832:1151;33994:4;:12;;34002:4;33994:12;:28;;;;34010:4;:12;;34018:4;34010:12;33994:28;33990:993;;;34062:2;34057;:7;34050:14;;;;;;;33990:993;34144:4;:12;;34152:4;34144:12;34140:843;;34196:2;34191;:7;34184:14;;;;;;;34140:843;34277:4;:12;;34285:4;34277:12;34273:710;;34330:2;34325;:7;34317:16;;;;;;;34273:710;34413:4;:12;;34421:4;34413:12;34409:574;;34466:2;34461;:7;34453:16;;;;;;;34409:574;34549:4;:12;;34557:4;34549:12;34545:438;;-1:-1:-1;;;;34598:7:104;;;34596:10;34589:17;;34545:438;34709:4;:12;;34717:4;34709:12;34705:278;;34774:2;34756:21;;34762:2;34756:21;;;:29;;34784:1;34756:29;;;34780:1;34756:29;34749:36;;;;;;;;;34705:278;34898:4;:12;;34906:4;34898:12;34894:89;;34950:2;34945:7;;:2;:7;;;:15;;34959:1;34945:15;;34894:89;32280:2721;31539:6876;;32263:3554;35072:6;:13;;35082:3;35072:13;35068:749;;35122:2;35116;:8;;;;35109:15;;;;;;35068:749;35197:6;:14;;35207:4;35197:14;35193:624;;35266:4;:9;;35274:1;35266:9;35262:100;;-1:-1:-1;;;35317:21:104;;;35303:36;;35262:100;35414:4;:12;;35422:4;35414:12;:28;;;;35430:4;:12;;35438:4;35430:12;35414:28;35410:389;;;35474:4;:12;;35482:4;35474:12;35470:83;;35523:3;;;35470:83;35578:8;35616:127;35628:10;35623:15;;:20;35616:127;;35708:8;35675:3;35708:8;;;;;35675:3;35616:127;;;35775:1;-1:-1:-1;35768:8:104;;-1:-1:-1;;35768:8:104;35410:389;31539:6876;;;35850:4;35841:6;:13;;;35837:2578;;;35900:6;:14;;35910:4;35900:14;35896:1208;;35945:42;35963:2;35968:1;35963:6;35973:1;35962:12;35957:2;:17;35949:26;;:3;:26;;;;35979:4;35948:35;35985:1;35945:2;:42::i;:::-;35938:49;;;;;;35896:1208;36054:6;:14;;36064:4;36054:14;36050:1054;;36099:45;36117:2;36122:1;36117:6;36127:1;36116:12;36111:2;:17;36103:26;;:3;:26;;;;36133:6;36102:37;36141:2;36099;:45::i;36050:1054::-;36212:6;:14;;36222:4;36212:14;36208:896;;-1:-1:-1;;;36263:21:104;36282:1;36277;36272:6;;36271:12;36263:21;;36320:36;;;36391:5;36386:10;;36263:21;;;;;36385:18;36378:25;;36208:896;36470:6;:14;;36480:4;36470:14;36466:638;;36515:3;36508:10;;;;;;36466:638;36586:6;:14;;36596:4;36586:14;36582:522;;36646:2;36651:1;36646:6;36656:1;36645:12;36640:2;:17;36632:26;;:3;:26;;;;36662:4;36631:35;36624:42;;;;;;36582:522;36734:6;:14;;36744:4;36734:14;36730:374;;36794:2;36799:1;36794:6;36804:1;36793:12;36788:2;:17;36780:26;;:3;:26;;;;36810:6;36779:37;36772:44;;;;;;36730:374;36884:6;:14;;36894:4;36884:14;36880:224;;-1:-1:-1;;;36935:26:104;36959:1;36954;36949:6;;36948:12;36943:2;:17;36935:26;;36997:41;;;37073:5;37068:10;;36935:26;;;;;37067:18;37060:25;;35837:2578;37158:6;:14;;37168:4;37158:14;37154:1261;;-1:-1:-1;;;37211:4:104;37205:34;37237:1;37232;37227:6;;37226:12;37221:2;:17;37205:34;;37291:27;;;37271:48;;;37345:10;;37206:9;;;37205:34;;37344:18;37337:25;;37154:1261;37417:6;:14;;37427:4;37417:14;37413:1002;;-1:-1:-1;;;37470:6:104;37464:36;37498:1;37493;37488:6;;37487:12;37482:2;:17;37464:36;;37552:29;;;37532:50;;;37608:10;;37465:11;;;37464:36;;37607:18;37600:25;;37413:1002;37681:6;:14;;37691:4;37681:14;37677:738;;-1:-1:-1;;;37728:20:104;37746:1;37741;37736:6;;37735:12;37728:20;;37780:36;;;37848:5;37842:11;;37728:20;;;;;37841:19;37834:26;;37677:738;37915:6;:14;;37925:4;37915:14;37911:504;;37956:2;37949:9;;;;;;37911:504;38014:6;:14;;38024:4;38014:14;38010:405;;-1:-1:-1;;;38061:25:104;38084:1;38079;38074:6;;38073:12;38068:2;:17;38061:25;;38118:41;;;38191:5;38185:11;;38061:25;;;;;38184:19;38177:26;;38010:405;38258:6;:14;;38268:4;38258:14;38254:161;;38299:3;38292:10;;;;;;38254:161;38357:6;:14;;38367:4;38357:14;38353:62;;38398:2;38391:9;;;;;;38353:62;38429:29;;;;;2810:2:254;38429:29:104;;;2792:21:254;2849:2;2829:18;;;2822:30;2888:21;2868:18;;;2861:49;2927:18;;38429:29:104;2608:343:254;19194:782:104;19280:12;19367:18;;:::i;:::-;-1:-1:-1;19435:4:104;19542:2;19530:14;;;;19522:41;;;;;;;3158:2:254;19522:41:104;;;3140:21:254;3197:2;3177:18;;;3170:30;3236:16;3216:18;;;3209:44;3270:18;;19522:41:104;2956:338:254;19522:41:104;19659:14;;;;;;;:30;;;19677:12;19659:30;19655:102;;;19738:4;19709:5;:15;;;19725:9;19709:26;;;;;;;;;:::i;:::-;:33;;;;:26;;;;;;:33;19655:102;19812:12;;;;;19801:23;;;;:8;;;:23;19868:1;19853:16;;;19838:31;;;19946:13;:11;:13::i;4837:7728::-;4880:12;4966:18;;:::i;:::-;-1:-1:-1;5144:15:104;;:18;;;;5034:4;5304:18;;;;5348;;;;5392;;;;;5034:4;;5124:17;;;;5304:18;5348;5482;;;5496:4;5482:18;5478:6777;;5532:2;5561:4;5556:9;;:14;5552:144;;5672:4;5667:9;;5659:4;:18;5653:24;5552:144;5717:2;:7;;5723:1;5717:7;5713:161;;5753:10;;;;;5785:16;;;;;;;;5753:10;-1:-1:-1;5713:161:104;;;5853:2;5848:7;;5713:161;5502:386;5478:6777;;;5990:10;:18;;6004:4;5990:18;5986:6269;;1745:10;6028:14;;5986:6269;;;6126:10;:18;;6140:4;6126:18;6122:6133;;6169:1;6164:6;;6122:6133;;;6294:10;:18;;6308:4;6294:18;6290:5965;;6347:4;6332:12;;;:19;6369:26;;;:14;;;:26;6420:13;:11;:13::i;:::-;6413:20;;;;;;;;;4837:7728;:::o;6290:5965::-;6559:10;:18;;6573:4;6559:18;6555:5700;;6710:14;;;6706:2708;6555:5700;6706:2708;6880:22;;;;;6876:2538;;7005:10;7018:27;7026:2;7031:10;7026:15;7043:1;7018:7;:27::i;:::-;7129:17;;;;7005:40;;-1:-1:-1;7129:17:104;7107:19;7279:14;7298:1;7273:26;7269:131;;7341:36;7365:11;1277:21:105;1426:15;;;1467:8;1461:4;1454:22;1595:4;1582:18;;1602:19;1578:44;1624:11;1575:61;;1222:430;7341:36:104;7327:50;;7269:131;7486:20;;;;;7453:54;;;;;;;;3472:25:254;;;7453:54:104;3533:23:254;;;3513:18;;;3506:51;7422:11:104;;;;7453:19;:6;:19;;;;3445:18:254;;7453:54:104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7421:86;;;;7734:1;7730:2;7726:10;7831:9;7828:1;7824:17;7913:6;7906:5;7903:17;7900:40;;;7933:5;7923:15;;7900:40;;8016:6;8012:2;8009:14;8006:34;;;8036:2;8026:12;;8006:34;8142:3;8137:1;8129:6;8125:14;8120:3;8116:24;8112:34;8105:41;;8242:3;8238:1;8226:9;8217:6;8214:1;8210:14;8206:30;8202:38;8198:48;8191:55;;8397:1;8393;8389;8377:9;8374:1;8370:17;8366:25;8362:33;8358:41;8524:1;8520;8516;8507:6;8495:9;8492:1;8488:17;8484:30;8480:38;8476:46;8472:54;8454:72;;8655:10;8651:15;8645:4;8641:26;8633:34;;8771:3;8763:4;8759:9;8754:3;8750:19;8747:28;8740:35;;;;8917:33;8926:2;8931:10;8926:15;8943:1;8946:3;8917:8;:33::i;:::-;8972:20;;;:38;;;;;;;;;-1:-1:-1;6876:2538:104;;-1:-1:-1;;;6876:2538:104;;9129:18;;;;;9125:289;;9299:2;9294:7;;6555:5700;;9125:289;9353:10;9348:15;;2053:3;9385:10;;9125:289;6555:5700;;;9543:10;:18;;9557:4;9543:18;9539:2716;;9697:15;;;1824:1;9697:15;;:34;;-1:-1:-1;9716:15:104;;;1859:1;9716:15;9697:34;:57;;;-1:-1:-1;9735:19:104;;;1936:1;9735:19;9697:57;9693:1593;;;9783:2;9778:7;;9539:2716;;9693:1593;9909:23;;;;;9905:1381;;9956:10;9969:27;9977:2;9982:10;9977:15;9994:1;9969:7;:27::i;:::-;10072:17;;;;9956:40;;-1:-1:-1;10315:1:104;10307:10;;10409:1;10405:17;10484:13;;;10481:32;;;10506:5;10500:11;;10481:32;10792:14;;;10598:1;10788:22;;;10784:32;;;;10681:26;10705:1;10590:10;;;10685:18;;;10681:26;10780:43;10586:20;;10888:12;11016:17;;;:23;11084:1;11061:20;;;:24;10594:2;-1:-1:-1;10594:2:104;6555:5700;;9539:2716;11488:10;:18;;11502:4;11488:18;11484:771;;11598:2;:7;;11604:1;11598:7;11594:647;;11691:14;;;;;:40;;-1:-1:-1;11709:22:104;;;1978:1;11709:22;11691:40;:62;;;-1:-1:-1;11735:18:104;;;1897:1;11735:18;11691:62;11687:404;;;11786:1;11781:6;;11594:647;;11687:404;11832:15;;;1824:1;11832:15;;:34;;-1:-1:-1;11851:15:104;;;1859:1;11851:15;11832:34;:61;;;-1:-1:-1;11870:23:104;;;2021:1;11870:23;11832:61;:84;;;-1:-1:-1;11897:19:104;;;1936:1;11897:19;11832:84;11828:263;;;11949:1;11944:6;;6555:5700;;11594:647;12142:10;12137:15;;2087:4;12174:11;;11594:647;12330:15;;;;;:23;;;;:18;;;;:23;;;;12367:15;;:23;;;:18;;;;:23;-1:-1:-1;12456:12:104;;;;12445:23;;;:8;;;:23;12512:1;12497:16;12482:31;;;;;12535:13;:11;:13::i;15318:2480::-;15412:12;15498:18;;:::i;:::-;-1:-1:-1;15566:4:104;15598:10;15706:13;;;15715:4;15706:13;15702:1705;;-1:-1:-1;15745:8:104;;;;15702:1705;;;15864:5;:13;;15873:4;15864:13;15860:1547;;15897:14;;;:8;;;:14;15860:1547;;;16027:5;:13;;16036:4;16027:13;16023:1384;;-1:-1:-1;16066:8:104;;;;16023:1384;;;16185:5;:13;;16194:4;16185:13;16181:1226;;16218:14;;;:8;;;:14;16181:1226;;;16359:5;:13;;16368:4;16359:13;16355:1052;;16486:9;16432:17;16412;;;16432;;;;16412:37;16493:2;16486:9;;;;;16468:8;;;:28;16514:22;:8;;;:22;16355:1052;;;16673:5;:13;;16682:4;16673:13;16669:738;;16740:11;16726;;;16740;;;16726:25;16795:2;16788:9;;;;;16770:8;;;:28;16816:22;:8;;;:22;16669:738;;;16997:5;:13;;17006:4;16997:13;16993:414;;17067:3;17048:23;;17054:3;17048:23;;;;;;;:::i;:::-;;17030:42;;:8;;;:42;17108:23;;;;;;;;;;;;;:::i;:::-;;17090:42;;:8;;;:42;16993:414;;;17301:5;:13;;17310:4;17301:13;17297:110;;17351:3;17345:9;;:3;:9;;;;;;;:::i;:::-;;17334:20;;;;:8;;;:20;17383:9;;;;;;;;;;;:::i;:::-;;17372:20;;:8;;;:20;17297:110;17500:14;;;;17496:85;;17563:3;17534:5;:15;;;17550:9;17534:26;;;;;;;;;:::i;:::-;:32;;;;:26;;;;;;:32;17496:85;17635:12;;;;;17624:23;;;;:8;;;:23;17691:1;17676:16;;;17661:31;;;17768:13;:11;:13::i;:::-;17761:20;15318:2480;-1:-1:-1;;;;;;;15318:2480:104:o;23147:1654::-;23323:14;23340:24;23352:11;23340;:24::i;:::-;23323:41;;23472:1;23465:5;23461:13;23458:33;;;23487:1;23484;23477:12;23458:33;23626:2;23820:15;;;23645:2;23634:14;;23622:10;23618:31;23615:1;23611:39;23776:16;;;23561:20;;23761:10;23750:22;;;23746:27;23736:38;23733:60;24262:5;24259:1;24255:13;24333:1;24318:343;24343:2;24340:1;24337:9;24318:343;;;24466:2;24454:15;;;24403:20;24501:12;;;24515:1;24497:20;24538:42;;;;24606:1;24601:42;;;;24490:153;;24538:42;21625:1;21618:12;;;21658:2;21651:13;;;21703:2;21690:16;;24547:31;;24538:42;;24601;21625:1;21618:12;;;21658:2;21651:13;;;21703:2;21690:16;;24610:31;;24490:153;-1:-1:-1;;24361:1:104;24354:9;24318:343;;;-1:-1:-1;;24760:4:104;24753:18;-1:-1:-1;;;;23147:1654:104:o;20180:586::-;20502:20;;;20526:7;20502:32;20495:3;:40;;;20608:14;;20663:17;;20657:24;;;20649:72;;;;;;;4209:2:254;20649:72:104;;;4191:21:254;4248:2;4228:18;;;4221:30;4287:34;4267:18;;;4260:62;4358:5;4338:18;;;4331:33;4381:19;;20649:72:104;4007:399:254;20649:72:104;20735:14;20180:586;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;467:347:254:-;518:8;528:6;582:3;575:4;567:6;563:17;559:27;549:55;;600:1;597;590:12;549:55;-1:-1:-1;623:20:254;;666:18;655:30;;652:50;;;698:1;695;688:12;652:50;735:4;727:6;723:17;711:29;;787:3;780:4;771:6;763;759:19;755:30;752:39;749:59;;;804:1;801;794:12;749:59;467:347;;;;;:::o;819:717::-;909:6;917;925;933;986:2;974:9;965:7;961:23;957:32;954:52;;;1002:1;999;992:12;954:52;1042:9;1029:23;1071:18;1112:2;1104:6;1101:14;1098:34;;;1128:1;1125;1118:12;1098:34;1167:58;1217:7;1208:6;1197:9;1193:22;1167:58;:::i;:::-;1244:8;;-1:-1:-1;1141:84:254;-1:-1:-1;1332:2:254;1317:18;;1304:32;;-1:-1:-1;1348:16:254;;;1345:36;;;1377:1;1374;1367:12;1345:36;;1416:60;1468:7;1457:8;1446:9;1442:24;1416:60;:::i;:::-;819:717;;;;-1:-1:-1;1495:8:254;-1:-1:-1;;;;819:717:254:o;1723:184::-;1775:77;1772:1;1765:88;1872:4;1869:1;1862:15;1896:4;1893:1;1886:15;3568:245;3647:6;3655;3708:2;3696:9;3687:7;3683:23;3679:32;3676:52;;;3724:1;3721;3714:12;3676:52;-1:-1:-1;;3747:16:254;;3803:2;3788:18;;;3782:25;3747:16;;3782:25;;-1:-1:-1;3568:245:254:o;3818:184::-;3870:77;3867:1;3860:88;3967:4;3964:1;3957:15;3991:4;3988:1;3981:15" func init() { if err := json.Unmarshal([]byte(MIPSStorageLayoutJSON), MIPSStorageLayout); err != nil { diff --git a/op-bindings/bindings/preimageoracle_more.go b/op-bindings/bindings/preimageoracle_more.go index f7e96d564d69..3c91ded03392 100644 --- a/op-bindings/bindings/preimageoracle_more.go +++ b/op-bindings/bindings/preimageoracle_more.go @@ -15,7 +15,7 @@ var PreimageOracleStorageLayout = new(solc.StorageLayout) var PreimageOracleDeployedBin = "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063e03110e11161005b578063e03110e114610111578063e159261114610139578063fe4ac08e1461014e578063fef2b4ed146101c357600080fd5b806361238bde146100825780638542cf50146100c05780639a1f5e7f146100fe575b600080fd5b6100ad610090366004610551565b600160209081526000928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b6100ee6100ce366004610551565b600260209081526000928352604080842090915290825290205460ff1681565b60405190151581526020016100b7565b6100ad61010c366004610573565b6101e3565b61012461011f366004610551565b6102b6565b604080519283526020830191909152016100b7565b61014c6101473660046105a5565b6103a7565b005b61014c61015c366004610573565b6000838152600260209081526040808320878452825280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091558684528252808320968352958152858220939093559283529082905291902055565b6100ad6101d1366004610621565b60006020819052908152604090205481565b60006101ee856104b0565b90506101fb836008610669565b8211806102085750602083115b1561023f576040517ffe25498700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000602081815260c085901b82526008959095528251828252600286526040808320858452875280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600190811790915584845287528083209483529386528382205581815293849052922055919050565b6000828152600260209081526040808320848452909152812054819060ff1661033f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f7072652d696d616765206d757374206578697374000000000000000000000000604482015260640160405180910390fd5b506000838152602081815260409091205461035b816008610669565b610366856020610669565b106103845783610377826008610669565b6103819190610681565b91505b506000938452600160209081526040808620948652939052919092205492909150565b604435600080600883018611156103c65763fe2549876000526004601cfd5b60c083901b6080526088838682378087017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80151908490207effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f02000000000000000000000000000000000000000000000000000000000000001760008181526002602090815260408083208b8452825280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600190811790915584845282528083209a83529981528982209390935590815290819052959095209190915550505050565b7f01000000000000000000000000000000000000000000000000000000000000007effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82161761054b81600090815233602052604090207effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01000000000000000000000000000000000000000000000000000000000000001790565b92915050565b6000806040838503121561056457600080fd5b50508035926020909101359150565b6000806000806080858703121561058957600080fd5b5050823594602084013594506040840135936060013592509050565b6000806000604084860312156105ba57600080fd5b83359250602084013567ffffffffffffffff808211156105d957600080fd5b818601915086601f8301126105ed57600080fd5b8135818111156105fc57600080fd5b87602082850101111561060e57600080fd5b6020830194508093505050509250925092565b60006020828403121561063357600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000821982111561067c5761067c61063a565b500190565b6000828210156106935761069361063a565b50039056fea164736f6c634300080f000a" -var PreimageOracleDeployedSourceMap = "306:4436:108:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;537:68;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;413:25:256;;;401:2;386:18;537:68:108;;;;;;;;680:66;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;614:14:256;;607:22;589:41;;577:2;562:18;680:66:108;449:187:256;1938:1165:108;;;;;;:::i;:::-;;:::i;789:536::-;;;;;;:::i;:::-;;:::i;:::-;;;;1205:25:256;;;1261:2;1246:18;;1239:34;;;;1178:18;789:536:108;1031:248:256;3145:1595:108;;;;;;:::i;:::-;;:::i;:::-;;1672:224;;;;;;:::i;:::-;1767:19;;;;:14;:19;;;;;;;;:31;;;;;;;;:38;;;;1801:4;1767:38;;;;;;1815:18;;;;;;;;:30;;;;;;;;;:37;;;;1862:20;;;;;;;;;;:27;1672:224;419:50;;;;;;:::i;:::-;;;;;;;;;;;;;;;1938:1165;2100:12;2205:36;2234:6;2205:28;:36::i;:::-;2198:43;-1:-1:-1;2335:9:108;:5;2343:1;2335:9;:::i;:::-;2321:11;:23;:37;;;;2356:2;2348:5;:10;2321:37;2317:90;;;2381:15;;;;;;;;;;;;;;2317:90;2476:12;2576:4;2569:18;;;2677:3;2673:15;;;2660:29;;2709:4;2702:19;;;;2811:18;;2901:20;;;:14;:20;;;;;;:33;;;;;;;;:40;;;;2937:4;2901:40;;;;;;2951:19;;;;;;;;:32;;;;;;;;;:39;3067:21;;;;;;;;;:29;2916:4;1938:1165;-1:-1:-1;1938:1165:108:o;789:536::-;865:12;914:20;;;:14;:20;;;;;;;;:29;;;;;;;;;865:12;;914:29;;906:62;;;;;;;3229:2:256;906:62:108;;;3211:21:256;3268:2;3248:18;;;3241:30;3307:22;3287:18;;;3280:50;3347:18;;906:62:108;;;;;;;;-1:-1:-1;1099:14:108;1116:21;;;1087:2;1116:21;;;;;;;;1167:10;1116:21;1176:1;1167:10;:::i;:::-;1151:12;:7;1161:2;1151:12;:::i;:::-;:26;1147:87;;1216:7;1203:10;:6;1212:1;1203:10;:::i;:::-;:20;;;;:::i;:::-;1193:30;;1147:87;-1:-1:-1;1290:19:108;;;;:13;:19;;;;;;;;:28;;;;;;;;;;;;789:536;;-1:-1:-1;789:536:108:o;3145:1595::-;3441:4;3428:18;3246:12;;3570:1;3560:12;;3544:29;;3541:210;;;3645:10;3642:1;3635:21;3735:1;3729:4;3722:15;3541:210;3994:3;3990:14;;;3894:4;3978:27;4025:11;3999:4;4144:16;4025:11;4126:41;4357:29;;;4361:11;4357:29;4351:36;4409:20;;;;4556:19;4549:27;4578:11;4546:44;4609:19;;;;4587:1;4609:19;;;;;;;;:32;;;;;;;;:39;;;;4644:4;4609:39;;;;;;4658:18;;;;;;;;:31;;;;;;;;;:38;;;;4706:20;;;;;;;;;;;:27;;;;-1:-1:-1;;;;3145:1595:108:o;492:353:107:-;752:11;777:19;765:32;;749:49;824:14;749:49;1277:21;1426:15;;;1467:8;1461:4;1454:22;1595:4;1582:18;;1602:19;1578:44;1624:11;1575:61;;1222:430;824:14;817:21;492:353;-1:-1:-1;;492:353:107:o;14:248:256:-;82:6;90;143:2;131:9;122:7;118:23;114:32;111:52;;;159:1;156;149:12;111:52;-1:-1:-1;;182:23:256;;;252:2;237:18;;;224:32;;-1:-1:-1;14:248:256:o;641:385::-;727:6;735;743;751;804:3;792:9;783:7;779:23;775:33;772:53;;;821:1;818;811:12;772:53;-1:-1:-1;;844:23:256;;;914:2;899:18;;886:32;;-1:-1:-1;965:2:256;950:18;;937:32;;1016:2;1001:18;988:32;;-1:-1:-1;641:385:256;-1:-1:-1;641:385:256:o;1284:659::-;1363:6;1371;1379;1432:2;1420:9;1411:7;1407:23;1403:32;1400:52;;;1448:1;1445;1438:12;1400:52;1484:9;1471:23;1461:33;;1545:2;1534:9;1530:18;1517:32;1568:18;1609:2;1601:6;1598:14;1595:34;;;1625:1;1622;1615:12;1595:34;1663:6;1652:9;1648:22;1638:32;;1708:7;1701:4;1697:2;1693:13;1689:27;1679:55;;1730:1;1727;1720:12;1679:55;1770:2;1757:16;1796:2;1788:6;1785:14;1782:34;;;1812:1;1809;1802:12;1782:34;1857:7;1852:2;1843:6;1839:2;1835:15;1831:24;1828:37;1825:57;;;1878:1;1875;1868:12;1825:57;1909:2;1905;1901:11;1891:21;;1931:6;1921:16;;;;;1284:659;;;;;:::o;2338:180::-;2397:6;2450:2;2438:9;2429:7;2425:23;2421:32;2418:52;;;2466:1;2463;2456:12;2418:52;-1:-1:-1;2489:23:256;;2338:180;-1:-1:-1;2338:180:256:o;2705:184::-;2757:77;2754:1;2747:88;2854:4;2851:1;2844:15;2878:4;2875:1;2868:15;2894:128;2934:3;2965:1;2961:6;2958:1;2955:13;2952:39;;;2971:18;;:::i;:::-;-1:-1:-1;3007:9:256;;2894:128::o;3376:125::-;3416:4;3444:1;3441;3438:8;3435:34;;;3449:18;;:::i;:::-;-1:-1:-1;3486:9:256;;3376:125::o" +var PreimageOracleDeployedSourceMap = "306:4436:106:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;537:68;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;413:25:254;;;401:2;386:18;537:68:106;;;;;;;;680:66;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;614:14:254;;607:22;589:41;;577:2;562:18;680:66:106;449:187:254;1938:1165:106;;;;;;:::i;:::-;;:::i;789:536::-;;;;;;:::i;:::-;;:::i;:::-;;;;1205:25:254;;;1261:2;1246:18;;1239:34;;;;1178:18;789:536:106;1031:248:254;3145:1595:106;;;;;;:::i;:::-;;:::i;:::-;;1672:224;;;;;;:::i;:::-;1767:19;;;;:14;:19;;;;;;;;:31;;;;;;;;:38;;;;1801:4;1767:38;;;;;;1815:18;;;;;;;;:30;;;;;;;;;:37;;;;1862:20;;;;;;;;;;:27;1672:224;419:50;;;;;;:::i;:::-;;;;;;;;;;;;;;;1938:1165;2100:12;2205:36;2234:6;2205:28;:36::i;:::-;2198:43;-1:-1:-1;2335:9:106;:5;2343:1;2335:9;:::i;:::-;2321:11;:23;:37;;;;2356:2;2348:5;:10;2321:37;2317:90;;;2381:15;;;;;;;;;;;;;;2317:90;2476:12;2576:4;2569:18;;;2677:3;2673:15;;;2660:29;;2709:4;2702:19;;;;2811:18;;2901:20;;;:14;:20;;;;;;:33;;;;;;;;:40;;;;2937:4;2901:40;;;;;;2951:19;;;;;;;;:32;;;;;;;;;:39;3067:21;;;;;;;;;:29;2916:4;1938:1165;-1:-1:-1;1938:1165:106:o;789:536::-;865:12;914:20;;;:14;:20;;;;;;;;:29;;;;;;;;;865:12;;914:29;;906:62;;;;;;;3229:2:254;906:62:106;;;3211:21:254;3268:2;3248:18;;;3241:30;3307:22;3287:18;;;3280:50;3347:18;;906:62:106;;;;;;;;-1:-1:-1;1099:14:106;1116:21;;;1087:2;1116:21;;;;;;;;1167:10;1116:21;1176:1;1167:10;:::i;:::-;1151:12;:7;1161:2;1151:12;:::i;:::-;:26;1147:87;;1216:7;1203:10;:6;1212:1;1203:10;:::i;:::-;:20;;;;:::i;:::-;1193:30;;1147:87;-1:-1:-1;1290:19:106;;;;:13;:19;;;;;;;;:28;;;;;;;;;;;;789:536;;-1:-1:-1;789:536:106:o;3145:1595::-;3441:4;3428:18;3246:12;;3570:1;3560:12;;3544:29;;3541:210;;;3645:10;3642:1;3635:21;3735:1;3729:4;3722:15;3541:210;3994:3;3990:14;;;3894:4;3978:27;4025:11;3999:4;4144:16;4025:11;4126:41;4357:29;;;4361:11;4357:29;4351:36;4409:20;;;;4556:19;4549:27;4578:11;4546:44;4609:19;;;;4587:1;4609:19;;;;;;;;:32;;;;;;;;:39;;;;4644:4;4609:39;;;;;;4658:18;;;;;;;;:31;;;;;;;;;:38;;;;4706:20;;;;;;;;;;;:27;;;;-1:-1:-1;;;;3145:1595:106:o;492:353:105:-;752:11;777:19;765:32;;749:49;824:14;749:49;1277:21;1426:15;;;1467:8;1461:4;1454:22;1595:4;1582:18;;1602:19;1578:44;1624:11;1575:61;;1222:430;824:14;817:21;492:353;-1:-1:-1;;492:353:105:o;14:248:254:-;82:6;90;143:2;131:9;122:7;118:23;114:32;111:52;;;159:1;156;149:12;111:52;-1:-1:-1;;182:23:254;;;252:2;237:18;;;224:32;;-1:-1:-1;14:248:254:o;641:385::-;727:6;735;743;751;804:3;792:9;783:7;779:23;775:33;772:53;;;821:1;818;811:12;772:53;-1:-1:-1;;844:23:254;;;914:2;899:18;;886:32;;-1:-1:-1;965:2:254;950:18;;937:32;;1016:2;1001:18;988:32;;-1:-1:-1;641:385:254;-1:-1:-1;641:385:254:o;1284:659::-;1363:6;1371;1379;1432:2;1420:9;1411:7;1407:23;1403:32;1400:52;;;1448:1;1445;1438:12;1400:52;1484:9;1471:23;1461:33;;1545:2;1534:9;1530:18;1517:32;1568:18;1609:2;1601:6;1598:14;1595:34;;;1625:1;1622;1615:12;1595:34;1663:6;1652:9;1648:22;1638:32;;1708:7;1701:4;1697:2;1693:13;1689:27;1679:55;;1730:1;1727;1720:12;1679:55;1770:2;1757:16;1796:2;1788:6;1785:14;1782:34;;;1812:1;1809;1802:12;1782:34;1857:7;1852:2;1843:6;1839:2;1835:15;1831:24;1828:37;1825:57;;;1878:1;1875;1868:12;1825:57;1909:2;1905;1901:11;1891:21;;1931:6;1921:16;;;;;1284:659;;;;;:::o;2338:180::-;2397:6;2450:2;2438:9;2429:7;2425:23;2421:32;2418:52;;;2466:1;2463;2456:12;2418:52;-1:-1:-1;2489:23:254;;2338:180;-1:-1:-1;2338:180:254:o;2705:184::-;2757:77;2754:1;2747:88;2854:4;2851:1;2844:15;2878:4;2875:1;2868:15;2894:128;2934:3;2965:1;2961:6;2958:1;2955:13;2952:39;;;2971:18;;:::i;:::-;-1:-1:-1;3007:9:254;;2894:128::o;3376:125::-;3416:4;3444:1;3441;3438:8;3435:34;;;3449:18;;:::i;:::-;-1:-1:-1;3486:9:254;;3376:125::o" func init() { if err := json.Unmarshal([]byte(PreimageOracleStorageLayoutJSON), PreimageOracleStorageLayout); err != nil { diff --git a/package.json b/package.json index ccf0b52a916f..00a7540e2b4b 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "markdownlint-cli2": "0.4.0", "mkdirp": "^1.0.4", "mocha": "^10.2.0", - "nx": "15.6.0", + "nx": "16.6.0", "nyc": "^15.1.0", "patch-package": "^6.4.7", "prettier": "^2.8.0", diff --git a/packages/chain-mon/package.json b/packages/chain-mon/package.json index 884a7f48b98c..45d80962a980 100644 --- a/packages/chain-mon/package.json +++ b/packages/chain-mon/package.json @@ -9,12 +9,12 @@ "dist/*" ], "scripts": { - "start:balance-mon": "ts-node ./src/balance-mon/service.ts", - "start:wallet-mon": "ts-node ./src/wallet-mon/service.ts", - "start:drippie-mon": "ts-node ./src/drippie-mon/service.ts", - "start:wd-mon": "ts-node ./src/wd-mon/service.ts", - "start:fault-mon": "ts-node ./src/fault-mon/service.ts", - "start:replica-mon": "ts-node ./src/replica-mon/service.ts", + "start:balance-mon": "tsx ./src/balance-mon/service.ts", + "start:wallet-mon": "tsx ./src/wallet-mon/service.ts", + "start:drippie-mon": "tsx ./src/drippie-mon/service.ts", + "start:wd-mon": "tsx ./src/wd-mon/service.ts", + "start:fault-mon": "tsx ./src/fault-mon/service.ts", + "start:replica-mon": "tsx ./src/replica-mon/service.ts", "test": "hardhat test", "test:coverage": "nyc hardhat test && nyc merge .nyc_output coverage.json", "build": "tsc -p ./tsconfig.json", @@ -39,21 +39,22 @@ }, "dependencies": { "@eth-optimism/common-ts": "0.8.3", - "@eth-optimism/contracts-periphery": "1.0.8", "@eth-optimism/contracts-bedrock": "0.16.0", + "@eth-optimism/contracts-periphery": "1.0.8", "@eth-optimism/core-utils": "0.12.2", "@eth-optimism/sdk": "3.1.0", - "ethers": "^5.7.0", - "dotenv": "^16.1.4", "@types/dateformat": "^5.0.0", "chai-as-promised": "^7.1.1", - "dateformat": "^4.5.1" + "dateformat": "^4.5.1", + "dotenv": "^16.1.4", + "ethers": "^5.7.0" }, "devDependencies": { "@ethersproject/abstract-provider": "^5.7.0", "@nomiclabs/hardhat-ethers": "^2.0.6", "@nomiclabs/hardhat-waffle": "^2.0.3", "hardhat": "^2.9.6", - "ts-node": "^10.9.1" + "ts-node": "^10.9.1", + "tsx": "^3.12.7" } } diff --git a/packages/chain-mon/src/fault-mon/README.md b/packages/chain-mon/src/fault-mon/README.md index 98b7bad957fd..585b8eb28c02 100644 --- a/packages/chain-mon/src/fault-mon/README.md +++ b/packages/chain-mon/src/fault-mon/README.md @@ -48,7 +48,7 @@ Check the list of available metrics via `pnpm start --help`: ```sh > pnpm start --help -$ ts-node ./src/service.ts --help +$ tsx ./src/service.ts --help Usage: service [options] Options: diff --git a/packages/common-ts/package.json b/packages/common-ts/package.json index d95cf4f157c1..3ca19190e632 100644 --- a/packages/common-ts/package.json +++ b/packages/common-ts/package.json @@ -48,7 +48,7 @@ "morgan": "^1.10.0", "pino": "^6.11.3", "pino-multi-stream": "^5.3.0", - "pino-sentry": "^0.7.0", + "pino-sentry": "^0.14.0", "prom-client": "^13.1.0" }, "devDependencies": { diff --git a/packages/common-ts/src/base-service/base-service-v2.ts b/packages/common-ts/src/base-service/base-service-v2.ts index 67098aa95d02..e6b34a0d44f1 100644 --- a/packages/common-ts/src/base-service/base-service-v2.ts +++ b/packages/common-ts/src/base-service/base-service-v2.ts @@ -156,7 +156,7 @@ export abstract class BaseServiceV2< } // Use commander as a way to communicate info about the service. We don't actually *use* - // commander for anything besides the ability to run `ts-node ./service.ts --help`. + // commander for anything besides the ability to run `tsx ./service.ts --help`. const program = new Command().allowUnknownOption(true) for (const [optionName, optionSpec] of Object.entries(params.optionsSpec)) { // Skip options that are not meant to be used by the user. diff --git a/packages/contracts-bedrock/.gas-snapshot b/packages/contracts-bedrock/.gas-snapshot index d0898f6cc72d..5097ac2bbc1c 100644 --- a/packages/contracts-bedrock/.gas-snapshot +++ b/packages/contracts-bedrock/.gas-snapshot @@ -298,77 +298,79 @@ LegacyERC20ETH_Test:test_transfer_doesNotExist_reverts() (gas: 10755) LegacyMessagePasser_Test:test_passMessageToL1_succeeds() (gas: 34524) LibPosition_Test:test_pos_correctness_succeeds() (gas: 38689) MIPS_Test:test_add_succeeds() (gas: 121593) -MIPS_Test:test_addi_succeeds() (gas: 121896) -MIPS_Test:test_addu_succeeds() (gas: 121645) -MIPS_Test:test_addui_succeeds() (gas: 121953) -MIPS_Test:test_and_succeeds() (gas: 121628) -MIPS_Test:test_andi_succeeds() (gas: 121770) +MIPS_Test:test_addi_succeeds() (gas: 121918) +MIPS_Test:test_addu_succeeds() (gas: 121601) +MIPS_Test:test_addui_succeeds() (gas: 121975) +MIPS_Test:test_and_succeeds() (gas: 121650) +MIPS_Test:test_andi_succeeds() (gas: 121792) MIPS_Test:test_beq_succeeds() (gas: 202355) -MIPS_Test:test_bgez_succeeds() (gas: 121507) -MIPS_Test:test_bgtz_succeeds() (gas: 121428) -MIPS_Test:test_blez_succeeds() (gas: 121406) -MIPS_Test:test_bltz_succeeds() (gas: 121482) -MIPS_Test:test_bne_succeeds() (gas: 121548) -MIPS_Test:test_branch_inDelaySlot_fails() (gas: 85977) -MIPS_Test:test_brk_succeeds() (gas: 121509) +MIPS_Test:test_bgez_succeeds() (gas: 121484) +MIPS_Test:test_bgtz_succeeds() (gas: 121405) +MIPS_Test:test_blez_succeeds() (gas: 121361) +MIPS_Test:test_bltz_succeeds() (gas: 121504) +MIPS_Test:test_bne_succeeds() (gas: 121570) +MIPS_Test:test_branch_inDelaySlot_fails() (gas: 85999) +MIPS_Test:test_brk_succeeds() (gas: 121531) MIPS_Test:test_clo_succeeds() (gas: 121991) MIPS_Test:test_clone_succeeds() (gas: 121484) -MIPS_Test:test_clz_succeeds() (gas: 122440) +MIPS_Test:test_clz_succeeds() (gas: 122462) MIPS_Test:test_div_succeeds() (gas: 121806) -MIPS_Test:test_divu_succeeds() (gas: 121806) -MIPS_Test:test_exit_succeeds() (gas: 121386) -MIPS_Test:test_fcntl_succeeds() (gas: 203171) -MIPS_Test:test_illegal_instruction_fails() (gas: 91153) -MIPS_Test:test_invalid_root_fails() (gas: 435656) -MIPS_Test:test_jal_succeeds() (gas: 117399) +MIPS_Test:test_divu_succeeds() (gas: 121762) +MIPS_Test:test_exit_succeeds() (gas: 121408) +MIPS_Test:test_fcntl_succeeds() (gas: 203129) +MIPS_Test:test_illegal_instruction_fails() (gas: 91175) +MIPS_Test:test_invalid_root_fails() (gas: 435678) +MIPS_Test:test_jal_nonzeroRegion_succeeds() (gas: 120492) +MIPS_Test:test_jal_succeeds() (gas: 120481) MIPS_Test:test_jalr_succeeds() (gas: 121349) -MIPS_Test:test_jr_succeeds() (gas: 121138) -MIPS_Test:test_jump_inDelaySlot_fails() (gas: 85512) -MIPS_Test:test_jump_succeeds() (gas: 120353) +MIPS_Test:test_jr_succeeds() (gas: 121094) +MIPS_Test:test_jump_inDelaySlot_fails() (gas: 85345) +MIPS_Test:test_jump_nonzeroRegion_succeeds() (gas: 120236) +MIPS_Test:test_jump_succeeds() (gas: 120188) MIPS_Test:test_lb_succeeds() (gas: 127346) -MIPS_Test:test_lbu_succeeds() (gas: 127266) -MIPS_Test:test_lh_succeeds() (gas: 127345) -MIPS_Test:test_lhu_succeeds() (gas: 127262) -MIPS_Test:test_ll_succeeds() (gas: 127282) -MIPS_Test:test_lui_succeeds() (gas: 121531) +MIPS_Test:test_lbu_succeeds() (gas: 127222) +MIPS_Test:test_lh_succeeds() (gas: 127367) +MIPS_Test:test_lhu_succeeds() (gas: 127284) +MIPS_Test:test_ll_succeeds() (gas: 127304) +MIPS_Test:test_lui_succeeds() (gas: 121488) MIPS_Test:test_lw_succeeds() (gas: 127158) -MIPS_Test:test_lwl_succeeds() (gas: 241457) -MIPS_Test:test_lwr_succeeds() (gas: 241767) +MIPS_Test:test_lwl_succeeds() (gas: 241434) +MIPS_Test:test_lwr_succeeds() (gas: 241722) MIPS_Test:test_mfhi_succeeds() (gas: 121458) MIPS_Test:test_mflo_succeeds() (gas: 121484) -MIPS_Test:test_mmap_succeeds() (gas: 118492) +MIPS_Test:test_mmap_succeeds() (gas: 118451) MIPS_Test:test_movn_succeeds() (gas: 202409) MIPS_Test:test_movz_succeeds() (gas: 202313) -MIPS_Test:test_mthi_succeeds() (gas: 121428) +MIPS_Test:test_mthi_succeeds() (gas: 121450) MIPS_Test:test_mtlo_succeeds() (gas: 121478) -MIPS_Test:test_mul_succeeds() (gas: 121541) -MIPS_Test:test_mult_succeeds() (gas: 121645) -MIPS_Test:test_multu_succeeds() (gas: 121698) -MIPS_Test:test_nor_succeeds() (gas: 121739) -MIPS_Test:test_or_succeeds() (gas: 121635) +MIPS_Test:test_mul_succeeds() (gas: 121563) +MIPS_Test:test_mult_succeeds() (gas: 121667) +MIPS_Test:test_multu_succeeds() (gas: 121675) +MIPS_Test:test_nor_succeeds() (gas: 121697) +MIPS_Test:test_or_succeeds() (gas: 121657) MIPS_Test:test_ori_succeeds() (gas: 121865) -MIPS_Test:test_preimage_read_succeeds() (gas: 233825) +MIPS_Test:test_preimage_read_succeeds() (gas: 233847) MIPS_Test:test_preimage_write_succeeds() (gas: 126473) -MIPS_Test:test_prestate_exited_succeeds() (gas: 112970) +MIPS_Test:test_prestate_exited_succeeds() (gas: 112992) MIPS_Test:test_sb_succeeds() (gas: 159993) MIPS_Test:test_sc_succeeds() (gas: 160187) -MIPS_Test:test_sh_succeeds() (gas: 160096) -MIPS_Test:test_sll_succeeds() (gas: 121434) -MIPS_Test:test_sllv_succeeds() (gas: 121624) -MIPS_Test:test_slt_succeeds() (gas: 203244) +MIPS_Test:test_sh_succeeds() (gas: 160052) +MIPS_Test:test_sll_succeeds() (gas: 121456) +MIPS_Test:test_sllv_succeeds() (gas: 121646) +MIPS_Test:test_slt_succeeds() (gas: 203266) MIPS_Test:test_sltu_succeeds() (gas: 121871) -MIPS_Test:test_sra_succeeds() (gas: 121719) +MIPS_Test:test_sra_succeeds() (gas: 121763) MIPS_Test:test_srav_succeeds() (gas: 121959) MIPS_Test:test_srl_succeeds() (gas: 121514) MIPS_Test:test_srlv_succeeds() (gas: 121707) MIPS_Test:test_step_abi_succeeds() (gas: 57876) -MIPS_Test:test_sub_succeeds() (gas: 121674) -MIPS_Test:test_subu_succeeds() (gas: 121682) -MIPS_Test:test_sw_succeeds() (gas: 160050) -MIPS_Test:test_swl_succeeds() (gas: 160066) -MIPS_Test:test_swr_succeeds() (gas: 160141) +MIPS_Test:test_sub_succeeds() (gas: 121696) +MIPS_Test:test_subu_succeeds() (gas: 121659) +MIPS_Test:test_sw_succeeds() (gas: 160027) +MIPS_Test:test_swl_succeeds() (gas: 160088) +MIPS_Test:test_swr_succeeds() (gas: 160163) MIPS_Test:test_xor_succeeds() (gas: 121685) -MIPS_Test:test_xori_succeeds() (gas: 121894) +MIPS_Test:test_xori_succeeds() (gas: 121916) MerkleTrie_get_Test:test_get_corruptedProof_reverts() (gas: 5733) MerkleTrie_get_Test:test_get_extraProofElements_reverts() (gas: 58889) MerkleTrie_get_Test:test_get_invalidDataRemainder_reverts() (gas: 35845) diff --git a/packages/contracts-bedrock/STYLE_GUIDE.md b/packages/contracts-bedrock/STYLE_GUIDE.md index 2fe752b8b4fe..eafa69b04be5 100644 --- a/packages/contracts-bedrock/STYLE_GUIDE.md +++ b/packages/contracts-bedrock/STYLE_GUIDE.md @@ -102,7 +102,7 @@ All test contracts and functions should be organized and named according to the These guidelines are also encoded in a script which can be run with: ``` -ts-node scripts/forge-test-names.ts +tsx scripts/forge-test-names.ts ``` _Note: This is a work in progress, not all test files are compliant with these guidelines._ diff --git a/packages/contracts-bedrock/package.json b/packages/contracts-bedrock/package.json index 1f0d20a1cf91..aeff21fe6ad4 100644 --- a/packages/contracts-bedrock/package.json +++ b/packages/contracts-bedrock/package.json @@ -16,7 +16,7 @@ "prebuild": "./scripts/verify-foundry-install.sh", "build:differential": "go build -o ./scripts/differential-testing/differential-testing ./scripts/differential-testing", "build:fuzz": "(cd test-case-generator && go build ./cmd/fuzz.go)", - "autogen:invariant-docs": "ts-node scripts/invariant-doc-gen.ts", + "autogen:invariant-docs": "tsx scripts/invariant-doc-gen.ts", "test": "pnpm build:differential && pnpm build:fuzz && forge test", "coverage": "pnpm build:differential && pnpm build:fuzz && forge coverage", "coverage:lcov": "pnpm build:differential && pnpm build:fuzz && forge coverage --report lcov", @@ -24,13 +24,13 @@ "storage-snapshot": "./scripts/storage-snapshot.sh", "semver-lock": "forge script scripts/SemverLock.s.sol", "validate-deploy-configs": "./scripts/validate-deploy-configs.sh", - "validate-spacers": "pnpm build && npx ts-node scripts/validate-spacers.ts", + "validate-spacers": "pnpm build && npx tsx scripts/validate-spacers.ts", "slither": "./scripts/slither.sh", "slither:triage": "TRIAGE_MODE=1 ./scripts/slither.sh", "clean": "rm -rf ./artifacts ./forge-artifacts ./cache ./tsconfig.tsbuildinfo ./tsconfig.build.tsbuildinfo ./test-case-generator/fuzz ./scripts/differential-testing/differential-testing", "preinstall": "npx only-allow pnpm", "lint:ts:check": "eslint . --max-warnings=0", - "lint:forge-tests:check": "ts-node scripts/forge-test-names.ts", + "lint:forge-tests:check": "tsx scripts/forge-test-names.ts", "lint:contracts:check": "pnpm lint:fix && git diff --exit-code", "lint:check": "pnpm lint:contracts:check && pnpm lint:ts:check", "lint:ts:fix": "eslint --fix .", @@ -39,9 +39,9 @@ "lint": "pnpm lint:fix && pnpm lint:check" }, "devDependencies": { - "@typescript-eslint/eslint-plugin": "^5.60.1", - "@typescript-eslint/parser": "^5.60.1", - "ts-node": "^10.9.1", + "@typescript-eslint/eslint-plugin": "^6.4.0", + "@typescript-eslint/parser": "^6.4.0", + "tsx": "^3.12.7", "typescript": "^5.1.6" } } diff --git a/packages/contracts-bedrock/scripts/forge-test-names.ts b/packages/contracts-bedrock/scripts/forge-test-names.ts index 6df6ee651c75..b3270b1e63c1 100644 --- a/packages/contracts-bedrock/scripts/forge-test-names.ts +++ b/packages/contracts-bedrock/scripts/forge-test-names.ts @@ -2,13 +2,16 @@ import fs from 'fs' import path from 'path' import { execSync } from 'child_process' +type Check = (parts: string[]) => boolean +type Checks = Array<{ + check: Check + error: string +}> + /** * Series of function name checks. */ -const checks: Array<{ - check: (parts: string[]) => boolean - error: string -}> = [ +const checks: Checks = [ { error: 'test name parts should be in camelCase', check: (parts: string[]): boolean => { diff --git a/packages/contracts-bedrock/scripts/upgrades/PostSherlock.s.sol b/packages/contracts-bedrock/scripts/upgrades/PostSherlock.s.sol deleted file mode 100644 index 993a51991778..000000000000 --- a/packages/contracts-bedrock/scripts/upgrades/PostSherlock.s.sol +++ /dev/null @@ -1,244 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity 0.8.15; - -import { console } from "forge-std/console.sol"; -import { SafeBuilder } from "../universal/SafeBuilder.sol"; -import { IMulticall3 } from "forge-std/interfaces/IMulticall3.sol"; -import { IGnosisSafe, Enum } from "../interfaces/IGnosisSafe.sol"; -import { LibSort } from "../libraries/LibSort.sol"; -import { ProxyAdmin } from "../../src/universal/ProxyAdmin.sol"; -import { Constants } from "../../src/libraries/Constants.sol"; -import { SystemConfig } from "../../src/L1/SystemConfig.sol"; -import { ResourceMetering } from "../../src/L1/ResourceMetering.sol"; -import { Semver } from "../../src/universal/Semver.sol"; - -/// @title PostSherlockL1 -/// @notice Upgrade script for upgrading the L1 contracts after the sherlock audit. -contract PostSherlockL1 is SafeBuilder { - /// @notice Address of the ProxyAdmin, passed in via constructor of `run`. - ProxyAdmin internal PROXY_ADMIN; - - /// @notice Represents a set of L1 contracts. Used to represent a set of - /// implementations and also a set of proxies. - struct ContractSet { - address L1CrossDomainMessenger; - address L1StandardBridge; - address L2OutputOracle; - address OptimismMintableERC20Factory; - address OptimismPortal; - address SystemConfig; - address L1ERC721Bridge; - } - - /// @notice A mapping of chainid to a ContractSet of implementations. - mapping(uint256 => ContractSet) internal implementations; - - /// @notice A mapping of chainid to ContractSet of proxy addresses. - mapping(uint256 => ContractSet) internal proxies; - - /// @notice The expected versions for the contracts to be upgraded to. - string internal constant L1CrossDomainMessenger_Version = "1.4.0"; - string internal constant L1StandardBridge_Version = "1.1.0"; - string internal constant L2OutputOracle_Version = "1.3.0"; - string internal constant OptimismMintableERC20Factory_Version = "1.1.0"; - string internal constant OptimismPortal_Version = "1.6.0"; - string internal constant SystemConfig_Version = "1.3.0"; - string internal constant L1ERC721Bridge_Version = "1.1.1"; - - /// @notice Place the contract addresses in storage so they can be used when building calldata. - function setUp() external { - implementations[GOERLI] = ContractSet({ - L1CrossDomainMessenger: 0x9D1dACf9d9299D17EFFE1aAd559c06bb3Fbf9BC4, - L1StandardBridge: 0x022Fc3EBAA3d53F8f9b270CC4ABe1B0e4A406253, - L2OutputOracle: 0x0C2b6590De9D61b37094617b5e6f794Ae118176E, - OptimismMintableERC20Factory: 0x0EebA1A5da867EB3bc0956f6389d490d0F4b8086, - OptimismPortal: 0x9e760aBd847E48A56b4a348Cba56Ae7267FeCE80, - SystemConfig: 0x821EE96B88dAA1569F41cD46b0EA87fA89714b45, - L1ERC721Bridge: 0x015609dC8cBF8f9947ba571432Bc0d9837c583a4 - }); - - proxies[GOERLI] = ContractSet({ - L1CrossDomainMessenger: 0x5086d1eEF304eb5284A0f6720f79403b4e9bE294, - L1StandardBridge: 0x636Af16bf2f682dD3109e60102b8E1A089FedAa8, - L2OutputOracle: 0xE6Dfba0953616Bacab0c9A8ecb3a9BBa77FC15c0, - OptimismMintableERC20Factory: 0x883dcF8B05364083D849D8bD226bC8Cb4c42F9C5, - OptimismPortal: 0x5b47E1A08Ea6d985D6649300584e6722Ec4B1383, - SystemConfig: 0xAe851f927Ee40dE99aaBb7461C00f9622ab91d60, - L1ERC721Bridge: 0x8DD330DdE8D9898d43b4dc840Da27A07dF91b3c9 - }); - } - - /// @notice Follow up assertions to ensure that the script ran to completion. - function _postCheck() internal view override { - ContractSet memory prox = getProxies(); - require( - _versionHash(prox.L1CrossDomainMessenger) == keccak256(bytes(L1CrossDomainMessenger_Version)), - "L1CrossDomainMessenger" - ); - require(_versionHash(prox.L1StandardBridge) == keccak256(bytes(L1StandardBridge_Version)), "L1StandardBridge"); - require(_versionHash(prox.L2OutputOracle) == keccak256(bytes(L2OutputOracle_Version)), "L2OutputOracle"); - require( - _versionHash(prox.OptimismMintableERC20Factory) == keccak256(bytes(OptimismMintableERC20Factory_Version)), - "OptimismMintableERC20Factory" - ); - require(_versionHash(prox.OptimismPortal) == keccak256(bytes(OptimismPortal_Version)), "OptimismPortal"); - require(_versionHash(prox.SystemConfig) == keccak256(bytes(SystemConfig_Version)), "SystemConfig"); - require(_versionHash(prox.L1ERC721Bridge) == keccak256(bytes(L1ERC721Bridge_Version)), "L1ERC721Bridge"); - - ResourceMetering.ResourceConfig memory rcfg = SystemConfig(prox.SystemConfig).resourceConfig(); - ResourceMetering.ResourceConfig memory dflt = Constants.DEFAULT_RESOURCE_CONFIG(); - require(keccak256(abi.encode(rcfg)) == keccak256(abi.encode(dflt))); - - // Check that the codehashes of all implementations match the proxies set implementations. - ContractSet memory impl = getImplementations(); - require( - PROXY_ADMIN.getProxyImplementation(prox.L1CrossDomainMessenger).codehash - == impl.L1CrossDomainMessenger.codehash, - "L1CrossDomainMessenger codehash" - ); - require( - PROXY_ADMIN.getProxyImplementation(prox.L1StandardBridge).codehash == impl.L1StandardBridge.codehash, - "L1StandardBridge codehash" - ); - require( - PROXY_ADMIN.getProxyImplementation(prox.L2OutputOracle).codehash == impl.L2OutputOracle.codehash, - "L2OutputOracle codehash" - ); - require( - PROXY_ADMIN.getProxyImplementation(prox.OptimismMintableERC20Factory).codehash - == impl.OptimismMintableERC20Factory.codehash, - "OptimismMintableERC20Factory codehash" - ); - require( - PROXY_ADMIN.getProxyImplementation(prox.OptimismPortal).codehash == impl.OptimismPortal.codehash, - "OptimismPortal codehash" - ); - require( - PROXY_ADMIN.getProxyImplementation(prox.SystemConfig).codehash == impl.SystemConfig.codehash, - "SystemConfig codehash" - ); - require( - PROXY_ADMIN.getProxyImplementation(prox.L1ERC721Bridge).codehash == impl.L1ERC721Bridge.codehash, - "L1ERC721Bridge codehash" - ); - } - - /// @notice Test coverage of the logic. Should only run on goerli but other chains - /// could be added. - function test_script_succeeds() external skipWhenNotForking { - address _safe; - address _proxyAdmin; - - if (block.chainid == GOERLI) { - _safe = 0xBc1233d0C3e6B5d53Ab455cF65A6623F6dCd7e4f; - _proxyAdmin = 0x01d3670863c3F4b24D7b107900f0b75d4BbC6e0d; - // Set the proxy admin for the `_postCheck` function - PROXY_ADMIN = ProxyAdmin(_proxyAdmin); - } - - require(_safe != address(0) && _proxyAdmin != address(0)); - - address[] memory owners = IGnosisSafe(payable(_safe)).getOwners(); - - for (uint256 i; i < owners.length; i++) { - address owner = owners[i]; - vm.startBroadcast(owner); - bool success = _run(_safe, _proxyAdmin); - vm.stopBroadcast(); - - if (success) { - console.log("tx success"); - break; - } - } - - _postCheck(); - } - - /// @notice Builds the calldata that the multisig needs to make for the upgrade to happen. - /// A total of 8 calls are made, 7 upgrade implementations and 1 sets the resource - /// config to the default value in the SystemConfig contract. - function buildCalldata(address _proxyAdmin) internal view override returns (bytes memory) { - IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](8); - - ContractSet memory impl = getImplementations(); - ContractSet memory prox = getProxies(); - - // Upgrade the L1CrossDomainMessenger - calls[0] = IMulticall3.Call3({ - target: _proxyAdmin, - allowFailure: false, - callData: abi.encodeCall( - ProxyAdmin.upgrade, (payable(prox.L1CrossDomainMessenger), impl.L1CrossDomainMessenger) - ) - }); - - // Upgrade the L1StandardBridge - calls[1] = IMulticall3.Call3({ - target: _proxyAdmin, - allowFailure: false, - callData: abi.encodeCall(ProxyAdmin.upgrade, (payable(prox.L1StandardBridge), impl.L1StandardBridge)) - }); - - // Upgrade the L2OutputOracle - calls[2] = IMulticall3.Call3({ - target: _proxyAdmin, - allowFailure: false, - callData: abi.encodeCall(ProxyAdmin.upgrade, (payable(prox.L2OutputOracle), impl.L2OutputOracle)) - }); - - // Upgrade the OptimismMintableERC20Factory - calls[3] = IMulticall3.Call3({ - target: _proxyAdmin, - allowFailure: false, - callData: abi.encodeCall( - ProxyAdmin.upgrade, (payable(prox.OptimismMintableERC20Factory), impl.OptimismMintableERC20Factory) - ) - }); - - // Upgrade the OptimismPortal - calls[4] = IMulticall3.Call3({ - target: _proxyAdmin, - allowFailure: false, - callData: abi.encodeCall(ProxyAdmin.upgrade, (payable(prox.OptimismPortal), impl.OptimismPortal)) - }); - - // Upgrade the SystemConfig - calls[5] = IMulticall3.Call3({ - target: _proxyAdmin, - allowFailure: false, - callData: abi.encodeCall(ProxyAdmin.upgrade, (payable(prox.SystemConfig), impl.SystemConfig)) - }); - - // Upgrade the L1ERC721Bridge - calls[6] = IMulticall3.Call3({ - target: _proxyAdmin, - allowFailure: false, - callData: abi.encodeCall(ProxyAdmin.upgrade, (payable(prox.L1ERC721Bridge), impl.L1ERC721Bridge)) - }); - - // Set the default resource config - ResourceMetering.ResourceConfig memory rcfg = Constants.DEFAULT_RESOURCE_CONFIG(); - calls[7] = IMulticall3.Call3({ - target: prox.SystemConfig, - allowFailure: false, - callData: abi.encodeCall(SystemConfig.setResourceConfig, (rcfg)) - }); - - return abi.encodeCall(IMulticall3.aggregate3, (calls)); - } - - /// @notice Returns the ContractSet that represents the implementations for a given network. - function getImplementations() internal view returns (ContractSet memory) { - ContractSet memory set = implementations[block.chainid]; - require(set.L1CrossDomainMessenger != address(0), "no implementations for this network"); - return set; - } - - /// @notice Returns the ContractSet that represents the proxies for a given network. - function getProxies() internal view returns (ContractSet memory) { - ContractSet memory set = proxies[block.chainid]; - require(set.L1CrossDomainMessenger != address(0), "no proxies for this network"); - return set; - } -} diff --git a/packages/contracts-bedrock/scripts/upgrades/PostSherlockL2.s.sol b/packages/contracts-bedrock/scripts/upgrades/PostSherlockL2.s.sol deleted file mode 100644 index d5b2dd37581b..000000000000 --- a/packages/contracts-bedrock/scripts/upgrades/PostSherlockL2.s.sol +++ /dev/null @@ -1,276 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity 0.8.15; - -import { console } from "forge-std/console.sol"; -import { SafeBuilder } from "../universal/SafeBuilder.sol"; -import { IGnosisSafe, Enum } from "../interfaces/IGnosisSafe.sol"; -import { IMulticall3 } from "forge-std/interfaces/IMulticall3.sol"; -import { Predeploys } from "../../src/libraries/Predeploys.sol"; -import { ProxyAdmin } from "../../src/universal/ProxyAdmin.sol"; - -/// @title PostSherlockL2 -/// @notice Upgrades the L2 contracts. -contract PostSherlockL2 is SafeBuilder { - /// @notice The proxy admin predeploy on L2. - ProxyAdmin constant PROXY_ADMIN = ProxyAdmin(0x4200000000000000000000000000000000000018); - - /// @notice Represents a set of L2 predepploy contracts. Used to represent a set of - /// implementations and also a set of proxies. - struct ContractSet { - address BaseFeeVault; - address GasPriceOracle; - address L1Block; - address L1FeeVault; - address L2CrossDomainMessenger; - address L2ERC721Bridge; - address L2StandardBridge; - address L2ToL1MessagePasser; - address SequencerFeeVault; - address OptimismMintableERC20Factory; - address OptimismMintableERC721Factory; - } - - /// @notice A mapping of chainid to a ContractSet of implementations. - mapping(uint256 => ContractSet) internal implementations; - - /// @notice A mapping of chainid to ContractSet of proxy addresses. - mapping(uint256 => ContractSet) internal proxies; - - /// @notice The expected versions for the contracts to be upgraded to. - string internal constant BaseFeeVault_Version = "1.1.0"; - string internal constant GasPriceOracle_Version = "1.0.0"; - string internal constant L1Block_Version = "1.0.0"; - string internal constant L1FeeVault_Version = "1.1.0"; - string internal constant L2CrossDomainMessenger_Version = "1.4.0"; - string internal constant L2ERC721Bridge_Version = "1.1.0"; - string internal constant L2StandardBridge_Version = "1.1.0"; - string internal constant L2ToL1MessagePasser_Version = "1.0.0"; - string internal constant SequencerFeeVault_Version = "1.1.0"; - string internal constant OptimismMintableERC20Factory_Version = "1.1.0"; - string internal constant OptimismMintableERC721Factory_Version = "1.2.0"; - - /// @notice Place the contract addresses in storage so they can be used when building calldata. - function setUp() external { - implementations[OP_GOERLI] = ContractSet({ - BaseFeeVault: 0x984eBeFb32A5c2862e92ce90EA0C81Ab69F026B5, - GasPriceOracle: 0xb43C412454f5D1e58Fe895B1a832B6700ADB5FA7, - L1Block: 0x6dF83A19647A398d48e77a6835F4A28EB7e2f7c0, - L1FeeVault: 0xC7d3389726374B8BFF53116585e20A483415f6f6, - L2CrossDomainMessenger: 0x3305a8110469eB7168870126b26BDAD56067C679, - L2ERC721Bridge: 0x5Eb0EE8d7f29856F50b5c97F9CF1225491404bF1, - L2StandardBridge: 0x26A77636eD9A97BBDE9740bed362bFCE5CaB8e10, - L2ToL1MessagePasser: 0x50CcA47c1e06084459dc83c9E964F4a158cB28Ae, - SequencerFeeVault: 0x9eE472aB07Aa92bAe20a9d3E2d29beD3248b9075, - OptimismMintableERC20Factory: 0x3F94732CFd48eE3597d7cEDfb853cfB2De31219c, - OptimismMintableERC721Factory: 0x13DcfC403eCEF3E8Eab66C00dC64e793dc40Be1d - }); - - proxies[OP_GOERLI] = ContractSet({ - BaseFeeVault: Predeploys.BASE_FEE_VAULT, - GasPriceOracle: Predeploys.GAS_PRICE_ORACLE, - L1Block: Predeploys.L1_BLOCK_ATTRIBUTES, - L1FeeVault: Predeploys.L1_FEE_VAULT, - L2CrossDomainMessenger: Predeploys.L2_CROSS_DOMAIN_MESSENGER, - L2ERC721Bridge: Predeploys.L2_ERC721_BRIDGE, - L2StandardBridge: Predeploys.L2_STANDARD_BRIDGE, - L2ToL1MessagePasser: Predeploys.L2_TO_L1_MESSAGE_PASSER, - SequencerFeeVault: Predeploys.SEQUENCER_FEE_WALLET, - OptimismMintableERC20Factory: Predeploys.OPTIMISM_MINTABLE_ERC20_FACTORY, - OptimismMintableERC721Factory: Predeploys.OPTIMISM_MINTABLE_ERC721_FACTORY - }); - } - - /// @notice Follow up assertions to ensure that the script ran to completion. - function _postCheck() internal view override { - ContractSet memory prox = getProxies(); - require(_versionHash(prox.BaseFeeVault) == keccak256(bytes(BaseFeeVault_Version)), "BaseFeeVault"); - require(_versionHash(prox.GasPriceOracle) == keccak256(bytes(GasPriceOracle_Version)), "GasPriceOracle"); - require(_versionHash(prox.L1Block) == keccak256(bytes(L1Block_Version)), "L1Block"); - require(_versionHash(prox.L1FeeVault) == keccak256(bytes(L1FeeVault_Version)), "L1FeeVault"); - require( - _versionHash(prox.L2CrossDomainMessenger) == keccak256(bytes(L2CrossDomainMessenger_Version)), - "L2CrossDomainMessenger" - ); - require(_versionHash(prox.L2ERC721Bridge) == keccak256(bytes(L2ERC721Bridge_Version)), "L2ERC721Bridge"); - require(_versionHash(prox.L2StandardBridge) == keccak256(bytes(L2StandardBridge_Version)), "L2StandardBridge"); - require( - _versionHash(prox.L2ToL1MessagePasser) == keccak256(bytes(L2ToL1MessagePasser_Version)), - "L2ToL1MessagePasser" - ); - require( - _versionHash(prox.SequencerFeeVault) == keccak256(bytes(SequencerFeeVault_Version)), "SequencerFeeVault" - ); - require( - _versionHash(prox.OptimismMintableERC20Factory) == keccak256(bytes(OptimismMintableERC20Factory_Version)), - "OptimismMintableERC20Factory" - ); - require( - _versionHash(prox.OptimismMintableERC721Factory) == keccak256(bytes(OptimismMintableERC721Factory_Version)), - "OptimismMintableERC721Factory" - ); - - // Check that the codehashes of all implementations match the proxies set implementations. - ContractSet memory impl = getImplementations(); - require(PROXY_ADMIN.getProxyImplementation(prox.BaseFeeVault).codehash == impl.BaseFeeVault.codehash); - require(PROXY_ADMIN.getProxyImplementation(prox.GasPriceOracle).codehash == impl.GasPriceOracle.codehash); - require(PROXY_ADMIN.getProxyImplementation(prox.L1Block).codehash == impl.L1Block.codehash); - require(PROXY_ADMIN.getProxyImplementation(prox.L1FeeVault).codehash == impl.L1FeeVault.codehash); - require( - PROXY_ADMIN.getProxyImplementation(prox.L2CrossDomainMessenger).codehash - == impl.L2CrossDomainMessenger.codehash - ); - require(PROXY_ADMIN.getProxyImplementation(prox.L2ERC721Bridge).codehash == impl.L2ERC721Bridge.codehash); - require(PROXY_ADMIN.getProxyImplementation(prox.L2StandardBridge).codehash == impl.L2StandardBridge.codehash); - require( - PROXY_ADMIN.getProxyImplementation(prox.L2ToL1MessagePasser).codehash == impl.L2ToL1MessagePasser.codehash - ); - require(PROXY_ADMIN.getProxyImplementation(prox.SequencerFeeVault).codehash == impl.SequencerFeeVault.codehash); - require( - PROXY_ADMIN.getProxyImplementation(prox.OptimismMintableERC20Factory).codehash - == impl.OptimismMintableERC20Factory.codehash - ); - require( - PROXY_ADMIN.getProxyImplementation(prox.OptimismMintableERC721Factory).codehash - == impl.OptimismMintableERC721Factory.codehash - ); - } - - /// @notice Test coverage of the logic. Should only run on goerli but other chains - /// could be added. - function test_script_succeeds() external skipWhenNotForking { - address _safe; - address _proxyAdmin; - - if (block.chainid == OP_GOERLI) { - _safe = 0xE534ccA2753aCFbcDBCeB2291F596fc60495257e; - _proxyAdmin = 0x4200000000000000000000000000000000000018; - } - - require(_safe != address(0) && _proxyAdmin != address(0)); - - address[] memory owners = IGnosisSafe(payable(_safe)).getOwners(); - - for (uint256 i; i < owners.length; i++) { - address owner = owners[i]; - vm.startBroadcast(owner); - bool success = _run(_safe, _proxyAdmin); - vm.stopBroadcast(); - - if (success) { - console.log("tx success"); - break; - } - } - - _postCheck(); - } - - /// @notice Builds the calldata that the multisig needs to make for the upgrade to happen. - /// A total of 9 calls are made to the proxy admin to upgrade the implementations - /// of the predeploys. - function buildCalldata(address _proxyAdmin) internal view override returns (bytes memory) { - IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](11); - - ContractSet memory impl = getImplementations(); - ContractSet memory prox = getProxies(); - - // Upgrade the BaseFeeVault - calls[0] = IMulticall3.Call3({ - target: _proxyAdmin, - allowFailure: false, - callData: abi.encodeCall(ProxyAdmin.upgrade, (payable(prox.BaseFeeVault), impl.BaseFeeVault)) - }); - - // Upgrade the GasPriceOracle - calls[1] = IMulticall3.Call3({ - target: _proxyAdmin, - allowFailure: false, - callData: abi.encodeCall(ProxyAdmin.upgrade, (payable(prox.GasPriceOracle), impl.GasPriceOracle)) - }); - - // Upgrade the L1Block predeploy - calls[2] = IMulticall3.Call3({ - target: _proxyAdmin, - allowFailure: false, - callData: abi.encodeCall(ProxyAdmin.upgrade, (payable(prox.L1Block), impl.L1Block)) - }); - - // Upgrade the L1FeeVault - calls[3] = IMulticall3.Call3({ - target: _proxyAdmin, - allowFailure: false, - callData: abi.encodeCall(ProxyAdmin.upgrade, (payable(prox.L1FeeVault), impl.L1FeeVault)) - }); - - // Upgrade the L2CrossDomainMessenger - calls[4] = IMulticall3.Call3({ - target: _proxyAdmin, - allowFailure: false, - callData: abi.encodeCall( - ProxyAdmin.upgrade, (payable(prox.L2CrossDomainMessenger), impl.L2CrossDomainMessenger) - ) - }); - - // Upgrade the L2ERC721Bridge - calls[5] = IMulticall3.Call3({ - target: _proxyAdmin, - allowFailure: false, - callData: abi.encodeCall(ProxyAdmin.upgrade, (payable(prox.L2ERC721Bridge), impl.L2ERC721Bridge)) - }); - - // Upgrade the L2StandardBridge - calls[6] = IMulticall3.Call3({ - target: _proxyAdmin, - allowFailure: false, - callData: abi.encodeCall(ProxyAdmin.upgrade, (payable(prox.L2StandardBridge), impl.L2StandardBridge)) - }); - - // Upgrade the L2ToL1MessagePasser - calls[7] = IMulticall3.Call3({ - target: _proxyAdmin, - allowFailure: false, - callData: abi.encodeCall(ProxyAdmin.upgrade, (payable(prox.L2ToL1MessagePasser), impl.L2ToL1MessagePasser)) - }); - - // Upgrade the SequencerFeeVault - calls[8] = IMulticall3.Call3({ - target: _proxyAdmin, - allowFailure: false, - callData: abi.encodeCall(ProxyAdmin.upgrade, (payable(prox.SequencerFeeVault), impl.SequencerFeeVault)) - }); - - // Upgrade the OptimismMintableERC20Factory - calls[9] = IMulticall3.Call3({ - target: _proxyAdmin, - allowFailure: false, - callData: abi.encodeCall( - ProxyAdmin.upgrade, (payable(prox.OptimismMintableERC20Factory), impl.OptimismMintableERC20Factory) - ) - }); - - // Upgrade the OptimismMintableERC721Factory - calls[10] = IMulticall3.Call3({ - target: _proxyAdmin, - allowFailure: false, - callData: abi.encodeCall( - ProxyAdmin.upgrade, (payable(prox.OptimismMintableERC721Factory), impl.OptimismMintableERC721Factory) - ) - }); - - return abi.encodeCall(IMulticall3.aggregate3, (calls)); - } - - /// @notice Returns the ContractSet that represents the implementations for a given network. - function getImplementations() internal view returns (ContractSet memory) { - ContractSet memory set = implementations[block.chainid]; - require(set.BaseFeeVault != address(0), "no implementations for this network"); - return set; - } - - /// @notice Returns the ContractSet that represents the proxies for a given network. - function getProxies() internal view returns (ContractSet memory) { - ContractSet memory set = proxies[block.chainid]; - require(set.BaseFeeVault != address(0), "no proxies for this network"); - return set; - } -} diff --git a/packages/contracts-bedrock/src/cannon/MIPS.sol b/packages/contracts-bedrock/src/cannon/MIPS.sol index c659e00f11c4..06a56e751a39 100644 --- a/packages/contracts-bedrock/src/cannon/MIPS.sol +++ b/packages/contracts-bedrock/src/cannon/MIPS.sol @@ -667,9 +667,9 @@ contract MIPS { // j-type j/jal if (opcode == 2 || opcode == 3) { - // TODO(CLI-4136): likely bug in original code: MIPS spec says this should be in the "current" region; - // a 256 MB aligned region (i.e. use top 4 bits of branch delay slot (pc+4)) - return handleJump(opcode == 2 ? 0 : 31, SE(insn & 0x03FFFFFF, 26) << 2); + // Take top 4 bits of the next PC (its 256 MB region), and concatenate with the 26-bit offset + uint32 target = (state.nextPC & 0xF0000000) | (insn & 0x03FFFFFF) << 2; + return handleJump(opcode == 2 ? 0 : 31, target); } // register fetch @@ -775,7 +775,6 @@ contract MIPS { unchecked { uint32 opcode = insn >> 26; // 6-bits uint32 func = insn & 0x3f; // 6-bits - // TODO(CLI-4136): deref the immed into a register if (opcode < 0x20) { // transform ArithLogI diff --git a/packages/contracts-bedrock/test/MIPS.t.sol b/packages/contracts-bedrock/test/MIPS.t.sol index ba19d03d8df8..fce05700b9ce 100644 --- a/packages/contracts-bedrock/test/MIPS.t.sol +++ b/packages/contracts-bedrock/test/MIPS.t.sol @@ -986,7 +986,7 @@ contract MIPS_Test is CommonTest { } function test_jump_succeeds() external { - uint16 label = 0x2; + uint32 label = 0x02_00_00_02; // set the 26th bit to assert no sign extension uint32 insn = uint32(0x08_00_00_00) | label; // j label (MIPS.State memory state, bytes memory proof) = constructMIPSState(0, insn, 0x4, 0); @@ -1000,23 +1000,51 @@ contract MIPS_Test is CommonTest { assertEq(postState, outputState(expect), "unexpected post state"); } + function test_jump_nonzeroRegion_succeeds() external { + uint32 pcRegion1 = 0x10000000; + uint32 label = 0x2; + uint32 insn = uint32(0x08_00_00_00) | label; // j label + (MIPS.State memory state, bytes memory proof) = constructMIPSState(pcRegion1, insn, 0x4, 0); + + MIPS.State memory expect; + expect.memRoot = state.memRoot; + expect.pc = state.nextPC; + expect.nextPC = (state.nextPC & 0xF0_00_00_00) | (uint32(label) << 2); + expect.step = state.step + 1; + + bytes memory witness = encodeState(state); + bytes32 postState = mips.step(witness, proof); + assertEq(postState, outputState(expect), "unexpected post state"); + } + function test_jal_succeeds() external { - uint32 pc = 0x0; - uint16 label = 0x2; + uint32 label = 0x02_00_00_02; // set the 26th bit to assert no sign extension uint32 insn = uint32(0x0c_00_00_00) | label; // jal label - (bytes32 memRoot, bytes memory proof) = ffi.getCannonMemoryProof(pc, insn); - - MIPS.State memory state; - state.pc = 0; - state.nextPC = 4; - state.memRoot = memRoot; + (MIPS.State memory state, bytes memory proof) = constructMIPSState(0, insn, 0x4, 0); MIPS.State memory expect; expect.memRoot = state.memRoot; expect.pc = state.nextPC; expect.nextPC = label << 2; expect.step = state.step + 1; - expect.registers[31] = state.pc + 8; + expect.registers[31] = state.pc + 8; // ra + + bytes32 postState = mips.step(encodeState(state), proof); + assertEq(postState, outputState(expect), "unexpected post state"); + } + + function test_jal_nonzeroRegion_succeeds() external { + uint32 pcRegion1 = 0x10000000; + uint32 label = 0x2; + uint32 insn = uint32(0x0c_00_00_00) | label; // jal label + (MIPS.State memory state, bytes memory proof) = constructMIPSState(pcRegion1, insn, 0x4, 0); + + MIPS.State memory expect; + expect.memRoot = state.memRoot; + expect.pc = state.nextPC; + expect.nextPC = (state.nextPC & 0xF0_00_00_00) | (uint32(label) << 2); + expect.step = state.step + 1; + expect.registers[31] = state.pc + 8; // ra bytes32 postState = mips.step(encodeState(state), proof); assertEq(postState, outputState(expect), "unexpected post state"); diff --git a/packages/core-utils/package.json b/packages/core-utils/package.json index a22ea5d4ca4c..dd7463a53e03 100644 --- a/packages/core-utils/package.json +++ b/packages/core-utils/package.json @@ -49,7 +49,7 @@ "node-fetch": "^2.6.7" }, "devDependencies": { - "@types/node": "^12.12.6", + "@types/node": "^20.5.0", "mocha": "^10.0.0" } } diff --git a/packages/sdk/.depcheckrc b/packages/sdk/.depcheckrc index 9cc95301075b..7e194b0f7e4e 100644 --- a/packages/sdk/.depcheckrc +++ b/packages/sdk/.depcheckrc @@ -10,5 +10,6 @@ ignores: [ "eslint-config-prettier", "eslint-plugin-prettier", "chai", + "ts-node", "typedoc" ] diff --git a/packages/sdk/package.json b/packages/sdk/package.json index 3765696dd1c6..337cbb2e84e2 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -49,6 +49,7 @@ "isomorphic-fetch": "^3.0.0", "mocha": "^10.0.0", "nyc": "^15.1.0", + "ts-node": "^10.9.1", "typedoc": "^0.22.13", "viem": "^0.3.30", "vitest": "^0.28.3", @@ -58,6 +59,10 @@ "@eth-optimism/contracts": "0.6.0", "@eth-optimism/contracts-bedrock": "0.16.0", "@eth-optimism/core-utils": "0.12.2", + "@types/chai": "^4.2.18", + "@types/chai-as-promised": "^7.1.4", + "@types/mocha": "^10.0.1", + "@types/node": "^20.5.0", "lodash": "^4.17.21", "merkletreejs": "^0.2.27", "rlp": "^2.2.7" diff --git a/packages/sdk/tasks/finalize-withdrawal.ts b/packages/sdk/tasks/finalize-withdrawal.ts index 866ede28c047..7c44a610b320 100644 --- a/packages/sdk/tasks/finalize-withdrawal.ts +++ b/packages/sdk/tasks/finalize-withdrawal.ts @@ -60,6 +60,22 @@ task('finalize-withdrawal', 'Finalize a withdrawal') 'OptimismPortalProxy' ) + if (Deployment__L1StandardBridgeProxy?.address === undefined) { + throw new Error('No L1StandardBridgeProxy deployment') + } + + if (Deployment__L1CrossDomainMessengerProxy?.address === undefined) { + throw new Error('No L1CrossDomainMessengerProxy deployment') + } + + if (Deployment__L2OutputOracleProxy?.address === undefined) { + throw new Error('No L2OutputOracleProxy deployment') + } + + if (Deployment__OptimismPortalProxy?.address === undefined) { + throw new Error('No OptimismPortalProxy deployment') + } + const messenger = new CrossChainMessenger({ l1SignerOrProvider: signer, l2SignerOrProvider: l2Signer, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8d442ef0104a..72a5b27bd213 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -17,19 +17,19 @@ importers: devDependencies: '@babel/eslint-parser': specifier: ^7.18.2 - version: 7.18.2(@babel/core@7.22.9)(eslint@8.43.0) + version: 7.18.2(@babel/core@7.22.10)(eslint@8.43.0) '@changesets/changelog-github': specifier: ^0.4.8 version: 0.4.8 '@nrwl/nx-cloud': specifier: latest - version: 16.3.0 + version: 16.0.5 '@types/chai': specifier: ^4.2.18 version: 4.2.21 '@types/chai-as-promised': specifier: ^7.1.4 - version: 7.1.5 + version: 7.1.4 '@types/mocha': specifier: ^10.0.1 version: 10.0.1 @@ -62,10 +62,10 @@ importers: version: 8.3.0(eslint@8.43.0) eslint-config-standard: specifier: ^16.0.3 - version: 16.0.3(eslint-plugin-import@2.26.0)(eslint-plugin-node@11.1.0)(eslint-plugin-promise@5.2.0)(eslint@8.43.0) + version: 16.0.3(eslint-plugin-import@2.28.0)(eslint-plugin-node@11.1.0)(eslint-plugin-promise@5.2.0)(eslint@8.43.0) eslint-plugin-import: specifier: ^2.26.0 - version: 2.26.0(@typescript-eslint/parser@5.60.1)(eslint@8.43.0) + version: 2.28.0(@typescript-eslint/parser@5.60.1)(eslint@8.43.0) eslint-plugin-jsdoc: specifier: ^35.1.2 version: 35.5.1(eslint@8.43.0) @@ -109,8 +109,8 @@ importers: specifier: ^10.2.0 version: 10.2.0 nx: - specifier: 15.6.0 - version: 15.6.0 + specifier: 16.6.0 + version: 16.6.0 nyc: specifier: ^15.1.0 version: 15.1.0 @@ -184,7 +184,10 @@ importers: version: 2.9.6(chai@4.3.7) ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@12.20.55)(typescript@5.1.6) + version: 10.9.1(@types/node@20.5.0)(typescript@5.1.6) + tsx: + specifier: ^3.12.7 + version: 3.12.7 packages/common-ts: dependencies: @@ -231,8 +234,8 @@ importers: specifier: ^5.3.0 version: 5.3.0 pino-sentry: - specifier: ^0.7.0 - version: 0.7.0 + specifier: ^0.14.0 + version: 0.14.0 prom-client: specifier: ^13.1.0 version: 13.2.0 @@ -265,14 +268,14 @@ importers: packages/contracts-bedrock: devDependencies: '@typescript-eslint/eslint-plugin': - specifier: ^5.60.1 - version: 5.60.1(@typescript-eslint/parser@5.60.1)(eslint@8.45.0)(typescript@5.1.6) + specifier: ^6.4.0 + version: 6.4.0(@typescript-eslint/parser@6.4.0)(eslint@8.47.0)(typescript@5.1.6) '@typescript-eslint/parser': - specifier: ^5.60.1 - version: 5.60.1(eslint@8.45.0)(typescript@5.1.6) - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@12.20.55)(typescript@5.1.6) + specifier: ^6.4.0 + version: 6.4.0(eslint@8.47.0)(typescript@5.1.6) + tsx: + specifier: ^3.12.7 + version: 3.12.7 typescript: specifier: ^5.1.6 version: 5.1.6 @@ -390,8 +393,8 @@ importers: version: 2.6.7 devDependencies: '@types/node': - specifier: ^12.12.6 - version: 12.20.20 + specifier: ^20.5.0 + version: 20.5.0 mocha: specifier: ^10.0.0 version: 10.0.0 @@ -449,6 +452,18 @@ importers: '@eth-optimism/core-utils': specifier: 0.12.2 version: link:../core-utils + '@types/chai': + specifier: ^4.2.18 + version: 4.3.5 + '@types/chai-as-promised': + specifier: ^7.1.4 + version: 7.1.5 + '@types/mocha': + specifier: ^10.0.1 + version: 10.0.1 + '@types/node': + specifier: ^20.5.0 + version: 20.5.0 lodash: specifier: ^4.17.21 version: 4.17.21 @@ -498,6 +513,9 @@ importers: nyc: specifier: ^15.1.0 version: 15.1.0 + ts-node: + specifier: ^10.9.1 + version: 10.9.1(@types/node@20.5.0)(typescript@5.1.6) typedoc: specifier: ^0.22.13 version: 0.22.13(typescript@5.1.6) @@ -533,6 +551,14 @@ packages: '@jridgewell/trace-mapping': 0.3.18 dev: true + /@babel/code-frame@7.22.10: + resolution: {integrity: sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.22.10 + chalk: 2.4.2 + dev: true + /@babel/code-frame@7.22.5: resolution: {integrity: sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==} engines: {node: '>=6.9.0'} @@ -544,6 +570,29 @@ packages: engines: {node: '>=6.9.0'} dev: true + /@babel/core@7.22.10: + resolution: {integrity: sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.1 + '@babel/code-frame': 7.22.10 + '@babel/generator': 7.22.10 + '@babel/helper-compilation-targets': 7.22.10 + '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.10) + '@babel/helpers': 7.22.10 + '@babel/parser': 7.22.10 + '@babel/template': 7.22.5 + '@babel/traverse': 7.22.10 + '@babel/types': 7.22.10 + convert-source-map: 1.9.0 + debug: 4.3.4(supports-color@8.1.1) + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/core@7.22.9: resolution: {integrity: sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==} engines: {node: '>=6.9.0'} @@ -567,27 +616,27 @@ packages: - supports-color dev: true - /@babel/eslint-parser@7.18.2(@babel/core@7.22.9)(eslint@8.43.0): + /@babel/eslint-parser@7.18.2(@babel/core@7.22.10)(eslint@8.43.0): resolution: {integrity: sha512-oFQYkE8SuH14+uR51JVAmdqwKYXGRjEXx7s+WiagVjqQ+HPE+nnwyF2qlVG8evUsUHmPcA+6YXMEDbIhEyQc5A==} engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} peerDependencies: '@babel/core': '>=7.11.0' eslint: ^7.5.0 || ^8.0.0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 eslint: 8.43.0 eslint-scope: 5.1.1 eslint-visitor-keys: 2.1.0 semver: 6.3.0 dev: true - /@babel/generator@7.22.5: - resolution: {integrity: sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA==} + /@babel/generator@7.22.10: + resolution: {integrity: sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.19 jsesc: 2.5.2 dev: true @@ -601,6 +650,17 @@ packages: jsesc: 2.5.2 dev: true + /@babel/helper-compilation-targets@7.22.10: + resolution: {integrity: sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/compat-data': 7.22.9 + '@babel/helper-validator-option': 7.22.5 + browserslist: 4.21.10 + lru-cache: 5.1.1 + semver: 6.3.1 + dev: true + /@babel/helper-compilation-targets@7.22.9(@babel/core@7.22.9): resolution: {integrity: sha512-7qYrNM6HjpnPHJbopxmb8hSPoZ0gsX8IvUS32JGVoy+pU9e5N0nLr1VjJoR6kA4d9dmGLxNYOjeB8sUDal2WMw==} engines: {node: '>=6.9.0'} @@ -615,24 +675,11 @@ packages: semver: 6.3.1 dev: true - /@babel/helper-environment-visitor@7.18.2: - resolution: {integrity: sha512-14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ==} - engines: {node: '>=6.9.0'} - dev: true - /@babel/helper-environment-visitor@7.22.5: resolution: {integrity: sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==} engines: {node: '>=6.9.0'} dev: true - /@babel/helper-function-name@7.17.9: - resolution: {integrity: sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.22.5 - '@babel/types': 7.22.5 - dev: true - /@babel/helper-function-name@7.22.5: resolution: {integrity: sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==} engines: {node: '>=6.9.0'} @@ -641,13 +688,6 @@ packages: '@babel/types': 7.22.5 dev: true - /@babel/helper-hoist-variables@7.16.7: - resolution: {integrity: sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.22.5 - dev: true - /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} @@ -662,13 +702,13 @@ packages: '@babel/types': 7.22.5 dev: true - /@babel/helper-module-transforms@7.22.9(@babel/core@7.22.9): + /@babel/helper-module-transforms@7.22.9(@babel/core@7.22.10): resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-module-imports': 7.22.5 '@babel/helper-simple-access': 7.22.5 @@ -676,15 +716,22 @@ packages: '@babel/helper-validator-identifier': 7.22.5 dev: true - /@babel/helper-simple-access@7.22.5: - resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + /@babel/helper-module-transforms@7.22.9(@babel/core@7.22.9): + resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==} engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 dependencies: - '@babel/types': 7.22.5 + '@babel/core': 7.22.9 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-module-imports': 7.22.5 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.5 dev: true - /@babel/helper-split-export-declaration@7.16.7: - resolution: {integrity: sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==} + /@babel/helper-simple-access@7.22.5: + resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.22.5 @@ -716,6 +763,17 @@ packages: engines: {node: '>=6.9.0'} dev: true + /@babel/helpers@7.22.10: + resolution: {integrity: sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.22.5 + '@babel/traverse': 7.22.10 + '@babel/types': 7.22.10 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/helpers@7.22.6: resolution: {integrity: sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==} engines: {node: '>=6.9.0'} @@ -727,6 +785,15 @@ packages: - supports-color dev: true + /@babel/highlight@7.22.10: + resolution: {integrity: sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.22.5 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: true + /@babel/highlight@7.22.5: resolution: {integrity: sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==} engines: {node: '>=6.9.0'} @@ -743,12 +810,12 @@ packages: '@babel/types': 7.22.5 dev: true - /@babel/parser@7.22.5: - resolution: {integrity: sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==} + /@babel/parser@7.22.10: + resolution: {integrity: sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 dev: true /@babel/parser@7.22.7: @@ -786,12 +853,12 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.22.5 - '@babel/generator': 7.22.5 - '@babel/helper-environment-visitor': 7.18.2 - '@babel/helper-function-name': 7.17.9 - '@babel/helper-hoist-variables': 7.16.7 - '@babel/helper-split-export-declaration': 7.16.7 - '@babel/parser': 7.22.5 + '@babel/generator': 7.22.9 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-function-name': 7.22.5 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.22.7 '@babel/types': 7.22.5 debug: 4.3.4(supports-color@8.1.1) globals: 11.12.0 @@ -799,6 +866,24 @@ packages: - supports-color dev: true + /@babel/traverse@7.22.10: + resolution: {integrity: sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.22.10 + '@babel/generator': 7.22.10 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-function-name': 7.22.5 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.22.10 + '@babel/types': 7.22.10 + debug: 4.3.4(supports-color@8.1.1) + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/traverse@7.22.8: resolution: {integrity: sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw==} engines: {node: '>=6.9.0'} @@ -817,6 +902,15 @@ packages: - supports-color dev: true + /@babel/types@7.22.10: + resolution: {integrity: sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.22.5 + '@babel/helper-validator-identifier': 7.22.5 + to-fast-properties: 2.0.0 + dev: true + /@babel/types@7.22.5: resolution: {integrity: sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==} engines: {node: '>=6.9.0'} @@ -839,7 +933,7 @@ packages: fs-extra: 7.0.1 lodash.startcase: 4.4.0 outdent: 0.5.0 - prettier: 2.8.1 + prettier: 2.8.8 resolve-from: 5.0.0 semver: 5.7.1 dev: false @@ -1025,7 +1119,7 @@ packages: '@changesets/types': 5.2.1 fs-extra: 7.0.1 human-id: 1.0.2 - prettier: 2.8.1 + prettier: 2.8.8 dev: false /@codechecks/client@0.1.11(typescript@5.1.6): @@ -1100,7 +1194,7 @@ packages: eth-ens-namehash: 2.0.8 solc: 0.4.26 testrpc: 0.0.1 - web3-utils: 1.5.2 + web3-utils: 1.10.1 dev: true /@ensdomains/resolver@0.2.4: @@ -1117,6 +1211,36 @@ packages: jsdoc-type-pratt-parser: 1.0.4 dev: true + /@esbuild-kit/cjs-loader@2.4.2: + resolution: {integrity: sha512-BDXFbYOJzT/NBEtp71cvsrGPwGAMGRB/349rwKuoxNSiKjPraNNnlK6MIIabViCjqZugu6j+xeMDlEkWdHHJSg==} + dependencies: + '@esbuild-kit/core-utils': 3.1.0 + get-tsconfig: 4.7.0 + dev: true + + /@esbuild-kit/core-utils@3.1.0: + resolution: {integrity: sha512-Uuk8RpCg/7fdHSceR1M6XbSZFSuMrxcePFuGgyvsBn+u339dk5OeL4jv2EojwTN2st/unJGsVm4qHWjWNmJ/tw==} + dependencies: + esbuild: 0.17.19 + source-map-support: 0.5.21 + dev: true + + /@esbuild-kit/esm-loader@2.5.5: + resolution: {integrity: sha512-Qwfvj/qoPbClxCRNuac1Du01r9gvNOT+pMYtJDapfB1eoGN1YlJ1BixLyL9WVENRx5RXgNLdfYdx/CuswlGhMw==} + dependencies: + '@esbuild-kit/core-utils': 3.1.0 + get-tsconfig: 4.7.0 + dev: true + + /@esbuild/android-arm64@0.17.19: + resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/android-arm64@0.18.15: resolution: {integrity: sha512-NI/gnWcMl2kXt1HJKOn2H69SYn4YNheKo6NZt1hyfKWdMbaGadxjZIkcj4Gjk/WPxnbFXs9/3HjGHaknCqjrww==} engines: {node: '>=12'} @@ -1135,6 +1259,15 @@ packages: dev: true optional: true + /@esbuild/android-arm@0.17.19: + resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/android-arm@0.18.15: resolution: {integrity: sha512-wlkQBWb79/jeEEoRmrxt/yhn5T1lU236OCNpnfRzaCJHZ/5gf82uYx1qmADTBWE0AR/v7FiozE1auk2riyQd3w==} engines: {node: '>=12'} @@ -1144,6 +1277,15 @@ packages: dev: true optional: true + /@esbuild/android-x64@0.17.19: + resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/android-x64@0.18.15: resolution: {integrity: sha512-FM9NQamSaEm/IZIhegF76aiLnng1kEsZl2eve/emxDeReVfRuRNmvT28l6hoFD9TsCxpK+i4v8LPpEj74T7yjA==} engines: {node: '>=12'} @@ -1153,6 +1295,15 @@ packages: dev: true optional: true + /@esbuild/darwin-arm64@0.17.19: + resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@esbuild/darwin-arm64@0.18.15: resolution: {integrity: sha512-XmrFwEOYauKte9QjS6hz60FpOCnw4zaPAb7XV7O4lx1r39XjJhTN7ZpXqJh4sN6q60zbP6QwAVVA8N/wUyBH/w==} engines: {node: '>=12'} @@ -1162,6 +1313,15 @@ packages: dev: true optional: true + /@esbuild/darwin-x64@0.17.19: + resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@esbuild/darwin-x64@0.18.15: resolution: {integrity: sha512-bMqBmpw1e//7Fh5GLetSZaeo9zSC4/CMtrVFdj+bqKPGJuKyfNJ5Nf2m3LknKZTS+Q4oyPiON+v3eaJ59sLB5A==} engines: {node: '>=12'} @@ -1171,6 +1331,15 @@ packages: dev: true optional: true + /@esbuild/freebsd-arm64@0.17.19: + resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/freebsd-arm64@0.18.15: resolution: {integrity: sha512-LoTK5N3bOmNI9zVLCeTgnk5Rk0WdUTrr9dyDAQGVMrNTh9EAPuNwSTCgaKOKiDpverOa0htPcO9NwslSE5xuLA==} engines: {node: '>=12'} @@ -1180,6 +1349,15 @@ packages: dev: true optional: true + /@esbuild/freebsd-x64@0.17.19: + resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/freebsd-x64@0.18.15: resolution: {integrity: sha512-62jX5n30VzgrjAjOk5orYeHFq6sqjvsIj1QesXvn5OZtdt5Gdj0vUNJy9NIpjfdNdqr76jjtzBJKf+h2uzYuTQ==} engines: {node: '>=12'} @@ -1189,6 +1367,15 @@ packages: dev: true optional: true + /@esbuild/linux-arm64@0.17.19: + resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-arm64@0.18.15: resolution: {integrity: sha512-BWncQeuWDgYv0jTNzJjaNgleduV4tMbQjmk/zpPh/lUdMcNEAxy+jvneDJ6RJkrqloG7tB9S9rCrtfk/kuplsQ==} engines: {node: '>=12'} @@ -1198,6 +1385,15 @@ packages: dev: true optional: true + /@esbuild/linux-arm@0.17.19: + resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-arm@0.18.15: resolution: {integrity: sha512-dT4URUv6ir45ZkBqhwZwyFV6cH61k8MttIwhThp2BGiVtagYvCToF+Bggyx2VI57RG4Fbt21f9TmXaYx0DeUJg==} engines: {node: '>=12'} @@ -1207,6 +1403,15 @@ packages: dev: true optional: true + /@esbuild/linux-ia32@0.17.19: + resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-ia32@0.18.15: resolution: {integrity: sha512-JPXORvgHRHITqfms1dWT/GbEY89u848dC08o0yK3fNskhp0t2TuNUnsrrSgOdH28ceb1hJuwyr8R/1RnyPwocw==} engines: {node: '>=12'} @@ -1225,6 +1430,15 @@ packages: dev: true optional: true + /@esbuild/linux-loong64@0.17.19: + resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-loong64@0.18.15: resolution: {integrity: sha512-kArPI0DopjJCEplsVj/H+2Qgzz7vdFSacHNsgoAKpPS6W/Ndh8Oe24HRDQ5QCu4jHgN6XOtfFfLpRx3TXv/mEg==} engines: {node: '>=12'} @@ -1234,6 +1448,15 @@ packages: dev: true optional: true + /@esbuild/linux-mips64el@0.17.19: + resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-mips64el@0.18.15: resolution: {integrity: sha512-b/tmngUfO02E00c1XnNTw/0DmloKjb6XQeqxaYuzGwHe0fHVgx5/D6CWi+XH1DvkszjBUkK9BX7n1ARTOst59w==} engines: {node: '>=12'} @@ -1243,6 +1466,15 @@ packages: dev: true optional: true + /@esbuild/linux-ppc64@0.17.19: + resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-ppc64@0.18.15: resolution: {integrity: sha512-KXPY69MWw79QJkyvUYb2ex/OgnN/8N/Aw5UDPlgoRtoEfcBqfeLodPr42UojV3NdkoO4u10NXQdamWm1YEzSKw==} engines: {node: '>=12'} @@ -1252,6 +1484,15 @@ packages: dev: true optional: true + /@esbuild/linux-riscv64@0.17.19: + resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-riscv64@0.18.15: resolution: {integrity: sha512-komK3NEAeeGRnvFEjX1SfVg6EmkfIi5aKzevdvJqMydYr9N+pRQK0PGJXk+bhoPZwOUgLO4l99FZmLGk/L1jWg==} engines: {node: '>=12'} @@ -1261,6 +1502,15 @@ packages: dev: true optional: true + /@esbuild/linux-s390x@0.17.19: + resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-s390x@0.18.15: resolution: {integrity: sha512-632T5Ts6gQ2WiMLWRRyeflPAm44u2E/s/TJvn+BP6M5mnHSk93cieaypj3VSMYO2ePTCRqAFXtuYi1yv8uZJNA==} engines: {node: '>=12'} @@ -1270,6 +1520,15 @@ packages: dev: true optional: true + /@esbuild/linux-x64@0.17.19: + resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-x64@0.18.15: resolution: {integrity: sha512-MsHtX0NgvRHsoOtYkuxyk4Vkmvk3PLRWfA4okK7c+6dT0Fu4SUqXAr9y4Q3d8vUf1VWWb6YutpL4XNe400iQ1g==} engines: {node: '>=12'} @@ -1279,6 +1538,15 @@ packages: dev: true optional: true + /@esbuild/netbsd-x64@0.17.19: + resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/netbsd-x64@0.18.15: resolution: {integrity: sha512-djST6s+jQiwxMIVQ5rlt24JFIAr4uwUnzceuFL7BQT4CbrRtqBPueS4GjXSiIpmwVri1Icj/9pFRJ7/aScvT+A==} engines: {node: '>=12'} @@ -1288,6 +1556,15 @@ packages: dev: true optional: true + /@esbuild/openbsd-x64@0.17.19: + resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/openbsd-x64@0.18.15: resolution: {integrity: sha512-naeRhUIvhsgeounjkF5mvrNAVMGAm6EJWiabskeE5yOeBbLp7T89tAEw0j5Jm/CZAwyLe3c67zyCWH6fsBLCpw==} engines: {node: '>=12'} @@ -1297,6 +1574,15 @@ packages: dev: true optional: true + /@esbuild/sunos-x64@0.17.19: + resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + /@esbuild/sunos-x64@0.18.15: resolution: {integrity: sha512-qkT2+WxyKbNIKV1AEhI8QiSIgTHMcRctzSaa/I3kVgMS5dl3fOeoqkb7pW76KwxHoriImhx7Mg3TwN/auMDsyQ==} engines: {node: '>=12'} @@ -1306,6 +1592,15 @@ packages: dev: true optional: true + /@esbuild/win32-arm64@0.17.19: + resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-arm64@0.18.15: resolution: {integrity: sha512-HC4/feP+pB2Vb+cMPUjAnFyERs+HJN7E6KaeBlFdBv799MhD+aPJlfi/yk36SED58J9TPwI8MAcVpJgej4ud0A==} engines: {node: '>=12'} @@ -1315,6 +1610,15 @@ packages: dev: true optional: true + /@esbuild/win32-ia32@0.17.19: + resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-ia32@0.18.15: resolution: {integrity: sha512-ovjwoRXI+gf52EVF60u9sSDj7myPixPxqzD5CmkEUmvs+W9Xd0iqISVBQn8xcx4ciIaIVlWCuTbYDOXOnOL44Q==} engines: {node: '>=12'} @@ -1324,6 +1628,15 @@ packages: dev: true optional: true + /@esbuild/win32-x64@0.17.19: + resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-x64@0.18.15: resolution: {integrity: sha512-imUxH9a3WJARyAvrG7srLyiK73XdX83NXQkjKvQ+7vPh3ZxoLrzvPkQKKw2DwZ+RV2ZB6vBfNHP8XScAmQC3aA==} engines: {node: '>=12'} @@ -1343,13 +1656,13 @@ packages: eslint-visitor-keys: 3.4.1 dev: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.45.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.47.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.45.0 + eslint: 8.47.0 eslint-visitor-keys: 3.4.1 dev: true @@ -1358,6 +1671,11 @@ packages: engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true + /@eslint-community/regexpp@4.6.2: + resolution: {integrity: sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + /@eslint/eslintrc@2.0.3: resolution: {integrity: sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1375,14 +1693,14 @@ packages: - supports-color dev: true - /@eslint/eslintrc@2.1.0: - resolution: {integrity: sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==} + /@eslint/eslintrc@2.1.2: + resolution: {integrity: sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 debug: 4.3.4(supports-color@8.1.1) espree: 9.6.1 - globals: 13.20.0 + globals: 13.21.0 ignore: 5.2.4 import-fresh: 3.3.0 js-yaml: 4.1.0 @@ -1397,8 +1715,8 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@eslint/js@8.44.0: - resolution: {integrity: sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==} + /@eslint/js@8.47.0: + resolution: {integrity: sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true @@ -1574,7 +1892,7 @@ packages: '@ethereum-waffle/ens': 3.4.4 ethers: 5.7.2 ganache-core: 2.13.2 - patch-package: 6.4.7 + patch-package: 6.5.1 postinstall-postinstall: 2.1.0 transitivePeerDependencies: - bufferutil @@ -1648,6 +1966,12 @@ packages: miller-rabin: 4.0.1 dev: true + /@ethereumjs/rlp@4.0.1: + resolution: {integrity: sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==} + engines: {node: '>=14'} + hasBin: true + dev: true + /@ethereumjs/tx@3.4.0: resolution: {integrity: sha512-WWUwg1PdjHKZZxPPo274ZuPsJCWV3SqATrEKQP1n2DrVYVP1aZIYpo/mFaA0BDoE0tIQmBeimRCEA0Lgil+yYw==} dependencies: @@ -1662,6 +1986,15 @@ packages: ethereumjs-util: 7.1.5 dev: true + /@ethereumjs/util@8.1.0: + resolution: {integrity: sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==} + engines: {node: '>=14'} + dependencies: + '@ethereumjs/rlp': 4.0.1 + ethereum-cryptography: 2.1.2 + micro-ftch: 0.3.1 + dev: true + /@ethereumjs/vm@5.6.0: resolution: {integrity: sha512-J2m/OgjjiGdWF2P9bj/4LnZQ1zRoZhY8mRNVw/N3tXliGI8ai1sI1mlDPkLpeUUM4vq54gH6n0ZlSpz8U/qlYQ==} dependencies: @@ -1702,7 +2035,6 @@ packages: /@ethersproject/abi@5.0.0-beta.153: resolution: {integrity: sha512-aXweZ1Z7vMNzJdLpR1CZUAIgnwjrZeUSvN9syCwlBaEBUFJmFY+HHnfuTI5vIhVs/mRkfJVrbEyl51JZQqyjAg==} - requiresBuild: true dependencies: '@ethersproject/address': 5.7.0 '@ethersproject/bignumber': 5.7.0 @@ -2180,7 +2512,7 @@ packages: '@jest/schemas': 29.6.0 '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 20.4.3 + '@types/node': 20.5.0 '@types/yargs': 17.0.24 chalk: 4.1.2 dev: true @@ -2224,10 +2556,17 @@ packages: '@jridgewell/sourcemap-codec': 1.4.14 dev: true + /@jridgewell/trace-mapping@0.3.19: + resolution: {integrity: sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==} + dependencies: + '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + /@jridgewell/trace-mapping@0.3.9: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: - '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/resolve-uri': 3.1.0 '@jridgewell/sourcemap-codec': 1.4.15 dev: true @@ -2281,7 +2620,7 @@ packages: p-reduce: 2.1.0 pacote: 15.1.1 pify: 5.0.0 - semver: 7.5.4 + semver: 7.5.3 slash: 3.0.0 validate-npm-package-license: 3.0.4 validate-npm-package-name: 4.0.0 @@ -2376,7 +2715,7 @@ packages: resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} dependencies: '@babel/runtime': 7.20.7 - '@types/node': 12.20.20 + '@types/node': 12.20.55 find-up: 4.1.0 fs-extra: 8.1.0 dev: false @@ -2591,7 +2930,7 @@ packages: promise-all-reject-late: 1.0.1 promise-call-limit: 1.0.2 read-package-json-fast: 3.0.2 - semver: 7.5.4 + semver: 7.5.3 ssri: 10.0.4 treeverse: 3.0.0 walk-up-path: 1.0.0 @@ -2605,14 +2944,14 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: '@gar/promisify': 1.1.3 - semver: 7.5.4 + semver: 7.5.3 dev: true /@npmcli/fs@3.1.0: resolution: {integrity: sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - semver: 7.5.4 + semver: 7.5.3 dev: true /@npmcli/git@4.1.0: @@ -2625,7 +2964,7 @@ packages: proc-log: 3.0.0 promise-inflight: 1.0.1 promise-retry: 2.0.1 - semver: 7.5.4 + semver: 7.5.3 which: 3.0.1 transitivePeerDependencies: - bluebird @@ -2657,7 +2996,7 @@ packages: cacache: 17.1.3 json-parse-even-better-errors: 3.0.0 pacote: 15.2.0 - semver: 7.5.4 + semver: 7.5.3 transitivePeerDependencies: - bluebird - supports-color @@ -2748,16 +3087,6 @@ packages: - supports-color dev: true - /@nrwl/cli@15.6.0: - resolution: {integrity: sha512-PMoD3Nqy8opFUxUqBTysBIobWtuE83h7/Z7uONRMLrh/+OmO8rcEEmxBAg74r9nO/xCCOsttzSbfTMGfI7yS4w==} - dependencies: - nx: 15.6.0 - transitivePeerDependencies: - - '@swc-node/register' - - '@swc/core' - - debug - dev: true - /@nrwl/cli@15.9.4: resolution: {integrity: sha512-FoiGFCLpb/r4HXCM3KYqT0xteP+MRV6bIHjz3bdPHIDLmBNQQnRRaV2K47jtJ6zjh1eOU5UHKyDtDDYf80Idpw==} dependencies: @@ -2781,10 +3110,10 @@ packages: tslib: 2.6.0 dev: true - /@nrwl/nx-cloud@16.3.0: - resolution: {integrity: sha512-nJrGsVufhY74KcP7kM7BqFOGAoO5OEF6+wfiM295DgmEG9c1yW+x5QiQaC42K9SWYn/eKQa1X7466ZA5lynXoQ==} + /@nrwl/nx-cloud@16.0.5: + resolution: {integrity: sha512-1p82ym8WE9ziejwgPslstn19iV/VkHfHfKr/5YOnfCHQS+NxUf92ogcYhHXtqWLblVZ9Zs4W4pkSXK4e04wCmQ==} dependencies: - nx-cloud: 16.3.0 + nx-cloud: 16.0.5 transitivePeerDependencies: - debug dev: true @@ -2870,28 +3199,119 @@ packages: dev: true optional: true - /@nrwl/tao@15.6.0: - resolution: {integrity: sha512-bsPLptkvlVp+uuDlBOby4f8TsPOf2zDz8+BQQI1Tuq/DbSkm/2+zsPBFn9WIyPBS855E0B9O95ixxpoF6mS5eg==} + /@nrwl/tao@15.9.4: + resolution: {integrity: sha512-m90iz8UsXx1rgPm1dxsBQjSrCViWYZIrp8bpwjSCW24j3kifyilYSXGuKaRwZwUn7eNmH/kZcI9/8qeGIPF4Sg==} hasBin: true dependencies: - nx: 15.6.0 + nx: 15.9.4 transitivePeerDependencies: - '@swc-node/register' - '@swc/core' - debug dev: true - /@nrwl/tao@15.9.4: - resolution: {integrity: sha512-m90iz8UsXx1rgPm1dxsBQjSrCViWYZIrp8bpwjSCW24j3kifyilYSXGuKaRwZwUn7eNmH/kZcI9/8qeGIPF4Sg==} + /@nrwl/tao@16.6.0: + resolution: {integrity: sha512-NQkDhmzlR1wMuYzzpl4XrKTYgyIzELdJ+dVrNKf4+p4z5WwKGucgRBj60xMQ3kdV25IX95/fmMDB8qVp/pNQ0Q==} hasBin: true dependencies: - nx: 15.9.4 + nx: 16.6.0 + tslib: 2.6.0 transitivePeerDependencies: - '@swc-node/register' - '@swc/core' - debug dev: true + /@nx/nx-darwin-arm64@16.6.0: + resolution: {integrity: sha512-8nJuqcWG/Ob39rebgPLpv2h/V46b9Rqqm/AGH+bYV9fNJpxgMXclyincbMIWvfYN2tW+Vb9DusiTxV6RPrLapA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-darwin-x64@16.6.0: + resolution: {integrity: sha512-T4DV0/2PkPZjzjmsmQEyjPDNBEKc4Rhf7mbIZlsHXj27BPoeNjEcbjtXKuOZHZDIpGFYECGT/sAF6C2NVYgmxw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-freebsd-x64@16.6.0: + resolution: {integrity: sha512-Ck/yejYgp65dH9pbExKN/X0m22+xS3rWF1DBr2LkP6j1zJaweRc3dT83BWgt5mCjmcmZVk3J8N01AxULAzUAqA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-linux-arm-gnueabihf@16.6.0: + resolution: {integrity: sha512-eyk/R1mBQ3X0PCSS+Cck3onvr3wmZVmM/+x0x9Ai02Vm6q9Eq6oZ1YtZGQsklNIyw1vk2WV9rJCStfu9mLecEw==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-linux-arm64-gnu@16.6.0: + resolution: {integrity: sha512-S0qFFdQFDmBIEZqBAJl4K47V3YuMvDvthbYE0enXrXApWgDApmhtxINXSOjSus7DNq9kMrgtSDGkBmoBot61iw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-linux-arm64-musl@16.6.0: + resolution: {integrity: sha512-TXWY5VYtg2wX/LWxyrUkDVpqCyJHF7fWoVMUSlFe+XQnk9wp/yIbq2s0k3h8I4biYb6AgtcVqbR4ID86lSNuMA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-linux-x64-gnu@16.6.0: + resolution: {integrity: sha512-qQIpSVN8Ij4oOJ5v+U+YztWJ3YQkeCIevr4RdCE9rDilfq9RmBD94L4VDm7NRzYBuQL8uQxqWzGqb7ZW4mfHpw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-linux-x64-musl@16.6.0: + resolution: {integrity: sha512-EYOHe11lfVfEfZqSAIa1c39mx2Obr4mqd36dBZx+0UKhjrcmWiOdsIVYMQSb3n0TqB33BprjI4p9ZcFSDuoNbA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-win32-arm64-msvc@16.6.0: + resolution: {integrity: sha512-f1BmuirOrsAGh5+h/utkAWNuqgohvBoekQgMxYcyJxSkFN+pxNG1U68P59Cidn0h9mkyonxGVCBvWwJa3svVFA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-win32-x64-msvc@16.6.0: + resolution: {integrity: sha512-UmTTjFLpv4poVZE3RdUHianU8/O9zZYBiAnTRq5spwSDwxJHnLTZBUxFFf3ztCxeHOUIfSyW9utpGfCMCptzvQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@octokit/auth-token@3.0.4: resolution: {integrity: sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ==} engines: {node: '>= 14'} @@ -3163,12 +3583,27 @@ packages: '@noble/hashes': 1.3.0 '@scure/base': 1.1.1 + /@scure/bip32@1.3.1: + resolution: {integrity: sha512-osvveYtyzdEVbt3OfwwXFr4P2iVBL5u1Q3q4ONBfDY/UpOuXmOlbgwc1xECEboY8wIays8Yt6onaWMUdUbfl0A==} + dependencies: + '@noble/curves': 1.1.0 + '@noble/hashes': 1.3.1 + '@scure/base': 1.1.1 + dev: true + /@scure/bip39@1.2.0: resolution: {integrity: sha512-SX/uKq52cuxm4YFXWFaVByaSHJh2w3BnokVSeUJVCv6K7WulT9u2BuNRBhuFl8vAuYnzx9bEu9WgpcNYTrYieg==} dependencies: '@noble/hashes': 1.3.0 '@scure/base': 1.1.1 + /@scure/bip39@1.2.1: + resolution: {integrity: sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==} + dependencies: + '@noble/hashes': 1.3.1 + '@scure/base': 1.1.1 + dev: true + /@sentry/core@5.30.0: resolution: {integrity: sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==} engines: {node: '>=6'} @@ -3332,7 +3767,12 @@ packages: /@sindresorhus/is@0.14.0: resolution: {integrity: sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==} engines: {node: '>=6'} - requiresBuild: true + dev: true + optional: true + + /@sindresorhus/is@4.6.0: + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + engines: {node: '>=10'} dev: true optional: true @@ -3491,12 +3931,19 @@ packages: /@szmarczak/http-timer@1.1.2: resolution: {integrity: sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==} engines: {node: '>=6'} - requiresBuild: true dependencies: defer-to-connect: 1.1.3 dev: true optional: true + /@szmarczak/http-timer@4.0.6: + resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} + engines: {node: '>=10'} + dependencies: + defer-to-connect: 2.0.1 + dev: true + optional: true + /@tanstack/query-core@4.29.25: resolution: {integrity: sha512-DI4y4VC6Uw4wlTpOocEXDky69xeOScME1ezLKsj+hOk7DguC9fkqXtp6Hn39BVb9y0b5IBrY67q6kIX623Zj4Q==} @@ -3730,27 +4177,43 @@ packages: /@types/bn.js@4.11.6: resolution: {integrity: sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==} dependencies: - '@types/node': 20.4.3 + '@types/node': 20.5.0 dev: true /@types/bn.js@5.1.0: resolution: {integrity: sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA==} dependencies: - '@types/node': 20.4.3 + '@types/node': 20.5.0 dev: true /@types/body-parser@1.19.1: resolution: {integrity: sha512-a6bTJ21vFOGIkwM0kzh9Yr89ziVxq4vYH2fQ6N8AeipEzai/cFK6aGMArIkUeIdRIgpwQa+2bXiLuUJCpSf2Cg==} dependencies: '@types/connect': 3.4.35 - '@types/node': 20.4.3 + '@types/node': 20.5.0 + dev: true + + /@types/cacheable-request@6.0.3: + resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} + dependencies: + '@types/http-cache-semantics': 4.0.1 + '@types/keyv': 3.1.4 + '@types/node': 20.5.0 + '@types/responselike': 1.0.0 + dev: true + optional: true + + /@types/chai-as-promised@7.1.4: + resolution: {integrity: sha512-1y3L1cHePcIm5vXkh1DSGf/zQq5n5xDKG1fpCvf18+uOkpce0Z1ozNFPkyWsVswK7ntN1sZBw3oU6gmN+pDUcA==} + dependencies: + '@types/chai': 4.3.5 dev: true /@types/chai-as-promised@7.1.5: resolution: {integrity: sha512-jStwss93SITGBwt/niYrkf2C+/1KTeZCZl1LaeezTlqppAKeoQC7jxyqYuP72sxBGKCIbw7oHgbYssIRzT5FCQ==} dependencies: '@types/chai': 4.3.5 - dev: true + dev: false /@types/chai-subset@1.3.3: resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==} @@ -3764,12 +4227,11 @@ packages: /@types/chai@4.3.5: resolution: {integrity: sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==} - dev: true /@types/connect@3.4.35: resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} dependencies: - '@types/node': 20.4.3 + '@types/node': 20.5.0 /@types/dateformat@5.0.0: resolution: {integrity: sha512-SZg4JdHIWHQGEokbYGZSDvo5wA4TLYPXaqhigs/wH+REDOejcJzgH+qyY+HtEUtWOZxEUkbhbdYPqQDiEgrXeA==} @@ -3783,7 +4245,7 @@ packages: /@types/express-serve-static-core@4.17.24: resolution: {integrity: sha512-3UJuW+Qxhzwjq3xhwXm2onQcFHn76frIYVbTu+kn24LFxI+dEhdfISDFovPB8VpEgW8oQCTpRuCe+0zJxB7NEA==} dependencies: - '@types/node': 20.4.3 + '@types/node': 20.5.0 '@types/qs': 6.9.7 '@types/range-parser': 1.2.4 dev: true @@ -3801,9 +4263,14 @@ packages: resolution: {integrity: sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 20.4.3 + '@types/node': 20.5.0 dev: true + /@types/http-cache-semantics@4.0.1: + resolution: {integrity: sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==} + dev: true + optional: true + /@types/is-ci@3.0.0: resolution: {integrity: sha512-Q0Op0hdWbYd1iahB+IFNQcWXFq4O0Q5MwQP7uN0souuQ4rPg1vEYcnIOfr1gY+M+6rc8FGoRaBO1mOOvL29sEQ==} dependencies: @@ -3837,15 +4304,18 @@ packages: resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} dev: true + /@types/json-schema@7.0.12: + resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==} + dev: true + /@types/json5@0.0.29: resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} dev: true /@types/keyv@3.1.4: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} - requiresBuild: true dependencies: - '@types/node': 12.20.55 + '@types/node': 20.5.0 dev: true optional: true @@ -3858,7 +4328,7 @@ packages: dependencies: '@types/abstract-leveldown': 5.0.2 '@types/level-errors': 3.0.0 - '@types/node': 20.4.3 + '@types/node': 20.5.0 dev: true /@types/lru-cache@5.1.1: @@ -3889,17 +4359,16 @@ packages: /@types/mkdirp@0.5.2: resolution: {integrity: sha512-U5icWpv7YnZYGsN4/cmh3WD2onMY0aJIiTE6+51TwJCttdHvtCYmkBNOobHlXwrJRL0nkH9jH4kD+1FAdMN4Tg==} dependencies: - '@types/node': 12.20.55 + '@types/node': 20.5.0 dev: true /@types/mocha@10.0.1: resolution: {integrity: sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q==} - dev: true /@types/morgan@1.9.3: resolution: {integrity: sha512-BiLcfVqGBZCyNCnCH3F4o2GmDLrpy0HeBVnNlyZG4fo88ZiE9SoiBe3C+2ezuwbjlEyT+PDZ17//TAlRxAn75Q==} dependencies: - '@types/node': 17.0.21 + '@types/node': 20.5.0 dev: true /@types/ms@0.7.31: @@ -3908,7 +4377,7 @@ packages: /@types/node-fetch@2.6.4: resolution: {integrity: sha512-1ZX9fcN4Rvkvgv4E6PAY5WXUFWFcRWxZa3EW83UjycOB9ljJCedb2CupIP4RZMEwF/M3eTcCihbBRgwtGbg5Rg==} dependencies: - '@types/node': 12.20.55 + '@types/node': 20.5.0 form-data: 3.0.1 dev: true @@ -3918,16 +4387,13 @@ packages: /@types/node@12.20.20: resolution: {integrity: sha512-kqmxiJg4AT7rsSPIhO6eoBIx9mNwwpeH42yjtgQh6X2ANSpLpvToMXv+LMFdfxpwG1FZXZ41OGZMiUAtbBLEvg==} + dev: true /@types/node@12.20.55: resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - /@types/node@17.0.21: - resolution: {integrity: sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ==} - dev: true - - /@types/node@20.4.3: - resolution: {integrity: sha512-Yu3+r4Mn/iY6Mf0aihncZQ1qOjOUrCiodbHHY1hds5O+7BbKp9t+Li7zLO13zO8j9L2C6euz8xsYQP0rjGvVXw==} + /@types/node@20.5.0: + resolution: {integrity: sha512-Mgq7eCtoTjT89FqNoTzzXg2XvCi5VMhRV6+I2aYanc6kQCBImeNaAYRs/DyoVqk1YEUJK5gN9VO7HRIdz4Wo3Q==} /@types/normalize-package-data@2.4.1: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} @@ -3939,7 +4405,7 @@ packages: /@types/pbkdf2@3.1.0: resolution: {integrity: sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==} dependencies: - '@types/node': 20.4.3 + '@types/node': 20.5.0 dev: true /@types/pino-multi-stream@5.1.2: @@ -3957,13 +4423,13 @@ packages: /@types/pino-std-serializers@2.4.1: resolution: {integrity: sha512-17XcksO47M24IVTVKPeAByWUd3Oez7EbIjXpSbzMPhXVzgjGtrOa49gKBwxH9hb8dKv58OelsWQ+A1G1l9S3wQ==} dependencies: - '@types/node': 17.0.21 + '@types/node': 20.5.0 dev: true /@types/pino@6.3.11: resolution: {integrity: sha512-S7+fLONqSpHeW9d7TApUqO6VN47KYgOXhCNKwGBVLHObq8HhaAYlVqUNdfnvoXjCMiwE5xcPm/5R2ZUh8bgaXQ==} dependencies: - '@types/node': 17.0.21 + '@types/node': 20.5.0 '@types/pino-pretty': 4.7.1 '@types/pino-std-serializers': 2.4.1 sonic-boom: 2.1.0 @@ -3973,6 +4439,10 @@ packages: resolution: {integrity: sha512-eI5Yrz3Qv4KPUa/nSIAi0h+qX0XyewOliug5F2QAtuRg6Kjg6jfmxe1GIwoIRhZspD1A0RP8ANrPwvEXXtRFog==} dev: true + /@types/prettier@2.7.3: + resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} + dev: true + /@types/prop-types@15.7.5: resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} dev: false @@ -4002,14 +4472,13 @@ packages: /@types/resolve@0.0.8: resolution: {integrity: sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==} dependencies: - '@types/node': 12.20.55 + '@types/node': 20.5.0 dev: true /@types/responselike@1.0.0: resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} - requiresBuild: true dependencies: - '@types/node': 12.20.55 + '@types/node': 20.5.0 dev: true optional: true @@ -4020,7 +4489,7 @@ packages: /@types/secp256k1@4.0.3: resolution: {integrity: sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==} dependencies: - '@types/node': 20.4.3 + '@types/node': 20.5.0 dev: true /@types/seedrandom@3.0.1: @@ -4035,11 +4504,15 @@ packages: resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} dev: true + /@types/semver@7.5.0: + resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==} + dev: true + /@types/serve-static@1.13.10: resolution: {integrity: sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==} dependencies: '@types/mime': 1.3.2 - '@types/node': 20.4.3 + '@types/node': 20.5.0 dev: true /@types/sinon-chai@3.2.5: @@ -4086,7 +4559,7 @@ packages: /@types/ws@7.4.7: resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==} dependencies: - '@types/node': 12.20.55 + '@types/node': 20.5.0 /@types/yargs-parser@21.0.0: resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} @@ -4126,29 +4599,30 @@ packages: - supports-color dev: true - /@typescript-eslint/eslint-plugin@5.60.1(@typescript-eslint/parser@5.60.1)(eslint@8.45.0)(typescript@5.1.6): - resolution: {integrity: sha512-KSWsVvsJsLJv3c4e73y/Bzt7OpqMCADUO846bHcuWYSYM19bldbAeDv7dYyV0jwkbMfJ2XdlzwjhXtuD7OY6bw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/eslint-plugin@6.4.0(@typescript-eslint/parser@6.4.0)(eslint@8.47.0)(typescript@5.1.6): + resolution: {integrity: sha512-62o2Hmc7Gs3p8SLfbXcipjWAa6qk2wZGChXG2JbBtYpwSRmti/9KHLqfbLs9uDigOexG+3PaQ9G2g3201FWLKg==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - '@typescript-eslint/parser': ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha + eslint: ^7.0.0 || ^8.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.5.1 - '@typescript-eslint/parser': 5.60.1(eslint@8.45.0)(typescript@5.1.6) - '@typescript-eslint/scope-manager': 5.60.1 - '@typescript-eslint/type-utils': 5.60.1(eslint@8.45.0)(typescript@5.1.6) - '@typescript-eslint/utils': 5.60.1(eslint@8.45.0)(typescript@5.1.6) + '@eslint-community/regexpp': 4.6.2 + '@typescript-eslint/parser': 6.4.0(eslint@8.47.0)(typescript@5.1.6) + '@typescript-eslint/scope-manager': 6.4.0 + '@typescript-eslint/type-utils': 6.4.0(eslint@8.47.0)(typescript@5.1.6) + '@typescript-eslint/utils': 6.4.0(eslint@8.47.0)(typescript@5.1.6) + '@typescript-eslint/visitor-keys': 6.4.0 debug: 4.3.4(supports-color@8.1.1) - eslint: 8.45.0 - grapheme-splitter: 1.0.4 - ignore: 5.2.4 - natural-compare-lite: 1.4.0 - semver: 7.5.3 - tsutils: 3.21.0(typescript@5.1.6) + eslint: 8.47.0 + graphemer: 1.4.0 + ignore: 5.2.4 + natural-compare: 1.4.0 + semver: 7.5.4 + ts-api-utils: 1.0.1(typescript@5.1.6) typescript: 5.1.6 transitivePeerDependencies: - supports-color @@ -4174,21 +4648,22 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@5.60.1(eslint@8.45.0)(typescript@5.1.6): - resolution: {integrity: sha512-pHWlc3alg2oSMGwsU/Is8hbm3XFbcrb6P5wIxcQW9NsYBfnrubl/GhVVD/Jm/t8HXhA2WncoIRfBtnCgRGV96Q==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/parser@6.4.0(eslint@8.47.0)(typescript@5.1.6): + resolution: {integrity: sha512-I1Ah1irl033uxjxO9Xql7+biL3YD7w9IU8zF+xlzD/YxY6a4b7DYA08PXUUCbm2sEljwJF6ERFy2kTGAGcNilg==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + eslint: ^7.0.0 || ^8.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.60.1 - '@typescript-eslint/types': 5.60.1 - '@typescript-eslint/typescript-estree': 5.60.1(typescript@5.1.6) + '@typescript-eslint/scope-manager': 6.4.0 + '@typescript-eslint/types': 6.4.0 + '@typescript-eslint/typescript-estree': 6.4.0(typescript@5.1.6) + '@typescript-eslint/visitor-keys': 6.4.0 debug: 4.3.4(supports-color@8.1.1) - eslint: 8.45.0 + eslint: 8.47.0 typescript: 5.1.6 transitivePeerDependencies: - supports-color @@ -4202,6 +4677,14 @@ packages: '@typescript-eslint/visitor-keys': 5.60.1 dev: true + /@typescript-eslint/scope-manager@6.4.0: + resolution: {integrity: sha512-TUS7vaKkPWDVvl7GDNHFQMsMruD+zhkd3SdVW0d7b+7Zo+bd/hXJQ8nsiUZMi1jloWo6c9qt3B7Sqo+flC1nig==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.4.0 + '@typescript-eslint/visitor-keys': 6.4.0 + dev: true + /@typescript-eslint/type-utils@5.60.1(eslint@8.43.0)(typescript@5.1.6): resolution: {integrity: sha512-vN6UztYqIu05nu7JqwQGzQKUJctzs3/Hg7E2Yx8rz9J+4LgtIDFWjjl1gm3pycH0P3mHAcEUBd23LVgfrsTR8A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -4222,21 +4705,21 @@ packages: - supports-color dev: true - /@typescript-eslint/type-utils@5.60.1(eslint@8.45.0)(typescript@5.1.6): - resolution: {integrity: sha512-vN6UztYqIu05nu7JqwQGzQKUJctzs3/Hg7E2Yx8rz9J+4LgtIDFWjjl1gm3pycH0P3mHAcEUBd23LVgfrsTR8A==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/type-utils@6.4.0(eslint@8.47.0)(typescript@5.1.6): + resolution: {integrity: sha512-TvqrUFFyGY0cX3WgDHcdl2/mMCWCDv/0thTtx/ODMY1QhEiyFtv/OlLaNIiYLwRpAxAtOLOY9SUf1H3Q3dlwAg==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: '*' + eslint: ^7.0.0 || ^8.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.60.1(typescript@5.1.6) - '@typescript-eslint/utils': 5.60.1(eslint@8.45.0)(typescript@5.1.6) + '@typescript-eslint/typescript-estree': 6.4.0(typescript@5.1.6) + '@typescript-eslint/utils': 6.4.0(eslint@8.47.0)(typescript@5.1.6) debug: 4.3.4(supports-color@8.1.1) - eslint: 8.45.0 - tsutils: 3.21.0(typescript@5.1.6) + eslint: 8.47.0 + ts-api-utils: 1.0.1(typescript@5.1.6) typescript: 5.1.6 transitivePeerDependencies: - supports-color @@ -4247,6 +4730,11 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true + /@typescript-eslint/types@6.4.0: + resolution: {integrity: sha512-+FV9kVFrS7w78YtzkIsNSoYsnOtrYVnKWSTVXoL1761CsCRv5wpDOINgsXpxD67YCLZtVQekDDyaxfjVWUJmmg==} + engines: {node: ^16.0.0 || >=18.0.0} + dev: true + /@typescript-eslint/typescript-estree@5.60.1(typescript@5.1.6): resolution: {integrity: sha512-hkX70J9+2M2ZT6fhti5Q2FoU9zb+GeZK2SLP1WZlvUDqdMbEKhexZODD1WodNRyO8eS+4nScvT0dts8IdaBzfw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -4261,13 +4749,34 @@ packages: debug: 4.3.4(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 - semver: 7.5.3 + semver: 7.5.4 tsutils: 3.21.0(typescript@5.1.6) typescript: 5.1.6 transitivePeerDependencies: - supports-color dev: true + /@typescript-eslint/typescript-estree@6.4.0(typescript@5.1.6): + resolution: {integrity: sha512-iDPJArf/K2sxvjOR6skeUCNgHR/tCQXBsa+ee1/clRKr3olZjZ/dSkXPZjG6YkPtnW6p5D1egeEPMCW6Gn4yLA==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 6.4.0 + '@typescript-eslint/visitor-keys': 6.4.0 + debug: 4.3.4(supports-color@8.1.1) + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.5.4 + ts-api-utils: 1.0.1(typescript@5.1.6) + typescript: 5.1.6 + transitivePeerDependencies: + - supports-color + dev: true + /@typescript-eslint/utils@5.60.1(eslint@8.43.0)(typescript@5.1.6): resolution: {integrity: sha512-tiJ7FFdFQOWssFa3gqb94Ilexyw0JVxj6vBzaSpfN/8IhoKkDuSAenUKvsSHw2A/TMpJb26izIszTXaqygkvpQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -4282,27 +4791,26 @@ packages: '@typescript-eslint/typescript-estree': 5.60.1(typescript@5.1.6) eslint: 8.43.0 eslint-scope: 5.1.1 - semver: 7.5.3 + semver: 7.5.4 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/utils@5.60.1(eslint@8.45.0)(typescript@5.1.6): - resolution: {integrity: sha512-tiJ7FFdFQOWssFa3gqb94Ilexyw0JVxj6vBzaSpfN/8IhoKkDuSAenUKvsSHw2A/TMpJb26izIszTXaqygkvpQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/utils@6.4.0(eslint@8.47.0)(typescript@5.1.6): + resolution: {integrity: sha512-BvvwryBQpECPGo8PwF/y/q+yacg8Hn/2XS+DqL/oRsOPK+RPt29h5Ui5dqOKHDlbXrAeHUTnyG3wZA0KTDxRZw==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.45.0) - '@types/json-schema': 7.0.11 - '@types/semver': 7.3.13 - '@typescript-eslint/scope-manager': 5.60.1 - '@typescript-eslint/types': 5.60.1 - '@typescript-eslint/typescript-estree': 5.60.1(typescript@5.1.6) - eslint: 8.45.0 - eslint-scope: 5.1.1 - semver: 7.5.3 + eslint: ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.47.0) + '@types/json-schema': 7.0.12 + '@types/semver': 7.5.0 + '@typescript-eslint/scope-manager': 6.4.0 + '@typescript-eslint/types': 6.4.0 + '@typescript-eslint/typescript-estree': 6.4.0(typescript@5.1.6) + eslint: 8.47.0 + semver: 7.5.4 transitivePeerDependencies: - supports-color - typescript @@ -4313,7 +4821,15 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: '@typescript-eslint/types': 5.60.1 - eslint-visitor-keys: 3.4.1 + eslint-visitor-keys: 3.4.3 + dev: true + + /@typescript-eslint/visitor-keys@6.4.0: + resolution: {integrity: sha512-yJSfyT+uJm+JRDWYRYdCm2i+pmvXJSMtPR9Cq5/XQs4QIgNoLcoRtDdzsLbLsFM/c6um6ohQkg/MLxWvoIndJA==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.4.0 + eslint-visitor-keys: 3.4.3 dev: true /@ungap/promise-all-settled@1.1.2: @@ -4409,7 +4925,7 @@ packages: /@vue/compiler-core@3.2.36: resolution: {integrity: sha512-bbyZM5hvBicv0PW3KUfVi+x3ylHnfKG7DOn5wM+f2OztTzTjLEyBb/5yrarIYpmnGitVGbjZqDbODyW4iK8hqw==} dependencies: - '@babel/parser': 7.22.5 + '@babel/parser': 7.22.7 '@vue/shared': 3.2.36 estree-walker: 2.0.2 source-map: 0.6.1 @@ -4425,7 +4941,7 @@ packages: /@vue/compiler-sfc@3.2.36: resolution: {integrity: sha512-AvGb4bTj4W8uQ4BqaSxo7UwTEqX5utdRSMyHy58OragWlt8nEACQ9mIeQh3K4di4/SX+41+pJrLIY01lHAOFOA==} dependencies: - '@babel/parser': 7.22.5 + '@babel/parser': 7.22.7 '@vue/compiler-core': 3.2.36 '@vue/compiler-dom': 3.2.36 '@vue/compiler-ssr': 3.2.36 @@ -4447,7 +4963,7 @@ packages: /@vue/reactivity-transform@3.2.36: resolution: {integrity: sha512-Jk5o2BhpODC9XTA7o4EL8hSJ4JyrFWErLtClG3NH8wDS7ri9jBDWxI7/549T7JY9uilKsaNM+4pJASLj5dtRwA==} dependencies: - '@babel/parser': 7.22.5 + '@babel/parser': 7.22.7 '@vue/compiler-core': 3.2.36 '@vue/shared': 3.2.36 estree-walker: 2.0.2 @@ -5192,12 +5708,12 @@ packages: resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==} dev: true - /@yarnpkg/parsers@3.0.0-rc.36: - resolution: {integrity: sha512-PvTlgUr7WO2qDnph8tVdItbJlo9hEcGSVd8+ppn/tvcn8XZUaD1z4EgvMEZcJYZi3LmHJGzSgVZzcFE+zQiz8A==} + /@yarnpkg/parsers@3.0.0-rc.46: + resolution: {integrity: sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==} engines: {node: '>=14.15.0'} dependencies: js-yaml: 3.14.1 - tslib: 2.5.3 + tslib: 2.6.0 dev: true /@zkochan/js-yaml@0.0.6: @@ -5356,7 +5872,6 @@ packages: /accepts@1.3.8: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} engines: {node: '>= 0.6'} - requiresBuild: true dependencies: mime-types: 2.1.35 negotiator: 0.6.3 @@ -5371,14 +5886,6 @@ packages: acorn: 8.10.0 dev: true - /acorn-jsx@5.3.2(acorn@8.9.0): - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - acorn: 8.9.0 - dev: true - /acorn-walk@8.2.0: resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} engines: {node: '>=0.4.0'} @@ -5649,8 +6156,19 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.1.4 - es-abstract: 1.21.1 + define-properties: 1.2.0 + es-abstract: 1.21.2 + get-intrinsic: 1.2.1 + is-string: 1.0.7 + dev: true + + /array-includes@3.1.6: + resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 get-intrinsic: 1.2.1 is-string: 1.0.7 dev: true @@ -5669,13 +6187,24 @@ packages: engines: {node: '>=0.10.0'} dev: true + /array.prototype.findlastindex@1.2.2: + resolution: {integrity: sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + es-shim-unscopables: 1.0.0 + get-intrinsic: 1.2.1 + dev: true + /array.prototype.flat@1.3.1: resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.1.4 - es-abstract: 1.21.1 + define-properties: 1.2.0 + es-abstract: 1.21.2 es-shim-unscopables: 1.0.0 /array.prototype.flatmap@1.2.4: @@ -5683,22 +6212,44 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.1.4 - es-abstract: 1.21.1 + define-properties: 1.2.0 + es-abstract: 1.21.2 function-bind: 1.1.1 dev: true + /array.prototype.flatmap@1.3.1: + resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + es-shim-unscopables: 1.0.0 + dev: true + /array.prototype.reduce@1.0.5: resolution: {integrity: sha512-kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.0 - es-abstract: 1.21.2 + es-abstract: 1.22.1 es-array-method-boxes-properly: 1.0.0 is-string: 1.0.7 dev: true + /arraybuffer.prototype.slice@1.0.1: + resolution: {integrity: sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.0 + call-bind: 1.0.2 + define-properties: 1.2.0 + get-intrinsic: 1.2.1 + is-array-buffer: 3.0.2 + is-shared-array-buffer: 1.0.2 + dev: true + /arrify@1.0.1: resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} engines: {node: '>=0.10.0'} @@ -5714,7 +6265,6 @@ packages: /asn1.js@5.4.1: resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==} - requiresBuild: true dependencies: bn.js: 4.12.0 inherits: 2.0.4 @@ -5825,16 +6375,6 @@ packages: - debug dev: true - /axios@1.2.3: - resolution: {integrity: sha512-pdDkMYJeuXLZ6Xj/Q5J3Phpe+jbGdsSzlQaFVkMQzRUL05+6+tetX8TV3p4HrU4kzuO9bt+io/yGQxuyxA/xcw==} - dependencies: - follow-redirects: 1.15.2(debug@4.3.4) - form-data: 4.0.0 - proxy-from-env: 1.1.0 - transitivePeerDependencies: - - debug - dev: true - /axios@1.4.0: resolution: {integrity: sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==} dependencies: @@ -6382,6 +6922,13 @@ packages: dependencies: safe-buffer: 5.2.1 + /base-x@3.0.9: + resolution: {integrity: sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==} + dependencies: + safe-buffer: 5.2.1 + dev: true + optional: true + /base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} @@ -6441,6 +6988,11 @@ packages: /bignumber.js@9.0.1: resolution: {integrity: sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==} + /bignumber.js@9.1.1: + resolution: {integrity: sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig==} + dev: true + optional: true + /bin-links@4.0.1: resolution: {integrity: sha512-bmFEM39CyX336ZGGRsGPlc6jZHriIoHacOQcTt72MktIjpPhZoP4te2jOyUXF3BLILmJ8aNLncoPVeIIFlrDeA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -6560,7 +7112,6 @@ packages: /body-parser@1.20.1: resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - requiresBuild: true dependencies: bytes: 3.1.2 content-type: 1.0.5 @@ -6582,7 +7133,6 @@ packages: /body-parser@1.20.2: resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - requiresBuild: true dependencies: bytes: 3.1.2 content-type: 1.0.5 @@ -6670,7 +7220,6 @@ packages: /browserify-cipher@1.0.1: resolution: {integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==} - requiresBuild: true dependencies: browserify-aes: 1.2.0 browserify-des: 1.0.2 @@ -6680,10 +7229,9 @@ packages: /browserify-des@1.0.2: resolution: {integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==} - requiresBuild: true dependencies: cipher-base: 1.0.4 - des.js: 1.0.1 + des.js: 1.1.0 inherits: 2.0.4 safe-buffer: 5.2.1 dev: true @@ -6691,7 +7239,6 @@ packages: /browserify-rsa@4.1.0: resolution: {integrity: sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==} - requiresBuild: true dependencies: bn.js: 5.2.1 randombytes: 2.1.0 @@ -6700,7 +7247,6 @@ packages: /browserify-sign@4.2.1: resolution: {integrity: sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==} - requiresBuild: true dependencies: bn.js: 5.2.1 browserify-rsa: 4.1.0 @@ -6718,8 +7264,19 @@ packages: resolution: {integrity: sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==} hasBin: true dependencies: - caniuse-lite: 1.0.30001517 - electron-to-chromium: 1.4.468 + caniuse-lite: 1.0.30001520 + electron-to-chromium: 1.4.491 + dev: true + + /browserslist@4.21.10: + resolution: {integrity: sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001520 + electron-to-chromium: 1.4.491 + node-releases: 2.0.13 + update-browserslist-db: 1.0.11(browserslist@4.21.10) dev: true /browserslist@4.21.9: @@ -6817,7 +7374,7 @@ packages: /builtins@5.0.1: resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} dependencies: - semver: 7.5.4 + semver: 7.5.3 dev: true /bundle-require@3.1.2(esbuild@0.15.13): @@ -6903,7 +7460,7 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: '@npmcli/fs': 3.1.0 - fs-minipass: 3.0.2 + fs-minipass: 3.0.3 glob: 10.3.3 lru-cache: 7.18.3 minipass: 5.0.0 @@ -6931,12 +7488,17 @@ packages: unset-value: 1.0.0 dev: true + /cacheable-lookup@5.0.4: + resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} + engines: {node: '>=10.6.0'} + dev: true + optional: true + /cacheable-request@6.1.0: resolution: {integrity: sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==} engines: {node: '>=8'} - requiresBuild: true dependencies: - clone-response: 1.0.2 + clone-response: 1.0.3 get-stream: 5.2.0 http-cache-semantics: 4.1.1 keyv: 3.1.0 @@ -6946,6 +7508,20 @@ packages: dev: true optional: true + /cacheable-request@7.0.4: + resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} + engines: {node: '>=8'} + dependencies: + clone-response: 1.0.3 + get-stream: 5.2.0 + http-cache-semantics: 4.1.1 + keyv: 4.5.3 + lowercase-keys: 2.0.0 + normalize-url: 6.1.0 + responselike: 2.0.1 + dev: true + optional: true + /cachedown@1.0.0: resolution: {integrity: sha512-t+yVk82vQWCJF3PsWHMld+jhhjkkWjcAzz8NbFx1iULOXWl8Tm/FdM4smZNVw3MRr0X+lVTx9PKzvEn4Ng19RQ==} dependencies: @@ -7007,6 +7583,10 @@ packages: resolution: {integrity: sha512-Vdhm5S11DaFVLlyiKu4hiUTkpZu+y1KA/rZZqVQfOD5YdDT/eQKlkt7NaE0WGOFgX32diqt9MiP9CAiFeRklaA==} dev: true + /caniuse-lite@1.0.30001520: + resolution: {integrity: sha512-tahF5O9EiiTzwTUqAeFjIZbn4Dnqxzz7ktrgGlMYNLH43Ul26IgTMH/zvL3DG0lZxBYnlT04axvInszUsZULdA==} + dev: true + /capital-case@1.0.4: resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} dependencies: @@ -7171,7 +7751,6 @@ packages: /chownr@1.1.4: resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} - requiresBuild: true dev: true optional: true @@ -7192,7 +7771,6 @@ packages: resolution: {integrity: sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==} engines: {node: '>=4.0.0', npm: '>=3.0.0'} deprecated: This module has been superseded by the multiformats module - requiresBuild: true dependencies: buffer: 5.7.1 class-is: 1.1.0 @@ -7211,7 +7789,6 @@ packages: /class-is@1.1.0: resolution: {integrity: sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==} - requiresBuild: true dev: true optional: true @@ -7329,9 +7906,8 @@ packages: shallow-clone: 3.0.1 dev: true - /clone-response@1.0.2: - resolution: {integrity: sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==} - requiresBuild: true + /clone-response@1.0.3: + resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} dependencies: mimic-response: 1.0.1 dev: true @@ -7556,7 +8132,6 @@ packages: /content-disposition@0.5.4: resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} engines: {node: '>= 0.6'} - requiresBuild: true dependencies: safe-buffer: 5.2.1 dev: true @@ -7564,7 +8139,6 @@ packages: /content-hash@2.5.2: resolution: {integrity: sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw==} - requiresBuild: true dependencies: cids: 0.7.5 multicodec: 0.5.7 @@ -7580,7 +8154,6 @@ packages: /content-type@1.0.5: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} - requiresBuild: true dev: true optional: true @@ -7694,19 +8267,12 @@ packages: /cookie@0.5.0: resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} engines: {node: '>= 0.6'} - requiresBuild: true dev: true optional: true - /cookiejar@2.1.2: - resolution: {integrity: sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==} - dev: true - /cookiejar@2.1.4: resolution: {integrity: sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==} - requiresBuild: true dev: true - optional: true /copy-descriptor@0.1.1: resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==} @@ -7737,6 +8303,11 @@ packages: requiresBuild: true dev: true + /core-js-pure@3.32.0: + resolution: {integrity: sha512-qsev1H+dTNYpDUEURRuOXMvpdtAnNEvQWS/FMJ2Vb5AY8ZP4rAPQldkE27joykZPJTe0+IVgHZYh1P5Xu1/i1g==} + requiresBuild: true + dev: true + /core-js@2.6.12: resolution: {integrity: sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==} deprecated: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js. @@ -7753,7 +8324,6 @@ packages: /cors@2.8.5: resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} engines: {node: '>= 0.10'} - requiresBuild: true dependencies: object-assign: 4.1.1 vary: 1.1.2 @@ -7793,7 +8363,6 @@ packages: /create-ecdh@4.0.4: resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==} - requiresBuild: true dependencies: bn.js: 4.12.0 elliptic: 6.5.4 @@ -7870,7 +8439,6 @@ packages: /crypto-browserify@3.12.0: resolution: {integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==} - requiresBuild: true dependencies: browserify-cipher: 1.0.1 browserify-sign: 4.2.1 @@ -7941,7 +8509,7 @@ packages: /d@1.0.1: resolution: {integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==} dependencies: - es5-ext: 0.10.53 + es5-ext: 0.10.62 type: 1.2.0 dev: true @@ -8070,6 +8638,14 @@ packages: dependencies: mimic-response: 1.0.1 + /decompress-response@6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} + dependencies: + mimic-response: 3.1.0 + dev: true + optional: true + /dedent@0.7.0: resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} dev: true @@ -8143,7 +8719,12 @@ packages: /defer-to-connect@1.1.3: resolution: {integrity: sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==} - requiresBuild: true + dev: true + optional: true + + /defer-to-connect@2.0.1: + resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} + engines: {node: '>=10'} dev: true optional: true @@ -8174,13 +8755,6 @@ packages: engines: {node: '>=8'} dev: true - /define-properties@1.1.4: - resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==} - engines: {node: '>= 0.4'} - dependencies: - has-property-descriptors: 1.0.0 - object-keys: 1.1.1 - /define-properties@1.2.0: resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} engines: {node: '>= 0.4'} @@ -8210,8 +8784,8 @@ packages: isobject: 3.0.1 dev: true - /defined@1.0.0: - resolution: {integrity: sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==} + /defined@1.0.1: + resolution: {integrity: sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==} dev: true /del@6.1.1: @@ -8294,9 +8868,8 @@ packages: engines: {node: '>=6'} dev: true - /des.js@1.0.1: - resolution: {integrity: sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==} - requiresBuild: true + /des.js@1.1.0: + resolution: {integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==} dependencies: inherits: 2.0.4 minimalistic-assert: 1.0.1 @@ -8364,7 +8937,6 @@ packages: /diffie-hellman@5.0.3: resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==} - requiresBuild: true dependencies: bn.js: 4.12.0 miller-rabin: 4.0.1 @@ -8509,7 +9081,6 @@ packages: /duplexer3@0.1.5: resolution: {integrity: sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==} - requiresBuild: true dev: true optional: true @@ -8560,6 +9131,10 @@ packages: resolution: {integrity: sha512-6M1qyhaJOt7rQtNti1lBA0GwclPH+oKCmsra/hkcWs5INLxfXXD/dtdnaKUYQu/pjOBP/8Osoe4mAcNvvzoFag==} dev: true + /electron-to-chromium@1.4.491: + resolution: {integrity: sha512-ZzPqGKghdVzlQJ+qpfE+r6EB321zed7e5JsvHIlMM4zPFF8okXUkF5Of7h7F3l3cltPL0rG7YVmlp5Qro7RQLA==} + dev: true + /elliptic@6.5.4: resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==} dependencies: @@ -8684,15 +9259,15 @@ packages: dependencies: is-arrayish: 0.2.1 - /es-abstract@1.21.1: - resolution: {integrity: sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg==} + /es-abstract@1.21.2: + resolution: {integrity: sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==} engines: {node: '>= 0.4'} dependencies: + array-buffer-byte-length: 1.0.0 available-typed-arrays: 1.0.5 call-bind: 1.0.2 es-set-tostringtag: 2.0.1 es-to-primitive: 1.2.1 - function-bind: 1.1.1 function.prototype.name: 1.1.5 get-intrinsic: 1.2.1 get-symbol-description: 1.0.0 @@ -8709,24 +9284,26 @@ packages: is-regex: 1.1.4 is-shared-array-buffer: 1.0.2 is-string: 1.0.7 - is-typed-array: 1.1.10 + is-typed-array: 1.1.12 is-weakref: 1.0.2 object-inspect: 1.12.3 object-keys: 1.1.1 object.assign: 4.1.4 regexp.prototype.flags: 1.5.0 safe-regex-test: 1.0.0 + string.prototype.trim: 1.2.7 string.prototype.trimend: 1.0.6 string.prototype.trimstart: 1.0.6 typed-array-length: 1.0.4 unbox-primitive: 1.0.2 - which-typed-array: 1.1.9 + which-typed-array: 1.1.11 - /es-abstract@1.21.2: - resolution: {integrity: sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==} + /es-abstract@1.22.1: + resolution: {integrity: sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==} engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.0 + arraybuffer.prototype.slice: 1.0.1 available-typed-arrays: 1.0.5 call-bind: 1.0.2 es-set-tostringtag: 2.0.1 @@ -8747,19 +9324,24 @@ packages: is-regex: 1.1.4 is-shared-array-buffer: 1.0.2 is-string: 1.0.7 - is-typed-array: 1.1.10 + is-typed-array: 1.1.12 is-weakref: 1.0.2 object-inspect: 1.12.3 object-keys: 1.1.1 object.assign: 4.1.4 regexp.prototype.flags: 1.5.0 + safe-array-concat: 1.0.0 safe-regex-test: 1.0.0 string.prototype.trim: 1.2.7 string.prototype.trimend: 1.0.6 string.prototype.trimstart: 1.0.6 + typed-array-buffer: 1.0.0 + typed-array-byte-length: 1.0.0 + typed-array-byte-offset: 1.0.0 typed-array-length: 1.0.4 unbox-primitive: 1.0.2 - which-typed-array: 1.1.9 + which-typed-array: 1.1.11 + dev: true /es-array-method-boxes-properly@1.0.0: resolution: {integrity: sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==} @@ -8800,12 +9382,14 @@ packages: is-date-object: 1.0.5 is-symbol: 1.0.4 - /es5-ext@0.10.53: - resolution: {integrity: sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==} + /es5-ext@0.10.62: + resolution: {integrity: sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==} + engines: {node: '>=0.10'} + requiresBuild: true dependencies: es6-iterator: 2.0.3 es6-symbol: 3.1.3 - next-tick: 1.0.0 + next-tick: 1.1.0 dev: true /es6-error@4.1.1: @@ -8816,7 +9400,7 @@ packages: resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} dependencies: d: 1.0.1 - es5-ext: 0.10.53 + es5-ext: 0.10.62 es6-symbol: 3.1.3 dev: true @@ -8832,7 +9416,7 @@ packages: resolution: {integrity: sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==} dependencies: d: 1.0.1 - ext: 1.5.0 + ext: 1.7.0 dev: true /esbuild-android-64@0.15.13: @@ -9045,6 +9629,36 @@ packages: esbuild-windows-arm64: 0.15.13 dev: true + /esbuild@0.17.19: + resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.17.19 + '@esbuild/android-arm64': 0.17.19 + '@esbuild/android-x64': 0.17.19 + '@esbuild/darwin-arm64': 0.17.19 + '@esbuild/darwin-x64': 0.17.19 + '@esbuild/freebsd-arm64': 0.17.19 + '@esbuild/freebsd-x64': 0.17.19 + '@esbuild/linux-arm': 0.17.19 + '@esbuild/linux-arm64': 0.17.19 + '@esbuild/linux-ia32': 0.17.19 + '@esbuild/linux-loong64': 0.17.19 + '@esbuild/linux-mips64el': 0.17.19 + '@esbuild/linux-ppc64': 0.17.19 + '@esbuild/linux-riscv64': 0.17.19 + '@esbuild/linux-s390x': 0.17.19 + '@esbuild/linux-x64': 0.17.19 + '@esbuild/netbsd-x64': 0.17.19 + '@esbuild/openbsd-x64': 0.17.19 + '@esbuild/sunos-x64': 0.17.19 + '@esbuild/win32-arm64': 0.17.19 + '@esbuild/win32-ia32': 0.17.19 + '@esbuild/win32-x64': 0.17.19 + dev: true + /esbuild@0.18.15: resolution: {integrity: sha512-3WOOLhrvuTGPRzQPU6waSDWrDTnQriia72McWcn6UCi43GhCHrXH4S59hKMeez+IITmdUuUyvbU9JIp+t3xlPQ==} engines: {node: '>=12'} @@ -9105,7 +9719,7 @@ packages: eslint: 8.43.0 dev: true - /eslint-config-standard@16.0.3(eslint-plugin-import@2.26.0)(eslint-plugin-node@11.1.0)(eslint-plugin-promise@5.2.0)(eslint@8.43.0): + /eslint-config-standard@16.0.3(eslint-plugin-import@2.28.0)(eslint-plugin-node@11.1.0)(eslint-plugin-promise@5.2.0)(eslint@8.43.0): resolution: {integrity: sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg==} peerDependencies: eslint: ^7.12.1 @@ -9114,31 +9728,35 @@ packages: eslint-plugin-promise: ^4.2.1 || ^5.0.0 dependencies: eslint: 8.43.0 - eslint-plugin-import: 2.26.0(@typescript-eslint/parser@5.60.1)(eslint@8.43.0) + eslint-plugin-import: 2.28.0(@typescript-eslint/parser@5.60.1)(eslint@8.43.0) eslint-plugin-node: 11.1.0(eslint@8.43.0) eslint-plugin-promise: 5.2.0(eslint@8.43.0) dev: true - /eslint-import-resolver-node@0.3.6: - resolution: {integrity: sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==} + /eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} dependencies: debug: 3.2.7 - resolve: 1.22.2 + is-core-module: 2.13.0 + resolve: 1.22.4 transitivePeerDependencies: - supports-color dev: true - /eslint-module-utils@2.7.3(@typescript-eslint/parser@5.60.1)(eslint-import-resolver-node@0.3.6): - resolution: {integrity: sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==} + /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.60.1)(eslint-import-resolver-node@0.3.9)(eslint@8.43.0): + resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' + eslint: '*' eslint-import-resolver-node: '*' eslint-import-resolver-typescript: '*' eslint-import-resolver-webpack: '*' peerDependenciesMeta: '@typescript-eslint/parser': optional: true + eslint: + optional: true eslint-import-resolver-node: optional: true eslint-import-resolver-typescript: @@ -9148,8 +9766,8 @@ packages: dependencies: '@typescript-eslint/parser': 5.60.1(eslint@8.43.0)(typescript@5.1.6) debug: 3.2.7 - eslint-import-resolver-node: 0.3.6 - find-up: 2.1.0 + eslint: 8.43.0 + eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color dev: true @@ -9165,8 +9783,8 @@ packages: regexpp: 3.2.0 dev: true - /eslint-plugin-import@2.26.0(@typescript-eslint/parser@5.60.1)(eslint@8.43.0): - resolution: {integrity: sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==} + /eslint-plugin-import@2.28.0(@typescript-eslint/parser@5.60.1)(eslint@8.43.0): + resolution: {integrity: sha512-B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' @@ -9176,20 +9794,25 @@ packages: optional: true dependencies: '@typescript-eslint/parser': 5.60.1(eslint@8.43.0)(typescript@5.1.6) - array-includes: 3.1.5 + array-includes: 3.1.6 + array.prototype.findlastindex: 1.2.2 array.prototype.flat: 1.3.1 - debug: 2.6.9 + array.prototype.flatmap: 1.3.1 + debug: 3.2.7 doctrine: 2.1.0 eslint: 8.43.0 - eslint-import-resolver-node: 0.3.6 - eslint-module-utils: 2.7.3(@typescript-eslint/parser@5.60.1)(eslint-import-resolver-node@0.3.6) + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.60.1)(eslint-import-resolver-node@0.3.9)(eslint@8.43.0) has: 1.0.3 - is-core-module: 2.12.1 + is-core-module: 2.13.0 is-glob: 4.0.3 minimatch: 3.1.2 - object.values: 1.1.5 - resolve: 1.22.2 - tsconfig-paths: 3.14.1 + object.fromentries: 2.0.6 + object.groupby: 1.0.0 + object.values: 1.1.6 + resolve: 1.22.4 + semver: 6.3.1 + tsconfig-paths: 3.14.2 transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack @@ -9325,8 +9948,8 @@ packages: estraverse: 5.3.0 dev: true - /eslint-scope@7.2.1: - resolution: {integrity: sha512-CvefSOsDdaYYvxChovdrPo/ZGt8d5lrJWleAc1diXRKhHGiTYEI26cvo8Kle/wGnsizoCJjK73FMg1/IkIwiNA==} + /eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: esrecurse: 4.3.0 @@ -9365,6 +9988,11 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true + /eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + /eslint@8.43.0: resolution: {integrity: sha512-aaCpf2JqqKesMFGgmRPessmVKjcGXqdlAYLLC3THM8t5nBRZRQ+st5WM/hoJXkdioEXLLbXgclUpM0TXo5HX5Q==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -9413,15 +10041,15 @@ packages: - supports-color dev: true - /eslint@8.45.0: - resolution: {integrity: sha512-pd8KSxiQpdYRfYa9Wufvdoct3ZPQQuVuU5O6scNgMuOMYuxvH0IGaYK0wUFjo4UYYQQCUndlXiMbnxopwvvTiw==} + /eslint@8.47.0: + resolution: {integrity: sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.45.0) - '@eslint-community/regexpp': 4.5.1 - '@eslint/eslintrc': 2.1.0 - '@eslint/js': 8.44.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.47.0) + '@eslint-community/regexpp': 4.6.2 + '@eslint/eslintrc': 2.1.2 + '@eslint/js': 8.47.0 '@humanwhocodes/config-array': 0.11.10 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 @@ -9431,8 +10059,8 @@ packages: debug: 4.3.4(supports-color@8.1.1) doctrine: 3.0.0 escape-string-regexp: 4.0.0 - eslint-scope: 7.2.1 - eslint-visitor-keys: 3.4.1 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 espree: 9.6.1 esquery: 1.5.0 esutils: 2.0.3 @@ -9440,7 +10068,7 @@ packages: file-entry-cache: 6.0.1 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.20.0 + globals: 13.21.0 graphemer: 1.4.0 ignore: 5.2.4 imurmurhash: 0.1.4 @@ -9463,8 +10091,8 @@ packages: resolution: {integrity: sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - acorn: 8.9.0 - acorn-jsx: 5.3.2(acorn@8.9.0) + acorn: 8.10.0 + acorn-jsx: 5.3.2(acorn@8.10.0) eslint-visitor-keys: 3.4.1 dev: true @@ -9474,7 +10102,7 @@ packages: dependencies: acorn: 8.10.0 acorn-jsx: 5.3.2(acorn@8.10.0) - eslint-visitor-keys: 3.4.1 + eslint-visitor-keys: 3.4.3 dev: true /esprima@4.0.1: @@ -9535,7 +10163,7 @@ packages: ethjs-util: 0.1.6 json-rpc-engine: 3.8.0 pify: 2.3.0 - tape: 4.14.0 + tape: 4.16.2 transitivePeerDependencies: - supports-color dev: true @@ -9593,16 +10221,15 @@ packages: fetch-ponyfill: 4.1.0 json-rpc-engine: 3.8.0 json-rpc-error: 2.0.0 - json-stable-stringify: 1.0.1 + json-stable-stringify: 1.0.2 promise-to-callback: 1.0.0 - tape: 4.14.0 + tape: 4.16.2 transitivePeerDependencies: - supports-color dev: true /eth-lib@0.1.29: resolution: {integrity: sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ==} - requiresBuild: true dependencies: bn.js: 4.12.0 elliptic: 6.5.4 @@ -9713,6 +10340,15 @@ packages: setimmediate: 1.0.5 dev: true + /ethereum-cryptography@2.1.2: + resolution: {integrity: sha512-Z5Ba0T0ImZ8fqXrJbpHcbpAvIswRte2wGNR/KePnu8GbbvgJ47lMxT/ZZPG6i9Jaht4azPDop4HaM00J0J59ug==} + dependencies: + '@noble/curves': 1.1.0 + '@noble/hashes': 1.3.1 + '@scure/bip32': 1.3.1 + '@scure/bip39': 1.2.1 + dev: true + /ethereum-waffle@3.4.4(typescript@5.1.6): resolution: {integrity: sha512-PA9+jCjw4WC3Oc5ocSMBj5sXvueWQeAbvCA+hUlb6oFgwwKyq5ka3bWQ7QZcjzIX+TdFkxP4IbFmoY2D8Dkj9Q==} engines: {node: '>=10.0'} @@ -9803,7 +10439,7 @@ packages: deprecated: 'New package name format for new versions: @ethereumjs/block. Please update.' dependencies: async: 2.6.4 - ethereumjs-common: 1.5.2 + ethereumjs-common: 1.5.0 ethereumjs-tx: 2.1.2 ethereumjs-util: 5.2.1 merkle-patricia-tree: 2.3.2 @@ -9816,7 +10452,7 @@ packages: async: 2.6.4 ethashjs: 0.0.8 ethereumjs-block: 2.2.2 - ethereumjs-common: 1.5.2 + ethereumjs-common: 1.5.0 ethereumjs-util: 6.2.1 flow-stoplight: 1.0.0 level-mem: 3.0.1 @@ -9830,11 +10466,6 @@ packages: deprecated: 'New package name format for new versions: @ethereumjs/common. Please update.' dev: true - /ethereumjs-common@1.5.2: - resolution: {integrity: sha512-hTfZjwGX52GS2jcVO6E2sx4YuFnf0Fhp5ylo4pEPhEffNln7vS59Hr5sLnp3/QCazFLluuBZ+FZ6J5HTp0EqCA==} - deprecated: 'New package name format for new versions: @ethereumjs/common. Please update.' - dev: true - /ethereumjs-tx@1.3.7: resolution: {integrity: sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA==} deprecated: 'New package name format for new versions: @ethereumjs/tx. Please update.' @@ -9847,7 +10478,7 @@ packages: resolution: {integrity: sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw==} deprecated: 'New package name format for new versions: @ethereumjs/tx. Please update.' dependencies: - ethereumjs-common: 1.5.2 + ethereumjs-common: 1.5.0 ethereumjs-util: 6.2.1 dev: true @@ -9915,7 +10546,7 @@ packages: async-eventemitter: 0.2.4 ethereumjs-account: 2.0.5 ethereumjs-block: 2.2.2 - ethereumjs-common: 1.5.2 + ethereumjs-common: 1.5.0 ethereumjs-util: 6.2.1 fake-merkle-patricia-tree: 1.0.1 functional-red-black-tree: 1.0.1 @@ -9930,11 +10561,11 @@ packages: dependencies: async: 2.6.4 async-eventemitter: 0.2.4 - core-js-pure: 3.16.2 + core-js-pure: 3.32.0 ethereumjs-account: 3.0.0 ethereumjs-block: 2.2.2 ethereumjs-blockchain: 4.0.4 - ethereumjs-common: 1.5.2 + ethereumjs-common: 1.5.0 ethereumjs-tx: 2.1.2 ethereumjs-util: 6.2.1 fake-merkle-patricia-tree: 1.0.1 @@ -10057,7 +10688,6 @@ packages: /eventemitter3@4.0.4: resolution: {integrity: sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==} - requiresBuild: true dev: true optional: true @@ -10158,7 +10788,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/expect-utils': 29.6.1 - '@types/node': 20.4.3 + '@types/node': 20.5.0 jest-get-type: 29.4.3 jest-matcher-utils: 29.6.1 jest-message-util: 29.6.1 @@ -10221,7 +10851,6 @@ packages: /express@4.18.2: resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} engines: {node: '>= 0.10.0'} - requiresBuild: true dependencies: accepts: 1.3.8 array-flatten: 1.1.1 @@ -10259,10 +10888,10 @@ packages: dev: true optional: true - /ext@1.5.0: - resolution: {integrity: sha512-+ONcYoWj/SoQwUofMr94aGu05Ou4FepKi7N7b+O8T4jVfyIsZQV1/xeS8jpaBzF0csAk0KLXoHCxU7cKYZjo1Q==} + /ext@1.7.0: + resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} dependencies: - type: 2.5.0 + type: 2.7.2 dev: true /extend-shallow@2.0.1: @@ -10350,6 +10979,17 @@ packages: /fast-glob@3.3.0: resolution: {integrity: sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==} engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.4 + dev: true + + /fast-glob@3.3.1: + resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} + engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 @@ -10375,6 +11015,7 @@ packages: /fast-safe-stringify@2.0.8: resolution: {integrity: sha512-lXatBjf3WPjmWD6DpIZxkeSsCOwqI0maYMpgDlx8g4U2qi4lbjA9oH/HD2a87G+KfsUmo5WbJFmqBZlPxtptag==} + dev: false /fast-safe-stringify@2.1.1: resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} @@ -10478,7 +11119,6 @@ packages: /finalhandler@1.2.0: resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} engines: {node: '>= 0.8'} - requiresBuild: true dependencies: debug: 2.6.9 encodeurl: 1.0.2 @@ -10739,15 +11379,6 @@ packages: universalify: 2.0.0 dev: true - /fs-extra@11.1.0: - resolution: {integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==} - engines: {node: '>=14.14'} - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.0 - dev: true - /fs-extra@11.1.1: resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} engines: {node: '>=14.14'} @@ -10794,7 +11425,6 @@ packages: /fs-minipass@1.2.7: resolution: {integrity: sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==} - requiresBuild: true dependencies: minipass: 2.9.0 dev: true @@ -10807,11 +11437,11 @@ packages: minipass: 3.3.6 dev: true - /fs-minipass@3.0.2: - resolution: {integrity: sha512-2GAfyfoaCDRrM6jaOS3UsBts8yJ55VioXdWcOL7dK9zdAuKT71+WBA4ifnNYqVjYv+4SsPxjK0JT4yIIn4cA/g==} + /fs-minipass@3.0.3: + resolution: {integrity: sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - minipass: 5.0.0 + minipass: 7.0.3 dev: true /fs.realpath@1.0.0: @@ -10991,13 +11621,6 @@ packages: engines: {node: '>=8'} dev: true - /get-stream@3.0.0: - resolution: {integrity: sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==} - engines: {node: '>=4'} - requiresBuild: true - dev: true - optional: true - /get-stream@4.1.0: resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} engines: {node: '>=6'} @@ -11007,7 +11630,6 @@ packages: /get-stream@5.2.0: resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} engines: {node: '>=8'} - requiresBuild: true dependencies: pump: 3.0.0 dev: true @@ -11030,6 +11652,12 @@ packages: call-bind: 1.0.2 get-intrinsic: 1.2.1 + /get-tsconfig@4.7.0: + resolution: {integrity: sha512-pmjiZ7xtB8URYm74PlGJozDNyhvsVLUcpBa8DZBG3bWHwaHa9bPiRpiSfovw+fjhwONSCWKRyk+JQHEGZmMrzw==} + dependencies: + resolve-pkg-maps: 1.0.0 + dev: true + /get-value@2.0.6: resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==} engines: {node: '>=0.10.0'} @@ -11206,6 +11834,13 @@ packages: type-fest: 0.20.2 dev: true + /globals@13.21.0: + resolution: {integrity: sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: true + /globals@9.18.0: resolution: {integrity: sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==} engines: {node: '>=0.10.0'} @@ -11223,7 +11858,7 @@ packages: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 - fast-glob: 3.3.0 + fast-glob: 3.3.1 ignore: 5.2.4 merge2: 1.4.1 slash: 3.0.0 @@ -11245,7 +11880,7 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: dir-glob: 3.0.1 - fast-glob: 3.3.0 + fast-glob: 3.3.1 ignore: 5.2.4 merge2: 1.4.1 slash: 4.0.0 @@ -11256,34 +11891,27 @@ packages: dependencies: get-intrinsic: 1.2.1 - /got@7.1.0: - resolution: {integrity: sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==} - engines: {node: '>=4'} - requiresBuild: true + /got@11.8.6: + resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} + engines: {node: '>=10.19.0'} dependencies: - '@types/keyv': 3.1.4 + '@sindresorhus/is': 4.6.0 + '@szmarczak/http-timer': 4.0.6 + '@types/cacheable-request': 6.0.3 '@types/responselike': 1.0.0 - decompress-response: 3.3.0 - duplexer3: 0.1.5 - get-stream: 3.0.0 - is-plain-obj: 1.1.0 - is-retry-allowed: 1.2.0 - is-stream: 1.1.0 - isurl: 1.0.0 - lowercase-keys: 1.0.1 - p-cancelable: 0.3.0 - p-timeout: 1.2.1 - safe-buffer: 5.2.1 - timed-out: 4.0.1 - url-parse-lax: 1.0.0 - url-to-options: 1.0.1 + cacheable-lookup: 5.0.4 + cacheable-request: 7.0.4 + decompress-response: 6.0.0 + http2-wrapper: 1.0.3 + lowercase-keys: 2.0.0 + p-cancelable: 2.1.1 + responselike: 2.0.1 dev: true optional: true /got@9.6.0: resolution: {integrity: sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==} engines: {node: '>=8.6'} - requiresBuild: true dependencies: '@sindresorhus/is': 0.14.0 '@szmarczak/http-timer': 1.1.2 @@ -11465,24 +12093,10 @@ packages: resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} engines: {node: '>= 0.4'} - /has-symbol-support-x@1.4.2: - resolution: {integrity: sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==} - requiresBuild: true - dev: true - optional: true - /has-symbols@1.0.3: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} - /has-to-string-tag-x@1.4.1: - resolution: {integrity: sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==} - requiresBuild: true - dependencies: - has-symbol-support-x: 1.4.2 - dev: true - optional: true - /has-tostringtag@1.0.0: resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} engines: {node: '>= 0.4'} @@ -11676,7 +12290,6 @@ packages: /http-https@1.0.0: resolution: {integrity: sha512-o0PWwVCSp3O0wS6FvNr6xfBCHgt0m1tvPLFOCc2iFDKTRAXhB7m8klDf7ErowFH8POa6dVdGatKU5I1YYwzUyg==} - requiresBuild: true dev: true optional: true @@ -11699,6 +12312,15 @@ packages: jsprim: 1.4.1 sshpk: 1.16.1 + /http2-wrapper@1.0.3: + resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} + engines: {node: '>=10.19.0'} + dependencies: + quick-lru: 5.1.1 + resolve-alpn: 1.2.1 + dev: true + optional: true + /https-proxy-agent@5.0.0: resolution: {integrity: sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==} engines: {node: '>= 6'} @@ -11856,7 +12478,7 @@ packages: promzard: 0.3.0 read: 1.0.7 read-package-json: 5.0.2 - semver: 7.5.4 + semver: 7.5.3 validate-npm-package-license: 3.0.4 validate-npm-package-name: 4.0.0 dev: true @@ -11903,15 +12525,6 @@ packages: wrap-ansi: 7.0.0 dev: true - /internal-slot@1.0.4: - resolution: {integrity: sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==} - engines: {node: '>= 0.4'} - dependencies: - get-intrinsic: 1.2.1 - has: 1.0.3 - side-channel: 1.0.4 - dev: true - /internal-slot@1.0.5: resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} engines: {node: '>= 0.4'} @@ -11982,7 +12595,7 @@ packages: dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.1 - is-typed-array: 1.1.10 + is-typed-array: 1.1.12 /is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} @@ -12044,6 +12657,12 @@ packages: resolution: {integrity: sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==} dependencies: has: 1.0.3 + dev: true + + /is-core-module@2.13.0: + resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==} + dependencies: + has: 1.0.3 /is-data-descriptor@0.1.4: resolution: {integrity: sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==} @@ -12207,12 +12826,6 @@ packages: engines: {node: '>=8'} dev: true - /is-object@1.0.2: - resolution: {integrity: sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==} - requiresBuild: true - dev: true - optional: true - /is-path-cwd@2.2.0: resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} engines: {node: '>=6'} @@ -12260,13 +12873,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /is-retry-allowed@1.2.0: - resolution: {integrity: sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==} - engines: {node: '>=0.10.0'} - requiresBuild: true - dev: true - optional: true - /is-set@2.0.2: resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} dev: false @@ -12327,16 +12933,6 @@ packages: text-extensions: 1.9.0 dev: true - /is-typed-array@1.1.10: - resolution: {integrity: sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==} - engines: {node: '>= 0.4'} - dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.0 - /is-typed-array@1.1.12: resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} engines: {node: '>= 0.4'} @@ -12554,16 +13150,6 @@ packages: istanbul-lib-report: 3.0.1 dev: true - /isurl@1.0.0: - resolution: {integrity: sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==} - engines: {node: '>= 4'} - requiresBuild: true - dependencies: - has-to-string-tag-x: 1.4.1 - is-object: 1.0.2 - dev: true - optional: true - /jackspeak@2.2.1: resolution: {integrity: sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==} engines: {node: '>=14'} @@ -12650,7 +13236,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.1 - '@types/node': 20.4.3 + '@types/node': 20.5.0 chalk: 4.1.2 ci-info: 3.8.0 graceful-fs: 4.2.11 @@ -12765,7 +13351,11 @@ packages: /json-buffer@3.0.0: resolution: {integrity: sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==} - requiresBuild: true + dev: true + optional: true + + /json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} dev: true optional: true @@ -12820,10 +13410,10 @@ packages: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} dev: true - /json-stable-stringify@1.0.1: - resolution: {integrity: sha512-i/J297TW6xyj7sDFa7AmBPkQvLIxWr2kKPWI26tXydnZrzVAocNqn5DMNT1Mzk0vit1V5UkRM7C1KdVNp7Lmcg==} + /json-stable-stringify@1.0.2: + resolution: {integrity: sha512-eunSSaEnxV12z+Z73y/j5N37/In40GK4GmsSy+tEHJMxknvqnA7/djeYtAgW0GsWHUfg+847WJjKaEylk2y09g==} dependencies: - jsonify: 0.0.0 + jsonify: 0.0.1 dev: true /json-stringify-nice@1.1.4: @@ -12873,8 +13463,8 @@ packages: graceful-fs: 4.2.11 dev: true - /jsonify@0.0.0: - resolution: {integrity: sha512-trvBk1ki43VZptdBI5rIlG4YOzyeH/WefQt5rj1grasPn4iiZWKet8nkgc4GlsAylaztn0qZfUYOiTsASJFdNA==} + /jsonify@0.0.1: + resolution: {integrity: sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==} dev: true /jsonparse@1.3.1: @@ -12894,7 +13484,7 @@ packages: resolution: {integrity: sha512-EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q==} engines: {node: '>=4.0'} dependencies: - array-includes: 3.1.5 + array-includes: 3.1.6 object.assign: 4.1.4 dev: true @@ -12936,12 +13526,18 @@ packages: /keyv@3.1.0: resolution: {integrity: sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==} - requiresBuild: true dependencies: json-buffer: 3.0.0 dev: true optional: true + /keyv@4.5.3: + resolution: {integrity: sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==} + dependencies: + json-buffer: 3.0.1 + dev: true + optional: true + /keyvaluestorage-interface@1.0.0: resolution: {integrity: sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g==} @@ -13111,12 +13707,6 @@ packages: errno: 0.1.8 dev: true - /level-errors@1.1.2: - resolution: {integrity: sha512-Sw/IJwWbPKF5Ai4Wz60B52yj0zYeqzObLh8k1Tk88jVmD51cJSKWSYpRyhVIvFzZdvsPqlH5wfhp/yxdsaQH4w==} - dependencies: - errno: 0.1.8 - dev: true - /level-errors@2.0.1: resolution: {integrity: sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw==} engines: {node: '>=6'} @@ -13128,7 +13718,7 @@ packages: resolution: {integrity: sha512-1qua0RHNtr4nrZBgYlpV0qHHeHpcRRWTxEZJ8xsemoHAXNL5tbooh4tPEEqIqsbWCAJBmUmkwYK/sW5OrFjWWw==} dependencies: inherits: 2.0.4 - level-errors: 1.1.2 + level-errors: 1.0.5 readable-stream: 1.0.34 xtend: 4.0.2 dev: true @@ -13208,7 +13798,7 @@ packages: ltgt: 2.1.3 pull-defer: 0.2.3 pull-level: 2.0.4 - pull-stream: 3.6.14 + pull-stream: 3.7.0 typewiselite: 1.0.0 xtend: 4.0.2 dev: true @@ -13323,7 +13913,7 @@ packages: npm-package-arg: 10.1.0 npm-registry-fetch: 14.0.5 proc-log: 3.0.0 - semver: 7.5.4 + semver: 7.5.3 sigstore: 1.6.0 ssri: 10.0.4 transitivePeerDependencies: @@ -13581,19 +14171,17 @@ packages: /lowercase-keys@1.0.1: resolution: {integrity: sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==} engines: {node: '>=0.10.0'} - requiresBuild: true dev: true optional: true /lowercase-keys@2.0.0: resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} engines: {node: '>=8'} - requiresBuild: true dev: true optional: true - /lru-cache@10.0.0: - resolution: {integrity: sha512-svTf/fzsKHffP42sujkO/Rjs37BCIsQVRCeNYIm9WN8rgT7ffoUnRtZCqU+6BqcSBdv8gwJeTz8knJpgACeQMw==} + /lru-cache@10.0.1: + resolution: {integrity: sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==} engines: {node: 14 || >=16.14} dev: true @@ -14101,6 +14689,10 @@ packages: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} + /micro-ftch@0.3.1: + resolution: {integrity: sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==} + dev: true + /micromark-extension-footnote@0.3.2: resolution: {integrity: sha512-gr/BeIxbIWQoUm02cIfK7mdMZ/fbroRpLsck4kvFtjbzP4yi+OPVbnukTc/zy0i7spC2xYE/dbX1Sur8BEDJsQ==} dependencies: @@ -14252,6 +14844,12 @@ packages: resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} engines: {node: '>=4'} + /mimic-response@3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} + dev: true + optional: true + /min-document@2.19.0: resolution: {integrity: sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==} dependencies: @@ -14329,10 +14927,10 @@ packages: /minimist@1.2.6: resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} + dev: true /minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - dev: true /minipass-collect@1.0.2: resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} @@ -14393,7 +14991,6 @@ packages: /minipass@2.9.0: resolution: {integrity: sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==} - requiresBuild: true dependencies: safe-buffer: 5.2.1 yallist: 3.1.1 @@ -14422,9 +15019,13 @@ packages: engines: {node: '>=16 || 14 >=14.17'} dev: true + /minipass@7.0.3: + resolution: {integrity: sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==} + engines: {node: '>=16 || 14 >=14.17'} + dev: true + /minizlib@1.3.3: resolution: {integrity: sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==} - requiresBuild: true dependencies: minipass: 2.9.0 dev: true @@ -14464,7 +15065,6 @@ packages: resolution: {integrity: sha512-Hepn5kb1lJPtVW84RFT40YG1OddBNTOVUZR2bzQUHc+Z03en8/3uX0+060JDhcEzyO08HmipsN9DcnFMxhIL9w==} engines: {node: '>=4'} deprecated: This package is broken and no longer maintained. 'mkdirp' itself supports promises now, please switch to that. - requiresBuild: true dependencies: mkdirp: 1.0.4 dev: true @@ -14474,7 +15074,7 @@ packages: resolution: {integrity: sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==} hasBin: true dependencies: - minimist: 1.2.6 + minimist: 1.2.8 dev: false /mkdirp@0.5.6: @@ -14493,7 +15093,7 @@ packages: /mlly@1.4.0: resolution: {integrity: sha512-ua8PAThnTwpprIaU47EPeZ/bPUVp2QYBbWMphUQpVdBI3Lgqzm5KZQ45Agm3YJedHXaIHl6pBGabaLSUPPSptg==} dependencies: - acorn: 8.9.0 + acorn: 8.10.0 pathe: 1.1.1 pkg-types: 1.0.3 ufo: 1.1.2 @@ -14595,7 +15195,6 @@ packages: /mock-fs@4.14.0: resolution: {integrity: sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw==} - requiresBuild: true dev: true optional: true @@ -14643,9 +15242,8 @@ packages: /multibase@0.6.1: resolution: {integrity: sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==} deprecated: This module has been superseded by the multiformats module - requiresBuild: true dependencies: - base-x: 3.0.8 + base-x: 3.0.9 buffer: 5.7.1 dev: true optional: true @@ -14653,9 +15251,8 @@ packages: /multibase@0.7.0: resolution: {integrity: sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==} deprecated: This module has been superseded by the multiformats module - requiresBuild: true dependencies: - base-x: 3.0.8 + base-x: 3.0.9 buffer: 5.7.1 dev: true optional: true @@ -14663,7 +15260,6 @@ packages: /multicodec@0.5.7: resolution: {integrity: sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==} deprecated: This module has been superseded by the multiformats module - requiresBuild: true dependencies: varint: 5.0.2 dev: true @@ -14672,7 +15268,6 @@ packages: /multicodec@1.0.4: resolution: {integrity: sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==} deprecated: This module has been superseded by the multiformats module - requiresBuild: true dependencies: buffer: 5.7.1 varint: 5.0.2 @@ -14684,7 +15279,6 @@ packages: /multihashes@0.4.21: resolution: {integrity: sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==} - requiresBuild: true dependencies: buffer: 5.7.1 multibase: 0.7.0 @@ -14725,7 +15319,6 @@ packages: /nano-json-stream-parser@0.1.2: resolution: {integrity: sha512-9MqxMH/BSJC7dnLsEMPyfN5Dvoo49IsPFYMcHw3Bcfc2kN0lpHRBSzlMSVx4HGyJ7s9B31CyBTVehWJoQ8Ctew==} - requiresBuild: true dev: true optional: true @@ -14792,8 +15385,8 @@ packages: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} dev: true - /next-tick@1.0.0: - resolution: {integrity: sha512-mc/caHeUcdjnC/boPWJefDr4KUIWQNv+tlnFnJd38QMou86QtxQzBJfxgGRzvx8jazYRqrVlaHarfO72uNxPOg==} + /next-tick@1.1.0: + resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} dev: true /nice-try@1.0.5: @@ -14865,7 +15458,6 @@ packages: /node-gyp-build@4.3.0: resolution: {integrity: sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==} hasBin: true - requiresBuild: true dev: true optional: true @@ -14891,7 +15483,7 @@ packages: nopt: 6.0.0 npmlog: 6.0.2 rimraf: 3.0.2 - semver: 7.5.4 + semver: 7.5.3 tar: 6.1.11 which: 2.0.2 transitivePeerDependencies: @@ -14940,8 +15532,8 @@ packages: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: hosted-git-info: 2.8.9 - resolve: 1.22.2 - semver: 5.7.2 + resolve: 1.22.4 + semver: 5.7.1 validate-npm-package-license: 3.0.4 /normalize-package-data@3.0.3: @@ -14949,8 +15541,8 @@ packages: engines: {node: '>=10'} dependencies: hosted-git-info: 4.1.0 - is-core-module: 2.12.1 - semver: 7.5.4 + is-core-module: 2.13.0 + semver: 7.5.3 validate-npm-package-license: 3.0.4 dev: true @@ -14959,8 +15551,8 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: hosted-git-info: 5.2.1 - is-core-module: 2.12.1 - semver: 7.5.4 + is-core-module: 2.13.0 + semver: 7.5.3 validate-npm-package-license: 3.0.4 dev: true @@ -14969,8 +15561,8 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: hosted-git-info: 6.1.1 - is-core-module: 2.12.1 - semver: 7.5.4 + is-core-module: 2.13.0 + semver: 7.5.3 validate-npm-package-license: 3.0.4 dev: true @@ -14982,7 +15574,12 @@ packages: /normalize-url@4.5.1: resolution: {integrity: sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==} engines: {node: '>=8'} - requiresBuild: true + dev: true + optional: true + + /normalize-url@6.1.0: + resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} + engines: {node: '>=10'} dev: true optional: true @@ -15003,7 +15600,7 @@ packages: resolution: {integrity: sha512-dH3GmQL4vsPtld59cOn8uY0iOqRmqKvV+DLGwNXV/Q7MDgD2QfOADWd/mFXcIE5LVhYYGjA3baz6W9JneqnuCw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - semver: 7.5.4 + semver: 7.5.3 dev: true /npm-normalize-package-bin@1.0.1: @@ -15026,7 +15623,7 @@ packages: dependencies: hosted-git-info: 6.1.1 proc-log: 3.0.0 - semver: 7.5.4 + semver: 7.5.3 validate-npm-package-name: 5.0.0 dev: true @@ -15035,7 +15632,7 @@ packages: engines: {node: '>=10'} dependencies: hosted-git-info: 3.0.8 - semver: 7.5.4 + semver: 7.5.3 validate-npm-package-name: 3.0.0 dev: true @@ -15045,7 +15642,7 @@ packages: dependencies: hosted-git-info: 5.2.1 proc-log: 2.0.1 - semver: 7.5.4 + semver: 7.5.3 validate-npm-package-name: 4.0.0 dev: true @@ -15074,7 +15671,7 @@ packages: npm-install-checks: 6.1.1 npm-normalize-package-bin: 3.0.1 npm-package-arg: 10.1.0 - semver: 7.5.4 + semver: 7.5.3 dev: true /npm-registry-fetch@13.3.1: @@ -15180,11 +15777,11 @@ packages: resolution: {integrity: sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==} dev: true - /nx-cloud@16.3.0: - resolution: {integrity: sha512-hmNgpeLO4v4WDSWa8YhwX+q+9ohIyY8iqxlWyIKixWzQH2XfRgYFjOLH4IDLGOlKa3hg7MB6+4+75cK9CfSmKw==} + /nx-cloud@16.0.5: + resolution: {integrity: sha512-13P7r0aKikjBtmdZrNorwXzVPeVIV4MLEwqGY+DEG6doLBtI5KqEQk/d5B5l2dCF2BEi/LXEmLYCmf9gwbOJ+Q==} hasBin: true dependencies: - '@nrwl/nx-cloud': 16.3.0 + '@nrwl/nx-cloud': 16.0.5 axios: 1.1.3 chalk: 4.1.2 dotenv: 10.0.0 @@ -15198,8 +15795,8 @@ packages: - debug dev: true - /nx@15.6.0: - resolution: {integrity: sha512-CWlXRlYiEiRMgElij6WtPyI7+QGmIRlajWMpFsIGSP6/O6wDbWIaDUWHp1RJD9d6BkoSkd2znkxtjctJYGjSww==} + /nx@15.9.4: + resolution: {integrity: sha512-P1G4t59UvE/lkHyruLeSOB5ZuNyh01IwU0tTUOi8f9s/NbP7+OQ8MYVwDV74JHTr6mQgjlS+n+4Eox8tVm9itA==} hasBin: true requiresBuild: true peerDependencies: @@ -15211,13 +15808,13 @@ packages: '@swc/core': optional: true dependencies: - '@nrwl/cli': 15.6.0 - '@nrwl/tao': 15.6.0 + '@nrwl/cli': 15.9.4 + '@nrwl/tao': 15.9.4 '@parcel/watcher': 2.0.4 '@yarnpkg/lockfile': 1.1.0 - '@yarnpkg/parsers': 3.0.0-rc.36 + '@yarnpkg/parsers': 3.0.0-rc.46 '@zkochan/js-yaml': 0.0.6 - axios: 1.2.3 + axios: 1.4.0 chalk: 4.1.2 cli-cursor: 3.1.0 cli-spinners: 2.6.1 @@ -15227,7 +15824,7 @@ packages: fast-glob: 3.2.7 figures: 3.2.0 flat: 5.0.2 - fs-extra: 11.1.0 + fs-extra: 11.1.1 glob: 7.1.4 ignore: 5.2.4 js-yaml: 4.1.0 @@ -15235,23 +15832,33 @@ packages: lines-and-columns: 2.0.3 minimatch: 3.0.5 npm-run-path: 4.0.1 - open: 8.4.0 + open: 8.4.2 semver: 7.3.4 string-width: 4.2.3 strong-log-transformer: 2.1.0 tar-stream: 2.2.0 tmp: 0.2.1 - tsconfig-paths: 4.1.2 - tslib: 2.5.3 + tsconfig-paths: 4.2.0 + tslib: 2.6.0 v8-compile-cache: 2.3.0 yargs: 17.6.2 yargs-parser: 21.1.1 + optionalDependencies: + '@nrwl/nx-darwin-arm64': 15.9.4 + '@nrwl/nx-darwin-x64': 15.9.4 + '@nrwl/nx-linux-arm-gnueabihf': 15.9.4 + '@nrwl/nx-linux-arm64-gnu': 15.9.4 + '@nrwl/nx-linux-arm64-musl': 15.9.4 + '@nrwl/nx-linux-x64-gnu': 15.9.4 + '@nrwl/nx-linux-x64-musl': 15.9.4 + '@nrwl/nx-win32-arm64-msvc': 15.9.4 + '@nrwl/nx-win32-x64-msvc': 15.9.4 transitivePeerDependencies: - debug dev: true - /nx@15.9.4: - resolution: {integrity: sha512-P1G4t59UvE/lkHyruLeSOB5ZuNyh01IwU0tTUOi8f9s/NbP7+OQ8MYVwDV74JHTr6mQgjlS+n+4Eox8tVm9itA==} + /nx@16.6.0: + resolution: {integrity: sha512-4UaS9nRakpZs45VOossA7hzSQY2dsr035EoPRGOc81yoMFW6Sqn1Rgq4hiLbHZOY8MnWNsLMkgolNMz1jC8YUQ==} hasBin: true requiresBuild: true peerDependencies: @@ -15263,11 +15870,10 @@ packages: '@swc/core': optional: true dependencies: - '@nrwl/cli': 15.9.4 - '@nrwl/tao': 15.9.4 + '@nrwl/tao': 16.6.0 '@parcel/watcher': 2.0.4 '@yarnpkg/lockfile': 1.1.0 - '@yarnpkg/parsers': 3.0.0-rc.36 + '@yarnpkg/parsers': 3.0.0-rc.46 '@zkochan/js-yaml': 0.0.6 axios: 1.4.0 chalk: 4.1.2 @@ -15286,9 +15892,10 @@ packages: jsonc-parser: 3.2.0 lines-and-columns: 2.0.3 minimatch: 3.0.5 + node-machine-id: 1.1.12 npm-run-path: 4.0.1 open: 8.4.2 - semver: 7.3.4 + semver: 7.5.3 string-width: 4.2.3 strong-log-transformer: 2.1.0 tar-stream: 2.2.0 @@ -15299,15 +15906,16 @@ packages: yargs: 17.6.2 yargs-parser: 21.1.1 optionalDependencies: - '@nrwl/nx-darwin-arm64': 15.9.4 - '@nrwl/nx-darwin-x64': 15.9.4 - '@nrwl/nx-linux-arm-gnueabihf': 15.9.4 - '@nrwl/nx-linux-arm64-gnu': 15.9.4 - '@nrwl/nx-linux-arm64-musl': 15.9.4 - '@nrwl/nx-linux-x64-gnu': 15.9.4 - '@nrwl/nx-linux-x64-musl': 15.9.4 - '@nrwl/nx-win32-arm64-msvc': 15.9.4 - '@nrwl/nx-win32-x64-msvc': 15.9.4 + '@nx/nx-darwin-arm64': 16.6.0 + '@nx/nx-darwin-x64': 16.6.0 + '@nx/nx-freebsd-x64': 16.6.0 + '@nx/nx-linux-arm-gnueabihf': 16.6.0 + '@nx/nx-linux-arm64-gnu': 16.6.0 + '@nx/nx-linux-arm64-musl': 16.6.0 + '@nx/nx-linux-x64-gnu': 16.6.0 + '@nx/nx-linux-x64-musl': 16.6.0 + '@nx/nx-win32-arm64-msvc': 16.6.0 + '@nx/nx-win32-x64-msvc': 16.6.0 transitivePeerDependencies: - debug dev: true @@ -15364,10 +15972,6 @@ packages: kind-of: 3.2.2 dev: true - /object-inspect@1.11.0: - resolution: {integrity: sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==} - dev: true - /object-inspect@1.12.3: resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} @@ -15407,8 +16011,8 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.1.4 - es-abstract: 1.21.1 + define-properties: 1.2.0 + es-abstract: 1.21.2 dev: true /object.fromentries@2.0.4: @@ -15416,11 +16020,20 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.1.4 - es-abstract: 1.21.1 + define-properties: 1.2.0 + es-abstract: 1.21.2 has: 1.0.3 dev: true + /object.fromentries@2.0.6: + resolution: {integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + dev: true + /object.getownpropertydescriptors@2.1.6: resolution: {integrity: sha512-lq+61g26E/BgHv0ZTFgRvi7NMEPuAxLkFU7rukXjc/AlwH4Am5xXVnIXy3un1bg/JPbXHrixRkK1itUzzPiIjQ==} engines: {node: '>= 0.8'} @@ -15428,10 +16041,19 @@ packages: array.prototype.reduce: 1.0.5 call-bind: 1.0.2 define-properties: 1.2.0 - es-abstract: 1.21.2 + es-abstract: 1.22.1 safe-array-concat: 1.0.0 dev: true + /object.groupby@1.0.0: + resolution: {integrity: sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + get-intrinsic: 1.2.1 + dev: true + /object.pick@1.3.0: resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} engines: {node: '>=0.10.0'} @@ -15444,8 +16066,17 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.1.4 - es-abstract: 1.21.1 + define-properties: 1.2.0 + es-abstract: 1.21.2 + dev: true + + /object.values@1.1.6: + resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 dev: true /obliterator@1.6.1: @@ -15454,7 +16085,6 @@ packages: /oboe@2.1.4: resolution: {integrity: sha512-ymBJ4xSC6GBXLT9Y7lirj+xbqBLa+jADGJldGEYG7u8sZbS9GyG+u1Xk9c5cbriKwSpCg41qUhPjvU5xOpvIyQ==} - requiresBuild: true dependencies: http-https: 1.0.0 dev: true @@ -15508,15 +16138,6 @@ packages: is-wsl: 2.2.0 dev: true - /open@8.4.0: - resolution: {integrity: sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==} - engines: {node: '>=12'} - dependencies: - define-lazy-prop: 2.0.0 - is-docker: 2.2.1 - is-wsl: 2.2.0 - dev: true - /open@8.4.2: resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} engines: {node: '>=12'} @@ -15585,20 +16206,18 @@ packages: engines: {node: '>=0.10.0'} /outdent@0.5.0: - resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} - dev: false - - /p-cancelable@0.3.0: - resolution: {integrity: sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==} - engines: {node: '>=4'} - requiresBuild: true - dev: true - optional: true + resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} + dev: false /p-cancelable@1.1.0: resolution: {integrity: sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==} engines: {node: '>=6'} - requiresBuild: true + dev: true + optional: true + + /p-cancelable@2.1.1: + resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} + engines: {node: '>=8'} dev: true optional: true @@ -15707,15 +16326,6 @@ packages: engines: {node: '>=8'} dev: true - /p-timeout@1.2.1: - resolution: {integrity: sha512-gb0ryzr+K2qFqFv6qi3khoeqMZF/+ajxQipEF6NteZVnvz9tzdsfAVj3lYtn1gAXvH5lfLwfxEII799gt/mRIA==} - engines: {node: '>=4'} - requiresBuild: true - dependencies: - p-finally: 1.0.0 - dev: true - optional: true - /p-timeout@3.2.0: resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} engines: {node: '>=8'} @@ -15759,7 +16369,7 @@ packages: '@npmcli/promise-spawn': 6.0.2 '@npmcli/run-script': 6.0.2 cacache: 17.1.3 - fs-minipass: 3.0.2 + fs-minipass: 3.0.3 minipass: 4.2.8 npm-package-arg: 10.1.0 npm-packlist: 7.0.4 @@ -15787,7 +16397,7 @@ packages: '@npmcli/promise-spawn': 6.0.2 '@npmcli/run-script': 6.0.2 cacache: 17.1.3 - fs-minipass: 3.0.2 + fs-minipass: 3.0.3 minipass: 5.0.0 npm-package-arg: 10.1.0 npm-packlist: 7.0.4 @@ -15821,7 +16431,6 @@ packages: /parse-asn1@5.1.6: resolution: {integrity: sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==} - requiresBuild: true dependencies: asn1.js: 5.4.1 browserify-aes: 1.2.0 @@ -15953,6 +16562,27 @@ packages: tmp: 0.0.33 dev: true + /patch-package@6.5.1: + resolution: {integrity: sha512-I/4Zsalfhc6bphmJTlrLoOcAF87jcxko4q0qsv4bGcurbr8IskEOtdnt9iCmsQVGL1B+iUhSQqweyTLJfCF9rA==} + engines: {node: '>=10', npm: '>5'} + hasBin: true + dependencies: + '@yarnpkg/lockfile': 1.1.0 + chalk: 4.1.2 + cross-spawn: 6.0.5 + find-yarn-workspace-root: 2.0.0 + fs-extra: 9.1.0 + is-ci: 2.0.0 + klaw-sync: 6.0.0 + minimist: 1.2.8 + open: 7.4.2 + rimraf: 2.7.1 + semver: 5.7.2 + slash: 2.0.0 + tmp: 0.0.33 + yaml: 1.10.2 + dev: true + /path-browserify@1.0.1: resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} dev: true @@ -16010,8 +16640,8 @@ packages: resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} engines: {node: '>=16 || 14 >=14.17'} dependencies: - lru-cache: 10.0.0 - minipass: 7.0.2 + lru-cache: 10.0.1 + minipass: 7.0.3 dev: true /path-to-regexp@0.1.7: @@ -16108,8 +16738,8 @@ packages: pino: 6.13.1 dev: false - /pino-sentry@0.7.0: - resolution: {integrity: sha512-/rZO1R/oMcMa4mzfIqW6Afap+TGgVHgB8iZfzwjhLdT2PhyuTUNJ3KJT2eIZ0citsQNv26pxRzIPbqgHuQtUAQ==} + /pino-sentry@0.14.0: + resolution: {integrity: sha512-UwX0zgJk2ToA1c1f6QpJ7OlWEwxMFt5apJgCYNhhBbuuJuPDmqEzDRMrWKcbF3HKFuupoaNWK6S3o4XXPmI9Rw==} engines: {node: '>=10'} hasBin: true dependencies: @@ -16267,17 +16897,9 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /prepend-http@1.0.4: - resolution: {integrity: sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg==} - engines: {node: '>=0.10.0'} - requiresBuild: true - dev: true - optional: true - /prepend-http@2.0.0: resolution: {integrity: sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==} engines: {node: '>=4'} - requiresBuild: true dev: true optional: true @@ -16307,12 +16929,12 @@ packages: resolution: {integrity: sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==} engines: {node: '>=10.13.0'} hasBin: true + dev: true /prettier@2.8.8: resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} engines: {node: '>=10.13.0'} hasBin: true - dev: true /pretty-format@27.5.1: resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} @@ -16473,7 +17095,6 @@ packages: /public-encrypt@4.0.3: resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==} - requiresBuild: true dependencies: bn.js: 4.12.0 browserify-rsa: 4.1.0 @@ -16499,7 +17120,7 @@ packages: pull-cat: 1.1.11 pull-live: 1.0.1 pull-pushable: 2.2.0 - pull-stream: 3.6.14 + pull-stream: 3.7.0 pull-window: 2.1.4 stream-to-pull-stream: 1.7.3 dev: true @@ -16508,15 +17129,15 @@ packages: resolution: {integrity: sha512-tkNz1QT5gId8aPhV5+dmwoIiA1nmfDOzJDlOOUpU5DNusj6neNd3EePybJ5+sITr2FwyCs/FVpx74YMCfc8YeA==} dependencies: pull-cat: 1.1.11 - pull-stream: 3.6.14 + pull-stream: 3.7.0 dev: true /pull-pushable@2.2.0: resolution: {integrity: sha512-M7dp95enQ2kaHvfCt2+DJfyzgCSpWVR2h2kWYnVsW6ZpxQBx5wOu0QWOvQPVoPnBLUZYitYP2y7HyHkLQNeGXg==} dev: true - /pull-stream@3.6.14: - resolution: {integrity: sha512-KIqdvpqHHaTUA2mCYcLG1ibEbu/LCKoJZsBWyv9lSYtPkJPBq8m3Hxa103xHi6D2thj5YXa0TqK3L3GUkwgnew==} + /pull-stream@3.7.0: + resolution: {integrity: sha512-Eco+/R004UaCK2qEDE8vGklcTG2OeZSVm1kTUQNrykEjDwcFXDZhygFDsW49DbXyJMEhHeRL3z5cRVqPAhXlIw==} dev: true /pull-window@2.1.4: @@ -16647,6 +17268,12 @@ packages: resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} engines: {node: '>=8'} + /quick-lru@5.1.1: + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} + dev: true + optional: true + /randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} dependencies: @@ -16654,7 +17281,6 @@ packages: /randomfill@1.0.4: resolution: {integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==} - requiresBuild: true dependencies: randombytes: 2.1.0 safe-buffer: 5.2.1 @@ -16973,15 +17599,6 @@ packages: hasBin: true dev: true - /regexp.prototype.flags@1.4.3: - resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - functions-have-names: 1.2.3 - dev: true - /regexp.prototype.flags@1.5.0: resolution: {integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==} engines: {node: '>= 0.4'} @@ -17155,6 +17772,11 @@ packages: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} dev: true + /resolve-alpn@1.2.1: + resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} + dev: true + optional: true + /resolve-cwd@3.0.0: resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} engines: {node: '>=8'} @@ -17171,6 +17793,10 @@ packages: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} + /resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + dev: true + /resolve-url@0.2.1: resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==} deprecated: https://github.com/lydell/resolve-url#deprecated @@ -17182,36 +17808,44 @@ packages: path-parse: 1.0.7 dev: true - /resolve@1.20.0: - resolution: {integrity: sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==} + /resolve@1.22.2: + resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} + hasBin: true dependencies: - is-core-module: 2.12.1 + is-core-module: 2.13.0 path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 dev: true - /resolve@1.22.2: - resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} + /resolve@1.22.4: + resolution: {integrity: sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==} hasBin: true dependencies: - is-core-module: 2.12.1 + is-core-module: 2.13.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 /resolve@2.0.0-next.3: resolution: {integrity: sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==} dependencies: - is-core-module: 2.12.1 + is-core-module: 2.13.0 path-parse: 1.0.7 dev: true /responselike@1.0.2: resolution: {integrity: sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==} - requiresBuild: true dependencies: lowercase-keys: 1.0.1 dev: true optional: true + /responselike@2.0.1: + resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} + dependencies: + lowercase-keys: 2.0.0 + dev: true + optional: true + /restore-cursor@3.1.0: resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} engines: {node: '>=8'} @@ -17426,7 +18060,6 @@ packages: /scryptsy@1.2.1: resolution: {integrity: sha512-aldIRgMozSJ/Gl6K6qmJZysRP82lz83Wb42vl4PWN8SaLFHIaOzLPc9nUUW2jQN88CuGm5q5HefJ9jZ3nWSmTw==} - requiresBuild: true dependencies: pbkdf2: 3.1.2 dev: true @@ -17494,6 +18127,7 @@ packages: /semver@5.7.2: resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true + dev: true /semver@6.3.0: resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} @@ -17560,7 +18194,6 @@ packages: /send@0.18.0: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} engines: {node: '>= 0.8.0'} - requiresBuild: true dependencies: debug: 2.6.9 depd: 2.0.0 @@ -17609,7 +18242,6 @@ packages: /serve-static@1.15.0: resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} engines: {node: '>= 0.8.0'} - requiresBuild: true dependencies: encodeurl: 1.0.2 escape-html: 1.0.3 @@ -17623,7 +18255,6 @@ packages: /servify@0.1.12: resolution: {integrity: sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw==} engines: {node: '>=6'} - requiresBuild: true dependencies: body-parser: 1.20.2 cors: 2.8.5 @@ -18187,7 +18818,7 @@ packages: resolution: {integrity: sha512-6sNyqJpr5dIOQdgNy/xcDWwDuzAsAwVzhzrWlAPAQ7Lkjx/rv0wgvxEyKwTq6FmNd5rjTrELt/CLmaSw7crMGg==} dependencies: looper: 3.0.0 - pull-stream: 3.6.14 + pull-stream: 3.7.0 dev: true /stream-transform@2.1.3: @@ -18243,12 +18874,12 @@ packages: resolution: {integrity: sha512-Z5ZaXO0svs0M2xd/6By3qpeKpLKd9mO4v4q3oMEQrk8Ck4xOD5d5XeBOOjGrmVZZ/AHB1S0CgG4N5r1G9N3E2Q==} dependencies: call-bind: 1.0.2 - define-properties: 1.1.4 - es-abstract: 1.21.1 + define-properties: 1.2.0 + es-abstract: 1.21.2 get-intrinsic: 1.2.1 has-symbols: 1.0.3 - internal-slot: 1.0.4 - regexp.prototype.flags: 1.4.3 + internal-slot: 1.0.5 + regexp.prototype.flags: 1.5.0 side-channel: 1.0.4 dev: true @@ -18407,9 +19038,9 @@ packages: deprecated: Please upgrade to v7.0.2+ of superagent. We have fixed numerous issues with streams, form-data, attach(), filesystem errors not bubbling up (ENOENT on attach()), and all tests are now passing. See the releases tab for more information at . dependencies: component-emitter: 1.3.0 - cookiejar: 2.1.2 + cookiejar: 2.1.4 debug: 4.3.4(supports-color@8.1.1) - fast-safe-stringify: 2.0.8 + fast-safe-stringify: 2.1.1 form-data: 3.0.1 formidable: 1.2.2 methods: 1.1.2 @@ -18473,15 +19104,14 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - /swarm-js@0.1.40: - resolution: {integrity: sha512-yqiOCEoA4/IShXkY3WKwP5PvZhmoOOD8clsKA7EEcRILMkTEYHCQ21HDCAcVpmIxZq4LyZvWeRJ6quIyHk1caA==} - requiresBuild: true + /swarm-js@0.1.42: + resolution: {integrity: sha512-BV7c/dVlA3R6ya1lMlSSNPLYrntt0LUq4YMgy3iwpCIc6rZnS5W2wUoctarZ5pXlpKtxDDf9hNziEkcfrxdhqQ==} dependencies: bluebird: 3.7.2 buffer: 5.7.1 eth-lib: 0.1.29 fs-extra: 4.0.3 - got: 7.1.0 + got: 11.8.6 mime-types: 2.1.35 mkdirp-promise: 5.0.1 mock-fs: 4.14.0 @@ -18509,22 +19139,22 @@ packages: wordwrapjs: 4.0.1 dev: true - /tape@4.14.0: - resolution: {integrity: sha512-z0+WrUUJuG6wIdWrl4W3rTte2CR26G6qcPOj3w1hfRdcmhF3kHBhOBW9VHsPVAkz08ZmGzp7phVpDupbLzrYKQ==} + /tape@4.16.2: + resolution: {integrity: sha512-TUChV+q0GxBBCEbfCYkGLkv8hDJYjMdSWdE0/Lr331sB389dsvFUHNV9ph5iQqKzt8Ss9drzcda/YeexclBFqg==} hasBin: true dependencies: call-bind: 1.0.2 deep-equal: 1.1.1 - defined: 1.0.0 + defined: 1.0.1 dotignore: 0.1.2 for-each: 0.3.3 - glob: 7.1.7 + glob: 7.2.3 has: 1.0.3 inherits: 2.0.4 is-regex: 1.1.4 minimist: 1.2.8 - object-inspect: 1.11.0 - resolve: 1.20.0 + object-inspect: 1.12.3 + resolve: 1.22.4 resumer: 0.0.0 string.prototype.trim: 1.2.7 through: 2.3.8 @@ -18544,7 +19174,6 @@ packages: /tar@4.4.19: resolution: {integrity: sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==} engines: {node: '>=4.5'} - requiresBuild: true dependencies: chownr: 1.1.4 fs-minipass: 1.2.7 @@ -18747,7 +19376,6 @@ packages: /to-readable-stream@1.0.0: resolution: {integrity: sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==} engines: {node: '>=6'} - requiresBuild: true dev: true optional: true @@ -18856,6 +19484,15 @@ packages: resolution: {integrity: sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q==} dev: true + /ts-api-utils@1.0.1(typescript@5.1.6): + resolution: {integrity: sha512-lC/RGlPmwdrIBFTX59wwNzqh7aR2otPNPR/5brHZm/XKFYKsfqxihXUe9pU3JI+3vGkl+vyCoNNnPhJn3aLK1A==} + engines: {node: '>=16.13.0'} + peerDependencies: + typescript: '>=4.2.0' + dependencies: + typescript: 5.1.6 + dev: true + /ts-command-line-args@2.5.1: resolution: {integrity: sha512-H69ZwTw3rFHb5WYpQya40YAX2/w7Ut75uUECbgBIsLmM+BNuYnxsltfyyLMxy6sEeKxgijLTnQtLd0nKd6+IYw==} hasBin: true @@ -18890,13 +19527,13 @@ packages: hasBin: true dependencies: '@types/mkdirp': 0.5.2 - '@types/prettier': 2.3.2 + '@types/prettier': 2.7.3 '@types/resolve': 0.0.8 chalk: 2.4.2 glob: 7.2.3 mkdirp: 0.5.6 prettier: 2.8.8 - resolve: 1.22.2 + resolve: 1.22.4 ts-essentials: 1.0.4 dev: true @@ -18917,7 +19554,7 @@ packages: tsconfig-paths: 3.14.2 dev: true - /ts-node@10.9.1(@types/node@12.20.55)(typescript@5.1.6): + /ts-node@10.9.1(@types/node@20.5.0)(typescript@5.1.6): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -18936,8 +19573,8 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 12.20.55 - acorn: 8.9.0 + '@types/node': 20.5.0 + acorn: 8.10.0 acorn-walk: 8.2.0 arg: 4.1.3 create-require: 1.1.1 @@ -18957,7 +19594,7 @@ packages: buffer-from: 1.1.2 diff: 3.5.0 make-error: 1.3.6 - minimist: 1.2.6 + minimist: 1.2.8 mkdirp: 0.5.6 source-map-support: 0.5.21 yn: 2.0.0 @@ -18978,31 +19615,12 @@ packages: yn: 3.1.1 dev: false - /tsconfig-paths@3.14.1: - resolution: {integrity: sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==} - dependencies: - '@types/json5': 0.0.29 - json5: 1.0.2 - minimist: 1.2.6 - strip-bom: 3.0.0 - dev: true - /tsconfig-paths@3.14.2: resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} requiresBuild: true dependencies: '@types/json5': 0.0.29 json5: 1.0.2 - minimist: 1.2.6 - strip-bom: 3.0.0 - dev: true - optional: true - - /tsconfig-paths@4.1.2: - resolution: {integrity: sha512-uhxiMgnXQp1IR622dUXI+9Ehnws7i/y6xvpZB9IbUVOPy0muvdvgXeZOn88UcGPiT98Vp3rJPTa8bFoalZ3Qhw==} - engines: {node: '>=6'} - dependencies: - json5: 2.2.3 minimist: 1.2.8 strip-bom: 3.0.0 dev: true @@ -19023,10 +19641,6 @@ packages: resolution: {integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==} dev: false - /tslib@2.5.3: - resolution: {integrity: sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==} - dev: true - /tslib@2.6.0: resolution: {integrity: sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==} @@ -19080,6 +19694,17 @@ packages: typescript: 5.1.6 dev: true + /tsx@3.12.7: + resolution: {integrity: sha512-C2Ip+jPmqKd1GWVQDvz/Eyc6QJbGfE7NrR3fx5BpEHMZsEHoIxHL1j+lKdGobr8ovEyqeNkPLSKp6SCSOt7gmw==} + hasBin: true + dependencies: + '@esbuild-kit/cjs-loader': 2.4.2 + '@esbuild-kit/core-utils': 3.1.0 + '@esbuild-kit/esm-loader': 2.5.5 + optionalDependencies: + fsevents: 2.3.2 + dev: true + /tty-table@4.1.6: resolution: {integrity: sha512-kRj5CBzOrakV4VRRY5kUWbNYvo/FpOsz65DzI5op9P+cHov3+IqPbo1JE1ZnQGkHdZgNFDsrEjrfqqy/Ply9fw==} engines: {node: '>=8.0.0'} @@ -19186,8 +19811,8 @@ packages: resolution: {integrity: sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==} dev: true - /type@2.5.0: - resolution: {integrity: sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==} + /type@2.7.2: + resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==} dev: true /typechain@3.0.0(typescript@5.1.6): @@ -19227,12 +19852,42 @@ packages: - supports-color dev: true + /typed-array-buffer@1.0.0: + resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + is-typed-array: 1.1.12 + dev: true + + /typed-array-byte-length@1.0.0: + resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + for-each: 0.3.3 + has-proto: 1.0.1 + is-typed-array: 1.1.12 + dev: true + + /typed-array-byte-offset@1.0.0: + resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + for-each: 0.3.3 + has-proto: 1.0.1 + is-typed-array: 1.1.12 + dev: true + /typed-array-length@1.0.4: resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} dependencies: call-bind: 1.0.2 for-each: 0.3.3 - is-typed-array: 1.1.10 + is-typed-array: 1.1.12 /typedarray-to-buffer@3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} @@ -19320,7 +19975,6 @@ packages: /ultron@1.1.1: resolution: {integrity: sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==} - requiresBuild: true dev: true optional: true @@ -19338,7 +19992,6 @@ packages: /underscore@1.9.1: resolution: {integrity: sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==} - requiresBuild: true dev: true optional: true @@ -19466,6 +20119,17 @@ packages: engines: {node: '>=4'} dev: true + /update-browserslist-db@1.0.11(browserslist@4.21.10): + resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.21.10 + escalade: 3.1.1 + picocolors: 1.0.0 + dev: true + /update-browserslist-db@1.0.11(browserslist@4.21.9): resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==} hasBin: true @@ -19507,19 +20171,9 @@ packages: resolution: {integrity: sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==} dev: false - /url-parse-lax@1.0.0: - resolution: {integrity: sha512-BVA4lR5PIviy2PMseNd2jbFQ+jwSwQGdJejf5ctd1rEXt0Ypd7yanUK9+lYechVlN5VaTJGsu2U/3MDDu6KgBA==} - engines: {node: '>=0.10.0'} - requiresBuild: true - dependencies: - prepend-http: 1.0.4 - dev: true - optional: true - /url-parse-lax@3.0.0: resolution: {integrity: sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==} engines: {node: '>=4'} - requiresBuild: true dependencies: prepend-http: 2.0.0 dev: true @@ -19535,13 +20189,6 @@ packages: /url-set-query@1.0.0: resolution: {integrity: sha512-3AChu4NiXquPfeckE5R5cGdiHCMWJx1dwCWOmWIL4KHAziJNOFIYJlpGFeKDvwLPHovZRCxK3cYlwzqI9Vp+Gg==} - /url-to-options@1.0.1: - resolution: {integrity: sha512-0kQLIzG4fdk/G5NONku64rSH/x32NOA39LVQqlK8Le6lvTF6GGRJpqaQFGgU+CLwySIqBSMdwYM0sYcW9f6P4A==} - engines: {node: '>= 4'} - requiresBuild: true - dev: true - optional: true - /url-value-parser@2.0.3: resolution: {integrity: sha512-FjIX+Q9lYmDM9uYIGdMYfQW0uLbWVwN2NrL2ayAI7BTOvEwzH+VoDdNquwB9h4dFAx+u6mb0ONLa3sHD5DvyvA==} engines: {node: '>=6.0.0'} @@ -19617,7 +20264,6 @@ packages: resolution: {integrity: sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==} deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. hasBin: true - requiresBuild: true dev: true optional: true @@ -19693,7 +20339,6 @@ packages: /varint@5.0.2: resolution: {integrity: sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==} - requiresBuild: true dev: true optional: true @@ -19767,7 +20412,7 @@ packages: - utf-8-validate - zod - /vite-node@0.28.3(@types/node@17.0.21): + /vite-node@0.28.3(@types/node@20.5.0): resolution: {integrity: sha512-uJJAOkgVwdfCX8PUQhqLyDOpkBS5+j+FdbsXoPVPDlvVjRkb/W/mLYQPSL6J+t8R0UV8tJSe8c9VyxVQNsDSyg==} engines: {node: '>=v14.16.0'} hasBin: true @@ -19779,7 +20424,7 @@ packages: picocolors: 1.0.0 source-map: 0.6.1 source-map-support: 0.5.21 - vite: 4.4.6(@types/node@17.0.21) + vite: 4.4.6(@types/node@20.5.0) transitivePeerDependencies: - '@types/node' - less @@ -19791,7 +20436,7 @@ packages: - terser dev: true - /vite-node@0.33.0(@types/node@20.4.3): + /vite-node@0.33.0(@types/node@20.5.0): resolution: {integrity: sha512-19FpHYbwWWxDr73ruNahC+vtEdza52kA90Qb3La98yZ0xULqV8A5JLNPUff0f5zID4984tW7l3DH2przTJUZSw==} engines: {node: '>=v14.18.0'} hasBin: true @@ -19801,7 +20446,7 @@ packages: mlly: 1.4.0 pathe: 1.1.1 picocolors: 1.0.0 - vite: 4.4.6(@types/node@20.4.3) + vite: 4.4.6(@types/node@20.5.0) transitivePeerDependencies: - '@types/node' - less @@ -19849,43 +20494,7 @@ packages: fsevents: 2.3.2 dev: true - /vite@4.4.6(@types/node@17.0.21): - resolution: {integrity: sha512-EY6Mm8vJ++S3D4tNAckaZfw3JwG3wa794Vt70M6cNJ6NxT87yhq7EC8Rcap3ahyHdo8AhCmV9PTk+vG1HiYn1A==} - engines: {node: ^14.18.0 || >=16.0.0} - hasBin: true - peerDependencies: - '@types/node': '>= 14' - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - '@types/node': 17.0.21 - esbuild: 0.18.15 - postcss: 8.4.27 - rollup: 3.26.3 - optionalDependencies: - fsevents: 2.3.2 - dev: true - - /vite@4.4.6(@types/node@20.4.3): + /vite@4.4.6(@types/node@20.5.0): resolution: {integrity: sha512-EY6Mm8vJ++S3D4tNAckaZfw3JwG3wa794Vt70M6cNJ6NxT87yhq7EC8Rcap3ahyHdo8AhCmV9PTk+vG1HiYn1A==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -19913,7 +20522,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.4.3 + '@types/node': 20.5.0 esbuild: 0.18.15 postcss: 8.4.27 rollup: 3.26.3 @@ -19945,7 +20554,7 @@ packages: dependencies: '@types/chai': 4.3.5 '@types/chai-subset': 1.3.3 - '@types/node': 17.0.21 + '@types/node': 20.5.0 '@vitest/expect': 0.28.3 '@vitest/runner': 0.28.3 '@vitest/spy': 0.28.3 @@ -19964,8 +20573,8 @@ packages: tinybench: 2.3.1 tinypool: 0.3.1 tinyspy: 1.0.2 - vite: 4.4.6(@types/node@17.0.21) - vite-node: 0.28.3(@types/node@17.0.21) + vite: 4.4.6(@types/node@20.5.0) + vite-node: 0.28.3(@types/node@20.5.0) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -20010,7 +20619,7 @@ packages: dependencies: '@types/chai': 4.3.5 '@types/chai-subset': 1.3.3 - '@types/node': 20.4.3 + '@types/node': 20.5.0 '@vitest/expect': 0.33.0 '@vitest/runner': 0.33.0 '@vitest/snapshot': 0.33.0 @@ -20030,8 +20639,8 @@ packages: strip-literal: 1.0.1 tinybench: 2.5.0 tinypool: 0.6.0 - vite: 4.4.6(@types/node@20.4.3) - vite-node: 0.33.0(@types/node@20.4.3) + vite: 4.4.6(@types/node@20.5.0) + vite-node: 0.33.0(@types/node@20.5.0) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -20107,11 +20716,10 @@ packages: /web3-bzz@1.2.11: resolution: {integrity: sha512-XGpWUEElGypBjeFyUhTkiPXFbDVD6Nr/S5jznE3t8cWUA0FxRf1n3n/NuIZeb0H9RkN2Ctd/jNma/k8XGa3YKg==} engines: {node: '>=8.0.0'} - requiresBuild: true dependencies: '@types/node': 12.20.55 got: 9.6.0 - swarm-js: 0.1.40 + swarm-js: 0.1.42 underscore: 1.9.1 transitivePeerDependencies: - bufferutil @@ -20123,7 +20731,6 @@ packages: /web3-core-helpers@1.2.11: resolution: {integrity: sha512-PEPoAoZd5ME7UfbnCZBdzIerpe74GEvlwT4AjOmHeCVZoIFk7EqvOZDejJHt+feJA6kMVTdd0xzRNN295UhC1A==} engines: {node: '>=8.0.0'} - requiresBuild: true dependencies: underscore: 1.9.1 web3-eth-iban: 1.2.11 @@ -20134,7 +20741,6 @@ packages: /web3-core-method@1.2.11: resolution: {integrity: sha512-ff0q76Cde94HAxLDZ6DbdmKniYCQVtvuaYh+rtOUMB6kssa5FX0q3vPmixi7NPooFnbKmmZCM6NvXg4IreTPIw==} engines: {node: '>=8.0.0'} - requiresBuild: true dependencies: '@ethersproject/transactions': 5.7.0 underscore: 1.9.1 @@ -20148,7 +20754,6 @@ packages: /web3-core-promievent@1.2.11: resolution: {integrity: sha512-il4McoDa/Ox9Agh4kyfQ8Ak/9ABYpnF8poBLL33R/EnxLsJOGQG2nZhkJa3I067hocrPSjEdlPt/0bHXsln4qA==} engines: {node: '>=8.0.0'} - requiresBuild: true dependencies: eventemitter3: 4.0.4 dev: true @@ -20157,7 +20762,6 @@ packages: /web3-core-requestmanager@1.2.11: resolution: {integrity: sha512-oFhBtLfOiIbmfl6T6gYjjj9igOvtyxJ+fjS+byRxiwFJyJ5BQOz4/9/17gWR1Cq74paTlI7vDGxYfuvfE/mKvA==} engines: {node: '>=8.0.0'} - requiresBuild: true dependencies: underscore: 1.9.1 web3-core-helpers: 1.2.11 @@ -20172,7 +20776,6 @@ packages: /web3-core-subscriptions@1.2.11: resolution: {integrity: sha512-qEF/OVqkCvQ7MPs1JylIZCZkin0aKK9lDxpAtQ1F8niEDGFqn7DT8E/vzbIa0GsOjL2fZjDhWJsaW+BSoAW1gg==} engines: {node: '>=8.0.0'} - requiresBuild: true dependencies: eventemitter3: 4.0.4 underscore: 1.9.1 @@ -20183,11 +20786,10 @@ packages: /web3-core@1.2.11: resolution: {integrity: sha512-CN7MEYOY5ryo5iVleIWRE3a3cZqVaLlIbIzDPsvQRUfzYnvzZQRZBm9Mq+ttDi2STOOzc1MKylspz/o3yq/LjQ==} engines: {node: '>=8.0.0'} - requiresBuild: true dependencies: '@types/bn.js': 4.11.6 '@types/node': 12.20.55 - bignumber.js: 9.0.1 + bignumber.js: 9.1.1 web3-core-helpers: 1.2.11 web3-core-method: 1.2.11 web3-core-requestmanager: 1.2.11 @@ -20200,7 +20802,6 @@ packages: /web3-eth-abi@1.2.11: resolution: {integrity: sha512-PkRYc0+MjuLSgg03QVWqWlQivJqRwKItKtEpRUaxUAeLE7i/uU39gmzm2keHGcQXo3POXAbOnMqkDvOep89Crg==} engines: {node: '>=8.0.0'} - requiresBuild: true dependencies: '@ethersproject/abi': 5.0.0-beta.153 underscore: 1.9.1 @@ -20211,11 +20812,10 @@ packages: /web3-eth-accounts@1.2.11: resolution: {integrity: sha512-6FwPqEpCfKIh3nSSGeo3uBm2iFSnFJDfwL3oS9pyegRBXNsGRVpgiW63yhNzL0796StsvjHWwQnQHsZNxWAkGw==} engines: {node: '>=8.0.0'} - requiresBuild: true dependencies: crypto-browserify: 3.12.0 eth-lib: 0.2.8 - ethereumjs-common: 1.5.2 + ethereumjs-common: 1.5.0 ethereumjs-tx: 2.1.2 scrypt-js: 3.0.1 underscore: 1.9.1 @@ -20232,7 +20832,6 @@ packages: /web3-eth-contract@1.2.11: resolution: {integrity: sha512-MzYuI/Rq2o6gn7vCGcnQgco63isPNK5lMAan2E51AJLknjSLnOxwNY3gM8BcKoy4Z+v5Dv00a03Xuk78JowFow==} engines: {node: '>=8.0.0'} - requiresBuild: true dependencies: '@types/bn.js': 4.11.6 underscore: 1.9.1 @@ -20251,7 +20850,6 @@ packages: /web3-eth-ens@1.2.11: resolution: {integrity: sha512-dbW7dXP6HqT1EAPvnniZVnmw6TmQEKF6/1KgAxbo8iBBYrVTMDGFQUUnZ+C4VETGrwwaqtX4L9d/FrQhZ6SUiA==} engines: {node: '>=8.0.0'} - requiresBuild: true dependencies: content-hash: 2.5.2 eth-ens-namehash: 2.0.8 @@ -20270,7 +20868,6 @@ packages: /web3-eth-iban@1.2.11: resolution: {integrity: sha512-ozuVlZ5jwFC2hJY4+fH9pIcuH1xP0HEFhtWsR69u9uDIANHLPQQtWYmdj7xQ3p2YT4bQLq/axKhZi7EZVetmxQ==} engines: {node: '>=8.0.0'} - requiresBuild: true dependencies: bn.js: 4.12.0 web3-utils: 1.2.11 @@ -20280,7 +20877,6 @@ packages: /web3-eth-personal@1.2.11: resolution: {integrity: sha512-42IzUtKq9iHZ8K9VN0vAI50iSU9tOA1V7XU2BhF/tb7We2iKBVdkley2fg26TxlOcKNEHm7o6HRtiiFsVK4Ifw==} engines: {node: '>=8.0.0'} - requiresBuild: true dependencies: '@types/node': 12.20.55 web3-core: 1.2.11 @@ -20296,7 +20892,6 @@ packages: /web3-eth@1.2.11: resolution: {integrity: sha512-REvxW1wJ58AgHPcXPJOL49d1K/dPmuw4LjPLBPStOVkQjzDTVmJEIsiLwn2YeuNDd4pfakBwT8L3bz1G1/wVsQ==} engines: {node: '>=8.0.0'} - requiresBuild: true dependencies: underscore: 1.9.1 web3-core: 1.2.11 @@ -20319,7 +20914,6 @@ packages: /web3-net@1.2.11: resolution: {integrity: sha512-sjrSDj0pTfZouR5BSTItCuZ5K/oZPVdVciPQ6981PPPIwJJkCMeVjD7I4zO3qDPCnBjBSbWvVnLdwqUBPtHxyg==} engines: {node: '>=8.0.0'} - requiresBuild: true dependencies: web3-core: 1.2.11 web3-core-method: 1.2.11 @@ -20344,7 +20938,7 @@ packages: ethereumjs-util: 5.2.1 ethereumjs-vm: 2.6.0 json-rpc-error: 2.0.0 - json-stable-stringify: 1.0.1 + json-stable-stringify: 1.0.2 promise-to-callback: 1.0.0 readable-stream: 2.3.8 request: 2.88.2 @@ -20362,7 +20956,6 @@ packages: /web3-providers-http@1.2.11: resolution: {integrity: sha512-psh4hYGb1+ijWywfwpB2cvvOIMISlR44F/rJtYkRmQ5jMvG4FOCPlQJPiHQZo+2cc3HbktvvSJzIhkWQJdmvrA==} engines: {node: '>=8.0.0'} - requiresBuild: true dependencies: web3-core-helpers: 1.2.11 xhr2-cookies: 1.1.0 @@ -20372,7 +20965,6 @@ packages: /web3-providers-ipc@1.2.11: resolution: {integrity: sha512-yhc7Y/k8hBV/KlELxynWjJDzmgDEDjIjBzXK+e0rHBsYEhdCNdIH5Psa456c+l0qTEU2YzycF8VAjYpWfPnBpQ==} engines: {node: '>=8.0.0'} - requiresBuild: true dependencies: oboe: 2.1.4 underscore: 1.9.1 @@ -20383,7 +20975,6 @@ packages: /web3-providers-ws@1.2.11: resolution: {integrity: sha512-ZxnjIY1Er8Ty+cE4migzr43zA/+72AF1myzsLaU5eVgdsfV7Jqx7Dix1hbevNZDKFlSoEyq/3j/jYalh3So1Zg==} engines: {node: '>=8.0.0'} - requiresBuild: true dependencies: eventemitter3: 4.0.4 underscore: 1.9.1 @@ -20397,7 +20988,6 @@ packages: /web3-shh@1.2.11: resolution: {integrity: sha512-B3OrO3oG1L+bv3E1sTwCx66injW1A8hhwpknDUbV+sw3fehFazA06z9SGXUefuFI1kVs4q2vRi0n4oCcI4dZDg==} engines: {node: '>=8.0.0'} - requiresBuild: true dependencies: web3-core: 1.2.11 web3-core-method: 1.2.11 @@ -20408,10 +20998,23 @@ packages: dev: true optional: true + /web3-utils@1.10.1: + resolution: {integrity: sha512-r6iUUw/uMnNcWXjhRv33Nyrhxq3VGOPBXeSzxhOXIci4SvC/LPTpROY0uTrMX7ztKyODYrHp8WhTkEf+ZnHssw==} + engines: {node: '>=8.0.0'} + dependencies: + '@ethereumjs/util': 8.1.0 + bn.js: 5.2.1 + ethereum-bloom-filters: 1.0.10 + ethereum-cryptography: 2.1.2 + ethjs-unit: 0.1.6 + number-to-bn: 1.7.0 + randombytes: 2.1.0 + utf8: 3.0.0 + dev: true + /web3-utils@1.2.11: resolution: {integrity: sha512-3Tq09izhD+ThqHEaWYX4VOT7dNPdZiO+c/1QMA0s5X2lDFKK/xHJb7cyTRRVzN2LvlHbR7baS1tmQhSua51TcQ==} engines: {node: '>=8.0.0'} - requiresBuild: true dependencies: bn.js: 4.12.0 eth-lib: 0.2.8 @@ -20435,6 +21038,7 @@ packages: number-to-bn: 1.7.0 randombytes: 2.1.0 utf8: 3.0.0 + dev: false /web3@1.2.11: resolution: {integrity: sha512-mjQ8HeU41G6hgOYm1pmeH0mRAeNKJGnJEUzDMoerkpw7QUQT4exVREgF1MYPvL/z6vAshOXei25LE/t/Bxl8yQ==} @@ -20473,7 +21077,7 @@ packages: dependencies: bufferutil: 4.0.7 debug: 2.6.9 - es5-ext: 0.10.53 + es5-ext: 0.10.62 typedarray-to-buffer: 3.1.5 utf-8-validate: 5.0.10 yaeti: 0.0.6 @@ -20484,11 +21088,10 @@ packages: /websocket@1.0.34: resolution: {integrity: sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==} engines: {node: '>=4.0.0'} - requiresBuild: true dependencies: bufferutil: 4.0.7 debug: 2.6.9 - es5-ext: 0.10.53 + es5-ext: 0.10.62 typedarray-to-buffer: 3.1.5 utf-8-validate: 5.0.10 yaeti: 0.0.6 @@ -20582,17 +21185,6 @@ packages: gopd: 1.0.1 has-tostringtag: 1.0.0 - /which-typed-array@1.1.9: - resolution: {integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==} - engines: {node: '>= 0.4'} - dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.0 - is-typed-array: 1.1.10 - /which@1.3.1: resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} hasBin: true @@ -20748,7 +21340,6 @@ packages: /ws@3.3.3: resolution: {integrity: sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==} - requiresBuild: true peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ^5.0.2 @@ -20860,7 +21451,6 @@ packages: /xhr2-cookies@1.1.0: resolution: {integrity: sha512-hjXUA6q+jl/bd8ADHcVfFsSPIf+tyLIjuO9TwJC9WI6JP2zKcS7C+p56I9kCLLsaCiNT035iYvEUUzdEFj/8+g==} - requiresBuild: true dependencies: cookiejar: 2.1.4 dev: true