From eedddfe20aeb6b5b65e14864c19efd03e23cb738 Mon Sep 17 00:00:00 2001 From: oren-lava Date: Wed, 20 Mar 2024 16:59:41 +0200 Subject: [PATCH 01/35] CNS-930: define proto of new epoch cu structs --- proto/lavanet/lava/pairing/epoch_cu.proto | 24 + x/pairing/types/epoch_cu.pb.go | 620 ++++++++++++++++++++++ 2 files changed, 644 insertions(+) create mode 100644 proto/lavanet/lava/pairing/epoch_cu.proto create mode 100644 x/pairing/types/epoch_cu.pb.go diff --git a/proto/lavanet/lava/pairing/epoch_cu.proto b/proto/lavanet/lava/pairing/epoch_cu.proto new file mode 100644 index 0000000000..510ae0b03a --- /dev/null +++ b/proto/lavanet/lava/pairing/epoch_cu.proto @@ -0,0 +1,24 @@ +syntax = "proto3"; +package lavanet.lava.pairing; + +option go_package = "github.com/lavanet/lava/x/pairing/types"; + +// UniqueEpochSession is used to detect double spend attacks +// It's kept in a epoch-prefixed store with a unique index: provider, project ID, chain ID and session ID +message UniqueEpochSession { +} + +// ProviderEpochCu is used to track the CU of a specific provider in a specific epoch +// It's kept in a epoch-prefixed store with a unique index: provider address +message ProviderEpochCu { + uint64 serviced_cu = 1; + uint64 complainers_cu = 2; +} + +// ProviderConsumerEpochCu is used to track the CU between a specific provider and +// consumer in a specific epoch +// It's kept in a epoch-prefixed store with a unique index: provider and project ID +message ProviderConsumerEpochCu { + uint64 cu = 1; +} + diff --git a/x/pairing/types/epoch_cu.pb.go b/x/pairing/types/epoch_cu.pb.go new file mode 100644 index 0000000000..8b6b765f2e --- /dev/null +++ b/x/pairing/types/epoch_cu.pb.go @@ -0,0 +1,620 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: lavanet/lava/pairing/epoch_cu.proto + +package types + +import ( + fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package + +// UniqueEpochSession is used to detect double spend attacks +// It's kept in a epoch-prefixed store with a unique index: provider, project ID, chain ID and session ID +type UniqueEpochSession struct { +} + +func (m *UniqueEpochSession) Reset() { *m = UniqueEpochSession{} } +func (m *UniqueEpochSession) String() string { return proto.CompactTextString(m) } +func (*UniqueEpochSession) ProtoMessage() {} +func (*UniqueEpochSession) Descriptor() ([]byte, []int) { + return fileDescriptor_c2abb0ec984ffb4c, []int{0} +} +func (m *UniqueEpochSession) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *UniqueEpochSession) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_UniqueEpochSession.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *UniqueEpochSession) XXX_Merge(src proto.Message) { + xxx_messageInfo_UniqueEpochSession.Merge(m, src) +} +func (m *UniqueEpochSession) XXX_Size() int { + return m.Size() +} +func (m *UniqueEpochSession) XXX_DiscardUnknown() { + xxx_messageInfo_UniqueEpochSession.DiscardUnknown(m) +} + +var xxx_messageInfo_UniqueEpochSession proto.InternalMessageInfo + +// ProviderEpochCu is used to track the CU of a specific provider in a specific epoch +// It's kept in a epoch-prefixed store with a unique index: provider address +type ProviderEpochCu struct { + ServicedCu uint64 `protobuf:"varint,1,opt,name=serviced_cu,json=servicedCu,proto3" json:"serviced_cu,omitempty"` + ComplainersCu uint64 `protobuf:"varint,2,opt,name=complainers_cu,json=complainersCu,proto3" json:"complainers_cu,omitempty"` +} + +func (m *ProviderEpochCu) Reset() { *m = ProviderEpochCu{} } +func (m *ProviderEpochCu) String() string { return proto.CompactTextString(m) } +func (*ProviderEpochCu) ProtoMessage() {} +func (*ProviderEpochCu) Descriptor() ([]byte, []int) { + return fileDescriptor_c2abb0ec984ffb4c, []int{1} +} +func (m *ProviderEpochCu) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ProviderEpochCu) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ProviderEpochCu.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ProviderEpochCu) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProviderEpochCu.Merge(m, src) +} +func (m *ProviderEpochCu) XXX_Size() int { + return m.Size() +} +func (m *ProviderEpochCu) XXX_DiscardUnknown() { + xxx_messageInfo_ProviderEpochCu.DiscardUnknown(m) +} + +var xxx_messageInfo_ProviderEpochCu proto.InternalMessageInfo + +func (m *ProviderEpochCu) GetServicedCu() uint64 { + if m != nil { + return m.ServicedCu + } + return 0 +} + +func (m *ProviderEpochCu) GetComplainersCu() uint64 { + if m != nil { + return m.ComplainersCu + } + return 0 +} + +// ProviderConsumerEpochCu is used to track the CU between a specific provider and +// consumer in a specific epoch +// It's kept in a epoch-prefixed store with a unique index: provider and project ID +type ProviderConsumerEpochCu struct { + Cu uint64 `protobuf:"varint,1,opt,name=cu,proto3" json:"cu,omitempty"` +} + +func (m *ProviderConsumerEpochCu) Reset() { *m = ProviderConsumerEpochCu{} } +func (m *ProviderConsumerEpochCu) String() string { return proto.CompactTextString(m) } +func (*ProviderConsumerEpochCu) ProtoMessage() {} +func (*ProviderConsumerEpochCu) Descriptor() ([]byte, []int) { + return fileDescriptor_c2abb0ec984ffb4c, []int{2} +} +func (m *ProviderConsumerEpochCu) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ProviderConsumerEpochCu) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ProviderConsumerEpochCu.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ProviderConsumerEpochCu) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProviderConsumerEpochCu.Merge(m, src) +} +func (m *ProviderConsumerEpochCu) XXX_Size() int { + return m.Size() +} +func (m *ProviderConsumerEpochCu) XXX_DiscardUnknown() { + xxx_messageInfo_ProviderConsumerEpochCu.DiscardUnknown(m) +} + +var xxx_messageInfo_ProviderConsumerEpochCu proto.InternalMessageInfo + +func (m *ProviderConsumerEpochCu) GetCu() uint64 { + if m != nil { + return m.Cu + } + return 0 +} + +func init() { + proto.RegisterType((*UniqueEpochSession)(nil), "lavanet.lava.pairing.UniqueEpochSession") + proto.RegisterType((*ProviderEpochCu)(nil), "lavanet.lava.pairing.ProviderEpochCu") + proto.RegisterType((*ProviderConsumerEpochCu)(nil), "lavanet.lava.pairing.ProviderConsumerEpochCu") +} + +func init() { + proto.RegisterFile("lavanet/lava/pairing/epoch_cu.proto", fileDescriptor_c2abb0ec984ffb4c) +} + +var fileDescriptor_c2abb0ec984ffb4c = []byte{ + // 235 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0xce, 0x49, 0x2c, 0x4b, + 0xcc, 0x4b, 0x2d, 0xd1, 0x07, 0xd1, 0xfa, 0x05, 0x89, 0x99, 0x45, 0x99, 0x79, 0xe9, 0xfa, 0xa9, + 0x05, 0xf9, 0xc9, 0x19, 0xf1, 0xc9, 0xa5, 0x7a, 0x05, 0x45, 0xf9, 0x25, 0xf9, 0x42, 0x22, 0x50, + 0x45, 0x7a, 0x20, 0x5a, 0x0f, 0xaa, 0x48, 0x49, 0x84, 0x4b, 0x28, 0x34, 0x2f, 0xb3, 0xb0, 0x34, + 0xd5, 0x15, 0xa4, 0x3a, 0x38, 0xb5, 0xb8, 0x38, 0x33, 0x3f, 0x4f, 0x29, 0x92, 0x8b, 0x3f, 0xa0, + 0x28, 0xbf, 0x2c, 0x33, 0x25, 0xb5, 0x08, 0x2c, 0xee, 0x5c, 0x2a, 0x24, 0xcf, 0xc5, 0x5d, 0x9c, + 0x5a, 0x54, 0x96, 0x99, 0x9c, 0x9a, 0x12, 0x9f, 0x5c, 0x2a, 0xc1, 0xa8, 0xc0, 0xa8, 0xc1, 0x12, + 0xc4, 0x05, 0x13, 0x72, 0x2e, 0x15, 0x52, 0xe5, 0xe2, 0x4b, 0xce, 0xcf, 0x2d, 0xc8, 0x49, 0xcc, + 0xcc, 0x4b, 0x2d, 0x2a, 0x06, 0xa9, 0x61, 0x02, 0xab, 0xe1, 0x45, 0x12, 0x75, 0x2e, 0x55, 0xd2, + 0xe4, 0x12, 0x87, 0x19, 0xed, 0x9c, 0x9f, 0x57, 0x5c, 0x9a, 0x8b, 0xb0, 0x82, 0x8f, 0x8b, 0x09, + 0x6e, 0x32, 0x53, 0x72, 0xa9, 0x93, 0xe3, 0x89, 0x47, 0x72, 0x8c, 0x17, 0x1e, 0xc9, 0x31, 0x3e, + 0x78, 0x24, 0xc7, 0x38, 0xe1, 0xb1, 0x1c, 0xc3, 0x85, 0xc7, 0x72, 0x0c, 0x37, 0x1e, 0xcb, 0x31, + 0x44, 0xa9, 0xa7, 0x67, 0x96, 0x64, 0x94, 0x26, 0xe9, 0x25, 0xe7, 0xe7, 0xea, 0xa3, 0xf8, 0xbd, + 0x02, 0xee, 0xfb, 0x92, 0xca, 0x82, 0xd4, 0xe2, 0x24, 0x36, 0xb0, 0xdf, 0x8d, 0x01, 0x01, 0x00, + 0x00, 0xff, 0xff, 0x96, 0x05, 0x0f, 0x86, 0x22, 0x01, 0x00, 0x00, +} + +func (m *UniqueEpochSession) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *UniqueEpochSession) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *UniqueEpochSession) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *ProviderEpochCu) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ProviderEpochCu) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *ProviderEpochCu) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.ComplainersCu != 0 { + i = encodeVarintEpochCu(dAtA, i, uint64(m.ComplainersCu)) + i-- + dAtA[i] = 0x10 + } + if m.ServicedCu != 0 { + i = encodeVarintEpochCu(dAtA, i, uint64(m.ServicedCu)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *ProviderConsumerEpochCu) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ProviderConsumerEpochCu) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *ProviderConsumerEpochCu) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Cu != 0 { + i = encodeVarintEpochCu(dAtA, i, uint64(m.Cu)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func encodeVarintEpochCu(dAtA []byte, offset int, v uint64) int { + offset -= sovEpochCu(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *UniqueEpochSession) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *ProviderEpochCu) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.ServicedCu != 0 { + n += 1 + sovEpochCu(uint64(m.ServicedCu)) + } + if m.ComplainersCu != 0 { + n += 1 + sovEpochCu(uint64(m.ComplainersCu)) + } + return n +} + +func (m *ProviderConsumerEpochCu) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Cu != 0 { + n += 1 + sovEpochCu(uint64(m.Cu)) + } + return n +} + +func sovEpochCu(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozEpochCu(x uint64) (n int) { + return sovEpochCu(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *UniqueEpochSession) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEpochCu + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: UniqueEpochSession: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: UniqueEpochSession: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipEpochCu(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEpochCu + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ProviderEpochCu) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEpochCu + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ProviderEpochCu: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ProviderEpochCu: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ServicedCu", wireType) + } + m.ServicedCu = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEpochCu + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ServicedCu |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ComplainersCu", wireType) + } + m.ComplainersCu = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEpochCu + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ComplainersCu |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipEpochCu(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEpochCu + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ProviderConsumerEpochCu) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEpochCu + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ProviderConsumerEpochCu: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ProviderConsumerEpochCu: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Cu", wireType) + } + m.Cu = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEpochCu + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Cu |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipEpochCu(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEpochCu + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipEpochCu(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + depth := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowEpochCu + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + wireType := int(wire & 0x7) + switch wireType { + case 0: + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowEpochCu + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + case 1: + iNdEx += 8 + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowEpochCu + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if length < 0 { + return 0, ErrInvalidLengthEpochCu + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupEpochCu + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthEpochCu + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthEpochCu = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowEpochCu = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupEpochCu = fmt.Errorf("proto: unexpected end of group") +) From 209b607e40342564582457285c72d4e3b08a1276 Mon Sep 17 00:00:00 2001 From: oren-lava Date: Sun, 24 Mar 2024 17:32:18 +0200 Subject: [PATCH 02/35] CNS-930: create epoch CU objects + basic unit tests --- x/pairing/keeper/epoch_cu.go | 120 ++++++++++++++++++++++++++++ x/pairing/keeper/epoch_cu_test.go | 127 ++++++++++++++++++++++++++++++ x/pairing/types/epoch_cu.go | 36 +++++++++ 3 files changed, 283 insertions(+) create mode 100644 x/pairing/keeper/epoch_cu.go create mode 100644 x/pairing/keeper/epoch_cu_test.go create mode 100644 x/pairing/types/epoch_cu.go diff --git a/x/pairing/keeper/epoch_cu.go b/x/pairing/keeper/epoch_cu.go new file mode 100644 index 0000000000..b3ca9fe316 --- /dev/null +++ b/x/pairing/keeper/epoch_cu.go @@ -0,0 +1,120 @@ +package keeper + +import ( + "strings" + + "github.com/cosmos/cosmos-sdk/store/prefix" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/lavanet/lava/x/pairing/types" +) + +// UniqueEpochSession is used to detect double spend attacks +// It's kept in a epoch-prefixed store with a unique index: provider, project ID, chain ID and session ID +// +// ProviderEpochCu is used to track the CU of a specific provider in a specific epoch +// It's kept in a epoch-prefixed store with a unique index: provider address +// +// ProviderConsumerEpochCu is used to track the CU between a specific provider and +// consumer in a specific epoch +// It's kept in a epoch-prefixed store with a unique index: provider and project ID + +/* ########## UniqueEpochSession ############ */ + +// SetUniqueEpochSession sets a UniqueEpochSession in the store +func (k Keeper) SetUniqueEpochSession(ctx sdk.Context, provider string, project string, chainID string, sessionID uint64) { + epoch := k.epochStorageKeeper.GetEpochStart(ctx) + store := prefix.NewStore(ctx.KVStore(k.storeKey), types.UniqueEpochSessionKeyPrefix(epoch)) + store.Set(types.UniqueEpochSessionKey(provider, project, chainID, sessionID), []byte{0}) +} + +// GetUniqueEpochSession checks if a UniqueEpochSession exists +func (k Keeper) GetUniqueEpochSession(ctx sdk.Context, provider string, project string, chainID string, sessionID uint64) bool { + epoch := k.epochStorageKeeper.GetEpochStart(ctx) + store := prefix.NewStore(ctx.KVStore(k.storeKey), types.UniqueEpochSessionKeyPrefix(epoch)) + b := store.Get(types.UniqueEpochSessionKey(provider, project, chainID, sessionID)) + return b != nil +} + +// RemoveUniqueEpochSessions removes all the UniqueEpochSession objects from the store for a specific epoch +func (k Keeper) RemoveUniqueEpochSessions(ctx sdk.Context, epoch uint64) { + store := prefix.NewStore(ctx.KVStore(k.storeKey), types.UniqueEpochSessionKeyPrefix(epoch)) + iterator := sdk.KVStorePrefixIterator(store, []byte{}) // Get an iterator with no prefix to iterate over all keys + defer iterator.Close() + for ; iterator.Valid(); iterator.Next() { + store.Delete(iterator.Key()) + } +} + +// GetAllUniqueEpochSession gets all the UniqueEpochSession objects from the store for a specific epoch +func (k Keeper) GetAllUniqueEpochSession(ctx sdk.Context, epoch uint64) []string { + store := prefix.NewStore(ctx.KVStore(k.storeKey), types.UniqueEpochSessionKeyPrefix(epoch)) + + iterator := sdk.KVStorePrefixIterator(store, []byte{}) // Get an iterator with no prefix to iterate over all keys + defer iterator.Close() + + var keys []string + for ; iterator.Valid(); iterator.Next() { + key := iterator.Key() + // Remove the prefix to get the actual UniqueEpochSession key + uniqueEpochSessionKey := strings.TrimPrefix(string(key), string(types.UniqueEpochSessionKeyPrefix(epoch))) + keys = append(keys, uniqueEpochSessionKey) + } + + return keys +} + +/* ########## ProviderEpochCu ############ */ + +// SetProviderEpochCu sets a ProviderEpochCu in the store +func (k Keeper) SetProviderEpochCu(ctx sdk.Context, provider string, providerEpochCu types.ProviderEpochCu) { + epoch := k.epochStorageKeeper.GetEpochStart(ctx) + store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderEpochCuKeyPrefix(epoch)) + b := k.cdc.MustMarshal(&providerEpochCu) + store.Set(types.ProviderEpochCuKey(provider), b) +} + +// GetProviderEpochCu returns a ProviderEpochCu for a specific epoch and provider +func (k Keeper) GetProviderEpochCu(ctx sdk.Context, epoch uint64, provider string) (val types.ProviderEpochCu, found bool) { + store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderEpochCuKeyPrefix(epoch)) + b := store.Get(types.ProviderEpochCuKey(provider)) + if b == nil { + return val, false + } + + k.cdc.MustUnmarshal(b, &val) + return val, true +} + +// RemoveProviderEpochCu removes a ProviderEpochCu from the store +func (k Keeper) RemoveProviderEpochCu(ctx sdk.Context, epoch uint64, provider string) { + store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderEpochCuKeyPrefix(epoch)) + store.Delete(types.ProviderEpochCuKey(provider)) +} + +/* ########## ProviderConsumerEpochCu ############ */ + +// SetProviderConsumerEpochCu sets a ProviderConsumerEpochCu in the store +func (k Keeper) SetProviderConsumerEpochCu(ctx sdk.Context, provider string, project string, ProviderConsumerEpochCu types.ProviderConsumerEpochCu) { + epoch := k.epochStorageKeeper.GetEpochStart(ctx) + store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderConsumerEpochCuKeyPrefix(epoch)) + b := k.cdc.MustMarshal(&ProviderConsumerEpochCu) + store.Set(types.ProviderConsumerEpochCuKey(provider, project), b) +} + +// GetProviderConsumerEpochCu returns a ProviderConsumerEpochCu for a specific epoch, provider and project +func (k Keeper) GetProviderConsumerEpochCu(ctx sdk.Context, epoch uint64, provider string, project string) (val types.ProviderConsumerEpochCu, found bool) { + store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderConsumerEpochCuKeyPrefix(epoch)) + b := store.Get(types.ProviderConsumerEpochCuKey(provider, project)) + if b == nil { + return val, false + } + + k.cdc.MustUnmarshal(b, &val) + return val, true +} + +// RemoveProviderConsumerEpochCu removes a ProviderConsumerEpochCu from the store +func (k Keeper) RemoveProviderConsumerEpochCu(ctx sdk.Context, epoch uint64, provider string, project string) { + store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderConsumerEpochCuKeyPrefix(epoch)) + store.Delete(types.ProviderConsumerEpochCuKey(provider, project)) +} diff --git a/x/pairing/keeper/epoch_cu_test.go b/x/pairing/keeper/epoch_cu_test.go new file mode 100644 index 0000000000..f8efec6778 --- /dev/null +++ b/x/pairing/keeper/epoch_cu_test.go @@ -0,0 +1,127 @@ +package keeper_test + +import ( + "strconv" + "testing" + + sdk "github.com/cosmos/cosmos-sdk/types" + keepertest "github.com/lavanet/lava/testutil/keeper" + "github.com/lavanet/lava/testutil/nullify" + "github.com/lavanet/lava/x/pairing/keeper" + "github.com/lavanet/lava/x/pairing/types" + "github.com/stretchr/testify/require" +) + +// Prevent strconv unused error +var _ = strconv.IntSize + +/* ########## UniqueEpochSession ############ */ + +func createNUniqueEpochSession(keeper *keeper.Keeper, ctx sdk.Context, n int) []string { + items := make([]string, n) + for i := range items { + items[i] = strconv.Itoa(i) + keeper.SetUniqueEpochSession(ctx, items[i], items[i], items[i], uint64(i)) + } + return items +} + +func TestUniqueEpochSessionGet(t *testing.T) { + keeper, ctx := keepertest.PairingKeeper(t) + items := createNUniqueEpochSession(keeper, ctx, 10) + for i := range items { + item := strconv.Itoa(i) + found := keeper.GetUniqueEpochSession(ctx, item, item, item, uint64(i)) + require.True(t, found) + } +} + +func TestUniqueEpochSessionRemove(t *testing.T) { + keeper, ctx := keepertest.PairingKeeper(t) + items := createNUniqueEpochSession(keeper, ctx, 10) + keeper.RemoveUniqueEpochSessions(ctx, 0) + for i := range items { + item := strconv.Itoa(i) + found := keeper.GetUniqueEpochSession(ctx, item, item, item, uint64(i)) + require.False(t, found) + } +} + +func TestUniqueEpochSessionGetAll(t *testing.T) { + keeper, ctx := keepertest.PairingKeeper(t) + items := createNUniqueEpochSession(keeper, ctx, 10) + expectedKeys := []string{} + for i, item := range items { + key := string(types.UniqueEpochSessionKey(item, item, item, uint64(i))) + expectedKeys = append(expectedKeys, key) + } + require.ElementsMatch(t, nullify.Fill(expectedKeys), nullify.Fill(keeper.GetAllUniqueEpochSession(ctx, 0))) +} + +/* ########## ProviderEpochCu ############ */ + +func createNProviderEpochCu(keeper *keeper.Keeper, ctx sdk.Context, n int) []types.ProviderEpochCu { + items := make([]types.ProviderEpochCu, n) + for i := range items { + provider := strconv.Itoa(i) + items[i] = types.ProviderEpochCu{ServicedCu: uint64(i)} + keeper.SetProviderEpochCu(ctx, provider, items[i]) + } + return items +} + +func TestProviderEpochCuGet(t *testing.T) { + keeper, ctx := keepertest.PairingKeeper(t) + items := createNProviderEpochCu(keeper, ctx, 10) + for i, item := range items { + provider := strconv.Itoa(i) + pec, found := keeper.GetProviderEpochCu(ctx, 0, provider) + require.True(t, found) + require.Equal(t, item.ServicedCu, pec.ServicedCu) + } +} + +func TestProviderEpochCuRemove(t *testing.T) { + keeper, ctx := keepertest.PairingKeeper(t) + items := createNProviderEpochCu(keeper, ctx, 10) + for i := range items { + provider := strconv.Itoa(i) + keeper.RemoveProviderEpochCu(ctx, 0, provider) + _, found := keeper.GetProviderEpochCu(ctx, 0, provider) + require.False(t, found) + } +} + +/* ########## ProviderConsumerEpochCu ############ */ + +func createNProviderConsumerEpochCu(keeper *keeper.Keeper, ctx sdk.Context, n int) []types.ProviderConsumerEpochCu { + items := make([]types.ProviderConsumerEpochCu, n) + for i := range items { + name := strconv.Itoa(i) + items[i] = types.ProviderConsumerEpochCu{Cu: uint64(i)} + keeper.SetProviderConsumerEpochCu(ctx, name, name, items[i]) + } + return items +} + +func TestProviderConsumerEpochCuGet(t *testing.T) { + keeper, ctx := keepertest.PairingKeeper(t) + items := createNProviderConsumerEpochCu(keeper, ctx, 10) + for i, item := range items { + name := strconv.Itoa(i) + pecc, found := keeper.GetProviderConsumerEpochCu(ctx, 0, name, name) + require.True(t, found) + require.Equal(t, item.Cu, pecc.Cu) + } +} + +func TestProviderConsumerEpochCuRemove(t *testing.T) { + keeper, ctx := keepertest.PairingKeeper(t) + items := createNProviderConsumerEpochCu(keeper, ctx, 10) + for i := range items { + name := strconv.Itoa(i) + keeper.RemoveProviderConsumerEpochCu(ctx, 0, name, name) + _, found := keeper.GetProviderConsumerEpochCu(ctx, 0, name, name) + require.False(t, found) + } +} diff --git a/x/pairing/types/epoch_cu.go b/x/pairing/types/epoch_cu.go new file mode 100644 index 0000000000..4dfbc8a52b --- /dev/null +++ b/x/pairing/types/epoch_cu.go @@ -0,0 +1,36 @@ +package types + +import ( + "strconv" + "strings" +) + +const ( + UniqueEpochSessionPrefix = "UniqueEpochSession/" + ProviderEpochCuPrefix = "ProviderEpochCu/" + ProviderConsumerEpochCuPrefix = "ProviderConsumerEpochCu/" +) + +func UniqueEpochSessionKey(provider string, project string, chainID string, sessionID uint64) []byte { + return []byte(strings.Join([]string{provider, project, chainID, strconv.FormatUint(sessionID, 10)}, " ")) +} + +func ProviderEpochCuKey(provider string) []byte { + return []byte(provider) +} + +func ProviderConsumerEpochCuKey(provider string, project string) []byte { + return []byte(strings.Join([]string{provider, project}, " ")) +} + +func UniqueEpochSessionKeyPrefix(epoch uint64) []byte { + return []byte(UniqueEpochSessionPrefix + strconv.FormatUint(epoch, 10) + "/") +} + +func ProviderEpochCuKeyPrefix(epoch uint64) []byte { + return []byte(ProviderEpochCuPrefix + strconv.FormatUint(epoch, 10) + "/") +} + +func ProviderConsumerEpochCuKeyPrefix(epoch uint64) []byte { + return []byte(ProviderConsumerEpochCuPrefix + strconv.FormatUint(epoch, 10) + "/") +} From 2223677905cd5732659c1cf8cf8064936c1cb6f5 Mon Sep 17 00:00:00 2001 From: oren-lava Date: Mon, 25 Mar 2024 12:06:36 +0200 Subject: [PATCH 03/35] CNS-930: updated epoch CU objects implementation --- x/pairing/keeper/epoch_cu.go | 78 +++++++++++++++++++++++++++---- x/pairing/keeper/epoch_cu_test.go | 68 +++++++++++++++++++++------ x/pairing/types/epoch_cu.go | 14 ++++++ 3 files changed, 139 insertions(+), 21 deletions(-) diff --git a/x/pairing/keeper/epoch_cu.go b/x/pairing/keeper/epoch_cu.go index b3ca9fe316..da3253b996 100644 --- a/x/pairing/keeper/epoch_cu.go +++ b/x/pairing/keeper/epoch_cu.go @@ -1,10 +1,12 @@ package keeper import ( + "strconv" "strings" "github.com/cosmos/cosmos-sdk/store/prefix" sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/lavanet/lava/utils" "github.com/lavanet/lava/x/pairing/types" ) @@ -21,15 +23,13 @@ import ( /* ########## UniqueEpochSession ############ */ // SetUniqueEpochSession sets a UniqueEpochSession in the store -func (k Keeper) SetUniqueEpochSession(ctx sdk.Context, provider string, project string, chainID string, sessionID uint64) { - epoch := k.epochStorageKeeper.GetEpochStart(ctx) +func (k Keeper) SetUniqueEpochSession(ctx sdk.Context, epoch uint64, provider string, project string, chainID string, sessionID uint64) { store := prefix.NewStore(ctx.KVStore(k.storeKey), types.UniqueEpochSessionKeyPrefix(epoch)) store.Set(types.UniqueEpochSessionKey(provider, project, chainID, sessionID), []byte{0}) } // GetUniqueEpochSession checks if a UniqueEpochSession exists -func (k Keeper) GetUniqueEpochSession(ctx sdk.Context, provider string, project string, chainID string, sessionID uint64) bool { - epoch := k.epochStorageKeeper.GetEpochStart(ctx) +func (k Keeper) GetUniqueEpochSession(ctx sdk.Context, epoch uint64, provider string, project string, chainID string, sessionID uint64) bool { store := prefix.NewStore(ctx.KVStore(k.storeKey), types.UniqueEpochSessionKeyPrefix(epoch)) b := store.Get(types.UniqueEpochSessionKey(provider, project, chainID, sessionID)) return b != nil @@ -63,11 +63,30 @@ func (k Keeper) GetAllUniqueEpochSession(ctx sdk.Context, epoch uint64) []string return keys } +// GetAllUniqueEpochSessionStore gets all the UniqueEpochSession objects from the store (used for genesis) +func (k Keeper) GetAllUniqueEpochSessionStore(ctx sdk.Context) (epochs []uint64, keys []string) { + store := prefix.NewStore(ctx.KVStore(k.storeKey), []byte(types.UniqueEpochSessionPrefix)) + iterator := sdk.KVStorePrefixIterator(store, []byte{}) // Get an iterator with no prefix to iterate over all keys + defer iterator.Close() + for ; iterator.Valid(); iterator.Next() { + key := string(iterator.Key()) + split := strings.Split(key, "/") // key structure: epoch/unique_epoch_session_key + epoch, err := strconv.ParseUint(split[0], 10, 64) + if err != nil { + utils.LavaFormatError("could not decode UniqueEpochSessionKey", err, utils.LogAttr("key", string(iterator.Key()))) + continue + } + epochs = append(epochs, epoch) + keys = append(keys, split[1]) + } + + return epochs, keys +} + /* ########## ProviderEpochCu ############ */ // SetProviderEpochCu sets a ProviderEpochCu in the store -func (k Keeper) SetProviderEpochCu(ctx sdk.Context, provider string, providerEpochCu types.ProviderEpochCu) { - epoch := k.epochStorageKeeper.GetEpochStart(ctx) +func (k Keeper) SetProviderEpochCu(ctx sdk.Context, epoch uint64, provider string, providerEpochCu types.ProviderEpochCu) { store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderEpochCuKeyPrefix(epoch)) b := k.cdc.MustMarshal(&providerEpochCu) store.Set(types.ProviderEpochCuKey(provider), b) @@ -91,11 +110,32 @@ func (k Keeper) RemoveProviderEpochCu(ctx sdk.Context, epoch uint64, provider st store.Delete(types.ProviderEpochCuKey(provider)) } +// GetAllProviderEpochCuStore returns all the ProviderEpochCu from the store (used for genesis) +func (k Keeper) GetAllProviderEpochCuStore(ctx sdk.Context) (epochs []uint64, providers []string, providerEpochCus []types.ProviderEpochCu) { + store := prefix.NewStore(ctx.KVStore(k.storeKey), []byte(types.ProviderEpochCuPrefix)) + iterator := sdk.KVStorePrefixIterator(store, []byte{}) // Get an iterator with no prefix to iterate over all keys + defer iterator.Close() + for ; iterator.Valid(); iterator.Next() { + split := strings.Split(string(iterator.Key()), "/") // key structure: epoch/provider + epoch, err := strconv.ParseUint(split[0], 10, 64) + if err != nil { + utils.LavaFormatError("could not decode ProviderEpochCuKey", err, utils.LogAttr("key", string(iterator.Key()))) + continue + } + epochs = append(epochs, epoch) + providers = append(providers, split[1]) + var pec types.ProviderEpochCu + k.cdc.MustUnmarshal(iterator.Value(), &pec) + providerEpochCus = append(providerEpochCus, pec) + } + + return epochs, providers, providerEpochCus +} + /* ########## ProviderConsumerEpochCu ############ */ // SetProviderConsumerEpochCu sets a ProviderConsumerEpochCu in the store -func (k Keeper) SetProviderConsumerEpochCu(ctx sdk.Context, provider string, project string, ProviderConsumerEpochCu types.ProviderConsumerEpochCu) { - epoch := k.epochStorageKeeper.GetEpochStart(ctx) +func (k Keeper) SetProviderConsumerEpochCu(ctx sdk.Context, epoch uint64, provider string, project string, ProviderConsumerEpochCu types.ProviderConsumerEpochCu) { store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderConsumerEpochCuKeyPrefix(epoch)) b := k.cdc.MustMarshal(&ProviderConsumerEpochCu) store.Set(types.ProviderConsumerEpochCuKey(provider, project), b) @@ -118,3 +158,25 @@ func (k Keeper) RemoveProviderConsumerEpochCu(ctx sdk.Context, epoch uint64, pro store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderConsumerEpochCuKeyPrefix(epoch)) store.Delete(types.ProviderConsumerEpochCuKey(provider, project)) } + +// GetAllProviderConsumerEpochCuStore returns all the ProviderConsumerEpochCu from the store (used for genesis) +func (k Keeper) GetAllProviderConsumerEpochCuStore(ctx sdk.Context) (epochs []uint64, keys []string, providerConsumerEpochCus []types.ProviderConsumerEpochCu) { + store := prefix.NewStore(ctx.KVStore(k.storeKey), []byte(types.ProviderConsumerEpochCuPrefix)) + iterator := sdk.KVStorePrefixIterator(store, []byte{}) // Get an iterator with no prefix to iterate over all keys + defer iterator.Close() + for ; iterator.Valid(); iterator.Next() { + split := strings.Split(string(iterator.Key()), "/") // key structure: epoch/provider_consumer_epoch_key + epoch, err := strconv.ParseUint(split[0], 10, 64) + if err != nil { + utils.LavaFormatError("could not decode ProviderConsumerEpochCuKey", err, utils.LogAttr("key", string(iterator.Key()))) + continue + } + epochs = append(epochs, epoch) + keys = append(keys, split[1]) + var pcec types.ProviderConsumerEpochCu + k.cdc.MustUnmarshal(iterator.Value(), &pcec) + providerConsumerEpochCus = append(providerConsumerEpochCus, pcec) + } + + return epochs, keys, providerConsumerEpochCus +} diff --git a/x/pairing/keeper/epoch_cu_test.go b/x/pairing/keeper/epoch_cu_test.go index f8efec6778..fe82be1898 100644 --- a/x/pairing/keeper/epoch_cu_test.go +++ b/x/pairing/keeper/epoch_cu_test.go @@ -21,7 +21,7 @@ func createNUniqueEpochSession(keeper *keeper.Keeper, ctx sdk.Context, n int) [] items := make([]string, n) for i := range items { items[i] = strconv.Itoa(i) - keeper.SetUniqueEpochSession(ctx, items[i], items[i], items[i], uint64(i)) + keeper.SetUniqueEpochSession(ctx, uint64(i), items[i], items[i], items[i], uint64(i)) } return items } @@ -31,7 +31,7 @@ func TestUniqueEpochSessionGet(t *testing.T) { items := createNUniqueEpochSession(keeper, ctx, 10) for i := range items { item := strconv.Itoa(i) - found := keeper.GetUniqueEpochSession(ctx, item, item, item, uint64(i)) + found := keeper.GetUniqueEpochSession(ctx, uint64(i), item, item, item, uint64(i)) require.True(t, found) } } @@ -39,10 +39,10 @@ func TestUniqueEpochSessionGet(t *testing.T) { func TestUniqueEpochSessionRemove(t *testing.T) { keeper, ctx := keepertest.PairingKeeper(t) items := createNUniqueEpochSession(keeper, ctx, 10) - keeper.RemoveUniqueEpochSessions(ctx, 0) for i := range items { + keeper.RemoveUniqueEpochSessions(ctx, uint64(i)) item := strconv.Itoa(i) - found := keeper.GetUniqueEpochSession(ctx, item, item, item, uint64(i)) + found := keeper.GetUniqueEpochSession(ctx, uint64(i), item, item, item, uint64(i)) require.False(t, found) } } @@ -51,11 +51,25 @@ func TestUniqueEpochSessionGetAll(t *testing.T) { keeper, ctx := keepertest.PairingKeeper(t) items := createNUniqueEpochSession(keeper, ctx, 10) expectedKeys := []string{} + keys := []string{} for i, item := range items { key := string(types.UniqueEpochSessionKey(item, item, item, uint64(i))) expectedKeys = append(expectedKeys, key) + keys = append(keys, keeper.GetAllUniqueEpochSession(ctx, uint64(i))...) } - require.ElementsMatch(t, nullify.Fill(expectedKeys), nullify.Fill(keeper.GetAllUniqueEpochSession(ctx, 0))) + require.ElementsMatch(t, nullify.Fill(expectedKeys), nullify.Fill(keys)) +} + +func TestUniqueEpochSessionGetAllStore(t *testing.T) { + keeper, ctx := keepertest.PairingKeeper(t) + items := createNUniqueEpochSession(keeper, ctx, 10) + expectedKeys := []string{} + for i, item := range items { + key := string(types.UniqueEpochSessionKey(item, item, item, uint64(i))) + expectedKeys = append(expectedKeys, key) + } + _, keys := keeper.GetAllUniqueEpochSessionStore(ctx) + require.ElementsMatch(t, nullify.Fill(expectedKeys), nullify.Fill(keys)) } /* ########## ProviderEpochCu ############ */ @@ -65,7 +79,7 @@ func createNProviderEpochCu(keeper *keeper.Keeper, ctx sdk.Context, n int) []typ for i := range items { provider := strconv.Itoa(i) items[i] = types.ProviderEpochCu{ServicedCu: uint64(i)} - keeper.SetProviderEpochCu(ctx, provider, items[i]) + keeper.SetProviderEpochCu(ctx, uint64(i), provider, items[i]) } return items } @@ -75,7 +89,7 @@ func TestProviderEpochCuGet(t *testing.T) { items := createNProviderEpochCu(keeper, ctx, 10) for i, item := range items { provider := strconv.Itoa(i) - pec, found := keeper.GetProviderEpochCu(ctx, 0, provider) + pec, found := keeper.GetProviderEpochCu(ctx, uint64(i), provider) require.True(t, found) require.Equal(t, item.ServicedCu, pec.ServicedCu) } @@ -86,12 +100,26 @@ func TestProviderEpochCuRemove(t *testing.T) { items := createNProviderEpochCu(keeper, ctx, 10) for i := range items { provider := strconv.Itoa(i) - keeper.RemoveProviderEpochCu(ctx, 0, provider) - _, found := keeper.GetProviderEpochCu(ctx, 0, provider) + keeper.RemoveProviderEpochCu(ctx, uint64(i), provider) + _, found := keeper.GetProviderEpochCu(ctx, uint64(i), provider) require.False(t, found) } } +func TestProviderEpochCuGetAllStore(t *testing.T) { + keeper, ctx := keepertest.PairingKeeper(t) + items := createNProviderEpochCu(keeper, ctx, 10) + expectedKeys := []string{} + for i := range items { + provider := strconv.Itoa(i) + key := string(types.ProviderEpochCuKey(provider)) + expectedKeys = append(expectedKeys, key) + } + _, keys, pecs := keeper.GetAllProviderEpochCuStore(ctx) + require.ElementsMatch(t, nullify.Fill(expectedKeys), nullify.Fill(keys)) + require.ElementsMatch(t, items, pecs) +} + /* ########## ProviderConsumerEpochCu ############ */ func createNProviderConsumerEpochCu(keeper *keeper.Keeper, ctx sdk.Context, n int) []types.ProviderConsumerEpochCu { @@ -99,7 +127,7 @@ func createNProviderConsumerEpochCu(keeper *keeper.Keeper, ctx sdk.Context, n in for i := range items { name := strconv.Itoa(i) items[i] = types.ProviderConsumerEpochCu{Cu: uint64(i)} - keeper.SetProviderConsumerEpochCu(ctx, name, name, items[i]) + keeper.SetProviderConsumerEpochCu(ctx, uint64(i), name, name, items[i]) } return items } @@ -109,7 +137,7 @@ func TestProviderConsumerEpochCuGet(t *testing.T) { items := createNProviderConsumerEpochCu(keeper, ctx, 10) for i, item := range items { name := strconv.Itoa(i) - pecc, found := keeper.GetProviderConsumerEpochCu(ctx, 0, name, name) + pecc, found := keeper.GetProviderConsumerEpochCu(ctx, uint64(i), name, name) require.True(t, found) require.Equal(t, item.Cu, pecc.Cu) } @@ -120,8 +148,22 @@ func TestProviderConsumerEpochCuRemove(t *testing.T) { items := createNProviderConsumerEpochCu(keeper, ctx, 10) for i := range items { name := strconv.Itoa(i) - keeper.RemoveProviderConsumerEpochCu(ctx, 0, name, name) - _, found := keeper.GetProviderConsumerEpochCu(ctx, 0, name, name) + keeper.RemoveProviderConsumerEpochCu(ctx, uint64(i), name, name) + _, found := keeper.GetProviderConsumerEpochCu(ctx, uint64(i), name, name) require.False(t, found) } } + +func TestProviderConsumerEpochCuGetAllStore(t *testing.T) { + keeper, ctx := keepertest.PairingKeeper(t) + items := createNProviderConsumerEpochCu(keeper, ctx, 10) + expectedKeys := []string{} + for i := range items { + name := strconv.Itoa(i) + key := string(types.ProviderConsumerEpochCuKey(name, name)) + expectedKeys = append(expectedKeys, key) + } + _, keys, pecs := keeper.GetAllProviderConsumerEpochCuStore(ctx) + require.ElementsMatch(t, nullify.Fill(expectedKeys), nullify.Fill(keys)) + require.ElementsMatch(t, items, pecs) +} diff --git a/x/pairing/types/epoch_cu.go b/x/pairing/types/epoch_cu.go index 4dfbc8a52b..e06024fbee 100644 --- a/x/pairing/types/epoch_cu.go +++ b/x/pairing/types/epoch_cu.go @@ -23,6 +23,20 @@ func ProviderConsumerEpochCuKey(provider string, project string) []byte { return []byte(strings.Join([]string{provider, project}, " ")) } +func DecodeUniqueEpochSessionKey(key string) (provider string, project string, chainID string, sessionID uint64, err error) { + split := strings.Split(key, " ") + sessionID, err = strconv.ParseUint(split[3], 10, 64) + if err != nil { + return "", "", "", 0, err + } + return split[0], split[1], split[2], sessionID, nil +} + +func DecodeProviderConsumerEpochCuKey(key string) (provider string, project string) { + split := strings.Split(key, " ") + return split[0], split[1] +} + func UniqueEpochSessionKeyPrefix(epoch uint64) []byte { return []byte(UniqueEpochSessionPrefix + strconv.FormatUint(epoch, 10) + "/") } From d9f7a54e07d2e40d7858c28098f1c11bce274a00 Mon Sep 17 00:00:00 2001 From: oren-lava Date: Mon, 25 Mar 2024 12:15:25 +0200 Subject: [PATCH 04/35] CNS-930: added check for valid key when decoding --- x/pairing/types/epoch_cu.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/x/pairing/types/epoch_cu.go b/x/pairing/types/epoch_cu.go index e06024fbee..e544028952 100644 --- a/x/pairing/types/epoch_cu.go +++ b/x/pairing/types/epoch_cu.go @@ -1,6 +1,7 @@ package types import ( + "fmt" "strconv" "strings" ) @@ -25,6 +26,9 @@ func ProviderConsumerEpochCuKey(provider string, project string) []byte { func DecodeUniqueEpochSessionKey(key string) (provider string, project string, chainID string, sessionID uint64, err error) { split := strings.Split(key, " ") + if len(split) != 4 { + return "", "", "", 0, fmt.Errorf("invalid UniqueEpochSession key") + } sessionID, err = strconv.ParseUint(split[3], 10, 64) if err != nil { return "", "", "", 0, err @@ -32,9 +36,12 @@ func DecodeUniqueEpochSessionKey(key string) (provider string, project string, c return split[0], split[1], split[2], sessionID, nil } -func DecodeProviderConsumerEpochCuKey(key string) (provider string, project string) { +func DecodeProviderConsumerEpochCuKey(key string) (provider string, project string, err error) { split := strings.Split(key, " ") - return split[0], split[1] + if len(split) != 2 { + return "", "", fmt.Errorf("invalid ProviderConsumerEpochCu key") + } + return split[0], split[1], nil } func UniqueEpochSessionKeyPrefix(epoch uint64) []byte { From 7f3d3ddbef29f63aed9dec9c140fd684b6f28dfb Mon Sep 17 00:00:00 2001 From: oren-lava Date: Mon, 25 Mar 2024 12:15:49 +0200 Subject: [PATCH 05/35] CNS-930: updated genesis with new epoch cu objects --- proto/lavanet/lava/pairing/genesis.proto | 29 +- .../client/cli/query_epoch_payments_test.go | 162 -- .../query_provider_payment_storage_test.go | 162 -- ...ue_payment_storage_client_provider_test.go | 162 -- x/pairing/genesis.go | 56 +- x/pairing/genesis_test.go | 36 +- x/pairing/types/genesis.go | 53 +- x/pairing/types/genesis.pb.go | 1326 +++++++++++++---- x/pairing/types/genesis_test.go | 64 +- 9 files changed, 1219 insertions(+), 831 deletions(-) delete mode 100644 x/pairing/client/cli/query_epoch_payments_test.go delete mode 100644 x/pairing/client/cli/query_provider_payment_storage_test.go delete mode 100644 x/pairing/client/cli/query_unique_payment_storage_client_provider_test.go diff --git a/proto/lavanet/lava/pairing/genesis.proto b/proto/lavanet/lava/pairing/genesis.proto index 5185592551..0bb455cdc6 100644 --- a/proto/lavanet/lava/pairing/genesis.proto +++ b/proto/lavanet/lava/pairing/genesis.proto @@ -5,7 +5,7 @@ import "gogoproto/gogo.proto"; import "lavanet/lava/pairing/params.proto"; import "lavanet/lava/pairing/unique_payment_storage_client_provider.proto"; import "lavanet/lava/pairing/provider_payment_storage.proto"; -import "lavanet/lava/pairing/epoch_payments.proto"; +import "lavanet/lava/pairing/epoch_cu.proto"; import "lavanet/lava/fixationstore/fixation.proto"; import "lavanet/lava/timerstore/timer.proto"; @@ -21,11 +21,32 @@ message BadgeUsedCu { // GenesisState defines the pairing module's genesis state. message GenesisState { Params params = 1 [(gogoproto.nullable) = false]; - repeated UniquePaymentStorageClientProvider uniquePaymentStorageClientProviderList = 2 [(gogoproto.nullable) = false]; - repeated ProviderPaymentStorage providerPaymentStorageList = 3 [(gogoproto.nullable) = false]; - repeated EpochPayments epochPaymentsList = 4 [(gogoproto.nullable) = false]; + reserved 2; + reserved 3; + reserved 4; repeated BadgeUsedCu badgeUsedCuList = 5 [(gogoproto.nullable) = false]; lavanet.lava.timerstore.GenesisState badgesTS = 6 [(gogoproto.nullable) = false]; lavanet.lava.fixationstore.GenesisState providerQosFS = 7 [(gogoproto.nullable) = false]; + repeated UniqueEpochSessionGenesis unique_epoch_sessions = 8 [(gogoproto.nullable) = false]; + repeated ProviderEpochCuGenesis provider_epoch_cus = 9 [(gogoproto.nullable) = false]; + repeated ProviderConsumerEpochCuGenesis provider_consumer_epoch_cus = 10 [(gogoproto.nullable) = false]; // this line is used by starport scaffolding # genesis/proto/state } + +message UniqueEpochSessionGenesis { + uint64 epoch = 1; + string unique_epoch_session = 2; +} + +message ProviderEpochCuGenesis { + uint64 epoch = 1; + string provider = 2; + ProviderEpochCu provider_epoch_cu = 3 [(gogoproto.nullable) = false]; +} + +message ProviderConsumerEpochCuGenesis { + uint64 epoch = 1; + string provider = 2; + string project = 3; + ProviderConsumerEpochCu provider_consumer_epoch_cu = 4 [(gogoproto.nullable) = false]; +} \ No newline at end of file diff --git a/x/pairing/client/cli/query_epoch_payments_test.go b/x/pairing/client/cli/query_epoch_payments_test.go deleted file mode 100644 index 93aa605913..0000000000 --- a/x/pairing/client/cli/query_epoch_payments_test.go +++ /dev/null @@ -1,162 +0,0 @@ -package cli_test - -import ( - "fmt" - "strconv" - "testing" - - tmcli "github.com/cometbft/cometbft/libs/cli" - "github.com/cosmos/cosmos-sdk/client/flags" - clitestutil "github.com/cosmos/cosmos-sdk/testutil/cli" - "github.com/stretchr/testify/require" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" - - "github.com/lavanet/lava/testutil/network" - "github.com/lavanet/lava/testutil/nullify" - "github.com/lavanet/lava/x/pairing/client/cli" - "github.com/lavanet/lava/x/pairing/types" -) - -// Prevent strconv unused error -var _ = strconv.IntSize - -func networkWithEpochPaymentsObjects(t *testing.T, n int) (*network.Network, []types.EpochPayments) { - t.Helper() - cfg := network.DefaultConfig() - state := types.GenesisState{} - require.NoError(t, cfg.Codec.UnmarshalJSON(cfg.GenesisState[types.ModuleName], &state)) - - for i := 0; i < n; i++ { - epochPayments := types.EpochPayments{ - Index: strconv.Itoa(i), - } - nullify.Fill(&epochPayments) - state.EpochPaymentsList = append(state.EpochPaymentsList, epochPayments) - } - buf, err := cfg.Codec.MarshalJSON(&state) - require.NoError(t, err) - cfg.GenesisState[types.ModuleName] = buf - return network.New(t, cfg), state.EpochPaymentsList -} - -func TestShowEpochPayments(t *testing.T) { - net, objs := networkWithEpochPaymentsObjects(t, 2) - - ctx := net.Validators[0].ClientCtx - common := []string{ - fmt.Sprintf("--%s=json", tmcli.OutputFlag), - } - for _, tc := range []struct { - desc string - idIndex string - - args []string - err error - obj types.EpochPayments - }{ - { - desc: "found", - idIndex: objs[0].Index, - - args: common, - obj: objs[0], - }, - { - desc: "not found", - idIndex: strconv.Itoa(100000), - - args: common, - err: status.Error(codes.NotFound, "not found"), - }, - } { - tc := tc - t.Run(tc.desc, func(t *testing.T) { - args := []string{ - tc.idIndex, - } - args = append(args, tc.args...) - out, err := clitestutil.ExecTestCLICmd(ctx, cli.CmdShowEpochPayments(), args) - if tc.err != nil { - stat, ok := status.FromError(tc.err) - require.True(t, ok) - require.ErrorIs(t, stat.Err(), tc.err) - } else { - require.NoError(t, err) - var resp types.QueryGetEpochPaymentsResponse - require.NoError(t, net.Config.Codec.UnmarshalJSON(out.Bytes(), &resp)) - require.NotNil(t, resp.EpochPayments) - require.Equal(t, - nullify.Fill(&tc.obj), - nullify.Fill(&resp.EpochPayments), - ) - } - }) - } -} - -func TestListEpochPayments(t *testing.T) { - net, objs := networkWithEpochPaymentsObjects(t, 5) - - ctx := net.Validators[0].ClientCtx - request := func(next []byte, offset, limit uint64, total bool) []string { - args := []string{ - fmt.Sprintf("--%s=json", tmcli.OutputFlag), - } - if next == nil { - args = append(args, fmt.Sprintf("--%s=%d", flags.FlagOffset, offset)) - } else { - args = append(args, fmt.Sprintf("--%s=%s", flags.FlagPageKey, next)) - } - args = append(args, fmt.Sprintf("--%s=%d", flags.FlagLimit, limit)) - if total { - args = append(args, fmt.Sprintf("--%s", flags.FlagCountTotal)) - } - return args - } - t.Run("ByOffset", func(t *testing.T) { - step := 2 - for i := 0; i < len(objs); i += step { - args := request(nil, uint64(i), uint64(step), false) - out, err := clitestutil.ExecTestCLICmd(ctx, cli.CmdListEpochPayments(), args) - require.NoError(t, err) - var resp types.QueryAllEpochPaymentsResponse - require.NoError(t, net.Config.Codec.UnmarshalJSON(out.Bytes(), &resp)) - require.LessOrEqual(t, len(resp.EpochPayments), step) - require.Subset(t, - nullify.Fill(objs), - nullify.Fill(resp.EpochPayments), - ) - } - }) - t.Run("ByKey", func(t *testing.T) { - step := 2 - var next []byte - for i := 0; i < len(objs); i += step { - args := request(next, 0, uint64(step), false) - out, err := clitestutil.ExecTestCLICmd(ctx, cli.CmdListEpochPayments(), args) - require.NoError(t, err) - var resp types.QueryAllEpochPaymentsResponse - require.NoError(t, net.Config.Codec.UnmarshalJSON(out.Bytes(), &resp)) - require.LessOrEqual(t, len(resp.EpochPayments), step) - require.Subset(t, - nullify.Fill(objs), - nullify.Fill(resp.EpochPayments), - ) - next = resp.Pagination.NextKey - } - }) - t.Run("Total", func(t *testing.T) { - args := request(nil, 0, uint64(len(objs)), true) - out, err := clitestutil.ExecTestCLICmd(ctx, cli.CmdListEpochPayments(), args) - require.NoError(t, err) - var resp types.QueryAllEpochPaymentsResponse - require.NoError(t, net.Config.Codec.UnmarshalJSON(out.Bytes(), &resp)) - require.NoError(t, err) - require.Equal(t, len(objs), int(resp.Pagination.Total)) - require.ElementsMatch(t, - nullify.Fill(objs), - nullify.Fill(resp.EpochPayments), - ) - }) -} diff --git a/x/pairing/client/cli/query_provider_payment_storage_test.go b/x/pairing/client/cli/query_provider_payment_storage_test.go deleted file mode 100644 index 701e5a2d7a..0000000000 --- a/x/pairing/client/cli/query_provider_payment_storage_test.go +++ /dev/null @@ -1,162 +0,0 @@ -package cli_test - -import ( - "fmt" - "strconv" - "testing" - - tmcli "github.com/cometbft/cometbft/libs/cli" - "github.com/cosmos/cosmos-sdk/client/flags" - clitestutil "github.com/cosmos/cosmos-sdk/testutil/cli" - "github.com/stretchr/testify/require" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" - - "github.com/lavanet/lava/testutil/network" - "github.com/lavanet/lava/testutil/nullify" - "github.com/lavanet/lava/x/pairing/client/cli" - "github.com/lavanet/lava/x/pairing/types" -) - -// Prevent strconv unused error -var _ = strconv.IntSize - -func networkWithProviderPaymentStorageObjects(t *testing.T, n int) (*network.Network, []types.ProviderPaymentStorage) { - t.Helper() - cfg := network.DefaultConfig() - state := types.GenesisState{} - require.NoError(t, cfg.Codec.UnmarshalJSON(cfg.GenesisState[types.ModuleName], &state)) - - for i := 0; i < n; i++ { - providerPaymentStorage := types.ProviderPaymentStorage{ - Index: strconv.Itoa(i), - } - nullify.Fill(&providerPaymentStorage) - state.ProviderPaymentStorageList = append(state.ProviderPaymentStorageList, providerPaymentStorage) - } - buf, err := cfg.Codec.MarshalJSON(&state) - require.NoError(t, err) - cfg.GenesisState[types.ModuleName] = buf - return network.New(t, cfg), state.ProviderPaymentStorageList -} - -func TestShowProviderPaymentStorage(t *testing.T) { - net, objs := networkWithProviderPaymentStorageObjects(t, 2) - - ctx := net.Validators[0].ClientCtx - common := []string{ - fmt.Sprintf("--%s=json", tmcli.OutputFlag), - } - for _, tc := range []struct { - desc string - idIndex string - - args []string - err error - obj types.ProviderPaymentStorage - }{ - { - desc: "found", - idIndex: objs[0].Index, - - args: common, - obj: objs[0], - }, - { - desc: "not found", - idIndex: strconv.Itoa(100000), - - args: common, - err: status.Error(codes.NotFound, "not found"), - }, - } { - tc := tc - t.Run(tc.desc, func(t *testing.T) { - args := []string{ - tc.idIndex, - } - args = append(args, tc.args...) - out, err := clitestutil.ExecTestCLICmd(ctx, cli.CmdShowProviderPaymentStorage(), args) - if tc.err != nil { - stat, ok := status.FromError(tc.err) - require.True(t, ok) - require.ErrorIs(t, stat.Err(), tc.err) - } else { - require.NoError(t, err) - var resp types.QueryGetProviderPaymentStorageResponse - require.NoError(t, net.Config.Codec.UnmarshalJSON(out.Bytes(), &resp)) - require.NotNil(t, resp.ProviderPaymentStorage) - require.Equal(t, - nullify.Fill(&tc.obj), - nullify.Fill(&resp.ProviderPaymentStorage), - ) - } - }) - } -} - -func TestListProviderPaymentStorage(t *testing.T) { - net, objs := networkWithProviderPaymentStorageObjects(t, 5) - - ctx := net.Validators[0].ClientCtx - request := func(next []byte, offset, limit uint64, total bool) []string { - args := []string{ - fmt.Sprintf("--%s=json", tmcli.OutputFlag), - } - if next == nil { - args = append(args, fmt.Sprintf("--%s=%d", flags.FlagOffset, offset)) - } else { - args = append(args, fmt.Sprintf("--%s=%s", flags.FlagPageKey, next)) - } - args = append(args, fmt.Sprintf("--%s=%d", flags.FlagLimit, limit)) - if total { - args = append(args, fmt.Sprintf("--%s", flags.FlagCountTotal)) - } - return args - } - t.Run("ByOffset", func(t *testing.T) { - step := 2 - for i := 0; i < len(objs); i += step { - args := request(nil, uint64(i), uint64(step), false) - out, err := clitestutil.ExecTestCLICmd(ctx, cli.CmdListProviderPaymentStorage(), args) - require.NoError(t, err) - var resp types.QueryAllProviderPaymentStorageResponse - require.NoError(t, net.Config.Codec.UnmarshalJSON(out.Bytes(), &resp)) - require.LessOrEqual(t, len(resp.ProviderPaymentStorage), step) - require.Subset(t, - nullify.Fill(objs), - nullify.Fill(resp.ProviderPaymentStorage), - ) - } - }) - t.Run("ByKey", func(t *testing.T) { - step := 2 - var next []byte - for i := 0; i < len(objs); i += step { - args := request(next, 0, uint64(step), false) - out, err := clitestutil.ExecTestCLICmd(ctx, cli.CmdListProviderPaymentStorage(), args) - require.NoError(t, err) - var resp types.QueryAllProviderPaymentStorageResponse - require.NoError(t, net.Config.Codec.UnmarshalJSON(out.Bytes(), &resp)) - require.LessOrEqual(t, len(resp.ProviderPaymentStorage), step) - require.Subset(t, - nullify.Fill(objs), - nullify.Fill(resp.ProviderPaymentStorage), - ) - next = resp.Pagination.NextKey - } - }) - t.Run("Total", func(t *testing.T) { - args := request(nil, 0, uint64(len(objs)), true) - out, err := clitestutil.ExecTestCLICmd(ctx, cli.CmdListProviderPaymentStorage(), args) - require.NoError(t, err) - var resp types.QueryAllProviderPaymentStorageResponse - require.NoError(t, net.Config.Codec.UnmarshalJSON(out.Bytes(), &resp)) - require.NoError(t, err) - require.Equal(t, len(objs), int(resp.Pagination.Total)) - require.ElementsMatch(t, - nullify.Fill(objs), - nullify.Fill(resp.ProviderPaymentStorage), - ) - }) -} diff --git a/x/pairing/client/cli/query_unique_payment_storage_client_provider_test.go b/x/pairing/client/cli/query_unique_payment_storage_client_provider_test.go deleted file mode 100644 index 68f4e51c44..0000000000 --- a/x/pairing/client/cli/query_unique_payment_storage_client_provider_test.go +++ /dev/null @@ -1,162 +0,0 @@ -package cli_test - -import ( - "fmt" - "strconv" - "testing" - - tmcli "github.com/cometbft/cometbft/libs/cli" - "github.com/cosmos/cosmos-sdk/client/flags" - clitestutil "github.com/cosmos/cosmos-sdk/testutil/cli" - "github.com/stretchr/testify/require" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" - - "github.com/lavanet/lava/testutil/network" - "github.com/lavanet/lava/testutil/nullify" - "github.com/lavanet/lava/x/pairing/client/cli" - "github.com/lavanet/lava/x/pairing/types" -) - -// Prevent strconv unused error -var _ = strconv.IntSize - -func networkWithUniquePaymentStorageClientProviderObjects(t *testing.T, n int) (*network.Network, []types.UniquePaymentStorageClientProvider) { - t.Helper() - cfg := network.DefaultConfig() - state := types.GenesisState{} - require.NoError(t, cfg.Codec.UnmarshalJSON(cfg.GenesisState[types.ModuleName], &state)) - - for i := 0; i < n; i++ { - uniquePaymentStorageClientProvider := types.UniquePaymentStorageClientProvider{ - Index: strconv.Itoa(i), - } - nullify.Fill(&uniquePaymentStorageClientProvider) - state.UniquePaymentStorageClientProviderList = append(state.UniquePaymentStorageClientProviderList, uniquePaymentStorageClientProvider) - } - buf, err := cfg.Codec.MarshalJSON(&state) - require.NoError(t, err) - cfg.GenesisState[types.ModuleName] = buf - return network.New(t, cfg), state.UniquePaymentStorageClientProviderList -} - -func TestShowUniquePaymentStorageClientProvider(t *testing.T) { - net, objs := networkWithUniquePaymentStorageClientProviderObjects(t, 2) - - ctx := net.Validators[0].ClientCtx - common := []string{ - fmt.Sprintf("--%s=json", tmcli.OutputFlag), - } - for _, tc := range []struct { - desc string - idIndex string - - args []string - err error - obj types.UniquePaymentStorageClientProvider - }{ - { - desc: "found", - idIndex: objs[0].Index, - - args: common, - obj: objs[0], - }, - { - desc: "not found", - idIndex: strconv.Itoa(100000), - - args: common, - err: status.Error(codes.NotFound, "not found"), - }, - } { - tc := tc - t.Run(tc.desc, func(t *testing.T) { - args := []string{ - tc.idIndex, - } - args = append(args, tc.args...) - out, err := clitestutil.ExecTestCLICmd(ctx, cli.CmdShowUniquePaymentStorageClientProvider(), args) - if tc.err != nil { - stat, ok := status.FromError(tc.err) - require.True(t, ok) - require.ErrorIs(t, stat.Err(), tc.err) - } else { - require.NoError(t, err) - var resp types.QueryGetUniquePaymentStorageClientProviderResponse - require.NoError(t, net.Config.Codec.UnmarshalJSON(out.Bytes(), &resp)) - require.NotNil(t, resp.UniquePaymentStorageClientProvider) - require.Equal(t, - nullify.Fill(&tc.obj), - nullify.Fill(&resp.UniquePaymentStorageClientProvider), - ) - } - }) - } -} - -func TestListUniquePaymentStorageClientProvider(t *testing.T) { - net, objs := networkWithUniquePaymentStorageClientProviderObjects(t, 5) - - ctx := net.Validators[0].ClientCtx - request := func(next []byte, offset, limit uint64, total bool) []string { - args := []string{ - fmt.Sprintf("--%s=json", tmcli.OutputFlag), - } - if next == nil { - args = append(args, fmt.Sprintf("--%s=%d", flags.FlagOffset, offset)) - } else { - args = append(args, fmt.Sprintf("--%s=%s", flags.FlagPageKey, next)) - } - args = append(args, fmt.Sprintf("--%s=%d", flags.FlagLimit, limit)) - if total { - args = append(args, fmt.Sprintf("--%s", flags.FlagCountTotal)) - } - return args - } - t.Run("ByOffset", func(t *testing.T) { - step := 2 - for i := 0; i < len(objs); i += step { - args := request(nil, uint64(i), uint64(step), false) - out, err := clitestutil.ExecTestCLICmd(ctx, cli.CmdListUniquePaymentStorageClientProvider(), args) - require.NoError(t, err) - var resp types.QueryAllUniquePaymentStorageClientProviderResponse - require.NoError(t, net.Config.Codec.UnmarshalJSON(out.Bytes(), &resp)) - require.LessOrEqual(t, len(resp.UniquePaymentStorageClientProvider), step) - require.Subset(t, - nullify.Fill(objs), - nullify.Fill(resp.UniquePaymentStorageClientProvider), - ) - } - }) - t.Run("ByKey", func(t *testing.T) { - step := 2 - var next []byte - for i := 0; i < len(objs); i += step { - args := request(next, 0, uint64(step), false) - out, err := clitestutil.ExecTestCLICmd(ctx, cli.CmdListUniquePaymentStorageClientProvider(), args) - require.NoError(t, err) - var resp types.QueryAllUniquePaymentStorageClientProviderResponse - require.NoError(t, net.Config.Codec.UnmarshalJSON(out.Bytes(), &resp)) - require.LessOrEqual(t, len(resp.UniquePaymentStorageClientProvider), step) - require.Subset(t, - nullify.Fill(objs), - nullify.Fill(resp.UniquePaymentStorageClientProvider), - ) - next = resp.Pagination.NextKey - } - }) - t.Run("Total", func(t *testing.T) { - args := request(nil, 0, uint64(len(objs)), true) - out, err := clitestutil.ExecTestCLICmd(ctx, cli.CmdListUniquePaymentStorageClientProvider(), args) - require.NoError(t, err) - var resp types.QueryAllUniquePaymentStorageClientProviderResponse - require.NoError(t, net.Config.Codec.UnmarshalJSON(out.Bytes(), &resp)) - require.NoError(t, err) - require.Equal(t, len(objs), int(resp.Pagination.Total)) - require.ElementsMatch(t, - nullify.Fill(objs), - nullify.Fill(resp.UniquePaymentStorageClientProvider), - ) - }) -} diff --git a/x/pairing/genesis.go b/x/pairing/genesis.go index b39a40ee6e..5c4142cdd2 100644 --- a/x/pairing/genesis.go +++ b/x/pairing/genesis.go @@ -2,6 +2,7 @@ package pairing import ( sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/lavanet/lava/utils" "github.com/lavanet/lava/x/pairing/keeper" "github.com/lavanet/lava/x/pairing/types" ) @@ -10,16 +11,21 @@ import ( // state. func InitGenesis(ctx sdk.Context, k keeper.Keeper, genState types.GenesisState) { // Set all the uniquePaymentStorageClientProvider - for _, elem := range genState.UniquePaymentStorageClientProviderList { - k.SetUniquePaymentStorageClientProvider(ctx, elem) + for _, elem := range genState.UniqueEpochSessions { + provider, project, chainID, sessionID, err := types.DecodeUniqueEpochSessionKey(elem.UniqueEpochSession) + if err != nil { + utils.LavaFormatError("could not decode UniqueEpochSessionKey", err, utils.LogAttr("key", elem)) + continue + } + k.SetUniqueEpochSession(ctx, elem.Epoch, provider, project, chainID, sessionID) } // Set all the providerPaymentStorage - for _, elem := range genState.ProviderPaymentStorageList { - k.SetProviderPaymentStorage(ctx, elem) + for _, elem := range genState.ProviderEpochCus { + k.SetProviderEpochCu(ctx, elem.Epoch, elem.Provider, elem.ProviderEpochCu) } // Set all the epochPayments - for _, elem := range genState.EpochPaymentsList { - k.SetEpochPayments(ctx, elem) + for _, elem := range genState.ProviderConsumerEpochCus { + k.SetProviderConsumerEpochCu(ctx, elem.Epoch, elem.Provider, elem.Project, elem.ProviderConsumerEpochCu) } // Set all the badgeUsedCu for _, elem := range genState.BadgeUsedCuList { @@ -37,9 +43,41 @@ func ExportGenesis(ctx sdk.Context, k keeper.Keeper) *types.GenesisState { genesis := types.DefaultGenesis() genesis.Params = k.GetParams(ctx) - genesis.UniquePaymentStorageClientProviderList = k.GetAllUniquePaymentStorageClientProvider(ctx) - genesis.ProviderPaymentStorageList = k.GetAllProviderPaymentStorage(ctx) - genesis.EpochPaymentsList = k.GetAllEpochPayments(ctx) + epochs, uniqueEpochSessions := k.GetAllUniqueEpochSessionStore(ctx) + for i := range epochs { + ues := types.UniqueEpochSessionGenesis{ + Epoch: epochs[i], + UniqueEpochSession: uniqueEpochSessions[i], + } + genesis.UniqueEpochSessions = append(genesis.UniqueEpochSessions, ues) + } + + epochs, providers, providerEpochCus := k.GetAllProviderEpochCuStore(ctx) + for i := range epochs { + pec := types.ProviderEpochCuGenesis{ + Epoch: epochs[i], + Provider: providers[i], + ProviderEpochCu: providerEpochCus[i], + } + genesis.ProviderEpochCus = append(genesis.ProviderEpochCus, pec) + } + + epochs, keys, providerConsumerEpochCus := k.GetAllProviderConsumerEpochCuStore(ctx) + for i := range epochs { + provider, project, err := types.DecodeProviderConsumerEpochCuKey(keys[i]) + if err != nil { + utils.LavaFormatError("could not decode ProviderConsumerEpochCu key", err, utils.LogAttr("key", keys[i])) + continue + } + pcec := types.ProviderConsumerEpochCuGenesis{ + Epoch: epochs[i], + Provider: provider, + Project: project, + ProviderConsumerEpochCu: providerConsumerEpochCus[i], + } + genesis.ProviderConsumerEpochCus = append(genesis.ProviderConsumerEpochCus, pcec) + } + genesis.BadgeUsedCuList = k.GetAllBadgeUsedCu(ctx) genesis.BadgesTS = k.ExportBadgesTimers(ctx) genesis.ProviderQosFS = k.ExportProviderQoS(ctx) diff --git a/x/pairing/genesis_test.go b/x/pairing/genesis_test.go index ecb8d6f28b..2149c41d60 100644 --- a/x/pairing/genesis_test.go +++ b/x/pairing/genesis_test.go @@ -14,28 +14,40 @@ func TestGenesis(t *testing.T) { genesisState := types.GenesisState{ Params: types.DefaultParams(), - UniquePaymentStorageClientProviderList: []types.UniquePaymentStorageClientProvider{ + UniqueEpochSessions: []types.UniqueEpochSessionGenesis{ { - Index: "0", + Epoch: 0, + UniqueEpochSession: string(types.UniqueEpochSessionKey("0", "0", "0", 0)), }, { - Index: "1", + Epoch: 1, + UniqueEpochSession: string(types.UniqueEpochSessionKey("1", "1", "1", 1)), }, }, - ProviderPaymentStorageList: []types.ProviderPaymentStorage{ + ProviderEpochCus: []types.ProviderEpochCuGenesis{ { - Index: "0", + Epoch: 0, + Provider: "0", + ProviderEpochCu: types.ProviderEpochCu{ServicedCu: 10, ComplainersCu: 100}, }, { - Index: "1", + Epoch: 1, + Provider: "1", + ProviderEpochCu: types.ProviderEpochCu{ServicedCu: 20, ComplainersCu: 200}, }, }, - EpochPaymentsList: []types.EpochPayments{ + ProviderConsumerEpochCus: []types.ProviderConsumerEpochCuGenesis{ { - Index: "0", + Epoch: 0, + Provider: "0", + Project: "0", + ProviderConsumerEpochCu: types.ProviderConsumerEpochCu{Cu: 10}, }, { - Index: "1", + Epoch: 1, + Provider: "1", + Project: "1", + ProviderConsumerEpochCu: types.ProviderConsumerEpochCu{Cu: 20}, }, }, BadgeUsedCuList: []types.BadgeUsedCu{ @@ -57,9 +69,9 @@ func TestGenesis(t *testing.T) { nullify.Fill(&genesisState) nullify.Fill(got) - require.ElementsMatch(t, genesisState.UniquePaymentStorageClientProviderList, got.UniquePaymentStorageClientProviderList) - require.ElementsMatch(t, genesisState.ProviderPaymentStorageList, got.ProviderPaymentStorageList) - require.ElementsMatch(t, genesisState.EpochPaymentsList, got.EpochPaymentsList) + require.ElementsMatch(t, genesisState.UniqueEpochSessions, got.UniqueEpochSessions) + require.ElementsMatch(t, genesisState.ProviderEpochCus, got.ProviderEpochCus) + require.ElementsMatch(t, genesisState.ProviderConsumerEpochCus, got.ProviderConsumerEpochCus) require.ElementsMatch(t, genesisState.BadgeUsedCuList, got.BadgeUsedCuList) // this line is used by starport scaffolding # genesis/test/assert } diff --git a/x/pairing/types/genesis.go b/x/pairing/types/genesis.go index c7cb7ac855..df2d2a862d 100644 --- a/x/pairing/types/genesis.go +++ b/x/pairing/types/genesis.go @@ -13,12 +13,12 @@ const DefaultIndex uint64 = 1 // DefaultGenesis returns the default Capability genesis state func DefaultGenesis() *GenesisState { return &GenesisState{ - UniquePaymentStorageClientProviderList: []UniquePaymentStorageClientProvider{}, - ProviderPaymentStorageList: []ProviderPaymentStorage{}, - EpochPaymentsList: []EpochPayments{}, - BadgeUsedCuList: []BadgeUsedCu{}, - BadgesTS: *timerstoretypes.DefaultGenesis(), - ProviderQosFS: *fixationtypes.DefaultGenesis(), + UniqueEpochSessions: []UniqueEpochSessionGenesis{}, + ProviderEpochCus: []ProviderEpochCuGenesis{}, + ProviderConsumerEpochCus: []ProviderConsumerEpochCuGenesis{}, + BadgeUsedCuList: []BadgeUsedCu{}, + BadgesTS: *timerstoretypes.DefaultGenesis(), + ProviderQosFS: *fixationtypes.DefaultGenesis(), // this line is used by starport scaffolding # genesis/types/default Params: DefaultParams(), } @@ -27,35 +27,34 @@ func DefaultGenesis() *GenesisState { // Validate performs basic genesis state validation returning an error upon any // failure. func (gs GenesisState) Validate() error { - // Check for duplicated index in uniquePaymentStorageClientProvider - uniquePaymentStorageClientProviderIndexMap := make(map[string]struct{}) + // Check for duplicated index in UniqueEpochSession + UniqueEpochSessionsProviderIndexMap := make(map[string]struct{}) - for _, elem := range gs.UniquePaymentStorageClientProviderList { - index := string(UniquePaymentStorageClientProviderKey(elem.Index)) - if _, ok := uniquePaymentStorageClientProviderIndexMap[index]; ok { - return fmt.Errorf("duplicated index for uniquePaymentStorageClientProvider") + for _, elem := range gs.UniqueEpochSessions { + if _, ok := UniqueEpochSessionsProviderIndexMap[elem.UniqueEpochSession]; ok { + return fmt.Errorf("duplicated index for UniqueEpochSession") } - uniquePaymentStorageClientProviderIndexMap[index] = struct{}{} + UniqueEpochSessionsProviderIndexMap[elem.UniqueEpochSession] = struct{}{} } - // Check for duplicated index in providerPaymentStorage - providerPaymentStorageIndexMap := make(map[string]struct{}) + // Check for duplicated index in ProviderEpochCu + providerEpochCusIndexMap := make(map[string]struct{}) - for _, elem := range gs.ProviderPaymentStorageList { - index := string(ProviderPaymentStorageKey(elem.Index)) - if _, ok := providerPaymentStorageIndexMap[index]; ok { - return fmt.Errorf("duplicated index for providerPaymentStorage") + for _, elem := range gs.ProviderEpochCus { + index := string(ProviderEpochCuKey(elem.Provider)) + if _, ok := providerEpochCusIndexMap[index]; ok { + return fmt.Errorf("duplicated index for ProviderEpochCu") } - providerPaymentStorageIndexMap[index] = struct{}{} + providerEpochCusIndexMap[index] = struct{}{} } - // Check for duplicated index in epochPayments - epochPaymentsIndexMap := make(map[string]struct{}) + // Check for duplicated index in ProviderConsumerEpochCu + providerConsumerEpochCuIndexMap := make(map[string]struct{}) - for _, elem := range gs.EpochPaymentsList { - index := string(EpochPaymentsKey(elem.Index)) - if _, ok := epochPaymentsIndexMap[index]; ok { - return fmt.Errorf("duplicated index for epochPayments") + for _, elem := range gs.ProviderConsumerEpochCus { + index := string(ProviderConsumerEpochCuKey(elem.Provider, elem.Project)) + if _, ok := providerConsumerEpochCuIndexMap[index]; ok { + return fmt.Errorf("duplicated index for ProviderConsumerEpochCu") } - epochPaymentsIndexMap[index] = struct{}{} + providerConsumerEpochCuIndexMap[index] = struct{}{} } // check the badgeUsedCuIndex map is empty diff --git a/x/pairing/types/genesis.pb.go b/x/pairing/types/genesis.pb.go index f09e7b826f..5f7632b62b 100644 --- a/x/pairing/types/genesis.pb.go +++ b/x/pairing/types/genesis.pb.go @@ -79,13 +79,13 @@ func (m *BadgeUsedCu) GetUsedCu() uint64 { // GenesisState defines the pairing module's genesis state. type GenesisState struct { - Params Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params"` - UniquePaymentStorageClientProviderList []UniquePaymentStorageClientProvider `protobuf:"bytes,2,rep,name=uniquePaymentStorageClientProviderList,proto3" json:"uniquePaymentStorageClientProviderList"` - ProviderPaymentStorageList []ProviderPaymentStorage `protobuf:"bytes,3,rep,name=providerPaymentStorageList,proto3" json:"providerPaymentStorageList"` - EpochPaymentsList []EpochPayments `protobuf:"bytes,4,rep,name=epochPaymentsList,proto3" json:"epochPaymentsList"` - BadgeUsedCuList []BadgeUsedCu `protobuf:"bytes,5,rep,name=badgeUsedCuList,proto3" json:"badgeUsedCuList"` - BadgesTS types.GenesisState `protobuf:"bytes,6,opt,name=badgesTS,proto3" json:"badgesTS"` - ProviderQosFS types1.GenesisState `protobuf:"bytes,7,opt,name=providerQosFS,proto3" json:"providerQosFS"` + Params Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params"` + BadgeUsedCuList []BadgeUsedCu `protobuf:"bytes,5,rep,name=badgeUsedCuList,proto3" json:"badgeUsedCuList"` + BadgesTS types.GenesisState `protobuf:"bytes,6,opt,name=badgesTS,proto3" json:"badgesTS"` + ProviderQosFS types1.GenesisState `protobuf:"bytes,7,opt,name=providerQosFS,proto3" json:"providerQosFS"` + UniqueEpochSessions []UniqueEpochSessionGenesis `protobuf:"bytes,8,rep,name=unique_epoch_sessions,json=uniqueEpochSessions,proto3" json:"unique_epoch_sessions"` + ProviderEpochCus []ProviderEpochCuGenesis `protobuf:"bytes,9,rep,name=provider_epoch_cus,json=providerEpochCus,proto3" json:"provider_epoch_cus"` + ProviderConsumerEpochCus []ProviderConsumerEpochCuGenesis `protobuf:"bytes,10,rep,name=provider_consumer_epoch_cus,json=providerConsumerEpochCus,proto3" json:"provider_consumer_epoch_cus"` } func (m *GenesisState) Reset() { *m = GenesisState{} } @@ -128,51 +128,234 @@ func (m *GenesisState) GetParams() Params { return Params{} } -func (m *GenesisState) GetUniquePaymentStorageClientProviderList() []UniquePaymentStorageClientProvider { +func (m *GenesisState) GetBadgeUsedCuList() []BadgeUsedCu { if m != nil { - return m.UniquePaymentStorageClientProviderList + return m.BadgeUsedCuList } return nil } -func (m *GenesisState) GetProviderPaymentStorageList() []ProviderPaymentStorage { +func (m *GenesisState) GetBadgesTS() types.GenesisState { + if m != nil { + return m.BadgesTS + } + return types.GenesisState{} +} + +func (m *GenesisState) GetProviderQosFS() types1.GenesisState { + if m != nil { + return m.ProviderQosFS + } + return types1.GenesisState{} +} + +func (m *GenesisState) GetUniqueEpochSessions() []UniqueEpochSessionGenesis { if m != nil { - return m.ProviderPaymentStorageList + return m.UniqueEpochSessions } return nil } -func (m *GenesisState) GetEpochPaymentsList() []EpochPayments { +func (m *GenesisState) GetProviderEpochCus() []ProviderEpochCuGenesis { if m != nil { - return m.EpochPaymentsList + return m.ProviderEpochCus } return nil } -func (m *GenesisState) GetBadgeUsedCuList() []BadgeUsedCu { +func (m *GenesisState) GetProviderConsumerEpochCus() []ProviderConsumerEpochCuGenesis { if m != nil { - return m.BadgeUsedCuList + return m.ProviderConsumerEpochCus } return nil } -func (m *GenesisState) GetBadgesTS() types.GenesisState { +type UniqueEpochSessionGenesis struct { + Epoch uint64 `protobuf:"varint,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + UniqueEpochSession string `protobuf:"bytes,2,opt,name=unique_epoch_session,json=uniqueEpochSession,proto3" json:"unique_epoch_session,omitempty"` +} + +func (m *UniqueEpochSessionGenesis) Reset() { *m = UniqueEpochSessionGenesis{} } +func (m *UniqueEpochSessionGenesis) String() string { return proto.CompactTextString(m) } +func (*UniqueEpochSessionGenesis) ProtoMessage() {} +func (*UniqueEpochSessionGenesis) Descriptor() ([]byte, []int) { + return fileDescriptor_dbd1e49b8b57595b, []int{2} +} +func (m *UniqueEpochSessionGenesis) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *UniqueEpochSessionGenesis) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_UniqueEpochSessionGenesis.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *UniqueEpochSessionGenesis) XXX_Merge(src proto.Message) { + xxx_messageInfo_UniqueEpochSessionGenesis.Merge(m, src) +} +func (m *UniqueEpochSessionGenesis) XXX_Size() int { + return m.Size() +} +func (m *UniqueEpochSessionGenesis) XXX_DiscardUnknown() { + xxx_messageInfo_UniqueEpochSessionGenesis.DiscardUnknown(m) +} + +var xxx_messageInfo_UniqueEpochSessionGenesis proto.InternalMessageInfo + +func (m *UniqueEpochSessionGenesis) GetEpoch() uint64 { if m != nil { - return m.BadgesTS + return m.Epoch } - return types.GenesisState{} + return 0 } -func (m *GenesisState) GetProviderQosFS() types1.GenesisState { +func (m *UniqueEpochSessionGenesis) GetUniqueEpochSession() string { if m != nil { - return m.ProviderQosFS + return m.UniqueEpochSession + } + return "" +} + +type ProviderEpochCuGenesis struct { + Epoch uint64 `protobuf:"varint,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + Provider string `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"` + ProviderEpochCu ProviderEpochCu `protobuf:"bytes,3,opt,name=provider_epoch_cu,json=providerEpochCu,proto3" json:"provider_epoch_cu"` +} + +func (m *ProviderEpochCuGenesis) Reset() { *m = ProviderEpochCuGenesis{} } +func (m *ProviderEpochCuGenesis) String() string { return proto.CompactTextString(m) } +func (*ProviderEpochCuGenesis) ProtoMessage() {} +func (*ProviderEpochCuGenesis) Descriptor() ([]byte, []int) { + return fileDescriptor_dbd1e49b8b57595b, []int{3} +} +func (m *ProviderEpochCuGenesis) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ProviderEpochCuGenesis) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ProviderEpochCuGenesis.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ProviderEpochCuGenesis) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProviderEpochCuGenesis.Merge(m, src) +} +func (m *ProviderEpochCuGenesis) XXX_Size() int { + return m.Size() +} +func (m *ProviderEpochCuGenesis) XXX_DiscardUnknown() { + xxx_messageInfo_ProviderEpochCuGenesis.DiscardUnknown(m) +} + +var xxx_messageInfo_ProviderEpochCuGenesis proto.InternalMessageInfo + +func (m *ProviderEpochCuGenesis) GetEpoch() uint64 { + if m != nil { + return m.Epoch + } + return 0 +} + +func (m *ProviderEpochCuGenesis) GetProvider() string { + if m != nil { + return m.Provider + } + return "" +} + +func (m *ProviderEpochCuGenesis) GetProviderEpochCu() ProviderEpochCu { + if m != nil { + return m.ProviderEpochCu + } + return ProviderEpochCu{} +} + +type ProviderConsumerEpochCuGenesis struct { + Epoch uint64 `protobuf:"varint,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + Provider string `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"` + Project string `protobuf:"bytes,3,opt,name=project,proto3" json:"project,omitempty"` + ProviderConsumerEpochCu ProviderConsumerEpochCu `protobuf:"bytes,4,opt,name=provider_consumer_epoch_cu,json=providerConsumerEpochCu,proto3" json:"provider_consumer_epoch_cu"` +} + +func (m *ProviderConsumerEpochCuGenesis) Reset() { *m = ProviderConsumerEpochCuGenesis{} } +func (m *ProviderConsumerEpochCuGenesis) String() string { return proto.CompactTextString(m) } +func (*ProviderConsumerEpochCuGenesis) ProtoMessage() {} +func (*ProviderConsumerEpochCuGenesis) Descriptor() ([]byte, []int) { + return fileDescriptor_dbd1e49b8b57595b, []int{4} +} +func (m *ProviderConsumerEpochCuGenesis) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ProviderConsumerEpochCuGenesis) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ProviderConsumerEpochCuGenesis.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return types1.GenesisState{} +} +func (m *ProviderConsumerEpochCuGenesis) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProviderConsumerEpochCuGenesis.Merge(m, src) +} +func (m *ProviderConsumerEpochCuGenesis) XXX_Size() int { + return m.Size() +} +func (m *ProviderConsumerEpochCuGenesis) XXX_DiscardUnknown() { + xxx_messageInfo_ProviderConsumerEpochCuGenesis.DiscardUnknown(m) +} + +var xxx_messageInfo_ProviderConsumerEpochCuGenesis proto.InternalMessageInfo + +func (m *ProviderConsumerEpochCuGenesis) GetEpoch() uint64 { + if m != nil { + return m.Epoch + } + return 0 +} + +func (m *ProviderConsumerEpochCuGenesis) GetProvider() string { + if m != nil { + return m.Provider + } + return "" +} + +func (m *ProviderConsumerEpochCuGenesis) GetProject() string { + if m != nil { + return m.Project + } + return "" +} + +func (m *ProviderConsumerEpochCuGenesis) GetProviderConsumerEpochCu() ProviderConsumerEpochCu { + if m != nil { + return m.ProviderConsumerEpochCu + } + return ProviderConsumerEpochCu{} } func init() { proto.RegisterType((*BadgeUsedCu)(nil), "lavanet.lava.pairing.BadgeUsedCu") proto.RegisterType((*GenesisState)(nil), "lavanet.lava.pairing.GenesisState") + proto.RegisterType((*UniqueEpochSessionGenesis)(nil), "lavanet.lava.pairing.UniqueEpochSessionGenesis") + proto.RegisterType((*ProviderEpochCuGenesis)(nil), "lavanet.lava.pairing.ProviderEpochCuGenesis") + proto.RegisterType((*ProviderConsumerEpochCuGenesis)(nil), "lavanet.lava.pairing.ProviderConsumerEpochCuGenesis") } func init() { @@ -180,39 +363,47 @@ func init() { } var fileDescriptor_dbd1e49b8b57595b = []byte{ - // 500 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0xcd, 0x6e, 0xd3, 0x40, - 0x10, 0xc7, 0xe3, 0x36, 0x4d, 0xd1, 0xa6, 0x80, 0xba, 0xaa, 0x84, 0x15, 0x21, 0x93, 0xa6, 0x02, - 0x52, 0x09, 0xd9, 0x52, 0x7b, 0x41, 0xdc, 0x9a, 0x0a, 0x7a, 0x80, 0x43, 0x3e, 0x5a, 0x21, 0x71, - 0xb1, 0x36, 0xc9, 0xe0, 0xae, 0x68, 0xbc, 0xc6, 0xbb, 0xae, 0x9a, 0xb7, 0xe0, 0xc4, 0x03, 0xf0, - 0x34, 0x3d, 0xf6, 0xc8, 0x09, 0xa1, 0xe4, 0x45, 0x90, 0xc7, 0x93, 0x34, 0x2e, 0xcb, 0xc7, 0xc9, - 0xde, 0xf8, 0x37, 0xbf, 0xff, 0x66, 0x66, 0x97, 0xb5, 0x2e, 0xc4, 0xa5, 0x88, 0xc1, 0x04, 0xf9, - 0x33, 0x48, 0x84, 0x4c, 0x65, 0x1c, 0x05, 0x11, 0xc4, 0xa0, 0xa5, 0xf6, 0x93, 0x54, 0x19, 0xc5, - 0x77, 0x88, 0xf1, 0xf3, 0xa7, 0x4f, 0x4c, 0x63, 0x27, 0x52, 0x91, 0x42, 0x20, 0xc8, 0xdf, 0x0a, - 0xb6, 0xb1, 0x6b, 0xf5, 0x25, 0x22, 0x15, 0x13, 0xd2, 0x35, 0x8e, 0xac, 0x48, 0x16, 0xcb, 0xcf, - 0x19, 0x84, 0x89, 0x98, 0x4e, 0x20, 0x36, 0xa1, 0x36, 0x2a, 0x15, 0x11, 0x84, 0xa3, 0x0b, 0x99, - 0x2f, 0x93, 0x54, 0x5d, 0xca, 0x31, 0xa4, 0xa4, 0x38, 0xb4, 0xa7, 0x10, 0x74, 0x57, 0x42, 0x45, - 0xfb, 0xd6, 0x22, 0x48, 0xd4, 0xe8, 0x7c, 0x51, 0xa1, 0xad, 0xe8, 0x47, 0x79, 0x25, 0x8c, 0x54, - 0x71, 0xae, 0x83, 0xe5, 0x8a, 0xd0, 0xbd, 0x12, 0x6a, 0xe4, 0x04, 0xd2, 0x82, 0xc3, 0xd7, 0x02, - 0x6a, 0xf5, 0x58, 0xbd, 0x23, 0xc6, 0x11, 0x9c, 0x69, 0x18, 0x1f, 0x67, 0x7c, 0x9f, 0x6d, 0x0f, - 0xf3, 0x65, 0x98, 0x69, 0x18, 0x87, 0xa3, 0x2c, 0xfc, 0x04, 0x53, 0xd7, 0x69, 0x3a, 0xed, 0xad, - 0xfe, 0x83, 0xe1, 0x2d, 0xf7, 0x16, 0xa6, 0xfc, 0x11, 0xdb, 0x24, 0xc8, 0x5d, 0x6b, 0x3a, 0xed, - 0x6a, 0xbf, 0x96, 0xe1, 0xb7, 0xd6, 0xb7, 0x0d, 0xb6, 0x75, 0x52, 0x8c, 0x69, 0x60, 0x84, 0x01, - 0xfe, 0x8a, 0xd5, 0x8a, 0x36, 0xa3, 0xa9, 0x7e, 0xf0, 0xd8, 0xb7, 0x8d, 0xcd, 0xef, 0x22, 0xd3, - 0xa9, 0x5e, 0xff, 0x78, 0x52, 0xe9, 0x53, 0x05, 0xff, 0xea, 0xb0, 0x67, 0xc5, 0x00, 0xba, 0x45, - 0x23, 0x06, 0x45, 0xe7, 0x8e, 0xb1, 0xfb, 0x5d, 0xea, 0xeb, 0x3b, 0xa9, 0x8d, 0xbb, 0xd6, 0x5c, - 0x6f, 0xd7, 0x0f, 0x5e, 0xda, 0xe5, 0x67, 0xff, 0x74, 0x50, 0xf0, 0x7f, 0xa6, 0xf1, 0x94, 0x35, - 0x16, 0x53, 0x2d, 0xb3, 0xb8, 0x97, 0x75, 0xdc, 0xcb, 0x8b, 0x3f, 0xfc, 0x51, 0x6b, 0x1d, 0xe5, - 0xff, 0xc5, 0xca, 0xdf, 0xb3, 0x6d, 0x3c, 0x14, 0xf4, 0x49, 0x63, 0x54, 0x15, 0xa3, 0xf6, 0xec, - 0x51, 0xaf, 0x57, 0x71, 0x4a, 0xf8, 0xdd, 0xc1, 0x7b, 0xec, 0xe1, 0xca, 0x74, 0x51, 0xbb, 0x81, - 0xda, 0x5d, 0xbb, 0x76, 0xe5, 0xc8, 0x90, 0xf4, 0x6e, 0x3d, 0x3f, 0x61, 0xf7, 0xf0, 0x27, 0x7d, - 0x3a, 0x70, 0x6b, 0x38, 0xf6, 0xa7, 0x65, 0xd7, 0xed, 0x81, 0xf4, 0x57, 0x4f, 0x0b, 0xf9, 0x96, - 0xc5, 0xfc, 0x94, 0xdd, 0x5f, 0xb4, 0xa4, 0xa7, 0xf4, 0x9b, 0x81, 0xbb, 0x89, 0xb6, 0x76, 0xd9, - 0x56, 0xba, 0x09, 0x36, 0x61, 0x59, 0xd2, 0x39, 0xba, 0x9e, 0x79, 0xce, 0xcd, 0xcc, 0x73, 0x7e, - 0xce, 0x3c, 0xe7, 0xcb, 0xdc, 0xab, 0xdc, 0xcc, 0xbd, 0xca, 0xf7, 0xb9, 0x57, 0xf9, 0xf0, 0x3c, - 0x92, 0xe6, 0x3c, 0x1b, 0xfa, 0x23, 0x35, 0x09, 0x4a, 0x37, 0xe8, 0x6a, 0x79, 0x33, 0xcd, 0x34, - 0x01, 0x3d, 0xac, 0xe1, 0x0d, 0x3a, 0xfc, 0x15, 0x00, 0x00, 0xff, 0xff, 0x86, 0x08, 0xe8, 0x13, - 0xa9, 0x04, 0x00, 0x00, + // 629 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x54, 0xcf, 0x6e, 0xd3, 0x30, + 0x18, 0x6f, 0xd6, 0xb4, 0xcb, 0xbc, 0x01, 0x9d, 0x29, 0x2c, 0x14, 0x14, 0xb6, 0x20, 0x44, 0x27, + 0x41, 0x82, 0x36, 0x4e, 0xdc, 0xb6, 0x09, 0x26, 0x15, 0x0e, 0x34, 0xdd, 0x84, 0xc4, 0x25, 0xa4, + 0xa9, 0xc9, 0x0c, 0x6b, 0x1c, 0x62, 0x67, 0x5a, 0xdf, 0x82, 0x13, 0x2f, 0xc0, 0xcb, 0xec, 0xb8, + 0x23, 0xa7, 0x09, 0xb5, 0x2f, 0x82, 0xe2, 0xb8, 0x59, 0xd3, 0x3a, 0x93, 0xe0, 0x94, 0x7c, 0xcd, + 0xef, 0x8f, 0xbf, 0xef, 0xf7, 0xd5, 0xc0, 0x3c, 0xf5, 0xce, 0xbc, 0x10, 0x31, 0x3b, 0x7d, 0xda, + 0x91, 0x87, 0x63, 0x1c, 0x06, 0x76, 0x80, 0x42, 0x44, 0x31, 0xb5, 0xa2, 0x98, 0x30, 0x02, 0x9b, + 0x02, 0x63, 0xa5, 0x4f, 0x4b, 0x60, 0x5a, 0xcd, 0x80, 0x04, 0x84, 0x03, 0xec, 0xf4, 0x2d, 0xc3, + 0xb6, 0xb6, 0xa4, 0x7a, 0x91, 0x17, 0x7b, 0x43, 0x21, 0xd7, 0xda, 0x93, 0x42, 0x92, 0x10, 0x7f, + 0x4f, 0x90, 0x1b, 0x79, 0xa3, 0x21, 0x0a, 0x99, 0x4b, 0x19, 0x89, 0xbd, 0x00, 0xb9, 0xfe, 0x29, + 0x4e, 0xcb, 0x28, 0x26, 0x67, 0x78, 0x80, 0x62, 0x21, 0xb1, 0x2b, 0x77, 0x11, 0xa0, 0x79, 0x11, + 0x41, 0x7a, 0x22, 0x25, 0xa1, 0x88, 0xf8, 0x27, 0xae, 0x9f, 0x08, 0xd0, 0x76, 0x01, 0xf4, 0x05, + 0x9f, 0x7b, 0x0c, 0x93, 0x30, 0x15, 0x42, 0x79, 0x25, 0xd5, 0x63, 0x78, 0x88, 0xe2, 0x0c, 0xc7, + 0x5f, 0x33, 0x90, 0xd9, 0x05, 0xab, 0xfb, 0xde, 0x20, 0x40, 0xc7, 0x14, 0x0d, 0x0e, 0x12, 0xb8, + 0x0d, 0xd6, 0xfb, 0x69, 0xe9, 0x26, 0x14, 0x0d, 0x5c, 0x3f, 0x71, 0xbf, 0xa1, 0x91, 0xae, 0x6c, + 0x2a, 0xed, 0x35, 0xe7, 0x76, 0xff, 0x1a, 0xf7, 0x0e, 0x8d, 0xe0, 0x06, 0x58, 0x16, 0x20, 0x7d, + 0x69, 0x53, 0x69, 0xab, 0x4e, 0x3d, 0xe1, 0xdf, 0xcc, 0x9f, 0x35, 0xb0, 0x76, 0x98, 0x05, 0xd4, + 0x63, 0x1e, 0x43, 0xf0, 0x35, 0xa8, 0x67, 0x03, 0xe6, 0x4a, 0xab, 0x3b, 0x8f, 0x2c, 0x59, 0x60, + 0xd6, 0x07, 0x8e, 0xd9, 0x57, 0x2f, 0xae, 0x1e, 0x57, 0x1c, 0xc1, 0x80, 0x5d, 0x70, 0x67, 0xc6, + 0xf7, 0x3d, 0xa6, 0x4c, 0xaf, 0x6d, 0x56, 0xdb, 0xab, 0x3b, 0x5b, 0x72, 0x91, 0x99, 0x66, 0x84, + 0xd2, 0x3c, 0x1f, 0x1e, 0x02, 0x8d, 0xff, 0x44, 0x8f, 0x7a, 0x7a, 0x9d, 0x1f, 0xe8, 0x69, 0x51, + 0xeb, 0x7a, 0x54, 0xd6, 0x6c, 0x1f, 0x42, 0x2f, 0x27, 0xc3, 0x23, 0x70, 0x6b, 0x1a, 0x69, 0x97, + 0xd0, 0xb7, 0x3d, 0x7d, 0x99, 0xab, 0xb5, 0x8b, 0x6a, 0x85, 0x8c, 0x64, 0x82, 0x45, 0x11, 0x88, + 0xc1, 0x3d, 0xb1, 0x6b, 0x59, 0xf4, 0x14, 0x51, 0x9a, 0xd2, 0x75, 0x8d, 0xf7, 0x6d, 0xcb, 0xfb, + 0x3e, 0xe6, 0x94, 0x37, 0x29, 0xa3, 0x97, 0x11, 0x84, 0x93, 0x30, 0xb9, 0x9b, 0x2c, 0x00, 0x28, + 0xfc, 0x0c, 0x60, 0xbe, 0x93, 0xd3, 0x3d, 0xa3, 0xfa, 0x0a, 0xf7, 0x79, 0x5e, 0x12, 0x92, 0xc0, + 0x73, 0xa1, 0x83, 0xa4, 0x68, 0xd2, 0x88, 0x8a, 0x5f, 0x29, 0x1c, 0x81, 0x87, 0xb9, 0x83, 0x4f, + 0x42, 0x9a, 0x0c, 0x0b, 0x56, 0x80, 0x5b, 0xbd, 0xba, 0xd9, 0xea, 0x40, 0xf0, 0xa4, 0x96, 0x7a, + 0x24, 0x47, 0xd1, 0x8e, 0xaa, 0x2d, 0x35, 0xaa, 0x1d, 0x55, 0xab, 0x36, 0xd4, 0x8e, 0xaa, 0xa9, + 0x8d, 0x9a, 0xe9, 0x83, 0x07, 0xa5, 0x63, 0x82, 0x4d, 0x50, 0xe3, 0xe7, 0xe2, 0x3b, 0xaa, 0x3a, + 0x59, 0x01, 0x5f, 0x82, 0xa6, 0x2c, 0x0c, 0xbe, 0xf1, 0x2b, 0x0e, 0x5c, 0x1c, 0xaa, 0xf9, 0x4b, + 0x01, 0xf7, 0xe5, 0x43, 0x2a, 0xb1, 0x68, 0x01, 0x6d, 0xda, 0x83, 0x90, 0xcd, 0x6b, 0xf8, 0x11, + 0xac, 0x2f, 0x04, 0xa4, 0x57, 0x65, 0x3b, 0x5b, 0x92, 0xcf, 0xf4, 0x3f, 0x30, 0x17, 0x8c, 0x79, + 0xa5, 0x00, 0xe3, 0xe6, 0xf9, 0xfe, 0xc7, 0x69, 0x75, 0xb0, 0x1c, 0xc5, 0xe4, 0x2b, 0xf2, 0x19, + 0x3f, 0xe3, 0x8a, 0x33, 0x2d, 0x61, 0x04, 0x5a, 0xe5, 0x6b, 0xa0, 0xab, 0xbc, 0xa1, 0x17, 0xff, + 0xb4, 0x05, 0xa2, 0xb1, 0x8d, 0x92, 0xf8, 0xf7, 0xf7, 0x2e, 0xc6, 0x86, 0x72, 0x39, 0x36, 0x94, + 0x3f, 0x63, 0x43, 0xf9, 0x31, 0x31, 0x2a, 0x97, 0x13, 0xa3, 0xf2, 0x7b, 0x62, 0x54, 0x3e, 0x3d, + 0x0b, 0x30, 0x3b, 0x49, 0xfa, 0x96, 0x4f, 0x86, 0x76, 0xe1, 0x86, 0x3c, 0xcf, 0xef, 0x5c, 0x36, + 0x8a, 0x10, 0xed, 0xd7, 0xf9, 0x0d, 0xb9, 0xfb, 0x37, 0x00, 0x00, 0xff, 0xff, 0xc9, 0xcc, 0x1f, + 0x14, 0x83, 0x06, 0x00, 0x00, } func (m *BadgeUsedCu) Marshal() (dAtA []byte, err error) { @@ -270,6 +461,48 @@ func (m *GenesisState) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.ProviderConsumerEpochCus) > 0 { + for iNdEx := len(m.ProviderConsumerEpochCus) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.ProviderConsumerEpochCus[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x52 + } + } + if len(m.ProviderEpochCus) > 0 { + for iNdEx := len(m.ProviderEpochCus) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.ProviderEpochCus[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x4a + } + } + if len(m.UniqueEpochSessions) > 0 { + for iNdEx := len(m.UniqueEpochSessions) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.UniqueEpochSessions[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x42 + } + } { size, err := m.ProviderQosFS.MarshalToSizedBuffer(dAtA[:i]) if err != nil { @@ -304,134 +537,668 @@ func (m *GenesisState) MarshalToSizedBuffer(dAtA []byte) (int, error) { dAtA[i] = 0x2a } } - if len(m.EpochPaymentsList) > 0 { - for iNdEx := len(m.EpochPaymentsList) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.EpochPaymentsList[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintGenesis(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x22 + { + size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) } - if len(m.ProviderPaymentStorageList) > 0 { - for iNdEx := len(m.ProviderPaymentStorageList) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.ProviderPaymentStorageList[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintGenesis(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil +} + +func (m *UniqueEpochSessionGenesis) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *UniqueEpochSessionGenesis) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *UniqueEpochSessionGenesis) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.UniqueEpochSession) > 0 { + i -= len(m.UniqueEpochSession) + copy(dAtA[i:], m.UniqueEpochSession) + i = encodeVarintGenesis(dAtA, i, uint64(len(m.UniqueEpochSession))) + i-- + dAtA[i] = 0x12 + } + if m.Epoch != 0 { + i = encodeVarintGenesis(dAtA, i, uint64(m.Epoch)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *ProviderEpochCuGenesis) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ProviderEpochCuGenesis) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *ProviderEpochCuGenesis) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.ProviderEpochCu.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + if len(m.Provider) > 0 { + i -= len(m.Provider) + copy(dAtA[i:], m.Provider) + i = encodeVarintGenesis(dAtA, i, uint64(len(m.Provider))) + i-- + dAtA[i] = 0x12 + } + if m.Epoch != 0 { + i = encodeVarintGenesis(dAtA, i, uint64(m.Epoch)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *ProviderConsumerEpochCuGenesis) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ProviderConsumerEpochCuGenesis) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *ProviderConsumerEpochCuGenesis) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.ProviderConsumerEpochCu.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + if len(m.Project) > 0 { + i -= len(m.Project) + copy(dAtA[i:], m.Project) + i = encodeVarintGenesis(dAtA, i, uint64(len(m.Project))) + i-- + dAtA[i] = 0x1a + } + if len(m.Provider) > 0 { + i -= len(m.Provider) + copy(dAtA[i:], m.Provider) + i = encodeVarintGenesis(dAtA, i, uint64(len(m.Provider))) + i-- + dAtA[i] = 0x12 + } + if m.Epoch != 0 { + i = encodeVarintGenesis(dAtA, i, uint64(m.Epoch)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func encodeVarintGenesis(dAtA []byte, offset int, v uint64) int { + offset -= sovGenesis(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *BadgeUsedCu) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.BadgeUsedCuKey) + if l > 0 { + n += 1 + l + sovGenesis(uint64(l)) + } + if m.UsedCu != 0 { + n += 1 + sovGenesis(uint64(m.UsedCu)) + } + return n +} + +func (m *GenesisState) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.Params.Size() + n += 1 + l + sovGenesis(uint64(l)) + if len(m.BadgeUsedCuList) > 0 { + for _, e := range m.BadgeUsedCuList { + l = e.Size() + n += 1 + l + sovGenesis(uint64(l)) + } + } + l = m.BadgesTS.Size() + n += 1 + l + sovGenesis(uint64(l)) + l = m.ProviderQosFS.Size() + n += 1 + l + sovGenesis(uint64(l)) + if len(m.UniqueEpochSessions) > 0 { + for _, e := range m.UniqueEpochSessions { + l = e.Size() + n += 1 + l + sovGenesis(uint64(l)) + } + } + if len(m.ProviderEpochCus) > 0 { + for _, e := range m.ProviderEpochCus { + l = e.Size() + n += 1 + l + sovGenesis(uint64(l)) + } + } + if len(m.ProviderConsumerEpochCus) > 0 { + for _, e := range m.ProviderConsumerEpochCus { + l = e.Size() + n += 1 + l + sovGenesis(uint64(l)) + } + } + return n +} + +func (m *UniqueEpochSessionGenesis) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Epoch != 0 { + n += 1 + sovGenesis(uint64(m.Epoch)) + } + l = len(m.UniqueEpochSession) + if l > 0 { + n += 1 + l + sovGenesis(uint64(l)) + } + return n +} + +func (m *ProviderEpochCuGenesis) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Epoch != 0 { + n += 1 + sovGenesis(uint64(m.Epoch)) + } + l = len(m.Provider) + if l > 0 { + n += 1 + l + sovGenesis(uint64(l)) + } + l = m.ProviderEpochCu.Size() + n += 1 + l + sovGenesis(uint64(l)) + return n +} + +func (m *ProviderConsumerEpochCuGenesis) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Epoch != 0 { + n += 1 + sovGenesis(uint64(m.Epoch)) + } + l = len(m.Provider) + if l > 0 { + n += 1 + l + sovGenesis(uint64(l)) + } + l = len(m.Project) + if l > 0 { + n += 1 + l + sovGenesis(uint64(l)) + } + l = m.ProviderConsumerEpochCu.Size() + n += 1 + l + sovGenesis(uint64(l)) + return n +} + +func sovGenesis(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozGenesis(x uint64) (n int) { + return sovGenesis(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *BadgeUsedCu) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BadgeUsedCu: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BadgeUsedCu: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BadgeUsedCuKey", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BadgeUsedCuKey = append(m.BadgeUsedCuKey[:0], dAtA[iNdEx:postIndex]...) + if m.BadgeUsedCuKey == nil { + m.BadgeUsedCuKey = []byte{} + } + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field UsedCu", wireType) + } + m.UsedCu = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.UsedCu |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipGenesis(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthGenesis + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *GenesisState) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: GenesisState: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GenesisState: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BadgeUsedCuList", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BadgeUsedCuList = append(m.BadgeUsedCuList, BadgeUsedCu{}) + if err := m.BadgeUsedCuList[len(m.BadgeUsedCuList)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BadgesTS", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.BadgesTS.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProviderQosFS", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ProviderQosFS.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field UniqueEpochSessions", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.UniqueEpochSessions = append(m.UniqueEpochSessions, UniqueEpochSessionGenesis{}) + if err := m.UniqueEpochSessions[len(m.UniqueEpochSessions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProviderEpochCus", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ProviderEpochCus = append(m.ProviderEpochCus, ProviderEpochCuGenesis{}) + if err := m.ProviderEpochCus[len(m.ProviderEpochCus)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProviderConsumerEpochCus", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ProviderConsumerEpochCus = append(m.ProviderConsumerEpochCus, ProviderConsumerEpochCuGenesis{}) + if err := m.ProviderConsumerEpochCus[len(m.ProviderConsumerEpochCus)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenesis(dAtA[iNdEx:]) + if err != nil { + return err } - i-- - dAtA[i] = 0x1a - } - } - if len(m.UniquePaymentStorageClientProviderList) > 0 { - for iNdEx := len(m.UniquePaymentStorageClientProviderList) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.UniquePaymentStorageClientProviderList[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintGenesis(dAtA, i, uint64(size)) + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthGenesis } - i-- - dAtA[i] = 0x12 - } - } - { - size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy } - i -= size - i = encodeVarintGenesis(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - return len(dAtA) - i, nil -} - -func encodeVarintGenesis(dAtA []byte, offset int, v uint64) int { - offset -= sovGenesis(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *BadgeUsedCu) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.BadgeUsedCuKey) - if l > 0 { - n += 1 + l + sovGenesis(uint64(l)) - } - if m.UsedCu != 0 { - n += 1 + sovGenesis(uint64(m.UsedCu)) } - return n -} -func (m *GenesisState) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = m.Params.Size() - n += 1 + l + sovGenesis(uint64(l)) - if len(m.UniquePaymentStorageClientProviderList) > 0 { - for _, e := range m.UniquePaymentStorageClientProviderList { - l = e.Size() - n += 1 + l + sovGenesis(uint64(l)) - } - } - if len(m.ProviderPaymentStorageList) > 0 { - for _, e := range m.ProviderPaymentStorageList { - l = e.Size() - n += 1 + l + sovGenesis(uint64(l)) - } - } - if len(m.EpochPaymentsList) > 0 { - for _, e := range m.EpochPaymentsList { - l = e.Size() - n += 1 + l + sovGenesis(uint64(l)) - } - } - if len(m.BadgeUsedCuList) > 0 { - for _, e := range m.BadgeUsedCuList { - l = e.Size() - n += 1 + l + sovGenesis(uint64(l)) - } + if iNdEx > l { + return io.ErrUnexpectedEOF } - l = m.BadgesTS.Size() - n += 1 + l + sovGenesis(uint64(l)) - l = m.ProviderQosFS.Size() - n += 1 + l + sovGenesis(uint64(l)) - return n -} - -func sovGenesis(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozGenesis(x uint64) (n int) { - return sovGenesis(uint64((x << 1) ^ uint64((int64(x) >> 63)))) + return nil } -func (m *BadgeUsedCu) Unmarshal(dAtA []byte) error { +func (m *UniqueEpochSessionGenesis) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -454,17 +1221,17 @@ func (m *BadgeUsedCu) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: BadgeUsedCu: wiretype end group for non-group") + return fmt.Errorf("proto: UniqueEpochSessionGenesis: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: BadgeUsedCu: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: UniqueEpochSessionGenesis: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BadgeUsedCuKey", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } - var byteLen int + m.Epoch = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowGenesis @@ -474,31 +1241,16 @@ func (m *BadgeUsedCu) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - byteLen |= int(b&0x7F) << shift + m.Epoch |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if byteLen < 0 { - return ErrInvalidLengthGenesis - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthGenesis - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.BadgeUsedCuKey = append(m.BadgeUsedCuKey[:0], dAtA[iNdEx:postIndex]...) - if m.BadgeUsedCuKey == nil { - m.BadgeUsedCuKey = []byte{} - } - iNdEx = postIndex case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field UsedCu", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field UniqueEpochSession", wireType) } - m.UsedCu = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowGenesis @@ -508,11 +1260,24 @@ func (m *BadgeUsedCu) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.UsedCu |= uint64(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.UniqueEpochSession = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenesis(dAtA[iNdEx:]) @@ -534,7 +1299,7 @@ func (m *BadgeUsedCu) Unmarshal(dAtA []byte) error { } return nil } -func (m *GenesisState) Unmarshal(dAtA []byte) error { +func (m *ProviderEpochCuGenesis) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -557,17 +1322,17 @@ func (m *GenesisState) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: GenesisState: wiretype end group for non-group") + return fmt.Errorf("proto: ProviderEpochCuGenesis: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: GenesisState: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ProviderEpochCuGenesis: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } - var msglen int + m.Epoch = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowGenesis @@ -577,30 +1342,16 @@ func (m *GenesisState) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + m.Epoch |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return ErrInvalidLengthGenesis - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthGenesis - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UniquePaymentStorageClientProviderList", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Provider", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowGenesis @@ -610,29 +1361,27 @@ func (m *GenesisState) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthGenesis } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthGenesis } if postIndex > l { return io.ErrUnexpectedEOF } - m.UniquePaymentStorageClientProviderList = append(m.UniquePaymentStorageClientProviderList, UniquePaymentStorageClientProvider{}) - if err := m.UniquePaymentStorageClientProviderList[len(m.UniquePaymentStorageClientProviderList)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Provider = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ProviderPaymentStorageList", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ProviderEpochCu", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -659,16 +1408,65 @@ func (m *GenesisState) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.ProviderPaymentStorageList = append(m.ProviderPaymentStorageList, ProviderPaymentStorage{}) - if err := m.ProviderPaymentStorageList[len(m.ProviderPaymentStorageList)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.ProviderEpochCu.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EpochPaymentsList", wireType) + default: + iNdEx = preIndex + skippy, err := skipGenesis(dAtA[iNdEx:]) + if err != nil { + return err } - var msglen int + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthGenesis + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ProviderConsumerEpochCuGenesis) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ProviderConsumerEpochCuGenesis: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ProviderConsumerEpochCuGenesis: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) + } + m.Epoch = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowGenesis @@ -678,31 +1476,16 @@ func (m *GenesisState) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + m.Epoch |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return ErrInvalidLengthGenesis - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthGenesis - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.EpochPaymentsList = append(m.EpochPaymentsList, EpochPayments{}) - if err := m.EpochPaymentsList[len(m.EpochPaymentsList)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 5: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BadgeUsedCuList", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Provider", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowGenesis @@ -712,31 +1495,29 @@ func (m *GenesisState) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthGenesis } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthGenesis } if postIndex > l { return io.ErrUnexpectedEOF } - m.BadgeUsedCuList = append(m.BadgeUsedCuList, BadgeUsedCu{}) - if err := m.BadgeUsedCuList[len(m.BadgeUsedCuList)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Provider = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 6: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BadgesTS", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Project", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowGenesis @@ -746,28 +1527,27 @@ func (m *GenesisState) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthGenesis } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthGenesis } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.BadgesTS.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Project = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 7: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ProviderQosFS", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ProviderConsumerEpochCu", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -794,7 +1574,7 @@ func (m *GenesisState) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.ProviderQosFS.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.ProviderConsumerEpochCu.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex diff --git a/x/pairing/types/genesis_test.go b/x/pairing/types/genesis_test.go index 7e1bb7172c..a3cb1f0f14 100644 --- a/x/pairing/types/genesis_test.go +++ b/x/pairing/types/genesis_test.go @@ -22,28 +22,40 @@ func TestGenesisState_Validate(t *testing.T) { desc: "valid genesis state", genState: &types.GenesisState{ Params: types.DefaultParams(), - UniquePaymentStorageClientProviderList: []types.UniquePaymentStorageClientProvider{ + UniqueEpochSessions: []types.UniqueEpochSessionGenesis{ { - Index: "0", + Epoch: 0, + UniqueEpochSession: "0", }, { - Index: "1", + Epoch: 1, + UniqueEpochSession: "1", }, }, - ProviderPaymentStorageList: []types.ProviderPaymentStorage{ + ProviderEpochCus: []types.ProviderEpochCuGenesis{ { - Index: "0", + Epoch: 0, + Provider: "0", + ProviderEpochCu: types.ProviderEpochCu{ServicedCu: 10, ComplainersCu: 100}, }, { - Index: "1", + Epoch: 1, + Provider: "1", + ProviderEpochCu: types.ProviderEpochCu{ServicedCu: 20, ComplainersCu: 200}, }, }, - EpochPaymentsList: []types.EpochPayments{ + ProviderConsumerEpochCus: []types.ProviderConsumerEpochCuGenesis{ { - Index: "0", + Epoch: 0, + Provider: "0", + Project: "0", + ProviderConsumerEpochCu: types.ProviderConsumerEpochCu{Cu: 10}, }, { - Index: "1", + Epoch: 1, + Provider: "1", + Project: "1", + ProviderConsumerEpochCu: types.ProviderConsumerEpochCu{Cu: 20}, }, }, // this line is used by starport scaffolding # types/genesis/validField @@ -51,30 +63,36 @@ func TestGenesisState_Validate(t *testing.T) { valid: true, }, { - desc: "duplicated uniquePaymentStorageClientProvider", + desc: "duplicated UniqueEpochSessions", genState: &types.GenesisState{ Params: types.DefaultParams(), - UniquePaymentStorageClientProviderList: []types.UniquePaymentStorageClientProvider{ + UniqueEpochSessions: []types.UniqueEpochSessionGenesis{ { - Index: "0", + Epoch: 0, + UniqueEpochSession: "0", }, { - Index: "0", + Epoch: 0, + UniqueEpochSession: "0", }, }, }, valid: false, }, { - desc: "duplicated providerPaymentStorage", + desc: "duplicated ProviderEpochCus", genState: &types.GenesisState{ Params: types.DefaultParams(), - ProviderPaymentStorageList: []types.ProviderPaymentStorage{ + ProviderEpochCus: []types.ProviderEpochCuGenesis{ { - Index: "0", + Epoch: 0, + Provider: "0", + ProviderEpochCu: types.ProviderEpochCu{ServicedCu: 10, ComplainersCu: 100}, }, { - Index: "0", + Epoch: 0, + Provider: "0", + ProviderEpochCu: types.ProviderEpochCu{ServicedCu: 10, ComplainersCu: 100}, }, }, }, @@ -84,12 +102,18 @@ func TestGenesisState_Validate(t *testing.T) { desc: "duplicated epochPayments", genState: &types.GenesisState{ Params: types.DefaultParams(), - EpochPaymentsList: []types.EpochPayments{ + ProviderConsumerEpochCus: []types.ProviderConsumerEpochCuGenesis{ { - Index: "0", + Epoch: 0, + Provider: "0", + Project: "0", + ProviderConsumerEpochCu: types.ProviderConsumerEpochCu{Cu: 10}, }, { - Index: "0", + Epoch: 0, + Provider: "0", + Project: "0", + ProviderConsumerEpochCu: types.ProviderConsumerEpochCu{Cu: 10}, }, }, }, From cec2043f718c4348e2ca23b67775ef5cac706827 Mon Sep 17 00:00:00 2001 From: oren-lava Date: Mon, 25 Mar 2024 16:31:05 +0200 Subject: [PATCH 06/35] CNS-930: added chain ID to epoch CU objects --- proto/lavanet/lava/pairing/genesis.proto | 6 +- x/pairing/genesis.go | 17 +- x/pairing/genesis_test.go | 4 + x/pairing/keeper/epoch_cu.go | 32 ++-- x/pairing/keeper/epoch_cu_test.go | 28 ++-- x/pairing/types/epoch_cu.go | 20 ++- x/pairing/types/genesis.go | 4 +- x/pairing/types/genesis.pb.go | 193 +++++++++++++++++------ x/pairing/types/genesis_test.go | 8 + 9 files changed, 222 insertions(+), 90 deletions(-) diff --git a/proto/lavanet/lava/pairing/genesis.proto b/proto/lavanet/lava/pairing/genesis.proto index 0bb455cdc6..99e3828f07 100644 --- a/proto/lavanet/lava/pairing/genesis.proto +++ b/proto/lavanet/lava/pairing/genesis.proto @@ -41,12 +41,14 @@ message UniqueEpochSessionGenesis { message ProviderEpochCuGenesis { uint64 epoch = 1; string provider = 2; - ProviderEpochCu provider_epoch_cu = 3 [(gogoproto.nullable) = false]; + string chain_id = 3; + ProviderEpochCu provider_epoch_cu = 4 [(gogoproto.nullable) = false]; } message ProviderConsumerEpochCuGenesis { uint64 epoch = 1; string provider = 2; string project = 3; - ProviderConsumerEpochCu provider_consumer_epoch_cu = 4 [(gogoproto.nullable) = false]; + string chain_id = 4; + ProviderConsumerEpochCu provider_consumer_epoch_cu = 5 [(gogoproto.nullable) = false]; } \ No newline at end of file diff --git a/x/pairing/genesis.go b/x/pairing/genesis.go index 5c4142cdd2..bc67420615 100644 --- a/x/pairing/genesis.go +++ b/x/pairing/genesis.go @@ -21,11 +21,11 @@ func InitGenesis(ctx sdk.Context, k keeper.Keeper, genState types.GenesisState) } // Set all the providerPaymentStorage for _, elem := range genState.ProviderEpochCus { - k.SetProviderEpochCu(ctx, elem.Epoch, elem.Provider, elem.ProviderEpochCu) + k.SetProviderEpochCu(ctx, elem.Epoch, elem.Provider, elem.ChainId, elem.ProviderEpochCu) } // Set all the epochPayments for _, elem := range genState.ProviderConsumerEpochCus { - k.SetProviderConsumerEpochCu(ctx, elem.Epoch, elem.Provider, elem.Project, elem.ProviderConsumerEpochCu) + k.SetProviderConsumerEpochCu(ctx, elem.Epoch, elem.Provider, elem.Project, elem.ChainId, elem.ProviderConsumerEpochCu) } // Set all the badgeUsedCu for _, elem := range genState.BadgeUsedCuList { @@ -52,11 +52,17 @@ func ExportGenesis(ctx sdk.Context, k keeper.Keeper) *types.GenesisState { genesis.UniqueEpochSessions = append(genesis.UniqueEpochSessions, ues) } - epochs, providers, providerEpochCus := k.GetAllProviderEpochCuStore(ctx) + epochs, keys, providerEpochCus := k.GetAllProviderEpochCuStore(ctx) for i := range epochs { + provider, chainID, err := types.DecodeProviderEpochCuKey(keys[i]) + if err != nil { + utils.LavaFormatError("could not decode ProviderEpochCu key", err, utils.LogAttr("key", keys[i])) + continue + } pec := types.ProviderEpochCuGenesis{ Epoch: epochs[i], - Provider: providers[i], + Provider: provider, + ChainId: chainID, ProviderEpochCu: providerEpochCus[i], } genesis.ProviderEpochCus = append(genesis.ProviderEpochCus, pec) @@ -64,7 +70,7 @@ func ExportGenesis(ctx sdk.Context, k keeper.Keeper) *types.GenesisState { epochs, keys, providerConsumerEpochCus := k.GetAllProviderConsumerEpochCuStore(ctx) for i := range epochs { - provider, project, err := types.DecodeProviderConsumerEpochCuKey(keys[i]) + provider, project, chainID, err := types.DecodeProviderConsumerEpochCuKey(keys[i]) if err != nil { utils.LavaFormatError("could not decode ProviderConsumerEpochCu key", err, utils.LogAttr("key", keys[i])) continue @@ -73,6 +79,7 @@ func ExportGenesis(ctx sdk.Context, k keeper.Keeper) *types.GenesisState { Epoch: epochs[i], Provider: provider, Project: project, + ChainId: chainID, ProviderConsumerEpochCu: providerConsumerEpochCus[i], } genesis.ProviderConsumerEpochCus = append(genesis.ProviderConsumerEpochCus, pcec) diff --git a/x/pairing/genesis_test.go b/x/pairing/genesis_test.go index 2149c41d60..ad47dcc35a 100644 --- a/x/pairing/genesis_test.go +++ b/x/pairing/genesis_test.go @@ -28,11 +28,13 @@ func TestGenesis(t *testing.T) { { Epoch: 0, Provider: "0", + ChainId: "0", ProviderEpochCu: types.ProviderEpochCu{ServicedCu: 10, ComplainersCu: 100}, }, { Epoch: 1, Provider: "1", + ChainId: "1", ProviderEpochCu: types.ProviderEpochCu{ServicedCu: 20, ComplainersCu: 200}, }, }, @@ -41,12 +43,14 @@ func TestGenesis(t *testing.T) { Epoch: 0, Provider: "0", Project: "0", + ChainId: "0", ProviderConsumerEpochCu: types.ProviderConsumerEpochCu{Cu: 10}, }, { Epoch: 1, Provider: "1", Project: "1", + ChainId: "1", ProviderConsumerEpochCu: types.ProviderConsumerEpochCu{Cu: 20}, }, }, diff --git a/x/pairing/keeper/epoch_cu.go b/x/pairing/keeper/epoch_cu.go index da3253b996..d631858974 100644 --- a/x/pairing/keeper/epoch_cu.go +++ b/x/pairing/keeper/epoch_cu.go @@ -86,16 +86,16 @@ func (k Keeper) GetAllUniqueEpochSessionStore(ctx sdk.Context) (epochs []uint64, /* ########## ProviderEpochCu ############ */ // SetProviderEpochCu sets a ProviderEpochCu in the store -func (k Keeper) SetProviderEpochCu(ctx sdk.Context, epoch uint64, provider string, providerEpochCu types.ProviderEpochCu) { +func (k Keeper) SetProviderEpochCu(ctx sdk.Context, epoch uint64, provider string, chainID string, providerEpochCu types.ProviderEpochCu) { store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderEpochCuKeyPrefix(epoch)) b := k.cdc.MustMarshal(&providerEpochCu) - store.Set(types.ProviderEpochCuKey(provider), b) + store.Set(types.ProviderEpochCuKey(provider, chainID), b) } // GetProviderEpochCu returns a ProviderEpochCu for a specific epoch and provider -func (k Keeper) GetProviderEpochCu(ctx sdk.Context, epoch uint64, provider string) (val types.ProviderEpochCu, found bool) { +func (k Keeper) GetProviderEpochCu(ctx sdk.Context, epoch uint64, provider string, chainID string) (val types.ProviderEpochCu, found bool) { store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderEpochCuKeyPrefix(epoch)) - b := store.Get(types.ProviderEpochCuKey(provider)) + b := store.Get(types.ProviderEpochCuKey(provider, chainID)) if b == nil { return val, false } @@ -105,46 +105,46 @@ func (k Keeper) GetProviderEpochCu(ctx sdk.Context, epoch uint64, provider strin } // RemoveProviderEpochCu removes a ProviderEpochCu from the store -func (k Keeper) RemoveProviderEpochCu(ctx sdk.Context, epoch uint64, provider string) { +func (k Keeper) RemoveProviderEpochCu(ctx sdk.Context, epoch uint64, provider string, chainID string) { store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderEpochCuKeyPrefix(epoch)) - store.Delete(types.ProviderEpochCuKey(provider)) + store.Delete(types.ProviderEpochCuKey(provider, chainID)) } // GetAllProviderEpochCuStore returns all the ProviderEpochCu from the store (used for genesis) -func (k Keeper) GetAllProviderEpochCuStore(ctx sdk.Context) (epochs []uint64, providers []string, providerEpochCus []types.ProviderEpochCu) { +func (k Keeper) GetAllProviderEpochCuStore(ctx sdk.Context) (epochs []uint64, keys []string, providerEpochCus []types.ProviderEpochCu) { store := prefix.NewStore(ctx.KVStore(k.storeKey), []byte(types.ProviderEpochCuPrefix)) iterator := sdk.KVStorePrefixIterator(store, []byte{}) // Get an iterator with no prefix to iterate over all keys defer iterator.Close() for ; iterator.Valid(); iterator.Next() { - split := strings.Split(string(iterator.Key()), "/") // key structure: epoch/provider + split := strings.Split(string(iterator.Key()), "/") // key structure: epoch/provider_epoch_cu_key epoch, err := strconv.ParseUint(split[0], 10, 64) if err != nil { utils.LavaFormatError("could not decode ProviderEpochCuKey", err, utils.LogAttr("key", string(iterator.Key()))) continue } epochs = append(epochs, epoch) - providers = append(providers, split[1]) + keys = append(keys, split[1]) var pec types.ProviderEpochCu k.cdc.MustUnmarshal(iterator.Value(), &pec) providerEpochCus = append(providerEpochCus, pec) } - return epochs, providers, providerEpochCus + return epochs, keys, providerEpochCus } /* ########## ProviderConsumerEpochCu ############ */ // SetProviderConsumerEpochCu sets a ProviderConsumerEpochCu in the store -func (k Keeper) SetProviderConsumerEpochCu(ctx sdk.Context, epoch uint64, provider string, project string, ProviderConsumerEpochCu types.ProviderConsumerEpochCu) { +func (k Keeper) SetProviderConsumerEpochCu(ctx sdk.Context, epoch uint64, provider string, project string, chainID string, ProviderConsumerEpochCu types.ProviderConsumerEpochCu) { store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderConsumerEpochCuKeyPrefix(epoch)) b := k.cdc.MustMarshal(&ProviderConsumerEpochCu) - store.Set(types.ProviderConsumerEpochCuKey(provider, project), b) + store.Set(types.ProviderConsumerEpochCuKey(provider, project, chainID), b) } // GetProviderConsumerEpochCu returns a ProviderConsumerEpochCu for a specific epoch, provider and project -func (k Keeper) GetProviderConsumerEpochCu(ctx sdk.Context, epoch uint64, provider string, project string) (val types.ProviderConsumerEpochCu, found bool) { +func (k Keeper) GetProviderConsumerEpochCu(ctx sdk.Context, epoch uint64, provider string, project string, chainID string) (val types.ProviderConsumerEpochCu, found bool) { store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderConsumerEpochCuKeyPrefix(epoch)) - b := store.Get(types.ProviderConsumerEpochCuKey(provider, project)) + b := store.Get(types.ProviderConsumerEpochCuKey(provider, project, chainID)) if b == nil { return val, false } @@ -154,9 +154,9 @@ func (k Keeper) GetProviderConsumerEpochCu(ctx sdk.Context, epoch uint64, provid } // RemoveProviderConsumerEpochCu removes a ProviderConsumerEpochCu from the store -func (k Keeper) RemoveProviderConsumerEpochCu(ctx sdk.Context, epoch uint64, provider string, project string) { +func (k Keeper) RemoveProviderConsumerEpochCu(ctx sdk.Context, epoch uint64, provider string, project string, chainID string) { store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderConsumerEpochCuKeyPrefix(epoch)) - store.Delete(types.ProviderConsumerEpochCuKey(provider, project)) + store.Delete(types.ProviderConsumerEpochCuKey(provider, project, chainID)) } // GetAllProviderConsumerEpochCuStore returns all the ProviderConsumerEpochCu from the store (used for genesis) diff --git a/x/pairing/keeper/epoch_cu_test.go b/x/pairing/keeper/epoch_cu_test.go index fe82be1898..fd066837fc 100644 --- a/x/pairing/keeper/epoch_cu_test.go +++ b/x/pairing/keeper/epoch_cu_test.go @@ -77,9 +77,9 @@ func TestUniqueEpochSessionGetAllStore(t *testing.T) { func createNProviderEpochCu(keeper *keeper.Keeper, ctx sdk.Context, n int) []types.ProviderEpochCu { items := make([]types.ProviderEpochCu, n) for i := range items { - provider := strconv.Itoa(i) + name := strconv.Itoa(i) items[i] = types.ProviderEpochCu{ServicedCu: uint64(i)} - keeper.SetProviderEpochCu(ctx, uint64(i), provider, items[i]) + keeper.SetProviderEpochCu(ctx, uint64(i), name, name, items[i]) } return items } @@ -88,8 +88,8 @@ func TestProviderEpochCuGet(t *testing.T) { keeper, ctx := keepertest.PairingKeeper(t) items := createNProviderEpochCu(keeper, ctx, 10) for i, item := range items { - provider := strconv.Itoa(i) - pec, found := keeper.GetProviderEpochCu(ctx, uint64(i), provider) + name := strconv.Itoa(i) + pec, found := keeper.GetProviderEpochCu(ctx, uint64(i), name, name) require.True(t, found) require.Equal(t, item.ServicedCu, pec.ServicedCu) } @@ -99,9 +99,9 @@ func TestProviderEpochCuRemove(t *testing.T) { keeper, ctx := keepertest.PairingKeeper(t) items := createNProviderEpochCu(keeper, ctx, 10) for i := range items { - provider := strconv.Itoa(i) - keeper.RemoveProviderEpochCu(ctx, uint64(i), provider) - _, found := keeper.GetProviderEpochCu(ctx, uint64(i), provider) + name := strconv.Itoa(i) + keeper.RemoveProviderEpochCu(ctx, uint64(i), name, name) + _, found := keeper.GetProviderEpochCu(ctx, uint64(i), name, name) require.False(t, found) } } @@ -111,8 +111,8 @@ func TestProviderEpochCuGetAllStore(t *testing.T) { items := createNProviderEpochCu(keeper, ctx, 10) expectedKeys := []string{} for i := range items { - provider := strconv.Itoa(i) - key := string(types.ProviderEpochCuKey(provider)) + name := strconv.Itoa(i) + key := string(types.ProviderEpochCuKey(name, name)) expectedKeys = append(expectedKeys, key) } _, keys, pecs := keeper.GetAllProviderEpochCuStore(ctx) @@ -127,7 +127,7 @@ func createNProviderConsumerEpochCu(keeper *keeper.Keeper, ctx sdk.Context, n in for i := range items { name := strconv.Itoa(i) items[i] = types.ProviderConsumerEpochCu{Cu: uint64(i)} - keeper.SetProviderConsumerEpochCu(ctx, uint64(i), name, name, items[i]) + keeper.SetProviderConsumerEpochCu(ctx, uint64(i), name, name, name, items[i]) } return items } @@ -137,7 +137,7 @@ func TestProviderConsumerEpochCuGet(t *testing.T) { items := createNProviderConsumerEpochCu(keeper, ctx, 10) for i, item := range items { name := strconv.Itoa(i) - pecc, found := keeper.GetProviderConsumerEpochCu(ctx, uint64(i), name, name) + pecc, found := keeper.GetProviderConsumerEpochCu(ctx, uint64(i), name, name, name) require.True(t, found) require.Equal(t, item.Cu, pecc.Cu) } @@ -148,8 +148,8 @@ func TestProviderConsumerEpochCuRemove(t *testing.T) { items := createNProviderConsumerEpochCu(keeper, ctx, 10) for i := range items { name := strconv.Itoa(i) - keeper.RemoveProviderConsumerEpochCu(ctx, uint64(i), name, name) - _, found := keeper.GetProviderConsumerEpochCu(ctx, uint64(i), name, name) + keeper.RemoveProviderConsumerEpochCu(ctx, uint64(i), name, name, name) + _, found := keeper.GetProviderConsumerEpochCu(ctx, uint64(i), name, name, name) require.False(t, found) } } @@ -160,7 +160,7 @@ func TestProviderConsumerEpochCuGetAllStore(t *testing.T) { expectedKeys := []string{} for i := range items { name := strconv.Itoa(i) - key := string(types.ProviderConsumerEpochCuKey(name, name)) + key := string(types.ProviderConsumerEpochCuKey(name, name, name)) expectedKeys = append(expectedKeys, key) } _, keys, pecs := keeper.GetAllProviderConsumerEpochCuStore(ctx) diff --git a/x/pairing/types/epoch_cu.go b/x/pairing/types/epoch_cu.go index e544028952..c7be6f229e 100644 --- a/x/pairing/types/epoch_cu.go +++ b/x/pairing/types/epoch_cu.go @@ -16,12 +16,12 @@ func UniqueEpochSessionKey(provider string, project string, chainID string, sess return []byte(strings.Join([]string{provider, project, chainID, strconv.FormatUint(sessionID, 10)}, " ")) } -func ProviderEpochCuKey(provider string) []byte { - return []byte(provider) +func ProviderEpochCuKey(provider string, chainID string) []byte { + return []byte(strings.Join([]string{provider, chainID}, " ")) } -func ProviderConsumerEpochCuKey(provider string, project string) []byte { - return []byte(strings.Join([]string{provider, project}, " ")) +func ProviderConsumerEpochCuKey(provider string, project string, chainID string) []byte { + return []byte(strings.Join([]string{provider, project, chainID}, " ")) } func DecodeUniqueEpochSessionKey(key string) (provider string, project string, chainID string, sessionID uint64, err error) { @@ -36,14 +36,22 @@ func DecodeUniqueEpochSessionKey(key string) (provider string, project string, c return split[0], split[1], split[2], sessionID, nil } -func DecodeProviderConsumerEpochCuKey(key string) (provider string, project string, err error) { +func DecodeProviderEpochCuKey(key string) (provider string, chainID string, err error) { split := strings.Split(key, " ") if len(split) != 2 { - return "", "", fmt.Errorf("invalid ProviderConsumerEpochCu key") + return "", "", fmt.Errorf("invalid ProviderEpochCu key") } return split[0], split[1], nil } +func DecodeProviderConsumerEpochCuKey(key string) (provider string, project string, chainID string, err error) { + split := strings.Split(key, " ") + if len(split) != 3 { + return "", "", "", fmt.Errorf("invalid ProviderConsumerEpochCu key") + } + return split[0], split[1], split[2], nil +} + func UniqueEpochSessionKeyPrefix(epoch uint64) []byte { return []byte(UniqueEpochSessionPrefix + strconv.FormatUint(epoch, 10) + "/") } diff --git a/x/pairing/types/genesis.go b/x/pairing/types/genesis.go index df2d2a862d..a2d416d04f 100644 --- a/x/pairing/types/genesis.go +++ b/x/pairing/types/genesis.go @@ -40,7 +40,7 @@ func (gs GenesisState) Validate() error { providerEpochCusIndexMap := make(map[string]struct{}) for _, elem := range gs.ProviderEpochCus { - index := string(ProviderEpochCuKey(elem.Provider)) + index := string(ProviderEpochCuKey(elem.Provider, elem.ChainId)) if _, ok := providerEpochCusIndexMap[index]; ok { return fmt.Errorf("duplicated index for ProviderEpochCu") } @@ -50,7 +50,7 @@ func (gs GenesisState) Validate() error { providerConsumerEpochCuIndexMap := make(map[string]struct{}) for _, elem := range gs.ProviderConsumerEpochCus { - index := string(ProviderConsumerEpochCuKey(elem.Provider, elem.Project)) + index := string(ProviderConsumerEpochCuKey(elem.Provider, elem.Project, elem.ChainId)) if _, ok := providerConsumerEpochCuIndexMap[index]; ok { return fmt.Errorf("duplicated index for ProviderConsumerEpochCu") } diff --git a/x/pairing/types/genesis.pb.go b/x/pairing/types/genesis.pb.go index 5f7632b62b..b7f23a984a 100644 --- a/x/pairing/types/genesis.pb.go +++ b/x/pairing/types/genesis.pb.go @@ -225,7 +225,8 @@ func (m *UniqueEpochSessionGenesis) GetUniqueEpochSession() string { type ProviderEpochCuGenesis struct { Epoch uint64 `protobuf:"varint,1,opt,name=epoch,proto3" json:"epoch,omitempty"` Provider string `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"` - ProviderEpochCu ProviderEpochCu `protobuf:"bytes,3,opt,name=provider_epoch_cu,json=providerEpochCu,proto3" json:"provider_epoch_cu"` + ChainId string `protobuf:"bytes,3,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` + ProviderEpochCu ProviderEpochCu `protobuf:"bytes,4,opt,name=provider_epoch_cu,json=providerEpochCu,proto3" json:"provider_epoch_cu"` } func (m *ProviderEpochCuGenesis) Reset() { *m = ProviderEpochCuGenesis{} } @@ -275,6 +276,13 @@ func (m *ProviderEpochCuGenesis) GetProvider() string { return "" } +func (m *ProviderEpochCuGenesis) GetChainId() string { + if m != nil { + return m.ChainId + } + return "" +} + func (m *ProviderEpochCuGenesis) GetProviderEpochCu() ProviderEpochCu { if m != nil { return m.ProviderEpochCu @@ -286,7 +294,8 @@ type ProviderConsumerEpochCuGenesis struct { Epoch uint64 `protobuf:"varint,1,opt,name=epoch,proto3" json:"epoch,omitempty"` Provider string `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"` Project string `protobuf:"bytes,3,opt,name=project,proto3" json:"project,omitempty"` - ProviderConsumerEpochCu ProviderConsumerEpochCu `protobuf:"bytes,4,opt,name=provider_consumer_epoch_cu,json=providerConsumerEpochCu,proto3" json:"provider_consumer_epoch_cu"` + ChainId string `protobuf:"bytes,4,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` + ProviderConsumerEpochCu ProviderConsumerEpochCu `protobuf:"bytes,5,opt,name=provider_consumer_epoch_cu,json=providerConsumerEpochCu,proto3" json:"provider_consumer_epoch_cu"` } func (m *ProviderConsumerEpochCuGenesis) Reset() { *m = ProviderConsumerEpochCuGenesis{} } @@ -343,6 +352,13 @@ func (m *ProviderConsumerEpochCuGenesis) GetProject() string { return "" } +func (m *ProviderConsumerEpochCuGenesis) GetChainId() string { + if m != nil { + return m.ChainId + } + return "" +} + func (m *ProviderConsumerEpochCuGenesis) GetProviderConsumerEpochCu() ProviderConsumerEpochCu { if m != nil { return m.ProviderConsumerEpochCu @@ -363,47 +379,48 @@ func init() { } var fileDescriptor_dbd1e49b8b57595b = []byte{ - // 629 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x54, 0xcf, 0x6e, 0xd3, 0x30, - 0x18, 0x6f, 0xd6, 0xb4, 0xcb, 0xbc, 0x01, 0x9d, 0x29, 0x2c, 0x14, 0x14, 0xb6, 0x20, 0x44, 0x27, - 0x41, 0x82, 0x36, 0x4e, 0xdc, 0xb6, 0x09, 0x26, 0x15, 0x0e, 0x34, 0xdd, 0x84, 0xc4, 0x25, 0xa4, - 0xa9, 0xc9, 0x0c, 0x6b, 0x1c, 0x62, 0x67, 0x5a, 0xdf, 0x82, 0x13, 0x2f, 0xc0, 0xcb, 0xec, 0xb8, - 0x23, 0xa7, 0x09, 0xb5, 0x2f, 0x82, 0xe2, 0xb8, 0x59, 0xd3, 0x3a, 0x93, 0xe0, 0x94, 0x7c, 0xcd, - 0xef, 0x8f, 0xbf, 0xef, 0xf7, 0xd5, 0xc0, 0x3c, 0xf5, 0xce, 0xbc, 0x10, 0x31, 0x3b, 0x7d, 0xda, - 0x91, 0x87, 0x63, 0x1c, 0x06, 0x76, 0x80, 0x42, 0x44, 0x31, 0xb5, 0xa2, 0x98, 0x30, 0x02, 0x9b, - 0x02, 0x63, 0xa5, 0x4f, 0x4b, 0x60, 0x5a, 0xcd, 0x80, 0x04, 0x84, 0x03, 0xec, 0xf4, 0x2d, 0xc3, - 0xb6, 0xb6, 0xa4, 0x7a, 0x91, 0x17, 0x7b, 0x43, 0x21, 0xd7, 0xda, 0x93, 0x42, 0x92, 0x10, 0x7f, - 0x4f, 0x90, 0x1b, 0x79, 0xa3, 0x21, 0x0a, 0x99, 0x4b, 0x19, 0x89, 0xbd, 0x00, 0xb9, 0xfe, 0x29, - 0x4e, 0xcb, 0x28, 0x26, 0x67, 0x78, 0x80, 0x62, 0x21, 0xb1, 0x2b, 0x77, 0x11, 0xa0, 0x79, 0x11, - 0x41, 0x7a, 0x22, 0x25, 0xa1, 0x88, 0xf8, 0x27, 0xae, 0x9f, 0x08, 0xd0, 0x76, 0x01, 0xf4, 0x05, - 0x9f, 0x7b, 0x0c, 0x93, 0x30, 0x15, 0x42, 0x79, 0x25, 0xd5, 0x63, 0x78, 0x88, 0xe2, 0x0c, 0xc7, - 0x5f, 0x33, 0x90, 0xd9, 0x05, 0xab, 0xfb, 0xde, 0x20, 0x40, 0xc7, 0x14, 0x0d, 0x0e, 0x12, 0xb8, - 0x0d, 0xd6, 0xfb, 0x69, 0xe9, 0x26, 0x14, 0x0d, 0x5c, 0x3f, 0x71, 0xbf, 0xa1, 0x91, 0xae, 0x6c, - 0x2a, 0xed, 0x35, 0xe7, 0x76, 0xff, 0x1a, 0xf7, 0x0e, 0x8d, 0xe0, 0x06, 0x58, 0x16, 0x20, 0x7d, - 0x69, 0x53, 0x69, 0xab, 0x4e, 0x3d, 0xe1, 0xdf, 0xcc, 0x9f, 0x35, 0xb0, 0x76, 0x98, 0x05, 0xd4, - 0x63, 0x1e, 0x43, 0xf0, 0x35, 0xa8, 0x67, 0x03, 0xe6, 0x4a, 0xab, 0x3b, 0x8f, 0x2c, 0x59, 0x60, - 0xd6, 0x07, 0x8e, 0xd9, 0x57, 0x2f, 0xae, 0x1e, 0x57, 0x1c, 0xc1, 0x80, 0x5d, 0x70, 0x67, 0xc6, - 0xf7, 0x3d, 0xa6, 0x4c, 0xaf, 0x6d, 0x56, 0xdb, 0xab, 0x3b, 0x5b, 0x72, 0x91, 0x99, 0x66, 0x84, - 0xd2, 0x3c, 0x1f, 0x1e, 0x02, 0x8d, 0xff, 0x44, 0x8f, 0x7a, 0x7a, 0x9d, 0x1f, 0xe8, 0x69, 0x51, - 0xeb, 0x7a, 0x54, 0xd6, 0x6c, 0x1f, 0x42, 0x2f, 0x27, 0xc3, 0x23, 0x70, 0x6b, 0x1a, 0x69, 0x97, - 0xd0, 0xb7, 0x3d, 0x7d, 0x99, 0xab, 0xb5, 0x8b, 0x6a, 0x85, 0x8c, 0x64, 0x82, 0x45, 0x11, 0x88, - 0xc1, 0x3d, 0xb1, 0x6b, 0x59, 0xf4, 0x14, 0x51, 0x9a, 0xd2, 0x75, 0x8d, 0xf7, 0x6d, 0xcb, 0xfb, - 0x3e, 0xe6, 0x94, 0x37, 0x29, 0xa3, 0x97, 0x11, 0x84, 0x93, 0x30, 0xb9, 0x9b, 0x2c, 0x00, 0x28, - 0xfc, 0x0c, 0x60, 0xbe, 0x93, 0xd3, 0x3d, 0xa3, 0xfa, 0x0a, 0xf7, 0x79, 0x5e, 0x12, 0x92, 0xc0, - 0x73, 0xa1, 0x83, 0xa4, 0x68, 0xd2, 0x88, 0x8a, 0x5f, 0x29, 0x1c, 0x81, 0x87, 0xb9, 0x83, 0x4f, - 0x42, 0x9a, 0x0c, 0x0b, 0x56, 0x80, 0x5b, 0xbd, 0xba, 0xd9, 0xea, 0x40, 0xf0, 0xa4, 0x96, 0x7a, - 0x24, 0x47, 0xd1, 0x8e, 0xaa, 0x2d, 0x35, 0xaa, 0x1d, 0x55, 0xab, 0x36, 0xd4, 0x8e, 0xaa, 0xa9, - 0x8d, 0x9a, 0xe9, 0x83, 0x07, 0xa5, 0x63, 0x82, 0x4d, 0x50, 0xe3, 0xe7, 0xe2, 0x3b, 0xaa, 0x3a, - 0x59, 0x01, 0x5f, 0x82, 0xa6, 0x2c, 0x0c, 0xbe, 0xf1, 0x2b, 0x0e, 0x5c, 0x1c, 0xaa, 0xf9, 0x4b, - 0x01, 0xf7, 0xe5, 0x43, 0x2a, 0xb1, 0x68, 0x01, 0x6d, 0xda, 0x83, 0x90, 0xcd, 0x6b, 0xf8, 0x11, - 0xac, 0x2f, 0x04, 0xa4, 0x57, 0x65, 0x3b, 0x5b, 0x92, 0xcf, 0xf4, 0x3f, 0x30, 0x17, 0x8c, 0x79, - 0xa5, 0x00, 0xe3, 0xe6, 0xf9, 0xfe, 0xc7, 0x69, 0x75, 0xb0, 0x1c, 0xc5, 0xe4, 0x2b, 0xf2, 0x19, - 0x3f, 0xe3, 0x8a, 0x33, 0x2d, 0x61, 0x04, 0x5a, 0xe5, 0x6b, 0xa0, 0xab, 0xbc, 0xa1, 0x17, 0xff, - 0xb4, 0x05, 0xa2, 0xb1, 0x8d, 0x92, 0xf8, 0xf7, 0xf7, 0x2e, 0xc6, 0x86, 0x72, 0x39, 0x36, 0x94, - 0x3f, 0x63, 0x43, 0xf9, 0x31, 0x31, 0x2a, 0x97, 0x13, 0xa3, 0xf2, 0x7b, 0x62, 0x54, 0x3e, 0x3d, - 0x0b, 0x30, 0x3b, 0x49, 0xfa, 0x96, 0x4f, 0x86, 0x76, 0xe1, 0x86, 0x3c, 0xcf, 0xef, 0x5c, 0x36, - 0x8a, 0x10, 0xed, 0xd7, 0xf9, 0x0d, 0xb9, 0xfb, 0x37, 0x00, 0x00, 0xff, 0xff, 0xc9, 0xcc, 0x1f, - 0x14, 0x83, 0x06, 0x00, 0x00, + // 650 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x54, 0x41, 0x53, 0xd3, 0x40, + 0x18, 0x6d, 0x68, 0xda, 0x86, 0x05, 0xb5, 0xac, 0x55, 0x96, 0xea, 0x44, 0x88, 0xe3, 0x58, 0x66, + 0x34, 0x71, 0xc0, 0x93, 0x37, 0x60, 0x94, 0x11, 0x3d, 0x48, 0x0b, 0xe3, 0x8c, 0x97, 0x98, 0x26, + 0x6b, 0x58, 0xa5, 0xd9, 0x98, 0xdd, 0x30, 0xf4, 0x5f, 0x78, 0xf2, 0xe7, 0x78, 0xe6, 0xc8, 0xd1, + 0x93, 0xe3, 0xc0, 0xaf, 0xf0, 0xe6, 0x64, 0xb3, 0x0d, 0x84, 0x6e, 0x98, 0xd1, 0x53, 0xf2, 0x75, + 0xdf, 0xf7, 0x5e, 0xde, 0xf7, 0xbe, 0x2e, 0xb0, 0x0e, 0xbd, 0x23, 0x2f, 0xc2, 0xdc, 0xc9, 0x9e, + 0x4e, 0xec, 0x91, 0x84, 0x44, 0xa1, 0x13, 0xe2, 0x08, 0x33, 0xc2, 0xec, 0x38, 0xa1, 0x9c, 0xc2, + 0x8e, 0xc4, 0xd8, 0xd9, 0xd3, 0x96, 0x98, 0x6e, 0x27, 0xa4, 0x21, 0x15, 0x00, 0x27, 0x7b, 0xcb, + 0xb1, 0xdd, 0x15, 0x25, 0x5f, 0xec, 0x25, 0xde, 0x48, 0xd2, 0x75, 0x37, 0x94, 0x90, 0x34, 0x22, + 0x5f, 0x53, 0xec, 0xc6, 0xde, 0x78, 0x84, 0x23, 0xee, 0x32, 0x4e, 0x13, 0x2f, 0xc4, 0xae, 0x7f, + 0x48, 0xb2, 0x32, 0x4e, 0xe8, 0x11, 0x09, 0x70, 0x22, 0x29, 0xd6, 0xd5, 0x2a, 0x12, 0x74, 0x95, + 0x44, 0x36, 0x3d, 0x54, 0x36, 0xe1, 0x98, 0xfa, 0x07, 0xae, 0x9f, 0x4a, 0xd0, 0x6a, 0x09, 0xf4, + 0x89, 0x1c, 0x7b, 0x9c, 0xd0, 0x28, 0x23, 0xc2, 0x45, 0xa5, 0xe4, 0xe3, 0x64, 0x84, 0x93, 0x1c, + 0x27, 0x5e, 0x73, 0x90, 0xb5, 0x0b, 0xe6, 0x36, 0xbd, 0x20, 0xc4, 0xfb, 0x0c, 0x07, 0x5b, 0x29, + 0x5c, 0x05, 0x0b, 0xc3, 0xac, 0x74, 0x53, 0x86, 0x03, 0xd7, 0x4f, 0xdd, 0x2f, 0x78, 0x8c, 0xb4, + 0x65, 0xad, 0x37, 0xdf, 0xbf, 0x39, 0xbc, 0xc0, 0xbd, 0xc1, 0x63, 0xb8, 0x08, 0x5a, 0x12, 0x84, + 0x66, 0x96, 0xb5, 0x9e, 0xde, 0x6f, 0xa6, 0xe2, 0xcc, 0xfa, 0xde, 0x00, 0xf3, 0xdb, 0x79, 0x40, + 0x03, 0xee, 0x71, 0x0c, 0x5f, 0x80, 0x66, 0x3e, 0x60, 0xc1, 0x34, 0xb7, 0x76, 0xdf, 0x56, 0x05, + 0x66, 0xbf, 0x13, 0x98, 0x4d, 0xfd, 0xe4, 0xd7, 0x83, 0x5a, 0x5f, 0x76, 0xc0, 0x5d, 0x70, 0xeb, + 0x92, 0xee, 0x5b, 0xc2, 0x38, 0x6a, 0x2c, 0xd7, 0x7b, 0x73, 0x6b, 0x2b, 0x6a, 0x92, 0x4b, 0x66, + 0x24, 0xd3, 0xd5, 0x7e, 0xb8, 0x0d, 0x0c, 0xf1, 0x13, 0xdb, 0x1b, 0xa0, 0xa6, 0xf8, 0xa0, 0x47, + 0x65, 0xae, 0x8b, 0x51, 0xd9, 0x97, 0x7d, 0x48, 0xbe, 0xa2, 0x19, 0xee, 0x81, 0x1b, 0x93, 0x48, + 0x77, 0x29, 0x7b, 0x35, 0x40, 0x2d, 0xc1, 0xd6, 0x2b, 0xb3, 0x95, 0x32, 0x52, 0x11, 0x96, 0x49, + 0x20, 0x01, 0x77, 0xe4, 0xae, 0xe5, 0xd1, 0x33, 0xcc, 0x58, 0xd6, 0x8e, 0x0c, 0xe1, 0xdb, 0x51, + 0xfb, 0xde, 0x17, 0x2d, 0x2f, 0xb3, 0x8e, 0x41, 0xde, 0x20, 0x95, 0xa4, 0xc8, 0xed, 0x74, 0x0a, + 0xc0, 0xe0, 0x47, 0x00, 0x8b, 0x9d, 0x9c, 0xec, 0x19, 0x43, 0xb3, 0x42, 0xe7, 0x49, 0x45, 0x48, + 0x12, 0x2f, 0x88, 0xb6, 0xd2, 0xb2, 0x48, 0x3b, 0x2e, 0x9f, 0x32, 0x38, 0x06, 0xf7, 0x0a, 0x05, + 0x9f, 0x46, 0x2c, 0x1d, 0x95, 0xa4, 0x80, 0x90, 0x7a, 0x7e, 0xbd, 0xd4, 0x96, 0xec, 0x53, 0x4a, + 0xa2, 0x58, 0x8d, 0x62, 0x3b, 0xba, 0x31, 0xd3, 0xae, 0xef, 0xe8, 0x46, 0xbd, 0xad, 0xef, 0xe8, + 0x86, 0xde, 0x6e, 0x58, 0x3e, 0x58, 0xaa, 0x1c, 0x13, 0xec, 0x80, 0x86, 0xf8, 0x2e, 0xb1, 0xa3, + 0x7a, 0x3f, 0x2f, 0xe0, 0x33, 0xd0, 0x51, 0x85, 0x21, 0x36, 0x7e, 0xb6, 0x0f, 0xa7, 0x87, 0x6a, + 0xfd, 0xd0, 0xc0, 0x5d, 0xf5, 0x90, 0x2a, 0x24, 0xba, 0xc0, 0x98, 0x78, 0x90, 0xb4, 0x45, 0x0d, + 0x97, 0x80, 0xe1, 0x1f, 0x78, 0x24, 0x72, 0x49, 0x80, 0xea, 0xe2, 0xac, 0x25, 0xea, 0xd7, 0x01, + 0x7c, 0x0f, 0x16, 0xa6, 0xb2, 0x43, 0xba, 0x6a, 0x9d, 0x2b, 0xa2, 0x9b, 0xfc, 0x3d, 0xae, 0x64, + 0x66, 0xfd, 0xd1, 0x80, 0x79, 0xfd, 0xe8, 0xff, 0xc3, 0x08, 0x02, 0xad, 0x38, 0xa1, 0x9f, 0xb1, + 0xcf, 0x27, 0x3e, 0x64, 0x59, 0xb2, 0xa8, 0x97, 0x2d, 0xc6, 0xa0, 0x5b, 0xbd, 0x3c, 0xa8, 0x21, + 0xbc, 0x3e, 0xfd, 0xa7, 0xdd, 0x91, 0x9e, 0x17, 0x2b, 0x96, 0x66, 0x73, 0xe3, 0xe4, 0xcc, 0xd4, + 0x4e, 0xcf, 0x4c, 0xed, 0xf7, 0x99, 0xa9, 0x7d, 0x3b, 0x37, 0x6b, 0xa7, 0xe7, 0x66, 0xed, 0xe7, + 0xb9, 0x59, 0xfb, 0xf0, 0x38, 0x24, 0xfc, 0x20, 0x1d, 0xda, 0x3e, 0x1d, 0x39, 0xa5, 0x7b, 0xf5, + 0xb8, 0xb8, 0xa9, 0xf9, 0x38, 0xc6, 0x6c, 0xd8, 0x14, 0xf7, 0xea, 0xfa, 0xdf, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xfc, 0x2e, 0xc1, 0xeb, 0xb9, 0x06, 0x00, 0x00, } func (m *BadgeUsedCu) Marshal() (dAtA []byte, err error) { @@ -614,7 +631,14 @@ func (m *ProviderEpochCuGenesis) MarshalToSizedBuffer(dAtA []byte) (int, error) i = encodeVarintGenesis(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0x1a + dAtA[i] = 0x22 + if len(m.ChainId) > 0 { + i -= len(m.ChainId) + copy(dAtA[i:], m.ChainId) + i = encodeVarintGenesis(dAtA, i, uint64(len(m.ChainId))) + i-- + dAtA[i] = 0x1a + } if len(m.Provider) > 0 { i -= len(m.Provider) copy(dAtA[i:], m.Provider) @@ -659,7 +683,14 @@ func (m *ProviderConsumerEpochCuGenesis) MarshalToSizedBuffer(dAtA []byte) (int, i = encodeVarintGenesis(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0x22 + dAtA[i] = 0x2a + if len(m.ChainId) > 0 { + i -= len(m.ChainId) + copy(dAtA[i:], m.ChainId) + i = encodeVarintGenesis(dAtA, i, uint64(len(m.ChainId))) + i-- + dAtA[i] = 0x22 + } if len(m.Project) > 0 { i -= len(m.Project) copy(dAtA[i:], m.Project) @@ -777,6 +808,10 @@ func (m *ProviderEpochCuGenesis) Size() (n int) { if l > 0 { n += 1 + l + sovGenesis(uint64(l)) } + l = len(m.ChainId) + if l > 0 { + n += 1 + l + sovGenesis(uint64(l)) + } l = m.ProviderEpochCu.Size() n += 1 + l + sovGenesis(uint64(l)) return n @@ -799,6 +834,10 @@ func (m *ProviderConsumerEpochCuGenesis) Size() (n int) { if l > 0 { n += 1 + l + sovGenesis(uint64(l)) } + l = len(m.ChainId) + if l > 0 { + n += 1 + l + sovGenesis(uint64(l)) + } l = m.ProviderConsumerEpochCu.Size() n += 1 + l + sovGenesis(uint64(l)) return n @@ -1380,6 +1419,38 @@ func (m *ProviderEpochCuGenesis) Unmarshal(dAtA []byte) error { m.Provider = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ChainId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ChainId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field ProviderEpochCu", wireType) } @@ -1546,6 +1617,38 @@ func (m *ProviderConsumerEpochCuGenesis) Unmarshal(dAtA []byte) error { m.Project = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ChainId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ChainId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field ProviderConsumerEpochCu", wireType) } diff --git a/x/pairing/types/genesis_test.go b/x/pairing/types/genesis_test.go index a3cb1f0f14..2a83a3775c 100644 --- a/x/pairing/types/genesis_test.go +++ b/x/pairing/types/genesis_test.go @@ -36,11 +36,13 @@ func TestGenesisState_Validate(t *testing.T) { { Epoch: 0, Provider: "0", + ChainId: "0", ProviderEpochCu: types.ProviderEpochCu{ServicedCu: 10, ComplainersCu: 100}, }, { Epoch: 1, Provider: "1", + ChainId: "1", ProviderEpochCu: types.ProviderEpochCu{ServicedCu: 20, ComplainersCu: 200}, }, }, @@ -49,12 +51,14 @@ func TestGenesisState_Validate(t *testing.T) { Epoch: 0, Provider: "0", Project: "0", + ChainId: "0", ProviderConsumerEpochCu: types.ProviderConsumerEpochCu{Cu: 10}, }, { Epoch: 1, Provider: "1", Project: "1", + ChainId: "1", ProviderConsumerEpochCu: types.ProviderConsumerEpochCu{Cu: 20}, }, }, @@ -87,11 +91,13 @@ func TestGenesisState_Validate(t *testing.T) { { Epoch: 0, Provider: "0", + ChainId: "0", ProviderEpochCu: types.ProviderEpochCu{ServicedCu: 10, ComplainersCu: 100}, }, { Epoch: 0, Provider: "0", + ChainId: "0", ProviderEpochCu: types.ProviderEpochCu{ServicedCu: 10, ComplainersCu: 100}, }, }, @@ -107,12 +113,14 @@ func TestGenesisState_Validate(t *testing.T) { Epoch: 0, Provider: "0", Project: "0", + ChainId: "0", ProviderConsumerEpochCu: types.ProviderConsumerEpochCu{Cu: 10}, }, { Epoch: 0, Provider: "0", Project: "0", + ChainId: "0", ProviderConsumerEpochCu: types.ProviderConsumerEpochCu{Cu: 10}, }, }, From 47eb66262caa7c1abab3b2238a34a7e387472a73 Mon Sep 17 00:00:00 2001 From: oren-lava Date: Tue, 26 Mar 2024 15:53:52 +0200 Subject: [PATCH 07/35] CNS-930: change the epoch payments mechanism to the new one --- .../lavanet/lava/pairing/epoch_payments.proto | 11 - proto/lavanet/lava/pairing/genesis.proto | 2 - .../pairing/provider_payment_storage.proto | 23 - proto/lavanet/lava/pairing/query.proto | 86 - ...ique_payment_storage_client_provider.proto | 11 - testutil/common/tester.go | 6 - x/pairing/client/cli/query.go | 6 - x/pairing/client/cli/query_epoch_payments.go | 79 - .../cli/query_provider_payment_storage.go | 79 - ..._unique_payment_storage_client_provider.go | 79 - x/pairing/keeper/epoch_cu.go | 27 +- x/pairing/keeper/epoch_cu_test.go | 21 +- x/pairing/keeper/epoch_payment.go | 82 + x/pairing/keeper/epoch_payments.go | 191 - x/pairing/keeper/epoch_payments_test.go | 64 - x/pairing/keeper/fixation_test.go | 5 +- x/pairing/keeper/grpc_query_epoch_payments.go | 56 - .../keeper/grpc_query_epoch_payments_test.go | 125 - .../grpc_query_provider_payment_storage.go | 56 - ...rpc_query_provider_payment_storage_test.go | 126 - ..._unique_payment_storage_client_provider.go | 56 - ...ue_payment_storage_client_provider_test.go | 126 - x/pairing/keeper/helpers_test.go | 84 +- x/pairing/keeper/keeper.go | 2 +- x/pairing/keeper/msg_server_relay_payment.go | 93 +- .../keeper/msg_server_relay_payment_test.go | 13 +- x/pairing/keeper/provider_payment_storage.go | 131 - .../keeper/provider_payment_storage_test.go | 64 - x/pairing/keeper/qos_excellence.go | 3 +- .../unique_payment_storage_client_provider.go | 95 - ...ue_payment_storage_client_provider_test.go | 64 - x/pairing/keeper/unresponsive_provider.go | 103 +- .../keeper/unresponsive_provider_test.go | 13 +- x/pairing/types/epoch_payments.pb.go | 374 - x/pairing/types/genesis.pb.go | 82 +- x/pairing/types/key_epoch_payments.go | 23 - .../types/key_provider_payment_storage.go | 23 - ..._unique_payment_storage_client_provider.go | 23 - .../types/provider_payment_storage.pb.go | 449 -- x/pairing/types/query.pb.go | 6358 +++++------------ x/pairing/types/query.pb.gw.go | 552 -- ...ique_payment_storage_client_provider.pb.go | 390 - x/subscription/keeper/subscription_test.go | 3 + 43 files changed, 2185 insertions(+), 8074 deletions(-) delete mode 100644 proto/lavanet/lava/pairing/epoch_payments.proto delete mode 100644 proto/lavanet/lava/pairing/provider_payment_storage.proto delete mode 100644 proto/lavanet/lava/pairing/unique_payment_storage_client_provider.proto delete mode 100644 x/pairing/client/cli/query_epoch_payments.go delete mode 100644 x/pairing/client/cli/query_provider_payment_storage.go delete mode 100644 x/pairing/client/cli/query_unique_payment_storage_client_provider.go create mode 100644 x/pairing/keeper/epoch_payment.go delete mode 100644 x/pairing/keeper/epoch_payments.go delete mode 100644 x/pairing/keeper/epoch_payments_test.go delete mode 100644 x/pairing/keeper/grpc_query_epoch_payments.go delete mode 100644 x/pairing/keeper/grpc_query_epoch_payments_test.go delete mode 100644 x/pairing/keeper/grpc_query_provider_payment_storage.go delete mode 100644 x/pairing/keeper/grpc_query_provider_payment_storage_test.go delete mode 100644 x/pairing/keeper/grpc_query_unique_payment_storage_client_provider.go delete mode 100644 x/pairing/keeper/grpc_query_unique_payment_storage_client_provider_test.go delete mode 100644 x/pairing/keeper/provider_payment_storage.go delete mode 100644 x/pairing/keeper/provider_payment_storage_test.go delete mode 100644 x/pairing/keeper/unique_payment_storage_client_provider.go delete mode 100644 x/pairing/keeper/unique_payment_storage_client_provider_test.go delete mode 100644 x/pairing/types/epoch_payments.pb.go delete mode 100644 x/pairing/types/key_epoch_payments.go delete mode 100644 x/pairing/types/key_provider_payment_storage.go delete mode 100644 x/pairing/types/key_unique_payment_storage_client_provider.go delete mode 100644 x/pairing/types/provider_payment_storage.pb.go delete mode 100644 x/pairing/types/unique_payment_storage_client_provider.pb.go diff --git a/proto/lavanet/lava/pairing/epoch_payments.proto b/proto/lavanet/lava/pairing/epoch_payments.proto deleted file mode 100644 index 3fa19dc8c1..0000000000 --- a/proto/lavanet/lava/pairing/epoch_payments.proto +++ /dev/null @@ -1,11 +0,0 @@ -syntax = "proto3"; -package lavanet.lava.pairing; - -option go_package = "github.com/lavanet/lava/x/pairing/types"; - -message EpochPayments { - string index = 1; - reserved 2; - repeated string providerPaymentStorageKeys = 3; -} - diff --git a/proto/lavanet/lava/pairing/genesis.proto b/proto/lavanet/lava/pairing/genesis.proto index 99e3828f07..86404bea33 100644 --- a/proto/lavanet/lava/pairing/genesis.proto +++ b/proto/lavanet/lava/pairing/genesis.proto @@ -3,8 +3,6 @@ package lavanet.lava.pairing; import "gogoproto/gogo.proto"; import "lavanet/lava/pairing/params.proto"; -import "lavanet/lava/pairing/unique_payment_storage_client_provider.proto"; -import "lavanet/lava/pairing/provider_payment_storage.proto"; import "lavanet/lava/pairing/epoch_cu.proto"; import "lavanet/lava/fixationstore/fixation.proto"; import "lavanet/lava/timerstore/timer.proto"; diff --git a/proto/lavanet/lava/pairing/provider_payment_storage.proto b/proto/lavanet/lava/pairing/provider_payment_storage.proto deleted file mode 100644 index 00a554a21e..0000000000 --- a/proto/lavanet/lava/pairing/provider_payment_storage.proto +++ /dev/null @@ -1,23 +0,0 @@ -syntax = "proto3"; -package lavanet.lava.pairing; - -option go_package = "github.com/lavanet/lava/x/pairing/types"; -import "lavanet/lava/pairing/unique_payment_storage_client_provider.proto"; - -message ProviderPaymentStorage { - - string index = 1; - reserved 2; - uint64 epoch = 3; - reserved 4; - repeated string uniquePaymentStorageClientProviderKeys = 5; - uint64 complainersTotalCu = 6; // total CU that were supposed to be served by the provider but didn't because he was unavailable (so consumers complained about him) -} -// change Client -> consumer - -// 1. client -> provider payment storage index = epoch+provider address - -// 2. clientlimit -> go over unique payment storage client provider check if the payment is from the consumer. -// its the other way around right now - -// 3. todo, break the loop when finding the first payment because in the future we will have only one request per epoch \ No newline at end of file diff --git a/proto/lavanet/lava/pairing/query.proto b/proto/lavanet/lava/pairing/query.proto index 1cfe159838..7abe8f591c 100644 --- a/proto/lavanet/lava/pairing/query.proto +++ b/proto/lavanet/lava/pairing/query.proto @@ -5,14 +5,11 @@ import "gogoproto/gogo.proto"; import "google/api/annotations.proto"; import "cosmos/base/query/v1beta1/pagination.proto"; import "lavanet/lava/pairing/params.proto"; -import "lavanet/lava/pairing/epoch_payments.proto"; import "lavanet/lava/spec/spec.proto"; // this line is used by starport scaffolding # 1 import "lavanet/lava/plans/policy.proto"; -import "lavanet/lava/pairing/provider_payment_storage.proto"; -import "lavanet/lava/pairing/unique_payment_storage_client_provider.proto"; import "lavanet/lava/epochstorage/stake_entry.proto"; import "lavanet/lava/subscription/subscription.proto"; import "lavanet/lava/projects/project.proto"; @@ -42,36 +39,6 @@ service Query { option (google.api.http).get = "/lavanet/lava/pairing/verify_pairing/{chainID}/{client}/{provider}/{block}"; } -// Queries a UniquePaymentStorageClientProvider by index. - rpc UniquePaymentStorageClientProvider(QueryGetUniquePaymentStorageClientProviderRequest) returns (QueryGetUniquePaymentStorageClientProviderResponse) { - option (google.api.http).get = "/lavanet/lava/pairing/unique_payment_storage_client_provider/{index}"; - } - - // Queries a list of UniquePaymentStorageClientProvider items. - rpc UniquePaymentStorageClientProviderAll(QueryAllUniquePaymentStorageClientProviderRequest) returns (QueryAllUniquePaymentStorageClientProviderResponse) { - option (google.api.http).get = "/lavanet/lava/pairing/unique_payment_storage_client_provider"; - } - -// Queries a ProviderPaymentStorage by index. - rpc ProviderPaymentStorage(QueryGetProviderPaymentStorageRequest) returns (QueryGetProviderPaymentStorageResponse) { - option (google.api.http).get = "/lavanet/lava/pairing/provider_payment_storage/{index}"; - } - - // Queries a list of ProviderPaymentStorage items. - rpc ProviderPaymentStorageAll(QueryAllProviderPaymentStorageRequest) returns (QueryAllProviderPaymentStorageResponse) { - option (google.api.http).get = "/lavanet/lava/pairing/provider_payment_storage"; - } - -// Queries a EpochPayments by index. - rpc EpochPayments(QueryGetEpochPaymentsRequest) returns (QueryGetEpochPaymentsResponse) { - option (google.api.http).get = "/lavanet/lava/pairing/epoch_payments/{index}"; - } - - // Queries a list of EpochPayments items. - rpc EpochPaymentsAll(QueryAllEpochPaymentsRequest) returns (QueryAllEpochPaymentsResponse) { - option (google.api.http).get = "/lavanet/lava/pairing/epoch_payments"; - } - // Queries a UserEntry items. rpc UserEntry(QueryUserEntryRequest) returns (QueryUserEntryResponse) { option (google.api.http).get = "/lavanet/lava/pairing/user_entry/{address}/{chainID}"; @@ -151,59 +118,6 @@ message QueryVerifyPairingResponse { string project_id = 5; } -message QueryGetUniquePaymentStorageClientProviderRequest { - string index = 1; -} - -message QueryGetUniquePaymentStorageClientProviderResponse { - UniquePaymentStorageClientProvider uniquePaymentStorageClientProvider = 1 [(gogoproto.nullable) = false]; -} - -message QueryAllUniquePaymentStorageClientProviderRequest { - cosmos.base.query.v1beta1.PageRequest pagination = 1; -} - -message QueryAllUniquePaymentStorageClientProviderResponse { - repeated UniquePaymentStorageClientProvider uniquePaymentStorageClientProvider = 1 [(gogoproto.nullable) = false]; - cosmos.base.query.v1beta1.PageResponse pagination = 2; -} - -message QueryGetProviderPaymentStorageRequest { - string index = 1; - -} - -message QueryGetProviderPaymentStorageResponse { - ProviderPaymentStorage providerPaymentStorage = 1 [(gogoproto.nullable) = false]; -} - -message QueryAllProviderPaymentStorageRequest { - cosmos.base.query.v1beta1.PageRequest pagination = 1; -} - -message QueryAllProviderPaymentStorageResponse { - repeated ProviderPaymentStorage providerPaymentStorage = 1 [(gogoproto.nullable) = false]; - cosmos.base.query.v1beta1.PageResponse pagination = 2; -} - -message QueryGetEpochPaymentsRequest { - string index = 1; - -} - -message QueryGetEpochPaymentsResponse { - EpochPayments epochPayments = 1 [(gogoproto.nullable) = false]; -} - -message QueryAllEpochPaymentsRequest { - cosmos.base.query.v1beta1.PageRequest pagination = 1; -} - -message QueryAllEpochPaymentsResponse { - repeated EpochPayments epochPayments = 1 [(gogoproto.nullable) = false]; - cosmos.base.query.v1beta1.PageResponse pagination = 2; -} - message QueryUserEntryRequest { string address = 1; string chainID = 2; diff --git a/proto/lavanet/lava/pairing/unique_payment_storage_client_provider.proto b/proto/lavanet/lava/pairing/unique_payment_storage_client_provider.proto deleted file mode 100644 index 4032c7e93a..0000000000 --- a/proto/lavanet/lava/pairing/unique_payment_storage_client_provider.proto +++ /dev/null @@ -1,11 +0,0 @@ -syntax = "proto3"; -package lavanet.lava.pairing; - -option go_package = "github.com/lavanet/lava/x/pairing/types"; - -message UniquePaymentStorageClientProvider { - string index = 1; - uint64 block = 2; - uint64 usedCU = 3; -} - diff --git a/testutil/common/tester.go b/testutil/common/tester.go index edc59be163..ce89c627f9 100644 --- a/testutil/common/tester.go +++ b/testutil/common/tester.go @@ -788,12 +788,6 @@ func (ts *Tester) QueryPairingGetPairing(chainID, client string) (*pairingtypes. return ts.Keepers.Pairing.GetPairing(ts.GoCtx, msg) } -// QueryPairingListEpochPayments implements 'q pairing list-epoch-payments' -func (ts *Tester) QueryPairingListEpochPayments() (*pairingtypes.QueryAllEpochPaymentsResponse, error) { - msg := &pairingtypes.QueryAllEpochPaymentsRequest{} - return ts.Keepers.Pairing.EpochPaymentsAll(ts.GoCtx, msg) -} - // QueryPairingProviders: implement 'q pairing providers' func (ts *Tester) QueryPairingProviders(chainID string, frozen bool) (*pairingtypes.QueryProvidersResponse, error) { msg := &pairingtypes.QueryProvidersRequest{ diff --git a/x/pairing/client/cli/query.go b/x/pairing/client/cli/query.go index 619b266216..960ccbd014 100644 --- a/x/pairing/client/cli/query.go +++ b/x/pairing/client/cli/query.go @@ -28,12 +28,6 @@ func GetQueryCmd(queryRoute string) *cobra.Command { cmd.AddCommand(CmdProviders()) cmd.AddCommand(CmdGetPairing()) cmd.AddCommand(CmdVerifyPairing()) - cmd.AddCommand(CmdListUniquePaymentStorageClientProvider()) - cmd.AddCommand(CmdShowUniquePaymentStorageClientProvider()) - cmd.AddCommand(CmdListProviderPaymentStorage()) - cmd.AddCommand(CmdShowProviderPaymentStorage()) - cmd.AddCommand(CmdListEpochPayments()) - cmd.AddCommand(CmdShowEpochPayments()) cmd.AddCommand(CmdUserMaxCu()) cmd.AddCommand(CmdStaticProvidersList()) diff --git a/x/pairing/client/cli/query_epoch_payments.go b/x/pairing/client/cli/query_epoch_payments.go deleted file mode 100644 index 1d1215e55b..0000000000 --- a/x/pairing/client/cli/query_epoch_payments.go +++ /dev/null @@ -1,79 +0,0 @@ -package cli - -import ( - "context" - - "github.com/cosmos/cosmos-sdk/client" - "github.com/cosmos/cosmos-sdk/client/flags" - "github.com/lavanet/lava/x/pairing/types" - "github.com/spf13/cobra" -) - -func CmdListEpochPayments() *cobra.Command { - cmd := &cobra.Command{ - Use: "list-epoch-payments", - Short: "list all EpochPayments", - RunE: func(cmd *cobra.Command, args []string) error { - clientCtx, err := client.GetClientQueryContext(cmd) - if err != nil { - return err - } - - pageReq, err := client.ReadPageRequest(cmd.Flags()) - if err != nil { - return err - } - - queryClient := types.NewQueryClient(clientCtx) - - params := &types.QueryAllEpochPaymentsRequest{ - Pagination: pageReq, - } - - res, err := queryClient.EpochPaymentsAll(context.Background(), params) - if err != nil { - return err - } - - return clientCtx.PrintProto(res) - }, - } - - flags.AddPaginationFlagsToCmd(cmd, cmd.Use) - flags.AddQueryFlagsToCmd(cmd) - - return cmd -} - -func CmdShowEpochPayments() *cobra.Command { - cmd := &cobra.Command{ - Use: "show-epoch-payments [index]", - Short: "shows a EpochPayments", - Args: cobra.ExactArgs(1), - RunE: func(cmd *cobra.Command, args []string) (err error) { - clientCtx, err := client.GetClientQueryContext(cmd) - if err != nil { - return err - } - - queryClient := types.NewQueryClient(clientCtx) - - argIndex := args[0] - - params := &types.QueryGetEpochPaymentsRequest{ - Index: argIndex, - } - - res, err := queryClient.EpochPayments(context.Background(), params) - if err != nil { - return err - } - - return clientCtx.PrintProto(res) - }, - } - - flags.AddQueryFlagsToCmd(cmd) - - return cmd -} diff --git a/x/pairing/client/cli/query_provider_payment_storage.go b/x/pairing/client/cli/query_provider_payment_storage.go deleted file mode 100644 index e77f7e9670..0000000000 --- a/x/pairing/client/cli/query_provider_payment_storage.go +++ /dev/null @@ -1,79 +0,0 @@ -package cli - -import ( - "context" - - "github.com/cosmos/cosmos-sdk/client" - "github.com/cosmos/cosmos-sdk/client/flags" - "github.com/lavanet/lava/x/pairing/types" - "github.com/spf13/cobra" -) - -func CmdListProviderPaymentStorage() *cobra.Command { - cmd := &cobra.Command{ - Use: "list-provider-payment-storage", - Short: "list all ProviderPaymentStorage", - RunE: func(cmd *cobra.Command, args []string) error { - clientCtx, err := client.GetClientQueryContext(cmd) - if err != nil { - return err - } - - pageReq, err := client.ReadPageRequest(cmd.Flags()) - if err != nil { - return err - } - - queryClient := types.NewQueryClient(clientCtx) - - params := &types.QueryAllProviderPaymentStorageRequest{ - Pagination: pageReq, - } - - res, err := queryClient.ProviderPaymentStorageAll(context.Background(), params) - if err != nil { - return err - } - - return clientCtx.PrintProto(res) - }, - } - - flags.AddPaginationFlagsToCmd(cmd, cmd.Use) - flags.AddQueryFlagsToCmd(cmd) - - return cmd -} - -func CmdShowProviderPaymentStorage() *cobra.Command { - cmd := &cobra.Command{ - Use: "show-provider-payment-storage [index]", - Short: "shows a ProviderPaymentStorage", - Args: cobra.ExactArgs(1), - RunE: func(cmd *cobra.Command, args []string) (err error) { - clientCtx, err := client.GetClientQueryContext(cmd) - if err != nil { - return err - } - - queryClient := types.NewQueryClient(clientCtx) - - argIndex := args[0] - - params := &types.QueryGetProviderPaymentStorageRequest{ - Index: argIndex, - } - - res, err := queryClient.ProviderPaymentStorage(context.Background(), params) - if err != nil { - return err - } - - return clientCtx.PrintProto(res) - }, - } - - flags.AddQueryFlagsToCmd(cmd) - - return cmd -} diff --git a/x/pairing/client/cli/query_unique_payment_storage_client_provider.go b/x/pairing/client/cli/query_unique_payment_storage_client_provider.go deleted file mode 100644 index 77c1ec4f29..0000000000 --- a/x/pairing/client/cli/query_unique_payment_storage_client_provider.go +++ /dev/null @@ -1,79 +0,0 @@ -package cli - -import ( - "context" - - "github.com/cosmos/cosmos-sdk/client" - "github.com/cosmos/cosmos-sdk/client/flags" - "github.com/lavanet/lava/x/pairing/types" - "github.com/spf13/cobra" -) - -func CmdListUniquePaymentStorageClientProvider() *cobra.Command { - cmd := &cobra.Command{ - Use: "list-unique-payment-storage-client-provider", - Short: "list all UniquePaymentStorageClientProvider", - RunE: func(cmd *cobra.Command, args []string) error { - clientCtx, err := client.GetClientQueryContext(cmd) - if err != nil { - return err - } - - pageReq, err := client.ReadPageRequest(cmd.Flags()) - if err != nil { - return err - } - - queryClient := types.NewQueryClient(clientCtx) - - params := &types.QueryAllUniquePaymentStorageClientProviderRequest{ - Pagination: pageReq, - } - - res, err := queryClient.UniquePaymentStorageClientProviderAll(context.Background(), params) - if err != nil { - return err - } - - return clientCtx.PrintProto(res) - }, - } - - flags.AddPaginationFlagsToCmd(cmd, cmd.Use) - flags.AddQueryFlagsToCmd(cmd) - - return cmd -} - -func CmdShowUniquePaymentStorageClientProvider() *cobra.Command { - cmd := &cobra.Command{ - Use: "show-unique-payment-storage-client-provider [index]", - Short: "shows a UniquePaymentStorageClientProvider", - Args: cobra.ExactArgs(1), - RunE: func(cmd *cobra.Command, args []string) (err error) { - clientCtx, err := client.GetClientQueryContext(cmd) - if err != nil { - return err - } - - queryClient := types.NewQueryClient(clientCtx) - - argIndex := args[0] - - params := &types.QueryGetUniquePaymentStorageClientProviderRequest{ - Index: argIndex, - } - - res, err := queryClient.UniquePaymentStorageClientProvider(context.Background(), params) - if err != nil { - return err - } - - return clientCtx.PrintProto(res) - }, - } - - flags.AddQueryFlagsToCmd(cmd) - - return cmd -} diff --git a/x/pairing/keeper/epoch_cu.go b/x/pairing/keeper/epoch_cu.go index d631858974..ffc77b5091 100644 --- a/x/pairing/keeper/epoch_cu.go +++ b/x/pairing/keeper/epoch_cu.go @@ -13,11 +13,11 @@ import ( // UniqueEpochSession is used to detect double spend attacks // It's kept in a epoch-prefixed store with a unique index: provider, project ID, chain ID and session ID // -// ProviderEpochCu is used to track the CU of a specific provider in a specific epoch +// ProviderEpochCu is used to track the CU of a specific provider in a specific epoch for unresponsiveness // It's kept in a epoch-prefixed store with a unique index: provider address // // ProviderConsumerEpochCu is used to track the CU between a specific provider and -// consumer in a specific epoch +// consumer in a specific epoch for payments // It's kept in a epoch-prefixed store with a unique index: provider and project ID /* ########## UniqueEpochSession ############ */ @@ -105,9 +105,13 @@ func (k Keeper) GetProviderEpochCu(ctx sdk.Context, epoch uint64, provider strin } // RemoveProviderEpochCu removes a ProviderEpochCu from the store -func (k Keeper) RemoveProviderEpochCu(ctx sdk.Context, epoch uint64, provider string, chainID string) { +func (k Keeper) RemoveProviderEpochCus(ctx sdk.Context, epoch uint64) { store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderEpochCuKeyPrefix(epoch)) - store.Delete(types.ProviderEpochCuKey(provider, chainID)) + iterator := sdk.KVStorePrefixIterator(store, []byte{}) // Get an iterator with no prefix to iterate over all keys + defer iterator.Close() + for ; iterator.Valid(); iterator.Next() { + store.Delete(iterator.Key()) + } } // GetAllProviderEpochCuStore returns all the ProviderEpochCu from the store (used for genesis) @@ -159,6 +163,21 @@ func (k Keeper) RemoveProviderConsumerEpochCu(ctx sdk.Context, epoch uint64, pro store.Delete(types.ProviderConsumerEpochCuKey(provider, project, chainID)) } +// GetAllProviderConsumerEpochCuStore returns all the ProviderConsumerEpochCu from the store (used for genesis) +func (k Keeper) GetAllProviderConsumerEpochCu(ctx sdk.Context, epoch uint64) (keys []string, providerConsumerEpochCus []types.ProviderConsumerEpochCu) { + store := prefix.NewStore(ctx.KVStore(k.storeKey), []byte(types.ProviderConsumerEpochCuKeyPrefix(epoch))) + iterator := sdk.KVStorePrefixIterator(store, []byte{}) // Get an iterator with no prefix to iterate over all keys + defer iterator.Close() + for ; iterator.Valid(); iterator.Next() { + keys = append(keys, string(iterator.Key())) + var pcec types.ProviderConsumerEpochCu + k.cdc.MustUnmarshal(iterator.Value(), &pcec) + providerConsumerEpochCus = append(providerConsumerEpochCus, pcec) + } + + return keys, providerConsumerEpochCus +} + // GetAllProviderConsumerEpochCuStore returns all the ProviderConsumerEpochCu from the store (used for genesis) func (k Keeper) GetAllProviderConsumerEpochCuStore(ctx sdk.Context) (epochs []uint64, keys []string, providerConsumerEpochCus []types.ProviderConsumerEpochCu) { store := prefix.NewStore(ctx.KVStore(k.storeKey), []byte(types.ProviderConsumerEpochCuPrefix)) diff --git a/x/pairing/keeper/epoch_cu_test.go b/x/pairing/keeper/epoch_cu_test.go index fd066837fc..915a96e36e 100644 --- a/x/pairing/keeper/epoch_cu_test.go +++ b/x/pairing/keeper/epoch_cu_test.go @@ -100,7 +100,7 @@ func TestProviderEpochCuRemove(t *testing.T) { items := createNProviderEpochCu(keeper, ctx, 10) for i := range items { name := strconv.Itoa(i) - keeper.RemoveProviderEpochCu(ctx, uint64(i), name, name) + keeper.RemoveProviderEpochCus(ctx, uint64(i)) _, found := keeper.GetProviderEpochCu(ctx, uint64(i), name, name) require.False(t, found) } @@ -154,6 +154,25 @@ func TestProviderConsumerEpochCuRemove(t *testing.T) { } } +func TestProviderConsumerEpochCuGetAll(t *testing.T) { + keeper, ctx := keepertest.PairingKeeper(t) + items := createNProviderConsumerEpochCu(keeper, ctx, 10) + expectedKeys := []string{} + actualKeys := []string{} + actualPecs := []types.ProviderConsumerEpochCu{} + for i := range items { + name := strconv.Itoa(i) + key := string(types.ProviderConsumerEpochCuKey(name, name, name)) + expectedKeys = append(expectedKeys, key) + keys, pecs := keeper.GetAllProviderConsumerEpochCu(ctx, uint64(i)) + actualKeys = append(actualKeys, keys...) + actualPecs = append(actualPecs, pecs...) + } + + require.ElementsMatch(t, nullify.Fill(expectedKeys), nullify.Fill(actualKeys)) + require.ElementsMatch(t, items, actualPecs) +} + func TestProviderConsumerEpochCuGetAllStore(t *testing.T) { keeper, ctx := keepertest.PairingKeeper(t) items := createNProviderConsumerEpochCu(keeper, ctx, 10) diff --git a/x/pairing/keeper/epoch_payment.go b/x/pairing/keeper/epoch_payment.go new file mode 100644 index 0000000000..2250e31833 --- /dev/null +++ b/x/pairing/keeper/epoch_payment.go @@ -0,0 +1,82 @@ +package keeper + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/lavanet/lava/utils" + "github.com/lavanet/lava/x/pairing/types" +) + +// AddEpochPayment adds a new epoch payment and returns the updated CU used between provider and project +func (k Keeper) AddEpochPayment(ctx sdk.Context, chainID string, epoch uint64, project string, provider string, cu uint64, sessionID uint64) uint64 { + // register new epoch session (not checking double spend because it's alreday checked before calling this function) + k.SetUniqueEpochSession(ctx, epoch, provider, project, chainID, sessionID) + + // update provider serviced CU + pec, found := k.GetProviderEpochCu(ctx, epoch, provider, chainID) + if !found { + pec = types.ProviderEpochCu{ServicedCu: cu} + } else { + pec.ServicedCu += cu + } + k.SetProviderEpochCu(ctx, epoch, provider, chainID, pec) + + // update provider CU for the specific project + pcec, found := k.GetProviderConsumerEpochCu(ctx, epoch, provider, project, chainID) + if !found { + pcec = types.ProviderConsumerEpochCu{Cu: cu} + } else { + pcec.Cu += cu + } + k.SetProviderConsumerEpochCu(ctx, epoch, provider, project, chainID, pcec) + return pcec.Cu +} + +// Function to remove epoch payment objects from deleted epochs (older than the chain's memory) +func (k Keeper) RemoveOldEpochPayment(ctx sdk.Context) { + epochsToDelete := k.epochStorageKeeper.GetDeletedEpochs(ctx) + for _, epoch := range epochsToDelete { + k.RemoveAllEpochPaymentsForBlockAppendAdjustments(ctx, epoch) + } +} + +// Function to remove all epoch payments objects from a specific epoch +func (k Keeper) RemoveAllEpochPaymentsForBlockAppendAdjustments(ctx sdk.Context, epochToDelete uint64) { + // remove unique epoch sessions + k.RemoveUniqueEpochSessions(ctx, epochToDelete) + + // remove all provider epoch cu + k.RemoveProviderEpochCus(ctx, epochToDelete) + + keys, pcecs := k.GetAllProviderConsumerEpochCu(ctx, epochToDelete) + + // TODO: update Qos in providerQosFS. new consumers (cluster.subUsage = 0) get default QoS (what is default?) + consumerUsage := map[string]uint64{} + type couplingConsumerProvider struct { + consumer string + provider string + } + // we are keeping the iteration keys to keep determinism when going over the map + iterationOrder := []couplingConsumerProvider{} + couplingUsage := map[couplingConsumerProvider]uint64{} + for i := range keys { + provider, project, chainID, err := types.DecodeProviderConsumerEpochCuKey(keys[i]) + if err != nil { + utils.LavaFormatError("invalid provider consumer epoch cu key", err, utils.LogAttr("key", keys[i])) + continue + } + + coupling := couplingConsumerProvider{consumer: project, provider: provider} + if _, ok := couplingUsage[coupling]; !ok { + // only add it if it doesn't exist + iterationOrder = append(iterationOrder, coupling) + } + consumerUsage[project] += pcecs[i].Cu + couplingUsage[coupling] += pcecs[i].Cu + + // after we're done deleting the uniquePaymentStorageClientProvider objects, delete the providerPaymentStorage object + k.RemoveProviderConsumerEpochCu(ctx, epochToDelete, provider, project, chainID) + } + for _, coupling := range iterationOrder { + k.subscriptionKeeper.AppendAdjustment(ctx, coupling.consumer, coupling.provider, consumerUsage[coupling.consumer], couplingUsage[coupling]) + } +} diff --git a/x/pairing/keeper/epoch_payments.go b/x/pairing/keeper/epoch_payments.go deleted file mode 100644 index 050fbba64c..0000000000 --- a/x/pairing/keeper/epoch_payments.go +++ /dev/null @@ -1,191 +0,0 @@ -package keeper - -import ( - "fmt" - "strconv" - - "github.com/cosmos/cosmos-sdk/store/prefix" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/lavanet/lava/utils" - "github.com/lavanet/lava/x/pairing/types" -) - -// SetEpochPayments set a specific epochPayments in the store from its index -func (k Keeper) SetEpochPayments(ctx sdk.Context, epochPayments types.EpochPayments) { - store := prefix.NewStore(ctx.KVStore(k.storeKey), types.KeyPrefix(types.EpochPaymentsKeyPrefix)) - b := k.cdc.MustMarshal(&epochPayments) - store.Set(types.EpochPaymentsKey( - epochPayments.Index, - ), b) -} - -// GetEpochPayments returns a epochPayments from its index -func (k Keeper) GetEpochPayments( - ctx sdk.Context, - index string, -) (val types.EpochPayments, found bool) { - store := prefix.NewStore(ctx.KVStore(k.storeKey), types.KeyPrefix(types.EpochPaymentsKeyPrefix)) - - b := store.Get(types.EpochPaymentsKey( - index, - )) - if b == nil { - return val, false - } - - k.cdc.MustUnmarshal(b, &val) - return val, true -} - -// RemoveEpochPayments removes a epochPayments from the store -func (k Keeper) RemoveEpochPayments( - ctx sdk.Context, - index string, -) { - store := prefix.NewStore(ctx.KVStore(k.storeKey), types.KeyPrefix(types.EpochPaymentsKeyPrefix)) - store.Delete(types.EpochPaymentsKey( - index, - )) -} - -// GetAllEpochPayments returns all epochPayments -func (k Keeper) GetAllEpochPayments(ctx sdk.Context) (list []types.EpochPayments) { - store := prefix.NewStore(ctx.KVStore(k.storeKey), types.KeyPrefix(types.EpochPaymentsKeyPrefix)) - iterator := sdk.KVStorePrefixIterator(store, []byte{}) - - defer iterator.Close() - - for ; iterator.Valid(); iterator.Next() { - var val types.EpochPayments - k.cdc.MustUnmarshal(iterator.Value(), &val) - list = append(list, val) - } - - return -} - -// Function to remove epochPayments objects from deleted epochs (older than the chain's memory) -func (k Keeper) RemoveOldEpochPayment(ctx sdk.Context) { - for _, epoch := range k.epochStorageKeeper.GetDeletedEpochs(ctx) { - k.RemoveAllEpochPaymentsForBlockAppendAdjustments(ctx, epoch) - } -} - -// Function to get the epochPayments object from a specific epoch. Note that it also returns the epochPayments object's key which is the epoch in hex representation (base 16) -func (k Keeper) GetEpochPaymentsFromBlock(ctx sdk.Context, epoch uint64) (epochPayment types.EpochPayments, found bool, key string) { - key = strconv.FormatUint(epoch, 16) - epochPayment, found = k.GetEpochPayments(ctx, key) - return -} - -// Function to add an epoch payment to the epochPayments object -func (k Keeper) AddEpochPayment(ctx sdk.Context, chainID string, epoch uint64, projectID string, providerAddress sdk.AccAddress, usedCU uint64, uniqueIdentifier string) uint64 { - if epoch < k.epochStorageKeeper.GetEarliestEpochStart(ctx) { - return 0 - } - - // add a uniquePaymentStorageClientProvider object (the object that represent the actual payment) to this epoch's providerPaymentPayment object - userPaymentProviderStorage, usedCUProviderTotal := k.AddProviderPaymentInEpoch(ctx, chainID, epoch, projectID, providerAddress, usedCU, uniqueIdentifier) - - // get this epoch's epochPayments object - epochPayments, found, key := k.GetEpochPaymentsFromBlock(ctx, epoch) - if !found { - // this epoch doesn't have a epochPayments object, create one with the providerPaymentStorage object from before - epochPayments = types.EpochPayments{Index: key, ProviderPaymentStorageKeys: []string{userPaymentProviderStorage.GetIndex()}} - } else { - // this epoch has a epochPayments object -> make sure this payment is not already in this object - // TODO: improve - have it sorted and binary search, store indexes map for the current epoch providers stake and just lookup at the provider index (and turn it on) - assumes most providers will have payments - providerPaymentStorageKeyFound := false - for _, providerPaymentStorageKey := range epochPayments.GetProviderPaymentStorageKeys() { - if providerPaymentStorageKey == userPaymentProviderStorage.GetIndex() { - providerPaymentStorageKeyFound = true - break - } - } - - // this epoch's epochPayments object doesn't contain this providerPaymentStorage key -> append the new key - if !providerPaymentStorageKeyFound { - epochPayments.ProviderPaymentStorageKeys = append(epochPayments.ProviderPaymentStorageKeys, userPaymentProviderStorage.GetIndex()) - } - } - - // update the epochPayments object - k.SetEpochPayments(ctx, epochPayments) - - return usedCUProviderTotal -} - -// Function to remove all epochPayments objects from a specific epoch -func (k Keeper) RemoveAllEpochPaymentsForBlockAppendAdjustments(ctx sdk.Context, blockForDelete uint64) { - // get the epochPayments object of blockForDelete - epochPayments, found, key := k.GetEpochPaymentsFromBlock(ctx, blockForDelete) - if !found { - return - } - - // TODO: update Qos in providerQosFS. new consumers (cluster.subUsage = 0) get default QoS (what is default?) - consumerUsage := map[string]uint64{} - type couplingConsumerProvider struct { - consumer string - provider string - } - // we are keeping the iteration keys to keep determinism when going over the map - iterationOrder := []couplingConsumerProvider{} - couplingUsage := map[couplingConsumerProvider]uint64{} - // go over the epochPayments object's providerPaymentStorageKeys - userPaymentsStorageKeys := epochPayments.GetProviderPaymentStorageKeys() - for _, userPaymentStorageKey := range userPaymentsStorageKeys { - // get the providerPaymentStorage object - providerPaymentStorage, found := k.GetProviderPaymentStorage(ctx, userPaymentStorageKey) - if !found { - continue - } - - // go over the providerPaymentStorage object's uniquePaymentStorageClientProviderKeys - uniquePaymentStoragesCliProKeys := providerPaymentStorage.GetUniquePaymentStorageClientProviderKeys() - for _, uniquePaymentStorageKey := range uniquePaymentStoragesCliProKeys { - // get the uniquePaymentStorageClientProvider object - uniquePaymentStorage, found := k.GetUniquePaymentStorageClientProvider(ctx, uniquePaymentStorageKey) - if !found { - continue - } - - // validate its an old entry, for sanity - if uniquePaymentStorage.Block > blockForDelete { - // this should not happen; to avoid panic we simply skip this one (thus - // freeze the situation so it can be investigated and orderly resolved). - utils.LavaFormatError("critical: failed to delete epoch payment", - fmt.Errorf("payment block greater than block for delete"), - utils.Attribute{Key: "paymentBlock", Value: uniquePaymentStorage.Block}, - utils.Attribute{Key: "deleteBlock", Value: blockForDelete}, - ) - continue - } - - // delete the uniquePaymentStorageClientProvider object - k.RemoveUniquePaymentStorageClientProvider(ctx, uniquePaymentStorage.Index) - consumer := k.GetConsumerFromUniquePayment(&uniquePaymentStorage) - - provider, err := k.GetProviderFromProviderPaymentStorage(&providerPaymentStorage) - if err != nil { - utils.LavaFormatError("failed getting provider from payment storage", err) - continue - } - coupling := couplingConsumerProvider{consumer: consumer, provider: provider} - if _, ok := couplingUsage[coupling]; !ok { - // only add it if it doesn't exist - iterationOrder = append(iterationOrder, coupling) - } - consumerUsage[consumer] += uniquePaymentStorage.UsedCU - couplingUsage[coupling] += uniquePaymentStorage.UsedCU - } - - // after we're done deleting the uniquePaymentStorageClientProvider objects, delete the providerPaymentStorage object - k.RemoveProviderPaymentStorage(ctx, providerPaymentStorage.Index) - } - for _, coupling := range iterationOrder { - k.subscriptionKeeper.AppendAdjustment(ctx, coupling.consumer, coupling.provider, consumerUsage[coupling.consumer], couplingUsage[coupling]) - } - // after we're done deleting the providerPaymentStorage objects, delete the epochPayments object - k.RemoveEpochPayments(ctx, key) -} diff --git a/x/pairing/keeper/epoch_payments_test.go b/x/pairing/keeper/epoch_payments_test.go deleted file mode 100644 index a20b5f29e6..0000000000 --- a/x/pairing/keeper/epoch_payments_test.go +++ /dev/null @@ -1,64 +0,0 @@ -package keeper_test - -import ( - "strconv" - "testing" - - sdk "github.com/cosmos/cosmos-sdk/types" - keepertest "github.com/lavanet/lava/testutil/keeper" - "github.com/lavanet/lava/testutil/nullify" - "github.com/lavanet/lava/x/pairing/keeper" - "github.com/lavanet/lava/x/pairing/types" - "github.com/stretchr/testify/require" -) - -// Prevent strconv unused error -var _ = strconv.IntSize - -func createNEpochPayments(keeper *keeper.Keeper, ctx sdk.Context, n int) []types.EpochPayments { - items := make([]types.EpochPayments, n) - for i := range items { - items[i].Index = strconv.Itoa(i) - - keeper.SetEpochPayments(ctx, items[i]) - } - return items -} - -func TestEpochPaymentsGet(t *testing.T) { - keeper, ctx := keepertest.PairingKeeper(t) - items := createNEpochPayments(keeper, ctx, 10) - for _, item := range items { - rst, found := keeper.GetEpochPayments(ctx, - item.Index, - ) - require.True(t, found) - require.Equal(t, - nullify.Fill(&item), - nullify.Fill(&rst), - ) - } -} - -func TestEpochPaymentsRemove(t *testing.T) { - keeper, ctx := keepertest.PairingKeeper(t) - items := createNEpochPayments(keeper, ctx, 10) - for _, item := range items { - keeper.RemoveEpochPayments(ctx, - item.Index, - ) - _, found := keeper.GetEpochPayments(ctx, - item.Index, - ) - require.False(t, found) - } -} - -func TestEpochPaymentsGetAll(t *testing.T) { - keeper, ctx := keepertest.PairingKeeper(t) - items := createNEpochPayments(keeper, ctx, 10) - require.ElementsMatch(t, - nullify.Fill(items), - nullify.Fill(keeper.GetAllEpochPayments(ctx)), - ) -} diff --git a/x/pairing/keeper/fixation_test.go b/x/pairing/keeper/fixation_test.go index f48fd91683..098c940d0e 100644 --- a/x/pairing/keeper/fixation_test.go +++ b/x/pairing/keeper/fixation_test.go @@ -50,8 +50,5 @@ func TestEpochPaymentDeletionWithMemoryShortening(t *testing.T) { // check that both payments were deleted ts.AdvanceEpochs(epochsToSave) - - res, err := ts.QueryPairingListEpochPayments() - require.NoError(t, err) - require.Equal(t, 0, len(res.EpochPayments)) + // TODO: add check here } diff --git a/x/pairing/keeper/grpc_query_epoch_payments.go b/x/pairing/keeper/grpc_query_epoch_payments.go deleted file mode 100644 index 27e8b1cf3e..0000000000 --- a/x/pairing/keeper/grpc_query_epoch_payments.go +++ /dev/null @@ -1,56 +0,0 @@ -package keeper - -import ( - "context" - - "github.com/cosmos/cosmos-sdk/store/prefix" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/query" - "github.com/lavanet/lava/x/pairing/types" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" -) - -func (k Keeper) EpochPaymentsAll(c context.Context, req *types.QueryAllEpochPaymentsRequest) (*types.QueryAllEpochPaymentsResponse, error) { - if req == nil { - return nil, status.Error(codes.InvalidArgument, "invalid request") - } - - var epochPaymentss []types.EpochPayments - ctx := sdk.UnwrapSDKContext(c) - - store := ctx.KVStore(k.storeKey) - epochPaymentsStore := prefix.NewStore(store, types.KeyPrefix(types.EpochPaymentsKeyPrefix)) - - pageRes, err := query.Paginate(epochPaymentsStore, req.Pagination, func(key, value []byte) error { - var epochPayments types.EpochPayments - if err := k.cdc.Unmarshal(value, &epochPayments); err != nil { - return err - } - - epochPaymentss = append(epochPaymentss, epochPayments) - return nil - }) - if err != nil { - return nil, status.Error(codes.Internal, err.Error()) - } - - return &types.QueryAllEpochPaymentsResponse{EpochPayments: epochPaymentss, Pagination: pageRes}, nil -} - -func (k Keeper) EpochPayments(c context.Context, req *types.QueryGetEpochPaymentsRequest) (*types.QueryGetEpochPaymentsResponse, error) { - if req == nil { - return nil, status.Error(codes.InvalidArgument, "invalid request") - } - ctx := sdk.UnwrapSDKContext(c) - - val, found := k.GetEpochPayments( - ctx, - req.Index, - ) - if !found { - return nil, status.Error(codes.NotFound, "not found") - } - - return &types.QueryGetEpochPaymentsResponse{EpochPayments: val}, nil -} diff --git a/x/pairing/keeper/grpc_query_epoch_payments_test.go b/x/pairing/keeper/grpc_query_epoch_payments_test.go deleted file mode 100644 index 351a6976ea..0000000000 --- a/x/pairing/keeper/grpc_query_epoch_payments_test.go +++ /dev/null @@ -1,125 +0,0 @@ -package keeper_test - -import ( - "strconv" - "testing" - - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/query" - "github.com/stretchr/testify/require" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" - - keepertest "github.com/lavanet/lava/testutil/keeper" - "github.com/lavanet/lava/testutil/nullify" - "github.com/lavanet/lava/x/pairing/types" -) - -var _ = strconv.IntSize - -func TestEpochPaymentsQuerySingle(t *testing.T) { - keeper, ctx := keepertest.PairingKeeper(t) - wctx := sdk.WrapSDKContext(ctx) - msgs := createNEpochPayments(keeper, ctx, 2) - for _, tc := range []struct { - desc string - request *types.QueryGetEpochPaymentsRequest - response *types.QueryGetEpochPaymentsResponse - err error - }{ - { - desc: "First", - request: &types.QueryGetEpochPaymentsRequest{ - Index: msgs[0].Index, - }, - response: &types.QueryGetEpochPaymentsResponse{EpochPayments: msgs[0]}, - }, - { - desc: "Second", - request: &types.QueryGetEpochPaymentsRequest{ - Index: msgs[1].Index, - }, - response: &types.QueryGetEpochPaymentsResponse{EpochPayments: msgs[1]}, - }, - { - desc: "KeyNotFound", - request: &types.QueryGetEpochPaymentsRequest{ - Index: strconv.Itoa(100000), - }, - err: status.Error(codes.NotFound, "not found"), - }, - { - desc: "InvalidRequest", - err: status.Error(codes.InvalidArgument, "invalid request"), - }, - } { - t.Run(tc.desc, func(t *testing.T) { - response, err := keeper.EpochPayments(wctx, tc.request) - if tc.err != nil { - require.ErrorIs(t, err, tc.err) - } else { - require.NoError(t, err) - require.Equal(t, - nullify.Fill(tc.response), - nullify.Fill(response), - ) - } - }) - } -} - -func TestEpochPaymentsQueryPaginated(t *testing.T) { - keeper, ctx := keepertest.PairingKeeper(t) - wctx := sdk.WrapSDKContext(ctx) - msgs := createNEpochPayments(keeper, ctx, 5) - - request := func(next []byte, offset, limit uint64, total bool) *types.QueryAllEpochPaymentsRequest { - return &types.QueryAllEpochPaymentsRequest{ - Pagination: &query.PageRequest{ - Key: next, - Offset: offset, - Limit: limit, - CountTotal: total, - }, - } - } - t.Run("ByOffset", func(t *testing.T) { - step := 2 - for i := 0; i < len(msgs); i += step { - resp, err := keeper.EpochPaymentsAll(wctx, request(nil, uint64(i), uint64(step), false)) - require.NoError(t, err) - require.LessOrEqual(t, len(resp.EpochPayments), step) - require.Subset(t, - nullify.Fill(msgs), - nullify.Fill(resp.EpochPayments), - ) - } - }) - t.Run("ByKey", func(t *testing.T) { - step := 2 - var next []byte - for i := 0; i < len(msgs); i += step { - resp, err := keeper.EpochPaymentsAll(wctx, request(next, 0, uint64(step), false)) - require.NoError(t, err) - require.LessOrEqual(t, len(resp.EpochPayments), step) - require.Subset(t, - nullify.Fill(msgs), - nullify.Fill(resp.EpochPayments), - ) - next = resp.Pagination.NextKey - } - }) - t.Run("Total", func(t *testing.T) { - resp, err := keeper.EpochPaymentsAll(wctx, request(nil, 0, 0, true)) - require.NoError(t, err) - require.Equal(t, len(msgs), int(resp.Pagination.Total)) - require.ElementsMatch(t, - nullify.Fill(msgs), - nullify.Fill(resp.EpochPayments), - ) - }) - t.Run("InvalidRequest", func(t *testing.T) { - _, err := keeper.EpochPaymentsAll(wctx, nil) - require.ErrorIs(t, err, status.Error(codes.InvalidArgument, "invalid request")) - }) -} diff --git a/x/pairing/keeper/grpc_query_provider_payment_storage.go b/x/pairing/keeper/grpc_query_provider_payment_storage.go deleted file mode 100644 index d1c4ff5349..0000000000 --- a/x/pairing/keeper/grpc_query_provider_payment_storage.go +++ /dev/null @@ -1,56 +0,0 @@ -package keeper - -import ( - "context" - - "github.com/cosmos/cosmos-sdk/store/prefix" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/query" - "github.com/lavanet/lava/x/pairing/types" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" -) - -func (k Keeper) ProviderPaymentStorageAll(c context.Context, req *types.QueryAllProviderPaymentStorageRequest) (*types.QueryAllProviderPaymentStorageResponse, error) { - if req == nil { - return nil, status.Error(codes.InvalidArgument, "invalid request") - } - - var providerPaymentStorages []types.ProviderPaymentStorage - ctx := sdk.UnwrapSDKContext(c) - - store := ctx.KVStore(k.storeKey) - providerPaymentStorageStore := prefix.NewStore(store, types.KeyPrefix(types.ProviderPaymentStorageKeyPrefix)) - - pageRes, err := query.Paginate(providerPaymentStorageStore, req.Pagination, func(key, value []byte) error { - var providerPaymentStorage types.ProviderPaymentStorage - if err := k.cdc.Unmarshal(value, &providerPaymentStorage); err != nil { - return err - } - - providerPaymentStorages = append(providerPaymentStorages, providerPaymentStorage) - return nil - }) - if err != nil { - return nil, status.Error(codes.Internal, err.Error()) - } - - return &types.QueryAllProviderPaymentStorageResponse{ProviderPaymentStorage: providerPaymentStorages, Pagination: pageRes}, nil -} - -func (k Keeper) ProviderPaymentStorage(c context.Context, req *types.QueryGetProviderPaymentStorageRequest) (*types.QueryGetProviderPaymentStorageResponse, error) { - if req == nil { - return nil, status.Error(codes.InvalidArgument, "invalid request") - } - ctx := sdk.UnwrapSDKContext(c) - - val, found := k.GetProviderPaymentStorage( - ctx, - req.Index, - ) - if !found { - return nil, status.Error(codes.NotFound, "not found") - } - - return &types.QueryGetProviderPaymentStorageResponse{ProviderPaymentStorage: val}, nil -} diff --git a/x/pairing/keeper/grpc_query_provider_payment_storage_test.go b/x/pairing/keeper/grpc_query_provider_payment_storage_test.go deleted file mode 100644 index abc24208a9..0000000000 --- a/x/pairing/keeper/grpc_query_provider_payment_storage_test.go +++ /dev/null @@ -1,126 +0,0 @@ -package keeper_test - -import ( - "strconv" - "testing" - - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/query" - "github.com/stretchr/testify/require" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" - - keepertest "github.com/lavanet/lava/testutil/keeper" - "github.com/lavanet/lava/testutil/nullify" - "github.com/lavanet/lava/x/pairing/types" -) - -// Prevent strconv unused error -var _ = strconv.IntSize - -func TestProviderPaymentStorageQuerySingle(t *testing.T) { - keeper, ctx := keepertest.PairingKeeper(t) - wctx := sdk.WrapSDKContext(ctx) - msgs := createNProviderPaymentStorage(keeper, ctx, 2) - for _, tc := range []struct { - desc string - request *types.QueryGetProviderPaymentStorageRequest - response *types.QueryGetProviderPaymentStorageResponse - err error - }{ - { - desc: "First", - request: &types.QueryGetProviderPaymentStorageRequest{ - Index: msgs[0].Index, - }, - response: &types.QueryGetProviderPaymentStorageResponse{ProviderPaymentStorage: msgs[0]}, - }, - { - desc: "Second", - request: &types.QueryGetProviderPaymentStorageRequest{ - Index: msgs[1].Index, - }, - response: &types.QueryGetProviderPaymentStorageResponse{ProviderPaymentStorage: msgs[1]}, - }, - { - desc: "KeyNotFound", - request: &types.QueryGetProviderPaymentStorageRequest{ - Index: strconv.Itoa(100000), - }, - err: status.Error(codes.NotFound, "not found"), - }, - { - desc: "InvalidRequest", - err: status.Error(codes.InvalidArgument, "invalid request"), - }, - } { - t.Run(tc.desc, func(t *testing.T) { - response, err := keeper.ProviderPaymentStorage(wctx, tc.request) - if tc.err != nil { - require.ErrorIs(t, err, tc.err) - } else { - require.NoError(t, err) - require.Equal(t, - nullify.Fill(tc.response), - nullify.Fill(response), - ) - } - }) - } -} - -func TestProviderPaymentStorageQueryPaginated(t *testing.T) { - keeper, ctx := keepertest.PairingKeeper(t) - wctx := sdk.WrapSDKContext(ctx) - msgs := createNProviderPaymentStorage(keeper, ctx, 5) - - request := func(next []byte, offset, limit uint64, total bool) *types.QueryAllProviderPaymentStorageRequest { - return &types.QueryAllProviderPaymentStorageRequest{ - Pagination: &query.PageRequest{ - Key: next, - Offset: offset, - Limit: limit, - CountTotal: total, - }, - } - } - t.Run("ByOffset", func(t *testing.T) { - step := 2 - for i := 0; i < len(msgs); i += step { - resp, err := keeper.ProviderPaymentStorageAll(wctx, request(nil, uint64(i), uint64(step), false)) - require.NoError(t, err) - require.LessOrEqual(t, len(resp.ProviderPaymentStorage), step) - require.Subset(t, - nullify.Fill(msgs), - nullify.Fill(resp.ProviderPaymentStorage), - ) - } - }) - t.Run("ByKey", func(t *testing.T) { - step := 2 - var next []byte - for i := 0; i < len(msgs); i += step { - resp, err := keeper.ProviderPaymentStorageAll(wctx, request(next, 0, uint64(step), false)) - require.NoError(t, err) - require.LessOrEqual(t, len(resp.ProviderPaymentStorage), step) - require.Subset(t, - nullify.Fill(msgs), - nullify.Fill(resp.ProviderPaymentStorage), - ) - next = resp.Pagination.NextKey - } - }) - t.Run("Total", func(t *testing.T) { - resp, err := keeper.ProviderPaymentStorageAll(wctx, request(nil, 0, 0, true)) - require.NoError(t, err) - require.Equal(t, len(msgs), int(resp.Pagination.Total)) - require.ElementsMatch(t, - nullify.Fill(msgs), - nullify.Fill(resp.ProviderPaymentStorage), - ) - }) - t.Run("InvalidRequest", func(t *testing.T) { - _, err := keeper.ProviderPaymentStorageAll(wctx, nil) - require.ErrorIs(t, err, status.Error(codes.InvalidArgument, "invalid request")) - }) -} diff --git a/x/pairing/keeper/grpc_query_unique_payment_storage_client_provider.go b/x/pairing/keeper/grpc_query_unique_payment_storage_client_provider.go deleted file mode 100644 index 28a834f8f2..0000000000 --- a/x/pairing/keeper/grpc_query_unique_payment_storage_client_provider.go +++ /dev/null @@ -1,56 +0,0 @@ -package keeper - -import ( - "context" - - "github.com/cosmos/cosmos-sdk/store/prefix" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/query" - "github.com/lavanet/lava/x/pairing/types" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" -) - -func (k Keeper) UniquePaymentStorageClientProviderAll(c context.Context, req *types.QueryAllUniquePaymentStorageClientProviderRequest) (*types.QueryAllUniquePaymentStorageClientProviderResponse, error) { - if req == nil { - return nil, status.Error(codes.InvalidArgument, "invalid request") - } - - var uniquePaymentStorageClientProviders []types.UniquePaymentStorageClientProvider - ctx := sdk.UnwrapSDKContext(c) - - store := ctx.KVStore(k.storeKey) - uniquePaymentStorageClientProviderStore := prefix.NewStore(store, types.KeyPrefix(types.UniquePaymentStorageClientProviderKeyPrefix)) - - pageRes, err := query.Paginate(uniquePaymentStorageClientProviderStore, req.Pagination, func(key, value []byte) error { - var uniquePaymentStorageClientProvider types.UniquePaymentStorageClientProvider - if err := k.cdc.Unmarshal(value, &uniquePaymentStorageClientProvider); err != nil { - return err - } - - uniquePaymentStorageClientProviders = append(uniquePaymentStorageClientProviders, uniquePaymentStorageClientProvider) - return nil - }) - if err != nil { - return nil, status.Error(codes.Internal, err.Error()) - } - - return &types.QueryAllUniquePaymentStorageClientProviderResponse{UniquePaymentStorageClientProvider: uniquePaymentStorageClientProviders, Pagination: pageRes}, nil -} - -func (k Keeper) UniquePaymentStorageClientProvider(c context.Context, req *types.QueryGetUniquePaymentStorageClientProviderRequest) (*types.QueryGetUniquePaymentStorageClientProviderResponse, error) { - if req == nil { - return nil, status.Error(codes.InvalidArgument, "invalid request") - } - ctx := sdk.UnwrapSDKContext(c) - - val, found := k.GetUniquePaymentStorageClientProvider( - ctx, - req.Index, - ) - if !found { - return nil, status.Error(codes.NotFound, "not found") - } - - return &types.QueryGetUniquePaymentStorageClientProviderResponse{UniquePaymentStorageClientProvider: val}, nil -} diff --git a/x/pairing/keeper/grpc_query_unique_payment_storage_client_provider_test.go b/x/pairing/keeper/grpc_query_unique_payment_storage_client_provider_test.go deleted file mode 100644 index 03b124b245..0000000000 --- a/x/pairing/keeper/grpc_query_unique_payment_storage_client_provider_test.go +++ /dev/null @@ -1,126 +0,0 @@ -package keeper_test - -import ( - "strconv" - "testing" - - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/query" - "github.com/stretchr/testify/require" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" - - keepertest "github.com/lavanet/lava/testutil/keeper" - "github.com/lavanet/lava/testutil/nullify" - "github.com/lavanet/lava/x/pairing/types" -) - -// Prevent strconv unused error -var _ = strconv.IntSize - -func TestUniquePaymentStorageClientProviderQuerySingle(t *testing.T) { - keeper, ctx := keepertest.PairingKeeper(t) - wctx := sdk.WrapSDKContext(ctx) - msgs := createNUniquePaymentStorageClientProvider(keeper, ctx, 2) - for _, tc := range []struct { - desc string - request *types.QueryGetUniquePaymentStorageClientProviderRequest - response *types.QueryGetUniquePaymentStorageClientProviderResponse - err error - }{ - { - desc: "First", - request: &types.QueryGetUniquePaymentStorageClientProviderRequest{ - Index: msgs[0].Index, - }, - response: &types.QueryGetUniquePaymentStorageClientProviderResponse{UniquePaymentStorageClientProvider: msgs[0]}, - }, - { - desc: "Second", - request: &types.QueryGetUniquePaymentStorageClientProviderRequest{ - Index: msgs[1].Index, - }, - response: &types.QueryGetUniquePaymentStorageClientProviderResponse{UniquePaymentStorageClientProvider: msgs[1]}, - }, - { - desc: "KeyNotFound", - request: &types.QueryGetUniquePaymentStorageClientProviderRequest{ - Index: strconv.Itoa(100000), - }, - err: status.Error(codes.NotFound, "not found"), - }, - { - desc: "InvalidRequest", - err: status.Error(codes.InvalidArgument, "invalid request"), - }, - } { - t.Run(tc.desc, func(t *testing.T) { - response, err := keeper.UniquePaymentStorageClientProvider(wctx, tc.request) - if tc.err != nil { - require.ErrorIs(t, err, tc.err) - } else { - require.NoError(t, err) - require.Equal(t, - nullify.Fill(tc.response), - nullify.Fill(response), - ) - } - }) - } -} - -func TestUniquePaymentStorageClientProviderQueryPaginated(t *testing.T) { - keeper, ctx := keepertest.PairingKeeper(t) - wctx := sdk.WrapSDKContext(ctx) - msgs := createNUniquePaymentStorageClientProvider(keeper, ctx, 5) - - request := func(next []byte, offset, limit uint64, total bool) *types.QueryAllUniquePaymentStorageClientProviderRequest { - return &types.QueryAllUniquePaymentStorageClientProviderRequest{ - Pagination: &query.PageRequest{ - Key: next, - Offset: offset, - Limit: limit, - CountTotal: total, - }, - } - } - t.Run("ByOffset", func(t *testing.T) { - step := 2 - for i := 0; i < len(msgs); i += step { - resp, err := keeper.UniquePaymentStorageClientProviderAll(wctx, request(nil, uint64(i), uint64(step), false)) - require.NoError(t, err) - require.LessOrEqual(t, len(resp.UniquePaymentStorageClientProvider), step) - require.Subset(t, - nullify.Fill(msgs), - nullify.Fill(resp.UniquePaymentStorageClientProvider), - ) - } - }) - t.Run("ByKey", func(t *testing.T) { - step := 2 - var next []byte - for i := 0; i < len(msgs); i += step { - resp, err := keeper.UniquePaymentStorageClientProviderAll(wctx, request(next, 0, uint64(step), false)) - require.NoError(t, err) - require.LessOrEqual(t, len(resp.UniquePaymentStorageClientProvider), step) - require.Subset(t, - nullify.Fill(msgs), - nullify.Fill(resp.UniquePaymentStorageClientProvider), - ) - next = resp.Pagination.NextKey - } - }) - t.Run("Total", func(t *testing.T) { - resp, err := keeper.UniquePaymentStorageClientProviderAll(wctx, request(nil, 0, 0, true)) - require.NoError(t, err) - require.Equal(t, len(msgs), int(resp.Pagination.Total)) - require.ElementsMatch(t, - nullify.Fill(msgs), - nullify.Fill(resp.UniquePaymentStorageClientProvider), - ) - }) - t.Run("InvalidRequest", func(t *testing.T) { - _, err := keeper.UniquePaymentStorageClientProviderAll(wctx, nil) - require.ErrorIs(t, err, status.Error(codes.InvalidArgument, "invalid request")) - }) -} diff --git a/x/pairing/keeper/helpers_test.go b/x/pairing/keeper/helpers_test.go index 832b7ae4b3..a4e208c408 100644 --- a/x/pairing/keeper/helpers_test.go +++ b/x/pairing/keeper/helpers_test.go @@ -1,7 +1,6 @@ package keeper_test import ( - "strconv" "testing" "cosmossdk.io/math" @@ -138,14 +137,6 @@ func (ts *tester) setupForPayments(providersCount, clientsCount, providersToPair return ts } -func newStubRelayRequest(relaySession *pairingtypes.RelaySession) *pairingtypes.RelayRequest { - req := &pairingtypes.RelayRequest{ - RelaySession: relaySession, - RelayData: &pairingtypes.RelayPrivateData{Data: []byte("stub-data")}, - } - return req -} - // payAndVerifyBalance performs payment and then verifies the balances // (provider balance should increase and consumer should decrease) // The providerRewardPerc arg is the part of the provider reward after dedcuting @@ -254,66 +245,31 @@ func (ts *tester) payAndVerifyBalance( // verifyRelayPayments verifies relay payments saved on-chain after getting payment func (ts *tester) verifyRelayPayment(relaySession *pairingtypes.RelaySession, exists bool) { epoch := uint64(relaySession.Epoch) - // Get EpochPayment struct from current epoch and perform basic verifications - epochPayments, found, epochPaymentKey := ts.Keepers.Pairing.GetEpochPaymentsFromBlock(ts.Ctx, epoch) - if exists { - require.Equal(ts.T, true, found) - require.Equal(ts.T, epochPaymentKey, epochPayments.Index) - } else { - require.Equal(ts.T, false, found) - return - } + chainID := ts.spec.Name + cu := relaySession.CuSum + sessionID := relaySession.SessionId // note: assume a single client and a single provider, so these make sense: - _, client1Addr := ts.GetAccount(common.CONSUMER, 0) - providerAcct, _ := ts.GetAccount(common.PROVIDER, 0) - - providerPaymentStorageKey := ts.Keepers.Pairing.GetProviderPaymentStorageKey( - ts.Ctx, ts.spec.Name, epoch, providerAcct.Addr) - - // Get the providerPaymentStorage struct from epochPayments - var providerPaymentStorageFromEpochPayments pairingtypes.ProviderPaymentStorage - for _, paymentStorageKey := range epochPayments.GetProviderPaymentStorageKeys() { - if paymentStorageKey == providerPaymentStorageKey { - providerPaymentStorageFromEpochPayments, found = ts.Keepers.Pairing.GetProviderPaymentStorage(ts.Ctx, providerPaymentStorageKey) - require.True(ts.T, found) - } - } - require.NotEmpty(ts.T, providerPaymentStorageFromEpochPayments.Index) - require.Equal(ts.T, epoch, providerPaymentStorageFromEpochPayments.Epoch) + _, consumer := ts.GetAccount(common.CONSUMER, 0) + _, provider := ts.GetAccount(common.PROVIDER, 0) - project, err := ts.QueryProjectDeveloper(client1Addr) - require.Nil(ts.T, err) + project, err := ts.GetProjectForDeveloper(consumer, epoch) + require.NoError(ts.T, err) - // Get the UniquePaymentStorageClientProvider key - hexSessionID := strconv.FormatUint(relaySession.SessionId, 16) - uniquePaymentStorageClientProviderKey := ts.Keepers.Pairing.EncodeUniquePaymentKey( - ts.Ctx, project.Project.Index, providerAcct.Addr, hexSessionID, ts.spec.Name) - - // Get a uniquePaymentStorageClientProvider from providerPaymentStorageFromEpochPayments - // (note, this is one of the uniqueXXXX structs. So usedCU was calculated above with a - // function that takes into account all the structs) - var uniquePaymentStorageClientProviderFromProviderPaymentStorage pairingtypes.UniquePaymentStorageClientProvider - for _, paymentStorageKey := range providerPaymentStorageFromEpochPayments.UniquePaymentStorageClientProviderKeys { - if paymentStorageKey == uniquePaymentStorageClientProviderKey { - uniquePaymentStorageClientProviderFromProviderPaymentStorage, found = ts.Keepers.Pairing.GetUniquePaymentStorageClientProvider(ts.Ctx, paymentStorageKey) - require.True(ts.T, found) - } + found := ts.Keepers.Pairing.GetUniqueEpochSession(ts.Ctx, epoch, provider, project.Index, chainID, sessionID) + require.Equal(ts.T, exists, found) + + pec, found := ts.Keepers.Pairing.GetProviderEpochCu(ts.Ctx, epoch, provider, chainID) + require.Equal(ts.T, exists, found) + if exists { + require.GreaterOrEqual(ts.T, pec.ServicedCu, cu) + } + + pcec, found := ts.Keepers.Pairing.GetProviderConsumerEpochCu(ts.Ctx, epoch, provider, project.Index, chainID) + require.Equal(ts.T, exists, found) + if exists { + require.GreaterOrEqual(ts.T, pcec.Cu, cu) } - require.NotEmpty(ts.T, uniquePaymentStorageClientProviderFromProviderPaymentStorage.Index) - require.Equal(ts.T, epoch, uniquePaymentStorageClientProviderFromProviderPaymentStorage.Block) - require.Equal(ts.T, relaySession.CuSum, uniquePaymentStorageClientProviderFromProviderPaymentStorage.UsedCU) - - // Get the providerPaymentStorage struct directly - providerPaymentStorage, found := ts.Keepers.Pairing.GetProviderPaymentStorage(ts.Ctx, providerPaymentStorageKey) - require.Equal(ts.T, true, found) - require.Equal(ts.T, uint64(relaySession.Epoch), providerPaymentStorage.Epoch) - - // Get one of the UniquePaymentStorageClientProvider struct directly - uniquePaymentStorageClientProvider, found := ts.Keepers.Pairing.GetUniquePaymentStorageClientProvider(ts.Ctx, uniquePaymentStorageClientProviderKey) - require.Equal(ts.T, true, found) - require.Equal(ts.T, epoch, uniquePaymentStorageClientProvider.Block) - require.Equal(ts.T, relaySession.CuSum, uniquePaymentStorageClientProvider.UsedCU) } func (ts *tester) newRelaySession( diff --git a/x/pairing/keeper/keeper.go b/x/pairing/keeper/keeper.go index 6329a2d8fb..81075035f3 100644 --- a/x/pairing/keeper/keeper.go +++ b/x/pairing/keeper/keeper.go @@ -112,7 +112,7 @@ func (k Keeper) BeginBlock(ctx sdk.Context) { // unstake any unstaking providers k.CheckUnstakingForCommit(ctx) // unstake/jail unresponsive providers - k.UnstakeUnresponsiveProviders(ctx, + k.PunishUnresponsiveProviders(ctx, types.EPOCHS_NUM_TO_CHECK_CU_FOR_UNRESPONSIVE_PROVIDER, types.EPOCHS_NUM_TO_CHECK_FOR_COMPLAINERS) } diff --git a/x/pairing/keeper/msg_server_relay_payment.go b/x/pairing/keeper/msg_server_relay_payment.go index 2dce3370d0..5c71232b85 100644 --- a/x/pairing/keeper/msg_server_relay_payment.go +++ b/x/pairing/keeper/msg_server_relay_payment.go @@ -7,7 +7,6 @@ import ( "strings" "time" - "github.com/cometbft/cometbft/libs/log" sdk "github.com/cosmos/cosmos-sdk/types" commontypes "github.com/lavanet/lava/common/types" "github.com/lavanet/lava/utils" @@ -143,7 +142,16 @@ func (k msgServer) RelayPayment(goCtx context.Context, msg *types.MsgRelayPaymen continue } - if k.IsDoubleSpend(ctx, relay.SpecId, epochStart, project.Index, providerAddr, strconv.FormatUint(relay.SessionId, 16)) { + // check the epoch is within the chain's memory + if epochStart < k.epochStorageKeeper.GetEarliestEpochStart(ctx) { + utils.LavaFormatWarning("relay epoch is older than earliest epohc", fmt.Errorf("invalid relay payment request"), + utils.Attribute{Key: "relayEpoch", Value: relay.Epoch}, + utils.Attribute{Key: "epochStart", Value: epochStart}, + ) + continue + } + + if k.GetUniqueEpochSession(ctx, epochStart, relay.Provider, project.Index, relay.SpecId, relay.SessionId) { utils.LavaFormatWarning("double spending detected", err, utils.Attribute{Key: "epoch", Value: epochStart}, utils.Attribute{Key: "client", Value: clientAddr.String()}, @@ -157,7 +165,7 @@ func (k msgServer) RelayPayment(goCtx context.Context, msg *types.MsgRelayPaymen // if they failed (one relay should affect all of them). From here on, every check will // fail the TX *** - totalCUInEpochForUserProvider := k.Keeper.AddEpochPayment(ctx, relay.SpecId, epochStart, project.Index, providerAddr, relay.CuSum, strconv.FormatUint(relay.SessionId, 16)) + totalCUInEpochForUserProvider := k.Keeper.AddEpochPayment(ctx, relay.SpecId, epochStart, project.Index, relay.Provider, relay.CuSum, relay.SessionId) ctx.GasMeter().RefundGas(ctx.GasMeter().GasConsumed(), "") if badgeFound { k.handleBadgeCu(ctx, badgeData, relay.Provider, relay.CuSum, newBadgeTimerExpiry) @@ -274,7 +282,7 @@ func (k msgServer) RelayPayment(goCtx context.Context, msg *types.MsgRelayPaymen } // update provider payment storage with complainer's CU - err = k.updateProviderPaymentStorageWithComplainerCU(ctx, relay.UnresponsiveProviders, logger, epochStart, relay.SpecId, cuAfterQos, providers, project.Index) + err = k.updateProvidersComplainerCU(ctx, relay.UnresponsiveProviders, epochStart, relay.SpecId, cuAfterQos, providers, project.Index) if err != nil { var reportedProviders []string for _, p := range relay.UnresponsiveProviders { @@ -335,76 +343,51 @@ func (k msgServer) setStakeEntryBlockReport(ctx sdk.Context, providerAddr sdk.Ac } } -func (k msgServer) updateProviderPaymentStorageWithComplainerCU(ctx sdk.Context, unresponsiveProviders []*types.ReportedProvider, logger log.Logger, epoch uint64, chainID string, cuSum uint64, providersToPair []epochstoragetypes.StakeEntry, projectID string) error { - // check that unresponsiveData exists - if len(unresponsiveProviders) == 0 { +func (k msgServer) updateProvidersComplainerCU(ctx sdk.Context, unresponsiveProviders []*types.ReportedProvider, epoch uint64, chainID string, cu uint64, pairedProviders []epochstoragetypes.StakeEntry, project string) error { + // check that unresponsiveData exists and that the paired providers list is larger than 1 + if len(unresponsiveProviders) == 0 || len(pairedProviders) <= 1 { return nil } - // check that servicersToPair is bigger than 1 - if len(providersToPair) <= 1 { - return nil - } - - // the added complainer CU takes into account the number of providers the client complained on and the number - complainerCuToAdd := cuSum / (uint64(len(unresponsiveProviders)) * uint64(len(providersToPair)-1)) + // the added complainer CU takes into account the number of providers the client complained on and the number of paired providers + complainerCuToAdd := cu / (uint64(len(unresponsiveProviders)) * uint64(len(pairedProviders)-1)) - // iterate over the unresponsive providers list and update their complainers_total_cu + // iterate over the unresponsive providers list and update their complainers total cu for _, unresponsiveProvider := range unresponsiveProviders { - // get provider address - sdkUnresponsiveProviderAddress, err := sdk.AccAddressFromBech32(unresponsiveProvider.GetAddress()) - if err != nil { // if bad data was given, we cant parse it so we ignote it and continue this protects from spamming wrong information. - utils.LavaFormatError("unable to sdk.AccAddressFromBech32(unresponsive_provider)", err, utils.Attribute{Key: "unresponsive_provider_address", Value: unresponsiveProvider}) - continue - } - found := false - for _, provider := range providersToPair { + for _, provider := range pairedProviders { if provider.Address == unresponsiveProvider.Address { found = true break } } if !found { - utils.LavaFormatError("reported provider that is not in the pairing list of the client", err, utils.Attribute{Key: "unresponsive_provider_address", Value: unresponsiveProvider}) + utils.LavaFormatError("reported provider that is not in the pairing list of the client", + fmt.Errorf("cannot update unresponsive provider complainer CU"), + utils.Attribute{Key: "unresponsive_provider", Value: unresponsiveProvider}, + ) continue } - // get this epoch's epochPayments object - epochPayments, found, key := k.GetEpochPaymentsFromBlock(ctx, epoch) + pec, found := k.GetProviderEpochCu(ctx, epoch, unresponsiveProvider.Address, chainID) if !found { - // the epochPayments object should exist since we already paid. if not found, print an error and continue - utils.LavaFormatError("did not find epochPayments object", err, utils.Attribute{Key: "epochPaymentsKey", Value: key}) - continue - } - - // get the providerPaymentStorage object using the providerStorageKey - providerStorageKey := k.GetProviderPaymentStorageKey(ctx, chainID, epoch, sdkUnresponsiveProviderAddress) - providerPaymentStorage, found := k.GetProviderPaymentStorage(ctx, providerStorageKey) - - if !found { - // providerPaymentStorage not found (this provider has no payments in this epoch and also no complaints) -> we need to add one complaint - emptyProviderPaymentStorageWithComplaint := types.ProviderPaymentStorage{ - Index: providerStorageKey, - UniquePaymentStorageClientProviderKeys: []string{}, - Epoch: epoch, - ComplainersTotalCu: uint64(0), - } - - // append the emptyProviderPaymentStorageWithComplaint to the epochPayments object's providerPaymentStorages - epochPayments.ProviderPaymentStorageKeys = append(epochPayments.GetProviderPaymentStorageKeys(), emptyProviderPaymentStorageWithComplaint.GetIndex()) - k.SetEpochPayments(ctx, epochPayments) - - // assign providerPaymentStorage with the new empty providerPaymentStorage - providerPaymentStorage = emptyProviderPaymentStorageWithComplaint + pec = types.ProviderEpochCu{ComplainersCu: complainerCuToAdd} + } else { + pec.ComplainersCu += complainerCuToAdd } + k.SetProviderEpochCu(ctx, epoch, unresponsiveProvider.Address, chainID, pec) - // add complainer's used CU to providerPaymentStorage - providerPaymentStorage.ComplainersTotalCu += complainerCuToAdd timestamp := time.Unix(unresponsiveProvider.TimestampS, 0) - utils.LogLavaEvent(ctx, logger, types.ProviderReportedEventName, map[string]string{"provider": unresponsiveProvider.GetAddress(), "timestamp": timestamp.Format(time.DateTime), "disconnections": strconv.FormatUint(unresponsiveProvider.GetDisconnections(), 10), "errors": strconv.FormatUint(unresponsiveProvider.GetErrors(), 10), "project": projectID, "cu": strconv.FormatUint(complainerCuToAdd, 10), "epoch": strconv.FormatUint(epoch, 10), "total_complaint_this_epoch": strconv.FormatUint(providerPaymentStorage.ComplainersTotalCu, 10)}, "provider got reported by consumer") - // set the final provider payment storage state including the complaints - k.SetProviderPaymentStorage(ctx, providerPaymentStorage) + details := map[string]string{ + "provider": unresponsiveProvider.Address, + "timestamp": timestamp.Format(time.DateTime), + "disconnections": strconv.FormatUint(unresponsiveProvider.GetDisconnections(), 10), + "errors": strconv.FormatUint(unresponsiveProvider.GetErrors(), 10), + "project": project, + "cu": strconv.FormatUint(complainerCuToAdd, 10), + "epoch": strconv.FormatUint(epoch, 10), + "total_complaint_this_epoch": strconv.FormatUint(pec.ComplainersCu, 10)} + utils.LogLavaEvent(ctx, k.Logger(ctx), types.ProviderReportedEventName, details, "provider got reported by consumer") } return nil diff --git a/x/pairing/keeper/msg_server_relay_payment_test.go b/x/pairing/keeper/msg_server_relay_payment_test.go index ca66d09e06..293def4f06 100644 --- a/x/pairing/keeper/msg_server_relay_payment_test.go +++ b/x/pairing/keeper/msg_server_relay_payment_test.go @@ -467,9 +467,16 @@ func TestEpochPaymentDeletion(t *testing.T) { ts.AdvanceEpochs(ts.EpochsToSave() + 1) - res, err := ts.QueryPairingListEpochPayments() - require.NoError(t, err) - require.Equal(t, 0, len(res.EpochPayments)) + epoch := ts.EpochStart(ts.BlockHeight()) + listA := ts.Keepers.Pairing.GetAllUniqueEpochSession(ts.Ctx, epoch) + require.Len(t, listA, 0) + + _, found := ts.Keepers.Pairing.GetProviderEpochCu(ts.Ctx, epoch, providerAddr, ts.spec.Index) + require.False(t, found) + + listB, listC := ts.Keepers.Pairing.GetAllProviderConsumerEpochCu(ts.Ctx, epoch) + require.Len(t, listB, 0) + require.Len(t, listC, 0) } // Test that after the consumer uses some CU it's updated in its project and subscription diff --git a/x/pairing/keeper/provider_payment_storage.go b/x/pairing/keeper/provider_payment_storage.go deleted file mode 100644 index 1774347efb..0000000000 --- a/x/pairing/keeper/provider_payment_storage.go +++ /dev/null @@ -1,131 +0,0 @@ -package keeper - -import ( - "fmt" - "strconv" - "strings" - - "github.com/cosmos/cosmos-sdk/store/prefix" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/lavanet/lava/utils" - "github.com/lavanet/lava/x/pairing/types" -) - -// SetProviderPaymentStorage set a specific providerPaymentStorage in the store from its index -func (k Keeper) SetProviderPaymentStorage(ctx sdk.Context, providerPaymentStorage types.ProviderPaymentStorage) { - store := prefix.NewStore(ctx.KVStore(k.storeKey), types.KeyPrefix(types.ProviderPaymentStorageKeyPrefix)) - b := k.cdc.MustMarshal(&providerPaymentStorage) - store.Set(types.ProviderPaymentStorageKey( - providerPaymentStorage.Index, - ), b) -} - -// GetProviderPaymentStorage returns a providerPaymentStorage from its index -func (k Keeper) GetProviderPaymentStorage( - ctx sdk.Context, - index string, -) (val types.ProviderPaymentStorage, found bool) { - store := prefix.NewStore(ctx.KVStore(k.storeKey), types.KeyPrefix(types.ProviderPaymentStorageKeyPrefix)) - - b := store.Get(types.ProviderPaymentStorageKey( - index, - )) - if b == nil { - return val, false - } - - k.cdc.MustUnmarshal(b, &val) - return val, true -} - -// RemoveProviderPaymentStorage removes a providerPaymentStorage from the store -func (k Keeper) RemoveProviderPaymentStorage( - ctx sdk.Context, - index string, -) { - store := prefix.NewStore(ctx.KVStore(k.storeKey), types.KeyPrefix(types.ProviderPaymentStorageKeyPrefix)) - store.Delete(types.ProviderPaymentStorageKey( - index, - )) -} - -// GetAllProviderPaymentStorage returns all providerPaymentStorage -func (k Keeper) GetAllProviderPaymentStorage(ctx sdk.Context) (list []types.ProviderPaymentStorage) { - store := prefix.NewStore(ctx.KVStore(k.storeKey), types.KeyPrefix(types.ProviderPaymentStorageKeyPrefix)) - iterator := sdk.KVStorePrefixIterator(store, []byte{}) - - defer iterator.Close() - - for ; iterator.Valid(); iterator.Next() { - var val types.ProviderPaymentStorage - k.cdc.MustUnmarshal(iterator.Value(), &val) - list = append(list, val) - } - - return -} - -func (k Keeper) GetProviderFromProviderPaymentStorage(providerPaymentStorage *types.ProviderPaymentStorage) (string, error) { - index := providerPaymentStorage.Index - // index consists of chain_epoch_providerAddress - lastIndex := strings.LastIndex(index, "_") - if lastIndex != -1 { - return index[lastIndex+1:], nil - } - return "", fmt.Errorf("invalid provider payment storage key %s", index) -} - -// Function to get a providerPaymentStorage object's key (key is chainID_epoch_providerAddress, epoch in hex representation) -func (k Keeper) GetProviderPaymentStorageKey(ctx sdk.Context, chainID string, epoch uint64, providerAddress sdk.AccAddress) string { - return chainID + "_" + strconv.FormatUint(epoch, 16) + "_" + providerAddress.String() -} - -// Function to add a payment (which is represented by a uniquePaymentStorageClientProvider object) to a providerPaymentStorage object -func (k Keeper) AddProviderPaymentInEpoch(ctx sdk.Context, chainID string, epoch uint64, projectID string, providerAddress sdk.AccAddress, usedCU uint64, uniqueIdentifier string) (userPayment *types.ProviderPaymentStorage, usedCUConsumerTotal uint64) { - // create an uniquePaymentStorageClientProvider object and set it in the KVStore - uniquePaymentStorageClientProviderEntryAddr := k.AddUniquePaymentStorageClientProvider(ctx, chainID, epoch, projectID, providerAddress, uniqueIdentifier, usedCU) - - // get the providerPaymentStorage object - providerPaymentStorageKey := k.GetProviderPaymentStorageKey(ctx, chainID, epoch, providerAddress) - userPaymentStorageInEpoch, found := k.GetProviderPaymentStorage(ctx, providerPaymentStorageKey) - if !found { - // is new entry -> create a new providerPaymentStorage object - userPaymentStorageInEpoch = types.ProviderPaymentStorage{Index: providerPaymentStorageKey, UniquePaymentStorageClientProviderKeys: []string{uniquePaymentStorageClientProviderEntryAddr.GetIndex()}, Epoch: epoch} - usedCUConsumerTotal = usedCU - } else { - // found the providerPaymentStorage object -> append the uniquePaymentStorageClientProvider object's key - userPaymentStorageInEpoch.UniquePaymentStorageClientProviderKeys = append(userPaymentStorageInEpoch.UniquePaymentStorageClientProviderKeys, uniquePaymentStorageClientProviderEntryAddr.GetIndex()) - - // sum up the used CU for this provider and this consumer over this epoch - usedCUConsumerTotal = k.GetTotalUsedCUForConsumerPerEpoch(ctx, projectID, userPaymentStorageInEpoch.GetUniquePaymentStorageClientProviderKeys(), providerAddress.String()) - } - - // set the providerPaymentStorage object in the KVStore - k.SetProviderPaymentStorage(ctx, userPaymentStorageInEpoch) - - return &userPaymentStorageInEpoch, usedCUConsumerTotal -} - -// Function to get the total serviced CU by a provider in this epoch for a specific consumer -func (k Keeper) GetTotalUsedCUForConsumerPerEpoch(ctx sdk.Context, projectID string, uniquePaymentStorageKeys []string, providerAddress string) uint64 { - usedCUProviderTotal := uint64(0) - - // go over the uniquePaymentStorageKeys - for _, uniquePaymentKey := range uniquePaymentStorageKeys { - // get the uniquePaymentStorageClientProvider object - uniquePayment, found := k.GetUniquePaymentStorageClientProvider(ctx, uniquePaymentKey) - if !found { - utils.LavaFormatError("could not find uniquePaymentStorageClientProvider object", fmt.Errorf("unique payment object not found"), - utils.Attribute{Key: "providerAddress", Value: providerAddress}, - utils.Attribute{Key: "projectID", Value: projectID}, - ) - continue - } - - // if the uniquePaymentStorageClientProvider object is between the provider and the specific consumer, add the serviced CU - if k.GetConsumerFromUniquePayment(&uniquePayment) == projectID { - usedCUProviderTotal += uniquePayment.UsedCU - } - } - return usedCUProviderTotal -} diff --git a/x/pairing/keeper/provider_payment_storage_test.go b/x/pairing/keeper/provider_payment_storage_test.go deleted file mode 100644 index d8bb531410..0000000000 --- a/x/pairing/keeper/provider_payment_storage_test.go +++ /dev/null @@ -1,64 +0,0 @@ -package keeper_test - -import ( - "strconv" - "testing" - - sdk "github.com/cosmos/cosmos-sdk/types" - keepertest "github.com/lavanet/lava/testutil/keeper" - "github.com/lavanet/lava/testutil/nullify" - "github.com/lavanet/lava/x/pairing/keeper" - "github.com/lavanet/lava/x/pairing/types" - "github.com/stretchr/testify/require" -) - -// Prevent strconv unused error -var _ = strconv.IntSize - -func createNProviderPaymentStorage(keeper *keeper.Keeper, ctx sdk.Context, n int) []types.ProviderPaymentStorage { - items := make([]types.ProviderPaymentStorage, n) - for i := range items { - items[i].Index = strconv.Itoa(i) - - keeper.SetProviderPaymentStorage(ctx, items[i]) - } - return items -} - -func TestProviderPaymentStorageGet(t *testing.T) { - keeper, ctx := keepertest.PairingKeeper(t) - items := createNProviderPaymentStorage(keeper, ctx, 10) - for _, item := range items { - rst, found := keeper.GetProviderPaymentStorage(ctx, - item.Index, - ) - require.True(t, found) - require.Equal(t, - nullify.Fill(&item), - nullify.Fill(&rst), - ) - } -} - -func TestProviderPaymentStorageRemove(t *testing.T) { - keeper, ctx := keepertest.PairingKeeper(t) - items := createNProviderPaymentStorage(keeper, ctx, 10) - for _, item := range items { - keeper.RemoveProviderPaymentStorage(ctx, - item.Index, - ) - _, found := keeper.GetProviderPaymentStorage(ctx, - item.Index, - ) - require.False(t, found) - } -} - -func TestProviderPaymentStorageGetAll(t *testing.T) { - keeper, ctx := keepertest.PairingKeeper(t) - items := createNProviderPaymentStorage(keeper, ctx, 10) - require.ElementsMatch(t, - nullify.Fill(items), - nullify.Fill(keeper.GetAllProviderPaymentStorage(ctx)), - ) -} diff --git a/x/pairing/keeper/qos_excellence.go b/x/pairing/keeper/qos_excellence.go index c076b1780e..eca781c944 100644 --- a/x/pairing/keeper/qos_excellence.go +++ b/x/pairing/keeper/qos_excellence.go @@ -8,8 +8,7 @@ import ( pairingtypes "github.com/lavanet/lava/x/pairing/types" ) -func (k Keeper) UpdateProviderQos(epochPayments pairingtypes.EpochPayments) { -} +// TODO: implement UpdateProviderQos(payments) // GetQos gets a provider's QoS excellence report from the providerQosFS func (k Keeper) GetQos(ctx sdk.Context, chainID string, cluster string, provider string) (pairingtypes.QualityOfServiceReport, error) { diff --git a/x/pairing/keeper/unique_payment_storage_client_provider.go b/x/pairing/keeper/unique_payment_storage_client_provider.go deleted file mode 100644 index b89fb49df8..0000000000 --- a/x/pairing/keeper/unique_payment_storage_client_provider.go +++ /dev/null @@ -1,95 +0,0 @@ -package keeper - -import ( - "github.com/cosmos/cosmos-sdk/store/prefix" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/lavanet/lava/x/pairing/types" -) - -// SetUniquePaymentStorageClientProvider set a specific uniquePaymentStorageClientProvider in the store from its index -func (k Keeper) SetUniquePaymentStorageClientProvider(ctx sdk.Context, uniquePaymentStorageClientProvider types.UniquePaymentStorageClientProvider) { - store := prefix.NewStore(ctx.KVStore(k.storeKey), types.KeyPrefix(types.UniquePaymentStorageClientProviderKeyPrefix)) - b := k.cdc.MustMarshal(&uniquePaymentStorageClientProvider) - store.Set(types.UniquePaymentStorageClientProviderKey( - uniquePaymentStorageClientProvider.Index, - ), b) -} - -// GetUniquePaymentStorageClientProvider returns a uniquePaymentStorageClientProvider from its index -func (k Keeper) GetUniquePaymentStorageClientProvider( - ctx sdk.Context, - index string, -) (val types.UniquePaymentStorageClientProvider, found bool) { - store := prefix.NewStore(ctx.KVStore(k.storeKey), types.KeyPrefix(types.UniquePaymentStorageClientProviderKeyPrefix)) - - b := store.Get(types.UniquePaymentStorageClientProviderKey( - index, - )) - if b == nil { - return val, false - } - - k.cdc.MustUnmarshal(b, &val) - return val, true -} - -// RemoveUniquePaymentStorageClientProvider removes a uniquePaymentStorageClientProvider from the store -func (k Keeper) RemoveUniquePaymentStorageClientProvider( - ctx sdk.Context, - index string, -) { - store := prefix.NewStore(ctx.KVStore(k.storeKey), types.KeyPrefix(types.UniquePaymentStorageClientProviderKeyPrefix)) - store.Delete(types.UniquePaymentStorageClientProviderKey( - index, - )) -} - -// GetAllUniquePaymentStorageClientProvider returns all uniquePaymentStorageClientProvider -func (k Keeper) GetAllUniquePaymentStorageClientProvider(ctx sdk.Context) (list []types.UniquePaymentStorageClientProvider) { - store := prefix.NewStore(ctx.KVStore(k.storeKey), types.KeyPrefix(types.UniquePaymentStorageClientProviderKeyPrefix)) - iterator := sdk.KVStorePrefixIterator(store, []byte{}) - - defer iterator.Close() - - for ; iterator.Valid(); iterator.Next() { - var val types.UniquePaymentStorageClientProvider - k.cdc.MustUnmarshal(iterator.Value(), &val) - list = append(list, val) - } - - return -} - -func (k Keeper) AddUniquePaymentStorageClientProvider(ctx sdk.Context, chainID string, block uint64, projectID string, providerAddress sdk.AccAddress, uniqueIdentifier string, usedCU uint64) *types.UniquePaymentStorageClientProvider { - key := k.EncodeUniquePaymentKey(ctx, projectID, providerAddress, uniqueIdentifier, chainID) - entry := types.UniquePaymentStorageClientProvider{Index: key, Block: block, UsedCU: usedCU} - k.SetUniquePaymentStorageClientProvider(ctx, entry) - return &entry -} - -func (k Keeper) IsDoubleSpend(ctx sdk.Context, chainID string, block uint64, projectID string, providerAddress sdk.AccAddress, uniqueIdentifier string) bool { - key := k.EncodeUniquePaymentKey(ctx, projectID, providerAddress, uniqueIdentifier, chainID) - _, found := k.GetUniquePaymentStorageClientProvider(ctx, key) - return found -} - -func (k Keeper) GetConsumerFromUniquePayment(uniquePaymentStorageClientProvider *types.UniquePaymentStorageClientProvider) string { - key := uniquePaymentStorageClientProvider.Index - providerAdrLengh := charToAsciiNumber(rune(key[0])) - provider := key[1 : providerAdrLengh+1] - return provider -} - -func (k Keeper) EncodeUniquePaymentKey(ctx sdk.Context, projectID string, providerAddress sdk.AccAddress, uniqueIdentifier, chainID string) string { - leadingChar := asciiNumberToChar(len(projectID)) - key := string(leadingChar) + projectID + providerAddress.String() + uniqueIdentifier + chainID - return key -} - -func charToAsciiNumber(char rune) int { - return int(char) -} - -func asciiNumberToChar(asciiNum int) rune { - return rune(asciiNum) -} diff --git a/x/pairing/keeper/unique_payment_storage_client_provider_test.go b/x/pairing/keeper/unique_payment_storage_client_provider_test.go deleted file mode 100644 index 7f0edbe276..0000000000 --- a/x/pairing/keeper/unique_payment_storage_client_provider_test.go +++ /dev/null @@ -1,64 +0,0 @@ -package keeper_test - -import ( - "strconv" - "testing" - - sdk "github.com/cosmos/cosmos-sdk/types" - keepertest "github.com/lavanet/lava/testutil/keeper" - "github.com/lavanet/lava/testutil/nullify" - "github.com/lavanet/lava/x/pairing/keeper" - "github.com/lavanet/lava/x/pairing/types" - "github.com/stretchr/testify/require" -) - -// Prevent strconv unused error -var _ = strconv.IntSize - -func createNUniquePaymentStorageClientProvider(keeper *keeper.Keeper, ctx sdk.Context, n int) []types.UniquePaymentStorageClientProvider { - items := make([]types.UniquePaymentStorageClientProvider, n) - for i := range items { - items[i].Index = strconv.Itoa(i) - - keeper.SetUniquePaymentStorageClientProvider(ctx, items[i]) - } - return items -} - -func TestUniquePaymentStorageClientProviderGet(t *testing.T) { - keeper, ctx := keepertest.PairingKeeper(t) - items := createNUniquePaymentStorageClientProvider(keeper, ctx, 10) - for _, item := range items { - rst, found := keeper.GetUniquePaymentStorageClientProvider(ctx, - item.Index, - ) - require.True(t, found) - require.Equal(t, - nullify.Fill(&item), - nullify.Fill(&rst), - ) - } -} - -func TestUniquePaymentStorageClientProviderRemove(t *testing.T) { - keeper, ctx := keepertest.PairingKeeper(t) - items := createNUniquePaymentStorageClientProvider(keeper, ctx, 10) - for _, item := range items { - keeper.RemoveUniquePaymentStorageClientProvider(ctx, - item.Index, - ) - _, found := keeper.GetUniquePaymentStorageClientProvider(ctx, - item.Index, - ) - require.False(t, found) - } -} - -func TestUniquePaymentStorageClientProviderGetAll(t *testing.T) { - keeper, ctx := keepertest.PairingKeeper(t) - items := createNUniquePaymentStorageClientProvider(keeper, ctx, 10) - require.ElementsMatch(t, - nullify.Fill(items), - nullify.Fill(keeper.GetAllUniquePaymentStorageClientProvider(ctx)), - ) -} diff --git a/x/pairing/keeper/unresponsive_provider.go b/x/pairing/keeper/unresponsive_provider.go index bb7fa00600..1184d189ea 100644 --- a/x/pairing/keeper/unresponsive_provider.go +++ b/x/pairing/keeper/unresponsive_provider.go @@ -13,8 +13,8 @@ import ( const THRESHOLD_FACTOR = 4 -// Function that returns a map that links between a provider that should be punished and its providerCuCounterForUnreponsiveness -func (k Keeper) UnstakeUnresponsiveProviders(ctx sdk.Context, epochsNumToCheckCUForUnresponsiveProvider, epochsNumToCheckCUForComplainers uint64) { +// PunishUnresponsiveProviders punished unresponsive providers (current punishment: freeze) +func (k Keeper) PunishUnresponsiveProviders(ctx sdk.Context, epochsNumToCheckCUForUnresponsiveProvider, epochsNumToCheckCUForComplainers uint64) { // check the epochsNum consts if epochsNumToCheckCUForComplainers <= 0 || epochsNumToCheckCUForUnresponsiveProvider <= 0 { utils.LavaFormatError("epoch to check CU for unresponsive provider or for complainer is zero", @@ -92,7 +92,7 @@ func (k Keeper) UnstakeUnresponsiveProviders(ctx sdk.Context, epochsNumToCheckCU continue } // update the CU count for this provider in providerCuCounterForUnreponsivenessMap - providerPaymentStorageKeyList, complaintCU, servicedCU, err := k.countCuForUnresponsiveness(ctx, minPaymentBlock, epochsNumToCheckCUForUnresponsiveProvider, epochsNumToCheckCUForComplainers, providerStakeEntry) + epochs, complaintCU, servicedCU, err := k.countCuForUnresponsiveness(ctx, minPaymentBlock, epochsNumToCheckCUForUnresponsiveProvider, epochsNumToCheckCUForComplainers, providerStakeEntry) if err != nil { utils.LavaFormatError("unstake unresponsive providers failed to count CU", err, utils.Attribute{Key: "provider", Value: providerStakeEntry.Address}, @@ -101,8 +101,8 @@ func (k Keeper) UnstakeUnresponsiveProviders(ctx sdk.Context, epochsNumToCheckCU } // providerPaymentStorageKeyList is not empty -> provider should be punished - if len(providerPaymentStorageKeyList) != 0 && existingProviders[providerStakeEntry.GetChain()] > minProviders { - err = k.punishUnresponsiveProvider(ctx, providerPaymentStorageKeyList, providerStakeEntry.GetAddress(), providerStakeEntry.GetChain(), complaintCU, servicedCU) + if len(epochs) != 0 && existingProviders[providerStakeEntry.GetChain()] > minProviders { + err = k.punishUnresponsiveProvider(ctx, epochs, providerStakeEntry.GetAddress(), providerStakeEntry.GetChain(), complaintCU, servicedCU) existingProviders[providerStakeEntry.GetChain()]-- if err != nil { utils.LavaFormatError("unstake unresponsive providers failed to punish provider", err, @@ -127,69 +127,48 @@ func (k Keeper) getBlockEpochsAgo(ctx sdk.Context, blockHeight, numEpochs uint64 return blockHeight, nil } -// Function to count the CU serviced by the unresponsive provider and the CU of the complainers. The function returns a list of the found providerPaymentStorageKey -func (k Keeper) countCuForUnresponsiveness(ctx sdk.Context, epoch, epochsNumToCheckCUForUnresponsiveProvider, epochsNumToCheckCUForComplainers uint64, providerStakeEntry epochstoragetypes.StakeEntry) (keysToResetIfJail []string, complaints uint64, servicedCU uint64, errRet error) { - epochTemp := epoch - providerServicedCu := uint64(0) - complainersCu := uint64(0) - providerPaymentStorageKeyList := []string{} - - // get the provider's SDK account address - sdkStakeEntryProviderAddress, err := sdk.AccAddressFromBech32(providerStakeEntry.GetAddress()) - if err != nil { - return nil, 0, 0, utils.LavaFormatError("unable to sdk.AccAddressFromBech32(provider)", err, utils.Attribute{Key: "provider_address", Value: providerStakeEntry.Address}) - } - - // check which of the consts is larger - largerEpochsNumConst := epochsNumToCheckCUForComplainers +// Function to count the CU serviced by the unresponsive provider and the CU of the complainers. The function returns the keys of the objects containing complainer CU +func (k Keeper) countCuForUnresponsiveness(ctx sdk.Context, epoch, epochsNumToCheckCUForUnresponsiveProvider, epochsNumToCheckCUForComplainers uint64, providerStakeEntry epochstoragetypes.StakeEntry) (epochs []uint64, complainersCu uint64, servicedCu uint64, errRet error) { + // check which of the epoch consts is larger + max := epochsNumToCheckCUForComplainers if epochsNumToCheckCUForUnresponsiveProvider > epochsNumToCheckCUForComplainers { - largerEpochsNumConst = epochsNumToCheckCUForUnresponsiveProvider + max = epochsNumToCheckCUForUnresponsiveProvider } // count the CU serviced by the unersponsive provider and used CU of the complainers - for counter := uint64(0); counter < largerEpochsNumConst; counter++ { - // get providerPaymentStorageKey for epochTemp (other traits from the stake entry) - providerPaymentStorageKey := k.GetProviderPaymentStorageKey(ctx, providerStakeEntry.GetChain(), epochTemp, sdkStakeEntryProviderAddress) - - // try getting providerPaymentStorage using the providerPaymentStorageKey - providerPaymentStorage, found := k.GetProviderPaymentStorage(ctx, providerPaymentStorageKey) + for counter := uint64(0); counter < max; counter++ { + pec, found := k.GetProviderEpochCu(ctx, epoch, providerStakeEntry.Address, providerStakeEntry.Chain) if found { - // counter is smaller than epochsNumToCheckCUForUnresponsiveProvider -> count CU serviced by the provider in the epoch - if counter < epochsNumToCheckCUForUnresponsiveProvider { - // count the CU by iterating through the uniquePaymentStorageClientProvider objects - for _, uniquePaymentKey := range providerPaymentStorage.GetUniquePaymentStorageClientProviderKeys() { - uniquePayment, _ := k.GetUniquePaymentStorageClientProvider(ctx, uniquePaymentKey) - providerServicedCu += uniquePayment.GetUsedCU() - } - } - // counter is smaller than epochsNumToCheckCUForComplainers -> count complainer CU if counter < epochsNumToCheckCUForComplainers { - // update complainersCu - complainersCu += providerPaymentStorage.ComplainersTotalCu + complainersCu += pec.ComplainersCu + epochs = append(epochs, epoch) } - // save the providerPaymentStorageKey in the providerPaymentStorageKeyList - providerPaymentStorageKeyList = append(providerPaymentStorageKeyList, providerPaymentStorageKey) + // counter is smaller than epochsNumToCheckCUForUnresponsiveProvider -> count CU serviced by the provider in the epoch + if counter < epochsNumToCheckCUForUnresponsiveProvider { + servicedCu += pec.ServicedCu + } } // Get previous epoch (from epochTemp) - previousEpoch, err := k.epochStorageKeeper.GetPreviousEpochStartForBlock(ctx, epochTemp) + previousEpoch, err := k.epochStorageKeeper.GetPreviousEpochStartForBlock(ctx, epoch) if err != nil { return nil, 0, 0, utils.LavaFormatWarning("couldn't get previous epoch", err, utils.Attribute{Key: "epoch", Value: epoch}, ) } - // update epochTemp - epochTemp = previousEpoch + // update epoch + epoch = previousEpoch } - // the complainers' CU is larger than the provider serviced CU -> should be punished (return providerPaymentStorageKeyList so the complainers' CU can be reset after the punishment) - if complainersCu > THRESHOLD_FACTOR*providerServicedCu { - return providerPaymentStorageKeyList, complainersCu, providerServicedCu, nil + // the complainers' CU is larger than the provider serviced CU -> should be punished + // epochs list is returned so the complainers' CU can be reset + if complainersCu > THRESHOLD_FACTOR*servicedCu { + return epochs, complainersCu, servicedCu, nil } - return nil, complainersCu, providerServicedCu, nil + return nil, complainersCu, servicedCu, nil } // Function that return the current stake storage for all chains @@ -212,35 +191,39 @@ func (k Keeper) getCurrentProviderStakeStorageList(ctx sdk.Context) []epochstora } // Function that punishes providers. Current punishment is freeze -func (k Keeper) punishUnresponsiveProvider(ctx sdk.Context, providerPaymentStorageKeyList []string, providerAddress, chainID string, complaintCU uint64, servicedCU uint64) error { +func (k Keeper) punishUnresponsiveProvider(ctx sdk.Context, epochs []uint64, provider, chainID string, complaintCU uint64, servicedCU uint64) error { // freeze the unresponsive provider - err := k.FreezeProvider(ctx, providerAddress, []string{chainID}, "unresponsiveness") + err := k.FreezeProvider(ctx, provider, []string{chainID}, "unresponsiveness") if err != nil { utils.LavaFormatError("unable to freeze provider entry due to unresponsiveness", err, - utils.Attribute{Key: "provider", Value: providerAddress}, + utils.Attribute{Key: "provider", Value: provider}, utils.Attribute{Key: "chainID", Value: chainID}, ) } - utils.LogLavaEvent(ctx, k.Logger(ctx), types.ProviderJailedEventName, map[string]string{"provider_address": providerAddress, "chain_id": chainID, "complaint_cu": strconv.FormatUint(complaintCU, 10), "serviced_cu": strconv.FormatUint(servicedCU, 10)}, "Unresponsive provider was freezed due to unresponsiveness") + utils.LogLavaEvent(ctx, k.Logger(ctx), types.ProviderJailedEventName, + map[string]string{ + "provider_address": provider, + "chain_id": chainID, + "complaint_cu": strconv.FormatUint(complaintCU, 10), + "serviced_cu": strconv.FormatUint(servicedCU, 10)}, + "Unresponsive provider was freezed due to unresponsiveness") // reset the provider's complainer CU (so he won't get punished for the same complaints twice) - k.resetComplainersCU(ctx, providerPaymentStorageKeyList) + k.resetComplainersCU(ctx, epochs, provider, chainID) return nil } -// Function that reset the complainer CU of providerPaymentStorage objects that can be accessed using providerPaymentStorageIndexList -func (k Keeper) resetComplainersCU(ctx sdk.Context, providerPaymentStorageIndexList []string) { - // go over the providerPaymentStorageIndexList - for _, providerPaymentStorageIndex := range providerPaymentStorageIndexList { - // get providerPaymentStorage using its index - providerPaymentStorage, found := k.GetProviderPaymentStorage(ctx, providerPaymentStorageIndex) +// resetComplainersCU resets the complainers CU for a specific provider and chain +func (k Keeper) resetComplainersCU(ctx sdk.Context, epochs []uint64, provider string, chainID string) { + for _, epoch := range epochs { + pec, found := k.GetProviderEpochCu(ctx, epoch, provider, chainID) if !found { continue } // reset the complainer CU - providerPaymentStorage.ComplainersTotalCu = 0 - k.SetProviderPaymentStorage(ctx, providerPaymentStorage) + pec.ComplainersCu = 0 + k.SetProviderEpochCu(ctx, epoch, provider, chainID, pec) } } diff --git a/x/pairing/keeper/unresponsive_provider_test.go b/x/pairing/keeper/unresponsive_provider_test.go index 9134143718..fd045ed86b 100644 --- a/x/pairing/keeper/unresponsive_provider_test.go +++ b/x/pairing/keeper/unresponsive_provider_test.go @@ -23,13 +23,12 @@ func (ts *tester) checkProviderFreeze(provider sdk.AccAddress, shouldFreeze bool } } -func (ts *tester) checkComplainerReset(provider sdk.AccAddress, epoch uint64) { +func (ts *tester) checkComplainerReset(provider string, epoch uint64) { // validate the complainers CU field in the unresponsive provider's providerPaymentStorage // was reset after being punished (use the epoch from the relay - when it got reported) - providerPaymentStorageKey := ts.Keepers.Pairing.GetProviderPaymentStorageKey(ts.Ctx, ts.spec.Name, epoch, provider) - providerPaymentStorage, found := ts.Keepers.Pairing.GetProviderPaymentStorage(ts.Ctx, providerPaymentStorageKey) + pec, found := ts.Keepers.Pairing.GetProviderEpochCu(ts.Ctx, epoch, provider, ts.spec.Name) require.Equal(ts.T, true, found) - require.Equal(ts.T, uint64(0), providerPaymentStorage.ComplainersTotalCu) + require.Equal(ts.T, uint64(0), pec.ComplainersCu) } func (ts *tester) checkProviderStaked(provider sdk.AccAddress) { @@ -124,7 +123,7 @@ func TestUnresponsivenessStressTest(t *testing.T) { for i := 0; i < unresponsiveCount; i++ { ts.checkProviderFreeze(providers[i].Addr, true) - ts.checkComplainerReset(providers[i].Addr, relayEpoch) + ts.checkComplainerReset(providers[i].Addr.String(), relayEpoch) } for i := unresponsiveCount; i < providersCount; i++ { @@ -189,7 +188,7 @@ func TestFreezingProviderForUnresponsiveness(t *testing.T) { ts.AdvanceEpochs(largerConst) ts.checkProviderFreeze(provider1_addr, true) - ts.checkComplainerReset(provider1_addr, relayEpoch) + ts.checkComplainerReset(provider1_addr.String(), relayEpoch) ts.checkProviderStaked(provider0_addr) } @@ -246,7 +245,7 @@ func TestFreezingProviderForUnresponsivenessContinueComplainingAfterFreeze(t *te ts.AdvanceEpochs(largerConst) ts.checkProviderFreeze(provider1_addr, true) - ts.checkComplainerReset(provider1_addr, relayEpoch) + ts.checkComplainerReset(provider1_addr.String(), relayEpoch) ts.AdvanceEpochs(2) diff --git a/x/pairing/types/epoch_payments.pb.go b/x/pairing/types/epoch_payments.pb.go deleted file mode 100644 index 3c3c694977..0000000000 --- a/x/pairing/types/epoch_payments.pb.go +++ /dev/null @@ -1,374 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: lavanet/lava/pairing/epoch_payments.proto - -package types - -import ( - fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" - io "io" - math "math" - math_bits "math/bits" -) - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package - -type EpochPayments struct { - Index string `protobuf:"bytes,1,opt,name=index,proto3" json:"index,omitempty"` - ProviderPaymentStorageKeys []string `protobuf:"bytes,3,rep,name=providerPaymentStorageKeys,proto3" json:"providerPaymentStorageKeys,omitempty"` -} - -func (m *EpochPayments) Reset() { *m = EpochPayments{} } -func (m *EpochPayments) String() string { return proto.CompactTextString(m) } -func (*EpochPayments) ProtoMessage() {} -func (*EpochPayments) Descriptor() ([]byte, []int) { - return fileDescriptor_0769055c01132b19, []int{0} -} -func (m *EpochPayments) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *EpochPayments) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_EpochPayments.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *EpochPayments) XXX_Merge(src proto.Message) { - xxx_messageInfo_EpochPayments.Merge(m, src) -} -func (m *EpochPayments) XXX_Size() int { - return m.Size() -} -func (m *EpochPayments) XXX_DiscardUnknown() { - xxx_messageInfo_EpochPayments.DiscardUnknown(m) -} - -var xxx_messageInfo_EpochPayments proto.InternalMessageInfo - -func (m *EpochPayments) GetIndex() string { - if m != nil { - return m.Index - } - return "" -} - -func (m *EpochPayments) GetProviderPaymentStorageKeys() []string { - if m != nil { - return m.ProviderPaymentStorageKeys - } - return nil -} - -func init() { - proto.RegisterType((*EpochPayments)(nil), "lavanet.lava.pairing.EpochPayments") -} - -func init() { - proto.RegisterFile("lavanet/lava/pairing/epoch_payments.proto", fileDescriptor_0769055c01132b19) -} - -var fileDescriptor_0769055c01132b19 = []byte{ - // 199 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0xcc, 0x49, 0x2c, 0x4b, - 0xcc, 0x4b, 0x2d, 0xd1, 0x07, 0xd1, 0xfa, 0x05, 0x89, 0x99, 0x45, 0x99, 0x79, 0xe9, 0xfa, 0xa9, - 0x05, 0xf9, 0xc9, 0x19, 0xf1, 0x05, 0x89, 0x95, 0xb9, 0xa9, 0x79, 0x25, 0xc5, 0x7a, 0x05, 0x45, - 0xf9, 0x25, 0xf9, 0x42, 0x22, 0x50, 0xa5, 0x7a, 0x20, 0x5a, 0x0f, 0xaa, 0x54, 0x29, 0x9b, 0x8b, - 0xd7, 0x15, 0xa4, 0x3a, 0x00, 0xaa, 0x58, 0x48, 0x84, 0x8b, 0x35, 0x33, 0x2f, 0x25, 0xb5, 0x42, - 0x82, 0x51, 0x81, 0x51, 0x83, 0x33, 0x08, 0xc2, 0x11, 0xb2, 0xe3, 0x92, 0x2a, 0x28, 0xca, 0x2f, - 0xcb, 0x4c, 0x49, 0x2d, 0x82, 0xaa, 0x0c, 0x2e, 0xc9, 0x2f, 0x4a, 0x4c, 0x4f, 0xf5, 0x4e, 0xad, - 0x2c, 0x96, 0x60, 0x56, 0x60, 0xd6, 0xe0, 0x0c, 0xc2, 0xa3, 0xc2, 0x8b, 0x85, 0x83, 0x49, 0x80, - 0xd9, 0xc9, 0xf1, 0xc4, 0x23, 0x39, 0xc6, 0x0b, 0x8f, 0xe4, 0x18, 0x1f, 0x3c, 0x92, 0x63, 0x9c, - 0xf0, 0x58, 0x8e, 0xe1, 0xc2, 0x63, 0x39, 0x86, 0x1b, 0x8f, 0xe5, 0x18, 0xa2, 0xd4, 0xd3, 0x33, - 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0x51, 0xbc, 0x54, 0x01, 0xf7, 0x54, 0x49, - 0x65, 0x41, 0x6a, 0x71, 0x12, 0x1b, 0xd8, 0x33, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0x62, - 0x52, 0x3c, 0xac, 0xf9, 0x00, 0x00, 0x00, -} - -func (m *EpochPayments) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *EpochPayments) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *EpochPayments) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.ProviderPaymentStorageKeys) > 0 { - for iNdEx := len(m.ProviderPaymentStorageKeys) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.ProviderPaymentStorageKeys[iNdEx]) - copy(dAtA[i:], m.ProviderPaymentStorageKeys[iNdEx]) - i = encodeVarintEpochPayments(dAtA, i, uint64(len(m.ProviderPaymentStorageKeys[iNdEx]))) - i-- - dAtA[i] = 0x1a - } - } - if len(m.Index) > 0 { - i -= len(m.Index) - copy(dAtA[i:], m.Index) - i = encodeVarintEpochPayments(dAtA, i, uint64(len(m.Index))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func encodeVarintEpochPayments(dAtA []byte, offset int, v uint64) int { - offset -= sovEpochPayments(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *EpochPayments) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Index) - if l > 0 { - n += 1 + l + sovEpochPayments(uint64(l)) - } - if len(m.ProviderPaymentStorageKeys) > 0 { - for _, s := range m.ProviderPaymentStorageKeys { - l = len(s) - n += 1 + l + sovEpochPayments(uint64(l)) - } - } - return n -} - -func sovEpochPayments(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozEpochPayments(x uint64) (n int) { - return sovEpochPayments(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *EpochPayments) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEpochPayments - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: EpochPayments: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: EpochPayments: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Index", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEpochPayments - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthEpochPayments - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthEpochPayments - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Index = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ProviderPaymentStorageKeys", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEpochPayments - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthEpochPayments - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthEpochPayments - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ProviderPaymentStorageKeys = append(m.ProviderPaymentStorageKeys, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipEpochPayments(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthEpochPayments - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipEpochPayments(dAtA []byte) (n int, err error) { - l := len(dAtA) - iNdEx := 0 - depth := 0 - for iNdEx < l { - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowEpochPayments - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= (uint64(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - wireType := int(wire & 0x7) - switch wireType { - case 0: - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowEpochPayments - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - iNdEx++ - if dAtA[iNdEx-1] < 0x80 { - break - } - } - case 1: - iNdEx += 8 - case 2: - var length int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowEpochPayments - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - length |= (int(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - if length < 0 { - return 0, ErrInvalidLengthEpochPayments - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupEpochPayments - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthEpochPayments - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthEpochPayments = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowEpochPayments = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupEpochPayments = fmt.Errorf("proto: unexpected end of group") -) diff --git a/x/pairing/types/genesis.pb.go b/x/pairing/types/genesis.pb.go index b7f23a984a..4101f5baed 100644 --- a/x/pairing/types/genesis.pb.go +++ b/x/pairing/types/genesis.pb.go @@ -379,48 +379,46 @@ func init() { } var fileDescriptor_dbd1e49b8b57595b = []byte{ - // 650 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x54, 0x41, 0x53, 0xd3, 0x40, - 0x18, 0x6d, 0x68, 0xda, 0x86, 0x05, 0xb5, 0xac, 0x55, 0x96, 0xea, 0x44, 0x88, 0xe3, 0x58, 0x66, - 0x34, 0x71, 0xc0, 0x93, 0x37, 0x60, 0x94, 0x11, 0x3d, 0x48, 0x0b, 0xe3, 0x8c, 0x97, 0x98, 0x26, - 0x6b, 0x58, 0xa5, 0xd9, 0x98, 0xdd, 0x30, 0xf4, 0x5f, 0x78, 0xf2, 0xe7, 0x78, 0xe6, 0xc8, 0xd1, - 0x93, 0xe3, 0xc0, 0xaf, 0xf0, 0xe6, 0x64, 0xb3, 0x0d, 0x84, 0x6e, 0x98, 0xd1, 0x53, 0xf2, 0x75, - 0xdf, 0xf7, 0x5e, 0xde, 0xf7, 0xbe, 0x2e, 0xb0, 0x0e, 0xbd, 0x23, 0x2f, 0xc2, 0xdc, 0xc9, 0x9e, - 0x4e, 0xec, 0x91, 0x84, 0x44, 0xa1, 0x13, 0xe2, 0x08, 0x33, 0xc2, 0xec, 0x38, 0xa1, 0x9c, 0xc2, - 0x8e, 0xc4, 0xd8, 0xd9, 0xd3, 0x96, 0x98, 0x6e, 0x27, 0xa4, 0x21, 0x15, 0x00, 0x27, 0x7b, 0xcb, - 0xb1, 0xdd, 0x15, 0x25, 0x5f, 0xec, 0x25, 0xde, 0x48, 0xd2, 0x75, 0x37, 0x94, 0x90, 0x34, 0x22, - 0x5f, 0x53, 0xec, 0xc6, 0xde, 0x78, 0x84, 0x23, 0xee, 0x32, 0x4e, 0x13, 0x2f, 0xc4, 0xae, 0x7f, - 0x48, 0xb2, 0x32, 0x4e, 0xe8, 0x11, 0x09, 0x70, 0x22, 0x29, 0xd6, 0xd5, 0x2a, 0x12, 0x74, 0x95, - 0x44, 0x36, 0x3d, 0x54, 0x36, 0xe1, 0x98, 0xfa, 0x07, 0xae, 0x9f, 0x4a, 0xd0, 0x6a, 0x09, 0xf4, - 0x89, 0x1c, 0x7b, 0x9c, 0xd0, 0x28, 0x23, 0xc2, 0x45, 0xa5, 0xe4, 0xe3, 0x64, 0x84, 0x93, 0x1c, - 0x27, 0x5e, 0x73, 0x90, 0xb5, 0x0b, 0xe6, 0x36, 0xbd, 0x20, 0xc4, 0xfb, 0x0c, 0x07, 0x5b, 0x29, - 0x5c, 0x05, 0x0b, 0xc3, 0xac, 0x74, 0x53, 0x86, 0x03, 0xd7, 0x4f, 0xdd, 0x2f, 0x78, 0x8c, 0xb4, - 0x65, 0xad, 0x37, 0xdf, 0xbf, 0x39, 0xbc, 0xc0, 0xbd, 0xc1, 0x63, 0xb8, 0x08, 0x5a, 0x12, 0x84, - 0x66, 0x96, 0xb5, 0x9e, 0xde, 0x6f, 0xa6, 0xe2, 0xcc, 0xfa, 0xde, 0x00, 0xf3, 0xdb, 0x79, 0x40, - 0x03, 0xee, 0x71, 0x0c, 0x5f, 0x80, 0x66, 0x3e, 0x60, 0xc1, 0x34, 0xb7, 0x76, 0xdf, 0x56, 0x05, - 0x66, 0xbf, 0x13, 0x98, 0x4d, 0xfd, 0xe4, 0xd7, 0x83, 0x5a, 0x5f, 0x76, 0xc0, 0x5d, 0x70, 0xeb, - 0x92, 0xee, 0x5b, 0xc2, 0x38, 0x6a, 0x2c, 0xd7, 0x7b, 0x73, 0x6b, 0x2b, 0x6a, 0x92, 0x4b, 0x66, - 0x24, 0xd3, 0xd5, 0x7e, 0xb8, 0x0d, 0x0c, 0xf1, 0x13, 0xdb, 0x1b, 0xa0, 0xa6, 0xf8, 0xa0, 0x47, - 0x65, 0xae, 0x8b, 0x51, 0xd9, 0x97, 0x7d, 0x48, 0xbe, 0xa2, 0x19, 0xee, 0x81, 0x1b, 0x93, 0x48, - 0x77, 0x29, 0x7b, 0x35, 0x40, 0x2d, 0xc1, 0xd6, 0x2b, 0xb3, 0x95, 0x32, 0x52, 0x11, 0x96, 0x49, - 0x20, 0x01, 0x77, 0xe4, 0xae, 0xe5, 0xd1, 0x33, 0xcc, 0x58, 0xd6, 0x8e, 0x0c, 0xe1, 0xdb, 0x51, - 0xfb, 0xde, 0x17, 0x2d, 0x2f, 0xb3, 0x8e, 0x41, 0xde, 0x20, 0x95, 0xa4, 0xc8, 0xed, 0x74, 0x0a, - 0xc0, 0xe0, 0x47, 0x00, 0x8b, 0x9d, 0x9c, 0xec, 0x19, 0x43, 0xb3, 0x42, 0xe7, 0x49, 0x45, 0x48, - 0x12, 0x2f, 0x88, 0xb6, 0xd2, 0xb2, 0x48, 0x3b, 0x2e, 0x9f, 0x32, 0x38, 0x06, 0xf7, 0x0a, 0x05, - 0x9f, 0x46, 0x2c, 0x1d, 0x95, 0xa4, 0x80, 0x90, 0x7a, 0x7e, 0xbd, 0xd4, 0x96, 0xec, 0x53, 0x4a, - 0xa2, 0x58, 0x8d, 0x62, 0x3b, 0xba, 0x31, 0xd3, 0xae, 0xef, 0xe8, 0x46, 0xbd, 0xad, 0xef, 0xe8, - 0x86, 0xde, 0x6e, 0x58, 0x3e, 0x58, 0xaa, 0x1c, 0x13, 0xec, 0x80, 0x86, 0xf8, 0x2e, 0xb1, 0xa3, - 0x7a, 0x3f, 0x2f, 0xe0, 0x33, 0xd0, 0x51, 0x85, 0x21, 0x36, 0x7e, 0xb6, 0x0f, 0xa7, 0x87, 0x6a, - 0xfd, 0xd0, 0xc0, 0x5d, 0xf5, 0x90, 0x2a, 0x24, 0xba, 0xc0, 0x98, 0x78, 0x90, 0xb4, 0x45, 0x0d, - 0x97, 0x80, 0xe1, 0x1f, 0x78, 0x24, 0x72, 0x49, 0x80, 0xea, 0xe2, 0xac, 0x25, 0xea, 0xd7, 0x01, - 0x7c, 0x0f, 0x16, 0xa6, 0xb2, 0x43, 0xba, 0x6a, 0x9d, 0x2b, 0xa2, 0x9b, 0xfc, 0x3d, 0xae, 0x64, - 0x66, 0xfd, 0xd1, 0x80, 0x79, 0xfd, 0xe8, 0xff, 0xc3, 0x08, 0x02, 0xad, 0x38, 0xa1, 0x9f, 0xb1, - 0xcf, 0x27, 0x3e, 0x64, 0x59, 0xb2, 0xa8, 0x97, 0x2d, 0xc6, 0xa0, 0x5b, 0xbd, 0x3c, 0xa8, 0x21, - 0xbc, 0x3e, 0xfd, 0xa7, 0xdd, 0x91, 0x9e, 0x17, 0x2b, 0x96, 0x66, 0x73, 0xe3, 0xe4, 0xcc, 0xd4, - 0x4e, 0xcf, 0x4c, 0xed, 0xf7, 0x99, 0xa9, 0x7d, 0x3b, 0x37, 0x6b, 0xa7, 0xe7, 0x66, 0xed, 0xe7, - 0xb9, 0x59, 0xfb, 0xf0, 0x38, 0x24, 0xfc, 0x20, 0x1d, 0xda, 0x3e, 0x1d, 0x39, 0xa5, 0x7b, 0xf5, - 0xb8, 0xb8, 0xa9, 0xf9, 0x38, 0xc6, 0x6c, 0xd8, 0x14, 0xf7, 0xea, 0xfa, 0xdf, 0x00, 0x00, 0x00, - 0xff, 0xff, 0xfc, 0x2e, 0xc1, 0xeb, 0xb9, 0x06, 0x00, 0x00, + // 619 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x54, 0x4f, 0x6f, 0xd3, 0x3c, + 0x18, 0x6f, 0xd6, 0xb4, 0xcd, 0xbc, 0xbd, 0x2f, 0x9d, 0x29, 0xcc, 0x2b, 0x28, 0x6c, 0x41, 0x88, + 0x4e, 0x82, 0x04, 0x0d, 0x4e, 0xdc, 0x68, 0x05, 0x13, 0x85, 0x03, 0x6d, 0x37, 0x21, 0x71, 0x09, + 0x69, 0x62, 0x52, 0x03, 0x8d, 0x43, 0x9c, 0x4c, 0xeb, 0xb7, 0xe0, 0xc4, 0xc7, 0xe1, 0xbc, 0xe3, + 0x8e, 0x9c, 0x10, 0x6a, 0x3f, 0x05, 0x37, 0x14, 0xc7, 0xed, 0x9a, 0xd5, 0x99, 0x04, 0xa7, 0xe4, + 0xa9, 0x7f, 0x7f, 0xf2, 0x7b, 0x9e, 0xa7, 0x06, 0xc6, 0x67, 0xe7, 0xc4, 0x09, 0x70, 0x6c, 0xa5, + 0x4f, 0x2b, 0x74, 0x48, 0x44, 0x02, 0xdf, 0xf2, 0x71, 0x80, 0x19, 0x61, 0x66, 0x18, 0xd1, 0x98, + 0xc2, 0x86, 0xc0, 0x98, 0xe9, 0xd3, 0x14, 0x98, 0x66, 0xc3, 0xa7, 0x3e, 0xe5, 0x00, 0x2b, 0x7d, + 0xcb, 0xb0, 0xcd, 0x3d, 0xa9, 0x5e, 0xe8, 0x44, 0xce, 0x58, 0xc8, 0x35, 0xef, 0x4a, 0x21, 0x38, + 0xa4, 0xee, 0xc8, 0x76, 0x13, 0x01, 0xda, 0xcf, 0x81, 0x3e, 0x90, 0x53, 0x27, 0x26, 0x34, 0x60, + 0x31, 0x8d, 0xf0, 0xa2, 0x92, 0xea, 0xc5, 0x64, 0x8c, 0xa3, 0x0c, 0xc7, 0x5f, 0x33, 0x90, 0xd1, + 0x03, 0x1b, 0x6d, 0xc7, 0xf3, 0xf1, 0x31, 0xc3, 0x5e, 0x27, 0x81, 0xfb, 0x60, 0x6b, 0x98, 0x96, + 0x76, 0xc2, 0xb0, 0x67, 0xbb, 0x89, 0xfd, 0x09, 0x4f, 0x90, 0xb2, 0xab, 0xb4, 0x36, 0xfb, 0xff, + 0x0f, 0x2f, 0x70, 0xaf, 0xf0, 0x04, 0x6e, 0x83, 0x9a, 0x00, 0xa1, 0xb5, 0x5d, 0xa5, 0xa5, 0xf6, + 0xab, 0x09, 0x3f, 0x33, 0xbe, 0x55, 0xc0, 0xe6, 0x61, 0xd6, 0xa8, 0x41, 0xec, 0xc4, 0x18, 0x3e, + 0x05, 0xd5, 0x2c, 0x28, 0x57, 0xda, 0x38, 0xb8, 0x6d, 0xca, 0x1a, 0x67, 0xbe, 0xe1, 0x98, 0xb6, + 0x7a, 0xf6, 0xf3, 0x4e, 0xa9, 0x2f, 0x18, 0xb0, 0x07, 0xae, 0x2d, 0xf9, 0xbe, 0x26, 0x2c, 0x46, + 0x95, 0xdd, 0x72, 0x6b, 0xe3, 0x60, 0x4f, 0x2e, 0xb2, 0x14, 0x46, 0x28, 0x5d, 0xe6, 0xc3, 0x43, + 0xa0, 0xf1, 0x9f, 0xd8, 0xd1, 0x00, 0x55, 0xf9, 0x07, 0xdd, 0xcb, 0x6b, 0x5d, 0xb4, 0xca, 0x5c, + 0xce, 0x21, 0xf4, 0x16, 0x64, 0x78, 0x04, 0xfe, 0x0b, 0x23, 0x7a, 0x42, 0x3c, 0x1c, 0xf5, 0x28, + 0x7b, 0x31, 0x40, 0x35, 0xae, 0xd6, 0xca, 0xab, 0xe5, 0x66, 0x24, 0x13, 0xcc, 0x8b, 0x40, 0x02, + 0x6e, 0x24, 0x01, 0xf9, 0x92, 0x60, 0x3b, 0x1b, 0x3d, 0xc3, 0x8c, 0xa5, 0x74, 0xa4, 0xf1, 0xdc, + 0x96, 0x3c, 0xf7, 0x31, 0xa7, 0x3c, 0x4f, 0x19, 0x83, 0x8c, 0x20, 0x9c, 0x84, 0xc9, 0xf5, 0x64, + 0x05, 0xc0, 0xe0, 0x7b, 0x00, 0xe7, 0xde, 0xf6, 0x7c, 0xcf, 0x18, 0x5a, 0xe7, 0x3e, 0x0f, 0x0a, + 0x86, 0x24, 0xf0, 0x5c, 0xa8, 0x93, 0xe4, 0x4d, 0xea, 0x61, 0xfe, 0x94, 0xc1, 0x09, 0xb8, 0xb5, + 0x70, 0x70, 0x69, 0xc0, 0x92, 0x71, 0xce, 0x0a, 0x70, 0xab, 0x27, 0x57, 0x5b, 0x75, 0x04, 0x4f, + 0x6a, 0x89, 0x42, 0x39, 0x8a, 0x75, 0x55, 0x6d, 0xad, 0x5e, 0xee, 0xaa, 0x5a, 0xb9, 0xae, 0x76, + 0x55, 0x4d, 0xad, 0x57, 0x0c, 0x17, 0xec, 0x14, 0xb6, 0x09, 0x36, 0x40, 0x85, 0x7f, 0x17, 0xdf, + 0x51, 0xb5, 0x9f, 0x15, 0xf0, 0x11, 0x68, 0xc8, 0x86, 0xc1, 0x37, 0x7e, 0xbd, 0x0f, 0x57, 0x9b, + 0x6a, 0x7c, 0x57, 0xc0, 0x4d, 0x79, 0x93, 0x0a, 0x2c, 0x9a, 0x40, 0x9b, 0x67, 0x10, 0xb2, 0x8b, + 0x1a, 0xee, 0x00, 0xcd, 0x1d, 0x39, 0x24, 0xb0, 0x89, 0x87, 0xca, 0xfc, 0xac, 0xc6, 0xeb, 0x97, + 0x1e, 0x7c, 0x0b, 0xb6, 0x56, 0x66, 0x87, 0x54, 0xd9, 0x3a, 0x17, 0x8c, 0x6e, 0xfe, 0xf7, 0xb8, + 0x34, 0x33, 0xe3, 0xb7, 0x02, 0xf4, 0xab, 0x5b, 0xff, 0x0f, 0x41, 0x10, 0xa8, 0x85, 0x11, 0xfd, + 0x88, 0xdd, 0x78, 0x9e, 0x43, 0x94, 0xb9, 0x88, 0x6a, 0x3e, 0x62, 0x08, 0x9a, 0xc5, 0xcb, 0x83, + 0x2a, 0x3c, 0xeb, 0xc3, 0xbf, 0xda, 0x1d, 0x91, 0x79, 0xbb, 0x60, 0x69, 0xda, 0xcf, 0xce, 0xa6, + 0xba, 0x72, 0x3e, 0xd5, 0x95, 0x5f, 0x53, 0x5d, 0xf9, 0x3a, 0xd3, 0x4b, 0xe7, 0x33, 0xbd, 0xf4, + 0x63, 0xa6, 0x97, 0xde, 0xdd, 0xf7, 0x49, 0x3c, 0x4a, 0x86, 0xa6, 0x4b, 0xc7, 0x56, 0xee, 0x5e, + 0x3d, 0x5d, 0xdc, 0xd4, 0xf1, 0x24, 0xc4, 0x6c, 0x58, 0xe5, 0xf7, 0xea, 0xe3, 0x3f, 0x01, 0x00, + 0x00, 0xff, 0xff, 0x02, 0xde, 0x8f, 0x13, 0x41, 0x06, 0x00, 0x00, } func (m *BadgeUsedCu) Marshal() (dAtA []byte, err error) { diff --git a/x/pairing/types/key_epoch_payments.go b/x/pairing/types/key_epoch_payments.go deleted file mode 100644 index 9aa7a1c85a..0000000000 --- a/x/pairing/types/key_epoch_payments.go +++ /dev/null @@ -1,23 +0,0 @@ -package types - -import "encoding/binary" - -var _ binary.ByteOrder - -const ( - // EpochPaymentsKeyPrefix is the prefix to retrieve all EpochPayments - EpochPaymentsKeyPrefix = "EpochPayments/value/" -) - -// EpochPaymentsKey returns the store key to retrieve a EpochPayments from the index fields -func EpochPaymentsKey( - index string, -) []byte { - var key []byte - - indexBytes := []byte(index) - key = append(key, indexBytes...) - key = append(key, []byte("/")...) - - return key -} diff --git a/x/pairing/types/key_provider_payment_storage.go b/x/pairing/types/key_provider_payment_storage.go deleted file mode 100644 index 3130113a07..0000000000 --- a/x/pairing/types/key_provider_payment_storage.go +++ /dev/null @@ -1,23 +0,0 @@ -package types - -import "encoding/binary" - -var _ binary.ByteOrder - -const ( - // ProviderPaymentStorageKeyPrefix is the prefix to retrieve all ProviderPaymentStorage - ProviderPaymentStorageKeyPrefix = "ProviderPaymentStorage/value/" -) - -// ProviderPaymentStorageKey returns the store key to retrieve a ProviderPaymentStorage from the index fields -func ProviderPaymentStorageKey( - index string, -) []byte { - var key []byte - - indexBytes := []byte(index) - key = append(key, indexBytes...) - key = append(key, []byte("/")...) - - return key -} diff --git a/x/pairing/types/key_unique_payment_storage_client_provider.go b/x/pairing/types/key_unique_payment_storage_client_provider.go deleted file mode 100644 index 0f331b2324..0000000000 --- a/x/pairing/types/key_unique_payment_storage_client_provider.go +++ /dev/null @@ -1,23 +0,0 @@ -package types - -import "encoding/binary" - -var _ binary.ByteOrder - -const ( - // UniquePaymentStorageClientProviderKeyPrefix is the prefix to retrieve all UniquePaymentStorageClientProvider - UniquePaymentStorageClientProviderKeyPrefix = "UniquePaymentStorageClientProvider/value/" -) - -// UniquePaymentStorageClientProviderKey returns the store key to retrieve a UniquePaymentStorageClientProvider from the index fields -func UniquePaymentStorageClientProviderKey( - index string, -) []byte { - var key []byte - - indexBytes := []byte(index) - key = append(key, indexBytes...) - key = append(key, []byte("/")...) - - return key -} diff --git a/x/pairing/types/provider_payment_storage.pb.go b/x/pairing/types/provider_payment_storage.pb.go deleted file mode 100644 index add25081f9..0000000000 --- a/x/pairing/types/provider_payment_storage.pb.go +++ /dev/null @@ -1,449 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: lavanet/lava/pairing/provider_payment_storage.proto - -package types - -import ( - fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" - io "io" - math "math" - math_bits "math/bits" -) - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package - -type ProviderPaymentStorage struct { - Index string `protobuf:"bytes,1,opt,name=index,proto3" json:"index,omitempty"` - Epoch uint64 `protobuf:"varint,3,opt,name=epoch,proto3" json:"epoch,omitempty"` - UniquePaymentStorageClientProviderKeys []string `protobuf:"bytes,5,rep,name=uniquePaymentStorageClientProviderKeys,proto3" json:"uniquePaymentStorageClientProviderKeys,omitempty"` - ComplainersTotalCu uint64 `protobuf:"varint,6,opt,name=complainersTotalCu,proto3" json:"complainersTotalCu,omitempty"` -} - -func (m *ProviderPaymentStorage) Reset() { *m = ProviderPaymentStorage{} } -func (m *ProviderPaymentStorage) String() string { return proto.CompactTextString(m) } -func (*ProviderPaymentStorage) ProtoMessage() {} -func (*ProviderPaymentStorage) Descriptor() ([]byte, []int) { - return fileDescriptor_39d1051245241a4e, []int{0} -} -func (m *ProviderPaymentStorage) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *ProviderPaymentStorage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_ProviderPaymentStorage.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *ProviderPaymentStorage) XXX_Merge(src proto.Message) { - xxx_messageInfo_ProviderPaymentStorage.Merge(m, src) -} -func (m *ProviderPaymentStorage) XXX_Size() int { - return m.Size() -} -func (m *ProviderPaymentStorage) XXX_DiscardUnknown() { - xxx_messageInfo_ProviderPaymentStorage.DiscardUnknown(m) -} - -var xxx_messageInfo_ProviderPaymentStorage proto.InternalMessageInfo - -func (m *ProviderPaymentStorage) GetIndex() string { - if m != nil { - return m.Index - } - return "" -} - -func (m *ProviderPaymentStorage) GetEpoch() uint64 { - if m != nil { - return m.Epoch - } - return 0 -} - -func (m *ProviderPaymentStorage) GetUniquePaymentStorageClientProviderKeys() []string { - if m != nil { - return m.UniquePaymentStorageClientProviderKeys - } - return nil -} - -func (m *ProviderPaymentStorage) GetComplainersTotalCu() uint64 { - if m != nil { - return m.ComplainersTotalCu - } - return 0 -} - -func init() { - proto.RegisterType((*ProviderPaymentStorage)(nil), "lavanet.lava.pairing.ProviderPaymentStorage") -} - -func init() { - proto.RegisterFile("lavanet/lava/pairing/provider_payment_storage.proto", fileDescriptor_39d1051245241a4e) -} - -var fileDescriptor_39d1051245241a4e = []byte{ - // 278 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x32, 0xce, 0x49, 0x2c, 0x4b, - 0xcc, 0x4b, 0x2d, 0xd1, 0x07, 0xd1, 0xfa, 0x05, 0x89, 0x99, 0x45, 0x99, 0x79, 0xe9, 0xfa, 0x05, - 0x45, 0xf9, 0x65, 0x99, 0x29, 0xa9, 0x45, 0xf1, 0x05, 0x89, 0x95, 0xb9, 0xa9, 0x79, 0x25, 0xf1, - 0xc5, 0x25, 0xf9, 0x45, 0x89, 0xe9, 0xa9, 0x7a, 0x05, 0x45, 0xf9, 0x25, 0xf9, 0x42, 0x22, 0x50, - 0x4d, 0x7a, 0x20, 0x5a, 0x0f, 0xaa, 0x49, 0xca, 0x11, 0xab, 0x51, 0xa5, 0x79, 0x99, 0x85, 0xa5, - 0xa9, 0xe8, 0x06, 0xc5, 0x27, 0xe7, 0x64, 0x82, 0xb8, 0x30, 0x8b, 0x20, 0x06, 0x2b, 0xdd, 0x60, - 0xe4, 0x12, 0x0b, 0x80, 0x0a, 0x05, 0x40, 0x74, 0x04, 0x43, 0x34, 0x08, 0x89, 0x70, 0xb1, 0x66, - 0xe6, 0xa5, 0xa4, 0x56, 0x48, 0x30, 0x2a, 0x30, 0x6a, 0x70, 0x06, 0x41, 0x38, 0x20, 0xd1, 0xd4, - 0x82, 0xfc, 0xe4, 0x0c, 0x09, 0x66, 0x05, 0x46, 0x0d, 0x96, 0x20, 0x08, 0x47, 0x28, 0x8c, 0x4b, - 0x0d, 0x62, 0x2d, 0xaa, 0x19, 0xce, 0x60, 0x3b, 0x61, 0xe6, 0x7b, 0xa7, 0x56, 0x16, 0x4b, 0xb0, - 0x2a, 0x30, 0x6b, 0x70, 0x06, 0x11, 0xa9, 0x5a, 0x48, 0x8f, 0x4b, 0x28, 0x39, 0x3f, 0xb7, 0x20, - 0x27, 0x31, 0x33, 0x2f, 0xb5, 0xa8, 0x38, 0x24, 0xbf, 0x24, 0x31, 0xc7, 0xb9, 0x54, 0x82, 0x0d, - 0x6c, 0x35, 0x16, 0x19, 0x2f, 0x16, 0x0e, 0x26, 0x01, 0x66, 0x2f, 0x16, 0x0e, 0x16, 0x01, 0x56, - 0x27, 0xc7, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c, 0x92, 0x63, 0x7c, 0xf0, 0x48, 0x8e, 0x71, 0xc2, - 0x63, 0x39, 0x86, 0x0b, 0x8f, 0xe5, 0x18, 0x6e, 0x3c, 0x96, 0x63, 0x88, 0x52, 0x4f, 0xcf, 0x2c, - 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x47, 0x09, 0xc2, 0x0a, 0x78, 0x20, 0x96, 0x54, - 0x16, 0xa4, 0x16, 0x27, 0xb1, 0x81, 0x03, 0xc9, 0x18, 0x10, 0x00, 0x00, 0xff, 0xff, 0xda, 0x1f, - 0x87, 0x29, 0xb4, 0x01, 0x00, 0x00, -} - -func (m *ProviderPaymentStorage) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ProviderPaymentStorage) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *ProviderPaymentStorage) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.ComplainersTotalCu != 0 { - i = encodeVarintProviderPaymentStorage(dAtA, i, uint64(m.ComplainersTotalCu)) - i-- - dAtA[i] = 0x30 - } - if len(m.UniquePaymentStorageClientProviderKeys) > 0 { - for iNdEx := len(m.UniquePaymentStorageClientProviderKeys) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.UniquePaymentStorageClientProviderKeys[iNdEx]) - copy(dAtA[i:], m.UniquePaymentStorageClientProviderKeys[iNdEx]) - i = encodeVarintProviderPaymentStorage(dAtA, i, uint64(len(m.UniquePaymentStorageClientProviderKeys[iNdEx]))) - i-- - dAtA[i] = 0x2a - } - } - if m.Epoch != 0 { - i = encodeVarintProviderPaymentStorage(dAtA, i, uint64(m.Epoch)) - i-- - dAtA[i] = 0x18 - } - if len(m.Index) > 0 { - i -= len(m.Index) - copy(dAtA[i:], m.Index) - i = encodeVarintProviderPaymentStorage(dAtA, i, uint64(len(m.Index))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func encodeVarintProviderPaymentStorage(dAtA []byte, offset int, v uint64) int { - offset -= sovProviderPaymentStorage(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *ProviderPaymentStorage) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Index) - if l > 0 { - n += 1 + l + sovProviderPaymentStorage(uint64(l)) - } - if m.Epoch != 0 { - n += 1 + sovProviderPaymentStorage(uint64(m.Epoch)) - } - if len(m.UniquePaymentStorageClientProviderKeys) > 0 { - for _, s := range m.UniquePaymentStorageClientProviderKeys { - l = len(s) - n += 1 + l + sovProviderPaymentStorage(uint64(l)) - } - } - if m.ComplainersTotalCu != 0 { - n += 1 + sovProviderPaymentStorage(uint64(m.ComplainersTotalCu)) - } - return n -} - -func sovProviderPaymentStorage(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozProviderPaymentStorage(x uint64) (n int) { - return sovProviderPaymentStorage(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *ProviderPaymentStorage) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProviderPaymentStorage - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ProviderPaymentStorage: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ProviderPaymentStorage: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Index", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProviderPaymentStorage - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthProviderPaymentStorage - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProviderPaymentStorage - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Index = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) - } - m.Epoch = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProviderPaymentStorage - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Epoch |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UniquePaymentStorageClientProviderKeys", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProviderPaymentStorage - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthProviderPaymentStorage - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProviderPaymentStorage - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.UniquePaymentStorageClientProviderKeys = append(m.UniquePaymentStorageClientProviderKeys, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - case 6: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ComplainersTotalCu", wireType) - } - m.ComplainersTotalCu = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProviderPaymentStorage - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.ComplainersTotalCu |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := skipProviderPaymentStorage(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthProviderPaymentStorage - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipProviderPaymentStorage(dAtA []byte) (n int, err error) { - l := len(dAtA) - iNdEx := 0 - depth := 0 - for iNdEx < l { - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowProviderPaymentStorage - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= (uint64(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - wireType := int(wire & 0x7) - switch wireType { - case 0: - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowProviderPaymentStorage - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - iNdEx++ - if dAtA[iNdEx-1] < 0x80 { - break - } - } - case 1: - iNdEx += 8 - case 2: - var length int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowProviderPaymentStorage - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - length |= (int(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - if length < 0 { - return 0, ErrInvalidLengthProviderPaymentStorage - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupProviderPaymentStorage - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthProviderPaymentStorage - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthProviderPaymentStorage = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowProviderPaymentStorage = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupProviderPaymentStorage = fmt.Errorf("proto: unexpected end of group") -) diff --git a/x/pairing/types/query.pb.go b/x/pairing/types/query.pb.go index 04e8332bcc..f479fdd6bf 100644 --- a/x/pairing/types/query.pb.go +++ b/x/pairing/types/query.pb.go @@ -6,7 +6,7 @@ package types import ( context "context" fmt "fmt" - query "github.com/cosmos/cosmos-sdk/types/query" + _ "github.com/cosmos/cosmos-sdk/types/query" _ "github.com/cosmos/gogoproto/gogoproto" grpc1 "github.com/cosmos/gogoproto/grpc" proto "github.com/cosmos/gogoproto/proto" @@ -479,26 +479,24 @@ func (m *QueryVerifyPairingResponse) GetProjectId() string { return "" } -type QueryGetUniquePaymentStorageClientProviderRequest struct { - Index string `protobuf:"bytes,1,opt,name=index,proto3" json:"index,omitempty"` +type QueryUserEntryRequest struct { + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + ChainID string `protobuf:"bytes,2,opt,name=chainID,proto3" json:"chainID,omitempty"` + Block uint64 `protobuf:"varint,3,opt,name=block,proto3" json:"block,omitempty"` } -func (m *QueryGetUniquePaymentStorageClientProviderRequest) Reset() { - *m = QueryGetUniquePaymentStorageClientProviderRequest{} -} -func (m *QueryGetUniquePaymentStorageClientProviderRequest) String() string { - return proto.CompactTextString(m) -} -func (*QueryGetUniquePaymentStorageClientProviderRequest) ProtoMessage() {} -func (*QueryGetUniquePaymentStorageClientProviderRequest) Descriptor() ([]byte, []int) { +func (m *QueryUserEntryRequest) Reset() { *m = QueryUserEntryRequest{} } +func (m *QueryUserEntryRequest) String() string { return proto.CompactTextString(m) } +func (*QueryUserEntryRequest) ProtoMessage() {} +func (*QueryUserEntryRequest) Descriptor() ([]byte, []int) { return fileDescriptor_9e149ce9d21da0d8, []int{8} } -func (m *QueryGetUniquePaymentStorageClientProviderRequest) XXX_Unmarshal(b []byte) error { +func (m *QueryUserEntryRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *QueryGetUniquePaymentStorageClientProviderRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *QueryUserEntryRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_QueryGetUniquePaymentStorageClientProviderRequest.Marshal(b, m, deterministic) + return xxx_messageInfo_QueryUserEntryRequest.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -508,45 +506,56 @@ func (m *QueryGetUniquePaymentStorageClientProviderRequest) XXX_Marshal(b []byte return b[:n], nil } } -func (m *QueryGetUniquePaymentStorageClientProviderRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryGetUniquePaymentStorageClientProviderRequest.Merge(m, src) +func (m *QueryUserEntryRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryUserEntryRequest.Merge(m, src) } -func (m *QueryGetUniquePaymentStorageClientProviderRequest) XXX_Size() int { +func (m *QueryUserEntryRequest) XXX_Size() int { return m.Size() } -func (m *QueryGetUniquePaymentStorageClientProviderRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryGetUniquePaymentStorageClientProviderRequest.DiscardUnknown(m) +func (m *QueryUserEntryRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryUserEntryRequest.DiscardUnknown(m) } -var xxx_messageInfo_QueryGetUniquePaymentStorageClientProviderRequest proto.InternalMessageInfo +var xxx_messageInfo_QueryUserEntryRequest proto.InternalMessageInfo -func (m *QueryGetUniquePaymentStorageClientProviderRequest) GetIndex() string { +func (m *QueryUserEntryRequest) GetAddress() string { if m != nil { - return m.Index + return m.Address } return "" } -type QueryGetUniquePaymentStorageClientProviderResponse struct { - UniquePaymentStorageClientProvider UniquePaymentStorageClientProvider `protobuf:"bytes,1,opt,name=uniquePaymentStorageClientProvider,proto3" json:"uniquePaymentStorageClientProvider"` +func (m *QueryUserEntryRequest) GetChainID() string { + if m != nil { + return m.ChainID + } + return "" } -func (m *QueryGetUniquePaymentStorageClientProviderResponse) Reset() { - *m = QueryGetUniquePaymentStorageClientProviderResponse{} +func (m *QueryUserEntryRequest) GetBlock() uint64 { + if m != nil { + return m.Block + } + return 0 } -func (m *QueryGetUniquePaymentStorageClientProviderResponse) String() string { - return proto.CompactTextString(m) + +type QueryUserEntryResponse struct { + Consumer types.StakeEntry `protobuf:"bytes,1,opt,name=consumer,proto3" json:"consumer"` + MaxCU uint64 `protobuf:"varint,2,opt,name=maxCU,proto3" json:"maxCU,omitempty"` } -func (*QueryGetUniquePaymentStorageClientProviderResponse) ProtoMessage() {} -func (*QueryGetUniquePaymentStorageClientProviderResponse) Descriptor() ([]byte, []int) { + +func (m *QueryUserEntryResponse) Reset() { *m = QueryUserEntryResponse{} } +func (m *QueryUserEntryResponse) String() string { return proto.CompactTextString(m) } +func (*QueryUserEntryResponse) ProtoMessage() {} +func (*QueryUserEntryResponse) Descriptor() ([]byte, []int) { return fileDescriptor_9e149ce9d21da0d8, []int{9} } -func (m *QueryGetUniquePaymentStorageClientProviderResponse) XXX_Unmarshal(b []byte) error { +func (m *QueryUserEntryResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *QueryGetUniquePaymentStorageClientProviderResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *QueryUserEntryResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_QueryGetUniquePaymentStorageClientProviderResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_QueryUserEntryResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -556,45 +565,48 @@ func (m *QueryGetUniquePaymentStorageClientProviderResponse) XXX_Marshal(b []byt return b[:n], nil } } -func (m *QueryGetUniquePaymentStorageClientProviderResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryGetUniquePaymentStorageClientProviderResponse.Merge(m, src) +func (m *QueryUserEntryResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryUserEntryResponse.Merge(m, src) } -func (m *QueryGetUniquePaymentStorageClientProviderResponse) XXX_Size() int { +func (m *QueryUserEntryResponse) XXX_Size() int { return m.Size() } -func (m *QueryGetUniquePaymentStorageClientProviderResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryGetUniquePaymentStorageClientProviderResponse.DiscardUnknown(m) +func (m *QueryUserEntryResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryUserEntryResponse.DiscardUnknown(m) } -var xxx_messageInfo_QueryGetUniquePaymentStorageClientProviderResponse proto.InternalMessageInfo +var xxx_messageInfo_QueryUserEntryResponse proto.InternalMessageInfo -func (m *QueryGetUniquePaymentStorageClientProviderResponse) GetUniquePaymentStorageClientProvider() UniquePaymentStorageClientProvider { +func (m *QueryUserEntryResponse) GetConsumer() types.StakeEntry { if m != nil { - return m.UniquePaymentStorageClientProvider + return m.Consumer } - return UniquePaymentStorageClientProvider{} + return types.StakeEntry{} } -type QueryAllUniquePaymentStorageClientProviderRequest struct { - Pagination *query.PageRequest `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination,omitempty"` +func (m *QueryUserEntryResponse) GetMaxCU() uint64 { + if m != nil { + return m.MaxCU + } + return 0 } -func (m *QueryAllUniquePaymentStorageClientProviderRequest) Reset() { - *m = QueryAllUniquePaymentStorageClientProviderRequest{} -} -func (m *QueryAllUniquePaymentStorageClientProviderRequest) String() string { - return proto.CompactTextString(m) +type QueryStaticProvidersListRequest struct { + ChainID string `protobuf:"bytes,1,opt,name=chainID,proto3" json:"chainID,omitempty"` } -func (*QueryAllUniquePaymentStorageClientProviderRequest) ProtoMessage() {} -func (*QueryAllUniquePaymentStorageClientProviderRequest) Descriptor() ([]byte, []int) { + +func (m *QueryStaticProvidersListRequest) Reset() { *m = QueryStaticProvidersListRequest{} } +func (m *QueryStaticProvidersListRequest) String() string { return proto.CompactTextString(m) } +func (*QueryStaticProvidersListRequest) ProtoMessage() {} +func (*QueryStaticProvidersListRequest) Descriptor() ([]byte, []int) { return fileDescriptor_9e149ce9d21da0d8, []int{10} } -func (m *QueryAllUniquePaymentStorageClientProviderRequest) XXX_Unmarshal(b []byte) error { +func (m *QueryStaticProvidersListRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *QueryAllUniquePaymentStorageClientProviderRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *QueryStaticProvidersListRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_QueryAllUniquePaymentStorageClientProviderRequest.Marshal(b, m, deterministic) + return xxx_messageInfo_QueryStaticProvidersListRequest.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -604,46 +616,41 @@ func (m *QueryAllUniquePaymentStorageClientProviderRequest) XXX_Marshal(b []byte return b[:n], nil } } -func (m *QueryAllUniquePaymentStorageClientProviderRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryAllUniquePaymentStorageClientProviderRequest.Merge(m, src) +func (m *QueryStaticProvidersListRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryStaticProvidersListRequest.Merge(m, src) } -func (m *QueryAllUniquePaymentStorageClientProviderRequest) XXX_Size() int { +func (m *QueryStaticProvidersListRequest) XXX_Size() int { return m.Size() } -func (m *QueryAllUniquePaymentStorageClientProviderRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryAllUniquePaymentStorageClientProviderRequest.DiscardUnknown(m) +func (m *QueryStaticProvidersListRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryStaticProvidersListRequest.DiscardUnknown(m) } -var xxx_messageInfo_QueryAllUniquePaymentStorageClientProviderRequest proto.InternalMessageInfo +var xxx_messageInfo_QueryStaticProvidersListRequest proto.InternalMessageInfo -func (m *QueryAllUniquePaymentStorageClientProviderRequest) GetPagination() *query.PageRequest { +func (m *QueryStaticProvidersListRequest) GetChainID() string { if m != nil { - return m.Pagination + return m.ChainID } - return nil + return "" } -type QueryAllUniquePaymentStorageClientProviderResponse struct { - UniquePaymentStorageClientProvider []UniquePaymentStorageClientProvider `protobuf:"bytes,1,rep,name=uniquePaymentStorageClientProvider,proto3" json:"uniquePaymentStorageClientProvider"` - Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` +type QueryStaticProvidersListResponse struct { + Providers []types.StakeEntry `protobuf:"bytes,1,rep,name=providers,proto3" json:"providers"` } -func (m *QueryAllUniquePaymentStorageClientProviderResponse) Reset() { - *m = QueryAllUniquePaymentStorageClientProviderResponse{} -} -func (m *QueryAllUniquePaymentStorageClientProviderResponse) String() string { - return proto.CompactTextString(m) -} -func (*QueryAllUniquePaymentStorageClientProviderResponse) ProtoMessage() {} -func (*QueryAllUniquePaymentStorageClientProviderResponse) Descriptor() ([]byte, []int) { +func (m *QueryStaticProvidersListResponse) Reset() { *m = QueryStaticProvidersListResponse{} } +func (m *QueryStaticProvidersListResponse) String() string { return proto.CompactTextString(m) } +func (*QueryStaticProvidersListResponse) ProtoMessage() {} +func (*QueryStaticProvidersListResponse) Descriptor() ([]byte, []int) { return fileDescriptor_9e149ce9d21da0d8, []int{11} } -func (m *QueryAllUniquePaymentStorageClientProviderResponse) XXX_Unmarshal(b []byte) error { +func (m *QueryStaticProvidersListResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *QueryAllUniquePaymentStorageClientProviderResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *QueryStaticProvidersListResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_QueryAllUniquePaymentStorageClientProviderResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_QueryStaticProvidersListResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -653,48 +660,42 @@ func (m *QueryAllUniquePaymentStorageClientProviderResponse) XXX_Marshal(b []byt return b[:n], nil } } -func (m *QueryAllUniquePaymentStorageClientProviderResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryAllUniquePaymentStorageClientProviderResponse.Merge(m, src) +func (m *QueryStaticProvidersListResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryStaticProvidersListResponse.Merge(m, src) } -func (m *QueryAllUniquePaymentStorageClientProviderResponse) XXX_Size() int { +func (m *QueryStaticProvidersListResponse) XXX_Size() int { return m.Size() } -func (m *QueryAllUniquePaymentStorageClientProviderResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryAllUniquePaymentStorageClientProviderResponse.DiscardUnknown(m) +func (m *QueryStaticProvidersListResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryStaticProvidersListResponse.DiscardUnknown(m) } -var xxx_messageInfo_QueryAllUniquePaymentStorageClientProviderResponse proto.InternalMessageInfo - -func (m *QueryAllUniquePaymentStorageClientProviderResponse) GetUniquePaymentStorageClientProvider() []UniquePaymentStorageClientProvider { - if m != nil { - return m.UniquePaymentStorageClientProvider - } - return nil -} +var xxx_messageInfo_QueryStaticProvidersListResponse proto.InternalMessageInfo -func (m *QueryAllUniquePaymentStorageClientProviderResponse) GetPagination() *query.PageResponse { +func (m *QueryStaticProvidersListResponse) GetProviders() []types.StakeEntry { if m != nil { - return m.Pagination + return m.Providers } return nil } -type QueryGetProviderPaymentStorageRequest struct { - Index string `protobuf:"bytes,1,opt,name=index,proto3" json:"index,omitempty"` +type QueryEffectivePolicyRequest struct { + Consumer string `protobuf:"bytes,1,opt,name=consumer,proto3" json:"consumer,omitempty"` + SpecID string `protobuf:"bytes,2,opt,name=specID,proto3" json:"specID,omitempty"` } -func (m *QueryGetProviderPaymentStorageRequest) Reset() { *m = QueryGetProviderPaymentStorageRequest{} } -func (m *QueryGetProviderPaymentStorageRequest) String() string { return proto.CompactTextString(m) } -func (*QueryGetProviderPaymentStorageRequest) ProtoMessage() {} -func (*QueryGetProviderPaymentStorageRequest) Descriptor() ([]byte, []int) { +func (m *QueryEffectivePolicyRequest) Reset() { *m = QueryEffectivePolicyRequest{} } +func (m *QueryEffectivePolicyRequest) String() string { return proto.CompactTextString(m) } +func (*QueryEffectivePolicyRequest) ProtoMessage() {} +func (*QueryEffectivePolicyRequest) Descriptor() ([]byte, []int) { return fileDescriptor_9e149ce9d21da0d8, []int{12} } -func (m *QueryGetProviderPaymentStorageRequest) XXX_Unmarshal(b []byte) error { +func (m *QueryEffectivePolicyRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *QueryGetProviderPaymentStorageRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *QueryEffectivePolicyRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_QueryGetProviderPaymentStorageRequest.Marshal(b, m, deterministic) + return xxx_messageInfo_QueryEffectivePolicyRequest.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -704,43 +705,49 @@ func (m *QueryGetProviderPaymentStorageRequest) XXX_Marshal(b []byte, determinis return b[:n], nil } } -func (m *QueryGetProviderPaymentStorageRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryGetProviderPaymentStorageRequest.Merge(m, src) +func (m *QueryEffectivePolicyRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryEffectivePolicyRequest.Merge(m, src) } -func (m *QueryGetProviderPaymentStorageRequest) XXX_Size() int { +func (m *QueryEffectivePolicyRequest) XXX_Size() int { return m.Size() } -func (m *QueryGetProviderPaymentStorageRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryGetProviderPaymentStorageRequest.DiscardUnknown(m) +func (m *QueryEffectivePolicyRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryEffectivePolicyRequest.DiscardUnknown(m) } -var xxx_messageInfo_QueryGetProviderPaymentStorageRequest proto.InternalMessageInfo +var xxx_messageInfo_QueryEffectivePolicyRequest proto.InternalMessageInfo -func (m *QueryGetProviderPaymentStorageRequest) GetIndex() string { +func (m *QueryEffectivePolicyRequest) GetConsumer() string { if m != nil { - return m.Index + return m.Consumer } return "" } -type QueryGetProviderPaymentStorageResponse struct { - ProviderPaymentStorage ProviderPaymentStorage `protobuf:"bytes,1,opt,name=providerPaymentStorage,proto3" json:"providerPaymentStorage"` +func (m *QueryEffectivePolicyRequest) GetSpecID() string { + if m != nil { + return m.SpecID + } + return "" } -func (m *QueryGetProviderPaymentStorageResponse) Reset() { - *m = QueryGetProviderPaymentStorageResponse{} +type QueryEffectivePolicyResponse struct { + Policy *types1.Policy `protobuf:"bytes,1,opt,name=policy,proto3" json:"policy,omitempty"` + PendingPolicy *types1.Policy `protobuf:"bytes,2,opt,name=pending_policy,json=pendingPolicy,proto3" json:"pending_policy,omitempty"` } -func (m *QueryGetProviderPaymentStorageResponse) String() string { return proto.CompactTextString(m) } -func (*QueryGetProviderPaymentStorageResponse) ProtoMessage() {} -func (*QueryGetProviderPaymentStorageResponse) Descriptor() ([]byte, []int) { + +func (m *QueryEffectivePolicyResponse) Reset() { *m = QueryEffectivePolicyResponse{} } +func (m *QueryEffectivePolicyResponse) String() string { return proto.CompactTextString(m) } +func (*QueryEffectivePolicyResponse) ProtoMessage() {} +func (*QueryEffectivePolicyResponse) Descriptor() ([]byte, []int) { return fileDescriptor_9e149ce9d21da0d8, []int{13} } -func (m *QueryGetProviderPaymentStorageResponse) XXX_Unmarshal(b []byte) error { +func (m *QueryEffectivePolicyResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *QueryGetProviderPaymentStorageResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *QueryEffectivePolicyResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_QueryGetProviderPaymentStorageResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_QueryEffectivePolicyResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -750,41 +757,51 @@ func (m *QueryGetProviderPaymentStorageResponse) XXX_Marshal(b []byte, determini return b[:n], nil } } -func (m *QueryGetProviderPaymentStorageResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryGetProviderPaymentStorageResponse.Merge(m, src) +func (m *QueryEffectivePolicyResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryEffectivePolicyResponse.Merge(m, src) } -func (m *QueryGetProviderPaymentStorageResponse) XXX_Size() int { +func (m *QueryEffectivePolicyResponse) XXX_Size() int { return m.Size() } -func (m *QueryGetProviderPaymentStorageResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryGetProviderPaymentStorageResponse.DiscardUnknown(m) +func (m *QueryEffectivePolicyResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryEffectivePolicyResponse.DiscardUnknown(m) } -var xxx_messageInfo_QueryGetProviderPaymentStorageResponse proto.InternalMessageInfo +var xxx_messageInfo_QueryEffectivePolicyResponse proto.InternalMessageInfo + +func (m *QueryEffectivePolicyResponse) GetPolicy() *types1.Policy { + if m != nil { + return m.Policy + } + return nil +} -func (m *QueryGetProviderPaymentStorageResponse) GetProviderPaymentStorage() ProviderPaymentStorage { +func (m *QueryEffectivePolicyResponse) GetPendingPolicy() *types1.Policy { if m != nil { - return m.ProviderPaymentStorage + return m.PendingPolicy } - return ProviderPaymentStorage{} + return nil } -type QueryAllProviderPaymentStorageRequest struct { - Pagination *query.PageRequest `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination,omitempty"` +type QuerySdkPairingResponse struct { + Pairing *QueryGetPairingResponse `protobuf:"bytes,1,opt,name=pairing,proto3" json:"pairing,omitempty"` + MaxCu uint64 `protobuf:"varint,2,opt,name=max_cu,json=maxCu,proto3" json:"max_cu,omitempty"` + Spec *types2.Spec `protobuf:"bytes,3,opt,name=spec,proto3" json:"spec,omitempty"` + DowntimeParams *v1.Params `protobuf:"bytes,4,opt,name=downtime_params,json=downtimeParams,proto3" json:"downtime_params,omitempty"` } -func (m *QueryAllProviderPaymentStorageRequest) Reset() { *m = QueryAllProviderPaymentStorageRequest{} } -func (m *QueryAllProviderPaymentStorageRequest) String() string { return proto.CompactTextString(m) } -func (*QueryAllProviderPaymentStorageRequest) ProtoMessage() {} -func (*QueryAllProviderPaymentStorageRequest) Descriptor() ([]byte, []int) { +func (m *QuerySdkPairingResponse) Reset() { *m = QuerySdkPairingResponse{} } +func (m *QuerySdkPairingResponse) String() string { return proto.CompactTextString(m) } +func (*QuerySdkPairingResponse) ProtoMessage() {} +func (*QuerySdkPairingResponse) Descriptor() ([]byte, []int) { return fileDescriptor_9e149ce9d21da0d8, []int{14} } -func (m *QueryAllProviderPaymentStorageRequest) XXX_Unmarshal(b []byte) error { +func (m *QuerySdkPairingResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *QueryAllProviderPaymentStorageRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *QuerySdkPairingResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_QueryAllProviderPaymentStorageRequest.Marshal(b, m, deterministic) + return xxx_messageInfo_QuerySdkPairingResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -794,95 +811,62 @@ func (m *QueryAllProviderPaymentStorageRequest) XXX_Marshal(b []byte, determinis return b[:n], nil } } -func (m *QueryAllProviderPaymentStorageRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryAllProviderPaymentStorageRequest.Merge(m, src) +func (m *QuerySdkPairingResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QuerySdkPairingResponse.Merge(m, src) } -func (m *QueryAllProviderPaymentStorageRequest) XXX_Size() int { +func (m *QuerySdkPairingResponse) XXX_Size() int { return m.Size() } -func (m *QueryAllProviderPaymentStorageRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryAllProviderPaymentStorageRequest.DiscardUnknown(m) +func (m *QuerySdkPairingResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QuerySdkPairingResponse.DiscardUnknown(m) } -var xxx_messageInfo_QueryAllProviderPaymentStorageRequest proto.InternalMessageInfo +var xxx_messageInfo_QuerySdkPairingResponse proto.InternalMessageInfo -func (m *QueryAllProviderPaymentStorageRequest) GetPagination() *query.PageRequest { +func (m *QuerySdkPairingResponse) GetPairing() *QueryGetPairingResponse { if m != nil { - return m.Pagination + return m.Pairing } return nil } -type QueryAllProviderPaymentStorageResponse struct { - ProviderPaymentStorage []ProviderPaymentStorage `protobuf:"bytes,1,rep,name=providerPaymentStorage,proto3" json:"providerPaymentStorage"` - Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` -} - -func (m *QueryAllProviderPaymentStorageResponse) Reset() { - *m = QueryAllProviderPaymentStorageResponse{} -} -func (m *QueryAllProviderPaymentStorageResponse) String() string { return proto.CompactTextString(m) } -func (*QueryAllProviderPaymentStorageResponse) ProtoMessage() {} -func (*QueryAllProviderPaymentStorageResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_9e149ce9d21da0d8, []int{15} -} -func (m *QueryAllProviderPaymentStorageResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryAllProviderPaymentStorageResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryAllProviderPaymentStorageResponse.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil +func (m *QuerySdkPairingResponse) GetMaxCu() uint64 { + if m != nil { + return m.MaxCu } + return 0 } -func (m *QueryAllProviderPaymentStorageResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryAllProviderPaymentStorageResponse.Merge(m, src) -} -func (m *QueryAllProviderPaymentStorageResponse) XXX_Size() int { - return m.Size() -} -func (m *QueryAllProviderPaymentStorageResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryAllProviderPaymentStorageResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryAllProviderPaymentStorageResponse proto.InternalMessageInfo -func (m *QueryAllProviderPaymentStorageResponse) GetProviderPaymentStorage() []ProviderPaymentStorage { +func (m *QuerySdkPairingResponse) GetSpec() *types2.Spec { if m != nil { - return m.ProviderPaymentStorage + return m.Spec } return nil } -func (m *QueryAllProviderPaymentStorageResponse) GetPagination() *query.PageResponse { +func (m *QuerySdkPairingResponse) GetDowntimeParams() *v1.Params { if m != nil { - return m.Pagination + return m.DowntimeParams } return nil } -type QueryGetEpochPaymentsRequest struct { - Index string `protobuf:"bytes,1,opt,name=index,proto3" json:"index,omitempty"` +type QueryProviderMonthlyPayoutRequest struct { + Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"` } -func (m *QueryGetEpochPaymentsRequest) Reset() { *m = QueryGetEpochPaymentsRequest{} } -func (m *QueryGetEpochPaymentsRequest) String() string { return proto.CompactTextString(m) } -func (*QueryGetEpochPaymentsRequest) ProtoMessage() {} -func (*QueryGetEpochPaymentsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_9e149ce9d21da0d8, []int{16} +func (m *QueryProviderMonthlyPayoutRequest) Reset() { *m = QueryProviderMonthlyPayoutRequest{} } +func (m *QueryProviderMonthlyPayoutRequest) String() string { return proto.CompactTextString(m) } +func (*QueryProviderMonthlyPayoutRequest) ProtoMessage() {} +func (*QueryProviderMonthlyPayoutRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_9e149ce9d21da0d8, []int{15} } -func (m *QueryGetEpochPaymentsRequest) XXX_Unmarshal(b []byte) error { +func (m *QueryProviderMonthlyPayoutRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *QueryGetEpochPaymentsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *QueryProviderMonthlyPayoutRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_QueryGetEpochPaymentsRequest.Marshal(b, m, deterministic) + return xxx_messageInfo_QueryProviderMonthlyPayoutRequest.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -892,41 +876,43 @@ func (m *QueryGetEpochPaymentsRequest) XXX_Marshal(b []byte, deterministic bool) return b[:n], nil } } -func (m *QueryGetEpochPaymentsRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryGetEpochPaymentsRequest.Merge(m, src) +func (m *QueryProviderMonthlyPayoutRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryProviderMonthlyPayoutRequest.Merge(m, src) } -func (m *QueryGetEpochPaymentsRequest) XXX_Size() int { +func (m *QueryProviderMonthlyPayoutRequest) XXX_Size() int { return m.Size() } -func (m *QueryGetEpochPaymentsRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryGetEpochPaymentsRequest.DiscardUnknown(m) +func (m *QueryProviderMonthlyPayoutRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryProviderMonthlyPayoutRequest.DiscardUnknown(m) } -var xxx_messageInfo_QueryGetEpochPaymentsRequest proto.InternalMessageInfo +var xxx_messageInfo_QueryProviderMonthlyPayoutRequest proto.InternalMessageInfo -func (m *QueryGetEpochPaymentsRequest) GetIndex() string { +func (m *QueryProviderMonthlyPayoutRequest) GetProvider() string { if m != nil { - return m.Index + return m.Provider } return "" } -type QueryGetEpochPaymentsResponse struct { - EpochPayments EpochPayments `protobuf:"bytes,1,opt,name=epochPayments,proto3" json:"epochPayments"` +type SubscriptionPayout struct { + Subscription string `protobuf:"bytes,1,opt,name=subscription,proto3" json:"subscription,omitempty"` + ChainId string `protobuf:"bytes,2,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` + Amount uint64 `protobuf:"varint,3,opt,name=amount,proto3" json:"amount,omitempty"` } -func (m *QueryGetEpochPaymentsResponse) Reset() { *m = QueryGetEpochPaymentsResponse{} } -func (m *QueryGetEpochPaymentsResponse) String() string { return proto.CompactTextString(m) } -func (*QueryGetEpochPaymentsResponse) ProtoMessage() {} -func (*QueryGetEpochPaymentsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_9e149ce9d21da0d8, []int{17} +func (m *SubscriptionPayout) Reset() { *m = SubscriptionPayout{} } +func (m *SubscriptionPayout) String() string { return proto.CompactTextString(m) } +func (*SubscriptionPayout) ProtoMessage() {} +func (*SubscriptionPayout) Descriptor() ([]byte, []int) { + return fileDescriptor_9e149ce9d21da0d8, []int{16} } -func (m *QueryGetEpochPaymentsResponse) XXX_Unmarshal(b []byte) error { +func (m *SubscriptionPayout) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *QueryGetEpochPaymentsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *SubscriptionPayout) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_QueryGetEpochPaymentsResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_SubscriptionPayout.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -936,86 +922,56 @@ func (m *QueryGetEpochPaymentsResponse) XXX_Marshal(b []byte, deterministic bool return b[:n], nil } } -func (m *QueryGetEpochPaymentsResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryGetEpochPaymentsResponse.Merge(m, src) +func (m *SubscriptionPayout) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubscriptionPayout.Merge(m, src) } -func (m *QueryGetEpochPaymentsResponse) XXX_Size() int { +func (m *SubscriptionPayout) XXX_Size() int { return m.Size() } -func (m *QueryGetEpochPaymentsResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryGetEpochPaymentsResponse.DiscardUnknown(m) +func (m *SubscriptionPayout) XXX_DiscardUnknown() { + xxx_messageInfo_SubscriptionPayout.DiscardUnknown(m) } -var xxx_messageInfo_QueryGetEpochPaymentsResponse proto.InternalMessageInfo +var xxx_messageInfo_SubscriptionPayout proto.InternalMessageInfo -func (m *QueryGetEpochPaymentsResponse) GetEpochPayments() EpochPayments { +func (m *SubscriptionPayout) GetSubscription() string { if m != nil { - return m.EpochPayments + return m.Subscription } - return EpochPayments{} + return "" } -type QueryAllEpochPaymentsRequest struct { - Pagination *query.PageRequest `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination,omitempty"` +func (m *SubscriptionPayout) GetChainId() string { + if m != nil { + return m.ChainId + } + return "" } -func (m *QueryAllEpochPaymentsRequest) Reset() { *m = QueryAllEpochPaymentsRequest{} } -func (m *QueryAllEpochPaymentsRequest) String() string { return proto.CompactTextString(m) } -func (*QueryAllEpochPaymentsRequest) ProtoMessage() {} -func (*QueryAllEpochPaymentsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_9e149ce9d21da0d8, []int{18} -} -func (m *QueryAllEpochPaymentsRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryAllEpochPaymentsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryAllEpochPaymentsRequest.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *QueryAllEpochPaymentsRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryAllEpochPaymentsRequest.Merge(m, src) -} -func (m *QueryAllEpochPaymentsRequest) XXX_Size() int { - return m.Size() -} -func (m *QueryAllEpochPaymentsRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryAllEpochPaymentsRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryAllEpochPaymentsRequest proto.InternalMessageInfo - -func (m *QueryAllEpochPaymentsRequest) GetPagination() *query.PageRequest { - if m != nil { - return m.Pagination - } - return nil +func (m *SubscriptionPayout) GetAmount() uint64 { + if m != nil { + return m.Amount + } + return 0 } -type QueryAllEpochPaymentsResponse struct { - EpochPayments []EpochPayments `protobuf:"bytes,1,rep,name=epochPayments,proto3" json:"epochPayments"` - Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` +type QueryProviderMonthlyPayoutResponse struct { + Total uint64 `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"` + Details []*SubscriptionPayout `protobuf:"bytes,2,rep,name=details,proto3" json:"details,omitempty"` } -func (m *QueryAllEpochPaymentsResponse) Reset() { *m = QueryAllEpochPaymentsResponse{} } -func (m *QueryAllEpochPaymentsResponse) String() string { return proto.CompactTextString(m) } -func (*QueryAllEpochPaymentsResponse) ProtoMessage() {} -func (*QueryAllEpochPaymentsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_9e149ce9d21da0d8, []int{19} +func (m *QueryProviderMonthlyPayoutResponse) Reset() { *m = QueryProviderMonthlyPayoutResponse{} } +func (m *QueryProviderMonthlyPayoutResponse) String() string { return proto.CompactTextString(m) } +func (*QueryProviderMonthlyPayoutResponse) ProtoMessage() {} +func (*QueryProviderMonthlyPayoutResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_9e149ce9d21da0d8, []int{17} } -func (m *QueryAllEpochPaymentsResponse) XXX_Unmarshal(b []byte) error { +func (m *QueryProviderMonthlyPayoutResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *QueryAllEpochPaymentsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *QueryProviderMonthlyPayoutResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_QueryAllEpochPaymentsResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_QueryProviderMonthlyPayoutResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1025,50 +981,49 @@ func (m *QueryAllEpochPaymentsResponse) XXX_Marshal(b []byte, deterministic bool return b[:n], nil } } -func (m *QueryAllEpochPaymentsResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryAllEpochPaymentsResponse.Merge(m, src) +func (m *QueryProviderMonthlyPayoutResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryProviderMonthlyPayoutResponse.Merge(m, src) } -func (m *QueryAllEpochPaymentsResponse) XXX_Size() int { +func (m *QueryProviderMonthlyPayoutResponse) XXX_Size() int { return m.Size() } -func (m *QueryAllEpochPaymentsResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryAllEpochPaymentsResponse.DiscardUnknown(m) +func (m *QueryProviderMonthlyPayoutResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryProviderMonthlyPayoutResponse.DiscardUnknown(m) } -var xxx_messageInfo_QueryAllEpochPaymentsResponse proto.InternalMessageInfo +var xxx_messageInfo_QueryProviderMonthlyPayoutResponse proto.InternalMessageInfo -func (m *QueryAllEpochPaymentsResponse) GetEpochPayments() []EpochPayments { +func (m *QueryProviderMonthlyPayoutResponse) GetTotal() uint64 { if m != nil { - return m.EpochPayments + return m.Total } - return nil + return 0 } -func (m *QueryAllEpochPaymentsResponse) GetPagination() *query.PageResponse { +func (m *QueryProviderMonthlyPayoutResponse) GetDetails() []*SubscriptionPayout { if m != nil { - return m.Pagination + return m.Details } return nil } -type QueryUserEntryRequest struct { - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - ChainID string `protobuf:"bytes,2,opt,name=chainID,proto3" json:"chainID,omitempty"` - Block uint64 `protobuf:"varint,3,opt,name=block,proto3" json:"block,omitempty"` +type ProviderPayout struct { + Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"` + Amount uint64 `protobuf:"varint,2,opt,name=amount,proto3" json:"amount,omitempty"` } -func (m *QueryUserEntryRequest) Reset() { *m = QueryUserEntryRequest{} } -func (m *QueryUserEntryRequest) String() string { return proto.CompactTextString(m) } -func (*QueryUserEntryRequest) ProtoMessage() {} -func (*QueryUserEntryRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_9e149ce9d21da0d8, []int{20} +func (m *ProviderPayout) Reset() { *m = ProviderPayout{} } +func (m *ProviderPayout) String() string { return proto.CompactTextString(m) } +func (*ProviderPayout) ProtoMessage() {} +func (*ProviderPayout) Descriptor() ([]byte, []int) { + return fileDescriptor_9e149ce9d21da0d8, []int{18} } -func (m *QueryUserEntryRequest) XXX_Unmarshal(b []byte) error { +func (m *ProviderPayout) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *QueryUserEntryRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *ProviderPayout) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_QueryUserEntryRequest.Marshal(b, m, deterministic) + return xxx_messageInfo_ProviderPayout.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1078,56 +1033,49 @@ func (m *QueryUserEntryRequest) XXX_Marshal(b []byte, deterministic bool) ([]byt return b[:n], nil } } -func (m *QueryUserEntryRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryUserEntryRequest.Merge(m, src) +func (m *ProviderPayout) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProviderPayout.Merge(m, src) } -func (m *QueryUserEntryRequest) XXX_Size() int { +func (m *ProviderPayout) XXX_Size() int { return m.Size() } -func (m *QueryUserEntryRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryUserEntryRequest.DiscardUnknown(m) +func (m *ProviderPayout) XXX_DiscardUnknown() { + xxx_messageInfo_ProviderPayout.DiscardUnknown(m) } -var xxx_messageInfo_QueryUserEntryRequest proto.InternalMessageInfo - -func (m *QueryUserEntryRequest) GetAddress() string { - if m != nil { - return m.Address - } - return "" -} +var xxx_messageInfo_ProviderPayout proto.InternalMessageInfo -func (m *QueryUserEntryRequest) GetChainID() string { +func (m *ProviderPayout) GetProvider() string { if m != nil { - return m.ChainID + return m.Provider } return "" } -func (m *QueryUserEntryRequest) GetBlock() uint64 { +func (m *ProviderPayout) GetAmount() uint64 { if m != nil { - return m.Block + return m.Amount } return 0 } -type QueryUserEntryResponse struct { - Consumer types.StakeEntry `protobuf:"bytes,1,opt,name=consumer,proto3" json:"consumer"` - MaxCU uint64 `protobuf:"varint,2,opt,name=maxCU,proto3" json:"maxCU,omitempty"` +type ChainIDPayout struct { + ChainId string `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` + Payouts []*ProviderPayout `protobuf:"bytes,2,rep,name=payouts,proto3" json:"payouts,omitempty"` } -func (m *QueryUserEntryResponse) Reset() { *m = QueryUserEntryResponse{} } -func (m *QueryUserEntryResponse) String() string { return proto.CompactTextString(m) } -func (*QueryUserEntryResponse) ProtoMessage() {} -func (*QueryUserEntryResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_9e149ce9d21da0d8, []int{21} +func (m *ChainIDPayout) Reset() { *m = ChainIDPayout{} } +func (m *ChainIDPayout) String() string { return proto.CompactTextString(m) } +func (*ChainIDPayout) ProtoMessage() {} +func (*ChainIDPayout) Descriptor() ([]byte, []int) { + return fileDescriptor_9e149ce9d21da0d8, []int{19} } -func (m *QueryUserEntryResponse) XXX_Unmarshal(b []byte) error { +func (m *ChainIDPayout) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *QueryUserEntryResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *ChainIDPayout) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_QueryUserEntryResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_ChainIDPayout.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1137,48 +1085,48 @@ func (m *QueryUserEntryResponse) XXX_Marshal(b []byte, deterministic bool) ([]by return b[:n], nil } } -func (m *QueryUserEntryResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryUserEntryResponse.Merge(m, src) +func (m *ChainIDPayout) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChainIDPayout.Merge(m, src) } -func (m *QueryUserEntryResponse) XXX_Size() int { +func (m *ChainIDPayout) XXX_Size() int { return m.Size() } -func (m *QueryUserEntryResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryUserEntryResponse.DiscardUnknown(m) +func (m *ChainIDPayout) XXX_DiscardUnknown() { + xxx_messageInfo_ChainIDPayout.DiscardUnknown(m) } -var xxx_messageInfo_QueryUserEntryResponse proto.InternalMessageInfo +var xxx_messageInfo_ChainIDPayout proto.InternalMessageInfo -func (m *QueryUserEntryResponse) GetConsumer() types.StakeEntry { +func (m *ChainIDPayout) GetChainId() string { if m != nil { - return m.Consumer + return m.ChainId } - return types.StakeEntry{} + return "" } -func (m *QueryUserEntryResponse) GetMaxCU() uint64 { +func (m *ChainIDPayout) GetPayouts() []*ProviderPayout { if m != nil { - return m.MaxCU + return m.Payouts } - return 0 + return nil } -type QueryStaticProvidersListRequest struct { - ChainID string `protobuf:"bytes,1,opt,name=chainID,proto3" json:"chainID,omitempty"` +type QuerySubscriptionMonthlyPayoutRequest struct { + Consumer string `protobuf:"bytes,1,opt,name=consumer,proto3" json:"consumer,omitempty"` } -func (m *QueryStaticProvidersListRequest) Reset() { *m = QueryStaticProvidersListRequest{} } -func (m *QueryStaticProvidersListRequest) String() string { return proto.CompactTextString(m) } -func (*QueryStaticProvidersListRequest) ProtoMessage() {} -func (*QueryStaticProvidersListRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_9e149ce9d21da0d8, []int{22} +func (m *QuerySubscriptionMonthlyPayoutRequest) Reset() { *m = QuerySubscriptionMonthlyPayoutRequest{} } +func (m *QuerySubscriptionMonthlyPayoutRequest) String() string { return proto.CompactTextString(m) } +func (*QuerySubscriptionMonthlyPayoutRequest) ProtoMessage() {} +func (*QuerySubscriptionMonthlyPayoutRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_9e149ce9d21da0d8, []int{20} } -func (m *QueryStaticProvidersListRequest) XXX_Unmarshal(b []byte) error { +func (m *QuerySubscriptionMonthlyPayoutRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *QueryStaticProvidersListRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *QuerySubscriptionMonthlyPayoutRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_QueryStaticProvidersListRequest.Marshal(b, m, deterministic) + return xxx_messageInfo_QuerySubscriptionMonthlyPayoutRequest.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1188,41 +1136,44 @@ func (m *QueryStaticProvidersListRequest) XXX_Marshal(b []byte, deterministic bo return b[:n], nil } } -func (m *QueryStaticProvidersListRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryStaticProvidersListRequest.Merge(m, src) +func (m *QuerySubscriptionMonthlyPayoutRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QuerySubscriptionMonthlyPayoutRequest.Merge(m, src) } -func (m *QueryStaticProvidersListRequest) XXX_Size() int { +func (m *QuerySubscriptionMonthlyPayoutRequest) XXX_Size() int { return m.Size() } -func (m *QueryStaticProvidersListRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryStaticProvidersListRequest.DiscardUnknown(m) +func (m *QuerySubscriptionMonthlyPayoutRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QuerySubscriptionMonthlyPayoutRequest.DiscardUnknown(m) } -var xxx_messageInfo_QueryStaticProvidersListRequest proto.InternalMessageInfo +var xxx_messageInfo_QuerySubscriptionMonthlyPayoutRequest proto.InternalMessageInfo -func (m *QueryStaticProvidersListRequest) GetChainID() string { +func (m *QuerySubscriptionMonthlyPayoutRequest) GetConsumer() string { if m != nil { - return m.ChainID + return m.Consumer } return "" } -type QueryStaticProvidersListResponse struct { - Providers []types.StakeEntry `protobuf:"bytes,1,rep,name=providers,proto3" json:"providers"` +type QuerySubscriptionMonthlyPayoutResponse struct { + Total uint64 `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"` + Details []*ChainIDPayout `protobuf:"bytes,2,rep,name=details,proto3" json:"details,omitempty"` } -func (m *QueryStaticProvidersListResponse) Reset() { *m = QueryStaticProvidersListResponse{} } -func (m *QueryStaticProvidersListResponse) String() string { return proto.CompactTextString(m) } -func (*QueryStaticProvidersListResponse) ProtoMessage() {} -func (*QueryStaticProvidersListResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_9e149ce9d21da0d8, []int{23} +func (m *QuerySubscriptionMonthlyPayoutResponse) Reset() { + *m = QuerySubscriptionMonthlyPayoutResponse{} } -func (m *QueryStaticProvidersListResponse) XXX_Unmarshal(b []byte) error { +func (m *QuerySubscriptionMonthlyPayoutResponse) String() string { return proto.CompactTextString(m) } +func (*QuerySubscriptionMonthlyPayoutResponse) ProtoMessage() {} +func (*QuerySubscriptionMonthlyPayoutResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_9e149ce9d21da0d8, []int{21} +} +func (m *QuerySubscriptionMonthlyPayoutResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *QueryStaticProvidersListResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *QuerySubscriptionMonthlyPayoutResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_QueryStaticProvidersListResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_QuerySubscriptionMonthlyPayoutResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1232,1379 +1183,1143 @@ func (m *QueryStaticProvidersListResponse) XXX_Marshal(b []byte, deterministic b return b[:n], nil } } -func (m *QueryStaticProvidersListResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryStaticProvidersListResponse.Merge(m, src) +func (m *QuerySubscriptionMonthlyPayoutResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QuerySubscriptionMonthlyPayoutResponse.Merge(m, src) } -func (m *QueryStaticProvidersListResponse) XXX_Size() int { +func (m *QuerySubscriptionMonthlyPayoutResponse) XXX_Size() int { return m.Size() } -func (m *QueryStaticProvidersListResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryStaticProvidersListResponse.DiscardUnknown(m) +func (m *QuerySubscriptionMonthlyPayoutResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QuerySubscriptionMonthlyPayoutResponse.DiscardUnknown(m) } -var xxx_messageInfo_QueryStaticProvidersListResponse proto.InternalMessageInfo +var xxx_messageInfo_QuerySubscriptionMonthlyPayoutResponse proto.InternalMessageInfo -func (m *QueryStaticProvidersListResponse) GetProviders() []types.StakeEntry { +func (m *QuerySubscriptionMonthlyPayoutResponse) GetTotal() uint64 { if m != nil { - return m.Providers - } - return nil -} - -type QueryEffectivePolicyRequest struct { - Consumer string `protobuf:"bytes,1,opt,name=consumer,proto3" json:"consumer,omitempty"` - SpecID string `protobuf:"bytes,2,opt,name=specID,proto3" json:"specID,omitempty"` -} - -func (m *QueryEffectivePolicyRequest) Reset() { *m = QueryEffectivePolicyRequest{} } -func (m *QueryEffectivePolicyRequest) String() string { return proto.CompactTextString(m) } -func (*QueryEffectivePolicyRequest) ProtoMessage() {} -func (*QueryEffectivePolicyRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_9e149ce9d21da0d8, []int{24} -} -func (m *QueryEffectivePolicyRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryEffectivePolicyRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryEffectivePolicyRequest.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil + return m.Total } -} -func (m *QueryEffectivePolicyRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryEffectivePolicyRequest.Merge(m, src) -} -func (m *QueryEffectivePolicyRequest) XXX_Size() int { - return m.Size() -} -func (m *QueryEffectivePolicyRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryEffectivePolicyRequest.DiscardUnknown(m) + return 0 } -var xxx_messageInfo_QueryEffectivePolicyRequest proto.InternalMessageInfo - -func (m *QueryEffectivePolicyRequest) GetConsumer() string { +func (m *QuerySubscriptionMonthlyPayoutResponse) GetDetails() []*ChainIDPayout { if m != nil { - return m.Consumer + return m.Details } - return "" + return nil } -func (m *QueryEffectivePolicyRequest) GetSpecID() string { - if m != nil { - return m.SpecID - } - return "" +func init() { + proto.RegisterType((*QueryParamsRequest)(nil), "lavanet.lava.pairing.QueryParamsRequest") + proto.RegisterType((*QueryParamsResponse)(nil), "lavanet.lava.pairing.QueryParamsResponse") + proto.RegisterType((*QueryProvidersRequest)(nil), "lavanet.lava.pairing.QueryProvidersRequest") + proto.RegisterType((*QueryProvidersResponse)(nil), "lavanet.lava.pairing.QueryProvidersResponse") + proto.RegisterType((*QueryGetPairingRequest)(nil), "lavanet.lava.pairing.QueryGetPairingRequest") + proto.RegisterType((*QueryGetPairingResponse)(nil), "lavanet.lava.pairing.QueryGetPairingResponse") + proto.RegisterType((*QueryVerifyPairingRequest)(nil), "lavanet.lava.pairing.QueryVerifyPairingRequest") + proto.RegisterType((*QueryVerifyPairingResponse)(nil), "lavanet.lava.pairing.QueryVerifyPairingResponse") + proto.RegisterType((*QueryUserEntryRequest)(nil), "lavanet.lava.pairing.QueryUserEntryRequest") + proto.RegisterType((*QueryUserEntryResponse)(nil), "lavanet.lava.pairing.QueryUserEntryResponse") + proto.RegisterType((*QueryStaticProvidersListRequest)(nil), "lavanet.lava.pairing.QueryStaticProvidersListRequest") + proto.RegisterType((*QueryStaticProvidersListResponse)(nil), "lavanet.lava.pairing.QueryStaticProvidersListResponse") + proto.RegisterType((*QueryEffectivePolicyRequest)(nil), "lavanet.lava.pairing.QueryEffectivePolicyRequest") + proto.RegisterType((*QueryEffectivePolicyResponse)(nil), "lavanet.lava.pairing.QueryEffectivePolicyResponse") + proto.RegisterType((*QuerySdkPairingResponse)(nil), "lavanet.lava.pairing.QuerySdkPairingResponse") + proto.RegisterType((*QueryProviderMonthlyPayoutRequest)(nil), "lavanet.lava.pairing.QueryProviderMonthlyPayoutRequest") + proto.RegisterType((*SubscriptionPayout)(nil), "lavanet.lava.pairing.SubscriptionPayout") + proto.RegisterType((*QueryProviderMonthlyPayoutResponse)(nil), "lavanet.lava.pairing.QueryProviderMonthlyPayoutResponse") + proto.RegisterType((*ProviderPayout)(nil), "lavanet.lava.pairing.ProviderPayout") + proto.RegisterType((*ChainIDPayout)(nil), "lavanet.lava.pairing.ChainIDPayout") + proto.RegisterType((*QuerySubscriptionMonthlyPayoutRequest)(nil), "lavanet.lava.pairing.QuerySubscriptionMonthlyPayoutRequest") + proto.RegisterType((*QuerySubscriptionMonthlyPayoutResponse)(nil), "lavanet.lava.pairing.QuerySubscriptionMonthlyPayoutResponse") } -type QueryEffectivePolicyResponse struct { - Policy *types1.Policy `protobuf:"bytes,1,opt,name=policy,proto3" json:"policy,omitempty"` - PendingPolicy *types1.Policy `protobuf:"bytes,2,opt,name=pending_policy,json=pendingPolicy,proto3" json:"pending_policy,omitempty"` -} +func init() { proto.RegisterFile("lavanet/lava/pairing/query.proto", fileDescriptor_9e149ce9d21da0d8) } -func (m *QueryEffectivePolicyResponse) Reset() { *m = QueryEffectivePolicyResponse{} } -func (m *QueryEffectivePolicyResponse) String() string { return proto.CompactTextString(m) } -func (*QueryEffectivePolicyResponse) ProtoMessage() {} -func (*QueryEffectivePolicyResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_9e149ce9d21da0d8, []int{25} -} -func (m *QueryEffectivePolicyResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryEffectivePolicyResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryEffectivePolicyResponse.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *QueryEffectivePolicyResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryEffectivePolicyResponse.Merge(m, src) -} -func (m *QueryEffectivePolicyResponse) XXX_Size() int { - return m.Size() -} -func (m *QueryEffectivePolicyResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryEffectivePolicyResponse.DiscardUnknown(m) +var fileDescriptor_9e149ce9d21da0d8 = []byte{ + // 1526 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0xcf, 0x6f, 0xdc, 0xc4, + 0x17, 0x8f, 0x37, 0x3f, 0x9a, 0x7d, 0x6d, 0xd2, 0x6a, 0x9a, 0xb4, 0x89, 0xbf, 0xf9, 0x6e, 0xb7, + 0x4e, 0xfb, 0x6d, 0xf2, 0x4d, 0x59, 0xb3, 0x81, 0xfe, 0x50, 0x9b, 0x16, 0x9a, 0xb6, 0x54, 0x29, + 0x01, 0x12, 0x87, 0x72, 0xe0, 0x62, 0x39, 0xf6, 0xec, 0xc6, 0xcd, 0xae, 0xc7, 0xb5, 0xc7, 0xdb, + 0x84, 0xd5, 0x82, 0x04, 0x67, 0x24, 0x24, 0xe0, 0xc0, 0xbd, 0x12, 0x27, 0xfe, 0x03, 0x6e, 0x48, + 0xa8, 0x07, 0x0e, 0x95, 0xb8, 0x70, 0x40, 0x08, 0xb5, 0xfc, 0x03, 0xfc, 0x07, 0xc8, 0x33, 0x63, + 0xaf, 0xbd, 0xf1, 0x3a, 0x49, 0xe9, 0xa5, 0xd9, 0x19, 0xbf, 0xcf, 0xbc, 0xcf, 0xfb, 0xcc, 0x9b, + 0xf7, 0x9e, 0x0a, 0xe5, 0x86, 0xd1, 0x32, 0x1c, 0x4c, 0xd5, 0xf0, 0xaf, 0xea, 0x1a, 0xb6, 0x67, + 0x3b, 0x75, 0xf5, 0x51, 0x80, 0xbd, 0xdd, 0x8a, 0xeb, 0x11, 0x4a, 0xd0, 0x84, 0xb0, 0xa8, 0x84, + 0x7f, 0x2b, 0xc2, 0x42, 0x9e, 0xa8, 0x93, 0x3a, 0x61, 0x06, 0x6a, 0xf8, 0x8b, 0xdb, 0xca, 0x33, + 0x75, 0x42, 0xea, 0x0d, 0xac, 0x1a, 0xae, 0xad, 0x1a, 0x8e, 0x43, 0xa8, 0x41, 0x6d, 0xe2, 0xf8, + 0xe2, 0xeb, 0xff, 0x4d, 0xe2, 0x37, 0x89, 0xaf, 0x6e, 0x1a, 0x3e, 0xe6, 0x2e, 0xd4, 0x56, 0x75, + 0x13, 0x53, 0xa3, 0xaa, 0xba, 0x46, 0xdd, 0x76, 0x98, 0xb1, 0xb0, 0x3d, 0x9b, 0xc9, 0xcb, 0x35, + 0x3c, 0xa3, 0x19, 0x1d, 0x37, 0x93, 0x32, 0xf1, 0x5d, 0x6c, 0xb2, 0x7f, 0xc4, 0xd7, 0x33, 0xe9, + 0x03, 0x1a, 0x86, 0xe3, 0xab, 0x2e, 0x69, 0xd8, 0xa6, 0x88, 0x4b, 0x5e, 0x48, 0x19, 0x60, 0x97, + 0x98, 0x5b, 0x3e, 0x25, 0x9e, 0x51, 0xc7, 0xaa, 0x4f, 0x8d, 0x6d, 0xac, 0x63, 0x87, 0x46, 0x22, + 0xc8, 0x17, 0xd3, 0xbe, 0x82, 0x4d, 0xdf, 0xf4, 0x6c, 0x37, 0xe4, 0x9b, 0x5a, 0x08, 0xeb, 0xd9, + 0xb4, 0x6f, 0x8f, 0x3c, 0xc4, 0x26, 0xf5, 0xa3, 0x1f, 0xc2, 0xe8, 0x42, 0xca, 0xc8, 0x22, 0x8f, + 0x1d, 0x6a, 0x37, 0xb1, 0xda, 0xaa, 0xc6, 0xbf, 0xb9, 0xa1, 0x32, 0x01, 0x68, 0x3d, 0x14, 0x6b, + 0x8d, 0x05, 0xaf, 0xe1, 0x47, 0x01, 0xf6, 0xa9, 0xb2, 0x0e, 0x27, 0x53, 0xbb, 0xbe, 0x4b, 0x1c, + 0x1f, 0xa3, 0x6b, 0x30, 0xc2, 0x45, 0x9a, 0x92, 0xca, 0xd2, 0xdc, 0xd1, 0xc5, 0x99, 0x4a, 0xd6, + 0xf5, 0x55, 0x38, 0x6a, 0x79, 0xe8, 0xe9, 0x1f, 0x67, 0x06, 0x34, 0x81, 0x50, 0xd6, 0x61, 0x92, + 0x1f, 0xe9, 0x91, 0x96, 0x6d, 0x61, 0x2f, 0xf2, 0x85, 0xa6, 0xe0, 0x88, 0xb9, 0x65, 0xd8, 0xce, + 0xca, 0x1d, 0x76, 0x6a, 0x51, 0x8b, 0x96, 0xa8, 0x04, 0xe0, 0x6f, 0x91, 0xc7, 0xef, 0x78, 0xe4, + 0x13, 0xec, 0x4c, 0x15, 0xca, 0xd2, 0xdc, 0xa8, 0x96, 0xd8, 0x51, 0xb6, 0xe1, 0x54, 0xef, 0x91, + 0x82, 0xe8, 0xbb, 0x00, 0x4c, 0xe6, 0xbb, 0xa1, 0xca, 0x53, 0x52, 0x79, 0x70, 0xee, 0xe8, 0xe2, + 0xf9, 0x34, 0xd9, 0xe4, 0x9d, 0x54, 0x36, 0x62, 0x63, 0xc1, 0x3a, 0x01, 0xbf, 0x3f, 0x34, 0x5a, + 0x38, 0x31, 0xa8, 0xdc, 0x17, 0xce, 0xee, 0x61, 0xba, 0xc6, 0xe3, 0xdc, 0x3f, 0x80, 0x53, 0x30, + 0x62, 0x36, 0x6c, 0xec, 0x50, 0x46, 0xbe, 0xa8, 0x89, 0x95, 0xf2, 0x43, 0x01, 0x4e, 0xef, 0x39, + 0x4c, 0x50, 0x5f, 0x81, 0xa2, 0x1b, 0xc5, 0xf3, 0x32, 0xcc, 0xbb, 0x68, 0x34, 0x0b, 0x63, 0x66, + 0xe0, 0x79, 0xd8, 0xa1, 0x3a, 0xc3, 0x30, 0x16, 0x43, 0xda, 0x31, 0xb1, 0x79, 0x37, 0xdc, 0x43, + 0x57, 0x61, 0x3a, 0x4c, 0x07, 0xbd, 0x81, 0x6b, 0x54, 0xa7, 0x44, 0x77, 0xf0, 0x0e, 0xd5, 0xc5, + 0x4d, 0x4e, 0x0d, 0x32, 0xc0, 0x64, 0x68, 0xb0, 0x8a, 0x6b, 0xf4, 0x43, 0xf2, 0x3e, 0xde, 0x89, + 0x18, 0xa3, 0x4b, 0x70, 0x3a, 0x7c, 0x12, 0x7a, 0xc3, 0xf0, 0xa9, 0x1e, 0xb8, 0x96, 0x41, 0xb1, + 0xa5, 0x6f, 0x36, 0x88, 0xb9, 0x3d, 0x35, 0xc4, 0x70, 0x13, 0xe1, 0xe7, 0x55, 0xc3, 0xa7, 0x0f, + 0xf8, 0xc7, 0xe5, 0xf0, 0x1b, 0xaa, 0xc2, 0x24, 0x33, 0xd2, 0x49, 0x2d, 0xed, 0x6c, 0x98, 0x81, + 0x10, 0xfb, 0xf8, 0x41, 0x2d, 0xe1, 0x49, 0xf9, 0x0c, 0xa6, 0x99, 0x5c, 0x1f, 0x61, 0xcf, 0xae, + 0xed, 0xfe, 0x5b, 0xf9, 0x91, 0x0c, 0xa3, 0x91, 0x48, 0x2c, 0xc2, 0xa2, 0x16, 0xaf, 0xd1, 0x04, + 0x0c, 0x27, 0x43, 0xe0, 0x0b, 0xe5, 0x89, 0x04, 0x72, 0x16, 0x03, 0x71, 0x67, 0x13, 0x30, 0xdc, + 0x32, 0x1a, 0xb6, 0xc5, 0x08, 0x8c, 0x6a, 0x7c, 0x81, 0xe6, 0xe1, 0x44, 0x18, 0x1a, 0xb6, 0xf4, + 0xee, 0x85, 0x72, 0x41, 0x8f, 0xf3, 0xfd, 0x38, 0x6f, 0x51, 0x19, 0x8e, 0x99, 0x81, 0xee, 0x62, + 0x4f, 0x5c, 0x14, 0x77, 0x0e, 0x66, 0xb0, 0x86, 0x3d, 0x7e, 0x4d, 0xff, 0x05, 0x10, 0x2f, 0x5c, + 0xb7, 0x2d, 0x26, 0x55, 0x91, 0x5d, 0x75, 0xb8, 0xb3, 0x62, 0x89, 0x1c, 0x35, 0xc4, 0x1b, 0x7b, + 0xe0, 0x63, 0x8f, 0xe5, 0x44, 0x42, 0x23, 0xc3, 0xb2, 0x3c, 0xec, 0xfb, 0x91, 0x46, 0x62, 0x99, + 0x54, 0xaf, 0x90, 0x56, 0x2f, 0x56, 0x62, 0x30, 0xa9, 0xc4, 0x63, 0xf1, 0x0c, 0x12, 0x2e, 0x84, + 0x08, 0xf7, 0x60, 0xd4, 0x24, 0x8e, 0x1f, 0x34, 0xb1, 0x27, 0xca, 0xc3, 0xa1, 0xf2, 0x36, 0x06, + 0x87, 0x8e, 0x9b, 0xc6, 0xce, 0xed, 0x07, 0x22, 0x5d, 0xf9, 0x42, 0xb9, 0x0e, 0x67, 0x98, 0xe3, + 0x8d, 0xb0, 0xec, 0x9b, 0xb1, 0x74, 0xab, 0xb6, 0x4f, 0xf7, 0xcd, 0x04, 0xa5, 0x09, 0xe5, 0xfe, + 0xe0, 0x57, 0xfe, 0xf0, 0x94, 0x75, 0xf8, 0x0f, 0x73, 0x77, 0xb7, 0x56, 0xc3, 0x26, 0xb5, 0x5b, + 0x78, 0x8d, 0xf5, 0x86, 0x88, 0xa7, 0xdc, 0xa3, 0x54, 0x31, 0x11, 0xfc, 0x29, 0x18, 0x09, 0x5f, + 0x4d, 0x7c, 0x1d, 0x62, 0xa5, 0x7c, 0x2b, 0xc1, 0x4c, 0xf6, 0x99, 0x82, 0xfe, 0x22, 0x8c, 0xf0, + 0x0e, 0x24, 0xc4, 0x97, 0x7b, 0x6a, 0x73, 0xd8, 0xa3, 0x2a, 0x02, 0x23, 0x2c, 0xd1, 0x2d, 0x18, + 0x77, 0xb1, 0x63, 0xd9, 0x4e, 0x5d, 0x17, 0xd8, 0xc2, 0xbe, 0xd8, 0x31, 0x81, 0xe0, 0x4b, 0xe5, + 0x6f, 0x49, 0x94, 0xb2, 0x0d, 0x6b, 0xbb, 0xf7, 0x59, 0xdc, 0x83, 0x23, 0xd1, 0xdb, 0xe6, 0x9c, + 0x5e, 0xcb, 0xee, 0x17, 0x7d, 0x4a, 0xa1, 0x16, 0xa1, 0xd1, 0x24, 0x8c, 0x34, 0x8d, 0x1d, 0xdd, + 0x0c, 0x92, 0x29, 0x11, 0xa0, 0x05, 0x18, 0x0a, 0xd5, 0x61, 0x09, 0x7a, 0x74, 0xf1, 0x74, 0xfa, + 0x70, 0xd6, 0xad, 0x37, 0x5c, 0x6c, 0x6a, 0xcc, 0x08, 0xad, 0xc0, 0xf1, 0xa8, 0xf5, 0xe9, 0xa2, + 0x89, 0x0d, 0x31, 0x5c, 0x39, 0x8d, 0x8b, 0xfb, 0x63, 0xab, 0x2a, 0x1a, 0x99, 0x36, 0x1e, 0xed, + 0xf1, 0xb5, 0xf2, 0x16, 0x9c, 0x4d, 0xf5, 0x9d, 0xf7, 0x88, 0x43, 0xb7, 0x1a, 0xbb, 0x6b, 0xc6, + 0x2e, 0x09, 0x68, 0xe2, 0x92, 0xe3, 0x22, 0x23, 0xa5, 0x8b, 0x8c, 0xb2, 0x0d, 0x68, 0x23, 0xd1, + 0xd8, 0x39, 0x10, 0x29, 0x70, 0x2c, 0xd9, 0xee, 0x05, 0x2a, 0xb5, 0x87, 0xa6, 0x61, 0x94, 0xe5, + 0x74, 0x58, 0x04, 0x52, 0xef, 0xd5, 0x0a, 0x33, 0xc7, 0x68, 0x92, 0xc0, 0xa1, 0xe2, 0xc1, 0x8a, + 0x95, 0xf2, 0x29, 0x28, 0x79, 0x6c, 0xbb, 0x25, 0x8c, 0x12, 0x6a, 0x34, 0x98, 0xd7, 0x21, 0x8d, + 0x2f, 0xd0, 0x32, 0x1c, 0xb1, 0x30, 0x35, 0xec, 0x86, 0x3f, 0x55, 0x60, 0x2f, 0x62, 0x2e, 0xfb, + 0x06, 0xf7, 0x46, 0xa3, 0x45, 0x40, 0xe5, 0x0e, 0x8c, 0x47, 0xae, 0x45, 0xa0, 0x39, 0xd2, 0x24, + 0xa2, 0x28, 0xa4, 0xa2, 0x78, 0x08, 0x63, 0xb7, 0xf9, 0x63, 0x16, 0x87, 0x24, 0x95, 0x90, 0xd2, + 0x4a, 0xdc, 0x0c, 0xf3, 0x2e, 0x34, 0x8a, 0x58, 0x9f, 0xeb, 0x33, 0xa7, 0xa4, 0x68, 0x69, 0x11, + 0x48, 0xb9, 0x0d, 0xe7, 0x79, 0x4a, 0x27, 0xa2, 0xea, 0x77, 0xc7, 0xfd, 0x1e, 0xb2, 0xd2, 0x81, + 0xff, 0xed, 0x77, 0x48, 0xae, 0xf4, 0x37, 0x7a, 0xa5, 0x9f, 0xcd, 0x0e, 0x22, 0xa5, 0x4a, 0xac, + 0xfa, 0xe2, 0x97, 0xe3, 0x30, 0xcc, 0xfc, 0xa3, 0x2f, 0x24, 0x18, 0xe1, 0x89, 0x8b, 0xe6, 0x72, + 0xde, 0x5f, 0x6a, 0x00, 0x94, 0xe7, 0x0f, 0x60, 0xc9, 0xe9, 0x2b, 0xe7, 0x3e, 0xff, 0xf5, 0xaf, + 0xaf, 0x0b, 0x25, 0x34, 0xa3, 0xe6, 0x4c, 0xd5, 0xe8, 0x3b, 0x09, 0x8a, 0xdd, 0x7e, 0xb7, 0x90, + 0x77, 0x7c, 0xcf, 0x80, 0x28, 0x5f, 0x3c, 0x98, 0xb1, 0xa0, 0x53, 0x65, 0x74, 0x16, 0xd0, 0x7c, + 0x1f, 0x3a, 0x11, 0x40, 0x6d, 0x8b, 0xe6, 0xd0, 0x41, 0xdf, 0x4b, 0x00, 0xdd, 0xf2, 0x83, 0x2e, + 0x1e, 0xb0, 0x4a, 0x71, 0x76, 0x87, 0xab, 0x69, 0xca, 0x12, 0xa3, 0x77, 0x19, 0xbd, 0x99, 0x4d, + 0xaf, 0x8e, 0xe3, 0x79, 0xa8, 0x4b, 0x50, 0x6d, 0xf3, 0xc1, 0xa5, 0x83, 0x7e, 0x96, 0x60, 0x2c, + 0x35, 0x82, 0x20, 0x35, 0xc7, 0x7d, 0xd6, 0xb8, 0x24, 0xbf, 0x7e, 0x70, 0x80, 0xa0, 0xac, 0x31, + 0xca, 0xab, 0xe8, 0x7e, 0x36, 0xe5, 0x16, 0x03, 0xe5, 0xb0, 0x56, 0xdb, 0x91, 0xe8, 0x1d, 0xb5, + 0xcd, 0xa6, 0x88, 0x0e, 0x7a, 0x22, 0x41, 0x31, 0x1e, 0x21, 0x72, 0xd3, 0xa1, 0x77, 0x96, 0xc9, + 0x4d, 0x87, 0x3d, 0x53, 0xc9, 0x7e, 0x7a, 0x07, 0x7e, 0x38, 0x73, 0x85, 0x08, 0xb5, 0x2d, 0x46, + 0xa2, 0x4e, 0x22, 0x33, 0x7e, 0x92, 0xe0, 0x64, 0xc6, 0xcc, 0x80, 0x2e, 0xe5, 0x70, 0xe8, 0x3f, + 0xa0, 0xc8, 0x97, 0x0f, 0x0b, 0x13, 0x41, 0xdc, 0x60, 0x41, 0x5c, 0x41, 0x97, 0xb2, 0x83, 0xf0, + 0x19, 0xb4, 0x3b, 0x65, 0xea, 0x0d, 0xdb, 0xa7, 0x89, 0x28, 0x7e, 0x94, 0xe0, 0x78, 0xcf, 0xd8, + 0x80, 0xaa, 0x39, 0x54, 0xb2, 0xc7, 0x16, 0x79, 0xf1, 0x30, 0x10, 0xc1, 0x7c, 0x99, 0x31, 0x5f, + 0x42, 0xd7, 0xb2, 0x99, 0xe3, 0x08, 0x26, 0xe6, 0x0f, 0xb5, 0x1d, 0xd5, 0xcf, 0x8e, 0xda, 0xe6, + 0x93, 0x4f, 0x07, 0xfd, 0x22, 0xc1, 0x64, 0x66, 0xf3, 0x42, 0x57, 0x0e, 0x50, 0x19, 0xb2, 0x0a, + 0xb7, 0x7c, 0xf5, 0xf0, 0x40, 0x11, 0xd0, 0xdb, 0x2c, 0xa0, 0x6b, 0xe8, 0x6a, 0x7e, 0x79, 0xd1, + 0x9b, 0x1c, 0xad, 0xf3, 0x9e, 0x92, 0x78, 0x02, 0xe8, 0x77, 0x09, 0xa6, 0xfb, 0x36, 0x05, 0x74, + 0x3d, 0x2f, 0x45, 0xf6, 0xe9, 0x47, 0xf2, 0xd2, 0xcb, 0x81, 0x45, 0x68, 0x77, 0x58, 0x68, 0x37, + 0xd1, 0x52, 0x9f, 0x2c, 0x4b, 0x1c, 0xb0, 0x27, 0xbc, 0xf8, 0xda, 0xd0, 0x37, 0x12, 0x40, 0x77, + 0x16, 0x7c, 0x85, 0xc5, 0x74, 0xef, 0x80, 0xa9, 0xcc, 0x33, 0xc6, 0xb3, 0xe8, 0x6c, 0x1f, 0xc6, + 0xd6, 0x76, 0x54, 0x96, 0x96, 0x6f, 0x3d, 0x7d, 0x5e, 0x92, 0x9e, 0x3d, 0x2f, 0x49, 0x7f, 0x3e, + 0x2f, 0x49, 0x5f, 0xbd, 0x28, 0x0d, 0x3c, 0x7b, 0x51, 0x1a, 0xf8, 0xed, 0x45, 0x69, 0xe0, 0xe3, + 0x0b, 0x75, 0x9b, 0x6e, 0x05, 0x9b, 0x15, 0x93, 0x34, 0xd3, 0xc7, 0xec, 0xc4, 0x07, 0xd1, 0x5d, + 0x17, 0xfb, 0x9b, 0x23, 0xec, 0x7f, 0x4c, 0xde, 0xf8, 0x27, 0x00, 0x00, 0xff, 0xff, 0x68, 0xac, + 0x60, 0xe7, 0xd6, 0x12, 0x00, 0x00, } -var xxx_messageInfo_QueryEffectivePolicyResponse proto.InternalMessageInfo +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConn -func (m *QueryEffectivePolicyResponse) GetPolicy() *types1.Policy { - if m != nil { - return m.Policy - } - return nil -} +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion4 -func (m *QueryEffectivePolicyResponse) GetPendingPolicy() *types1.Policy { - if m != nil { - return m.PendingPolicy - } - return nil +// QueryClient is the client API for Query service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type QueryClient interface { + // Parameters queries the parameters of the module. + Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) + // Queries a list of Providers items. + Providers(ctx context.Context, in *QueryProvidersRequest, opts ...grpc.CallOption) (*QueryProvidersResponse, error) + // Queries a list of GetPairing items. + GetPairing(ctx context.Context, in *QueryGetPairingRequest, opts ...grpc.CallOption) (*QueryGetPairingResponse, error) + // Queries a list of VerifyPairing items. + VerifyPairing(ctx context.Context, in *QueryVerifyPairingRequest, opts ...grpc.CallOption) (*QueryVerifyPairingResponse, error) + // Queries a UserEntry items. + UserEntry(ctx context.Context, in *QueryUserEntryRequest, opts ...grpc.CallOption) (*QueryUserEntryResponse, error) + // Queries a list of StaticProvidersList items. + StaticProvidersList(ctx context.Context, in *QueryStaticProvidersListRequest, opts ...grpc.CallOption) (*QueryStaticProvidersListResponse, error) + // Queries a list of EffectivePolicy items. + EffectivePolicy(ctx context.Context, in *QueryEffectivePolicyRequest, opts ...grpc.CallOption) (*QueryEffectivePolicyResponse, error) + // Queries the expected monthly payout of a specific provider + ProviderMonthlyPayout(ctx context.Context, in *QueryProviderMonthlyPayoutRequest, opts ...grpc.CallOption) (*QueryProviderMonthlyPayoutResponse, error) + // Queries the expected monthly payout of a specific subscription + SubscriptionMonthlyPayout(ctx context.Context, in *QuerySubscriptionMonthlyPayoutRequest, opts ...grpc.CallOption) (*QuerySubscriptionMonthlyPayoutResponse, error) + // this line is used by starport scaffolding # 2 + // Queries a list of SdkPairing items. + SdkPairing(ctx context.Context, in *QueryGetPairingRequest, opts ...grpc.CallOption) (*QuerySdkPairingResponse, error) } -type QuerySdkPairingResponse struct { - Pairing *QueryGetPairingResponse `protobuf:"bytes,1,opt,name=pairing,proto3" json:"pairing,omitempty"` - MaxCu uint64 `protobuf:"varint,2,opt,name=max_cu,json=maxCu,proto3" json:"max_cu,omitempty"` - Spec *types2.Spec `protobuf:"bytes,3,opt,name=spec,proto3" json:"spec,omitempty"` - DowntimeParams *v1.Params `protobuf:"bytes,4,opt,name=downtime_params,json=downtimeParams,proto3" json:"downtime_params,omitempty"` +type queryClient struct { + cc grpc1.ClientConn } -func (m *QuerySdkPairingResponse) Reset() { *m = QuerySdkPairingResponse{} } -func (m *QuerySdkPairingResponse) String() string { return proto.CompactTextString(m) } -func (*QuerySdkPairingResponse) ProtoMessage() {} -func (*QuerySdkPairingResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_9e149ce9d21da0d8, []int{26} -} -func (m *QuerySdkPairingResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) +func NewQueryClient(cc grpc1.ClientConn) QueryClient { + return &queryClient{cc} } -func (m *QuerySdkPairingResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QuerySdkPairingResponse.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil + +func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) { + out := new(QueryParamsResponse) + err := c.cc.Invoke(ctx, "/lavanet.lava.pairing.Query/Params", in, out, opts...) + if err != nil { + return nil, err } + return out, nil } -func (m *QuerySdkPairingResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QuerySdkPairingResponse.Merge(m, src) -} -func (m *QuerySdkPairingResponse) XXX_Size() int { - return m.Size() -} -func (m *QuerySdkPairingResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QuerySdkPairingResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_QuerySdkPairingResponse proto.InternalMessageInfo -func (m *QuerySdkPairingResponse) GetPairing() *QueryGetPairingResponse { - if m != nil { - return m.Pairing +func (c *queryClient) Providers(ctx context.Context, in *QueryProvidersRequest, opts ...grpc.CallOption) (*QueryProvidersResponse, error) { + out := new(QueryProvidersResponse) + err := c.cc.Invoke(ctx, "/lavanet.lava.pairing.Query/Providers", in, out, opts...) + if err != nil { + return nil, err } - return nil + return out, nil } -func (m *QuerySdkPairingResponse) GetMaxCu() uint64 { - if m != nil { - return m.MaxCu +func (c *queryClient) GetPairing(ctx context.Context, in *QueryGetPairingRequest, opts ...grpc.CallOption) (*QueryGetPairingResponse, error) { + out := new(QueryGetPairingResponse) + err := c.cc.Invoke(ctx, "/lavanet.lava.pairing.Query/GetPairing", in, out, opts...) + if err != nil { + return nil, err } - return 0 + return out, nil } -func (m *QuerySdkPairingResponse) GetSpec() *types2.Spec { - if m != nil { - return m.Spec +func (c *queryClient) VerifyPairing(ctx context.Context, in *QueryVerifyPairingRequest, opts ...grpc.CallOption) (*QueryVerifyPairingResponse, error) { + out := new(QueryVerifyPairingResponse) + err := c.cc.Invoke(ctx, "/lavanet.lava.pairing.Query/VerifyPairing", in, out, opts...) + if err != nil { + return nil, err } - return nil + return out, nil } -func (m *QuerySdkPairingResponse) GetDowntimeParams() *v1.Params { - if m != nil { - return m.DowntimeParams +func (c *queryClient) UserEntry(ctx context.Context, in *QueryUserEntryRequest, opts ...grpc.CallOption) (*QueryUserEntryResponse, error) { + out := new(QueryUserEntryResponse) + err := c.cc.Invoke(ctx, "/lavanet.lava.pairing.Query/UserEntry", in, out, opts...) + if err != nil { + return nil, err } - return nil + return out, nil } -type QueryProviderMonthlyPayoutRequest struct { - Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"` +func (c *queryClient) StaticProvidersList(ctx context.Context, in *QueryStaticProvidersListRequest, opts ...grpc.CallOption) (*QueryStaticProvidersListResponse, error) { + out := new(QueryStaticProvidersListResponse) + err := c.cc.Invoke(ctx, "/lavanet.lava.pairing.Query/StaticProvidersList", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil } -func (m *QueryProviderMonthlyPayoutRequest) Reset() { *m = QueryProviderMonthlyPayoutRequest{} } -func (m *QueryProviderMonthlyPayoutRequest) String() string { return proto.CompactTextString(m) } -func (*QueryProviderMonthlyPayoutRequest) ProtoMessage() {} -func (*QueryProviderMonthlyPayoutRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_9e149ce9d21da0d8, []int{27} -} -func (m *QueryProviderMonthlyPayoutRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryProviderMonthlyPayoutRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryProviderMonthlyPayoutRequest.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil +func (c *queryClient) EffectivePolicy(ctx context.Context, in *QueryEffectivePolicyRequest, opts ...grpc.CallOption) (*QueryEffectivePolicyResponse, error) { + out := new(QueryEffectivePolicyResponse) + err := c.cc.Invoke(ctx, "/lavanet.lava.pairing.Query/EffectivePolicy", in, out, opts...) + if err != nil { + return nil, err } + return out, nil } -func (m *QueryProviderMonthlyPayoutRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryProviderMonthlyPayoutRequest.Merge(m, src) -} -func (m *QueryProviderMonthlyPayoutRequest) XXX_Size() int { - return m.Size() -} -func (m *QueryProviderMonthlyPayoutRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryProviderMonthlyPayoutRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryProviderMonthlyPayoutRequest proto.InternalMessageInfo -func (m *QueryProviderMonthlyPayoutRequest) GetProvider() string { - if m != nil { - return m.Provider +func (c *queryClient) ProviderMonthlyPayout(ctx context.Context, in *QueryProviderMonthlyPayoutRequest, opts ...grpc.CallOption) (*QueryProviderMonthlyPayoutResponse, error) { + out := new(QueryProviderMonthlyPayoutResponse) + err := c.cc.Invoke(ctx, "/lavanet.lava.pairing.Query/ProviderMonthlyPayout", in, out, opts...) + if err != nil { + return nil, err } - return "" + return out, nil } -type SubscriptionPayout struct { - Subscription string `protobuf:"bytes,1,opt,name=subscription,proto3" json:"subscription,omitempty"` - ChainId string `protobuf:"bytes,2,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` - Amount uint64 `protobuf:"varint,3,opt,name=amount,proto3" json:"amount,omitempty"` +func (c *queryClient) SubscriptionMonthlyPayout(ctx context.Context, in *QuerySubscriptionMonthlyPayoutRequest, opts ...grpc.CallOption) (*QuerySubscriptionMonthlyPayoutResponse, error) { + out := new(QuerySubscriptionMonthlyPayoutResponse) + err := c.cc.Invoke(ctx, "/lavanet.lava.pairing.Query/SubscriptionMonthlyPayout", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil } -func (m *SubscriptionPayout) Reset() { *m = SubscriptionPayout{} } -func (m *SubscriptionPayout) String() string { return proto.CompactTextString(m) } -func (*SubscriptionPayout) ProtoMessage() {} -func (*SubscriptionPayout) Descriptor() ([]byte, []int) { - return fileDescriptor_9e149ce9d21da0d8, []int{28} -} -func (m *SubscriptionPayout) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *SubscriptionPayout) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_SubscriptionPayout.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil +func (c *queryClient) SdkPairing(ctx context.Context, in *QueryGetPairingRequest, opts ...grpc.CallOption) (*QuerySdkPairingResponse, error) { + out := new(QuerySdkPairingResponse) + err := c.cc.Invoke(ctx, "/lavanet.lava.pairing.Query/SdkPairing", in, out, opts...) + if err != nil { + return nil, err } + return out, nil } -func (m *SubscriptionPayout) XXX_Merge(src proto.Message) { - xxx_messageInfo_SubscriptionPayout.Merge(m, src) -} -func (m *SubscriptionPayout) XXX_Size() int { - return m.Size() -} -func (m *SubscriptionPayout) XXX_DiscardUnknown() { - xxx_messageInfo_SubscriptionPayout.DiscardUnknown(m) -} - -var xxx_messageInfo_SubscriptionPayout proto.InternalMessageInfo -func (m *SubscriptionPayout) GetSubscription() string { - if m != nil { - return m.Subscription - } - return "" +// QueryServer is the server API for Query service. +type QueryServer interface { + // Parameters queries the parameters of the module. + Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) + // Queries a list of Providers items. + Providers(context.Context, *QueryProvidersRequest) (*QueryProvidersResponse, error) + // Queries a list of GetPairing items. + GetPairing(context.Context, *QueryGetPairingRequest) (*QueryGetPairingResponse, error) + // Queries a list of VerifyPairing items. + VerifyPairing(context.Context, *QueryVerifyPairingRequest) (*QueryVerifyPairingResponse, error) + // Queries a UserEntry items. + UserEntry(context.Context, *QueryUserEntryRequest) (*QueryUserEntryResponse, error) + // Queries a list of StaticProvidersList items. + StaticProvidersList(context.Context, *QueryStaticProvidersListRequest) (*QueryStaticProvidersListResponse, error) + // Queries a list of EffectivePolicy items. + EffectivePolicy(context.Context, *QueryEffectivePolicyRequest) (*QueryEffectivePolicyResponse, error) + // Queries the expected monthly payout of a specific provider + ProviderMonthlyPayout(context.Context, *QueryProviderMonthlyPayoutRequest) (*QueryProviderMonthlyPayoutResponse, error) + // Queries the expected monthly payout of a specific subscription + SubscriptionMonthlyPayout(context.Context, *QuerySubscriptionMonthlyPayoutRequest) (*QuerySubscriptionMonthlyPayoutResponse, error) + // this line is used by starport scaffolding # 2 + // Queries a list of SdkPairing items. + SdkPairing(context.Context, *QueryGetPairingRequest) (*QuerySdkPairingResponse, error) } -func (m *SubscriptionPayout) GetChainId() string { - if m != nil { - return m.ChainId - } - return "" +// UnimplementedQueryServer can be embedded to have forward compatible implementations. +type UnimplementedQueryServer struct { } -func (m *SubscriptionPayout) GetAmount() uint64 { - if m != nil { - return m.Amount - } - return 0 +func (*UnimplementedQueryServer) Params(ctx context.Context, req *QueryParamsRequest) (*QueryParamsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Params not implemented") } - -type QueryProviderMonthlyPayoutResponse struct { - Total uint64 `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"` - Details []*SubscriptionPayout `protobuf:"bytes,2,rep,name=details,proto3" json:"details,omitempty"` +func (*UnimplementedQueryServer) Providers(ctx context.Context, req *QueryProvidersRequest) (*QueryProvidersResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Providers not implemented") } - -func (m *QueryProviderMonthlyPayoutResponse) Reset() { *m = QueryProviderMonthlyPayoutResponse{} } -func (m *QueryProviderMonthlyPayoutResponse) String() string { return proto.CompactTextString(m) } -func (*QueryProviderMonthlyPayoutResponse) ProtoMessage() {} -func (*QueryProviderMonthlyPayoutResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_9e149ce9d21da0d8, []int{29} +func (*UnimplementedQueryServer) GetPairing(ctx context.Context, req *QueryGetPairingRequest) (*QueryGetPairingResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetPairing not implemented") } -func (m *QueryProviderMonthlyPayoutResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) +func (*UnimplementedQueryServer) VerifyPairing(ctx context.Context, req *QueryVerifyPairingRequest) (*QueryVerifyPairingResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method VerifyPairing not implemented") } -func (m *QueryProviderMonthlyPayoutResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryProviderMonthlyPayoutResponse.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } +func (*UnimplementedQueryServer) UserEntry(ctx context.Context, req *QueryUserEntryRequest) (*QueryUserEntryResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UserEntry not implemented") } -func (m *QueryProviderMonthlyPayoutResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryProviderMonthlyPayoutResponse.Merge(m, src) +func (*UnimplementedQueryServer) StaticProvidersList(ctx context.Context, req *QueryStaticProvidersListRequest) (*QueryStaticProvidersListResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method StaticProvidersList not implemented") } -func (m *QueryProviderMonthlyPayoutResponse) XXX_Size() int { - return m.Size() +func (*UnimplementedQueryServer) EffectivePolicy(ctx context.Context, req *QueryEffectivePolicyRequest) (*QueryEffectivePolicyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method EffectivePolicy not implemented") } -func (m *QueryProviderMonthlyPayoutResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryProviderMonthlyPayoutResponse.DiscardUnknown(m) +func (*UnimplementedQueryServer) ProviderMonthlyPayout(ctx context.Context, req *QueryProviderMonthlyPayoutRequest) (*QueryProviderMonthlyPayoutResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ProviderMonthlyPayout not implemented") +} +func (*UnimplementedQueryServer) SubscriptionMonthlyPayout(ctx context.Context, req *QuerySubscriptionMonthlyPayoutRequest) (*QuerySubscriptionMonthlyPayoutResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SubscriptionMonthlyPayout not implemented") +} +func (*UnimplementedQueryServer) SdkPairing(ctx context.Context, req *QueryGetPairingRequest) (*QuerySdkPairingResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SdkPairing not implemented") } -var xxx_messageInfo_QueryProviderMonthlyPayoutResponse proto.InternalMessageInfo - -func (m *QueryProviderMonthlyPayoutResponse) GetTotal() uint64 { - if m != nil { - return m.Total - } - return 0 +func RegisterQueryServer(s grpc1.Server, srv QueryServer) { + s.RegisterService(&_Query_serviceDesc, srv) } -func (m *QueryProviderMonthlyPayoutResponse) GetDetails() []*SubscriptionPayout { - if m != nil { - return m.Details +func _Query_Params_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryParamsRequest) + if err := dec(in); err != nil { + return nil, err } - return nil + if interceptor == nil { + return srv.(QueryServer).Params(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/lavanet.lava.pairing.Query/Params", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Params(ctx, req.(*QueryParamsRequest)) + } + return interceptor(ctx, in, info, handler) } -type ProviderPayout struct { - Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"` - Amount uint64 `protobuf:"varint,2,opt,name=amount,proto3" json:"amount,omitempty"` +func _Query_Providers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryProvidersRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).Providers(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/lavanet.lava.pairing.Query/Providers", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Providers(ctx, req.(*QueryProvidersRequest)) + } + return interceptor(ctx, in, info, handler) } -func (m *ProviderPayout) Reset() { *m = ProviderPayout{} } -func (m *ProviderPayout) String() string { return proto.CompactTextString(m) } -func (*ProviderPayout) ProtoMessage() {} -func (*ProviderPayout) Descriptor() ([]byte, []int) { - return fileDescriptor_9e149ce9d21da0d8, []int{30} -} -func (m *ProviderPayout) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *ProviderPayout) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_ProviderPayout.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil +func _Query_GetPairing_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryGetPairingRequest) + if err := dec(in); err != nil { + return nil, err } -} -func (m *ProviderPayout) XXX_Merge(src proto.Message) { - xxx_messageInfo_ProviderPayout.Merge(m, src) -} -func (m *ProviderPayout) XXX_Size() int { - return m.Size() -} -func (m *ProviderPayout) XXX_DiscardUnknown() { - xxx_messageInfo_ProviderPayout.DiscardUnknown(m) + if interceptor == nil { + return srv.(QueryServer).GetPairing(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/lavanet.lava.pairing.Query/GetPairing", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).GetPairing(ctx, req.(*QueryGetPairingRequest)) + } + return interceptor(ctx, in, info, handler) } -var xxx_messageInfo_ProviderPayout proto.InternalMessageInfo - -func (m *ProviderPayout) GetProvider() string { - if m != nil { - return m.Provider +func _Query_VerifyPairing_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryVerifyPairingRequest) + if err := dec(in); err != nil { + return nil, err } - return "" + if interceptor == nil { + return srv.(QueryServer).VerifyPairing(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/lavanet.lava.pairing.Query/VerifyPairing", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).VerifyPairing(ctx, req.(*QueryVerifyPairingRequest)) + } + return interceptor(ctx, in, info, handler) } -func (m *ProviderPayout) GetAmount() uint64 { - if m != nil { - return m.Amount +func _Query_UserEntry_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryUserEntryRequest) + if err := dec(in); err != nil { + return nil, err } - return 0 + if interceptor == nil { + return srv.(QueryServer).UserEntry(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/lavanet.lava.pairing.Query/UserEntry", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).UserEntry(ctx, req.(*QueryUserEntryRequest)) + } + return interceptor(ctx, in, info, handler) } -type ChainIDPayout struct { - ChainId string `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` - Payouts []*ProviderPayout `protobuf:"bytes,2,rep,name=payouts,proto3" json:"payouts,omitempty"` -} - -func (m *ChainIDPayout) Reset() { *m = ChainIDPayout{} } -func (m *ChainIDPayout) String() string { return proto.CompactTextString(m) } -func (*ChainIDPayout) ProtoMessage() {} -func (*ChainIDPayout) Descriptor() ([]byte, []int) { - return fileDescriptor_9e149ce9d21da0d8, []int{31} -} -func (m *ChainIDPayout) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) +func _Query_StaticProvidersList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryStaticProvidersListRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).StaticProvidersList(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/lavanet.lava.pairing.Query/StaticProvidersList", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).StaticProvidersList(ctx, req.(*QueryStaticProvidersListRequest)) + } + return interceptor(ctx, in, info, handler) } -func (m *ChainIDPayout) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_ChainIDPayout.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil + +func _Query_EffectivePolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryEffectivePolicyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).EffectivePolicy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/lavanet.lava.pairing.Query/EffectivePolicy", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).EffectivePolicy(ctx, req.(*QueryEffectivePolicyRequest)) } + return interceptor(ctx, in, info, handler) } -func (m *ChainIDPayout) XXX_Merge(src proto.Message) { - xxx_messageInfo_ChainIDPayout.Merge(m, src) + +func _Query_ProviderMonthlyPayout_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryProviderMonthlyPayoutRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).ProviderMonthlyPayout(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/lavanet.lava.pairing.Query/ProviderMonthlyPayout", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).ProviderMonthlyPayout(ctx, req.(*QueryProviderMonthlyPayoutRequest)) + } + return interceptor(ctx, in, info, handler) } -func (m *ChainIDPayout) XXX_Size() int { - return m.Size() + +func _Query_SubscriptionMonthlyPayout_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QuerySubscriptionMonthlyPayoutRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).SubscriptionMonthlyPayout(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/lavanet.lava.pairing.Query/SubscriptionMonthlyPayout", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).SubscriptionMonthlyPayout(ctx, req.(*QuerySubscriptionMonthlyPayoutRequest)) + } + return interceptor(ctx, in, info, handler) } -func (m *ChainIDPayout) XXX_DiscardUnknown() { - xxx_messageInfo_ChainIDPayout.DiscardUnknown(m) + +func _Query_SdkPairing_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryGetPairingRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).SdkPairing(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/lavanet.lava.pairing.Query/SdkPairing", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).SdkPairing(ctx, req.(*QueryGetPairingRequest)) + } + return interceptor(ctx, in, info, handler) } -var xxx_messageInfo_ChainIDPayout proto.InternalMessageInfo +var _Query_serviceDesc = grpc.ServiceDesc{ + ServiceName: "lavanet.lava.pairing.Query", + HandlerType: (*QueryServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Params", + Handler: _Query_Params_Handler, + }, + { + MethodName: "Providers", + Handler: _Query_Providers_Handler, + }, + { + MethodName: "GetPairing", + Handler: _Query_GetPairing_Handler, + }, + { + MethodName: "VerifyPairing", + Handler: _Query_VerifyPairing_Handler, + }, + { + MethodName: "UserEntry", + Handler: _Query_UserEntry_Handler, + }, + { + MethodName: "StaticProvidersList", + Handler: _Query_StaticProvidersList_Handler, + }, + { + MethodName: "EffectivePolicy", + Handler: _Query_EffectivePolicy_Handler, + }, + { + MethodName: "ProviderMonthlyPayout", + Handler: _Query_ProviderMonthlyPayout_Handler, + }, + { + MethodName: "SubscriptionMonthlyPayout", + Handler: _Query_SubscriptionMonthlyPayout_Handler, + }, + { + MethodName: "SdkPairing", + Handler: _Query_SdkPairing_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "lavanet/lava/pairing/query.proto", +} -func (m *ChainIDPayout) GetChainId() string { - if m != nil { - return m.ChainId +func (m *QueryParamsRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - return "" + return dAtA[:n], nil } -func (m *ChainIDPayout) GetPayouts() []*ProviderPayout { - if m != nil { - return m.Payouts - } - return nil +func (m *QueryParamsRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -type QuerySubscriptionMonthlyPayoutRequest struct { - Consumer string `protobuf:"bytes,1,opt,name=consumer,proto3" json:"consumer,omitempty"` +func (m *QueryParamsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil } -func (m *QuerySubscriptionMonthlyPayoutRequest) Reset() { *m = QuerySubscriptionMonthlyPayoutRequest{} } -func (m *QuerySubscriptionMonthlyPayoutRequest) String() string { return proto.CompactTextString(m) } -func (*QuerySubscriptionMonthlyPayoutRequest) ProtoMessage() {} -func (*QuerySubscriptionMonthlyPayoutRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_9e149ce9d21da0d8, []int{32} +func (m *QueryParamsResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil } -func (m *QuerySubscriptionMonthlyPayoutRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) + +func (m *QueryParamsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QuerySubscriptionMonthlyPayoutRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QuerySubscriptionMonthlyPayoutRequest.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) + +func (m *QueryParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) if err != nil { - return nil, err + return 0, err } - return b[:n], nil + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) } -} -func (m *QuerySubscriptionMonthlyPayoutRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QuerySubscriptionMonthlyPayoutRequest.Merge(m, src) -} -func (m *QuerySubscriptionMonthlyPayoutRequest) XXX_Size() int { - return m.Size() -} -func (m *QuerySubscriptionMonthlyPayoutRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QuerySubscriptionMonthlyPayoutRequest.DiscardUnknown(m) + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil } -var xxx_messageInfo_QuerySubscriptionMonthlyPayoutRequest proto.InternalMessageInfo - -func (m *QuerySubscriptionMonthlyPayoutRequest) GetConsumer() string { - if m != nil { - return m.Consumer +func (m *QueryProvidersRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - return "" + return dAtA[:n], nil } -type QuerySubscriptionMonthlyPayoutResponse struct { - Total uint64 `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"` - Details []*ChainIDPayout `protobuf:"bytes,2,rep,name=details,proto3" json:"details,omitempty"` +func (m *QueryProvidersRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QuerySubscriptionMonthlyPayoutResponse) Reset() { - *m = QuerySubscriptionMonthlyPayoutResponse{} -} -func (m *QuerySubscriptionMonthlyPayoutResponse) String() string { return proto.CompactTextString(m) } -func (*QuerySubscriptionMonthlyPayoutResponse) ProtoMessage() {} -func (*QuerySubscriptionMonthlyPayoutResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_9e149ce9d21da0d8, []int{33} -} -func (m *QuerySubscriptionMonthlyPayoutResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QuerySubscriptionMonthlyPayoutResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QuerySubscriptionMonthlyPayoutResponse.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err +func (m *QueryProvidersRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.ShowFrozen { + i-- + if m.ShowFrozen { + dAtA[i] = 1 + } else { + dAtA[i] = 0 } - return b[:n], nil - } -} -func (m *QuerySubscriptionMonthlyPayoutResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QuerySubscriptionMonthlyPayoutResponse.Merge(m, src) -} -func (m *QuerySubscriptionMonthlyPayoutResponse) XXX_Size() int { - return m.Size() -} -func (m *QuerySubscriptionMonthlyPayoutResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QuerySubscriptionMonthlyPayoutResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_QuerySubscriptionMonthlyPayoutResponse proto.InternalMessageInfo - -func (m *QuerySubscriptionMonthlyPayoutResponse) GetTotal() uint64 { - if m != nil { - return m.Total + i-- + dAtA[i] = 0x10 } - return 0 -} - -func (m *QuerySubscriptionMonthlyPayoutResponse) GetDetails() []*ChainIDPayout { - if m != nil { - return m.Details + if len(m.ChainID) > 0 { + i -= len(m.ChainID) + copy(dAtA[i:], m.ChainID) + i = encodeVarintQuery(dAtA, i, uint64(len(m.ChainID))) + i-- + dAtA[i] = 0xa } - return nil -} - -func init() { - proto.RegisterType((*QueryParamsRequest)(nil), "lavanet.lava.pairing.QueryParamsRequest") - proto.RegisterType((*QueryParamsResponse)(nil), "lavanet.lava.pairing.QueryParamsResponse") - proto.RegisterType((*QueryProvidersRequest)(nil), "lavanet.lava.pairing.QueryProvidersRequest") - proto.RegisterType((*QueryProvidersResponse)(nil), "lavanet.lava.pairing.QueryProvidersResponse") - proto.RegisterType((*QueryGetPairingRequest)(nil), "lavanet.lava.pairing.QueryGetPairingRequest") - proto.RegisterType((*QueryGetPairingResponse)(nil), "lavanet.lava.pairing.QueryGetPairingResponse") - proto.RegisterType((*QueryVerifyPairingRequest)(nil), "lavanet.lava.pairing.QueryVerifyPairingRequest") - proto.RegisterType((*QueryVerifyPairingResponse)(nil), "lavanet.lava.pairing.QueryVerifyPairingResponse") - proto.RegisterType((*QueryGetUniquePaymentStorageClientProviderRequest)(nil), "lavanet.lava.pairing.QueryGetUniquePaymentStorageClientProviderRequest") - proto.RegisterType((*QueryGetUniquePaymentStorageClientProviderResponse)(nil), "lavanet.lava.pairing.QueryGetUniquePaymentStorageClientProviderResponse") - proto.RegisterType((*QueryAllUniquePaymentStorageClientProviderRequest)(nil), "lavanet.lava.pairing.QueryAllUniquePaymentStorageClientProviderRequest") - proto.RegisterType((*QueryAllUniquePaymentStorageClientProviderResponse)(nil), "lavanet.lava.pairing.QueryAllUniquePaymentStorageClientProviderResponse") - proto.RegisterType((*QueryGetProviderPaymentStorageRequest)(nil), "lavanet.lava.pairing.QueryGetProviderPaymentStorageRequest") - proto.RegisterType((*QueryGetProviderPaymentStorageResponse)(nil), "lavanet.lava.pairing.QueryGetProviderPaymentStorageResponse") - proto.RegisterType((*QueryAllProviderPaymentStorageRequest)(nil), "lavanet.lava.pairing.QueryAllProviderPaymentStorageRequest") - proto.RegisterType((*QueryAllProviderPaymentStorageResponse)(nil), "lavanet.lava.pairing.QueryAllProviderPaymentStorageResponse") - proto.RegisterType((*QueryGetEpochPaymentsRequest)(nil), "lavanet.lava.pairing.QueryGetEpochPaymentsRequest") - proto.RegisterType((*QueryGetEpochPaymentsResponse)(nil), "lavanet.lava.pairing.QueryGetEpochPaymentsResponse") - proto.RegisterType((*QueryAllEpochPaymentsRequest)(nil), "lavanet.lava.pairing.QueryAllEpochPaymentsRequest") - proto.RegisterType((*QueryAllEpochPaymentsResponse)(nil), "lavanet.lava.pairing.QueryAllEpochPaymentsResponse") - proto.RegisterType((*QueryUserEntryRequest)(nil), "lavanet.lava.pairing.QueryUserEntryRequest") - proto.RegisterType((*QueryUserEntryResponse)(nil), "lavanet.lava.pairing.QueryUserEntryResponse") - proto.RegisterType((*QueryStaticProvidersListRequest)(nil), "lavanet.lava.pairing.QueryStaticProvidersListRequest") - proto.RegisterType((*QueryStaticProvidersListResponse)(nil), "lavanet.lava.pairing.QueryStaticProvidersListResponse") - proto.RegisterType((*QueryEffectivePolicyRequest)(nil), "lavanet.lava.pairing.QueryEffectivePolicyRequest") - proto.RegisterType((*QueryEffectivePolicyResponse)(nil), "lavanet.lava.pairing.QueryEffectivePolicyResponse") - proto.RegisterType((*QuerySdkPairingResponse)(nil), "lavanet.lava.pairing.QuerySdkPairingResponse") - proto.RegisterType((*QueryProviderMonthlyPayoutRequest)(nil), "lavanet.lava.pairing.QueryProviderMonthlyPayoutRequest") - proto.RegisterType((*SubscriptionPayout)(nil), "lavanet.lava.pairing.SubscriptionPayout") - proto.RegisterType((*QueryProviderMonthlyPayoutResponse)(nil), "lavanet.lava.pairing.QueryProviderMonthlyPayoutResponse") - proto.RegisterType((*ProviderPayout)(nil), "lavanet.lava.pairing.ProviderPayout") - proto.RegisterType((*ChainIDPayout)(nil), "lavanet.lava.pairing.ChainIDPayout") - proto.RegisterType((*QuerySubscriptionMonthlyPayoutRequest)(nil), "lavanet.lava.pairing.QuerySubscriptionMonthlyPayoutRequest") - proto.RegisterType((*QuerySubscriptionMonthlyPayoutResponse)(nil), "lavanet.lava.pairing.QuerySubscriptionMonthlyPayoutResponse") -} - -func init() { proto.RegisterFile("lavanet/lava/pairing/query.proto", fileDescriptor_9e149ce9d21da0d8) } - -var fileDescriptor_9e149ce9d21da0d8 = []byte{ - // 2001 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x59, 0xcb, 0x6f, 0xdc, 0x6a, - 0x15, 0xaf, 0x27, 0x8f, 0x26, 0xa7, 0x4d, 0x5b, 0x7d, 0x37, 0x49, 0x13, 0x93, 0x9b, 0xa6, 0x5f, - 0x5f, 0x09, 0x0d, 0xe3, 0x9b, 0xe9, 0xe3, 0x46, 0x7d, 0x41, 0xd2, 0x17, 0x29, 0x81, 0x9b, 0x4c, - 0x08, 0x0b, 0x36, 0x96, 0xe3, 0xf9, 0x32, 0x71, 0xe3, 0xb1, 0x5d, 0x3f, 0xa6, 0x09, 0xa3, 0x01, - 0x04, 0x62, 0x7b, 0x85, 0xc4, 0x65, 0x81, 0xc4, 0xf2, 0x4a, 0x88, 0x05, 0xec, 0x91, 0xd8, 0x21, - 0xd0, 0x5d, 0x20, 0x74, 0xa5, 0x6e, 0x58, 0x00, 0x42, 0x2d, 0xff, 0x00, 0xff, 0x01, 0xf2, 0xf7, - 0x1d, 0x7b, 0xec, 0x89, 0xc7, 0x33, 0xd3, 0x44, 0x6c, 0xda, 0x7c, 0xf6, 0x79, 0xfc, 0xce, 0xef, - 0x1c, 0xfb, 0x9c, 0xe3, 0x81, 0x39, 0x53, 0xab, 0x6b, 0x16, 0xf3, 0x95, 0xf0, 0x7f, 0xc5, 0xd1, - 0x0c, 0xd7, 0xb0, 0xaa, 0xca, 0xab, 0x80, 0xb9, 0x87, 0x45, 0xc7, 0xb5, 0x7d, 0x9b, 0x8c, 0xa3, - 0x44, 0x31, 0xfc, 0xbf, 0x88, 0x12, 0xf2, 0x78, 0xd5, 0xae, 0xda, 0x5c, 0x40, 0x09, 0xff, 0x12, - 0xb2, 0xf2, 0x4c, 0xd5, 0xb6, 0xab, 0x26, 0x53, 0x34, 0xc7, 0x50, 0x34, 0xcb, 0xb2, 0x7d, 0xcd, - 0x37, 0x6c, 0xcb, 0xc3, 0xbb, 0x5f, 0xd5, 0x6d, 0xaf, 0x66, 0x7b, 0xca, 0x8e, 0xe6, 0x31, 0xe1, - 0x42, 0xa9, 0x2f, 0xed, 0x30, 0x5f, 0x5b, 0x52, 0x1c, 0xad, 0x6a, 0x58, 0x5c, 0x18, 0x65, 0x2f, - 0x67, 0xe2, 0x72, 0x34, 0x57, 0xab, 0x45, 0xe6, 0x16, 0x32, 0x45, 0x98, 0x63, 0xeb, 0x7b, 0xaa, - 0xa3, 0x1d, 0xd6, 0x98, 0xe5, 0x47, 0xa2, 0x33, 0x29, 0x51, 0xcf, 0x61, 0x3a, 0xff, 0x07, 0xef, - 0x5e, 0x4a, 0x1b, 0x32, 0x35, 0xcb, 0x53, 0x1c, 0xdb, 0x34, 0x74, 0xa4, 0x40, 0xbe, 0x95, 0x0d, - 0xc6, 0xb5, 0xeb, 0x46, 0x85, 0xb9, 0x91, 0x33, 0xd5, 0xf3, 0x6d, 0x57, 0xab, 0x32, 0x54, 0x5a, - 0xc9, 0x54, 0x0a, 0x2c, 0xe3, 0x55, 0xc0, 0xda, 0x55, 0x54, 0xdd, 0x34, 0xc2, 0x63, 0x64, 0x12, - 0x4d, 0xdc, 0x4c, 0x99, 0xe0, 0x91, 0xa1, 0x82, 0xe2, 0xf9, 0xda, 0x3e, 0x53, 0x99, 0xe5, 0x47, - 0x79, 0x92, 0x17, 0xd3, 0x31, 0x06, 0x3b, 0x9e, 0xee, 0x1a, 0x4e, 0x48, 0x69, 0xea, 0x80, 0xd2, - 0x57, 0xd2, 0xe8, 0x5c, 0xfb, 0x25, 0xd3, 0x7d, 0x2f, 0xfa, 0x03, 0x85, 0x6e, 0xa4, 0x84, 0x2a, - 0xf6, 0x6b, 0xcb, 0x37, 0x6a, 0x4c, 0xa9, 0x2f, 0xc5, 0x7f, 0x0b, 0x41, 0x3a, 0x0e, 0x64, 0x33, - 0xcc, 0xe7, 0x06, 0xcf, 0x4f, 0x99, 0xbd, 0x0a, 0x98, 0xe7, 0xd3, 0x4d, 0xf8, 0x20, 0x75, 0xd5, - 0x73, 0x6c, 0xcb, 0x63, 0xe4, 0x1e, 0x0c, 0x8b, 0x3c, 0x4e, 0x49, 0x73, 0xd2, 0xfc, 0x99, 0xd2, - 0x4c, 0x31, 0xab, 0xc2, 0x8a, 0x42, 0x6b, 0x75, 0xf0, 0x8b, 0x7f, 0x5d, 0x3a, 0x55, 0x46, 0x0d, - 0xba, 0x09, 0x13, 0xc2, 0x24, 0x12, 0x15, 0xf9, 0x22, 0x53, 0x70, 0x5a, 0xdf, 0xd3, 0x0c, 0x6b, - 0xed, 0x09, 0xb7, 0x3a, 0x5a, 0x8e, 0x8e, 0x64, 0x16, 0xc0, 0xdb, 0xb3, 0x5f, 0x3f, 0x73, 0xed, - 0x1f, 0x30, 0x6b, 0xaa, 0x30, 0x27, 0xcd, 0x8f, 0x94, 0x13, 0x57, 0xe8, 0x3e, 0x4c, 0xb6, 0x9b, - 0x44, 0xa0, 0xdf, 0x02, 0xe0, 0x34, 0x3f, 0x0d, 0x59, 0x9e, 0x92, 0xe6, 0x06, 0xe6, 0xcf, 0x94, - 0xae, 0xa5, 0xc1, 0x26, 0x73, 0x52, 0xdc, 0x8a, 0x85, 0x11, 0x75, 0x42, 0xfd, 0xc5, 0xe0, 0x48, - 0xe1, 0xc2, 0x00, 0x7d, 0x81, 0xce, 0x9e, 0x33, 0x7f, 0x43, 0xc4, 0xd9, 0x3d, 0x80, 0x49, 0x18, - 0x16, 0xe5, 0xc1, 0xc1, 0x8f, 0x96, 0xf1, 0x44, 0x7f, 0x57, 0x80, 0x8b, 0x47, 0x8c, 0x21, 0xf4, - 0x35, 0x18, 0x8d, 0x6a, 0xc9, 0x7b, 0x1f, 0xe4, 0x2d, 0x6d, 0x72, 0x05, 0xc6, 0xf4, 0xc0, 0x75, - 0xc3, 0xf2, 0xe4, 0x3a, 0x1c, 0xc5, 0x60, 0xf9, 0x2c, 0x5e, 0x7c, 0x1a, 0x5e, 0x23, 0xcb, 0x30, - 0x1d, 0x96, 0x83, 0x6a, 0xb2, 0x5d, 0x5f, 0xf5, 0x6d, 0xd5, 0x62, 0x07, 0xbe, 0x8a, 0x99, 0x9c, - 0x1a, 0xe0, 0x0a, 0x13, 0xa1, 0xc0, 0x3a, 0xdb, 0xf5, 0xbf, 0x6b, 0x7f, 0x87, 0x1d, 0x44, 0x88, - 0xc9, 0x1d, 0xb8, 0x18, 0x3e, 0x8a, 0xaa, 0xa9, 0x79, 0xbe, 0x1a, 0x38, 0x15, 0xcd, 0x67, 0x15, - 0x75, 0xc7, 0xb4, 0xf5, 0xfd, 0xa9, 0x41, 0xae, 0x37, 0x1e, 0xde, 0x5e, 0xd7, 0x3c, 0x7f, 0x5b, - 0xdc, 0x5c, 0x0d, 0xef, 0x91, 0x25, 0x98, 0xe0, 0x42, 0xaa, 0xbd, 0x9b, 0x76, 0x36, 0xc4, 0x95, - 0x08, 0xbf, 0xf9, 0xc9, 0x6e, 0xc2, 0x13, 0xfd, 0x11, 0x4c, 0x73, 0xba, 0xbe, 0xc7, 0x5c, 0x63, - 0xf7, 0xf0, 0xb8, 0xf4, 0x13, 0x19, 0x46, 0x22, 0x92, 0x78, 0x84, 0xa3, 0xe5, 0xf8, 0x4c, 0xc6, - 0x61, 0x28, 0x19, 0x82, 0x38, 0xd0, 0xcf, 0x25, 0x90, 0xb3, 0x10, 0x60, 0xce, 0xc6, 0x61, 0xa8, - 0xae, 0x99, 0x46, 0x85, 0x03, 0x18, 0x29, 0x8b, 0x03, 0x59, 0x80, 0x0b, 0x61, 0x68, 0xac, 0xa2, - 0xb6, 0x12, 0x2a, 0x08, 0x3d, 0x2f, 0xae, 0xc7, 0x75, 0x4b, 0xe6, 0xe0, 0xac, 0x1e, 0xa8, 0x0e, - 0x73, 0x31, 0x51, 0xc2, 0x39, 0xe8, 0xc1, 0x06, 0x73, 0x45, 0x9a, 0x3e, 0x04, 0xc0, 0x27, 0x5c, - 0x35, 0x2a, 0x9c, 0xaa, 0x51, 0x9e, 0xea, 0xf0, 0xca, 0x5a, 0x05, 0x6b, 0x74, 0x0d, 0x96, 0xa2, - 0xb2, 0xda, 0xe6, 0x6f, 0xab, 0x0d, 0xf1, 0xb2, 0xda, 0x12, 0xc5, 0xf2, 0x98, 0x87, 0x1f, 0x79, - 0x8d, 0xf8, 0x1b, 0x87, 0x21, 0xc3, 0xaa, 0xb0, 0x03, 0x64, 0x4f, 0x1c, 0xe8, 0x9f, 0x25, 0x28, - 0xf5, 0x63, 0x0b, 0x99, 0xf8, 0x54, 0x02, 0x1a, 0x74, 0x15, 0xc7, 0xd7, 0xc7, 0x72, 0xf6, 0xeb, - 0xa3, 0xbb, 0x3b, 0x2c, 0xf5, 0x1e, 0x3c, 0xd1, 0x06, 0x52, 0xb2, 0x62, 0x9a, 0xbd, 0x53, 0xf2, - 0x0c, 0xa0, 0xd5, 0xd6, 0x10, 0xec, 0xf5, 0xa2, 0xe8, 0x81, 0xc5, 0xb0, 0x07, 0x16, 0x45, 0x9b, - 0xc5, 0x1e, 0x58, 0xdc, 0xd0, 0xaa, 0x0c, 0x75, 0xcb, 0x09, 0x4d, 0xfa, 0x69, 0x01, 0x49, 0xec, - 0xd1, 0x7b, 0xbf, 0x24, 0x0e, 0xfc, 0x7f, 0x48, 0x24, 0xcf, 0x53, 0x7c, 0x14, 0x38, 0x1f, 0x37, - 0xba, 0xf2, 0x21, 0xa2, 0x49, 0x11, 0xf2, 0x10, 0xae, 0xc5, 0xef, 0x3d, 0x34, 0x9e, 0x76, 0x9c, - 0x5f, 0x94, 0x9f, 0x49, 0x70, 0xbd, 0x9b, 0x3e, 0x72, 0xf8, 0x12, 0x26, 0x9d, 0x4c, 0x09, 0x4c, - 0xe7, 0x62, 0x87, 0xd6, 0x95, 0xa9, 0x83, 0x54, 0x75, 0xb0, 0x48, 0x6d, 0x8c, 0x6a, 0xc5, 0x34, - 0xf3, 0xa3, 0x3a, 0xa9, 0xba, 0xfa, 0x67, 0xc4, 0x43, 0x8e, 0xc7, 0x1e, 0x78, 0x18, 0x38, 0x59, - 0x1e, 0x4e, 0xae, 0x4c, 0x6e, 0xc3, 0x4c, 0x94, 0x66, 0xfe, 0xf6, 0x43, 0x3f, 0x5e, 0x7e, 0x75, - 0x38, 0xf0, 0x61, 0x07, 0x2d, 0xe4, 0xe2, 0x13, 0x18, 0x63, 0xc9, 0x1b, 0x98, 0x81, 0x2b, 0xd9, - 0x14, 0xa4, 0x6c, 0x60, 0xe4, 0x69, 0x7d, 0xba, 0x8b, 0x38, 0x57, 0x4c, 0x33, 0x13, 0xe7, 0x49, - 0xe5, 0xfb, 0x0f, 0x12, 0x86, 0x76, 0xd4, 0x51, 0xe7, 0xd0, 0x06, 0x8e, 0x13, 0xda, 0xc9, 0xe5, - 0x52, 0xc3, 0xb9, 0x6f, 0xdb, 0x63, 0x2e, 0x9f, 0x53, 0x12, 0x7d, 0x5b, 0xab, 0x54, 0x5c, 0xe6, - 0x79, 0x51, 0xdf, 0xc6, 0x63, 0xb2, 0xa3, 0x17, 0xd2, 0x1d, 0x3d, 0xee, 0xce, 0x03, 0xc9, 0xee, - 0xfc, 0x1a, 0x47, 0xb3, 0x84, 0x0b, 0xa4, 0xe5, 0x39, 0x8c, 0xe8, 0xb6, 0xe5, 0x05, 0xb5, 0xb8, - 0xe7, 0xf4, 0x35, 0x4b, 0xc5, 0xca, 0xa1, 0xe3, 0x9a, 0x76, 0xf0, 0x78, 0x1b, 0x47, 0x28, 0x71, - 0xa0, 0xf7, 0xe1, 0x12, 0x77, 0xbc, 0x15, 0x6e, 0x4b, 0x7a, 0xdc, 0xce, 0xd7, 0x0d, 0xcf, 0xef, - 0x3a, 0x9d, 0xd0, 0x1a, 0xcc, 0x75, 0x56, 0x3e, 0xf1, 0x61, 0x90, 0x6e, 0xc2, 0x57, 0xb8, 0xbb, - 0xa7, 0xbb, 0xbb, 0x4c, 0xf7, 0x8d, 0x3a, 0xdb, 0xe0, 0x7b, 0x52, 0x84, 0x53, 0x6e, 0x63, 0x6a, - 0x34, 0x11, 0xfc, 0x24, 0x0c, 0x87, 0x93, 0x5c, 0x9c, 0x0e, 0x3c, 0xd1, 0x5f, 0x4a, 0x58, 0xff, - 0x47, 0x6c, 0x22, 0xfc, 0x12, 0x0c, 0x8b, 0x6d, 0x0c, 0xc9, 0x97, 0xdb, 0xca, 0x31, 0xdc, 0xd7, - 0x8a, 0xa8, 0x83, 0x92, 0x64, 0x05, 0xce, 0x39, 0xcc, 0xaa, 0x18, 0x56, 0x55, 0x45, 0xdd, 0x42, - 0x57, 0xdd, 0x31, 0xd4, 0x10, 0x47, 0xfa, 0x5f, 0x09, 0xc7, 0xeb, 0xad, 0xca, 0x7e, 0xfb, 0xa8, - 0xf6, 0x1c, 0x4e, 0x47, 0xf3, 0xa6, 0xc0, 0xf4, 0xb5, 0xec, 0x47, 0xa4, 0xc3, 0x78, 0x5e, 0x8e, - 0xb4, 0xc9, 0x04, 0x0c, 0xd7, 0xb4, 0x03, 0x55, 0x0f, 0x92, 0x25, 0x11, 0x90, 0x9b, 0x30, 0x18, - 0xb2, 0xc3, 0x0b, 0xf4, 0x4c, 0xe9, 0x62, 0xda, 0x38, 0xdf, 0x5c, 0xb7, 0x1c, 0xa6, 0x97, 0xb9, - 0x10, 0x59, 0x83, 0xf3, 0xd1, 0x3a, 0xa6, 0xe2, 0x62, 0x35, 0xc8, 0xf5, 0xe6, 0xd2, 0x7a, 0xf1, - 0xce, 0x56, 0x5f, 0xc2, 0xe5, 0xaa, 0x7c, 0x2e, 0xba, 0x26, 0xce, 0xf4, 0xeb, 0x70, 0x39, 0xb5, - 0x0b, 0x7d, 0xdb, 0xb6, 0xfc, 0x3d, 0xf3, 0x70, 0x43, 0x3b, 0xb4, 0x03, 0x3f, 0x91, 0x64, 0x27, - 0x39, 0x82, 0x25, 0x06, 0x5f, 0xba, 0x0f, 0x64, 0x2b, 0xb1, 0x6c, 0x0a, 0x45, 0x42, 0xe1, 0x6c, - 0x72, 0x05, 0x45, 0xad, 0xd4, 0x35, 0x32, 0x0d, 0x23, 0xbc, 0xa6, 0xc3, 0xc1, 0x34, 0xf5, 0xbc, - 0x56, 0xc2, 0xca, 0xd1, 0x6a, 0x76, 0x60, 0xf9, 0xf8, 0xc0, 0xe2, 0x89, 0xfe, 0x10, 0x68, 0x1e, - 0xda, 0xd6, 0x58, 0xed, 0xdb, 0xbe, 0x66, 0x72, 0xaf, 0x83, 0x65, 0x71, 0x20, 0xab, 0x70, 0xba, - 0xc2, 0x7c, 0xcd, 0x30, 0xbd, 0xa9, 0x02, 0x7f, 0x22, 0xe6, 0xb3, 0x33, 0x78, 0x34, 0x9a, 0x72, - 0xa4, 0x48, 0x9f, 0xc0, 0xb9, 0x44, 0x87, 0x0b, 0x03, 0xcd, 0xa1, 0x26, 0x11, 0x45, 0x21, 0x15, - 0xc5, 0x4b, 0x18, 0x7b, 0x2c, 0x1e, 0x66, 0x34, 0x92, 0x64, 0x42, 0x4a, 0x33, 0xf1, 0x28, 0xac, - 0xbb, 0x50, 0x28, 0x42, 0x7d, 0xb5, 0x6b, 0xe3, 0xe5, 0x88, 0x51, 0x89, 0x3e, 0xc6, 0x19, 0x23, - 0x19, 0x55, 0xa7, 0x1c, 0x77, 0x7a, 0x90, 0x69, 0x13, 0xc7, 0x86, 0x1c, 0x23, 0xb9, 0xd4, 0x3f, - 0x6c, 0xa7, 0xbe, 0x43, 0x7f, 0x49, 0xb1, 0x12, 0xb3, 0x5e, 0xfa, 0xf5, 0x14, 0x0c, 0x71, 0xff, - 0xe4, 0xa7, 0x12, 0x0c, 0x8b, 0xc2, 0x25, 0xf3, 0x39, 0xcf, 0x5f, 0xea, 0xa3, 0x84, 0xbc, 0xd0, - 0x83, 0xa4, 0x80, 0x4f, 0xaf, 0xfe, 0xe4, 0xcd, 0x7f, 0x7e, 0x51, 0x98, 0x25, 0x33, 0x4a, 0xce, - 0xc7, 0x28, 0xf2, 0x2b, 0x09, 0x46, 0x5b, 0x3b, 0xd8, 0xcd, 0x3c, 0xf3, 0x6d, 0x1f, 0x2d, 0xe4, - 0xc5, 0xde, 0x84, 0x11, 0xce, 0x12, 0x87, 0x73, 0x93, 0x2c, 0x28, 0xb9, 0x9f, 0xa3, 0x3c, 0xa5, - 0x81, 0xcd, 0xa1, 0x49, 0x7e, 0x23, 0x01, 0xb4, 0x5e, 0x3f, 0x64, 0xb1, 0xc7, 0xb7, 0x94, 0x40, - 0xd7, 0xdf, 0x3b, 0x8d, 0x3e, 0xe0, 0xf0, 0xee, 0x92, 0xdb, 0xd9, 0xf0, 0xaa, 0x2c, 0xde, 0xd1, - 0x5b, 0x00, 0x95, 0x86, 0x58, 0xa6, 0x9b, 0xe4, 0x2f, 0x12, 0x8c, 0xa5, 0xd6, 0x62, 0xa2, 0xe4, - 0xb8, 0xcf, 0x5a, 0xe1, 0xe5, 0x8f, 0x7a, 0x57, 0x40, 0xc8, 0x65, 0x0e, 0x79, 0x9d, 0xbc, 0xc8, - 0x86, 0x5c, 0xe7, 0x4a, 0x39, 0xa8, 0x95, 0x46, 0x44, 0x7a, 0x53, 0x69, 0xf0, 0x29, 0xa2, 0x49, - 0x7e, 0x56, 0x00, 0xba, 0xdd, 0xc3, 0x32, 0x94, 0x4f, 0x6e, 0xcf, 0x5b, 0xa6, 0xfc, 0xcd, 0xe3, - 0x1b, 0x42, 0x36, 0xd6, 0x39, 0x1b, 0xcf, 0xc8, 0x13, 0xe5, 0x18, 0x5f, 0x2e, 0x95, 0x06, 0x1f, - 0xa3, 0x9b, 0xe4, 0xc7, 0x05, 0xb8, 0xd6, 0xdd, 0xf9, 0x8a, 0x69, 0xe6, 0x52, 0xd1, 0xcf, 0xc2, - 0x9d, 0x4b, 0x45, 0x5f, 0xbb, 0x33, 0x7d, 0xc2, 0xa9, 0x78, 0x44, 0x1e, 0x1c, 0x87, 0x0a, 0xf2, - 0x46, 0x82, 0xc9, 0xec, 0x15, 0x88, 0xdc, 0xef, 0xf2, 0x6c, 0xe5, 0x2d, 0x80, 0xf2, 0x83, 0xf7, - 0x53, 0xc6, 0xd8, 0x1e, 0xf1, 0xd8, 0x96, 0xc9, 0x5d, 0xa5, 0xaf, 0xaf, 0xda, 0x71, 0x62, 0xff, - 0x26, 0xc1, 0x74, 0xb6, 0x8b, 0x30, 0x99, 0xf7, 0xf3, 0x73, 0xf0, 0xfe, 0x81, 0x75, 0x5d, 0x52, - 0xe9, 0x5d, 0x1e, 0xd8, 0x47, 0xa4, 0xd8, 0x5f, 0x60, 0xe4, 0xf7, 0x12, 0x8c, 0xa5, 0x76, 0x19, - 0x52, 0xca, 0x27, 0x38, 0x6b, 0x4b, 0x93, 0x6f, 0xf5, 0xa5, 0x83, 0x90, 0x6f, 0x73, 0xc8, 0x45, - 0xb2, 0xa8, 0xf4, 0xf0, 0x5b, 0x46, 0x9c, 0x81, 0xdf, 0x4a, 0x70, 0x21, 0x65, 0x2f, 0x24, 0xbe, - 0x94, 0xcf, 0x5d, 0xdf, 0x98, 0x3b, 0x2d, 0x89, 0x74, 0x91, 0x63, 0xbe, 0x4e, 0xae, 0xf6, 0x82, - 0x99, 0x7c, 0x2e, 0xc1, 0x68, 0xbc, 0x51, 0xe5, 0x76, 0xc7, 0xf6, 0xd5, 0x2e, 0xb7, 0x3b, 0x1e, - 0x59, 0xd2, 0xba, 0xb5, 0x9f, 0xc0, 0x63, 0xae, 0xf8, 0xb9, 0x44, 0x69, 0xe0, 0x86, 0xd8, 0x4c, - 0x34, 0xca, 0x3f, 0x49, 0xf0, 0x41, 0xc6, 0x0a, 0x45, 0xee, 0xe4, 0x60, 0xe8, 0xbc, 0xaf, 0xc9, - 0x77, 0xfb, 0x55, 0xc3, 0x20, 0x1e, 0xf2, 0x20, 0x3e, 0x26, 0x77, 0xb2, 0x83, 0xf0, 0xb8, 0x6a, - 0xeb, 0x43, 0xb0, 0x6a, 0x1a, 0x9e, 0x9f, 0x88, 0xe2, 0x8f, 0x12, 0x9c, 0x6f, 0xdb, 0xa2, 0xc8, - 0x52, 0x0e, 0x94, 0xec, 0x2d, 0x4e, 0x2e, 0xf5, 0xa3, 0x82, 0xc8, 0x57, 0x39, 0xf2, 0x07, 0xe4, - 0x5e, 0x87, 0xaa, 0x88, 0xd4, 0x70, 0x1d, 0x53, 0x1a, 0xd1, 0x38, 0xd9, 0x54, 0x1a, 0x62, 0x11, - 0x6c, 0x92, 0xbf, 0x4a, 0x30, 0x91, 0x39, 0xcb, 0x93, 0x8f, 0x7b, 0x18, 0x94, 0xb2, 0xe6, 0x58, - 0x79, 0xb9, 0x7f, 0x45, 0x0c, 0xe8, 0x1b, 0x3c, 0xa0, 0x7b, 0x64, 0xb9, 0xcb, 0xdb, 0xa4, 0x26, - 0xb4, 0x55, 0x31, 0x62, 0x27, 0x26, 0x02, 0xf2, 0x0f, 0x09, 0xa6, 0x3b, 0xce, 0xc8, 0xb9, 0x2f, - 0xca, 0x6e, 0xe3, 0x79, 0xee, 0x8b, 0xb2, 0xeb, 0x58, 0xde, 0xad, 0xbb, 0x25, 0xd7, 0xb2, 0x23, - 0xe1, 0xc5, 0x69, 0x23, 0x9f, 0x49, 0x00, 0xad, 0xd5, 0xf8, 0x04, 0x67, 0xcb, 0xa3, 0xfb, 0x36, - 0x5d, 0xe0, 0x88, 0xaf, 0x90, 0xcb, 0x1d, 0x10, 0x57, 0xf6, 0xa3, 0x29, 0x6d, 0x75, 0xe5, 0x8b, - 0xb7, 0xb3, 0xd2, 0x97, 0x6f, 0x67, 0xa5, 0x7f, 0xbf, 0x9d, 0x95, 0x7e, 0xfe, 0x6e, 0xf6, 0xd4, - 0x97, 0xef, 0x66, 0x4f, 0xfd, 0xfd, 0xdd, 0xec, 0xa9, 0xef, 0xdf, 0xa8, 0x1a, 0xfe, 0x5e, 0xb0, - 0x53, 0xd4, 0xed, 0x5a, 0xda, 0xcc, 0x41, 0x6c, 0xc8, 0x3f, 0x74, 0x98, 0xb7, 0x33, 0xcc, 0x7f, - 0xd4, 0xbc, 0xf5, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x5f, 0xe2, 0xef, 0x1c, 0x1f, 0x00, - 0x00, -} - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConn - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion4 - -// QueryClient is the client API for Query service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type QueryClient interface { - // Parameters queries the parameters of the module. - Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) - // Queries a list of Providers items. - Providers(ctx context.Context, in *QueryProvidersRequest, opts ...grpc.CallOption) (*QueryProvidersResponse, error) - // Queries a list of GetPairing items. - GetPairing(ctx context.Context, in *QueryGetPairingRequest, opts ...grpc.CallOption) (*QueryGetPairingResponse, error) - // Queries a list of VerifyPairing items. - VerifyPairing(ctx context.Context, in *QueryVerifyPairingRequest, opts ...grpc.CallOption) (*QueryVerifyPairingResponse, error) - // Queries a UniquePaymentStorageClientProvider by index. - UniquePaymentStorageClientProvider(ctx context.Context, in *QueryGetUniquePaymentStorageClientProviderRequest, opts ...grpc.CallOption) (*QueryGetUniquePaymentStorageClientProviderResponse, error) - // Queries a list of UniquePaymentStorageClientProvider items. - UniquePaymentStorageClientProviderAll(ctx context.Context, in *QueryAllUniquePaymentStorageClientProviderRequest, opts ...grpc.CallOption) (*QueryAllUniquePaymentStorageClientProviderResponse, error) - // Queries a ProviderPaymentStorage by index. - ProviderPaymentStorage(ctx context.Context, in *QueryGetProviderPaymentStorageRequest, opts ...grpc.CallOption) (*QueryGetProviderPaymentStorageResponse, error) - // Queries a list of ProviderPaymentStorage items. - ProviderPaymentStorageAll(ctx context.Context, in *QueryAllProviderPaymentStorageRequest, opts ...grpc.CallOption) (*QueryAllProviderPaymentStorageResponse, error) - // Queries a EpochPayments by index. - EpochPayments(ctx context.Context, in *QueryGetEpochPaymentsRequest, opts ...grpc.CallOption) (*QueryGetEpochPaymentsResponse, error) - // Queries a list of EpochPayments items. - EpochPaymentsAll(ctx context.Context, in *QueryAllEpochPaymentsRequest, opts ...grpc.CallOption) (*QueryAllEpochPaymentsResponse, error) - // Queries a UserEntry items. - UserEntry(ctx context.Context, in *QueryUserEntryRequest, opts ...grpc.CallOption) (*QueryUserEntryResponse, error) - // Queries a list of StaticProvidersList items. - StaticProvidersList(ctx context.Context, in *QueryStaticProvidersListRequest, opts ...grpc.CallOption) (*QueryStaticProvidersListResponse, error) - // Queries a list of EffectivePolicy items. - EffectivePolicy(ctx context.Context, in *QueryEffectivePolicyRequest, opts ...grpc.CallOption) (*QueryEffectivePolicyResponse, error) - // Queries the expected monthly payout of a specific provider - ProviderMonthlyPayout(ctx context.Context, in *QueryProviderMonthlyPayoutRequest, opts ...grpc.CallOption) (*QueryProviderMonthlyPayoutResponse, error) - // Queries the expected monthly payout of a specific subscription - SubscriptionMonthlyPayout(ctx context.Context, in *QuerySubscriptionMonthlyPayoutRequest, opts ...grpc.CallOption) (*QuerySubscriptionMonthlyPayoutResponse, error) - // this line is used by starport scaffolding # 2 - // Queries a list of SdkPairing items. - SdkPairing(ctx context.Context, in *QueryGetPairingRequest, opts ...grpc.CallOption) (*QuerySdkPairingResponse, error) -} - -type queryClient struct { - cc grpc1.ClientConn -} - -func NewQueryClient(cc grpc1.ClientConn) QueryClient { - return &queryClient{cc} + return len(dAtA) - i, nil } -func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) { - out := new(QueryParamsResponse) - err := c.cc.Invoke(ctx, "/lavanet.lava.pairing.Query/Params", in, out, opts...) +func (m *QueryProvidersResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) if err != nil { return nil, err } - return out, nil + return dAtA[:n], nil } -func (c *queryClient) Providers(ctx context.Context, in *QueryProvidersRequest, opts ...grpc.CallOption) (*QueryProvidersResponse, error) { - out := new(QueryProvidersResponse) - err := c.cc.Invoke(ctx, "/lavanet.lava.pairing.Query/Providers", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +func (m *QueryProvidersResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (c *queryClient) GetPairing(ctx context.Context, in *QueryGetPairingRequest, opts ...grpc.CallOption) (*QueryGetPairingResponse, error) { - out := new(QueryGetPairingResponse) - err := c.cc.Invoke(ctx, "/lavanet.lava.pairing.Query/GetPairing", in, out, opts...) - if err != nil { - return nil, err +func (m *QueryProvidersResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.StakeEntry) > 0 { + for iNdEx := len(m.StakeEntry) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.StakeEntry[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } } - return out, nil + return len(dAtA) - i, nil } -func (c *queryClient) VerifyPairing(ctx context.Context, in *QueryVerifyPairingRequest, opts ...grpc.CallOption) (*QueryVerifyPairingResponse, error) { - out := new(QueryVerifyPairingResponse) - err := c.cc.Invoke(ctx, "/lavanet.lava.pairing.Query/VerifyPairing", in, out, opts...) +func (m *QueryGetPairingRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) if err != nil { return nil, err } - return out, nil + return dAtA[:n], nil } -func (c *queryClient) UniquePaymentStorageClientProvider(ctx context.Context, in *QueryGetUniquePaymentStorageClientProviderRequest, opts ...grpc.CallOption) (*QueryGetUniquePaymentStorageClientProviderResponse, error) { - out := new(QueryGetUniquePaymentStorageClientProviderResponse) - err := c.cc.Invoke(ctx, "/lavanet.lava.pairing.Query/UniquePaymentStorageClientProvider", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +func (m *QueryGetPairingRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (c *queryClient) UniquePaymentStorageClientProviderAll(ctx context.Context, in *QueryAllUniquePaymentStorageClientProviderRequest, opts ...grpc.CallOption) (*QueryAllUniquePaymentStorageClientProviderResponse, error) { - out := new(QueryAllUniquePaymentStorageClientProviderResponse) - err := c.cc.Invoke(ctx, "/lavanet.lava.pairing.Query/UniquePaymentStorageClientProviderAll", in, out, opts...) - if err != nil { - return nil, err +func (m *QueryGetPairingRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Client) > 0 { + i -= len(m.Client) + copy(dAtA[i:], m.Client) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Client))) + i-- + dAtA[i] = 0x12 } - return out, nil -} - -func (c *queryClient) ProviderPaymentStorage(ctx context.Context, in *QueryGetProviderPaymentStorageRequest, opts ...grpc.CallOption) (*QueryGetProviderPaymentStorageResponse, error) { - out := new(QueryGetProviderPaymentStorageResponse) - err := c.cc.Invoke(ctx, "/lavanet.lava.pairing.Query/ProviderPaymentStorage", in, out, opts...) - if err != nil { - return nil, err + if len(m.ChainID) > 0 { + i -= len(m.ChainID) + copy(dAtA[i:], m.ChainID) + i = encodeVarintQuery(dAtA, i, uint64(len(m.ChainID))) + i-- + dAtA[i] = 0xa } - return out, nil + return len(dAtA) - i, nil } -func (c *queryClient) ProviderPaymentStorageAll(ctx context.Context, in *QueryAllProviderPaymentStorageRequest, opts ...grpc.CallOption) (*QueryAllProviderPaymentStorageResponse, error) { - out := new(QueryAllProviderPaymentStorageResponse) - err := c.cc.Invoke(ctx, "/lavanet.lava.pairing.Query/ProviderPaymentStorageAll", in, out, opts...) +func (m *QueryGetPairingResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) if err != nil { return nil, err } - return out, nil + return dAtA[:n], nil } -func (c *queryClient) EpochPayments(ctx context.Context, in *QueryGetEpochPaymentsRequest, opts ...grpc.CallOption) (*QueryGetEpochPaymentsResponse, error) { - out := new(QueryGetEpochPaymentsResponse) - err := c.cc.Invoke(ctx, "/lavanet.lava.pairing.Query/EpochPayments", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +func (m *QueryGetPairingResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (c *queryClient) EpochPaymentsAll(ctx context.Context, in *QueryAllEpochPaymentsRequest, opts ...grpc.CallOption) (*QueryAllEpochPaymentsResponse, error) { - out := new(QueryAllEpochPaymentsResponse) - err := c.cc.Invoke(ctx, "/lavanet.lava.pairing.Query/EpochPaymentsAll", in, out, opts...) - if err != nil { - return nil, err +func (m *QueryGetPairingResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.BlockOfNextPairing != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.BlockOfNextPairing)) + i-- + dAtA[i] = 0x28 } - return out, nil -} - -func (c *queryClient) UserEntry(ctx context.Context, in *QueryUserEntryRequest, opts ...grpc.CallOption) (*QueryUserEntryResponse, error) { - out := new(QueryUserEntryResponse) - err := c.cc.Invoke(ctx, "/lavanet.lava.pairing.Query/UserEntry", in, out, opts...) - if err != nil { - return nil, err + if m.SpecLastUpdatedBlock != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.SpecLastUpdatedBlock)) + i-- + dAtA[i] = 0x20 } - return out, nil -} - -func (c *queryClient) StaticProvidersList(ctx context.Context, in *QueryStaticProvidersListRequest, opts ...grpc.CallOption) (*QueryStaticProvidersListResponse, error) { - out := new(QueryStaticProvidersListResponse) - err := c.cc.Invoke(ctx, "/lavanet.lava.pairing.Query/StaticProvidersList", in, out, opts...) - if err != nil { - return nil, err + if m.TimeLeftToNextPairing != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.TimeLeftToNextPairing)) + i-- + dAtA[i] = 0x18 } - return out, nil + if m.CurrentEpoch != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.CurrentEpoch)) + i-- + dAtA[i] = 0x10 + } + if len(m.Providers) > 0 { + for iNdEx := len(m.Providers) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Providers[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil } -func (c *queryClient) EffectivePolicy(ctx context.Context, in *QueryEffectivePolicyRequest, opts ...grpc.CallOption) (*QueryEffectivePolicyResponse, error) { - out := new(QueryEffectivePolicyResponse) - err := c.cc.Invoke(ctx, "/lavanet.lava.pairing.Query/EffectivePolicy", in, out, opts...) +func (m *QueryVerifyPairingRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) if err != nil { return nil, err } - return out, nil + return dAtA[:n], nil } -func (c *queryClient) ProviderMonthlyPayout(ctx context.Context, in *QueryProviderMonthlyPayoutRequest, opts ...grpc.CallOption) (*QueryProviderMonthlyPayoutResponse, error) { - out := new(QueryProviderMonthlyPayoutResponse) - err := c.cc.Invoke(ctx, "/lavanet.lava.pairing.Query/ProviderMonthlyPayout", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +func (m *QueryVerifyPairingRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (c *queryClient) SubscriptionMonthlyPayout(ctx context.Context, in *QuerySubscriptionMonthlyPayoutRequest, opts ...grpc.CallOption) (*QuerySubscriptionMonthlyPayoutResponse, error) { - out := new(QuerySubscriptionMonthlyPayoutResponse) - err := c.cc.Invoke(ctx, "/lavanet.lava.pairing.Query/SubscriptionMonthlyPayout", in, out, opts...) - if err != nil { - return nil, err +func (m *QueryVerifyPairingRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Block != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.Block)) + i-- + dAtA[i] = 0x20 } - return out, nil + if len(m.Provider) > 0 { + i -= len(m.Provider) + copy(dAtA[i:], m.Provider) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Provider))) + i-- + dAtA[i] = 0x1a + } + if len(m.Client) > 0 { + i -= len(m.Client) + copy(dAtA[i:], m.Client) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Client))) + i-- + dAtA[i] = 0x12 + } + if len(m.ChainID) > 0 { + i -= len(m.ChainID) + copy(dAtA[i:], m.ChainID) + i = encodeVarintQuery(dAtA, i, uint64(len(m.ChainID))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil } -func (c *queryClient) SdkPairing(ctx context.Context, in *QueryGetPairingRequest, opts ...grpc.CallOption) (*QuerySdkPairingResponse, error) { - out := new(QuerySdkPairingResponse) - err := c.cc.Invoke(ctx, "/lavanet.lava.pairing.Query/SdkPairing", in, out, opts...) +func (m *QueryVerifyPairingResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) if err != nil { return nil, err } - return out, nil -} - -// QueryServer is the server API for Query service. -type QueryServer interface { - // Parameters queries the parameters of the module. - Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) - // Queries a list of Providers items. - Providers(context.Context, *QueryProvidersRequest) (*QueryProvidersResponse, error) - // Queries a list of GetPairing items. - GetPairing(context.Context, *QueryGetPairingRequest) (*QueryGetPairingResponse, error) - // Queries a list of VerifyPairing items. - VerifyPairing(context.Context, *QueryVerifyPairingRequest) (*QueryVerifyPairingResponse, error) - // Queries a UniquePaymentStorageClientProvider by index. - UniquePaymentStorageClientProvider(context.Context, *QueryGetUniquePaymentStorageClientProviderRequest) (*QueryGetUniquePaymentStorageClientProviderResponse, error) - // Queries a list of UniquePaymentStorageClientProvider items. - UniquePaymentStorageClientProviderAll(context.Context, *QueryAllUniquePaymentStorageClientProviderRequest) (*QueryAllUniquePaymentStorageClientProviderResponse, error) - // Queries a ProviderPaymentStorage by index. - ProviderPaymentStorage(context.Context, *QueryGetProviderPaymentStorageRequest) (*QueryGetProviderPaymentStorageResponse, error) - // Queries a list of ProviderPaymentStorage items. - ProviderPaymentStorageAll(context.Context, *QueryAllProviderPaymentStorageRequest) (*QueryAllProviderPaymentStorageResponse, error) - // Queries a EpochPayments by index. - EpochPayments(context.Context, *QueryGetEpochPaymentsRequest) (*QueryGetEpochPaymentsResponse, error) - // Queries a list of EpochPayments items. - EpochPaymentsAll(context.Context, *QueryAllEpochPaymentsRequest) (*QueryAllEpochPaymentsResponse, error) - // Queries a UserEntry items. - UserEntry(context.Context, *QueryUserEntryRequest) (*QueryUserEntryResponse, error) - // Queries a list of StaticProvidersList items. - StaticProvidersList(context.Context, *QueryStaticProvidersListRequest) (*QueryStaticProvidersListResponse, error) - // Queries a list of EffectivePolicy items. - EffectivePolicy(context.Context, *QueryEffectivePolicyRequest) (*QueryEffectivePolicyResponse, error) - // Queries the expected monthly payout of a specific provider - ProviderMonthlyPayout(context.Context, *QueryProviderMonthlyPayoutRequest) (*QueryProviderMonthlyPayoutResponse, error) - // Queries the expected monthly payout of a specific subscription - SubscriptionMonthlyPayout(context.Context, *QuerySubscriptionMonthlyPayoutRequest) (*QuerySubscriptionMonthlyPayoutResponse, error) - // this line is used by starport scaffolding # 2 - // Queries a list of SdkPairing items. - SdkPairing(context.Context, *QueryGetPairingRequest) (*QuerySdkPairingResponse, error) -} - -// UnimplementedQueryServer can be embedded to have forward compatible implementations. -type UnimplementedQueryServer struct { -} - -func (*UnimplementedQueryServer) Params(ctx context.Context, req *QueryParamsRequest) (*QueryParamsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Params not implemented") -} -func (*UnimplementedQueryServer) Providers(ctx context.Context, req *QueryProvidersRequest) (*QueryProvidersResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Providers not implemented") -} -func (*UnimplementedQueryServer) GetPairing(ctx context.Context, req *QueryGetPairingRequest) (*QueryGetPairingResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetPairing not implemented") -} -func (*UnimplementedQueryServer) VerifyPairing(ctx context.Context, req *QueryVerifyPairingRequest) (*QueryVerifyPairingResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method VerifyPairing not implemented") -} -func (*UnimplementedQueryServer) UniquePaymentStorageClientProvider(ctx context.Context, req *QueryGetUniquePaymentStorageClientProviderRequest) (*QueryGetUniquePaymentStorageClientProviderResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UniquePaymentStorageClientProvider not implemented") -} -func (*UnimplementedQueryServer) UniquePaymentStorageClientProviderAll(ctx context.Context, req *QueryAllUniquePaymentStorageClientProviderRequest) (*QueryAllUniquePaymentStorageClientProviderResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UniquePaymentStorageClientProviderAll not implemented") -} -func (*UnimplementedQueryServer) ProviderPaymentStorage(ctx context.Context, req *QueryGetProviderPaymentStorageRequest) (*QueryGetProviderPaymentStorageResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ProviderPaymentStorage not implemented") -} -func (*UnimplementedQueryServer) ProviderPaymentStorageAll(ctx context.Context, req *QueryAllProviderPaymentStorageRequest) (*QueryAllProviderPaymentStorageResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ProviderPaymentStorageAll not implemented") -} -func (*UnimplementedQueryServer) EpochPayments(ctx context.Context, req *QueryGetEpochPaymentsRequest) (*QueryGetEpochPaymentsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method EpochPayments not implemented") -} -func (*UnimplementedQueryServer) EpochPaymentsAll(ctx context.Context, req *QueryAllEpochPaymentsRequest) (*QueryAllEpochPaymentsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method EpochPaymentsAll not implemented") -} -func (*UnimplementedQueryServer) UserEntry(ctx context.Context, req *QueryUserEntryRequest) (*QueryUserEntryResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UserEntry not implemented") -} -func (*UnimplementedQueryServer) StaticProvidersList(ctx context.Context, req *QueryStaticProvidersListRequest) (*QueryStaticProvidersListResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method StaticProvidersList not implemented") -} -func (*UnimplementedQueryServer) EffectivePolicy(ctx context.Context, req *QueryEffectivePolicyRequest) (*QueryEffectivePolicyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method EffectivePolicy not implemented") -} -func (*UnimplementedQueryServer) ProviderMonthlyPayout(ctx context.Context, req *QueryProviderMonthlyPayoutRequest) (*QueryProviderMonthlyPayoutResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ProviderMonthlyPayout not implemented") -} -func (*UnimplementedQueryServer) SubscriptionMonthlyPayout(ctx context.Context, req *QuerySubscriptionMonthlyPayoutRequest) (*QuerySubscriptionMonthlyPayoutResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SubscriptionMonthlyPayout not implemented") -} -func (*UnimplementedQueryServer) SdkPairing(ctx context.Context, req *QueryGetPairingRequest) (*QuerySdkPairingResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SdkPairing not implemented") + return dAtA[:n], nil } -func RegisterQueryServer(s grpc1.Server, srv QueryServer) { - s.RegisterService(&_Query_serviceDesc, srv) +func (m *QueryVerifyPairingResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func _Query_Params_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryParamsRequest) - if err := dec(in); err != nil { - return nil, err +func (m *QueryVerifyPairingResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.ProjectId) > 0 { + i -= len(m.ProjectId) + copy(dAtA[i:], m.ProjectId) + i = encodeVarintQuery(dAtA, i, uint64(len(m.ProjectId))) + i-- + dAtA[i] = 0x2a } - if interceptor == nil { - return srv.(QueryServer).Params(ctx, in) + if m.CuPerEpoch != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.CuPerEpoch)) + i-- + dAtA[i] = 0x20 } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lavanet.lava.pairing.Query/Params", + if m.PairedProviders != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.PairedProviders)) + i-- + dAtA[i] = 0x18 } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).Params(ctx, req.(*QueryParamsRequest)) + if m.Valid { + i-- + if m.Valid { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 } - return interceptor(ctx, in, info, handler) + return len(dAtA) - i, nil } -func _Query_Providers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryProvidersRequest) - if err := dec(in); err != nil { +func (m *QueryUserEntryRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(QueryServer).Providers(ctx, in) + return dAtA[:n], nil +} + +func (m *QueryUserEntryRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryUserEntryRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Block != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.Block)) + i-- + dAtA[i] = 0x18 } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lavanet.lava.pairing.Query/Providers", + if len(m.ChainID) > 0 { + i -= len(m.ChainID) + copy(dAtA[i:], m.ChainID) + i = encodeVarintQuery(dAtA, i, uint64(len(m.ChainID))) + i-- + dAtA[i] = 0x12 } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).Providers(ctx, req.(*QueryProvidersRequest)) + if len(m.Address) > 0 { + i -= len(m.Address) + copy(dAtA[i:], m.Address) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Address))) + i-- + dAtA[i] = 0xa } - return interceptor(ctx, in, info, handler) + return len(dAtA) - i, nil } -func _Query_GetPairing_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryGetPairingRequest) - if err := dec(in); err != nil { +func (m *QueryUserEntryResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(QueryServer).GetPairing(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lavanet.lava.pairing.Query/GetPairing", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).GetPairing(ctx, req.(*QueryGetPairingRequest)) - } - return interceptor(ctx, in, info, handler) + return dAtA[:n], nil } -func _Query_VerifyPairing_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryVerifyPairingRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).VerifyPairing(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lavanet.lava.pairing.Query/VerifyPairing", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).VerifyPairing(ctx, req.(*QueryVerifyPairingRequest)) - } - return interceptor(ctx, in, info, handler) +func (m *QueryUserEntryResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func _Query_UniquePaymentStorageClientProvider_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryGetUniquePaymentStorageClientProviderRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).UniquePaymentStorageClientProvider(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lavanet.lava.pairing.Query/UniquePaymentStorageClientProvider", +func (m *QueryUserEntryResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.MaxCU != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.MaxCU)) + i-- + dAtA[i] = 0x10 } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).UniquePaymentStorageClientProvider(ctx, req.(*QueryGetUniquePaymentStorageClientProviderRequest)) + { + size, err := m.Consumer.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) } - return interceptor(ctx, in, info, handler) + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil } -func _Query_UniquePaymentStorageClientProviderAll_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryAllUniquePaymentStorageClientProviderRequest) - if err := dec(in); err != nil { +func (m *QueryStaticProvidersListRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(QueryServer).UniquePaymentStorageClientProviderAll(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lavanet.lava.pairing.Query/UniquePaymentStorageClientProviderAll", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).UniquePaymentStorageClientProviderAll(ctx, req.(*QueryAllUniquePaymentStorageClientProviderRequest)) - } - return interceptor(ctx, in, info, handler) + return dAtA[:n], nil } -func _Query_ProviderPaymentStorage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryGetProviderPaymentStorageRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).ProviderPaymentStorage(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lavanet.lava.pairing.Query/ProviderPaymentStorage", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).ProviderPaymentStorage(ctx, req.(*QueryGetProviderPaymentStorageRequest)) - } - return interceptor(ctx, in, info, handler) +func (m *QueryStaticProvidersListRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func _Query_ProviderPaymentStorageAll_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryAllProviderPaymentStorageRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).ProviderPaymentStorageAll(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lavanet.lava.pairing.Query/ProviderPaymentStorageAll", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).ProviderPaymentStorageAll(ctx, req.(*QueryAllProviderPaymentStorageRequest)) +func (m *QueryStaticProvidersListRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.ChainID) > 0 { + i -= len(m.ChainID) + copy(dAtA[i:], m.ChainID) + i = encodeVarintQuery(dAtA, i, uint64(len(m.ChainID))) + i-- + dAtA[i] = 0xa } - return interceptor(ctx, in, info, handler) + return len(dAtA) - i, nil } -func _Query_EpochPayments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryGetEpochPaymentsRequest) - if err := dec(in); err != nil { +func (m *QueryStaticProvidersListResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(QueryServer).EpochPayments(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lavanet.lava.pairing.Query/EpochPayments", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).EpochPayments(ctx, req.(*QueryGetEpochPaymentsRequest)) - } - return interceptor(ctx, in, info, handler) + return dAtA[:n], nil } -func _Query_EpochPaymentsAll_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryAllEpochPaymentsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).EpochPaymentsAll(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lavanet.lava.pairing.Query/EpochPaymentsAll", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).EpochPaymentsAll(ctx, req.(*QueryAllEpochPaymentsRequest)) - } - return interceptor(ctx, in, info, handler) +func (m *QueryStaticProvidersListResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func _Query_UserEntry_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryUserEntryRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).UserEntry(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lavanet.lava.pairing.Query/UserEntry", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).UserEntry(ctx, req.(*QueryUserEntryRequest)) +func (m *QueryStaticProvidersListResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Providers) > 0 { + for iNdEx := len(m.Providers) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Providers[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } } - return interceptor(ctx, in, info, handler) + return len(dAtA) - i, nil } -func _Query_StaticProvidersList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryStaticProvidersListRequest) - if err := dec(in); err != nil { +func (m *QueryEffectivePolicyRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(QueryServer).StaticProvidersList(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lavanet.lava.pairing.Query/StaticProvidersList", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).StaticProvidersList(ctx, req.(*QueryStaticProvidersListRequest)) - } - return interceptor(ctx, in, info, handler) + return dAtA[:n], nil } -func _Query_EffectivePolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryEffectivePolicyRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).EffectivePolicy(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lavanet.lava.pairing.Query/EffectivePolicy", +func (m *QueryEffectivePolicyRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryEffectivePolicyRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.SpecID) > 0 { + i -= len(m.SpecID) + copy(dAtA[i:], m.SpecID) + i = encodeVarintQuery(dAtA, i, uint64(len(m.SpecID))) + i-- + dAtA[i] = 0x12 } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).EffectivePolicy(ctx, req.(*QueryEffectivePolicyRequest)) + if len(m.Consumer) > 0 { + i -= len(m.Consumer) + copy(dAtA[i:], m.Consumer) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Consumer))) + i-- + dAtA[i] = 0xa } - return interceptor(ctx, in, info, handler) + return len(dAtA) - i, nil } -func _Query_ProviderMonthlyPayout_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryProviderMonthlyPayoutRequest) - if err := dec(in); err != nil { +func (m *QueryEffectivePolicyResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(QueryServer).ProviderMonthlyPayout(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lavanet.lava.pairing.Query/ProviderMonthlyPayout", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).ProviderMonthlyPayout(ctx, req.(*QueryProviderMonthlyPayoutRequest)) - } - return interceptor(ctx, in, info, handler) + return dAtA[:n], nil } -func _Query_SubscriptionMonthlyPayout_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QuerySubscriptionMonthlyPayoutRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).SubscriptionMonthlyPayout(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lavanet.lava.pairing.Query/SubscriptionMonthlyPayout", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).SubscriptionMonthlyPayout(ctx, req.(*QuerySubscriptionMonthlyPayoutRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Query_SdkPairing_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryGetPairingRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).SdkPairing(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lavanet.lava.pairing.Query/SdkPairing", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).SdkPairing(ctx, req.(*QueryGetPairingRequest)) - } - return interceptor(ctx, in, info, handler) +func (m *QueryEffectivePolicyResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -var _Query_serviceDesc = grpc.ServiceDesc{ - ServiceName: "lavanet.lava.pairing.Query", - HandlerType: (*QueryServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "Params", - Handler: _Query_Params_Handler, - }, - { - MethodName: "Providers", - Handler: _Query_Providers_Handler, - }, - { - MethodName: "GetPairing", - Handler: _Query_GetPairing_Handler, - }, - { - MethodName: "VerifyPairing", - Handler: _Query_VerifyPairing_Handler, - }, - { - MethodName: "UniquePaymentStorageClientProvider", - Handler: _Query_UniquePaymentStorageClientProvider_Handler, - }, - { - MethodName: "UniquePaymentStorageClientProviderAll", - Handler: _Query_UniquePaymentStorageClientProviderAll_Handler, - }, - { - MethodName: "ProviderPaymentStorage", - Handler: _Query_ProviderPaymentStorage_Handler, - }, - { - MethodName: "ProviderPaymentStorageAll", - Handler: _Query_ProviderPaymentStorageAll_Handler, - }, - { - MethodName: "EpochPayments", - Handler: _Query_EpochPayments_Handler, - }, - { - MethodName: "EpochPaymentsAll", - Handler: _Query_EpochPaymentsAll_Handler, - }, - { - MethodName: "UserEntry", - Handler: _Query_UserEntry_Handler, - }, - { - MethodName: "StaticProvidersList", - Handler: _Query_StaticProvidersList_Handler, - }, - { - MethodName: "EffectivePolicy", - Handler: _Query_EffectivePolicy_Handler, - }, - { - MethodName: "ProviderMonthlyPayout", - Handler: _Query_ProviderMonthlyPayout_Handler, - }, +func (m *QueryEffectivePolicyResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.PendingPolicy != nil { { - MethodName: "SubscriptionMonthlyPayout", - Handler: _Query_SubscriptionMonthlyPayout_Handler, - }, + size, err := m.PendingPolicy.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + if m.Policy != nil { { - MethodName: "SdkPairing", - Handler: _Query_SdkPairing_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "lavanet/lava/pairing/query.proto", + size, err := m.Policy.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil } -func (m *QueryParamsRequest) Marshal() (dAtA []byte, err error) { +func (m *QuerySdkPairingResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -2614,20 +2329,61 @@ func (m *QueryParamsRequest) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryParamsRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *QuerySdkPairingResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryParamsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QuerySdkPairingResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l + if m.DowntimeParams != nil { + { + size, err := m.DowntimeParams.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + } + if m.Spec != nil { + { + size, err := m.Spec.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + } + if m.MaxCu != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.MaxCu)) + i-- + dAtA[i] = 0x10 + } + if m.Pairing != nil { + { + size, err := m.Pairing.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } return len(dAtA) - i, nil } -func (m *QueryParamsResponse) Marshal() (dAtA []byte, err error) { +func (m *QueryProviderMonthlyPayoutRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -2637,30 +2393,27 @@ func (m *QueryParamsResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryParamsResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryProviderMonthlyPayoutRequest) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryProviderMonthlyPayoutRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - { - size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) + if len(m.Provider) > 0 { + i -= len(m.Provider) + copy(dAtA[i:], m.Provider) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Provider))) + i-- + dAtA[i] = 0xa } - i-- - dAtA[i] = 0xa return len(dAtA) - i, nil } -func (m *QueryProvidersRequest) Marshal() (dAtA []byte, err error) { +func (m *SubscriptionPayout) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -2670,37 +2423,39 @@ func (m *QueryProvidersRequest) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryProvidersRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *SubscriptionPayout) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryProvidersRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *SubscriptionPayout) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.ShowFrozen { + if m.Amount != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.Amount)) i-- - if m.ShowFrozen { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } + dAtA[i] = 0x18 + } + if len(m.ChainId) > 0 { + i -= len(m.ChainId) + copy(dAtA[i:], m.ChainId) + i = encodeVarintQuery(dAtA, i, uint64(len(m.ChainId))) i-- - dAtA[i] = 0x10 + dAtA[i] = 0x12 } - if len(m.ChainID) > 0 { - i -= len(m.ChainID) - copy(dAtA[i:], m.ChainID) - i = encodeVarintQuery(dAtA, i, uint64(len(m.ChainID))) + if len(m.Subscription) > 0 { + i -= len(m.Subscription) + copy(dAtA[i:], m.Subscription) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Subscription))) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *QueryProvidersResponse) Marshal() (dAtA []byte, err error) { +func (m *QueryProviderMonthlyPayoutResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -2710,20 +2465,20 @@ func (m *QueryProvidersResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryProvidersResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryProviderMonthlyPayoutResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryProvidersResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryProviderMonthlyPayoutResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.StakeEntry) > 0 { - for iNdEx := len(m.StakeEntry) - 1; iNdEx >= 0; iNdEx-- { + if len(m.Details) > 0 { + for iNdEx := len(m.Details) - 1; iNdEx >= 0; iNdEx-- { { - size, err := m.StakeEntry[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + size, err := m.Details[iNdEx].MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -2731,13 +2486,18 @@ func (m *QueryProvidersResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) i = encodeVarintQuery(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0xa + dAtA[i] = 0x12 } } + if m.Total != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.Total)) + i-- + dAtA[i] = 0x8 + } return len(dAtA) - i, nil } -func (m *QueryGetPairingRequest) Marshal() (dAtA []byte, err error) { +func (m *ProviderPayout) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -2747,34 +2507,32 @@ func (m *QueryGetPairingRequest) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryGetPairingRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *ProviderPayout) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryGetPairingRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *ProviderPayout) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.Client) > 0 { - i -= len(m.Client) - copy(dAtA[i:], m.Client) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Client))) + if m.Amount != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.Amount)) i-- - dAtA[i] = 0x12 + dAtA[i] = 0x10 } - if len(m.ChainID) > 0 { - i -= len(m.ChainID) - copy(dAtA[i:], m.ChainID) - i = encodeVarintQuery(dAtA, i, uint64(len(m.ChainID))) + if len(m.Provider) > 0 { + i -= len(m.Provider) + copy(dAtA[i:], m.Provider) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Provider))) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *QueryGetPairingResponse) Marshal() (dAtA []byte, err error) { +func (m *ChainIDPayout) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -2784,40 +2542,20 @@ func (m *QueryGetPairingResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryGetPairingResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *ChainIDPayout) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryGetPairingResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *ChainIDPayout) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.BlockOfNextPairing != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.BlockOfNextPairing)) - i-- - dAtA[i] = 0x28 - } - if m.SpecLastUpdatedBlock != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.SpecLastUpdatedBlock)) - i-- - dAtA[i] = 0x20 - } - if m.TimeLeftToNextPairing != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.TimeLeftToNextPairing)) - i-- - dAtA[i] = 0x18 - } - if m.CurrentEpoch != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.CurrentEpoch)) - i-- - dAtA[i] = 0x10 - } - if len(m.Providers) > 0 { - for iNdEx := len(m.Providers) - 1; iNdEx >= 0; iNdEx-- { + if len(m.Payouts) > 0 { + for iNdEx := len(m.Payouts) - 1; iNdEx >= 0; iNdEx-- { { - size, err := m.Providers[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + size, err := m.Payouts[iNdEx].MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -2825,13 +2563,20 @@ func (m *QueryGetPairingResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) i = encodeVarintQuery(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0xa + dAtA[i] = 0x12 } } + if len(m.ChainId) > 0 { + i -= len(m.ChainId) + copy(dAtA[i:], m.ChainId) + i = encodeVarintQuery(dAtA, i, uint64(len(m.ChainId))) + i-- + dAtA[i] = 0xa + } return len(dAtA) - i, nil } -func (m *QueryVerifyPairingRequest) Marshal() (dAtA []byte, err error) { +func (m *QuerySubscriptionMonthlyPayoutRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -2841,46 +2586,27 @@ func (m *QueryVerifyPairingRequest) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryVerifyPairingRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *QuerySubscriptionMonthlyPayoutRequest) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryVerifyPairingRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QuerySubscriptionMonthlyPayoutRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.Block != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.Block)) - i-- - dAtA[i] = 0x20 - } - if len(m.Provider) > 0 { - i -= len(m.Provider) - copy(dAtA[i:], m.Provider) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Provider))) - i-- - dAtA[i] = 0x1a - } - if len(m.Client) > 0 { - i -= len(m.Client) - copy(dAtA[i:], m.Client) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Client))) - i-- - dAtA[i] = 0x12 - } - if len(m.ChainID) > 0 { - i -= len(m.ChainID) - copy(dAtA[i:], m.ChainID) - i = encodeVarintQuery(dAtA, i, uint64(len(m.ChainID))) + if len(m.Consumer) > 0 { + i -= len(m.Consumer) + copy(dAtA[i:], m.Consumer) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Consumer))) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *QueryVerifyPairingResponse) Marshal() (dAtA []byte, err error) { +func (m *QuerySubscriptionMonthlyPayoutResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -2890,2674 +2616,434 @@ func (m *QueryVerifyPairingResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryVerifyPairingResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *QuerySubscriptionMonthlyPayoutResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryVerifyPairingResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QuerySubscriptionMonthlyPayoutResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.ProjectId) > 0 { - i -= len(m.ProjectId) - copy(dAtA[i:], m.ProjectId) - i = encodeVarintQuery(dAtA, i, uint64(len(m.ProjectId))) - i-- - dAtA[i] = 0x2a - } - if m.CuPerEpoch != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.CuPerEpoch)) - i-- - dAtA[i] = 0x20 - } - if m.PairedProviders != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.PairedProviders)) - i-- - dAtA[i] = 0x18 - } - if m.Valid { - i-- - if m.Valid { - dAtA[i] = 1 - } else { - dAtA[i] = 0 + if len(m.Details) > 0 { + for iNdEx := len(m.Details) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Details[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 } + } + if m.Total != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.Total)) i-- dAtA[i] = 0x8 } return len(dAtA) - i, nil } -func (m *QueryGetUniquePaymentStorageClientProviderRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err +func encodeVarintQuery(dAtA []byte, offset int, v uint64) int { + offset -= sovQuery(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ } - return dAtA[:n], nil -} - -func (m *QueryGetUniquePaymentStorageClientProviderRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) + dAtA[offset] = uint8(v) + return base } - -func (m *QueryGetUniquePaymentStorageClientProviderRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i +func (m *QueryParamsRequest) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l - if len(m.Index) > 0 { - i -= len(m.Index) - copy(dAtA[i:], m.Index) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Index))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil + return n } -func (m *QueryGetUniquePaymentStorageClientProviderResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err +func (m *QueryParamsResponse) Size() (n int) { + if m == nil { + return 0 } - return dAtA[:n], nil -} - -func (m *QueryGetUniquePaymentStorageClientProviderResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) + var l int + _ = l + l = m.Params.Size() + n += 1 + l + sovQuery(uint64(l)) + return n } -func (m *QueryGetUniquePaymentStorageClientProviderResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i +func (m *QueryProvidersRequest) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l - { - size, err := m.UniquePaymentStorageClientProvider.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) + l = len(m.ChainID) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) } - i-- - dAtA[i] = 0xa - return len(dAtA) - i, nil -} - -func (m *QueryAllUniquePaymentStorageClientProviderRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err + if m.ShowFrozen { + n += 2 } - return dAtA[:n], nil -} - -func (m *QueryAllUniquePaymentStorageClientProviderRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) + return n } -func (m *QueryAllUniquePaymentStorageClientProviderRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i +func (m *QueryProvidersResponse) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l - if m.Pagination != nil { - { - size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) + if len(m.StakeEntry) > 0 { + for _, e := range m.StakeEntry { + l = e.Size() + n += 1 + l + sovQuery(uint64(l)) } - i-- - dAtA[i] = 0xa } - return len(dAtA) - i, nil + return n } -func (m *QueryAllUniquePaymentStorageClientProviderResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err +func (m *QueryGetPairingRequest) Size() (n int) { + if m == nil { + return 0 } - return dAtA[:n], nil -} - -func (m *QueryAllUniquePaymentStorageClientProviderResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) + var l int + _ = l + l = len(m.ChainID) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + l = len(m.Client) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n } -func (m *QueryAllUniquePaymentStorageClientProviderResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i +func (m *QueryGetPairingResponse) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l - if m.Pagination != nil { - { - size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) + if len(m.Providers) > 0 { + for _, e := range m.Providers { + l = e.Size() + n += 1 + l + sovQuery(uint64(l)) } - i-- - dAtA[i] = 0x12 } - if len(m.UniquePaymentStorageClientProvider) > 0 { - for iNdEx := len(m.UniquePaymentStorageClientProvider) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.UniquePaymentStorageClientProvider[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - } + if m.CurrentEpoch != 0 { + n += 1 + sovQuery(uint64(m.CurrentEpoch)) } - return len(dAtA) - i, nil -} - -func (m *QueryGetProviderPaymentStorageRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err + if m.TimeLeftToNextPairing != 0 { + n += 1 + sovQuery(uint64(m.TimeLeftToNextPairing)) } - return dAtA[:n], nil -} - -func (m *QueryGetProviderPaymentStorageRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) + if m.SpecLastUpdatedBlock != 0 { + n += 1 + sovQuery(uint64(m.SpecLastUpdatedBlock)) + } + if m.BlockOfNextPairing != 0 { + n += 1 + sovQuery(uint64(m.BlockOfNextPairing)) + } + return n } -func (m *QueryGetProviderPaymentStorageRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i +func (m *QueryVerifyPairingRequest) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l - if len(m.Index) > 0 { - i -= len(m.Index) - copy(dAtA[i:], m.Index) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Index))) - i-- - dAtA[i] = 0xa + l = len(m.ChainID) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) } - return len(dAtA) - i, nil -} - -func (m *QueryGetProviderPaymentStorageResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err + l = len(m.Client) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) } - return dAtA[:n], nil + l = len(m.Provider) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + if m.Block != 0 { + n += 1 + sovQuery(uint64(m.Block)) + } + return n } -func (m *QueryGetProviderPaymentStorageResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (m *QueryVerifyPairingResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Valid { + n += 2 + } + if m.PairedProviders != 0 { + n += 1 + sovQuery(uint64(m.PairedProviders)) + } + if m.CuPerEpoch != 0 { + n += 1 + sovQuery(uint64(m.CuPerEpoch)) + } + l = len(m.ProjectId) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n } -func (m *QueryGetProviderPaymentStorageResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i +func (m *QueryUserEntryRequest) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l - { - size, err := m.ProviderPaymentStorage.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) + l = len(m.Address) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) } - i-- - dAtA[i] = 0xa - return len(dAtA) - i, nil + l = len(m.ChainID) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + if m.Block != 0 { + n += 1 + sovQuery(uint64(m.Block)) + } + return n } -func (m *QueryAllProviderPaymentStorageRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err +func (m *QueryUserEntryResponse) Size() (n int) { + if m == nil { + return 0 } - return dAtA[:n], nil + var l int + _ = l + l = m.Consumer.Size() + n += 1 + l + sovQuery(uint64(l)) + if m.MaxCU != 0 { + n += 1 + sovQuery(uint64(m.MaxCU)) + } + return n } -func (m *QueryAllProviderPaymentStorageRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (m *QueryStaticProvidersListRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.ChainID) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n } -func (m *QueryAllProviderPaymentStorageRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i +func (m *QueryStaticProvidersListResponse) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l - if m.Pagination != nil { - { - size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) + if len(m.Providers) > 0 { + for _, e := range m.Providers { + l = e.Size() + n += 1 + l + sovQuery(uint64(l)) } - i-- - dAtA[i] = 0xa } - return len(dAtA) - i, nil + return n } -func (m *QueryAllProviderPaymentStorageResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err +func (m *QueryEffectivePolicyRequest) Size() (n int) { + if m == nil { + return 0 } - return dAtA[:n], nil -} - -func (m *QueryAllProviderPaymentStorageResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryAllProviderPaymentStorageResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i var l int _ = l - if m.Pagination != nil { - { - size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 + l = len(m.Consumer) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) } - if len(m.ProviderPaymentStorage) > 0 { - for iNdEx := len(m.ProviderPaymentStorage) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.ProviderPaymentStorage[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - } + l = len(m.SpecID) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) } - return len(dAtA) - i, nil + return n } -func (m *QueryGetEpochPaymentsRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err +func (m *QueryEffectivePolicyResponse) Size() (n int) { + if m == nil { + return 0 } - return dAtA[:n], nil -} - -func (m *QueryGetEpochPaymentsRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryGetEpochPaymentsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i var l int _ = l - if len(m.Index) > 0 { - i -= len(m.Index) - copy(dAtA[i:], m.Index) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Index))) - i-- - dAtA[i] = 0xa + if m.Policy != nil { + l = m.Policy.Size() + n += 1 + l + sovQuery(uint64(l)) } - return len(dAtA) - i, nil -} - -func (m *QueryGetEpochPaymentsResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err + if m.PendingPolicy != nil { + l = m.PendingPolicy.Size() + n += 1 + l + sovQuery(uint64(l)) } - return dAtA[:n], nil -} - -func (m *QueryGetEpochPaymentsResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) + return n } -func (m *QueryGetEpochPaymentsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i +func (m *QuerySdkPairingResponse) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l - { - size, err := m.EpochPayments.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) + if m.Pairing != nil { + l = m.Pairing.Size() + n += 1 + l + sovQuery(uint64(l)) } - i-- - dAtA[i] = 0xa - return len(dAtA) - i, nil -} - -func (m *QueryAllEpochPaymentsRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err + if m.MaxCu != 0 { + n += 1 + sovQuery(uint64(m.MaxCu)) } - return dAtA[:n], nil -} - -func (m *QueryAllEpochPaymentsRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) + if m.Spec != nil { + l = m.Spec.Size() + n += 1 + l + sovQuery(uint64(l)) + } + if m.DowntimeParams != nil { + l = m.DowntimeParams.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n } -func (m *QueryAllEpochPaymentsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i +func (m *QueryProviderMonthlyPayoutRequest) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l - if m.Pagination != nil { - { - size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa + l = len(m.Provider) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) } - return len(dAtA) - i, nil + return n } -func (m *QueryAllEpochPaymentsResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err +func (m *SubscriptionPayout) Size() (n int) { + if m == nil { + return 0 } - return dAtA[:n], nil -} - -func (m *QueryAllEpochPaymentsResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) + var l int + _ = l + l = len(m.Subscription) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + l = len(m.ChainId) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + if m.Amount != 0 { + n += 1 + sovQuery(uint64(m.Amount)) + } + return n } -func (m *QueryAllEpochPaymentsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i +func (m *QueryProviderMonthlyPayoutResponse) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l - if m.Pagination != nil { - { - size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 + if m.Total != 0 { + n += 1 + sovQuery(uint64(m.Total)) } - if len(m.EpochPayments) > 0 { - for iNdEx := len(m.EpochPayments) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.EpochPayments[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa + if len(m.Details) > 0 { + for _, e := range m.Details { + l = e.Size() + n += 1 + l + sovQuery(uint64(l)) } } - return len(dAtA) - i, nil + return n } -func (m *QueryUserEntryRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err +func (m *ProviderPayout) Size() (n int) { + if m == nil { + return 0 } - return dAtA[:n], nil -} - -func (m *QueryUserEntryRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryUserEntryRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i var l int _ = l - if m.Block != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.Block)) - i-- - dAtA[i] = 0x18 - } - if len(m.ChainID) > 0 { - i -= len(m.ChainID) - copy(dAtA[i:], m.ChainID) - i = encodeVarintQuery(dAtA, i, uint64(len(m.ChainID))) - i-- - dAtA[i] = 0x12 + l = len(m.Provider) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) } - if len(m.Address) > 0 { - i -= len(m.Address) - copy(dAtA[i:], m.Address) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Address))) - i-- - dAtA[i] = 0xa + if m.Amount != 0 { + n += 1 + sovQuery(uint64(m.Amount)) } - return len(dAtA) - i, nil + return n } -func (m *QueryUserEntryResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err +func (m *ChainIDPayout) Size() (n int) { + if m == nil { + return 0 } - return dAtA[:n], nil -} - -func (m *QueryUserEntryResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryUserEntryResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i var l int _ = l - if m.MaxCU != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.MaxCU)) - i-- - dAtA[i] = 0x10 + l = len(m.ChainId) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) } - { - size, err := m.Consumer.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err + if len(m.Payouts) > 0 { + for _, e := range m.Payouts { + l = e.Size() + n += 1 + l + sovQuery(uint64(l)) } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) } - i-- - dAtA[i] = 0xa - return len(dAtA) - i, nil + return n } -func (m *QueryStaticProvidersListRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err +func (m *QuerySubscriptionMonthlyPayoutRequest) Size() (n int) { + if m == nil { + return 0 } - return dAtA[:n], nil -} - -func (m *QueryStaticProvidersListRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryStaticProvidersListRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i var l int _ = l - if len(m.ChainID) > 0 { - i -= len(m.ChainID) - copy(dAtA[i:], m.ChainID) - i = encodeVarintQuery(dAtA, i, uint64(len(m.ChainID))) - i-- - dAtA[i] = 0xa + l = len(m.Consumer) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) } - return len(dAtA) - i, nil + return n } -func (m *QueryStaticProvidersListResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err +func (m *QuerySubscriptionMonthlyPayoutResponse) Size() (n int) { + if m == nil { + return 0 } - return dAtA[:n], nil -} - -func (m *QueryStaticProvidersListResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryStaticProvidersListResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i var l int _ = l - if len(m.Providers) > 0 { - for iNdEx := len(m.Providers) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Providers[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *QueryEffectivePolicyRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *QueryEffectivePolicyRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryEffectivePolicyRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.SpecID) > 0 { - i -= len(m.SpecID) - copy(dAtA[i:], m.SpecID) - i = encodeVarintQuery(dAtA, i, uint64(len(m.SpecID))) - i-- - dAtA[i] = 0x12 - } - if len(m.Consumer) > 0 { - i -= len(m.Consumer) - copy(dAtA[i:], m.Consumer) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Consumer))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *QueryEffectivePolicyResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *QueryEffectivePolicyResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryEffectivePolicyResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.PendingPolicy != nil { - { - size, err := m.PendingPolicy.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - } - if m.Policy != nil { - { - size, err := m.Policy.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *QuerySdkPairingResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *QuerySdkPairingResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QuerySdkPairingResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.DowntimeParams != nil { - { - size, err := m.DowntimeParams.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x22 - } - if m.Spec != nil { - { - size, err := m.Spec.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x1a - } - if m.MaxCu != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.MaxCu)) - i-- - dAtA[i] = 0x10 - } - if m.Pairing != nil { - { - size, err := m.Pairing.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *QueryProviderMonthlyPayoutRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *QueryProviderMonthlyPayoutRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryProviderMonthlyPayoutRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Provider) > 0 { - i -= len(m.Provider) - copy(dAtA[i:], m.Provider) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Provider))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *SubscriptionPayout) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *SubscriptionPayout) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *SubscriptionPayout) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Amount != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.Amount)) - i-- - dAtA[i] = 0x18 - } - if len(m.ChainId) > 0 { - i -= len(m.ChainId) - copy(dAtA[i:], m.ChainId) - i = encodeVarintQuery(dAtA, i, uint64(len(m.ChainId))) - i-- - dAtA[i] = 0x12 - } - if len(m.Subscription) > 0 { - i -= len(m.Subscription) - copy(dAtA[i:], m.Subscription) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Subscription))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *QueryProviderMonthlyPayoutResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *QueryProviderMonthlyPayoutResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryProviderMonthlyPayoutResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Details) > 0 { - for iNdEx := len(m.Details) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Details[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - } - } - if m.Total != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.Total)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *ProviderPayout) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ProviderPayout) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *ProviderPayout) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Amount != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.Amount)) - i-- - dAtA[i] = 0x10 - } - if len(m.Provider) > 0 { - i -= len(m.Provider) - copy(dAtA[i:], m.Provider) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Provider))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ChainIDPayout) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ChainIDPayout) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *ChainIDPayout) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Payouts) > 0 { - for iNdEx := len(m.Payouts) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Payouts[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - } - } - if len(m.ChainId) > 0 { - i -= len(m.ChainId) - copy(dAtA[i:], m.ChainId) - i = encodeVarintQuery(dAtA, i, uint64(len(m.ChainId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *QuerySubscriptionMonthlyPayoutRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *QuerySubscriptionMonthlyPayoutRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QuerySubscriptionMonthlyPayoutRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Consumer) > 0 { - i -= len(m.Consumer) - copy(dAtA[i:], m.Consumer) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Consumer))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *QuerySubscriptionMonthlyPayoutResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *QuerySubscriptionMonthlyPayoutResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QuerySubscriptionMonthlyPayoutResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Details) > 0 { - for iNdEx := len(m.Details) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Details[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - } - } - if m.Total != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.Total)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func encodeVarintQuery(dAtA []byte, offset int, v uint64) int { - offset -= sovQuery(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *QueryParamsRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *QueryParamsResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = m.Params.Size() - n += 1 + l + sovQuery(uint64(l)) - return n -} - -func (m *QueryProvidersRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.ChainID) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - if m.ShowFrozen { - n += 2 - } - return n -} - -func (m *QueryProvidersResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.StakeEntry) > 0 { - for _, e := range m.StakeEntry { - l = e.Size() - n += 1 + l + sovQuery(uint64(l)) - } - } - return n -} - -func (m *QueryGetPairingRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.ChainID) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - l = len(m.Client) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func (m *QueryGetPairingResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.Providers) > 0 { - for _, e := range m.Providers { - l = e.Size() - n += 1 + l + sovQuery(uint64(l)) - } - } - if m.CurrentEpoch != 0 { - n += 1 + sovQuery(uint64(m.CurrentEpoch)) - } - if m.TimeLeftToNextPairing != 0 { - n += 1 + sovQuery(uint64(m.TimeLeftToNextPairing)) - } - if m.SpecLastUpdatedBlock != 0 { - n += 1 + sovQuery(uint64(m.SpecLastUpdatedBlock)) - } - if m.BlockOfNextPairing != 0 { - n += 1 + sovQuery(uint64(m.BlockOfNextPairing)) - } - return n -} - -func (m *QueryVerifyPairingRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.ChainID) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - l = len(m.Client) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - l = len(m.Provider) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - if m.Block != 0 { - n += 1 + sovQuery(uint64(m.Block)) - } - return n -} - -func (m *QueryVerifyPairingResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Valid { - n += 2 - } - if m.PairedProviders != 0 { - n += 1 + sovQuery(uint64(m.PairedProviders)) - } - if m.CuPerEpoch != 0 { - n += 1 + sovQuery(uint64(m.CuPerEpoch)) - } - l = len(m.ProjectId) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func (m *QueryGetUniquePaymentStorageClientProviderRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Index) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func (m *QueryGetUniquePaymentStorageClientProviderResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = m.UniquePaymentStorageClientProvider.Size() - n += 1 + l + sovQuery(uint64(l)) - return n -} - -func (m *QueryAllUniquePaymentStorageClientProviderRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Pagination != nil { - l = m.Pagination.Size() - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func (m *QueryAllUniquePaymentStorageClientProviderResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.UniquePaymentStorageClientProvider) > 0 { - for _, e := range m.UniquePaymentStorageClientProvider { - l = e.Size() - n += 1 + l + sovQuery(uint64(l)) - } - } - if m.Pagination != nil { - l = m.Pagination.Size() - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func (m *QueryGetProviderPaymentStorageRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Index) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func (m *QueryGetProviderPaymentStorageResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = m.ProviderPaymentStorage.Size() - n += 1 + l + sovQuery(uint64(l)) - return n -} - -func (m *QueryAllProviderPaymentStorageRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Pagination != nil { - l = m.Pagination.Size() - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func (m *QueryAllProviderPaymentStorageResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.ProviderPaymentStorage) > 0 { - for _, e := range m.ProviderPaymentStorage { - l = e.Size() - n += 1 + l + sovQuery(uint64(l)) - } - } - if m.Pagination != nil { - l = m.Pagination.Size() - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func (m *QueryGetEpochPaymentsRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Index) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func (m *QueryGetEpochPaymentsResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = m.EpochPayments.Size() - n += 1 + l + sovQuery(uint64(l)) - return n -} - -func (m *QueryAllEpochPaymentsRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Pagination != nil { - l = m.Pagination.Size() - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func (m *QueryAllEpochPaymentsResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.EpochPayments) > 0 { - for _, e := range m.EpochPayments { - l = e.Size() - n += 1 + l + sovQuery(uint64(l)) - } - } - if m.Pagination != nil { - l = m.Pagination.Size() - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func (m *QueryUserEntryRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Address) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - l = len(m.ChainID) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - if m.Block != 0 { - n += 1 + sovQuery(uint64(m.Block)) - } - return n -} - -func (m *QueryUserEntryResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = m.Consumer.Size() - n += 1 + l + sovQuery(uint64(l)) - if m.MaxCU != 0 { - n += 1 + sovQuery(uint64(m.MaxCU)) - } - return n -} - -func (m *QueryStaticProvidersListRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.ChainID) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func (m *QueryStaticProvidersListResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.Providers) > 0 { - for _, e := range m.Providers { - l = e.Size() - n += 1 + l + sovQuery(uint64(l)) - } - } - return n -} - -func (m *QueryEffectivePolicyRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Consumer) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - l = len(m.SpecID) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func (m *QueryEffectivePolicyResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Policy != nil { - l = m.Policy.Size() - n += 1 + l + sovQuery(uint64(l)) - } - if m.PendingPolicy != nil { - l = m.PendingPolicy.Size() - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func (m *QuerySdkPairingResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Pairing != nil { - l = m.Pairing.Size() - n += 1 + l + sovQuery(uint64(l)) - } - if m.MaxCu != 0 { - n += 1 + sovQuery(uint64(m.MaxCu)) - } - if m.Spec != nil { - l = m.Spec.Size() - n += 1 + l + sovQuery(uint64(l)) - } - if m.DowntimeParams != nil { - l = m.DowntimeParams.Size() - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func (m *QueryProviderMonthlyPayoutRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Provider) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func (m *SubscriptionPayout) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Subscription) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - l = len(m.ChainId) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - if m.Amount != 0 { - n += 1 + sovQuery(uint64(m.Amount)) - } - return n -} - -func (m *QueryProviderMonthlyPayoutResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Total != 0 { - n += 1 + sovQuery(uint64(m.Total)) - } - if len(m.Details) > 0 { - for _, e := range m.Details { - l = e.Size() - n += 1 + l + sovQuery(uint64(l)) - } - } - return n -} - -func (m *ProviderPayout) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Provider) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - if m.Amount != 0 { - n += 1 + sovQuery(uint64(m.Amount)) - } - return n -} - -func (m *ChainIDPayout) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.ChainId) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - if len(m.Payouts) > 0 { - for _, e := range m.Payouts { - l = e.Size() - n += 1 + l + sovQuery(uint64(l)) - } - } - return n -} - -func (m *QuerySubscriptionMonthlyPayoutRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Consumer) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func (m *QuerySubscriptionMonthlyPayoutResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Total != 0 { - n += 1 + sovQuery(uint64(m.Total)) - } - if len(m.Details) > 0 { - for _, e := range m.Details { - l = e.Size() - n += 1 + l + sovQuery(uint64(l)) - } - } - return n -} - -func sovQuery(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozQuery(x uint64) (n int) { - return sovQuery(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *QueryParamsRequest) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryParamsRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryParamsRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryParamsResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryParamsResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryProvidersRequest) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryProvidersRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryProvidersRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ChainID", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ChainID = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ShowFrozen", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.ShowFrozen = bool(v != 0) - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryProvidersResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryProvidersResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryProvidersResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field StakeEntry", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.StakeEntry = append(m.StakeEntry, types.StakeEntry{}) - if err := m.StakeEntry[len(m.StakeEntry)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryGetPairingRequest) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryGetPairingRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryGetPairingRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ChainID", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ChainID = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Client", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Client = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryGetPairingResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryGetPairingResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryGetPairingResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Providers", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Providers = append(m.Providers, types.StakeEntry{}) - if err := m.Providers[len(m.Providers)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CurrentEpoch", wireType) - } - m.CurrentEpoch = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.CurrentEpoch |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TimeLeftToNextPairing", wireType) - } - m.TimeLeftToNextPairing = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.TimeLeftToNextPairing |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field SpecLastUpdatedBlock", wireType) - } - m.SpecLastUpdatedBlock = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.SpecLastUpdatedBlock |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field BlockOfNextPairing", wireType) - } - m.BlockOfNextPairing = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.BlockOfNextPairing |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryVerifyPairingRequest) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryVerifyPairingRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryVerifyPairingRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ChainID", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ChainID = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Client", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Client = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Provider", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Provider = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Block", wireType) - } - m.Block = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Block |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryVerifyPairingResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryVerifyPairingResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryVerifyPairingResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Valid", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.Valid = bool(v != 0) - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field PairedProviders", wireType) - } - m.PairedProviders = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.PairedProviders |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CuPerEpoch", wireType) - } - m.CuPerEpoch = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.CuPerEpoch |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ProjectId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ProjectId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF + if m.Total != 0 { + n += 1 + sovQuery(uint64(m.Total)) } - return nil -} -func (m *QueryGetUniquePaymentStorageClientProviderRequest) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryGetUniquePaymentStorageClientProviderRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryGetUniquePaymentStorageClientProviderRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Index", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Index = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy + if len(m.Details) > 0 { + for _, e := range m.Details { + l = e.Size() + n += 1 + l + sovQuery(uint64(l)) } } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil + return n } -func (m *QueryGetUniquePaymentStorageClientProviderResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryGetUniquePaymentStorageClientProviderResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryGetUniquePaymentStorageClientProviderResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UniquePaymentStorageClientProvider", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.UniquePaymentStorageClientProvider.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil +func sovQuery(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 } -func (m *QueryAllUniquePaymentStorageClientProviderRequest) Unmarshal(dAtA []byte) error { +func sozQuery(x uint64) (n int) { + return sovQuery(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *QueryParamsRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -5580,48 +3066,12 @@ func (m *QueryAllUniquePaymentStorageClientProviderRequest) Unmarshal(dAtA []byt fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryAllUniquePaymentStorageClientProviderRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryParamsRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryAllUniquePaymentStorageClientProviderRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryParamsRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Pagination == nil { - m.Pagination = &query.PageRequest{} - } - if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -5643,7 +3093,7 @@ func (m *QueryAllUniquePaymentStorageClientProviderRequest) Unmarshal(dAtA []byt } return nil } -func (m *QueryAllUniquePaymentStorageClientProviderResponse) Unmarshal(dAtA []byte) error { +func (m *QueryParamsResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -5666,49 +3116,15 @@ func (m *QueryAllUniquePaymentStorageClientProviderResponse) Unmarshal(dAtA []by fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryAllUniquePaymentStorageClientProviderResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryParamsResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryAllUniquePaymentStorageClientProviderResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UniquePaymentStorageClientProvider", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.UniquePaymentStorageClientProvider = append(m.UniquePaymentStorageClientProvider, UniquePaymentStorageClientProvider{}) - if err := m.UniquePaymentStorageClientProvider[len(m.UniquePaymentStorageClientProvider)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -5735,10 +3151,7 @@ func (m *QueryAllUniquePaymentStorageClientProviderResponse) Unmarshal(dAtA []by if postIndex > l { return io.ErrUnexpectedEOF } - if m.Pagination == nil { - m.Pagination = &query.PageResponse{} - } - if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -5763,7 +3176,7 @@ func (m *QueryAllUniquePaymentStorageClientProviderResponse) Unmarshal(dAtA []by } return nil } -func (m *QueryGetProviderPaymentStorageRequest) Unmarshal(dAtA []byte) error { +func (m *QueryProvidersRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -5786,15 +3199,15 @@ func (m *QueryGetProviderPaymentStorageRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryGetProviderPaymentStorageRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryProvidersRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryGetProviderPaymentStorageRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryProvidersRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Index", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ChainID", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -5822,63 +3235,13 @@ func (m *QueryGetProviderPaymentStorageRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Index = string(dAtA[iNdEx:postIndex]) + m.ChainID = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryGetProviderPaymentStorageResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryGetProviderPaymentStorageResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryGetProviderPaymentStorageResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ProviderPaymentStorage", wireType) + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ShowFrozen", wireType) } - var msglen int + var v int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -5888,25 +3251,12 @@ func (m *QueryGetProviderPaymentStorageResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.ProviderPaymentStorage.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex + m.ShowFrozen = bool(v != 0) default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -5928,7 +3278,7 @@ func (m *QueryGetProviderPaymentStorageResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryAllProviderPaymentStorageRequest) Unmarshal(dAtA []byte) error { +func (m *QueryProvidersResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -5951,15 +3301,15 @@ func (m *QueryAllProviderPaymentStorageRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryAllProviderPaymentStorageRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryProvidersResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryAllProviderPaymentStorageRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryProvidersResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field StakeEntry", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -5986,10 +3336,8 @@ func (m *QueryAllProviderPaymentStorageRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Pagination == nil { - m.Pagination = &query.PageRequest{} - } - if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.StakeEntry = append(m.StakeEntry, types.StakeEntry{}) + if err := m.StakeEntry[len(m.StakeEntry)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -6014,7 +3362,7 @@ func (m *QueryAllProviderPaymentStorageRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryAllProviderPaymentStorageResponse) Unmarshal(dAtA []byte) error { +func (m *QueryGetPairingRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -6037,51 +3385,17 @@ func (m *QueryAllProviderPaymentStorageResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryAllProviderPaymentStorageResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryGetPairingRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryAllProviderPaymentStorageResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryGetPairingRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ProviderPaymentStorage", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ProviderPaymentStorage = append(m.ProviderPaymentStorage, ProviderPaymentStorage{}) - if err := m.ProviderPaymentStorage[len(m.ProviderPaymentStorage)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ChainID", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -6091,81 +3405,27 @@ func (m *QueryAllProviderPaymentStorageResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthQuery } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthQuery } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Pagination == nil { - m.Pagination = &query.PageResponse{} - } - if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryGetEpochPaymentsRequest) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryGetEpochPaymentsRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryGetEpochPaymentsRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ChainID = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Index", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Client", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -6193,7 +3453,7 @@ func (m *QueryGetEpochPaymentsRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Index = string(dAtA[iNdEx:postIndex]) + m.Client = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -6216,7 +3476,7 @@ func (m *QueryGetEpochPaymentsRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryGetEpochPaymentsResponse) Unmarshal(dAtA []byte) error { +func (m *QueryGetPairingResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -6239,15 +3499,15 @@ func (m *QueryGetEpochPaymentsResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryGetEpochPaymentsResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryGetPairingResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryGetEpochPaymentsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryGetPairingResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EpochPayments", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Providers", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -6274,10 +3534,87 @@ func (m *QueryGetEpochPaymentsResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.EpochPayments.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.Providers = append(m.Providers, types.StakeEntry{}) + if err := m.Providers[len(m.Providers)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field CurrentEpoch", wireType) + } + m.CurrentEpoch = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.CurrentEpoch |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TimeLeftToNextPairing", wireType) + } + m.TimeLeftToNextPairing = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TimeLeftToNextPairing |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SpecLastUpdatedBlock", wireType) + } + m.SpecLastUpdatedBlock = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.SpecLastUpdatedBlock |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field BlockOfNextPairing", wireType) + } + m.BlockOfNextPairing = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.BlockOfNextPairing |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -6299,7 +3636,7 @@ func (m *QueryGetEpochPaymentsResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryAllEpochPaymentsRequest) Unmarshal(dAtA []byte) error { +func (m *QueryVerifyPairingRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -6322,17 +3659,17 @@ func (m *QueryAllEpochPaymentsRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryAllEpochPaymentsRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryVerifyPairingRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryAllEpochPaymentsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryVerifyPairingRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ChainID", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -6342,28 +3679,107 @@ func (m *QueryAllEpochPaymentsRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthQuery } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthQuery } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Pagination == nil { - m.Pagination = &query.PageRequest{} + m.ChainID = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Client", wireType) } - if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Client = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Provider", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF } + m.Provider = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Block", wireType) + } + m.Block = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Block |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -6385,7 +3801,7 @@ func (m *QueryAllEpochPaymentsRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryAllEpochPaymentsResponse) Unmarshal(dAtA []byte) error { +func (m *QueryVerifyPairingResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -6408,17 +3824,17 @@ func (m *QueryAllEpochPaymentsResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryAllEpochPaymentsResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryVerifyPairingResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryAllEpochPaymentsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryVerifyPairingResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EpochPayments", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Valid", wireType) } - var msglen int + var v int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -6428,31 +3844,55 @@ func (m *QueryAllEpochPaymentsResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return ErrInvalidLengthQuery + m.Valid = bool(v != 0) + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PairedProviders", wireType) } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthQuery + m.PairedProviders = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.PairedProviders |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } } - if postIndex > l { - return io.ErrUnexpectedEOF + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field CuPerEpoch", wireType) } - m.EpochPayments = append(m.EpochPayments, EpochPayments{}) - if err := m.EpochPayments[len(m.EpochPayments)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err + m.CuPerEpoch = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.CuPerEpoch |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } } - iNdEx = postIndex - case 2: + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ProjectId", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -6462,27 +3902,23 @@ func (m *QueryAllEpochPaymentsResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthQuery } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthQuery } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Pagination == nil { - m.Pagination = &query.PageResponse{} - } - if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.ProjectId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex diff --git a/x/pairing/types/query.pb.gw.go b/x/pairing/types/query.pb.gw.go index 303045306c..9f451b32e9 100644 --- a/x/pairing/types/query.pb.gw.go +++ b/x/pairing/types/query.pb.gw.go @@ -319,276 +319,6 @@ func local_request_Query_VerifyPairing_0(ctx context.Context, marshaler runtime. } -func request_Query_UniquePaymentStorageClientProvider_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryGetUniquePaymentStorageClientProviderRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["index"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "index") - } - - protoReq.Index, err = runtime.String(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "index", err) - } - - msg, err := client.UniquePaymentStorageClientProvider(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Query_UniquePaymentStorageClientProvider_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryGetUniquePaymentStorageClientProviderRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["index"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "index") - } - - protoReq.Index, err = runtime.String(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "index", err) - } - - msg, err := server.UniquePaymentStorageClientProvider(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_Query_UniquePaymentStorageClientProviderAll_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} -) - -func request_Query_UniquePaymentStorageClientProviderAll_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryAllUniquePaymentStorageClientProviderRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_UniquePaymentStorageClientProviderAll_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.UniquePaymentStorageClientProviderAll(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Query_UniquePaymentStorageClientProviderAll_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryAllUniquePaymentStorageClientProviderRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_UniquePaymentStorageClientProviderAll_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.UniquePaymentStorageClientProviderAll(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Query_ProviderPaymentStorage_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryGetProviderPaymentStorageRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["index"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "index") - } - - protoReq.Index, err = runtime.String(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "index", err) - } - - msg, err := client.ProviderPaymentStorage(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Query_ProviderPaymentStorage_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryGetProviderPaymentStorageRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["index"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "index") - } - - protoReq.Index, err = runtime.String(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "index", err) - } - - msg, err := server.ProviderPaymentStorage(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_Query_ProviderPaymentStorageAll_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} -) - -func request_Query_ProviderPaymentStorageAll_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryAllProviderPaymentStorageRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_ProviderPaymentStorageAll_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.ProviderPaymentStorageAll(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Query_ProviderPaymentStorageAll_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryAllProviderPaymentStorageRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_ProviderPaymentStorageAll_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.ProviderPaymentStorageAll(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Query_EpochPayments_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryGetEpochPaymentsRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["index"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "index") - } - - protoReq.Index, err = runtime.String(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "index", err) - } - - msg, err := client.EpochPayments(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Query_EpochPayments_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryGetEpochPaymentsRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["index"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "index") - } - - protoReq.Index, err = runtime.String(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "index", err) - } - - msg, err := server.EpochPayments(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_Query_EpochPaymentsAll_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} -) - -func request_Query_EpochPaymentsAll_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryAllEpochPaymentsRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_EpochPaymentsAll_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.EpochPaymentsAll(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Query_EpochPaymentsAll_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryAllEpochPaymentsRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_EpochPaymentsAll_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.EpochPaymentsAll(ctx, &protoReq) - return msg, metadata, err - -} - var ( filter_Query_UserEntry_0 = &utilities.DoubleArray{Encoding: map[string]int{"address": 0, "chainID": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} ) @@ -1055,144 +785,6 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv }) - mux.Handle("GET", pattern_Query_UniquePaymentStorageClientProvider_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Query_UniquePaymentStorageClientProvider_0(rctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Query_UniquePaymentStorageClientProvider_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_UniquePaymentStorageClientProviderAll_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Query_UniquePaymentStorageClientProviderAll_0(rctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Query_UniquePaymentStorageClientProviderAll_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_ProviderPaymentStorage_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Query_ProviderPaymentStorage_0(rctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Query_ProviderPaymentStorage_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_ProviderPaymentStorageAll_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Query_ProviderPaymentStorageAll_0(rctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Query_ProviderPaymentStorageAll_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_EpochPayments_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Query_EpochPayments_0(rctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Query_EpochPayments_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_EpochPaymentsAll_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Query_EpochPaymentsAll_0(rctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Query_EpochPaymentsAll_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - mux.Handle("GET", pattern_Query_UserEntry_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -1452,126 +1044,6 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie }) - mux.Handle("GET", pattern_Query_UniquePaymentStorageClientProvider_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Query_UniquePaymentStorageClientProvider_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Query_UniquePaymentStorageClientProvider_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_UniquePaymentStorageClientProviderAll_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Query_UniquePaymentStorageClientProviderAll_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Query_UniquePaymentStorageClientProviderAll_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_ProviderPaymentStorage_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Query_ProviderPaymentStorage_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Query_ProviderPaymentStorage_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_ProviderPaymentStorageAll_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Query_ProviderPaymentStorageAll_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Query_ProviderPaymentStorageAll_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_EpochPayments_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Query_EpochPayments_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Query_EpochPayments_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_EpochPaymentsAll_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Query_EpochPaymentsAll_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Query_EpochPaymentsAll_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - mux.Handle("GET", pattern_Query_UserEntry_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -1704,18 +1176,6 @@ var ( pattern_Query_VerifyPairing_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 1, 0, 4, 1, 5, 7}, []string{"lavanet", "lava", "pairing", "verify_pairing", "chainID", "client", "provider", "block"}, "", runtime.AssumeColonVerbOpt(false))) - pattern_Query_UniquePaymentStorageClientProvider_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"lavanet", "lava", "pairing", "unique_payment_storage_client_provider", "index"}, "", runtime.AssumeColonVerbOpt(false))) - - pattern_Query_UniquePaymentStorageClientProviderAll_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"lavanet", "lava", "pairing", "unique_payment_storage_client_provider"}, "", runtime.AssumeColonVerbOpt(false))) - - pattern_Query_ProviderPaymentStorage_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"lavanet", "lava", "pairing", "provider_payment_storage", "index"}, "", runtime.AssumeColonVerbOpt(false))) - - pattern_Query_ProviderPaymentStorageAll_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"lavanet", "lava", "pairing", "provider_payment_storage"}, "", runtime.AssumeColonVerbOpt(false))) - - pattern_Query_EpochPayments_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"lavanet", "lava", "pairing", "epoch_payments", "index"}, "", runtime.AssumeColonVerbOpt(false))) - - pattern_Query_EpochPaymentsAll_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"lavanet", "lava", "pairing", "epoch_payments"}, "", runtime.AssumeColonVerbOpt(false))) - pattern_Query_UserEntry_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5}, []string{"lavanet", "lava", "pairing", "user_entry", "address", "chainID"}, "", runtime.AssumeColonVerbOpt(false))) pattern_Query_StaticProvidersList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"lavanet", "lava", "pairing", "static_providers_list", "chainID"}, "", runtime.AssumeColonVerbOpt(false))) @@ -1738,18 +1198,6 @@ var ( forward_Query_VerifyPairing_0 = runtime.ForwardResponseMessage - forward_Query_UniquePaymentStorageClientProvider_0 = runtime.ForwardResponseMessage - - forward_Query_UniquePaymentStorageClientProviderAll_0 = runtime.ForwardResponseMessage - - forward_Query_ProviderPaymentStorage_0 = runtime.ForwardResponseMessage - - forward_Query_ProviderPaymentStorageAll_0 = runtime.ForwardResponseMessage - - forward_Query_EpochPayments_0 = runtime.ForwardResponseMessage - - forward_Query_EpochPaymentsAll_0 = runtime.ForwardResponseMessage - forward_Query_UserEntry_0 = runtime.ForwardResponseMessage forward_Query_StaticProvidersList_0 = runtime.ForwardResponseMessage diff --git a/x/pairing/types/unique_payment_storage_client_provider.pb.go b/x/pairing/types/unique_payment_storage_client_provider.pb.go deleted file mode 100644 index 93a35419f7..0000000000 --- a/x/pairing/types/unique_payment_storage_client_provider.pb.go +++ /dev/null @@ -1,390 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: lavanet/lava/pairing/unique_payment_storage_client_provider.proto - -package types - -import ( - fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" - io "io" - math "math" - math_bits "math/bits" -) - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package - -type UniquePaymentStorageClientProvider struct { - Index string `protobuf:"bytes,1,opt,name=index,proto3" json:"index,omitempty"` - Block uint64 `protobuf:"varint,2,opt,name=block,proto3" json:"block,omitempty"` - UsedCU uint64 `protobuf:"varint,3,opt,name=usedCU,proto3" json:"usedCU,omitempty"` -} - -func (m *UniquePaymentStorageClientProvider) Reset() { *m = UniquePaymentStorageClientProvider{} } -func (m *UniquePaymentStorageClientProvider) String() string { return proto.CompactTextString(m) } -func (*UniquePaymentStorageClientProvider) ProtoMessage() {} -func (*UniquePaymentStorageClientProvider) Descriptor() ([]byte, []int) { - return fileDescriptor_de8e31c04724b0b7, []int{0} -} -func (m *UniquePaymentStorageClientProvider) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *UniquePaymentStorageClientProvider) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_UniquePaymentStorageClientProvider.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *UniquePaymentStorageClientProvider) XXX_Merge(src proto.Message) { - xxx_messageInfo_UniquePaymentStorageClientProvider.Merge(m, src) -} -func (m *UniquePaymentStorageClientProvider) XXX_Size() int { - return m.Size() -} -func (m *UniquePaymentStorageClientProvider) XXX_DiscardUnknown() { - xxx_messageInfo_UniquePaymentStorageClientProvider.DiscardUnknown(m) -} - -var xxx_messageInfo_UniquePaymentStorageClientProvider proto.InternalMessageInfo - -func (m *UniquePaymentStorageClientProvider) GetIndex() string { - if m != nil { - return m.Index - } - return "" -} - -func (m *UniquePaymentStorageClientProvider) GetBlock() uint64 { - if m != nil { - return m.Block - } - return 0 -} - -func (m *UniquePaymentStorageClientProvider) GetUsedCU() uint64 { - if m != nil { - return m.UsedCU - } - return 0 -} - -func init() { - proto.RegisterType((*UniquePaymentStorageClientProvider)(nil), "lavanet.lava.pairing.UniquePaymentStorageClientProvider") -} - -func init() { - proto.RegisterFile("lavanet/lava/pairing/unique_payment_storage_client_provider.proto", fileDescriptor_de8e31c04724b0b7) -} - -var fileDescriptor_de8e31c04724b0b7 = []byte{ - // 221 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x72, 0xcc, 0x49, 0x2c, 0x4b, - 0xcc, 0x4b, 0x2d, 0xd1, 0x07, 0xd1, 0xfa, 0x05, 0x89, 0x99, 0x45, 0x99, 0x79, 0xe9, 0xfa, 0xa5, - 0x79, 0x99, 0x85, 0xa5, 0xa9, 0xf1, 0x05, 0x89, 0x95, 0xb9, 0xa9, 0x79, 0x25, 0xf1, 0xc5, 0x25, - 0xf9, 0x45, 0x89, 0xe9, 0xa9, 0xf1, 0xc9, 0x39, 0x99, 0x20, 0x6e, 0x41, 0x51, 0x7e, 0x59, 0x66, - 0x4a, 0x6a, 0x91, 0x5e, 0x41, 0x51, 0x7e, 0x49, 0xbe, 0x90, 0x08, 0xd4, 0x08, 0x3d, 0x10, 0xad, - 0x07, 0x35, 0x42, 0x29, 0x83, 0x4b, 0x29, 0x14, 0x6c, 0x4a, 0x00, 0xc4, 0x90, 0x60, 0x88, 0x19, - 0xce, 0x60, 0x23, 0x02, 0xa0, 0x26, 0x08, 0x89, 0x70, 0xb1, 0x66, 0xe6, 0xa5, 0xa4, 0x56, 0x48, - 0x30, 0x2a, 0x30, 0x6a, 0x70, 0x06, 0x41, 0x38, 0x20, 0xd1, 0xa4, 0x9c, 0xfc, 0xe4, 0x6c, 0x09, - 0x26, 0x05, 0x46, 0x0d, 0x96, 0x20, 0x08, 0x47, 0x48, 0x8c, 0x8b, 0xad, 0xb4, 0x38, 0x35, 0xc5, - 0x39, 0x54, 0x82, 0x19, 0x2c, 0x0c, 0xe5, 0x39, 0x39, 0x9e, 0x78, 0x24, 0xc7, 0x78, 0xe1, 0x91, - 0x1c, 0xe3, 0x83, 0x47, 0x72, 0x8c, 0x13, 0x1e, 0xcb, 0x31, 0x5c, 0x78, 0x2c, 0xc7, 0x70, 0xe3, - 0xb1, 0x1c, 0x43, 0x94, 0x7a, 0x7a, 0x66, 0x49, 0x46, 0x69, 0x92, 0x5e, 0x72, 0x7e, 0xae, 0x3e, - 0x8a, 0x3f, 0x2b, 0xe0, 0x3e, 0x2d, 0xa9, 0x2c, 0x48, 0x2d, 0x4e, 0x62, 0x03, 0xfb, 0xc4, 0x18, - 0x10, 0x00, 0x00, 0xff, 0xff, 0xb6, 0x9a, 0x51, 0x54, 0x0e, 0x01, 0x00, 0x00, -} - -func (m *UniquePaymentStorageClientProvider) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *UniquePaymentStorageClientProvider) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *UniquePaymentStorageClientProvider) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.UsedCU != 0 { - i = encodeVarintUniquePaymentStorageClientProvider(dAtA, i, uint64(m.UsedCU)) - i-- - dAtA[i] = 0x18 - } - if m.Block != 0 { - i = encodeVarintUniquePaymentStorageClientProvider(dAtA, i, uint64(m.Block)) - i-- - dAtA[i] = 0x10 - } - if len(m.Index) > 0 { - i -= len(m.Index) - copy(dAtA[i:], m.Index) - i = encodeVarintUniquePaymentStorageClientProvider(dAtA, i, uint64(len(m.Index))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func encodeVarintUniquePaymentStorageClientProvider(dAtA []byte, offset int, v uint64) int { - offset -= sovUniquePaymentStorageClientProvider(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *UniquePaymentStorageClientProvider) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Index) - if l > 0 { - n += 1 + l + sovUniquePaymentStorageClientProvider(uint64(l)) - } - if m.Block != 0 { - n += 1 + sovUniquePaymentStorageClientProvider(uint64(m.Block)) - } - if m.UsedCU != 0 { - n += 1 + sovUniquePaymentStorageClientProvider(uint64(m.UsedCU)) - } - return n -} - -func sovUniquePaymentStorageClientProvider(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozUniquePaymentStorageClientProvider(x uint64) (n int) { - return sovUniquePaymentStorageClientProvider(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *UniquePaymentStorageClientProvider) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowUniquePaymentStorageClientProvider - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: UniquePaymentStorageClientProvider: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UniquePaymentStorageClientProvider: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Index", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowUniquePaymentStorageClientProvider - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthUniquePaymentStorageClientProvider - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthUniquePaymentStorageClientProvider - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Index = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Block", wireType) - } - m.Block = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowUniquePaymentStorageClientProvider - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Block |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field UsedCU", wireType) - } - m.UsedCU = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowUniquePaymentStorageClientProvider - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.UsedCU |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := skipUniquePaymentStorageClientProvider(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthUniquePaymentStorageClientProvider - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipUniquePaymentStorageClientProvider(dAtA []byte) (n int, err error) { - l := len(dAtA) - iNdEx := 0 - depth := 0 - for iNdEx < l { - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowUniquePaymentStorageClientProvider - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= (uint64(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - wireType := int(wire & 0x7) - switch wireType { - case 0: - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowUniquePaymentStorageClientProvider - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - iNdEx++ - if dAtA[iNdEx-1] < 0x80 { - break - } - } - case 1: - iNdEx += 8 - case 2: - var length int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowUniquePaymentStorageClientProvider - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - length |= (int(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - if length < 0 { - return 0, ErrInvalidLengthUniquePaymentStorageClientProvider - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupUniquePaymentStorageClientProvider - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthUniquePaymentStorageClientProvider - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthUniquePaymentStorageClientProvider = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowUniquePaymentStorageClientProvider = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupUniquePaymentStorageClientProvider = fmt.Errorf("proto: unexpected end of group") -) diff --git a/x/subscription/keeper/subscription_test.go b/x/subscription/keeper/subscription_test.go index 111d77ef0a..336dd60c45 100644 --- a/x/subscription/keeper/subscription_test.go +++ b/x/subscription/keeper/subscription_test.go @@ -670,6 +670,7 @@ func TestAddDelProjectForSubscription(t *testing.T) { } func TestDelProjectEndSubscription(t *testing.T) { + keepertest.SetFixedTime() ts := newTester(t) ts.SetupAccounts(1, 0, 0) // 1 sub, 0 adm, 0 dev @@ -1173,6 +1174,7 @@ func TestSubAutoRenewalDifferentPlanIndexOnAutoRenewTx(t *testing.T) { // scenario - buy 3 subs: 2 at the same time, and one a little after. The query should return the two subs // then, expire those and expect to get the last one from the query func TestNextToMonthExpiryQuery(t *testing.T) { + keepertest.SetFixedTime() ts := newTester(t) ts.SetupAccounts(3, 0, 0) // 1 sub, 0 adm, 0 dev months := 1 @@ -2317,6 +2319,7 @@ func TestBuySubscriptionImmediatelyAfterExpiration(t *testing.T) { // since policy changes are applied after an epoch, the policy changes "after" the sub is expired // the expected result should be no unexpected errors and the project change should not exist func TestChangeProjectJustBeforeSubExpiry(t *testing.T) { + keepertest.SetFixedTime() ts := newTester(t) ts.SetupAccounts(1, 0, 0) // 1 sub, 0 adm, 0 dev _, consumerAddr := ts.Account("sub1") From 5a8b1f16d151cf9464efad7b3200eda2bd0e8949 Mon Sep 17 00:00:00 2001 From: oren-lava Date: Tue, 26 Mar 2024 15:54:18 +0200 Subject: [PATCH 08/35] CNS-930: add fixed time work around for time dependent unit tests --- testutil/keeper/keepers_init.go | 6 +++++- testutil/keeper/mock_keepers.go | 13 ++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/testutil/keeper/keepers_init.go b/testutil/keeper/keepers_init.go index 4d6019381f..8bc7615683 100644 --- a/testutil/keeper/keepers_init.go +++ b/testutil/keeper/keepers_init.go @@ -324,7 +324,11 @@ func InitAllKeepers(t testing.TB) (*Servers, *Keepers, context.Context) { sdk.NewCoins(sdk.NewCoin(stakingparams.BondDenom, sdk.NewIntFromUint64(allocationPoolBalance)))) require.NoError(t, err) - ctx = ctx.WithBlockTime(time.Now()) + if !fixedTime { + ctx = ctx.WithBlockTime(time.Now()) + } else { + ctx = ctx.WithBlockTime(fixedDate) + } ks.Dualstaking.InitDelegations(ctx, *fixationtypes.DefaultGenesis()) ks.Dualstaking.InitDelegators(ctx, *fixationtypes.DefaultGenesis()) diff --git a/testutil/keeper/mock_keepers.go b/testutil/keeper/mock_keepers.go index d8512793d1..535c25c180 100644 --- a/testutil/keeper/mock_keepers.go +++ b/testutil/keeper/mock_keepers.go @@ -161,10 +161,19 @@ type MockBlockStore struct { blockHistory map[int64]*tenderminttypes.Block } +var ( + fixedTime bool + fixedDate = time.Date(2024, time.March, 1, 1, 1, 1, 1, time.UTC) +) + func (b *MockBlockStore) SetHeight(height int64) { b.height = height } +func SetFixedTime() { + fixedTime = true +} + func (b *MockBlockStore) AdvanceBlock(blockTime time.Duration) { // keep block height in mock blockstore blockInt64 := b.height + 1 @@ -175,8 +184,10 @@ func (b *MockBlockStore) AdvanceBlock(blockTime time.Duration) { blockHeader.Height = blockInt64 if prevBlock, ok := b.blockHistory[b.height-1]; ok { blockHeader.Time = prevBlock.Time.Add(blockTime) - } else { + } else if !fixedTime { blockHeader.Time = time.Now().Add(blockTime) + } else { + blockHeader.Time = fixedDate.Add(blockTime) } // update the blockstore's block history with current block From 46c69de97fe92b783e868dd46b384c2c36129b8b Mon Sep 17 00:00:00 2001 From: oren-lava Date: Tue, 26 Mar 2024 17:32:49 +0200 Subject: [PATCH 09/35] CNS-930: added provider epoch CU query and updated E2E --- proto/lavanet/lava/pairing/query.proto | 27 +- scripts/cli_test.sh | 4 +- testutil/common/tester.go | 6 + testutil/e2e/protocolE2E.go | 28 +- x/pairing/client/cli/query.go | 2 + .../client/cli/query_provider_epoch_cu.go | 37 + .../keeper/grpc_query_provider_epoch_cu.go | 44 ++ x/pairing/types/query.pb.go | 744 +++++++++++++++--- x/pairing/types/query.pb.gw.go | 65 ++ 9 files changed, 828 insertions(+), 129 deletions(-) create mode 100644 x/pairing/client/cli/query_provider_epoch_cu.go create mode 100644 x/pairing/keeper/grpc_query_provider_epoch_cu.go diff --git a/proto/lavanet/lava/pairing/query.proto b/proto/lavanet/lava/pairing/query.proto index 7abe8f591c..74ca0f5886 100644 --- a/proto/lavanet/lava/pairing/query.proto +++ b/proto/lavanet/lava/pairing/query.proto @@ -64,11 +64,18 @@ service Query { option (google.api.http).get = "/lavanet/lava/pairing/subscription_monthly_payout/{consumer}"; } -// this line is used by starport scaffolding # 2 - // Queries a list of SdkPairing items. -rpc SdkPairing (QueryGetPairingRequest) returns (QuerySdkPairingResponse) { - option (google.api.http).get = "/lavanet/lava/pairing/sdk_pairing"; +// Queries a list of SdkPairing items. + rpc SdkPairing (QueryGetPairingRequest) returns (QuerySdkPairingResponse) { + option (google.api.http).get = "/lavanet/lava/pairing/sdk_pairing"; + } + +// Queries a for the aggregated CU of all ProviderEpochCu object of a specific provider. +rpc ProviderEpochCu(QueryProviderEpochCuRequest) returns (QueryProviderEpochCuResponse) { + option (google.api.http).get = "/lavanet/lava/pairing/provider_epoch_cu"; } + + // this line is used by starport scaffolding # 2 + } // QueryParamsRequest is request type for the Query/Params RPC method. @@ -190,3 +197,15 @@ message QuerySubscriptionMonthlyPayoutResponse { uint64 total = 1; repeated ChainIDPayout details = 2; } + +message QueryProviderEpochCuRequest { +} + +message QueryProviderEpochCuResponse { + repeated ProviderCuInfo info = 1 [(gogoproto.nullable) = false]; +} + +message ProviderCuInfo { + string provider = 1; + uint64 cu = 2; +} \ No newline at end of file diff --git a/scripts/cli_test.sh b/scripts/cli_test.sh index 8ae9117c3d..a246d7e071 100755 --- a/scripts/cli_test.sh +++ b/scripts/cli_test.sh @@ -143,9 +143,7 @@ trace lavad q pairing params >/dev/null trace lavad q pairing account-info $(lavad keys show alice -a) >/dev/null trace lavad q pairing effective-policy ETH1 $(lavad keys show alice -a) >/dev/null trace lavad q pairing get-pairing STRK $(lavad keys show alice -a) >/dev/null -trace lavad q pairing list-epoch-payments >/dev/null -trace lavad q pairing list-provider-payment-storage >/dev/null -trace lavad q pairing list-unique-payment-storage-client-provider >/dev/null +trace lavad q pairing provider-epoch-cu $(lavad keys show servicer1) >/dev/null trace lavad q pairing providers STRK >/dev/null trace lavad q pairing sdk-pairing STRK $(lavad keys show alice -a) >/dev/null trace lavad q pairing provider-monthly-payout $(lavad keys show servicer1 -a) >/dev/null diff --git a/testutil/common/tester.go b/testutil/common/tester.go index ce89c627f9..9151581a4d 100644 --- a/testutil/common/tester.go +++ b/testutil/common/tester.go @@ -825,6 +825,12 @@ func (ts *Tester) QueryPairingProviderMonthlyPayout(provider string) (*pairingty return ts.Keepers.Pairing.ProviderMonthlyPayout(ts.GoCtx, msg) } +// QueryPairingProviderEpochCu implements 'q pairing provider-epoch-cu' +func (ts *Tester) QueryPairingProviderEpochCu(provider string, project string, chainID string) (*pairingtypes.QueryProviderEpochCuResponse, error) { + msg := &pairingtypes.QueryProviderEpochCuRequest{} + return ts.Keepers.Pairing.ProviderEpochCu(ts.GoCtx, msg) +} + // QueryPairingSubscriptionMonthlyPayout implements 'q pairing subscription-monthly-payout' func (ts *Tester) QueryPairingSubscriptionMonthlyPayout(consumer string) (*pairingtypes.QuerySubscriptionMonthlyPayoutResponse, error) { msg := &pairingtypes.QuerySubscriptionMonthlyPayoutRequest{ diff --git a/testutil/e2e/protocolE2E.go b/testutil/e2e/protocolE2E.go index 35aa271549..8c6fafd3ee 100644 --- a/testutil/e2e/protocolE2E.go +++ b/testutil/e2e/protocolE2E.go @@ -23,7 +23,6 @@ import ( "time" tmclient "github.com/cometbft/cometbft/rpc/client/http" - bankTypes "github.com/cosmos/cosmos-sdk/x/bank/types" "github.com/ethereum/go-ethereum" "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/core/types" @@ -72,8 +71,6 @@ type lavaTest struct { tokenDenom string } -var providerBalances = make(map[string]*bankTypes.QueryBalanceResponse) - func init() { _, filename, _, _ := runtime.Caller(0) // Move to parent directory since running "go test ./testutil/e2e/ -v" would move working directory @@ -882,7 +879,6 @@ func (lt *lavaTest) checkQoS() error { if err != nil { panic("Provider CU calculation error!") } - providerIdx := 0 for provider := range providerCU { // Get sequence number of provider @@ -895,7 +891,7 @@ func (lt *lavaTest) checkQoS() error { cmdAcc.Args = strings.Split(fetchAccCommand, " ") cmdAcc.Stdout = lt.logs[logNameAcc] cmdAcc.Stderr = lt.logs[logNameAcc] - err = cmdAcc.Start() + err := cmdAcc.Start() if err != nil { errors = append(errors, fmt.Sprintf("%s", err)) } @@ -906,7 +902,7 @@ func (lt *lavaTest) checkQoS() error { } var obj map[string]interface{} - err := json.Unmarshal((lt.logs[logNameAcc].Bytes()), &obj) + err = json.Unmarshal((lt.logs[logNameAcc].Bytes()), &obj) if err != nil { panic(err) } @@ -1165,31 +1161,17 @@ func (lt *lavaTest) getKeyAddress(key string) string { func calculateProviderCU(pairingClient pairingTypes.QueryClient) (map[string]uint64, error) { providerCU := make(map[string]uint64) - paymentStorageClientRes, err := pairingClient.UniquePaymentStorageClientProviderAll(context.Background(), &pairingTypes.QueryAllUniquePaymentStorageClientProviderRequest{}) + res, err := pairingClient.ProviderEpochCu(context.Background(), &pairingTypes.QueryProviderEpochCuRequest{}) if err != nil { return nil, err } - uniquePaymentStorageClientProviderList := paymentStorageClientRes.GetUniquePaymentStorageClientProvider() - for _, uniquePaymentStorageClientProvider := range uniquePaymentStorageClientProviderList { - _, providerAddr := decodeProviderAddressFromUniquePaymentStorageClientProvider(uniquePaymentStorageClientProvider.Index) - - cu := uniquePaymentStorageClientProvider.UsedCU - providerCU[providerAddr] += cu + for _, info := range res.Info { + providerCU[info.Provider] = info.Cu } return providerCU, nil } -func decodeProviderAddressFromUniquePaymentStorageClientProvider(inputStr string) (clientAddr string, providerAddr string) { - firstIndex := strings.Index(inputStr, "lava@") - secondIndex := firstIndex + strings.Index(inputStr[firstIndex+len("lava@"):], "lava@") + len("lava@") - - clientAddr = inputStr[firstIndex:secondIndex] - providerAddr = inputStr[secondIndex : secondIndex+44] - - return clientAddr, providerAddr -} - func runProtocolE2E(timeout time.Duration) { os.RemoveAll(protocolLogsFolder) gopath := os.Getenv("GOPATH") diff --git a/x/pairing/client/cli/query.go b/x/pairing/client/cli/query.go index 960ccbd014..5a201ec588 100644 --- a/x/pairing/client/cli/query.go +++ b/x/pairing/client/cli/query.go @@ -38,6 +38,8 @@ func GetQueryCmd(queryRoute string) *cobra.Command { cmd.AddCommand(CmdProviderMonthlyPayout()) cmd.AddCommand(CmdSubscriptionMonthlyPayout()) + cmd.AddCommand(CmdProviderEpochCu()) + cmd.AddCommand(CmdDebugQuery()) // this line is used by starport scaffolding # 1 diff --git a/x/pairing/client/cli/query_provider_epoch_cu.go b/x/pairing/client/cli/query_provider_epoch_cu.go new file mode 100644 index 0000000000..d40867dc31 --- /dev/null +++ b/x/pairing/client/cli/query_provider_epoch_cu.go @@ -0,0 +1,37 @@ +package cli + +import ( + "github.com/cosmos/cosmos-sdk/client" + "github.com/cosmos/cosmos-sdk/client/flags" + "github.com/lavanet/lava/x/pairing/types" + "github.com/spf13/cobra" +) + +func CmdProviderEpochCu() *cobra.Command { + cmd := &cobra.Command{ + Use: "provider-epoch-cu", + Short: "Query to show the amount of CU serviced by all provider in a specific epoch", + Example: ` + lavad q pairing provider-epoch-cu`, + Args: cobra.ExactArgs(1), + RunE: func(cmd *cobra.Command, args []string) (err error) { + clientCtx, err := client.GetClientQueryContext(cmd) + if err != nil { + return err + } + queryClient := types.NewQueryClient(clientCtx) + + params := &types.QueryProviderEpochCuRequest{} + + res, err := queryClient.ProviderEpochCu(cmd.Context(), params) + if err != nil { + return err + } + + return clientCtx.PrintProto(res) + }, + } + flags.AddQueryFlagsToCmd(cmd) + + return cmd +} diff --git a/x/pairing/keeper/grpc_query_provider_epoch_cu.go b/x/pairing/keeper/grpc_query_provider_epoch_cu.go new file mode 100644 index 0000000000..135d75f2a1 --- /dev/null +++ b/x/pairing/keeper/grpc_query_provider_epoch_cu.go @@ -0,0 +1,44 @@ +package keeper + +import ( + "context" + "sort" + + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/lavanet/lava/x/pairing/types" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +) + +func (k Keeper) ProviderEpochCu(goCtx context.Context, req *types.QueryProviderEpochCuRequest) (*types.QueryProviderEpochCuResponse, error) { + if req == nil { + return nil, status.Error(codes.InvalidArgument, "invalid request") + } + + ctx := sdk.UnwrapSDKContext(goCtx) + infoMap := map[string]uint64{} + + _, keys, pecs := k.GetAllProviderEpochCuStore(ctx) + for i := range pecs { + provider, _, err := types.DecodeProviderEpochCuKey(keys[i]) + if err != nil { + continue + } + if _, ok := infoMap[provider]; !ok { + infoMap[provider] = pecs[i].ServicedCu + } else { + infoMap[provider] += pecs[i].ServicedCu + } + } + + info := []types.ProviderCuInfo{} + for provider, cu := range infoMap { + info = append(info, types.ProviderCuInfo{Provider: provider, Cu: cu}) + } + + sort.Slice(info, func(i, j int) bool { + return info[i].Provider < info[j].Provider + }) + + return &types.QueryProviderEpochCuResponse{Info: info}, nil +} diff --git a/x/pairing/types/query.pb.go b/x/pairing/types/query.pb.go index f479fdd6bf..955c9586a5 100644 --- a/x/pairing/types/query.pb.go +++ b/x/pairing/types/query.pb.go @@ -1209,6 +1209,138 @@ func (m *QuerySubscriptionMonthlyPayoutResponse) GetDetails() []*ChainIDPayout { return nil } +type QueryProviderEpochCuRequest struct { +} + +func (m *QueryProviderEpochCuRequest) Reset() { *m = QueryProviderEpochCuRequest{} } +func (m *QueryProviderEpochCuRequest) String() string { return proto.CompactTextString(m) } +func (*QueryProviderEpochCuRequest) ProtoMessage() {} +func (*QueryProviderEpochCuRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_9e149ce9d21da0d8, []int{22} +} +func (m *QueryProviderEpochCuRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryProviderEpochCuRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryProviderEpochCuRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryProviderEpochCuRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryProviderEpochCuRequest.Merge(m, src) +} +func (m *QueryProviderEpochCuRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryProviderEpochCuRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryProviderEpochCuRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryProviderEpochCuRequest proto.InternalMessageInfo + +type QueryProviderEpochCuResponse struct { + Info []ProviderCuInfo `protobuf:"bytes,1,rep,name=info,proto3" json:"info"` +} + +func (m *QueryProviderEpochCuResponse) Reset() { *m = QueryProviderEpochCuResponse{} } +func (m *QueryProviderEpochCuResponse) String() string { return proto.CompactTextString(m) } +func (*QueryProviderEpochCuResponse) ProtoMessage() {} +func (*QueryProviderEpochCuResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_9e149ce9d21da0d8, []int{23} +} +func (m *QueryProviderEpochCuResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryProviderEpochCuResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryProviderEpochCuResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryProviderEpochCuResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryProviderEpochCuResponse.Merge(m, src) +} +func (m *QueryProviderEpochCuResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryProviderEpochCuResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryProviderEpochCuResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryProviderEpochCuResponse proto.InternalMessageInfo + +func (m *QueryProviderEpochCuResponse) GetInfo() []ProviderCuInfo { + if m != nil { + return m.Info + } + return nil +} + +type ProviderCuInfo struct { + Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"` + Cu uint64 `protobuf:"varint,2,opt,name=cu,proto3" json:"cu,omitempty"` +} + +func (m *ProviderCuInfo) Reset() { *m = ProviderCuInfo{} } +func (m *ProviderCuInfo) String() string { return proto.CompactTextString(m) } +func (*ProviderCuInfo) ProtoMessage() {} +func (*ProviderCuInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_9e149ce9d21da0d8, []int{24} +} +func (m *ProviderCuInfo) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ProviderCuInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ProviderCuInfo.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ProviderCuInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProviderCuInfo.Merge(m, src) +} +func (m *ProviderCuInfo) XXX_Size() int { + return m.Size() +} +func (m *ProviderCuInfo) XXX_DiscardUnknown() { + xxx_messageInfo_ProviderCuInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_ProviderCuInfo proto.InternalMessageInfo + +func (m *ProviderCuInfo) GetProvider() string { + if m != nil { + return m.Provider + } + return "" +} + +func (m *ProviderCuInfo) GetCu() uint64 { + if m != nil { + return m.Cu + } + return 0 +} + func init() { proto.RegisterType((*QueryParamsRequest)(nil), "lavanet.lava.pairing.QueryParamsRequest") proto.RegisterType((*QueryParamsResponse)(nil), "lavanet.lava.pairing.QueryParamsResponse") @@ -1232,108 +1364,116 @@ func init() { proto.RegisterType((*ChainIDPayout)(nil), "lavanet.lava.pairing.ChainIDPayout") proto.RegisterType((*QuerySubscriptionMonthlyPayoutRequest)(nil), "lavanet.lava.pairing.QuerySubscriptionMonthlyPayoutRequest") proto.RegisterType((*QuerySubscriptionMonthlyPayoutResponse)(nil), "lavanet.lava.pairing.QuerySubscriptionMonthlyPayoutResponse") + proto.RegisterType((*QueryProviderEpochCuRequest)(nil), "lavanet.lava.pairing.QueryProviderEpochCuRequest") + proto.RegisterType((*QueryProviderEpochCuResponse)(nil), "lavanet.lava.pairing.QueryProviderEpochCuResponse") + proto.RegisterType((*ProviderCuInfo)(nil), "lavanet.lava.pairing.ProviderCuInfo") } func init() { proto.RegisterFile("lavanet/lava/pairing/query.proto", fileDescriptor_9e149ce9d21da0d8) } var fileDescriptor_9e149ce9d21da0d8 = []byte{ - // 1526 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0xcf, 0x6f, 0xdc, 0xc4, - 0x17, 0x8f, 0x37, 0x3f, 0x9a, 0x7d, 0x6d, 0xd2, 0x6a, 0x9a, 0xb4, 0x89, 0xbf, 0xf9, 0x6e, 0xb7, - 0x4e, 0xfb, 0x6d, 0xf2, 0x4d, 0x59, 0xb3, 0x81, 0xfe, 0x50, 0x9b, 0x16, 0x9a, 0xb6, 0x54, 0x29, - 0x01, 0x12, 0x87, 0x72, 0xe0, 0x62, 0x39, 0xf6, 0xec, 0xc6, 0xcd, 0xae, 0xc7, 0xb5, 0xc7, 0xdb, - 0x84, 0xd5, 0x82, 0x04, 0x67, 0x24, 0x24, 0xe0, 0xc0, 0xbd, 0x12, 0x27, 0xfe, 0x03, 0x6e, 0x48, - 0xa8, 0x07, 0x0e, 0x95, 0xb8, 0x70, 0x40, 0x08, 0xb5, 0xfc, 0x03, 0xfc, 0x07, 0xc8, 0x33, 0x63, - 0xaf, 0xbd, 0xf1, 0x3a, 0x49, 0xe9, 0xa5, 0xd9, 0x19, 0xbf, 0xcf, 0xbc, 0xcf, 0xfb, 0xcc, 0x9b, - 0xf7, 0x9e, 0x0a, 0xe5, 0x86, 0xd1, 0x32, 0x1c, 0x4c, 0xd5, 0xf0, 0xaf, 0xea, 0x1a, 0xb6, 0x67, - 0x3b, 0x75, 0xf5, 0x51, 0x80, 0xbd, 0xdd, 0x8a, 0xeb, 0x11, 0x4a, 0xd0, 0x84, 0xb0, 0xa8, 0x84, - 0x7f, 0x2b, 0xc2, 0x42, 0x9e, 0xa8, 0x93, 0x3a, 0x61, 0x06, 0x6a, 0xf8, 0x8b, 0xdb, 0xca, 0x33, - 0x75, 0x42, 0xea, 0x0d, 0xac, 0x1a, 0xae, 0xad, 0x1a, 0x8e, 0x43, 0xa8, 0x41, 0x6d, 0xe2, 0xf8, - 0xe2, 0xeb, 0xff, 0x4d, 0xe2, 0x37, 0x89, 0xaf, 0x6e, 0x1a, 0x3e, 0xe6, 0x2e, 0xd4, 0x56, 0x75, - 0x13, 0x53, 0xa3, 0xaa, 0xba, 0x46, 0xdd, 0x76, 0x98, 0xb1, 0xb0, 0x3d, 0x9b, 0xc9, 0xcb, 0x35, - 0x3c, 0xa3, 0x19, 0x1d, 0x37, 0x93, 0x32, 0xf1, 0x5d, 0x6c, 0xb2, 0x7f, 0xc4, 0xd7, 0x33, 0xe9, - 0x03, 0x1a, 0x86, 0xe3, 0xab, 0x2e, 0x69, 0xd8, 0xa6, 0x88, 0x4b, 0x5e, 0x48, 0x19, 0x60, 0x97, - 0x98, 0x5b, 0x3e, 0x25, 0x9e, 0x51, 0xc7, 0xaa, 0x4f, 0x8d, 0x6d, 0xac, 0x63, 0x87, 0x46, 0x22, - 0xc8, 0x17, 0xd3, 0xbe, 0x82, 0x4d, 0xdf, 0xf4, 0x6c, 0x37, 0xe4, 0x9b, 0x5a, 0x08, 0xeb, 0xd9, - 0xb4, 0x6f, 0x8f, 0x3c, 0xc4, 0x26, 0xf5, 0xa3, 0x1f, 0xc2, 0xe8, 0x42, 0xca, 0xc8, 0x22, 0x8f, - 0x1d, 0x6a, 0x37, 0xb1, 0xda, 0xaa, 0xc6, 0xbf, 0xb9, 0xa1, 0x32, 0x01, 0x68, 0x3d, 0x14, 0x6b, - 0x8d, 0x05, 0xaf, 0xe1, 0x47, 0x01, 0xf6, 0xa9, 0xb2, 0x0e, 0x27, 0x53, 0xbb, 0xbe, 0x4b, 0x1c, - 0x1f, 0xa3, 0x6b, 0x30, 0xc2, 0x45, 0x9a, 0x92, 0xca, 0xd2, 0xdc, 0xd1, 0xc5, 0x99, 0x4a, 0xd6, - 0xf5, 0x55, 0x38, 0x6a, 0x79, 0xe8, 0xe9, 0x1f, 0x67, 0x06, 0x34, 0x81, 0x50, 0xd6, 0x61, 0x92, - 0x1f, 0xe9, 0x91, 0x96, 0x6d, 0x61, 0x2f, 0xf2, 0x85, 0xa6, 0xe0, 0x88, 0xb9, 0x65, 0xd8, 0xce, - 0xca, 0x1d, 0x76, 0x6a, 0x51, 0x8b, 0x96, 0xa8, 0x04, 0xe0, 0x6f, 0x91, 0xc7, 0xef, 0x78, 0xe4, - 0x13, 0xec, 0x4c, 0x15, 0xca, 0xd2, 0xdc, 0xa8, 0x96, 0xd8, 0x51, 0xb6, 0xe1, 0x54, 0xef, 0x91, - 0x82, 0xe8, 0xbb, 0x00, 0x4c, 0xe6, 0xbb, 0xa1, 0xca, 0x53, 0x52, 0x79, 0x70, 0xee, 0xe8, 0xe2, - 0xf9, 0x34, 0xd9, 0xe4, 0x9d, 0x54, 0x36, 0x62, 0x63, 0xc1, 0x3a, 0x01, 0xbf, 0x3f, 0x34, 0x5a, - 0x38, 0x31, 0xa8, 0xdc, 0x17, 0xce, 0xee, 0x61, 0xba, 0xc6, 0xe3, 0xdc, 0x3f, 0x80, 0x53, 0x30, - 0x62, 0x36, 0x6c, 0xec, 0x50, 0x46, 0xbe, 0xa8, 0x89, 0x95, 0xf2, 0x43, 0x01, 0x4e, 0xef, 0x39, - 0x4c, 0x50, 0x5f, 0x81, 0xa2, 0x1b, 0xc5, 0xf3, 0x32, 0xcc, 0xbb, 0x68, 0x34, 0x0b, 0x63, 0x66, - 0xe0, 0x79, 0xd8, 0xa1, 0x3a, 0xc3, 0x30, 0x16, 0x43, 0xda, 0x31, 0xb1, 0x79, 0x37, 0xdc, 0x43, - 0x57, 0x61, 0x3a, 0x4c, 0x07, 0xbd, 0x81, 0x6b, 0x54, 0xa7, 0x44, 0x77, 0xf0, 0x0e, 0xd5, 0xc5, - 0x4d, 0x4e, 0x0d, 0x32, 0xc0, 0x64, 0x68, 0xb0, 0x8a, 0x6b, 0xf4, 0x43, 0xf2, 0x3e, 0xde, 0x89, - 0x18, 0xa3, 0x4b, 0x70, 0x3a, 0x7c, 0x12, 0x7a, 0xc3, 0xf0, 0xa9, 0x1e, 0xb8, 0x96, 0x41, 0xb1, - 0xa5, 0x6f, 0x36, 0x88, 0xb9, 0x3d, 0x35, 0xc4, 0x70, 0x13, 0xe1, 0xe7, 0x55, 0xc3, 0xa7, 0x0f, - 0xf8, 0xc7, 0xe5, 0xf0, 0x1b, 0xaa, 0xc2, 0x24, 0x33, 0xd2, 0x49, 0x2d, 0xed, 0x6c, 0x98, 0x81, - 0x10, 0xfb, 0xf8, 0x41, 0x2d, 0xe1, 0x49, 0xf9, 0x0c, 0xa6, 0x99, 0x5c, 0x1f, 0x61, 0xcf, 0xae, - 0xed, 0xfe, 0x5b, 0xf9, 0x91, 0x0c, 0xa3, 0x91, 0x48, 0x2c, 0xc2, 0xa2, 0x16, 0xaf, 0xd1, 0x04, - 0x0c, 0x27, 0x43, 0xe0, 0x0b, 0xe5, 0x89, 0x04, 0x72, 0x16, 0x03, 0x71, 0x67, 0x13, 0x30, 0xdc, - 0x32, 0x1a, 0xb6, 0xc5, 0x08, 0x8c, 0x6a, 0x7c, 0x81, 0xe6, 0xe1, 0x44, 0x18, 0x1a, 0xb6, 0xf4, - 0xee, 0x85, 0x72, 0x41, 0x8f, 0xf3, 0xfd, 0x38, 0x6f, 0x51, 0x19, 0x8e, 0x99, 0x81, 0xee, 0x62, - 0x4f, 0x5c, 0x14, 0x77, 0x0e, 0x66, 0xb0, 0x86, 0x3d, 0x7e, 0x4d, 0xff, 0x05, 0x10, 0x2f, 0x5c, - 0xb7, 0x2d, 0x26, 0x55, 0x91, 0x5d, 0x75, 0xb8, 0xb3, 0x62, 0x89, 0x1c, 0x35, 0xc4, 0x1b, 0x7b, - 0xe0, 0x63, 0x8f, 0xe5, 0x44, 0x42, 0x23, 0xc3, 0xb2, 0x3c, 0xec, 0xfb, 0x91, 0x46, 0x62, 0x99, - 0x54, 0xaf, 0x90, 0x56, 0x2f, 0x56, 0x62, 0x30, 0xa9, 0xc4, 0x63, 0xf1, 0x0c, 0x12, 0x2e, 0x84, - 0x08, 0xf7, 0x60, 0xd4, 0x24, 0x8e, 0x1f, 0x34, 0xb1, 0x27, 0xca, 0xc3, 0xa1, 0xf2, 0x36, 0x06, - 0x87, 0x8e, 0x9b, 0xc6, 0xce, 0xed, 0x07, 0x22, 0x5d, 0xf9, 0x42, 0xb9, 0x0e, 0x67, 0x98, 0xe3, - 0x8d, 0xb0, 0xec, 0x9b, 0xb1, 0x74, 0xab, 0xb6, 0x4f, 0xf7, 0xcd, 0x04, 0xa5, 0x09, 0xe5, 0xfe, - 0xe0, 0x57, 0xfe, 0xf0, 0x94, 0x75, 0xf8, 0x0f, 0x73, 0x77, 0xb7, 0x56, 0xc3, 0x26, 0xb5, 0x5b, - 0x78, 0x8d, 0xf5, 0x86, 0x88, 0xa7, 0xdc, 0xa3, 0x54, 0x31, 0x11, 0xfc, 0x29, 0x18, 0x09, 0x5f, - 0x4d, 0x7c, 0x1d, 0x62, 0xa5, 0x7c, 0x2b, 0xc1, 0x4c, 0xf6, 0x99, 0x82, 0xfe, 0x22, 0x8c, 0xf0, - 0x0e, 0x24, 0xc4, 0x97, 0x7b, 0x6a, 0x73, 0xd8, 0xa3, 0x2a, 0x02, 0x23, 0x2c, 0xd1, 0x2d, 0x18, - 0x77, 0xb1, 0x63, 0xd9, 0x4e, 0x5d, 0x17, 0xd8, 0xc2, 0xbe, 0xd8, 0x31, 0x81, 0xe0, 0x4b, 0xe5, - 0x6f, 0x49, 0x94, 0xb2, 0x0d, 0x6b, 0xbb, 0xf7, 0x59, 0xdc, 0x83, 0x23, 0xd1, 0xdb, 0xe6, 0x9c, - 0x5e, 0xcb, 0xee, 0x17, 0x7d, 0x4a, 0xa1, 0x16, 0xa1, 0xd1, 0x24, 0x8c, 0x34, 0x8d, 0x1d, 0xdd, - 0x0c, 0x92, 0x29, 0x11, 0xa0, 0x05, 0x18, 0x0a, 0xd5, 0x61, 0x09, 0x7a, 0x74, 0xf1, 0x74, 0xfa, - 0x70, 0xd6, 0xad, 0x37, 0x5c, 0x6c, 0x6a, 0xcc, 0x08, 0xad, 0xc0, 0xf1, 0xa8, 0xf5, 0xe9, 0xa2, - 0x89, 0x0d, 0x31, 0x5c, 0x39, 0x8d, 0x8b, 0xfb, 0x63, 0xab, 0x2a, 0x1a, 0x99, 0x36, 0x1e, 0xed, - 0xf1, 0xb5, 0xf2, 0x16, 0x9c, 0x4d, 0xf5, 0x9d, 0xf7, 0x88, 0x43, 0xb7, 0x1a, 0xbb, 0x6b, 0xc6, - 0x2e, 0x09, 0x68, 0xe2, 0x92, 0xe3, 0x22, 0x23, 0xa5, 0x8b, 0x8c, 0xb2, 0x0d, 0x68, 0x23, 0xd1, - 0xd8, 0x39, 0x10, 0x29, 0x70, 0x2c, 0xd9, 0xee, 0x05, 0x2a, 0xb5, 0x87, 0xa6, 0x61, 0x94, 0xe5, - 0x74, 0x58, 0x04, 0x52, 0xef, 0xd5, 0x0a, 0x33, 0xc7, 0x68, 0x92, 0xc0, 0xa1, 0xe2, 0xc1, 0x8a, - 0x95, 0xf2, 0x29, 0x28, 0x79, 0x6c, 0xbb, 0x25, 0x8c, 0x12, 0x6a, 0x34, 0x98, 0xd7, 0x21, 0x8d, - 0x2f, 0xd0, 0x32, 0x1c, 0xb1, 0x30, 0x35, 0xec, 0x86, 0x3f, 0x55, 0x60, 0x2f, 0x62, 0x2e, 0xfb, - 0x06, 0xf7, 0x46, 0xa3, 0x45, 0x40, 0xe5, 0x0e, 0x8c, 0x47, 0xae, 0x45, 0xa0, 0x39, 0xd2, 0x24, - 0xa2, 0x28, 0xa4, 0xa2, 0x78, 0x08, 0x63, 0xb7, 0xf9, 0x63, 0x16, 0x87, 0x24, 0x95, 0x90, 0xd2, - 0x4a, 0xdc, 0x0c, 0xf3, 0x2e, 0x34, 0x8a, 0x58, 0x9f, 0xeb, 0x33, 0xa7, 0xa4, 0x68, 0x69, 0x11, - 0x48, 0xb9, 0x0d, 0xe7, 0x79, 0x4a, 0x27, 0xa2, 0xea, 0x77, 0xc7, 0xfd, 0x1e, 0xb2, 0xd2, 0x81, - 0xff, 0xed, 0x77, 0x48, 0xae, 0xf4, 0x37, 0x7a, 0xa5, 0x9f, 0xcd, 0x0e, 0x22, 0xa5, 0x4a, 0xac, - 0xfa, 0xe2, 0x97, 0xe3, 0x30, 0xcc, 0xfc, 0xa3, 0x2f, 0x24, 0x18, 0xe1, 0x89, 0x8b, 0xe6, 0x72, - 0xde, 0x5f, 0x6a, 0x00, 0x94, 0xe7, 0x0f, 0x60, 0xc9, 0xe9, 0x2b, 0xe7, 0x3e, 0xff, 0xf5, 0xaf, - 0xaf, 0x0b, 0x25, 0x34, 0xa3, 0xe6, 0x4c, 0xd5, 0xe8, 0x3b, 0x09, 0x8a, 0xdd, 0x7e, 0xb7, 0x90, - 0x77, 0x7c, 0xcf, 0x80, 0x28, 0x5f, 0x3c, 0x98, 0xb1, 0xa0, 0x53, 0x65, 0x74, 0x16, 0xd0, 0x7c, - 0x1f, 0x3a, 0x11, 0x40, 0x6d, 0x8b, 0xe6, 0xd0, 0x41, 0xdf, 0x4b, 0x00, 0xdd, 0xf2, 0x83, 0x2e, - 0x1e, 0xb0, 0x4a, 0x71, 0x76, 0x87, 0xab, 0x69, 0xca, 0x12, 0xa3, 0x77, 0x19, 0xbd, 0x99, 0x4d, - 0xaf, 0x8e, 0xe3, 0x79, 0xa8, 0x4b, 0x50, 0x6d, 0xf3, 0xc1, 0xa5, 0x83, 0x7e, 0x96, 0x60, 0x2c, - 0x35, 0x82, 0x20, 0x35, 0xc7, 0x7d, 0xd6, 0xb8, 0x24, 0xbf, 0x7e, 0x70, 0x80, 0xa0, 0xac, 0x31, - 0xca, 0xab, 0xe8, 0x7e, 0x36, 0xe5, 0x16, 0x03, 0xe5, 0xb0, 0x56, 0xdb, 0x91, 0xe8, 0x1d, 0xb5, - 0xcd, 0xa6, 0x88, 0x0e, 0x7a, 0x22, 0x41, 0x31, 0x1e, 0x21, 0x72, 0xd3, 0xa1, 0x77, 0x96, 0xc9, - 0x4d, 0x87, 0x3d, 0x53, 0xc9, 0x7e, 0x7a, 0x07, 0x7e, 0x38, 0x73, 0x85, 0x08, 0xb5, 0x2d, 0x46, - 0xa2, 0x4e, 0x22, 0x33, 0x7e, 0x92, 0xe0, 0x64, 0xc6, 0xcc, 0x80, 0x2e, 0xe5, 0x70, 0xe8, 0x3f, - 0xa0, 0xc8, 0x97, 0x0f, 0x0b, 0x13, 0x41, 0xdc, 0x60, 0x41, 0x5c, 0x41, 0x97, 0xb2, 0x83, 0xf0, - 0x19, 0xb4, 0x3b, 0x65, 0xea, 0x0d, 0xdb, 0xa7, 0x89, 0x28, 0x7e, 0x94, 0xe0, 0x78, 0xcf, 0xd8, - 0x80, 0xaa, 0x39, 0x54, 0xb2, 0xc7, 0x16, 0x79, 0xf1, 0x30, 0x10, 0xc1, 0x7c, 0x99, 0x31, 0x5f, - 0x42, 0xd7, 0xb2, 0x99, 0xe3, 0x08, 0x26, 0xe6, 0x0f, 0xb5, 0x1d, 0xd5, 0xcf, 0x8e, 0xda, 0xe6, - 0x93, 0x4f, 0x07, 0xfd, 0x22, 0xc1, 0x64, 0x66, 0xf3, 0x42, 0x57, 0x0e, 0x50, 0x19, 0xb2, 0x0a, - 0xb7, 0x7c, 0xf5, 0xf0, 0x40, 0x11, 0xd0, 0xdb, 0x2c, 0xa0, 0x6b, 0xe8, 0x6a, 0x7e, 0x79, 0xd1, - 0x9b, 0x1c, 0xad, 0xf3, 0x9e, 0x92, 0x78, 0x02, 0xe8, 0x77, 0x09, 0xa6, 0xfb, 0x36, 0x05, 0x74, - 0x3d, 0x2f, 0x45, 0xf6, 0xe9, 0x47, 0xf2, 0xd2, 0xcb, 0x81, 0x45, 0x68, 0x77, 0x58, 0x68, 0x37, - 0xd1, 0x52, 0x9f, 0x2c, 0x4b, 0x1c, 0xb0, 0x27, 0xbc, 0xf8, 0xda, 0xd0, 0x37, 0x12, 0x40, 0x77, - 0x16, 0x7c, 0x85, 0xc5, 0x74, 0xef, 0x80, 0xa9, 0xcc, 0x33, 0xc6, 0xb3, 0xe8, 0x6c, 0x1f, 0xc6, - 0xd6, 0x76, 0x54, 0x96, 0x96, 0x6f, 0x3d, 0x7d, 0x5e, 0x92, 0x9e, 0x3d, 0x2f, 0x49, 0x7f, 0x3e, - 0x2f, 0x49, 0x5f, 0xbd, 0x28, 0x0d, 0x3c, 0x7b, 0x51, 0x1a, 0xf8, 0xed, 0x45, 0x69, 0xe0, 0xe3, - 0x0b, 0x75, 0x9b, 0x6e, 0x05, 0x9b, 0x15, 0x93, 0x34, 0xd3, 0xc7, 0xec, 0xc4, 0x07, 0xd1, 0x5d, - 0x17, 0xfb, 0x9b, 0x23, 0xec, 0x7f, 0x4c, 0xde, 0xf8, 0x27, 0x00, 0x00, 0xff, 0xff, 0x68, 0xac, - 0x60, 0xe7, 0xd6, 0x12, 0x00, 0x00, + // 1615 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0x4d, 0x4f, 0xdc, 0xd6, + 0x1a, 0xc6, 0xc3, 0x40, 0x98, 0x37, 0x01, 0xa2, 0x13, 0x48, 0xc0, 0x97, 0x4c, 0x88, 0x49, 0x6e, + 0xe0, 0x92, 0x3b, 0xbe, 0x70, 0x6f, 0x3e, 0x94, 0x90, 0xdc, 0x1b, 0x48, 0x6e, 0x44, 0x4a, 0x5b, + 0x30, 0x4d, 0x17, 0x5d, 0xd4, 0x32, 0xf6, 0x99, 0xc1, 0x61, 0xc6, 0xc7, 0xb1, 0x8f, 0x27, 0x50, + 0x34, 0xad, 0xd4, 0xfe, 0x81, 0x4a, 0x6d, 0x17, 0xdd, 0x47, 0xaa, 0xba, 0xe8, 0x0f, 0xa8, 0xd4, + 0x5d, 0xa5, 0x2a, 0x8b, 0x2e, 0x22, 0x75, 0xd3, 0x45, 0x55, 0x55, 0x49, 0xff, 0x40, 0xff, 0x41, + 0xe5, 0x73, 0x8e, 0x3d, 0xf6, 0xe0, 0xf1, 0x40, 0x9a, 0x0d, 0x33, 0xc7, 0x7e, 0x9f, 0x73, 0x9e, + 0xf7, 0x39, 0xef, 0xd7, 0x00, 0xd3, 0x75, 0xa3, 0x69, 0x38, 0x98, 0xaa, 0xe1, 0xa7, 0xea, 0x1a, + 0xb6, 0x67, 0x3b, 0x35, 0xf5, 0x71, 0x80, 0xbd, 0xbd, 0x8a, 0xeb, 0x11, 0x4a, 0xd0, 0x98, 0xb0, + 0xa8, 0x84, 0x9f, 0x15, 0x61, 0x21, 0x8f, 0xd5, 0x48, 0x8d, 0x30, 0x03, 0x35, 0xfc, 0xc6, 0x6d, + 0xe5, 0xa9, 0x1a, 0x21, 0xb5, 0x3a, 0x56, 0x0d, 0xd7, 0x56, 0x0d, 0xc7, 0x21, 0xd4, 0xa0, 0x36, + 0x71, 0x7c, 0xf1, 0xf6, 0x1f, 0x26, 0xf1, 0x1b, 0xc4, 0x57, 0xb7, 0x0c, 0x1f, 0xf3, 0x23, 0xd4, + 0xe6, 0xc2, 0x16, 0xa6, 0xc6, 0x82, 0xea, 0x1a, 0x35, 0xdb, 0x61, 0xc6, 0xc2, 0xf6, 0x7c, 0x26, + 0x2f, 0xd7, 0xf0, 0x8c, 0x46, 0xb4, 0xdd, 0x54, 0xca, 0xc4, 0x77, 0xb1, 0xc9, 0xfe, 0x88, 0xb7, + 0xe7, 0xd2, 0x1b, 0xd4, 0x0d, 0xc7, 0x57, 0x5d, 0x52, 0xb7, 0x4d, 0xe1, 0x97, 0x3c, 0x9f, 0x32, + 0xc0, 0x2e, 0x31, 0xb7, 0x7d, 0x4a, 0x3c, 0xa3, 0x86, 0x55, 0x9f, 0x1a, 0x3b, 0x58, 0xc7, 0x0e, + 0x8d, 0x44, 0x90, 0x2f, 0xa7, 0xcf, 0x0a, 0xb6, 0x7c, 0xd3, 0xb3, 0xdd, 0x90, 0x6f, 0x6a, 0x21, + 0xac, 0x67, 0xd2, 0x67, 0x7b, 0xe4, 0x11, 0x36, 0xa9, 0x1f, 0x7d, 0x11, 0x46, 0x97, 0x52, 0x46, + 0x16, 0x79, 0xe2, 0x50, 0xbb, 0x81, 0xd5, 0xe6, 0x42, 0xfc, 0x9d, 0x1b, 0x2a, 0x63, 0x80, 0x36, + 0x42, 0xb1, 0xd6, 0x99, 0xf3, 0x1a, 0x7e, 0x1c, 0x60, 0x9f, 0x2a, 0x1b, 0x70, 0x2a, 0xf5, 0xd4, + 0x77, 0x89, 0xe3, 0x63, 0x74, 0x03, 0x06, 0xb9, 0x48, 0x13, 0xd2, 0xb4, 0x34, 0x7b, 0x7c, 0x71, + 0xaa, 0x92, 0x75, 0x7d, 0x15, 0x8e, 0x5a, 0x2e, 0x3e, 0xfb, 0xf5, 0x5c, 0x9f, 0x26, 0x10, 0xca, + 0x06, 0x8c, 0xf3, 0x2d, 0x3d, 0xd2, 0xb4, 0x2d, 0xec, 0x45, 0x67, 0xa1, 0x09, 0x38, 0x66, 0x6e, + 0x1b, 0xb6, 0xb3, 0x7a, 0x97, 0xed, 0x5a, 0xd2, 0xa2, 0x25, 0x2a, 0x03, 0xf8, 0xdb, 0xe4, 0xc9, + 0xff, 0x3d, 0xf2, 0x01, 0x76, 0x26, 0x0a, 0xd3, 0xd2, 0xec, 0x90, 0x96, 0x78, 0xa2, 0xec, 0xc0, + 0xe9, 0xce, 0x2d, 0x05, 0xd1, 0x37, 0x00, 0x98, 0xcc, 0xf7, 0x42, 0x95, 0x27, 0xa4, 0xe9, 0xfe, + 0xd9, 0xe3, 0x8b, 0x17, 0xd3, 0x64, 0x93, 0x77, 0x52, 0xd9, 0x8c, 0x8d, 0x05, 0xeb, 0x04, 0xfc, + 0x41, 0x71, 0xa8, 0x70, 0xb2, 0x5f, 0x79, 0x20, 0x0e, 0xbb, 0x8f, 0xe9, 0x3a, 0xf7, 0xb3, 0xb7, + 0x03, 0xa7, 0x61, 0xd0, 0xac, 0xdb, 0xd8, 0xa1, 0x8c, 0x7c, 0x49, 0x13, 0x2b, 0xe5, 0x9b, 0x02, + 0x9c, 0x39, 0xb0, 0x99, 0xa0, 0xbe, 0x0a, 0x25, 0x37, 0xf2, 0xe7, 0x55, 0x98, 0xb7, 0xd1, 0x68, + 0x06, 0x86, 0xcd, 0xc0, 0xf3, 0xb0, 0x43, 0x75, 0x86, 0x61, 0x2c, 0x8a, 0xda, 0x09, 0xf1, 0xf0, + 0x5e, 0xf8, 0x0c, 0x5d, 0x87, 0xc9, 0x30, 0x1c, 0xf4, 0x3a, 0xae, 0x52, 0x9d, 0x12, 0xdd, 0xc1, + 0xbb, 0x54, 0x17, 0x37, 0x39, 0xd1, 0xcf, 0x00, 0xe3, 0xa1, 0xc1, 0x1a, 0xae, 0xd2, 0x77, 0xc8, + 0x5b, 0x78, 0x37, 0x62, 0x8c, 0xae, 0xc0, 0x99, 0x30, 0x25, 0xf4, 0xba, 0xe1, 0x53, 0x3d, 0x70, + 0x2d, 0x83, 0x62, 0x4b, 0xdf, 0xaa, 0x13, 0x73, 0x67, 0xa2, 0xc8, 0x70, 0x63, 0xe1, 0xeb, 0x35, + 0xc3, 0xa7, 0x0f, 0xf9, 0xcb, 0xe5, 0xf0, 0x1d, 0x5a, 0x80, 0x71, 0x66, 0xa4, 0x93, 0x6a, 0xfa, + 0xb0, 0x01, 0x06, 0x42, 0xec, 0xe5, 0xdb, 0xd5, 0xc4, 0x49, 0xca, 0x47, 0x30, 0xc9, 0xe4, 0x7a, + 0x17, 0x7b, 0x76, 0x75, 0xef, 0xaf, 0xca, 0x8f, 0x64, 0x18, 0x8a, 0x44, 0x62, 0x1e, 0x96, 0xb4, + 0x78, 0x8d, 0xc6, 0x60, 0x20, 0xe9, 0x02, 0x5f, 0x28, 0x4f, 0x25, 0x90, 0xb3, 0x18, 0x88, 0x3b, + 0x1b, 0x83, 0x81, 0xa6, 0x51, 0xb7, 0x2d, 0x46, 0x60, 0x48, 0xe3, 0x0b, 0x34, 0x07, 0x27, 0x43, + 0xd7, 0xb0, 0xa5, 0xb7, 0x2f, 0x94, 0x0b, 0x3a, 0xca, 0x9f, 0xc7, 0x71, 0x8b, 0xa6, 0xe1, 0x84, + 0x19, 0xe8, 0x2e, 0xf6, 0xc4, 0x45, 0xf1, 0xc3, 0xc1, 0x0c, 0xd6, 0xb1, 0xc7, 0xaf, 0xe9, 0x2c, + 0x80, 0xc8, 0x70, 0xdd, 0xb6, 0x98, 0x54, 0x25, 0x76, 0xd5, 0xe1, 0x93, 0x55, 0x4b, 0xc4, 0xa8, + 0x21, 0x72, 0xec, 0xa1, 0x8f, 0x3d, 0x16, 0x13, 0x09, 0x8d, 0x0c, 0xcb, 0xf2, 0xb0, 0xef, 0x47, + 0x1a, 0x89, 0x65, 0x52, 0xbd, 0x42, 0x5a, 0xbd, 0x58, 0x89, 0xfe, 0xa4, 0x12, 0x4f, 0x44, 0x1a, + 0x24, 0x8e, 0x10, 0x22, 0xdc, 0x87, 0x21, 0x93, 0x38, 0x7e, 0xd0, 0xc0, 0x9e, 0x28, 0x0f, 0x47, + 0x8a, 0xdb, 0x18, 0x1c, 0x1e, 0xdc, 0x30, 0x76, 0x57, 0x1e, 0x8a, 0x70, 0xe5, 0x0b, 0xe5, 0x26, + 0x9c, 0x63, 0x07, 0x6f, 0x86, 0x65, 0xdf, 0x8c, 0xa5, 0x5b, 0xb3, 0x7d, 0xda, 0x33, 0x12, 0x94, + 0x06, 0x4c, 0x77, 0x07, 0xbf, 0xf6, 0xc4, 0x53, 0x36, 0xe0, 0x6f, 0xec, 0xb8, 0x7b, 0xd5, 0x2a, + 0x36, 0xa9, 0xdd, 0xc4, 0xeb, 0xac, 0x37, 0x44, 0x3c, 0xe5, 0x0e, 0xa5, 0x4a, 0x09, 0xe7, 0x4f, + 0xc3, 0x60, 0x98, 0x35, 0xf1, 0x75, 0x88, 0x95, 0xf2, 0x85, 0x04, 0x53, 0xd9, 0x7b, 0x0a, 0xfa, + 0x8b, 0x30, 0xc8, 0x3b, 0x90, 0x10, 0x5f, 0xee, 0xa8, 0xcd, 0x61, 0x8f, 0xaa, 0x08, 0x8c, 0xb0, + 0x44, 0x77, 0x60, 0xc4, 0xc5, 0x8e, 0x65, 0x3b, 0x35, 0x5d, 0x60, 0x0b, 0x3d, 0xb1, 0xc3, 0x02, + 0xc1, 0x97, 0xca, 0x1f, 0x92, 0x28, 0x65, 0x9b, 0xd6, 0x4e, 0x67, 0x5a, 0xdc, 0x87, 0x63, 0x51, + 0x6e, 0x73, 0x4e, 0xff, 0xcc, 0xee, 0x17, 0x5d, 0x4a, 0xa1, 0x16, 0xa1, 0xd1, 0x38, 0x0c, 0x36, + 0x8c, 0x5d, 0xdd, 0x0c, 0x92, 0x21, 0x11, 0xa0, 0x79, 0x28, 0x86, 0xea, 0xb0, 0x00, 0x3d, 0xbe, + 0x78, 0x26, 0xbd, 0x39, 0xeb, 0xd6, 0x9b, 0x2e, 0x36, 0x35, 0x66, 0x84, 0x56, 0x61, 0x34, 0x6a, + 0x7d, 0xba, 0x68, 0x62, 0x45, 0x86, 0x9b, 0x4e, 0xe3, 0xe2, 0xfe, 0xd8, 0x5c, 0x10, 0x8d, 0x4c, + 0x1b, 0x89, 0x9e, 0xf1, 0xb5, 0xf2, 0x5f, 0x38, 0x9f, 0xea, 0x3b, 0x6f, 0x12, 0x87, 0x6e, 0xd7, + 0xf7, 0xd6, 0x8d, 0x3d, 0x12, 0xd0, 0xc4, 0x25, 0xc7, 0x45, 0x46, 0x4a, 0x17, 0x19, 0x65, 0x07, + 0xd0, 0x66, 0xa2, 0xb1, 0x73, 0x20, 0x52, 0xe0, 0x44, 0xb2, 0xdd, 0x0b, 0x54, 0xea, 0x19, 0x9a, + 0x84, 0x21, 0x16, 0xd3, 0x61, 0x11, 0x48, 0xe5, 0xab, 0x15, 0x46, 0x8e, 0xd1, 0x20, 0x81, 0x43, + 0x45, 0xc2, 0x8a, 0x95, 0xf2, 0x21, 0x28, 0x79, 0x6c, 0xdb, 0x25, 0x8c, 0x12, 0x6a, 0xd4, 0xd9, + 0xa9, 0x45, 0x8d, 0x2f, 0xd0, 0x32, 0x1c, 0xb3, 0x30, 0x35, 0xec, 0xba, 0x3f, 0x51, 0x60, 0x19, + 0x31, 0x9b, 0x7d, 0x83, 0x07, 0xbd, 0xd1, 0x22, 0xa0, 0x72, 0x17, 0x46, 0xa2, 0xa3, 0x85, 0xa3, + 0x39, 0xd2, 0x24, 0xbc, 0x28, 0xa4, 0xbc, 0x78, 0x04, 0xc3, 0x2b, 0x3c, 0x99, 0xc5, 0x26, 0x49, + 0x25, 0xa4, 0xb4, 0x12, 0xb7, 0xc3, 0xb8, 0x0b, 0x8d, 0x22, 0xd6, 0x17, 0xba, 0xcc, 0x29, 0x29, + 0x5a, 0x5a, 0x04, 0x52, 0x56, 0xe0, 0x22, 0x0f, 0xe9, 0x84, 0x57, 0xdd, 0xee, 0xb8, 0x5b, 0x22, + 0x2b, 0x2d, 0xf8, 0x7b, 0xaf, 0x4d, 0x72, 0xa5, 0xbf, 0xd5, 0x29, 0xfd, 0x4c, 0xb6, 0x13, 0x29, + 0x55, 0xda, 0xaa, 0x9f, 0x15, 0x25, 0x28, 0xf2, 0x91, 0x75, 0x91, 0x95, 0x20, 0x1a, 0xf0, 0xde, + 0x17, 0xd5, 0xe4, 0xc0, 0x6b, 0xc1, 0xe9, 0x36, 0x14, 0x6d, 0xa7, 0x4a, 0x44, 0x1d, 0xec, 0xa1, + 0xdf, 0x4a, 0xb0, 0xea, 0x54, 0x89, 0x28, 0x83, 0x0c, 0xa7, 0x2c, 0xb5, 0x2f, 0x9d, 0xbf, 0xcd, + 0xbd, 0xf4, 0x11, 0x28, 0xc4, 0xb9, 0x5d, 0x30, 0x83, 0xc5, 0x6f, 0x47, 0x61, 0x80, 0xd1, 0x43, + 0x9f, 0x48, 0x30, 0xc8, 0xb3, 0x0e, 0xcd, 0xe6, 0x14, 0x8f, 0xd4, 0xf4, 0x2a, 0xcf, 0x1d, 0xc2, + 0x92, 0xfb, 0xa9, 0x5c, 0xf8, 0xf8, 0xa7, 0xdf, 0x3f, 0x2b, 0x94, 0xd1, 0x94, 0x9a, 0xf3, 0x93, + 0x00, 0x7d, 0x29, 0x41, 0xa9, 0xdd, 0xac, 0xe7, 0xf3, 0xb6, 0xef, 0x98, 0x6e, 0xe5, 0xcb, 0x87, + 0x33, 0x16, 0x74, 0x16, 0x18, 0x9d, 0x79, 0x34, 0xd7, 0x85, 0x4e, 0x04, 0x50, 0xf7, 0x45, 0x67, + 0x6b, 0xa1, 0xaf, 0x24, 0x80, 0x76, 0xed, 0x44, 0x97, 0x0f, 0x59, 0x62, 0x39, 0xbb, 0xa3, 0x15, + 0x64, 0x65, 0x89, 0xd1, 0xbb, 0x8a, 0xfe, 0x93, 0x4d, 0xaf, 0x86, 0xe3, 0x61, 0xae, 0x4d, 0x50, + 0xdd, 0xe7, 0x53, 0x57, 0x0b, 0xfd, 0x20, 0xc1, 0x70, 0x6a, 0x7e, 0x42, 0x6a, 0xce, 0xf1, 0x59, + 0xb3, 0x9e, 0xfc, 0xaf, 0xc3, 0x03, 0x04, 0x65, 0x8d, 0x51, 0x5e, 0x43, 0x0f, 0xb2, 0x29, 0x37, + 0x19, 0x28, 0x87, 0xb5, 0xba, 0x1f, 0x89, 0xde, 0x52, 0xf7, 0xd9, 0x08, 0xd4, 0x42, 0x4f, 0x25, + 0x28, 0xc5, 0xf3, 0x4f, 0x6e, 0x38, 0x74, 0x0e, 0x62, 0xb9, 0xe1, 0x70, 0x60, 0xa4, 0xea, 0xa5, + 0x77, 0xe0, 0x87, 0x03, 0x63, 0x88, 0x50, 0xf7, 0xc5, 0x3c, 0xd7, 0x4a, 0x44, 0xc6, 0xf7, 0x12, + 0x9c, 0xca, 0x18, 0x78, 0xd0, 0x95, 0x1c, 0x0e, 0xdd, 0xa7, 0x2b, 0xf9, 0xea, 0x51, 0x61, 0xc2, + 0x89, 0x5b, 0xcc, 0x89, 0x6b, 0xe8, 0x4a, 0xb6, 0x13, 0x3e, 0x83, 0xb6, 0x47, 0x64, 0xbd, 0x6e, + 0xfb, 0x34, 0xe1, 0xc5, 0x77, 0x12, 0x8c, 0x76, 0xcc, 0x3c, 0x68, 0x21, 0x87, 0x4a, 0xf6, 0xcc, + 0x25, 0x2f, 0x1e, 0x05, 0x22, 0x98, 0x2f, 0x33, 0xe6, 0x4b, 0xe8, 0x46, 0x36, 0x73, 0x1c, 0xc1, + 0xc4, 0xf0, 0xa4, 0xee, 0x47, 0xc5, 0xbf, 0xa5, 0xee, 0xf3, 0xb1, 0xad, 0x85, 0x7e, 0x94, 0x60, + 0x3c, 0xb3, 0xf3, 0xa2, 0x6b, 0x87, 0xa8, 0x0c, 0x59, 0x5d, 0x47, 0xbe, 0x7e, 0x74, 0xa0, 0x70, + 0xe8, 0x7f, 0xcc, 0xa1, 0x1b, 0xe8, 0x7a, 0x7e, 0x79, 0xd1, 0x1b, 0x1c, 0xad, 0xf3, 0x86, 0x98, + 0x48, 0x01, 0xf4, 0x8b, 0x04, 0x93, 0x5d, 0x3b, 0x1a, 0xba, 0x99, 0x17, 0x22, 0x3d, 0x9a, 0xa9, + 0xbc, 0xf4, 0x6a, 0x60, 0xe1, 0xda, 0x5d, 0xe6, 0xda, 0x6d, 0xb4, 0xd4, 0x25, 0xca, 0x12, 0x1b, + 0x1c, 0x70, 0x2f, 0xbe, 0x36, 0xf4, 0xb9, 0x04, 0xd0, 0x1e, 0x64, 0x5f, 0x63, 0x31, 0x3d, 0x38, + 0x1d, 0x2b, 0x73, 0x8c, 0xf1, 0x0c, 0x3a, 0xdf, 0x85, 0xb1, 0xb5, 0x13, 0x95, 0x25, 0xf4, 0xb5, + 0x04, 0xa3, 0x1d, 0x9d, 0x3a, 0x37, 0x07, 0xb2, 0x9b, 0x7e, 0x6e, 0x0e, 0x74, 0x19, 0x04, 0x14, + 0x95, 0xb1, 0x9c, 0x43, 0x97, 0x7a, 0x84, 0x0c, 0xfb, 0x6d, 0xa4, 0x9b, 0xc1, 0xf2, 0x9d, 0x67, + 0x2f, 0xca, 0xd2, 0xf3, 0x17, 0x65, 0xe9, 0xb7, 0x17, 0x65, 0xe9, 0xd3, 0x97, 0xe5, 0xbe, 0xe7, + 0x2f, 0xcb, 0x7d, 0x3f, 0xbf, 0x2c, 0xf7, 0xbd, 0x77, 0xa9, 0x66, 0xd3, 0xed, 0x60, 0xab, 0x62, + 0x92, 0x46, 0x7a, 0xb3, 0xdd, 0x78, 0x3b, 0xba, 0xe7, 0x62, 0x7f, 0x6b, 0x90, 0xfd, 0x6b, 0xea, + 0xdf, 0x7f, 0x06, 0x00, 0x00, 0xff, 0xff, 0xb8, 0xef, 0x0b, 0xe7, 0x3f, 0x14, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -1366,9 +1506,10 @@ type QueryClient interface { ProviderMonthlyPayout(ctx context.Context, in *QueryProviderMonthlyPayoutRequest, opts ...grpc.CallOption) (*QueryProviderMonthlyPayoutResponse, error) // Queries the expected monthly payout of a specific subscription SubscriptionMonthlyPayout(ctx context.Context, in *QuerySubscriptionMonthlyPayoutRequest, opts ...grpc.CallOption) (*QuerySubscriptionMonthlyPayoutResponse, error) - // this line is used by starport scaffolding # 2 // Queries a list of SdkPairing items. SdkPairing(ctx context.Context, in *QueryGetPairingRequest, opts ...grpc.CallOption) (*QuerySdkPairingResponse, error) + // Queries a for the aggregated CU of all ProviderEpochCu object of a specific provider. + ProviderEpochCu(ctx context.Context, in *QueryProviderEpochCuRequest, opts ...grpc.CallOption) (*QueryProviderEpochCuResponse, error) } type queryClient struct { @@ -1469,6 +1610,15 @@ func (c *queryClient) SdkPairing(ctx context.Context, in *QueryGetPairingRequest return out, nil } +func (c *queryClient) ProviderEpochCu(ctx context.Context, in *QueryProviderEpochCuRequest, opts ...grpc.CallOption) (*QueryProviderEpochCuResponse, error) { + out := new(QueryProviderEpochCuResponse) + err := c.cc.Invoke(ctx, "/lavanet.lava.pairing.Query/ProviderEpochCu", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // QueryServer is the server API for Query service. type QueryServer interface { // Parameters queries the parameters of the module. @@ -1489,9 +1639,10 @@ type QueryServer interface { ProviderMonthlyPayout(context.Context, *QueryProviderMonthlyPayoutRequest) (*QueryProviderMonthlyPayoutResponse, error) // Queries the expected monthly payout of a specific subscription SubscriptionMonthlyPayout(context.Context, *QuerySubscriptionMonthlyPayoutRequest) (*QuerySubscriptionMonthlyPayoutResponse, error) - // this line is used by starport scaffolding # 2 // Queries a list of SdkPairing items. SdkPairing(context.Context, *QueryGetPairingRequest) (*QuerySdkPairingResponse, error) + // Queries a for the aggregated CU of all ProviderEpochCu object of a specific provider. + ProviderEpochCu(context.Context, *QueryProviderEpochCuRequest) (*QueryProviderEpochCuResponse, error) } // UnimplementedQueryServer can be embedded to have forward compatible implementations. @@ -1528,6 +1679,9 @@ func (*UnimplementedQueryServer) SubscriptionMonthlyPayout(ctx context.Context, func (*UnimplementedQueryServer) SdkPairing(ctx context.Context, req *QueryGetPairingRequest) (*QuerySdkPairingResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SdkPairing not implemented") } +func (*UnimplementedQueryServer) ProviderEpochCu(ctx context.Context, req *QueryProviderEpochCuRequest) (*QueryProviderEpochCuResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ProviderEpochCu not implemented") +} func RegisterQueryServer(s grpc1.Server, srv QueryServer) { s.RegisterService(&_Query_serviceDesc, srv) @@ -1713,6 +1867,24 @@ func _Query_SdkPairing_Handler(srv interface{}, ctx context.Context, dec func(in return interceptor(ctx, in, info, handler) } +func _Query_ProviderEpochCu_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryProviderEpochCuRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).ProviderEpochCu(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/lavanet.lava.pairing.Query/ProviderEpochCu", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).ProviderEpochCu(ctx, req.(*QueryProviderEpochCuRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "lavanet.lava.pairing.Query", HandlerType: (*QueryServer)(nil), @@ -1757,6 +1929,10 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "SdkPairing", Handler: _Query_SdkPairing_Handler, }, + { + MethodName: "ProviderEpochCu", + Handler: _Query_ProviderEpochCu_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "lavanet/lava/pairing/query.proto", @@ -2648,6 +2824,101 @@ func (m *QuerySubscriptionMonthlyPayoutResponse) MarshalToSizedBuffer(dAtA []byt return len(dAtA) - i, nil } +func (m *QueryProviderEpochCuRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryProviderEpochCuRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryProviderEpochCuRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *QueryProviderEpochCuResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryProviderEpochCuResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryProviderEpochCuResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Info) > 0 { + for iNdEx := len(m.Info) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Info[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *ProviderCuInfo) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ProviderCuInfo) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *ProviderCuInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Cu != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.Cu)) + i-- + dAtA[i] = 0x10 + } + if len(m.Provider) > 0 { + i -= len(m.Provider) + copy(dAtA[i:], m.Provider) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Provider))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func encodeVarintQuery(dAtA []byte, offset int, v uint64) int { offset -= sovQuery(v) base := offset @@ -3037,6 +3308,46 @@ func (m *QuerySubscriptionMonthlyPayoutResponse) Size() (n int) { return n } +func (m *QueryProviderEpochCuRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *QueryProviderEpochCuResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Info) > 0 { + for _, e := range m.Info { + l = e.Size() + n += 1 + l + sovQuery(uint64(l)) + } + } + return n +} + +func (m *ProviderCuInfo) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Provider) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + if m.Cu != 0 { + n += 1 + sovQuery(uint64(m.Cu)) + } + return n +} + func sovQuery(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -5475,6 +5786,241 @@ func (m *QuerySubscriptionMonthlyPayoutResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *QueryProviderEpochCuRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryProviderEpochCuRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryProviderEpochCuRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryProviderEpochCuResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryProviderEpochCuResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryProviderEpochCuResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Info", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Info = append(m.Info, ProviderCuInfo{}) + if err := m.Info[len(m.Info)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ProviderCuInfo) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ProviderCuInfo: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ProviderCuInfo: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Provider", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Provider = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Cu", wireType) + } + m.Cu = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Cu |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipQuery(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/x/pairing/types/query.pb.gw.go b/x/pairing/types/query.pb.gw.go index 9f451b32e9..e0dcac7acf 100644 --- a/x/pairing/types/query.pb.gw.go +++ b/x/pairing/types/query.pb.gw.go @@ -687,6 +687,24 @@ func local_request_Query_SdkPairing_0(ctx context.Context, marshaler runtime.Mar } +func request_Query_ProviderEpochCu_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryProviderEpochCuRequest + var metadata runtime.ServerMetadata + + msg, err := client.ProviderEpochCu(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_ProviderEpochCu_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryProviderEpochCuRequest + var metadata runtime.ServerMetadata + + msg, err := server.ProviderEpochCu(ctx, &protoReq) + return msg, metadata, err + +} + // RegisterQueryHandlerServer registers the http handlers for service Query to "mux". // UnaryRPC :call QueryServer directly. // StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. @@ -923,6 +941,29 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv }) + mux.Handle("GET", pattern_Query_ProviderEpochCu_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Query_ProviderEpochCu_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_ProviderEpochCu_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -1164,6 +1205,26 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie }) + mux.Handle("GET", pattern_Query_ProviderEpochCu_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Query_ProviderEpochCu_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_ProviderEpochCu_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -1187,6 +1248,8 @@ var ( pattern_Query_SubscriptionMonthlyPayout_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"lavanet", "lava", "pairing", "subscription_monthly_payout", "consumer"}, "", runtime.AssumeColonVerbOpt(false))) pattern_Query_SdkPairing_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"lavanet", "lava", "pairing", "sdk_pairing"}, "", runtime.AssumeColonVerbOpt(false))) + + pattern_Query_ProviderEpochCu_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"lavanet", "lava", "pairing", "provider_epoch_cu"}, "", runtime.AssumeColonVerbOpt(false))) ) var ( @@ -1209,4 +1272,6 @@ var ( forward_Query_SubscriptionMonthlyPayout_0 = runtime.ForwardResponseMessage forward_Query_SdkPairing_0 = runtime.ForwardResponseMessage + + forward_Query_ProviderEpochCu_0 = runtime.ForwardResponseMessage ) From 7a652219d862ce7d5e235326bd78cd1df0af6e67 Mon Sep 17 00:00:00 2001 From: oren-lava Date: Tue, 26 Mar 2024 18:43:21 +0200 Subject: [PATCH 10/35] CNS-930: migrator --- x/pairing/keeper/migrations.go | 22 + x/pairing/migrations/v2/epoch_payments.go | 44 ++ x/pairing/migrations/v2/epoch_payments.pb.go | 374 +++++++++++++++ x/pairing/migrations/v2/keys.go | 50 ++ .../v2/provider_payment_storage.pb.go | 449 ++++++++++++++++++ ...ique_payment_storage_client_provider.pb.go | 390 +++++++++++++++ x/pairing/module.go | 8 +- 7 files changed, 1336 insertions(+), 1 deletion(-) create mode 100644 x/pairing/keeper/migrations.go create mode 100644 x/pairing/migrations/v2/epoch_payments.go create mode 100644 x/pairing/migrations/v2/epoch_payments.pb.go create mode 100644 x/pairing/migrations/v2/keys.go create mode 100644 x/pairing/migrations/v2/provider_payment_storage.pb.go create mode 100644 x/pairing/migrations/v2/unique_payment_storage_client_provider.pb.go diff --git a/x/pairing/keeper/migrations.go b/x/pairing/keeper/migrations.go new file mode 100644 index 0000000000..94c0aa7738 --- /dev/null +++ b/x/pairing/keeper/migrations.go @@ -0,0 +1,22 @@ +package keeper + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + v2 "github.com/lavanet/lava/x/pairing/migrations/v2" +) + +type Migrator struct { + keeper Keeper +} + +func NewMigrator(keeper Keeper) Migrator { + return Migrator{keeper: keeper} +} + +// MigrateVersion2To3 removes all the old payment objects (to get a fresh start for the new ones) +func (m Migrator) MigrateVersion2To3(ctx sdk.Context) error { + v2.RemoveAllUniquePaymentStorageClientProvider(ctx, m.keeper.storeKey) + v2.RemoveAllProviderPaymentStorage(ctx, m.keeper.storeKey) + v2.RemoveAllEpochPayments(ctx, m.keeper.storeKey) + return nil +} diff --git a/x/pairing/migrations/v2/epoch_payments.go b/x/pairing/migrations/v2/epoch_payments.go new file mode 100644 index 0000000000..1cdbe3aa3e --- /dev/null +++ b/x/pairing/migrations/v2/epoch_payments.go @@ -0,0 +1,44 @@ +package v2 + +import ( + "github.com/cosmos/cosmos-sdk/store/prefix" + storetypes "github.com/cosmos/cosmos-sdk/store/types" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/lavanet/lava/x/pairing/types" +) + +// RemoveAllEpochPayments removes all epochPayments +func RemoveAllEpochPayments(ctx sdk.Context, storeKey storetypes.StoreKey) { + store := prefix.NewStore(ctx.KVStore(storeKey), types.KeyPrefix(EpochPaymentsKeyPrefix)) + iterator := sdk.KVStorePrefixIterator(store, []byte{}) + + defer iterator.Close() + + for ; iterator.Valid(); iterator.Next() { + store.Delete(iterator.Key()) + } +} + +// RemoveAllProviderPaymentStorage removes all providerPaymentStorage +func RemoveAllProviderPaymentStorage(ctx sdk.Context, storeKey storetypes.StoreKey) { + store := prefix.NewStore(ctx.KVStore(storeKey), types.KeyPrefix(ProviderPaymentStorageKeyPrefix)) + iterator := sdk.KVStorePrefixIterator(store, []byte{}) + + defer iterator.Close() + + for ; iterator.Valid(); iterator.Next() { + store.Delete(iterator.Key()) + } +} + +// RemoveAllUniquePaymentStorageClientProvider removes all uniquePaymentStorageClientProvider +func RemoveAllUniquePaymentStorageClientProvider(ctx sdk.Context, storeKey storetypes.StoreKey) { + store := prefix.NewStore(ctx.KVStore(storeKey), types.KeyPrefix(UniquePaymentStorageClientProviderKeyPrefix)) + iterator := sdk.KVStorePrefixIterator(store, []byte{}) + + defer iterator.Close() + + for ; iterator.Valid(); iterator.Next() { + store.Delete(iterator.Key()) + } +} diff --git a/x/pairing/migrations/v2/epoch_payments.pb.go b/x/pairing/migrations/v2/epoch_payments.pb.go new file mode 100644 index 0000000000..c53188037b --- /dev/null +++ b/x/pairing/migrations/v2/epoch_payments.pb.go @@ -0,0 +1,374 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: lavanet/lava/pairing/epoch_payments.proto + +package v2 + +import ( + fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package + +type EpochPayments struct { + Index string `protobuf:"bytes,1,opt,name=index,proto3" json:"index,omitempty"` + ProviderPaymentStorageKeys []string `protobuf:"bytes,3,rep,name=providerPaymentStorageKeys,proto3" json:"providerPaymentStorageKeys,omitempty"` +} + +func (m *EpochPayments) Reset() { *m = EpochPayments{} } +func (m *EpochPayments) String() string { return proto.CompactTextString(m) } +func (*EpochPayments) ProtoMessage() {} +func (*EpochPayments) Descriptor() ([]byte, []int) { + return fileDescriptor_0769055c01132b19, []int{0} +} +func (m *EpochPayments) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EpochPayments) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EpochPayments.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *EpochPayments) XXX_Merge(src proto.Message) { + xxx_messageInfo_EpochPayments.Merge(m, src) +} +func (m *EpochPayments) XXX_Size() int { + return m.Size() +} +func (m *EpochPayments) XXX_DiscardUnknown() { + xxx_messageInfo_EpochPayments.DiscardUnknown(m) +} + +var xxx_messageInfo_EpochPayments proto.InternalMessageInfo + +func (m *EpochPayments) GetIndex() string { + if m != nil { + return m.Index + } + return "" +} + +func (m *EpochPayments) GetProviderPaymentStorageKeys() []string { + if m != nil { + return m.ProviderPaymentStorageKeys + } + return nil +} + +func init() { + proto.RegisterType((*EpochPayments)(nil), "lavanet.lava.pairing.EpochPayments") +} + +func init() { + proto.RegisterFile("lavanet/lava/pairing/epoch_payments.proto", fileDescriptor_0769055c01132b19) +} + +var fileDescriptor_0769055c01132b19 = []byte{ + // 199 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0xcc, 0x49, 0x2c, 0x4b, + 0xcc, 0x4b, 0x2d, 0xd1, 0x07, 0xd1, 0xfa, 0x05, 0x89, 0x99, 0x45, 0x99, 0x79, 0xe9, 0xfa, 0xa9, + 0x05, 0xf9, 0xc9, 0x19, 0xf1, 0x05, 0x89, 0x95, 0xb9, 0xa9, 0x79, 0x25, 0xc5, 0x7a, 0x05, 0x45, + 0xf9, 0x25, 0xf9, 0x42, 0x22, 0x50, 0xa5, 0x7a, 0x20, 0x5a, 0x0f, 0xaa, 0x54, 0x29, 0x9b, 0x8b, + 0xd7, 0x15, 0xa4, 0x3a, 0x00, 0xaa, 0x58, 0x48, 0x84, 0x8b, 0x35, 0x33, 0x2f, 0x25, 0xb5, 0x42, + 0x82, 0x51, 0x81, 0x51, 0x83, 0x33, 0x08, 0xc2, 0x11, 0xb2, 0xe3, 0x92, 0x2a, 0x28, 0xca, 0x2f, + 0xcb, 0x4c, 0x49, 0x2d, 0x82, 0xaa, 0x0c, 0x2e, 0xc9, 0x2f, 0x4a, 0x4c, 0x4f, 0xf5, 0x4e, 0xad, + 0x2c, 0x96, 0x60, 0x56, 0x60, 0xd6, 0xe0, 0x0c, 0xc2, 0xa3, 0xc2, 0x8b, 0x85, 0x83, 0x49, 0x80, + 0xd9, 0xc9, 0xf1, 0xc4, 0x23, 0x39, 0xc6, 0x0b, 0x8f, 0xe4, 0x18, 0x1f, 0x3c, 0x92, 0x63, 0x9c, + 0xf0, 0x58, 0x8e, 0xe1, 0xc2, 0x63, 0x39, 0x86, 0x1b, 0x8f, 0xe5, 0x18, 0xa2, 0xd4, 0xd3, 0x33, + 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0x51, 0xbc, 0x54, 0x01, 0xf7, 0x54, 0x49, + 0x65, 0x41, 0x6a, 0x71, 0x12, 0x1b, 0xd8, 0x33, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0x62, + 0x52, 0x3c, 0xac, 0xf9, 0x00, 0x00, 0x00, +} + +func (m *EpochPayments) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *EpochPayments) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *EpochPayments) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.ProviderPaymentStorageKeys) > 0 { + for iNdEx := len(m.ProviderPaymentStorageKeys) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.ProviderPaymentStorageKeys[iNdEx]) + copy(dAtA[i:], m.ProviderPaymentStorageKeys[iNdEx]) + i = encodeVarintEpochPayments(dAtA, i, uint64(len(m.ProviderPaymentStorageKeys[iNdEx]))) + i-- + dAtA[i] = 0x1a + } + } + if len(m.Index) > 0 { + i -= len(m.Index) + copy(dAtA[i:], m.Index) + i = encodeVarintEpochPayments(dAtA, i, uint64(len(m.Index))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintEpochPayments(dAtA []byte, offset int, v uint64) int { + offset -= sovEpochPayments(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *EpochPayments) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Index) + if l > 0 { + n += 1 + l + sovEpochPayments(uint64(l)) + } + if len(m.ProviderPaymentStorageKeys) > 0 { + for _, s := range m.ProviderPaymentStorageKeys { + l = len(s) + n += 1 + l + sovEpochPayments(uint64(l)) + } + } + return n +} + +func sovEpochPayments(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozEpochPayments(x uint64) (n int) { + return sovEpochPayments(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *EpochPayments) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEpochPayments + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: EpochPayments: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EpochPayments: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Index", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEpochPayments + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEpochPayments + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEpochPayments + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Index = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProviderPaymentStorageKeys", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEpochPayments + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEpochPayments + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEpochPayments + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ProviderPaymentStorageKeys = append(m.ProviderPaymentStorageKeys, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipEpochPayments(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEpochPayments + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipEpochPayments(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + depth := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowEpochPayments + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + wireType := int(wire & 0x7) + switch wireType { + case 0: + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowEpochPayments + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + case 1: + iNdEx += 8 + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowEpochPayments + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if length < 0 { + return 0, ErrInvalidLengthEpochPayments + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupEpochPayments + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthEpochPayments + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthEpochPayments = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowEpochPayments = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupEpochPayments = fmt.Errorf("proto: unexpected end of group") +) diff --git a/x/pairing/migrations/v2/keys.go b/x/pairing/migrations/v2/keys.go new file mode 100644 index 0000000000..84916e7076 --- /dev/null +++ b/x/pairing/migrations/v2/keys.go @@ -0,0 +1,50 @@ +package v2 + +import "encoding/binary" + +var _ binary.ByteOrder + +const ( + // EpochPaymentsKeyPrefix is the prefix to retrieve all EpochPayments + EpochPaymentsKeyPrefix = "EpochPayments/value/" + ProviderPaymentStorageKeyPrefix = "ProviderPaymentStorage/value/" + UniquePaymentStorageClientProviderKeyPrefix = "UniquePaymentStorageClientProvider/value/" +) + +// EpochPaymentsKey returns the store key to retrieve a EpochPayments from the index fields +func EpochPaymentsKey( + index string, +) []byte { + var key []byte + + indexBytes := []byte(index) + key = append(key, indexBytes...) + key = append(key, []byte("/")...) + + return key +} + +// ProviderPaymentStorageKey returns the store key to retrieve a ProviderPaymentStorage from the index fields +func ProviderPaymentStorageKey( + index string, +) []byte { + var key []byte + + indexBytes := []byte(index) + key = append(key, indexBytes...) + key = append(key, []byte("/")...) + + return key +} + +func UniquePaymentStorageClientProviderKey( + index string, +) []byte { + var key []byte + + indexBytes := []byte(index) + key = append(key, indexBytes...) + key = append(key, []byte("/")...) + + return key +} diff --git a/x/pairing/migrations/v2/provider_payment_storage.pb.go b/x/pairing/migrations/v2/provider_payment_storage.pb.go new file mode 100644 index 0000000000..f95162e411 --- /dev/null +++ b/x/pairing/migrations/v2/provider_payment_storage.pb.go @@ -0,0 +1,449 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: lavanet/lava/pairing/provider_payment_storage.proto + +package v2 + +import ( + fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package + +type ProviderPaymentStorage struct { + Index string `protobuf:"bytes,1,opt,name=index,proto3" json:"index,omitempty"` + Epoch uint64 `protobuf:"varint,3,opt,name=epoch,proto3" json:"epoch,omitempty"` + UniquePaymentStorageClientProviderKeys []string `protobuf:"bytes,5,rep,name=uniquePaymentStorageClientProviderKeys,proto3" json:"uniquePaymentStorageClientProviderKeys,omitempty"` + ComplainersTotalCu uint64 `protobuf:"varint,6,opt,name=complainersTotalCu,proto3" json:"complainersTotalCu,omitempty"` +} + +func (m *ProviderPaymentStorage) Reset() { *m = ProviderPaymentStorage{} } +func (m *ProviderPaymentStorage) String() string { return proto.CompactTextString(m) } +func (*ProviderPaymentStorage) ProtoMessage() {} +func (*ProviderPaymentStorage) Descriptor() ([]byte, []int) { + return fileDescriptor_39d1051245241a4e, []int{0} +} +func (m *ProviderPaymentStorage) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ProviderPaymentStorage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ProviderPaymentStorage.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ProviderPaymentStorage) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProviderPaymentStorage.Merge(m, src) +} +func (m *ProviderPaymentStorage) XXX_Size() int { + return m.Size() +} +func (m *ProviderPaymentStorage) XXX_DiscardUnknown() { + xxx_messageInfo_ProviderPaymentStorage.DiscardUnknown(m) +} + +var xxx_messageInfo_ProviderPaymentStorage proto.InternalMessageInfo + +func (m *ProviderPaymentStorage) GetIndex() string { + if m != nil { + return m.Index + } + return "" +} + +func (m *ProviderPaymentStorage) GetEpoch() uint64 { + if m != nil { + return m.Epoch + } + return 0 +} + +func (m *ProviderPaymentStorage) GetUniquePaymentStorageClientProviderKeys() []string { + if m != nil { + return m.UniquePaymentStorageClientProviderKeys + } + return nil +} + +func (m *ProviderPaymentStorage) GetComplainersTotalCu() uint64 { + if m != nil { + return m.ComplainersTotalCu + } + return 0 +} + +func init() { + proto.RegisterType((*ProviderPaymentStorage)(nil), "lavanet.lava.pairing.ProviderPaymentStorage") +} + +func init() { + proto.RegisterFile("lavanet/lava/pairing/provider_payment_storage.proto", fileDescriptor_39d1051245241a4e) +} + +var fileDescriptor_39d1051245241a4e = []byte{ + // 278 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x32, 0xce, 0x49, 0x2c, 0x4b, + 0xcc, 0x4b, 0x2d, 0xd1, 0x07, 0xd1, 0xfa, 0x05, 0x89, 0x99, 0x45, 0x99, 0x79, 0xe9, 0xfa, 0x05, + 0x45, 0xf9, 0x65, 0x99, 0x29, 0xa9, 0x45, 0xf1, 0x05, 0x89, 0x95, 0xb9, 0xa9, 0x79, 0x25, 0xf1, + 0xc5, 0x25, 0xf9, 0x45, 0x89, 0xe9, 0xa9, 0x7a, 0x05, 0x45, 0xf9, 0x25, 0xf9, 0x42, 0x22, 0x50, + 0x4d, 0x7a, 0x20, 0x5a, 0x0f, 0xaa, 0x49, 0xca, 0x11, 0xab, 0x51, 0xa5, 0x79, 0x99, 0x85, 0xa5, + 0xa9, 0xe8, 0x06, 0xc5, 0x27, 0xe7, 0x64, 0x82, 0xb8, 0x30, 0x8b, 0x20, 0x06, 0x2b, 0xdd, 0x60, + 0xe4, 0x12, 0x0b, 0x80, 0x0a, 0x05, 0x40, 0x74, 0x04, 0x43, 0x34, 0x08, 0x89, 0x70, 0xb1, 0x66, + 0xe6, 0xa5, 0xa4, 0x56, 0x48, 0x30, 0x2a, 0x30, 0x6a, 0x70, 0x06, 0x41, 0x38, 0x20, 0xd1, 0xd4, + 0x82, 0xfc, 0xe4, 0x0c, 0x09, 0x66, 0x05, 0x46, 0x0d, 0x96, 0x20, 0x08, 0x47, 0x28, 0x8c, 0x4b, + 0x0d, 0x62, 0x2d, 0xaa, 0x19, 0xce, 0x60, 0x3b, 0x61, 0xe6, 0x7b, 0xa7, 0x56, 0x16, 0x4b, 0xb0, + 0x2a, 0x30, 0x6b, 0x70, 0x06, 0x11, 0xa9, 0x5a, 0x48, 0x8f, 0x4b, 0x28, 0x39, 0x3f, 0xb7, 0x20, + 0x27, 0x31, 0x33, 0x2f, 0xb5, 0xa8, 0x38, 0x24, 0xbf, 0x24, 0x31, 0xc7, 0xb9, 0x54, 0x82, 0x0d, + 0x6c, 0x35, 0x16, 0x19, 0x2f, 0x16, 0x0e, 0x26, 0x01, 0x66, 0x2f, 0x16, 0x0e, 0x16, 0x01, 0x56, + 0x27, 0xc7, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c, 0x92, 0x63, 0x7c, 0xf0, 0x48, 0x8e, 0x71, 0xc2, + 0x63, 0x39, 0x86, 0x0b, 0x8f, 0xe5, 0x18, 0x6e, 0x3c, 0x96, 0x63, 0x88, 0x52, 0x4f, 0xcf, 0x2c, + 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x47, 0x09, 0xc2, 0x0a, 0x78, 0x20, 0x96, 0x54, + 0x16, 0xa4, 0x16, 0x27, 0xb1, 0x81, 0x03, 0xc9, 0x18, 0x10, 0x00, 0x00, 0xff, 0xff, 0xda, 0x1f, + 0x87, 0x29, 0xb4, 0x01, 0x00, 0x00, +} + +func (m *ProviderPaymentStorage) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ProviderPaymentStorage) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *ProviderPaymentStorage) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.ComplainersTotalCu != 0 { + i = encodeVarintProviderPaymentStorage(dAtA, i, uint64(m.ComplainersTotalCu)) + i-- + dAtA[i] = 0x30 + } + if len(m.UniquePaymentStorageClientProviderKeys) > 0 { + for iNdEx := len(m.UniquePaymentStorageClientProviderKeys) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.UniquePaymentStorageClientProviderKeys[iNdEx]) + copy(dAtA[i:], m.UniquePaymentStorageClientProviderKeys[iNdEx]) + i = encodeVarintProviderPaymentStorage(dAtA, i, uint64(len(m.UniquePaymentStorageClientProviderKeys[iNdEx]))) + i-- + dAtA[i] = 0x2a + } + } + if m.Epoch != 0 { + i = encodeVarintProviderPaymentStorage(dAtA, i, uint64(m.Epoch)) + i-- + dAtA[i] = 0x18 + } + if len(m.Index) > 0 { + i -= len(m.Index) + copy(dAtA[i:], m.Index) + i = encodeVarintProviderPaymentStorage(dAtA, i, uint64(len(m.Index))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintProviderPaymentStorage(dAtA []byte, offset int, v uint64) int { + offset -= sovProviderPaymentStorage(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *ProviderPaymentStorage) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Index) + if l > 0 { + n += 1 + l + sovProviderPaymentStorage(uint64(l)) + } + if m.Epoch != 0 { + n += 1 + sovProviderPaymentStorage(uint64(m.Epoch)) + } + if len(m.UniquePaymentStorageClientProviderKeys) > 0 { + for _, s := range m.UniquePaymentStorageClientProviderKeys { + l = len(s) + n += 1 + l + sovProviderPaymentStorage(uint64(l)) + } + } + if m.ComplainersTotalCu != 0 { + n += 1 + sovProviderPaymentStorage(uint64(m.ComplainersTotalCu)) + } + return n +} + +func sovProviderPaymentStorage(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozProviderPaymentStorage(x uint64) (n int) { + return sovProviderPaymentStorage(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *ProviderPaymentStorage) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProviderPaymentStorage + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ProviderPaymentStorage: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ProviderPaymentStorage: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Index", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProviderPaymentStorage + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthProviderPaymentStorage + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProviderPaymentStorage + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Index = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) + } + m.Epoch = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProviderPaymentStorage + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Epoch |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field UniquePaymentStorageClientProviderKeys", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProviderPaymentStorage + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthProviderPaymentStorage + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProviderPaymentStorage + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.UniquePaymentStorageClientProviderKeys = append(m.UniquePaymentStorageClientProviderKeys, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ComplainersTotalCu", wireType) + } + m.ComplainersTotalCu = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProviderPaymentStorage + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ComplainersTotalCu |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipProviderPaymentStorage(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthProviderPaymentStorage + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipProviderPaymentStorage(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + depth := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowProviderPaymentStorage + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + wireType := int(wire & 0x7) + switch wireType { + case 0: + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowProviderPaymentStorage + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + case 1: + iNdEx += 8 + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowProviderPaymentStorage + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if length < 0 { + return 0, ErrInvalidLengthProviderPaymentStorage + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupProviderPaymentStorage + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthProviderPaymentStorage + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthProviderPaymentStorage = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowProviderPaymentStorage = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupProviderPaymentStorage = fmt.Errorf("proto: unexpected end of group") +) diff --git a/x/pairing/migrations/v2/unique_payment_storage_client_provider.pb.go b/x/pairing/migrations/v2/unique_payment_storage_client_provider.pb.go new file mode 100644 index 0000000000..f55112e0ec --- /dev/null +++ b/x/pairing/migrations/v2/unique_payment_storage_client_provider.pb.go @@ -0,0 +1,390 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: lavanet/lava/pairing/unique_payment_storage_client_provider.proto + +package v2 + +import ( + fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package + +type UniquePaymentStorageClientProvider struct { + Index string `protobuf:"bytes,1,opt,name=index,proto3" json:"index,omitempty"` + Block uint64 `protobuf:"varint,2,opt,name=block,proto3" json:"block,omitempty"` + UsedCU uint64 `protobuf:"varint,3,opt,name=usedCU,proto3" json:"usedCU,omitempty"` +} + +func (m *UniquePaymentStorageClientProvider) Reset() { *m = UniquePaymentStorageClientProvider{} } +func (m *UniquePaymentStorageClientProvider) String() string { return proto.CompactTextString(m) } +func (*UniquePaymentStorageClientProvider) ProtoMessage() {} +func (*UniquePaymentStorageClientProvider) Descriptor() ([]byte, []int) { + return fileDescriptor_de8e31c04724b0b7, []int{0} +} +func (m *UniquePaymentStorageClientProvider) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *UniquePaymentStorageClientProvider) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_UniquePaymentStorageClientProvider.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *UniquePaymentStorageClientProvider) XXX_Merge(src proto.Message) { + xxx_messageInfo_UniquePaymentStorageClientProvider.Merge(m, src) +} +func (m *UniquePaymentStorageClientProvider) XXX_Size() int { + return m.Size() +} +func (m *UniquePaymentStorageClientProvider) XXX_DiscardUnknown() { + xxx_messageInfo_UniquePaymentStorageClientProvider.DiscardUnknown(m) +} + +var xxx_messageInfo_UniquePaymentStorageClientProvider proto.InternalMessageInfo + +func (m *UniquePaymentStorageClientProvider) GetIndex() string { + if m != nil { + return m.Index + } + return "" +} + +func (m *UniquePaymentStorageClientProvider) GetBlock() uint64 { + if m != nil { + return m.Block + } + return 0 +} + +func (m *UniquePaymentStorageClientProvider) GetUsedCU() uint64 { + if m != nil { + return m.UsedCU + } + return 0 +} + +func init() { + proto.RegisterType((*UniquePaymentStorageClientProvider)(nil), "lavanet.lava.pairing.UniquePaymentStorageClientProvider") +} + +func init() { + proto.RegisterFile("lavanet/lava/pairing/unique_payment_storage_client_provider.proto", fileDescriptor_de8e31c04724b0b7) +} + +var fileDescriptor_de8e31c04724b0b7 = []byte{ + // 221 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x72, 0xcc, 0x49, 0x2c, 0x4b, + 0xcc, 0x4b, 0x2d, 0xd1, 0x07, 0xd1, 0xfa, 0x05, 0x89, 0x99, 0x45, 0x99, 0x79, 0xe9, 0xfa, 0xa5, + 0x79, 0x99, 0x85, 0xa5, 0xa9, 0xf1, 0x05, 0x89, 0x95, 0xb9, 0xa9, 0x79, 0x25, 0xf1, 0xc5, 0x25, + 0xf9, 0x45, 0x89, 0xe9, 0xa9, 0xf1, 0xc9, 0x39, 0x99, 0x20, 0x6e, 0x41, 0x51, 0x7e, 0x59, 0x66, + 0x4a, 0x6a, 0x91, 0x5e, 0x41, 0x51, 0x7e, 0x49, 0xbe, 0x90, 0x08, 0xd4, 0x08, 0x3d, 0x10, 0xad, + 0x07, 0x35, 0x42, 0x29, 0x83, 0x4b, 0x29, 0x14, 0x6c, 0x4a, 0x00, 0xc4, 0x90, 0x60, 0x88, 0x19, + 0xce, 0x60, 0x23, 0x02, 0xa0, 0x26, 0x08, 0x89, 0x70, 0xb1, 0x66, 0xe6, 0xa5, 0xa4, 0x56, 0x48, + 0x30, 0x2a, 0x30, 0x6a, 0x70, 0x06, 0x41, 0x38, 0x20, 0xd1, 0xa4, 0x9c, 0xfc, 0xe4, 0x6c, 0x09, + 0x26, 0x05, 0x46, 0x0d, 0x96, 0x20, 0x08, 0x47, 0x48, 0x8c, 0x8b, 0xad, 0xb4, 0x38, 0x35, 0xc5, + 0x39, 0x54, 0x82, 0x19, 0x2c, 0x0c, 0xe5, 0x39, 0x39, 0x9e, 0x78, 0x24, 0xc7, 0x78, 0xe1, 0x91, + 0x1c, 0xe3, 0x83, 0x47, 0x72, 0x8c, 0x13, 0x1e, 0xcb, 0x31, 0x5c, 0x78, 0x2c, 0xc7, 0x70, 0xe3, + 0xb1, 0x1c, 0x43, 0x94, 0x7a, 0x7a, 0x66, 0x49, 0x46, 0x69, 0x92, 0x5e, 0x72, 0x7e, 0xae, 0x3e, + 0x8a, 0x3f, 0x2b, 0xe0, 0x3e, 0x2d, 0xa9, 0x2c, 0x48, 0x2d, 0x4e, 0x62, 0x03, 0xfb, 0xc4, 0x18, + 0x10, 0x00, 0x00, 0xff, 0xff, 0xb6, 0x9a, 0x51, 0x54, 0x0e, 0x01, 0x00, 0x00, +} + +func (m *UniquePaymentStorageClientProvider) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *UniquePaymentStorageClientProvider) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *UniquePaymentStorageClientProvider) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.UsedCU != 0 { + i = encodeVarintUniquePaymentStorageClientProvider(dAtA, i, uint64(m.UsedCU)) + i-- + dAtA[i] = 0x18 + } + if m.Block != 0 { + i = encodeVarintUniquePaymentStorageClientProvider(dAtA, i, uint64(m.Block)) + i-- + dAtA[i] = 0x10 + } + if len(m.Index) > 0 { + i -= len(m.Index) + copy(dAtA[i:], m.Index) + i = encodeVarintUniquePaymentStorageClientProvider(dAtA, i, uint64(len(m.Index))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintUniquePaymentStorageClientProvider(dAtA []byte, offset int, v uint64) int { + offset -= sovUniquePaymentStorageClientProvider(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *UniquePaymentStorageClientProvider) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Index) + if l > 0 { + n += 1 + l + sovUniquePaymentStorageClientProvider(uint64(l)) + } + if m.Block != 0 { + n += 1 + sovUniquePaymentStorageClientProvider(uint64(m.Block)) + } + if m.UsedCU != 0 { + n += 1 + sovUniquePaymentStorageClientProvider(uint64(m.UsedCU)) + } + return n +} + +func sovUniquePaymentStorageClientProvider(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozUniquePaymentStorageClientProvider(x uint64) (n int) { + return sovUniquePaymentStorageClientProvider(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *UniquePaymentStorageClientProvider) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowUniquePaymentStorageClientProvider + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: UniquePaymentStorageClientProvider: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: UniquePaymentStorageClientProvider: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Index", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowUniquePaymentStorageClientProvider + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthUniquePaymentStorageClientProvider + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthUniquePaymentStorageClientProvider + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Index = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Block", wireType) + } + m.Block = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowUniquePaymentStorageClientProvider + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Block |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field UsedCU", wireType) + } + m.UsedCU = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowUniquePaymentStorageClientProvider + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.UsedCU |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipUniquePaymentStorageClientProvider(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthUniquePaymentStorageClientProvider + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipUniquePaymentStorageClientProvider(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + depth := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowUniquePaymentStorageClientProvider + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + wireType := int(wire & 0x7) + switch wireType { + case 0: + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowUniquePaymentStorageClientProvider + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + case 1: + iNdEx += 8 + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowUniquePaymentStorageClientProvider + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if length < 0 { + return 0, ErrInvalidLengthUniquePaymentStorageClientProvider + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupUniquePaymentStorageClientProvider + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthUniquePaymentStorageClientProvider + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthUniquePaymentStorageClientProvider = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowUniquePaymentStorageClientProvider = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupUniquePaymentStorageClientProvider = fmt.Errorf("proto: unexpected end of group") +) diff --git a/x/pairing/module.go b/x/pairing/module.go index 438fcee204..b17698238e 100644 --- a/x/pairing/module.go +++ b/x/pairing/module.go @@ -127,6 +127,12 @@ func (am AppModule) Name() string { func (am AppModule) RegisterServices(cfg module.Configurator) { types.RegisterQueryServer(cfg.QueryServer(), am.keeper) types.RegisterMsgServer(cfg.MsgServer(), keeper.NewMsgServerImpl(am.keeper)) + + migrator := keeper.NewMigrator(am.keeper) + // register v2 -> v3 migration + if err := cfg.RegisterMigration(types.ModuleName, 2, migrator.MigrateVersion2To3); err != nil { + panic(fmt.Errorf("%s: failed to register migration to v3: %w", types.ModuleName, err)) + } } // RegisterInvariants registers the capability module's invariants. @@ -151,7 +157,7 @@ func (am AppModule) ExportGenesis(ctx sdk.Context, cdc codec.JSONCodec) json.Raw } // ConsensusVersion implements ConsensusVersion. -func (AppModule) ConsensusVersion() uint64 { return 2 } +func (AppModule) ConsensusVersion() uint64 { return 3 } // BeginBlock executes all ABCI BeginBlock logic respective to the capability module. func (am AppModule) BeginBlock(ctx sdk.Context, _ abci.RequestBeginBlock) { From e820d3607d6dd15faa1d1ac730341f2850fa1ab7 Mon Sep 17 00:00:00 2001 From: oren-lava Date: Tue, 26 Mar 2024 18:57:17 +0200 Subject: [PATCH 11/35] CNS-930: lint fixes --- x/pairing/keeper/epoch_cu.go | 6 +++--- x/pairing/keeper/msg_server_relay_payment.go | 3 ++- x/pairing/keeper/unresponsive_provider.go | 3 ++- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/x/pairing/keeper/epoch_cu.go b/x/pairing/keeper/epoch_cu.go index ffc77b5091..ac3a9b8573 100644 --- a/x/pairing/keeper/epoch_cu.go +++ b/x/pairing/keeper/epoch_cu.go @@ -139,9 +139,9 @@ func (k Keeper) GetAllProviderEpochCuStore(ctx sdk.Context) (epochs []uint64, ke /* ########## ProviderConsumerEpochCu ############ */ // SetProviderConsumerEpochCu sets a ProviderConsumerEpochCu in the store -func (k Keeper) SetProviderConsumerEpochCu(ctx sdk.Context, epoch uint64, provider string, project string, chainID string, ProviderConsumerEpochCu types.ProviderConsumerEpochCu) { +func (k Keeper) SetProviderConsumerEpochCu(ctx sdk.Context, epoch uint64, provider string, project string, chainID string, providerConsumerEpochCu types.ProviderConsumerEpochCu) { store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderConsumerEpochCuKeyPrefix(epoch)) - b := k.cdc.MustMarshal(&ProviderConsumerEpochCu) + b := k.cdc.MustMarshal(&providerConsumerEpochCu) store.Set(types.ProviderConsumerEpochCuKey(provider, project, chainID), b) } @@ -165,7 +165,7 @@ func (k Keeper) RemoveProviderConsumerEpochCu(ctx sdk.Context, epoch uint64, pro // GetAllProviderConsumerEpochCuStore returns all the ProviderConsumerEpochCu from the store (used for genesis) func (k Keeper) GetAllProviderConsumerEpochCu(ctx sdk.Context, epoch uint64) (keys []string, providerConsumerEpochCus []types.ProviderConsumerEpochCu) { - store := prefix.NewStore(ctx.KVStore(k.storeKey), []byte(types.ProviderConsumerEpochCuKeyPrefix(epoch))) + store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderConsumerEpochCuKeyPrefix(epoch)) iterator := sdk.KVStorePrefixIterator(store, []byte{}) // Get an iterator with no prefix to iterate over all keys defer iterator.Close() for ; iterator.Valid(); iterator.Next() { diff --git a/x/pairing/keeper/msg_server_relay_payment.go b/x/pairing/keeper/msg_server_relay_payment.go index cee3bf174c..dcea419633 100644 --- a/x/pairing/keeper/msg_server_relay_payment.go +++ b/x/pairing/keeper/msg_server_relay_payment.go @@ -381,7 +381,8 @@ func (k msgServer) updateProvidersComplainerCU(ctx sdk.Context, unresponsiveProv "project": project, "cu": strconv.FormatUint(complainerCuToAdd, 10), "epoch": strconv.FormatUint(epoch, 10), - "total_complaint_this_epoch": strconv.FormatUint(pec.ComplainersCu, 10)} + "total_complaint_this_epoch": strconv.FormatUint(pec.ComplainersCu, 10), + } utils.LogLavaEvent(ctx, k.Logger(ctx), types.ProviderReportedEventName, details, "provider got reported by consumer") } diff --git a/x/pairing/keeper/unresponsive_provider.go b/x/pairing/keeper/unresponsive_provider.go index 1184d189ea..e90243ad5d 100644 --- a/x/pairing/keeper/unresponsive_provider.go +++ b/x/pairing/keeper/unresponsive_provider.go @@ -205,7 +205,8 @@ func (k Keeper) punishUnresponsiveProvider(ctx sdk.Context, epochs []uint64, pro "provider_address": provider, "chain_id": chainID, "complaint_cu": strconv.FormatUint(complaintCU, 10), - "serviced_cu": strconv.FormatUint(servicedCU, 10)}, + "serviced_cu": strconv.FormatUint(servicedCU, 10), + }, "Unresponsive provider was freezed due to unresponsiveness") // reset the provider's complainer CU (so he won't get punished for the same complaints twice) From 3e4937ad2fc531aae9d346db710b69820845ff4e Mon Sep 17 00:00:00 2001 From: oren-lava Date: Wed, 27 Mar 2024 11:22:31 +0200 Subject: [PATCH 12/35] CNS-930: changed query name ProviderEpochCu to ProvidersEpochCu --- proto/lavanet/lava/pairing/query.proto | 10 +- testutil/common/tester.go | 6 +- testutil/e2e/protocolE2E.go | 2 +- x/pairing/client/cli/query.go | 2 +- ...poch_cu.go => query_providers_epoch_cu.go} | 10 +- ...cu.go => grpc_query_providers_epoch_cu.go} | 4 +- x/pairing/types/query.pb.go | 324 +++++++++--------- x/pairing/types/query.pb.gw.go | 28 +- 8 files changed, 193 insertions(+), 193 deletions(-) rename x/pairing/client/cli/{query_provider_epoch_cu.go => query_providers_epoch_cu.go} (74%) rename x/pairing/keeper/{grpc_query_provider_epoch_cu.go => grpc_query_providers_epoch_cu.go} (81%) diff --git a/proto/lavanet/lava/pairing/query.proto b/proto/lavanet/lava/pairing/query.proto index 74ca0f5886..5164abbf9b 100644 --- a/proto/lavanet/lava/pairing/query.proto +++ b/proto/lavanet/lava/pairing/query.proto @@ -69,9 +69,9 @@ service Query { option (google.api.http).get = "/lavanet/lava/pairing/sdk_pairing"; } -// Queries a for the aggregated CU of all ProviderEpochCu object of a specific provider. -rpc ProviderEpochCu(QueryProviderEpochCuRequest) returns (QueryProviderEpochCuResponse) { - option (google.api.http).get = "/lavanet/lava/pairing/provider_epoch_cu"; +// Queries a for the aggregated CU of all ProviderEpochCu objects all the providers. +rpc ProvidersEpochCu(QueryProvidersEpochCuRequest) returns (QueryProvidersEpochCuResponse) { + option (google.api.http).get = "/lavanet/lava/pairing/providers_epoch_cu"; } // this line is used by starport scaffolding # 2 @@ -198,10 +198,10 @@ message QuerySubscriptionMonthlyPayoutResponse { repeated ChainIDPayout details = 2; } -message QueryProviderEpochCuRequest { +message QueryProvidersEpochCuRequest { } -message QueryProviderEpochCuResponse { +message QueryProvidersEpochCuResponse { repeated ProviderCuInfo info = 1 [(gogoproto.nullable) = false]; } diff --git a/testutil/common/tester.go b/testutil/common/tester.go index 7a809636d7..9660e00c75 100644 --- a/testutil/common/tester.go +++ b/testutil/common/tester.go @@ -826,9 +826,9 @@ func (ts *Tester) QueryPairingProviderMonthlyPayout(provider string) (*pairingty } // QueryPairingProviderEpochCu implements 'q pairing provider-epoch-cu' -func (ts *Tester) QueryPairingProviderEpochCu(provider string, project string, chainID string) (*pairingtypes.QueryProviderEpochCuResponse, error) { - msg := &pairingtypes.QueryProviderEpochCuRequest{} - return ts.Keepers.Pairing.ProviderEpochCu(ts.GoCtx, msg) +func (ts *Tester) QueryPairingProviderEpochCu(provider string, project string, chainID string) (*pairingtypes.QueryProvidersEpochCuResponse, error) { + msg := &pairingtypes.QueryProvidersEpochCuRequest{} + return ts.Keepers.Pairing.ProvidersEpochCu(ts.GoCtx, msg) } // QueryPairingSubscriptionMonthlyPayout implements 'q pairing subscription-monthly-payout' diff --git a/testutil/e2e/protocolE2E.go b/testutil/e2e/protocolE2E.go index 8c6fafd3ee..b315733c95 100644 --- a/testutil/e2e/protocolE2E.go +++ b/testutil/e2e/protocolE2E.go @@ -1161,7 +1161,7 @@ func (lt *lavaTest) getKeyAddress(key string) string { func calculateProviderCU(pairingClient pairingTypes.QueryClient) (map[string]uint64, error) { providerCU := make(map[string]uint64) - res, err := pairingClient.ProviderEpochCu(context.Background(), &pairingTypes.QueryProviderEpochCuRequest{}) + res, err := pairingClient.ProvidersEpochCu(context.Background(), &pairingTypes.QueryProvidersEpochCuRequest{}) if err != nil { return nil, err } diff --git a/x/pairing/client/cli/query.go b/x/pairing/client/cli/query.go index 5a201ec588..83c4814330 100644 --- a/x/pairing/client/cli/query.go +++ b/x/pairing/client/cli/query.go @@ -38,7 +38,7 @@ func GetQueryCmd(queryRoute string) *cobra.Command { cmd.AddCommand(CmdProviderMonthlyPayout()) cmd.AddCommand(CmdSubscriptionMonthlyPayout()) - cmd.AddCommand(CmdProviderEpochCu()) + cmd.AddCommand(CmdProvidersEpochCu()) cmd.AddCommand(CmdDebugQuery()) diff --git a/x/pairing/client/cli/query_provider_epoch_cu.go b/x/pairing/client/cli/query_providers_epoch_cu.go similarity index 74% rename from x/pairing/client/cli/query_provider_epoch_cu.go rename to x/pairing/client/cli/query_providers_epoch_cu.go index d40867dc31..09690a638d 100644 --- a/x/pairing/client/cli/query_provider_epoch_cu.go +++ b/x/pairing/client/cli/query_providers_epoch_cu.go @@ -7,12 +7,12 @@ import ( "github.com/spf13/cobra" ) -func CmdProviderEpochCu() *cobra.Command { +func CmdProvidersEpochCu() *cobra.Command { cmd := &cobra.Command{ - Use: "provider-epoch-cu", + Use: "providers-epoch-cu", Short: "Query to show the amount of CU serviced by all provider in a specific epoch", Example: ` - lavad q pairing provider-epoch-cu`, + lavad q pairing providers-epoch-cu`, Args: cobra.ExactArgs(1), RunE: func(cmd *cobra.Command, args []string) (err error) { clientCtx, err := client.GetClientQueryContext(cmd) @@ -21,9 +21,9 @@ func CmdProviderEpochCu() *cobra.Command { } queryClient := types.NewQueryClient(clientCtx) - params := &types.QueryProviderEpochCuRequest{} + params := &types.QueryProvidersEpochCuRequest{} - res, err := queryClient.ProviderEpochCu(cmd.Context(), params) + res, err := queryClient.ProvidersEpochCu(cmd.Context(), params) if err != nil { return err } diff --git a/x/pairing/keeper/grpc_query_provider_epoch_cu.go b/x/pairing/keeper/grpc_query_providers_epoch_cu.go similarity index 81% rename from x/pairing/keeper/grpc_query_provider_epoch_cu.go rename to x/pairing/keeper/grpc_query_providers_epoch_cu.go index 135d75f2a1..13df75101a 100644 --- a/x/pairing/keeper/grpc_query_provider_epoch_cu.go +++ b/x/pairing/keeper/grpc_query_providers_epoch_cu.go @@ -10,7 +10,7 @@ import ( "google.golang.org/grpc/status" ) -func (k Keeper) ProviderEpochCu(goCtx context.Context, req *types.QueryProviderEpochCuRequest) (*types.QueryProviderEpochCuResponse, error) { +func (k Keeper) ProvidersEpochCu(goCtx context.Context, req *types.QueryProvidersEpochCuRequest) (*types.QueryProvidersEpochCuResponse, error) { if req == nil { return nil, status.Error(codes.InvalidArgument, "invalid request") } @@ -40,5 +40,5 @@ func (k Keeper) ProviderEpochCu(goCtx context.Context, req *types.QueryProviderE return info[i].Provider < info[j].Provider }) - return &types.QueryProviderEpochCuResponse{Info: info}, nil + return &types.QueryProvidersEpochCuResponse{Info: info}, nil } diff --git a/x/pairing/types/query.pb.go b/x/pairing/types/query.pb.go index 955c9586a5..4399afba3d 100644 --- a/x/pairing/types/query.pb.go +++ b/x/pairing/types/query.pb.go @@ -1209,21 +1209,21 @@ func (m *QuerySubscriptionMonthlyPayoutResponse) GetDetails() []*ChainIDPayout { return nil } -type QueryProviderEpochCuRequest struct { +type QueryProvidersEpochCuRequest struct { } -func (m *QueryProviderEpochCuRequest) Reset() { *m = QueryProviderEpochCuRequest{} } -func (m *QueryProviderEpochCuRequest) String() string { return proto.CompactTextString(m) } -func (*QueryProviderEpochCuRequest) ProtoMessage() {} -func (*QueryProviderEpochCuRequest) Descriptor() ([]byte, []int) { +func (m *QueryProvidersEpochCuRequest) Reset() { *m = QueryProvidersEpochCuRequest{} } +func (m *QueryProvidersEpochCuRequest) String() string { return proto.CompactTextString(m) } +func (*QueryProvidersEpochCuRequest) ProtoMessage() {} +func (*QueryProvidersEpochCuRequest) Descriptor() ([]byte, []int) { return fileDescriptor_9e149ce9d21da0d8, []int{22} } -func (m *QueryProviderEpochCuRequest) XXX_Unmarshal(b []byte) error { +func (m *QueryProvidersEpochCuRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *QueryProviderEpochCuRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *QueryProvidersEpochCuRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_QueryProviderEpochCuRequest.Marshal(b, m, deterministic) + return xxx_messageInfo_QueryProvidersEpochCuRequest.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1233,34 +1233,34 @@ func (m *QueryProviderEpochCuRequest) XXX_Marshal(b []byte, deterministic bool) return b[:n], nil } } -func (m *QueryProviderEpochCuRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryProviderEpochCuRequest.Merge(m, src) +func (m *QueryProvidersEpochCuRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryProvidersEpochCuRequest.Merge(m, src) } -func (m *QueryProviderEpochCuRequest) XXX_Size() int { +func (m *QueryProvidersEpochCuRequest) XXX_Size() int { return m.Size() } -func (m *QueryProviderEpochCuRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryProviderEpochCuRequest.DiscardUnknown(m) +func (m *QueryProvidersEpochCuRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryProvidersEpochCuRequest.DiscardUnknown(m) } -var xxx_messageInfo_QueryProviderEpochCuRequest proto.InternalMessageInfo +var xxx_messageInfo_QueryProvidersEpochCuRequest proto.InternalMessageInfo -type QueryProviderEpochCuResponse struct { +type QueryProvidersEpochCuResponse struct { Info []ProviderCuInfo `protobuf:"bytes,1,rep,name=info,proto3" json:"info"` } -func (m *QueryProviderEpochCuResponse) Reset() { *m = QueryProviderEpochCuResponse{} } -func (m *QueryProviderEpochCuResponse) String() string { return proto.CompactTextString(m) } -func (*QueryProviderEpochCuResponse) ProtoMessage() {} -func (*QueryProviderEpochCuResponse) Descriptor() ([]byte, []int) { +func (m *QueryProvidersEpochCuResponse) Reset() { *m = QueryProvidersEpochCuResponse{} } +func (m *QueryProvidersEpochCuResponse) String() string { return proto.CompactTextString(m) } +func (*QueryProvidersEpochCuResponse) ProtoMessage() {} +func (*QueryProvidersEpochCuResponse) Descriptor() ([]byte, []int) { return fileDescriptor_9e149ce9d21da0d8, []int{23} } -func (m *QueryProviderEpochCuResponse) XXX_Unmarshal(b []byte) error { +func (m *QueryProvidersEpochCuResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *QueryProviderEpochCuResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *QueryProvidersEpochCuResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_QueryProviderEpochCuResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_QueryProvidersEpochCuResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1270,19 +1270,19 @@ func (m *QueryProviderEpochCuResponse) XXX_Marshal(b []byte, deterministic bool) return b[:n], nil } } -func (m *QueryProviderEpochCuResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryProviderEpochCuResponse.Merge(m, src) +func (m *QueryProvidersEpochCuResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryProvidersEpochCuResponse.Merge(m, src) } -func (m *QueryProviderEpochCuResponse) XXX_Size() int { +func (m *QueryProvidersEpochCuResponse) XXX_Size() int { return m.Size() } -func (m *QueryProviderEpochCuResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryProviderEpochCuResponse.DiscardUnknown(m) +func (m *QueryProvidersEpochCuResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryProvidersEpochCuResponse.DiscardUnknown(m) } -var xxx_messageInfo_QueryProviderEpochCuResponse proto.InternalMessageInfo +var xxx_messageInfo_QueryProvidersEpochCuResponse proto.InternalMessageInfo -func (m *QueryProviderEpochCuResponse) GetInfo() []ProviderCuInfo { +func (m *QueryProvidersEpochCuResponse) GetInfo() []ProviderCuInfo { if m != nil { return m.Info } @@ -1364,8 +1364,8 @@ func init() { proto.RegisterType((*ChainIDPayout)(nil), "lavanet.lava.pairing.ChainIDPayout") proto.RegisterType((*QuerySubscriptionMonthlyPayoutRequest)(nil), "lavanet.lava.pairing.QuerySubscriptionMonthlyPayoutRequest") proto.RegisterType((*QuerySubscriptionMonthlyPayoutResponse)(nil), "lavanet.lava.pairing.QuerySubscriptionMonthlyPayoutResponse") - proto.RegisterType((*QueryProviderEpochCuRequest)(nil), "lavanet.lava.pairing.QueryProviderEpochCuRequest") - proto.RegisterType((*QueryProviderEpochCuResponse)(nil), "lavanet.lava.pairing.QueryProviderEpochCuResponse") + proto.RegisterType((*QueryProvidersEpochCuRequest)(nil), "lavanet.lava.pairing.QueryProvidersEpochCuRequest") + proto.RegisterType((*QueryProvidersEpochCuResponse)(nil), "lavanet.lava.pairing.QueryProvidersEpochCuResponse") proto.RegisterType((*ProviderCuInfo)(nil), "lavanet.lava.pairing.ProviderCuInfo") } @@ -1373,107 +1373,107 @@ func init() { proto.RegisterFile("lavanet/lava/pairing/query.proto", fileDescrip var fileDescriptor_9e149ce9d21da0d8 = []byte{ // 1615 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0x4d, 0x4f, 0xdc, 0xd6, - 0x1a, 0xc6, 0xc3, 0x40, 0x98, 0x37, 0x01, 0xa2, 0x13, 0x48, 0xc0, 0x97, 0x4c, 0x88, 0x49, 0x6e, - 0xe0, 0x92, 0x3b, 0xbe, 0x70, 0x6f, 0x3e, 0x94, 0x90, 0xdc, 0x1b, 0x48, 0x6e, 0x44, 0x4a, 0x5b, - 0x30, 0x4d, 0x17, 0x5d, 0xd4, 0x32, 0xf6, 0x99, 0xc1, 0x61, 0xc6, 0xc7, 0xb1, 0x8f, 0x27, 0x50, - 0x34, 0xad, 0xd4, 0xfe, 0x81, 0x4a, 0x6d, 0x17, 0xdd, 0x47, 0xaa, 0xba, 0xe8, 0x0f, 0xa8, 0xd4, - 0x5d, 0xa5, 0x2a, 0x8b, 0x2e, 0x22, 0x75, 0xd3, 0x45, 0x55, 0x55, 0x49, 0xff, 0x40, 0xff, 0x41, - 0xe5, 0x73, 0x8e, 0x3d, 0xf6, 0xe0, 0xf1, 0x40, 0x9a, 0x0d, 0x33, 0xc7, 0x7e, 0x9f, 0x73, 0x9e, - 0xf7, 0x39, 0xef, 0xd7, 0x00, 0xd3, 0x75, 0xa3, 0x69, 0x38, 0x98, 0xaa, 0xe1, 0xa7, 0xea, 0x1a, - 0xb6, 0x67, 0x3b, 0x35, 0xf5, 0x71, 0x80, 0xbd, 0xbd, 0x8a, 0xeb, 0x11, 0x4a, 0xd0, 0x98, 0xb0, - 0xa8, 0x84, 0x9f, 0x15, 0x61, 0x21, 0x8f, 0xd5, 0x48, 0x8d, 0x30, 0x03, 0x35, 0xfc, 0xc6, 0x6d, - 0xe5, 0xa9, 0x1a, 0x21, 0xb5, 0x3a, 0x56, 0x0d, 0xd7, 0x56, 0x0d, 0xc7, 0x21, 0xd4, 0xa0, 0x36, - 0x71, 0x7c, 0xf1, 0xf6, 0x1f, 0x26, 0xf1, 0x1b, 0xc4, 0x57, 0xb7, 0x0c, 0x1f, 0xf3, 0x23, 0xd4, - 0xe6, 0xc2, 0x16, 0xa6, 0xc6, 0x82, 0xea, 0x1a, 0x35, 0xdb, 0x61, 0xc6, 0xc2, 0xf6, 0x7c, 0x26, - 0x2f, 0xd7, 0xf0, 0x8c, 0x46, 0xb4, 0xdd, 0x54, 0xca, 0xc4, 0x77, 0xb1, 0xc9, 0xfe, 0x88, 0xb7, - 0xe7, 0xd2, 0x1b, 0xd4, 0x0d, 0xc7, 0x57, 0x5d, 0x52, 0xb7, 0x4d, 0xe1, 0x97, 0x3c, 0x9f, 0x32, - 0xc0, 0x2e, 0x31, 0xb7, 0x7d, 0x4a, 0x3c, 0xa3, 0x86, 0x55, 0x9f, 0x1a, 0x3b, 0x58, 0xc7, 0x0e, - 0x8d, 0x44, 0x90, 0x2f, 0xa7, 0xcf, 0x0a, 0xb6, 0x7c, 0xd3, 0xb3, 0xdd, 0x90, 0x6f, 0x6a, 0x21, - 0xac, 0x67, 0xd2, 0x67, 0x7b, 0xe4, 0x11, 0x36, 0xa9, 0x1f, 0x7d, 0x11, 0x46, 0x97, 0x52, 0x46, - 0x16, 0x79, 0xe2, 0x50, 0xbb, 0x81, 0xd5, 0xe6, 0x42, 0xfc, 0x9d, 0x1b, 0x2a, 0x63, 0x80, 0x36, - 0x42, 0xb1, 0xd6, 0x99, 0xf3, 0x1a, 0x7e, 0x1c, 0x60, 0x9f, 0x2a, 0x1b, 0x70, 0x2a, 0xf5, 0xd4, - 0x77, 0x89, 0xe3, 0x63, 0x74, 0x03, 0x06, 0xb9, 0x48, 0x13, 0xd2, 0xb4, 0x34, 0x7b, 0x7c, 0x71, - 0xaa, 0x92, 0x75, 0x7d, 0x15, 0x8e, 0x5a, 0x2e, 0x3e, 0xfb, 0xf5, 0x5c, 0x9f, 0x26, 0x10, 0xca, - 0x06, 0x8c, 0xf3, 0x2d, 0x3d, 0xd2, 0xb4, 0x2d, 0xec, 0x45, 0x67, 0xa1, 0x09, 0x38, 0x66, 0x6e, - 0x1b, 0xb6, 0xb3, 0x7a, 0x97, 0xed, 0x5a, 0xd2, 0xa2, 0x25, 0x2a, 0x03, 0xf8, 0xdb, 0xe4, 0xc9, - 0xff, 0x3d, 0xf2, 0x01, 0x76, 0x26, 0x0a, 0xd3, 0xd2, 0xec, 0x90, 0x96, 0x78, 0xa2, 0xec, 0xc0, - 0xe9, 0xce, 0x2d, 0x05, 0xd1, 0x37, 0x00, 0x98, 0xcc, 0xf7, 0x42, 0x95, 0x27, 0xa4, 0xe9, 0xfe, - 0xd9, 0xe3, 0x8b, 0x17, 0xd3, 0x64, 0x93, 0x77, 0x52, 0xd9, 0x8c, 0x8d, 0x05, 0xeb, 0x04, 0xfc, - 0x41, 0x71, 0xa8, 0x70, 0xb2, 0x5f, 0x79, 0x20, 0x0e, 0xbb, 0x8f, 0xe9, 0x3a, 0xf7, 0xb3, 0xb7, - 0x03, 0xa7, 0x61, 0xd0, 0xac, 0xdb, 0xd8, 0xa1, 0x8c, 0x7c, 0x49, 0x13, 0x2b, 0xe5, 0x9b, 0x02, - 0x9c, 0x39, 0xb0, 0x99, 0xa0, 0xbe, 0x0a, 0x25, 0x37, 0xf2, 0xe7, 0x55, 0x98, 0xb7, 0xd1, 0x68, - 0x06, 0x86, 0xcd, 0xc0, 0xf3, 0xb0, 0x43, 0x75, 0x86, 0x61, 0x2c, 0x8a, 0xda, 0x09, 0xf1, 0xf0, - 0x5e, 0xf8, 0x0c, 0x5d, 0x87, 0xc9, 0x30, 0x1c, 0xf4, 0x3a, 0xae, 0x52, 0x9d, 0x12, 0xdd, 0xc1, - 0xbb, 0x54, 0x17, 0x37, 0x39, 0xd1, 0xcf, 0x00, 0xe3, 0xa1, 0xc1, 0x1a, 0xae, 0xd2, 0x77, 0xc8, - 0x5b, 0x78, 0x37, 0x62, 0x8c, 0xae, 0xc0, 0x99, 0x30, 0x25, 0xf4, 0xba, 0xe1, 0x53, 0x3d, 0x70, - 0x2d, 0x83, 0x62, 0x4b, 0xdf, 0xaa, 0x13, 0x73, 0x67, 0xa2, 0xc8, 0x70, 0x63, 0xe1, 0xeb, 0x35, - 0xc3, 0xa7, 0x0f, 0xf9, 0xcb, 0xe5, 0xf0, 0x1d, 0x5a, 0x80, 0x71, 0x66, 0xa4, 0x93, 0x6a, 0xfa, - 0xb0, 0x01, 0x06, 0x42, 0xec, 0xe5, 0xdb, 0xd5, 0xc4, 0x49, 0xca, 0x47, 0x30, 0xc9, 0xe4, 0x7a, - 0x17, 0x7b, 0x76, 0x75, 0xef, 0xaf, 0xca, 0x8f, 0x64, 0x18, 0x8a, 0x44, 0x62, 0x1e, 0x96, 0xb4, - 0x78, 0x8d, 0xc6, 0x60, 0x20, 0xe9, 0x02, 0x5f, 0x28, 0x4f, 0x25, 0x90, 0xb3, 0x18, 0x88, 0x3b, - 0x1b, 0x83, 0x81, 0xa6, 0x51, 0xb7, 0x2d, 0x46, 0x60, 0x48, 0xe3, 0x0b, 0x34, 0x07, 0x27, 0x43, - 0xd7, 0xb0, 0xa5, 0xb7, 0x2f, 0x94, 0x0b, 0x3a, 0xca, 0x9f, 0xc7, 0x71, 0x8b, 0xa6, 0xe1, 0x84, - 0x19, 0xe8, 0x2e, 0xf6, 0xc4, 0x45, 0xf1, 0xc3, 0xc1, 0x0c, 0xd6, 0xb1, 0xc7, 0xaf, 0xe9, 0x2c, - 0x80, 0xc8, 0x70, 0xdd, 0xb6, 0x98, 0x54, 0x25, 0x76, 0xd5, 0xe1, 0x93, 0x55, 0x4b, 0xc4, 0xa8, - 0x21, 0x72, 0xec, 0xa1, 0x8f, 0x3d, 0x16, 0x13, 0x09, 0x8d, 0x0c, 0xcb, 0xf2, 0xb0, 0xef, 0x47, - 0x1a, 0x89, 0x65, 0x52, 0xbd, 0x42, 0x5a, 0xbd, 0x58, 0x89, 0xfe, 0xa4, 0x12, 0x4f, 0x44, 0x1a, - 0x24, 0x8e, 0x10, 0x22, 0xdc, 0x87, 0x21, 0x93, 0x38, 0x7e, 0xd0, 0xc0, 0x9e, 0x28, 0x0f, 0x47, - 0x8a, 0xdb, 0x18, 0x1c, 0x1e, 0xdc, 0x30, 0x76, 0x57, 0x1e, 0x8a, 0x70, 0xe5, 0x0b, 0xe5, 0x26, - 0x9c, 0x63, 0x07, 0x6f, 0x86, 0x65, 0xdf, 0x8c, 0xa5, 0x5b, 0xb3, 0x7d, 0xda, 0x33, 0x12, 0x94, - 0x06, 0x4c, 0x77, 0x07, 0xbf, 0xf6, 0xc4, 0x53, 0x36, 0xe0, 0x6f, 0xec, 0xb8, 0x7b, 0xd5, 0x2a, - 0x36, 0xa9, 0xdd, 0xc4, 0xeb, 0xac, 0x37, 0x44, 0x3c, 0xe5, 0x0e, 0xa5, 0x4a, 0x09, 0xe7, 0x4f, - 0xc3, 0x60, 0x98, 0x35, 0xf1, 0x75, 0x88, 0x95, 0xf2, 0x85, 0x04, 0x53, 0xd9, 0x7b, 0x0a, 0xfa, - 0x8b, 0x30, 0xc8, 0x3b, 0x90, 0x10, 0x5f, 0xee, 0xa8, 0xcd, 0x61, 0x8f, 0xaa, 0x08, 0x8c, 0xb0, - 0x44, 0x77, 0x60, 0xc4, 0xc5, 0x8e, 0x65, 0x3b, 0x35, 0x5d, 0x60, 0x0b, 0x3d, 0xb1, 0xc3, 0x02, - 0xc1, 0x97, 0xca, 0x1f, 0x92, 0x28, 0x65, 0x9b, 0xd6, 0x4e, 0x67, 0x5a, 0xdc, 0x87, 0x63, 0x51, - 0x6e, 0x73, 0x4e, 0xff, 0xcc, 0xee, 0x17, 0x5d, 0x4a, 0xa1, 0x16, 0xa1, 0xd1, 0x38, 0x0c, 0x36, - 0x8c, 0x5d, 0xdd, 0x0c, 0x92, 0x21, 0x11, 0xa0, 0x79, 0x28, 0x86, 0xea, 0xb0, 0x00, 0x3d, 0xbe, - 0x78, 0x26, 0xbd, 0x39, 0xeb, 0xd6, 0x9b, 0x2e, 0x36, 0x35, 0x66, 0x84, 0x56, 0x61, 0x34, 0x6a, - 0x7d, 0xba, 0x68, 0x62, 0x45, 0x86, 0x9b, 0x4e, 0xe3, 0xe2, 0xfe, 0xd8, 0x5c, 0x10, 0x8d, 0x4c, - 0x1b, 0x89, 0x9e, 0xf1, 0xb5, 0xf2, 0x5f, 0x38, 0x9f, 0xea, 0x3b, 0x6f, 0x12, 0x87, 0x6e, 0xd7, - 0xf7, 0xd6, 0x8d, 0x3d, 0x12, 0xd0, 0xc4, 0x25, 0xc7, 0x45, 0x46, 0x4a, 0x17, 0x19, 0x65, 0x07, - 0xd0, 0x66, 0xa2, 0xb1, 0x73, 0x20, 0x52, 0xe0, 0x44, 0xb2, 0xdd, 0x0b, 0x54, 0xea, 0x19, 0x9a, - 0x84, 0x21, 0x16, 0xd3, 0x61, 0x11, 0x48, 0xe5, 0xab, 0x15, 0x46, 0x8e, 0xd1, 0x20, 0x81, 0x43, - 0x45, 0xc2, 0x8a, 0x95, 0xf2, 0x21, 0x28, 0x79, 0x6c, 0xdb, 0x25, 0x8c, 0x12, 0x6a, 0xd4, 0xd9, - 0xa9, 0x45, 0x8d, 0x2f, 0xd0, 0x32, 0x1c, 0xb3, 0x30, 0x35, 0xec, 0xba, 0x3f, 0x51, 0x60, 0x19, - 0x31, 0x9b, 0x7d, 0x83, 0x07, 0xbd, 0xd1, 0x22, 0xa0, 0x72, 0x17, 0x46, 0xa2, 0xa3, 0x85, 0xa3, - 0x39, 0xd2, 0x24, 0xbc, 0x28, 0xa4, 0xbc, 0x78, 0x04, 0xc3, 0x2b, 0x3c, 0x99, 0xc5, 0x26, 0x49, - 0x25, 0xa4, 0xb4, 0x12, 0xb7, 0xc3, 0xb8, 0x0b, 0x8d, 0x22, 0xd6, 0x17, 0xba, 0xcc, 0x29, 0x29, - 0x5a, 0x5a, 0x04, 0x52, 0x56, 0xe0, 0x22, 0x0f, 0xe9, 0x84, 0x57, 0xdd, 0xee, 0xb8, 0x5b, 0x22, - 0x2b, 0x2d, 0xf8, 0x7b, 0xaf, 0x4d, 0x72, 0xa5, 0xbf, 0xd5, 0x29, 0xfd, 0x4c, 0xb6, 0x13, 0x29, - 0x55, 0xda, 0xaa, 0x9f, 0x15, 0x25, 0x28, 0xf2, 0x91, 0x75, 0x91, 0x95, 0x20, 0x1a, 0xf0, 0xde, - 0x17, 0xd5, 0xe4, 0xc0, 0x6b, 0xc1, 0xe9, 0x36, 0x14, 0x6d, 0xa7, 0x4a, 0x44, 0x1d, 0xec, 0xa1, - 0xdf, 0x4a, 0xb0, 0xea, 0x54, 0x89, 0x28, 0x83, 0x0c, 0xa7, 0x2c, 0xb5, 0x2f, 0x9d, 0xbf, 0xcd, - 0xbd, 0xf4, 0x11, 0x28, 0xc4, 0xb9, 0x5d, 0x30, 0x83, 0xc5, 0x6f, 0x47, 0x61, 0x80, 0xd1, 0x43, - 0x9f, 0x48, 0x30, 0xc8, 0xb3, 0x0e, 0xcd, 0xe6, 0x14, 0x8f, 0xd4, 0xf4, 0x2a, 0xcf, 0x1d, 0xc2, - 0x92, 0xfb, 0xa9, 0x5c, 0xf8, 0xf8, 0xa7, 0xdf, 0x3f, 0x2b, 0x94, 0xd1, 0x94, 0x9a, 0xf3, 0x93, - 0x00, 0x7d, 0x29, 0x41, 0xa9, 0xdd, 0xac, 0xe7, 0xf3, 0xb6, 0xef, 0x98, 0x6e, 0xe5, 0xcb, 0x87, - 0x33, 0x16, 0x74, 0x16, 0x18, 0x9d, 0x79, 0x34, 0xd7, 0x85, 0x4e, 0x04, 0x50, 0xf7, 0x45, 0x67, - 0x6b, 0xa1, 0xaf, 0x24, 0x80, 0x76, 0xed, 0x44, 0x97, 0x0f, 0x59, 0x62, 0x39, 0xbb, 0xa3, 0x15, - 0x64, 0x65, 0x89, 0xd1, 0xbb, 0x8a, 0xfe, 0x93, 0x4d, 0xaf, 0x86, 0xe3, 0x61, 0xae, 0x4d, 0x50, - 0xdd, 0xe7, 0x53, 0x57, 0x0b, 0xfd, 0x20, 0xc1, 0x70, 0x6a, 0x7e, 0x42, 0x6a, 0xce, 0xf1, 0x59, - 0xb3, 0x9e, 0xfc, 0xaf, 0xc3, 0x03, 0x04, 0x65, 0x8d, 0x51, 0x5e, 0x43, 0x0f, 0xb2, 0x29, 0x37, - 0x19, 0x28, 0x87, 0xb5, 0xba, 0x1f, 0x89, 0xde, 0x52, 0xf7, 0xd9, 0x08, 0xd4, 0x42, 0x4f, 0x25, - 0x28, 0xc5, 0xf3, 0x4f, 0x6e, 0x38, 0x74, 0x0e, 0x62, 0xb9, 0xe1, 0x70, 0x60, 0xa4, 0xea, 0xa5, - 0x77, 0xe0, 0x87, 0x03, 0x63, 0x88, 0x50, 0xf7, 0xc5, 0x3c, 0xd7, 0x4a, 0x44, 0xc6, 0xf7, 0x12, - 0x9c, 0xca, 0x18, 0x78, 0xd0, 0x95, 0x1c, 0x0e, 0xdd, 0xa7, 0x2b, 0xf9, 0xea, 0x51, 0x61, 0xc2, - 0x89, 0x5b, 0xcc, 0x89, 0x6b, 0xe8, 0x4a, 0xb6, 0x13, 0x3e, 0x83, 0xb6, 0x47, 0x64, 0xbd, 0x6e, - 0xfb, 0x34, 0xe1, 0xc5, 0x77, 0x12, 0x8c, 0x76, 0xcc, 0x3c, 0x68, 0x21, 0x87, 0x4a, 0xf6, 0xcc, - 0x25, 0x2f, 0x1e, 0x05, 0x22, 0x98, 0x2f, 0x33, 0xe6, 0x4b, 0xe8, 0x46, 0x36, 0x73, 0x1c, 0xc1, - 0xc4, 0xf0, 0xa4, 0xee, 0x47, 0xc5, 0xbf, 0xa5, 0xee, 0xf3, 0xb1, 0xad, 0x85, 0x7e, 0x94, 0x60, - 0x3c, 0xb3, 0xf3, 0xa2, 0x6b, 0x87, 0xa8, 0x0c, 0x59, 0x5d, 0x47, 0xbe, 0x7e, 0x74, 0xa0, 0x70, - 0xe8, 0x7f, 0xcc, 0xa1, 0x1b, 0xe8, 0x7a, 0x7e, 0x79, 0xd1, 0x1b, 0x1c, 0xad, 0xf3, 0x86, 0x98, - 0x48, 0x01, 0xf4, 0x8b, 0x04, 0x93, 0x5d, 0x3b, 0x1a, 0xba, 0x99, 0x17, 0x22, 0x3d, 0x9a, 0xa9, - 0xbc, 0xf4, 0x6a, 0x60, 0xe1, 0xda, 0x5d, 0xe6, 0xda, 0x6d, 0xb4, 0xd4, 0x25, 0xca, 0x12, 0x1b, - 0x1c, 0x70, 0x2f, 0xbe, 0x36, 0xf4, 0xb9, 0x04, 0xd0, 0x1e, 0x64, 0x5f, 0x63, 0x31, 0x3d, 0x38, - 0x1d, 0x2b, 0x73, 0x8c, 0xf1, 0x0c, 0x3a, 0xdf, 0x85, 0xb1, 0xb5, 0x13, 0x95, 0x25, 0xf4, 0xb5, - 0x04, 0xa3, 0x1d, 0x9d, 0x3a, 0x37, 0x07, 0xb2, 0x9b, 0x7e, 0x6e, 0x0e, 0x74, 0x19, 0x04, 0x14, - 0x95, 0xb1, 0x9c, 0x43, 0x97, 0x7a, 0x84, 0x0c, 0xfb, 0x6d, 0xa4, 0x9b, 0xc1, 0xf2, 0x9d, 0x67, - 0x2f, 0xca, 0xd2, 0xf3, 0x17, 0x65, 0xe9, 0xb7, 0x17, 0x65, 0xe9, 0xd3, 0x97, 0xe5, 0xbe, 0xe7, - 0x2f, 0xcb, 0x7d, 0x3f, 0xbf, 0x2c, 0xf7, 0xbd, 0x77, 0xa9, 0x66, 0xd3, 0xed, 0x60, 0xab, 0x62, - 0x92, 0x46, 0x7a, 0xb3, 0xdd, 0x78, 0x3b, 0xba, 0xe7, 0x62, 0x7f, 0x6b, 0x90, 0xfd, 0x6b, 0xea, - 0xdf, 0x7f, 0x06, 0x00, 0x00, 0xff, 0xff, 0xb8, 0xef, 0x0b, 0xe7, 0x3f, 0x14, 0x00, 0x00, + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0x4d, 0x73, 0xd4, 0x46, + 0x1a, 0xb6, 0xc6, 0x63, 0xe3, 0x79, 0xc1, 0x36, 0xd5, 0xd8, 0x60, 0x6b, 0xcd, 0x60, 0x64, 0x58, + 0x6c, 0xcc, 0x8e, 0xb0, 0x59, 0x3e, 0x0a, 0x0c, 0xbb, 0xd8, 0xb0, 0x94, 0x59, 0xef, 0xae, 0x2d, + 0x2f, 0x7b, 0xd8, 0x8b, 0x4a, 0x96, 0x7a, 0xc6, 0xc2, 0x33, 0x6a, 0x21, 0xb5, 0x06, 0x3b, 0xae, + 0x49, 0xaa, 0x92, 0x3f, 0x90, 0xaa, 0x24, 0x87, 0xdc, 0xa9, 0xca, 0x89, 0x7f, 0x90, 0x9c, 0x52, + 0x95, 0xe2, 0x90, 0x03, 0x55, 0xb9, 0xe4, 0x90, 0x4a, 0xa5, 0x20, 0x7f, 0x20, 0xff, 0x20, 0xa5, + 0xee, 0x96, 0x46, 0x1a, 0x6b, 0x34, 0x36, 0xe1, 0xe2, 0x99, 0x96, 0xde, 0xa7, 0xfb, 0x79, 0x9f, + 0x7e, 0xbf, 0xc6, 0x30, 0x5d, 0x37, 0x9a, 0x86, 0x83, 0xa9, 0x1a, 0x7e, 0xaa, 0xae, 0x61, 0x7b, + 0xb6, 0x53, 0x53, 0x9f, 0x05, 0xd8, 0xdb, 0xab, 0xb8, 0x1e, 0xa1, 0x04, 0x8d, 0x09, 0x8b, 0x4a, + 0xf8, 0x59, 0x11, 0x16, 0xf2, 0x58, 0x8d, 0xd4, 0x08, 0x33, 0x50, 0xc3, 0x6f, 0xdc, 0x56, 0x9e, + 0xaa, 0x11, 0x52, 0xab, 0x63, 0xd5, 0x70, 0x6d, 0xd5, 0x70, 0x1c, 0x42, 0x0d, 0x6a, 0x13, 0xc7, + 0x17, 0x6f, 0x2f, 0x9b, 0xc4, 0x6f, 0x10, 0x5f, 0xdd, 0x32, 0x7c, 0xcc, 0x8f, 0x50, 0x9b, 0x0b, + 0x5b, 0x98, 0x1a, 0x0b, 0xaa, 0x6b, 0xd4, 0x6c, 0x87, 0x19, 0x0b, 0xdb, 0xf3, 0x99, 0xbc, 0x5c, + 0xc3, 0x33, 0x1a, 0xd1, 0x76, 0x53, 0x29, 0x13, 0xdf, 0xc5, 0x26, 0xfb, 0x23, 0xde, 0x9e, 0x4b, + 0x6f, 0x50, 0x37, 0x1c, 0x5f, 0x75, 0x49, 0xdd, 0x36, 0x85, 0x5f, 0xf2, 0x7c, 0xca, 0x00, 0xbb, + 0xc4, 0xdc, 0xf6, 0x29, 0xf1, 0x8c, 0x1a, 0x56, 0x7d, 0x6a, 0xec, 0x60, 0x1d, 0x3b, 0x34, 0x12, + 0x41, 0xbe, 0x92, 0x3e, 0x2b, 0xd8, 0xf2, 0x4d, 0xcf, 0x76, 0x43, 0xbe, 0xa9, 0x85, 0xb0, 0x9e, + 0x49, 0x9f, 0xed, 0x91, 0xa7, 0xd8, 0xa4, 0x7e, 0xf4, 0x45, 0x18, 0x5d, 0x4a, 0x19, 0x59, 0xe4, + 0xb9, 0x43, 0xed, 0x06, 0x56, 0x9b, 0x0b, 0xf1, 0x77, 0x6e, 0xa8, 0x8c, 0x01, 0xda, 0x08, 0xc5, + 0x5a, 0x67, 0xce, 0x6b, 0xf8, 0x59, 0x80, 0x7d, 0xaa, 0x6c, 0xc0, 0xa9, 0xd4, 0x53, 0xdf, 0x25, + 0x8e, 0x8f, 0xd1, 0x6d, 0x18, 0xe4, 0x22, 0x4d, 0x48, 0xd3, 0xd2, 0xec, 0xf1, 0xc5, 0xa9, 0x4a, + 0xd6, 0xf5, 0x55, 0x38, 0x6a, 0xb9, 0xf8, 0xea, 0xe7, 0x73, 0x7d, 0x9a, 0x40, 0x28, 0x1b, 0x30, + 0xce, 0xb7, 0xf4, 0x48, 0xd3, 0xb6, 0xb0, 0x17, 0x9d, 0x85, 0x26, 0xe0, 0x98, 0xb9, 0x6d, 0xd8, + 0xce, 0xea, 0x03, 0xb6, 0x6b, 0x49, 0x8b, 0x96, 0xa8, 0x0c, 0xe0, 0x6f, 0x93, 0xe7, 0xff, 0xf0, + 0xc8, 0x07, 0xd8, 0x99, 0x28, 0x4c, 0x4b, 0xb3, 0x43, 0x5a, 0xe2, 0x89, 0xb2, 0x03, 0xa7, 0x3b, + 0xb7, 0x14, 0x44, 0xff, 0x09, 0xc0, 0x64, 0x7e, 0x18, 0xaa, 0x3c, 0x21, 0x4d, 0xf7, 0xcf, 0x1e, + 0x5f, 0xbc, 0x98, 0x26, 0x9b, 0xbc, 0x93, 0xca, 0x66, 0x6c, 0x2c, 0x58, 0x27, 0xe0, 0x8f, 0x8b, + 0x43, 0x85, 0x93, 0xfd, 0xca, 0x63, 0x71, 0xd8, 0x23, 0x4c, 0xd7, 0xb9, 0x9f, 0xbd, 0x1d, 0x38, + 0x0d, 0x83, 0x66, 0xdd, 0xc6, 0x0e, 0x65, 0xe4, 0x4b, 0x9a, 0x58, 0x29, 0x2f, 0x0b, 0x70, 0xe6, + 0xc0, 0x66, 0x82, 0xfa, 0x2a, 0x94, 0xdc, 0xc8, 0x9f, 0x77, 0x61, 0xde, 0x46, 0xa3, 0x19, 0x18, + 0x36, 0x03, 0xcf, 0xc3, 0x0e, 0xd5, 0x19, 0x86, 0xb1, 0x28, 0x6a, 0x27, 0xc4, 0xc3, 0x87, 0xe1, + 0x33, 0x74, 0x0b, 0x26, 0xc3, 0x70, 0xd0, 0xeb, 0xb8, 0x4a, 0x75, 0x4a, 0x74, 0x07, 0xef, 0x52, + 0x5d, 0xdc, 0xe4, 0x44, 0x3f, 0x03, 0x8c, 0x87, 0x06, 0x6b, 0xb8, 0x4a, 0xff, 0x4b, 0xfe, 0x8d, + 0x77, 0x23, 0xc6, 0xe8, 0x3a, 0x9c, 0x09, 0x53, 0x42, 0xaf, 0x1b, 0x3e, 0xd5, 0x03, 0xd7, 0x32, + 0x28, 0xb6, 0xf4, 0xad, 0x3a, 0x31, 0x77, 0x26, 0x8a, 0x0c, 0x37, 0x16, 0xbe, 0x5e, 0x33, 0x7c, + 0xfa, 0x84, 0xbf, 0x5c, 0x0e, 0xdf, 0xa1, 0x05, 0x18, 0x67, 0x46, 0x3a, 0xa9, 0xa6, 0x0f, 0x1b, + 0x60, 0x20, 0xc4, 0x5e, 0xfe, 0xa7, 0x9a, 0x38, 0x49, 0xf9, 0x08, 0x26, 0x99, 0x5c, 0xff, 0xc3, + 0x9e, 0x5d, 0xdd, 0xfb, 0xa3, 0xf2, 0x23, 0x19, 0x86, 0x22, 0x91, 0x98, 0x87, 0x25, 0x2d, 0x5e, + 0xa3, 0x31, 0x18, 0x48, 0xba, 0xc0, 0x17, 0xca, 0x0b, 0x09, 0xe4, 0x2c, 0x06, 0xe2, 0xce, 0xc6, + 0x60, 0xa0, 0x69, 0xd4, 0x6d, 0x8b, 0x11, 0x18, 0xd2, 0xf8, 0x02, 0xcd, 0xc1, 0xc9, 0xd0, 0x35, + 0x6c, 0xe9, 0xed, 0x0b, 0xe5, 0x82, 0x8e, 0xf2, 0xe7, 0x71, 0xdc, 0xa2, 0x69, 0x38, 0x61, 0x06, + 0xba, 0x8b, 0x3d, 0x71, 0x51, 0xfc, 0x70, 0x30, 0x83, 0x75, 0xec, 0xf1, 0x6b, 0x3a, 0x0b, 0x20, + 0x32, 0x5c, 0xb7, 0x2d, 0x26, 0x55, 0x89, 0x5d, 0x75, 0xf8, 0x64, 0xd5, 0x12, 0x31, 0x6a, 0x88, + 0x1c, 0x7b, 0xe2, 0x63, 0x8f, 0xc5, 0x44, 0x42, 0x23, 0xc3, 0xb2, 0x3c, 0xec, 0xfb, 0x91, 0x46, + 0x62, 0x99, 0x54, 0xaf, 0x90, 0x56, 0x2f, 0x56, 0xa2, 0x3f, 0xa9, 0xc4, 0x73, 0x91, 0x06, 0x89, + 0x23, 0x84, 0x08, 0x8f, 0x60, 0xc8, 0x24, 0x8e, 0x1f, 0x34, 0xb0, 0x27, 0xca, 0xc3, 0x91, 0xe2, + 0x36, 0x06, 0x87, 0x07, 0x37, 0x8c, 0xdd, 0x95, 0x27, 0x22, 0x5c, 0xf9, 0x42, 0xb9, 0x03, 0xe7, + 0xd8, 0xc1, 0x9b, 0x61, 0xd9, 0x37, 0x63, 0xe9, 0xd6, 0x6c, 0x9f, 0xf6, 0x8c, 0x04, 0xa5, 0x01, + 0xd3, 0xdd, 0xc1, 0xef, 0x3d, 0xf1, 0x94, 0x0d, 0xf8, 0x13, 0x3b, 0xee, 0x61, 0xb5, 0x8a, 0x4d, + 0x6a, 0x37, 0xf1, 0x3a, 0xeb, 0x0d, 0x11, 0x4f, 0xb9, 0x43, 0xa9, 0x52, 0xc2, 0xf9, 0xd3, 0x30, + 0x18, 0x66, 0x4d, 0x7c, 0x1d, 0x62, 0xa5, 0x7c, 0x21, 0xc1, 0x54, 0xf6, 0x9e, 0x82, 0xfe, 0x22, + 0x0c, 0xf2, 0x0e, 0x24, 0xc4, 0x97, 0x3b, 0x6a, 0x73, 0xd8, 0xa3, 0x2a, 0x02, 0x23, 0x2c, 0xd1, + 0x7d, 0x18, 0x71, 0xb1, 0x63, 0xd9, 0x4e, 0x4d, 0x17, 0xd8, 0x42, 0x4f, 0xec, 0xb0, 0x40, 0xf0, + 0xa5, 0xf2, 0x9b, 0x24, 0x4a, 0xd9, 0xa6, 0xb5, 0xd3, 0x99, 0x16, 0x8f, 0xe0, 0x58, 0x94, 0xdb, + 0x9c, 0xd3, 0x5f, 0xb2, 0xfb, 0x45, 0x97, 0x52, 0xa8, 0x45, 0x68, 0x34, 0x0e, 0x83, 0x0d, 0x63, + 0x57, 0x37, 0x83, 0x64, 0x48, 0x04, 0x68, 0x1e, 0x8a, 0xa1, 0x3a, 0x2c, 0x40, 0x8f, 0x2f, 0x9e, + 0x49, 0x6f, 0xce, 0xba, 0xf5, 0xa6, 0x8b, 0x4d, 0x8d, 0x19, 0xa1, 0x55, 0x18, 0x8d, 0x5a, 0x9f, + 0x2e, 0x9a, 0x58, 0x91, 0xe1, 0xa6, 0xd3, 0xb8, 0xb8, 0x3f, 0x36, 0x17, 0x44, 0x23, 0xd3, 0x46, + 0xa2, 0x67, 0x7c, 0xad, 0xfc, 0x0d, 0xce, 0xa7, 0xfa, 0xce, 0xbf, 0x88, 0x43, 0xb7, 0xeb, 0x7b, + 0xeb, 0xc6, 0x1e, 0x09, 0x68, 0xe2, 0x92, 0xe3, 0x22, 0x23, 0xa5, 0x8b, 0x8c, 0xb2, 0x03, 0x68, + 0x33, 0xd1, 0xd8, 0x39, 0x10, 0x29, 0x70, 0x22, 0xd9, 0xee, 0x05, 0x2a, 0xf5, 0x0c, 0x4d, 0xc2, + 0x10, 0x8b, 0xe9, 0xb0, 0x08, 0xa4, 0xf2, 0xd5, 0x0a, 0x23, 0xc7, 0x68, 0x90, 0xc0, 0xa1, 0x22, + 0x61, 0xc5, 0x4a, 0xf9, 0x10, 0x94, 0x3c, 0xb6, 0xed, 0x12, 0x46, 0x09, 0x35, 0xea, 0xec, 0xd4, + 0xa2, 0xc6, 0x17, 0x68, 0x19, 0x8e, 0x59, 0x98, 0x1a, 0x76, 0xdd, 0x9f, 0x28, 0xb0, 0x8c, 0x98, + 0xcd, 0xbe, 0xc1, 0x83, 0xde, 0x68, 0x11, 0x50, 0x79, 0x00, 0x23, 0xd1, 0xd1, 0xc2, 0xd1, 0x1c, + 0x69, 0x12, 0x5e, 0x14, 0x52, 0x5e, 0x3c, 0x85, 0xe1, 0x15, 0x9e, 0xcc, 0x62, 0x93, 0xa4, 0x12, + 0x52, 0x5a, 0x89, 0x7b, 0x61, 0xdc, 0x85, 0x46, 0x11, 0xeb, 0x0b, 0x5d, 0xe6, 0x94, 0x14, 0x2d, + 0x2d, 0x02, 0x29, 0x2b, 0x70, 0x91, 0x87, 0x74, 0xc2, 0xab, 0x6e, 0x77, 0xdc, 0x2d, 0x91, 0x95, + 0x16, 0xfc, 0xb9, 0xd7, 0x26, 0xb9, 0xd2, 0xdf, 0xed, 0x94, 0x7e, 0x26, 0xdb, 0x89, 0x94, 0x2a, + 0x6d, 0xd5, 0xcb, 0xa2, 0x5c, 0xc4, 0xb5, 0x8e, 0xb5, 0x91, 0x95, 0x20, 0x9a, 0xf0, 0x74, 0x38, + 0xdb, 0xe5, 0xbd, 0x60, 0x75, 0x0f, 0x8a, 0xb6, 0x53, 0x25, 0xa2, 0x12, 0xf6, 0x50, 0x70, 0x25, + 0x58, 0x75, 0xaa, 0x44, 0x14, 0x42, 0x86, 0x53, 0x96, 0xda, 0xd7, 0xce, 0xdf, 0xe6, 0x5e, 0xfb, + 0x08, 0x14, 0xe2, 0xec, 0x2e, 0x98, 0xc1, 0xe2, 0x37, 0xa3, 0x30, 0xc0, 0xf8, 0xa1, 0x4f, 0x24, + 0x18, 0xe4, 0x79, 0x87, 0x66, 0x73, 0xca, 0x47, 0x6a, 0x7e, 0x95, 0xe7, 0x0e, 0x61, 0xc9, 0xfd, + 0x54, 0x2e, 0x7c, 0xfc, 0xc3, 0xaf, 0x9f, 0x15, 0xca, 0x68, 0x4a, 0xcd, 0xf9, 0x51, 0x80, 0xbe, + 0x94, 0xa0, 0xd4, 0x6e, 0xd7, 0xf3, 0x79, 0xdb, 0x77, 0xcc, 0xb7, 0xf2, 0x95, 0xc3, 0x19, 0x0b, + 0x3a, 0x0b, 0x8c, 0xce, 0x3c, 0x9a, 0xeb, 0x42, 0x27, 0x02, 0xa8, 0xfb, 0xa2, 0xb7, 0xb5, 0xd0, + 0x57, 0x12, 0x40, 0xbb, 0x7a, 0xa2, 0x2b, 0x87, 0x2c, 0xb2, 0x9c, 0xdd, 0xd1, 0x4a, 0xb2, 0xb2, + 0xc4, 0xe8, 0xdd, 0x40, 0x7f, 0xcd, 0xa6, 0x57, 0xc3, 0xf1, 0x38, 0xd7, 0x26, 0xa8, 0xee, 0xf3, + 0xb9, 0xab, 0x85, 0xbe, 0x93, 0x60, 0x38, 0x35, 0x41, 0x21, 0x35, 0xe7, 0xf8, 0xac, 0x69, 0x4f, + 0xbe, 0x7a, 0x78, 0x80, 0xa0, 0xac, 0x31, 0xca, 0x6b, 0xe8, 0x71, 0x36, 0xe5, 0x26, 0x03, 0xe5, + 0xb0, 0x56, 0xf7, 0x23, 0xd1, 0x5b, 0xea, 0x3e, 0x1b, 0x82, 0x5a, 0xe8, 0x85, 0x04, 0xa5, 0x78, + 0x02, 0xca, 0x0d, 0x87, 0xce, 0x51, 0x2c, 0x37, 0x1c, 0x0e, 0x0c, 0x55, 0xbd, 0xf4, 0x0e, 0xfc, + 0x70, 0x64, 0x0c, 0x11, 0xea, 0xbe, 0x98, 0xe8, 0x5a, 0x89, 0xc8, 0xf8, 0x56, 0x82, 0x53, 0x19, + 0x23, 0x0f, 0xba, 0x9e, 0xc3, 0xa1, 0xfb, 0x7c, 0x25, 0xdf, 0x38, 0x2a, 0x4c, 0x38, 0x71, 0x97, + 0x39, 0x71, 0x13, 0x5d, 0xcf, 0x76, 0xc2, 0x67, 0xd0, 0xf6, 0x90, 0xac, 0xd7, 0x6d, 0x9f, 0x26, + 0xbc, 0xf8, 0x5a, 0x82, 0xd1, 0x8e, 0xa9, 0x07, 0x2d, 0xe4, 0x50, 0xc9, 0x9e, 0xba, 0xe4, 0xc5, + 0xa3, 0x40, 0x04, 0xf3, 0x65, 0xc6, 0x7c, 0x09, 0xdd, 0xce, 0x66, 0x8e, 0x23, 0x98, 0x18, 0x9f, + 0xd4, 0xfd, 0xa8, 0xfc, 0xb7, 0xd4, 0x7d, 0x3e, 0xb8, 0xb5, 0xd0, 0xf7, 0x12, 0x8c, 0x67, 0xf6, + 0x5e, 0x74, 0xf3, 0x10, 0x95, 0x21, 0xab, 0xef, 0xc8, 0xb7, 0x8e, 0x0e, 0x14, 0x0e, 0xfd, 0x9d, + 0x39, 0x74, 0x1b, 0xdd, 0xca, 0x2f, 0x2f, 0x7a, 0x83, 0xa3, 0x75, 0xde, 0x12, 0x13, 0x29, 0x80, + 0x7e, 0x92, 0x60, 0xb2, 0x6b, 0x4f, 0x43, 0x77, 0xf2, 0x42, 0xa4, 0x47, 0x3b, 0x95, 0x97, 0xde, + 0x0d, 0x2c, 0x5c, 0x7b, 0xc0, 0x5c, 0xbb, 0x87, 0x96, 0xba, 0x44, 0x59, 0x62, 0x83, 0x03, 0xee, + 0xc5, 0xd7, 0x86, 0x3e, 0x97, 0x00, 0xda, 0xa3, 0xec, 0x7b, 0x2c, 0xa6, 0x07, 0xe7, 0x63, 0x65, + 0x8e, 0x31, 0x9e, 0x41, 0xe7, 0xbb, 0x30, 0xb6, 0x76, 0xa2, 0xb2, 0x84, 0x5e, 0x4a, 0x70, 0xb2, + 0xb3, 0x55, 0xa3, 0xc5, 0xc3, 0x74, 0x96, 0x74, 0xdf, 0x97, 0xaf, 0x1d, 0x09, 0x23, 0x88, 0x5e, + 0x65, 0x44, 0x2f, 0xa3, 0xd9, 0x1e, 0x4d, 0x89, 0xff, 0x7a, 0xd5, 0xcd, 0x60, 0xf9, 0xfe, 0xab, + 0x37, 0x65, 0xe9, 0xf5, 0x9b, 0xb2, 0xf4, 0xcb, 0x9b, 0xb2, 0xf4, 0xe9, 0xdb, 0x72, 0xdf, 0xeb, + 0xb7, 0xe5, 0xbe, 0x1f, 0xdf, 0x96, 0xfb, 0xfe, 0x7f, 0xa9, 0x66, 0xd3, 0xed, 0x60, 0xab, 0x62, + 0x92, 0x46, 0x7a, 0xb7, 0xdd, 0x78, 0x3f, 0xba, 0xe7, 0x62, 0x7f, 0x6b, 0x90, 0xfd, 0x83, 0xea, + 0xda, 0xef, 0x01, 0x00, 0x00, 0xff, 0xff, 0x1f, 0xa2, 0x9a, 0x9b, 0x45, 0x14, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -1508,8 +1508,8 @@ type QueryClient interface { SubscriptionMonthlyPayout(ctx context.Context, in *QuerySubscriptionMonthlyPayoutRequest, opts ...grpc.CallOption) (*QuerySubscriptionMonthlyPayoutResponse, error) // Queries a list of SdkPairing items. SdkPairing(ctx context.Context, in *QueryGetPairingRequest, opts ...grpc.CallOption) (*QuerySdkPairingResponse, error) - // Queries a for the aggregated CU of all ProviderEpochCu object of a specific provider. - ProviderEpochCu(ctx context.Context, in *QueryProviderEpochCuRequest, opts ...grpc.CallOption) (*QueryProviderEpochCuResponse, error) + // Queries a for the aggregated CU of all ProviderEpochCu objects all the providers. + ProvidersEpochCu(ctx context.Context, in *QueryProvidersEpochCuRequest, opts ...grpc.CallOption) (*QueryProvidersEpochCuResponse, error) } type queryClient struct { @@ -1610,9 +1610,9 @@ func (c *queryClient) SdkPairing(ctx context.Context, in *QueryGetPairingRequest return out, nil } -func (c *queryClient) ProviderEpochCu(ctx context.Context, in *QueryProviderEpochCuRequest, opts ...grpc.CallOption) (*QueryProviderEpochCuResponse, error) { - out := new(QueryProviderEpochCuResponse) - err := c.cc.Invoke(ctx, "/lavanet.lava.pairing.Query/ProviderEpochCu", in, out, opts...) +func (c *queryClient) ProvidersEpochCu(ctx context.Context, in *QueryProvidersEpochCuRequest, opts ...grpc.CallOption) (*QueryProvidersEpochCuResponse, error) { + out := new(QueryProvidersEpochCuResponse) + err := c.cc.Invoke(ctx, "/lavanet.lava.pairing.Query/ProvidersEpochCu", in, out, opts...) if err != nil { return nil, err } @@ -1641,8 +1641,8 @@ type QueryServer interface { SubscriptionMonthlyPayout(context.Context, *QuerySubscriptionMonthlyPayoutRequest) (*QuerySubscriptionMonthlyPayoutResponse, error) // Queries a list of SdkPairing items. SdkPairing(context.Context, *QueryGetPairingRequest) (*QuerySdkPairingResponse, error) - // Queries a for the aggregated CU of all ProviderEpochCu object of a specific provider. - ProviderEpochCu(context.Context, *QueryProviderEpochCuRequest) (*QueryProviderEpochCuResponse, error) + // Queries a for the aggregated CU of all ProviderEpochCu objects all the providers. + ProvidersEpochCu(context.Context, *QueryProvidersEpochCuRequest) (*QueryProvidersEpochCuResponse, error) } // UnimplementedQueryServer can be embedded to have forward compatible implementations. @@ -1679,8 +1679,8 @@ func (*UnimplementedQueryServer) SubscriptionMonthlyPayout(ctx context.Context, func (*UnimplementedQueryServer) SdkPairing(ctx context.Context, req *QueryGetPairingRequest) (*QuerySdkPairingResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SdkPairing not implemented") } -func (*UnimplementedQueryServer) ProviderEpochCu(ctx context.Context, req *QueryProviderEpochCuRequest) (*QueryProviderEpochCuResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ProviderEpochCu not implemented") +func (*UnimplementedQueryServer) ProvidersEpochCu(ctx context.Context, req *QueryProvidersEpochCuRequest) (*QueryProvidersEpochCuResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ProvidersEpochCu not implemented") } func RegisterQueryServer(s grpc1.Server, srv QueryServer) { @@ -1867,20 +1867,20 @@ func _Query_SdkPairing_Handler(srv interface{}, ctx context.Context, dec func(in return interceptor(ctx, in, info, handler) } -func _Query_ProviderEpochCu_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryProviderEpochCuRequest) +func _Query_ProvidersEpochCu_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryProvidersEpochCuRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(QueryServer).ProviderEpochCu(ctx, in) + return srv.(QueryServer).ProvidersEpochCu(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/lavanet.lava.pairing.Query/ProviderEpochCu", + FullMethod: "/lavanet.lava.pairing.Query/ProvidersEpochCu", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).ProviderEpochCu(ctx, req.(*QueryProviderEpochCuRequest)) + return srv.(QueryServer).ProvidersEpochCu(ctx, req.(*QueryProvidersEpochCuRequest)) } return interceptor(ctx, in, info, handler) } @@ -1930,8 +1930,8 @@ var _Query_serviceDesc = grpc.ServiceDesc{ Handler: _Query_SdkPairing_Handler, }, { - MethodName: "ProviderEpochCu", - Handler: _Query_ProviderEpochCu_Handler, + MethodName: "ProvidersEpochCu", + Handler: _Query_ProvidersEpochCu_Handler, }, }, Streams: []grpc.StreamDesc{}, @@ -2824,7 +2824,7 @@ func (m *QuerySubscriptionMonthlyPayoutResponse) MarshalToSizedBuffer(dAtA []byt return len(dAtA) - i, nil } -func (m *QueryProviderEpochCuRequest) Marshal() (dAtA []byte, err error) { +func (m *QueryProvidersEpochCuRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -2834,12 +2834,12 @@ func (m *QueryProviderEpochCuRequest) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryProviderEpochCuRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryProvidersEpochCuRequest) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryProviderEpochCuRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryProvidersEpochCuRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -2847,7 +2847,7 @@ func (m *QueryProviderEpochCuRequest) MarshalToSizedBuffer(dAtA []byte) (int, er return len(dAtA) - i, nil } -func (m *QueryProviderEpochCuResponse) Marshal() (dAtA []byte, err error) { +func (m *QueryProvidersEpochCuResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -2857,12 +2857,12 @@ func (m *QueryProviderEpochCuResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryProviderEpochCuResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryProvidersEpochCuResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryProviderEpochCuResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryProvidersEpochCuResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -3308,7 +3308,7 @@ func (m *QuerySubscriptionMonthlyPayoutResponse) Size() (n int) { return n } -func (m *QueryProviderEpochCuRequest) Size() (n int) { +func (m *QueryProvidersEpochCuRequest) Size() (n int) { if m == nil { return 0 } @@ -3317,7 +3317,7 @@ func (m *QueryProviderEpochCuRequest) Size() (n int) { return n } -func (m *QueryProviderEpochCuResponse) Size() (n int) { +func (m *QueryProvidersEpochCuResponse) Size() (n int) { if m == nil { return 0 } @@ -5786,7 +5786,7 @@ func (m *QuerySubscriptionMonthlyPayoutResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryProviderEpochCuRequest) Unmarshal(dAtA []byte) error { +func (m *QueryProvidersEpochCuRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -5809,10 +5809,10 @@ func (m *QueryProviderEpochCuRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryProviderEpochCuRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryProvidersEpochCuRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryProviderEpochCuRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryProvidersEpochCuRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -5836,7 +5836,7 @@ func (m *QueryProviderEpochCuRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryProviderEpochCuResponse) Unmarshal(dAtA []byte) error { +func (m *QueryProvidersEpochCuResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -5859,10 +5859,10 @@ func (m *QueryProviderEpochCuResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryProviderEpochCuResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryProvidersEpochCuResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryProviderEpochCuResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryProvidersEpochCuResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: diff --git a/x/pairing/types/query.pb.gw.go b/x/pairing/types/query.pb.gw.go index e0dcac7acf..322ea6338e 100644 --- a/x/pairing/types/query.pb.gw.go +++ b/x/pairing/types/query.pb.gw.go @@ -687,20 +687,20 @@ func local_request_Query_SdkPairing_0(ctx context.Context, marshaler runtime.Mar } -func request_Query_ProviderEpochCu_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryProviderEpochCuRequest +func request_Query_ProvidersEpochCu_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryProvidersEpochCuRequest var metadata runtime.ServerMetadata - msg, err := client.ProviderEpochCu(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.ProvidersEpochCu(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_Query_ProviderEpochCu_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryProviderEpochCuRequest +func local_request_Query_ProvidersEpochCu_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryProvidersEpochCuRequest var metadata runtime.ServerMetadata - msg, err := server.ProviderEpochCu(ctx, &protoReq) + msg, err := server.ProvidersEpochCu(ctx, &protoReq) return msg, metadata, err } @@ -941,7 +941,7 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv }) - mux.Handle("GET", pattern_Query_ProviderEpochCu_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Query_ProvidersEpochCu_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream @@ -952,7 +952,7 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Query_ProviderEpochCu_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Query_ProvidersEpochCu_0(rctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -960,7 +960,7 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv return } - forward_Query_ProviderEpochCu_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Query_ProvidersEpochCu_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1205,7 +1205,7 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie }) - mux.Handle("GET", pattern_Query_ProviderEpochCu_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Query_ProvidersEpochCu_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -1214,14 +1214,14 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Query_ProviderEpochCu_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Query_ProvidersEpochCu_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Query_ProviderEpochCu_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Query_ProvidersEpochCu_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1249,7 +1249,7 @@ var ( pattern_Query_SdkPairing_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"lavanet", "lava", "pairing", "sdk_pairing"}, "", runtime.AssumeColonVerbOpt(false))) - pattern_Query_ProviderEpochCu_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"lavanet", "lava", "pairing", "provider_epoch_cu"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_ProvidersEpochCu_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"lavanet", "lava", "pairing", "providers_epoch_cu"}, "", runtime.AssumeColonVerbOpt(false))) ) var ( @@ -1273,5 +1273,5 @@ var ( forward_Query_SdkPairing_0 = runtime.ForwardResponseMessage - forward_Query_ProviderEpochCu_0 = runtime.ForwardResponseMessage + forward_Query_ProvidersEpochCu_0 = runtime.ForwardResponseMessage ) From 35e283c21cc5ab8236c48bfac72624a1821d4898 Mon Sep 17 00:00:00 2001 From: oren-lava Date: Wed, 27 Mar 2024 11:32:41 +0200 Subject: [PATCH 13/35] CNS-930: changed UniqueEpochSessionGenesis to hold the decoded key --- proto/lavanet/lava/pairing/genesis.proto | 5 +- x/pairing/genesis.go | 19 +- x/pairing/genesis_test.go | 14 +- x/pairing/types/genesis.go | 5 +- x/pairing/types/genesis.pb.go | 240 ++++++++++++++++++----- x/pairing/types/genesis_test.go | 28 ++- 6 files changed, 237 insertions(+), 74 deletions(-) diff --git a/proto/lavanet/lava/pairing/genesis.proto b/proto/lavanet/lava/pairing/genesis.proto index 86404bea33..310af5418e 100644 --- a/proto/lavanet/lava/pairing/genesis.proto +++ b/proto/lavanet/lava/pairing/genesis.proto @@ -33,7 +33,10 @@ message GenesisState { message UniqueEpochSessionGenesis { uint64 epoch = 1; - string unique_epoch_session = 2; + string provider = 2; + string project = 3; + string chain_id = 4; + uint64 session_id = 5; } message ProviderEpochCuGenesis { diff --git a/x/pairing/genesis.go b/x/pairing/genesis.go index bc67420615..ee432e215f 100644 --- a/x/pairing/genesis.go +++ b/x/pairing/genesis.go @@ -12,12 +12,7 @@ import ( func InitGenesis(ctx sdk.Context, k keeper.Keeper, genState types.GenesisState) { // Set all the uniquePaymentStorageClientProvider for _, elem := range genState.UniqueEpochSessions { - provider, project, chainID, sessionID, err := types.DecodeUniqueEpochSessionKey(elem.UniqueEpochSession) - if err != nil { - utils.LavaFormatError("could not decode UniqueEpochSessionKey", err, utils.LogAttr("key", elem)) - continue - } - k.SetUniqueEpochSession(ctx, elem.Epoch, provider, project, chainID, sessionID) + k.SetUniqueEpochSession(ctx, elem.Epoch, elem.Provider, elem.Project, elem.ChainId, elem.SessionId) } // Set all the providerPaymentStorage for _, elem := range genState.ProviderEpochCus { @@ -45,9 +40,17 @@ func ExportGenesis(ctx sdk.Context, k keeper.Keeper) *types.GenesisState { epochs, uniqueEpochSessions := k.GetAllUniqueEpochSessionStore(ctx) for i := range epochs { + provider, project, chainID, sessionID, err := types.DecodeUniqueEpochSessionKey(uniqueEpochSessions[i]) + if err != nil { + utils.LavaFormatError("could not decode UniqueEpochSessionKey", err, utils.LogAttr("key", uniqueEpochSessions[i])) + continue + } ues := types.UniqueEpochSessionGenesis{ - Epoch: epochs[i], - UniqueEpochSession: uniqueEpochSessions[i], + Epoch: epochs[i], + Provider: provider, + Project: project, + ChainId: chainID, + SessionId: sessionID, } genesis.UniqueEpochSessions = append(genesis.UniqueEpochSessions, ues) } diff --git a/x/pairing/genesis_test.go b/x/pairing/genesis_test.go index ad47dcc35a..64e92decdb 100644 --- a/x/pairing/genesis_test.go +++ b/x/pairing/genesis_test.go @@ -16,12 +16,18 @@ func TestGenesis(t *testing.T) { UniqueEpochSessions: []types.UniqueEpochSessionGenesis{ { - Epoch: 0, - UniqueEpochSession: string(types.UniqueEpochSessionKey("0", "0", "0", 0)), + Epoch: 0, + Provider: "0", + Project: "0", + ChainId: "0", + SessionId: 0, }, { - Epoch: 1, - UniqueEpochSession: string(types.UniqueEpochSessionKey("1", "1", "1", 1)), + Epoch: 1, + Provider: "1", + Project: "1", + ChainId: "1", + SessionId: 1, }, }, ProviderEpochCus: []types.ProviderEpochCuGenesis{ diff --git a/x/pairing/types/genesis.go b/x/pairing/types/genesis.go index a2d416d04f..ef1bc53b23 100644 --- a/x/pairing/types/genesis.go +++ b/x/pairing/types/genesis.go @@ -31,10 +31,11 @@ func (gs GenesisState) Validate() error { UniqueEpochSessionsProviderIndexMap := make(map[string]struct{}) for _, elem := range gs.UniqueEpochSessions { - if _, ok := UniqueEpochSessionsProviderIndexMap[elem.UniqueEpochSession]; ok { + index := string(UniqueEpochSessionKey(elem.Provider, elem.Project, elem.ChainId, elem.SessionId)) + if _, ok := UniqueEpochSessionsProviderIndexMap[index]; ok { return fmt.Errorf("duplicated index for UniqueEpochSession") } - UniqueEpochSessionsProviderIndexMap[elem.UniqueEpochSession] = struct{}{} + UniqueEpochSessionsProviderIndexMap[index] = struct{}{} } // Check for duplicated index in ProviderEpochCu providerEpochCusIndexMap := make(map[string]struct{}) diff --git a/x/pairing/types/genesis.pb.go b/x/pairing/types/genesis.pb.go index 4101f5baed..1e53204d04 100644 --- a/x/pairing/types/genesis.pb.go +++ b/x/pairing/types/genesis.pb.go @@ -171,8 +171,11 @@ func (m *GenesisState) GetProviderConsumerEpochCus() []ProviderConsumerEpochCuGe } type UniqueEpochSessionGenesis struct { - Epoch uint64 `protobuf:"varint,1,opt,name=epoch,proto3" json:"epoch,omitempty"` - UniqueEpochSession string `protobuf:"bytes,2,opt,name=unique_epoch_session,json=uniqueEpochSession,proto3" json:"unique_epoch_session,omitempty"` + Epoch uint64 `protobuf:"varint,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + Provider string `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"` + Project string `protobuf:"bytes,3,opt,name=project,proto3" json:"project,omitempty"` + ChainId string `protobuf:"bytes,4,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` + SessionId uint64 `protobuf:"varint,5,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"` } func (m *UniqueEpochSessionGenesis) Reset() { *m = UniqueEpochSessionGenesis{} } @@ -215,13 +218,34 @@ func (m *UniqueEpochSessionGenesis) GetEpoch() uint64 { return 0 } -func (m *UniqueEpochSessionGenesis) GetUniqueEpochSession() string { +func (m *UniqueEpochSessionGenesis) GetProvider() string { if m != nil { - return m.UniqueEpochSession + return m.Provider } return "" } +func (m *UniqueEpochSessionGenesis) GetProject() string { + if m != nil { + return m.Project + } + return "" +} + +func (m *UniqueEpochSessionGenesis) GetChainId() string { + if m != nil { + return m.ChainId + } + return "" +} + +func (m *UniqueEpochSessionGenesis) GetSessionId() uint64 { + if m != nil { + return m.SessionId + } + return 0 +} + type ProviderEpochCuGenesis struct { Epoch uint64 `protobuf:"varint,1,opt,name=epoch,proto3" json:"epoch,omitempty"` Provider string `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"` @@ -379,46 +403,47 @@ func init() { } var fileDescriptor_dbd1e49b8b57595b = []byte{ - // 619 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x54, 0x4f, 0x6f, 0xd3, 0x3c, - 0x18, 0x6f, 0xd6, 0xb4, 0xcd, 0xbc, 0xbd, 0x2f, 0x9d, 0x29, 0xcc, 0x2b, 0x28, 0x6c, 0x41, 0x88, - 0x4e, 0x82, 0x04, 0x0d, 0x4e, 0xdc, 0x68, 0x05, 0x13, 0x85, 0x03, 0x6d, 0x37, 0x21, 0x71, 0x09, - 0x69, 0x62, 0x52, 0x03, 0x8d, 0x43, 0x9c, 0x4c, 0xeb, 0xb7, 0xe0, 0xc4, 0xc7, 0xe1, 0xbc, 0xe3, - 0x8e, 0x9c, 0x10, 0x6a, 0x3f, 0x05, 0x37, 0x14, 0xc7, 0xed, 0x9a, 0xd5, 0x99, 0x04, 0xa7, 0xe4, - 0xa9, 0x7f, 0x7f, 0xf2, 0x7b, 0x9e, 0xa7, 0x06, 0xc6, 0x67, 0xe7, 0xc4, 0x09, 0x70, 0x6c, 0xa5, - 0x4f, 0x2b, 0x74, 0x48, 0x44, 0x02, 0xdf, 0xf2, 0x71, 0x80, 0x19, 0x61, 0x66, 0x18, 0xd1, 0x98, - 0xc2, 0x86, 0xc0, 0x98, 0xe9, 0xd3, 0x14, 0x98, 0x66, 0xc3, 0xa7, 0x3e, 0xe5, 0x00, 0x2b, 0x7d, - 0xcb, 0xb0, 0xcd, 0x3d, 0xa9, 0x5e, 0xe8, 0x44, 0xce, 0x58, 0xc8, 0x35, 0xef, 0x4a, 0x21, 0x38, - 0xa4, 0xee, 0xc8, 0x76, 0x13, 0x01, 0xda, 0xcf, 0x81, 0x3e, 0x90, 0x53, 0x27, 0x26, 0x34, 0x60, - 0x31, 0x8d, 0xf0, 0xa2, 0x92, 0xea, 0xc5, 0x64, 0x8c, 0xa3, 0x0c, 0xc7, 0x5f, 0x33, 0x90, 0xd1, - 0x03, 0x1b, 0x6d, 0xc7, 0xf3, 0xf1, 0x31, 0xc3, 0x5e, 0x27, 0x81, 0xfb, 0x60, 0x6b, 0x98, 0x96, - 0x76, 0xc2, 0xb0, 0x67, 0xbb, 0x89, 0xfd, 0x09, 0x4f, 0x90, 0xb2, 0xab, 0xb4, 0x36, 0xfb, 0xff, - 0x0f, 0x2f, 0x70, 0xaf, 0xf0, 0x04, 0x6e, 0x83, 0x9a, 0x00, 0xa1, 0xb5, 0x5d, 0xa5, 0xa5, 0xf6, - 0xab, 0x09, 0x3f, 0x33, 0xbe, 0x55, 0xc0, 0xe6, 0x61, 0xd6, 0xa8, 0x41, 0xec, 0xc4, 0x18, 0x3e, - 0x05, 0xd5, 0x2c, 0x28, 0x57, 0xda, 0x38, 0xb8, 0x6d, 0xca, 0x1a, 0x67, 0xbe, 0xe1, 0x98, 0xb6, - 0x7a, 0xf6, 0xf3, 0x4e, 0xa9, 0x2f, 0x18, 0xb0, 0x07, 0xae, 0x2d, 0xf9, 0xbe, 0x26, 0x2c, 0x46, - 0x95, 0xdd, 0x72, 0x6b, 0xe3, 0x60, 0x4f, 0x2e, 0xb2, 0x14, 0x46, 0x28, 0x5d, 0xe6, 0xc3, 0x43, - 0xa0, 0xf1, 0x9f, 0xd8, 0xd1, 0x00, 0x55, 0xf9, 0x07, 0xdd, 0xcb, 0x6b, 0x5d, 0xb4, 0xca, 0x5c, - 0xce, 0x21, 0xf4, 0x16, 0x64, 0x78, 0x04, 0xfe, 0x0b, 0x23, 0x7a, 0x42, 0x3c, 0x1c, 0xf5, 0x28, - 0x7b, 0x31, 0x40, 0x35, 0xae, 0xd6, 0xca, 0xab, 0xe5, 0x66, 0x24, 0x13, 0xcc, 0x8b, 0x40, 0x02, - 0x6e, 0x24, 0x01, 0xf9, 0x92, 0x60, 0x3b, 0x1b, 0x3d, 0xc3, 0x8c, 0xa5, 0x74, 0xa4, 0xf1, 0xdc, - 0x96, 0x3c, 0xf7, 0x31, 0xa7, 0x3c, 0x4f, 0x19, 0x83, 0x8c, 0x20, 0x9c, 0x84, 0xc9, 0xf5, 0x64, - 0x05, 0xc0, 0xe0, 0x7b, 0x00, 0xe7, 0xde, 0xf6, 0x7c, 0xcf, 0x18, 0x5a, 0xe7, 0x3e, 0x0f, 0x0a, - 0x86, 0x24, 0xf0, 0x5c, 0xa8, 0x93, 0xe4, 0x4d, 0xea, 0x61, 0xfe, 0x94, 0xc1, 0x09, 0xb8, 0xb5, - 0x70, 0x70, 0x69, 0xc0, 0x92, 0x71, 0xce, 0x0a, 0x70, 0xab, 0x27, 0x57, 0x5b, 0x75, 0x04, 0x4f, - 0x6a, 0x89, 0x42, 0x39, 0x8a, 0x75, 0x55, 0x6d, 0xad, 0x5e, 0xee, 0xaa, 0x5a, 0xb9, 0xae, 0x76, - 0x55, 0x4d, 0xad, 0x57, 0x0c, 0x17, 0xec, 0x14, 0xb6, 0x09, 0x36, 0x40, 0x85, 0x7f, 0x17, 0xdf, - 0x51, 0xb5, 0x9f, 0x15, 0xf0, 0x11, 0x68, 0xc8, 0x86, 0xc1, 0x37, 0x7e, 0xbd, 0x0f, 0x57, 0x9b, - 0x6a, 0x7c, 0x57, 0xc0, 0x4d, 0x79, 0x93, 0x0a, 0x2c, 0x9a, 0x40, 0x9b, 0x67, 0x10, 0xb2, 0x8b, - 0x1a, 0xee, 0x00, 0xcd, 0x1d, 0x39, 0x24, 0xb0, 0x89, 0x87, 0xca, 0xfc, 0xac, 0xc6, 0xeb, 0x97, - 0x1e, 0x7c, 0x0b, 0xb6, 0x56, 0x66, 0x87, 0x54, 0xd9, 0x3a, 0x17, 0x8c, 0x6e, 0xfe, 0xf7, 0xb8, - 0x34, 0x33, 0xe3, 0xb7, 0x02, 0xf4, 0xab, 0x5b, 0xff, 0x0f, 0x41, 0x10, 0xa8, 0x85, 0x11, 0xfd, - 0x88, 0xdd, 0x78, 0x9e, 0x43, 0x94, 0xb9, 0x88, 0x6a, 0x3e, 0x62, 0x08, 0x9a, 0xc5, 0xcb, 0x83, - 0x2a, 0x3c, 0xeb, 0xc3, 0xbf, 0xda, 0x1d, 0x91, 0x79, 0xbb, 0x60, 0x69, 0xda, 0xcf, 0xce, 0xa6, - 0xba, 0x72, 0x3e, 0xd5, 0x95, 0x5f, 0x53, 0x5d, 0xf9, 0x3a, 0xd3, 0x4b, 0xe7, 0x33, 0xbd, 0xf4, - 0x63, 0xa6, 0x97, 0xde, 0xdd, 0xf7, 0x49, 0x3c, 0x4a, 0x86, 0xa6, 0x4b, 0xc7, 0x56, 0xee, 0x5e, - 0x3d, 0x5d, 0xdc, 0xd4, 0xf1, 0x24, 0xc4, 0x6c, 0x58, 0xe5, 0xf7, 0xea, 0xe3, 0x3f, 0x01, 0x00, - 0x00, 0xff, 0xff, 0x02, 0xde, 0x8f, 0x13, 0x41, 0x06, 0x00, 0x00, + // 628 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x54, 0x3f, 0x6f, 0xd3, 0x40, + 0x14, 0x8f, 0x1b, 0x27, 0x75, 0x5f, 0x0a, 0xa4, 0x47, 0xa1, 0x6e, 0x00, 0xd3, 0x1a, 0x21, 0x52, + 0x09, 0x6c, 0x29, 0x30, 0xb1, 0x91, 0x08, 0xaa, 0x06, 0x06, 0x92, 0xb4, 0x42, 0x62, 0x31, 0x8e, + 0x7d, 0x38, 0x07, 0xc4, 0x67, 0x7c, 0x76, 0xd5, 0x7c, 0x0b, 0x26, 0x76, 0xbe, 0x08, 0x73, 0xc7, + 0x8e, 0x4c, 0x08, 0x25, 0x9f, 0x82, 0x0d, 0xf9, 0x7c, 0x49, 0xe3, 0xc6, 0xa9, 0x04, 0x03, 0x93, + 0xfd, 0xee, 0xfd, 0xde, 0xef, 0xf7, 0xfe, 0xdd, 0x81, 0xfe, 0xc9, 0x3e, 0xb6, 0x7d, 0x1c, 0x99, + 0xc9, 0xd7, 0x0c, 0x6c, 0x12, 0x12, 0xdf, 0x33, 0x3d, 0xec, 0x63, 0x46, 0x98, 0x11, 0x84, 0x34, + 0xa2, 0x68, 0x53, 0x60, 0x8c, 0xe4, 0x6b, 0x08, 0x4c, 0x6d, 0xd3, 0xa3, 0x1e, 0xe5, 0x00, 0x33, + 0xf9, 0x4b, 0xb1, 0xb5, 0xdd, 0x5c, 0xbe, 0xc0, 0x0e, 0xed, 0xa1, 0xa0, 0xab, 0xdd, 0xcb, 0x85, + 0xe0, 0x80, 0x3a, 0x03, 0xcb, 0x89, 0x05, 0x68, 0x2f, 0x03, 0x7a, 0x4f, 0x4e, 0xec, 0x88, 0x50, + 0x9f, 0x45, 0x34, 0xc4, 0x33, 0x2b, 0x97, 0x2f, 0x22, 0x43, 0x1c, 0xa6, 0x38, 0xfe, 0x9b, 0x82, + 0xf4, 0x0e, 0x54, 0x9a, 0xb6, 0xeb, 0xe1, 0x23, 0x86, 0xdd, 0x56, 0x8c, 0xf6, 0x60, 0xa3, 0x9f, + 0x98, 0x56, 0xcc, 0xb0, 0x6b, 0x39, 0xb1, 0xf5, 0x11, 0x8f, 0x54, 0x69, 0x47, 0xaa, 0xaf, 0x77, + 0xaf, 0xf6, 0xcf, 0x71, 0x2f, 0xf1, 0x08, 0x6d, 0xc1, 0xaa, 0x00, 0xa9, 0x2b, 0x3b, 0x52, 0x5d, + 0xee, 0x96, 0x63, 0xee, 0xd3, 0xbf, 0x96, 0x60, 0x7d, 0x3f, 0x6d, 0x54, 0x2f, 0xb2, 0x23, 0x8c, + 0x9e, 0x42, 0x39, 0x2d, 0x94, 0x33, 0x55, 0x1a, 0xb7, 0x8d, 0xbc, 0xc6, 0x19, 0xaf, 0x39, 0xa6, + 0x29, 0x9f, 0xfe, 0xbc, 0x5b, 0xe8, 0x8a, 0x08, 0xd4, 0x81, 0x6b, 0x73, 0xba, 0xaf, 0x08, 0x8b, + 0xd4, 0xd2, 0x4e, 0xb1, 0x5e, 0x69, 0xec, 0xe6, 0x93, 0xcc, 0x15, 0x23, 0x98, 0x2e, 0xc6, 0xa3, + 0x7d, 0x50, 0xf8, 0x11, 0x3b, 0xec, 0xa9, 0x65, 0x9e, 0xd0, 0xfd, 0x2c, 0xd7, 0x79, 0xab, 0x8c, + 0xf9, 0x3a, 0x04, 0xdf, 0x2c, 0x18, 0x1d, 0xc2, 0x95, 0x20, 0xa4, 0xc7, 0xc4, 0xc5, 0x61, 0x87, + 0xb2, 0x17, 0x3d, 0x75, 0x95, 0xb3, 0xd5, 0xb3, 0x6c, 0x99, 0x19, 0xe5, 0x11, 0x66, 0x49, 0x10, + 0x81, 0x1b, 0xb1, 0x4f, 0x3e, 0xc7, 0xd8, 0x4a, 0x47, 0xcf, 0x30, 0x63, 0x49, 0xb8, 0xaa, 0xf0, + 0xba, 0xcd, 0xfc, 0xba, 0x8f, 0x78, 0xc8, 0xf3, 0x24, 0xa2, 0x97, 0x06, 0x08, 0x25, 0x21, 0x72, + 0x3d, 0x5e, 0x00, 0x30, 0xf4, 0x0e, 0xd0, 0x54, 0xdb, 0x9a, 0xee, 0x19, 0x53, 0xd7, 0xb8, 0xce, + 0xc3, 0x25, 0x43, 0x12, 0x78, 0x4e, 0xd4, 0x8a, 0xb3, 0x22, 0xd5, 0x20, 0xeb, 0x65, 0x68, 0x04, + 0xb7, 0x66, 0x0a, 0x0e, 0xf5, 0x59, 0x3c, 0xcc, 0x48, 0x01, 0x97, 0x7a, 0x72, 0xb9, 0x54, 0x4b, + 0xc4, 0xe5, 0x4a, 0xaa, 0x41, 0x3e, 0x8a, 0xb5, 0x65, 0x65, 0xa5, 0x5a, 0x6c, 0xcb, 0x4a, 0xb1, + 0x2a, 0xb7, 0x65, 0x45, 0xae, 0x96, 0xf4, 0x6f, 0x12, 0x6c, 0x2f, 0xed, 0x13, 0xda, 0x84, 0x12, + 0x4f, 0x8c, 0x2f, 0xa9, 0xdc, 0x4d, 0x0d, 0x54, 0x03, 0x65, 0xaa, 0xc0, 0xd7, 0x7c, 0xad, 0x3b, + 0xb3, 0x91, 0x0a, 0xab, 0x41, 0x48, 0x3f, 0x60, 0x27, 0x52, 0x8b, 0xdc, 0x35, 0x35, 0xd1, 0x36, + 0x28, 0xce, 0xc0, 0x26, 0xbe, 0x45, 0x5c, 0x55, 0x4e, 0x5d, 0xdc, 0x3e, 0x70, 0xd1, 0x1d, 0x00, + 0x31, 0xd1, 0xc4, 0x59, 0xe2, 0x5a, 0x6b, 0xe2, 0xe4, 0xc0, 0xd5, 0xbf, 0x4b, 0x70, 0x33, 0xbf, + 0xc7, 0xff, 0x90, 0xe0, 0x7c, 0x1a, 0xc5, 0x6c, 0x1a, 0x6f, 0x60, 0x63, 0x61, 0xf4, 0x3c, 0xd5, + 0x85, 0xdb, 0xb0, 0x64, 0xf2, 0xd3, 0xdb, 0x75, 0x61, 0xe4, 0xfa, 0x6f, 0x09, 0xb4, 0xcb, 0x27, + 0xf7, 0xbf, 0x3a, 0x1d, 0x40, 0x6d, 0xf9, 0xee, 0xf1, 0xce, 0x57, 0x1a, 0x8f, 0xfe, 0x6a, 0xf5, + 0x44, 0xcd, 0x5b, 0x4b, 0x76, 0xae, 0xf9, 0xec, 0x74, 0xac, 0x49, 0x67, 0x63, 0x4d, 0xfa, 0x35, + 0xd6, 0xa4, 0x2f, 0x13, 0xad, 0x70, 0x36, 0xd1, 0x0a, 0x3f, 0x26, 0x5a, 0xe1, 0xed, 0x03, 0x8f, + 0x44, 0x83, 0xb8, 0x6f, 0x38, 0x74, 0x68, 0x66, 0x9e, 0xe5, 0x93, 0xd9, 0x43, 0x1f, 0x8d, 0x02, + 0xcc, 0xfa, 0x65, 0xfe, 0x2c, 0x3f, 0xfe, 0x13, 0x00, 0x00, 0xff, 0xff, 0x16, 0x73, 0xa7, 0xf7, + 0x80, 0x06, 0x00, 0x00, } func (m *BadgeUsedCu) Marshal() (dAtA []byte, err error) { @@ -585,10 +610,29 @@ func (m *UniqueEpochSessionGenesis) MarshalToSizedBuffer(dAtA []byte) (int, erro _ = i var l int _ = l - if len(m.UniqueEpochSession) > 0 { - i -= len(m.UniqueEpochSession) - copy(dAtA[i:], m.UniqueEpochSession) - i = encodeVarintGenesis(dAtA, i, uint64(len(m.UniqueEpochSession))) + if m.SessionId != 0 { + i = encodeVarintGenesis(dAtA, i, uint64(m.SessionId)) + i-- + dAtA[i] = 0x28 + } + if len(m.ChainId) > 0 { + i -= len(m.ChainId) + copy(dAtA[i:], m.ChainId) + i = encodeVarintGenesis(dAtA, i, uint64(len(m.ChainId))) + i-- + dAtA[i] = 0x22 + } + if len(m.Project) > 0 { + i -= len(m.Project) + copy(dAtA[i:], m.Project) + i = encodeVarintGenesis(dAtA, i, uint64(len(m.Project))) + i-- + dAtA[i] = 0x1a + } + if len(m.Provider) > 0 { + i -= len(m.Provider) + copy(dAtA[i:], m.Provider) + i = encodeVarintGenesis(dAtA, i, uint64(len(m.Provider))) i-- dAtA[i] = 0x12 } @@ -786,10 +830,21 @@ func (m *UniqueEpochSessionGenesis) Size() (n int) { if m.Epoch != 0 { n += 1 + sovGenesis(uint64(m.Epoch)) } - l = len(m.UniqueEpochSession) + l = len(m.Provider) + if l > 0 { + n += 1 + l + sovGenesis(uint64(l)) + } + l = len(m.Project) + if l > 0 { + n += 1 + l + sovGenesis(uint64(l)) + } + l = len(m.ChainId) if l > 0 { n += 1 + l + sovGenesis(uint64(l)) } + if m.SessionId != 0 { + n += 1 + sovGenesis(uint64(m.SessionId)) + } return n } @@ -1285,7 +1340,39 @@ func (m *UniqueEpochSessionGenesis) Unmarshal(dAtA []byte) error { } case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UniqueEpochSession", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Provider", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Provider = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Project", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -1313,8 +1400,59 @@ func (m *UniqueEpochSessionGenesis) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.UniqueEpochSession = string(dAtA[iNdEx:postIndex]) + m.Project = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ChainId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ChainId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SessionId", wireType) + } + m.SessionId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.SessionId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipGenesis(dAtA[iNdEx:]) diff --git a/x/pairing/types/genesis_test.go b/x/pairing/types/genesis_test.go index 2a83a3775c..2dfba34bed 100644 --- a/x/pairing/types/genesis_test.go +++ b/x/pairing/types/genesis_test.go @@ -24,12 +24,18 @@ func TestGenesisState_Validate(t *testing.T) { Params: types.DefaultParams(), UniqueEpochSessions: []types.UniqueEpochSessionGenesis{ { - Epoch: 0, - UniqueEpochSession: "0", + Epoch: 0, + Provider: "0", + Project: "0", + ChainId: "0", + SessionId: 0, }, { - Epoch: 1, - UniqueEpochSession: "1", + Epoch: 1, + Provider: "1", + Project: "1", + ChainId: "1", + SessionId: 1, }, }, ProviderEpochCus: []types.ProviderEpochCuGenesis{ @@ -72,12 +78,18 @@ func TestGenesisState_Validate(t *testing.T) { Params: types.DefaultParams(), UniqueEpochSessions: []types.UniqueEpochSessionGenesis{ { - Epoch: 0, - UniqueEpochSession: "0", + Epoch: 0, + Provider: "0", + Project: "0", + ChainId: "0", + SessionId: 0, }, { - Epoch: 0, - UniqueEpochSession: "0", + Epoch: 0, + Provider: "0", + Project: "0", + ChainId: "0", + SessionId: 0, }, }, }, From e861f77d0fc4923a3dd2cef52dab81d959198321 Mon Sep 17 00:00:00 2001 From: oren-lava Date: Wed, 27 Mar 2024 11:38:23 +0200 Subject: [PATCH 14/35] CNS-930: change functions names --- x/pairing/keeper/epoch_cu.go | 14 +++++++------- x/pairing/keeper/epoch_cu_test.go | 10 +++++----- x/pairing/keeper/epoch_payment.go | 9 ++++----- x/pairing/keeper/helpers_test.go | 2 +- x/pairing/keeper/keeper.go | 2 +- x/pairing/keeper/msg_server_relay_payment.go | 2 +- x/pairing/keeper/msg_server_relay_payment_test.go | 2 +- 7 files changed, 20 insertions(+), 21 deletions(-) diff --git a/x/pairing/keeper/epoch_cu.go b/x/pairing/keeper/epoch_cu.go index ac3a9b8573..56436262ee 100644 --- a/x/pairing/keeper/epoch_cu.go +++ b/x/pairing/keeper/epoch_cu.go @@ -28,15 +28,15 @@ func (k Keeper) SetUniqueEpochSession(ctx sdk.Context, epoch uint64, provider st store.Set(types.UniqueEpochSessionKey(provider, project, chainID, sessionID), []byte{0}) } -// GetUniqueEpochSession checks if a UniqueEpochSession exists -func (k Keeper) GetUniqueEpochSession(ctx sdk.Context, epoch uint64, provider string, project string, chainID string, sessionID uint64) bool { +// IsUniqueEpochSessionExists checks if a UniqueEpochSession exists +func (k Keeper) IsUniqueEpochSessionExists(ctx sdk.Context, epoch uint64, provider string, project string, chainID string, sessionID uint64) bool { store := prefix.NewStore(ctx.KVStore(k.storeKey), types.UniqueEpochSessionKeyPrefix(epoch)) b := store.Get(types.UniqueEpochSessionKey(provider, project, chainID, sessionID)) return b != nil } -// RemoveUniqueEpochSessions removes all the UniqueEpochSession objects from the store for a specific epoch -func (k Keeper) RemoveUniqueEpochSessions(ctx sdk.Context, epoch uint64) { +// RemoveAllUniqueEpochSession removes all the UniqueEpochSession objects from the store for a specific epoch +func (k Keeper) RemoveAllUniqueEpochSession(ctx sdk.Context, epoch uint64) { store := prefix.NewStore(ctx.KVStore(k.storeKey), types.UniqueEpochSessionKeyPrefix(epoch)) iterator := sdk.KVStorePrefixIterator(store, []byte{}) // Get an iterator with no prefix to iterate over all keys defer iterator.Close() @@ -45,8 +45,8 @@ func (k Keeper) RemoveUniqueEpochSessions(ctx sdk.Context, epoch uint64) { } } -// GetAllUniqueEpochSession gets all the UniqueEpochSession objects from the store for a specific epoch -func (k Keeper) GetAllUniqueEpochSession(ctx sdk.Context, epoch uint64) []string { +// GetAllUniqueEpochSessionForEpoch gets all the UniqueEpochSession objects from the store for a specific epoch +func (k Keeper) GetAllUniqueEpochSessionForEpoch(ctx sdk.Context, epoch uint64) []string { store := prefix.NewStore(ctx.KVStore(k.storeKey), types.UniqueEpochSessionKeyPrefix(epoch)) iterator := sdk.KVStorePrefixIterator(store, []byte{}) // Get an iterator with no prefix to iterate over all keys @@ -105,7 +105,7 @@ func (k Keeper) GetProviderEpochCu(ctx sdk.Context, epoch uint64, provider strin } // RemoveProviderEpochCu removes a ProviderEpochCu from the store -func (k Keeper) RemoveProviderEpochCus(ctx sdk.Context, epoch uint64) { +func (k Keeper) RemoveAllProviderEpochCu(ctx sdk.Context, epoch uint64) { store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderEpochCuKeyPrefix(epoch)) iterator := sdk.KVStorePrefixIterator(store, []byte{}) // Get an iterator with no prefix to iterate over all keys defer iterator.Close() diff --git a/x/pairing/keeper/epoch_cu_test.go b/x/pairing/keeper/epoch_cu_test.go index 915a96e36e..752b12f75f 100644 --- a/x/pairing/keeper/epoch_cu_test.go +++ b/x/pairing/keeper/epoch_cu_test.go @@ -31,7 +31,7 @@ func TestUniqueEpochSessionGet(t *testing.T) { items := createNUniqueEpochSession(keeper, ctx, 10) for i := range items { item := strconv.Itoa(i) - found := keeper.GetUniqueEpochSession(ctx, uint64(i), item, item, item, uint64(i)) + found := keeper.IsUniqueEpochSessionExists(ctx, uint64(i), item, item, item, uint64(i)) require.True(t, found) } } @@ -40,9 +40,9 @@ func TestUniqueEpochSessionRemove(t *testing.T) { keeper, ctx := keepertest.PairingKeeper(t) items := createNUniqueEpochSession(keeper, ctx, 10) for i := range items { - keeper.RemoveUniqueEpochSessions(ctx, uint64(i)) + keeper.RemoveAllUniqueEpochSession(ctx, uint64(i)) item := strconv.Itoa(i) - found := keeper.GetUniqueEpochSession(ctx, uint64(i), item, item, item, uint64(i)) + found := keeper.IsUniqueEpochSessionExists(ctx, uint64(i), item, item, item, uint64(i)) require.False(t, found) } } @@ -55,7 +55,7 @@ func TestUniqueEpochSessionGetAll(t *testing.T) { for i, item := range items { key := string(types.UniqueEpochSessionKey(item, item, item, uint64(i))) expectedKeys = append(expectedKeys, key) - keys = append(keys, keeper.GetAllUniqueEpochSession(ctx, uint64(i))...) + keys = append(keys, keeper.GetAllUniqueEpochSessionForEpoch(ctx, uint64(i))...) } require.ElementsMatch(t, nullify.Fill(expectedKeys), nullify.Fill(keys)) } @@ -100,7 +100,7 @@ func TestProviderEpochCuRemove(t *testing.T) { items := createNProviderEpochCu(keeper, ctx, 10) for i := range items { name := strconv.Itoa(i) - keeper.RemoveProviderEpochCus(ctx, uint64(i)) + keeper.RemoveAllProviderEpochCu(ctx, uint64(i)) _, found := keeper.GetProviderEpochCu(ctx, uint64(i), name, name) require.False(t, found) } diff --git a/x/pairing/keeper/epoch_payment.go b/x/pairing/keeper/epoch_payment.go index 2250e31833..a8c070eded 100644 --- a/x/pairing/keeper/epoch_payment.go +++ b/x/pairing/keeper/epoch_payment.go @@ -32,7 +32,7 @@ func (k Keeper) AddEpochPayment(ctx sdk.Context, chainID string, epoch uint64, p } // Function to remove epoch payment objects from deleted epochs (older than the chain's memory) -func (k Keeper) RemoveOldEpochPayment(ctx sdk.Context) { +func (k Keeper) RemoveOldEpochPayments(ctx sdk.Context) { epochsToDelete := k.epochStorageKeeper.GetDeletedEpochs(ctx) for _, epoch := range epochsToDelete { k.RemoveAllEpochPaymentsForBlockAppendAdjustments(ctx, epoch) @@ -41,11 +41,11 @@ func (k Keeper) RemoveOldEpochPayment(ctx sdk.Context) { // Function to remove all epoch payments objects from a specific epoch func (k Keeper) RemoveAllEpochPaymentsForBlockAppendAdjustments(ctx sdk.Context, epochToDelete uint64) { - // remove unique epoch sessions - k.RemoveUniqueEpochSessions(ctx, epochToDelete) + // remove all unique epoch sessions + k.RemoveAllUniqueEpochSession(ctx, epochToDelete) // remove all provider epoch cu - k.RemoveProviderEpochCus(ctx, epochToDelete) + k.RemoveAllProviderEpochCu(ctx, epochToDelete) keys, pcecs := k.GetAllProviderConsumerEpochCu(ctx, epochToDelete) @@ -73,7 +73,6 @@ func (k Keeper) RemoveAllEpochPaymentsForBlockAppendAdjustments(ctx sdk.Context, consumerUsage[project] += pcecs[i].Cu couplingUsage[coupling] += pcecs[i].Cu - // after we're done deleting the uniquePaymentStorageClientProvider objects, delete the providerPaymentStorage object k.RemoveProviderConsumerEpochCu(ctx, epochToDelete, provider, project, chainID) } for _, coupling := range iterationOrder { diff --git a/x/pairing/keeper/helpers_test.go b/x/pairing/keeper/helpers_test.go index a4e208c408..eb04174f9e 100644 --- a/x/pairing/keeper/helpers_test.go +++ b/x/pairing/keeper/helpers_test.go @@ -256,7 +256,7 @@ func (ts *tester) verifyRelayPayment(relaySession *pairingtypes.RelaySession, ex project, err := ts.GetProjectForDeveloper(consumer, epoch) require.NoError(ts.T, err) - found := ts.Keepers.Pairing.GetUniqueEpochSession(ts.Ctx, epoch, provider, project.Index, chainID, sessionID) + found := ts.Keepers.Pairing.IsUniqueEpochSessionExists(ts.Ctx, epoch, provider, project.Index, chainID, sessionID) require.Equal(ts.T, exists, found) pec, found := ts.Keepers.Pairing.GetProviderEpochCu(ts.Ctx, epoch, provider, chainID) diff --git a/x/pairing/keeper/keeper.go b/x/pairing/keeper/keeper.go index 81075035f3..ee8bce49ff 100644 --- a/x/pairing/keeper/keeper.go +++ b/x/pairing/keeper/keeper.go @@ -108,7 +108,7 @@ func (k Keeper) Logger(ctx sdk.Context) log.Logger { func (k Keeper) BeginBlock(ctx sdk.Context) { if k.epochStorageKeeper.IsEpochStart(ctx) { // remove old session payments - k.RemoveOldEpochPayment(ctx) + k.RemoveOldEpochPayments(ctx) // unstake any unstaking providers k.CheckUnstakingForCommit(ctx) // unstake/jail unresponsive providers diff --git a/x/pairing/keeper/msg_server_relay_payment.go b/x/pairing/keeper/msg_server_relay_payment.go index dcea419633..504ad614c0 100644 --- a/x/pairing/keeper/msg_server_relay_payment.go +++ b/x/pairing/keeper/msg_server_relay_payment.go @@ -151,7 +151,7 @@ func (k msgServer) RelayPayment(goCtx context.Context, msg *types.MsgRelayPaymen continue } - if k.GetUniqueEpochSession(ctx, epochStart, relay.Provider, project.Index, relay.SpecId, relay.SessionId) { + if k.IsUniqueEpochSessionExists(ctx, epochStart, relay.Provider, project.Index, relay.SpecId, relay.SessionId) { utils.LavaFormatWarning("double spending detected", err, utils.Attribute{Key: "epoch", Value: epochStart}, utils.Attribute{Key: "client", Value: clientAddr.String()}, diff --git a/x/pairing/keeper/msg_server_relay_payment_test.go b/x/pairing/keeper/msg_server_relay_payment_test.go index 34a9be57fd..8b5a81dc3b 100644 --- a/x/pairing/keeper/msg_server_relay_payment_test.go +++ b/x/pairing/keeper/msg_server_relay_payment_test.go @@ -468,7 +468,7 @@ func TestEpochPaymentDeletion(t *testing.T) { ts.AdvanceEpochs(ts.EpochsToSave() + 1) epoch := ts.EpochStart(ts.BlockHeight()) - listA := ts.Keepers.Pairing.GetAllUniqueEpochSession(ts.Ctx, epoch) + listA := ts.Keepers.Pairing.GetAllUniqueEpochSessionForEpoch(ts.Ctx, epoch) require.Len(t, listA, 0) _, found := ts.Keepers.Pairing.GetProviderEpochCu(ts.Ctx, epoch, providerAddr, ts.spec.Index) From ebb7dc05fbcd023b4d71351daf090150b9322ca1 Mon Sep 17 00:00:00 2001 From: oren-lava Date: Wed, 27 Mar 2024 12:20:33 +0200 Subject: [PATCH 15/35] CNS-930: change get all store return types --- x/pairing/genesis.go | 55 +--------------- x/pairing/keeper/epoch_cu.go | 63 ++++++++++++++----- x/pairing/keeper/epoch_cu_test.go | 46 +++++++++----- .../keeper/grpc_query_providers_epoch_cu.go | 14 ++--- 4 files changed, 83 insertions(+), 95 deletions(-) diff --git a/x/pairing/genesis.go b/x/pairing/genesis.go index ee432e215f..038f8bb088 100644 --- a/x/pairing/genesis.go +++ b/x/pairing/genesis.go @@ -2,7 +2,6 @@ package pairing import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/lavanet/lava/utils" "github.com/lavanet/lava/x/pairing/keeper" "github.com/lavanet/lava/x/pairing/types" ) @@ -37,57 +36,9 @@ func InitGenesis(ctx sdk.Context, k keeper.Keeper, genState types.GenesisState) func ExportGenesis(ctx sdk.Context, k keeper.Keeper) *types.GenesisState { genesis := types.DefaultGenesis() genesis.Params = k.GetParams(ctx) - - epochs, uniqueEpochSessions := k.GetAllUniqueEpochSessionStore(ctx) - for i := range epochs { - provider, project, chainID, sessionID, err := types.DecodeUniqueEpochSessionKey(uniqueEpochSessions[i]) - if err != nil { - utils.LavaFormatError("could not decode UniqueEpochSessionKey", err, utils.LogAttr("key", uniqueEpochSessions[i])) - continue - } - ues := types.UniqueEpochSessionGenesis{ - Epoch: epochs[i], - Provider: provider, - Project: project, - ChainId: chainID, - SessionId: sessionID, - } - genesis.UniqueEpochSessions = append(genesis.UniqueEpochSessions, ues) - } - - epochs, keys, providerEpochCus := k.GetAllProviderEpochCuStore(ctx) - for i := range epochs { - provider, chainID, err := types.DecodeProviderEpochCuKey(keys[i]) - if err != nil { - utils.LavaFormatError("could not decode ProviderEpochCu key", err, utils.LogAttr("key", keys[i])) - continue - } - pec := types.ProviderEpochCuGenesis{ - Epoch: epochs[i], - Provider: provider, - ChainId: chainID, - ProviderEpochCu: providerEpochCus[i], - } - genesis.ProviderEpochCus = append(genesis.ProviderEpochCus, pec) - } - - epochs, keys, providerConsumerEpochCus := k.GetAllProviderConsumerEpochCuStore(ctx) - for i := range epochs { - provider, project, chainID, err := types.DecodeProviderConsumerEpochCuKey(keys[i]) - if err != nil { - utils.LavaFormatError("could not decode ProviderConsumerEpochCu key", err, utils.LogAttr("key", keys[i])) - continue - } - pcec := types.ProviderConsumerEpochCuGenesis{ - Epoch: epochs[i], - Provider: provider, - Project: project, - ChainId: chainID, - ProviderConsumerEpochCu: providerConsumerEpochCus[i], - } - genesis.ProviderConsumerEpochCus = append(genesis.ProviderConsumerEpochCus, pcec) - } - + genesis.UniqueEpochSessions = k.GetAllUniqueEpochSessionStore(ctx) + genesis.ProviderEpochCus = k.GetAllProviderEpochCuStore(ctx) + genesis.ProviderConsumerEpochCus = k.GetAllProviderConsumerEpochCuStore(ctx) genesis.BadgeUsedCuList = k.GetAllBadgeUsedCu(ctx) genesis.BadgesTS = k.ExportBadgesTimers(ctx) genesis.ProviderQosFS = k.ExportProviderQoS(ctx) diff --git a/x/pairing/keeper/epoch_cu.go b/x/pairing/keeper/epoch_cu.go index 56436262ee..95f6c1855e 100644 --- a/x/pairing/keeper/epoch_cu.go +++ b/x/pairing/keeper/epoch_cu.go @@ -64,7 +64,8 @@ func (k Keeper) GetAllUniqueEpochSessionForEpoch(ctx sdk.Context, epoch uint64) } // GetAllUniqueEpochSessionStore gets all the UniqueEpochSession objects from the store (used for genesis) -func (k Keeper) GetAllUniqueEpochSessionStore(ctx sdk.Context) (epochs []uint64, keys []string) { +func (k Keeper) GetAllUniqueEpochSessionStore(ctx sdk.Context) []types.UniqueEpochSessionGenesis { + info := []types.UniqueEpochSessionGenesis{} store := prefix.NewStore(ctx.KVStore(k.storeKey), []byte(types.UniqueEpochSessionPrefix)) iterator := sdk.KVStorePrefixIterator(store, []byte{}) // Get an iterator with no prefix to iterate over all keys defer iterator.Close() @@ -73,14 +74,23 @@ func (k Keeper) GetAllUniqueEpochSessionStore(ctx sdk.Context) (epochs []uint64, split := strings.Split(key, "/") // key structure: epoch/unique_epoch_session_key epoch, err := strconv.ParseUint(split[0], 10, 64) if err != nil { - utils.LavaFormatError("could not decode UniqueEpochSessionKey", err, utils.LogAttr("key", string(iterator.Key()))) + utils.LavaFormatError("could not decode UniqueEpochSessionKey with epoch", err, utils.LogAttr("key", string(iterator.Key()))) continue } - epochs = append(epochs, epoch) - keys = append(keys, split[1]) + provider, project, chainID, sessionID, err := types.DecodeUniqueEpochSessionKey(split[1]) + if err != nil { + utils.LavaFormatError("could not decode UniqueEpochSessionKey", err, utils.LogAttr("key", split[1])) + } + info = append(info, types.UniqueEpochSessionGenesis{ + Epoch: epoch, + Provider: provider, + Project: project, + ChainId: chainID, + SessionId: sessionID, + }) } - return epochs, keys + return info } /* ########## ProviderEpochCu ############ */ @@ -115,7 +125,8 @@ func (k Keeper) RemoveAllProviderEpochCu(ctx sdk.Context, epoch uint64) { } // GetAllProviderEpochCuStore returns all the ProviderEpochCu from the store (used for genesis) -func (k Keeper) GetAllProviderEpochCuStore(ctx sdk.Context) (epochs []uint64, keys []string, providerEpochCus []types.ProviderEpochCu) { +func (k Keeper) GetAllProviderEpochCuStore(ctx sdk.Context) []types.ProviderEpochCuGenesis { + info := []types.ProviderEpochCuGenesis{} store := prefix.NewStore(ctx.KVStore(k.storeKey), []byte(types.ProviderEpochCuPrefix)) iterator := sdk.KVStorePrefixIterator(store, []byte{}) // Get an iterator with no prefix to iterate over all keys defer iterator.Close() @@ -123,17 +134,25 @@ func (k Keeper) GetAllProviderEpochCuStore(ctx sdk.Context) (epochs []uint64, ke split := strings.Split(string(iterator.Key()), "/") // key structure: epoch/provider_epoch_cu_key epoch, err := strconv.ParseUint(split[0], 10, 64) if err != nil { - utils.LavaFormatError("could not decode ProviderEpochCuKey", err, utils.LogAttr("key", string(iterator.Key()))) + utils.LavaFormatError("could not decode ProviderEpochCuKey with epoch", err, utils.LogAttr("key", string(iterator.Key()))) + continue + } + provider, chainID, err := types.DecodeProviderEpochCuKey(split[1]) + if err != nil { + utils.LavaFormatError("could not decode ProviderEpochCuKey with epoch", err, utils.LogAttr("key", split[1])) continue } - epochs = append(epochs, epoch) - keys = append(keys, split[1]) var pec types.ProviderEpochCu k.cdc.MustUnmarshal(iterator.Value(), &pec) - providerEpochCus = append(providerEpochCus, pec) + info = append(info, types.ProviderEpochCuGenesis{ + Epoch: epoch, + Provider: provider, + ChainId: chainID, + ProviderEpochCu: pec, + }) } - return epochs, keys, providerEpochCus + return info } /* ########## ProviderConsumerEpochCu ############ */ @@ -179,7 +198,8 @@ func (k Keeper) GetAllProviderConsumerEpochCu(ctx sdk.Context, epoch uint64) (ke } // GetAllProviderConsumerEpochCuStore returns all the ProviderConsumerEpochCu from the store (used for genesis) -func (k Keeper) GetAllProviderConsumerEpochCuStore(ctx sdk.Context) (epochs []uint64, keys []string, providerConsumerEpochCus []types.ProviderConsumerEpochCu) { +func (k Keeper) GetAllProviderConsumerEpochCuStore(ctx sdk.Context) []types.ProviderConsumerEpochCuGenesis { + info := []types.ProviderConsumerEpochCuGenesis{} store := prefix.NewStore(ctx.KVStore(k.storeKey), []byte(types.ProviderConsumerEpochCuPrefix)) iterator := sdk.KVStorePrefixIterator(store, []byte{}) // Get an iterator with no prefix to iterate over all keys defer iterator.Close() @@ -187,15 +207,24 @@ func (k Keeper) GetAllProviderConsumerEpochCuStore(ctx sdk.Context) (epochs []ui split := strings.Split(string(iterator.Key()), "/") // key structure: epoch/provider_consumer_epoch_key epoch, err := strconv.ParseUint(split[0], 10, 64) if err != nil { - utils.LavaFormatError("could not decode ProviderConsumerEpochCuKey", err, utils.LogAttr("key", string(iterator.Key()))) + utils.LavaFormatError("could not decode ProviderConsumerEpochCuKey with epoch", err, utils.LogAttr("key", string(iterator.Key()))) + continue + } + provider, project, chainID, err := types.DecodeProviderConsumerEpochCuKey(split[1]) + if err != nil { + utils.LavaFormatError("could not decode ProviderConsumerEpochCuKey", err, utils.LogAttr("key", split[1])) continue } - epochs = append(epochs, epoch) - keys = append(keys, split[1]) var pcec types.ProviderConsumerEpochCu k.cdc.MustUnmarshal(iterator.Value(), &pcec) - providerConsumerEpochCus = append(providerConsumerEpochCus, pcec) + info = append(info, types.ProviderConsumerEpochCuGenesis{ + Epoch: epoch, + Provider: provider, + Project: project, + ChainId: chainID, + ProviderConsumerEpochCu: pcec, + }) } - return epochs, keys, providerConsumerEpochCus + return info } diff --git a/x/pairing/keeper/epoch_cu_test.go b/x/pairing/keeper/epoch_cu_test.go index 752b12f75f..2bfee7b3d7 100644 --- a/x/pairing/keeper/epoch_cu_test.go +++ b/x/pairing/keeper/epoch_cu_test.go @@ -63,13 +63,18 @@ func TestUniqueEpochSessionGetAll(t *testing.T) { func TestUniqueEpochSessionGetAllStore(t *testing.T) { keeper, ctx := keepertest.PairingKeeper(t) items := createNUniqueEpochSession(keeper, ctx, 10) - expectedKeys := []string{} + expectedInfo := []types.UniqueEpochSessionGenesis{} for i, item := range items { - key := string(types.UniqueEpochSessionKey(item, item, item, uint64(i))) - expectedKeys = append(expectedKeys, key) + expectedInfo = append(expectedInfo, types.UniqueEpochSessionGenesis{ + Epoch: uint64(i), + Provider: item, + Project: item, + ChainId: item, + SessionId: uint64(i), + }) } - _, keys := keeper.GetAllUniqueEpochSessionStore(ctx) - require.ElementsMatch(t, nullify.Fill(expectedKeys), nullify.Fill(keys)) + info := keeper.GetAllUniqueEpochSessionStore(ctx) + require.ElementsMatch(t, nullify.Fill(expectedInfo), nullify.Fill(info)) } /* ########## ProviderEpochCu ############ */ @@ -109,15 +114,18 @@ func TestProviderEpochCuRemove(t *testing.T) { func TestProviderEpochCuGetAllStore(t *testing.T) { keeper, ctx := keepertest.PairingKeeper(t) items := createNProviderEpochCu(keeper, ctx, 10) - expectedKeys := []string{} + expectedInfo := []types.ProviderEpochCuGenesis{} for i := range items { name := strconv.Itoa(i) - key := string(types.ProviderEpochCuKey(name, name)) - expectedKeys = append(expectedKeys, key) + expectedInfo = append(expectedInfo, types.ProviderEpochCuGenesis{ + Epoch: uint64(i), + Provider: name, + ChainId: name, + ProviderEpochCu: types.ProviderEpochCu{ServicedCu: uint64(i)}, + }) } - _, keys, pecs := keeper.GetAllProviderEpochCuStore(ctx) - require.ElementsMatch(t, nullify.Fill(expectedKeys), nullify.Fill(keys)) - require.ElementsMatch(t, items, pecs) + info := keeper.GetAllProviderEpochCuStore(ctx) + require.ElementsMatch(t, nullify.Fill(expectedInfo), nullify.Fill(info)) } /* ########## ProviderConsumerEpochCu ############ */ @@ -176,13 +184,17 @@ func TestProviderConsumerEpochCuGetAll(t *testing.T) { func TestProviderConsumerEpochCuGetAllStore(t *testing.T) { keeper, ctx := keepertest.PairingKeeper(t) items := createNProviderConsumerEpochCu(keeper, ctx, 10) - expectedKeys := []string{} + expectedInfo := []types.ProviderConsumerEpochCuGenesis{} for i := range items { name := strconv.Itoa(i) - key := string(types.ProviderConsumerEpochCuKey(name, name, name)) - expectedKeys = append(expectedKeys, key) + expectedInfo = append(expectedInfo, types.ProviderConsumerEpochCuGenesis{ + Epoch: uint64(i), + Provider: name, + Project: name, + ChainId: name, + ProviderConsumerEpochCu: types.ProviderConsumerEpochCu{Cu: uint64(i)}, + }) } - _, keys, pecs := keeper.GetAllProviderConsumerEpochCuStore(ctx) - require.ElementsMatch(t, nullify.Fill(expectedKeys), nullify.Fill(keys)) - require.ElementsMatch(t, items, pecs) + info := keeper.GetAllProviderConsumerEpochCuStore(ctx) + require.ElementsMatch(t, nullify.Fill(expectedInfo), nullify.Fill(info)) } diff --git a/x/pairing/keeper/grpc_query_providers_epoch_cu.go b/x/pairing/keeper/grpc_query_providers_epoch_cu.go index 13df75101a..ec34d870fc 100644 --- a/x/pairing/keeper/grpc_query_providers_epoch_cu.go +++ b/x/pairing/keeper/grpc_query_providers_epoch_cu.go @@ -18,16 +18,12 @@ func (k Keeper) ProvidersEpochCu(goCtx context.Context, req *types.QueryProvider ctx := sdk.UnwrapSDKContext(goCtx) infoMap := map[string]uint64{} - _, keys, pecs := k.GetAllProviderEpochCuStore(ctx) - for i := range pecs { - provider, _, err := types.DecodeProviderEpochCuKey(keys[i]) - if err != nil { - continue - } - if _, ok := infoMap[provider]; !ok { - infoMap[provider] = pecs[i].ServicedCu + infos := k.GetAllProviderEpochCuStore(ctx) + for _, info := range infos { + if _, ok := infoMap[info.Provider]; !ok { + infoMap[info.Provider] = info.ProviderEpochCu.ServicedCu } else { - infoMap[provider] += pecs[i].ServicedCu + infoMap[info.Provider] += info.ProviderEpochCu.ServicedCu } } From 355a78f3dc6515ab8a8542ad24861a6d3a796890 Mon Sep 17 00:00:00 2001 From: oren-lava Date: Wed, 27 Mar 2024 12:24:21 +0200 Subject: [PATCH 16/35] CNS-930: fix TODO --- x/pairing/keeper/fixation_test.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/x/pairing/keeper/fixation_test.go b/x/pairing/keeper/fixation_test.go index 098c940d0e..f50a1338c0 100644 --- a/x/pairing/keeper/fixation_test.go +++ b/x/pairing/keeper/fixation_test.go @@ -50,5 +50,10 @@ func TestEpochPaymentDeletionWithMemoryShortening(t *testing.T) { // check that both payments were deleted ts.AdvanceEpochs(epochsToSave) - // TODO: add check here + + res, err := ts.QueryProjectDeveloper(clientAcct.Addr.String()) + require.NoError(t, err) + res2, err := ts.QueryPairingProviderEpochCu(providerAddr, res.Project.Index, ts.spec.Index) + require.NoError(t, err) + require.Len(t, res2.Info, 0) } From f25f922722ccf829a32f92024743b5e9608495e8 Mon Sep 17 00:00:00 2001 From: oren-lava Date: Wed, 27 Mar 2024 12:36:58 +0200 Subject: [PATCH 17/35] CNS-930: change unique session key order --- x/pairing/keeper/epoch_cu.go | 6 +++--- x/pairing/types/epoch_cu.go | 6 +++--- x/pairing/types/genesis.go | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/x/pairing/keeper/epoch_cu.go b/x/pairing/keeper/epoch_cu.go index 95f6c1855e..b948ed49b9 100644 --- a/x/pairing/keeper/epoch_cu.go +++ b/x/pairing/keeper/epoch_cu.go @@ -25,13 +25,13 @@ import ( // SetUniqueEpochSession sets a UniqueEpochSession in the store func (k Keeper) SetUniqueEpochSession(ctx sdk.Context, epoch uint64, provider string, project string, chainID string, sessionID uint64) { store := prefix.NewStore(ctx.KVStore(k.storeKey), types.UniqueEpochSessionKeyPrefix(epoch)) - store.Set(types.UniqueEpochSessionKey(provider, project, chainID, sessionID), []byte{0}) + store.Set(types.UniqueEpochSessionKey(provider, chainID, project, sessionID), []byte{0}) } // IsUniqueEpochSessionExists checks if a UniqueEpochSession exists func (k Keeper) IsUniqueEpochSessionExists(ctx sdk.Context, epoch uint64, provider string, project string, chainID string, sessionID uint64) bool { store := prefix.NewStore(ctx.KVStore(k.storeKey), types.UniqueEpochSessionKeyPrefix(epoch)) - b := store.Get(types.UniqueEpochSessionKey(provider, project, chainID, sessionID)) + b := store.Get(types.UniqueEpochSessionKey(provider, chainID, project, sessionID)) return b != nil } @@ -77,7 +77,7 @@ func (k Keeper) GetAllUniqueEpochSessionStore(ctx sdk.Context) []types.UniqueEpo utils.LavaFormatError("could not decode UniqueEpochSessionKey with epoch", err, utils.LogAttr("key", string(iterator.Key()))) continue } - provider, project, chainID, sessionID, err := types.DecodeUniqueEpochSessionKey(split[1]) + provider, chainID, project, sessionID, err := types.DecodeUniqueEpochSessionKey(split[1]) if err != nil { utils.LavaFormatError("could not decode UniqueEpochSessionKey", err, utils.LogAttr("key", split[1])) } diff --git a/x/pairing/types/epoch_cu.go b/x/pairing/types/epoch_cu.go index c7be6f229e..c94a38159b 100644 --- a/x/pairing/types/epoch_cu.go +++ b/x/pairing/types/epoch_cu.go @@ -12,8 +12,8 @@ const ( ProviderConsumerEpochCuPrefix = "ProviderConsumerEpochCu/" ) -func UniqueEpochSessionKey(provider string, project string, chainID string, sessionID uint64) []byte { - return []byte(strings.Join([]string{provider, project, chainID, strconv.FormatUint(sessionID, 10)}, " ")) +func UniqueEpochSessionKey(provider string, chainID string, project string, sessionID uint64) []byte { + return []byte(strings.Join([]string{provider, chainID, project, strconv.FormatUint(sessionID, 10)}, " ")) } func ProviderEpochCuKey(provider string, chainID string) []byte { @@ -24,7 +24,7 @@ func ProviderConsumerEpochCuKey(provider string, project string, chainID string) return []byte(strings.Join([]string{provider, project, chainID}, " ")) } -func DecodeUniqueEpochSessionKey(key string) (provider string, project string, chainID string, sessionID uint64, err error) { +func DecodeUniqueEpochSessionKey(key string) (provider string, chainID string, project string, sessionID uint64, err error) { split := strings.Split(key, " ") if len(split) != 4 { return "", "", "", 0, fmt.Errorf("invalid UniqueEpochSession key") diff --git a/x/pairing/types/genesis.go b/x/pairing/types/genesis.go index ef1bc53b23..a3200e710e 100644 --- a/x/pairing/types/genesis.go +++ b/x/pairing/types/genesis.go @@ -31,7 +31,7 @@ func (gs GenesisState) Validate() error { UniqueEpochSessionsProviderIndexMap := make(map[string]struct{}) for _, elem := range gs.UniqueEpochSessions { - index := string(UniqueEpochSessionKey(elem.Provider, elem.Project, elem.ChainId, elem.SessionId)) + index := string(UniqueEpochSessionKey(elem.Provider, elem.ChainId, elem.Project, elem.SessionId)) if _, ok := UniqueEpochSessionsProviderIndexMap[index]; ok { return fmt.Errorf("duplicated index for UniqueEpochSession") } From c4f20a3d6e0e9c6034fe38fac073bd36051dd979 Mon Sep 17 00:00:00 2001 From: oren-lava Date: Wed, 27 Mar 2024 14:07:19 +0200 Subject: [PATCH 18/35] CNS-930: improve unresponsive CU count efficiency --- x/pairing/keeper/unresponsive_provider.go | 57 +++++++++++++---------- 1 file changed, 33 insertions(+), 24 deletions(-) diff --git a/x/pairing/keeper/unresponsive_provider.go b/x/pairing/keeper/unresponsive_provider.go index e90243ad5d..46f164eec2 100644 --- a/x/pairing/keeper/unresponsive_provider.go +++ b/x/pairing/keeper/unresponsive_provider.go @@ -83,32 +83,41 @@ func (k Keeper) PunishUnresponsiveProviders(ctx sdk.Context, epochsNumToCheckCUF } } // Go over the staked provider entries (on all chains) - for _, providerStakeStorage := range providerStakeStorageList { - providerStakeEntriesForChain := providerStakeStorage.GetStakeEntries() - for _, providerStakeEntry := range providerStakeEntriesForChain { - if minHistoryBlock < providerStakeEntry.StakeAppliedBlock { - // this staked provider has too short history (either since staking - // or since it was last unfrozen) - do not consider for jailing - continue - } - // update the CU count for this provider in providerCuCounterForUnreponsivenessMap - epochs, complaintCU, servicedCU, err := k.countCuForUnresponsiveness(ctx, minPaymentBlock, epochsNumToCheckCUForUnresponsiveProvider, epochsNumToCheckCUForComplainers, providerStakeEntry) + pecsDetailed := k.GetAllProviderEpochCuStore(ctx) + for _, pec := range pecsDetailed { + if pec.ProviderEpochCu.ComplainersCu == 0 { + continue + } + providerAddr, err := sdk.AccAddressFromBech32(pec.Provider) + if err != nil { + continue + } + stakeEntry, found, _ := k.epochStorageKeeper.GetStakeEntryByAddressCurrent(ctx, pec.ChainId, providerAddr) + if !found { + continue + } + if minHistoryBlock < stakeEntry.StakeAppliedBlock { + // this staked provider has too short history (either since staking + // or since it was last unfrozen) - do not consider for jailing + continue + } + // update the CU count for this provider in providerCuCounterForUnreponsivenessMap + epochs, complaintCU, servicedCU, err := k.countCuForUnresponsiveness(ctx, minPaymentBlock, epochsNumToCheckCUForUnresponsiveProvider, epochsNumToCheckCUForComplainers, stakeEntry) + if err != nil { + utils.LavaFormatError("unstake unresponsive providers failed to count CU", err, + utils.Attribute{Key: "provider", Value: stakeEntry.Address}, + ) + continue + } + + // providerPaymentStorageKeyList is not empty -> provider should be punished + if len(epochs) != 0 && existingProviders[stakeEntry.GetChain()] > minProviders { + err = k.punishUnresponsiveProvider(ctx, epochs, stakeEntry.GetAddress(), stakeEntry.GetChain(), complaintCU, servicedCU) + existingProviders[stakeEntry.GetChain()]-- if err != nil { - utils.LavaFormatError("unstake unresponsive providers failed to count CU", err, - utils.Attribute{Key: "provider", Value: providerStakeEntry.Address}, + utils.LavaFormatError("unstake unresponsive providers failed to punish provider", err, + utils.Attribute{Key: "provider", Value: stakeEntry.Address}, ) - continue - } - - // providerPaymentStorageKeyList is not empty -> provider should be punished - if len(epochs) != 0 && existingProviders[providerStakeEntry.GetChain()] > minProviders { - err = k.punishUnresponsiveProvider(ctx, epochs, providerStakeEntry.GetAddress(), providerStakeEntry.GetChain(), complaintCU, servicedCU) - existingProviders[providerStakeEntry.GetChain()]-- - if err != nil { - utils.LavaFormatError("unstake unresponsive providers failed to punish provider", err, - utils.Attribute{Key: "provider", Value: providerStakeEntry.Address}, - ) - } } } } From 1b4d203e6af4a40173dbb27303b2c5784cfa3c3e Mon Sep 17 00:00:00 2001 From: oren-lava Date: Wed, 27 Mar 2024 16:43:04 +0200 Subject: [PATCH 19/35] CNS-930: insert the epoch to the key --- x/pairing/keeper/epoch_cu.go | 75 ++++++++++++------------------- x/pairing/keeper/epoch_cu_test.go | 4 +- x/pairing/keeper/epoch_payment.go | 2 +- x/pairing/types/epoch_cu.go | 64 +++++++++++++++----------- x/pairing/types/genesis.go | 6 +-- 5 files changed, 72 insertions(+), 79 deletions(-) diff --git a/x/pairing/keeper/epoch_cu.go b/x/pairing/keeper/epoch_cu.go index b948ed49b9..90404e4bda 100644 --- a/x/pairing/keeper/epoch_cu.go +++ b/x/pairing/keeper/epoch_cu.go @@ -24,21 +24,21 @@ import ( // SetUniqueEpochSession sets a UniqueEpochSession in the store func (k Keeper) SetUniqueEpochSession(ctx sdk.Context, epoch uint64, provider string, project string, chainID string, sessionID uint64) { - store := prefix.NewStore(ctx.KVStore(k.storeKey), types.UniqueEpochSessionKeyPrefix(epoch)) - store.Set(types.UniqueEpochSessionKey(provider, chainID, project, sessionID), []byte{0}) + store := prefix.NewStore(ctx.KVStore(k.storeKey), types.UniqueEpochSessionKeyPrefix()) + store.Set(types.UniqueEpochSessionKey(epoch, provider, chainID, project, sessionID), []byte{0}) } // IsUniqueEpochSessionExists checks if a UniqueEpochSession exists func (k Keeper) IsUniqueEpochSessionExists(ctx sdk.Context, epoch uint64, provider string, project string, chainID string, sessionID uint64) bool { - store := prefix.NewStore(ctx.KVStore(k.storeKey), types.UniqueEpochSessionKeyPrefix(epoch)) - b := store.Get(types.UniqueEpochSessionKey(provider, chainID, project, sessionID)) + store := prefix.NewStore(ctx.KVStore(k.storeKey), types.UniqueEpochSessionKeyPrefix()) + b := store.Get(types.UniqueEpochSessionKey(epoch, provider, chainID, project, sessionID)) return b != nil } // RemoveAllUniqueEpochSession removes all the UniqueEpochSession objects from the store for a specific epoch func (k Keeper) RemoveAllUniqueEpochSession(ctx sdk.Context, epoch uint64) { - store := prefix.NewStore(ctx.KVStore(k.storeKey), types.UniqueEpochSessionKeyPrefix(epoch)) - iterator := sdk.KVStorePrefixIterator(store, []byte{}) // Get an iterator with no prefix to iterate over all keys + store := prefix.NewStore(ctx.KVStore(k.storeKey), types.UniqueEpochSessionKeyPrefix()) + iterator := sdk.KVStorePrefixIterator(store, []byte(strconv.FormatUint(epoch, 10))) defer iterator.Close() for ; iterator.Valid(); iterator.Next() { store.Delete(iterator.Key()) @@ -47,16 +47,16 @@ func (k Keeper) RemoveAllUniqueEpochSession(ctx sdk.Context, epoch uint64) { // GetAllUniqueEpochSessionForEpoch gets all the UniqueEpochSession objects from the store for a specific epoch func (k Keeper) GetAllUniqueEpochSessionForEpoch(ctx sdk.Context, epoch uint64) []string { - store := prefix.NewStore(ctx.KVStore(k.storeKey), types.UniqueEpochSessionKeyPrefix(epoch)) + store := prefix.NewStore(ctx.KVStore(k.storeKey), types.UniqueEpochSessionKeyPrefix()) - iterator := sdk.KVStorePrefixIterator(store, []byte{}) // Get an iterator with no prefix to iterate over all keys + iterator := sdk.KVStorePrefixIterator(store, []byte(strconv.FormatUint(epoch, 10))) // Get an iterator with no prefix to iterate over all keys defer iterator.Close() var keys []string for ; iterator.Valid(); iterator.Next() { key := iterator.Key() // Remove the prefix to get the actual UniqueEpochSession key - uniqueEpochSessionKey := strings.TrimPrefix(string(key), string(types.UniqueEpochSessionKeyPrefix(epoch))) + uniqueEpochSessionKey := strings.TrimPrefix(string(key), string(types.UniqueEpochSessionKeyPrefix())) keys = append(keys, uniqueEpochSessionKey) } @@ -70,16 +70,9 @@ func (k Keeper) GetAllUniqueEpochSessionStore(ctx sdk.Context) []types.UniqueEpo iterator := sdk.KVStorePrefixIterator(store, []byte{}) // Get an iterator with no prefix to iterate over all keys defer iterator.Close() for ; iterator.Valid(); iterator.Next() { - key := string(iterator.Key()) - split := strings.Split(key, "/") // key structure: epoch/unique_epoch_session_key - epoch, err := strconv.ParseUint(split[0], 10, 64) + epoch, provider, chainID, project, sessionID, err := types.DecodeUniqueEpochSessionKey(string(iterator.Key())) if err != nil { - utils.LavaFormatError("could not decode UniqueEpochSessionKey with epoch", err, utils.LogAttr("key", string(iterator.Key()))) - continue - } - provider, chainID, project, sessionID, err := types.DecodeUniqueEpochSessionKey(split[1]) - if err != nil { - utils.LavaFormatError("could not decode UniqueEpochSessionKey", err, utils.LogAttr("key", split[1])) + utils.LavaFormatError("could not decode UniqueEpochSessionKey", err, utils.LogAttr("key", string(iterator.Key()))) } info = append(info, types.UniqueEpochSessionGenesis{ Epoch: epoch, @@ -97,15 +90,15 @@ func (k Keeper) GetAllUniqueEpochSessionStore(ctx sdk.Context) []types.UniqueEpo // SetProviderEpochCu sets a ProviderEpochCu in the store func (k Keeper) SetProviderEpochCu(ctx sdk.Context, epoch uint64, provider string, chainID string, providerEpochCu types.ProviderEpochCu) { - store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderEpochCuKeyPrefix(epoch)) + store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderEpochCuKeyPrefix()) b := k.cdc.MustMarshal(&providerEpochCu) - store.Set(types.ProviderEpochCuKey(provider, chainID), b) + store.Set(types.ProviderEpochCuKey(epoch, provider, chainID), b) } // GetProviderEpochCu returns a ProviderEpochCu for a specific epoch and provider func (k Keeper) GetProviderEpochCu(ctx sdk.Context, epoch uint64, provider string, chainID string) (val types.ProviderEpochCu, found bool) { - store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderEpochCuKeyPrefix(epoch)) - b := store.Get(types.ProviderEpochCuKey(provider, chainID)) + store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderEpochCuKeyPrefix()) + b := store.Get(types.ProviderEpochCuKey(epoch, provider, chainID)) if b == nil { return val, false } @@ -116,8 +109,8 @@ func (k Keeper) GetProviderEpochCu(ctx sdk.Context, epoch uint64, provider strin // RemoveProviderEpochCu removes a ProviderEpochCu from the store func (k Keeper) RemoveAllProviderEpochCu(ctx sdk.Context, epoch uint64) { - store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderEpochCuKeyPrefix(epoch)) - iterator := sdk.KVStorePrefixIterator(store, []byte{}) // Get an iterator with no prefix to iterate over all keys + store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderEpochCuKeyPrefix()) + iterator := sdk.KVStorePrefixIterator(store, []byte(strconv.FormatUint(epoch, 10))) defer iterator.Close() for ; iterator.Valid(); iterator.Next() { store.Delete(iterator.Key()) @@ -131,17 +124,11 @@ func (k Keeper) GetAllProviderEpochCuStore(ctx sdk.Context) []types.ProviderEpoc iterator := sdk.KVStorePrefixIterator(store, []byte{}) // Get an iterator with no prefix to iterate over all keys defer iterator.Close() for ; iterator.Valid(); iterator.Next() { - split := strings.Split(string(iterator.Key()), "/") // key structure: epoch/provider_epoch_cu_key - epoch, err := strconv.ParseUint(split[0], 10, 64) + epoch, provider, chainID, err := types.DecodeProviderEpochCuKey(string(iterator.Key())) if err != nil { utils.LavaFormatError("could not decode ProviderEpochCuKey with epoch", err, utils.LogAttr("key", string(iterator.Key()))) continue } - provider, chainID, err := types.DecodeProviderEpochCuKey(split[1]) - if err != nil { - utils.LavaFormatError("could not decode ProviderEpochCuKey with epoch", err, utils.LogAttr("key", split[1])) - continue - } var pec types.ProviderEpochCu k.cdc.MustUnmarshal(iterator.Value(), &pec) info = append(info, types.ProviderEpochCuGenesis{ @@ -159,15 +146,15 @@ func (k Keeper) GetAllProviderEpochCuStore(ctx sdk.Context) []types.ProviderEpoc // SetProviderConsumerEpochCu sets a ProviderConsumerEpochCu in the store func (k Keeper) SetProviderConsumerEpochCu(ctx sdk.Context, epoch uint64, provider string, project string, chainID string, providerConsumerEpochCu types.ProviderConsumerEpochCu) { - store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderConsumerEpochCuKeyPrefix(epoch)) + store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderConsumerEpochCuKeyPrefix()) b := k.cdc.MustMarshal(&providerConsumerEpochCu) - store.Set(types.ProviderConsumerEpochCuKey(provider, project, chainID), b) + store.Set(types.ProviderConsumerEpochCuKey(epoch, provider, project, chainID), b) } // GetProviderConsumerEpochCu returns a ProviderConsumerEpochCu for a specific epoch, provider and project func (k Keeper) GetProviderConsumerEpochCu(ctx sdk.Context, epoch uint64, provider string, project string, chainID string) (val types.ProviderConsumerEpochCu, found bool) { - store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderConsumerEpochCuKeyPrefix(epoch)) - b := store.Get(types.ProviderConsumerEpochCuKey(provider, project, chainID)) + store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderConsumerEpochCuKeyPrefix()) + b := store.Get(types.ProviderConsumerEpochCuKey(epoch, provider, project, chainID)) if b == nil { return val, false } @@ -178,14 +165,14 @@ func (k Keeper) GetProviderConsumerEpochCu(ctx sdk.Context, epoch uint64, provid // RemoveProviderConsumerEpochCu removes a ProviderConsumerEpochCu from the store func (k Keeper) RemoveProviderConsumerEpochCu(ctx sdk.Context, epoch uint64, provider string, project string, chainID string) { - store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderConsumerEpochCuKeyPrefix(epoch)) - store.Delete(types.ProviderConsumerEpochCuKey(provider, project, chainID)) + store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderConsumerEpochCuKeyPrefix()) + store.Delete(types.ProviderConsumerEpochCuKey(epoch, provider, project, chainID)) } // GetAllProviderConsumerEpochCuStore returns all the ProviderConsumerEpochCu from the store (used for genesis) func (k Keeper) GetAllProviderConsumerEpochCu(ctx sdk.Context, epoch uint64) (keys []string, providerConsumerEpochCus []types.ProviderConsumerEpochCu) { - store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderConsumerEpochCuKeyPrefix(epoch)) - iterator := sdk.KVStorePrefixIterator(store, []byte{}) // Get an iterator with no prefix to iterate over all keys + store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderConsumerEpochCuKeyPrefix()) + iterator := sdk.KVStorePrefixIterator(store, []byte(strconv.FormatUint(epoch, 10))) defer iterator.Close() for ; iterator.Valid(); iterator.Next() { keys = append(keys, string(iterator.Key())) @@ -204,15 +191,9 @@ func (k Keeper) GetAllProviderConsumerEpochCuStore(ctx sdk.Context) []types.Prov iterator := sdk.KVStorePrefixIterator(store, []byte{}) // Get an iterator with no prefix to iterate over all keys defer iterator.Close() for ; iterator.Valid(); iterator.Next() { - split := strings.Split(string(iterator.Key()), "/") // key structure: epoch/provider_consumer_epoch_key - epoch, err := strconv.ParseUint(split[0], 10, 64) - if err != nil { - utils.LavaFormatError("could not decode ProviderConsumerEpochCuKey with epoch", err, utils.LogAttr("key", string(iterator.Key()))) - continue - } - provider, project, chainID, err := types.DecodeProviderConsumerEpochCuKey(split[1]) + epoch, provider, project, chainID, err := types.DecodeProviderConsumerEpochCuKey(string(iterator.Key())) if err != nil { - utils.LavaFormatError("could not decode ProviderConsumerEpochCuKey", err, utils.LogAttr("key", split[1])) + utils.LavaFormatError("could not decode ProviderConsumerEpochCuKey", err, utils.LogAttr("key", string(iterator.Key()))) continue } var pcec types.ProviderConsumerEpochCu diff --git a/x/pairing/keeper/epoch_cu_test.go b/x/pairing/keeper/epoch_cu_test.go index 2bfee7b3d7..62aeddde12 100644 --- a/x/pairing/keeper/epoch_cu_test.go +++ b/x/pairing/keeper/epoch_cu_test.go @@ -53,7 +53,7 @@ func TestUniqueEpochSessionGetAll(t *testing.T) { expectedKeys := []string{} keys := []string{} for i, item := range items { - key := string(types.UniqueEpochSessionKey(item, item, item, uint64(i))) + key := string(types.UniqueEpochSessionKey(uint64(i), item, item, item, uint64(i))) expectedKeys = append(expectedKeys, key) keys = append(keys, keeper.GetAllUniqueEpochSessionForEpoch(ctx, uint64(i))...) } @@ -170,7 +170,7 @@ func TestProviderConsumerEpochCuGetAll(t *testing.T) { actualPecs := []types.ProviderConsumerEpochCu{} for i := range items { name := strconv.Itoa(i) - key := string(types.ProviderConsumerEpochCuKey(name, name, name)) + key := string(types.ProviderConsumerEpochCuKey(uint64(i), name, name, name)) expectedKeys = append(expectedKeys, key) keys, pecs := keeper.GetAllProviderConsumerEpochCu(ctx, uint64(i)) actualKeys = append(actualKeys, keys...) diff --git a/x/pairing/keeper/epoch_payment.go b/x/pairing/keeper/epoch_payment.go index a8c070eded..c221b4ebd1 100644 --- a/x/pairing/keeper/epoch_payment.go +++ b/x/pairing/keeper/epoch_payment.go @@ -59,7 +59,7 @@ func (k Keeper) RemoveAllEpochPaymentsForBlockAppendAdjustments(ctx sdk.Context, iterationOrder := []couplingConsumerProvider{} couplingUsage := map[couplingConsumerProvider]uint64{} for i := range keys { - provider, project, chainID, err := types.DecodeProviderConsumerEpochCuKey(keys[i]) + _, provider, project, chainID, err := types.DecodeProviderConsumerEpochCuKey(keys[i]) if err != nil { utils.LavaFormatError("invalid provider consumer epoch cu key", err, utils.LogAttr("key", keys[i])) continue diff --git a/x/pairing/types/epoch_cu.go b/x/pairing/types/epoch_cu.go index c94a38159b..357764627b 100644 --- a/x/pairing/types/epoch_cu.go +++ b/x/pairing/types/epoch_cu.go @@ -12,54 +12,66 @@ const ( ProviderConsumerEpochCuPrefix = "ProviderConsumerEpochCu/" ) -func UniqueEpochSessionKey(provider string, chainID string, project string, sessionID uint64) []byte { - return []byte(strings.Join([]string{provider, chainID, project, strconv.FormatUint(sessionID, 10)}, " ")) +func UniqueEpochSessionKey(epoch uint64, provider string, chainID string, project string, sessionID uint64) []byte { + return []byte(strings.Join([]string{strconv.FormatUint(epoch, 10), provider, chainID, project, strconv.FormatUint(sessionID, 10)}, " ")) } -func ProviderEpochCuKey(provider string, chainID string) []byte { - return []byte(strings.Join([]string{provider, chainID}, " ")) +func ProviderEpochCuKey(epoch uint64, provider string, chainID string) []byte { + return []byte(strings.Join([]string{strconv.FormatUint(epoch, 10), provider, chainID}, " ")) } -func ProviderConsumerEpochCuKey(provider string, project string, chainID string) []byte { - return []byte(strings.Join([]string{provider, project, chainID}, " ")) +func ProviderConsumerEpochCuKey(epoch uint64, provider string, project string, chainID string) []byte { + return []byte(strings.Join([]string{strconv.FormatUint(epoch, 10), provider, project, chainID}, " ")) } -func DecodeUniqueEpochSessionKey(key string) (provider string, chainID string, project string, sessionID uint64, err error) { +func DecodeUniqueEpochSessionKey(key string) (epoch uint64, provider string, chainID string, project string, sessionID uint64, err error) { split := strings.Split(key, " ") - if len(split) != 4 { - return "", "", "", 0, fmt.Errorf("invalid UniqueEpochSession key") + if len(split) != 5 { + return 0, "", "", "", 0, fmt.Errorf("invalid UniqueEpochSession key: bad structure. key: %s", key) + } + epoch, err = strconv.ParseUint(split[0], 10, 64) + if err != nil { + return 0, "", "", "", 0, fmt.Errorf("invalid UniqueEpochSession key: bad epoch. key: %s", key) } - sessionID, err = strconv.ParseUint(split[3], 10, 64) + sessionID, err = strconv.ParseUint(split[4], 10, 64) if err != nil { - return "", "", "", 0, err + return 0, "", "", "", 0, fmt.Errorf("invalid UniqueEpochSession key: bad session ID. key: %s", key) } - return split[0], split[1], split[2], sessionID, nil + return epoch, split[1], split[2], split[3], sessionID, nil } -func DecodeProviderEpochCuKey(key string) (provider string, chainID string, err error) { +func DecodeProviderEpochCuKey(key string) (epoch uint64, provider string, chainID string, err error) { split := strings.Split(key, " ") - if len(split) != 2 { - return "", "", fmt.Errorf("invalid ProviderEpochCu key") + if len(split) != 3 { + return 0, "", "", fmt.Errorf("invalid ProviderEpochCu key: bad structure. key: %s", key) + } + epoch, err = strconv.ParseUint(split[0], 10, 64) + if err != nil { + return 0, "", "", fmt.Errorf("invalid ProviderEpochCu key: bad epoch. key: %s", key) } - return split[0], split[1], nil + return epoch, split[1], split[2], nil } -func DecodeProviderConsumerEpochCuKey(key string) (provider string, project string, chainID string, err error) { +func DecodeProviderConsumerEpochCuKey(key string) (epoch uint64, provider string, project string, chainID string, err error) { split := strings.Split(key, " ") - if len(split) != 3 { - return "", "", "", fmt.Errorf("invalid ProviderConsumerEpochCu key") + if len(split) != 4 { + return 0, "", "", "", fmt.Errorf("invalid ProviderConsumerEpochCu key: bad structure. key: %s", key) + } + epoch, err = strconv.ParseUint(split[0], 10, 64) + if err != nil { + return 0, "", "", "", fmt.Errorf("invalid ProviderConsumerEpochCu key: bad epoch. key: %s", key) } - return split[0], split[1], split[2], nil + return epoch, split[1], split[2], split[3], nil } -func UniqueEpochSessionKeyPrefix(epoch uint64) []byte { - return []byte(UniqueEpochSessionPrefix + strconv.FormatUint(epoch, 10) + "/") +func UniqueEpochSessionKeyPrefix() []byte { + return []byte(UniqueEpochSessionPrefix) } -func ProviderEpochCuKeyPrefix(epoch uint64) []byte { - return []byte(ProviderEpochCuPrefix + strconv.FormatUint(epoch, 10) + "/") +func ProviderEpochCuKeyPrefix() []byte { + return []byte(ProviderEpochCuPrefix) } -func ProviderConsumerEpochCuKeyPrefix(epoch uint64) []byte { - return []byte(ProviderConsumerEpochCuPrefix + strconv.FormatUint(epoch, 10) + "/") +func ProviderConsumerEpochCuKeyPrefix() []byte { + return []byte(ProviderConsumerEpochCuPrefix) } diff --git a/x/pairing/types/genesis.go b/x/pairing/types/genesis.go index a3200e710e..4d4d11599c 100644 --- a/x/pairing/types/genesis.go +++ b/x/pairing/types/genesis.go @@ -31,7 +31,7 @@ func (gs GenesisState) Validate() error { UniqueEpochSessionsProviderIndexMap := make(map[string]struct{}) for _, elem := range gs.UniqueEpochSessions { - index := string(UniqueEpochSessionKey(elem.Provider, elem.ChainId, elem.Project, elem.SessionId)) + index := string(UniqueEpochSessionKey(elem.Epoch, elem.Provider, elem.ChainId, elem.Project, elem.SessionId)) if _, ok := UniqueEpochSessionsProviderIndexMap[index]; ok { return fmt.Errorf("duplicated index for UniqueEpochSession") } @@ -41,7 +41,7 @@ func (gs GenesisState) Validate() error { providerEpochCusIndexMap := make(map[string]struct{}) for _, elem := range gs.ProviderEpochCus { - index := string(ProviderEpochCuKey(elem.Provider, elem.ChainId)) + index := string(ProviderEpochCuKey(elem.Epoch, elem.Provider, elem.ChainId)) if _, ok := providerEpochCusIndexMap[index]; ok { return fmt.Errorf("duplicated index for ProviderEpochCu") } @@ -51,7 +51,7 @@ func (gs GenesisState) Validate() error { providerConsumerEpochCuIndexMap := make(map[string]struct{}) for _, elem := range gs.ProviderConsumerEpochCus { - index := string(ProviderConsumerEpochCuKey(elem.Provider, elem.Project, elem.ChainId)) + index := string(ProviderConsumerEpochCuKey(elem.Epoch, elem.Provider, elem.Project, elem.ChainId)) if _, ok := providerConsumerEpochCuIndexMap[index]; ok { return fmt.Errorf("duplicated index for ProviderConsumerEpochCu") } From 82daa9388dc95b5c1dc4b22ba1c592ce0edef1c5 Mon Sep 17 00:00:00 2001 From: oren-lava Date: Wed, 27 Mar 2024 19:06:05 +0200 Subject: [PATCH 20/35] CNS-930: add cache to epoch CU --- x/pairing/keeper/epoch_cu.go | 51 +++++++++++++++++++ x/pairing/keeper/epoch_payment.go | 12 ++--- x/pairing/keeper/msg_server_relay_payment.go | 13 +++-- .../keeper/msg_server_relay_payment_test.go | 50 ++++++++++++++++++ 4 files changed, 115 insertions(+), 11 deletions(-) diff --git a/x/pairing/keeper/epoch_cu.go b/x/pairing/keeper/epoch_cu.go index 90404e4bda..03cef49b82 100644 --- a/x/pairing/keeper/epoch_cu.go +++ b/x/pairing/keeper/epoch_cu.go @@ -4,6 +4,7 @@ import ( "strconv" "strings" + "github.com/cosmos/cosmos-sdk/store/cachekv" "github.com/cosmos/cosmos-sdk/store/prefix" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/lavanet/lava/utils" @@ -209,3 +210,53 @@ func (k Keeper) GetAllProviderConsumerEpochCuStore(ctx sdk.Context) []types.Prov return info } + +/* ########## EpochCuCache ############ */ +type EpochCuCache struct { + Keeper + ProviderEpochCuCache *cachekv.Store + ProviderConsumerEpochCuCache *cachekv.Store +} + +func (k Keeper) NewEpochCuCacheHandler(ctx sdk.Context) EpochCuCache { + return EpochCuCache{ + Keeper: k, + ProviderEpochCuCache: cachekv.NewStore(prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderEpochCuKeyPrefix())), + ProviderConsumerEpochCuCache: cachekv.NewStore(prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderConsumerEpochCuKeyPrefix())), + } +} + +func (k EpochCuCache) SetProviderEpochCuCached(ctx sdk.Context, epoch uint64, provider string, chainID string, providerEpochCu types.ProviderEpochCu) { + b := k.cdc.MustMarshal(&providerEpochCu) + k.ProviderEpochCuCache.Set(types.ProviderEpochCuKey(epoch, provider, chainID), b) +} + +func (k EpochCuCache) GetProviderEpochCuCached(ctx sdk.Context, epoch uint64, provider string, chainID string) (val types.ProviderEpochCu, found bool) { + b := k.ProviderEpochCuCache.Get(types.ProviderEpochCuKey(epoch, provider, chainID)) + if b == nil { + return val, false + } + + k.cdc.MustUnmarshal(b, &val) + return val, true +} + +func (k EpochCuCache) SetProviderConsumerEpochCuCached(ctx sdk.Context, epoch uint64, provider string, project string, chainID string, providerConsumerEpochCu types.ProviderConsumerEpochCu) { + b := k.cdc.MustMarshal(&providerConsumerEpochCu) + k.ProviderConsumerEpochCuCache.Set(types.ProviderConsumerEpochCuKey(epoch, provider, project, chainID), b) +} + +func (k EpochCuCache) GetProviderConsumerEpochCuCached(ctx sdk.Context, epoch uint64, provider string, project string, chainID string) (val types.ProviderConsumerEpochCu, found bool) { + b := k.ProviderConsumerEpochCuCache.Get(types.ProviderConsumerEpochCuKey(epoch, provider, project, chainID)) + if b == nil { + return val, false + } + + k.cdc.MustUnmarshal(b, &val) + return val, true +} + +func (k EpochCuCache) Flush() { + k.ProviderEpochCuCache.Write() + k.ProviderConsumerEpochCuCache.Write() +} diff --git a/x/pairing/keeper/epoch_payment.go b/x/pairing/keeper/epoch_payment.go index c221b4ebd1..cef5aa9df9 100644 --- a/x/pairing/keeper/epoch_payment.go +++ b/x/pairing/keeper/epoch_payment.go @@ -7,27 +7,27 @@ import ( ) // AddEpochPayment adds a new epoch payment and returns the updated CU used between provider and project -func (k Keeper) AddEpochPayment(ctx sdk.Context, chainID string, epoch uint64, project string, provider string, cu uint64, sessionID uint64) uint64 { - // register new epoch session (not checking double spend because it's alreday checked before calling this function) +func (k EpochCuCache) AddEpochPayment(ctx sdk.Context, chainID string, epoch uint64, project string, provider string, cu uint64, sessionID uint64) uint64 { + // register new epoch session (not checking double spend because it's already checked before calling this function) k.SetUniqueEpochSession(ctx, epoch, provider, project, chainID, sessionID) // update provider serviced CU - pec, found := k.GetProviderEpochCu(ctx, epoch, provider, chainID) + pec, found := k.GetProviderEpochCuCached(ctx, epoch, provider, chainID) if !found { pec = types.ProviderEpochCu{ServicedCu: cu} } else { pec.ServicedCu += cu } - k.SetProviderEpochCu(ctx, epoch, provider, chainID, pec) + k.SetProviderEpochCuCached(ctx, epoch, provider, chainID, pec) // update provider CU for the specific project - pcec, found := k.GetProviderConsumerEpochCu(ctx, epoch, provider, project, chainID) + pcec, found := k.GetProviderConsumerEpochCuCached(ctx, epoch, provider, project, chainID) if !found { pcec = types.ProviderConsumerEpochCu{Cu: cu} } else { pcec.Cu += cu } - k.SetProviderConsumerEpochCu(ctx, epoch, provider, project, chainID, pcec) + k.SetProviderConsumerEpochCuCached(ctx, epoch, provider, project, chainID, pcec) return pcec.Cu } diff --git a/x/pairing/keeper/msg_server_relay_payment.go b/x/pairing/keeper/msg_server_relay_payment.go index 504ad614c0..be61bb8084 100644 --- a/x/pairing/keeper/msg_server_relay_payment.go +++ b/x/pairing/keeper/msg_server_relay_payment.go @@ -40,6 +40,7 @@ func (k msgServer) RelayPayment(goCtx context.Context, msg *types.MsgRelayPaymen ctx := sdk.UnwrapSDKContext(goCtx) logger := k.Logger(ctx) + epochCuCache := k.NewEpochCuCacheHandler(ctx) lavaChainID := ctx.BlockHeader().ChainID creator, err := sdk.AccAddressFromBech32(msg.Creator) if err != nil { @@ -165,7 +166,7 @@ func (k msgServer) RelayPayment(goCtx context.Context, msg *types.MsgRelayPaymen // if they failed (one relay should affect all of them). From here on, every check will // fail the TX *** - totalCUInEpochForUserProvider := k.Keeper.AddEpochPayment(ctx, relay.SpecId, epochStart, project.Index, relay.Provider, relay.CuSum, relay.SessionId) + totalCUInEpochForUserProvider := epochCuCache.AddEpochPayment(ctx, relay.SpecId, epochStart, project.Index, relay.Provider, relay.CuSum, relay.SessionId) if badgeFound { k.handleBadgeCu(ctx, badgeData, relay.Provider, relay.CuSum, newBadgeTimerExpiry) } @@ -281,7 +282,7 @@ func (k msgServer) RelayPayment(goCtx context.Context, msg *types.MsgRelayPaymen } // update provider payment storage with complainer's CU - err = k.updateProvidersComplainerCU(ctx, relay.UnresponsiveProviders, epochStart, relay.SpecId, cuAfterQos, providers, project.Index) + err = epochCuCache.updateProvidersComplainerCU(ctx, relay.UnresponsiveProviders, epochStart, relay.SpecId, cuAfterQos, providers, project.Index) if err != nil { var reportedProviders []string for _, p := range relay.UnresponsiveProviders { @@ -324,6 +325,8 @@ func (k msgServer) RelayPayment(goCtx context.Context, msg *types.MsgRelayPaymen } utils.LogLavaEvent(ctx, logger, types.LatestBlocksReportEventName, latestBlockReports, "New LatestBlocks Report for provider") + epochCuCache.Flush() + return &types.MsgRelayPaymentResponse{RejectedRelays: rejected_relays}, nil } @@ -338,7 +341,7 @@ func (k msgServer) setStakeEntryBlockReport(ctx sdk.Context, providerAddr sdk.Ac } } -func (k msgServer) updateProvidersComplainerCU(ctx sdk.Context, unresponsiveProviders []*types.ReportedProvider, epoch uint64, chainID string, cu uint64, pairedProviders []epochstoragetypes.StakeEntry, project string) error { +func (k EpochCuCache) updateProvidersComplainerCU(ctx sdk.Context, unresponsiveProviders []*types.ReportedProvider, epoch uint64, chainID string, cu uint64, pairedProviders []epochstoragetypes.StakeEntry, project string) error { // check that unresponsiveData exists and that the paired providers list is larger than 1 if len(unresponsiveProviders) == 0 || len(pairedProviders) <= 1 { return nil @@ -364,13 +367,13 @@ func (k msgServer) updateProvidersComplainerCU(ctx sdk.Context, unresponsiveProv continue } - pec, found := k.GetProviderEpochCu(ctx, epoch, unresponsiveProvider.Address, chainID) + pec, found := k.GetProviderEpochCuCached(ctx, epoch, unresponsiveProvider.Address, chainID) if !found { pec = types.ProviderEpochCu{ComplainersCu: complainerCuToAdd} } else { pec.ComplainersCu += complainerCuToAdd } - k.SetProviderEpochCu(ctx, epoch, unresponsiveProvider.Address, chainID, pec) + k.SetProviderEpochCuCached(ctx, epoch, unresponsiveProvider.Address, chainID, pec) timestamp := time.Unix(unresponsiveProvider.TimestampS, 0) details := map[string]string{ diff --git a/x/pairing/keeper/msg_server_relay_payment_test.go b/x/pairing/keeper/msg_server_relay_payment_test.go index 8b5a81dc3b..499871a1da 100644 --- a/x/pairing/keeper/msg_server_relay_payment_test.go +++ b/x/pairing/keeper/msg_server_relay_payment_test.go @@ -969,3 +969,53 @@ func TestIntOverflow(t *testing.T) { ts.AdvanceEpoch() } } + +func TestPairingCaching(t *testing.T) { + ts := newTester(t) + ts.setupForPayments(3, 3, 0) // 3 provider, 3 client, default providers-to-pair + + ts.AdvanceEpoch() + + relayNum := uint64(0) + totalCU := uint64(0) + // trigger relay payment with cache + for i := 0; i < 3; i++ { + relays := []*types.RelaySession{} + _, provider1Addr := ts.GetAccount(common.PROVIDER, i) + for i := 0; i < 3; i++ { + consumerAcct, _ := ts.GetAccount(common.CONSUMER, i) + totalCU = 0 + for i := 0; i < 50; i++ { + totalCU += uint64(i) + relaySession := ts.newRelaySession(provider1Addr, relayNum, uint64(i), ts.BlockHeight(), 0) + sig, err := sigs.Sign(consumerAcct.SK, *relaySession) + relaySession.Sig = sig + require.NoError(t, err) + relays = append(relays, relaySession) + relayNum++ + } + } + _, err := ts.TxPairingRelayPayment(provider1Addr, relays...) + require.NoError(t, err) + } + + pecs := ts.Keepers.Pairing.GetAllProviderEpochCuStore(ts.Ctx) + require.Len(t, pecs, 3) + + UniquePayments := ts.Keepers.Pairing.GetAllUniqueEpochSessionStore(ts.Ctx) + require.Len(t, UniquePayments, 3*3*50) + + storages := ts.Keepers.Pairing.GetAllProviderConsumerEpochCuStore(ts.Ctx) + require.Len(t, storages, 3*3) + + for i := 0; i < 3; i++ { + consumerAcct, _ := ts.GetAccount(common.CONSUMER, i) + project, err := ts.GetProjectForDeveloper(consumerAcct.Addr.String(), ts.BlockHeight()) + require.NoError(t, err) + require.Equal(t, totalCU*3, project.UsedCu) + + sub, err := ts.QuerySubscriptionCurrent(consumerAcct.Addr.String()) + require.NoError(t, err) + require.Equal(t, totalCU*3, sub.Sub.MonthCuTotal-sub.Sub.MonthCuLeft) + } +} From 778c7494b74235a4a02a1f6a3ff0cd746ad707f0 Mon Sep 17 00:00:00 2001 From: oren-lava Date: Thu, 28 Mar 2024 12:05:03 +0200 Subject: [PATCH 21/35] CNS-930: small fix --- x/pairing/keeper/msg_server_relay_payment.go | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/x/pairing/keeper/msg_server_relay_payment.go b/x/pairing/keeper/msg_server_relay_payment.go index be61bb8084..16e152f614 100644 --- a/x/pairing/keeper/msg_server_relay_payment.go +++ b/x/pairing/keeper/msg_server_relay_payment.go @@ -13,6 +13,7 @@ import ( "github.com/lavanet/lava/utils/sigs" epochstoragetypes "github.com/lavanet/lava/x/epochstorage/types" "github.com/lavanet/lava/x/pairing/types" + projectstypes "github.com/lavanet/lava/x/projects/types" subscriptiontypes "github.com/lavanet/lava/x/subscription/types" ) @@ -276,7 +277,8 @@ func (k msgServer) RelayPayment(goCtx context.Context, msg *types.MsgRelayPaymen utils.LogLavaEvent(ctx, logger, types.RelayPaymentEventName, successDetails, "New Proof Of Work Was Accepted") cuAfterQos := rewardedCUDec.TruncateInt().Uint64() - err = k.chargeCuToSubscriptionAndCreditProvider(ctx, clientAddr, relay, cuAfterQos) + err = k.chargeCuToSubscriptionAndCreditProvider(ctx, project, relay, cuAfterQos) + if err != nil { return nil, utils.LavaFormatError("Failed charging CU to project and subscription", err) } @@ -392,15 +394,10 @@ func (k EpochCuCache) updateProvidersComplainerCU(ctx sdk.Context, unresponsiveP return nil } -func (k Keeper) chargeCuToSubscriptionAndCreditProvider(ctx sdk.Context, clientAddr sdk.AccAddress, relay *types.RelaySession, cuAfterQos uint64) error { +func (k Keeper) chargeCuToSubscriptionAndCreditProvider(ctx sdk.Context, project projectstypes.Project, relay *types.RelaySession, cuAfterQos uint64) error { epoch := uint64(relay.Epoch) - project, err := k.projectsKeeper.GetProjectForDeveloper(ctx, clientAddr.String(), epoch) - if err != nil { - return fmt.Errorf("failed to get project for client") - } - - err = k.projectsKeeper.ChargeComputeUnitsToProject(ctx, project, epoch, relay.CuSum) + err := k.projectsKeeper.ChargeComputeUnitsToProject(ctx, project, epoch, relay.CuSum) if err != nil { return fmt.Errorf("failed to add CU to the project") } From 817e18ba8258146992d25788b57aefa09d517967 Mon Sep 17 00:00:00 2001 From: oren-lava Date: Thu, 28 Mar 2024 12:18:09 +0200 Subject: [PATCH 22/35] CNS-930: lint --- x/pairing/keeper/msg_server_relay_payment.go | 1 - 1 file changed, 1 deletion(-) diff --git a/x/pairing/keeper/msg_server_relay_payment.go b/x/pairing/keeper/msg_server_relay_payment.go index 16e152f614..1de3351fd4 100644 --- a/x/pairing/keeper/msg_server_relay_payment.go +++ b/x/pairing/keeper/msg_server_relay_payment.go @@ -278,7 +278,6 @@ func (k msgServer) RelayPayment(goCtx context.Context, msg *types.MsgRelayPaymen cuAfterQos := rewardedCUDec.TruncateInt().Uint64() err = k.chargeCuToSubscriptionAndCreditProvider(ctx, project, relay, cuAfterQos) - if err != nil { return nil, utils.LavaFormatError("Failed charging CU to project and subscription", err) } From aa3c7b900cc4404afff6214a13802918624b07ca Mon Sep 17 00:00:00 2001 From: oren-lava Date: Thu, 28 Mar 2024 13:56:33 +0200 Subject: [PATCH 23/35] CNS-930: fix protocol proto script --- ecosystem/lava-sdk/scripts/protoc_grpc_relay.sh | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/ecosystem/lava-sdk/scripts/protoc_grpc_relay.sh b/ecosystem/lava-sdk/scripts/protoc_grpc_relay.sh index 2eaf1257f6..7889230274 100755 --- a/ecosystem/lava-sdk/scripts/protoc_grpc_relay.sh +++ b/ecosystem/lava-sdk/scripts/protoc_grpc_relay.sh @@ -40,12 +40,10 @@ protoc \ "$LAVA_PROTO_DIR/lavanet/lava/pairing/badges.proto" \ "$LAVA_PROTO_DIR/lavanet/lava/pairing/params.proto" \ "$LAVA_PROTO_DIR/lavanet/lava/pairing/query.proto" \ - "$LAVA_PROTO_DIR/lavanet/lava/pairing/provider_payment_storage.proto" \ - "$LAVA_PROTO_DIR/lavanet/lava/pairing/unique_payment_storage_client_provider.proto" \ "$LAVA_PROTO_DIR/lavanet/lava/subscription/subscription.proto" \ "$LAVA_PROTO_DIR/lavanet/lava/projects/project.proto" \ "$LAVA_PROTO_DIR/lavanet/lava/plans/policy.proto" \ - "$LAVA_PROTO_DIR/lavanet/lava/pairing/epoch_payments.proto" \ + "$LAVA_PROTO_DIR/lavanet/lava/pairing/epoch_cu.proto" \ "$LAVA_PROTO_DIR/lavanet/lava/spec/spec.proto" \ "$LAVA_PROTO_DIR/lavanet/lava/spec/api_collection.proto" \ "$LAVA_PROTO_DIR/lavanet/lava/epochstorage/stake_entry.proto" \ From ec2852edd50f07b9142df0fa06a1465f2ca4d2ab Mon Sep 17 00:00:00 2001 From: oren-lava Date: Thu, 28 Mar 2024 14:58:13 +0200 Subject: [PATCH 24/35] updated --- ecosystem/lava-sdk/yarn.lock | 9418 ++++++++++++++------------- testutil/e2e/sdk/tests/package.json | 2 +- 2 files changed, 4750 insertions(+), 4670 deletions(-) diff --git a/ecosystem/lava-sdk/yarn.lock b/ecosystem/lava-sdk/yarn.lock index 14949e2f54..a862996e86 100644 --- a/ecosystem/lava-sdk/yarn.lock +++ b/ecosystem/lava-sdk/yarn.lock @@ -3,34 +3,34 @@ "@aashutoshrathi/word-wrap@^1.2.3": - version "1.2.6" - resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" - integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== + "integrity" "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==" + "resolved" "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz" + "version" "1.2.6" "@ampproject/remapping@^2.1.0": - version "2.2.0" - resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz" - integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== + "integrity" "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==" + "resolved" "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz" + "version" "2.2.0" dependencies: "@jridgewell/gen-mapping" "^0.1.0" "@jridgewell/trace-mapping" "^0.3.9" "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz" - integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== + "integrity" "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==" + "resolved" "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/highlight" "^7.18.6" "@babel/compat-data@^7.20.0": - version "7.20.1" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.1.tgz" - integrity sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ== + "integrity" "sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ==" + "resolved" "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.1.tgz" + "version" "7.20.1" -"@babel/core@^7.11.6", "@babel/core@^7.12.3": - version "7.20.2" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.20.2.tgz" - integrity sha512-w7DbG8DtMrJcFOi4VrLm+8QM4az8Mo+PuLBKLp2zrYRCow8W/f9xiXm5sN53C8HksCyDQwCKha9JiDoIyPjT2g== +"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.8.0", "@babel/core@>=7.0.0-beta.0 <8": + "integrity" "sha512-w7DbG8DtMrJcFOi4VrLm+8QM4az8Mo+PuLBKLp2zrYRCow8W/f9xiXm5sN53C8HksCyDQwCKha9JiDoIyPjT2g==" + "resolved" "https://registry.npmjs.org/@babel/core/-/core-7.20.2.tgz" + "version" "7.20.2" dependencies: "@ampproject/remapping" "^2.1.0" "@babel/code-frame" "^7.18.6" @@ -42,62 +42,62 @@ "@babel/template" "^7.18.10" "@babel/traverse" "^7.20.1" "@babel/types" "^7.20.2" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.1" - semver "^6.3.0" + "convert-source-map" "^1.7.0" + "debug" "^4.1.0" + "gensync" "^1.0.0-beta.2" + "json5" "^2.2.1" + "semver" "^6.3.0" "@babel/generator@^7.20.1", "@babel/generator@^7.20.2", "@babel/generator@^7.7.2": - version "7.20.4" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.20.4.tgz" - integrity sha512-luCf7yk/cm7yab6CAW1aiFnmEfBJplb/JojV56MYEK7ziWfGmFlTfmL9Ehwfy4gFhbjBfWO1wj7/TuSbVNEEtA== + "integrity" "sha512-luCf7yk/cm7yab6CAW1aiFnmEfBJplb/JojV56MYEK7ziWfGmFlTfmL9Ehwfy4gFhbjBfWO1wj7/TuSbVNEEtA==" + "resolved" "https://registry.npmjs.org/@babel/generator/-/generator-7.20.4.tgz" + "version" "7.20.4" dependencies: "@babel/types" "^7.20.2" "@jridgewell/gen-mapping" "^0.3.2" - jsesc "^2.5.1" + "jsesc" "^2.5.1" "@babel/helper-compilation-targets@^7.20.0": - version "7.20.0" - resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz" - integrity sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ== + "integrity" "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==" + "resolved" "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz" + "version" "7.20.0" dependencies: "@babel/compat-data" "^7.20.0" "@babel/helper-validator-option" "^7.18.6" - browserslist "^4.21.3" - semver "^6.3.0" + "browserslist" "^4.21.3" + "semver" "^6.3.0" "@babel/helper-environment-visitor@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz" - integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== + "integrity" "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==" + "resolved" "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz" + "version" "7.18.9" "@babel/helper-function-name@^7.19.0": - version "7.19.0" - resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz" - integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w== + "integrity" "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==" + "resolved" "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz" + "version" "7.19.0" dependencies: "@babel/template" "^7.18.10" "@babel/types" "^7.19.0" "@babel/helper-hoist-variables@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz" - integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== + "integrity" "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==" + "resolved" "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/types" "^7.18.6" "@babel/helper-module-imports@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz" - integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== + "integrity" "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==" + "resolved" "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/types" "^7.18.6" "@babel/helper-module-transforms@^7.20.2": - version "7.20.2" - resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz" - integrity sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA== + "integrity" "sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==" + "resolved" "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz" + "version" "7.20.2" dependencies: "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-module-imports" "^7.18.6" @@ -108,174 +108,174 @@ "@babel/traverse" "^7.20.1" "@babel/types" "^7.20.2" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz" - integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.8.0": + "integrity" "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==" + "resolved" "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz" + "version" "7.20.2" "@babel/helper-simple-access@^7.20.2": - version "7.20.2" - resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz" - integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== + "integrity" "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==" + "resolved" "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz" + "version" "7.20.2" dependencies: "@babel/types" "^7.20.2" "@babel/helper-split-export-declaration@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz" - integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== + "integrity" "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==" + "resolved" "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/types" "^7.18.6" -"@babel/helper-string-parser@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz" - integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== +"@babel/helper-string-parser@^7.19.4": + "integrity" "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==" + "resolved" "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz" + "version" "7.19.4" -"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1", "@babel/helper-validator-identifier@^7.22.20": - version "7.22.20" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz" - integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== +"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": + "integrity" "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" + "resolved" "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz" + "version" "7.19.1" "@babel/helper-validator-option@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz" - integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== + "integrity" "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==" + "resolved" "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz" + "version" "7.18.6" "@babel/helpers@^7.20.1": - version "7.20.1" - resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.1.tgz" - integrity sha512-J77mUVaDTUJFZ5BpP6mMn6OIl3rEWymk2ZxDBQJUG3P+PbmyMcF3bYWvz0ma69Af1oobDqT/iAsvzhB58xhQUg== + "integrity" "sha512-J77mUVaDTUJFZ5BpP6mMn6OIl3rEWymk2ZxDBQJUG3P+PbmyMcF3bYWvz0ma69Af1oobDqT/iAsvzhB58xhQUg==" + "resolved" "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.1.tgz" + "version" "7.20.1" dependencies: "@babel/template" "^7.18.10" "@babel/traverse" "^7.20.1" "@babel/types" "^7.20.0" "@babel/highlight@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz" - integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== + "integrity" "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==" + "resolved" "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/helper-validator-identifier" "^7.18.6" - chalk "^2.0.0" - js-tokens "^4.0.0" + "chalk" "^2.0.0" + "js-tokens" "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.20.1", "@babel/parser@^7.20.2", "@babel/parser@^7.20.7": - version "7.23.0" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz" - integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.20.1", "@babel/parser@^7.20.2": + "integrity" "sha512-OP/s5a94frIPXwjzEcv5S/tpQfc6XhxYUnmWpgdqMWGgYCuErA3SzozaRAMQgSZWKeTJxht9aWAkUY+0UzvOFg==" + "resolved" "https://registry.npmjs.org/@babel/parser/-/parser-7.20.3.tgz" + "version" "7.20.3" "@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + "integrity" "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" + "version" "7.8.4" dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-bigint@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz" - integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== + "integrity" "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz" + "version" "7.8.3" dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-class-properties@^7.8.3": - version "7.12.13" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + "integrity" "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" + "version" "7.12.13" dependencies: "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-import-meta@^7.8.3": - version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + "integrity" "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" + "version" "7.10.4" dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + "integrity" "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" + "version" "7.8.3" dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-jsx@^7.7.2": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz" - integrity sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg== + "integrity" "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz" + "version" "7.18.6" dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": - version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + "integrity" "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" + "version" "7.10.4" dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + "integrity" "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" + "version" "7.8.3" dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-numeric-separator@^7.8.3": - version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + "integrity" "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" + "version" "7.10.4" dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + "integrity" "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" + "version" "7.8.3" dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + "integrity" "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" + "version" "7.8.3" dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + "integrity" "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" + "version" "7.8.3" dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-top-level-await@^7.8.3": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + "integrity" "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-typescript@^7.7.2": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz" - integrity sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ== + "integrity" "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz" + "version" "7.20.0" dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.19.0" "@babel/template@^7.18.10", "@babel/template@^7.3.3": - version "7.18.10" - resolved "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz" - integrity sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA== + "integrity" "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==" + "resolved" "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz" + "version" "7.18.10" dependencies: "@babel/code-frame" "^7.18.6" "@babel/parser" "^7.18.10" "@babel/types" "^7.18.10" -"@babel/traverse@^7.20.1": - version "7.20.1" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.1.tgz" - integrity sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA== +"@babel/traverse@^7.20.1", "@babel/traverse@^7.7.2": + "integrity" "sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA==" + "resolved" "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.1.tgz" + "version" "7.20.1" dependencies: "@babel/code-frame" "^7.18.6" "@babel/generator" "^7.20.1" @@ -285,35 +285,45 @@ "@babel/helper-split-export-declaration" "^7.18.6" "@babel/parser" "^7.20.1" "@babel/types" "^7.20.0" - debug "^4.1.0" - globals "^11.1.0" + "debug" "^4.1.0" + "globals" "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.19.0", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.7", "@babel/types@^7.3.3": - version "7.23.0" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz" - integrity sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg== +"@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.19.0", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.3.0", "@babel/types@^7.3.3": + "integrity" "sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==" + "resolved" "https://registry.npmjs.org/@babel/types/-/types-7.20.2.tgz" + "version" "7.20.2" dependencies: - "@babel/helper-string-parser" "^7.22.5" - "@babel/helper-validator-identifier" "^7.22.20" - to-fast-properties "^2.0.0" + "@babel/helper-string-parser" "^7.19.4" + "@babel/helper-validator-identifier" "^7.19.1" + "to-fast-properties" "^2.0.0" "@bcoe/v8-coverage@^0.2.3": - version "0.2.3" - resolved "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + "integrity" "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" + "resolved" "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz" + "version" "0.2.3" "@confio/ics23@^0.6.8": - version "0.6.8" - resolved "https://registry.npmjs.org/@confio/ics23/-/ics23-0.6.8.tgz" - integrity sha512-wB6uo+3A50m0sW/EWcU64xpV/8wShZ6bMTa7pF8eYsTrSkQA7oLUIJcs/wb8g4y2Oyq701BaGiO6n/ak5WXO1w== + "integrity" "sha512-wB6uo+3A50m0sW/EWcU64xpV/8wShZ6bMTa7pF8eYsTrSkQA7oLUIJcs/wb8g4y2Oyq701BaGiO6n/ak5WXO1w==" + "resolved" "https://registry.npmjs.org/@confio/ics23/-/ics23-0.6.8.tgz" + "version" "0.6.8" dependencies: "@noble/hashes" "^1.0.0" - protobufjs "^6.8.8" + "protobufjs" "^6.8.8" + +"@cosmjs/amino@^0.29.4", "@cosmjs/amino@^0.29.5": + "integrity" "sha512-Qo8jpC0BiziTSUqpkNatBcwtKNhCovUnFul9SlT/74JUCdLYaeG5hxr3q1cssQt++l4LvlcpF+OUXL48XjNjLw==" + "resolved" "https://registry.npmjs.org/@cosmjs/amino/-/amino-0.29.5.tgz" + "version" "0.29.5" + dependencies: + "@cosmjs/crypto" "^0.29.5" + "@cosmjs/encoding" "^0.29.5" + "@cosmjs/math" "^0.29.5" + "@cosmjs/utils" "^0.29.5" "@cosmjs/amino@0.27.1": - version "0.27.1" - resolved "https://registry.npmjs.org/@cosmjs/amino/-/amino-0.27.1.tgz" - integrity sha512-w56ar/nK9+qlvWDpBPRmD0Blk2wfkkLqRi1COs1x7Ll1LF0AtkIBUjbRKplENLbNovK0T3h+w8bHiFm+GBGQOA== + "integrity" "sha512-w56ar/nK9+qlvWDpBPRmD0Blk2wfkkLqRi1COs1x7Ll1LF0AtkIBUjbRKplENLbNovK0T3h+w8bHiFm+GBGQOA==" + "resolved" "https://registry.npmjs.org/@cosmjs/amino/-/amino-0.27.1.tgz" + "version" "0.27.1" dependencies: "@cosmjs/crypto" "0.27.1" "@cosmjs/encoding" "0.27.1" @@ -321,177 +331,167 @@ "@cosmjs/utils" "0.27.1" "@cosmjs/amino@0.28.2": - version "0.28.2" - resolved "https://registry.npmjs.org/@cosmjs/amino/-/amino-0.28.2.tgz" - integrity sha512-1VpbaigVVXYO84FkZxWmYzQDE4Va5JDxtnnaOZ2+dQ/y6+B+c8KRvn0cS429//8ngZCR2JhcPyNGSzNvljB/Hw== + "integrity" "sha512-1VpbaigVVXYO84FkZxWmYzQDE4Va5JDxtnnaOZ2+dQ/y6+B+c8KRvn0cS429//8ngZCR2JhcPyNGSzNvljB/Hw==" + "resolved" "https://registry.npmjs.org/@cosmjs/amino/-/amino-0.28.2.tgz" + "version" "0.28.2" dependencies: "@cosmjs/crypto" "0.28.2" "@cosmjs/encoding" "0.28.2" "@cosmjs/math" "0.28.2" "@cosmjs/utils" "0.28.2" -"@cosmjs/amino@^0.29.4", "@cosmjs/amino@^0.29.5": - version "0.29.5" - resolved "https://registry.npmjs.org/@cosmjs/amino/-/amino-0.29.5.tgz" - integrity sha512-Qo8jpC0BiziTSUqpkNatBcwtKNhCovUnFul9SlT/74JUCdLYaeG5hxr3q1cssQt++l4LvlcpF+OUXL48XjNjLw== +"@cosmjs/crypto@^0.29.4", "@cosmjs/crypto@^0.29.5": + "integrity" "sha512-2bKkaLGictaNL0UipQCL6C1afaisv6k8Wr/GCLx9FqiyFkh9ZgRHDyetD64ZsjnWV/N/D44s/esI+k6oPREaiQ==" + "resolved" "https://registry.npmjs.org/@cosmjs/crypto/-/crypto-0.29.5.tgz" + "version" "0.29.5" dependencies: - "@cosmjs/crypto" "^0.29.5" "@cosmjs/encoding" "^0.29.5" "@cosmjs/math" "^0.29.5" "@cosmjs/utils" "^0.29.5" + "@noble/hashes" "^1" + "bn.js" "^5.2.0" + "elliptic" "^6.5.4" + "libsodium-wrappers" "^0.7.6" "@cosmjs/crypto@0.27.1": - version "0.27.1" - resolved "https://registry.npmjs.org/@cosmjs/crypto/-/crypto-0.27.1.tgz" - integrity sha512-vbcxwSt99tIYJg8Spp00wc3zx72qx+pY3ozGuBN8gAvySnagK9dQ/jHwtWQWdammmdD6oW+75WfIHZ+gNa+Ybg== + "integrity" "sha512-vbcxwSt99tIYJg8Spp00wc3zx72qx+pY3ozGuBN8gAvySnagK9dQ/jHwtWQWdammmdD6oW+75WfIHZ+gNa+Ybg==" + "resolved" "https://registry.npmjs.org/@cosmjs/crypto/-/crypto-0.27.1.tgz" + "version" "0.27.1" dependencies: "@cosmjs/encoding" "0.27.1" "@cosmjs/math" "0.27.1" "@cosmjs/utils" "0.27.1" - bip39 "^3.0.2" - bn.js "^5.2.0" - elliptic "^6.5.3" - js-sha3 "^0.8.0" - libsodium-wrappers "^0.7.6" - ripemd160 "^2.0.2" - sha.js "^2.4.11" + "bip39" "^3.0.2" + "bn.js" "^5.2.0" + "elliptic" "^6.5.3" + "js-sha3" "^0.8.0" + "libsodium-wrappers" "^0.7.6" + "ripemd160" "^2.0.2" + "sha.js" "^2.4.11" "@cosmjs/crypto@0.28.2": - version "0.28.2" - resolved "https://registry.npmjs.org/@cosmjs/crypto/-/crypto-0.28.2.tgz" - integrity sha512-paWuG1pgzG8fSvAPnJbQwPTAqpLuBDBGNFI5/2tkTEARxLtOivK2Iy6u0rFQX9GOPJ/EYu0JCKsUbtAPWuDu7Q== + "integrity" "sha512-paWuG1pgzG8fSvAPnJbQwPTAqpLuBDBGNFI5/2tkTEARxLtOivK2Iy6u0rFQX9GOPJ/EYu0JCKsUbtAPWuDu7Q==" + "resolved" "https://registry.npmjs.org/@cosmjs/crypto/-/crypto-0.28.2.tgz" + "version" "0.28.2" dependencies: "@cosmjs/encoding" "0.28.2" "@cosmjs/math" "0.28.2" "@cosmjs/utils" "0.28.2" "@noble/hashes" "^1" - bn.js "^5.2.0" - elliptic "^6.5.3" - libsodium-wrappers "^0.7.6" + "bn.js" "^5.2.0" + "elliptic" "^6.5.3" + "libsodium-wrappers" "^0.7.6" -"@cosmjs/crypto@^0.29.4", "@cosmjs/crypto@^0.29.5": - version "0.29.5" - resolved "https://registry.npmjs.org/@cosmjs/crypto/-/crypto-0.29.5.tgz" - integrity sha512-2bKkaLGictaNL0UipQCL6C1afaisv6k8Wr/GCLx9FqiyFkh9ZgRHDyetD64ZsjnWV/N/D44s/esI+k6oPREaiQ== +"@cosmjs/encoding@^0.29.4", "@cosmjs/encoding@^0.29.5": + "integrity" "sha512-G4rGl/Jg4dMCw5u6PEZHZcoHnUBlukZODHbm/wcL4Uu91fkn5jVo5cXXZcvs4VCkArVGrEj/52eUgTZCmOBGWQ==" + "resolved" "https://registry.npmjs.org/@cosmjs/encoding/-/encoding-0.29.5.tgz" + "version" "0.29.5" dependencies: - "@cosmjs/encoding" "^0.29.5" - "@cosmjs/math" "^0.29.5" - "@cosmjs/utils" "^0.29.5" - "@noble/hashes" "^1" - bn.js "^5.2.0" - elliptic "^6.5.4" - libsodium-wrappers "^0.7.6" + "base64-js" "^1.3.0" + "bech32" "^1.1.4" + "readonly-date" "^1.0.0" "@cosmjs/encoding@0.27.1": - version "0.27.1" - resolved "https://registry.npmjs.org/@cosmjs/encoding/-/encoding-0.27.1.tgz" - integrity sha512-rayLsA0ojHeniaRfWWcqSsrE/T1rl1gl0OXVNtXlPwLJifKBeLEefGbOUiAQaT0wgJ8VNGBazVtAZBpJidfDhw== + "integrity" "sha512-rayLsA0ojHeniaRfWWcqSsrE/T1rl1gl0OXVNtXlPwLJifKBeLEefGbOUiAQaT0wgJ8VNGBazVtAZBpJidfDhw==" + "resolved" "https://registry.npmjs.org/@cosmjs/encoding/-/encoding-0.27.1.tgz" + "version" "0.27.1" dependencies: - base64-js "^1.3.0" - bech32 "^1.1.4" - readonly-date "^1.0.0" + "base64-js" "^1.3.0" + "bech32" "^1.1.4" + "readonly-date" "^1.0.0" "@cosmjs/encoding@0.28.2": - version "0.28.2" - resolved "https://registry.npmjs.org/@cosmjs/encoding/-/encoding-0.28.2.tgz" - integrity sha512-45kglsimqLtVjlu5tOHJlZYacwzLv0nnMKqG5/snPIbNER1YkmYhlQGQTXBQ/LGaXub/X45AK6OzWK9cUHgp8w== + "integrity" "sha512-45kglsimqLtVjlu5tOHJlZYacwzLv0nnMKqG5/snPIbNER1YkmYhlQGQTXBQ/LGaXub/X45AK6OzWK9cUHgp8w==" + "resolved" "https://registry.npmjs.org/@cosmjs/encoding/-/encoding-0.28.2.tgz" + "version" "0.28.2" dependencies: - base64-js "^1.3.0" - bech32 "^1.1.4" - readonly-date "^1.0.0" - -"@cosmjs/encoding@^0.29.4", "@cosmjs/encoding@^0.29.5": - version "0.29.5" - resolved "https://registry.npmjs.org/@cosmjs/encoding/-/encoding-0.29.5.tgz" - integrity sha512-G4rGl/Jg4dMCw5u6PEZHZcoHnUBlukZODHbm/wcL4Uu91fkn5jVo5cXXZcvs4VCkArVGrEj/52eUgTZCmOBGWQ== - dependencies: - base64-js "^1.3.0" - bech32 "^1.1.4" - readonly-date "^1.0.0" + "base64-js" "^1.3.0" + "bech32" "^1.1.4" + "readonly-date" "^1.0.0" "@cosmjs/json-rpc@0.28.2": - version "0.28.2" - resolved "https://registry.npmjs.org/@cosmjs/json-rpc/-/json-rpc-0.28.2.tgz" - integrity sha512-6I8Kzc8QtTaazlybHwvHJ/RQtzerUgYfO29B/m8ntWZZMk2PFUAdKZlv0z2HTM6jTrIzrfVA0Po8+9I9q4W0Tg== + "integrity" "sha512-6I8Kzc8QtTaazlybHwvHJ/RQtzerUgYfO29B/m8ntWZZMk2PFUAdKZlv0z2HTM6jTrIzrfVA0Po8+9I9q4W0Tg==" + "resolved" "https://registry.npmjs.org/@cosmjs/json-rpc/-/json-rpc-0.28.2.tgz" + "version" "0.28.2" dependencies: "@cosmjs/stream" "0.28.2" - xstream "^11.14.0" + "xstream" "^11.14.0" "@cosmjs/launchpad@^0.27.1": - version "0.27.1" - resolved "https://registry.npmjs.org/@cosmjs/launchpad/-/launchpad-0.27.1.tgz" - integrity sha512-DcFwGD/z5PK8CzO2sojDxa+Be9EIEtRZb2YawgVnw2Ht/p5FlNv+OVo8qlishpBdalXEN7FvQ1dVeDFEe9TuJw== + "integrity" "sha512-DcFwGD/z5PK8CzO2sojDxa+Be9EIEtRZb2YawgVnw2Ht/p5FlNv+OVo8qlishpBdalXEN7FvQ1dVeDFEe9TuJw==" + "resolved" "https://registry.npmjs.org/@cosmjs/launchpad/-/launchpad-0.27.1.tgz" + "version" "0.27.1" dependencies: "@cosmjs/amino" "0.27.1" "@cosmjs/crypto" "0.27.1" "@cosmjs/encoding" "0.27.1" "@cosmjs/math" "0.27.1" "@cosmjs/utils" "0.27.1" - axios "^0.21.2" - fast-deep-equal "^3.1.3" + "axios" "^0.21.2" + "fast-deep-equal" "^3.1.3" + +"@cosmjs/math@^0.29.5": + "integrity" "sha512-2GjKcv+A9f86MAWYLUkjhw1/WpRl2R1BTb3m9qPG7lzMA7ioYff9jY5SPCfafKdxM4TIQGxXQlYGewQL16O68Q==" + "resolved" "https://registry.npmjs.org/@cosmjs/math/-/math-0.29.5.tgz" + "version" "0.29.5" + dependencies: + "bn.js" "^5.2.0" "@cosmjs/math@0.27.1": - version "0.27.1" - resolved "https://registry.npmjs.org/@cosmjs/math/-/math-0.27.1.tgz" - integrity sha512-cHWVjmfIjtRc7f80n7x+J5k8pe+vTVTQ0lA82tIxUgqUvgS6rogPP/TmGtTiZ4+NxWxd11DUISY6gVpr18/VNQ== + "integrity" "sha512-cHWVjmfIjtRc7f80n7x+J5k8pe+vTVTQ0lA82tIxUgqUvgS6rogPP/TmGtTiZ4+NxWxd11DUISY6gVpr18/VNQ==" + "resolved" "https://registry.npmjs.org/@cosmjs/math/-/math-0.27.1.tgz" + "version" "0.27.1" dependencies: - bn.js "^5.2.0" + "bn.js" "^5.2.0" "@cosmjs/math@0.28.2": - version "0.28.2" - resolved "https://registry.npmjs.org/@cosmjs/math/-/math-0.28.2.tgz" - integrity sha512-u2X6g00HX5VdasI8PijgPb7md/v9outjND/PIuBpVadjf8HJxPKjrsYj346yfLdnA9gWBflsxw1nmu+0UU4Fng== + "integrity" "sha512-u2X6g00HX5VdasI8PijgPb7md/v9outjND/PIuBpVadjf8HJxPKjrsYj346yfLdnA9gWBflsxw1nmu+0UU4Fng==" + "resolved" "https://registry.npmjs.org/@cosmjs/math/-/math-0.28.2.tgz" + "version" "0.28.2" dependencies: - bn.js "^5.2.0" + "bn.js" "^5.2.0" -"@cosmjs/math@^0.29.5": - version "0.29.5" - resolved "https://registry.npmjs.org/@cosmjs/math/-/math-0.29.5.tgz" - integrity sha512-2GjKcv+A9f86MAWYLUkjhw1/WpRl2R1BTb3m9qPG7lzMA7ioYff9jY5SPCfafKdxM4TIQGxXQlYGewQL16O68Q== +"@cosmjs/proto-signing@^0.29.4": + "integrity" "sha512-QRrS7CiKaoETdgIqvi/7JC2qCwCR7lnWaUsTzh/XfRy3McLkEd+cXbKAW3cygykv7IN0VAEIhZd2lyIfT8KwNA==" + "resolved" "https://registry.npmjs.org/@cosmjs/proto-signing/-/proto-signing-0.29.5.tgz" + "version" "0.29.5" dependencies: - bn.js "^5.2.0" + "@cosmjs/amino" "^0.29.5" + "@cosmjs/crypto" "^0.29.5" + "@cosmjs/encoding" "^0.29.5" + "@cosmjs/math" "^0.29.5" + "@cosmjs/utils" "^0.29.5" + "cosmjs-types" "^0.5.2" + "long" "^4.0.0" "@cosmjs/proto-signing@0.28.2": - version "0.28.2" - resolved "https://registry.npmjs.org/@cosmjs/proto-signing/-/proto-signing-0.28.2.tgz" - integrity sha512-/XnffkWeYIHsJJ3MrHKOxSN+g1PBcHcpZx7ddHF/r09Zg3A8lLeEuDWCBuZ1tvMGbtjKMoP3nbkIQdn+Os8iIg== + "integrity" "sha512-/XnffkWeYIHsJJ3MrHKOxSN+g1PBcHcpZx7ddHF/r09Zg3A8lLeEuDWCBuZ1tvMGbtjKMoP3nbkIQdn+Os8iIg==" + "resolved" "https://registry.npmjs.org/@cosmjs/proto-signing/-/proto-signing-0.28.2.tgz" + "version" "0.28.2" dependencies: "@cosmjs/amino" "0.28.2" "@cosmjs/crypto" "0.28.2" "@cosmjs/encoding" "0.28.2" "@cosmjs/math" "0.28.2" "@cosmjs/utils" "0.28.2" - cosmjs-types "^0.4.0" - long "^4.0.0" - protobufjs "~6.10.2" - -"@cosmjs/proto-signing@^0.29.4": - version "0.29.5" - resolved "https://registry.npmjs.org/@cosmjs/proto-signing/-/proto-signing-0.29.5.tgz" - integrity sha512-QRrS7CiKaoETdgIqvi/7JC2qCwCR7lnWaUsTzh/XfRy3McLkEd+cXbKAW3cygykv7IN0VAEIhZd2lyIfT8KwNA== - dependencies: - "@cosmjs/amino" "^0.29.5" - "@cosmjs/crypto" "^0.29.5" - "@cosmjs/encoding" "^0.29.5" - "@cosmjs/math" "^0.29.5" - "@cosmjs/utils" "^0.29.5" - cosmjs-types "^0.5.2" - long "^4.0.0" + "cosmjs-types" "^0.4.0" + "long" "^4.0.0" + "protobufjs" "~6.10.2" "@cosmjs/socket@0.28.2": - version "0.28.2" - resolved "https://registry.npmjs.org/@cosmjs/socket/-/socket-0.28.2.tgz" - integrity sha512-AGq58qFVWvufzb4hBiPb51ZrpT8yNb+at+m/tRwpLZ8u1prN9VQ7hogSXwQJsHPOzNxtyO80DVHlGGmd9wonXg== + "integrity" "sha512-AGq58qFVWvufzb4hBiPb51ZrpT8yNb+at+m/tRwpLZ8u1prN9VQ7hogSXwQJsHPOzNxtyO80DVHlGGmd9wonXg==" + "resolved" "https://registry.npmjs.org/@cosmjs/socket/-/socket-0.28.2.tgz" + "version" "0.28.2" dependencies: "@cosmjs/stream" "0.28.2" - isomorphic-ws "^4.0.1" - ws "^7" - xstream "^11.14.0" + "isomorphic-ws" "^4.0.1" + "ws" "^7" + "xstream" "^11.14.0" "@cosmjs/stargate@0.28.2": - version "0.28.2" - resolved "https://registry.npmjs.org/@cosmjs/stargate/-/stargate-0.28.2.tgz" - integrity sha512-3c6Gu0OsocmvfKB6EC8DRD6To1IAVcgRYAQQ2kleSx/8dZAr5/x2vxwE2O1gqJhlwtEG+13+jzh39bX1uv8KwQ== + "integrity" "sha512-3c6Gu0OsocmvfKB6EC8DRD6To1IAVcgRYAQQ2kleSx/8dZAr5/x2vxwE2O1gqJhlwtEG+13+jzh39bX1uv8KwQ==" + "resolved" "https://registry.npmjs.org/@cosmjs/stargate/-/stargate-0.28.2.tgz" + "version" "0.28.2" dependencies: "@confio/ics23" "^0.6.8" "@cosmjs/amino" "0.28.2" @@ -501,22 +501,22 @@ "@cosmjs/stream" "0.28.2" "@cosmjs/tendermint-rpc" "0.28.2" "@cosmjs/utils" "0.28.2" - cosmjs-types "^0.4.0" - long "^4.0.0" - protobufjs "~6.10.2" - xstream "^11.14.0" + "cosmjs-types" "^0.4.0" + "long" "^4.0.0" + "protobufjs" "~6.10.2" + "xstream" "^11.14.0" "@cosmjs/stream@0.28.2": - version "0.28.2" - resolved "https://registry.npmjs.org/@cosmjs/stream/-/stream-0.28.2.tgz" - integrity sha512-qyIBOsWYqgEzcf3IujRvoz7/PWez1qMvj3spt3NGEMDlI+Eo7tpLHJBLdZHHFCXJUrii59SC297iz5isHIikpA== + "integrity" "sha512-qyIBOsWYqgEzcf3IujRvoz7/PWez1qMvj3spt3NGEMDlI+Eo7tpLHJBLdZHHFCXJUrii59SC297iz5isHIikpA==" + "resolved" "https://registry.npmjs.org/@cosmjs/stream/-/stream-0.28.2.tgz" + "version" "0.28.2" dependencies: - xstream "^11.14.0" + "xstream" "^11.14.0" "@cosmjs/tendermint-rpc@0.28.2": - version "0.28.2" - resolved "https://registry.npmjs.org/@cosmjs/tendermint-rpc/-/tendermint-rpc-0.28.2.tgz" - integrity sha512-+EwuOZNr43g0UHjEARGmWOdUEvyqMsPOnFCtyE9I5tvXF6HmL9BuxZ2AJwWmctF50+6t/LUy+ubqfKpgZ3QC9A== + "integrity" "sha512-+EwuOZNr43g0UHjEARGmWOdUEvyqMsPOnFCtyE9I5tvXF6HmL9BuxZ2AJwWmctF50+6t/LUy+ubqfKpgZ3QC9A==" + "resolved" "https://registry.npmjs.org/@cosmjs/tendermint-rpc/-/tendermint-rpc-0.28.2.tgz" + "version" "0.28.2" dependencies: "@cosmjs/crypto" "0.28.2" "@cosmjs/encoding" "0.28.2" @@ -525,537 +525,546 @@ "@cosmjs/socket" "0.28.2" "@cosmjs/stream" "0.28.2" "@cosmjs/utils" "0.28.2" - axios "^0.21.2" - readonly-date "^1.0.0" - xstream "^11.14.0" + "axios" "^0.21.2" + "readonly-date" "^1.0.0" + "xstream" "^11.14.0" + +"@cosmjs/utils@^0.29.5": + "integrity" "sha512-m7h+RXDUxOzEOGt4P+3OVPX7PuakZT3GBmaM/Y2u+abN3xZkziykD/NvedYFvvCCdQo714XcGl33bwifS9FZPQ==" + "resolved" "https://registry.npmjs.org/@cosmjs/utils/-/utils-0.29.5.tgz" + "version" "0.29.5" "@cosmjs/utils@0.27.1": - version "0.27.1" - resolved "https://registry.npmjs.org/@cosmjs/utils/-/utils-0.27.1.tgz" - integrity sha512-VG7QPDiMUzVPxRdJahDV8PXxVdnuAHiIuG56hldV4yPnOz/si/DLNd7VAUUA5923b6jS1Hhev0Hr6AhEkcxBMg== + "integrity" "sha512-VG7QPDiMUzVPxRdJahDV8PXxVdnuAHiIuG56hldV4yPnOz/si/DLNd7VAUUA5923b6jS1Hhev0Hr6AhEkcxBMg==" + "resolved" "https://registry.npmjs.org/@cosmjs/utils/-/utils-0.27.1.tgz" + "version" "0.27.1" "@cosmjs/utils@0.28.2": - version "0.28.2" - resolved "https://registry.npmjs.org/@cosmjs/utils/-/utils-0.28.2.tgz" - integrity sha512-2/1UeE4djz6tt4B0j3YQS+k7BYoMkblfRa3+t3lht9N5/yj05ZxVUiP7hD0lQtNmeCSQgFFmtX6zXWPes+aKQg== - -"@cosmjs/utils@^0.29.5": - version "0.29.5" - resolved "https://registry.npmjs.org/@cosmjs/utils/-/utils-0.29.5.tgz" - integrity sha512-m7h+RXDUxOzEOGt4P+3OVPX7PuakZT3GBmaM/Y2u+abN3xZkziykD/NvedYFvvCCdQo714XcGl33bwifS9FZPQ== + "integrity" "sha512-2/1UeE4djz6tt4B0j3YQS+k7BYoMkblfRa3+t3lht9N5/yj05ZxVUiP7hD0lQtNmeCSQgFFmtX6zXWPes+aKQg==" + "resolved" "https://registry.npmjs.org/@cosmjs/utils/-/utils-0.28.2.tgz" + "version" "0.28.2" "@cspotcode/source-map-support@^0.8.0": - version "0.8.1" - resolved "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz" - integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== + "integrity" "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==" + "resolved" "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz" + "version" "0.8.1" dependencies: "@jridgewell/trace-mapping" "0.3.9" "@discoveryjs/json-ext@^0.5.0": - version "0.5.7" - resolved "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz" - integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== + "integrity" "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==" + "resolved" "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz" + "version" "0.5.7" "@eslint-community/eslint-utils@^4.2.0": - version "4.4.0" - resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" - integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== + "integrity" "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==" + "resolved" "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz" + "version" "4.4.0" dependencies: - eslint-visitor-keys "^3.3.0" + "eslint-visitor-keys" "^3.3.0" "@eslint-community/regexpp@^4.6.1": - version "4.10.0" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63" - integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== + "integrity" "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==" + "resolved" "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz" + "version" "4.10.0" "@eslint/eslintrc@^2.1.4": - version "2.1.4" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" - integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^9.6.0" - globals "^13.19.0" - ignore "^5.2.0" - import-fresh "^3.2.1" - js-yaml "^4.1.0" - minimatch "^3.1.2" - strip-json-comments "^3.1.1" + "integrity" "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==" + "resolved" "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz" + "version" "2.1.4" + dependencies: + "ajv" "^6.12.4" + "debug" "^4.3.2" + "espree" "^9.6.0" + "globals" "^13.19.0" + "ignore" "^5.2.0" + "import-fresh" "^3.2.1" + "js-yaml" "^4.1.0" + "minimatch" "^3.1.2" + "strip-json-comments" "^3.1.1" "@eslint/js@8.57.0": - version "8.57.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.0.tgz#a5417ae8427873f1dd08b70b3574b453e67b5f7f" - integrity sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g== + "integrity" "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==" + "resolved" "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz" + "version" "8.57.0" "@grpc/grpc-js@^1.7.1": - version "1.7.1" - resolved "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.7.1.tgz" - integrity sha512-GVtMU4oh/TeKkWGzXUEsyZtyvSUIT1z49RtGH1UnEGeL+sLuxKl8QH3KZTlSB329R1sWJmesm5hQ5CxXdYH9dg== + "integrity" "sha512-GVtMU4oh/TeKkWGzXUEsyZtyvSUIT1z49RtGH1UnEGeL+sLuxKl8QH3KZTlSB329R1sWJmesm5hQ5CxXdYH9dg==" + "resolved" "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.7.1.tgz" + "version" "1.7.1" dependencies: "@grpc/proto-loader" "^0.7.0" "@types/node" ">=12.12.47" "@grpc/proto-loader@^0.7.0": - version "0.7.3" - resolved "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.3.tgz" - integrity sha512-5dAvoZwna2Py3Ef96Ux9jIkp3iZ62TUsV00p3wVBPNX5K178UbNi8Q7gQVqwXT1Yq9RejIGG9G2IPEo93T6RcA== + "integrity" "sha512-5dAvoZwna2Py3Ef96Ux9jIkp3iZ62TUsV00p3wVBPNX5K178UbNi8Q7gQVqwXT1Yq9RejIGG9G2IPEo93T6RcA==" + "resolved" "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.3.tgz" + "version" "0.7.3" dependencies: "@types/long" "^4.0.1" - lodash.camelcase "^4.3.0" - long "^4.0.0" - protobufjs "^7.0.0" - yargs "^16.2.0" + "lodash.camelcase" "^4.3.0" + "long" "^4.0.0" + "protobufjs" "^7.0.0" + "yargs" "^16.2.0" "@humanwhocodes/config-array@^0.11.14": - version "0.11.14" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b" - integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== + "integrity" "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==" + "resolved" "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz" + "version" "0.11.14" dependencies: "@humanwhocodes/object-schema" "^2.0.2" - debug "^4.3.1" - minimatch "^3.0.5" + "debug" "^4.3.1" + "minimatch" "^3.0.5" "@humanwhocodes/module-importer@^1.0.1": - version "1.0.1" - resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" - integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== + "integrity" "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==" + "resolved" "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" + "version" "1.0.1" "@humanwhocodes/object-schema@^2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz#d9fae00a2d5cb40f92cfe64b47ad749fbc38f917" - integrity sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw== + "integrity" "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==" + "resolved" "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz" + "version" "2.0.2" "@improbable-eng/grpc-web-node-http-transport@^0.15.0": - version "0.15.0" - resolved "https://registry.npmjs.org/@improbable-eng/grpc-web-node-http-transport/-/grpc-web-node-http-transport-0.15.0.tgz" - integrity sha512-HLgJfVolGGpjc9DWPhmMmXJx8YGzkek7jcCFO1YYkSOoO81MWRZentPOd/JiKiZuU08wtc4BG+WNuGzsQB5jZA== + "integrity" "sha512-HLgJfVolGGpjc9DWPhmMmXJx8YGzkek7jcCFO1YYkSOoO81MWRZentPOd/JiKiZuU08wtc4BG+WNuGzsQB5jZA==" + "resolved" "https://registry.npmjs.org/@improbable-eng/grpc-web-node-http-transport/-/grpc-web-node-http-transport-0.15.0.tgz" + "version" "0.15.0" -"@improbable-eng/grpc-web@^0.15.0": - version "0.15.0" - resolved "https://registry.npmjs.org/@improbable-eng/grpc-web/-/grpc-web-0.15.0.tgz" - integrity sha512-ERft9/0/8CmYalqOVnJnpdDry28q+j+nAlFFARdjyxXDJ+Mhgv9+F600QC8BR9ygOfrXRlAk6CvST2j+JCpQPg== +"@improbable-eng/grpc-web@^0.15.0", "@improbable-eng/grpc-web@>=0.13.0": + "integrity" "sha512-ERft9/0/8CmYalqOVnJnpdDry28q+j+nAlFFARdjyxXDJ+Mhgv9+F600QC8BR9ygOfrXRlAk6CvST2j+JCpQPg==" + "resolved" "https://registry.npmjs.org/@improbable-eng/grpc-web/-/grpc-web-0.15.0.tgz" + "version" "0.15.0" dependencies: - browser-headers "^0.4.1" + "browser-headers" "^0.4.1" "@istanbuljs/load-nyc-config@^1.0.0": - version "1.1.0" - resolved "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz" - integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== + "integrity" "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==" + "resolved" "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz" + "version" "1.1.0" dependencies: - camelcase "^5.3.1" - find-up "^4.1.0" - get-package-type "^0.1.0" - js-yaml "^3.13.1" - resolve-from "^5.0.0" + "camelcase" "^5.3.1" + "find-up" "^4.1.0" + "get-package-type" "^0.1.0" + "js-yaml" "^3.13.1" + "resolve-from" "^5.0.0" "@istanbuljs/schema@^0.1.2": - version "0.1.3" - resolved "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz" - integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== + "integrity" "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==" + "resolved" "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz" + "version" "0.1.3" -"@jest/console@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz" - integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg== +"@jest/console@^29.3.1": + "integrity" "sha512-IRE6GD47KwcqA09RIWrabKdHPiKDGgtAL31xDxbi/RjQMsr+lY+ppxmHwY0dUEV3qvvxZzoe5Hl0RXZJOjQNUg==" + "resolved" "https://registry.npmjs.org/@jest/console/-/console-29.3.1.tgz" + "version" "29.3.1" dependencies: - "@jest/types" "^29.6.3" + "@jest/types" "^29.3.1" "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - slash "^3.0.0" - -"@jest/core@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz" - integrity sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg== - dependencies: - "@jest/console" "^29.7.0" - "@jest/reporters" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" + "chalk" "^4.0.0" + "jest-message-util" "^29.3.1" + "jest-util" "^29.3.1" + "slash" "^3.0.0" + +"@jest/core@^29.3.1": + "integrity" "sha512-0ohVjjRex985w5MmO5L3u5GR1O30DexhBSpuwx2P+9ftyqHdJXnk7IUWiP80oHMvt7ubHCJHxV0a0vlKVuZirw==" + "resolved" "https://registry.npmjs.org/@jest/core/-/core-29.3.1.tgz" + "version" "29.3.1" + dependencies: + "@jest/console" "^29.3.1" + "@jest/reporters" "^29.3.1" + "@jest/test-result" "^29.3.1" + "@jest/transform" "^29.3.1" + "@jest/types" "^29.3.1" "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - ci-info "^3.2.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - jest-changed-files "^29.7.0" - jest-config "^29.7.0" - jest-haste-map "^29.7.0" - jest-message-util "^29.7.0" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-resolve-dependencies "^29.7.0" - jest-runner "^29.7.0" - jest-runtime "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - jest-watcher "^29.7.0" - micromatch "^4.0.4" - pretty-format "^29.7.0" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/environment@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz" - integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw== - dependencies: - "@jest/fake-timers" "^29.7.0" - "@jest/types" "^29.6.3" + "ansi-escapes" "^4.2.1" + "chalk" "^4.0.0" + "ci-info" "^3.2.0" + "exit" "^0.1.2" + "graceful-fs" "^4.2.9" + "jest-changed-files" "^29.2.0" + "jest-config" "^29.3.1" + "jest-haste-map" "^29.3.1" + "jest-message-util" "^29.3.1" + "jest-regex-util" "^29.2.0" + "jest-resolve" "^29.3.1" + "jest-resolve-dependencies" "^29.3.1" + "jest-runner" "^29.3.1" + "jest-runtime" "^29.3.1" + "jest-snapshot" "^29.3.1" + "jest-util" "^29.3.1" + "jest-validate" "^29.3.1" + "jest-watcher" "^29.3.1" + "micromatch" "^4.0.4" + "pretty-format" "^29.3.1" + "slash" "^3.0.0" + "strip-ansi" "^6.0.0" + +"@jest/environment@^29.3.1": + "integrity" "sha512-pMmvfOPmoa1c1QpfFW0nXYtNLpofqo4BrCIk6f2kW4JFeNlHV2t3vd+3iDLf31e2ot2Mec0uqZfmI+U0K2CFag==" + "resolved" "https://registry.npmjs.org/@jest/environment/-/environment-29.3.1.tgz" + "version" "29.3.1" + dependencies: + "@jest/fake-timers" "^29.3.1" + "@jest/types" "^29.3.1" "@types/node" "*" - jest-mock "^29.7.0" + "jest-mock" "^29.3.1" -"@jest/expect-utils@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz" - integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== +"@jest/expect-utils@^29.3.1": + "integrity" "sha512-wlrznINZI5sMjwvUoLVk617ll/UYfGIZNxmbU+Pa7wmkL4vYzhV9R2pwVqUh4NWWuLQWkI8+8mOkxs//prKQ3g==" + "resolved" "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.3.1.tgz" + "version" "29.3.1" dependencies: - jest-get-type "^29.6.3" + "jest-get-type" "^29.2.0" -"@jest/expect@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz" - integrity sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ== +"@jest/expect@^29.3.1": + "integrity" "sha512-QivM7GlSHSsIAWzgfyP8dgeExPRZ9BIe2LsdPyEhCGkZkoyA+kGsoIzbKAfZCvvRzfZioKwPtCZIt5SaoxYCvg==" + "resolved" "https://registry.npmjs.org/@jest/expect/-/expect-29.3.1.tgz" + "version" "29.3.1" dependencies: - expect "^29.7.0" - jest-snapshot "^29.7.0" + "expect" "^29.3.1" + "jest-snapshot" "^29.3.1" -"@jest/fake-timers@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz" - integrity sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ== +"@jest/fake-timers@^29.3.1": + "integrity" "sha512-iHTL/XpnDlFki9Tq0Q1GGuVeQ8BHZGIYsvCO5eN/O/oJaRzofG9Xndd9HuSDBI/0ZS79pg0iwn07OMTQ7ngF2A==" + "resolved" "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.3.1.tgz" + "version" "29.3.1" dependencies: - "@jest/types" "^29.6.3" - "@sinonjs/fake-timers" "^10.0.2" + "@jest/types" "^29.3.1" + "@sinonjs/fake-timers" "^9.1.2" "@types/node" "*" - jest-message-util "^29.7.0" - jest-mock "^29.7.0" - jest-util "^29.7.0" + "jest-message-util" "^29.3.1" + "jest-mock" "^29.3.1" + "jest-util" "^29.3.1" -"@jest/globals@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz" - integrity sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ== +"@jest/globals@^29.3.1": + "integrity" "sha512-cTicd134vOcwO59OPaB6AmdHQMCtWOe+/DitpTZVxWgMJ+YvXL1HNAmPyiGbSHmF/mXVBkvlm8YYtQhyHPnV6Q==" + "resolved" "https://registry.npmjs.org/@jest/globals/-/globals-29.3.1.tgz" + "version" "29.3.1" dependencies: - "@jest/environment" "^29.7.0" - "@jest/expect" "^29.7.0" - "@jest/types" "^29.6.3" - jest-mock "^29.7.0" + "@jest/environment" "^29.3.1" + "@jest/expect" "^29.3.1" + "@jest/types" "^29.3.1" + "jest-mock" "^29.3.1" -"@jest/reporters@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz" - integrity sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg== +"@jest/reporters@^29.3.1": + "integrity" "sha512-GhBu3YFuDrcAYW/UESz1JphEAbvUjaY2vShRZRoRY1mxpCMB3yGSJ4j9n0GxVlEOdCf7qjvUfBCrTUUqhVfbRA==" + "resolved" "https://registry.npmjs.org/@jest/reporters/-/reporters-29.3.1.tgz" + "version" "29.3.1" dependencies: "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@jridgewell/trace-mapping" "^0.3.18" + "@jest/console" "^29.3.1" + "@jest/test-result" "^29.3.1" + "@jest/transform" "^29.3.1" + "@jest/types" "^29.3.1" + "@jridgewell/trace-mapping" "^0.3.15" "@types/node" "*" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.9" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^6.0.0" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.1.3" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - jest-worker "^29.7.0" - slash "^3.0.0" - string-length "^4.0.1" - strip-ansi "^6.0.0" - v8-to-istanbul "^9.0.1" - -"@jest/schemas@^29.6.3": - version "29.6.3" - resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz" - integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== - dependencies: - "@sinclair/typebox" "^0.27.8" - -"@jest/source-map@^29.6.3": - version "29.6.3" - resolved "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz" - integrity sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw== - dependencies: - "@jridgewell/trace-mapping" "^0.3.18" - callsites "^3.0.0" - graceful-fs "^4.2.9" - -"@jest/test-result@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz" - integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA== - dependencies: - "@jest/console" "^29.7.0" - "@jest/types" "^29.6.3" + "chalk" "^4.0.0" + "collect-v8-coverage" "^1.0.0" + "exit" "^0.1.2" + "glob" "^7.1.3" + "graceful-fs" "^4.2.9" + "istanbul-lib-coverage" "^3.0.0" + "istanbul-lib-instrument" "^5.1.0" + "istanbul-lib-report" "^3.0.0" + "istanbul-lib-source-maps" "^4.0.0" + "istanbul-reports" "^3.1.3" + "jest-message-util" "^29.3.1" + "jest-util" "^29.3.1" + "jest-worker" "^29.3.1" + "slash" "^3.0.0" + "string-length" "^4.0.1" + "strip-ansi" "^6.0.0" + "v8-to-istanbul" "^9.0.1" + +"@jest/schemas@^29.0.0": + "integrity" "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==" + "resolved" "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz" + "version" "29.0.0" + dependencies: + "@sinclair/typebox" "^0.24.1" + +"@jest/source-map@^29.2.0": + "integrity" "sha512-1NX9/7zzI0nqa6+kgpSdKPK+WU1p+SJk3TloWZf5MzPbxri9UEeXX5bWZAPCzbQcyuAzubcdUHA7hcNznmRqWQ==" + "resolved" "https://registry.npmjs.org/@jest/source-map/-/source-map-29.2.0.tgz" + "version" "29.2.0" + dependencies: + "@jridgewell/trace-mapping" "^0.3.15" + "callsites" "^3.0.0" + "graceful-fs" "^4.2.9" + +"@jest/test-result@^29.3.1": + "integrity" "sha512-qeLa6qc0ddB0kuOZyZIhfN5q0e2htngokyTWsGriedsDhItisW7SDYZ7ceOe57Ii03sL988/03wAcBh3TChMGw==" + "resolved" "https://registry.npmjs.org/@jest/test-result/-/test-result-29.3.1.tgz" + "version" "29.3.1" + dependencies: + "@jest/console" "^29.3.1" + "@jest/types" "^29.3.1" "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" + "collect-v8-coverage" "^1.0.0" -"@jest/test-sequencer@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz" - integrity sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw== +"@jest/test-sequencer@^29.3.1": + "integrity" "sha512-IqYvLbieTv20ArgKoAMyhLHNrVHJfzO6ARZAbQRlY4UGWfdDnLlZEF0BvKOMd77uIiIjSZRwq3Jb3Fa3I8+2UA==" + "resolved" "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.3.1.tgz" + "version" "29.3.1" dependencies: - "@jest/test-result" "^29.7.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - slash "^3.0.0" + "@jest/test-result" "^29.3.1" + "graceful-fs" "^4.2.9" + "jest-haste-map" "^29.3.1" + "slash" "^3.0.0" -"@jest/transform@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz" - integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw== +"@jest/transform@^29.3.1": + "integrity" "sha512-8wmCFBTVGYqFNLWfcOWoVuMuKYPUBTnTMDkdvFtAYELwDOl9RGwOsvQWGPFxDJ8AWY9xM/8xCXdqmPK3+Q5Lug==" + "resolved" "https://registry.npmjs.org/@jest/transform/-/transform-29.3.1.tgz" + "version" "29.3.1" dependencies: "@babel/core" "^7.11.6" - "@jest/types" "^29.6.3" - "@jridgewell/trace-mapping" "^0.3.18" - babel-plugin-istanbul "^6.1.1" - chalk "^4.0.0" - convert-source-map "^2.0.0" - fast-json-stable-stringify "^2.1.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-regex-util "^29.6.3" - jest-util "^29.7.0" - micromatch "^4.0.4" - pirates "^4.0.4" - slash "^3.0.0" - write-file-atomic "^4.0.2" - -"@jest/types@^29.6.3": - version "29.6.3" - resolved "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz" - integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== - dependencies: - "@jest/schemas" "^29.6.3" + "@jest/types" "^29.3.1" + "@jridgewell/trace-mapping" "^0.3.15" + "babel-plugin-istanbul" "^6.1.1" + "chalk" "^4.0.0" + "convert-source-map" "^2.0.0" + "fast-json-stable-stringify" "^2.1.0" + "graceful-fs" "^4.2.9" + "jest-haste-map" "^29.3.1" + "jest-regex-util" "^29.2.0" + "jest-util" "^29.3.1" + "micromatch" "^4.0.4" + "pirates" "^4.0.4" + "slash" "^3.0.0" + "write-file-atomic" "^4.0.1" + +"@jest/types@^29.0.0", "@jest/types@^29.3.1": + "integrity" "sha512-d0S0jmmTpjnhCmNpApgX3jrUZgZ22ivKJRvL2lli5hpCRoNnp1f85r2/wpKfXuYu8E7Jjh1hGfhPyup1NM5AmA==" + "resolved" "https://registry.npmjs.org/@jest/types/-/types-29.3.1.tgz" + "version" "29.3.1" + dependencies: + "@jest/schemas" "^29.0.0" "@types/istanbul-lib-coverage" "^2.0.0" "@types/istanbul-reports" "^3.0.0" "@types/node" "*" "@types/yargs" "^17.0.8" - chalk "^4.0.0" + "chalk" "^4.0.0" "@jridgewell/gen-mapping@^0.1.0": - version "0.1.1" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz" - integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== + "integrity" "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==" + "resolved" "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz" + "version" "0.1.1" dependencies: "@jridgewell/set-array" "^1.0.0" "@jridgewell/sourcemap-codec" "^1.4.10" -"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": - version "0.3.2" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz" - integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== +"@jridgewell/gen-mapping@^0.3.0": + "integrity" "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==" + "resolved" "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz" + "version" "0.3.2" dependencies: "@jridgewell/set-array" "^1.0.1" "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping" "^0.3.9" -"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": - version "3.1.0" - resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz" - integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== +"@jridgewell/gen-mapping@^0.3.2": + "integrity" "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==" + "resolved" "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz" + "version" "0.3.2" + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@3.1.0": + "integrity" "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" + "resolved" "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz" + "version" "3.1.0" "@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + "integrity" "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" + "resolved" "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" + "version" "1.1.2" "@jridgewell/source-map@^0.3.2": - version "0.3.2" - resolved "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz" - integrity sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw== + "integrity" "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==" + "resolved" "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz" + "version" "0.3.2" dependencies: "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": - version "1.4.14" - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" - integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@1.4.14": + "integrity" "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" + "resolved" "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" + "version" "1.4.14" + +"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.14", "@jridgewell/trace-mapping@^0.3.15", "@jridgewell/trace-mapping@^0.3.9": + "integrity" "sha512-LCQ+NeThyJ4k1W2d+vIKdxuSt9R3pQSZ4P92m7EakaYuXcVWbHuT5bjNcqLd4Rdgi6xYWYDvBJZJLZSLanjDcA==" + "resolved" "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.16.tgz" + "version" "0.3.16" + dependencies: + "@jridgewell/resolve-uri" "3.1.0" + "@jridgewell/sourcemap-codec" "1.4.14" "@jridgewell/trace-mapping@0.3.9": - version "0.3.9" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz" - integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== + "integrity" "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==" + "resolved" "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz" + "version" "0.3.9" dependencies: "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" -"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.14", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.19" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz" - integrity sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - "@noble/hashes@^1", "@noble/hashes@^1.0.0", "@noble/hashes@^1.2.0": - version "1.3.0" - resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.0.tgz" - integrity sha512-ilHEACi9DwqJB0pw7kv+Apvh50jiiSyR/cQ3y4W7lOR5mhvn/50FLUfsnfJz0BDZtl/RR16kXvptiv6q1msYZg== + "integrity" "sha512-ilHEACi9DwqJB0pw7kv+Apvh50jiiSyR/cQ3y4W7lOR5mhvn/50FLUfsnfJz0BDZtl/RR16kXvptiv6q1msYZg==" + "resolved" "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.0.tgz" + "version" "1.3.0" "@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + "integrity" "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==" + "resolved" "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + "version" "2.1.5" dependencies: "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" + "run-parallel" "^1.1.9" -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== +"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": + "integrity" "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" + "resolved" "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + "version" "2.0.5" "@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": - version "1.2.8" - resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + "integrity" "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==" + "resolved" "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + "version" "1.2.8" dependencies: "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" + "fastq" "^1.6.0" "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": - version "1.1.2" - resolved "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz" - integrity sha1-m4sMxmPWaafY9vXQiToU00jzD78= + "integrity" "sha1-m4sMxmPWaafY9vXQiToU00jzD78= sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" + "resolved" "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz" + "version" "1.1.2" "@protobufjs/base64@^1.1.2": - version "1.1.2" - resolved "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz" - integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== + "integrity" "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + "resolved" "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz" + "version" "1.1.2" "@protobufjs/codegen@^2.0.4": - version "2.0.4" - resolved "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz" - integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== + "integrity" "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + "resolved" "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz" + "version" "2.0.4" "@protobufjs/eventemitter@^1.1.0": - version "1.1.0" - resolved "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz" - integrity sha1-NVy8mLr61ZePntCV85diHx0Ga3A= + "integrity" "sha1-NVy8mLr61ZePntCV85diHx0Ga3A= sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" + "resolved" "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz" + "version" "1.1.0" "@protobufjs/fetch@^1.1.0": - version "1.1.0" - resolved "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz" - integrity sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU= + "integrity" "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU= sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==" + "resolved" "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz" + "version" "1.1.0" dependencies: "@protobufjs/aspromise" "^1.1.1" "@protobufjs/inquire" "^1.1.0" "@protobufjs/float@^1.0.2": - version "1.0.2" - resolved "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz" - integrity sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E= + "integrity" "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E= sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" + "resolved" "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz" + "version" "1.0.2" "@protobufjs/inquire@^1.1.0": - version "1.1.0" - resolved "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz" - integrity sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik= + "integrity" "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik= sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" + "resolved" "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz" + "version" "1.1.0" "@protobufjs/path@^1.1.2": - version "1.1.2" - resolved "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz" - integrity sha1-bMKyDFya1q0NzP0hynZz2Nf79o0= + "integrity" "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0= sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" + "resolved" "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz" + "version" "1.1.2" "@protobufjs/pool@^1.1.0": - version "1.1.0" - resolved "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz" - integrity sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q= + "integrity" "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q= sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" + "resolved" "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz" + "version" "1.1.0" "@protobufjs/utf8@^1.1.0": - version "1.1.0" - resolved "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz" - integrity sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA= + "integrity" "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA= sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" + "resolved" "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz" + "version" "1.1.0" -"@sinclair/typebox@^0.27.8": - version "0.27.8" - resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz" - integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== +"@sinclair/typebox@^0.24.1": + "integrity" "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==" + "resolved" "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz" + "version" "0.24.51" "@sindresorhus/is@^0.7.0": - version "0.7.0" - resolved "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz" - integrity sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow== + "integrity" "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==" + "resolved" "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz" + "version" "0.7.0" -"@sinonjs/commons@^3.0.0": - version "3.0.0" - resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz" - integrity sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA== +"@sinonjs/commons@^1.7.0": + "integrity" "sha512-rTpCA0wG1wUxglBSFdMMY0oTrKYvgf4fNgv/sXbfCVAdf+FnPBdKJR/7XbpTCwbCrvCbdPYnlWaUUYz4V2fPDA==" + "resolved" "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.5.tgz" + "version" "1.8.5" dependencies: - type-detect "4.0.8" + "type-detect" "4.0.8" -"@sinonjs/fake-timers@^10.0.2": - version "10.3.0" - resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz" - integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== +"@sinonjs/fake-timers@^9.1.2": + "integrity" "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==" + "resolved" "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz" + "version" "9.1.2" dependencies: - "@sinonjs/commons" "^3.0.0" + "@sinonjs/commons" "^1.7.0" "@stdlib/array-base-filled@^0.0.x": - version "0.0.2" - resolved "https://registry.npmjs.org/@stdlib/array-base-filled/-/array-base-filled-0.0.2.tgz" - integrity sha512-X/beQFsIJy2KfLfkxm/F+hMr8esrxbHwPLu+9jBBvN5iGAAb+AMRVunXWdMV02DT12Q/M0vPcMGT1Yd3nJjEaw== + "integrity" "sha512-X/beQFsIJy2KfLfkxm/F+hMr8esrxbHwPLu+9jBBvN5iGAAb+AMRVunXWdMV02DT12Q/M0vPcMGT1Yd3nJjEaw==" + "resolved" "https://registry.npmjs.org/@stdlib/array-base-filled/-/array-base-filled-0.0.2.tgz" + "version" "0.0.2" "@stdlib/array-base-zeros@^0.0.x": - version "0.0.2" - resolved "https://registry.npmjs.org/@stdlib/array-base-zeros/-/array-base-zeros-0.0.2.tgz" - integrity sha512-Ga4qR5l6RRssonfEMa2YwGd0gGyQXqZQeifirXs8CYmQk/x3n2wMrNgPeSn0RPbLIKWlL8NpSnnx6hSeEPtRRQ== + "integrity" "sha512-Ga4qR5l6RRssonfEMa2YwGd0gGyQXqZQeifirXs8CYmQk/x3n2wMrNgPeSn0RPbLIKWlL8NpSnnx6hSeEPtRRQ==" + "resolved" "https://registry.npmjs.org/@stdlib/array-base-zeros/-/array-base-zeros-0.0.2.tgz" + "version" "0.0.2" dependencies: "@stdlib/array-base-filled" "^0.0.x" "@stdlib/array-float32@^0.0.x": - version "0.0.6" - resolved "https://registry.npmjs.org/@stdlib/array-float32/-/array-float32-0.0.6.tgz" - integrity sha512-QgKT5UaE92Rv7cxfn7wBKZAlwFFHPla8eXsMFsTGt5BiL4yUy36lwinPUh4hzybZ11rw1vifS3VAPuk6JP413Q== + "integrity" "sha512-QgKT5UaE92Rv7cxfn7wBKZAlwFFHPla8eXsMFsTGt5BiL4yUy36lwinPUh4hzybZ11rw1vifS3VAPuk6JP413Q==" + "resolved" "https://registry.npmjs.org/@stdlib/array-float32/-/array-float32-0.0.6.tgz" + "version" "0.0.6" dependencies: "@stdlib/assert-has-float32array-support" "^0.0.x" "@stdlib/array-float64@^0.0.x": - version "0.0.6" - resolved "https://registry.npmjs.org/@stdlib/array-float64/-/array-float64-0.0.6.tgz" - integrity sha512-oE8y4a84LyBF1goX5//sU1mOjet8gLI0/6wucZcjg+j/yMmNV1xFu84Az9GOGmFSE6Ze6lirGOhfBeEWNNNaJg== + "integrity" "sha512-oE8y4a84LyBF1goX5//sU1mOjet8gLI0/6wucZcjg+j/yMmNV1xFu84Az9GOGmFSE6Ze6lirGOhfBeEWNNNaJg==" + "resolved" "https://registry.npmjs.org/@stdlib/array-float64/-/array-float64-0.0.6.tgz" + "version" "0.0.6" dependencies: "@stdlib/assert-has-float64array-support" "^0.0.x" "@stdlib/array-uint16@^0.0.x": - version "0.0.6" - resolved "https://registry.npmjs.org/@stdlib/array-uint16/-/array-uint16-0.0.6.tgz" - integrity sha512-/A8Tr0CqJ4XScIDRYQawosko8ha1Uy+50wsTgJhjUtXDpPRp7aUjmxvYkbe7Rm+ImYYbDQVix/uCiPAFQ8ed4Q== + "integrity" "sha512-/A8Tr0CqJ4XScIDRYQawosko8ha1Uy+50wsTgJhjUtXDpPRp7aUjmxvYkbe7Rm+ImYYbDQVix/uCiPAFQ8ed4Q==" + "resolved" "https://registry.npmjs.org/@stdlib/array-uint16/-/array-uint16-0.0.6.tgz" + "version" "0.0.6" dependencies: "@stdlib/assert-has-uint16array-support" "^0.0.x" "@stdlib/array-uint32@^0.0.x": - version "0.0.6" - resolved "https://registry.npmjs.org/@stdlib/array-uint32/-/array-uint32-0.0.6.tgz" - integrity sha512-2hFPK1Fg7obYPZWlGDjW9keiIB6lXaM9dKmJubg/ergLQCsJQJZpYsG6mMAfTJi4NT1UF4jTmgvyKD+yf0D9cA== + "integrity" "sha512-2hFPK1Fg7obYPZWlGDjW9keiIB6lXaM9dKmJubg/ergLQCsJQJZpYsG6mMAfTJi4NT1UF4jTmgvyKD+yf0D9cA==" + "resolved" "https://registry.npmjs.org/@stdlib/array-uint32/-/array-uint32-0.0.6.tgz" + "version" "0.0.6" dependencies: "@stdlib/assert-has-uint32array-support" "^0.0.x" "@stdlib/array-uint8@^0.0.x": - version "0.0.7" - resolved "https://registry.npmjs.org/@stdlib/array-uint8/-/array-uint8-0.0.7.tgz" - integrity sha512-qYJQQfGKIcky6TzHFIGczZYTuVlut7oO+V8qUBs7BJC9TwikVnnOmb3hY3jToY4xaoi5p9OvgdJKPInhyIhzFg== + "integrity" "sha512-qYJQQfGKIcky6TzHFIGczZYTuVlut7oO+V8qUBs7BJC9TwikVnnOmb3hY3jToY4xaoi5p9OvgdJKPInhyIhzFg==" + "resolved" "https://registry.npmjs.org/@stdlib/array-uint8/-/array-uint8-0.0.7.tgz" + "version" "0.0.7" dependencies: "@stdlib/assert-has-uint8array-support" "^0.0.x" "@stdlib/assert-has-float32array-support@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/assert-has-float32array-support/-/assert-has-float32array-support-0.0.8.tgz" - integrity sha512-Yrg7K6rBqwCzDWZ5bN0VWLS5dNUWcoSfUeU49vTERdUmZID06J069CDc07UUl8vfQWhFgBWGocH3rrpKm1hi9w== + "integrity" "sha512-Yrg7K6rBqwCzDWZ5bN0VWLS5dNUWcoSfUeU49vTERdUmZID06J069CDc07UUl8vfQWhFgBWGocH3rrpKm1hi9w==" + "resolved" "https://registry.npmjs.org/@stdlib/assert-has-float32array-support/-/assert-has-float32array-support-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/assert-is-float32array" "^0.0.x" "@stdlib/cli-ctor" "^0.0.x" @@ -1063,58 +1072,58 @@ "@stdlib/fs-read-file" "^0.0.x" "@stdlib/assert-has-float64array-support@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/assert-has-float64array-support/-/assert-has-float64array-support-0.0.8.tgz" - integrity sha512-UVQcoeWqgMw9b8PnAmm/sgzFnuWkZcNhJoi7xyMjbiDV/SP1qLCrvi06mq86cqS3QOCma1fEayJdwgteoXyyuw== + "integrity" "sha512-UVQcoeWqgMw9b8PnAmm/sgzFnuWkZcNhJoi7xyMjbiDV/SP1qLCrvi06mq86cqS3QOCma1fEayJdwgteoXyyuw==" + "resolved" "https://registry.npmjs.org/@stdlib/assert-has-float64array-support/-/assert-has-float64array-support-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/assert-is-float64array" "^0.0.x" "@stdlib/cli-ctor" "^0.0.x" "@stdlib/fs-read-file" "^0.0.x" "@stdlib/assert-has-generator-support@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/assert-has-generator-support/-/assert-has-generator-support-0.0.8.tgz" - integrity sha512-TejqpxFYY1NVGGamtxvUrt1TiiSFMt5bL2X84GSmqZGFE8C7CEWevKF462dH+uquf5K7OfJVOaL6XSnDXLTG+g== + "integrity" "sha512-TejqpxFYY1NVGGamtxvUrt1TiiSFMt5bL2X84GSmqZGFE8C7CEWevKF462dH+uquf5K7OfJVOaL6XSnDXLTG+g==" + "resolved" "https://registry.npmjs.org/@stdlib/assert-has-generator-support/-/assert-has-generator-support-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/cli-ctor" "^0.0.x" "@stdlib/fs-read-file" "^0.0.x" "@stdlib/utils-eval" "^0.0.x" "@stdlib/assert-has-node-buffer-support@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/assert-has-node-buffer-support/-/assert-has-node-buffer-support-0.0.8.tgz" - integrity sha512-fgI+hW4Yg4ciiv4xVKH+1rzdV7e5+6UKgMnFbc1XDXHcxLub3vOr8+H6eDECdAIfgYNA7X0Dxa/DgvX9dwDTAQ== + "integrity" "sha512-fgI+hW4Yg4ciiv4xVKH+1rzdV7e5+6UKgMnFbc1XDXHcxLub3vOr8+H6eDECdAIfgYNA7X0Dxa/DgvX9dwDTAQ==" + "resolved" "https://registry.npmjs.org/@stdlib/assert-has-node-buffer-support/-/assert-has-node-buffer-support-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/assert-is-buffer" "^0.0.x" "@stdlib/cli-ctor" "^0.0.x" "@stdlib/fs-read-file" "^0.0.x" "@stdlib/assert-has-own-property@^0.0.x": - version "0.0.7" - resolved "https://registry.npmjs.org/@stdlib/assert-has-own-property/-/assert-has-own-property-0.0.7.tgz" - integrity sha512-3YHwSWiUqGlTLSwxAWxrqaD1PkgcJniGyotJeIt5X0tSNmSW0/c9RWroCImTUUB3zBkyBJ79MyU9Nf4Qgm59fQ== + "integrity" "sha512-3YHwSWiUqGlTLSwxAWxrqaD1PkgcJniGyotJeIt5X0tSNmSW0/c9RWroCImTUUB3zBkyBJ79MyU9Nf4Qgm59fQ==" + "resolved" "https://registry.npmjs.org/@stdlib/assert-has-own-property/-/assert-has-own-property-0.0.7.tgz" + "version" "0.0.7" "@stdlib/assert-has-symbol-support@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/assert-has-symbol-support/-/assert-has-symbol-support-0.0.8.tgz" - integrity sha512-PoQ9rk8DgDCuBEkOIzGGQmSnjtcdagnUIviaP5YskB45/TJHXseh4NASWME8FV77WFW9v/Wt1MzKFKMzpDFu4Q== + "integrity" "sha512-PoQ9rk8DgDCuBEkOIzGGQmSnjtcdagnUIviaP5YskB45/TJHXseh4NASWME8FV77WFW9v/Wt1MzKFKMzpDFu4Q==" + "resolved" "https://registry.npmjs.org/@stdlib/assert-has-symbol-support/-/assert-has-symbol-support-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/cli-ctor" "^0.0.x" "@stdlib/fs-read-file" "^0.0.x" "@stdlib/assert-has-tostringtag-support@^0.0.x": - version "0.0.9" - resolved "https://registry.npmjs.org/@stdlib/assert-has-tostringtag-support/-/assert-has-tostringtag-support-0.0.9.tgz" - integrity sha512-UTsqdkrnQ7eufuH5BeyWOJL3ska3u5nvDWKqw3onNNZ2mvdgkfoFD7wHutVGzAA2rkTsSJAMBHVwWLsm5SbKgw== + "integrity" "sha512-UTsqdkrnQ7eufuH5BeyWOJL3ska3u5nvDWKqw3onNNZ2mvdgkfoFD7wHutVGzAA2rkTsSJAMBHVwWLsm5SbKgw==" + "resolved" "https://registry.npmjs.org/@stdlib/assert-has-tostringtag-support/-/assert-has-tostringtag-support-0.0.9.tgz" + "version" "0.0.9" dependencies: "@stdlib/assert-has-symbol-support" "^0.0.x" "@stdlib/cli-ctor" "^0.0.x" "@stdlib/fs-read-file" "^0.0.x" "@stdlib/assert-has-uint16array-support@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/assert-has-uint16array-support/-/assert-has-uint16array-support-0.0.8.tgz" - integrity sha512-vqFDn30YrtzD+BWnVqFhB130g3cUl2w5AdOxhIkRkXCDYAM5v7YwdNMJEON+D4jI8YB4D5pEYjqKweYaCq4nyg== + "integrity" "sha512-vqFDn30YrtzD+BWnVqFhB130g3cUl2w5AdOxhIkRkXCDYAM5v7YwdNMJEON+D4jI8YB4D5pEYjqKweYaCq4nyg==" + "resolved" "https://registry.npmjs.org/@stdlib/assert-has-uint16array-support/-/assert-has-uint16array-support-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/assert-is-uint16array" "^0.0.x" "@stdlib/cli-ctor" "^0.0.x" @@ -1122,9 +1131,9 @@ "@stdlib/fs-read-file" "^0.0.x" "@stdlib/assert-has-uint32array-support@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/assert-has-uint32array-support/-/assert-has-uint32array-support-0.0.8.tgz" - integrity sha512-tJtKuiFKwFSQQUfRXEReOVGXtfdo6+xlshSfwwNWXL1WPP2LrceoiUoQk7zMCMT6VdbXgGH92LDjVcPmSbH4Xw== + "integrity" "sha512-tJtKuiFKwFSQQUfRXEReOVGXtfdo6+xlshSfwwNWXL1WPP2LrceoiUoQk7zMCMT6VdbXgGH92LDjVcPmSbH4Xw==" + "resolved" "https://registry.npmjs.org/@stdlib/assert-has-uint32array-support/-/assert-has-uint32array-support-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/assert-is-uint32array" "^0.0.x" "@stdlib/cli-ctor" "^0.0.x" @@ -1132,9 +1141,9 @@ "@stdlib/fs-read-file" "^0.0.x" "@stdlib/assert-has-uint8array-support@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/assert-has-uint8array-support/-/assert-has-uint8array-support-0.0.8.tgz" - integrity sha512-ie4vGTbAS/5Py+LLjoSQi0nwtYBp+WKk20cMYCzilT0rCsBI/oez0RqHrkYYpmt4WaJL4eJqC+/vfQ5NsI7F5w== + "integrity" "sha512-ie4vGTbAS/5Py+LLjoSQi0nwtYBp+WKk20cMYCzilT0rCsBI/oez0RqHrkYYpmt4WaJL4eJqC+/vfQ5NsI7F5w==" + "resolved" "https://registry.npmjs.org/@stdlib/assert-has-uint8array-support/-/assert-has-uint8array-support-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/assert-is-uint8array" "^0.0.x" "@stdlib/cli-ctor" "^0.0.x" @@ -1142,16 +1151,16 @@ "@stdlib/fs-read-file" "^0.0.x" "@stdlib/assert-is-array@^0.0.x": - version "0.0.7" - resolved "https://registry.npmjs.org/@stdlib/assert-is-array/-/assert-is-array-0.0.7.tgz" - integrity sha512-/o6KclsGkNcZ5hiROarsD9XUs6xQMb4lTwF6O71UHbKWTtomEF/jD0rxLvlvj0BiCxfKrReddEYd2CnhUyskMA== + "integrity" "sha512-/o6KclsGkNcZ5hiROarsD9XUs6xQMb4lTwF6O71UHbKWTtomEF/jD0rxLvlvj0BiCxfKrReddEYd2CnhUyskMA==" + "resolved" "https://registry.npmjs.org/@stdlib/assert-is-array/-/assert-is-array-0.0.7.tgz" + "version" "0.0.7" dependencies: "@stdlib/utils-native-class" "^0.0.x" "@stdlib/assert-is-big-endian@^0.0.x": - version "0.0.7" - resolved "https://registry.npmjs.org/@stdlib/assert-is-big-endian/-/assert-is-big-endian-0.0.7.tgz" - integrity sha512-BvutsX84F76YxaSIeS5ZQTl536lz+f+P7ew68T1jlFqxBhr4v7JVYFmuf24U040YuK1jwZ2sAq+bPh6T09apwQ== + "integrity" "sha512-BvutsX84F76YxaSIeS5ZQTl536lz+f+P7ew68T1jlFqxBhr4v7JVYFmuf24U040YuK1jwZ2sAq+bPh6T09apwQ==" + "resolved" "https://registry.npmjs.org/@stdlib/assert-is-big-endian/-/assert-is-big-endian-0.0.7.tgz" + "version" "0.0.7" dependencies: "@stdlib/array-uint16" "^0.0.x" "@stdlib/array-uint8" "^0.0.x" @@ -1159,46 +1168,46 @@ "@stdlib/fs-read-file" "^0.0.x" "@stdlib/assert-is-boolean@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/assert-is-boolean/-/assert-is-boolean-0.0.8.tgz" - integrity sha512-PRCpslMXSYqFMz1Yh4dG2K/WzqxTCtlKbgJQD2cIkAtXux4JbYiXCtepuoV7l4Wv1rm0a1eU8EqNPgnOmWajGw== + "integrity" "sha512-PRCpslMXSYqFMz1Yh4dG2K/WzqxTCtlKbgJQD2cIkAtXux4JbYiXCtepuoV7l4Wv1rm0a1eU8EqNPgnOmWajGw==" + "resolved" "https://registry.npmjs.org/@stdlib/assert-is-boolean/-/assert-is-boolean-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/assert-has-tostringtag-support" "^0.0.x" "@stdlib/utils-define-nonenumerable-read-only-property" "^0.0.x" "@stdlib/utils-native-class" "^0.0.x" "@stdlib/assert-is-buffer@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/assert-is-buffer/-/assert-is-buffer-0.0.8.tgz" - integrity sha512-SYmGwOXkzZVidqUyY1IIx6V6QnSL36v3Lcwj8Rvne/fuW0bU2OomsEBzYCFMvcNgtY71vOvgZ9VfH3OppvV6eA== + "integrity" "sha512-SYmGwOXkzZVidqUyY1IIx6V6QnSL36v3Lcwj8Rvne/fuW0bU2OomsEBzYCFMvcNgtY71vOvgZ9VfH3OppvV6eA==" + "resolved" "https://registry.npmjs.org/@stdlib/assert-is-buffer/-/assert-is-buffer-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/assert-is-object-like" "^0.0.x" "@stdlib/assert-is-float32array@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/assert-is-float32array/-/assert-is-float32array-0.0.8.tgz" - integrity sha512-Phk0Ze7Vj2/WLv5Wy8Oo7poZIDMSTiTrEnc1t4lBn3Svz2vfBXlvCufi/i5d93vc4IgpkdrOEwfry6nldABjNQ== + "integrity" "sha512-Phk0Ze7Vj2/WLv5Wy8Oo7poZIDMSTiTrEnc1t4lBn3Svz2vfBXlvCufi/i5d93vc4IgpkdrOEwfry6nldABjNQ==" + "resolved" "https://registry.npmjs.org/@stdlib/assert-is-float32array/-/assert-is-float32array-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/utils-native-class" "^0.0.x" "@stdlib/assert-is-float64array@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/assert-is-float64array/-/assert-is-float64array-0.0.8.tgz" - integrity sha512-UC0Av36EEYIgqBbCIz1lj9g7qXxL5MqU1UrWun+n91lmxgdJ+Z77fHy75efJbJlXBf6HXhcYXECIsc0u3SzyDQ== + "integrity" "sha512-UC0Av36EEYIgqBbCIz1lj9g7qXxL5MqU1UrWun+n91lmxgdJ+Z77fHy75efJbJlXBf6HXhcYXECIsc0u3SzyDQ==" + "resolved" "https://registry.npmjs.org/@stdlib/assert-is-float64array/-/assert-is-float64array-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/utils-native-class" "^0.0.x" "@stdlib/assert-is-function@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/assert-is-function/-/assert-is-function-0.0.8.tgz" - integrity sha512-M55Dt2njp5tnY8oePdbkKBRIypny+LpCMFZhEjJIxjLE4rA6zSlHs1yRMqD4PmW+Wl9WTeEM1GYO4AQHl1HAjA== + "integrity" "sha512-M55Dt2njp5tnY8oePdbkKBRIypny+LpCMFZhEjJIxjLE4rA6zSlHs1yRMqD4PmW+Wl9WTeEM1GYO4AQHl1HAjA==" + "resolved" "https://registry.npmjs.org/@stdlib/assert-is-function/-/assert-is-function-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/utils-type-of" "^0.0.x" "@stdlib/assert-is-little-endian@^0.0.x": - version "0.0.7" - resolved "https://registry.npmjs.org/@stdlib/assert-is-little-endian/-/assert-is-little-endian-0.0.7.tgz" - integrity sha512-SPObC73xXfDXY0dOewXR0LDGN3p18HGzm+4K8azTj6wug0vpRV12eB3hbT28ybzRCa6TAKUjwM/xY7Am5QzIlA== + "integrity" "sha512-SPObC73xXfDXY0dOewXR0LDGN3p18HGzm+4K8azTj6wug0vpRV12eB3hbT28ybzRCa6TAKUjwM/xY7Am5QzIlA==" + "resolved" "https://registry.npmjs.org/@stdlib/assert-is-little-endian/-/assert-is-little-endian-0.0.7.tgz" + "version" "0.0.7" dependencies: "@stdlib/array-uint16" "^0.0.x" "@stdlib/array-uint8" "^0.0.x" @@ -1206,9 +1215,9 @@ "@stdlib/fs-read-file" "^0.0.x" "@stdlib/assert-is-number@^0.0.x": - version "0.0.7" - resolved "https://registry.npmjs.org/@stdlib/assert-is-number/-/assert-is-number-0.0.7.tgz" - integrity sha512-mNV4boY1cUOmoWWfA2CkdEJfXA6YvhcTvwKC0Fzq+HoFFOuTK/scpTd9HanUyN6AGBlWA8IW+cQ1ZwOT3XMqag== + "integrity" "sha512-mNV4boY1cUOmoWWfA2CkdEJfXA6YvhcTvwKC0Fzq+HoFFOuTK/scpTd9HanUyN6AGBlWA8IW+cQ1ZwOT3XMqag==" + "resolved" "https://registry.npmjs.org/@stdlib/assert-is-number/-/assert-is-number-0.0.7.tgz" + "version" "0.0.7" dependencies: "@stdlib/assert-has-tostringtag-support" "^0.0.x" "@stdlib/number-ctor" "^0.0.x" @@ -1216,24 +1225,24 @@ "@stdlib/utils-native-class" "^0.0.x" "@stdlib/assert-is-object-like@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/assert-is-object-like/-/assert-is-object-like-0.0.8.tgz" - integrity sha512-pe9selDPYAu/lYTFV5Rj4BStepgbzQCr36b/eC8EGSJh6gMgRXgHVv0R+EbdJ69KNkHvKKRjnWj0A/EmCwW+OA== + "integrity" "sha512-pe9selDPYAu/lYTFV5Rj4BStepgbzQCr36b/eC8EGSJh6gMgRXgHVv0R+EbdJ69KNkHvKKRjnWj0A/EmCwW+OA==" + "resolved" "https://registry.npmjs.org/@stdlib/assert-is-object-like/-/assert-is-object-like-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/assert-tools-array-function" "^0.0.x" "@stdlib/utils-define-nonenumerable-read-only-property" "^0.0.x" "@stdlib/assert-is-object@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/assert-is-object/-/assert-is-object-0.0.8.tgz" - integrity sha512-ooPfXDp9c7w+GSqD2NBaZ/Du1JRJlctv+Abj2vRJDcDPyrnRTb1jmw+AuPgcW7Ca7op39JTbArI+RVHm/FPK+Q== + "integrity" "sha512-ooPfXDp9c7w+GSqD2NBaZ/Du1JRJlctv+Abj2vRJDcDPyrnRTb1jmw+AuPgcW7Ca7op39JTbArI+RVHm/FPK+Q==" + "resolved" "https://registry.npmjs.org/@stdlib/assert-is-object/-/assert-is-object-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/assert-is-array" "^0.0.x" "@stdlib/assert-is-plain-object@^0.0.x": - version "0.0.7" - resolved "https://registry.npmjs.org/@stdlib/assert-is-plain-object/-/assert-is-plain-object-0.0.7.tgz" - integrity sha512-t/CEq2a083ajAgXgSa5tsH8l3kSoEqKRu1qUwniVLFYL4RGv3615CrpJUDQKVtEX5S/OKww5q0Byu3JidJ4C5w== + "integrity" "sha512-t/CEq2a083ajAgXgSa5tsH8l3kSoEqKRu1qUwniVLFYL4RGv3615CrpJUDQKVtEX5S/OKww5q0Byu3JidJ4C5w==" + "resolved" "https://registry.npmjs.org/@stdlib/assert-is-plain-object/-/assert-is-plain-object-0.0.7.tgz" + "version" "0.0.7" dependencies: "@stdlib/assert-has-own-property" "^0.0.x" "@stdlib/assert-is-function" "^0.0.x" @@ -1242,9 +1251,9 @@ "@stdlib/utils-native-class" "^0.0.x" "@stdlib/assert-is-regexp-string@^0.0.x": - version "0.0.9" - resolved "https://registry.npmjs.org/@stdlib/assert-is-regexp-string/-/assert-is-regexp-string-0.0.9.tgz" - integrity sha512-FYRJJtH7XwXEf//X6UByUC0Eqd0ZYK5AC8or5g5m5efQrgr2lOaONHyDQ3Scj1A2D6QLIJKZc9XBM4uq5nOPXA== + "integrity" "sha512-FYRJJtH7XwXEf//X6UByUC0Eqd0ZYK5AC8or5g5m5efQrgr2lOaONHyDQ3Scj1A2D6QLIJKZc9XBM4uq5nOPXA==" + "resolved" "https://registry.npmjs.org/@stdlib/assert-is-regexp-string/-/assert-is-regexp-string-0.0.9.tgz" + "version" "0.0.9" dependencies: "@stdlib/assert-is-string" "^0.0.x" "@stdlib/cli-ctor" "^0.0.x" @@ -1255,61 +1264,61 @@ "@stdlib/streams-node-stdin" "^0.0.x" "@stdlib/assert-is-regexp@^0.0.x": - version "0.0.7" - resolved "https://registry.npmjs.org/@stdlib/assert-is-regexp/-/assert-is-regexp-0.0.7.tgz" - integrity sha512-ty5qvLiqkDq6AibHlNJe0ZxDJ9Mg896qolmcHb69mzp64vrsORnPPOTzVapAq0bEUZbXoypeijypLPs9sCGBSQ== + "integrity" "sha512-ty5qvLiqkDq6AibHlNJe0ZxDJ9Mg896qolmcHb69mzp64vrsORnPPOTzVapAq0bEUZbXoypeijypLPs9sCGBSQ==" + "resolved" "https://registry.npmjs.org/@stdlib/assert-is-regexp/-/assert-is-regexp-0.0.7.tgz" + "version" "0.0.7" dependencies: "@stdlib/assert-has-tostringtag-support" "^0.0.x" "@stdlib/utils-native-class" "^0.0.x" "@stdlib/assert-is-string@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/assert-is-string/-/assert-is-string-0.0.8.tgz" - integrity sha512-Uk+bR4cglGBbY0q7O7HimEJiW/DWnO1tSzr4iAGMxYgf+VM2PMYgI5e0TLy9jOSOzWon3YS39lc63eR3a9KqeQ== + "integrity" "sha512-Uk+bR4cglGBbY0q7O7HimEJiW/DWnO1tSzr4iAGMxYgf+VM2PMYgI5e0TLy9jOSOzWon3YS39lc63eR3a9KqeQ==" + "resolved" "https://registry.npmjs.org/@stdlib/assert-is-string/-/assert-is-string-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/assert-has-tostringtag-support" "^0.0.x" "@stdlib/utils-define-nonenumerable-read-only-property" "^0.0.x" "@stdlib/utils-native-class" "^0.0.x" "@stdlib/assert-is-uint16array@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/assert-is-uint16array/-/assert-is-uint16array-0.0.8.tgz" - integrity sha512-M+qw7au+qglRXcXHjvoUZVLlGt1mPjuKudrVRto6KL4+tDsP2j+A89NDP3Fz8/XIUD+5jhj+65EOKHSMvDYnng== + "integrity" "sha512-M+qw7au+qglRXcXHjvoUZVLlGt1mPjuKudrVRto6KL4+tDsP2j+A89NDP3Fz8/XIUD+5jhj+65EOKHSMvDYnng==" + "resolved" "https://registry.npmjs.org/@stdlib/assert-is-uint16array/-/assert-is-uint16array-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/utils-native-class" "^0.0.x" "@stdlib/assert-is-uint32array@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/assert-is-uint32array/-/assert-is-uint32array-0.0.8.tgz" - integrity sha512-cnZi2DicYcplMnkJ3dBxBVKsRNFjzoGpmG9A6jXq4KH5rFl52SezGAXSVY9o5ZV7bQGaF5JLyCLp6n9Y74hFGg== + "integrity" "sha512-cnZi2DicYcplMnkJ3dBxBVKsRNFjzoGpmG9A6jXq4KH5rFl52SezGAXSVY9o5ZV7bQGaF5JLyCLp6n9Y74hFGg==" + "resolved" "https://registry.npmjs.org/@stdlib/assert-is-uint32array/-/assert-is-uint32array-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/utils-native-class" "^0.0.x" "@stdlib/assert-is-uint8array@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/assert-is-uint8array/-/assert-is-uint8array-0.0.8.tgz" - integrity sha512-8cqpDQtjnJAuVtRkNAktn45ixq0JHaGJxVsSiK79k7GRggvMI6QsbzO6OvcLnZ/LimD42FmgbLd13Yc2esDmZw== + "integrity" "sha512-8cqpDQtjnJAuVtRkNAktn45ixq0JHaGJxVsSiK79k7GRggvMI6QsbzO6OvcLnZ/LimD42FmgbLd13Yc2esDmZw==" + "resolved" "https://registry.npmjs.org/@stdlib/assert-is-uint8array/-/assert-is-uint8array-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/utils-native-class" "^0.0.x" "@stdlib/assert-tools-array-function@^0.0.x": - version "0.0.7" - resolved "https://registry.npmjs.org/@stdlib/assert-tools-array-function/-/assert-tools-array-function-0.0.7.tgz" - integrity sha512-3lqkaCIBMSJ/IBHHk4NcCnk2NYU52tmwTYbbqhAmv7vim8rZPNmGfj3oWkzrCsyCsyTF7ooD+In2x+qTmUbCtQ== + "integrity" "sha512-3lqkaCIBMSJ/IBHHk4NcCnk2NYU52tmwTYbbqhAmv7vim8rZPNmGfj3oWkzrCsyCsyTF7ooD+In2x+qTmUbCtQ==" + "resolved" "https://registry.npmjs.org/@stdlib/assert-tools-array-function/-/assert-tools-array-function-0.0.7.tgz" + "version" "0.0.7" dependencies: "@stdlib/assert-is-array" "^0.0.x" "@stdlib/buffer-ctor@^0.0.x": - version "0.0.7" - resolved "https://registry.npmjs.org/@stdlib/buffer-ctor/-/buffer-ctor-0.0.7.tgz" - integrity sha512-4IyTSGijKUQ8+DYRaKnepf9spvKLZ+nrmZ+JrRcB3FrdTX/l9JDpggcUcC/Fe+A4KIZOnClfxLn6zfIlkCZHNA== + "integrity" "sha512-4IyTSGijKUQ8+DYRaKnepf9spvKLZ+nrmZ+JrRcB3FrdTX/l9JDpggcUcC/Fe+A4KIZOnClfxLn6zfIlkCZHNA==" + "resolved" "https://registry.npmjs.org/@stdlib/buffer-ctor/-/buffer-ctor-0.0.7.tgz" + "version" "0.0.7" dependencies: "@stdlib/assert-has-node-buffer-support" "^0.0.x" "@stdlib/buffer-from-string@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/buffer-from-string/-/buffer-from-string-0.0.8.tgz" - integrity sha512-Dws5ZbK2M9l4Bkn/ODHFm3lNZ8tWko+NYXqGS/UH/RIQv3PGp+1tXFUSvjwjDneM6ppjQVExzVedUH1ftABs9A== + "integrity" "sha512-Dws5ZbK2M9l4Bkn/ODHFm3lNZ8tWko+NYXqGS/UH/RIQv3PGp+1tXFUSvjwjDneM6ppjQVExzVedUH1ftABs9A==" + "resolved" "https://registry.npmjs.org/@stdlib/buffer-from-string/-/buffer-from-string-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/assert-is-function" "^0.0.x" "@stdlib/assert-is-string" "^0.0.x" @@ -1317,18 +1326,18 @@ "@stdlib/string-format" "^0.0.x" "@stdlib/cli-ctor@^0.0.x": - version "0.0.3" - resolved "https://registry.npmjs.org/@stdlib/cli-ctor/-/cli-ctor-0.0.3.tgz" - integrity sha512-0zCuZnzFyxj66GoF8AyIOhTX5/mgGczFvr6T9h4mXwegMZp8jBC/ZkOGMwmp+ODLBTvlcnnDNpNFkDDyR6/c2g== + "integrity" "sha512-0zCuZnzFyxj66GoF8AyIOhTX5/mgGczFvr6T9h4mXwegMZp8jBC/ZkOGMwmp+ODLBTvlcnnDNpNFkDDyR6/c2g==" + "resolved" "https://registry.npmjs.org/@stdlib/cli-ctor/-/cli-ctor-0.0.3.tgz" + "version" "0.0.3" dependencies: "@stdlib/utils-define-nonenumerable-read-only-property" "^0.0.x" "@stdlib/utils-noop" "^0.0.x" - minimist "^1.2.0" + "minimist" "^1.2.0" "@stdlib/complex-float32@^0.0.7", "@stdlib/complex-float32@^0.0.x": - version "0.0.7" - resolved "https://registry.npmjs.org/@stdlib/complex-float32/-/complex-float32-0.0.7.tgz" - integrity sha512-POCtQcBZnPm4IrFmTujSaprR1fcOFr/MRw2Mt7INF4oed6b1nzeG647K+2tk1m4mMrMPiuXCdvwJod4kJ0SXxQ== + "integrity" "sha512-POCtQcBZnPm4IrFmTujSaprR1fcOFr/MRw2Mt7INF4oed6b1nzeG647K+2tk1m4mMrMPiuXCdvwJod4kJ0SXxQ==" + "resolved" "https://registry.npmjs.org/@stdlib/complex-float32/-/complex-float32-0.0.7.tgz" + "version" "0.0.7" dependencies: "@stdlib/assert-is-number" "^0.0.x" "@stdlib/number-float64-base-to-float32" "^0.0.x" @@ -1337,9 +1346,9 @@ "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/complex-float64@^0.0.8", "@stdlib/complex-float64@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/complex-float64/-/complex-float64-0.0.8.tgz" - integrity sha512-lUJwsXtGEziOWAqCcnKnZT4fcVoRsl6t6ECaCJX45Z7lAc70yJLiwUieLWS5UXmyoADHuZyUXkxtI4oClfpnaw== + "integrity" "sha512-lUJwsXtGEziOWAqCcnKnZT4fcVoRsl6t6ECaCJX45Z7lAc70yJLiwUieLWS5UXmyoADHuZyUXkxtI4oClfpnaw==" + "resolved" "https://registry.npmjs.org/@stdlib/complex-float64/-/complex-float64-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/assert-is-number" "^0.0.x" "@stdlib/complex-float32" "^0.0.x" @@ -1348,9 +1357,9 @@ "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/complex-reim@^0.0.6", "@stdlib/complex-reim@^0.0.x": - version "0.0.6" - resolved "https://registry.npmjs.org/@stdlib/complex-reim/-/complex-reim-0.0.6.tgz" - integrity sha512-28WXfPSIFMtHb0YgdatkGS4yxX5sPYea5MiNgqPv3E78+tFcg8JJG52NQ/MviWP2wsN9aBQAoCPeu8kXxSPdzA== + "integrity" "sha512-28WXfPSIFMtHb0YgdatkGS4yxX5sPYea5MiNgqPv3E78+tFcg8JJG52NQ/MviWP2wsN9aBQAoCPeu8kXxSPdzA==" + "resolved" "https://registry.npmjs.org/@stdlib/complex-reim/-/complex-reim-0.0.6.tgz" + "version" "0.0.6" dependencies: "@stdlib/array-float64" "^0.0.x" "@stdlib/complex-float64" "^0.0.x" @@ -1358,9 +1367,9 @@ "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/complex-reimf@^0.0.1", "@stdlib/complex-reimf@^0.0.x": - version "0.0.1" - resolved "https://registry.npmjs.org/@stdlib/complex-reimf/-/complex-reimf-0.0.1.tgz" - integrity sha512-P9zu05ZW2i68Oppp3oHelP7Tk0D7tGBL0hGl1skJppr2vY9LltuNbeYI3C96tQe/7Enw/5GyAWgxoQI4cWccQA== + "integrity" "sha512-P9zu05ZW2i68Oppp3oHelP7Tk0D7tGBL0hGl1skJppr2vY9LltuNbeYI3C96tQe/7Enw/5GyAWgxoQI4cWccQA==" + "resolved" "https://registry.npmjs.org/@stdlib/complex-reimf/-/complex-reimf-0.0.1.tgz" + "version" "0.0.1" dependencies: "@stdlib/array-float32" "^0.0.x" "@stdlib/complex-float32" "^0.0.x" @@ -1368,200 +1377,200 @@ "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float32-smallest-normal@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/constants-float32-smallest-normal/-/constants-float32-smallest-normal-0.0.8.tgz" - integrity sha512-WXNkxGNXsOFGbyEakZswheMtQen+kX2neBK5PpGzHI3YzgBetE4rh40A1YXxBl2c05aikGjjV/TL9ANMQuUAUQ== + "integrity" "sha512-WXNkxGNXsOFGbyEakZswheMtQen+kX2neBK5PpGzHI3YzgBetE4rh40A1YXxBl2c05aikGjjV/TL9ANMQuUAUQ==" + "resolved" "https://registry.npmjs.org/@stdlib/constants-float32-smallest-normal/-/constants-float32-smallest-normal-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-e@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/constants-float64-e/-/constants-float64-e-0.0.8.tgz" - integrity sha512-RUDKwoMQguOxvNa6QQImChDJsCAjB5YQAg4caaOki06eV7Qm+xee+KSgsQJyjmEFXvjOfuQTBYqUDSuWyW7EZw== + "integrity" "sha512-RUDKwoMQguOxvNa6QQImChDJsCAjB5YQAg4caaOki06eV7Qm+xee+KSgsQJyjmEFXvjOfuQTBYqUDSuWyW7EZw==" + "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-e/-/constants-float64-e-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-eps@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/constants-float64-eps/-/constants-float64-eps-0.0.8.tgz" - integrity sha512-jfsy5syNCwt5xQu0+TG+2MZzWS0x0OwHkPjhsShfPcS0fOLg/Si7V3RU057HEvViYfqJI48bfjswmko9/Jb21w== + "integrity" "sha512-jfsy5syNCwt5xQu0+TG+2MZzWS0x0OwHkPjhsShfPcS0fOLg/Si7V3RU057HEvViYfqJI48bfjswmko9/Jb21w==" + "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-eps/-/constants-float64-eps-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-eulergamma@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/constants-float64-eulergamma/-/constants-float64-eulergamma-0.0.8.tgz" - integrity sha512-VZhhSQtVatnxgJlW9t2ewDtzhQ02WOTQcTSSwIXc1bGbrglIaBZGusHPIxGXCv1tQwBx67tfd6Rho1QjMdHSAQ== + "integrity" "sha512-VZhhSQtVatnxgJlW9t2ewDtzhQ02WOTQcTSSwIXc1bGbrglIaBZGusHPIxGXCv1tQwBx67tfd6Rho1QjMdHSAQ==" + "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-eulergamma/-/constants-float64-eulergamma-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-exponent-bias@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/constants-float64-exponent-bias/-/constants-float64-exponent-bias-0.0.8.tgz" - integrity sha512-IzBJQw9hYgWCki7VoC/zJxEA76Nmf8hmY+VkOWnJ8IyfgTXClgY8tfDGS1cc4l/hCOEllxGp9FRvVdn24A5tKQ== + "integrity" "sha512-IzBJQw9hYgWCki7VoC/zJxEA76Nmf8hmY+VkOWnJ8IyfgTXClgY8tfDGS1cc4l/hCOEllxGp9FRvVdn24A5tKQ==" + "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-exponent-bias/-/constants-float64-exponent-bias-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-gamma-lanczos-g@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/constants-float64-gamma-lanczos-g/-/constants-float64-gamma-lanczos-g-0.0.8.tgz" - integrity sha512-yTSjiOeqD3VPEFPHBmk5EqroUy7+CoNRe7L0a3+rvgcgcs8Gw5+RDWiCRPh1Q1p/41BKeVmVEV7/ZTjz7Wkc3Q== + "integrity" "sha512-yTSjiOeqD3VPEFPHBmk5EqroUy7+CoNRe7L0a3+rvgcgcs8Gw5+RDWiCRPh1Q1p/41BKeVmVEV7/ZTjz7Wkc3Q==" + "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-gamma-lanczos-g/-/constants-float64-gamma-lanczos-g-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-half-ln-two@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/constants-float64-half-ln-two/-/constants-float64-half-ln-two-0.0.8.tgz" - integrity sha512-DrVD4BN2O3VLNtLixx2BQxqfy7ZSuABjyUQ03Hsgg862UnjJB5SxRy8OPjlYOdQ8QQtefyv0fJNshyw1P/hZQg== + "integrity" "sha512-DrVD4BN2O3VLNtLixx2BQxqfy7ZSuABjyUQ03Hsgg862UnjJB5SxRy8OPjlYOdQ8QQtefyv0fJNshyw1P/hZQg==" + "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-half-ln-two/-/constants-float64-half-ln-two-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-high-word-abs-mask@^0.0.x": - version "0.0.1" - resolved "https://registry.npmjs.org/@stdlib/constants-float64-high-word-abs-mask/-/constants-float64-high-word-abs-mask-0.0.1.tgz" - integrity sha512-1vy8SUyMHFBwqUUVaZFA7r4/E3cMMRKSwsaa/EZ15w7Kmc01W/ZmaaTLevRcIdACcNgK+8i8813c8H7LScXNcQ== + "integrity" "sha512-1vy8SUyMHFBwqUUVaZFA7r4/E3cMMRKSwsaa/EZ15w7Kmc01W/ZmaaTLevRcIdACcNgK+8i8813c8H7LScXNcQ==" + "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-high-word-abs-mask/-/constants-float64-high-word-abs-mask-0.0.1.tgz" + "version" "0.0.1" dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-high-word-exponent-mask@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/constants-float64-high-word-exponent-mask/-/constants-float64-high-word-exponent-mask-0.0.8.tgz" - integrity sha512-z28/EQERc0VG7N36bqdvtrRWjFc8600PKkwvl/nqx6TpKAzMXNw55BS1xT4C28Sa9Z7uBWeUj3UbIFedbkoyMw== + "integrity" "sha512-z28/EQERc0VG7N36bqdvtrRWjFc8600PKkwvl/nqx6TpKAzMXNw55BS1xT4C28Sa9Z7uBWeUj3UbIFedbkoyMw==" + "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-high-word-exponent-mask/-/constants-float64-high-word-exponent-mask-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-high-word-sign-mask@^0.0.x": - version "0.0.1" - resolved "https://registry.npmjs.org/@stdlib/constants-float64-high-word-sign-mask/-/constants-float64-high-word-sign-mask-0.0.1.tgz" - integrity sha512-hmTr5caK1lh1m0eyaQqt2Vt3y+eEdAx57ndbADEbXhxC9qSGd0b4bLSzt/Xp4MYBYdQkHAE/BlkgUiRThswhCg== + "integrity" "sha512-hmTr5caK1lh1m0eyaQqt2Vt3y+eEdAx57ndbADEbXhxC9qSGd0b4bLSzt/Xp4MYBYdQkHAE/BlkgUiRThswhCg==" + "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-high-word-sign-mask/-/constants-float64-high-word-sign-mask-0.0.1.tgz" + "version" "0.0.1" dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-high-word-significand-mask@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/constants-float64-high-word-significand-mask/-/constants-float64-high-word-significand-mask-0.0.8.tgz" - integrity sha512-axiB0JMao3ZYTxPtK3K75q+UjTDF1OM2KoCYVukZbs+GWenAR4EkEsCJ4nW5a4ONDXNLsVuRVeL8sgte7prt4g== + "integrity" "sha512-axiB0JMao3ZYTxPtK3K75q+UjTDF1OM2KoCYVukZbs+GWenAR4EkEsCJ4nW5a4ONDXNLsVuRVeL8sgte7prt4g==" + "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-high-word-significand-mask/-/constants-float64-high-word-significand-mask-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-ln-two@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/constants-float64-ln-two/-/constants-float64-ln-two-0.0.8.tgz" - integrity sha512-XwhMhGkimMpDa8Dgk7HnZd+Bzs1SerCTJqRfDRODQFzf0lj7y27SAB0vK3XYWfY7YJSLRUNXMIQ9MrALu6Sg4g== + "integrity" "sha512-XwhMhGkimMpDa8Dgk7HnZd+Bzs1SerCTJqRfDRODQFzf0lj7y27SAB0vK3XYWfY7YJSLRUNXMIQ9MrALu6Sg4g==" + "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-ln-two/-/constants-float64-ln-two-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-max-base2-exponent-subnormal@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/constants-float64-max-base2-exponent-subnormal/-/constants-float64-max-base2-exponent-subnormal-0.0.8.tgz" - integrity sha512-YGBZykSiXFebznnJfWFDwhho2Q9xhUWOL+X0lZJ4ItfTTo40W6VHAyNYz98tT/gJECFype0seNzzo1nUxCE7jQ== + "integrity" "sha512-YGBZykSiXFebznnJfWFDwhho2Q9xhUWOL+X0lZJ4ItfTTo40W6VHAyNYz98tT/gJECFype0seNzzo1nUxCE7jQ==" + "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-max-base2-exponent-subnormal/-/constants-float64-max-base2-exponent-subnormal-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-max-base2-exponent@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/constants-float64-max-base2-exponent/-/constants-float64-max-base2-exponent-0.0.8.tgz" - integrity sha512-xBAOtso1eiy27GnTut2difuSdpsGxI8dJhXupw0UukGgvy/3CSsyNm+a1Suz/dhqK4tPOTe5QboIdNMw5IgXKQ== + "integrity" "sha512-xBAOtso1eiy27GnTut2difuSdpsGxI8dJhXupw0UukGgvy/3CSsyNm+a1Suz/dhqK4tPOTe5QboIdNMw5IgXKQ==" + "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-max-base2-exponent/-/constants-float64-max-base2-exponent-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-max-ln@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/constants-float64-max-ln/-/constants-float64-max-ln-0.0.8.tgz" - integrity sha512-wrZTI9ncpIWZBmfS0PuKhB8jxjT3KWmJs3/SjOB8l0gA/6tBV/Wjw5IrO+fgut0NgT3SJRjbu/hrz06iKUeS7Q== + "integrity" "sha512-wrZTI9ncpIWZBmfS0PuKhB8jxjT3KWmJs3/SjOB8l0gA/6tBV/Wjw5IrO+fgut0NgT3SJRjbu/hrz06iKUeS7Q==" + "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-max-ln/-/constants-float64-max-ln-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-max@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/constants-float64-max/-/constants-float64-max-0.0.8.tgz" - integrity sha512-I1Dm73NUAJl7z/TtXwow/4nZeFhhs4VFdPSZR3nwqrZbvBQyEhQx/aX1hCjiQiktXDeLQm8mMYCth7KB0RuTMQ== + "integrity" "sha512-I1Dm73NUAJl7z/TtXwow/4nZeFhhs4VFdPSZR3nwqrZbvBQyEhQx/aX1hCjiQiktXDeLQm8mMYCth7KB0RuTMQ==" + "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-max/-/constants-float64-max-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-min-base2-exponent-subnormal@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/constants-float64-min-base2-exponent-subnormal/-/constants-float64-min-base2-exponent-subnormal-0.0.8.tgz" - integrity sha512-bt81nBus/91aEqGRQBenEFCyWNsf8uaxn4LN1NjgkvY92S1yVxXFlC65fJHsj9FTqvyZ+uj690/gdMKUDV3NjQ== + "integrity" "sha512-bt81nBus/91aEqGRQBenEFCyWNsf8uaxn4LN1NjgkvY92S1yVxXFlC65fJHsj9FTqvyZ+uj690/gdMKUDV3NjQ==" + "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-min-base2-exponent-subnormal/-/constants-float64-min-base2-exponent-subnormal-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-min-ln@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/constants-float64-min-ln/-/constants-float64-min-ln-0.0.8.tgz" - integrity sha512-+FLeaQGpa7Pt53jU+hPL7GQI++BAsDy3MiYW8n97AvMDvgAecbq1UjbJFWYu91ZtdOk8S8mwNRrm4jo//Hy3/w== + "integrity" "sha512-+FLeaQGpa7Pt53jU+hPL7GQI++BAsDy3MiYW8n97AvMDvgAecbq1UjbJFWYu91ZtdOk8S8mwNRrm4jo//Hy3/w==" + "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-min-ln/-/constants-float64-min-ln-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-ninf@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/constants-float64-ninf/-/constants-float64-ninf-0.0.8.tgz" - integrity sha512-bn/uuzCne35OSLsQZJlNrkvU1/40spGTm22g1+ZI1LL19J8XJi/o4iupIHRXuLSTLFDBqMoJlUNphZlWQ4l8zw== + "integrity" "sha512-bn/uuzCne35OSLsQZJlNrkvU1/40spGTm22g1+ZI1LL19J8XJi/o4iupIHRXuLSTLFDBqMoJlUNphZlWQ4l8zw==" + "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-ninf/-/constants-float64-ninf-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/number-ctor" "^0.0.x" "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-pi@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/constants-float64-pi/-/constants-float64-pi-0.0.8.tgz" - integrity sha512-MgIu0vc3fq+AcXPWGgP2dfNoeKRd1KHpRNL5S0m8olKRg+6cn5Ac+aQtRCmya3reUojDxytipBGPGHDPxUK5iw== + "integrity" "sha512-MgIu0vc3fq+AcXPWGgP2dfNoeKRd1KHpRNL5S0m8olKRg+6cn5Ac+aQtRCmya3reUojDxytipBGPGHDPxUK5iw==" + "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-pi/-/constants-float64-pi-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-pinf@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/constants-float64-pinf/-/constants-float64-pinf-0.0.8.tgz" - integrity sha512-I3R4rm2cemoMuiDph07eo5oWZ4ucUtpuK73qBJiJPDQKz8fSjSe4wJBAigq2AmWYdd7yJHsl5NJd8AgC6mP5Qw== + "integrity" "sha512-I3R4rm2cemoMuiDph07eo5oWZ4ucUtpuK73qBJiJPDQKz8fSjSe4wJBAigq2AmWYdd7yJHsl5NJd8AgC6mP5Qw==" + "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-pinf/-/constants-float64-pinf-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-smallest-normal@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/constants-float64-smallest-normal/-/constants-float64-smallest-normal-0.0.8.tgz" - integrity sha512-Qwxpn5NA3RXf+mQcffCWRcsHSPTUQkalsz0+JDpblDszuz2XROcXkOdDr5LKgTAUPIXsjOgZzTsuRONENhsSEg== + "integrity" "sha512-Qwxpn5NA3RXf+mQcffCWRcsHSPTUQkalsz0+JDpblDszuz2XROcXkOdDr5LKgTAUPIXsjOgZzTsuRONENhsSEg==" + "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-smallest-normal/-/constants-float64-smallest-normal-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-sqrt-eps@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/constants-float64-sqrt-eps/-/constants-float64-sqrt-eps-0.0.8.tgz" - integrity sha512-3VjVQczBFNy74xABiTwN38Hdr2ApgWfaY04iI5eBufWjPw3M1bNVE5UMk6HSYJseEIP3PevcZxqJ3XehCgPZHA== + "integrity" "sha512-3VjVQczBFNy74xABiTwN38Hdr2ApgWfaY04iI5eBufWjPw3M1bNVE5UMk6HSYJseEIP3PevcZxqJ3XehCgPZHA==" + "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-sqrt-eps/-/constants-float64-sqrt-eps-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-sqrt-two-pi@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/constants-float64-sqrt-two-pi/-/constants-float64-sqrt-two-pi-0.0.8.tgz" - integrity sha512-xSMg6UreLhgUUFhA0yhJWfyROJvOJ+gUtjcbj8GFlym18EjQ13x9x8gNgUocPNm4qvQVKWBDDXcbkc+fPTp+eg== + "integrity" "sha512-xSMg6UreLhgUUFhA0yhJWfyROJvOJ+gUtjcbj8GFlym18EjQ13x9x8gNgUocPNm4qvQVKWBDDXcbkc+fPTp+eg==" + "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-sqrt-two-pi/-/constants-float64-sqrt-two-pi-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-two-pi@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/constants-float64-two-pi/-/constants-float64-two-pi-0.0.8.tgz" - integrity sha512-YxgFEytCkQDhdBZpjWOCtUBgp6PPuuQZP5dXlpSNGKBShEQ60Sr3xTpdQt6WzErr+ZeNBvxaw6BlY8Mw6oK12Q== + "integrity" "sha512-YxgFEytCkQDhdBZpjWOCtUBgp6PPuuQZP5dXlpSNGKBShEQ60Sr3xTpdQt6WzErr+ZeNBvxaw6BlY8Mw6oK12Q==" + "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-two-pi/-/constants-float64-two-pi-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-uint16-max@^0.0.x": - version "0.0.7" - resolved "https://registry.npmjs.org/@stdlib/constants-uint16-max/-/constants-uint16-max-0.0.7.tgz" - integrity sha512-7TPoku7SlskA67mAm7mykIAjeEnkQJemw1cnKZur0mT5W4ryvDR6iFfL9xBiByVnWYq/+ei7DHbOv6/2b2jizw== + "integrity" "sha512-7TPoku7SlskA67mAm7mykIAjeEnkQJemw1cnKZur0mT5W4ryvDR6iFfL9xBiByVnWYq/+ei7DHbOv6/2b2jizw==" + "resolved" "https://registry.npmjs.org/@stdlib/constants-uint16-max/-/constants-uint16-max-0.0.7.tgz" + "version" "0.0.7" "@stdlib/constants-uint32-max@^0.0.x": - version "0.0.7" - resolved "https://registry.npmjs.org/@stdlib/constants-uint32-max/-/constants-uint32-max-0.0.7.tgz" - integrity sha512-8+NK0ewqc1vnEZNqzwFJgFSy3S543Eft7i8WyW/ygkofiqEiLAsujvYMHzPAB8/3D+PYvjTSe37StSwRwvQ6uw== + "integrity" "sha512-8+NK0ewqc1vnEZNqzwFJgFSy3S543Eft7i8WyW/ygkofiqEiLAsujvYMHzPAB8/3D+PYvjTSe37StSwRwvQ6uw==" + "resolved" "https://registry.npmjs.org/@stdlib/constants-uint32-max/-/constants-uint32-max-0.0.7.tgz" + "version" "0.0.7" "@stdlib/constants-uint8-max@^0.0.x": - version "0.0.7" - resolved "https://registry.npmjs.org/@stdlib/constants-uint8-max/-/constants-uint8-max-0.0.7.tgz" - integrity sha512-fqV+xds4jgwFxwWu08b8xDuIoW6/D4/1dtEjZ1sXVeWR7nf0pjj1cHERq4kdkYxsvOGu+rjoR3MbjzpFc4fvSw== + "integrity" "sha512-fqV+xds4jgwFxwWu08b8xDuIoW6/D4/1dtEjZ1sXVeWR7nf0pjj1cHERq4kdkYxsvOGu+rjoR3MbjzpFc4fvSw==" + "resolved" "https://registry.npmjs.org/@stdlib/constants-uint8-max/-/constants-uint8-max-0.0.7.tgz" + "version" "0.0.7" "@stdlib/fs-exists@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/fs-exists/-/fs-exists-0.0.8.tgz" - integrity sha512-mZktcCxiLmycCJefm1+jbMTYkmhK6Jk1ShFmUVqJvs+Ps9/2EEQXfPbdEniLoVz4HeHLlcX90JWobUEghOOnAQ== + "integrity" "sha512-mZktcCxiLmycCJefm1+jbMTYkmhK6Jk1ShFmUVqJvs+Ps9/2EEQXfPbdEniLoVz4HeHLlcX90JWobUEghOOnAQ==" + "resolved" "https://registry.npmjs.org/@stdlib/fs-exists/-/fs-exists-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/cli-ctor" "^0.0.x" "@stdlib/fs-read-file" "^0.0.x" @@ -1569,17 +1578,17 @@ "@stdlib/utils-define-nonenumerable-read-only-property" "^0.0.x" "@stdlib/fs-read-file@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/fs-read-file/-/fs-read-file-0.0.8.tgz" - integrity sha512-pIZID/G91+q7ep4x9ECNC45+JT2j0+jdz/ZQVjCHiEwXCwshZPEvxcPQWb9bXo6coOY+zJyX5TwBIpXBxomWFg== + "integrity" "sha512-pIZID/G91+q7ep4x9ECNC45+JT2j0+jdz/ZQVjCHiEwXCwshZPEvxcPQWb9bXo6coOY+zJyX5TwBIpXBxomWFg==" + "resolved" "https://registry.npmjs.org/@stdlib/fs-read-file/-/fs-read-file-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/cli-ctor" "^0.0.x" "@stdlib/utils-define-nonenumerable-read-only-property" "^0.0.x" "@stdlib/fs-resolve-parent-path@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/fs-resolve-parent-path/-/fs-resolve-parent-path-0.0.8.tgz" - integrity sha512-ok1bTWsAziChibQE3u7EoXwbCQUDkFjjRAHSxh7WWE5JEYVJQg1F0o3bbjRr4D/wfYYPWLAt8AFIKBUDmWghpg== + "integrity" "sha512-ok1bTWsAziChibQE3u7EoXwbCQUDkFjjRAHSxh7WWE5JEYVJQg1F0o3bbjRr4D/wfYYPWLAt8AFIKBUDmWghpg==" + "resolved" "https://registry.npmjs.org/@stdlib/fs-resolve-parent-path/-/fs-resolve-parent-path-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/assert-has-own-property" "^0.0.x" "@stdlib/assert-is-function" "^0.0.x" @@ -1592,62 +1601,62 @@ "@stdlib/utils-define-nonenumerable-read-only-property" "^0.0.x" "@stdlib/math-base-assert-is-even@^0.0.x": - version "0.0.7" - resolved "https://registry.npmjs.org/@stdlib/math-base-assert-is-even/-/math-base-assert-is-even-0.0.7.tgz" - integrity sha512-tKHutmKSPsJ41DVZBbdfSW6njZtTjqeAIpS4ZjKom4AJwvqJGRDjOzLOzi8+jeRn3bhjfABRPCd35EAkHUnNog== + "integrity" "sha512-tKHutmKSPsJ41DVZBbdfSW6njZtTjqeAIpS4ZjKom4AJwvqJGRDjOzLOzi8+jeRn3bhjfABRPCd35EAkHUnNog==" + "resolved" "https://registry.npmjs.org/@stdlib/math-base-assert-is-even/-/math-base-assert-is-even-0.0.7.tgz" + "version" "0.0.7" dependencies: "@stdlib/math-base-assert-is-integer" "^0.0.x" "@stdlib/math-base-assert-is-infinite@^0.0.x": - version "0.0.9" - resolved "https://registry.npmjs.org/@stdlib/math-base-assert-is-infinite/-/math-base-assert-is-infinite-0.0.9.tgz" - integrity sha512-JuPDdmxd+AtPWPHu9uaLvTsnEPaZODZk+zpagziNbDKy8DRiU1cy+t+QEjB5WizZt0A5MkuxDTjZ/8/sG5GaYQ== + "integrity" "sha512-JuPDdmxd+AtPWPHu9uaLvTsnEPaZODZk+zpagziNbDKy8DRiU1cy+t+QEjB5WizZt0A5MkuxDTjZ/8/sG5GaYQ==" + "resolved" "https://registry.npmjs.org/@stdlib/math-base-assert-is-infinite/-/math-base-assert-is-infinite-0.0.9.tgz" + "version" "0.0.9" dependencies: "@stdlib/constants-float64-ninf" "^0.0.x" "@stdlib/constants-float64-pinf" "^0.0.x" "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/math-base-assert-is-integer@^0.0.x": - version "0.0.7" - resolved "https://registry.npmjs.org/@stdlib/math-base-assert-is-integer/-/math-base-assert-is-integer-0.0.7.tgz" - integrity sha512-swIEKQJZOwzacYDiX5SSt5/nHd6PYJkLlVKZiVx/GCpflstQnseWA0TmudG7XU5HJnxDGV/w6UL02dEyBH7VEw== + "integrity" "sha512-swIEKQJZOwzacYDiX5SSt5/nHd6PYJkLlVKZiVx/GCpflstQnseWA0TmudG7XU5HJnxDGV/w6UL02dEyBH7VEw==" + "resolved" "https://registry.npmjs.org/@stdlib/math-base-assert-is-integer/-/math-base-assert-is-integer-0.0.7.tgz" + "version" "0.0.7" dependencies: "@stdlib/math-base-special-floor" "^0.0.x" "@stdlib/math-base-assert-is-nan@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/math-base-assert-is-nan/-/math-base-assert-is-nan-0.0.8.tgz" - integrity sha512-m+gCVBxLFW8ZdAfdkATetYMvM7sPFoMKboacHjb1pe21jHQqVb+/4bhRSDg6S7HGX7/8/bSzEUm9zuF7vqK5rQ== + "integrity" "sha512-m+gCVBxLFW8ZdAfdkATetYMvM7sPFoMKboacHjb1pe21jHQqVb+/4bhRSDg6S7HGX7/8/bSzEUm9zuF7vqK5rQ==" + "resolved" "https://registry.npmjs.org/@stdlib/math-base-assert-is-nan/-/math-base-assert-is-nan-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/math-base-assert-is-negative-zero@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/math-base-assert-is-negative-zero/-/math-base-assert-is-negative-zero-0.0.8.tgz" - integrity sha512-xajwAxn1SC0HWx9Fw8wQZ/RGTpG7Pf9ZA13rpnKvq/4yblCk8tT8Ws+zEwgbHCt5PQe45SEtUZOQ42k3YpX3DA== + "integrity" "sha512-xajwAxn1SC0HWx9Fw8wQZ/RGTpG7Pf9ZA13rpnKvq/4yblCk8tT8Ws+zEwgbHCt5PQe45SEtUZOQ42k3YpX3DA==" + "resolved" "https://registry.npmjs.org/@stdlib/math-base-assert-is-negative-zero/-/math-base-assert-is-negative-zero-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/constants-float64-ninf" "^0.0.x" "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/math-base-assert-is-odd@^0.0.x": - version "0.0.7" - resolved "https://registry.npmjs.org/@stdlib/math-base-assert-is-odd/-/math-base-assert-is-odd-0.0.7.tgz" - integrity sha512-ZjIIu1AX57ZnKDxJW67t/FUyMkDnZLCZgvWiDr7+nkfTfGB1uLckJtwkmnZqz0CGtkpTU3geELbvGQ+e60kLEA== + "integrity" "sha512-ZjIIu1AX57ZnKDxJW67t/FUyMkDnZLCZgvWiDr7+nkfTfGB1uLckJtwkmnZqz0CGtkpTU3geELbvGQ+e60kLEA==" + "resolved" "https://registry.npmjs.org/@stdlib/math-base-assert-is-odd/-/math-base-assert-is-odd-0.0.7.tgz" + "version" "0.0.7" dependencies: "@stdlib/math-base-assert-is-even" "^0.0.x" "@stdlib/math-base-assert-is-positive-zero@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/math-base-assert-is-positive-zero/-/math-base-assert-is-positive-zero-0.0.8.tgz" - integrity sha512-/9OtPelOyekHTk5hOvPjJl6LCY8CHQmib6TFKbRjqhqwjnqUGIO4bv80TSCKFddoEj/viIHXQfYHXXuQosMTVg== + "integrity" "sha512-/9OtPelOyekHTk5hOvPjJl6LCY8CHQmib6TFKbRjqhqwjnqUGIO4bv80TSCKFddoEj/viIHXQfYHXXuQosMTVg==" + "resolved" "https://registry.npmjs.org/@stdlib/math-base-assert-is-positive-zero/-/math-base-assert-is-positive-zero-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/constants-float64-pinf" "^0.0.x" "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/math-base-napi-binary@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/math-base-napi-binary/-/math-base-napi-binary-0.0.8.tgz" - integrity sha512-B8d0HBPhfXefbdl/h0h5c+lM2sE+/U7Fb7hY/huVeoQtBtEx0Jbx/qKvPSVxMjmWCKfWlbPpbgKpN5GbFgLiAg== + "integrity" "sha512-B8d0HBPhfXefbdl/h0h5c+lM2sE+/U7Fb7hY/huVeoQtBtEx0Jbx/qKvPSVxMjmWCKfWlbPpbgKpN5GbFgLiAg==" + "resolved" "https://registry.npmjs.org/@stdlib/math-base-napi-binary/-/math-base-napi-binary-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/complex-float32" "^0.0.x" "@stdlib/complex-float64" "^0.0.x" @@ -1656,9 +1665,9 @@ "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/math-base-napi-unary@^0.0.x": - version "0.0.9" - resolved "https://registry.npmjs.org/@stdlib/math-base-napi-unary/-/math-base-napi-unary-0.0.9.tgz" - integrity sha512-2WNKhjCygkGMp0RgjaD7wAHJTqPZmuVW7yPOc62Tnz2U+Ad8q/tcOcN+uvq2dtKsAGr1HDMIQxZ/XrrThMePyA== + "integrity" "sha512-2WNKhjCygkGMp0RgjaD7wAHJTqPZmuVW7yPOc62Tnz2U+Ad8q/tcOcN+uvq2dtKsAGr1HDMIQxZ/XrrThMePyA==" + "resolved" "https://registry.npmjs.org/@stdlib/math-base-napi-unary/-/math-base-napi-unary-0.0.9.tgz" + "version" "0.0.9" dependencies: "@stdlib/complex-float32" "^0.0.7" "@stdlib/complex-float64" "^0.0.8" @@ -1667,26 +1676,26 @@ "@stdlib/utils-library-manifest" "^0.0.8" "@stdlib/math-base-special-abs@^0.0.x": - version "0.0.6" - resolved "https://registry.npmjs.org/@stdlib/math-base-special-abs/-/math-base-special-abs-0.0.6.tgz" - integrity sha512-FaaMUnYs2qIVN3kI5m/qNlBhDnjszhDOzEhxGEoQWR/k0XnxbCsTyjNesR2DkpiKuoAXAr9ojoDe2qBYdirWoQ== + "integrity" "sha512-FaaMUnYs2qIVN3kI5m/qNlBhDnjszhDOzEhxGEoQWR/k0XnxbCsTyjNesR2DkpiKuoAXAr9ojoDe2qBYdirWoQ==" + "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-abs/-/math-base-special-abs-0.0.6.tgz" + "version" "0.0.6" dependencies: "@stdlib/math-base-napi-unary" "^0.0.x" "@stdlib/number-float64-base-to-words" "^0.0.x" "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/math-base-special-ceil@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/math-base-special-ceil/-/math-base-special-ceil-0.0.8.tgz" - integrity sha512-TP6DWHXreyjO3iZntIsMcHcVYhQEhaQavjYX5z9FiYt8WOEliGRmb9TBAl4SWrHqIq+RTP8IwOydkBpAFndIbA== + "integrity" "sha512-TP6DWHXreyjO3iZntIsMcHcVYhQEhaQavjYX5z9FiYt8WOEliGRmb9TBAl4SWrHqIq+RTP8IwOydkBpAFndIbA==" + "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-ceil/-/math-base-special-ceil-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/math-base-napi-unary" "^0.0.x" "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/math-base-special-copysign@^0.0.x": - version "0.0.7" - resolved "https://registry.npmjs.org/@stdlib/math-base-special-copysign/-/math-base-special-copysign-0.0.7.tgz" - integrity sha512-7Br7oeuVJSBKG8BiSk/AIRFTBd2sbvHdV3HaqRj8tTZHX8BQomZ3Vj4Qsiz3kPyO4d6PpBLBTYlGTkSDlGOZJA== + "integrity" "sha512-7Br7oeuVJSBKG8BiSk/AIRFTBd2sbvHdV3HaqRj8tTZHX8BQomZ3Vj4Qsiz3kPyO4d6PpBLBTYlGTkSDlGOZJA==" + "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-copysign/-/math-base-special-copysign-0.0.7.tgz" + "version" "0.0.7" dependencies: "@stdlib/constants-float64-high-word-abs-mask" "^0.0.x" "@stdlib/constants-float64-high-word-sign-mask" "^0.0.x" @@ -1697,9 +1706,9 @@ "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/math-base-special-cos@^0.0.x": - version "0.0.6" - resolved "https://registry.npmjs.org/@stdlib/math-base-special-cos/-/math-base-special-cos-0.0.6.tgz" - integrity sha512-dmBXZ5iRnC8u13EiZEfkjIzzOFiasvPM9MZldW6qK70aP1U+bmw1/Y27rwe4na+X6Yrkh+Vg/88NIjAOWccCXQ== + "integrity" "sha512-dmBXZ5iRnC8u13EiZEfkjIzzOFiasvPM9MZldW6qK70aP1U+bmw1/Y27rwe4na+X6Yrkh+Vg/88NIjAOWccCXQ==" + "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-cos/-/math-base-special-cos-0.0.6.tgz" + "version" "0.0.6" dependencies: "@stdlib/math-base-special-kernel-cos" "^0.0.x" "@stdlib/math-base-special-kernel-sin" "^0.0.x" @@ -1707,9 +1716,9 @@ "@stdlib/number-float64-base-get-high-word" "^0.0.x" "@stdlib/math-base-special-erfc@^0.0.x": - version "0.0.6" - resolved "https://registry.npmjs.org/@stdlib/math-base-special-erfc/-/math-base-special-erfc-0.0.6.tgz" - integrity sha512-QLqfjP55VK9aW0VOq30lsi3ymDSvDBjUOI1fTRZmqMNizB38AM+ZlPkn9e9SNLYXRxp8BHZUEjOsEi6b5HnNIw== + "integrity" "sha512-QLqfjP55VK9aW0VOq30lsi3ymDSvDBjUOI1fTRZmqMNizB38AM+ZlPkn9e9SNLYXRxp8BHZUEjOsEi6b5HnNIw==" + "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-erfc/-/math-base-special-erfc-0.0.6.tgz" + "version" "0.0.6" dependencies: "@stdlib/constants-float64-ninf" "^0.0.x" "@stdlib/constants-float64-pinf" "^0.0.x" @@ -1718,9 +1727,9 @@ "@stdlib/number-float64-base-set-low-word" "^0.0.x" "@stdlib/math-base-special-exp@^0.0.x": - version "0.0.6" - resolved "https://registry.npmjs.org/@stdlib/math-base-special-exp/-/math-base-special-exp-0.0.6.tgz" - integrity sha512-oHhH7WlPIwoT/nY29p3eLn/Zh1oAOLsZvr3kf5Lb/ntenkpgB7wMjynsiGKyBupNR49esB4/FaBbGqhYmKgwaQ== + "integrity" "sha512-oHhH7WlPIwoT/nY29p3eLn/Zh1oAOLsZvr3kf5Lb/ntenkpgB7wMjynsiGKyBupNR49esB4/FaBbGqhYmKgwaQ==" + "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-exp/-/math-base-special-exp-0.0.6.tgz" + "version" "0.0.6" dependencies: "@stdlib/constants-float64-ninf" "^0.0.x" "@stdlib/constants-float64-pinf" "^0.0.x" @@ -1729,9 +1738,9 @@ "@stdlib/math-base-special-trunc" "^0.0.x" "@stdlib/math-base-special-expm1@^0.0.x": - version "0.0.6" - resolved "https://registry.npmjs.org/@stdlib/math-base-special-expm1/-/math-base-special-expm1-0.0.6.tgz" - integrity sha512-q6csQF1XZD5ikudP8laJwPh390VnqkEkL7Nv39GSa4JKuQUt+EAxc+Y1HEWEw+Io06eTLl36SYEZy7Pz/NL1PA== + "integrity" "sha512-q6csQF1XZD5ikudP8laJwPh390VnqkEkL7Nv39GSa4JKuQUt+EAxc+Y1HEWEw+Io06eTLl36SYEZy7Pz/NL1PA==" + "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-expm1/-/math-base-special-expm1-0.0.6.tgz" + "version" "0.0.6" dependencies: "@stdlib/constants-float64-exponent-bias" "^0.0.x" "@stdlib/constants-float64-half-ln-two" "^0.0.x" @@ -1742,34 +1751,22 @@ "@stdlib/number-float64-base-set-high-word" "^0.0.x" "@stdlib/math-base-special-floor@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/math-base-special-floor/-/math-base-special-floor-0.0.8.tgz" - integrity sha512-VwpaiU0QhQKB8p+r9p9mNzhrjU5ZVBnUcLjKNCDADiGNvO5ACI/I+W++8kxBz5XSp5PAQhaFCH4MpRM1tSkd/w== + "integrity" "sha512-VwpaiU0QhQKB8p+r9p9mNzhrjU5ZVBnUcLjKNCDADiGNvO5ACI/I+W++8kxBz5XSp5PAQhaFCH4MpRM1tSkd/w==" + "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-floor/-/math-base-special-floor-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/math-base-napi-unary" "^0.0.x" "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/math-base-special-gamma-lanczos-sum-expg-scaled@^0.0.x": - version "0.0.7" - resolved "https://registry.npmjs.org/@stdlib/math-base-special-gamma-lanczos-sum-expg-scaled/-/math-base-special-gamma-lanczos-sum-expg-scaled-0.0.7.tgz" - integrity sha512-zjdpS8owElpxosiEs78XawbJ/+pvMsUdEN7ThLiGpTToSqffb/L9FGlD3uD/LiXHgiqs4CwsU1xBaX8cI6tn2A== - -"@stdlib/math-base-special-gamma1pm1@^0.0.x": - version "0.0.6" - resolved "https://registry.npmjs.org/@stdlib/math-base-special-gamma1pm1/-/math-base-special-gamma1pm1-0.0.6.tgz" - integrity sha512-MAyGncYTJjdSAUCjezMq9ah+hEc4A3yiyTmBMtJ60xkFzRiMOgI+KZV8Yb3brtRWtMayGmRsarqbroXeAnzJKQ== - dependencies: - "@stdlib/constants-float64-eps" "^0.0.x" - "@stdlib/math-base-assert-is-nan" "^0.0.x" - "@stdlib/math-base-special-expm1" "^0.0.x" - "@stdlib/math-base-special-gamma" "^0.0.x" - "@stdlib/math-base-special-ln" "^0.0.x" - "@stdlib/math-base-special-log1p" "^0.0.x" + "integrity" "sha512-zjdpS8owElpxosiEs78XawbJ/+pvMsUdEN7ThLiGpTToSqffb/L9FGlD3uD/LiXHgiqs4CwsU1xBaX8cI6tn2A==" + "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-gamma-lanczos-sum-expg-scaled/-/math-base-special-gamma-lanczos-sum-expg-scaled-0.0.7.tgz" + "version" "0.0.7" "@stdlib/math-base-special-gamma@^0.0.x": - version "0.0.6" - resolved "https://registry.npmjs.org/@stdlib/math-base-special-gamma/-/math-base-special-gamma-0.0.6.tgz" - integrity sha512-UqxLakbDrCsobOFzp0VC/OCTLimgnZPJOyrUJ4Vw3UAObmkqrH+Lxh3cYZgX/AMLAcWdN/MSPdRK9QMAp5vHYQ== + "integrity" "sha512-UqxLakbDrCsobOFzp0VC/OCTLimgnZPJOyrUJ4Vw3UAObmkqrH+Lxh3cYZgX/AMLAcWdN/MSPdRK9QMAp5vHYQ==" + "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-gamma/-/math-base-special-gamma-0.0.6.tgz" + "version" "0.0.6" dependencies: "@stdlib/constants-float64-eulergamma" "^0.0.x" "@stdlib/constants-float64-ninf" "^0.0.x" @@ -1785,10 +1782,22 @@ "@stdlib/math-base-special-pow" "^0.0.x" "@stdlib/math-base-special-sin" "^0.0.x" +"@stdlib/math-base-special-gamma1pm1@^0.0.x": + "integrity" "sha512-MAyGncYTJjdSAUCjezMq9ah+hEc4A3yiyTmBMtJ60xkFzRiMOgI+KZV8Yb3brtRWtMayGmRsarqbroXeAnzJKQ==" + "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-gamma1pm1/-/math-base-special-gamma1pm1-0.0.6.tgz" + "version" "0.0.6" + dependencies: + "@stdlib/constants-float64-eps" "^0.0.x" + "@stdlib/math-base-assert-is-nan" "^0.0.x" + "@stdlib/math-base-special-expm1" "^0.0.x" + "@stdlib/math-base-special-gamma" "^0.0.x" + "@stdlib/math-base-special-ln" "^0.0.x" + "@stdlib/math-base-special-log1p" "^0.0.x" + "@stdlib/math-base-special-gammainc@^0.0.6": - version "0.0.6" - resolved "https://registry.npmjs.org/@stdlib/math-base-special-gammainc/-/math-base-special-gammainc-0.0.6.tgz" - integrity sha512-KZ5Fz/DVyTTeuEckXxU6OKouAzjEHPBTIyDi8ttoeYV1CEtaBkdI/7azrw/27lPrxFGChX9+T7b5bInyBoCSeg== + "integrity" "sha512-KZ5Fz/DVyTTeuEckXxU6OKouAzjEHPBTIyDi8ttoeYV1CEtaBkdI/7azrw/27lPrxFGChX9+T7b5bInyBoCSeg==" + "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-gammainc/-/math-base-special-gammainc-0.0.6.tgz" + "version" "0.0.6" dependencies: "@stdlib/constants-float64-e" "^0.0.x" "@stdlib/constants-float64-gamma-lanczos-g" "^0.0.x" @@ -1820,9 +1829,9 @@ "@stdlib/math-base-tools-sum-series" "^0.0.x" "@stdlib/math-base-special-gammaln@^0.0.x": - version "0.0.6" - resolved "https://registry.npmjs.org/@stdlib/math-base-special-gammaln/-/math-base-special-gammaln-0.0.6.tgz" - integrity sha512-qrFAPEcwHcTsDBUJkqDY5VmhW6NU8UcN7n14zo1SO/cguks8bmFRe7kqxmKMzy5xI2Xff/NmgYpLcAIc+gC9Hw== + "integrity" "sha512-qrFAPEcwHcTsDBUJkqDY5VmhW6NU8UcN7n14zo1SO/cguks8bmFRe7kqxmKMzy5xI2Xff/NmgYpLcAIc+gC9Hw==" + "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-gammaln/-/math-base-special-gammaln-0.0.6.tgz" + "version" "0.0.6" dependencies: "@stdlib/constants-float64-pi" "^0.0.x" "@stdlib/constants-float64-pinf" "^0.0.x" @@ -1834,19 +1843,19 @@ "@stdlib/math-base-special-trunc" "^0.0.x" "@stdlib/math-base-special-kernel-cos@^0.0.x": - version "0.0.7" - resolved "https://registry.npmjs.org/@stdlib/math-base-special-kernel-cos/-/math-base-special-kernel-cos-0.0.7.tgz" - integrity sha512-u3u7xKJtEjfYMSVokJuX+09wNqLpVEaSnHTDVyWl2zkUzHVt0hZ/okd1T7hTZ444pIA10d9niI3OWXWiYryBrw== + "integrity" "sha512-u3u7xKJtEjfYMSVokJuX+09wNqLpVEaSnHTDVyWl2zkUzHVt0hZ/okd1T7hTZ444pIA10d9niI3OWXWiYryBrw==" + "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-kernel-cos/-/math-base-special-kernel-cos-0.0.7.tgz" + "version" "0.0.7" "@stdlib/math-base-special-kernel-sin@^0.0.x": - version "0.0.7" - resolved "https://registry.npmjs.org/@stdlib/math-base-special-kernel-sin/-/math-base-special-kernel-sin-0.0.7.tgz" - integrity sha512-fhTxDb9klS2F4an7W7iyDcc2Nh/MzE7U4dAtxsVXviHiVNYc///wPkg9hHXqYe/c6q7FxnanXCGW9FOTWfhe/Q== + "integrity" "sha512-fhTxDb9klS2F4an7W7iyDcc2Nh/MzE7U4dAtxsVXviHiVNYc///wPkg9hHXqYe/c6q7FxnanXCGW9FOTWfhe/Q==" + "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-kernel-sin/-/math-base-special-kernel-sin-0.0.7.tgz" + "version" "0.0.7" "@stdlib/math-base-special-ldexp@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/math-base-special-ldexp/-/math-base-special-ldexp-0.0.8.tgz" - integrity sha512-VTzu2kdgzQT3ebHGtCegKDpTA3RtsUVhb7V3IjAu/dHFLlXPXh5MEuxK/gV4vCpGBW0MKPTO73vwBjo6RT4xUg== + "integrity" "sha512-VTzu2kdgzQT3ebHGtCegKDpTA3RtsUVhb7V3IjAu/dHFLlXPXh5MEuxK/gV4vCpGBW0MKPTO73vwBjo6RT4xUg==" + "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-ldexp/-/math-base-special-ldexp-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/constants-float64-exponent-bias" "^0.0.x" "@stdlib/constants-float64-max-base2-exponent" "^0.0.x" @@ -1863,9 +1872,9 @@ "@stdlib/number-float64-base-to-words" "^0.0.x" "@stdlib/math-base-special-ln@^0.0.x": - version "0.0.6" - resolved "https://registry.npmjs.org/@stdlib/math-base-special-ln/-/math-base-special-ln-0.0.6.tgz" - integrity sha512-WswUUVL/PLCglfp8yDD1CjkaEofzaNkDnTkQgCEMFuEqlKQEeMS3D8Z5skThILZtT/EF6YupmBezQKXTEqTFiQ== + "integrity" "sha512-WswUUVL/PLCglfp8yDD1CjkaEofzaNkDnTkQgCEMFuEqlKQEeMS3D8Z5skThILZtT/EF6YupmBezQKXTEqTFiQ==" + "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-ln/-/math-base-special-ln-0.0.6.tgz" + "version" "0.0.6" dependencies: "@stdlib/constants-float64-exponent-bias" "^0.0.x" "@stdlib/constants-float64-ninf" "^0.0.x" @@ -1874,9 +1883,9 @@ "@stdlib/number-float64-base-set-high-word" "^0.0.x" "@stdlib/math-base-special-log1p@^0.0.x": - version "0.0.6" - resolved "https://registry.npmjs.org/@stdlib/math-base-special-log1p/-/math-base-special-log1p-0.0.6.tgz" - integrity sha512-/azhtpBdJ2DJBRunAyPe/+Hr2YhWh21WJ7Lytc/uxaUvHCLVjPRZBjZW3lcjpweHIECd1+m4jBb2RYYqHGWjfQ== + "integrity" "sha512-/azhtpBdJ2DJBRunAyPe/+Hr2YhWh21WJ7Lytc/uxaUvHCLVjPRZBjZW3lcjpweHIECd1+m4jBb2RYYqHGWjfQ==" + "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-log1p/-/math-base-special-log1p-0.0.6.tgz" + "version" "0.0.6" dependencies: "@stdlib/constants-float64-exponent-bias" "^0.0.x" "@stdlib/constants-float64-ninf" "^0.0.x" @@ -1886,9 +1895,9 @@ "@stdlib/number-float64-base-set-high-word" "^0.0.x" "@stdlib/math-base-special-max@^0.0.x": - version "0.0.7" - resolved "https://registry.npmjs.org/@stdlib/math-base-special-max/-/math-base-special-max-0.0.7.tgz" - integrity sha512-BCvHfLflabBPBv7Ueoe48AmdDZLsp0eOfwkA84+WHvr/MthXUf6Ptz6GqDkEjKNQNMN+reSluyq3uCB2HLrr3Q== + "integrity" "sha512-BCvHfLflabBPBv7Ueoe48AmdDZLsp0eOfwkA84+WHvr/MthXUf6Ptz6GqDkEjKNQNMN+reSluyq3uCB2HLrr3Q==" + "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-max/-/math-base-special-max-0.0.7.tgz" + "version" "0.0.7" dependencies: "@stdlib/constants-float64-ninf" "^0.0.x" "@stdlib/constants-float64-pinf" "^0.0.x" @@ -1896,9 +1905,9 @@ "@stdlib/math-base-assert-is-positive-zero" "^0.0.x" "@stdlib/math-base-special-min@^0.0.x": - version "0.0.7" - resolved "https://registry.npmjs.org/@stdlib/math-base-special-min/-/math-base-special-min-0.0.7.tgz" - integrity sha512-xaQeSHElt75MkOhqQ+6TWjbf5I5PmlnGyWY5QZRdrr9YWuWsOVuxW75VPHwNFQ1YmnD5d6TtB6pbCE9FKEBzQA== + "integrity" "sha512-xaQeSHElt75MkOhqQ+6TWjbf5I5PmlnGyWY5QZRdrr9YWuWsOVuxW75VPHwNFQ1YmnD5d6TtB6pbCE9FKEBzQA==" + "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-min/-/math-base-special-min-0.0.7.tgz" + "version" "0.0.7" dependencies: "@stdlib/constants-float64-ninf" "^0.0.x" "@stdlib/constants-float64-pinf" "^0.0.x" @@ -1906,9 +1915,9 @@ "@stdlib/math-base-assert-is-negative-zero" "^0.0.x" "@stdlib/math-base-special-pow@^0.0.x": - version "0.0.7" - resolved "https://registry.npmjs.org/@stdlib/math-base-special-pow/-/math-base-special-pow-0.0.7.tgz" - integrity sha512-sOew6OWapY6uesIg/i4eOveORzE0MfA7XtFcNgkpdsLJ4A4AkSZTz4zMmDxX2C22vI30aHR47O2ro3UZHFWCzw== + "integrity" "sha512-sOew6OWapY6uesIg/i4eOveORzE0MfA7XtFcNgkpdsLJ4A4AkSZTz4zMmDxX2C22vI30aHR47O2ro3UZHFWCzw==" + "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-pow/-/math-base-special-pow-0.0.7.tgz" + "version" "0.0.7" dependencies: "@stdlib/constants-float64-exponent-bias" "^0.0.x" "@stdlib/constants-float64-high-word-abs-mask" "^0.0.x" @@ -1931,9 +1940,9 @@ "@stdlib/number-uint32-base-to-int32" "^0.0.x" "@stdlib/math-base-special-powm1@^0.0.x": - version "0.0.6" - resolved "https://registry.npmjs.org/@stdlib/math-base-special-powm1/-/math-base-special-powm1-0.0.6.tgz" - integrity sha512-cOfqg4QXRcgra/uv0azCwQArsl9+KOQo5YQoLGOWc7IVHibVW3s2DPXLh1JaEAeSu+/H1W9/970O6Uo86TwGgQ== + "integrity" "sha512-cOfqg4QXRcgra/uv0azCwQArsl9+KOQo5YQoLGOWc7IVHibVW3s2DPXLh1JaEAeSu+/H1W9/970O6Uo86TwGgQ==" + "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-powm1/-/math-base-special-powm1-0.0.6.tgz" + "version" "0.0.6" dependencies: "@stdlib/math-base-assert-is-nan" "^0.0.x" "@stdlib/math-base-special-abs" "^0.0.x" @@ -1943,9 +1952,9 @@ "@stdlib/math-base-special-trunc" "^0.0.x" "@stdlib/math-base-special-rempio2@^0.0.x": - version "0.0.6" - resolved "https://registry.npmjs.org/@stdlib/math-base-special-rempio2/-/math-base-special-rempio2-0.0.6.tgz" - integrity sha512-0cSuSZwkTiPWxDdIZggyNdp3WSPqmY/oWd0tEZ47gpg3rIOwShiq0wyncX6v1MVEMJeSg5M9rhxb8WZlgD6RWw== + "integrity" "sha512-0cSuSZwkTiPWxDdIZggyNdp3WSPqmY/oWd0tEZ47gpg3rIOwShiq0wyncX6v1MVEMJeSg5M9rhxb8WZlgD6RWw==" + "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-rempio2/-/math-base-special-rempio2-0.0.6.tgz" + "version" "0.0.6" dependencies: "@stdlib/array-base-zeros" "^0.0.x" "@stdlib/math-base-special-floor" "^0.0.x" @@ -1957,14 +1966,14 @@ "@stdlib/types" "^0.0.x" "@stdlib/math-base-special-round@^0.0.x": - version "0.0.7" - resolved "https://registry.npmjs.org/@stdlib/math-base-special-round/-/math-base-special-round-0.0.7.tgz" - integrity sha512-uFPWDru18ouUFD5/TQzm3fNzds/IlQbpQXjUBjIDpxN9PizneZLZSNNYg6ECq+FQv8WK1CQmyj10bu2zLReqGQ== + "integrity" "sha512-uFPWDru18ouUFD5/TQzm3fNzds/IlQbpQXjUBjIDpxN9PizneZLZSNNYg6ECq+FQv8WK1CQmyj10bu2zLReqGQ==" + "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-round/-/math-base-special-round-0.0.7.tgz" + "version" "0.0.7" "@stdlib/math-base-special-sin@^0.0.x": - version "0.0.6" - resolved "https://registry.npmjs.org/@stdlib/math-base-special-sin/-/math-base-special-sin-0.0.6.tgz" - integrity sha512-gymfzwJ/ROkLDWD/gBIjFDjsWweXgH7zV24qlsQ/z4XUG2jET9yFqzO5wIFnMzrQsTcRGkiXb9Q69pIoGxx1ww== + "integrity" "sha512-gymfzwJ/ROkLDWD/gBIjFDjsWweXgH7zV24qlsQ/z4XUG2jET9yFqzO5wIFnMzrQsTcRGkiXb9Q69pIoGxx1ww==" + "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-sin/-/math-base-special-sin-0.0.6.tgz" + "version" "0.0.6" dependencies: "@stdlib/math-base-special-kernel-cos" "^0.0.x" "@stdlib/math-base-special-kernel-sin" "^0.0.x" @@ -1972,9 +1981,9 @@ "@stdlib/number-float64-base-get-high-word" "^0.0.x" "@stdlib/math-base-special-sinpi@^0.0.x": - version "0.0.6" - resolved "https://registry.npmjs.org/@stdlib/math-base-special-sinpi/-/math-base-special-sinpi-0.0.6.tgz" - integrity sha512-g1uvvnolfkqJTozdrm/OtxEaTpz2nDwe9PeT/M1zm/J+MR6V9paoJCUAz4MfAwsz6VKRgA5FH+8BkCIsItl0Mg== + "integrity" "sha512-g1uvvnolfkqJTozdrm/OtxEaTpz2nDwe9PeT/M1zm/J+MR6V9paoJCUAz4MfAwsz6VKRgA5FH+8BkCIsItl0Mg==" + "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-sinpi/-/math-base-special-sinpi-0.0.6.tgz" + "version" "0.0.6" dependencies: "@stdlib/constants-float64-pi" "^0.0.x" "@stdlib/math-base-assert-is-infinite" "^0.0.x" @@ -1985,17 +1994,17 @@ "@stdlib/math-base-special-sin" "^0.0.x" "@stdlib/math-base-special-sqrt@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/math-base-special-sqrt/-/math-base-special-sqrt-0.0.8.tgz" - integrity sha512-obYr15u/c76VEeAAXhvyUgVsxJb357CTgerLoFJqMj0diKXdjisLIWSlU+UZHKerYH9gnzZPN24gwwaTLJDmaw== + "integrity" "sha512-obYr15u/c76VEeAAXhvyUgVsxJb357CTgerLoFJqMj0diKXdjisLIWSlU+UZHKerYH9gnzZPN24gwwaTLJDmaw==" + "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-sqrt/-/math-base-special-sqrt-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/math-base-napi-unary" "^0.0.x" "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/math-base-special-trunc@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/math-base-special-trunc/-/math-base-special-trunc-0.0.8.tgz" - integrity sha512-nSio+gKcZARQWH9a/mKYPjT5v1uNW2PztaToGY2Qt53ij8iWx4cNEBgR3J9ewXgAuoPTjJ0eHcfc6JeyFlBITQ== + "integrity" "sha512-nSio+gKcZARQWH9a/mKYPjT5v1uNW2PztaToGY2Qt53ij8iWx4cNEBgR3J9ewXgAuoPTjJ0eHcfc6JeyFlBITQ==" + "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-trunc/-/math-base-special-trunc-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/math-base-napi-unary" "^0.0.x" "@stdlib/math-base-special-ceil" "^0.0.x" @@ -2003,9 +2012,9 @@ "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/math-base-tools-continued-fraction@^0.0.x": - version "0.0.6" - resolved "https://registry.npmjs.org/@stdlib/math-base-tools-continued-fraction/-/math-base-tools-continued-fraction-0.0.6.tgz" - integrity sha512-eKIZIbkS5glfPIzPsK7037EPNsLPxm7lG2Eww0TmV+kvCXsDMpus4wUpJv0g1QbjVAXQizyBky8izbWk3ChlUw== + "integrity" "sha512-eKIZIbkS5glfPIzPsK7037EPNsLPxm7lG2Eww0TmV+kvCXsDMpus4wUpJv0g1QbjVAXQizyBky8izbWk3ChlUw==" + "resolved" "https://registry.npmjs.org/@stdlib/math-base-tools-continued-fraction/-/math-base-tools-continued-fraction-0.0.6.tgz" + "version" "0.0.6" dependencies: "@stdlib/assert-has-generator-support" "^0.0.x" "@stdlib/constants-float32-smallest-normal" "^0.0.x" @@ -2014,16 +2023,16 @@ "@stdlib/types" "^0.0.x" "@stdlib/math-base-tools-evalpoly@^0.0.x": - version "0.0.7" - resolved "https://registry.npmjs.org/@stdlib/math-base-tools-evalpoly/-/math-base-tools-evalpoly-0.0.7.tgz" - integrity sha512-Ktc3h4nr6V2I++vUQ1lbuONwoI7BccLeYbqXsu9PhUfNZsgzK4z4mc1GPpVGkKk21352DJLJC2rC4/O7wPo17g== + "integrity" "sha512-Ktc3h4nr6V2I++vUQ1lbuONwoI7BccLeYbqXsu9PhUfNZsgzK4z4mc1GPpVGkKk21352DJLJC2rC4/O7wPo17g==" + "resolved" "https://registry.npmjs.org/@stdlib/math-base-tools-evalpoly/-/math-base-tools-evalpoly-0.0.7.tgz" + "version" "0.0.7" dependencies: "@stdlib/utils-define-nonenumerable-read-only-property" "^0.0.x" "@stdlib/math-base-tools-sum-series@^0.0.x": - version "0.0.6" - resolved "https://registry.npmjs.org/@stdlib/math-base-tools-sum-series/-/math-base-tools-sum-series-0.0.6.tgz" - integrity sha512-9YT53LEPPC9Us2wRbGWzoCgm/U7NyXgubgmioIJ16hwwj5X69dYgOppzGGgq4/VJsgVMRLJH3sSu/51joWDjfg== + "integrity" "sha512-9YT53LEPPC9Us2wRbGWzoCgm/U7NyXgubgmioIJ16hwwj5X69dYgOppzGGgq4/VJsgVMRLJH3sSu/51joWDjfg==" + "resolved" "https://registry.npmjs.org/@stdlib/math-base-tools-sum-series/-/math-base-tools-sum-series-0.0.6.tgz" + "version" "0.0.6" dependencies: "@stdlib/assert-has-generator-support" "^0.0.x" "@stdlib/constants-float64-eps" "^0.0.x" @@ -2031,23 +2040,23 @@ "@stdlib/types" "^0.0.x" "@stdlib/number-ctor@^0.0.x": - version "0.0.7" - resolved "https://registry.npmjs.org/@stdlib/number-ctor/-/number-ctor-0.0.7.tgz" - integrity sha512-kXNwKIfnb10Ro3RTclhAYqbE3DtIXax+qpu0z1/tZpI2vkmTfYDQLno2QJrzJsZZgdeFtXIws+edONN9kM34ow== + "integrity" "sha512-kXNwKIfnb10Ro3RTclhAYqbE3DtIXax+qpu0z1/tZpI2vkmTfYDQLno2QJrzJsZZgdeFtXIws+edONN9kM34ow==" + "resolved" "https://registry.npmjs.org/@stdlib/number-ctor/-/number-ctor-0.0.7.tgz" + "version" "0.0.7" "@stdlib/number-float64-base-exponent@^0.0.x": - version "0.0.6" - resolved "https://registry.npmjs.org/@stdlib/number-float64-base-exponent/-/number-float64-base-exponent-0.0.6.tgz" - integrity sha512-wLXsG+cvynmapoffmj5hVNDH7BuHIGspBcTCdjPaD+tnqPDIm03qV5Z9YBhDh91BdOCuPZQ8Ovu2WBpX+ySeGg== + "integrity" "sha512-wLXsG+cvynmapoffmj5hVNDH7BuHIGspBcTCdjPaD+tnqPDIm03qV5Z9YBhDh91BdOCuPZQ8Ovu2WBpX+ySeGg==" + "resolved" "https://registry.npmjs.org/@stdlib/number-float64-base-exponent/-/number-float64-base-exponent-0.0.6.tgz" + "version" "0.0.6" dependencies: "@stdlib/constants-float64-exponent-bias" "^0.0.x" "@stdlib/constants-float64-high-word-exponent-mask" "^0.0.x" "@stdlib/number-float64-base-get-high-word" "^0.0.x" "@stdlib/number-float64-base-from-words@^0.0.x": - version "0.0.6" - resolved "https://registry.npmjs.org/@stdlib/number-float64-base-from-words/-/number-float64-base-from-words-0.0.6.tgz" - integrity sha512-r0elnekypCN831aw9Gp8+08br8HHAqvqtc5uXaxEh3QYIgBD/QM5qSb3b7WSAQ0ZxJJKdoykupODWWBkWQTijg== + "integrity" "sha512-r0elnekypCN831aw9Gp8+08br8HHAqvqtc5uXaxEh3QYIgBD/QM5qSb3b7WSAQ0ZxJJKdoykupODWWBkWQTijg==" + "resolved" "https://registry.npmjs.org/@stdlib/number-float64-base-from-words/-/number-float64-base-from-words-0.0.6.tgz" + "version" "0.0.6" dependencies: "@stdlib/array-float64" "^0.0.x" "@stdlib/array-uint32" "^0.0.x" @@ -2056,9 +2065,9 @@ "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/number-float64-base-get-high-word@^0.0.x": - version "0.0.6" - resolved "https://registry.npmjs.org/@stdlib/number-float64-base-get-high-word/-/number-float64-base-get-high-word-0.0.6.tgz" - integrity sha512-jSFSYkgiG/IzDurbwrDKtWiaZeSEJK8iJIsNtbPG1vOIdQMRyw+t0bf3Kf3vuJu/+bnSTvYZLqpCO6wzT/ve9g== + "integrity" "sha512-jSFSYkgiG/IzDurbwrDKtWiaZeSEJK8iJIsNtbPG1vOIdQMRyw+t0bf3Kf3vuJu/+bnSTvYZLqpCO6wzT/ve9g==" + "resolved" "https://registry.npmjs.org/@stdlib/number-float64-base-get-high-word/-/number-float64-base-get-high-word-0.0.6.tgz" + "version" "0.0.6" dependencies: "@stdlib/array-float64" "^0.0.x" "@stdlib/array-uint32" "^0.0.x" @@ -2067,9 +2076,9 @@ "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/number-float64-base-get-low-word@^0.0.x": - version "0.0.6" - resolved "https://registry.npmjs.org/@stdlib/number-float64-base-get-low-word/-/number-float64-base-get-low-word-0.0.6.tgz" - integrity sha512-N2h2QuhmuEA/TOq6W/B1oAHesX5IYtH46Fvo/tLzlodSsFq292kKWGlq9N6AhlVVIJOGibBQN+EHrAPGcNn2wA== + "integrity" "sha512-N2h2QuhmuEA/TOq6W/B1oAHesX5IYtH46Fvo/tLzlodSsFq292kKWGlq9N6AhlVVIJOGibBQN+EHrAPGcNn2wA==" + "resolved" "https://registry.npmjs.org/@stdlib/number-float64-base-get-low-word/-/number-float64-base-get-low-word-0.0.6.tgz" + "version" "0.0.6" dependencies: "@stdlib/array-float64" "^0.0.x" "@stdlib/array-uint32" "^0.0.x" @@ -2078,9 +2087,9 @@ "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/number-float64-base-normalize@^0.0.x": - version "0.0.9" - resolved "https://registry.npmjs.org/@stdlib/number-float64-base-normalize/-/number-float64-base-normalize-0.0.9.tgz" - integrity sha512-+rm7RQJEj8zHkqYFE2a6DgNQSB5oKE/IydHAajgZl40YB91BoYRYf/ozs5/tTwfy2Fc04+tIpSfFtzDr4ZY19Q== + "integrity" "sha512-+rm7RQJEj8zHkqYFE2a6DgNQSB5oKE/IydHAajgZl40YB91BoYRYf/ozs5/tTwfy2Fc04+tIpSfFtzDr4ZY19Q==" + "resolved" "https://registry.npmjs.org/@stdlib/number-float64-base-normalize/-/number-float64-base-normalize-0.0.9.tgz" + "version" "0.0.9" dependencies: "@stdlib/constants-float64-smallest-normal" "^0.0.x" "@stdlib/math-base-assert-is-infinite" "^0.0.x" @@ -2091,9 +2100,9 @@ "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/number-float64-base-set-high-word@^0.0.x": - version "0.0.6" - resolved "https://registry.npmjs.org/@stdlib/number-float64-base-set-high-word/-/number-float64-base-set-high-word-0.0.6.tgz" - integrity sha512-Hqds3oALktHGDV5fNRjjwGBnb1ydOhQFrglRXrsAtJojq8KzIAQVGtYkkFtfmG+xadPNIW+PI95OBK3SgIoQDA== + "integrity" "sha512-Hqds3oALktHGDV5fNRjjwGBnb1ydOhQFrglRXrsAtJojq8KzIAQVGtYkkFtfmG+xadPNIW+PI95OBK3SgIoQDA==" + "resolved" "https://registry.npmjs.org/@stdlib/number-float64-base-set-high-word/-/number-float64-base-set-high-word-0.0.6.tgz" + "version" "0.0.6" dependencies: "@stdlib/array-float64" "^0.0.x" "@stdlib/array-uint32" "^0.0.x" @@ -2102,9 +2111,9 @@ "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/number-float64-base-set-low-word@^0.0.x": - version "0.0.6" - resolved "https://registry.npmjs.org/@stdlib/number-float64-base-set-low-word/-/number-float64-base-set-low-word-0.0.6.tgz" - integrity sha512-8CMrWsL93rHELNAcKstKQpGH2XVIELm7BSut3ye0Ffa3ATTxuOfn2zXzS7yvlu/Lqi/47h5prpjRNsKQuLpp2Q== + "integrity" "sha512-8CMrWsL93rHELNAcKstKQpGH2XVIELm7BSut3ye0Ffa3ATTxuOfn2zXzS7yvlu/Lqi/47h5prpjRNsKQuLpp2Q==" + "resolved" "https://registry.npmjs.org/@stdlib/number-float64-base-set-low-word/-/number-float64-base-set-low-word-0.0.6.tgz" + "version" "0.0.6" dependencies: "@stdlib/array-float64" "^0.0.x" "@stdlib/array-uint32" "^0.0.x" @@ -2113,16 +2122,16 @@ "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/number-float64-base-to-float32@^0.0.x": - version "0.0.7" - resolved "https://registry.npmjs.org/@stdlib/number-float64-base-to-float32/-/number-float64-base-to-float32-0.0.7.tgz" - integrity sha512-PNUSi6+cqfFiu4vgFljUKMFY2O9PxI6+T+vqtIoh8cflf+PjSGj3v4QIlstK9+6qU40eGR5SHZyLTWdzmNqLTQ== + "integrity" "sha512-PNUSi6+cqfFiu4vgFljUKMFY2O9PxI6+T+vqtIoh8cflf+PjSGj3v4QIlstK9+6qU40eGR5SHZyLTWdzmNqLTQ==" + "resolved" "https://registry.npmjs.org/@stdlib/number-float64-base-to-float32/-/number-float64-base-to-float32-0.0.7.tgz" + "version" "0.0.7" dependencies: "@stdlib/array-float32" "^0.0.x" "@stdlib/number-float64-base-to-words@^0.0.x": - version "0.0.7" - resolved "https://registry.npmjs.org/@stdlib/number-float64-base-to-words/-/number-float64-base-to-words-0.0.7.tgz" - integrity sha512-7wsYuq+2MGp9rAkTnQ985rah7EJI9TfgHrYSSd4UIu4qIjoYmWIKEhIDgu7/69PfGrls18C3PxKg1pD/v7DQTg== + "integrity" "sha512-7wsYuq+2MGp9rAkTnQ985rah7EJI9TfgHrYSSd4UIu4qIjoYmWIKEhIDgu7/69PfGrls18C3PxKg1pD/v7DQTg==" + "resolved" "https://registry.npmjs.org/@stdlib/number-float64-base-to-words/-/number-float64-base-to-words-0.0.7.tgz" + "version" "0.0.7" dependencies: "@stdlib/array-float64" "^0.0.x" "@stdlib/array-uint32" "^0.0.x" @@ -2134,14 +2143,14 @@ "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/number-uint32-base-to-int32@^0.0.x": - version "0.0.7" - resolved "https://registry.npmjs.org/@stdlib/number-uint32-base-to-int32/-/number-uint32-base-to-int32-0.0.7.tgz" - integrity sha512-KoDNJFtd/lzQQPR6HB3TPiC9DgQGXkBKHYeiYZVUaCW4uGu2IM5KtVOnnI2wkXPGQYpSuUiU9MGf9EywY+YHcA== + "integrity" "sha512-KoDNJFtd/lzQQPR6HB3TPiC9DgQGXkBKHYeiYZVUaCW4uGu2IM5KtVOnnI2wkXPGQYpSuUiU9MGf9EywY+YHcA==" + "resolved" "https://registry.npmjs.org/@stdlib/number-uint32-base-to-int32/-/number-uint32-base-to-int32-0.0.7.tgz" + "version" "0.0.7" "@stdlib/os-byte-order@^0.0.x": - version "0.0.7" - resolved "https://registry.npmjs.org/@stdlib/os-byte-order/-/os-byte-order-0.0.7.tgz" - integrity sha512-rRJWjFM9lOSBiIX4zcay7BZsqYBLoE32Oz/Qfim8cv1cN1viS5D4d3DskRJcffw7zXDnG3oZAOw5yZS0FnlyUg== + "integrity" "sha512-rRJWjFM9lOSBiIX4zcay7BZsqYBLoE32Oz/Qfim8cv1cN1viS5D4d3DskRJcffw7zXDnG3oZAOw5yZS0FnlyUg==" + "resolved" "https://registry.npmjs.org/@stdlib/os-byte-order/-/os-byte-order-0.0.7.tgz" + "version" "0.0.7" dependencies: "@stdlib/assert-is-big-endian" "^0.0.x" "@stdlib/assert-is-little-endian" "^0.0.x" @@ -2150,9 +2159,9 @@ "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/os-float-word-order@^0.0.x": - version "0.0.7" - resolved "https://registry.npmjs.org/@stdlib/os-float-word-order/-/os-float-word-order-0.0.7.tgz" - integrity sha512-gXIcIZf+ENKP7E41bKflfXmPi+AIfjXW/oU+m8NbP3DQasqHaZa0z5758qvnbO8L1lRJb/MzLOkIY8Bx/0cWEA== + "integrity" "sha512-gXIcIZf+ENKP7E41bKflfXmPi+AIfjXW/oU+m8NbP3DQasqHaZa0z5758qvnbO8L1lRJb/MzLOkIY8Bx/0cWEA==" + "resolved" "https://registry.npmjs.org/@stdlib/os-float-word-order/-/os-float-word-order-0.0.7.tgz" + "version" "0.0.7" dependencies: "@stdlib/cli-ctor" "^0.0.x" "@stdlib/fs-read-file" "^0.0.x" @@ -2160,17 +2169,17 @@ "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/process-cwd@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/process-cwd/-/process-cwd-0.0.8.tgz" - integrity sha512-GHINpJgSlKEo9ODDWTHp0/Zc/9C/qL92h5Mc0QlIFBXAoUjy6xT4FB2U16wCNZMG3eVOzt5+SjmCwvGH0Wbg3Q== + "integrity" "sha512-GHINpJgSlKEo9ODDWTHp0/Zc/9C/qL92h5Mc0QlIFBXAoUjy6xT4FB2U16wCNZMG3eVOzt5+SjmCwvGH0Wbg3Q==" + "resolved" "https://registry.npmjs.org/@stdlib/process-cwd/-/process-cwd-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/cli-ctor" "^0.0.x" "@stdlib/fs-read-file" "^0.0.x" "@stdlib/process-read-stdin@^0.0.x": - version "0.0.7" - resolved "https://registry.npmjs.org/@stdlib/process-read-stdin/-/process-read-stdin-0.0.7.tgz" - integrity sha512-nep9QZ5iDGrRtrZM2+pYAvyCiYG4HfO0/9+19BiLJepjgYq4GKeumPAQo22+1xawYDL7Zu62uWzYszaVZcXuyw== + "integrity" "sha512-nep9QZ5iDGrRtrZM2+pYAvyCiYG4HfO0/9+19BiLJepjgYq4GKeumPAQo22+1xawYDL7Zu62uWzYszaVZcXuyw==" + "resolved" "https://registry.npmjs.org/@stdlib/process-read-stdin/-/process-read-stdin-0.0.7.tgz" + "version" "0.0.7" dependencies: "@stdlib/assert-is-function" "^0.0.x" "@stdlib/assert-is-string" "^0.0.x" @@ -2180,9 +2189,9 @@ "@stdlib/utils-next-tick" "^0.0.x" "@stdlib/regexp-eol@^0.0.x": - version "0.0.7" - resolved "https://registry.npmjs.org/@stdlib/regexp-eol/-/regexp-eol-0.0.7.tgz" - integrity sha512-BTMpRWrmlnf1XCdTxOrb8o6caO2lmu/c80XSyhYCi1DoizVIZnqxOaN5yUJNCr50g28vQ47PpsT3Yo7J3SdlRA== + "integrity" "sha512-BTMpRWrmlnf1XCdTxOrb8o6caO2lmu/c80XSyhYCi1DoizVIZnqxOaN5yUJNCr50g28vQ47PpsT3Yo7J3SdlRA==" + "resolved" "https://registry.npmjs.org/@stdlib/regexp-eol/-/regexp-eol-0.0.7.tgz" + "version" "0.0.7" dependencies: "@stdlib/assert-has-own-property" "^0.0.x" "@stdlib/assert-is-boolean" "^0.0.x" @@ -2191,53 +2200,53 @@ "@stdlib/utils-define-nonenumerable-read-only-property" "^0.0.x" "@stdlib/regexp-extended-length-path@^0.0.x": - version "0.0.7" - resolved "https://registry.npmjs.org/@stdlib/regexp-extended-length-path/-/regexp-extended-length-path-0.0.7.tgz" - integrity sha512-z6uqzMWq3WPDKbl4MIZJoNA5ZsYLQI9G3j2TIvhU8X2hnhlku8p4mvK9F+QmoVvgPxKliwNnx/DAl7ltutSDKw== + "integrity" "sha512-z6uqzMWq3WPDKbl4MIZJoNA5ZsYLQI9G3j2TIvhU8X2hnhlku8p4mvK9F+QmoVvgPxKliwNnx/DAl7ltutSDKw==" + "resolved" "https://registry.npmjs.org/@stdlib/regexp-extended-length-path/-/regexp-extended-length-path-0.0.7.tgz" + "version" "0.0.7" dependencies: "@stdlib/utils-define-nonenumerable-read-only-property" "^0.0.x" "@stdlib/regexp-function-name@^0.0.x": - version "0.0.7" - resolved "https://registry.npmjs.org/@stdlib/regexp-function-name/-/regexp-function-name-0.0.7.tgz" - integrity sha512-MaiyFUUqkAUpUoz/9F6AMBuMQQfA9ssQfK16PugehLQh4ZtOXV1LhdY8e5Md7SuYl9IrvFVg1gSAVDysrv5ZMg== + "integrity" "sha512-MaiyFUUqkAUpUoz/9F6AMBuMQQfA9ssQfK16PugehLQh4ZtOXV1LhdY8e5Md7SuYl9IrvFVg1gSAVDysrv5ZMg==" + "resolved" "https://registry.npmjs.org/@stdlib/regexp-function-name/-/regexp-function-name-0.0.7.tgz" + "version" "0.0.7" dependencies: "@stdlib/utils-define-nonenumerable-read-only-property" "^0.0.x" "@stdlib/regexp-regexp@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/regexp-regexp/-/regexp-regexp-0.0.8.tgz" - integrity sha512-S5PZICPd/XRcn1dncVojxIDzJsHtEleuJHHD7ji3o981uPHR7zI2Iy9a1eV2u7+ABeUswbI1Yuix6fXJfcwV1w== + "integrity" "sha512-S5PZICPd/XRcn1dncVojxIDzJsHtEleuJHHD7ji3o981uPHR7zI2Iy9a1eV2u7+ABeUswbI1Yuix6fXJfcwV1w==" + "resolved" "https://registry.npmjs.org/@stdlib/regexp-regexp/-/regexp-regexp-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/utils-define-nonenumerable-read-only-property" "^0.0.x" "@stdlib/streams-node-stdin@^0.0.x": - version "0.0.7" - resolved "https://registry.npmjs.org/@stdlib/streams-node-stdin/-/streams-node-stdin-0.0.7.tgz" - integrity sha512-gg4lgrjuoG3V/L29wNs32uADMCqepIcmoOFHJCTAhVe0GtHDLybUVnLljaPfdvmpPZmTvmusPQtIcscbyWvAyg== + "integrity" "sha512-gg4lgrjuoG3V/L29wNs32uADMCqepIcmoOFHJCTAhVe0GtHDLybUVnLljaPfdvmpPZmTvmusPQtIcscbyWvAyg==" + "resolved" "https://registry.npmjs.org/@stdlib/streams-node-stdin/-/streams-node-stdin-0.0.7.tgz" + "version" "0.0.7" "@stdlib/string-base-format-interpolate@^0.0.x": - version "0.0.4" - resolved "https://registry.npmjs.org/@stdlib/string-base-format-interpolate/-/string-base-format-interpolate-0.0.4.tgz" - integrity sha512-8FC8+/ey+P5hf1B50oXpXzRzoAgKI1rikpyKZ98Xmjd5rcbSq3NWYi8TqOF8mUHm9hVZ2CXWoNCtEe2wvMQPMg== + "integrity" "sha512-8FC8+/ey+P5hf1B50oXpXzRzoAgKI1rikpyKZ98Xmjd5rcbSq3NWYi8TqOF8mUHm9hVZ2CXWoNCtEe2wvMQPMg==" + "resolved" "https://registry.npmjs.org/@stdlib/string-base-format-interpolate/-/string-base-format-interpolate-0.0.4.tgz" + "version" "0.0.4" "@stdlib/string-base-format-tokenize@^0.0.x": - version "0.0.4" - resolved "https://registry.npmjs.org/@stdlib/string-base-format-tokenize/-/string-base-format-tokenize-0.0.4.tgz" - integrity sha512-+vMIkheqAhDeT/iF5hIQo95IMkt5IzC68eR3CxW1fhc48NMkKFE2UfN73ET8fmLuOanLo/5pO2E90c2G7PExow== + "integrity" "sha512-+vMIkheqAhDeT/iF5hIQo95IMkt5IzC68eR3CxW1fhc48NMkKFE2UfN73ET8fmLuOanLo/5pO2E90c2G7PExow==" + "resolved" "https://registry.npmjs.org/@stdlib/string-base-format-tokenize/-/string-base-format-tokenize-0.0.4.tgz" + "version" "0.0.4" "@stdlib/string-format@^0.0.x": - version "0.0.3" - resolved "https://registry.npmjs.org/@stdlib/string-format/-/string-format-0.0.3.tgz" - integrity sha512-1jiElUQXlI/tTkgRuzJi9jUz/EjrO9kzS8VWHD3g7gdc3ZpxlA5G9JrIiPXGw/qmZTi0H1pXl6KmX+xWQEQJAg== + "integrity" "sha512-1jiElUQXlI/tTkgRuzJi9jUz/EjrO9kzS8VWHD3g7gdc3ZpxlA5G9JrIiPXGw/qmZTi0H1pXl6KmX+xWQEQJAg==" + "resolved" "https://registry.npmjs.org/@stdlib/string-format/-/string-format-0.0.3.tgz" + "version" "0.0.3" dependencies: "@stdlib/string-base-format-interpolate" "^0.0.x" "@stdlib/string-base-format-tokenize" "^0.0.x" "@stdlib/string-lowercase@^0.0.x": - version "0.0.9" - resolved "https://registry.npmjs.org/@stdlib/string-lowercase/-/string-lowercase-0.0.9.tgz" - integrity sha512-tXFFjbhIlDak4jbQyV1DhYiSTO8b1ozS2g/LELnsKUjIXECDKxGFyWYcz10KuyAWmFotHnCJdIm8/blm2CfDIA== + "integrity" "sha512-tXFFjbhIlDak4jbQyV1DhYiSTO8b1ozS2g/LELnsKUjIXECDKxGFyWYcz10KuyAWmFotHnCJdIm8/blm2CfDIA==" + "resolved" "https://registry.npmjs.org/@stdlib/string-lowercase/-/string-lowercase-0.0.9.tgz" + "version" "0.0.9" dependencies: "@stdlib/assert-is-string" "^0.0.x" "@stdlib/cli-ctor" "^0.0.x" @@ -2247,9 +2256,9 @@ "@stdlib/string-format" "^0.0.x" "@stdlib/string-replace@^0.0.x": - version "0.0.11" - resolved "https://registry.npmjs.org/@stdlib/string-replace/-/string-replace-0.0.11.tgz" - integrity sha512-F0MY4f9mRE5MSKpAUfL4HLbJMCbG6iUTtHAWnNeAXIvUX1XYIw/eItkA58R9kNvnr1l5B08bavnjrgTJGIKFFQ== + "integrity" "sha512-F0MY4f9mRE5MSKpAUfL4HLbJMCbG6iUTtHAWnNeAXIvUX1XYIw/eItkA58R9kNvnr1l5B08bavnjrgTJGIKFFQ==" + "resolved" "https://registry.npmjs.org/@stdlib/string-replace/-/string-replace-0.0.11.tgz" + "version" "0.0.11" dependencies: "@stdlib/assert-is-function" "^0.0.x" "@stdlib/assert-is-regexp" "^0.0.x" @@ -2265,23 +2274,23 @@ "@stdlib/utils-regexp-from-string" "^0.0.x" "@stdlib/types@^0.0.x": - version "0.0.14" - resolved "https://registry.npmjs.org/@stdlib/types/-/types-0.0.14.tgz" - integrity sha512-AP3EI9/il/xkwUazcoY+SbjtxHRrheXgSbWZdEGD+rWpEgj6n2i63hp6hTOpAB5NipE0tJwinQlDGOuQ1lCaCw== + "integrity" "sha512-AP3EI9/il/xkwUazcoY+SbjtxHRrheXgSbWZdEGD+rWpEgj6n2i63hp6hTOpAB5NipE0tJwinQlDGOuQ1lCaCw==" + "resolved" "https://registry.npmjs.org/@stdlib/types/-/types-0.0.14.tgz" + "version" "0.0.14" "@stdlib/utils-constructor-name@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/utils-constructor-name/-/utils-constructor-name-0.0.8.tgz" - integrity sha512-GXpyNZwjN8u3tyYjL2GgGfrsxwvfogUC3gg7L7NRZ1i86B6xmgfnJUYHYOUnSfB+R531ET7NUZlK52GxL7P82Q== + "integrity" "sha512-GXpyNZwjN8u3tyYjL2GgGfrsxwvfogUC3gg7L7NRZ1i86B6xmgfnJUYHYOUnSfB+R531ET7NUZlK52GxL7P82Q==" + "resolved" "https://registry.npmjs.org/@stdlib/utils-constructor-name/-/utils-constructor-name-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/assert-is-buffer" "^0.0.x" "@stdlib/regexp-function-name" "^0.0.x" "@stdlib/utils-native-class" "^0.0.x" "@stdlib/utils-convert-path@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/utils-convert-path/-/utils-convert-path-0.0.8.tgz" - integrity sha512-GNd8uIswrcJCctljMbmjtE4P4oOjhoUIfMvdkqfSrRLRY+ZqPB2xM+yI0MQFfUq/0Rnk/xtESlGSVLz9ZDtXfA== + "integrity" "sha512-GNd8uIswrcJCctljMbmjtE4P4oOjhoUIfMvdkqfSrRLRY+ZqPB2xM+yI0MQFfUq/0Rnk/xtESlGSVLz9ZDtXfA==" + "resolved" "https://registry.npmjs.org/@stdlib/utils-convert-path/-/utils-convert-path-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/assert-is-string" "^0.0.x" "@stdlib/cli-ctor" "^0.0.x" @@ -2294,393 +2303,398 @@ "@stdlib/string-replace" "^0.0.x" "@stdlib/utils-define-nonenumerable-read-only-property@^0.0.x": - version "0.0.7" - resolved "https://registry.npmjs.org/@stdlib/utils-define-nonenumerable-read-only-property/-/utils-define-nonenumerable-read-only-property-0.0.7.tgz" - integrity sha512-c7dnHDYuS4Xn3XBRWIQBPcROTtP/4lkcFyq0FrQzjXUjimfMgHF7cuFIIob6qUTnU8SOzY9p0ydRR2QJreWE6g== + "integrity" "sha512-c7dnHDYuS4Xn3XBRWIQBPcROTtP/4lkcFyq0FrQzjXUjimfMgHF7cuFIIob6qUTnU8SOzY9p0ydRR2QJreWE6g==" + "resolved" "https://registry.npmjs.org/@stdlib/utils-define-nonenumerable-read-only-property/-/utils-define-nonenumerable-read-only-property-0.0.7.tgz" + "version" "0.0.7" dependencies: "@stdlib/types" "^0.0.x" "@stdlib/utils-define-property" "^0.0.x" "@stdlib/utils-define-property@^0.0.x": - version "0.0.9" - resolved "https://registry.npmjs.org/@stdlib/utils-define-property/-/utils-define-property-0.0.9.tgz" - integrity sha512-pIzVvHJvVfU/Lt45WwUAcodlvSPDDSD4pIPc9WmIYi4vnEBA9U7yHtiNz2aTvfGmBMTaLYTVVFIXwkFp+QotMA== + "integrity" "sha512-pIzVvHJvVfU/Lt45WwUAcodlvSPDDSD4pIPc9WmIYi4vnEBA9U7yHtiNz2aTvfGmBMTaLYTVVFIXwkFp+QotMA==" + "resolved" "https://registry.npmjs.org/@stdlib/utils-define-property/-/utils-define-property-0.0.9.tgz" + "version" "0.0.9" dependencies: "@stdlib/types" "^0.0.x" "@stdlib/utils-escape-regexp-string@^0.0.x": - version "0.0.9" - resolved "https://registry.npmjs.org/@stdlib/utils-escape-regexp-string/-/utils-escape-regexp-string-0.0.9.tgz" - integrity sha512-E+9+UDzf2mlMLgb+zYrrPy2FpzbXh189dzBJY6OG+XZqEJAXcjWs7DURO5oGffkG39EG5KXeaQwDXUavcMDCIw== + "integrity" "sha512-E+9+UDzf2mlMLgb+zYrrPy2FpzbXh189dzBJY6OG+XZqEJAXcjWs7DURO5oGffkG39EG5KXeaQwDXUavcMDCIw==" + "resolved" "https://registry.npmjs.org/@stdlib/utils-escape-regexp-string/-/utils-escape-regexp-string-0.0.9.tgz" + "version" "0.0.9" dependencies: "@stdlib/assert-is-string" "^0.0.x" "@stdlib/string-format" "^0.0.x" "@stdlib/utils-eval@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/utils-eval/-/utils-eval-0.0.8.tgz" - integrity sha512-eJae8XdBRcHKQQuuW96VmfmXauZHICrLqNERtWgtJW75i0lEE0Le2jYk32O+UVETAFT8rzxMxfBxMckKfdJNaQ== + "integrity" "sha512-eJae8XdBRcHKQQuuW96VmfmXauZHICrLqNERtWgtJW75i0lEE0Le2jYk32O+UVETAFT8rzxMxfBxMckKfdJNaQ==" + "resolved" "https://registry.npmjs.org/@stdlib/utils-eval/-/utils-eval-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/cli-ctor" "^0.0.x" "@stdlib/fs-read-file" "^0.0.x" "@stdlib/utils-get-prototype-of@^0.0.x": - version "0.0.7" - resolved "https://registry.npmjs.org/@stdlib/utils-get-prototype-of/-/utils-get-prototype-of-0.0.7.tgz" - integrity sha512-fCUk9lrBO2ELrq+/OPJws1/hquI4FtwG0SzVRH6UJmJfwb1zoEFnjcwyDAy+HWNVmo3xeRLsrz6XjHrJwer9pg== + "integrity" "sha512-fCUk9lrBO2ELrq+/OPJws1/hquI4FtwG0SzVRH6UJmJfwb1zoEFnjcwyDAy+HWNVmo3xeRLsrz6XjHrJwer9pg==" + "resolved" "https://registry.npmjs.org/@stdlib/utils-get-prototype-of/-/utils-get-prototype-of-0.0.7.tgz" + "version" "0.0.7" dependencies: "@stdlib/assert-is-function" "^0.0.x" "@stdlib/utils-native-class" "^0.0.x" "@stdlib/utils-global@^0.0.x": - version "0.0.7" - resolved "https://registry.npmjs.org/@stdlib/utils-global/-/utils-global-0.0.7.tgz" - integrity sha512-BBNYBdDUz1X8Lhfw9nnnXczMv9GztzGpQ88J/6hnY7PHJ71av5d41YlijWeM9dhvWjnH9I7HNE3LL7R07yw0kA== + "integrity" "sha512-BBNYBdDUz1X8Lhfw9nnnXczMv9GztzGpQ88J/6hnY7PHJ71av5d41YlijWeM9dhvWjnH9I7HNE3LL7R07yw0kA==" + "resolved" "https://registry.npmjs.org/@stdlib/utils-global/-/utils-global-0.0.7.tgz" + "version" "0.0.7" dependencies: "@stdlib/assert-is-boolean" "^0.0.x" "@stdlib/utils-library-manifest@^0.0.8", "@stdlib/utils-library-manifest@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/utils-library-manifest/-/utils-library-manifest-0.0.8.tgz" - integrity sha512-IOQSp8skSRQn9wOyMRUX9Hi0j/P5v5TvD8DJWTqtE8Lhr8kVVluMBjHfvheoeKHxfWAbNHSVpkpFY/Bdh/SHgQ== + "integrity" "sha512-IOQSp8skSRQn9wOyMRUX9Hi0j/P5v5TvD8DJWTqtE8Lhr8kVVluMBjHfvheoeKHxfWAbNHSVpkpFY/Bdh/SHgQ==" + "resolved" "https://registry.npmjs.org/@stdlib/utils-library-manifest/-/utils-library-manifest-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/cli-ctor" "^0.0.x" "@stdlib/fs-resolve-parent-path" "^0.0.x" "@stdlib/utils-convert-path" "^0.0.x" - debug "^2.6.9" - resolve "^1.1.7" + "debug" "^2.6.9" + "resolve" "^1.1.7" "@stdlib/utils-native-class@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/utils-native-class/-/utils-native-class-0.0.8.tgz" - integrity sha512-0Zl9me2V9rSrBw/N8o8/9XjmPUy8zEeoMM0sJmH3N6C9StDsYTjXIAMPGzYhMEWaWHvGeYyNteFK2yDOVGtC3w== + "integrity" "sha512-0Zl9me2V9rSrBw/N8o8/9XjmPUy8zEeoMM0sJmH3N6C9StDsYTjXIAMPGzYhMEWaWHvGeYyNteFK2yDOVGtC3w==" + "resolved" "https://registry.npmjs.org/@stdlib/utils-native-class/-/utils-native-class-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/assert-has-own-property" "^0.0.x" "@stdlib/assert-has-tostringtag-support" "^0.0.x" "@stdlib/utils-next-tick@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/utils-next-tick/-/utils-next-tick-0.0.8.tgz" - integrity sha512-l+hPl7+CgLPxk/gcWOXRxX/lNyfqcFCqhzzV/ZMvFCYLY/wI9lcWO4xTQNMALY2rp+kiV+qiAiO9zcO+hewwUg== + "integrity" "sha512-l+hPl7+CgLPxk/gcWOXRxX/lNyfqcFCqhzzV/ZMvFCYLY/wI9lcWO4xTQNMALY2rp+kiV+qiAiO9zcO+hewwUg==" + "resolved" "https://registry.npmjs.org/@stdlib/utils-next-tick/-/utils-next-tick-0.0.8.tgz" + "version" "0.0.8" "@stdlib/utils-noop@^0.0.x": - version "0.0.14" - resolved "https://registry.npmjs.org/@stdlib/utils-noop/-/utils-noop-0.0.14.tgz" - integrity sha512-A5faFEUfszMgd93RCyB+aWb62hQxgP+dZ/l9rIOwNWbIrCYNwSuL4z50lNJuatnwwU4BQ4EjQr+AmBsnvuLcyQ== + "integrity" "sha512-A5faFEUfszMgd93RCyB+aWb62hQxgP+dZ/l9rIOwNWbIrCYNwSuL4z50lNJuatnwwU4BQ4EjQr+AmBsnvuLcyQ==" + "resolved" "https://registry.npmjs.org/@stdlib/utils-noop/-/utils-noop-0.0.14.tgz" + "version" "0.0.14" "@stdlib/utils-regexp-from-string@^0.0.x": - version "0.0.9" - resolved "https://registry.npmjs.org/@stdlib/utils-regexp-from-string/-/utils-regexp-from-string-0.0.9.tgz" - integrity sha512-3rN0Mcyiarl7V6dXRjFAUMacRwe0/sYX7ThKYurf0mZkMW9tjTP+ygak9xmL9AL0QQZtbrFFwWBrDO+38Vnavw== + "integrity" "sha512-3rN0Mcyiarl7V6dXRjFAUMacRwe0/sYX7ThKYurf0mZkMW9tjTP+ygak9xmL9AL0QQZtbrFFwWBrDO+38Vnavw==" + "resolved" "https://registry.npmjs.org/@stdlib/utils-regexp-from-string/-/utils-regexp-from-string-0.0.9.tgz" + "version" "0.0.9" dependencies: "@stdlib/assert-is-string" "^0.0.x" "@stdlib/regexp-regexp" "^0.0.x" "@stdlib/string-format" "^0.0.x" "@stdlib/utils-type-of@^0.0.x": - version "0.0.8" - resolved "https://registry.npmjs.org/@stdlib/utils-type-of/-/utils-type-of-0.0.8.tgz" - integrity sha512-b4xqdy3AnnB7NdmBBpoiI67X4vIRxvirjg3a8BfhM5jPr2k0njby1jAbG9dUxJvgAV6o32S4kjUgfIdjEYpTNQ== + "integrity" "sha512-b4xqdy3AnnB7NdmBBpoiI67X4vIRxvirjg3a8BfhM5jPr2k0njby1jAbG9dUxJvgAV6o32S4kjUgfIdjEYpTNQ==" + "resolved" "https://registry.npmjs.org/@stdlib/utils-type-of/-/utils-type-of-0.0.8.tgz" + "version" "0.0.8" dependencies: "@stdlib/utils-constructor-name" "^0.0.x" "@stdlib/utils-global" "^0.0.x" "@tsconfig/node10@^1.0.7": - version "1.0.9" - resolved "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz" - integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== + "integrity" "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==" + "resolved" "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz" + "version" "1.0.9" "@tsconfig/node12@^1.0.7": - version "1.0.11" - resolved "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz" - integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== + "integrity" "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==" + "resolved" "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz" + "version" "1.0.11" "@tsconfig/node14@^1.0.0": - version "1.0.3" - resolved "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz" - integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== + "integrity" "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==" + "resolved" "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz" + "version" "1.0.3" "@tsconfig/node16@^1.0.2": - version "1.0.4" - resolved "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz" - integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== + "integrity" "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==" + "resolved" "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz" + "version" "1.0.4" "@types/babel__core@^7.1.14": - version "7.20.2" - resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.2.tgz" - integrity sha512-pNpr1T1xLUc2l3xJKuPtsEky3ybxN3m4fJkknfIpTCTfIZCDW57oAg+EfCgIIp2rvCe0Wn++/FfodDS4YXxBwA== + "integrity" "sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ==" + "resolved" "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.20.tgz" + "version" "7.1.20" dependencies: - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" "@types/babel__generator" "*" "@types/babel__template" "*" "@types/babel__traverse" "*" "@types/babel__generator@*": - version "7.6.5" - resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.5.tgz" - integrity sha512-h9yIuWbJKdOPLJTbmSpPzkF67e659PbQDba7ifWm5BJ8xTv+sDmS7rFmywkWOvXedGTivCdeGSIIX8WLcRTz8w== + "integrity" "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==" + "resolved" "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz" + "version" "7.6.4" dependencies: "@babel/types" "^7.0.0" "@types/babel__template@*": - version "7.4.2" - resolved "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.2.tgz" - integrity sha512-/AVzPICMhMOMYoSx9MoKpGDKdBRsIXMNByh1PXSZoa+v6ZoLa8xxtsT/uLQ/NJm0XVAWl/BvId4MlDeXJaeIZQ== + "integrity" "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==" + "resolved" "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz" + "version" "7.4.1" dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.20.2" - resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.2.tgz" - integrity sha512-ojlGK1Hsfce93J0+kn3H5R73elidKUaZonirN33GSmgTUMpzI/MIFfSpF3haANe3G1bEBS9/9/QEqwTzwqFsKw== + "integrity" "sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg==" + "resolved" "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.2.tgz" + "version" "7.18.2" dependencies: - "@babel/types" "^7.20.7" + "@babel/types" "^7.3.0" "@types/eslint-scope@^3.7.3": - version "3.7.4" - resolved "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz" - integrity sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA== + "integrity" "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==" + "resolved" "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz" + "version" "3.7.4" dependencies: "@types/eslint" "*" "@types/estree" "*" "@types/eslint@*": - version "8.4.6" - resolved "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.6.tgz" - integrity sha512-/fqTbjxyFUaYNO7VcW5g+4npmqVACz1bB7RTHYuLj+PRjw9hrCwrUXVQFpChUS0JsyEFvMZ7U/PfmvWgxJhI9g== + "integrity" "sha512-/fqTbjxyFUaYNO7VcW5g+4npmqVACz1bB7RTHYuLj+PRjw9hrCwrUXVQFpChUS0JsyEFvMZ7U/PfmvWgxJhI9g==" + "resolved" "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.6.tgz" + "version" "8.4.6" dependencies: "@types/estree" "*" "@types/json-schema" "*" "@types/estree@*", "@types/estree@^0.0.51": - version "0.0.51" - resolved "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz" - integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== + "integrity" "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==" + "resolved" "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz" + "version" "0.0.51" "@types/google-protobuf@^3.15.6": - version "3.15.6" - resolved "https://registry.npmjs.org/@types/google-protobuf/-/google-protobuf-3.15.6.tgz" - integrity sha512-pYVNNJ+winC4aek+lZp93sIKxnXt5qMkuKmaqS3WGuTq0Bw1ZDYNBgzG5kkdtwcv+GmYJGo3yEg6z2cKKAiEdw== + "integrity" "sha512-pYVNNJ+winC4aek+lZp93sIKxnXt5qMkuKmaqS3WGuTq0Bw1ZDYNBgzG5kkdtwcv+GmYJGo3yEg6z2cKKAiEdw==" + "resolved" "https://registry.npmjs.org/@types/google-protobuf/-/google-protobuf-3.15.6.tgz" + "version" "3.15.6" "@types/graceful-fs@^4.1.3": - version "4.1.7" - resolved "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.7.tgz" - integrity sha512-MhzcwU8aUygZroVwL2jeYk6JisJrPl/oov/gsgGCue9mkgl9wjGbzReYQClxiUgFDnib9FuHqTndccKeZKxTRw== + "integrity" "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==" + "resolved" "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz" + "version" "4.1.5" dependencies: "@types/node" "*" "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.4" - resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz" - integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== + "integrity" "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" + "resolved" "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz" + "version" "2.0.4" "@types/istanbul-lib-report@*": - version "3.0.0" - resolved "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" - integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== + "integrity" "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==" + "resolved" "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" + "version" "3.0.0" dependencies: "@types/istanbul-lib-coverage" "*" "@types/istanbul-reports@^3.0.0": - version "3.0.1" - resolved "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz" - integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== + "integrity" "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==" + "resolved" "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz" + "version" "3.0.1" dependencies: "@types/istanbul-lib-report" "*" "@types/jest@^29.2.2": - version "29.2.2" - resolved "https://registry.npmjs.org/@types/jest/-/jest-29.2.2.tgz" - integrity sha512-og1wAmdxKoS71K2ZwSVqWPX6OVn3ihZ6ZT2qvZvZQm90lJVDyXIjYcu4Khx2CNIeaFv12rOU/YObOsI3VOkzog== + "integrity" "sha512-og1wAmdxKoS71K2ZwSVqWPX6OVn3ihZ6ZT2qvZvZQm90lJVDyXIjYcu4Khx2CNIeaFv12rOU/YObOsI3VOkzog==" + "resolved" "https://registry.npmjs.org/@types/jest/-/jest-29.2.2.tgz" + "version" "29.2.2" dependencies: - expect "^29.0.0" - pretty-format "^29.0.0" + "expect" "^29.0.0" + "pretty-format" "^29.0.0" "@types/json-schema@*", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": - version "7.0.11" - resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz" - integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== + "integrity" "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==" + "resolved" "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz" + "version" "7.0.11" "@types/long@^4.0.1": - version "4.0.2" - resolved "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz" - integrity sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA== + "integrity" "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" + "resolved" "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz" + "version" "4.0.2" -"@types/node@*", "@types/node@>=12.12.47", "@types/node@>=13.7.0", "@types/node@^20.10.1": - version "20.10.3" - resolved "https://registry.npmjs.org/@types/node/-/node-20.10.3.tgz" - integrity sha512-XJavIpZqiXID5Yxnxv3RUDKTN5b81ddNC3ecsA0SoFXz/QU8OGBwZGMomiq0zw+uuqbL/krztv/DINAQ/EV4gg== +"@types/node@*", "@types/node@^20.10.1", "@types/node@>=12.12.47", "@types/node@>=13.7.0": + "integrity" "sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==" + "resolved" "https://registry.npmjs.org/@types/node/-/node-20.11.30.tgz" + "version" "20.11.30" dependencies: - undici-types "~5.26.4" + "undici-types" "~5.26.4" "@types/node@^13.7.0": - version "13.13.52" - resolved "https://registry.npmjs.org/@types/node/-/node-13.13.52.tgz" - integrity sha512-s3nugnZumCC//n4moGGe6tkNMyYEdaDBitVjwPxXmR5lnMG5dHePinH2EdxkG3Rh1ghFHHixAG4NJhpJW1rthQ== + "integrity" "sha512-s3nugnZumCC//n4moGGe6tkNMyYEdaDBitVjwPxXmR5lnMG5dHePinH2EdxkG3Rh1ghFHHixAG4NJhpJW1rthQ==" + "resolved" "https://registry.npmjs.org/@types/node/-/node-13.13.52.tgz" + "version" "13.13.52" "@types/object-hash@^1.3.0": - version "1.3.4" - resolved "https://registry.npmjs.org/@types/object-hash/-/object-hash-1.3.4.tgz" - integrity sha512-xFdpkAkikBgqBdG9vIlsqffDV8GpvnPEzs0IUtr1v3BEB97ijsFQ4RXVbUZwjFThhB4MDSTUfvmxUD5PGx0wXA== + "integrity" "sha512-xFdpkAkikBgqBdG9vIlsqffDV8GpvnPEzs0IUtr1v3BEB97ijsFQ4RXVbUZwjFThhB4MDSTUfvmxUD5PGx0wXA==" + "resolved" "https://registry.npmjs.org/@types/object-hash/-/object-hash-1.3.4.tgz" + "version" "1.3.4" + +"@types/prettier@^2.1.5": + "integrity" "sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==" + "resolved" "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz" + "version" "2.7.1" "@types/seedrandom@^3.0.6": - version "3.0.6" - resolved "https://registry.npmjs.org/@types/seedrandom/-/seedrandom-3.0.6.tgz" - integrity sha512-3+JLzzsdbTrEDXSKaudKajj3w8x4ZWDk7CunwHnSWxtfMoetnKtIbFXMru7RXw6Hq1dU0td+soPX8vVjdgCPBA== + "integrity" "sha512-TY1eezMU2zH2ozQoAFAQFOPpvP15g+ZgSfTZt31AUUH/Rxtnz3H+A/Sv1Snw2/amp//omibc+AEkTaA8KUeOLQ==" + "resolved" "https://registry.npmjs.org/@types/seedrandom/-/seedrandom-3.0.8.tgz" + "version" "3.0.8" "@types/semver@^7.3.12": - version "7.3.13" - resolved "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz" - integrity sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw== + "integrity" "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==" + "resolved" "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz" + "version" "7.3.13" "@types/stack-utils@^2.0.0": - version "2.0.1" - resolved "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz" - integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== + "integrity" "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" + "resolved" "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz" + "version" "2.0.1" "@types/yargs-parser@*": - version "21.0.0" - resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz" - integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== + "integrity" "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" + "resolved" "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz" + "version" "21.0.0" "@types/yargs@^17.0.8": - version "17.0.13" - resolved "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz" - integrity sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg== + "integrity" "sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==" + "resolved" "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz" + "version" "17.0.13" dependencies: "@types/yargs-parser" "*" "@typescript-eslint/eslint-plugin@^5.45.0": - version "5.46.0" - resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.46.0.tgz" - integrity sha512-QrZqaIOzJAjv0sfjY4EjbXUi3ZOFpKfzntx22gPGr9pmFcTjcFw/1sS1LJhEubfAGwuLjNrPV0rH+D1/XZFy7Q== + "integrity" "sha512-QrZqaIOzJAjv0sfjY4EjbXUi3ZOFpKfzntx22gPGr9pmFcTjcFw/1sS1LJhEubfAGwuLjNrPV0rH+D1/XZFy7Q==" + "resolved" "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.46.0.tgz" + "version" "5.46.0" dependencies: "@typescript-eslint/scope-manager" "5.46.0" "@typescript-eslint/type-utils" "5.46.0" "@typescript-eslint/utils" "5.46.0" - debug "^4.3.4" - ignore "^5.2.0" - natural-compare-lite "^1.4.0" - regexpp "^3.2.0" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/parser@^5.45.0": - version "5.46.0" - resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.46.0.tgz" - integrity sha512-joNO6zMGUZg+C73vwrKXCd8usnsmOYmgW/w5ZW0pG0RGvqeznjtGDk61EqqTpNrFLUYBW2RSBFrxdAZMqA4OZA== + "debug" "^4.3.4" + "ignore" "^5.2.0" + "natural-compare-lite" "^1.4.0" + "regexpp" "^3.2.0" + "semver" "^7.3.7" + "tsutils" "^3.21.0" + +"@typescript-eslint/parser@^5.0.0", "@typescript-eslint/parser@^5.45.0": + "integrity" "sha512-joNO6zMGUZg+C73vwrKXCd8usnsmOYmgW/w5ZW0pG0RGvqeznjtGDk61EqqTpNrFLUYBW2RSBFrxdAZMqA4OZA==" + "resolved" "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.46.0.tgz" + "version" "5.46.0" dependencies: "@typescript-eslint/scope-manager" "5.46.0" "@typescript-eslint/types" "5.46.0" "@typescript-eslint/typescript-estree" "5.46.0" - debug "^4.3.4" + "debug" "^4.3.4" "@typescript-eslint/scope-manager@5.46.0": - version "5.46.0" - resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.46.0.tgz" - integrity sha512-7wWBq9d/GbPiIM6SqPK9tfynNxVbfpihoY5cSFMer19OYUA3l4powA2uv0AV2eAZV6KoAh6lkzxv4PoxOLh1oA== + "integrity" "sha512-7wWBq9d/GbPiIM6SqPK9tfynNxVbfpihoY5cSFMer19OYUA3l4powA2uv0AV2eAZV6KoAh6lkzxv4PoxOLh1oA==" + "resolved" "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.46.0.tgz" + "version" "5.46.0" dependencies: "@typescript-eslint/types" "5.46.0" "@typescript-eslint/visitor-keys" "5.46.0" "@typescript-eslint/type-utils@5.46.0": - version "5.46.0" - resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.46.0.tgz" - integrity sha512-dwv4nimVIAsVS2dTA0MekkWaRnoYNXY26dKz8AN5W3cBFYwYGFQEqm/cG+TOoooKlncJS4RTbFKgcFY/pOiBCg== + "integrity" "sha512-dwv4nimVIAsVS2dTA0MekkWaRnoYNXY26dKz8AN5W3cBFYwYGFQEqm/cG+TOoooKlncJS4RTbFKgcFY/pOiBCg==" + "resolved" "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.46.0.tgz" + "version" "5.46.0" dependencies: "@typescript-eslint/typescript-estree" "5.46.0" "@typescript-eslint/utils" "5.46.0" - debug "^4.3.4" - tsutils "^3.21.0" + "debug" "^4.3.4" + "tsutils" "^3.21.0" "@typescript-eslint/types@5.46.0": - version "5.46.0" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.46.0.tgz" - integrity sha512-wHWgQHFB+qh6bu0IAPAJCdeCdI0wwzZnnWThlmHNY01XJ9Z97oKqKOzWYpR2I83QmshhQJl6LDM9TqMiMwJBTw== + "integrity" "sha512-wHWgQHFB+qh6bu0IAPAJCdeCdI0wwzZnnWThlmHNY01XJ9Z97oKqKOzWYpR2I83QmshhQJl6LDM9TqMiMwJBTw==" + "resolved" "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.46.0.tgz" + "version" "5.46.0" "@typescript-eslint/typescript-estree@5.46.0": - version "5.46.0" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.46.0.tgz" - integrity sha512-kDLNn/tQP+Yp8Ro2dUpyyVV0Ksn2rmpPpB0/3MO874RNmXtypMwSeazjEN/Q6CTp8D7ExXAAekPEcCEB/vtJkw== + "integrity" "sha512-kDLNn/tQP+Yp8Ro2dUpyyVV0Ksn2rmpPpB0/3MO874RNmXtypMwSeazjEN/Q6CTp8D7ExXAAekPEcCEB/vtJkw==" + "resolved" "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.46.0.tgz" + "version" "5.46.0" dependencies: "@typescript-eslint/types" "5.46.0" "@typescript-eslint/visitor-keys" "5.46.0" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - semver "^7.3.7" - tsutils "^3.21.0" + "debug" "^4.3.4" + "globby" "^11.1.0" + "is-glob" "^4.0.3" + "semver" "^7.3.7" + "tsutils" "^3.21.0" "@typescript-eslint/utils@5.46.0": - version "5.46.0" - resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.46.0.tgz" - integrity sha512-4O+Ps1CRDw+D+R40JYh5GlKLQERXRKW5yIQoNDpmXPJ+C7kaPF9R7GWl+PxGgXjB3PQCqsaaZUpZ9dG4U6DO7g== + "integrity" "sha512-4O+Ps1CRDw+D+R40JYh5GlKLQERXRKW5yIQoNDpmXPJ+C7kaPF9R7GWl+PxGgXjB3PQCqsaaZUpZ9dG4U6DO7g==" + "resolved" "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.46.0.tgz" + "version" "5.46.0" dependencies: "@types/json-schema" "^7.0.9" "@types/semver" "^7.3.12" "@typescript-eslint/scope-manager" "5.46.0" "@typescript-eslint/types" "5.46.0" "@typescript-eslint/typescript-estree" "5.46.0" - eslint-scope "^5.1.1" - eslint-utils "^3.0.0" - semver "^7.3.7" + "eslint-scope" "^5.1.1" + "eslint-utils" "^3.0.0" + "semver" "^7.3.7" "@typescript-eslint/visitor-keys@5.46.0": - version "5.46.0" - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.46.0.tgz" - integrity sha512-E13gBoIXmaNhwjipuvQg1ByqSAu/GbEpP/qzFihugJ+MomtoJtFAJG/+2DRPByf57B863m0/q7Zt16V9ohhANw== + "integrity" "sha512-E13gBoIXmaNhwjipuvQg1ByqSAu/GbEpP/qzFihugJ+MomtoJtFAJG/+2DRPByf57B863m0/q7Zt16V9ohhANw==" + "resolved" "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.46.0.tgz" + "version" "5.46.0" dependencies: "@typescript-eslint/types" "5.46.0" - eslint-visitor-keys "^3.3.0" + "eslint-visitor-keys" "^3.3.0" "@ungap/structured-clone@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" - integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== + "integrity" "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" + "resolved" "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz" + "version" "1.2.0" "@webassemblyjs/ast@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz" - integrity sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw== + "integrity" "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz" + "version" "1.11.1" dependencies: "@webassemblyjs/helper-numbers" "1.11.1" "@webassemblyjs/helper-wasm-bytecode" "1.11.1" "@webassemblyjs/floating-point-hex-parser@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz" - integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ== + "integrity" "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz" + "version" "1.11.1" "@webassemblyjs/helper-api-error@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz" - integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg== + "integrity" "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz" + "version" "1.11.1" "@webassemblyjs/helper-buffer@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz" - integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA== + "integrity" "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz" + "version" "1.11.1" "@webassemblyjs/helper-numbers@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz" - integrity sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ== + "integrity" "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz" + "version" "1.11.1" dependencies: "@webassemblyjs/floating-point-hex-parser" "1.11.1" "@webassemblyjs/helper-api-error" "1.11.1" "@xtuc/long" "4.2.2" "@webassemblyjs/helper-wasm-bytecode@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz" - integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q== + "integrity" "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz" + "version" "1.11.1" "@webassemblyjs/helper-wasm-section@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz" - integrity sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg== + "integrity" "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz" + "version" "1.11.1" dependencies: "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/helper-buffer" "1.11.1" @@ -2688,28 +2702,28 @@ "@webassemblyjs/wasm-gen" "1.11.1" "@webassemblyjs/ieee754@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz" - integrity sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ== + "integrity" "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz" + "version" "1.11.1" dependencies: "@xtuc/ieee754" "^1.2.0" "@webassemblyjs/leb128@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz" - integrity sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw== + "integrity" "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz" + "version" "1.11.1" dependencies: "@xtuc/long" "4.2.2" "@webassemblyjs/utf8@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz" - integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ== + "integrity" "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz" + "version" "1.11.1" "@webassemblyjs/wasm-edit@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz" - integrity sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA== + "integrity" "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz" + "version" "1.11.1" dependencies: "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/helper-buffer" "1.11.1" @@ -2721,9 +2735,9 @@ "@webassemblyjs/wast-printer" "1.11.1" "@webassemblyjs/wasm-gen@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz" - integrity sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA== + "integrity" "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz" + "version" "1.11.1" dependencies: "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/helper-wasm-bytecode" "1.11.1" @@ -2732,9 +2746,9 @@ "@webassemblyjs/utf8" "1.11.1" "@webassemblyjs/wasm-opt@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz" - integrity sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw== + "integrity" "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz" + "version" "1.11.1" dependencies: "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/helper-buffer" "1.11.1" @@ -2742,9 +2756,9 @@ "@webassemblyjs/wasm-parser" "1.11.1" "@webassemblyjs/wasm-parser@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz" - integrity sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA== + "integrity" "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz" + "version" "1.11.1" dependencies: "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/helper-api-error" "1.11.1" @@ -2754,205 +2768,200 @@ "@webassemblyjs/utf8" "1.11.1" "@webassemblyjs/wast-printer@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz" - integrity sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg== + "integrity" "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz" + "version" "1.11.1" dependencies: "@webassemblyjs/ast" "1.11.1" "@xtuc/long" "4.2.2" "@webpack-cli/configtest@^1.2.0": - version "1.2.0" - resolved "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz" - integrity sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg== + "integrity" "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==" + "resolved" "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz" + "version" "1.2.0" "@webpack-cli/info@^1.5.0": - version "1.5.0" - resolved "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz" - integrity sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ== + "integrity" "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==" + "resolved" "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz" + "version" "1.5.0" dependencies: - envinfo "^7.7.3" + "envinfo" "^7.7.3" "@webpack-cli/serve@^1.7.0": - version "1.7.0" - resolved "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz" - integrity sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q== + "integrity" "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==" + "resolved" "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz" + "version" "1.7.0" "@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + "integrity" "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + "resolved" "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz" + "version" "1.2.0" "@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== - -acorn-import-assertions@^1.7.6: - version "1.8.0" - resolved "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz" - integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== - -acorn-jsx@^5.3.2: - version "5.3.2" - resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn-walk@^8.1.1: - version "8.2.0" - resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz" - integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== - -acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.1: - version "8.8.1" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz" - integrity sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA== - -acorn@^8.9.0: - version "8.11.3" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" - integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== - -adm-zip@^0.5.10: - version "0.5.10" - resolved "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.10.tgz" - integrity sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ== - -ajv-keywords@^3.5.2: - version "3.5.2" - resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" - integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== - -ajv@^6.12.4, ajv@^6.12.5: - version "6.12.6" - resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ansi-escapes@^4.2.1: - version "4.3.2" - resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - dependencies: - type-fest "^0.21.3" - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansi-styles@^5.0.0: - version "5.2.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz" - integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== - -anymatch@^3.0.3: - version "3.1.3" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -archive-type@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/archive-type/-/archive-type-4.0.0.tgz" - integrity sha512-zV4Ky0v1F8dBrdYElwTvQhweQ0P7Kwc1aluqJsYtOBP01jXcWCyW2IEfI1YiqsG+Iy7ZR+o5LF1N+PGECBxHWA== - dependencies: - file-type "^4.2.0" - -arg@^4.1.0: - version "4.1.3" - resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz" - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -async@^2.6.4: - version "2.6.4" - resolved "https://registry.npmjs.org/async/-/async-2.6.4.tgz" - integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== - dependencies: - lodash "^4.17.14" + "integrity" "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + "resolved" "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" + "version" "4.2.2" + +"acorn-import-assertions@^1.7.6": + "integrity" "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==" + "resolved" "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz" + "version" "1.8.0" + +"acorn-jsx@^5.3.2": + "integrity" "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==" + "resolved" "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" + "version" "5.3.2" + +"acorn-walk@^8.1.1": + "integrity" "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==" + "resolved" "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz" + "version" "8.2.0" + +"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", "acorn@^8", "acorn@^8.4.1", "acorn@^8.5.0", "acorn@^8.7.1", "acorn@^8.9.0": + "integrity" "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==" + "resolved" "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz" + "version" "8.11.3" + +"adm-zip@^0.5.10": + "integrity" "sha512-6TVU49mK6KZb4qG6xWaaM4C7sA/sgUMLy/JYMOzkcp3BvVLpW0fXDFQiIzAuxFCt/2+xD7fNIiPFAoLZPhVNLQ==" + "resolved" "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.12.tgz" + "version" "0.5.12" + +"ajv-keywords@^3.5.2": + "integrity" "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" + "resolved" "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" + "version" "3.5.2" + +"ajv@^6.12.4", "ajv@^6.12.5", "ajv@^6.9.1": + "integrity" "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==" + "resolved" "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + "version" "6.12.6" + dependencies: + "fast-deep-equal" "^3.1.1" + "fast-json-stable-stringify" "^2.0.0" + "json-schema-traverse" "^0.4.1" + "uri-js" "^4.2.2" + +"ansi-escapes@^4.2.1": + "integrity" "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==" + "resolved" "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" + "version" "4.3.2" + dependencies: + "type-fest" "^0.21.3" + +"ansi-regex@^5.0.1": + "integrity" "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + "version" "5.0.1" + +"ansi-styles@^3.2.1": + "integrity" "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==" + "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + "version" "3.2.1" + dependencies: + "color-convert" "^1.9.0" + +"ansi-styles@^4.0.0", "ansi-styles@^4.1.0": + "integrity" "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==" + "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + "version" "4.3.0" + dependencies: + "color-convert" "^2.0.1" + +"ansi-styles@^5.0.0": + "integrity" "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz" + "version" "5.2.0" + +"anymatch@^3.0.3": + "integrity" "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==" + "resolved" "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz" + "version" "3.1.2" + dependencies: + "normalize-path" "^3.0.0" + "picomatch" "^2.0.4" + +"archive-type@^4.0.0": + "integrity" "sha512-zV4Ky0v1F8dBrdYElwTvQhweQ0P7Kwc1aluqJsYtOBP01jXcWCyW2IEfI1YiqsG+Iy7ZR+o5LF1N+PGECBxHWA==" + "resolved" "https://registry.npmjs.org/archive-type/-/archive-type-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "file-type" "^4.2.0" + +"arg@^4.1.0": + "integrity" "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" + "resolved" "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz" + "version" "4.1.3" + +"argparse@^1.0.7": + "integrity" "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==" + "resolved" "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" + "version" "1.0.10" + dependencies: + "sprintf-js" "~1.0.2" + +"argparse@^2.0.1": + "integrity" "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + "resolved" "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + "version" "2.0.1" + +"array-union@^2.1.0": + "integrity" "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" + "resolved" "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" + "version" "2.1.0" + +"async@^2.6.4": + "integrity" "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==" + "resolved" "https://registry.npmjs.org/async/-/async-2.6.4.tgz" + "version" "2.6.4" + dependencies: + "lodash" "^4.17.14" -axios@^0.21.2: - version "0.21.4" - resolved "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz" - integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== +"axios@^0.21.2": + "integrity" "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==" + "resolved" "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz" + "version" "0.21.4" dependencies: - follow-redirects "^1.14.0" + "follow-redirects" "^1.14.0" -babel-jest@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz" - integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg== +"babel-jest@^29.0.0", "babel-jest@^29.3.1": + "integrity" "sha512-aard+xnMoxgjwV70t0L6wkW/3HQQtV+O0PEimxKgzNqCJnbYmroPojdP2tqKSOAt8QAKV/uSZU8851M7B5+fcA==" + "resolved" "https://registry.npmjs.org/babel-jest/-/babel-jest-29.3.1.tgz" + "version" "29.3.1" dependencies: - "@jest/transform" "^29.7.0" + "@jest/transform" "^29.3.1" "@types/babel__core" "^7.1.14" - babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^29.6.3" - chalk "^4.0.0" - graceful-fs "^4.2.9" - slash "^3.0.0" + "babel-plugin-istanbul" "^6.1.1" + "babel-preset-jest" "^29.2.0" + "chalk" "^4.0.0" + "graceful-fs" "^4.2.9" + "slash" "^3.0.0" -babel-plugin-istanbul@^6.1.1: - version "6.1.1" - resolved "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz" - integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== +"babel-plugin-istanbul@^6.1.1": + "integrity" "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==" + "resolved" "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz" + "version" "6.1.1" dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@istanbuljs/load-nyc-config" "^1.0.0" "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^5.0.4" - test-exclude "^6.0.0" + "istanbul-lib-instrument" "^5.0.4" + "test-exclude" "^6.0.0" -babel-plugin-jest-hoist@^29.6.3: - version "29.6.3" - resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz" - integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg== +"babel-plugin-jest-hoist@^29.2.0": + "integrity" "sha512-TnspP2WNiR3GLfCsUNHqeXw0RoQ2f9U5hQ5L3XFpwuO8htQmSrhh8qsB6vi5Yi8+kuynN1yjDjQsPfkebmB6ZA==" + "resolved" "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.2.0.tgz" + "version" "29.2.0" dependencies: "@babel/template" "^7.3.3" "@babel/types" "^7.3.3" "@types/babel__core" "^7.1.14" "@types/babel__traverse" "^7.0.6" -babel-preset-current-node-syntax@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz" - integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== +"babel-preset-current-node-syntax@^1.0.0": + "integrity" "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==" + "resolved" "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz" + "version" "1.0.1" dependencies: "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-bigint" "^7.8.3" @@ -2967,700 +2976,697 @@ babel-preset-current-node-syntax@^1.0.0: "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-top-level-await" "^7.8.3" -babel-preset-jest@^29.6.3: - version "29.6.3" - resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz" - integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA== +"babel-preset-jest@^29.2.0": + "integrity" "sha512-z9JmMJppMxNv8N7fNRHvhMg9cvIkMxQBXgFkane3yKVEvEOP+kB50lk8DFRvF9PGqbyXxlmebKWhuDORO8RgdA==" + "resolved" "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.2.0.tgz" + "version" "29.2.0" dependencies: - babel-plugin-jest-hoist "^29.6.3" - babel-preset-current-node-syntax "^1.0.0" + "babel-plugin-jest-hoist" "^29.2.0" + "babel-preset-current-node-syntax" "^1.0.0" -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== +"balanced-match@^1.0.0": + "integrity" "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "resolved" "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + "version" "1.0.2" -base64-js@^1.3.0, base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== +"base64-js@^1.3.0", "base64-js@^1.3.1": + "integrity" "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + "resolved" "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" + "version" "1.5.1" -basic-auth@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz" - integrity sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg== +"basic-auth@^2.0.1": + "integrity" "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==" + "resolved" "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz" + "version" "2.0.1" dependencies: - safe-buffer "5.1.2" + "safe-buffer" "5.1.2" -bech32@^1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz" - integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== +"bech32@^1.1.4": + "integrity" "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" + "resolved" "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz" + "version" "1.1.4" -bignumber.js@^9.1.1: - version "9.1.1" - resolved "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.1.tgz" - integrity sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig== +"bignumber.js@^9.1.1": + "integrity" "sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==" + "resolved" "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz" + "version" "9.1.2" -bip39@^3.0.2: - version "3.1.0" - resolved "https://registry.npmjs.org/bip39/-/bip39-3.1.0.tgz" - integrity sha512-c9kiwdk45Do5GL0vJMe7tS95VjCii65mYAH7DfWl3uW8AVzXKQVUm64i3hzVybBDMp9r7j9iNxR85+ul8MdN/A== +"bip39@^3.0.2": + "integrity" "sha512-c9kiwdk45Do5GL0vJMe7tS95VjCii65mYAH7DfWl3uW8AVzXKQVUm64i3hzVybBDMp9r7j9iNxR85+ul8MdN/A==" + "resolved" "https://registry.npmjs.org/bip39/-/bip39-3.1.0.tgz" + "version" "3.1.0" dependencies: "@noble/hashes" "^1.2.0" -bl@^1.0.0: - version "1.2.3" - resolved "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz" - integrity sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww== - dependencies: - readable-stream "^2.3.5" - safe-buffer "^5.1.1" - -bn.js@^4.11.9: - version "4.12.0" - resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" - integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== - -bn.js@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz" - integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz" - integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= - -browser-headers@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/browser-headers/-/browser-headers-0.4.1.tgz" - integrity sha512-CA9hsySZVo9371qEHjHZtYxV2cFtVj5Wj/ZHi8ooEsrtm4vOnl9Y9HmyYWk9q+05d7K3rdoAE0j3MVEFVvtQtg== - -browserslist@^4.14.5, browserslist@^4.21.3: - version "4.21.4" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz" - integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== - dependencies: - caniuse-lite "^1.0.30001400" - electron-to-chromium "^1.4.251" - node-releases "^2.0.6" - update-browserslist-db "^1.0.9" - -bs-logger@0.x: - version "0.2.6" - resolved "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz" - integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== - dependencies: - fast-json-stable-stringify "2.x" - -bser@2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz" - integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== - dependencies: - node-int64 "^0.4.0" - -buffer-alloc-unsafe@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz" - integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== - -buffer-alloc@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz" - integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== - dependencies: - buffer-alloc-unsafe "^1.1.0" - buffer-fill "^1.0.0" - -buffer-crc32@~0.2.3: - version "0.2.13" - resolved "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz" - integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== - -buffer-fill@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz" - integrity sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ== - -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -buffer@^5.2.1: - version "5.7.1" - resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - -cacheable-request@^2.1.1: - version "2.1.4" - resolved "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz" - integrity sha512-vag0O2LKZ/najSoUwDbVlnlCFvhBE/7mGTY2B5FgCBDcRD+oVV1HYTOwM6JZfMg/hIcM6IwnTZ1uQQL5/X3xIQ== - dependencies: - clone-response "1.0.2" - get-stream "3.0.0" - http-cache-semantics "3.8.1" - keyv "3.0.0" - lowercase-keys "1.0.0" - normalize-url "2.0.1" - responselike "1.0.2" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.2.0: - version "6.3.0" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -caniuse-lite@^1.0.30001400: - version "1.0.30001418" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001418.tgz" - integrity sha512-oIs7+JL3K9JRQ3jPZjlH6qyYDp+nBTCais7hjh0s+fuBwufc7uZ7hPYMXrDOJhV360KGMTcczMRObk0/iMqZRg== - -case-anything@^2.1.10: - version "2.1.10" - resolved "https://registry.npmjs.org/case-anything/-/case-anything-2.1.10.tgz" - integrity sha512-JczJwVrCP0jPKh05McyVsuOg6AYosrB9XWZKbQzXeDAm2ClE/PJE/BcrrQrVyGYH7Jg8V/LDupmyL4kFlVsVFQ== - -chalk@4.1.2, chalk@^4.0.0, chalk@^4.1.2: - version "4.1.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@^2.0.0: - version "2.4.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -char-regex@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" - integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== - -chrome-trace-event@^1.0.2: - version "1.0.3" - resolved "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" - integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== - -ci-info@^3.2.0: - version "3.5.0" - resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.5.0.tgz" - integrity sha512-yH4RezKOGlOhxkmhbeNuC4eYZKAUsEaGtBuBzDDP1eFUKiccDWzBABxBfOx31IDwDIXMTxWuwAxUGModvkbuVw== - -cjs-module-lexer@^1.0.0: - version "1.2.3" - resolved "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz" - integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== - -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - -cliui@^8.0.1: - version "8.0.1" - resolved "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz" - integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.1" - wrap-ansi "^7.0.0" - -clone-deep@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz" - integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== - dependencies: - is-plain-object "^2.0.4" - kind-of "^6.0.2" - shallow-clone "^3.0.0" - -clone-response@1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz" - integrity sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q== - dependencies: - mimic-response "^1.0.0" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz" - integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== - -collect-v8-coverage@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz" - integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q== - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -colorette@^2.0.14: - version "2.0.19" - resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz" - integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== - -commander@^2.20.0, commander@^2.8.1: - version "2.20.3" - resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -commander@^7.0.0: - version "7.2.0" - resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" - integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== - -commander@^9.4.1: - version "9.4.1" - resolved "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz" - integrity sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -content-disposition@^0.5.2: - version "0.5.4" - resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz" - integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== - dependencies: - safe-buffer "5.2.1" - -convert-source-map@^1.7.0: - version "1.9.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" - integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== - -convert-source-map@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz" - integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== - -core-util-is@~1.0.0: - version "1.0.3" - resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" - integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== - -corser@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz" - integrity sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ== - -cosmjs-types@^0.4.0: - version "0.4.1" - resolved "https://registry.npmjs.org/cosmjs-types/-/cosmjs-types-0.4.1.tgz" - integrity sha512-I7E/cHkIgoJzMNQdFF0YVqPlaTqrqKHrskuSTIqlEyxfB5Lf3WKCajSXVK2yHOfOFfSux/RxEdpMzw/eO4DIog== - dependencies: - long "^4.0.0" - protobufjs "~6.11.2" - -cosmjs-types@^0.5.2: - version "0.5.2" - resolved "https://registry.npmjs.org/cosmjs-types/-/cosmjs-types-0.5.2.tgz" - integrity sha512-zxCtIJj8v3Di7s39uN4LNcN3HIE1z0B9Z0SPE8ZNQR0oSzsuSe1ACgxoFkvhkS7WBasCAFcglS11G2hyfd5tPg== - dependencies: - long "^4.0.0" - protobufjs "~6.11.2" - -create-jest@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz" - integrity sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q== - dependencies: - "@jest/types" "^29.6.3" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - jest-config "^29.7.0" - jest-util "^29.7.0" - prompts "^2.0.1" - -create-require@^1.1.0: - version "1.1.1" - resolved "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz" - integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== - -cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -dataloader@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/dataloader/-/dataloader-1.4.0.tgz" - integrity sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw== - -debug@^2.6.9: - version "2.6.9" - resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^3.2.7: - version "3.2.7" - resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: - version "4.3.4" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -decode-uri-component@^0.2.0: - version "0.2.2" - resolved "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz" - integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== - -decompress-response@^3.3.0: - version "3.3.0" - resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz" - integrity sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA== - dependencies: - mimic-response "^1.0.0" - -decompress-tar@^4.0.0, decompress-tar@^4.1.0, decompress-tar@^4.1.1: - version "4.1.1" - resolved "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz" - integrity sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ== - dependencies: - file-type "^5.2.0" - is-stream "^1.1.0" - tar-stream "^1.5.2" - -decompress-tarbz2@^4.0.0: - version "4.1.1" - resolved "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz" - integrity sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A== - dependencies: - decompress-tar "^4.1.0" - file-type "^6.1.0" - is-stream "^1.1.0" - seek-bzip "^1.0.5" - unbzip2-stream "^1.0.9" - -decompress-targz@^4.0.0: - version "4.1.1" - resolved "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz" - integrity sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w== - dependencies: - decompress-tar "^4.1.1" - file-type "^5.2.0" - is-stream "^1.1.0" - -decompress-unzip@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz" - integrity sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw== - dependencies: - file-type "^3.8.0" - get-stream "^2.2.0" - pify "^2.3.0" - yauzl "^2.4.2" - -decompress@^4.2.1: - version "4.2.1" - resolved "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz" - integrity sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ== - dependencies: - decompress-tar "^4.0.0" - decompress-tarbz2 "^4.0.0" - decompress-targz "^4.0.0" - decompress-unzip "^4.0.1" - graceful-fs "^4.1.10" - make-dir "^1.0.0" - pify "^2.3.0" - strip-dirs "^2.0.0" - -dedent@^1.0.0: - version "1.5.1" - resolved "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz" - integrity sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg== - -deep-is@^0.1.3: - version "0.1.4" - resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -deepmerge@^4.2.2: - version "4.3.1" - resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz" - integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== - -define-properties@^1.1.3: - version "1.1.4" - resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz" - integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== - dependencies: - has-property-descriptors "^1.0.0" - object-keys "^1.1.1" - -detect-libc@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz" - integrity sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg== - -detect-newline@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" - integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== - -diff-sequences@^29.6.3: - version "29.6.3" - resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz" - integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== - -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -download@^8.0.0: - version "8.0.0" - resolved "https://registry.npmjs.org/download/-/download-8.0.0.tgz" - integrity sha512-ASRY5QhDk7FK+XrQtQyvhpDKanLluEEQtWl/J7Lxuf/b+i8RYh997QeXvL85xitrmRKVlx9c7eTrcRdq2GS4eA== - dependencies: - archive-type "^4.0.0" - content-disposition "^0.5.2" - decompress "^4.2.1" - ext-name "^5.0.0" - file-type "^11.1.0" - filenamify "^3.0.0" - get-stream "^4.1.0" - got "^8.3.1" - make-dir "^2.1.0" - p-event "^2.1.0" - pify "^4.0.1" - -dprint-node@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/dprint-node/-/dprint-node-1.0.7.tgz" - integrity sha512-NTZOW9A7ipb0n7z7nC3wftvsbceircwVHSgzobJsEQa+7RnOMbhrfX5IflA6CtC4GA63DSAiHYXa4JKEy9F7cA== - dependencies: - detect-libc "^1.0.3" - -duplexer3@^0.1.4: - version "0.1.5" - resolved "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz" - integrity sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA== - -electron-to-chromium@^1.4.251: - version "1.4.276" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.276.tgz" - integrity sha512-EpuHPqu8YhonqLBXHoU6hDJCD98FCe6KDoet3/gY1qsQ6usjJoHqBH2YIVs8FXaAtHwVL8Uqa/fsYao/vq9VWQ== - -elliptic@^6.5.3, elliptic@^6.5.4: - version "6.5.4" - resolved "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz" - integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - -emittery@^0.13.1: - version "0.13.1" - resolved "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz" - integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -end-of-stream@^1.0.0, end-of-stream@^1.1.0: - version "1.4.4" - resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -enhanced-resolve@^5.10.0: - version "5.10.0" - resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz" - integrity sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ== - dependencies: - graceful-fs "^4.2.4" - tapable "^2.2.0" - -envinfo@^7.7.3: - version "7.8.1" - resolved "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz" - integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw== - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -es-module-lexer@^0.9.0: - version "0.9.3" - resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz" - integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -eslint-config-prettier@^8.5.0: - version "8.5.0" - resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz" - integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q== - -eslint-plugin-prettier@^4.2.1: - version "4.2.1" - resolved "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz" - integrity sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ== - dependencies: - prettier-linter-helpers "^1.0.0" - -eslint-scope@5.1.1, eslint-scope@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -eslint-scope@^7.2.2: - version "7.2.2" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" - integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - -eslint-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz" - integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== - dependencies: - eslint-visitor-keys "^2.0.0" - -eslint-visitor-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" - integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== - -eslint-visitor-keys@^3.3.0: - version "3.3.0" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz" - integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== - -eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: - version "3.4.3" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" - integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== - -eslint@^8.57.0: - version "8.57.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.0.tgz#c786a6fd0e0b68941aaf624596fb987089195668" - integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ== +"bl@^1.0.0": + "integrity" "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==" + "resolved" "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz" + "version" "1.2.3" + dependencies: + "readable-stream" "^2.3.5" + "safe-buffer" "^5.1.1" + +"bn.js@^4.11.9": + "integrity" "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + "resolved" "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" + "version" "4.12.0" + +"bn.js@^5.2.0": + "integrity" "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" + "resolved" "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz" + "version" "5.2.0" + +"brace-expansion@^1.1.7": + "integrity" "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==" + "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + "version" "1.1.11" + dependencies: + "balanced-match" "^1.0.0" + "concat-map" "0.0.1" + +"braces@^3.0.2": + "integrity" "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==" + "resolved" "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "fill-range" "^7.0.1" + +"brorand@^1.1.0": + "integrity" "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" + "resolved" "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz" + "version" "1.1.0" + +"browser-headers@^0.4.1": + "integrity" "sha512-CA9hsySZVo9371qEHjHZtYxV2cFtVj5Wj/ZHi8ooEsrtm4vOnl9Y9HmyYWk9q+05d7K3rdoAE0j3MVEFVvtQtg==" + "resolved" "https://registry.npmjs.org/browser-headers/-/browser-headers-0.4.1.tgz" + "version" "0.4.1" + +"browserslist@^4.14.5", "browserslist@^4.21.3", "browserslist@>= 4.21.0": + "integrity" "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==" + "resolved" "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz" + "version" "4.21.4" + dependencies: + "caniuse-lite" "^1.0.30001400" + "electron-to-chromium" "^1.4.251" + "node-releases" "^2.0.6" + "update-browserslist-db" "^1.0.9" + +"bs-logger@0.x": + "integrity" "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==" + "resolved" "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz" + "version" "0.2.6" + dependencies: + "fast-json-stable-stringify" "2.x" + +"bser@2.1.1": + "integrity" "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==" + "resolved" "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "node-int64" "^0.4.0" + +"buffer-alloc-unsafe@^1.1.0": + "integrity" "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" + "resolved" "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz" + "version" "1.1.0" + +"buffer-alloc@^1.2.0": + "integrity" "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==" + "resolved" "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "buffer-alloc-unsafe" "^1.1.0" + "buffer-fill" "^1.0.0" + +"buffer-crc32@~0.2.3": + "integrity" "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==" + "resolved" "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz" + "version" "0.2.13" + +"buffer-fill@^1.0.0": + "integrity" "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==" + "resolved" "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz" + "version" "1.0.0" + +"buffer-from@^1.0.0": + "integrity" "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + "resolved" "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" + "version" "1.1.2" + +"buffer@^5.2.1": + "integrity" "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==" + "resolved" "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" + "version" "5.7.1" + dependencies: + "base64-js" "^1.3.1" + "ieee754" "^1.1.13" + +"cacheable-request@^2.1.1": + "integrity" "sha512-vag0O2LKZ/najSoUwDbVlnlCFvhBE/7mGTY2B5FgCBDcRD+oVV1HYTOwM6JZfMg/hIcM6IwnTZ1uQQL5/X3xIQ==" + "resolved" "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz" + "version" "2.1.4" + dependencies: + "clone-response" "1.0.2" + "get-stream" "3.0.0" + "http-cache-semantics" "3.8.1" + "keyv" "3.0.0" + "lowercase-keys" "1.0.0" + "normalize-url" "2.0.1" + "responselike" "1.0.2" + +"callsites@^3.0.0": + "integrity" "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + "resolved" "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + "version" "3.1.0" + +"camelcase@^5.3.1": + "integrity" "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" + "version" "5.3.1" + +"camelcase@^6.2.0": + "integrity" "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" + "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" + "version" "6.3.0" + +"caniuse-lite@^1.0.30001400": + "integrity" "sha512-oIs7+JL3K9JRQ3jPZjlH6qyYDp+nBTCais7hjh0s+fuBwufc7uZ7hPYMXrDOJhV360KGMTcczMRObk0/iMqZRg==" + "resolved" "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001418.tgz" + "version" "1.0.30001418" + +"case-anything@^2.1.10": + "integrity" "sha512-JczJwVrCP0jPKh05McyVsuOg6AYosrB9XWZKbQzXeDAm2ClE/PJE/BcrrQrVyGYH7Jg8V/LDupmyL4kFlVsVFQ==" + "resolved" "https://registry.npmjs.org/case-anything/-/case-anything-2.1.10.tgz" + "version" "2.1.10" + +"chalk@^2.0.0": + "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + "version" "2.4.2" + dependencies: + "ansi-styles" "^3.2.1" + "escape-string-regexp" "^1.0.5" + "supports-color" "^5.3.0" + +"chalk@^4.0.0", "chalk@^4.1.2", "chalk@4.1.2": + "integrity" "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + "version" "4.1.2" + dependencies: + "ansi-styles" "^4.1.0" + "supports-color" "^7.1.0" + +"char-regex@^1.0.2": + "integrity" "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==" + "resolved" "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" + "version" "1.0.2" + +"chrome-trace-event@^1.0.2": + "integrity" "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" + "resolved" "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" + "version" "1.0.3" + +"ci-info@^3.2.0": + "integrity" "sha512-yH4RezKOGlOhxkmhbeNuC4eYZKAUsEaGtBuBzDDP1eFUKiccDWzBABxBfOx31IDwDIXMTxWuwAxUGModvkbuVw==" + "resolved" "https://registry.npmjs.org/ci-info/-/ci-info-3.5.0.tgz" + "version" "3.5.0" + +"cjs-module-lexer@^1.0.0": + "integrity" "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==" + "resolved" "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz" + "version" "1.2.2" + +"cliui@^7.0.2": + "integrity" "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==" + "resolved" "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz" + "version" "7.0.4" + dependencies: + "string-width" "^4.2.0" + "strip-ansi" "^6.0.0" + "wrap-ansi" "^7.0.0" + +"cliui@^8.0.1": + "integrity" "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==" + "resolved" "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz" + "version" "8.0.1" + dependencies: + "string-width" "^4.2.0" + "strip-ansi" "^6.0.1" + "wrap-ansi" "^7.0.0" + +"clone-deep@^4.0.1": + "integrity" "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==" + "resolved" "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "is-plain-object" "^2.0.4" + "kind-of" "^6.0.2" + "shallow-clone" "^3.0.0" + +"clone-response@1.0.2": + "integrity" "sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==" + "resolved" "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "mimic-response" "^1.0.0" + +"co@^4.6.0": + "integrity" "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==" + "resolved" "https://registry.npmjs.org/co/-/co-4.6.0.tgz" + "version" "4.6.0" + +"collect-v8-coverage@^1.0.0": + "integrity" "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==" + "resolved" "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz" + "version" "1.0.1" + +"color-convert@^1.9.0": + "integrity" "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==" + "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" + "version" "1.9.3" + dependencies: + "color-name" "1.1.3" + +"color-convert@^2.0.1": + "integrity" "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==" + "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "color-name" "~1.1.4" + +"color-name@~1.1.4": + "integrity" "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + "version" "1.1.4" + +"color-name@1.1.3": + "integrity" "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + "version" "1.1.3" + +"colorette@^2.0.14": + "integrity" "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==" + "resolved" "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz" + "version" "2.0.19" + +"commander@^2.20.0": + "integrity" "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "resolved" "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" + "version" "2.20.3" + +"commander@^2.8.1": + "integrity" "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "resolved" "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" + "version" "2.20.3" + +"commander@^7.0.0": + "integrity" "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" + "resolved" "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" + "version" "7.2.0" + +"commander@^9.4.1": + "integrity" "sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==" + "resolved" "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz" + "version" "9.4.1" + +"concat-map@0.0.1": + "integrity" "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + "resolved" "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + "version" "0.0.1" + +"content-disposition@^0.5.2": + "integrity" "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==" + "resolved" "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz" + "version" "0.5.4" + dependencies: + "safe-buffer" "5.2.1" + +"convert-source-map@^1.6.0": + "integrity" "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + "resolved" "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" + "version" "1.9.0" + +"convert-source-map@^1.7.0": + "integrity" "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + "resolved" "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" + "version" "1.9.0" + +"convert-source-map@^2.0.0": + "integrity" "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + "resolved" "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz" + "version" "2.0.0" + +"core-util-is@~1.0.0": + "integrity" "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + "resolved" "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" + "version" "1.0.3" + +"corser@^2.0.1": + "integrity" "sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==" + "resolved" "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz" + "version" "2.0.1" + +"cosmjs-types@^0.4.0": + "integrity" "sha512-I7E/cHkIgoJzMNQdFF0YVqPlaTqrqKHrskuSTIqlEyxfB5Lf3WKCajSXVK2yHOfOFfSux/RxEdpMzw/eO4DIog==" + "resolved" "https://registry.npmjs.org/cosmjs-types/-/cosmjs-types-0.4.1.tgz" + "version" "0.4.1" + dependencies: + "long" "^4.0.0" + "protobufjs" "~6.11.2" + +"cosmjs-types@^0.5.2": + "integrity" "sha512-zxCtIJj8v3Di7s39uN4LNcN3HIE1z0B9Z0SPE8ZNQR0oSzsuSe1ACgxoFkvhkS7WBasCAFcglS11G2hyfd5tPg==" + "resolved" "https://registry.npmjs.org/cosmjs-types/-/cosmjs-types-0.5.2.tgz" + "version" "0.5.2" + dependencies: + "long" "^4.0.0" + "protobufjs" "~6.11.2" + +"create-require@^1.1.0": + "integrity" "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" + "resolved" "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz" + "version" "1.1.1" + +"cross-spawn@^7.0.2", "cross-spawn@^7.0.3": + "integrity" "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==" + "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + "version" "7.0.3" + dependencies: + "path-key" "^3.1.0" + "shebang-command" "^2.0.0" + "which" "^2.0.1" + +"dataloader@^1.4.0": + "integrity" "sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==" + "resolved" "https://registry.npmjs.org/dataloader/-/dataloader-1.4.0.tgz" + "version" "1.4.0" + +"debug@^2.6.9": + "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" + "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + "version" "2.6.9" + dependencies: + "ms" "2.0.0" + +"debug@^3.2.7": + "integrity" "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==" + "resolved" "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" + "version" "3.2.7" + dependencies: + "ms" "^2.1.1" + +"debug@^4.1.0", "debug@^4.1.1", "debug@^4.3.1", "debug@^4.3.2", "debug@^4.3.4": + "integrity" "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==" + "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" + "version" "4.3.4" + dependencies: + "ms" "2.1.2" + +"decode-uri-component@^0.2.0": + "integrity" "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==" + "resolved" "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz" + "version" "0.2.2" + +"decompress-response@^3.3.0": + "integrity" "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==" + "resolved" "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz" + "version" "3.3.0" + dependencies: + "mimic-response" "^1.0.0" + +"decompress-tar@^4.0.0", "decompress-tar@^4.1.0", "decompress-tar@^4.1.1": + "integrity" "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==" + "resolved" "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz" + "version" "4.1.1" + dependencies: + "file-type" "^5.2.0" + "is-stream" "^1.1.0" + "tar-stream" "^1.5.2" + +"decompress-tarbz2@^4.0.0": + "integrity" "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==" + "resolved" "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz" + "version" "4.1.1" + dependencies: + "decompress-tar" "^4.1.0" + "file-type" "^6.1.0" + "is-stream" "^1.1.0" + "seek-bzip" "^1.0.5" + "unbzip2-stream" "^1.0.9" + +"decompress-targz@^4.0.0": + "integrity" "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==" + "resolved" "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz" + "version" "4.1.1" + dependencies: + "decompress-tar" "^4.1.1" + "file-type" "^5.2.0" + "is-stream" "^1.1.0" + +"decompress-unzip@^4.0.1": + "integrity" "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==" + "resolved" "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "file-type" "^3.8.0" + "get-stream" "^2.2.0" + "pify" "^2.3.0" + "yauzl" "^2.4.2" + +"decompress@^4.2.1": + "integrity" "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==" + "resolved" "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz" + "version" "4.2.1" + dependencies: + "decompress-tar" "^4.0.0" + "decompress-tarbz2" "^4.0.0" + "decompress-targz" "^4.0.0" + "decompress-unzip" "^4.0.1" + "graceful-fs" "^4.1.10" + "make-dir" "^1.0.0" + "pify" "^2.3.0" + "strip-dirs" "^2.0.0" + +"dedent@^0.7.0": + "integrity" "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" + "resolved" "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz" + "version" "0.7.0" + +"deep-is@^0.1.3": + "integrity" "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" + "resolved" "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" + "version" "0.1.4" + +"deepmerge@^4.2.2": + "integrity" "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" + "resolved" "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz" + "version" "4.2.2" + +"define-properties@^1.1.3": + "integrity" "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==" + "resolved" "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz" + "version" "1.1.4" + dependencies: + "has-property-descriptors" "^1.0.0" + "object-keys" "^1.1.1" + +"detect-libc@^1.0.3": + "integrity" "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==" + "resolved" "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz" + "version" "1.0.3" + +"detect-newline@^3.0.0": + "integrity" "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==" + "resolved" "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" + "version" "3.1.0" + +"diff-sequences@^29.3.1": + "integrity" "sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ==" + "resolved" "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.3.1.tgz" + "version" "29.3.1" + +"diff@^4.0.1": + "integrity" "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" + "resolved" "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz" + "version" "4.0.2" + +"dir-glob@^3.0.1": + "integrity" "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==" + "resolved" "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "path-type" "^4.0.0" + +"doctrine@^3.0.0": + "integrity" "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==" + "resolved" "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "esutils" "^2.0.2" + +"download@^8.0.0": + "integrity" "sha512-ASRY5QhDk7FK+XrQtQyvhpDKanLluEEQtWl/J7Lxuf/b+i8RYh997QeXvL85xitrmRKVlx9c7eTrcRdq2GS4eA==" + "resolved" "https://registry.npmjs.org/download/-/download-8.0.0.tgz" + "version" "8.0.0" + dependencies: + "archive-type" "^4.0.0" + "content-disposition" "^0.5.2" + "decompress" "^4.2.1" + "ext-name" "^5.0.0" + "file-type" "^11.1.0" + "filenamify" "^3.0.0" + "get-stream" "^4.1.0" + "got" "^8.3.1" + "make-dir" "^2.1.0" + "p-event" "^2.1.0" + "pify" "^4.0.1" + +"dprint-node@^1.0.7": + "integrity" "sha512-NTZOW9A7ipb0n7z7nC3wftvsbceircwVHSgzobJsEQa+7RnOMbhrfX5IflA6CtC4GA63DSAiHYXa4JKEy9F7cA==" + "resolved" "https://registry.npmjs.org/dprint-node/-/dprint-node-1.0.7.tgz" + "version" "1.0.7" + dependencies: + "detect-libc" "^1.0.3" + +"duplexer3@^0.1.4": + "integrity" "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==" + "resolved" "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz" + "version" "0.1.5" + +"electron-to-chromium@^1.4.251": + "integrity" "sha512-EpuHPqu8YhonqLBXHoU6hDJCD98FCe6KDoet3/gY1qsQ6usjJoHqBH2YIVs8FXaAtHwVL8Uqa/fsYao/vq9VWQ==" + "resolved" "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.276.tgz" + "version" "1.4.276" + +"elliptic@^6.5.3", "elliptic@^6.5.4": + "integrity" "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==" + "resolved" "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz" + "version" "6.5.4" + dependencies: + "bn.js" "^4.11.9" + "brorand" "^1.1.0" + "hash.js" "^1.0.0" + "hmac-drbg" "^1.0.1" + "inherits" "^2.0.4" + "minimalistic-assert" "^1.0.1" + "minimalistic-crypto-utils" "^1.0.1" + +"emittery@^0.13.1": + "integrity" "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==" + "resolved" "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz" + "version" "0.13.1" + +"emoji-regex@^8.0.0": + "integrity" "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + "version" "8.0.0" + +"end-of-stream@^1.0.0", "end-of-stream@^1.1.0": + "integrity" "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==" + "resolved" "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" + "version" "1.4.4" + dependencies: + "once" "^1.4.0" + +"enhanced-resolve@^5.10.0": + "integrity" "sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==" + "resolved" "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz" + "version" "5.10.0" + dependencies: + "graceful-fs" "^4.2.4" + "tapable" "^2.2.0" + +"envinfo@^7.7.3": + "integrity" "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==" + "resolved" "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz" + "version" "7.8.1" + +"error-ex@^1.3.1": + "integrity" "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==" + "resolved" "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" + "version" "1.3.2" + dependencies: + "is-arrayish" "^0.2.1" + +"es-module-lexer@^0.9.0": + "integrity" "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==" + "resolved" "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz" + "version" "0.9.3" + +"escalade@^3.1.1": + "integrity" "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + "resolved" "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" + "version" "3.1.1" + +"escape-string-regexp@^1.0.2": + "integrity" "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + "version" "1.0.5" + +"escape-string-regexp@^1.0.5": + "integrity" "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + "version" "1.0.5" + +"escape-string-regexp@^2.0.0": + "integrity" "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" + "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" + "version" "2.0.0" + +"escape-string-regexp@^4.0.0": + "integrity" "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + "version" "4.0.0" + +"eslint-config-prettier@^8.5.0": + "integrity" "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==" + "resolved" "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz" + "version" "8.5.0" + +"eslint-plugin-prettier@^4.2.1": + "integrity" "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==" + "resolved" "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz" + "version" "4.2.1" + dependencies: + "prettier-linter-helpers" "^1.0.0" + +"eslint-scope@^5.1.1", "eslint-scope@5.1.1": + "integrity" "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==" + "resolved" "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" + "version" "5.1.1" + dependencies: + "esrecurse" "^4.3.0" + "estraverse" "^4.1.1" + +"eslint-scope@^7.2.2": + "integrity" "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==" + "resolved" "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz" + "version" "7.2.2" + dependencies: + "esrecurse" "^4.3.0" + "estraverse" "^5.2.0" + +"eslint-utils@^3.0.0": + "integrity" "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==" + "resolved" "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "eslint-visitor-keys" "^2.0.0" + +"eslint-visitor-keys@^2.0.0": + "integrity" "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" + "resolved" "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" + "version" "2.1.0" + +"eslint-visitor-keys@^3.3.0", "eslint-visitor-keys@^3.4.1", "eslint-visitor-keys@^3.4.3": + "integrity" "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==" + "resolved" "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz" + "version" "3.4.3" + +"eslint@*", "eslint@^6.0.0 || ^7.0.0 || ^8.0.0", "eslint@^6.0.0 || ^7.0.0 || >=8.0.0", "eslint@^8.57.0", "eslint@>=5", "eslint@>=7.0.0", "eslint@>=7.28.0": + "integrity" "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==" + "resolved" "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz" + "version" "8.57.0" dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.6.1" @@ -3670,1780 +3676,1780 @@ eslint@^8.57.0: "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" "@ungap/structured-clone" "^1.2.0" - ajv "^6.12.4" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.3.2" - doctrine "^3.0.0" - escape-string-regexp "^4.0.0" - eslint-scope "^7.2.2" - eslint-visitor-keys "^3.4.3" - espree "^9.6.1" - esquery "^1.4.2" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - find-up "^5.0.0" - glob-parent "^6.0.2" - globals "^13.19.0" - graphemer "^1.4.0" - ignore "^5.2.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - is-path-inside "^3.0.3" - js-yaml "^4.1.0" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.1.2" - natural-compare "^1.4.0" - optionator "^0.9.3" - strip-ansi "^6.0.1" - text-table "^0.2.0" - -espree@^9.6.0, espree@^9.6.1: - version "9.6.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" - integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== - dependencies: - acorn "^8.9.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.4.1" - -esprima@^4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.4.2: - version "1.5.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" - integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.1.0, estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -eventemitter3@^4.0.0: - version "4.0.7" - resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" - integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== - -events@^3.2.0: - version "3.3.0" - resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - -execa@^5.0.0: - version "5.1.1" - resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" - integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== - -expect@^29.0.0, expect@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz" - integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== - dependencies: - "@jest/expect-utils" "^29.7.0" - jest-get-type "^29.6.3" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - -ext-list@^2.0.0: - version "2.2.2" - resolved "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz" - integrity sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA== - dependencies: - mime-db "^1.28.0" - -ext-name@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz" - integrity sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ== - dependencies: - ext-list "^2.0.0" - sort-keys-length "^1.0.0" - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-diff@^1.1.2: - version "1.2.0" - resolved "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz" - integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== - -fast-glob@^3.2.9: - version "3.2.12" - resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz" - integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== + "ajv" "^6.12.4" + "chalk" "^4.0.0" + "cross-spawn" "^7.0.2" + "debug" "^4.3.2" + "doctrine" "^3.0.0" + "escape-string-regexp" "^4.0.0" + "eslint-scope" "^7.2.2" + "eslint-visitor-keys" "^3.4.3" + "espree" "^9.6.1" + "esquery" "^1.4.2" + "esutils" "^2.0.2" + "fast-deep-equal" "^3.1.3" + "file-entry-cache" "^6.0.1" + "find-up" "^5.0.0" + "glob-parent" "^6.0.2" + "globals" "^13.19.0" + "graphemer" "^1.4.0" + "ignore" "^5.2.0" + "imurmurhash" "^0.1.4" + "is-glob" "^4.0.0" + "is-path-inside" "^3.0.3" + "js-yaml" "^4.1.0" + "json-stable-stringify-without-jsonify" "^1.0.1" + "levn" "^0.4.1" + "lodash.merge" "^4.6.2" + "minimatch" "^3.1.2" + "natural-compare" "^1.4.0" + "optionator" "^0.9.3" + "strip-ansi" "^6.0.1" + "text-table" "^0.2.0" + +"espree@^9.6.0", "espree@^9.6.1": + "integrity" "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==" + "resolved" "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz" + "version" "9.6.1" + dependencies: + "acorn" "^8.9.0" + "acorn-jsx" "^5.3.2" + "eslint-visitor-keys" "^3.4.1" + +"esprima@^4.0.0": + "integrity" "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + "resolved" "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" + "version" "4.0.1" + +"esquery@^1.4.2": + "integrity" "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==" + "resolved" "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz" + "version" "1.5.0" + dependencies: + "estraverse" "^5.1.0" + +"esrecurse@^4.3.0": + "integrity" "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==" + "resolved" "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + "version" "4.3.0" + dependencies: + "estraverse" "^5.2.0" + +"estraverse@^4.1.1": + "integrity" "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" + "version" "4.3.0" + +"estraverse@^5.1.0": + "integrity" "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" + "version" "5.3.0" + +"estraverse@^5.2.0": + "integrity" "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" + "version" "5.3.0" + +"esutils@^2.0.2": + "integrity" "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + "resolved" "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + "version" "2.0.3" + +"eventemitter3@^4.0.0": + "integrity" "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + "resolved" "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" + "version" "4.0.7" + +"events@^3.2.0": + "integrity" "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" + "resolved" "https://registry.npmjs.org/events/-/events-3.3.0.tgz" + "version" "3.3.0" + +"execa@^5.0.0": + "integrity" "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==" + "resolved" "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" + "version" "5.1.1" + dependencies: + "cross-spawn" "^7.0.3" + "get-stream" "^6.0.0" + "human-signals" "^2.1.0" + "is-stream" "^2.0.0" + "merge-stream" "^2.0.0" + "npm-run-path" "^4.0.1" + "onetime" "^5.1.2" + "signal-exit" "^3.0.3" + "strip-final-newline" "^2.0.0" + +"exit@^0.1.2": + "integrity" "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==" + "resolved" "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" + "version" "0.1.2" + +"expect@^29.0.0", "expect@^29.3.1": + "integrity" "sha512-gGb1yTgU30Q0O/tQq+z30KBWv24ApkMgFUpvKBkyLUBL68Wv8dHdJxTBZFl/iT8K/bqDHvUYRH6IIN3rToopPA==" + "resolved" "https://registry.npmjs.org/expect/-/expect-29.3.1.tgz" + "version" "29.3.1" + dependencies: + "@jest/expect-utils" "^29.3.1" + "jest-get-type" "^29.2.0" + "jest-matcher-utils" "^29.3.1" + "jest-message-util" "^29.3.1" + "jest-util" "^29.3.1" + +"ext-list@^2.0.0": + "integrity" "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==" + "resolved" "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz" + "version" "2.2.2" + dependencies: + "mime-db" "^1.28.0" + +"ext-name@^5.0.0": + "integrity" "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==" + "resolved" "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz" + "version" "5.0.0" + dependencies: + "ext-list" "^2.0.0" + "sort-keys-length" "^1.0.0" + +"fast-deep-equal@^3.1.1", "fast-deep-equal@^3.1.3": + "integrity" "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + "resolved" "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + "version" "3.1.3" + +"fast-diff@^1.1.2": + "integrity" "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==" + "resolved" "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz" + "version" "1.2.0" + +"fast-glob@^3.2.9": + "integrity" "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==" + "resolved" "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz" + "version" "3.2.12" dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@^2.0.6: - version "2.0.6" - resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - -fastest-levenshtein@^1.0.12: - version "1.0.16" - resolved "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz" - integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== - -fastq@^1.6.0: - version "1.13.0" - resolved "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz" - integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== - dependencies: - reusify "^1.0.4" - -fb-watchman@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz" - integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== - dependencies: - bser "2.1.1" - -fd-slicer@~1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz" - integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== - dependencies: - pend "~1.2.0" - -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== - dependencies: - flat-cache "^3.0.4" - -file-type@^11.1.0: - version "11.1.0" - resolved "https://registry.npmjs.org/file-type/-/file-type-11.1.0.tgz" - integrity sha512-rM0UO7Qm9K7TWTtA6AShI/t7H5BPjDeGVDaNyg9BjHAj3PysKy7+8C8D137R88jnR3rFJZQB/tFgydl5sN5m7g== - -file-type@^3.8.0: - version "3.9.0" - resolved "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz" - integrity sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA== - -file-type@^4.2.0: - version "4.4.0" - resolved "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz" - integrity sha512-f2UbFQEk7LXgWpi5ntcO86OeA/cC80fuDDDaX/fZ2ZGel+AF7leRQqBBW1eJNiiQkrZlAoM6P+VYP5P6bOlDEQ== - -file-type@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz" - integrity sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ== - -file-type@^6.1.0: - version "6.2.0" - resolved "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz" - integrity sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg== - -filename-reserved-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz" - integrity sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ== - -filenamify@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/filenamify/-/filenamify-3.0.0.tgz" - integrity sha512-5EFZ//MsvJgXjBAFJ+Bh2YaCTRF/VP1YOmGrgt+KJ4SFRLjI87EIdwLLuT6wQX0I4F9W41xutobzczjsOKlI/g== - dependencies: - filename-reserved-regex "^2.0.0" - strip-outer "^1.0.0" - trim-repeated "^1.0.0" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -flat-cache@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" - integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== - dependencies: - flatted "^3.1.0" - rimraf "^3.0.2" - -flatted@^3.1.0: - version "3.2.7" - resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz" - integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== - -follow-redirects@^1.0.0, follow-redirects@^1.14.0: - version "1.15.0" - resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.0.tgz" - integrity sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ== - -from2@^2.1.1: - version "2.3.0" - resolved "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz" - integrity sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g== - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.0" - -fs-constants@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz" - integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fsevents@^2.3.2: - version "2.3.3" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-intrinsic@^1.1.1: - version "1.1.3" - resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz" - integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.3" - -get-package-type@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz" - integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== - -get-stream@3.0.0, get-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz" - integrity sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ== - -get-stream@^2.2.0: - version "2.3.1" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz" - integrity sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA== - dependencies: - object-assign "^4.0.1" - pinkie-promise "^2.0.0" - -get-stream@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - -get-stream@^6.0.0: - version "6.0.1" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -glob-parent@^5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-parent@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - -glob-to-regexp@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" - integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== - -glob@^7.1.3, glob@^7.1.4: - version "7.2.3" - resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globals@^13.19.0: - version "13.24.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" - integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== - dependencies: - type-fest "^0.20.2" - -globalthis@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.2.tgz" - integrity sha512-ZQnSFO1la8P7auIOQECnm0sSuoMeaSq0EEdXMBFF2QJO4uNcwbyhSgG3MruWNbFTqCLmxVwGOl7LZ9kASvHdeQ== - dependencies: - define-properties "^1.1.3" - -globby@^11.1.0: - version "11.1.0" - resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" - -google-protobuf@^3.15.5, google-protobuf@^3.21.2: - version "3.21.2" - resolved "https://registry.npmjs.org/google-protobuf/-/google-protobuf-3.21.2.tgz" - integrity sha512-3MSOYFO5U9mPGikIYCzK0SaThypfGgS6bHqrUGXG3DPHCrb+txNqeEcns1W0lkGfk0rCyNXm7xB9rMxnCiZOoA== - -got@^8.3.1: - version "8.3.2" - resolved "https://registry.npmjs.org/got/-/got-8.3.2.tgz" - integrity sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw== + "glob-parent" "^5.1.2" + "merge2" "^1.3.0" + "micromatch" "^4.0.4" + +"fast-json-stable-stringify@^2.0.0", "fast-json-stable-stringify@^2.1.0", "fast-json-stable-stringify@2.x": + "integrity" "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + "resolved" "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + "version" "2.1.0" + +"fast-levenshtein@^2.0.6": + "integrity" "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" + "resolved" "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" + "version" "2.0.6" + +"fastest-levenshtein@^1.0.12": + "integrity" "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==" + "resolved" "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz" + "version" "1.0.16" + +"fastq@^1.6.0": + "integrity" "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==" + "resolved" "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz" + "version" "1.13.0" + dependencies: + "reusify" "^1.0.4" + +"fb-watchman@^2.0.0": + "integrity" "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==" + "resolved" "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "bser" "2.1.1" + +"fd-slicer@~1.1.0": + "integrity" "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==" + "resolved" "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "pend" "~1.2.0" + +"file-entry-cache@^6.0.1": + "integrity" "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==" + "resolved" "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" + "version" "6.0.1" + dependencies: + "flat-cache" "^3.0.4" + +"file-type@^11.1.0": + "integrity" "sha512-rM0UO7Qm9K7TWTtA6AShI/t7H5BPjDeGVDaNyg9BjHAj3PysKy7+8C8D137R88jnR3rFJZQB/tFgydl5sN5m7g==" + "resolved" "https://registry.npmjs.org/file-type/-/file-type-11.1.0.tgz" + "version" "11.1.0" + +"file-type@^3.8.0": + "integrity" "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==" + "resolved" "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz" + "version" "3.9.0" + +"file-type@^4.2.0": + "integrity" "sha512-f2UbFQEk7LXgWpi5ntcO86OeA/cC80fuDDDaX/fZ2ZGel+AF7leRQqBBW1eJNiiQkrZlAoM6P+VYP5P6bOlDEQ==" + "resolved" "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz" + "version" "4.4.0" + +"file-type@^5.2.0": + "integrity" "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==" + "resolved" "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz" + "version" "5.2.0" + +"file-type@^6.1.0": + "integrity" "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==" + "resolved" "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz" + "version" "6.2.0" + +"filename-reserved-regex@^2.0.0": + "integrity" "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==" + "resolved" "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz" + "version" "2.0.0" + +"filenamify@^3.0.0": + "integrity" "sha512-5EFZ//MsvJgXjBAFJ+Bh2YaCTRF/VP1YOmGrgt+KJ4SFRLjI87EIdwLLuT6wQX0I4F9W41xutobzczjsOKlI/g==" + "resolved" "https://registry.npmjs.org/filenamify/-/filenamify-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "filename-reserved-regex" "^2.0.0" + "strip-outer" "^1.0.0" + "trim-repeated" "^1.0.0" + +"fill-range@^7.0.1": + "integrity" "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==" + "resolved" "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + "version" "7.0.1" + dependencies: + "to-regex-range" "^5.0.1" + +"find-up@^4.0.0": + "integrity" "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==" + "resolved" "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "locate-path" "^5.0.0" + "path-exists" "^4.0.0" + +"find-up@^4.1.0": + "integrity" "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==" + "resolved" "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "locate-path" "^5.0.0" + "path-exists" "^4.0.0" + +"find-up@^5.0.0": + "integrity" "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==" + "resolved" "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" + "version" "5.0.0" + dependencies: + "locate-path" "^6.0.0" + "path-exists" "^4.0.0" + +"flat-cache@^3.0.4": + "integrity" "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==" + "resolved" "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" + "version" "3.0.4" + dependencies: + "flatted" "^3.1.0" + "rimraf" "^3.0.2" + +"flatted@^3.1.0": + "integrity" "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" + "resolved" "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz" + "version" "3.2.7" + +"follow-redirects@^1.0.0", "follow-redirects@^1.14.0": + "integrity" "sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==" + "resolved" "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.0.tgz" + "version" "1.15.0" + +"from2@^2.1.1": + "integrity" "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==" + "resolved" "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz" + "version" "2.3.0" + dependencies: + "inherits" "^2.0.1" + "readable-stream" "^2.0.0" + +"fs-constants@^1.0.0": + "integrity" "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + "resolved" "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz" + "version" "1.0.0" + +"fs.realpath@^1.0.0": + "integrity" "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + "resolved" "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + "version" "1.0.0" + +"function-bind@^1.1.1": + "integrity" "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "resolved" "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" + "version" "1.1.1" + +"gensync@^1.0.0-beta.2": + "integrity" "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" + "resolved" "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" + "version" "1.0.0-beta.2" + +"get-caller-file@^2.0.5": + "integrity" "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + "resolved" "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" + "version" "2.0.5" + +"get-intrinsic@^1.1.1": + "integrity" "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==" + "resolved" "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz" + "version" "1.1.3" + dependencies: + "function-bind" "^1.1.1" + "has" "^1.0.3" + "has-symbols" "^1.0.3" + +"get-package-type@^0.1.0": + "integrity" "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==" + "resolved" "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz" + "version" "0.1.0" + +"get-stream@^2.2.0": + "integrity" "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==" + "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz" + "version" "2.3.1" + dependencies: + "object-assign" "^4.0.1" + "pinkie-promise" "^2.0.0" + +"get-stream@^3.0.0": + "integrity" "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==" + "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz" + "version" "3.0.0" + +"get-stream@^4.1.0": + "integrity" "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==" + "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "pump" "^3.0.0" + +"get-stream@^6.0.0": + "integrity" "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" + "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" + "version" "6.0.1" + +"get-stream@3.0.0": + "integrity" "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==" + "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz" + "version" "3.0.0" + +"glob-parent@^5.1.2": + "integrity" "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==" + "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + "version" "5.1.2" + dependencies: + "is-glob" "^4.0.1" + +"glob-parent@^6.0.2": + "integrity" "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==" + "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" + "version" "6.0.2" + dependencies: + "is-glob" "^4.0.3" + +"glob-to-regexp@^0.4.1": + "integrity" "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + "resolved" "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" + "version" "0.4.1" + +"glob@^7.1.3", "glob@^7.1.4": + "integrity" "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==" + "resolved" "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" + "version" "7.2.3" + dependencies: + "fs.realpath" "^1.0.0" + "inflight" "^1.0.4" + "inherits" "2" + "minimatch" "^3.1.1" + "once" "^1.3.0" + "path-is-absolute" "^1.0.0" + +"globals@^11.1.0": + "integrity" "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + "resolved" "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" + "version" "11.12.0" + +"globals@^13.19.0": + "integrity" "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==" + "resolved" "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz" + "version" "13.24.0" + dependencies: + "type-fest" "^0.20.2" + +"globalthis@^1.0.1": + "integrity" "sha512-ZQnSFO1la8P7auIOQECnm0sSuoMeaSq0EEdXMBFF2QJO4uNcwbyhSgG3MruWNbFTqCLmxVwGOl7LZ9kASvHdeQ==" + "resolved" "https://registry.npmjs.org/globalthis/-/globalthis-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "define-properties" "^1.1.3" + +"globby@^11.1.0": + "integrity" "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==" + "resolved" "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" + "version" "11.1.0" + dependencies: + "array-union" "^2.1.0" + "dir-glob" "^3.0.1" + "fast-glob" "^3.2.9" + "ignore" "^5.2.0" + "merge2" "^1.4.1" + "slash" "^3.0.0" + +"google-protobuf@^3.14.0", "google-protobuf@^3.15.5", "google-protobuf@^3.21.2": + "integrity" "sha512-3MSOYFO5U9mPGikIYCzK0SaThypfGgS6bHqrUGXG3DPHCrb+txNqeEcns1W0lkGfk0rCyNXm7xB9rMxnCiZOoA==" + "resolved" "https://registry.npmjs.org/google-protobuf/-/google-protobuf-3.21.2.tgz" + "version" "3.21.2" + +"got@^8.3.1": + "integrity" "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==" + "resolved" "https://registry.npmjs.org/got/-/got-8.3.2.tgz" + "version" "8.3.2" dependencies: "@sindresorhus/is" "^0.7.0" - cacheable-request "^2.1.1" - decompress-response "^3.3.0" - duplexer3 "^0.1.4" - get-stream "^3.0.0" - into-stream "^3.1.0" - is-retry-allowed "^1.1.0" - isurl "^1.0.0-alpha5" - lowercase-keys "^1.0.0" - mimic-response "^1.0.0" - p-cancelable "^0.4.0" - p-timeout "^2.0.1" - pify "^3.0.0" - safe-buffer "^5.1.1" - timed-out "^4.0.1" - url-parse-lax "^3.0.0" - url-to-options "^1.0.1" - -graceful-fs@^4.1.10, graceful-fs@^4.1.2, graceful-fs@^4.2.4, graceful-fs@^4.2.9: - version "4.2.10" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz" - integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== - -graphemer@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" - integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== - -grpc-web@^1.4.2: - version "1.4.2" - resolved "https://registry.npmjs.org/grpc-web/-/grpc-web-1.4.2.tgz" - integrity sha512-gUxWq42l5ldaRplcKb4Pw5O4XBONWZgz3vxIIXnfIeJj8Jc3wYiq2O4c9xzx/NGbbPEej4rhI62C9eTENwLGNw== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-property-descriptors@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz" - integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== - dependencies: - get-intrinsic "^1.1.1" - -has-symbol-support-x@^1.4.1: - version "1.4.2" - resolved "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz" - integrity sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw== - -has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has-to-string-tag-x@^1.2.0: - version "1.4.1" - resolved "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz" - integrity sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw== - dependencies: - has-symbol-support-x "^1.4.1" - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -hash-base@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz" - integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== - dependencies: - inherits "^2.0.4" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.7" - resolved "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -he@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - -hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz" - integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - -html-encoding-sniffer@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz" - integrity sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA== - dependencies: - whatwg-encoding "^2.0.0" - -html-escaper@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" - integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== - -http-cache-semantics@3.8.1: - version "3.8.1" - resolved "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz" - integrity sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w== - -http-proxy@^1.18.1: - version "1.18.1" - resolved "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz" - integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== - dependencies: - eventemitter3 "^4.0.0" - follow-redirects "^1.0.0" - requires-port "^1.0.0" - -http-server@^14.1.1: - version "14.1.1" - resolved "https://registry.npmjs.org/http-server/-/http-server-14.1.1.tgz" - integrity sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A== - dependencies: - basic-auth "^2.0.1" - chalk "^4.1.2" - corser "^2.0.1" - he "^1.2.0" - html-encoding-sniffer "^3.0.0" - http-proxy "^1.18.1" - mime "^1.6.0" - minimist "^1.2.6" - opener "^1.5.1" - portfinder "^1.0.28" - secure-compare "3.0.1" - union "~0.5.0" - url-join "^4.0.1" - -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - -iconv-lite@0.6.3: - version "0.6.3" - resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" - integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== - dependencies: - safer-buffer ">= 2.1.2 < 3.0.0" - -ieee754@^1.1.13: - version "1.2.1" - resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -ignore@^5.2.0: - version "5.2.1" - resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.1.tgz" - integrity sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA== - -import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-local@^3.0.2: - version "3.1.0" - resolved "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz" - integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -interpret@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz" - integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== - -into-stream@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz" - integrity sha512-TcdjPibTksa1NQximqep2r17ISRiNE9fwlfbg3F8ANdvP5/yrFTew86VcO//jk4QTaMlbjypPBq76HN2zaKfZQ== - dependencies: - from2 "^2.1.1" - p-is-promise "^1.1.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" - integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== - -is-core-module@^2.9.0: - version "2.10.0" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz" - integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg== - dependencies: - has "^1.0.3" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-generator-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz" - integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: - version "4.0.3" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-natural-number@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz" - integrity sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ== - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-object@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz" - integrity sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA== - -is-path-inside@^3.0.3: - version "3.0.3" - resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" - integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== - -is-plain-obj@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz" - integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== - -is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-retry-allowed@^1.1.0: - version "1.2.0" - resolved "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz" - integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg== - -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" - integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== - -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - -isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" - integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== - -isomorphic-ws@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz" - integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w== - -istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz" - integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== - -istanbul-lib-instrument@^5.0.4: - version "5.2.1" - resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz" - integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== + "cacheable-request" "^2.1.1" + "decompress-response" "^3.3.0" + "duplexer3" "^0.1.4" + "get-stream" "^3.0.0" + "into-stream" "^3.1.0" + "is-retry-allowed" "^1.1.0" + "isurl" "^1.0.0-alpha5" + "lowercase-keys" "^1.0.0" + "mimic-response" "^1.0.0" + "p-cancelable" "^0.4.0" + "p-timeout" "^2.0.1" + "pify" "^3.0.0" + "safe-buffer" "^5.1.1" + "timed-out" "^4.0.1" + "url-parse-lax" "^3.0.0" + "url-to-options" "^1.0.1" + +"graceful-fs@^4.1.10", "graceful-fs@^4.1.2", "graceful-fs@^4.2.4", "graceful-fs@^4.2.9": + "integrity" "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + "resolved" "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz" + "version" "4.2.10" + +"graphemer@^1.4.0": + "integrity" "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" + "resolved" "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz" + "version" "1.4.0" + +"grpc-web@^1.4.2": + "integrity" "sha512-gUxWq42l5ldaRplcKb4Pw5O4XBONWZgz3vxIIXnfIeJj8Jc3wYiq2O4c9xzx/NGbbPEej4rhI62C9eTENwLGNw==" + "resolved" "https://registry.npmjs.org/grpc-web/-/grpc-web-1.4.2.tgz" + "version" "1.4.2" + +"has-flag@^3.0.0": + "integrity" "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + "version" "3.0.0" + +"has-flag@^4.0.0": + "integrity" "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + "version" "4.0.0" + +"has-property-descriptors@^1.0.0": + "integrity" "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==" + "resolved" "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "get-intrinsic" "^1.1.1" + +"has-symbol-support-x@^1.4.1": + "integrity" "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==" + "resolved" "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz" + "version" "1.4.2" + +"has-symbols@^1.0.3": + "integrity" "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + "resolved" "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" + "version" "1.0.3" + +"has-to-string-tag-x@^1.2.0": + "integrity" "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==" + "resolved" "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz" + "version" "1.4.1" + dependencies: + "has-symbol-support-x" "^1.4.1" + +"has@^1.0.3": + "integrity" "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==" + "resolved" "https://registry.npmjs.org/has/-/has-1.0.3.tgz" + "version" "1.0.3" + dependencies: + "function-bind" "^1.1.1" + +"hash-base@^3.0.0": + "integrity" "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==" + "resolved" "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "inherits" "^2.0.4" + "readable-stream" "^3.6.0" + "safe-buffer" "^5.2.0" + +"hash.js@^1.0.0", "hash.js@^1.0.3": + "integrity" "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==" + "resolved" "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz" + "version" "1.1.7" + dependencies: + "inherits" "^2.0.3" + "minimalistic-assert" "^1.0.1" + +"he@^1.2.0": + "integrity" "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + "resolved" "https://registry.npmjs.org/he/-/he-1.2.0.tgz" + "version" "1.2.0" + +"hmac-drbg@^1.0.1": + "integrity" "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==" + "resolved" "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "hash.js" "^1.0.3" + "minimalistic-assert" "^1.0.0" + "minimalistic-crypto-utils" "^1.0.1" + +"html-encoding-sniffer@^3.0.0": + "integrity" "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==" + "resolved" "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "whatwg-encoding" "^2.0.0" + +"html-escaper@^2.0.0": + "integrity" "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" + "resolved" "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" + "version" "2.0.2" + +"http-cache-semantics@3.8.1": + "integrity" "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==" + "resolved" "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz" + "version" "3.8.1" + +"http-proxy@^1.18.1": + "integrity" "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==" + "resolved" "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz" + "version" "1.18.1" + dependencies: + "eventemitter3" "^4.0.0" + "follow-redirects" "^1.0.0" + "requires-port" "^1.0.0" + +"http-server@^14.1.1": + "integrity" "sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A==" + "resolved" "https://registry.npmjs.org/http-server/-/http-server-14.1.1.tgz" + "version" "14.1.1" + dependencies: + "basic-auth" "^2.0.1" + "chalk" "^4.1.2" + "corser" "^2.0.1" + "he" "^1.2.0" + "html-encoding-sniffer" "^3.0.0" + "http-proxy" "^1.18.1" + "mime" "^1.6.0" + "minimist" "^1.2.6" + "opener" "^1.5.1" + "portfinder" "^1.0.28" + "secure-compare" "3.0.1" + "union" "~0.5.0" + "url-join" "^4.0.1" + +"human-signals@^2.1.0": + "integrity" "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" + "resolved" "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" + "version" "2.1.0" + +"iconv-lite@0.6.3": + "integrity" "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==" + "resolved" "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" + "version" "0.6.3" + dependencies: + "safer-buffer" ">= 2.1.2 < 3.0.0" + +"ieee754@^1.1.13": + "integrity" "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + "resolved" "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" + "version" "1.2.1" + +"ignore@^5.2.0": + "integrity" "sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA==" + "resolved" "https://registry.npmjs.org/ignore/-/ignore-5.2.1.tgz" + "version" "5.2.1" + +"import-fresh@^3.2.1": + "integrity" "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==" + "resolved" "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + "version" "3.3.0" + dependencies: + "parent-module" "^1.0.0" + "resolve-from" "^4.0.0" + +"import-local@^3.0.2": + "integrity" "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==" + "resolved" "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "pkg-dir" "^4.2.0" + "resolve-cwd" "^3.0.0" + +"imurmurhash@^0.1.4": + "integrity" "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" + "resolved" "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + "version" "0.1.4" + +"inflight@^1.0.4": + "integrity" "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==" + "resolved" "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + "version" "1.0.6" + dependencies: + "once" "^1.3.0" + "wrappy" "1" + +"inherits@^2.0.1", "inherits@^2.0.3", "inherits@^2.0.4", "inherits@~2.0.3", "inherits@2": + "integrity" "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + "version" "2.0.4" + +"interpret@^2.2.0": + "integrity" "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==" + "resolved" "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz" + "version" "2.2.0" + +"into-stream@^3.1.0": + "integrity" "sha512-TcdjPibTksa1NQximqep2r17ISRiNE9fwlfbg3F8ANdvP5/yrFTew86VcO//jk4QTaMlbjypPBq76HN2zaKfZQ==" + "resolved" "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "from2" "^2.1.1" + "p-is-promise" "^1.1.0" + +"is-arrayish@^0.2.1": + "integrity" "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + "resolved" "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + "version" "0.2.1" + +"is-core-module@^2.9.0": + "integrity" "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==" + "resolved" "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz" + "version" "2.10.0" + dependencies: + "has" "^1.0.3" + +"is-extglob@^2.1.1": + "integrity" "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + "resolved" "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + "version" "2.1.1" + +"is-fullwidth-code-point@^3.0.0": + "integrity" "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + "version" "3.0.0" + +"is-generator-fn@^2.0.0": + "integrity" "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==" + "resolved" "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz" + "version" "2.1.0" + +"is-glob@^4.0.0", "is-glob@^4.0.1", "is-glob@^4.0.3": + "integrity" "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==" + "resolved" "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + "version" "4.0.3" + dependencies: + "is-extglob" "^2.1.1" + +"is-natural-number@^4.0.1": + "integrity" "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==" + "resolved" "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz" + "version" "4.0.1" + +"is-number@^7.0.0": + "integrity" "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + "resolved" "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + "version" "7.0.0" + +"is-object@^1.0.1": + "integrity" "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==" + "resolved" "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz" + "version" "1.0.2" + +"is-path-inside@^3.0.3": + "integrity" "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" + "resolved" "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" + "version" "3.0.3" + +"is-plain-obj@^1.0.0": + "integrity" "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==" + "resolved" "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz" + "version" "1.1.0" + +"is-plain-object@^2.0.4": + "integrity" "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==" + "resolved" "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" + "version" "2.0.4" + dependencies: + "isobject" "^3.0.1" + +"is-retry-allowed@^1.1.0": + "integrity" "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==" + "resolved" "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz" + "version" "1.2.0" + +"is-stream@^1.1.0": + "integrity" "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==" + "resolved" "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" + "version" "1.1.0" + +"is-stream@^2.0.0": + "integrity" "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" + "resolved" "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" + "version" "2.0.1" + +"isarray@~1.0.0": + "integrity" "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "resolved" "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + "version" "1.0.0" + +"isexe@^2.0.0": + "integrity" "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + "resolved" "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + "version" "2.0.0" + +"isobject@^3.0.1": + "integrity" "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" + "resolved" "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" + "version" "3.0.1" + +"isomorphic-ws@^4.0.1": + "integrity" "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==" + "resolved" "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz" + "version" "4.0.1" + +"istanbul-lib-coverage@^3.0.0", "istanbul-lib-coverage@^3.2.0": + "integrity" "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==" + "resolved" "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz" + "version" "3.2.0" + +"istanbul-lib-instrument@^5.0.4", "istanbul-lib-instrument@^5.1.0": + "integrity" "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==" + "resolved" "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz" + "version" "5.2.1" dependencies: "@babel/core" "^7.12.3" "@babel/parser" "^7.14.7" "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.2.0" - semver "^6.3.0" - -istanbul-lib-instrument@^6.0.0: - version "6.0.1" - resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz" - integrity sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA== - dependencies: - "@babel/core" "^7.12.3" - "@babel/parser" "^7.14.7" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.2.0" - semver "^7.5.4" - -istanbul-lib-report@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz" - integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^4.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz" - integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.1.3: - version "3.1.6" - resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz" - integrity sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -isurl@^1.0.0-alpha5: - version "1.0.0" - resolved "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz" - integrity sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w== - dependencies: - has-to-string-tag-x "^1.2.0" - is-object "^1.0.1" - -jest-changed-files@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz" - integrity sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w== - dependencies: - execa "^5.0.0" - jest-util "^29.7.0" - p-limit "^3.1.0" - -jest-circus@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz" - integrity sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/expect" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" + "istanbul-lib-coverage" "^3.2.0" + "semver" "^6.3.0" + +"istanbul-lib-report@^3.0.0": + "integrity" "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==" + "resolved" "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "istanbul-lib-coverage" "^3.0.0" + "make-dir" "^3.0.0" + "supports-color" "^7.1.0" + +"istanbul-lib-source-maps@^4.0.0": + "integrity" "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==" + "resolved" "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "debug" "^4.1.1" + "istanbul-lib-coverage" "^3.0.0" + "source-map" "^0.6.1" + +"istanbul-reports@^3.1.3": + "integrity" "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==" + "resolved" "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz" + "version" "3.1.5" + dependencies: + "html-escaper" "^2.0.0" + "istanbul-lib-report" "^3.0.0" + +"isurl@^1.0.0-alpha5": + "integrity" "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==" + "resolved" "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "has-to-string-tag-x" "^1.2.0" + "is-object" "^1.0.1" + +"jest-changed-files@^29.2.0": + "integrity" "sha512-qPVmLLyBmvF5HJrY7krDisx6Voi8DmlV3GZYX0aFNbaQsZeoz1hfxcCMbqDGuQCxU1dJy9eYc2xscE8QrCCYaA==" + "resolved" "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.2.0.tgz" + "version" "29.2.0" + dependencies: + "execa" "^5.0.0" + "p-limit" "^3.1.0" + +"jest-circus@^29.3.1": + "integrity" "sha512-wpr26sEvwb3qQQbdlmei+gzp6yoSSoSL6GsLPxnuayZSMrSd5Ka7IjAvatpIernBvT2+Ic6RLTg+jSebScmasg==" + "resolved" "https://registry.npmjs.org/jest-circus/-/jest-circus-29.3.1.tgz" + "version" "29.3.1" + dependencies: + "@jest/environment" "^29.3.1" + "@jest/expect" "^29.3.1" + "@jest/test-result" "^29.3.1" + "@jest/types" "^29.3.1" "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - dedent "^1.0.0" - is-generator-fn "^2.0.0" - jest-each "^29.7.0" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-runtime "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - p-limit "^3.1.0" - pretty-format "^29.7.0" - pure-rand "^6.0.0" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-cli@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz" - integrity sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg== - dependencies: - "@jest/core" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" - chalk "^4.0.0" - create-jest "^29.7.0" - exit "^0.1.2" - import-local "^3.0.2" - jest-config "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - yargs "^17.3.1" - -jest-config@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz" - integrity sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ== + "chalk" "^4.0.0" + "co" "^4.6.0" + "dedent" "^0.7.0" + "is-generator-fn" "^2.0.0" + "jest-each" "^29.3.1" + "jest-matcher-utils" "^29.3.1" + "jest-message-util" "^29.3.1" + "jest-runtime" "^29.3.1" + "jest-snapshot" "^29.3.1" + "jest-util" "^29.3.1" + "p-limit" "^3.1.0" + "pretty-format" "^29.3.1" + "slash" "^3.0.0" + "stack-utils" "^2.0.3" + +"jest-cli@^29.3.1": + "integrity" "sha512-TO/ewvwyvPOiBBuWZ0gm04z3WWP8TIK8acgPzE4IxgsLKQgb377NYGrQLc3Wl/7ndWzIH2CDNNsUjGxwLL43VQ==" + "resolved" "https://registry.npmjs.org/jest-cli/-/jest-cli-29.3.1.tgz" + "version" "29.3.1" + dependencies: + "@jest/core" "^29.3.1" + "@jest/test-result" "^29.3.1" + "@jest/types" "^29.3.1" + "chalk" "^4.0.0" + "exit" "^0.1.2" + "graceful-fs" "^4.2.9" + "import-local" "^3.0.2" + "jest-config" "^29.3.1" + "jest-util" "^29.3.1" + "jest-validate" "^29.3.1" + "prompts" "^2.0.1" + "yargs" "^17.3.1" + +"jest-config@^29.3.1": + "integrity" "sha512-y0tFHdj2WnTEhxmGUK1T7fgLen7YK4RtfvpLFBXfQkh2eMJAQq24Vx9472lvn5wg0MAO6B+iPfJfzdR9hJYalg==" + "resolved" "https://registry.npmjs.org/jest-config/-/jest-config-29.3.1.tgz" + "version" "29.3.1" dependencies: "@babel/core" "^7.11.6" - "@jest/test-sequencer" "^29.7.0" - "@jest/types" "^29.6.3" - babel-jest "^29.7.0" - chalk "^4.0.0" - ci-info "^3.2.0" - deepmerge "^4.2.2" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-circus "^29.7.0" - jest-environment-node "^29.7.0" - jest-get-type "^29.6.3" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-runner "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - micromatch "^4.0.4" - parse-json "^5.2.0" - pretty-format "^29.7.0" - slash "^3.0.0" - strip-json-comments "^3.1.1" - -jest-diff@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz" - integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== - dependencies: - chalk "^4.0.0" - diff-sequences "^29.6.3" - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-docblock@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz" - integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g== - dependencies: - detect-newline "^3.0.0" - -jest-each@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz" - integrity sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ== - dependencies: - "@jest/types" "^29.6.3" - chalk "^4.0.0" - jest-get-type "^29.6.3" - jest-util "^29.7.0" - pretty-format "^29.7.0" - -jest-environment-node@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz" - integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/fake-timers" "^29.7.0" - "@jest/types" "^29.6.3" + "@jest/test-sequencer" "^29.3.1" + "@jest/types" "^29.3.1" + "babel-jest" "^29.3.1" + "chalk" "^4.0.0" + "ci-info" "^3.2.0" + "deepmerge" "^4.2.2" + "glob" "^7.1.3" + "graceful-fs" "^4.2.9" + "jest-circus" "^29.3.1" + "jest-environment-node" "^29.3.1" + "jest-get-type" "^29.2.0" + "jest-regex-util" "^29.2.0" + "jest-resolve" "^29.3.1" + "jest-runner" "^29.3.1" + "jest-util" "^29.3.1" + "jest-validate" "^29.3.1" + "micromatch" "^4.0.4" + "parse-json" "^5.2.0" + "pretty-format" "^29.3.1" + "slash" "^3.0.0" + "strip-json-comments" "^3.1.1" + +"jest-diff@^29.3.1": + "integrity" "sha512-vU8vyiO7568tmin2lA3r2DP8oRvzhvRcD4DjpXc6uGveQodyk7CKLhQlCSiwgx3g0pFaE88/KLZ0yaTWMc4Uiw==" + "resolved" "https://registry.npmjs.org/jest-diff/-/jest-diff-29.3.1.tgz" + "version" "29.3.1" + dependencies: + "chalk" "^4.0.0" + "diff-sequences" "^29.3.1" + "jest-get-type" "^29.2.0" + "pretty-format" "^29.3.1" + +"jest-docblock@^29.2.0": + "integrity" "sha512-bkxUsxTgWQGbXV5IENmfiIuqZhJcyvF7tU4zJ/7ioTutdz4ToB5Yx6JOFBpgI+TphRY4lhOyCWGNH/QFQh5T6A==" + "resolved" "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.2.0.tgz" + "version" "29.2.0" + dependencies: + "detect-newline" "^3.0.0" + +"jest-each@^29.3.1": + "integrity" "sha512-qrZH7PmFB9rEzCSl00BWjZYuS1BSOH8lLuC0azQE9lQrAx3PWGKHTDudQiOSwIy5dGAJh7KA0ScYlCP7JxvFYA==" + "resolved" "https://registry.npmjs.org/jest-each/-/jest-each-29.3.1.tgz" + "version" "29.3.1" + dependencies: + "@jest/types" "^29.3.1" + "chalk" "^4.0.0" + "jest-get-type" "^29.2.0" + "jest-util" "^29.3.1" + "pretty-format" "^29.3.1" + +"jest-environment-node@^29.3.1": + "integrity" "sha512-xm2THL18Xf5sIHoU7OThBPtuH6Lerd+Y1NLYiZJlkE3hbE+7N7r8uvHIl/FkZ5ymKXJe/11SQuf3fv4v6rUMag==" + "resolved" "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.3.1.tgz" + "version" "29.3.1" + dependencies: + "@jest/environment" "^29.3.1" + "@jest/fake-timers" "^29.3.1" + "@jest/types" "^29.3.1" "@types/node" "*" - jest-mock "^29.7.0" - jest-util "^29.7.0" + "jest-mock" "^29.3.1" + "jest-util" "^29.3.1" -jest-get-type@^29.6.3: - version "29.6.3" - resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz" - integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== +"jest-get-type@^29.2.0": + "integrity" "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==" + "resolved" "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz" + "version" "29.2.0" -jest-haste-map@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz" - integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA== +"jest-haste-map@^29.3.1": + "integrity" "sha512-/FFtvoG1xjbbPXQLFef+WSU4yrc0fc0Dds6aRPBojUid7qlPqZvxdUBA03HW0fnVHXVCnCdkuoghYItKNzc/0A==" + "resolved" "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.3.1.tgz" + "version" "29.3.1" dependencies: - "@jest/types" "^29.6.3" + "@jest/types" "^29.3.1" "@types/graceful-fs" "^4.1.3" "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.9" - jest-regex-util "^29.6.3" - jest-util "^29.7.0" - jest-worker "^29.7.0" - micromatch "^4.0.4" - walker "^1.0.8" + "anymatch" "^3.0.3" + "fb-watchman" "^2.0.0" + "graceful-fs" "^4.2.9" + "jest-regex-util" "^29.2.0" + "jest-util" "^29.3.1" + "jest-worker" "^29.3.1" + "micromatch" "^4.0.4" + "walker" "^1.0.8" optionalDependencies: - fsevents "^2.3.2" + "fsevents" "^2.3.2" -jest-leak-detector@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz" - integrity sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw== +"jest-leak-detector@^29.3.1": + "integrity" "sha512-3DA/VVXj4zFOPagGkuqHnSQf1GZBmmlagpguxEERO6Pla2g84Q1MaVIB3YMxgUaFIaYag8ZnTyQgiZ35YEqAQA==" + "resolved" "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.3.1.tgz" + "version" "29.3.1" dependencies: - jest-get-type "^29.6.3" - pretty-format "^29.7.0" + "jest-get-type" "^29.2.0" + "pretty-format" "^29.3.1" -jest-matcher-utils@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz" - integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== +"jest-matcher-utils@^29.3.1": + "integrity" "sha512-fkRMZUAScup3txIKfMe3AIZZmPEjWEdsPJFK3AIy5qRohWqQFg1qrmKfYXR9qEkNc7OdAu2N4KPHibEmy4HPeQ==" + "resolved" "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.3.1.tgz" + "version" "29.3.1" dependencies: - chalk "^4.0.0" - jest-diff "^29.7.0" - jest-get-type "^29.6.3" - pretty-format "^29.7.0" + "chalk" "^4.0.0" + "jest-diff" "^29.3.1" + "jest-get-type" "^29.2.0" + "pretty-format" "^29.3.1" -jest-message-util@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz" - integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== +"jest-message-util@^29.3.1": + "integrity" "sha512-lMJTbgNcDm5z+6KDxWtqOFWlGQxD6XaYwBqHR8kmpkP+WWWG90I35kdtQHY67Ay5CSuydkTBbJG+tH9JShFCyA==" + "resolved" "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.3.1.tgz" + "version" "29.3.1" dependencies: "@babel/code-frame" "^7.12.13" - "@jest/types" "^29.6.3" + "@jest/types" "^29.3.1" "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^29.7.0" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-mock@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz" - integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw== - dependencies: - "@jest/types" "^29.6.3" + "chalk" "^4.0.0" + "graceful-fs" "^4.2.9" + "micromatch" "^4.0.4" + "pretty-format" "^29.3.1" + "slash" "^3.0.0" + "stack-utils" "^2.0.3" + +"jest-mock@^29.3.1": + "integrity" "sha512-H8/qFDtDVMFvFP4X8NuOT3XRDzOUTz+FeACjufHzsOIBAxivLqkB1PoLCaJx9iPPQ8dZThHPp/G3WRWyMgA3JA==" + "resolved" "https://registry.npmjs.org/jest-mock/-/jest-mock-29.3.1.tgz" + "version" "29.3.1" + dependencies: + "@jest/types" "^29.3.1" "@types/node" "*" - jest-util "^29.7.0" - -jest-pnp-resolver@^1.2.2: - version "1.2.3" - resolved "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz" - integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== - -jest-regex-util@^29.6.3: - version "29.6.3" - resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz" - integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg== - -jest-resolve-dependencies@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz" - integrity sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA== - dependencies: - jest-regex-util "^29.6.3" - jest-snapshot "^29.7.0" - -jest-resolve@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz" - integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA== - dependencies: - chalk "^4.0.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-pnp-resolver "^1.2.2" - jest-util "^29.7.0" - jest-validate "^29.7.0" - resolve "^1.20.0" - resolve.exports "^2.0.0" - slash "^3.0.0" - -jest-runner@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz" - integrity sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ== - dependencies: - "@jest/console" "^29.7.0" - "@jest/environment" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" + "jest-util" "^29.3.1" + +"jest-pnp-resolver@^1.2.2": + "integrity" "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==" + "resolved" "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz" + "version" "1.2.2" + +"jest-regex-util@^29.2.0": + "integrity" "sha512-6yXn0kg2JXzH30cr2NlThF+70iuO/3irbaB4mh5WyqNIvLLP+B6sFdluO1/1RJmslyh/f9osnefECflHvTbwVA==" + "resolved" "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.2.0.tgz" + "version" "29.2.0" + +"jest-resolve-dependencies@^29.3.1": + "integrity" "sha512-Vk0cYq0byRw2WluNmNWGqPeRnZ3p3hHmjJMp2dyyZeYIfiBskwq4rpiuGFR6QGAdbj58WC7HN4hQHjf2mpvrLA==" + "resolved" "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.3.1.tgz" + "version" "29.3.1" + dependencies: + "jest-regex-util" "^29.2.0" + "jest-snapshot" "^29.3.1" + +"jest-resolve@*", "jest-resolve@^29.3.1": + "integrity" "sha512-amXJgH/Ng712w3Uz5gqzFBBjxV8WFLSmNjoreBGMqxgCz5cH7swmBZzgBaCIOsvb0NbpJ0vgaSFdJqMdT+rADw==" + "resolved" "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.3.1.tgz" + "version" "29.3.1" + dependencies: + "chalk" "^4.0.0" + "graceful-fs" "^4.2.9" + "jest-haste-map" "^29.3.1" + "jest-pnp-resolver" "^1.2.2" + "jest-util" "^29.3.1" + "jest-validate" "^29.3.1" + "resolve" "^1.20.0" + "resolve.exports" "^1.1.0" + "slash" "^3.0.0" + +"jest-runner@^29.3.1": + "integrity" "sha512-oFvcwRNrKMtE6u9+AQPMATxFcTySyKfLhvso7Sdk/rNpbhg4g2GAGCopiInk1OP4q6gz3n6MajW4+fnHWlU3bA==" + "resolved" "https://registry.npmjs.org/jest-runner/-/jest-runner-29.3.1.tgz" + "version" "29.3.1" + dependencies: + "@jest/console" "^29.3.1" + "@jest/environment" "^29.3.1" + "@jest/test-result" "^29.3.1" + "@jest/transform" "^29.3.1" + "@jest/types" "^29.3.1" "@types/node" "*" - chalk "^4.0.0" - emittery "^0.13.1" - graceful-fs "^4.2.9" - jest-docblock "^29.7.0" - jest-environment-node "^29.7.0" - jest-haste-map "^29.7.0" - jest-leak-detector "^29.7.0" - jest-message-util "^29.7.0" - jest-resolve "^29.7.0" - jest-runtime "^29.7.0" - jest-util "^29.7.0" - jest-watcher "^29.7.0" - jest-worker "^29.7.0" - p-limit "^3.1.0" - source-map-support "0.5.13" - -jest-runtime@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz" - integrity sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/fake-timers" "^29.7.0" - "@jest/globals" "^29.7.0" - "@jest/source-map" "^29.6.3" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" + "chalk" "^4.0.0" + "emittery" "^0.13.1" + "graceful-fs" "^4.2.9" + "jest-docblock" "^29.2.0" + "jest-environment-node" "^29.3.1" + "jest-haste-map" "^29.3.1" + "jest-leak-detector" "^29.3.1" + "jest-message-util" "^29.3.1" + "jest-resolve" "^29.3.1" + "jest-runtime" "^29.3.1" + "jest-util" "^29.3.1" + "jest-watcher" "^29.3.1" + "jest-worker" "^29.3.1" + "p-limit" "^3.1.0" + "source-map-support" "0.5.13" + +"jest-runtime@^29.3.1": + "integrity" "sha512-jLzkIxIqXwBEOZx7wx9OO9sxoZmgT2NhmQKzHQm1xwR1kNW/dn0OjxR424VwHHf1SPN6Qwlb5pp1oGCeFTQ62A==" + "resolved" "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.3.1.tgz" + "version" "29.3.1" + dependencies: + "@jest/environment" "^29.3.1" + "@jest/fake-timers" "^29.3.1" + "@jest/globals" "^29.3.1" + "@jest/source-map" "^29.2.0" + "@jest/test-result" "^29.3.1" + "@jest/transform" "^29.3.1" + "@jest/types" "^29.3.1" "@types/node" "*" - chalk "^4.0.0" - cjs-module-lexer "^1.0.0" - collect-v8-coverage "^1.0.0" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-message-util "^29.7.0" - jest-mock "^29.7.0" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - slash "^3.0.0" - strip-bom "^4.0.0" - -jest-snapshot@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz" - integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw== + "chalk" "^4.0.0" + "cjs-module-lexer" "^1.0.0" + "collect-v8-coverage" "^1.0.0" + "glob" "^7.1.3" + "graceful-fs" "^4.2.9" + "jest-haste-map" "^29.3.1" + "jest-message-util" "^29.3.1" + "jest-mock" "^29.3.1" + "jest-regex-util" "^29.2.0" + "jest-resolve" "^29.3.1" + "jest-snapshot" "^29.3.1" + "jest-util" "^29.3.1" + "slash" "^3.0.0" + "strip-bom" "^4.0.0" + +"jest-snapshot@^29.3.1": + "integrity" "sha512-+3JOc+s28upYLI2OJM4PWRGK9AgpsMs/ekNryUV0yMBClT9B1DF2u2qay8YxcQd338PPYSFNb0lsar1B49sLDA==" + "resolved" "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.3.1.tgz" + "version" "29.3.1" dependencies: "@babel/core" "^7.11.6" "@babel/generator" "^7.7.2" "@babel/plugin-syntax-jsx" "^7.7.2" "@babel/plugin-syntax-typescript" "^7.7.2" + "@babel/traverse" "^7.7.2" "@babel/types" "^7.3.3" - "@jest/expect-utils" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - babel-preset-current-node-syntax "^1.0.0" - chalk "^4.0.0" - expect "^29.7.0" - graceful-fs "^4.2.9" - jest-diff "^29.7.0" - jest-get-type "^29.6.3" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - natural-compare "^1.4.0" - pretty-format "^29.7.0" - semver "^7.5.3" - -jest-util@^29.0.0, jest-util@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz" - integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== - dependencies: - "@jest/types" "^29.6.3" + "@jest/expect-utils" "^29.3.1" + "@jest/transform" "^29.3.1" + "@jest/types" "^29.3.1" + "@types/babel__traverse" "^7.0.6" + "@types/prettier" "^2.1.5" + "babel-preset-current-node-syntax" "^1.0.0" + "chalk" "^4.0.0" + "expect" "^29.3.1" + "graceful-fs" "^4.2.9" + "jest-diff" "^29.3.1" + "jest-get-type" "^29.2.0" + "jest-haste-map" "^29.3.1" + "jest-matcher-utils" "^29.3.1" + "jest-message-util" "^29.3.1" + "jest-util" "^29.3.1" + "natural-compare" "^1.4.0" + "pretty-format" "^29.3.1" + "semver" "^7.3.5" + +"jest-util@^29.0.0", "jest-util@^29.3.1": + "integrity" "sha512-7YOVZaiX7RJLv76ZfHt4nbNEzzTRiMW/IiOG7ZOKmTXmoGBxUDefgMAxQubu6WPVqP5zSzAdZG0FfLcC7HOIFQ==" + "resolved" "https://registry.npmjs.org/jest-util/-/jest-util-29.3.1.tgz" + "version" "29.3.1" + dependencies: + "@jest/types" "^29.3.1" "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - -jest-validate@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz" - integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw== - dependencies: - "@jest/types" "^29.6.3" - camelcase "^6.2.0" - chalk "^4.0.0" - jest-get-type "^29.6.3" - leven "^3.1.0" - pretty-format "^29.7.0" - -jest-watcher@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz" - integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g== - dependencies: - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" + "chalk" "^4.0.0" + "ci-info" "^3.2.0" + "graceful-fs" "^4.2.9" + "picomatch" "^2.2.3" + +"jest-validate@^29.3.1": + "integrity" "sha512-N9Lr3oYR2Mpzuelp1F8negJR3YE+L1ebk1rYA5qYo9TTY3f9OWdptLoNSPP9itOCBIRBqjt/S5XHlzYglLN67g==" + "resolved" "https://registry.npmjs.org/jest-validate/-/jest-validate-29.3.1.tgz" + "version" "29.3.1" + dependencies: + "@jest/types" "^29.3.1" + "camelcase" "^6.2.0" + "chalk" "^4.0.0" + "jest-get-type" "^29.2.0" + "leven" "^3.1.0" + "pretty-format" "^29.3.1" + +"jest-watcher@^29.3.1": + "integrity" "sha512-RspXG2BQFDsZSRKGCT/NiNa8RkQ1iKAjrO0//soTMWx/QUt+OcxMqMSBxz23PYGqUuWm2+m2mNNsmj0eIoOaFg==" + "resolved" "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.3.1.tgz" + "version" "29.3.1" + dependencies: + "@jest/test-result" "^29.3.1" + "@jest/types" "^29.3.1" "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - emittery "^0.13.1" - jest-util "^29.7.0" - string-length "^4.0.1" + "ansi-escapes" "^4.2.1" + "chalk" "^4.0.0" + "emittery" "^0.13.1" + "jest-util" "^29.3.1" + "string-length" "^4.0.1" -jest-worker@^27.4.5: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz" - integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== +"jest-worker@^27.4.5": + "integrity" "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==" + "resolved" "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz" + "version" "27.5.1" dependencies: "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" + "merge-stream" "^2.0.0" + "supports-color" "^8.0.0" -jest-worker@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz" - integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== +"jest-worker@^29.3.1": + "integrity" "sha512-lY4AnnmsEWeiXirAIA0c9SDPbuCBq8IYuDVL8PMm0MZ2PEs2yPvRA/J64QBXuZp7CYKrDM/rmNrc9/i3KJQncw==" + "resolved" "https://registry.npmjs.org/jest-worker/-/jest-worker-29.3.1.tgz" + "version" "29.3.1" dependencies: "@types/node" "*" - jest-util "^29.7.0" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest@^29.3.1: - version "29.7.0" - resolved "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz" - integrity sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw== - dependencies: - "@jest/core" "^29.7.0" - "@jest/types" "^29.6.3" - import-local "^3.0.2" - jest-cli "^29.7.0" - -js-sha3@^0.8.0: - version "0.8.0" - resolved "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz" - integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== - -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -json-buffer@3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz" - integrity sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ== - -json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: - version "2.3.1" - resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" - integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== - -json5@^2.2.1: - version "2.2.1" - resolved "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz" - integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== - -keyv@3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz" - integrity sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA== - dependencies: - json-buffer "3.0.0" - -kind-of@^6.0.2: - version "6.0.3" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -libsodium-wrappers@^0.7.6: - version "0.7.10" - resolved "https://registry.npmjs.org/libsodium-wrappers/-/libsodium-wrappers-0.7.10.tgz" - integrity sha512-pO3F1Q9NPLB/MWIhehim42b/Fwb30JNScCNh8TcQ/kIc+qGLQch8ag8wb0keK3EP5kbGakk1H8Wwo7v+36rNQg== - dependencies: - libsodium "^0.7.0" - -libsodium@^0.7.0: - version "0.7.10" - resolved "https://registry.npmjs.org/libsodium/-/libsodium-0.7.10.tgz" - integrity sha512-eY+z7hDrDKxkAK+QKZVNv92A5KYkxfvIshtBJkmg5TSiCnYqZP3i9OO9whE79Pwgm4jGaoHgkM4ao/b9Cyu4zQ== - -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -loader-runner@^4.2.0: - version "4.3.0" - resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz" - integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -lodash.camelcase@^4.3.0: - version "4.3.0" - resolved "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz" - integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== - -lodash.memoize@4.x: - version "4.1.2" - resolved "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" - integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -lodash@^4.17.14: - version "4.17.21" - resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -long@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/long/-/long-4.0.0.tgz" - integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== - -long@^5.0.0, long@^5.2.1: - version "5.2.1" - resolved "https://registry.npmjs.org/long/-/long-5.2.1.tgz" - integrity sha512-GKSNGeNAtw8IryjjkhZxuKB3JzlcLTwjtiQCHKvqQet81I93kXslhDQruGI/QsddO83mcDToBVy7GqGS/zYf/A== - -lowercase-keys@1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz" - integrity sha512-RPlX0+PHuvxVDZ7xX+EBVAp4RsVxP/TdDSN2mJYdiq1Lc4Hz7EUSjUI7RZrKKlmrIzVhf6Jo2stj7++gVarS0A== - -lowercase-keys@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz" - integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== - -lru-cache@^10.0.1: - version "10.0.1" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz" - integrity sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g== - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -make-dir@^1.0.0: - version "1.3.0" - resolved "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz" - integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== - dependencies: - pify "^3.0.0" - -make-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz" - integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== - dependencies: - pify "^4.0.1" - semver "^5.6.0" - -make-dir@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz" - integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== - dependencies: - semver "^7.5.3" - -make-error@1.x, make-error@^1.1.1: - version "1.3.6" - resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - -makeerror@1.0.12: - version "1.0.12" - resolved "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz" - integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== - dependencies: - tmpl "1.0.5" - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -micromatch@^4.0.4: - version "4.0.5" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== - dependencies: - braces "^3.0.2" - picomatch "^2.3.1" - -mime-db@1.52.0, mime-db@^1.28.0: - version "1.52.0" - resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.1.27: - version "2.1.35" - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -mime@^1.6.0: - version "1.6.0" - resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -mimic-response@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz" - integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== - -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz" - integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= - -minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimist@^1.2.0, minimist@^1.2.6: - version "1.2.7" - resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz" - integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g== - -mkdirp@^0.5.6: - version "0.5.6" - resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz" - integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== - dependencies: - minimist "^1.2.6" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" - integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@^2.1.1: - version "2.1.3" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -natural-compare-lite@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz" - integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" - integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== - -neo-async@^2.6.2: - version "2.6.2" - resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" - integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== - -node-releases@^2.0.6: - version "2.0.6" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz" - integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== - -normalize-path@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -normalize-url@2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz" - integrity sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw== - dependencies: - prepend-http "^2.0.0" - query-string "^5.0.1" - sort-keys "^2.0.0" - -npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -object-assign@^4.0.1, object-assign@^4.1.0: - version "4.1.1" - resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" - integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== - -object-hash@^1.3.1: - version "1.3.1" - resolved "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz" - integrity sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA== - -object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -opener@^1.5.1: - version "1.5.2" - resolved "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz" - integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== - -optionator@^0.9.3: - version "0.9.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" - integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== + "jest-util" "^29.3.1" + "merge-stream" "^2.0.0" + "supports-color" "^8.0.0" + +"jest@^29.0.0", "jest@^29.3.1": + "integrity" "sha512-6iWfL5DTT0Np6UYs/y5Niu7WIfNv/wRTtN5RSXt2DIEft3dx3zPuw/3WJQBCJfmEzvDiEKwoqMbGD9n49+qLSA==" + "resolved" "https://registry.npmjs.org/jest/-/jest-29.3.1.tgz" + "version" "29.3.1" + dependencies: + "@jest/core" "^29.3.1" + "@jest/types" "^29.3.1" + "import-local" "^3.0.2" + "jest-cli" "^29.3.1" + +"js-sha3@^0.8.0": + "integrity" "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + "resolved" "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz" + "version" "0.8.0" + +"js-tokens@^4.0.0": + "integrity" "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "resolved" "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + "version" "4.0.0" + +"js-yaml@^3.13.1": + "integrity" "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==" + "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" + "version" "3.14.1" + dependencies: + "argparse" "^1.0.7" + "esprima" "^4.0.0" + +"js-yaml@^4.1.0": + "integrity" "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==" + "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "argparse" "^2.0.1" + +"jsesc@^2.5.1": + "integrity" "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + "resolved" "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" + "version" "2.5.2" + +"json-buffer@3.0.0": + "integrity" "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==" + "resolved" "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz" + "version" "3.0.0" + +"json-parse-even-better-errors@^2.3.0", "json-parse-even-better-errors@^2.3.1": + "integrity" "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + "resolved" "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" + "version" "2.3.1" + +"json-schema-traverse@^0.4.1": + "integrity" "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + "version" "0.4.1" + +"json-stable-stringify-without-jsonify@^1.0.1": + "integrity" "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" + "resolved" "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" + "version" "1.0.1" + +"json5@^2.2.1": + "integrity" "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==" + "resolved" "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz" + "version" "2.2.1" + +"keyv@3.0.0": + "integrity" "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==" + "resolved" "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "json-buffer" "3.0.0" + +"kind-of@^6.0.2": + "integrity" "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" + "version" "6.0.3" + +"kleur@^3.0.3": + "integrity" "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" + "resolved" "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" + "version" "3.0.3" + +"leven@^3.1.0": + "integrity" "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" + "resolved" "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" + "version" "3.1.0" + +"levn@^0.4.1": + "integrity" "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==" + "resolved" "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" + "version" "0.4.1" + dependencies: + "prelude-ls" "^1.2.1" + "type-check" "~0.4.0" + +"libsodium-wrappers@^0.7.6": + "integrity" "sha512-pO3F1Q9NPLB/MWIhehim42b/Fwb30JNScCNh8TcQ/kIc+qGLQch8ag8wb0keK3EP5kbGakk1H8Wwo7v+36rNQg==" + "resolved" "https://registry.npmjs.org/libsodium-wrappers/-/libsodium-wrappers-0.7.10.tgz" + "version" "0.7.10" + dependencies: + "libsodium" "^0.7.0" + +"libsodium@^0.7.0": + "integrity" "sha512-eY+z7hDrDKxkAK+QKZVNv92A5KYkxfvIshtBJkmg5TSiCnYqZP3i9OO9whE79Pwgm4jGaoHgkM4ao/b9Cyu4zQ==" + "resolved" "https://registry.npmjs.org/libsodium/-/libsodium-0.7.10.tgz" + "version" "0.7.10" + +"lines-and-columns@^1.1.6": + "integrity" "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + "resolved" "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" + "version" "1.2.4" + +"loader-runner@^4.2.0": + "integrity" "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==" + "resolved" "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz" + "version" "4.3.0" + +"locate-path@^5.0.0": + "integrity" "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==" + "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" + "version" "5.0.0" + dependencies: + "p-locate" "^4.1.0" + +"locate-path@^6.0.0": + "integrity" "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==" + "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" + "version" "6.0.0" + dependencies: + "p-locate" "^5.0.0" + +"lodash.camelcase@^4.3.0": + "integrity" "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + "resolved" "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz" + "version" "4.3.0" + +"lodash.memoize@4.x": + "integrity" "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + "resolved" "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" + "version" "4.1.2" + +"lodash.merge@^4.6.2": + "integrity" "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + "resolved" "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" + "version" "4.6.2" + +"lodash@^4.17.14": + "integrity" "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "resolved" "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + "version" "4.17.21" + +"long@^4.0.0": + "integrity" "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + "resolved" "https://registry.npmjs.org/long/-/long-4.0.0.tgz" + "version" "4.0.0" + +"long@^5.0.0", "long@^5.2.1": + "integrity" "sha512-GKSNGeNAtw8IryjjkhZxuKB3JzlcLTwjtiQCHKvqQet81I93kXslhDQruGI/QsddO83mcDToBVy7GqGS/zYf/A==" + "resolved" "https://registry.npmjs.org/long/-/long-5.2.1.tgz" + "version" "5.2.1" + +"lowercase-keys@^1.0.0": + "integrity" "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" + "resolved" "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz" + "version" "1.0.1" + +"lowercase-keys@1.0.0": + "integrity" "sha512-RPlX0+PHuvxVDZ7xX+EBVAp4RsVxP/TdDSN2mJYdiq1Lc4Hz7EUSjUI7RZrKKlmrIzVhf6Jo2stj7++gVarS0A==" + "resolved" "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz" + "version" "1.0.0" + +"lru-cache@^10.0.1": + "integrity" "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==" + "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz" + "version" "10.2.0" + +"lru-cache@^6.0.0": + "integrity" "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==" + "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + "version" "6.0.0" + dependencies: + "yallist" "^4.0.0" + +"make-dir@^1.0.0": + "integrity" "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==" + "resolved" "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz" + "version" "1.3.0" + dependencies: + "pify" "^3.0.0" + +"make-dir@^2.1.0": + "integrity" "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==" + "resolved" "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "pify" "^4.0.1" + "semver" "^5.6.0" + +"make-dir@^3.0.0": + "integrity" "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==" + "resolved" "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "semver" "^6.0.0" + +"make-error@^1.1.1", "make-error@1.x": + "integrity" "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" + "resolved" "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" + "version" "1.3.6" + +"makeerror@1.0.12": + "integrity" "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==" + "resolved" "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz" + "version" "1.0.12" + dependencies: + "tmpl" "1.0.5" + +"merge-stream@^2.0.0": + "integrity" "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + "resolved" "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" + "version" "2.0.0" + +"merge2@^1.3.0", "merge2@^1.4.1": + "integrity" "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + "resolved" "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + "version" "1.4.1" + +"micromatch@^4.0.4": + "integrity" "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==" + "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" + "version" "4.0.5" + dependencies: + "braces" "^3.0.2" + "picomatch" "^2.3.1" + +"mime-db@^1.28.0", "mime-db@1.52.0": + "integrity" "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + "resolved" "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" + "version" "1.52.0" + +"mime-types@^2.1.27": + "integrity" "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==" + "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" + "version" "2.1.35" + dependencies: + "mime-db" "1.52.0" + +"mime@^1.6.0": + "integrity" "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + "resolved" "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" + "version" "1.6.0" + +"mimic-fn@^2.1.0": + "integrity" "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + "resolved" "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" + "version" "2.1.0" + +"mimic-response@^1.0.0": + "integrity" "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" + "resolved" "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz" + "version" "1.0.1" + +"minimalistic-assert@^1.0.0", "minimalistic-assert@^1.0.1": + "integrity" "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + "resolved" "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" + "version" "1.0.1" + +"minimalistic-crypto-utils@^1.0.1": + "integrity" "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" + "resolved" "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz" + "version" "1.0.1" + +"minimatch@^3.0.4", "minimatch@^3.0.5", "minimatch@^3.1.1", "minimatch@^3.1.2": + "integrity" "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==" + "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + "version" "3.1.2" + dependencies: + "brace-expansion" "^1.1.7" + +"minimist@^1.2.0", "minimist@^1.2.6": + "integrity" "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==" + "resolved" "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz" + "version" "1.2.7" + +"mkdirp@^0.5.6": + "integrity" "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==" + "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz" + "version" "0.5.6" + dependencies: + "minimist" "^1.2.6" + +"ms@^2.1.1", "ms@2.1.2": + "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + "version" "2.1.2" + +"ms@2.0.0": + "integrity" "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "resolved" "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" + "version" "2.0.0" + +"natural-compare-lite@^1.4.0": + "integrity" "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==" + "resolved" "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz" + "version" "1.4.0" + +"natural-compare@^1.4.0": + "integrity" "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" + "resolved" "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" + "version" "1.4.0" + +"neo-async@^2.6.2": + "integrity" "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + "resolved" "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" + "version" "2.6.2" + +"node-int64@^0.4.0": + "integrity" "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" + "resolved" "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" + "version" "0.4.0" + +"node-releases@^2.0.6": + "integrity" "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" + "resolved" "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz" + "version" "2.0.6" + +"normalize-path@^3.0.0": + "integrity" "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + "resolved" "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + "version" "3.0.0" + +"normalize-url@2.0.1": + "integrity" "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==" + "resolved" "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "prepend-http" "^2.0.0" + "query-string" "^5.0.1" + "sort-keys" "^2.0.0" + +"npm-run-path@^4.0.1": + "integrity" "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==" + "resolved" "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "path-key" "^3.0.0" + +"object-assign@^4.0.1", "object-assign@^4.1.0": + "integrity" "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + "resolved" "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + "version" "4.1.1" + +"object-hash@^1.3.1": + "integrity" "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==" + "resolved" "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz" + "version" "1.3.1" + +"object-keys@^1.1.1": + "integrity" "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + "resolved" "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" + "version" "1.1.1" + +"once@^1.3.0", "once@^1.3.1", "once@^1.4.0": + "integrity" "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==" + "resolved" "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + "version" "1.4.0" + dependencies: + "wrappy" "1" + +"onetime@^5.1.2": + "integrity" "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==" + "resolved" "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" + "version" "5.1.2" + dependencies: + "mimic-fn" "^2.1.0" + +"opener@^1.5.1": + "integrity" "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==" + "resolved" "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz" + "version" "1.5.2" + +"optionator@^0.9.3": + "integrity" "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==" + "resolved" "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz" + "version" "0.9.3" dependencies: "@aashutoshrathi/word-wrap" "^1.2.3" - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" + "deep-is" "^0.1.3" + "fast-levenshtein" "^2.0.6" + "levn" "^0.4.1" + "prelude-ls" "^1.2.1" + "type-check" "^0.4.0" -p-cancelable@^0.4.0: - version "0.4.1" - resolved "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz" - integrity sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ== +"p-cancelable@^0.4.0": + "integrity" "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==" + "resolved" "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz" + "version" "0.4.1" -p-event@^2.1.0: - version "2.3.1" - resolved "https://registry.npmjs.org/p-event/-/p-event-2.3.1.tgz" - integrity sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA== +"p-event@^2.1.0": + "integrity" "sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==" + "resolved" "https://registry.npmjs.org/p-event/-/p-event-2.3.1.tgz" + "version" "2.3.1" dependencies: - p-timeout "^2.0.1" + "p-timeout" "^2.0.1" -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz" - integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== +"p-finally@^1.0.0": + "integrity" "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==" + "resolved" "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz" + "version" "1.0.0" -p-is-promise@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz" - integrity sha512-zL7VE4JVS2IFSkR2GQKDSPEVxkoH43/p7oEnwpdCndKYJO0HVeRB7fA8TJwuLOTBREtK0ea8eHaxdwcpob5dmg== +"p-is-promise@^1.1.0": + "integrity" "sha512-zL7VE4JVS2IFSkR2GQKDSPEVxkoH43/p7oEnwpdCndKYJO0HVeRB7fA8TJwuLOTBREtK0ea8eHaxdwcpob5dmg==" + "resolved" "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz" + "version" "1.1.0" -p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== +"p-limit@^2.2.0": + "integrity" "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==" + "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" + "version" "2.3.0" dependencies: - p-try "^2.0.0" + "p-try" "^2.0.0" -p-limit@^3.0.2, p-limit@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== +"p-limit@^3.0.2", "p-limit@^3.1.0": + "integrity" "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==" + "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" + "version" "3.1.0" dependencies: - yocto-queue "^0.1.0" + "yocto-queue" "^0.1.0" -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== +"p-locate@^4.1.0": + "integrity" "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==" + "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" + "version" "4.1.0" dependencies: - p-limit "^2.2.0" + "p-limit" "^2.2.0" -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== +"p-locate@^5.0.0": + "integrity" "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==" + "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" + "version" "5.0.0" dependencies: - p-limit "^3.0.2" + "p-limit" "^3.0.2" -p-timeout@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz" - integrity sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA== +"p-timeout@^2.0.1": + "integrity" "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==" + "resolved" "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz" + "version" "2.0.1" dependencies: - p-finally "^1.0.0" + "p-finally" "^1.0.0" -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== +"p-try@^2.0.0": + "integrity" "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + "resolved" "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" + "version" "2.2.0" -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== +"parent-module@^1.0.0": + "integrity" "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==" + "resolved" "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + "version" "1.0.1" dependencies: - callsites "^3.0.0" + "callsites" "^3.0.0" -parse-json@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== +"parse-json@^5.2.0": + "integrity" "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==" + "resolved" "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" + "version" "5.2.0" dependencies: "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -pend@~1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz" - integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pify@^2.3.0: - version "2.3.0" - resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" - integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz" - integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== - -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" - integrity sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw== - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" - integrity sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg== - -pirates@^4.0.4: - version "4.0.5" - resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz" - integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== - -pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - -portfinder@^1.0.28: - version "1.0.32" - resolved "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz" - integrity sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg== - dependencies: - async "^2.6.4" - debug "^3.2.7" - mkdirp "^0.5.6" - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -prepend-http@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz" - integrity sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA== - -prettier-linter-helpers@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz" - integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== - dependencies: - fast-diff "^1.1.2" - -prettier@^2.8.0: - version "2.8.0" - resolved "https://registry.npmjs.org/prettier/-/prettier-2.8.0.tgz" - integrity sha512-9Lmg8hTFZKG0Asr/kW9Bp8tJjRVluO8EJQVfY2T7FMw9T5jy4I/Uvx0Rca/XWf50QQ1/SS48+6IJWnrb+2yemA== - -pretty-format@^29.0.0, pretty-format@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz" - integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== - dependencies: - "@jest/schemas" "^29.6.3" - ansi-styles "^5.0.0" - react-is "^18.0.0" - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -prompts@^2.0.1: - version "2.4.2" - resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" - integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -protobufjs@^6.11.3, protobufjs@^6.8.8, protobufjs@~6.11.2: - version "6.11.3" - resolved "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz" - integrity sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg== + "error-ex" "^1.3.1" + "json-parse-even-better-errors" "^2.3.0" + "lines-and-columns" "^1.1.6" + +"path-exists@^4.0.0": + "integrity" "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + "resolved" "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + "version" "4.0.0" + +"path-is-absolute@^1.0.0": + "integrity" "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" + "resolved" "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + "version" "1.0.1" + +"path-key@^3.0.0", "path-key@^3.1.0": + "integrity" "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + "resolved" "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + "version" "3.1.1" + +"path-parse@^1.0.7": + "integrity" "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + "resolved" "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + "version" "1.0.7" + +"path-type@^4.0.0": + "integrity" "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" + "resolved" "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" + "version" "4.0.0" + +"pend@~1.2.0": + "integrity" "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==" + "resolved" "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz" + "version" "1.2.0" + +"picocolors@^1.0.0": + "integrity" "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + "resolved" "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" + "version" "1.0.0" + +"picomatch@^2.0.4", "picomatch@^2.2.3", "picomatch@^2.3.1": + "integrity" "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + "resolved" "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + "version" "2.3.1" + +"pify@^2.3.0": + "integrity" "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" + "resolved" "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" + "version" "2.3.0" + +"pify@^3.0.0": + "integrity" "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==" + "resolved" "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz" + "version" "3.0.0" + +"pify@^4.0.1": + "integrity" "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + "resolved" "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz" + "version" "4.0.1" + +"pinkie-promise@^2.0.0": + "integrity" "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==" + "resolved" "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "pinkie" "^2.0.0" + +"pinkie@^2.0.0": + "integrity" "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==" + "resolved" "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" + "version" "2.0.4" + +"pirates@^4.0.4": + "integrity" "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==" + "resolved" "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz" + "version" "4.0.5" + +"pkg-dir@^4.2.0": + "integrity" "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==" + "resolved" "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" + "version" "4.2.0" + dependencies: + "find-up" "^4.0.0" + +"portfinder@^1.0.28": + "integrity" "sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==" + "resolved" "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz" + "version" "1.0.32" + dependencies: + "async" "^2.6.4" + "debug" "^3.2.7" + "mkdirp" "^0.5.6" + +"prelude-ls@^1.2.1": + "integrity" "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" + "resolved" "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" + "version" "1.2.1" + +"prepend-http@^2.0.0": + "integrity" "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==" + "resolved" "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz" + "version" "2.0.0" + +"prettier-linter-helpers@^1.0.0": + "integrity" "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==" + "resolved" "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "fast-diff" "^1.1.2" + +"prettier@^2.8.0", "prettier@>=2.0.0": + "integrity" "sha512-9Lmg8hTFZKG0Asr/kW9Bp8tJjRVluO8EJQVfY2T7FMw9T5jy4I/Uvx0Rca/XWf50QQ1/SS48+6IJWnrb+2yemA==" + "resolved" "https://registry.npmjs.org/prettier/-/prettier-2.8.0.tgz" + "version" "2.8.0" + +"pretty-format@^29.0.0", "pretty-format@^29.3.1": + "integrity" "sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==" + "resolved" "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz" + "version" "29.3.1" + dependencies: + "@jest/schemas" "^29.0.0" + "ansi-styles" "^5.0.0" + "react-is" "^18.0.0" + +"process-nextick-args@~2.0.0": + "integrity" "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + "resolved" "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" + "version" "2.0.1" + +"prompts@^2.0.1": + "integrity" "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==" + "resolved" "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" + "version" "2.4.2" + dependencies: + "kleur" "^3.0.3" + "sisteransi" "^1.0.5" + +"protobufjs@^6.11.3": + "integrity" "sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==" + "resolved" "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz" + "version" "6.11.3" dependencies: "@protobufjs/aspromise" "^1.1.2" "@protobufjs/base64" "^1.1.2" @@ -5457,12 +5463,12 @@ protobufjs@^6.11.3, protobufjs@^6.8.8, protobufjs@~6.11.2: "@protobufjs/utf8" "^1.1.0" "@types/long" "^4.0.1" "@types/node" ">=13.7.0" - long "^4.0.0" + "long" "^4.0.0" -protobufjs@^7.0.0, protobufjs@^7.1.2: - version "7.1.2" - resolved "https://registry.npmjs.org/protobufjs/-/protobufjs-7.1.2.tgz" - integrity sha512-4ZPTPkXCdel3+L81yw3dG6+Kq3umdWKh7Dc7GW/CpNk4SX3hK58iPCWeCyhVTDrbkNeKrYNZ7EojM5WDaEWTLQ== +"protobufjs@^6.8.8": + "integrity" "sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==" + "resolved" "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz" + "version" "6.11.3" dependencies: "@protobufjs/aspromise" "^1.1.2" "@protobufjs/base64" "^1.1.2" @@ -5474,13 +5480,32 @@ protobufjs@^7.0.0, protobufjs@^7.1.2: "@protobufjs/path" "^1.1.2" "@protobufjs/pool" "^1.1.0" "@protobufjs/utf8" "^1.1.0" + "@types/long" "^4.0.1" "@types/node" ">=13.7.0" - long "^5.0.0" + "long" "^4.0.0" -protobufjs@~6.10.2: - version "6.10.3" - resolved "https://registry.npmjs.org/protobufjs/-/protobufjs-6.10.3.tgz" - integrity sha512-yvAslS0hNdBhlSKckI4R1l7wunVilX66uvrjzE4MimiAt7/qw1nLpMhZrn/ObuUTM/c3Xnfl01LYMdcSJe6dwg== +"protobufjs@^7.0.0", "protobufjs@^7.1.2": + "integrity" "sha512-4ZPTPkXCdel3+L81yw3dG6+Kq3umdWKh7Dc7GW/CpNk4SX3hK58iPCWeCyhVTDrbkNeKrYNZ7EojM5WDaEWTLQ==" + "resolved" "https://registry.npmjs.org/protobufjs/-/protobufjs-7.1.2.tgz" + "version" "7.1.2" + dependencies: + "@protobufjs/aspromise" "^1.1.2" + "@protobufjs/base64" "^1.1.2" + "@protobufjs/codegen" "^2.0.4" + "@protobufjs/eventemitter" "^1.1.0" + "@protobufjs/fetch" "^1.1.0" + "@protobufjs/float" "^1.0.2" + "@protobufjs/inquire" "^1.1.0" + "@protobufjs/path" "^1.1.2" + "@protobufjs/pool" "^1.1.0" + "@protobufjs/utf8" "^1.1.0" + "@types/node" ">=13.7.0" + "long" "^5.0.0" + +"protobufjs@~6.10.2": + "integrity" "sha512-yvAslS0hNdBhlSKckI4R1l7wunVilX66uvrjzE4MimiAt7/qw1nLpMhZrn/ObuUTM/c3Xnfl01LYMdcSJe6dwg==" + "resolved" "https://registry.npmjs.org/protobufjs/-/protobufjs-6.10.3.tgz" + "version" "6.10.3" dependencies: "@protobufjs/aspromise" "^1.1.2" "@protobufjs/base64" "^1.1.2" @@ -5494,927 +5519,982 @@ protobufjs@~6.10.2: "@protobufjs/utf8" "^1.1.0" "@types/long" "^4.0.1" "@types/node" "^13.7.0" - long "^4.0.0" - -protoc-gen-js@^3.21.2: - version "3.21.2" - resolved "https://registry.npmjs.org/protoc-gen-js/-/protoc-gen-js-3.21.2.tgz" - integrity sha512-nSpiXulygg0vUv05uFeATuZSbgMQMeoef0BhB5266Y6HmsqVtIrbSkK/Z2Yk0KLE+BirRNjsTKDUJxg3OPO9pQ== - dependencies: - adm-zip "^0.5.10" - download "^8.0.0" - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -punycode@^2.1.0: - version "2.1.1" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -pure-rand@^6.0.0: - version "6.0.4" - resolved "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz" - integrity sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA== - -qs@^6.4.0: - version "6.5.3" - resolved "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz" - integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== - -query-string@^5.0.1: - version "5.1.1" - resolved "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz" - integrity sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw== - dependencies: - decode-uri-component "^0.2.0" - object-assign "^4.1.0" - strict-uri-encode "^1.0.0" - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -random@3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/random/-/random-3.0.4.tgz" - integrity sha512-sRiwuLH3C7UGNVQYIVoQzwiSJSUOXN06dvJBBWTENv35ETeo0GQo6V5d/H83yBMvFMrNXbh6D3n5XveimwPFNQ== - dependencies: - seedrandom "^3.0.5" - -randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -react-is@^18.0.0: - version "18.2.0" - resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" - integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== - -readable-stream@^2.0.0, readable-stream@^2.3.0, readable-stream@^2.3.5: - version "2.3.8" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" - integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readable-stream@^3.6.0: - version "3.6.2" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" - integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readonly-date@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/readonly-date/-/readonly-date-1.0.0.tgz" - integrity sha512-tMKIV7hlk0h4mO3JTmmVuIlJVXjKk3Sep9Bf5OH0O+758ruuVkUy2J9SttDLm91IEX/WHlXPSpxMGjPj4beMIQ== - -rechoir@^0.7.0: - version "0.7.1" - resolved "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz" - integrity sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg== - dependencies: - resolve "^1.9.0" - -regexpp@^3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz" - integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== - -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" - integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== - -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== - dependencies: - resolve-from "^5.0.0" - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve.exports@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz" - integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== - -resolve@^1.1.7, resolve@^1.20.0, resolve@^1.9.0: - version "1.22.1" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz" - integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== - dependencies: - is-core-module "^2.9.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -responselike@1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz" - integrity sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ== - dependencies: - lowercase-keys "^1.0.0" - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -ripemd160@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz" - integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -rxjs@^7.5.7: - version "7.5.7" - resolved "https://registry.npmjs.org/rxjs/-/rxjs-7.5.7.tgz" - integrity sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA== - dependencies: - tslib "^2.1.0" + "long" "^4.0.0" -safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== +"protobufjs@~6.11.2": + "integrity" "sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==" + "resolved" "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz" + "version" "6.11.3" + dependencies: + "@protobufjs/aspromise" "^1.1.2" + "@protobufjs/base64" "^1.1.2" + "@protobufjs/codegen" "^2.0.4" + "@protobufjs/eventemitter" "^1.1.0" + "@protobufjs/fetch" "^1.1.0" + "@protobufjs/float" "^1.0.2" + "@protobufjs/inquire" "^1.1.0" + "@protobufjs/path" "^1.1.2" + "@protobufjs/pool" "^1.1.0" + "@protobufjs/utf8" "^1.1.0" + "@types/long" "^4.0.1" + "@types/node" ">=13.7.0" + "long" "^4.0.0" + +"protoc-gen-js@^3.21.2": + "integrity" "sha512-nSpiXulygg0vUv05uFeATuZSbgMQMeoef0BhB5266Y6HmsqVtIrbSkK/Z2Yk0KLE+BirRNjsTKDUJxg3OPO9pQ==" + "resolved" "https://registry.npmjs.org/protoc-gen-js/-/protoc-gen-js-3.21.2.tgz" + "version" "3.21.2" + dependencies: + "adm-zip" "^0.5.10" + "download" "^8.0.0" + +"pump@^3.0.0": + "integrity" "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==" + "resolved" "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "end-of-stream" "^1.1.0" + "once" "^1.3.1" + +"punycode@^2.1.0": + "integrity" "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + "resolved" "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" + "version" "2.1.1" + +"qs@^6.4.0": + "integrity" "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==" + "resolved" "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz" + "version" "6.5.3" + +"query-string@^5.0.1": + "integrity" "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==" + "resolved" "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz" + "version" "5.1.1" + dependencies: + "decode-uri-component" "^0.2.0" + "object-assign" "^4.1.0" + "strict-uri-encode" "^1.0.0" + +"queue-microtask@^1.2.2": + "integrity" "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + "resolved" "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + "version" "1.2.3" + +"random@3.0.4": + "integrity" "sha512-sRiwuLH3C7UGNVQYIVoQzwiSJSUOXN06dvJBBWTENv35ETeo0GQo6V5d/H83yBMvFMrNXbh6D3n5XveimwPFNQ==" + "resolved" "https://registry.npmjs.org/random/-/random-3.0.4.tgz" + "version" "3.0.4" + dependencies: + "seedrandom" "^3.0.5" + +"randombytes@^2.1.0": + "integrity" "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==" + "resolved" "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "safe-buffer" "^5.1.0" + +"react-is@^18.0.0": + "integrity" "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + "resolved" "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" + "version" "18.2.0" + +"readable-stream@^2.0.0": + "integrity" "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" + "version" "2.3.8" + dependencies: + "core-util-is" "~1.0.0" + "inherits" "~2.0.3" + "isarray" "~1.0.0" + "process-nextick-args" "~2.0.0" + "safe-buffer" "~5.1.1" + "string_decoder" "~1.1.1" + "util-deprecate" "~1.0.1" + +"readable-stream@^2.3.0": + "integrity" "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" + "version" "2.3.8" + dependencies: + "core-util-is" "~1.0.0" + "inherits" "~2.0.3" + "isarray" "~1.0.0" + "process-nextick-args" "~2.0.0" + "safe-buffer" "~5.1.1" + "string_decoder" "~1.1.1" + "util-deprecate" "~1.0.1" + +"readable-stream@^2.3.5": + "integrity" "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" + "version" "2.3.8" + dependencies: + "core-util-is" "~1.0.0" + "inherits" "~2.0.3" + "isarray" "~1.0.0" + "process-nextick-args" "~2.0.0" + "safe-buffer" "~5.1.1" + "string_decoder" "~1.1.1" + "util-deprecate" "~1.0.1" + +"readable-stream@^3.6.0": + "integrity" "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" + "version" "3.6.2" + dependencies: + "inherits" "^2.0.3" + "string_decoder" "^1.1.1" + "util-deprecate" "^1.0.1" + +"readonly-date@^1.0.0": + "integrity" "sha512-tMKIV7hlk0h4mO3JTmmVuIlJVXjKk3Sep9Bf5OH0O+758ruuVkUy2J9SttDLm91IEX/WHlXPSpxMGjPj4beMIQ==" + "resolved" "https://registry.npmjs.org/readonly-date/-/readonly-date-1.0.0.tgz" + "version" "1.0.0" + +"rechoir@^0.7.0": + "integrity" "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==" + "resolved" "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz" + "version" "0.7.1" + dependencies: + "resolve" "^1.9.0" + +"regexpp@^3.2.0": + "integrity" "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==" + "resolved" "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz" + "version" "3.2.0" + +"require-directory@^2.1.1": + "integrity" "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" + "resolved" "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" + "version" "2.1.1" + +"requires-port@^1.0.0": + "integrity" "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + "resolved" "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" + "version" "1.0.0" + +"resolve-cwd@^3.0.0": + "integrity" "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==" + "resolved" "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "resolve-from" "^5.0.0" + +"resolve-from@^4.0.0": + "integrity" "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + "version" "4.0.0" + +"resolve-from@^5.0.0": + "integrity" "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" + "version" "5.0.0" + +"resolve.exports@^1.1.0": + "integrity" "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==" + "resolved" "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz" + "version" "1.1.0" + +"resolve@^1.1.7", "resolve@^1.20.0", "resolve@^1.9.0": + "integrity" "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==" + "resolved" "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz" + "version" "1.22.1" + dependencies: + "is-core-module" "^2.9.0" + "path-parse" "^1.0.7" + "supports-preserve-symlinks-flag" "^1.0.0" + +"responselike@1.0.2": + "integrity" "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==" + "resolved" "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "lowercase-keys" "^1.0.0" + +"reusify@^1.0.4": + "integrity" "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + "resolved" "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" + "version" "1.0.4" + +"rimraf@^3.0.2": + "integrity" "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==" + "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "glob" "^7.1.3" + +"ripemd160@^2.0.2": + "integrity" "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==" + "resolved" "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "hash-base" "^3.0.0" + "inherits" "^2.0.1" + +"run-parallel@^1.1.9": + "integrity" "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==" + "resolved" "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "queue-microtask" "^1.2.2" + +"rxjs@^7.5.7": + "integrity" "sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA==" + "resolved" "https://registry.npmjs.org/rxjs/-/rxjs-7.5.7.tgz" + "version" "7.5.7" + dependencies: + "tslib" "^2.1.0" + +"safe-buffer@^5.0.1", "safe-buffer@^5.1.0", "safe-buffer@^5.1.1", "safe-buffer@~5.1.0", "safe-buffer@~5.1.1", "safe-buffer@5.1.2": + "integrity" "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" + "version" "5.1.2" + +"safe-buffer@^5.2.0": + "integrity" "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + "version" "5.2.1" -safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.2.0, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== +"safe-buffer@~5.2.0": + "integrity" "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + "version" "5.2.1" + +"safe-buffer@5.2.1": + "integrity" "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + "version" "5.2.1" "safer-buffer@>= 2.1.2 < 3.0.0": - version "2.1.2" - resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + "integrity" "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "resolved" "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" + "version" "2.1.2" -schema-utils@^3.1.0, schema-utils@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz" - integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== +"schema-utils@^3.1.0", "schema-utils@^3.1.1": + "integrity" "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==" + "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz" + "version" "3.1.1" dependencies: "@types/json-schema" "^7.0.8" - ajv "^6.12.5" - ajv-keywords "^3.5.2" - -secure-compare@3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz" - integrity sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw== + "ajv" "^6.12.5" + "ajv-keywords" "^3.5.2" -seedrandom@^3.0.5: - version "3.0.5" - resolved "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz" - integrity sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg== +"secure-compare@3.0.1": + "integrity" "sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==" + "resolved" "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz" + "version" "3.0.1" + +"seedrandom@^3.0.5": + "integrity" "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==" + "resolved" "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz" + "version" "3.0.5" -seek-bzip@^1.0.5: - version "1.0.6" - resolved "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz" - integrity sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ== +"seek-bzip@^1.0.5": + "integrity" "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==" + "resolved" "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz" + "version" "1.0.6" dependencies: - commander "^2.8.1" + "commander" "^2.8.1" + +"semver@^5.6.0": + "integrity" "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" + "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz" + "version" "5.7.2" -semver@7.x, semver@^7.3.7, semver@^7.5.3, semver@^7.5.4: - version "7.5.4" - resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" - integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== +"semver@^6.0.0": + "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + "version" "6.3.0" + +"semver@^6.3.0": + "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + "version" "6.3.0" + +"semver@^7.3.5", "semver@^7.3.7", "semver@7.x": + "integrity" "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==" + "resolved" "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz" + "version" "7.3.8" + dependencies: + "lru-cache" "^6.0.0" + +"serialize-javascript@^6.0.0": + "integrity" "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==" + "resolved" "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz" + "version" "6.0.0" dependencies: - lru-cache "^6.0.0" + "randombytes" "^2.1.0" + +"sha.js@^2.4.11": + "integrity" "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==" + "resolved" "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz" + "version" "2.4.11" + dependencies: + "inherits" "^2.0.1" + "safe-buffer" "^5.0.1" -semver@^5.6.0: - version "5.7.2" - resolved "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz" - integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== - -semver@^6.3.0: - version "6.3.0" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -serialize-javascript@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz" - integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== +"shallow-clone@^3.0.0": + "integrity" "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==" + "resolved" "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz" + "version" "3.0.1" dependencies: - randombytes "^2.1.0" - -sha.js@^2.4.11: - version "2.4.11" - resolved "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -shallow-clone@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz" - integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== - dependencies: - kind-of "^6.0.2" + "kind-of" "^6.0.2" -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== +"shebang-command@^2.0.0": + "integrity" "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==" + "resolved" "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "shebang-regex" "^3.0.0" -signal-exit@^3.0.3, signal-exit@^3.0.7: - version "3.0.7" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== +"shebang-regex@^3.0.0": + "integrity" "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + "resolved" "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + "version" "3.0.0" + +"signal-exit@^3.0.3", "signal-exit@^3.0.7": + "integrity" "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + "resolved" "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" + "version" "3.0.7" -sisteransi@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" - integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== +"sisteransi@^1.0.5": + "integrity" "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + "resolved" "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" + "version" "1.0.5" -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== +"slash@^3.0.0": + "integrity" "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + "resolved" "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" + "version" "3.0.0" -sort-keys-length@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz" - integrity sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw== - dependencies: - sort-keys "^1.0.0" +"sort-keys-length@^1.0.0": + "integrity" "sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==" + "resolved" "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "sort-keys" "^1.0.0" -sort-keys@^1.0.0: - version "1.1.2" - resolved "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz" - integrity sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg== +"sort-keys@^1.0.0": + "integrity" "sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==" + "resolved" "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz" + "version" "1.1.2" dependencies: - is-plain-obj "^1.0.0" + "is-plain-obj" "^1.0.0" -sort-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz" - integrity sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg== +"sort-keys@^2.0.0": + "integrity" "sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==" + "resolved" "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz" + "version" "2.0.0" dependencies: - is-plain-obj "^1.0.0" + "is-plain-obj" "^1.0.0" -source-map-support@0.5.13: - version "0.5.13" - resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz" - integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== +"source-map-support@~0.5.20": + "integrity" "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==" + "resolved" "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" + "version" "0.5.21" dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" + "buffer-from" "^1.0.0" + "source-map" "^0.6.0" -source-map-support@~0.5.20: - version "0.5.21" - resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== +"source-map-support@0.5.13": + "integrity" "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==" + "resolved" "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz" + "version" "0.5.13" dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" + "buffer-from" "^1.0.0" + "source-map" "^0.6.0" -source-map@^0.6.0, source-map@^0.6.1: - version "0.6.1" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== +"source-map@^0.6.0", "source-map@^0.6.1": + "integrity" "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + "version" "0.6.1" -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" - integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== +"sprintf-js@~1.0.2": + "integrity" "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + "resolved" "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" + "version" "1.0.3" -stack-utils@^2.0.3: - version "2.0.6" - resolved "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz" - integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== +"stack-utils@^2.0.3": + "integrity" "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==" + "resolved" "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz" + "version" "2.0.6" dependencies: - escape-string-regexp "^2.0.0" + "escape-string-regexp" "^2.0.0" -strict-uri-encode@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz" - integrity sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ== +"strict-uri-encode@^1.0.0": + "integrity" "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==" + "resolved" "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz" + "version" "1.1.0" -string-length@^4.0.1: - version "4.0.2" - resolved "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz" - integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== +"string_decoder@^1.1.1": + "integrity" "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==" + "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" + "version" "1.3.0" dependencies: - char-regex "^1.0.2" - strip-ansi "^6.0.0" + "safe-buffer" "~5.2.0" -string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== +"string_decoder@~1.1.1": + "integrity" "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==" + "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + "version" "1.1.1" dependencies: - ansi-regex "^5.0.1" - -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== + "safe-buffer" "~5.1.0" + +"string-length@^4.0.1": + "integrity" "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==" + "resolved" "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "char-regex" "^1.0.2" + "strip-ansi" "^6.0.0" + +"string-width@^4.1.0", "string-width@^4.2.0", "string-width@^4.2.3": + "integrity" "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==" + "resolved" "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + "version" "4.2.3" + dependencies: + "emoji-regex" "^8.0.0" + "is-fullwidth-code-point" "^3.0.0" + "strip-ansi" "^6.0.1" -strip-dirs@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz" - integrity sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g== +"strip-ansi@^6.0.0", "strip-ansi@^6.0.1": + "integrity" "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==" + "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + "version" "6.0.1" dependencies: - is-natural-number "^4.0.1" - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + "ansi-regex" "^5.0.1" + +"strip-bom@^4.0.0": + "integrity" "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" + "resolved" "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" + "version" "4.0.0" -strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== +"strip-dirs@^2.0.0": + "integrity" "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==" + "resolved" "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "is-natural-number" "^4.0.1" + +"strip-final-newline@^2.0.0": + "integrity" "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" + "resolved" "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" + "version" "2.0.0" -strip-outer@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz" - integrity sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg== - dependencies: - escape-string-regexp "^1.0.2" +"strip-json-comments@^3.1.1": + "integrity" "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" + "resolved" "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + "version" "3.1.1" -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-color@^8.0.0: - version "8.1.1" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" +"strip-outer@^1.0.0": + "integrity" "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==" + "resolved" "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "escape-string-regexp" "^1.0.2" -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== +"supports-color@^5.3.0": + "integrity" "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==" + "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + "version" "5.5.0" + dependencies: + "has-flag" "^3.0.0" + +"supports-color@^7.1.0": + "integrity" "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==" + "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + "version" "7.2.0" + dependencies: + "has-flag" "^4.0.0" + +"supports-color@^8.0.0": + "integrity" "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==" + "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" + "version" "8.1.1" + dependencies: + "has-flag" "^4.0.0" -symbol-observable@^2.0.3: - version "2.0.3" - resolved "https://registry.npmjs.org/symbol-observable/-/symbol-observable-2.0.3.tgz" - integrity sha512-sQV7phh2WCYAn81oAkakC5qjq2Ml0g8ozqz03wOGnx9dDlG1de6yrF+0RAzSJD8fPUow3PTSMf2SAbOGxb93BA== - -tapable@^2.1.1, tapable@^2.2.0: - version "2.2.1" - resolved "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz" - integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== +"supports-preserve-symlinks-flag@^1.0.0": + "integrity" "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + "resolved" "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" + "version" "1.0.0" -tar-stream@^1.5.2: - version "1.6.2" - resolved "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz" - integrity sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A== - dependencies: - bl "^1.0.0" - buffer-alloc "^1.2.0" - end-of-stream "^1.0.0" - fs-constants "^1.0.0" - readable-stream "^2.3.0" - to-buffer "^1.1.1" - xtend "^4.0.0" +"symbol-observable@^2.0.3": + "integrity" "sha512-sQV7phh2WCYAn81oAkakC5qjq2Ml0g8ozqz03wOGnx9dDlG1de6yrF+0RAzSJD8fPUow3PTSMf2SAbOGxb93BA==" + "resolved" "https://registry.npmjs.org/symbol-observable/-/symbol-observable-2.0.3.tgz" + "version" "2.0.3" + +"tapable@^2.1.1", "tapable@^2.2.0": + "integrity" "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" + "resolved" "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz" + "version" "2.2.1" -terser-webpack-plugin@^5.1.3: - version "5.3.6" - resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz" - integrity sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ== +"tar-stream@^1.5.2": + "integrity" "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==" + "resolved" "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz" + "version" "1.6.2" + dependencies: + "bl" "^1.0.0" + "buffer-alloc" "^1.2.0" + "end-of-stream" "^1.0.0" + "fs-constants" "^1.0.0" + "readable-stream" "^2.3.0" + "to-buffer" "^1.1.1" + "xtend" "^4.0.0" + +"terser-webpack-plugin@^5.1.3": + "integrity" "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==" + "resolved" "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz" + "version" "5.3.6" dependencies: "@jridgewell/trace-mapping" "^0.3.14" - jest-worker "^27.4.5" - schema-utils "^3.1.1" - serialize-javascript "^6.0.0" - terser "^5.14.1" + "jest-worker" "^27.4.5" + "schema-utils" "^3.1.1" + "serialize-javascript" "^6.0.0" + "terser" "^5.14.1" -terser@^5.14.1: - version "5.15.1" - resolved "https://registry.npmjs.org/terser/-/terser-5.15.1.tgz" - integrity sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw== +"terser@^5.14.1": + "integrity" "sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw==" + "resolved" "https://registry.npmjs.org/terser/-/terser-5.15.1.tgz" + "version" "5.15.1" dependencies: "@jridgewell/source-map" "^0.3.2" - acorn "^8.5.0" - commander "^2.20.0" - source-map-support "~0.5.20" + "acorn" "^8.5.0" + "commander" "^2.20.0" + "source-map-support" "~0.5.20" -test-exclude@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz" - integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== +"test-exclude@^6.0.0": + "integrity" "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==" + "resolved" "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz" + "version" "6.0.0" dependencies: "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" - integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== - -through@^2.3.8: - version "2.3.8" - resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz" - integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== - -timed-out@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz" - integrity sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA== - -tmpl@1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz" - integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== - -to-buffer@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz" - integrity sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg== - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" - integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -trim-repeated@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz" - integrity sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg== - dependencies: - escape-string-regexp "^1.0.2" - -ts-jest@^29.0.3: - version "29.0.3" - resolved "https://registry.npmjs.org/ts-jest/-/ts-jest-29.0.3.tgz" - integrity sha512-Ibygvmuyq1qp/z3yTh9QTwVVAbFdDy/+4BtIQR2sp6baF2SJU/8CKK/hhnGIDY2L90Az2jIqTwZPnN2p+BweiQ== - dependencies: - bs-logger "0.x" - fast-json-stable-stringify "2.x" - jest-util "^29.0.0" - json5 "^2.2.1" - lodash.memoize "4.x" - make-error "1.x" - semver "7.x" - yargs-parser "^21.0.1" - -ts-node@^10.9.1: - version "10.9.1" - resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz" - integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== + "glob" "^7.1.4" + "minimatch" "^3.0.4" + +"text-table@^0.2.0": + "integrity" "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + "resolved" "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" + "version" "0.2.0" + +"through@^2.3.8": + "integrity" "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" + "resolved" "https://registry.npmjs.org/through/-/through-2.3.8.tgz" + "version" "2.3.8" + +"timed-out@^4.0.1": + "integrity" "sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==" + "resolved" "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz" + "version" "4.0.1" + +"tmpl@1.0.5": + "integrity" "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" + "resolved" "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz" + "version" "1.0.5" + +"to-buffer@^1.1.1": + "integrity" "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" + "resolved" "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz" + "version" "1.1.1" + +"to-fast-properties@^2.0.0": + "integrity" "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" + "resolved" "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" + "version" "2.0.0" + +"to-regex-range@^5.0.1": + "integrity" "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==" + "resolved" "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + "version" "5.0.1" + dependencies: + "is-number" "^7.0.0" + +"trim-repeated@^1.0.0": + "integrity" "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==" + "resolved" "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "escape-string-regexp" "^1.0.2" + +"ts-jest@^29.0.3": + "integrity" "sha512-Ibygvmuyq1qp/z3yTh9QTwVVAbFdDy/+4BtIQR2sp6baF2SJU/8CKK/hhnGIDY2L90Az2jIqTwZPnN2p+BweiQ==" + "resolved" "https://registry.npmjs.org/ts-jest/-/ts-jest-29.0.3.tgz" + "version" "29.0.3" + dependencies: + "bs-logger" "0.x" + "fast-json-stable-stringify" "2.x" + "jest-util" "^29.0.0" + "json5" "^2.2.1" + "lodash.memoize" "4.x" + "make-error" "1.x" + "semver" "7.x" + "yargs-parser" "^21.0.1" + +"ts-node@^10.9.1", "ts-node@>=9.0.0": + "integrity" "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==" + "resolved" "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz" + "version" "10.9.1" dependencies: "@cspotcode/source-map-support" "^0.8.0" "@tsconfig/node10" "^1.0.7" "@tsconfig/node12" "^1.0.7" "@tsconfig/node14" "^1.0.0" "@tsconfig/node16" "^1.0.2" - acorn "^8.4.1" - acorn-walk "^8.1.1" - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - v8-compile-cache-lib "^3.0.1" - yn "3.1.1" - -ts-poet@^6.4.1: - version "6.4.1" - resolved "https://registry.npmjs.org/ts-poet/-/ts-poet-6.4.1.tgz" - integrity sha512-AjZEs4h2w4sDfwpHMxQKHrTlNh2wRbM5NRXmLz0RiH+yPGtSQFbe9hBpNocU8vqVNgfh0BIOiXR80xDz3kKxUQ== - dependencies: - dprint-node "^1.0.7" - -ts-proto-descriptors@1.8.0: - version "1.8.0" - resolved "https://registry.npmjs.org/ts-proto-descriptors/-/ts-proto-descriptors-1.8.0.tgz" - integrity sha512-iV20plcI8+GRkeZIAygxOOH0p2xpOsKfw9kI1W20NCwawi1/4bG/YRd9rQY9XSJP+lD9j7XbSy3tFFuikfsljw== - dependencies: - long "^4.0.0" - protobufjs "^6.8.8" - -ts-proto@^1.145.0: - version "1.145.0" - resolved "https://registry.npmjs.org/ts-proto/-/ts-proto-1.145.0.tgz" - integrity sha512-th0T5BN8Ytl//6L5ea5nbxtlcGQaqPP9MVm0lxT+t1Mn3Np0g/GMR1VUiOwZhtAo5N7xfuaX4AppWELR5rCF7g== + "acorn" "^8.4.1" + "acorn-walk" "^8.1.1" + "arg" "^4.1.0" + "create-require" "^1.1.0" + "diff" "^4.0.1" + "make-error" "^1.1.1" + "v8-compile-cache-lib" "^3.0.1" + "yn" "3.1.1" + +"ts-poet@^6.4.1": + "integrity" "sha512-AjZEs4h2w4sDfwpHMxQKHrTlNh2wRbM5NRXmLz0RiH+yPGtSQFbe9hBpNocU8vqVNgfh0BIOiXR80xDz3kKxUQ==" + "resolved" "https://registry.npmjs.org/ts-poet/-/ts-poet-6.4.1.tgz" + "version" "6.4.1" + dependencies: + "dprint-node" "^1.0.7" + +"ts-proto-descriptors@1.8.0": + "integrity" "sha512-iV20plcI8+GRkeZIAygxOOH0p2xpOsKfw9kI1W20NCwawi1/4bG/YRd9rQY9XSJP+lD9j7XbSy3tFFuikfsljw==" + "resolved" "https://registry.npmjs.org/ts-proto-descriptors/-/ts-proto-descriptors-1.8.0.tgz" + "version" "1.8.0" + dependencies: + "long" "^4.0.0" + "protobufjs" "^6.8.8" + +"ts-proto@^1.145.0": + "integrity" "sha512-th0T5BN8Ytl//6L5ea5nbxtlcGQaqPP9MVm0lxT+t1Mn3Np0g/GMR1VUiOwZhtAo5N7xfuaX4AppWELR5rCF7g==" + "resolved" "https://registry.npmjs.org/ts-proto/-/ts-proto-1.145.0.tgz" + "version" "1.145.0" dependencies: "@types/object-hash" "^1.3.0" - case-anything "^2.1.10" - dataloader "^1.4.0" - object-hash "^1.3.1" - protobufjs "^6.11.3" - ts-poet "^6.4.1" - ts-proto-descriptors "1.8.0" - -ts-protoc-gen@^0.15.0: - version "0.15.0" - resolved "https://registry.npmjs.org/ts-protoc-gen/-/ts-protoc-gen-0.15.0.tgz" - integrity sha512-TycnzEyrdVDlATJ3bWFTtra3SCiEP0W0vySXReAuEygXCUr1j2uaVyL0DhzjwuUdQoW5oXPwk6oZWeA0955V+g== - dependencies: - google-protobuf "^3.15.5" - -tslib@^1.8.1: - version "1.14.1" - resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tslib@^2.1.0: - version "2.4.1" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz" - integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA== - -tsutils@^3.21.0: - version "3.21.0" - resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -type-detect@4.0.8: - version "4.0.8" - resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - -typescript@^4.8.4: - version "4.8.4" - resolved "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz" - integrity sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ== - -unbzip2-stream@^1.0.9: - version "1.4.3" - resolved "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz" - integrity sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg== - dependencies: - buffer "^5.2.1" - through "^2.3.8" - -undici-types@~5.26.4: - version "5.26.5" - resolved "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz" - integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== - -union@~0.5.0: - version "0.5.0" - resolved "https://registry.npmjs.org/union/-/union-0.5.0.tgz" - integrity sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA== - dependencies: - qs "^6.4.0" - -update-browserslist-db@^1.0.9: - version "1.0.10" - resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz" - integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== - dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -url-join@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz" - integrity sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA== - -url-parse-lax@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz" - integrity sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ== - dependencies: - prepend-http "^2.0.0" - -url-to-options@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz" - integrity sha512-0kQLIzG4fdk/G5NONku64rSH/x32NOA39LVQqlK8Le6lvTF6GGRJpqaQFGgU+CLwySIqBSMdwYM0sYcW9f6P4A== - -util-deprecate@^1.0.1, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - -v8-compile-cache-lib@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz" - integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== - -v8-to-istanbul@^9.0.1: - version "9.1.3" - resolved "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.3.tgz" - integrity sha512-9lDD+EVI2fjFsMWXc6dy5JJzBsVTcQ2fVkfBvncZ6xJWG9wtBhOldG+mHkSL0+V1K/xgZz0JDO5UT5hFwHUghg== + "case-anything" "^2.1.10" + "dataloader" "^1.4.0" + "object-hash" "^1.3.1" + "protobufjs" "^6.11.3" + "ts-poet" "^6.4.1" + "ts-proto-descriptors" "1.8.0" + +"ts-protoc-gen@^0.15.0": + "integrity" "sha512-TycnzEyrdVDlATJ3bWFTtra3SCiEP0W0vySXReAuEygXCUr1j2uaVyL0DhzjwuUdQoW5oXPwk6oZWeA0955V+g==" + "resolved" "https://registry.npmjs.org/ts-protoc-gen/-/ts-protoc-gen-0.15.0.tgz" + "version" "0.15.0" + dependencies: + "google-protobuf" "^3.15.5" + +"tslib@^1.8.1": + "integrity" "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "resolved" "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" + "version" "1.14.1" + +"tslib@^2.1.0": + "integrity" "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" + "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz" + "version" "2.4.1" + +"tsutils@^3.21.0": + "integrity" "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==" + "resolved" "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" + "version" "3.21.0" + dependencies: + "tslib" "^1.8.1" + +"type-check@^0.4.0", "type-check@~0.4.0": + "integrity" "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==" + "resolved" "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" + "version" "0.4.0" + dependencies: + "prelude-ls" "^1.2.1" + +"type-detect@4.0.8": + "integrity" "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" + "resolved" "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" + "version" "4.0.8" + +"type-fest@^0.20.2": + "integrity" "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" + "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" + "version" "0.20.2" + +"type-fest@^0.21.3": + "integrity" "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" + "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" + "version" "0.21.3" + +"typescript@^4.8.4", "typescript@>=2.7", "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta", "typescript@>=4.3": + "integrity" "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==" + "resolved" "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz" + "version" "4.8.4" + +"unbzip2-stream@^1.0.9": + "integrity" "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==" + "resolved" "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz" + "version" "1.4.3" + dependencies: + "buffer" "^5.2.1" + "through" "^2.3.8" + +"undici-types@~5.26.4": + "integrity" "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + "resolved" "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz" + "version" "5.26.5" + +"union@~0.5.0": + "integrity" "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==" + "resolved" "https://registry.npmjs.org/union/-/union-0.5.0.tgz" + "version" "0.5.0" + dependencies: + "qs" "^6.4.0" + +"update-browserslist-db@^1.0.9": + "integrity" "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==" + "resolved" "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz" + "version" "1.0.10" + dependencies: + "escalade" "^3.1.1" + "picocolors" "^1.0.0" + +"uri-js@^4.2.2": + "integrity" "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==" + "resolved" "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + "version" "4.4.1" + dependencies: + "punycode" "^2.1.0" + +"url-join@^4.0.1": + "integrity" "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==" + "resolved" "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz" + "version" "4.0.1" + +"url-parse-lax@^3.0.0": + "integrity" "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==" + "resolved" "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "prepend-http" "^2.0.0" + +"url-to-options@^1.0.1": + "integrity" "sha512-0kQLIzG4fdk/G5NONku64rSH/x32NOA39LVQqlK8Le6lvTF6GGRJpqaQFGgU+CLwySIqBSMdwYM0sYcW9f6P4A==" + "resolved" "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz" + "version" "1.0.1" + +"util-deprecate@^1.0.1", "util-deprecate@~1.0.1": + "integrity" "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + "resolved" "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + "version" "1.0.2" + +"v8-compile-cache-lib@^3.0.1": + "integrity" "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" + "resolved" "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz" + "version" "3.0.1" + +"v8-to-istanbul@^9.0.1": + "integrity" "sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==" + "resolved" "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz" + "version" "9.0.1" dependencies: "@jridgewell/trace-mapping" "^0.3.12" "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^2.0.0" + "convert-source-map" "^1.6.0" -walker@^1.0.8: - version "1.0.8" - resolved "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz" - integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== +"walker@^1.0.8": + "integrity" "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==" + "resolved" "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz" + "version" "1.0.8" dependencies: - makeerror "1.0.12" + "makeerror" "1.0.12" -watchpack@^2.4.0: - version "2.4.0" - resolved "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz" - integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== +"watchpack@^2.4.0": + "integrity" "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==" + "resolved" "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz" + "version" "2.4.0" dependencies: - glob-to-regexp "^0.4.1" - graceful-fs "^4.1.2" + "glob-to-regexp" "^0.4.1" + "graceful-fs" "^4.1.2" -webpack-cli@^4.10.0: - version "4.10.0" - resolved "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz" - integrity sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w== +"webpack-cli@^4.10.0", "webpack-cli@4.x.x": + "integrity" "sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==" + "resolved" "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz" + "version" "4.10.0" dependencies: "@discoveryjs/json-ext" "^0.5.0" "@webpack-cli/configtest" "^1.2.0" "@webpack-cli/info" "^1.5.0" "@webpack-cli/serve" "^1.7.0" - colorette "^2.0.14" - commander "^7.0.0" - cross-spawn "^7.0.3" - fastest-levenshtein "^1.0.12" - import-local "^3.0.2" - interpret "^2.2.0" - rechoir "^0.7.0" - webpack-merge "^5.7.3" - -webpack-merge@^5.7.3: - version "5.8.0" - resolved "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz" - integrity sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q== - dependencies: - clone-deep "^4.0.1" - wildcard "^2.0.0" - -webpack-sources@^3.2.3: - version "3.2.3" - resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" - integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== - -webpack@^5.74.0: - version "5.74.0" - resolved "https://registry.npmjs.org/webpack/-/webpack-5.74.0.tgz" - integrity sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA== + "colorette" "^2.0.14" + "commander" "^7.0.0" + "cross-spawn" "^7.0.3" + "fastest-levenshtein" "^1.0.12" + "import-local" "^3.0.2" + "interpret" "^2.2.0" + "rechoir" "^0.7.0" + "webpack-merge" "^5.7.3" + +"webpack-merge@^5.7.3": + "integrity" "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==" + "resolved" "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz" + "version" "5.8.0" + dependencies: + "clone-deep" "^4.0.1" + "wildcard" "^2.0.0" + +"webpack-sources@^3.2.3": + "integrity" "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==" + "resolved" "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" + "version" "3.2.3" + +"webpack@^5.1.0", "webpack@^5.74.0", "webpack@4.x.x || 5.x.x": + "integrity" "sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==" + "resolved" "https://registry.npmjs.org/webpack/-/webpack-5.74.0.tgz" + "version" "5.74.0" dependencies: "@types/eslint-scope" "^3.7.3" "@types/estree" "^0.0.51" "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/wasm-edit" "1.11.1" "@webassemblyjs/wasm-parser" "1.11.1" - acorn "^8.7.1" - acorn-import-assertions "^1.7.6" - browserslist "^4.14.5" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.10.0" - es-module-lexer "^0.9.0" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.9" - json-parse-even-better-errors "^2.3.1" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.1.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.1.3" - watchpack "^2.4.0" - webpack-sources "^3.2.3" - -whatwg-encoding@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz" - integrity sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg== - dependencies: - iconv-lite "0.6.3" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -wildcard@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz" - integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw== - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -write-file-atomic@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz" - integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== - dependencies: - imurmurhash "^0.1.4" - signal-exit "^3.0.7" - -ws@^7: - version "7.5.9" - resolved "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz" - integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== - -xstream@^11.14.0: - version "11.14.0" - resolved "https://registry.npmjs.org/xstream/-/xstream-11.14.0.tgz" - integrity sha512-1bLb+kKKtKPbgTK6i/BaoAn03g47PpFstlbe1BA+y3pNS/LfvcaghS5BFf9+EE1J+KwSQsEpfJvFN5GqFtiNmw== - dependencies: - globalthis "^1.0.1" - symbol-observable "^2.0.3" - -xtend@^4.0.0: - version "4.0.2" - resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yargs-parser@^20.2.2: - version "20.2.9" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - -yargs-parser@^21.0.1, yargs-parser@^21.1.1: - version "21.1.1" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" - integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== - -yargs@^16.2.0: - version "16.2.0" - resolved "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" - -yargs@^17.3.1: - version "17.7.2" - resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz" - integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== - dependencies: - cliui "^8.0.1" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.1.1" - -yauzl@^2.4.2: - version "2.10.0" - resolved "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz" - integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== - dependencies: - buffer-crc32 "~0.2.3" - fd-slicer "~1.1.0" - -yn@3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz" - integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + "acorn" "^8.7.1" + "acorn-import-assertions" "^1.7.6" + "browserslist" "^4.14.5" + "chrome-trace-event" "^1.0.2" + "enhanced-resolve" "^5.10.0" + "es-module-lexer" "^0.9.0" + "eslint-scope" "5.1.1" + "events" "^3.2.0" + "glob-to-regexp" "^0.4.1" + "graceful-fs" "^4.2.9" + "json-parse-even-better-errors" "^2.3.1" + "loader-runner" "^4.2.0" + "mime-types" "^2.1.27" + "neo-async" "^2.6.2" + "schema-utils" "^3.1.0" + "tapable" "^2.1.1" + "terser-webpack-plugin" "^5.1.3" + "watchpack" "^2.4.0" + "webpack-sources" "^3.2.3" + +"whatwg-encoding@^2.0.0": + "integrity" "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==" + "resolved" "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "iconv-lite" "0.6.3" + +"which@^2.0.1": + "integrity" "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==" + "resolved" "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "isexe" "^2.0.0" + +"wildcard@^2.0.0": + "integrity" "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==" + "resolved" "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz" + "version" "2.0.0" + +"wrap-ansi@^7.0.0": + "integrity" "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==" + "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + "version" "7.0.0" + dependencies: + "ansi-styles" "^4.0.0" + "string-width" "^4.1.0" + "strip-ansi" "^6.0.0" + +"wrappy@1": + "integrity" "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + "resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + "version" "1.0.2" + +"write-file-atomic@^4.0.1": + "integrity" "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==" + "resolved" "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "imurmurhash" "^0.1.4" + "signal-exit" "^3.0.7" + +"ws@*", "ws@^7": + "integrity" "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==" + "resolved" "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz" + "version" "7.5.9" + +"xstream@^11.14.0": + "integrity" "sha512-1bLb+kKKtKPbgTK6i/BaoAn03g47PpFstlbe1BA+y3pNS/LfvcaghS5BFf9+EE1J+KwSQsEpfJvFN5GqFtiNmw==" + "resolved" "https://registry.npmjs.org/xstream/-/xstream-11.14.0.tgz" + "version" "11.14.0" + dependencies: + "globalthis" "^1.0.1" + "symbol-observable" "^2.0.3" + +"xtend@^4.0.0": + "integrity" "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + "resolved" "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" + "version" "4.0.2" + +"y18n@^5.0.5": + "integrity" "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + "resolved" "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" + "version" "5.0.8" + +"yallist@^4.0.0": + "integrity" "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "resolved" "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" + "version" "4.0.0" + +"yargs-parser@^20.2.2": + "integrity" "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" + "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz" + "version" "20.2.9" + +"yargs-parser@^21.0.1", "yargs-parser@^21.1.1": + "integrity" "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" + "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" + "version" "21.1.1" + +"yargs@^16.2.0": + "integrity" "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==" + "resolved" "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" + "version" "16.2.0" + dependencies: + "cliui" "^7.0.2" + "escalade" "^3.1.1" + "get-caller-file" "^2.0.5" + "require-directory" "^2.1.1" + "string-width" "^4.2.0" + "y18n" "^5.0.5" + "yargs-parser" "^20.2.2" + +"yargs@^17.3.1": + "integrity" "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==" + "resolved" "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz" + "version" "17.6.2" + dependencies: + "cliui" "^8.0.1" + "escalade" "^3.1.1" + "get-caller-file" "^2.0.5" + "require-directory" "^2.1.1" + "string-width" "^4.2.3" + "y18n" "^5.0.5" + "yargs-parser" "^21.1.1" + +"yauzl@^2.4.2": + "integrity" "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==" + "resolved" "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz" + "version" "2.10.0" + dependencies: + "buffer-crc32" "~0.2.3" + "fd-slicer" "~1.1.0" + +"yn@3.1.1": + "integrity" "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==" + "resolved" "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz" + "version" "3.1.1" + +"yocto-queue@^0.1.0": + "integrity" "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" + "resolved" "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" + "version" "0.1.0" diff --git a/testutil/e2e/sdk/tests/package.json b/testutil/e2e/sdk/tests/package.json index 70435070ef..1f7fc8d960 100644 --- a/testutil/e2e/sdk/tests/package.json +++ b/testutil/e2e/sdk/tests/package.json @@ -1,5 +1,5 @@ { "devDependencies": { - "@types/node": "^20.10.8" + "@types/node": "^20.11.30" } } From d5cd7b818d0f721b131f99e5532738bebfd0408c Mon Sep 17 00:00:00 2001 From: oren-lava Date: Thu, 28 Mar 2024 15:09:34 +0200 Subject: [PATCH 25/35] Revert "updated" This reverts commit ec2852edd50f07b9142df0fa06a1465f2ca4d2ab. --- ecosystem/lava-sdk/yarn.lock | 9418 +++++++++++++-------------- testutil/e2e/sdk/tests/package.json | 2 +- 2 files changed, 4670 insertions(+), 4750 deletions(-) diff --git a/ecosystem/lava-sdk/yarn.lock b/ecosystem/lava-sdk/yarn.lock index a862996e86..14949e2f54 100644 --- a/ecosystem/lava-sdk/yarn.lock +++ b/ecosystem/lava-sdk/yarn.lock @@ -3,34 +3,34 @@ "@aashutoshrathi/word-wrap@^1.2.3": - "integrity" "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==" - "resolved" "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz" - "version" "1.2.6" + version "1.2.6" + resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" + integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== "@ampproject/remapping@^2.1.0": - "integrity" "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==" - "resolved" "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz" - "version" "2.2.0" + version "2.2.0" + resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz" + integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== dependencies: "@jridgewell/gen-mapping" "^0.1.0" "@jridgewell/trace-mapping" "^0.3.9" "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.18.6": - "integrity" "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==" - "resolved" "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz" + integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== dependencies: "@babel/highlight" "^7.18.6" "@babel/compat-data@^7.20.0": - "integrity" "sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ==" - "resolved" "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.1.tgz" - "version" "7.20.1" + version "7.20.1" + resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.1.tgz" + integrity sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ== -"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.8.0", "@babel/core@>=7.0.0-beta.0 <8": - "integrity" "sha512-w7DbG8DtMrJcFOi4VrLm+8QM4az8Mo+PuLBKLp2zrYRCow8W/f9xiXm5sN53C8HksCyDQwCKha9JiDoIyPjT2g==" - "resolved" "https://registry.npmjs.org/@babel/core/-/core-7.20.2.tgz" - "version" "7.20.2" +"@babel/core@^7.11.6", "@babel/core@^7.12.3": + version "7.20.2" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.20.2.tgz" + integrity sha512-w7DbG8DtMrJcFOi4VrLm+8QM4az8Mo+PuLBKLp2zrYRCow8W/f9xiXm5sN53C8HksCyDQwCKha9JiDoIyPjT2g== dependencies: "@ampproject/remapping" "^2.1.0" "@babel/code-frame" "^7.18.6" @@ -42,62 +42,62 @@ "@babel/template" "^7.18.10" "@babel/traverse" "^7.20.1" "@babel/types" "^7.20.2" - "convert-source-map" "^1.7.0" - "debug" "^4.1.0" - "gensync" "^1.0.0-beta.2" - "json5" "^2.2.1" - "semver" "^6.3.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.1" + semver "^6.3.0" "@babel/generator@^7.20.1", "@babel/generator@^7.20.2", "@babel/generator@^7.7.2": - "integrity" "sha512-luCf7yk/cm7yab6CAW1aiFnmEfBJplb/JojV56MYEK7ziWfGmFlTfmL9Ehwfy4gFhbjBfWO1wj7/TuSbVNEEtA==" - "resolved" "https://registry.npmjs.org/@babel/generator/-/generator-7.20.4.tgz" - "version" "7.20.4" + version "7.20.4" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.20.4.tgz" + integrity sha512-luCf7yk/cm7yab6CAW1aiFnmEfBJplb/JojV56MYEK7ziWfGmFlTfmL9Ehwfy4gFhbjBfWO1wj7/TuSbVNEEtA== dependencies: "@babel/types" "^7.20.2" "@jridgewell/gen-mapping" "^0.3.2" - "jsesc" "^2.5.1" + jsesc "^2.5.1" "@babel/helper-compilation-targets@^7.20.0": - "integrity" "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==" - "resolved" "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz" - "version" "7.20.0" + version "7.20.0" + resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz" + integrity sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ== dependencies: "@babel/compat-data" "^7.20.0" "@babel/helper-validator-option" "^7.18.6" - "browserslist" "^4.21.3" - "semver" "^6.3.0" + browserslist "^4.21.3" + semver "^6.3.0" "@babel/helper-environment-visitor@^7.18.9": - "integrity" "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==" - "resolved" "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz" - "version" "7.18.9" + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz" + integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== "@babel/helper-function-name@^7.19.0": - "integrity" "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==" - "resolved" "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz" - "version" "7.19.0" + version "7.19.0" + resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz" + integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w== dependencies: "@babel/template" "^7.18.10" "@babel/types" "^7.19.0" "@babel/helper-hoist-variables@^7.18.6": - "integrity" "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==" - "resolved" "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz" + integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== dependencies: "@babel/types" "^7.18.6" "@babel/helper-module-imports@^7.18.6": - "integrity" "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==" - "resolved" "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz" + integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== dependencies: "@babel/types" "^7.18.6" "@babel/helper-module-transforms@^7.20.2": - "integrity" "sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==" - "resolved" "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz" - "version" "7.20.2" + version "7.20.2" + resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz" + integrity sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA== dependencies: "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-module-imports" "^7.18.6" @@ -108,174 +108,174 @@ "@babel/traverse" "^7.20.1" "@babel/types" "^7.20.2" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.8.0": - "integrity" "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==" - "resolved" "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz" - "version" "7.20.2" +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz" + integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== "@babel/helper-simple-access@^7.20.2": - "integrity" "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==" - "resolved" "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz" - "version" "7.20.2" + version "7.20.2" + resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz" + integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== dependencies: "@babel/types" "^7.20.2" "@babel/helper-split-export-declaration@^7.18.6": - "integrity" "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==" - "resolved" "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz" + integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== dependencies: "@babel/types" "^7.18.6" -"@babel/helper-string-parser@^7.19.4": - "integrity" "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==" - "resolved" "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz" - "version" "7.19.4" +"@babel/helper-string-parser@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz" + integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== -"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": - "integrity" "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" - "resolved" "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz" - "version" "7.19.1" +"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1", "@babel/helper-validator-identifier@^7.22.20": + version "7.22.20" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz" + integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== "@babel/helper-validator-option@^7.18.6": - "integrity" "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==" - "resolved" "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz" + integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== "@babel/helpers@^7.20.1": - "integrity" "sha512-J77mUVaDTUJFZ5BpP6mMn6OIl3rEWymk2ZxDBQJUG3P+PbmyMcF3bYWvz0ma69Af1oobDqT/iAsvzhB58xhQUg==" - "resolved" "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.1.tgz" - "version" "7.20.1" + version "7.20.1" + resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.1.tgz" + integrity sha512-J77mUVaDTUJFZ5BpP6mMn6OIl3rEWymk2ZxDBQJUG3P+PbmyMcF3bYWvz0ma69Af1oobDqT/iAsvzhB58xhQUg== dependencies: "@babel/template" "^7.18.10" "@babel/traverse" "^7.20.1" "@babel/types" "^7.20.0" "@babel/highlight@^7.18.6": - "integrity" "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==" - "resolved" "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz" + integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== dependencies: "@babel/helper-validator-identifier" "^7.18.6" - "chalk" "^2.0.0" - "js-tokens" "^4.0.0" + chalk "^2.0.0" + js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.20.1", "@babel/parser@^7.20.2": - "integrity" "sha512-OP/s5a94frIPXwjzEcv5S/tpQfc6XhxYUnmWpgdqMWGgYCuErA3SzozaRAMQgSZWKeTJxht9aWAkUY+0UzvOFg==" - "resolved" "https://registry.npmjs.org/@babel/parser/-/parser-7.20.3.tgz" - "version" "7.20.3" +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.20.1", "@babel/parser@^7.20.2", "@babel/parser@^7.20.7": + version "7.23.0" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz" + integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw== "@babel/plugin-syntax-async-generators@^7.8.4": - "integrity" "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" - "version" "7.8.4" + version "7.8.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-bigint@^7.8.3": - "integrity" "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz" - "version" "7.8.3" + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz" + integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-class-properties@^7.8.3": - "integrity" "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" - "version" "7.12.13" + version "7.12.13" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== dependencies: "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-import-meta@^7.8.3": - "integrity" "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" - "version" "7.10.4" + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-json-strings@^7.8.3": - "integrity" "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" - "version" "7.8.3" + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-jsx@^7.7.2": - "integrity" "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz" - "version" "7.18.6" + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz" + integrity sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": - "integrity" "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" - "version" "7.10.4" + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - "integrity" "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" - "version" "7.8.3" + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-numeric-separator@^7.8.3": - "integrity" "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" - "version" "7.10.4" + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-object-rest-spread@^7.8.3": - "integrity" "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" - "version" "7.8.3" + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-optional-catch-binding@^7.8.3": - "integrity" "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" - "version" "7.8.3" + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-optional-chaining@^7.8.3": - "integrity" "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" - "version" "7.8.3" + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-top-level-await@^7.8.3": - "integrity" "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-typescript@^7.7.2": - "integrity" "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz" - "version" "7.20.0" + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz" + integrity sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ== dependencies: - "@babel/helper-plugin-utils" "^7.19.0" + "@babel/helper-plugin-utils" "^7.22.5" "@babel/template@^7.18.10", "@babel/template@^7.3.3": - "integrity" "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==" - "resolved" "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz" - "version" "7.18.10" + version "7.18.10" + resolved "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz" + integrity sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA== dependencies: "@babel/code-frame" "^7.18.6" "@babel/parser" "^7.18.10" "@babel/types" "^7.18.10" -"@babel/traverse@^7.20.1", "@babel/traverse@^7.7.2": - "integrity" "sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA==" - "resolved" "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.1.tgz" - "version" "7.20.1" +"@babel/traverse@^7.20.1": + version "7.20.1" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.1.tgz" + integrity sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA== dependencies: "@babel/code-frame" "^7.18.6" "@babel/generator" "^7.20.1" @@ -285,45 +285,35 @@ "@babel/helper-split-export-declaration" "^7.18.6" "@babel/parser" "^7.20.1" "@babel/types" "^7.20.0" - "debug" "^4.1.0" - "globals" "^11.1.0" + debug "^4.1.0" + globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.19.0", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.3.0", "@babel/types@^7.3.3": - "integrity" "sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==" - "resolved" "https://registry.npmjs.org/@babel/types/-/types-7.20.2.tgz" - "version" "7.20.2" +"@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.19.0", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.7", "@babel/types@^7.3.3": + version "7.23.0" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz" + integrity sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg== dependencies: - "@babel/helper-string-parser" "^7.19.4" - "@babel/helper-validator-identifier" "^7.19.1" - "to-fast-properties" "^2.0.0" + "@babel/helper-string-parser" "^7.22.5" + "@babel/helper-validator-identifier" "^7.22.20" + to-fast-properties "^2.0.0" "@bcoe/v8-coverage@^0.2.3": - "integrity" "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" - "resolved" "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz" - "version" "0.2.3" + version "0.2.3" + resolved "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== "@confio/ics23@^0.6.8": - "integrity" "sha512-wB6uo+3A50m0sW/EWcU64xpV/8wShZ6bMTa7pF8eYsTrSkQA7oLUIJcs/wb8g4y2Oyq701BaGiO6n/ak5WXO1w==" - "resolved" "https://registry.npmjs.org/@confio/ics23/-/ics23-0.6.8.tgz" - "version" "0.6.8" + version "0.6.8" + resolved "https://registry.npmjs.org/@confio/ics23/-/ics23-0.6.8.tgz" + integrity sha512-wB6uo+3A50m0sW/EWcU64xpV/8wShZ6bMTa7pF8eYsTrSkQA7oLUIJcs/wb8g4y2Oyq701BaGiO6n/ak5WXO1w== dependencies: "@noble/hashes" "^1.0.0" - "protobufjs" "^6.8.8" - -"@cosmjs/amino@^0.29.4", "@cosmjs/amino@^0.29.5": - "integrity" "sha512-Qo8jpC0BiziTSUqpkNatBcwtKNhCovUnFul9SlT/74JUCdLYaeG5hxr3q1cssQt++l4LvlcpF+OUXL48XjNjLw==" - "resolved" "https://registry.npmjs.org/@cosmjs/amino/-/amino-0.29.5.tgz" - "version" "0.29.5" - dependencies: - "@cosmjs/crypto" "^0.29.5" - "@cosmjs/encoding" "^0.29.5" - "@cosmjs/math" "^0.29.5" - "@cosmjs/utils" "^0.29.5" + protobufjs "^6.8.8" "@cosmjs/amino@0.27.1": - "integrity" "sha512-w56ar/nK9+qlvWDpBPRmD0Blk2wfkkLqRi1COs1x7Ll1LF0AtkIBUjbRKplENLbNovK0T3h+w8bHiFm+GBGQOA==" - "resolved" "https://registry.npmjs.org/@cosmjs/amino/-/amino-0.27.1.tgz" - "version" "0.27.1" + version "0.27.1" + resolved "https://registry.npmjs.org/@cosmjs/amino/-/amino-0.27.1.tgz" + integrity sha512-w56ar/nK9+qlvWDpBPRmD0Blk2wfkkLqRi1COs1x7Ll1LF0AtkIBUjbRKplENLbNovK0T3h+w8bHiFm+GBGQOA== dependencies: "@cosmjs/crypto" "0.27.1" "@cosmjs/encoding" "0.27.1" @@ -331,167 +321,177 @@ "@cosmjs/utils" "0.27.1" "@cosmjs/amino@0.28.2": - "integrity" "sha512-1VpbaigVVXYO84FkZxWmYzQDE4Va5JDxtnnaOZ2+dQ/y6+B+c8KRvn0cS429//8ngZCR2JhcPyNGSzNvljB/Hw==" - "resolved" "https://registry.npmjs.org/@cosmjs/amino/-/amino-0.28.2.tgz" - "version" "0.28.2" + version "0.28.2" + resolved "https://registry.npmjs.org/@cosmjs/amino/-/amino-0.28.2.tgz" + integrity sha512-1VpbaigVVXYO84FkZxWmYzQDE4Va5JDxtnnaOZ2+dQ/y6+B+c8KRvn0cS429//8ngZCR2JhcPyNGSzNvljB/Hw== dependencies: "@cosmjs/crypto" "0.28.2" "@cosmjs/encoding" "0.28.2" "@cosmjs/math" "0.28.2" "@cosmjs/utils" "0.28.2" -"@cosmjs/crypto@^0.29.4", "@cosmjs/crypto@^0.29.5": - "integrity" "sha512-2bKkaLGictaNL0UipQCL6C1afaisv6k8Wr/GCLx9FqiyFkh9ZgRHDyetD64ZsjnWV/N/D44s/esI+k6oPREaiQ==" - "resolved" "https://registry.npmjs.org/@cosmjs/crypto/-/crypto-0.29.5.tgz" - "version" "0.29.5" +"@cosmjs/amino@^0.29.4", "@cosmjs/amino@^0.29.5": + version "0.29.5" + resolved "https://registry.npmjs.org/@cosmjs/amino/-/amino-0.29.5.tgz" + integrity sha512-Qo8jpC0BiziTSUqpkNatBcwtKNhCovUnFul9SlT/74JUCdLYaeG5hxr3q1cssQt++l4LvlcpF+OUXL48XjNjLw== dependencies: + "@cosmjs/crypto" "^0.29.5" "@cosmjs/encoding" "^0.29.5" "@cosmjs/math" "^0.29.5" "@cosmjs/utils" "^0.29.5" - "@noble/hashes" "^1" - "bn.js" "^5.2.0" - "elliptic" "^6.5.4" - "libsodium-wrappers" "^0.7.6" "@cosmjs/crypto@0.27.1": - "integrity" "sha512-vbcxwSt99tIYJg8Spp00wc3zx72qx+pY3ozGuBN8gAvySnagK9dQ/jHwtWQWdammmdD6oW+75WfIHZ+gNa+Ybg==" - "resolved" "https://registry.npmjs.org/@cosmjs/crypto/-/crypto-0.27.1.tgz" - "version" "0.27.1" + version "0.27.1" + resolved "https://registry.npmjs.org/@cosmjs/crypto/-/crypto-0.27.1.tgz" + integrity sha512-vbcxwSt99tIYJg8Spp00wc3zx72qx+pY3ozGuBN8gAvySnagK9dQ/jHwtWQWdammmdD6oW+75WfIHZ+gNa+Ybg== dependencies: "@cosmjs/encoding" "0.27.1" "@cosmjs/math" "0.27.1" "@cosmjs/utils" "0.27.1" - "bip39" "^3.0.2" - "bn.js" "^5.2.0" - "elliptic" "^6.5.3" - "js-sha3" "^0.8.0" - "libsodium-wrappers" "^0.7.6" - "ripemd160" "^2.0.2" - "sha.js" "^2.4.11" + bip39 "^3.0.2" + bn.js "^5.2.0" + elliptic "^6.5.3" + js-sha3 "^0.8.0" + libsodium-wrappers "^0.7.6" + ripemd160 "^2.0.2" + sha.js "^2.4.11" "@cosmjs/crypto@0.28.2": - "integrity" "sha512-paWuG1pgzG8fSvAPnJbQwPTAqpLuBDBGNFI5/2tkTEARxLtOivK2Iy6u0rFQX9GOPJ/EYu0JCKsUbtAPWuDu7Q==" - "resolved" "https://registry.npmjs.org/@cosmjs/crypto/-/crypto-0.28.2.tgz" - "version" "0.28.2" + version "0.28.2" + resolved "https://registry.npmjs.org/@cosmjs/crypto/-/crypto-0.28.2.tgz" + integrity sha512-paWuG1pgzG8fSvAPnJbQwPTAqpLuBDBGNFI5/2tkTEARxLtOivK2Iy6u0rFQX9GOPJ/EYu0JCKsUbtAPWuDu7Q== dependencies: "@cosmjs/encoding" "0.28.2" "@cosmjs/math" "0.28.2" "@cosmjs/utils" "0.28.2" "@noble/hashes" "^1" - "bn.js" "^5.2.0" - "elliptic" "^6.5.3" - "libsodium-wrappers" "^0.7.6" + bn.js "^5.2.0" + elliptic "^6.5.3" + libsodium-wrappers "^0.7.6" -"@cosmjs/encoding@^0.29.4", "@cosmjs/encoding@^0.29.5": - "integrity" "sha512-G4rGl/Jg4dMCw5u6PEZHZcoHnUBlukZODHbm/wcL4Uu91fkn5jVo5cXXZcvs4VCkArVGrEj/52eUgTZCmOBGWQ==" - "resolved" "https://registry.npmjs.org/@cosmjs/encoding/-/encoding-0.29.5.tgz" - "version" "0.29.5" +"@cosmjs/crypto@^0.29.4", "@cosmjs/crypto@^0.29.5": + version "0.29.5" + resolved "https://registry.npmjs.org/@cosmjs/crypto/-/crypto-0.29.5.tgz" + integrity sha512-2bKkaLGictaNL0UipQCL6C1afaisv6k8Wr/GCLx9FqiyFkh9ZgRHDyetD64ZsjnWV/N/D44s/esI+k6oPREaiQ== dependencies: - "base64-js" "^1.3.0" - "bech32" "^1.1.4" - "readonly-date" "^1.0.0" + "@cosmjs/encoding" "^0.29.5" + "@cosmjs/math" "^0.29.5" + "@cosmjs/utils" "^0.29.5" + "@noble/hashes" "^1" + bn.js "^5.2.0" + elliptic "^6.5.4" + libsodium-wrappers "^0.7.6" "@cosmjs/encoding@0.27.1": - "integrity" "sha512-rayLsA0ojHeniaRfWWcqSsrE/T1rl1gl0OXVNtXlPwLJifKBeLEefGbOUiAQaT0wgJ8VNGBazVtAZBpJidfDhw==" - "resolved" "https://registry.npmjs.org/@cosmjs/encoding/-/encoding-0.27.1.tgz" - "version" "0.27.1" + version "0.27.1" + resolved "https://registry.npmjs.org/@cosmjs/encoding/-/encoding-0.27.1.tgz" + integrity sha512-rayLsA0ojHeniaRfWWcqSsrE/T1rl1gl0OXVNtXlPwLJifKBeLEefGbOUiAQaT0wgJ8VNGBazVtAZBpJidfDhw== dependencies: - "base64-js" "^1.3.0" - "bech32" "^1.1.4" - "readonly-date" "^1.0.0" + base64-js "^1.3.0" + bech32 "^1.1.4" + readonly-date "^1.0.0" "@cosmjs/encoding@0.28.2": - "integrity" "sha512-45kglsimqLtVjlu5tOHJlZYacwzLv0nnMKqG5/snPIbNER1YkmYhlQGQTXBQ/LGaXub/X45AK6OzWK9cUHgp8w==" - "resolved" "https://registry.npmjs.org/@cosmjs/encoding/-/encoding-0.28.2.tgz" - "version" "0.28.2" + version "0.28.2" + resolved "https://registry.npmjs.org/@cosmjs/encoding/-/encoding-0.28.2.tgz" + integrity sha512-45kglsimqLtVjlu5tOHJlZYacwzLv0nnMKqG5/snPIbNER1YkmYhlQGQTXBQ/LGaXub/X45AK6OzWK9cUHgp8w== dependencies: - "base64-js" "^1.3.0" - "bech32" "^1.1.4" - "readonly-date" "^1.0.0" + base64-js "^1.3.0" + bech32 "^1.1.4" + readonly-date "^1.0.0" + +"@cosmjs/encoding@^0.29.4", "@cosmjs/encoding@^0.29.5": + version "0.29.5" + resolved "https://registry.npmjs.org/@cosmjs/encoding/-/encoding-0.29.5.tgz" + integrity sha512-G4rGl/Jg4dMCw5u6PEZHZcoHnUBlukZODHbm/wcL4Uu91fkn5jVo5cXXZcvs4VCkArVGrEj/52eUgTZCmOBGWQ== + dependencies: + base64-js "^1.3.0" + bech32 "^1.1.4" + readonly-date "^1.0.0" "@cosmjs/json-rpc@0.28.2": - "integrity" "sha512-6I8Kzc8QtTaazlybHwvHJ/RQtzerUgYfO29B/m8ntWZZMk2PFUAdKZlv0z2HTM6jTrIzrfVA0Po8+9I9q4W0Tg==" - "resolved" "https://registry.npmjs.org/@cosmjs/json-rpc/-/json-rpc-0.28.2.tgz" - "version" "0.28.2" + version "0.28.2" + resolved "https://registry.npmjs.org/@cosmjs/json-rpc/-/json-rpc-0.28.2.tgz" + integrity sha512-6I8Kzc8QtTaazlybHwvHJ/RQtzerUgYfO29B/m8ntWZZMk2PFUAdKZlv0z2HTM6jTrIzrfVA0Po8+9I9q4W0Tg== dependencies: "@cosmjs/stream" "0.28.2" - "xstream" "^11.14.0" + xstream "^11.14.0" "@cosmjs/launchpad@^0.27.1": - "integrity" "sha512-DcFwGD/z5PK8CzO2sojDxa+Be9EIEtRZb2YawgVnw2Ht/p5FlNv+OVo8qlishpBdalXEN7FvQ1dVeDFEe9TuJw==" - "resolved" "https://registry.npmjs.org/@cosmjs/launchpad/-/launchpad-0.27.1.tgz" - "version" "0.27.1" + version "0.27.1" + resolved "https://registry.npmjs.org/@cosmjs/launchpad/-/launchpad-0.27.1.tgz" + integrity sha512-DcFwGD/z5PK8CzO2sojDxa+Be9EIEtRZb2YawgVnw2Ht/p5FlNv+OVo8qlishpBdalXEN7FvQ1dVeDFEe9TuJw== dependencies: "@cosmjs/amino" "0.27.1" "@cosmjs/crypto" "0.27.1" "@cosmjs/encoding" "0.27.1" "@cosmjs/math" "0.27.1" "@cosmjs/utils" "0.27.1" - "axios" "^0.21.2" - "fast-deep-equal" "^3.1.3" - -"@cosmjs/math@^0.29.5": - "integrity" "sha512-2GjKcv+A9f86MAWYLUkjhw1/WpRl2R1BTb3m9qPG7lzMA7ioYff9jY5SPCfafKdxM4TIQGxXQlYGewQL16O68Q==" - "resolved" "https://registry.npmjs.org/@cosmjs/math/-/math-0.29.5.tgz" - "version" "0.29.5" - dependencies: - "bn.js" "^5.2.0" + axios "^0.21.2" + fast-deep-equal "^3.1.3" "@cosmjs/math@0.27.1": - "integrity" "sha512-cHWVjmfIjtRc7f80n7x+J5k8pe+vTVTQ0lA82tIxUgqUvgS6rogPP/TmGtTiZ4+NxWxd11DUISY6gVpr18/VNQ==" - "resolved" "https://registry.npmjs.org/@cosmjs/math/-/math-0.27.1.tgz" - "version" "0.27.1" + version "0.27.1" + resolved "https://registry.npmjs.org/@cosmjs/math/-/math-0.27.1.tgz" + integrity sha512-cHWVjmfIjtRc7f80n7x+J5k8pe+vTVTQ0lA82tIxUgqUvgS6rogPP/TmGtTiZ4+NxWxd11DUISY6gVpr18/VNQ== dependencies: - "bn.js" "^5.2.0" + bn.js "^5.2.0" "@cosmjs/math@0.28.2": - "integrity" "sha512-u2X6g00HX5VdasI8PijgPb7md/v9outjND/PIuBpVadjf8HJxPKjrsYj346yfLdnA9gWBflsxw1nmu+0UU4Fng==" - "resolved" "https://registry.npmjs.org/@cosmjs/math/-/math-0.28.2.tgz" - "version" "0.28.2" + version "0.28.2" + resolved "https://registry.npmjs.org/@cosmjs/math/-/math-0.28.2.tgz" + integrity sha512-u2X6g00HX5VdasI8PijgPb7md/v9outjND/PIuBpVadjf8HJxPKjrsYj346yfLdnA9gWBflsxw1nmu+0UU4Fng== dependencies: - "bn.js" "^5.2.0" + bn.js "^5.2.0" -"@cosmjs/proto-signing@^0.29.4": - "integrity" "sha512-QRrS7CiKaoETdgIqvi/7JC2qCwCR7lnWaUsTzh/XfRy3McLkEd+cXbKAW3cygykv7IN0VAEIhZd2lyIfT8KwNA==" - "resolved" "https://registry.npmjs.org/@cosmjs/proto-signing/-/proto-signing-0.29.5.tgz" - "version" "0.29.5" +"@cosmjs/math@^0.29.5": + version "0.29.5" + resolved "https://registry.npmjs.org/@cosmjs/math/-/math-0.29.5.tgz" + integrity sha512-2GjKcv+A9f86MAWYLUkjhw1/WpRl2R1BTb3m9qPG7lzMA7ioYff9jY5SPCfafKdxM4TIQGxXQlYGewQL16O68Q== dependencies: - "@cosmjs/amino" "^0.29.5" - "@cosmjs/crypto" "^0.29.5" - "@cosmjs/encoding" "^0.29.5" - "@cosmjs/math" "^0.29.5" - "@cosmjs/utils" "^0.29.5" - "cosmjs-types" "^0.5.2" - "long" "^4.0.0" + bn.js "^5.2.0" "@cosmjs/proto-signing@0.28.2": - "integrity" "sha512-/XnffkWeYIHsJJ3MrHKOxSN+g1PBcHcpZx7ddHF/r09Zg3A8lLeEuDWCBuZ1tvMGbtjKMoP3nbkIQdn+Os8iIg==" - "resolved" "https://registry.npmjs.org/@cosmjs/proto-signing/-/proto-signing-0.28.2.tgz" - "version" "0.28.2" + version "0.28.2" + resolved "https://registry.npmjs.org/@cosmjs/proto-signing/-/proto-signing-0.28.2.tgz" + integrity sha512-/XnffkWeYIHsJJ3MrHKOxSN+g1PBcHcpZx7ddHF/r09Zg3A8lLeEuDWCBuZ1tvMGbtjKMoP3nbkIQdn+Os8iIg== dependencies: "@cosmjs/amino" "0.28.2" "@cosmjs/crypto" "0.28.2" "@cosmjs/encoding" "0.28.2" "@cosmjs/math" "0.28.2" "@cosmjs/utils" "0.28.2" - "cosmjs-types" "^0.4.0" - "long" "^4.0.0" - "protobufjs" "~6.10.2" + cosmjs-types "^0.4.0" + long "^4.0.0" + protobufjs "~6.10.2" + +"@cosmjs/proto-signing@^0.29.4": + version "0.29.5" + resolved "https://registry.npmjs.org/@cosmjs/proto-signing/-/proto-signing-0.29.5.tgz" + integrity sha512-QRrS7CiKaoETdgIqvi/7JC2qCwCR7lnWaUsTzh/XfRy3McLkEd+cXbKAW3cygykv7IN0VAEIhZd2lyIfT8KwNA== + dependencies: + "@cosmjs/amino" "^0.29.5" + "@cosmjs/crypto" "^0.29.5" + "@cosmjs/encoding" "^0.29.5" + "@cosmjs/math" "^0.29.5" + "@cosmjs/utils" "^0.29.5" + cosmjs-types "^0.5.2" + long "^4.0.0" "@cosmjs/socket@0.28.2": - "integrity" "sha512-AGq58qFVWvufzb4hBiPb51ZrpT8yNb+at+m/tRwpLZ8u1prN9VQ7hogSXwQJsHPOzNxtyO80DVHlGGmd9wonXg==" - "resolved" "https://registry.npmjs.org/@cosmjs/socket/-/socket-0.28.2.tgz" - "version" "0.28.2" + version "0.28.2" + resolved "https://registry.npmjs.org/@cosmjs/socket/-/socket-0.28.2.tgz" + integrity sha512-AGq58qFVWvufzb4hBiPb51ZrpT8yNb+at+m/tRwpLZ8u1prN9VQ7hogSXwQJsHPOzNxtyO80DVHlGGmd9wonXg== dependencies: "@cosmjs/stream" "0.28.2" - "isomorphic-ws" "^4.0.1" - "ws" "^7" - "xstream" "^11.14.0" + isomorphic-ws "^4.0.1" + ws "^7" + xstream "^11.14.0" "@cosmjs/stargate@0.28.2": - "integrity" "sha512-3c6Gu0OsocmvfKB6EC8DRD6To1IAVcgRYAQQ2kleSx/8dZAr5/x2vxwE2O1gqJhlwtEG+13+jzh39bX1uv8KwQ==" - "resolved" "https://registry.npmjs.org/@cosmjs/stargate/-/stargate-0.28.2.tgz" - "version" "0.28.2" + version "0.28.2" + resolved "https://registry.npmjs.org/@cosmjs/stargate/-/stargate-0.28.2.tgz" + integrity sha512-3c6Gu0OsocmvfKB6EC8DRD6To1IAVcgRYAQQ2kleSx/8dZAr5/x2vxwE2O1gqJhlwtEG+13+jzh39bX1uv8KwQ== dependencies: "@confio/ics23" "^0.6.8" "@cosmjs/amino" "0.28.2" @@ -501,22 +501,22 @@ "@cosmjs/stream" "0.28.2" "@cosmjs/tendermint-rpc" "0.28.2" "@cosmjs/utils" "0.28.2" - "cosmjs-types" "^0.4.0" - "long" "^4.0.0" - "protobufjs" "~6.10.2" - "xstream" "^11.14.0" + cosmjs-types "^0.4.0" + long "^4.0.0" + protobufjs "~6.10.2" + xstream "^11.14.0" "@cosmjs/stream@0.28.2": - "integrity" "sha512-qyIBOsWYqgEzcf3IujRvoz7/PWez1qMvj3spt3NGEMDlI+Eo7tpLHJBLdZHHFCXJUrii59SC297iz5isHIikpA==" - "resolved" "https://registry.npmjs.org/@cosmjs/stream/-/stream-0.28.2.tgz" - "version" "0.28.2" + version "0.28.2" + resolved "https://registry.npmjs.org/@cosmjs/stream/-/stream-0.28.2.tgz" + integrity sha512-qyIBOsWYqgEzcf3IujRvoz7/PWez1qMvj3spt3NGEMDlI+Eo7tpLHJBLdZHHFCXJUrii59SC297iz5isHIikpA== dependencies: - "xstream" "^11.14.0" + xstream "^11.14.0" "@cosmjs/tendermint-rpc@0.28.2": - "integrity" "sha512-+EwuOZNr43g0UHjEARGmWOdUEvyqMsPOnFCtyE9I5tvXF6HmL9BuxZ2AJwWmctF50+6t/LUy+ubqfKpgZ3QC9A==" - "resolved" "https://registry.npmjs.org/@cosmjs/tendermint-rpc/-/tendermint-rpc-0.28.2.tgz" - "version" "0.28.2" + version "0.28.2" + resolved "https://registry.npmjs.org/@cosmjs/tendermint-rpc/-/tendermint-rpc-0.28.2.tgz" + integrity sha512-+EwuOZNr43g0UHjEARGmWOdUEvyqMsPOnFCtyE9I5tvXF6HmL9BuxZ2AJwWmctF50+6t/LUy+ubqfKpgZ3QC9A== dependencies: "@cosmjs/crypto" "0.28.2" "@cosmjs/encoding" "0.28.2" @@ -525,546 +525,537 @@ "@cosmjs/socket" "0.28.2" "@cosmjs/stream" "0.28.2" "@cosmjs/utils" "0.28.2" - "axios" "^0.21.2" - "readonly-date" "^1.0.0" - "xstream" "^11.14.0" - -"@cosmjs/utils@^0.29.5": - "integrity" "sha512-m7h+RXDUxOzEOGt4P+3OVPX7PuakZT3GBmaM/Y2u+abN3xZkziykD/NvedYFvvCCdQo714XcGl33bwifS9FZPQ==" - "resolved" "https://registry.npmjs.org/@cosmjs/utils/-/utils-0.29.5.tgz" - "version" "0.29.5" + axios "^0.21.2" + readonly-date "^1.0.0" + xstream "^11.14.0" "@cosmjs/utils@0.27.1": - "integrity" "sha512-VG7QPDiMUzVPxRdJahDV8PXxVdnuAHiIuG56hldV4yPnOz/si/DLNd7VAUUA5923b6jS1Hhev0Hr6AhEkcxBMg==" - "resolved" "https://registry.npmjs.org/@cosmjs/utils/-/utils-0.27.1.tgz" - "version" "0.27.1" + version "0.27.1" + resolved "https://registry.npmjs.org/@cosmjs/utils/-/utils-0.27.1.tgz" + integrity sha512-VG7QPDiMUzVPxRdJahDV8PXxVdnuAHiIuG56hldV4yPnOz/si/DLNd7VAUUA5923b6jS1Hhev0Hr6AhEkcxBMg== "@cosmjs/utils@0.28.2": - "integrity" "sha512-2/1UeE4djz6tt4B0j3YQS+k7BYoMkblfRa3+t3lht9N5/yj05ZxVUiP7hD0lQtNmeCSQgFFmtX6zXWPes+aKQg==" - "resolved" "https://registry.npmjs.org/@cosmjs/utils/-/utils-0.28.2.tgz" - "version" "0.28.2" + version "0.28.2" + resolved "https://registry.npmjs.org/@cosmjs/utils/-/utils-0.28.2.tgz" + integrity sha512-2/1UeE4djz6tt4B0j3YQS+k7BYoMkblfRa3+t3lht9N5/yj05ZxVUiP7hD0lQtNmeCSQgFFmtX6zXWPes+aKQg== + +"@cosmjs/utils@^0.29.5": + version "0.29.5" + resolved "https://registry.npmjs.org/@cosmjs/utils/-/utils-0.29.5.tgz" + integrity sha512-m7h+RXDUxOzEOGt4P+3OVPX7PuakZT3GBmaM/Y2u+abN3xZkziykD/NvedYFvvCCdQo714XcGl33bwifS9FZPQ== "@cspotcode/source-map-support@^0.8.0": - "integrity" "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==" - "resolved" "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz" - "version" "0.8.1" + version "0.8.1" + resolved "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz" + integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== dependencies: "@jridgewell/trace-mapping" "0.3.9" "@discoveryjs/json-ext@^0.5.0": - "integrity" "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==" - "resolved" "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz" - "version" "0.5.7" + version "0.5.7" + resolved "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz" + integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== "@eslint-community/eslint-utils@^4.2.0": - "integrity" "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==" - "resolved" "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz" - "version" "4.4.0" + version "4.4.0" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" + integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== dependencies: - "eslint-visitor-keys" "^3.3.0" + eslint-visitor-keys "^3.3.0" "@eslint-community/regexpp@^4.6.1": - "integrity" "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==" - "resolved" "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz" - "version" "4.10.0" + version "4.10.0" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63" + integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== "@eslint/eslintrc@^2.1.4": - "integrity" "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==" - "resolved" "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz" - "version" "2.1.4" - dependencies: - "ajv" "^6.12.4" - "debug" "^4.3.2" - "espree" "^9.6.0" - "globals" "^13.19.0" - "ignore" "^5.2.0" - "import-fresh" "^3.2.1" - "js-yaml" "^4.1.0" - "minimatch" "^3.1.2" - "strip-json-comments" "^3.1.1" + version "2.1.4" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" + integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.6.0" + globals "^13.19.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" "@eslint/js@8.57.0": - "integrity" "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==" - "resolved" "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz" - "version" "8.57.0" + version "8.57.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.0.tgz#a5417ae8427873f1dd08b70b3574b453e67b5f7f" + integrity sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g== "@grpc/grpc-js@^1.7.1": - "integrity" "sha512-GVtMU4oh/TeKkWGzXUEsyZtyvSUIT1z49RtGH1UnEGeL+sLuxKl8QH3KZTlSB329R1sWJmesm5hQ5CxXdYH9dg==" - "resolved" "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.7.1.tgz" - "version" "1.7.1" + version "1.7.1" + resolved "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.7.1.tgz" + integrity sha512-GVtMU4oh/TeKkWGzXUEsyZtyvSUIT1z49RtGH1UnEGeL+sLuxKl8QH3KZTlSB329R1sWJmesm5hQ5CxXdYH9dg== dependencies: "@grpc/proto-loader" "^0.7.0" "@types/node" ">=12.12.47" "@grpc/proto-loader@^0.7.0": - "integrity" "sha512-5dAvoZwna2Py3Ef96Ux9jIkp3iZ62TUsV00p3wVBPNX5K178UbNi8Q7gQVqwXT1Yq9RejIGG9G2IPEo93T6RcA==" - "resolved" "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.3.tgz" - "version" "0.7.3" + version "0.7.3" + resolved "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.3.tgz" + integrity sha512-5dAvoZwna2Py3Ef96Ux9jIkp3iZ62TUsV00p3wVBPNX5K178UbNi8Q7gQVqwXT1Yq9RejIGG9G2IPEo93T6RcA== dependencies: "@types/long" "^4.0.1" - "lodash.camelcase" "^4.3.0" - "long" "^4.0.0" - "protobufjs" "^7.0.0" - "yargs" "^16.2.0" + lodash.camelcase "^4.3.0" + long "^4.0.0" + protobufjs "^7.0.0" + yargs "^16.2.0" "@humanwhocodes/config-array@^0.11.14": - "integrity" "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==" - "resolved" "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz" - "version" "0.11.14" + version "0.11.14" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b" + integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== dependencies: "@humanwhocodes/object-schema" "^2.0.2" - "debug" "^4.3.1" - "minimatch" "^3.0.5" + debug "^4.3.1" + minimatch "^3.0.5" "@humanwhocodes/module-importer@^1.0.1": - "integrity" "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==" - "resolved" "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" - "version" "1.0.1" + version "1.0.1" + resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== "@humanwhocodes/object-schema@^2.0.2": - "integrity" "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==" - "resolved" "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz" - "version" "2.0.2" + version "2.0.2" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz#d9fae00a2d5cb40f92cfe64b47ad749fbc38f917" + integrity sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw== "@improbable-eng/grpc-web-node-http-transport@^0.15.0": - "integrity" "sha512-HLgJfVolGGpjc9DWPhmMmXJx8YGzkek7jcCFO1YYkSOoO81MWRZentPOd/JiKiZuU08wtc4BG+WNuGzsQB5jZA==" - "resolved" "https://registry.npmjs.org/@improbable-eng/grpc-web-node-http-transport/-/grpc-web-node-http-transport-0.15.0.tgz" - "version" "0.15.0" + version "0.15.0" + resolved "https://registry.npmjs.org/@improbable-eng/grpc-web-node-http-transport/-/grpc-web-node-http-transport-0.15.0.tgz" + integrity sha512-HLgJfVolGGpjc9DWPhmMmXJx8YGzkek7jcCFO1YYkSOoO81MWRZentPOd/JiKiZuU08wtc4BG+WNuGzsQB5jZA== -"@improbable-eng/grpc-web@^0.15.0", "@improbable-eng/grpc-web@>=0.13.0": - "integrity" "sha512-ERft9/0/8CmYalqOVnJnpdDry28q+j+nAlFFARdjyxXDJ+Mhgv9+F600QC8BR9ygOfrXRlAk6CvST2j+JCpQPg==" - "resolved" "https://registry.npmjs.org/@improbable-eng/grpc-web/-/grpc-web-0.15.0.tgz" - "version" "0.15.0" +"@improbable-eng/grpc-web@^0.15.0": + version "0.15.0" + resolved "https://registry.npmjs.org/@improbable-eng/grpc-web/-/grpc-web-0.15.0.tgz" + integrity sha512-ERft9/0/8CmYalqOVnJnpdDry28q+j+nAlFFARdjyxXDJ+Mhgv9+F600QC8BR9ygOfrXRlAk6CvST2j+JCpQPg== dependencies: - "browser-headers" "^0.4.1" + browser-headers "^0.4.1" "@istanbuljs/load-nyc-config@^1.0.0": - "integrity" "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==" - "resolved" "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz" - "version" "1.1.0" + version "1.1.0" + resolved "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz" + integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== dependencies: - "camelcase" "^5.3.1" - "find-up" "^4.1.0" - "get-package-type" "^0.1.0" - "js-yaml" "^3.13.1" - "resolve-from" "^5.0.0" + camelcase "^5.3.1" + find-up "^4.1.0" + get-package-type "^0.1.0" + js-yaml "^3.13.1" + resolve-from "^5.0.0" "@istanbuljs/schema@^0.1.2": - "integrity" "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==" - "resolved" "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz" - "version" "0.1.3" + version "0.1.3" + resolved "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz" + integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== -"@jest/console@^29.3.1": - "integrity" "sha512-IRE6GD47KwcqA09RIWrabKdHPiKDGgtAL31xDxbi/RjQMsr+lY+ppxmHwY0dUEV3qvvxZzoe5Hl0RXZJOjQNUg==" - "resolved" "https://registry.npmjs.org/@jest/console/-/console-29.3.1.tgz" - "version" "29.3.1" +"@jest/console@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz" + integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg== dependencies: - "@jest/types" "^29.3.1" + "@jest/types" "^29.6.3" "@types/node" "*" - "chalk" "^4.0.0" - "jest-message-util" "^29.3.1" - "jest-util" "^29.3.1" - "slash" "^3.0.0" - -"@jest/core@^29.3.1": - "integrity" "sha512-0ohVjjRex985w5MmO5L3u5GR1O30DexhBSpuwx2P+9ftyqHdJXnk7IUWiP80oHMvt7ubHCJHxV0a0vlKVuZirw==" - "resolved" "https://registry.npmjs.org/@jest/core/-/core-29.3.1.tgz" - "version" "29.3.1" - dependencies: - "@jest/console" "^29.3.1" - "@jest/reporters" "^29.3.1" - "@jest/test-result" "^29.3.1" - "@jest/transform" "^29.3.1" - "@jest/types" "^29.3.1" + chalk "^4.0.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + slash "^3.0.0" + +"@jest/core@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz" + integrity sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg== + dependencies: + "@jest/console" "^29.7.0" + "@jest/reporters" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" "@types/node" "*" - "ansi-escapes" "^4.2.1" - "chalk" "^4.0.0" - "ci-info" "^3.2.0" - "exit" "^0.1.2" - "graceful-fs" "^4.2.9" - "jest-changed-files" "^29.2.0" - "jest-config" "^29.3.1" - "jest-haste-map" "^29.3.1" - "jest-message-util" "^29.3.1" - "jest-regex-util" "^29.2.0" - "jest-resolve" "^29.3.1" - "jest-resolve-dependencies" "^29.3.1" - "jest-runner" "^29.3.1" - "jest-runtime" "^29.3.1" - "jest-snapshot" "^29.3.1" - "jest-util" "^29.3.1" - "jest-validate" "^29.3.1" - "jest-watcher" "^29.3.1" - "micromatch" "^4.0.4" - "pretty-format" "^29.3.1" - "slash" "^3.0.0" - "strip-ansi" "^6.0.0" - -"@jest/environment@^29.3.1": - "integrity" "sha512-pMmvfOPmoa1c1QpfFW0nXYtNLpofqo4BrCIk6f2kW4JFeNlHV2t3vd+3iDLf31e2ot2Mec0uqZfmI+U0K2CFag==" - "resolved" "https://registry.npmjs.org/@jest/environment/-/environment-29.3.1.tgz" - "version" "29.3.1" - dependencies: - "@jest/fake-timers" "^29.3.1" - "@jest/types" "^29.3.1" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + ci-info "^3.2.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + jest-changed-files "^29.7.0" + jest-config "^29.7.0" + jest-haste-map "^29.7.0" + jest-message-util "^29.7.0" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-resolve-dependencies "^29.7.0" + jest-runner "^29.7.0" + jest-runtime "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + jest-watcher "^29.7.0" + micromatch "^4.0.4" + pretty-format "^29.7.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/environment@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz" + integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw== + dependencies: + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" "@types/node" "*" - "jest-mock" "^29.3.1" + jest-mock "^29.7.0" -"@jest/expect-utils@^29.3.1": - "integrity" "sha512-wlrznINZI5sMjwvUoLVk617ll/UYfGIZNxmbU+Pa7wmkL4vYzhV9R2pwVqUh4NWWuLQWkI8+8mOkxs//prKQ3g==" - "resolved" "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.3.1.tgz" - "version" "29.3.1" +"@jest/expect-utils@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz" + integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== dependencies: - "jest-get-type" "^29.2.0" + jest-get-type "^29.6.3" -"@jest/expect@^29.3.1": - "integrity" "sha512-QivM7GlSHSsIAWzgfyP8dgeExPRZ9BIe2LsdPyEhCGkZkoyA+kGsoIzbKAfZCvvRzfZioKwPtCZIt5SaoxYCvg==" - "resolved" "https://registry.npmjs.org/@jest/expect/-/expect-29.3.1.tgz" - "version" "29.3.1" +"@jest/expect@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz" + integrity sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ== dependencies: - "expect" "^29.3.1" - "jest-snapshot" "^29.3.1" + expect "^29.7.0" + jest-snapshot "^29.7.0" -"@jest/fake-timers@^29.3.1": - "integrity" "sha512-iHTL/XpnDlFki9Tq0Q1GGuVeQ8BHZGIYsvCO5eN/O/oJaRzofG9Xndd9HuSDBI/0ZS79pg0iwn07OMTQ7ngF2A==" - "resolved" "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.3.1.tgz" - "version" "29.3.1" +"@jest/fake-timers@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz" + integrity sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ== dependencies: - "@jest/types" "^29.3.1" - "@sinonjs/fake-timers" "^9.1.2" + "@jest/types" "^29.6.3" + "@sinonjs/fake-timers" "^10.0.2" "@types/node" "*" - "jest-message-util" "^29.3.1" - "jest-mock" "^29.3.1" - "jest-util" "^29.3.1" + jest-message-util "^29.7.0" + jest-mock "^29.7.0" + jest-util "^29.7.0" -"@jest/globals@^29.3.1": - "integrity" "sha512-cTicd134vOcwO59OPaB6AmdHQMCtWOe+/DitpTZVxWgMJ+YvXL1HNAmPyiGbSHmF/mXVBkvlm8YYtQhyHPnV6Q==" - "resolved" "https://registry.npmjs.org/@jest/globals/-/globals-29.3.1.tgz" - "version" "29.3.1" +"@jest/globals@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz" + integrity sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ== dependencies: - "@jest/environment" "^29.3.1" - "@jest/expect" "^29.3.1" - "@jest/types" "^29.3.1" - "jest-mock" "^29.3.1" + "@jest/environment" "^29.7.0" + "@jest/expect" "^29.7.0" + "@jest/types" "^29.6.3" + jest-mock "^29.7.0" -"@jest/reporters@^29.3.1": - "integrity" "sha512-GhBu3YFuDrcAYW/UESz1JphEAbvUjaY2vShRZRoRY1mxpCMB3yGSJ4j9n0GxVlEOdCf7qjvUfBCrTUUqhVfbRA==" - "resolved" "https://registry.npmjs.org/@jest/reporters/-/reporters-29.3.1.tgz" - "version" "29.3.1" +"@jest/reporters@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz" + integrity sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg== dependencies: "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^29.3.1" - "@jest/test-result" "^29.3.1" - "@jest/transform" "^29.3.1" - "@jest/types" "^29.3.1" - "@jridgewell/trace-mapping" "^0.3.15" + "@jest/console" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@jridgewell/trace-mapping" "^0.3.18" "@types/node" "*" - "chalk" "^4.0.0" - "collect-v8-coverage" "^1.0.0" - "exit" "^0.1.2" - "glob" "^7.1.3" - "graceful-fs" "^4.2.9" - "istanbul-lib-coverage" "^3.0.0" - "istanbul-lib-instrument" "^5.1.0" - "istanbul-lib-report" "^3.0.0" - "istanbul-lib-source-maps" "^4.0.0" - "istanbul-reports" "^3.1.3" - "jest-message-util" "^29.3.1" - "jest-util" "^29.3.1" - "jest-worker" "^29.3.1" - "slash" "^3.0.0" - "string-length" "^4.0.1" - "strip-ansi" "^6.0.0" - "v8-to-istanbul" "^9.0.1" - -"@jest/schemas@^29.0.0": - "integrity" "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==" - "resolved" "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz" - "version" "29.0.0" - dependencies: - "@sinclair/typebox" "^0.24.1" - -"@jest/source-map@^29.2.0": - "integrity" "sha512-1NX9/7zzI0nqa6+kgpSdKPK+WU1p+SJk3TloWZf5MzPbxri9UEeXX5bWZAPCzbQcyuAzubcdUHA7hcNznmRqWQ==" - "resolved" "https://registry.npmjs.org/@jest/source-map/-/source-map-29.2.0.tgz" - "version" "29.2.0" - dependencies: - "@jridgewell/trace-mapping" "^0.3.15" - "callsites" "^3.0.0" - "graceful-fs" "^4.2.9" - -"@jest/test-result@^29.3.1": - "integrity" "sha512-qeLa6qc0ddB0kuOZyZIhfN5q0e2htngokyTWsGriedsDhItisW7SDYZ7ceOe57Ii03sL988/03wAcBh3TChMGw==" - "resolved" "https://registry.npmjs.org/@jest/test-result/-/test-result-29.3.1.tgz" - "version" "29.3.1" - dependencies: - "@jest/console" "^29.3.1" - "@jest/types" "^29.3.1" + chalk "^4.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.2.9" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^6.0.0" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.1.3" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + jest-worker "^29.7.0" + slash "^3.0.0" + string-length "^4.0.1" + strip-ansi "^6.0.0" + v8-to-istanbul "^9.0.1" + +"@jest/schemas@^29.6.3": + version "29.6.3" + resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz" + integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== + dependencies: + "@sinclair/typebox" "^0.27.8" + +"@jest/source-map@^29.6.3": + version "29.6.3" + resolved "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz" + integrity sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw== + dependencies: + "@jridgewell/trace-mapping" "^0.3.18" + callsites "^3.0.0" + graceful-fs "^4.2.9" + +"@jest/test-result@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz" + integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA== + dependencies: + "@jest/console" "^29.7.0" + "@jest/types" "^29.6.3" "@types/istanbul-lib-coverage" "^2.0.0" - "collect-v8-coverage" "^1.0.0" + collect-v8-coverage "^1.0.0" -"@jest/test-sequencer@^29.3.1": - "integrity" "sha512-IqYvLbieTv20ArgKoAMyhLHNrVHJfzO6ARZAbQRlY4UGWfdDnLlZEF0BvKOMd77uIiIjSZRwq3Jb3Fa3I8+2UA==" - "resolved" "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.3.1.tgz" - "version" "29.3.1" +"@jest/test-sequencer@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz" + integrity sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw== dependencies: - "@jest/test-result" "^29.3.1" - "graceful-fs" "^4.2.9" - "jest-haste-map" "^29.3.1" - "slash" "^3.0.0" + "@jest/test-result" "^29.7.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + slash "^3.0.0" -"@jest/transform@^29.3.1": - "integrity" "sha512-8wmCFBTVGYqFNLWfcOWoVuMuKYPUBTnTMDkdvFtAYELwDOl9RGwOsvQWGPFxDJ8AWY9xM/8xCXdqmPK3+Q5Lug==" - "resolved" "https://registry.npmjs.org/@jest/transform/-/transform-29.3.1.tgz" - "version" "29.3.1" +"@jest/transform@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz" + integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw== dependencies: "@babel/core" "^7.11.6" - "@jest/types" "^29.3.1" - "@jridgewell/trace-mapping" "^0.3.15" - "babel-plugin-istanbul" "^6.1.1" - "chalk" "^4.0.0" - "convert-source-map" "^2.0.0" - "fast-json-stable-stringify" "^2.1.0" - "graceful-fs" "^4.2.9" - "jest-haste-map" "^29.3.1" - "jest-regex-util" "^29.2.0" - "jest-util" "^29.3.1" - "micromatch" "^4.0.4" - "pirates" "^4.0.4" - "slash" "^3.0.0" - "write-file-atomic" "^4.0.1" - -"@jest/types@^29.0.0", "@jest/types@^29.3.1": - "integrity" "sha512-d0S0jmmTpjnhCmNpApgX3jrUZgZ22ivKJRvL2lli5hpCRoNnp1f85r2/wpKfXuYu8E7Jjh1hGfhPyup1NM5AmA==" - "resolved" "https://registry.npmjs.org/@jest/types/-/types-29.3.1.tgz" - "version" "29.3.1" - dependencies: - "@jest/schemas" "^29.0.0" + "@jest/types" "^29.6.3" + "@jridgewell/trace-mapping" "^0.3.18" + babel-plugin-istanbul "^6.1.1" + chalk "^4.0.0" + convert-source-map "^2.0.0" + fast-json-stable-stringify "^2.1.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-regex-util "^29.6.3" + jest-util "^29.7.0" + micromatch "^4.0.4" + pirates "^4.0.4" + slash "^3.0.0" + write-file-atomic "^4.0.2" + +"@jest/types@^29.6.3": + version "29.6.3" + resolved "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz" + integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== + dependencies: + "@jest/schemas" "^29.6.3" "@types/istanbul-lib-coverage" "^2.0.0" "@types/istanbul-reports" "^3.0.0" "@types/node" "*" "@types/yargs" "^17.0.8" - "chalk" "^4.0.0" + chalk "^4.0.0" "@jridgewell/gen-mapping@^0.1.0": - "integrity" "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==" - "resolved" "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz" - "version" "0.1.1" + version "0.1.1" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz" + integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== dependencies: "@jridgewell/set-array" "^1.0.0" "@jridgewell/sourcemap-codec" "^1.4.10" -"@jridgewell/gen-mapping@^0.3.0": - "integrity" "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==" - "resolved" "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz" - "version" "0.3.2" +"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": + version "0.3.2" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz" + integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== dependencies: "@jridgewell/set-array" "^1.0.1" "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping" "^0.3.9" -"@jridgewell/gen-mapping@^0.3.2": - "integrity" "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==" - "resolved" "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz" - "version" "0.3.2" - dependencies: - "@jridgewell/set-array" "^1.0.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@3.1.0": - "integrity" "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" - "resolved" "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz" - "version" "3.1.0" +"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": + version "3.1.0" + resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz" + integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== "@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": - "integrity" "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" - "resolved" "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" - "version" "1.1.2" + version "1.1.2" + resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== "@jridgewell/source-map@^0.3.2": - "integrity" "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==" - "resolved" "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz" - "version" "0.3.2" + version "0.3.2" + resolved "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz" + integrity sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw== dependencies: "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@1.4.14": - "integrity" "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" - "resolved" "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" - "version" "1.4.14" - -"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.14", "@jridgewell/trace-mapping@^0.3.15", "@jridgewell/trace-mapping@^0.3.9": - "integrity" "sha512-LCQ+NeThyJ4k1W2d+vIKdxuSt9R3pQSZ4P92m7EakaYuXcVWbHuT5bjNcqLd4Rdgi6xYWYDvBJZJLZSLanjDcA==" - "resolved" "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.16.tgz" - "version" "0.3.16" - dependencies: - "@jridgewell/resolve-uri" "3.1.0" - "@jridgewell/sourcemap-codec" "1.4.14" +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": + version "1.4.14" + resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" + integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== "@jridgewell/trace-mapping@0.3.9": - "integrity" "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==" - "resolved" "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz" - "version" "0.3.9" + version "0.3.9" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== dependencies: "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" +"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.14", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.19" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz" + integrity sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + "@noble/hashes@^1", "@noble/hashes@^1.0.0", "@noble/hashes@^1.2.0": - "integrity" "sha512-ilHEACi9DwqJB0pw7kv+Apvh50jiiSyR/cQ3y4W7lOR5mhvn/50FLUfsnfJz0BDZtl/RR16kXvptiv6q1msYZg==" - "resolved" "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.0.tgz" - "version" "1.3.0" + version "1.3.0" + resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.0.tgz" + integrity sha512-ilHEACi9DwqJB0pw7kv+Apvh50jiiSyR/cQ3y4W7lOR5mhvn/50FLUfsnfJz0BDZtl/RR16kXvptiv6q1msYZg== "@nodelib/fs.scandir@2.1.5": - "integrity" "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==" - "resolved" "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" - "version" "2.1.5" + version "2.1.5" + resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== dependencies: "@nodelib/fs.stat" "2.0.5" - "run-parallel" "^1.1.9" + run-parallel "^1.1.9" -"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": - "integrity" "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" - "resolved" "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" - "version" "2.0.5" +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== "@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": - "integrity" "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==" - "resolved" "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" - "version" "1.2.8" + version "1.2.8" + resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== dependencies: "@nodelib/fs.scandir" "2.1.5" - "fastq" "^1.6.0" + fastq "^1.6.0" "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": - "integrity" "sha1-m4sMxmPWaafY9vXQiToU00jzD78= sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" - "resolved" "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz" - "version" "1.1.2" + version "1.1.2" + resolved "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz" + integrity sha1-m4sMxmPWaafY9vXQiToU00jzD78= "@protobufjs/base64@^1.1.2": - "integrity" "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" - "resolved" "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz" - "version" "1.1.2" + version "1.1.2" + resolved "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz" + integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== "@protobufjs/codegen@^2.0.4": - "integrity" "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" - "resolved" "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz" - "version" "2.0.4" + version "2.0.4" + resolved "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz" + integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== "@protobufjs/eventemitter@^1.1.0": - "integrity" "sha1-NVy8mLr61ZePntCV85diHx0Ga3A= sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" - "resolved" "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz" - "version" "1.1.0" + version "1.1.0" + resolved "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz" + integrity sha1-NVy8mLr61ZePntCV85diHx0Ga3A= "@protobufjs/fetch@^1.1.0": - "integrity" "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU= sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==" - "resolved" "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz" - "version" "1.1.0" + version "1.1.0" + resolved "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz" + integrity sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU= dependencies: "@protobufjs/aspromise" "^1.1.1" "@protobufjs/inquire" "^1.1.0" "@protobufjs/float@^1.0.2": - "integrity" "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E= sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" - "resolved" "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz" - "version" "1.0.2" + version "1.0.2" + resolved "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz" + integrity sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E= "@protobufjs/inquire@^1.1.0": - "integrity" "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik= sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" - "resolved" "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz" - "version" "1.1.0" + version "1.1.0" + resolved "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz" + integrity sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik= "@protobufjs/path@^1.1.2": - "integrity" "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0= sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" - "resolved" "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz" - "version" "1.1.2" + version "1.1.2" + resolved "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz" + integrity sha1-bMKyDFya1q0NzP0hynZz2Nf79o0= "@protobufjs/pool@^1.1.0": - "integrity" "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q= sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" - "resolved" "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz" - "version" "1.1.0" + version "1.1.0" + resolved "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz" + integrity sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q= "@protobufjs/utf8@^1.1.0": - "integrity" "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA= sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" - "resolved" "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz" - "version" "1.1.0" + version "1.1.0" + resolved "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz" + integrity sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA= -"@sinclair/typebox@^0.24.1": - "integrity" "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==" - "resolved" "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz" - "version" "0.24.51" +"@sinclair/typebox@^0.27.8": + version "0.27.8" + resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz" + integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== "@sindresorhus/is@^0.7.0": - "integrity" "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==" - "resolved" "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz" - "version" "0.7.0" + version "0.7.0" + resolved "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz" + integrity sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow== -"@sinonjs/commons@^1.7.0": - "integrity" "sha512-rTpCA0wG1wUxglBSFdMMY0oTrKYvgf4fNgv/sXbfCVAdf+FnPBdKJR/7XbpTCwbCrvCbdPYnlWaUUYz4V2fPDA==" - "resolved" "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.5.tgz" - "version" "1.8.5" +"@sinonjs/commons@^3.0.0": + version "3.0.0" + resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz" + integrity sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA== dependencies: - "type-detect" "4.0.8" + type-detect "4.0.8" -"@sinonjs/fake-timers@^9.1.2": - "integrity" "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==" - "resolved" "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz" - "version" "9.1.2" +"@sinonjs/fake-timers@^10.0.2": + version "10.3.0" + resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz" + integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== dependencies: - "@sinonjs/commons" "^1.7.0" + "@sinonjs/commons" "^3.0.0" "@stdlib/array-base-filled@^0.0.x": - "integrity" "sha512-X/beQFsIJy2KfLfkxm/F+hMr8esrxbHwPLu+9jBBvN5iGAAb+AMRVunXWdMV02DT12Q/M0vPcMGT1Yd3nJjEaw==" - "resolved" "https://registry.npmjs.org/@stdlib/array-base-filled/-/array-base-filled-0.0.2.tgz" - "version" "0.0.2" + version "0.0.2" + resolved "https://registry.npmjs.org/@stdlib/array-base-filled/-/array-base-filled-0.0.2.tgz" + integrity sha512-X/beQFsIJy2KfLfkxm/F+hMr8esrxbHwPLu+9jBBvN5iGAAb+AMRVunXWdMV02DT12Q/M0vPcMGT1Yd3nJjEaw== "@stdlib/array-base-zeros@^0.0.x": - "integrity" "sha512-Ga4qR5l6RRssonfEMa2YwGd0gGyQXqZQeifirXs8CYmQk/x3n2wMrNgPeSn0RPbLIKWlL8NpSnnx6hSeEPtRRQ==" - "resolved" "https://registry.npmjs.org/@stdlib/array-base-zeros/-/array-base-zeros-0.0.2.tgz" - "version" "0.0.2" + version "0.0.2" + resolved "https://registry.npmjs.org/@stdlib/array-base-zeros/-/array-base-zeros-0.0.2.tgz" + integrity sha512-Ga4qR5l6RRssonfEMa2YwGd0gGyQXqZQeifirXs8CYmQk/x3n2wMrNgPeSn0RPbLIKWlL8NpSnnx6hSeEPtRRQ== dependencies: "@stdlib/array-base-filled" "^0.0.x" "@stdlib/array-float32@^0.0.x": - "integrity" "sha512-QgKT5UaE92Rv7cxfn7wBKZAlwFFHPla8eXsMFsTGt5BiL4yUy36lwinPUh4hzybZ11rw1vifS3VAPuk6JP413Q==" - "resolved" "https://registry.npmjs.org/@stdlib/array-float32/-/array-float32-0.0.6.tgz" - "version" "0.0.6" + version "0.0.6" + resolved "https://registry.npmjs.org/@stdlib/array-float32/-/array-float32-0.0.6.tgz" + integrity sha512-QgKT5UaE92Rv7cxfn7wBKZAlwFFHPla8eXsMFsTGt5BiL4yUy36lwinPUh4hzybZ11rw1vifS3VAPuk6JP413Q== dependencies: "@stdlib/assert-has-float32array-support" "^0.0.x" "@stdlib/array-float64@^0.0.x": - "integrity" "sha512-oE8y4a84LyBF1goX5//sU1mOjet8gLI0/6wucZcjg+j/yMmNV1xFu84Az9GOGmFSE6Ze6lirGOhfBeEWNNNaJg==" - "resolved" "https://registry.npmjs.org/@stdlib/array-float64/-/array-float64-0.0.6.tgz" - "version" "0.0.6" + version "0.0.6" + resolved "https://registry.npmjs.org/@stdlib/array-float64/-/array-float64-0.0.6.tgz" + integrity sha512-oE8y4a84LyBF1goX5//sU1mOjet8gLI0/6wucZcjg+j/yMmNV1xFu84Az9GOGmFSE6Ze6lirGOhfBeEWNNNaJg== dependencies: "@stdlib/assert-has-float64array-support" "^0.0.x" "@stdlib/array-uint16@^0.0.x": - "integrity" "sha512-/A8Tr0CqJ4XScIDRYQawosko8ha1Uy+50wsTgJhjUtXDpPRp7aUjmxvYkbe7Rm+ImYYbDQVix/uCiPAFQ8ed4Q==" - "resolved" "https://registry.npmjs.org/@stdlib/array-uint16/-/array-uint16-0.0.6.tgz" - "version" "0.0.6" + version "0.0.6" + resolved "https://registry.npmjs.org/@stdlib/array-uint16/-/array-uint16-0.0.6.tgz" + integrity sha512-/A8Tr0CqJ4XScIDRYQawosko8ha1Uy+50wsTgJhjUtXDpPRp7aUjmxvYkbe7Rm+ImYYbDQVix/uCiPAFQ8ed4Q== dependencies: "@stdlib/assert-has-uint16array-support" "^0.0.x" "@stdlib/array-uint32@^0.0.x": - "integrity" "sha512-2hFPK1Fg7obYPZWlGDjW9keiIB6lXaM9dKmJubg/ergLQCsJQJZpYsG6mMAfTJi4NT1UF4jTmgvyKD+yf0D9cA==" - "resolved" "https://registry.npmjs.org/@stdlib/array-uint32/-/array-uint32-0.0.6.tgz" - "version" "0.0.6" + version "0.0.6" + resolved "https://registry.npmjs.org/@stdlib/array-uint32/-/array-uint32-0.0.6.tgz" + integrity sha512-2hFPK1Fg7obYPZWlGDjW9keiIB6lXaM9dKmJubg/ergLQCsJQJZpYsG6mMAfTJi4NT1UF4jTmgvyKD+yf0D9cA== dependencies: "@stdlib/assert-has-uint32array-support" "^0.0.x" "@stdlib/array-uint8@^0.0.x": - "integrity" "sha512-qYJQQfGKIcky6TzHFIGczZYTuVlut7oO+V8qUBs7BJC9TwikVnnOmb3hY3jToY4xaoi5p9OvgdJKPInhyIhzFg==" - "resolved" "https://registry.npmjs.org/@stdlib/array-uint8/-/array-uint8-0.0.7.tgz" - "version" "0.0.7" + version "0.0.7" + resolved "https://registry.npmjs.org/@stdlib/array-uint8/-/array-uint8-0.0.7.tgz" + integrity sha512-qYJQQfGKIcky6TzHFIGczZYTuVlut7oO+V8qUBs7BJC9TwikVnnOmb3hY3jToY4xaoi5p9OvgdJKPInhyIhzFg== dependencies: "@stdlib/assert-has-uint8array-support" "^0.0.x" "@stdlib/assert-has-float32array-support@^0.0.x": - "integrity" "sha512-Yrg7K6rBqwCzDWZ5bN0VWLS5dNUWcoSfUeU49vTERdUmZID06J069CDc07UUl8vfQWhFgBWGocH3rrpKm1hi9w==" - "resolved" "https://registry.npmjs.org/@stdlib/assert-has-float32array-support/-/assert-has-float32array-support-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/assert-has-float32array-support/-/assert-has-float32array-support-0.0.8.tgz" + integrity sha512-Yrg7K6rBqwCzDWZ5bN0VWLS5dNUWcoSfUeU49vTERdUmZID06J069CDc07UUl8vfQWhFgBWGocH3rrpKm1hi9w== dependencies: "@stdlib/assert-is-float32array" "^0.0.x" "@stdlib/cli-ctor" "^0.0.x" @@ -1072,58 +1063,58 @@ "@stdlib/fs-read-file" "^0.0.x" "@stdlib/assert-has-float64array-support@^0.0.x": - "integrity" "sha512-UVQcoeWqgMw9b8PnAmm/sgzFnuWkZcNhJoi7xyMjbiDV/SP1qLCrvi06mq86cqS3QOCma1fEayJdwgteoXyyuw==" - "resolved" "https://registry.npmjs.org/@stdlib/assert-has-float64array-support/-/assert-has-float64array-support-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/assert-has-float64array-support/-/assert-has-float64array-support-0.0.8.tgz" + integrity sha512-UVQcoeWqgMw9b8PnAmm/sgzFnuWkZcNhJoi7xyMjbiDV/SP1qLCrvi06mq86cqS3QOCma1fEayJdwgteoXyyuw== dependencies: "@stdlib/assert-is-float64array" "^0.0.x" "@stdlib/cli-ctor" "^0.0.x" "@stdlib/fs-read-file" "^0.0.x" "@stdlib/assert-has-generator-support@^0.0.x": - "integrity" "sha512-TejqpxFYY1NVGGamtxvUrt1TiiSFMt5bL2X84GSmqZGFE8C7CEWevKF462dH+uquf5K7OfJVOaL6XSnDXLTG+g==" - "resolved" "https://registry.npmjs.org/@stdlib/assert-has-generator-support/-/assert-has-generator-support-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/assert-has-generator-support/-/assert-has-generator-support-0.0.8.tgz" + integrity sha512-TejqpxFYY1NVGGamtxvUrt1TiiSFMt5bL2X84GSmqZGFE8C7CEWevKF462dH+uquf5K7OfJVOaL6XSnDXLTG+g== dependencies: "@stdlib/cli-ctor" "^0.0.x" "@stdlib/fs-read-file" "^0.0.x" "@stdlib/utils-eval" "^0.0.x" "@stdlib/assert-has-node-buffer-support@^0.0.x": - "integrity" "sha512-fgI+hW4Yg4ciiv4xVKH+1rzdV7e5+6UKgMnFbc1XDXHcxLub3vOr8+H6eDECdAIfgYNA7X0Dxa/DgvX9dwDTAQ==" - "resolved" "https://registry.npmjs.org/@stdlib/assert-has-node-buffer-support/-/assert-has-node-buffer-support-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/assert-has-node-buffer-support/-/assert-has-node-buffer-support-0.0.8.tgz" + integrity sha512-fgI+hW4Yg4ciiv4xVKH+1rzdV7e5+6UKgMnFbc1XDXHcxLub3vOr8+H6eDECdAIfgYNA7X0Dxa/DgvX9dwDTAQ== dependencies: "@stdlib/assert-is-buffer" "^0.0.x" "@stdlib/cli-ctor" "^0.0.x" "@stdlib/fs-read-file" "^0.0.x" "@stdlib/assert-has-own-property@^0.0.x": - "integrity" "sha512-3YHwSWiUqGlTLSwxAWxrqaD1PkgcJniGyotJeIt5X0tSNmSW0/c9RWroCImTUUB3zBkyBJ79MyU9Nf4Qgm59fQ==" - "resolved" "https://registry.npmjs.org/@stdlib/assert-has-own-property/-/assert-has-own-property-0.0.7.tgz" - "version" "0.0.7" + version "0.0.7" + resolved "https://registry.npmjs.org/@stdlib/assert-has-own-property/-/assert-has-own-property-0.0.7.tgz" + integrity sha512-3YHwSWiUqGlTLSwxAWxrqaD1PkgcJniGyotJeIt5X0tSNmSW0/c9RWroCImTUUB3zBkyBJ79MyU9Nf4Qgm59fQ== "@stdlib/assert-has-symbol-support@^0.0.x": - "integrity" "sha512-PoQ9rk8DgDCuBEkOIzGGQmSnjtcdagnUIviaP5YskB45/TJHXseh4NASWME8FV77WFW9v/Wt1MzKFKMzpDFu4Q==" - "resolved" "https://registry.npmjs.org/@stdlib/assert-has-symbol-support/-/assert-has-symbol-support-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/assert-has-symbol-support/-/assert-has-symbol-support-0.0.8.tgz" + integrity sha512-PoQ9rk8DgDCuBEkOIzGGQmSnjtcdagnUIviaP5YskB45/TJHXseh4NASWME8FV77WFW9v/Wt1MzKFKMzpDFu4Q== dependencies: "@stdlib/cli-ctor" "^0.0.x" "@stdlib/fs-read-file" "^0.0.x" "@stdlib/assert-has-tostringtag-support@^0.0.x": - "integrity" "sha512-UTsqdkrnQ7eufuH5BeyWOJL3ska3u5nvDWKqw3onNNZ2mvdgkfoFD7wHutVGzAA2rkTsSJAMBHVwWLsm5SbKgw==" - "resolved" "https://registry.npmjs.org/@stdlib/assert-has-tostringtag-support/-/assert-has-tostringtag-support-0.0.9.tgz" - "version" "0.0.9" + version "0.0.9" + resolved "https://registry.npmjs.org/@stdlib/assert-has-tostringtag-support/-/assert-has-tostringtag-support-0.0.9.tgz" + integrity sha512-UTsqdkrnQ7eufuH5BeyWOJL3ska3u5nvDWKqw3onNNZ2mvdgkfoFD7wHutVGzAA2rkTsSJAMBHVwWLsm5SbKgw== dependencies: "@stdlib/assert-has-symbol-support" "^0.0.x" "@stdlib/cli-ctor" "^0.0.x" "@stdlib/fs-read-file" "^0.0.x" "@stdlib/assert-has-uint16array-support@^0.0.x": - "integrity" "sha512-vqFDn30YrtzD+BWnVqFhB130g3cUl2w5AdOxhIkRkXCDYAM5v7YwdNMJEON+D4jI8YB4D5pEYjqKweYaCq4nyg==" - "resolved" "https://registry.npmjs.org/@stdlib/assert-has-uint16array-support/-/assert-has-uint16array-support-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/assert-has-uint16array-support/-/assert-has-uint16array-support-0.0.8.tgz" + integrity sha512-vqFDn30YrtzD+BWnVqFhB130g3cUl2w5AdOxhIkRkXCDYAM5v7YwdNMJEON+D4jI8YB4D5pEYjqKweYaCq4nyg== dependencies: "@stdlib/assert-is-uint16array" "^0.0.x" "@stdlib/cli-ctor" "^0.0.x" @@ -1131,9 +1122,9 @@ "@stdlib/fs-read-file" "^0.0.x" "@stdlib/assert-has-uint32array-support@^0.0.x": - "integrity" "sha512-tJtKuiFKwFSQQUfRXEReOVGXtfdo6+xlshSfwwNWXL1WPP2LrceoiUoQk7zMCMT6VdbXgGH92LDjVcPmSbH4Xw==" - "resolved" "https://registry.npmjs.org/@stdlib/assert-has-uint32array-support/-/assert-has-uint32array-support-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/assert-has-uint32array-support/-/assert-has-uint32array-support-0.0.8.tgz" + integrity sha512-tJtKuiFKwFSQQUfRXEReOVGXtfdo6+xlshSfwwNWXL1WPP2LrceoiUoQk7zMCMT6VdbXgGH92LDjVcPmSbH4Xw== dependencies: "@stdlib/assert-is-uint32array" "^0.0.x" "@stdlib/cli-ctor" "^0.0.x" @@ -1141,9 +1132,9 @@ "@stdlib/fs-read-file" "^0.0.x" "@stdlib/assert-has-uint8array-support@^0.0.x": - "integrity" "sha512-ie4vGTbAS/5Py+LLjoSQi0nwtYBp+WKk20cMYCzilT0rCsBI/oez0RqHrkYYpmt4WaJL4eJqC+/vfQ5NsI7F5w==" - "resolved" "https://registry.npmjs.org/@stdlib/assert-has-uint8array-support/-/assert-has-uint8array-support-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/assert-has-uint8array-support/-/assert-has-uint8array-support-0.0.8.tgz" + integrity sha512-ie4vGTbAS/5Py+LLjoSQi0nwtYBp+WKk20cMYCzilT0rCsBI/oez0RqHrkYYpmt4WaJL4eJqC+/vfQ5NsI7F5w== dependencies: "@stdlib/assert-is-uint8array" "^0.0.x" "@stdlib/cli-ctor" "^0.0.x" @@ -1151,16 +1142,16 @@ "@stdlib/fs-read-file" "^0.0.x" "@stdlib/assert-is-array@^0.0.x": - "integrity" "sha512-/o6KclsGkNcZ5hiROarsD9XUs6xQMb4lTwF6O71UHbKWTtomEF/jD0rxLvlvj0BiCxfKrReddEYd2CnhUyskMA==" - "resolved" "https://registry.npmjs.org/@stdlib/assert-is-array/-/assert-is-array-0.0.7.tgz" - "version" "0.0.7" + version "0.0.7" + resolved "https://registry.npmjs.org/@stdlib/assert-is-array/-/assert-is-array-0.0.7.tgz" + integrity sha512-/o6KclsGkNcZ5hiROarsD9XUs6xQMb4lTwF6O71UHbKWTtomEF/jD0rxLvlvj0BiCxfKrReddEYd2CnhUyskMA== dependencies: "@stdlib/utils-native-class" "^0.0.x" "@stdlib/assert-is-big-endian@^0.0.x": - "integrity" "sha512-BvutsX84F76YxaSIeS5ZQTl536lz+f+P7ew68T1jlFqxBhr4v7JVYFmuf24U040YuK1jwZ2sAq+bPh6T09apwQ==" - "resolved" "https://registry.npmjs.org/@stdlib/assert-is-big-endian/-/assert-is-big-endian-0.0.7.tgz" - "version" "0.0.7" + version "0.0.7" + resolved "https://registry.npmjs.org/@stdlib/assert-is-big-endian/-/assert-is-big-endian-0.0.7.tgz" + integrity sha512-BvutsX84F76YxaSIeS5ZQTl536lz+f+P7ew68T1jlFqxBhr4v7JVYFmuf24U040YuK1jwZ2sAq+bPh6T09apwQ== dependencies: "@stdlib/array-uint16" "^0.0.x" "@stdlib/array-uint8" "^0.0.x" @@ -1168,46 +1159,46 @@ "@stdlib/fs-read-file" "^0.0.x" "@stdlib/assert-is-boolean@^0.0.x": - "integrity" "sha512-PRCpslMXSYqFMz1Yh4dG2K/WzqxTCtlKbgJQD2cIkAtXux4JbYiXCtepuoV7l4Wv1rm0a1eU8EqNPgnOmWajGw==" - "resolved" "https://registry.npmjs.org/@stdlib/assert-is-boolean/-/assert-is-boolean-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/assert-is-boolean/-/assert-is-boolean-0.0.8.tgz" + integrity sha512-PRCpslMXSYqFMz1Yh4dG2K/WzqxTCtlKbgJQD2cIkAtXux4JbYiXCtepuoV7l4Wv1rm0a1eU8EqNPgnOmWajGw== dependencies: "@stdlib/assert-has-tostringtag-support" "^0.0.x" "@stdlib/utils-define-nonenumerable-read-only-property" "^0.0.x" "@stdlib/utils-native-class" "^0.0.x" "@stdlib/assert-is-buffer@^0.0.x": - "integrity" "sha512-SYmGwOXkzZVidqUyY1IIx6V6QnSL36v3Lcwj8Rvne/fuW0bU2OomsEBzYCFMvcNgtY71vOvgZ9VfH3OppvV6eA==" - "resolved" "https://registry.npmjs.org/@stdlib/assert-is-buffer/-/assert-is-buffer-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/assert-is-buffer/-/assert-is-buffer-0.0.8.tgz" + integrity sha512-SYmGwOXkzZVidqUyY1IIx6V6QnSL36v3Lcwj8Rvne/fuW0bU2OomsEBzYCFMvcNgtY71vOvgZ9VfH3OppvV6eA== dependencies: "@stdlib/assert-is-object-like" "^0.0.x" "@stdlib/assert-is-float32array@^0.0.x": - "integrity" "sha512-Phk0Ze7Vj2/WLv5Wy8Oo7poZIDMSTiTrEnc1t4lBn3Svz2vfBXlvCufi/i5d93vc4IgpkdrOEwfry6nldABjNQ==" - "resolved" "https://registry.npmjs.org/@stdlib/assert-is-float32array/-/assert-is-float32array-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/assert-is-float32array/-/assert-is-float32array-0.0.8.tgz" + integrity sha512-Phk0Ze7Vj2/WLv5Wy8Oo7poZIDMSTiTrEnc1t4lBn3Svz2vfBXlvCufi/i5d93vc4IgpkdrOEwfry6nldABjNQ== dependencies: "@stdlib/utils-native-class" "^0.0.x" "@stdlib/assert-is-float64array@^0.0.x": - "integrity" "sha512-UC0Av36EEYIgqBbCIz1lj9g7qXxL5MqU1UrWun+n91lmxgdJ+Z77fHy75efJbJlXBf6HXhcYXECIsc0u3SzyDQ==" - "resolved" "https://registry.npmjs.org/@stdlib/assert-is-float64array/-/assert-is-float64array-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/assert-is-float64array/-/assert-is-float64array-0.0.8.tgz" + integrity sha512-UC0Av36EEYIgqBbCIz1lj9g7qXxL5MqU1UrWun+n91lmxgdJ+Z77fHy75efJbJlXBf6HXhcYXECIsc0u3SzyDQ== dependencies: "@stdlib/utils-native-class" "^0.0.x" "@stdlib/assert-is-function@^0.0.x": - "integrity" "sha512-M55Dt2njp5tnY8oePdbkKBRIypny+LpCMFZhEjJIxjLE4rA6zSlHs1yRMqD4PmW+Wl9WTeEM1GYO4AQHl1HAjA==" - "resolved" "https://registry.npmjs.org/@stdlib/assert-is-function/-/assert-is-function-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/assert-is-function/-/assert-is-function-0.0.8.tgz" + integrity sha512-M55Dt2njp5tnY8oePdbkKBRIypny+LpCMFZhEjJIxjLE4rA6zSlHs1yRMqD4PmW+Wl9WTeEM1GYO4AQHl1HAjA== dependencies: "@stdlib/utils-type-of" "^0.0.x" "@stdlib/assert-is-little-endian@^0.0.x": - "integrity" "sha512-SPObC73xXfDXY0dOewXR0LDGN3p18HGzm+4K8azTj6wug0vpRV12eB3hbT28ybzRCa6TAKUjwM/xY7Am5QzIlA==" - "resolved" "https://registry.npmjs.org/@stdlib/assert-is-little-endian/-/assert-is-little-endian-0.0.7.tgz" - "version" "0.0.7" + version "0.0.7" + resolved "https://registry.npmjs.org/@stdlib/assert-is-little-endian/-/assert-is-little-endian-0.0.7.tgz" + integrity sha512-SPObC73xXfDXY0dOewXR0LDGN3p18HGzm+4K8azTj6wug0vpRV12eB3hbT28ybzRCa6TAKUjwM/xY7Am5QzIlA== dependencies: "@stdlib/array-uint16" "^0.0.x" "@stdlib/array-uint8" "^0.0.x" @@ -1215,9 +1206,9 @@ "@stdlib/fs-read-file" "^0.0.x" "@stdlib/assert-is-number@^0.0.x": - "integrity" "sha512-mNV4boY1cUOmoWWfA2CkdEJfXA6YvhcTvwKC0Fzq+HoFFOuTK/scpTd9HanUyN6AGBlWA8IW+cQ1ZwOT3XMqag==" - "resolved" "https://registry.npmjs.org/@stdlib/assert-is-number/-/assert-is-number-0.0.7.tgz" - "version" "0.0.7" + version "0.0.7" + resolved "https://registry.npmjs.org/@stdlib/assert-is-number/-/assert-is-number-0.0.7.tgz" + integrity sha512-mNV4boY1cUOmoWWfA2CkdEJfXA6YvhcTvwKC0Fzq+HoFFOuTK/scpTd9HanUyN6AGBlWA8IW+cQ1ZwOT3XMqag== dependencies: "@stdlib/assert-has-tostringtag-support" "^0.0.x" "@stdlib/number-ctor" "^0.0.x" @@ -1225,24 +1216,24 @@ "@stdlib/utils-native-class" "^0.0.x" "@stdlib/assert-is-object-like@^0.0.x": - "integrity" "sha512-pe9selDPYAu/lYTFV5Rj4BStepgbzQCr36b/eC8EGSJh6gMgRXgHVv0R+EbdJ69KNkHvKKRjnWj0A/EmCwW+OA==" - "resolved" "https://registry.npmjs.org/@stdlib/assert-is-object-like/-/assert-is-object-like-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/assert-is-object-like/-/assert-is-object-like-0.0.8.tgz" + integrity sha512-pe9selDPYAu/lYTFV5Rj4BStepgbzQCr36b/eC8EGSJh6gMgRXgHVv0R+EbdJ69KNkHvKKRjnWj0A/EmCwW+OA== dependencies: "@stdlib/assert-tools-array-function" "^0.0.x" "@stdlib/utils-define-nonenumerable-read-only-property" "^0.0.x" "@stdlib/assert-is-object@^0.0.x": - "integrity" "sha512-ooPfXDp9c7w+GSqD2NBaZ/Du1JRJlctv+Abj2vRJDcDPyrnRTb1jmw+AuPgcW7Ca7op39JTbArI+RVHm/FPK+Q==" - "resolved" "https://registry.npmjs.org/@stdlib/assert-is-object/-/assert-is-object-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/assert-is-object/-/assert-is-object-0.0.8.tgz" + integrity sha512-ooPfXDp9c7w+GSqD2NBaZ/Du1JRJlctv+Abj2vRJDcDPyrnRTb1jmw+AuPgcW7Ca7op39JTbArI+RVHm/FPK+Q== dependencies: "@stdlib/assert-is-array" "^0.0.x" "@stdlib/assert-is-plain-object@^0.0.x": - "integrity" "sha512-t/CEq2a083ajAgXgSa5tsH8l3kSoEqKRu1qUwniVLFYL4RGv3615CrpJUDQKVtEX5S/OKww5q0Byu3JidJ4C5w==" - "resolved" "https://registry.npmjs.org/@stdlib/assert-is-plain-object/-/assert-is-plain-object-0.0.7.tgz" - "version" "0.0.7" + version "0.0.7" + resolved "https://registry.npmjs.org/@stdlib/assert-is-plain-object/-/assert-is-plain-object-0.0.7.tgz" + integrity sha512-t/CEq2a083ajAgXgSa5tsH8l3kSoEqKRu1qUwniVLFYL4RGv3615CrpJUDQKVtEX5S/OKww5q0Byu3JidJ4C5w== dependencies: "@stdlib/assert-has-own-property" "^0.0.x" "@stdlib/assert-is-function" "^0.0.x" @@ -1251,9 +1242,9 @@ "@stdlib/utils-native-class" "^0.0.x" "@stdlib/assert-is-regexp-string@^0.0.x": - "integrity" "sha512-FYRJJtH7XwXEf//X6UByUC0Eqd0ZYK5AC8or5g5m5efQrgr2lOaONHyDQ3Scj1A2D6QLIJKZc9XBM4uq5nOPXA==" - "resolved" "https://registry.npmjs.org/@stdlib/assert-is-regexp-string/-/assert-is-regexp-string-0.0.9.tgz" - "version" "0.0.9" + version "0.0.9" + resolved "https://registry.npmjs.org/@stdlib/assert-is-regexp-string/-/assert-is-regexp-string-0.0.9.tgz" + integrity sha512-FYRJJtH7XwXEf//X6UByUC0Eqd0ZYK5AC8or5g5m5efQrgr2lOaONHyDQ3Scj1A2D6QLIJKZc9XBM4uq5nOPXA== dependencies: "@stdlib/assert-is-string" "^0.0.x" "@stdlib/cli-ctor" "^0.0.x" @@ -1264,61 +1255,61 @@ "@stdlib/streams-node-stdin" "^0.0.x" "@stdlib/assert-is-regexp@^0.0.x": - "integrity" "sha512-ty5qvLiqkDq6AibHlNJe0ZxDJ9Mg896qolmcHb69mzp64vrsORnPPOTzVapAq0bEUZbXoypeijypLPs9sCGBSQ==" - "resolved" "https://registry.npmjs.org/@stdlib/assert-is-regexp/-/assert-is-regexp-0.0.7.tgz" - "version" "0.0.7" + version "0.0.7" + resolved "https://registry.npmjs.org/@stdlib/assert-is-regexp/-/assert-is-regexp-0.0.7.tgz" + integrity sha512-ty5qvLiqkDq6AibHlNJe0ZxDJ9Mg896qolmcHb69mzp64vrsORnPPOTzVapAq0bEUZbXoypeijypLPs9sCGBSQ== dependencies: "@stdlib/assert-has-tostringtag-support" "^0.0.x" "@stdlib/utils-native-class" "^0.0.x" "@stdlib/assert-is-string@^0.0.x": - "integrity" "sha512-Uk+bR4cglGBbY0q7O7HimEJiW/DWnO1tSzr4iAGMxYgf+VM2PMYgI5e0TLy9jOSOzWon3YS39lc63eR3a9KqeQ==" - "resolved" "https://registry.npmjs.org/@stdlib/assert-is-string/-/assert-is-string-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/assert-is-string/-/assert-is-string-0.0.8.tgz" + integrity sha512-Uk+bR4cglGBbY0q7O7HimEJiW/DWnO1tSzr4iAGMxYgf+VM2PMYgI5e0TLy9jOSOzWon3YS39lc63eR3a9KqeQ== dependencies: "@stdlib/assert-has-tostringtag-support" "^0.0.x" "@stdlib/utils-define-nonenumerable-read-only-property" "^0.0.x" "@stdlib/utils-native-class" "^0.0.x" "@stdlib/assert-is-uint16array@^0.0.x": - "integrity" "sha512-M+qw7au+qglRXcXHjvoUZVLlGt1mPjuKudrVRto6KL4+tDsP2j+A89NDP3Fz8/XIUD+5jhj+65EOKHSMvDYnng==" - "resolved" "https://registry.npmjs.org/@stdlib/assert-is-uint16array/-/assert-is-uint16array-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/assert-is-uint16array/-/assert-is-uint16array-0.0.8.tgz" + integrity sha512-M+qw7au+qglRXcXHjvoUZVLlGt1mPjuKudrVRto6KL4+tDsP2j+A89NDP3Fz8/XIUD+5jhj+65EOKHSMvDYnng== dependencies: "@stdlib/utils-native-class" "^0.0.x" "@stdlib/assert-is-uint32array@^0.0.x": - "integrity" "sha512-cnZi2DicYcplMnkJ3dBxBVKsRNFjzoGpmG9A6jXq4KH5rFl52SezGAXSVY9o5ZV7bQGaF5JLyCLp6n9Y74hFGg==" - "resolved" "https://registry.npmjs.org/@stdlib/assert-is-uint32array/-/assert-is-uint32array-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/assert-is-uint32array/-/assert-is-uint32array-0.0.8.tgz" + integrity sha512-cnZi2DicYcplMnkJ3dBxBVKsRNFjzoGpmG9A6jXq4KH5rFl52SezGAXSVY9o5ZV7bQGaF5JLyCLp6n9Y74hFGg== dependencies: "@stdlib/utils-native-class" "^0.0.x" "@stdlib/assert-is-uint8array@^0.0.x": - "integrity" "sha512-8cqpDQtjnJAuVtRkNAktn45ixq0JHaGJxVsSiK79k7GRggvMI6QsbzO6OvcLnZ/LimD42FmgbLd13Yc2esDmZw==" - "resolved" "https://registry.npmjs.org/@stdlib/assert-is-uint8array/-/assert-is-uint8array-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/assert-is-uint8array/-/assert-is-uint8array-0.0.8.tgz" + integrity sha512-8cqpDQtjnJAuVtRkNAktn45ixq0JHaGJxVsSiK79k7GRggvMI6QsbzO6OvcLnZ/LimD42FmgbLd13Yc2esDmZw== dependencies: "@stdlib/utils-native-class" "^0.0.x" "@stdlib/assert-tools-array-function@^0.0.x": - "integrity" "sha512-3lqkaCIBMSJ/IBHHk4NcCnk2NYU52tmwTYbbqhAmv7vim8rZPNmGfj3oWkzrCsyCsyTF7ooD+In2x+qTmUbCtQ==" - "resolved" "https://registry.npmjs.org/@stdlib/assert-tools-array-function/-/assert-tools-array-function-0.0.7.tgz" - "version" "0.0.7" + version "0.0.7" + resolved "https://registry.npmjs.org/@stdlib/assert-tools-array-function/-/assert-tools-array-function-0.0.7.tgz" + integrity sha512-3lqkaCIBMSJ/IBHHk4NcCnk2NYU52tmwTYbbqhAmv7vim8rZPNmGfj3oWkzrCsyCsyTF7ooD+In2x+qTmUbCtQ== dependencies: "@stdlib/assert-is-array" "^0.0.x" "@stdlib/buffer-ctor@^0.0.x": - "integrity" "sha512-4IyTSGijKUQ8+DYRaKnepf9spvKLZ+nrmZ+JrRcB3FrdTX/l9JDpggcUcC/Fe+A4KIZOnClfxLn6zfIlkCZHNA==" - "resolved" "https://registry.npmjs.org/@stdlib/buffer-ctor/-/buffer-ctor-0.0.7.tgz" - "version" "0.0.7" + version "0.0.7" + resolved "https://registry.npmjs.org/@stdlib/buffer-ctor/-/buffer-ctor-0.0.7.tgz" + integrity sha512-4IyTSGijKUQ8+DYRaKnepf9spvKLZ+nrmZ+JrRcB3FrdTX/l9JDpggcUcC/Fe+A4KIZOnClfxLn6zfIlkCZHNA== dependencies: "@stdlib/assert-has-node-buffer-support" "^0.0.x" "@stdlib/buffer-from-string@^0.0.x": - "integrity" "sha512-Dws5ZbK2M9l4Bkn/ODHFm3lNZ8tWko+NYXqGS/UH/RIQv3PGp+1tXFUSvjwjDneM6ppjQVExzVedUH1ftABs9A==" - "resolved" "https://registry.npmjs.org/@stdlib/buffer-from-string/-/buffer-from-string-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/buffer-from-string/-/buffer-from-string-0.0.8.tgz" + integrity sha512-Dws5ZbK2M9l4Bkn/ODHFm3lNZ8tWko+NYXqGS/UH/RIQv3PGp+1tXFUSvjwjDneM6ppjQVExzVedUH1ftABs9A== dependencies: "@stdlib/assert-is-function" "^0.0.x" "@stdlib/assert-is-string" "^0.0.x" @@ -1326,18 +1317,18 @@ "@stdlib/string-format" "^0.0.x" "@stdlib/cli-ctor@^0.0.x": - "integrity" "sha512-0zCuZnzFyxj66GoF8AyIOhTX5/mgGczFvr6T9h4mXwegMZp8jBC/ZkOGMwmp+ODLBTvlcnnDNpNFkDDyR6/c2g==" - "resolved" "https://registry.npmjs.org/@stdlib/cli-ctor/-/cli-ctor-0.0.3.tgz" - "version" "0.0.3" + version "0.0.3" + resolved "https://registry.npmjs.org/@stdlib/cli-ctor/-/cli-ctor-0.0.3.tgz" + integrity sha512-0zCuZnzFyxj66GoF8AyIOhTX5/mgGczFvr6T9h4mXwegMZp8jBC/ZkOGMwmp+ODLBTvlcnnDNpNFkDDyR6/c2g== dependencies: "@stdlib/utils-define-nonenumerable-read-only-property" "^0.0.x" "@stdlib/utils-noop" "^0.0.x" - "minimist" "^1.2.0" + minimist "^1.2.0" "@stdlib/complex-float32@^0.0.7", "@stdlib/complex-float32@^0.0.x": - "integrity" "sha512-POCtQcBZnPm4IrFmTujSaprR1fcOFr/MRw2Mt7INF4oed6b1nzeG647K+2tk1m4mMrMPiuXCdvwJod4kJ0SXxQ==" - "resolved" "https://registry.npmjs.org/@stdlib/complex-float32/-/complex-float32-0.0.7.tgz" - "version" "0.0.7" + version "0.0.7" + resolved "https://registry.npmjs.org/@stdlib/complex-float32/-/complex-float32-0.0.7.tgz" + integrity sha512-POCtQcBZnPm4IrFmTujSaprR1fcOFr/MRw2Mt7INF4oed6b1nzeG647K+2tk1m4mMrMPiuXCdvwJod4kJ0SXxQ== dependencies: "@stdlib/assert-is-number" "^0.0.x" "@stdlib/number-float64-base-to-float32" "^0.0.x" @@ -1346,9 +1337,9 @@ "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/complex-float64@^0.0.8", "@stdlib/complex-float64@^0.0.x": - "integrity" "sha512-lUJwsXtGEziOWAqCcnKnZT4fcVoRsl6t6ECaCJX45Z7lAc70yJLiwUieLWS5UXmyoADHuZyUXkxtI4oClfpnaw==" - "resolved" "https://registry.npmjs.org/@stdlib/complex-float64/-/complex-float64-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/complex-float64/-/complex-float64-0.0.8.tgz" + integrity sha512-lUJwsXtGEziOWAqCcnKnZT4fcVoRsl6t6ECaCJX45Z7lAc70yJLiwUieLWS5UXmyoADHuZyUXkxtI4oClfpnaw== dependencies: "@stdlib/assert-is-number" "^0.0.x" "@stdlib/complex-float32" "^0.0.x" @@ -1357,9 +1348,9 @@ "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/complex-reim@^0.0.6", "@stdlib/complex-reim@^0.0.x": - "integrity" "sha512-28WXfPSIFMtHb0YgdatkGS4yxX5sPYea5MiNgqPv3E78+tFcg8JJG52NQ/MviWP2wsN9aBQAoCPeu8kXxSPdzA==" - "resolved" "https://registry.npmjs.org/@stdlib/complex-reim/-/complex-reim-0.0.6.tgz" - "version" "0.0.6" + version "0.0.6" + resolved "https://registry.npmjs.org/@stdlib/complex-reim/-/complex-reim-0.0.6.tgz" + integrity sha512-28WXfPSIFMtHb0YgdatkGS4yxX5sPYea5MiNgqPv3E78+tFcg8JJG52NQ/MviWP2wsN9aBQAoCPeu8kXxSPdzA== dependencies: "@stdlib/array-float64" "^0.0.x" "@stdlib/complex-float64" "^0.0.x" @@ -1367,9 +1358,9 @@ "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/complex-reimf@^0.0.1", "@stdlib/complex-reimf@^0.0.x": - "integrity" "sha512-P9zu05ZW2i68Oppp3oHelP7Tk0D7tGBL0hGl1skJppr2vY9LltuNbeYI3C96tQe/7Enw/5GyAWgxoQI4cWccQA==" - "resolved" "https://registry.npmjs.org/@stdlib/complex-reimf/-/complex-reimf-0.0.1.tgz" - "version" "0.0.1" + version "0.0.1" + resolved "https://registry.npmjs.org/@stdlib/complex-reimf/-/complex-reimf-0.0.1.tgz" + integrity sha512-P9zu05ZW2i68Oppp3oHelP7Tk0D7tGBL0hGl1skJppr2vY9LltuNbeYI3C96tQe/7Enw/5GyAWgxoQI4cWccQA== dependencies: "@stdlib/array-float32" "^0.0.x" "@stdlib/complex-float32" "^0.0.x" @@ -1377,200 +1368,200 @@ "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float32-smallest-normal@^0.0.x": - "integrity" "sha512-WXNkxGNXsOFGbyEakZswheMtQen+kX2neBK5PpGzHI3YzgBetE4rh40A1YXxBl2c05aikGjjV/TL9ANMQuUAUQ==" - "resolved" "https://registry.npmjs.org/@stdlib/constants-float32-smallest-normal/-/constants-float32-smallest-normal-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/constants-float32-smallest-normal/-/constants-float32-smallest-normal-0.0.8.tgz" + integrity sha512-WXNkxGNXsOFGbyEakZswheMtQen+kX2neBK5PpGzHI3YzgBetE4rh40A1YXxBl2c05aikGjjV/TL9ANMQuUAUQ== dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-e@^0.0.x": - "integrity" "sha512-RUDKwoMQguOxvNa6QQImChDJsCAjB5YQAg4caaOki06eV7Qm+xee+KSgsQJyjmEFXvjOfuQTBYqUDSuWyW7EZw==" - "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-e/-/constants-float64-e-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/constants-float64-e/-/constants-float64-e-0.0.8.tgz" + integrity sha512-RUDKwoMQguOxvNa6QQImChDJsCAjB5YQAg4caaOki06eV7Qm+xee+KSgsQJyjmEFXvjOfuQTBYqUDSuWyW7EZw== dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-eps@^0.0.x": - "integrity" "sha512-jfsy5syNCwt5xQu0+TG+2MZzWS0x0OwHkPjhsShfPcS0fOLg/Si7V3RU057HEvViYfqJI48bfjswmko9/Jb21w==" - "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-eps/-/constants-float64-eps-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/constants-float64-eps/-/constants-float64-eps-0.0.8.tgz" + integrity sha512-jfsy5syNCwt5xQu0+TG+2MZzWS0x0OwHkPjhsShfPcS0fOLg/Si7V3RU057HEvViYfqJI48bfjswmko9/Jb21w== dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-eulergamma@^0.0.x": - "integrity" "sha512-VZhhSQtVatnxgJlW9t2ewDtzhQ02WOTQcTSSwIXc1bGbrglIaBZGusHPIxGXCv1tQwBx67tfd6Rho1QjMdHSAQ==" - "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-eulergamma/-/constants-float64-eulergamma-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/constants-float64-eulergamma/-/constants-float64-eulergamma-0.0.8.tgz" + integrity sha512-VZhhSQtVatnxgJlW9t2ewDtzhQ02WOTQcTSSwIXc1bGbrglIaBZGusHPIxGXCv1tQwBx67tfd6Rho1QjMdHSAQ== dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-exponent-bias@^0.0.x": - "integrity" "sha512-IzBJQw9hYgWCki7VoC/zJxEA76Nmf8hmY+VkOWnJ8IyfgTXClgY8tfDGS1cc4l/hCOEllxGp9FRvVdn24A5tKQ==" - "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-exponent-bias/-/constants-float64-exponent-bias-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/constants-float64-exponent-bias/-/constants-float64-exponent-bias-0.0.8.tgz" + integrity sha512-IzBJQw9hYgWCki7VoC/zJxEA76Nmf8hmY+VkOWnJ8IyfgTXClgY8tfDGS1cc4l/hCOEllxGp9FRvVdn24A5tKQ== dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-gamma-lanczos-g@^0.0.x": - "integrity" "sha512-yTSjiOeqD3VPEFPHBmk5EqroUy7+CoNRe7L0a3+rvgcgcs8Gw5+RDWiCRPh1Q1p/41BKeVmVEV7/ZTjz7Wkc3Q==" - "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-gamma-lanczos-g/-/constants-float64-gamma-lanczos-g-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/constants-float64-gamma-lanczos-g/-/constants-float64-gamma-lanczos-g-0.0.8.tgz" + integrity sha512-yTSjiOeqD3VPEFPHBmk5EqroUy7+CoNRe7L0a3+rvgcgcs8Gw5+RDWiCRPh1Q1p/41BKeVmVEV7/ZTjz7Wkc3Q== dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-half-ln-two@^0.0.x": - "integrity" "sha512-DrVD4BN2O3VLNtLixx2BQxqfy7ZSuABjyUQ03Hsgg862UnjJB5SxRy8OPjlYOdQ8QQtefyv0fJNshyw1P/hZQg==" - "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-half-ln-two/-/constants-float64-half-ln-two-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/constants-float64-half-ln-two/-/constants-float64-half-ln-two-0.0.8.tgz" + integrity sha512-DrVD4BN2O3VLNtLixx2BQxqfy7ZSuABjyUQ03Hsgg862UnjJB5SxRy8OPjlYOdQ8QQtefyv0fJNshyw1P/hZQg== dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-high-word-abs-mask@^0.0.x": - "integrity" "sha512-1vy8SUyMHFBwqUUVaZFA7r4/E3cMMRKSwsaa/EZ15w7Kmc01W/ZmaaTLevRcIdACcNgK+8i8813c8H7LScXNcQ==" - "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-high-word-abs-mask/-/constants-float64-high-word-abs-mask-0.0.1.tgz" - "version" "0.0.1" + version "0.0.1" + resolved "https://registry.npmjs.org/@stdlib/constants-float64-high-word-abs-mask/-/constants-float64-high-word-abs-mask-0.0.1.tgz" + integrity sha512-1vy8SUyMHFBwqUUVaZFA7r4/E3cMMRKSwsaa/EZ15w7Kmc01W/ZmaaTLevRcIdACcNgK+8i8813c8H7LScXNcQ== dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-high-word-exponent-mask@^0.0.x": - "integrity" "sha512-z28/EQERc0VG7N36bqdvtrRWjFc8600PKkwvl/nqx6TpKAzMXNw55BS1xT4C28Sa9Z7uBWeUj3UbIFedbkoyMw==" - "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-high-word-exponent-mask/-/constants-float64-high-word-exponent-mask-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/constants-float64-high-word-exponent-mask/-/constants-float64-high-word-exponent-mask-0.0.8.tgz" + integrity sha512-z28/EQERc0VG7N36bqdvtrRWjFc8600PKkwvl/nqx6TpKAzMXNw55BS1xT4C28Sa9Z7uBWeUj3UbIFedbkoyMw== dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-high-word-sign-mask@^0.0.x": - "integrity" "sha512-hmTr5caK1lh1m0eyaQqt2Vt3y+eEdAx57ndbADEbXhxC9qSGd0b4bLSzt/Xp4MYBYdQkHAE/BlkgUiRThswhCg==" - "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-high-word-sign-mask/-/constants-float64-high-word-sign-mask-0.0.1.tgz" - "version" "0.0.1" + version "0.0.1" + resolved "https://registry.npmjs.org/@stdlib/constants-float64-high-word-sign-mask/-/constants-float64-high-word-sign-mask-0.0.1.tgz" + integrity sha512-hmTr5caK1lh1m0eyaQqt2Vt3y+eEdAx57ndbADEbXhxC9qSGd0b4bLSzt/Xp4MYBYdQkHAE/BlkgUiRThswhCg== dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-high-word-significand-mask@^0.0.x": - "integrity" "sha512-axiB0JMao3ZYTxPtK3K75q+UjTDF1OM2KoCYVukZbs+GWenAR4EkEsCJ4nW5a4ONDXNLsVuRVeL8sgte7prt4g==" - "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-high-word-significand-mask/-/constants-float64-high-word-significand-mask-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/constants-float64-high-word-significand-mask/-/constants-float64-high-word-significand-mask-0.0.8.tgz" + integrity sha512-axiB0JMao3ZYTxPtK3K75q+UjTDF1OM2KoCYVukZbs+GWenAR4EkEsCJ4nW5a4ONDXNLsVuRVeL8sgte7prt4g== dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-ln-two@^0.0.x": - "integrity" "sha512-XwhMhGkimMpDa8Dgk7HnZd+Bzs1SerCTJqRfDRODQFzf0lj7y27SAB0vK3XYWfY7YJSLRUNXMIQ9MrALu6Sg4g==" - "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-ln-two/-/constants-float64-ln-two-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/constants-float64-ln-two/-/constants-float64-ln-two-0.0.8.tgz" + integrity sha512-XwhMhGkimMpDa8Dgk7HnZd+Bzs1SerCTJqRfDRODQFzf0lj7y27SAB0vK3XYWfY7YJSLRUNXMIQ9MrALu6Sg4g== dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-max-base2-exponent-subnormal@^0.0.x": - "integrity" "sha512-YGBZykSiXFebznnJfWFDwhho2Q9xhUWOL+X0lZJ4ItfTTo40W6VHAyNYz98tT/gJECFype0seNzzo1nUxCE7jQ==" - "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-max-base2-exponent-subnormal/-/constants-float64-max-base2-exponent-subnormal-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/constants-float64-max-base2-exponent-subnormal/-/constants-float64-max-base2-exponent-subnormal-0.0.8.tgz" + integrity sha512-YGBZykSiXFebznnJfWFDwhho2Q9xhUWOL+X0lZJ4ItfTTo40W6VHAyNYz98tT/gJECFype0seNzzo1nUxCE7jQ== dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-max-base2-exponent@^0.0.x": - "integrity" "sha512-xBAOtso1eiy27GnTut2difuSdpsGxI8dJhXupw0UukGgvy/3CSsyNm+a1Suz/dhqK4tPOTe5QboIdNMw5IgXKQ==" - "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-max-base2-exponent/-/constants-float64-max-base2-exponent-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/constants-float64-max-base2-exponent/-/constants-float64-max-base2-exponent-0.0.8.tgz" + integrity sha512-xBAOtso1eiy27GnTut2difuSdpsGxI8dJhXupw0UukGgvy/3CSsyNm+a1Suz/dhqK4tPOTe5QboIdNMw5IgXKQ== dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-max-ln@^0.0.x": - "integrity" "sha512-wrZTI9ncpIWZBmfS0PuKhB8jxjT3KWmJs3/SjOB8l0gA/6tBV/Wjw5IrO+fgut0NgT3SJRjbu/hrz06iKUeS7Q==" - "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-max-ln/-/constants-float64-max-ln-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/constants-float64-max-ln/-/constants-float64-max-ln-0.0.8.tgz" + integrity sha512-wrZTI9ncpIWZBmfS0PuKhB8jxjT3KWmJs3/SjOB8l0gA/6tBV/Wjw5IrO+fgut0NgT3SJRjbu/hrz06iKUeS7Q== dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-max@^0.0.x": - "integrity" "sha512-I1Dm73NUAJl7z/TtXwow/4nZeFhhs4VFdPSZR3nwqrZbvBQyEhQx/aX1hCjiQiktXDeLQm8mMYCth7KB0RuTMQ==" - "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-max/-/constants-float64-max-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/constants-float64-max/-/constants-float64-max-0.0.8.tgz" + integrity sha512-I1Dm73NUAJl7z/TtXwow/4nZeFhhs4VFdPSZR3nwqrZbvBQyEhQx/aX1hCjiQiktXDeLQm8mMYCth7KB0RuTMQ== dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-min-base2-exponent-subnormal@^0.0.x": - "integrity" "sha512-bt81nBus/91aEqGRQBenEFCyWNsf8uaxn4LN1NjgkvY92S1yVxXFlC65fJHsj9FTqvyZ+uj690/gdMKUDV3NjQ==" - "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-min-base2-exponent-subnormal/-/constants-float64-min-base2-exponent-subnormal-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/constants-float64-min-base2-exponent-subnormal/-/constants-float64-min-base2-exponent-subnormal-0.0.8.tgz" + integrity sha512-bt81nBus/91aEqGRQBenEFCyWNsf8uaxn4LN1NjgkvY92S1yVxXFlC65fJHsj9FTqvyZ+uj690/gdMKUDV3NjQ== dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-min-ln@^0.0.x": - "integrity" "sha512-+FLeaQGpa7Pt53jU+hPL7GQI++BAsDy3MiYW8n97AvMDvgAecbq1UjbJFWYu91ZtdOk8S8mwNRrm4jo//Hy3/w==" - "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-min-ln/-/constants-float64-min-ln-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/constants-float64-min-ln/-/constants-float64-min-ln-0.0.8.tgz" + integrity sha512-+FLeaQGpa7Pt53jU+hPL7GQI++BAsDy3MiYW8n97AvMDvgAecbq1UjbJFWYu91ZtdOk8S8mwNRrm4jo//Hy3/w== dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-ninf@^0.0.x": - "integrity" "sha512-bn/uuzCne35OSLsQZJlNrkvU1/40spGTm22g1+ZI1LL19J8XJi/o4iupIHRXuLSTLFDBqMoJlUNphZlWQ4l8zw==" - "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-ninf/-/constants-float64-ninf-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/constants-float64-ninf/-/constants-float64-ninf-0.0.8.tgz" + integrity sha512-bn/uuzCne35OSLsQZJlNrkvU1/40spGTm22g1+ZI1LL19J8XJi/o4iupIHRXuLSTLFDBqMoJlUNphZlWQ4l8zw== dependencies: "@stdlib/number-ctor" "^0.0.x" "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-pi@^0.0.x": - "integrity" "sha512-MgIu0vc3fq+AcXPWGgP2dfNoeKRd1KHpRNL5S0m8olKRg+6cn5Ac+aQtRCmya3reUojDxytipBGPGHDPxUK5iw==" - "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-pi/-/constants-float64-pi-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/constants-float64-pi/-/constants-float64-pi-0.0.8.tgz" + integrity sha512-MgIu0vc3fq+AcXPWGgP2dfNoeKRd1KHpRNL5S0m8olKRg+6cn5Ac+aQtRCmya3reUojDxytipBGPGHDPxUK5iw== dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-pinf@^0.0.x": - "integrity" "sha512-I3R4rm2cemoMuiDph07eo5oWZ4ucUtpuK73qBJiJPDQKz8fSjSe4wJBAigq2AmWYdd7yJHsl5NJd8AgC6mP5Qw==" - "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-pinf/-/constants-float64-pinf-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/constants-float64-pinf/-/constants-float64-pinf-0.0.8.tgz" + integrity sha512-I3R4rm2cemoMuiDph07eo5oWZ4ucUtpuK73qBJiJPDQKz8fSjSe4wJBAigq2AmWYdd7yJHsl5NJd8AgC6mP5Qw== dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-smallest-normal@^0.0.x": - "integrity" "sha512-Qwxpn5NA3RXf+mQcffCWRcsHSPTUQkalsz0+JDpblDszuz2XROcXkOdDr5LKgTAUPIXsjOgZzTsuRONENhsSEg==" - "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-smallest-normal/-/constants-float64-smallest-normal-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/constants-float64-smallest-normal/-/constants-float64-smallest-normal-0.0.8.tgz" + integrity sha512-Qwxpn5NA3RXf+mQcffCWRcsHSPTUQkalsz0+JDpblDszuz2XROcXkOdDr5LKgTAUPIXsjOgZzTsuRONENhsSEg== dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-sqrt-eps@^0.0.x": - "integrity" "sha512-3VjVQczBFNy74xABiTwN38Hdr2ApgWfaY04iI5eBufWjPw3M1bNVE5UMk6HSYJseEIP3PevcZxqJ3XehCgPZHA==" - "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-sqrt-eps/-/constants-float64-sqrt-eps-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/constants-float64-sqrt-eps/-/constants-float64-sqrt-eps-0.0.8.tgz" + integrity sha512-3VjVQczBFNy74xABiTwN38Hdr2ApgWfaY04iI5eBufWjPw3M1bNVE5UMk6HSYJseEIP3PevcZxqJ3XehCgPZHA== dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-sqrt-two-pi@^0.0.x": - "integrity" "sha512-xSMg6UreLhgUUFhA0yhJWfyROJvOJ+gUtjcbj8GFlym18EjQ13x9x8gNgUocPNm4qvQVKWBDDXcbkc+fPTp+eg==" - "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-sqrt-two-pi/-/constants-float64-sqrt-two-pi-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/constants-float64-sqrt-two-pi/-/constants-float64-sqrt-two-pi-0.0.8.tgz" + integrity sha512-xSMg6UreLhgUUFhA0yhJWfyROJvOJ+gUtjcbj8GFlym18EjQ13x9x8gNgUocPNm4qvQVKWBDDXcbkc+fPTp+eg== dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-float64-two-pi@^0.0.x": - "integrity" "sha512-YxgFEytCkQDhdBZpjWOCtUBgp6PPuuQZP5dXlpSNGKBShEQ60Sr3xTpdQt6WzErr+ZeNBvxaw6BlY8Mw6oK12Q==" - "resolved" "https://registry.npmjs.org/@stdlib/constants-float64-two-pi/-/constants-float64-two-pi-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/constants-float64-two-pi/-/constants-float64-two-pi-0.0.8.tgz" + integrity sha512-YxgFEytCkQDhdBZpjWOCtUBgp6PPuuQZP5dXlpSNGKBShEQ60Sr3xTpdQt6WzErr+ZeNBvxaw6BlY8Mw6oK12Q== dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/constants-uint16-max@^0.0.x": - "integrity" "sha512-7TPoku7SlskA67mAm7mykIAjeEnkQJemw1cnKZur0mT5W4ryvDR6iFfL9xBiByVnWYq/+ei7DHbOv6/2b2jizw==" - "resolved" "https://registry.npmjs.org/@stdlib/constants-uint16-max/-/constants-uint16-max-0.0.7.tgz" - "version" "0.0.7" + version "0.0.7" + resolved "https://registry.npmjs.org/@stdlib/constants-uint16-max/-/constants-uint16-max-0.0.7.tgz" + integrity sha512-7TPoku7SlskA67mAm7mykIAjeEnkQJemw1cnKZur0mT5W4ryvDR6iFfL9xBiByVnWYq/+ei7DHbOv6/2b2jizw== "@stdlib/constants-uint32-max@^0.0.x": - "integrity" "sha512-8+NK0ewqc1vnEZNqzwFJgFSy3S543Eft7i8WyW/ygkofiqEiLAsujvYMHzPAB8/3D+PYvjTSe37StSwRwvQ6uw==" - "resolved" "https://registry.npmjs.org/@stdlib/constants-uint32-max/-/constants-uint32-max-0.0.7.tgz" - "version" "0.0.7" + version "0.0.7" + resolved "https://registry.npmjs.org/@stdlib/constants-uint32-max/-/constants-uint32-max-0.0.7.tgz" + integrity sha512-8+NK0ewqc1vnEZNqzwFJgFSy3S543Eft7i8WyW/ygkofiqEiLAsujvYMHzPAB8/3D+PYvjTSe37StSwRwvQ6uw== "@stdlib/constants-uint8-max@^0.0.x": - "integrity" "sha512-fqV+xds4jgwFxwWu08b8xDuIoW6/D4/1dtEjZ1sXVeWR7nf0pjj1cHERq4kdkYxsvOGu+rjoR3MbjzpFc4fvSw==" - "resolved" "https://registry.npmjs.org/@stdlib/constants-uint8-max/-/constants-uint8-max-0.0.7.tgz" - "version" "0.0.7" + version "0.0.7" + resolved "https://registry.npmjs.org/@stdlib/constants-uint8-max/-/constants-uint8-max-0.0.7.tgz" + integrity sha512-fqV+xds4jgwFxwWu08b8xDuIoW6/D4/1dtEjZ1sXVeWR7nf0pjj1cHERq4kdkYxsvOGu+rjoR3MbjzpFc4fvSw== "@stdlib/fs-exists@^0.0.x": - "integrity" "sha512-mZktcCxiLmycCJefm1+jbMTYkmhK6Jk1ShFmUVqJvs+Ps9/2EEQXfPbdEniLoVz4HeHLlcX90JWobUEghOOnAQ==" - "resolved" "https://registry.npmjs.org/@stdlib/fs-exists/-/fs-exists-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/fs-exists/-/fs-exists-0.0.8.tgz" + integrity sha512-mZktcCxiLmycCJefm1+jbMTYkmhK6Jk1ShFmUVqJvs+Ps9/2EEQXfPbdEniLoVz4HeHLlcX90JWobUEghOOnAQ== dependencies: "@stdlib/cli-ctor" "^0.0.x" "@stdlib/fs-read-file" "^0.0.x" @@ -1578,17 +1569,17 @@ "@stdlib/utils-define-nonenumerable-read-only-property" "^0.0.x" "@stdlib/fs-read-file@^0.0.x": - "integrity" "sha512-pIZID/G91+q7ep4x9ECNC45+JT2j0+jdz/ZQVjCHiEwXCwshZPEvxcPQWb9bXo6coOY+zJyX5TwBIpXBxomWFg==" - "resolved" "https://registry.npmjs.org/@stdlib/fs-read-file/-/fs-read-file-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/fs-read-file/-/fs-read-file-0.0.8.tgz" + integrity sha512-pIZID/G91+q7ep4x9ECNC45+JT2j0+jdz/ZQVjCHiEwXCwshZPEvxcPQWb9bXo6coOY+zJyX5TwBIpXBxomWFg== dependencies: "@stdlib/cli-ctor" "^0.0.x" "@stdlib/utils-define-nonenumerable-read-only-property" "^0.0.x" "@stdlib/fs-resolve-parent-path@^0.0.x": - "integrity" "sha512-ok1bTWsAziChibQE3u7EoXwbCQUDkFjjRAHSxh7WWE5JEYVJQg1F0o3bbjRr4D/wfYYPWLAt8AFIKBUDmWghpg==" - "resolved" "https://registry.npmjs.org/@stdlib/fs-resolve-parent-path/-/fs-resolve-parent-path-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/fs-resolve-parent-path/-/fs-resolve-parent-path-0.0.8.tgz" + integrity sha512-ok1bTWsAziChibQE3u7EoXwbCQUDkFjjRAHSxh7WWE5JEYVJQg1F0o3bbjRr4D/wfYYPWLAt8AFIKBUDmWghpg== dependencies: "@stdlib/assert-has-own-property" "^0.0.x" "@stdlib/assert-is-function" "^0.0.x" @@ -1601,62 +1592,62 @@ "@stdlib/utils-define-nonenumerable-read-only-property" "^0.0.x" "@stdlib/math-base-assert-is-even@^0.0.x": - "integrity" "sha512-tKHutmKSPsJ41DVZBbdfSW6njZtTjqeAIpS4ZjKom4AJwvqJGRDjOzLOzi8+jeRn3bhjfABRPCd35EAkHUnNog==" - "resolved" "https://registry.npmjs.org/@stdlib/math-base-assert-is-even/-/math-base-assert-is-even-0.0.7.tgz" - "version" "0.0.7" + version "0.0.7" + resolved "https://registry.npmjs.org/@stdlib/math-base-assert-is-even/-/math-base-assert-is-even-0.0.7.tgz" + integrity sha512-tKHutmKSPsJ41DVZBbdfSW6njZtTjqeAIpS4ZjKom4AJwvqJGRDjOzLOzi8+jeRn3bhjfABRPCd35EAkHUnNog== dependencies: "@stdlib/math-base-assert-is-integer" "^0.0.x" "@stdlib/math-base-assert-is-infinite@^0.0.x": - "integrity" "sha512-JuPDdmxd+AtPWPHu9uaLvTsnEPaZODZk+zpagziNbDKy8DRiU1cy+t+QEjB5WizZt0A5MkuxDTjZ/8/sG5GaYQ==" - "resolved" "https://registry.npmjs.org/@stdlib/math-base-assert-is-infinite/-/math-base-assert-is-infinite-0.0.9.tgz" - "version" "0.0.9" + version "0.0.9" + resolved "https://registry.npmjs.org/@stdlib/math-base-assert-is-infinite/-/math-base-assert-is-infinite-0.0.9.tgz" + integrity sha512-JuPDdmxd+AtPWPHu9uaLvTsnEPaZODZk+zpagziNbDKy8DRiU1cy+t+QEjB5WizZt0A5MkuxDTjZ/8/sG5GaYQ== dependencies: "@stdlib/constants-float64-ninf" "^0.0.x" "@stdlib/constants-float64-pinf" "^0.0.x" "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/math-base-assert-is-integer@^0.0.x": - "integrity" "sha512-swIEKQJZOwzacYDiX5SSt5/nHd6PYJkLlVKZiVx/GCpflstQnseWA0TmudG7XU5HJnxDGV/w6UL02dEyBH7VEw==" - "resolved" "https://registry.npmjs.org/@stdlib/math-base-assert-is-integer/-/math-base-assert-is-integer-0.0.7.tgz" - "version" "0.0.7" + version "0.0.7" + resolved "https://registry.npmjs.org/@stdlib/math-base-assert-is-integer/-/math-base-assert-is-integer-0.0.7.tgz" + integrity sha512-swIEKQJZOwzacYDiX5SSt5/nHd6PYJkLlVKZiVx/GCpflstQnseWA0TmudG7XU5HJnxDGV/w6UL02dEyBH7VEw== dependencies: "@stdlib/math-base-special-floor" "^0.0.x" "@stdlib/math-base-assert-is-nan@^0.0.x": - "integrity" "sha512-m+gCVBxLFW8ZdAfdkATetYMvM7sPFoMKboacHjb1pe21jHQqVb+/4bhRSDg6S7HGX7/8/bSzEUm9zuF7vqK5rQ==" - "resolved" "https://registry.npmjs.org/@stdlib/math-base-assert-is-nan/-/math-base-assert-is-nan-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/math-base-assert-is-nan/-/math-base-assert-is-nan-0.0.8.tgz" + integrity sha512-m+gCVBxLFW8ZdAfdkATetYMvM7sPFoMKboacHjb1pe21jHQqVb+/4bhRSDg6S7HGX7/8/bSzEUm9zuF7vqK5rQ== dependencies: "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/math-base-assert-is-negative-zero@^0.0.x": - "integrity" "sha512-xajwAxn1SC0HWx9Fw8wQZ/RGTpG7Pf9ZA13rpnKvq/4yblCk8tT8Ws+zEwgbHCt5PQe45SEtUZOQ42k3YpX3DA==" - "resolved" "https://registry.npmjs.org/@stdlib/math-base-assert-is-negative-zero/-/math-base-assert-is-negative-zero-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/math-base-assert-is-negative-zero/-/math-base-assert-is-negative-zero-0.0.8.tgz" + integrity sha512-xajwAxn1SC0HWx9Fw8wQZ/RGTpG7Pf9ZA13rpnKvq/4yblCk8tT8Ws+zEwgbHCt5PQe45SEtUZOQ42k3YpX3DA== dependencies: "@stdlib/constants-float64-ninf" "^0.0.x" "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/math-base-assert-is-odd@^0.0.x": - "integrity" "sha512-ZjIIu1AX57ZnKDxJW67t/FUyMkDnZLCZgvWiDr7+nkfTfGB1uLckJtwkmnZqz0CGtkpTU3geELbvGQ+e60kLEA==" - "resolved" "https://registry.npmjs.org/@stdlib/math-base-assert-is-odd/-/math-base-assert-is-odd-0.0.7.tgz" - "version" "0.0.7" + version "0.0.7" + resolved "https://registry.npmjs.org/@stdlib/math-base-assert-is-odd/-/math-base-assert-is-odd-0.0.7.tgz" + integrity sha512-ZjIIu1AX57ZnKDxJW67t/FUyMkDnZLCZgvWiDr7+nkfTfGB1uLckJtwkmnZqz0CGtkpTU3geELbvGQ+e60kLEA== dependencies: "@stdlib/math-base-assert-is-even" "^0.0.x" "@stdlib/math-base-assert-is-positive-zero@^0.0.x": - "integrity" "sha512-/9OtPelOyekHTk5hOvPjJl6LCY8CHQmib6TFKbRjqhqwjnqUGIO4bv80TSCKFddoEj/viIHXQfYHXXuQosMTVg==" - "resolved" "https://registry.npmjs.org/@stdlib/math-base-assert-is-positive-zero/-/math-base-assert-is-positive-zero-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/math-base-assert-is-positive-zero/-/math-base-assert-is-positive-zero-0.0.8.tgz" + integrity sha512-/9OtPelOyekHTk5hOvPjJl6LCY8CHQmib6TFKbRjqhqwjnqUGIO4bv80TSCKFddoEj/viIHXQfYHXXuQosMTVg== dependencies: "@stdlib/constants-float64-pinf" "^0.0.x" "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/math-base-napi-binary@^0.0.x": - "integrity" "sha512-B8d0HBPhfXefbdl/h0h5c+lM2sE+/U7Fb7hY/huVeoQtBtEx0Jbx/qKvPSVxMjmWCKfWlbPpbgKpN5GbFgLiAg==" - "resolved" "https://registry.npmjs.org/@stdlib/math-base-napi-binary/-/math-base-napi-binary-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/math-base-napi-binary/-/math-base-napi-binary-0.0.8.tgz" + integrity sha512-B8d0HBPhfXefbdl/h0h5c+lM2sE+/U7Fb7hY/huVeoQtBtEx0Jbx/qKvPSVxMjmWCKfWlbPpbgKpN5GbFgLiAg== dependencies: "@stdlib/complex-float32" "^0.0.x" "@stdlib/complex-float64" "^0.0.x" @@ -1665,9 +1656,9 @@ "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/math-base-napi-unary@^0.0.x": - "integrity" "sha512-2WNKhjCygkGMp0RgjaD7wAHJTqPZmuVW7yPOc62Tnz2U+Ad8q/tcOcN+uvq2dtKsAGr1HDMIQxZ/XrrThMePyA==" - "resolved" "https://registry.npmjs.org/@stdlib/math-base-napi-unary/-/math-base-napi-unary-0.0.9.tgz" - "version" "0.0.9" + version "0.0.9" + resolved "https://registry.npmjs.org/@stdlib/math-base-napi-unary/-/math-base-napi-unary-0.0.9.tgz" + integrity sha512-2WNKhjCygkGMp0RgjaD7wAHJTqPZmuVW7yPOc62Tnz2U+Ad8q/tcOcN+uvq2dtKsAGr1HDMIQxZ/XrrThMePyA== dependencies: "@stdlib/complex-float32" "^0.0.7" "@stdlib/complex-float64" "^0.0.8" @@ -1676,26 +1667,26 @@ "@stdlib/utils-library-manifest" "^0.0.8" "@stdlib/math-base-special-abs@^0.0.x": - "integrity" "sha512-FaaMUnYs2qIVN3kI5m/qNlBhDnjszhDOzEhxGEoQWR/k0XnxbCsTyjNesR2DkpiKuoAXAr9ojoDe2qBYdirWoQ==" - "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-abs/-/math-base-special-abs-0.0.6.tgz" - "version" "0.0.6" + version "0.0.6" + resolved "https://registry.npmjs.org/@stdlib/math-base-special-abs/-/math-base-special-abs-0.0.6.tgz" + integrity sha512-FaaMUnYs2qIVN3kI5m/qNlBhDnjszhDOzEhxGEoQWR/k0XnxbCsTyjNesR2DkpiKuoAXAr9ojoDe2qBYdirWoQ== dependencies: "@stdlib/math-base-napi-unary" "^0.0.x" "@stdlib/number-float64-base-to-words" "^0.0.x" "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/math-base-special-ceil@^0.0.x": - "integrity" "sha512-TP6DWHXreyjO3iZntIsMcHcVYhQEhaQavjYX5z9FiYt8WOEliGRmb9TBAl4SWrHqIq+RTP8IwOydkBpAFndIbA==" - "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-ceil/-/math-base-special-ceil-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/math-base-special-ceil/-/math-base-special-ceil-0.0.8.tgz" + integrity sha512-TP6DWHXreyjO3iZntIsMcHcVYhQEhaQavjYX5z9FiYt8WOEliGRmb9TBAl4SWrHqIq+RTP8IwOydkBpAFndIbA== dependencies: "@stdlib/math-base-napi-unary" "^0.0.x" "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/math-base-special-copysign@^0.0.x": - "integrity" "sha512-7Br7oeuVJSBKG8BiSk/AIRFTBd2sbvHdV3HaqRj8tTZHX8BQomZ3Vj4Qsiz3kPyO4d6PpBLBTYlGTkSDlGOZJA==" - "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-copysign/-/math-base-special-copysign-0.0.7.tgz" - "version" "0.0.7" + version "0.0.7" + resolved "https://registry.npmjs.org/@stdlib/math-base-special-copysign/-/math-base-special-copysign-0.0.7.tgz" + integrity sha512-7Br7oeuVJSBKG8BiSk/AIRFTBd2sbvHdV3HaqRj8tTZHX8BQomZ3Vj4Qsiz3kPyO4d6PpBLBTYlGTkSDlGOZJA== dependencies: "@stdlib/constants-float64-high-word-abs-mask" "^0.0.x" "@stdlib/constants-float64-high-word-sign-mask" "^0.0.x" @@ -1706,9 +1697,9 @@ "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/math-base-special-cos@^0.0.x": - "integrity" "sha512-dmBXZ5iRnC8u13EiZEfkjIzzOFiasvPM9MZldW6qK70aP1U+bmw1/Y27rwe4na+X6Yrkh+Vg/88NIjAOWccCXQ==" - "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-cos/-/math-base-special-cos-0.0.6.tgz" - "version" "0.0.6" + version "0.0.6" + resolved "https://registry.npmjs.org/@stdlib/math-base-special-cos/-/math-base-special-cos-0.0.6.tgz" + integrity sha512-dmBXZ5iRnC8u13EiZEfkjIzzOFiasvPM9MZldW6qK70aP1U+bmw1/Y27rwe4na+X6Yrkh+Vg/88NIjAOWccCXQ== dependencies: "@stdlib/math-base-special-kernel-cos" "^0.0.x" "@stdlib/math-base-special-kernel-sin" "^0.0.x" @@ -1716,9 +1707,9 @@ "@stdlib/number-float64-base-get-high-word" "^0.0.x" "@stdlib/math-base-special-erfc@^0.0.x": - "integrity" "sha512-QLqfjP55VK9aW0VOq30lsi3ymDSvDBjUOI1fTRZmqMNizB38AM+ZlPkn9e9SNLYXRxp8BHZUEjOsEi6b5HnNIw==" - "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-erfc/-/math-base-special-erfc-0.0.6.tgz" - "version" "0.0.6" + version "0.0.6" + resolved "https://registry.npmjs.org/@stdlib/math-base-special-erfc/-/math-base-special-erfc-0.0.6.tgz" + integrity sha512-QLqfjP55VK9aW0VOq30lsi3ymDSvDBjUOI1fTRZmqMNizB38AM+ZlPkn9e9SNLYXRxp8BHZUEjOsEi6b5HnNIw== dependencies: "@stdlib/constants-float64-ninf" "^0.0.x" "@stdlib/constants-float64-pinf" "^0.0.x" @@ -1727,9 +1718,9 @@ "@stdlib/number-float64-base-set-low-word" "^0.0.x" "@stdlib/math-base-special-exp@^0.0.x": - "integrity" "sha512-oHhH7WlPIwoT/nY29p3eLn/Zh1oAOLsZvr3kf5Lb/ntenkpgB7wMjynsiGKyBupNR49esB4/FaBbGqhYmKgwaQ==" - "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-exp/-/math-base-special-exp-0.0.6.tgz" - "version" "0.0.6" + version "0.0.6" + resolved "https://registry.npmjs.org/@stdlib/math-base-special-exp/-/math-base-special-exp-0.0.6.tgz" + integrity sha512-oHhH7WlPIwoT/nY29p3eLn/Zh1oAOLsZvr3kf5Lb/ntenkpgB7wMjynsiGKyBupNR49esB4/FaBbGqhYmKgwaQ== dependencies: "@stdlib/constants-float64-ninf" "^0.0.x" "@stdlib/constants-float64-pinf" "^0.0.x" @@ -1738,9 +1729,9 @@ "@stdlib/math-base-special-trunc" "^0.0.x" "@stdlib/math-base-special-expm1@^0.0.x": - "integrity" "sha512-q6csQF1XZD5ikudP8laJwPh390VnqkEkL7Nv39GSa4JKuQUt+EAxc+Y1HEWEw+Io06eTLl36SYEZy7Pz/NL1PA==" - "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-expm1/-/math-base-special-expm1-0.0.6.tgz" - "version" "0.0.6" + version "0.0.6" + resolved "https://registry.npmjs.org/@stdlib/math-base-special-expm1/-/math-base-special-expm1-0.0.6.tgz" + integrity sha512-q6csQF1XZD5ikudP8laJwPh390VnqkEkL7Nv39GSa4JKuQUt+EAxc+Y1HEWEw+Io06eTLl36SYEZy7Pz/NL1PA== dependencies: "@stdlib/constants-float64-exponent-bias" "^0.0.x" "@stdlib/constants-float64-half-ln-two" "^0.0.x" @@ -1751,22 +1742,34 @@ "@stdlib/number-float64-base-set-high-word" "^0.0.x" "@stdlib/math-base-special-floor@^0.0.x": - "integrity" "sha512-VwpaiU0QhQKB8p+r9p9mNzhrjU5ZVBnUcLjKNCDADiGNvO5ACI/I+W++8kxBz5XSp5PAQhaFCH4MpRM1tSkd/w==" - "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-floor/-/math-base-special-floor-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/math-base-special-floor/-/math-base-special-floor-0.0.8.tgz" + integrity sha512-VwpaiU0QhQKB8p+r9p9mNzhrjU5ZVBnUcLjKNCDADiGNvO5ACI/I+W++8kxBz5XSp5PAQhaFCH4MpRM1tSkd/w== dependencies: "@stdlib/math-base-napi-unary" "^0.0.x" "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/math-base-special-gamma-lanczos-sum-expg-scaled@^0.0.x": - "integrity" "sha512-zjdpS8owElpxosiEs78XawbJ/+pvMsUdEN7ThLiGpTToSqffb/L9FGlD3uD/LiXHgiqs4CwsU1xBaX8cI6tn2A==" - "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-gamma-lanczos-sum-expg-scaled/-/math-base-special-gamma-lanczos-sum-expg-scaled-0.0.7.tgz" - "version" "0.0.7" + version "0.0.7" + resolved "https://registry.npmjs.org/@stdlib/math-base-special-gamma-lanczos-sum-expg-scaled/-/math-base-special-gamma-lanczos-sum-expg-scaled-0.0.7.tgz" + integrity sha512-zjdpS8owElpxosiEs78XawbJ/+pvMsUdEN7ThLiGpTToSqffb/L9FGlD3uD/LiXHgiqs4CwsU1xBaX8cI6tn2A== + +"@stdlib/math-base-special-gamma1pm1@^0.0.x": + version "0.0.6" + resolved "https://registry.npmjs.org/@stdlib/math-base-special-gamma1pm1/-/math-base-special-gamma1pm1-0.0.6.tgz" + integrity sha512-MAyGncYTJjdSAUCjezMq9ah+hEc4A3yiyTmBMtJ60xkFzRiMOgI+KZV8Yb3brtRWtMayGmRsarqbroXeAnzJKQ== + dependencies: + "@stdlib/constants-float64-eps" "^0.0.x" + "@stdlib/math-base-assert-is-nan" "^0.0.x" + "@stdlib/math-base-special-expm1" "^0.0.x" + "@stdlib/math-base-special-gamma" "^0.0.x" + "@stdlib/math-base-special-ln" "^0.0.x" + "@stdlib/math-base-special-log1p" "^0.0.x" "@stdlib/math-base-special-gamma@^0.0.x": - "integrity" "sha512-UqxLakbDrCsobOFzp0VC/OCTLimgnZPJOyrUJ4Vw3UAObmkqrH+Lxh3cYZgX/AMLAcWdN/MSPdRK9QMAp5vHYQ==" - "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-gamma/-/math-base-special-gamma-0.0.6.tgz" - "version" "0.0.6" + version "0.0.6" + resolved "https://registry.npmjs.org/@stdlib/math-base-special-gamma/-/math-base-special-gamma-0.0.6.tgz" + integrity sha512-UqxLakbDrCsobOFzp0VC/OCTLimgnZPJOyrUJ4Vw3UAObmkqrH+Lxh3cYZgX/AMLAcWdN/MSPdRK9QMAp5vHYQ== dependencies: "@stdlib/constants-float64-eulergamma" "^0.0.x" "@stdlib/constants-float64-ninf" "^0.0.x" @@ -1782,22 +1785,10 @@ "@stdlib/math-base-special-pow" "^0.0.x" "@stdlib/math-base-special-sin" "^0.0.x" -"@stdlib/math-base-special-gamma1pm1@^0.0.x": - "integrity" "sha512-MAyGncYTJjdSAUCjezMq9ah+hEc4A3yiyTmBMtJ60xkFzRiMOgI+KZV8Yb3brtRWtMayGmRsarqbroXeAnzJKQ==" - "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-gamma1pm1/-/math-base-special-gamma1pm1-0.0.6.tgz" - "version" "0.0.6" - dependencies: - "@stdlib/constants-float64-eps" "^0.0.x" - "@stdlib/math-base-assert-is-nan" "^0.0.x" - "@stdlib/math-base-special-expm1" "^0.0.x" - "@stdlib/math-base-special-gamma" "^0.0.x" - "@stdlib/math-base-special-ln" "^0.0.x" - "@stdlib/math-base-special-log1p" "^0.0.x" - "@stdlib/math-base-special-gammainc@^0.0.6": - "integrity" "sha512-KZ5Fz/DVyTTeuEckXxU6OKouAzjEHPBTIyDi8ttoeYV1CEtaBkdI/7azrw/27lPrxFGChX9+T7b5bInyBoCSeg==" - "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-gammainc/-/math-base-special-gammainc-0.0.6.tgz" - "version" "0.0.6" + version "0.0.6" + resolved "https://registry.npmjs.org/@stdlib/math-base-special-gammainc/-/math-base-special-gammainc-0.0.6.tgz" + integrity sha512-KZ5Fz/DVyTTeuEckXxU6OKouAzjEHPBTIyDi8ttoeYV1CEtaBkdI/7azrw/27lPrxFGChX9+T7b5bInyBoCSeg== dependencies: "@stdlib/constants-float64-e" "^0.0.x" "@stdlib/constants-float64-gamma-lanczos-g" "^0.0.x" @@ -1829,9 +1820,9 @@ "@stdlib/math-base-tools-sum-series" "^0.0.x" "@stdlib/math-base-special-gammaln@^0.0.x": - "integrity" "sha512-qrFAPEcwHcTsDBUJkqDY5VmhW6NU8UcN7n14zo1SO/cguks8bmFRe7kqxmKMzy5xI2Xff/NmgYpLcAIc+gC9Hw==" - "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-gammaln/-/math-base-special-gammaln-0.0.6.tgz" - "version" "0.0.6" + version "0.0.6" + resolved "https://registry.npmjs.org/@stdlib/math-base-special-gammaln/-/math-base-special-gammaln-0.0.6.tgz" + integrity sha512-qrFAPEcwHcTsDBUJkqDY5VmhW6NU8UcN7n14zo1SO/cguks8bmFRe7kqxmKMzy5xI2Xff/NmgYpLcAIc+gC9Hw== dependencies: "@stdlib/constants-float64-pi" "^0.0.x" "@stdlib/constants-float64-pinf" "^0.0.x" @@ -1843,19 +1834,19 @@ "@stdlib/math-base-special-trunc" "^0.0.x" "@stdlib/math-base-special-kernel-cos@^0.0.x": - "integrity" "sha512-u3u7xKJtEjfYMSVokJuX+09wNqLpVEaSnHTDVyWl2zkUzHVt0hZ/okd1T7hTZ444pIA10d9niI3OWXWiYryBrw==" - "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-kernel-cos/-/math-base-special-kernel-cos-0.0.7.tgz" - "version" "0.0.7" + version "0.0.7" + resolved "https://registry.npmjs.org/@stdlib/math-base-special-kernel-cos/-/math-base-special-kernel-cos-0.0.7.tgz" + integrity sha512-u3u7xKJtEjfYMSVokJuX+09wNqLpVEaSnHTDVyWl2zkUzHVt0hZ/okd1T7hTZ444pIA10d9niI3OWXWiYryBrw== "@stdlib/math-base-special-kernel-sin@^0.0.x": - "integrity" "sha512-fhTxDb9klS2F4an7W7iyDcc2Nh/MzE7U4dAtxsVXviHiVNYc///wPkg9hHXqYe/c6q7FxnanXCGW9FOTWfhe/Q==" - "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-kernel-sin/-/math-base-special-kernel-sin-0.0.7.tgz" - "version" "0.0.7" + version "0.0.7" + resolved "https://registry.npmjs.org/@stdlib/math-base-special-kernel-sin/-/math-base-special-kernel-sin-0.0.7.tgz" + integrity sha512-fhTxDb9klS2F4an7W7iyDcc2Nh/MzE7U4dAtxsVXviHiVNYc///wPkg9hHXqYe/c6q7FxnanXCGW9FOTWfhe/Q== "@stdlib/math-base-special-ldexp@^0.0.x": - "integrity" "sha512-VTzu2kdgzQT3ebHGtCegKDpTA3RtsUVhb7V3IjAu/dHFLlXPXh5MEuxK/gV4vCpGBW0MKPTO73vwBjo6RT4xUg==" - "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-ldexp/-/math-base-special-ldexp-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/math-base-special-ldexp/-/math-base-special-ldexp-0.0.8.tgz" + integrity sha512-VTzu2kdgzQT3ebHGtCegKDpTA3RtsUVhb7V3IjAu/dHFLlXPXh5MEuxK/gV4vCpGBW0MKPTO73vwBjo6RT4xUg== dependencies: "@stdlib/constants-float64-exponent-bias" "^0.0.x" "@stdlib/constants-float64-max-base2-exponent" "^0.0.x" @@ -1872,9 +1863,9 @@ "@stdlib/number-float64-base-to-words" "^0.0.x" "@stdlib/math-base-special-ln@^0.0.x": - "integrity" "sha512-WswUUVL/PLCglfp8yDD1CjkaEofzaNkDnTkQgCEMFuEqlKQEeMS3D8Z5skThILZtT/EF6YupmBezQKXTEqTFiQ==" - "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-ln/-/math-base-special-ln-0.0.6.tgz" - "version" "0.0.6" + version "0.0.6" + resolved "https://registry.npmjs.org/@stdlib/math-base-special-ln/-/math-base-special-ln-0.0.6.tgz" + integrity sha512-WswUUVL/PLCglfp8yDD1CjkaEofzaNkDnTkQgCEMFuEqlKQEeMS3D8Z5skThILZtT/EF6YupmBezQKXTEqTFiQ== dependencies: "@stdlib/constants-float64-exponent-bias" "^0.0.x" "@stdlib/constants-float64-ninf" "^0.0.x" @@ -1883,9 +1874,9 @@ "@stdlib/number-float64-base-set-high-word" "^0.0.x" "@stdlib/math-base-special-log1p@^0.0.x": - "integrity" "sha512-/azhtpBdJ2DJBRunAyPe/+Hr2YhWh21WJ7Lytc/uxaUvHCLVjPRZBjZW3lcjpweHIECd1+m4jBb2RYYqHGWjfQ==" - "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-log1p/-/math-base-special-log1p-0.0.6.tgz" - "version" "0.0.6" + version "0.0.6" + resolved "https://registry.npmjs.org/@stdlib/math-base-special-log1p/-/math-base-special-log1p-0.0.6.tgz" + integrity sha512-/azhtpBdJ2DJBRunAyPe/+Hr2YhWh21WJ7Lytc/uxaUvHCLVjPRZBjZW3lcjpweHIECd1+m4jBb2RYYqHGWjfQ== dependencies: "@stdlib/constants-float64-exponent-bias" "^0.0.x" "@stdlib/constants-float64-ninf" "^0.0.x" @@ -1895,9 +1886,9 @@ "@stdlib/number-float64-base-set-high-word" "^0.0.x" "@stdlib/math-base-special-max@^0.0.x": - "integrity" "sha512-BCvHfLflabBPBv7Ueoe48AmdDZLsp0eOfwkA84+WHvr/MthXUf6Ptz6GqDkEjKNQNMN+reSluyq3uCB2HLrr3Q==" - "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-max/-/math-base-special-max-0.0.7.tgz" - "version" "0.0.7" + version "0.0.7" + resolved "https://registry.npmjs.org/@stdlib/math-base-special-max/-/math-base-special-max-0.0.7.tgz" + integrity sha512-BCvHfLflabBPBv7Ueoe48AmdDZLsp0eOfwkA84+WHvr/MthXUf6Ptz6GqDkEjKNQNMN+reSluyq3uCB2HLrr3Q== dependencies: "@stdlib/constants-float64-ninf" "^0.0.x" "@stdlib/constants-float64-pinf" "^0.0.x" @@ -1905,9 +1896,9 @@ "@stdlib/math-base-assert-is-positive-zero" "^0.0.x" "@stdlib/math-base-special-min@^0.0.x": - "integrity" "sha512-xaQeSHElt75MkOhqQ+6TWjbf5I5PmlnGyWY5QZRdrr9YWuWsOVuxW75VPHwNFQ1YmnD5d6TtB6pbCE9FKEBzQA==" - "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-min/-/math-base-special-min-0.0.7.tgz" - "version" "0.0.7" + version "0.0.7" + resolved "https://registry.npmjs.org/@stdlib/math-base-special-min/-/math-base-special-min-0.0.7.tgz" + integrity sha512-xaQeSHElt75MkOhqQ+6TWjbf5I5PmlnGyWY5QZRdrr9YWuWsOVuxW75VPHwNFQ1YmnD5d6TtB6pbCE9FKEBzQA== dependencies: "@stdlib/constants-float64-ninf" "^0.0.x" "@stdlib/constants-float64-pinf" "^0.0.x" @@ -1915,9 +1906,9 @@ "@stdlib/math-base-assert-is-negative-zero" "^0.0.x" "@stdlib/math-base-special-pow@^0.0.x": - "integrity" "sha512-sOew6OWapY6uesIg/i4eOveORzE0MfA7XtFcNgkpdsLJ4A4AkSZTz4zMmDxX2C22vI30aHR47O2ro3UZHFWCzw==" - "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-pow/-/math-base-special-pow-0.0.7.tgz" - "version" "0.0.7" + version "0.0.7" + resolved "https://registry.npmjs.org/@stdlib/math-base-special-pow/-/math-base-special-pow-0.0.7.tgz" + integrity sha512-sOew6OWapY6uesIg/i4eOveORzE0MfA7XtFcNgkpdsLJ4A4AkSZTz4zMmDxX2C22vI30aHR47O2ro3UZHFWCzw== dependencies: "@stdlib/constants-float64-exponent-bias" "^0.0.x" "@stdlib/constants-float64-high-word-abs-mask" "^0.0.x" @@ -1940,9 +1931,9 @@ "@stdlib/number-uint32-base-to-int32" "^0.0.x" "@stdlib/math-base-special-powm1@^0.0.x": - "integrity" "sha512-cOfqg4QXRcgra/uv0azCwQArsl9+KOQo5YQoLGOWc7IVHibVW3s2DPXLh1JaEAeSu+/H1W9/970O6Uo86TwGgQ==" - "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-powm1/-/math-base-special-powm1-0.0.6.tgz" - "version" "0.0.6" + version "0.0.6" + resolved "https://registry.npmjs.org/@stdlib/math-base-special-powm1/-/math-base-special-powm1-0.0.6.tgz" + integrity sha512-cOfqg4QXRcgra/uv0azCwQArsl9+KOQo5YQoLGOWc7IVHibVW3s2DPXLh1JaEAeSu+/H1W9/970O6Uo86TwGgQ== dependencies: "@stdlib/math-base-assert-is-nan" "^0.0.x" "@stdlib/math-base-special-abs" "^0.0.x" @@ -1952,9 +1943,9 @@ "@stdlib/math-base-special-trunc" "^0.0.x" "@stdlib/math-base-special-rempio2@^0.0.x": - "integrity" "sha512-0cSuSZwkTiPWxDdIZggyNdp3WSPqmY/oWd0tEZ47gpg3rIOwShiq0wyncX6v1MVEMJeSg5M9rhxb8WZlgD6RWw==" - "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-rempio2/-/math-base-special-rempio2-0.0.6.tgz" - "version" "0.0.6" + version "0.0.6" + resolved "https://registry.npmjs.org/@stdlib/math-base-special-rempio2/-/math-base-special-rempio2-0.0.6.tgz" + integrity sha512-0cSuSZwkTiPWxDdIZggyNdp3WSPqmY/oWd0tEZ47gpg3rIOwShiq0wyncX6v1MVEMJeSg5M9rhxb8WZlgD6RWw== dependencies: "@stdlib/array-base-zeros" "^0.0.x" "@stdlib/math-base-special-floor" "^0.0.x" @@ -1966,14 +1957,14 @@ "@stdlib/types" "^0.0.x" "@stdlib/math-base-special-round@^0.0.x": - "integrity" "sha512-uFPWDru18ouUFD5/TQzm3fNzds/IlQbpQXjUBjIDpxN9PizneZLZSNNYg6ECq+FQv8WK1CQmyj10bu2zLReqGQ==" - "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-round/-/math-base-special-round-0.0.7.tgz" - "version" "0.0.7" + version "0.0.7" + resolved "https://registry.npmjs.org/@stdlib/math-base-special-round/-/math-base-special-round-0.0.7.tgz" + integrity sha512-uFPWDru18ouUFD5/TQzm3fNzds/IlQbpQXjUBjIDpxN9PizneZLZSNNYg6ECq+FQv8WK1CQmyj10bu2zLReqGQ== "@stdlib/math-base-special-sin@^0.0.x": - "integrity" "sha512-gymfzwJ/ROkLDWD/gBIjFDjsWweXgH7zV24qlsQ/z4XUG2jET9yFqzO5wIFnMzrQsTcRGkiXb9Q69pIoGxx1ww==" - "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-sin/-/math-base-special-sin-0.0.6.tgz" - "version" "0.0.6" + version "0.0.6" + resolved "https://registry.npmjs.org/@stdlib/math-base-special-sin/-/math-base-special-sin-0.0.6.tgz" + integrity sha512-gymfzwJ/ROkLDWD/gBIjFDjsWweXgH7zV24qlsQ/z4XUG2jET9yFqzO5wIFnMzrQsTcRGkiXb9Q69pIoGxx1ww== dependencies: "@stdlib/math-base-special-kernel-cos" "^0.0.x" "@stdlib/math-base-special-kernel-sin" "^0.0.x" @@ -1981,9 +1972,9 @@ "@stdlib/number-float64-base-get-high-word" "^0.0.x" "@stdlib/math-base-special-sinpi@^0.0.x": - "integrity" "sha512-g1uvvnolfkqJTozdrm/OtxEaTpz2nDwe9PeT/M1zm/J+MR6V9paoJCUAz4MfAwsz6VKRgA5FH+8BkCIsItl0Mg==" - "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-sinpi/-/math-base-special-sinpi-0.0.6.tgz" - "version" "0.0.6" + version "0.0.6" + resolved "https://registry.npmjs.org/@stdlib/math-base-special-sinpi/-/math-base-special-sinpi-0.0.6.tgz" + integrity sha512-g1uvvnolfkqJTozdrm/OtxEaTpz2nDwe9PeT/M1zm/J+MR6V9paoJCUAz4MfAwsz6VKRgA5FH+8BkCIsItl0Mg== dependencies: "@stdlib/constants-float64-pi" "^0.0.x" "@stdlib/math-base-assert-is-infinite" "^0.0.x" @@ -1994,17 +1985,17 @@ "@stdlib/math-base-special-sin" "^0.0.x" "@stdlib/math-base-special-sqrt@^0.0.x": - "integrity" "sha512-obYr15u/c76VEeAAXhvyUgVsxJb357CTgerLoFJqMj0diKXdjisLIWSlU+UZHKerYH9gnzZPN24gwwaTLJDmaw==" - "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-sqrt/-/math-base-special-sqrt-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/math-base-special-sqrt/-/math-base-special-sqrt-0.0.8.tgz" + integrity sha512-obYr15u/c76VEeAAXhvyUgVsxJb357CTgerLoFJqMj0diKXdjisLIWSlU+UZHKerYH9gnzZPN24gwwaTLJDmaw== dependencies: "@stdlib/math-base-napi-unary" "^0.0.x" "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/math-base-special-trunc@^0.0.x": - "integrity" "sha512-nSio+gKcZARQWH9a/mKYPjT5v1uNW2PztaToGY2Qt53ij8iWx4cNEBgR3J9ewXgAuoPTjJ0eHcfc6JeyFlBITQ==" - "resolved" "https://registry.npmjs.org/@stdlib/math-base-special-trunc/-/math-base-special-trunc-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/math-base-special-trunc/-/math-base-special-trunc-0.0.8.tgz" + integrity sha512-nSio+gKcZARQWH9a/mKYPjT5v1uNW2PztaToGY2Qt53ij8iWx4cNEBgR3J9ewXgAuoPTjJ0eHcfc6JeyFlBITQ== dependencies: "@stdlib/math-base-napi-unary" "^0.0.x" "@stdlib/math-base-special-ceil" "^0.0.x" @@ -2012,9 +2003,9 @@ "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/math-base-tools-continued-fraction@^0.0.x": - "integrity" "sha512-eKIZIbkS5glfPIzPsK7037EPNsLPxm7lG2Eww0TmV+kvCXsDMpus4wUpJv0g1QbjVAXQizyBky8izbWk3ChlUw==" - "resolved" "https://registry.npmjs.org/@stdlib/math-base-tools-continued-fraction/-/math-base-tools-continued-fraction-0.0.6.tgz" - "version" "0.0.6" + version "0.0.6" + resolved "https://registry.npmjs.org/@stdlib/math-base-tools-continued-fraction/-/math-base-tools-continued-fraction-0.0.6.tgz" + integrity sha512-eKIZIbkS5glfPIzPsK7037EPNsLPxm7lG2Eww0TmV+kvCXsDMpus4wUpJv0g1QbjVAXQizyBky8izbWk3ChlUw== dependencies: "@stdlib/assert-has-generator-support" "^0.0.x" "@stdlib/constants-float32-smallest-normal" "^0.0.x" @@ -2023,16 +2014,16 @@ "@stdlib/types" "^0.0.x" "@stdlib/math-base-tools-evalpoly@^0.0.x": - "integrity" "sha512-Ktc3h4nr6V2I++vUQ1lbuONwoI7BccLeYbqXsu9PhUfNZsgzK4z4mc1GPpVGkKk21352DJLJC2rC4/O7wPo17g==" - "resolved" "https://registry.npmjs.org/@stdlib/math-base-tools-evalpoly/-/math-base-tools-evalpoly-0.0.7.tgz" - "version" "0.0.7" + version "0.0.7" + resolved "https://registry.npmjs.org/@stdlib/math-base-tools-evalpoly/-/math-base-tools-evalpoly-0.0.7.tgz" + integrity sha512-Ktc3h4nr6V2I++vUQ1lbuONwoI7BccLeYbqXsu9PhUfNZsgzK4z4mc1GPpVGkKk21352DJLJC2rC4/O7wPo17g== dependencies: "@stdlib/utils-define-nonenumerable-read-only-property" "^0.0.x" "@stdlib/math-base-tools-sum-series@^0.0.x": - "integrity" "sha512-9YT53LEPPC9Us2wRbGWzoCgm/U7NyXgubgmioIJ16hwwj5X69dYgOppzGGgq4/VJsgVMRLJH3sSu/51joWDjfg==" - "resolved" "https://registry.npmjs.org/@stdlib/math-base-tools-sum-series/-/math-base-tools-sum-series-0.0.6.tgz" - "version" "0.0.6" + version "0.0.6" + resolved "https://registry.npmjs.org/@stdlib/math-base-tools-sum-series/-/math-base-tools-sum-series-0.0.6.tgz" + integrity sha512-9YT53LEPPC9Us2wRbGWzoCgm/U7NyXgubgmioIJ16hwwj5X69dYgOppzGGgq4/VJsgVMRLJH3sSu/51joWDjfg== dependencies: "@stdlib/assert-has-generator-support" "^0.0.x" "@stdlib/constants-float64-eps" "^0.0.x" @@ -2040,23 +2031,23 @@ "@stdlib/types" "^0.0.x" "@stdlib/number-ctor@^0.0.x": - "integrity" "sha512-kXNwKIfnb10Ro3RTclhAYqbE3DtIXax+qpu0z1/tZpI2vkmTfYDQLno2QJrzJsZZgdeFtXIws+edONN9kM34ow==" - "resolved" "https://registry.npmjs.org/@stdlib/number-ctor/-/number-ctor-0.0.7.tgz" - "version" "0.0.7" + version "0.0.7" + resolved "https://registry.npmjs.org/@stdlib/number-ctor/-/number-ctor-0.0.7.tgz" + integrity sha512-kXNwKIfnb10Ro3RTclhAYqbE3DtIXax+qpu0z1/tZpI2vkmTfYDQLno2QJrzJsZZgdeFtXIws+edONN9kM34ow== "@stdlib/number-float64-base-exponent@^0.0.x": - "integrity" "sha512-wLXsG+cvynmapoffmj5hVNDH7BuHIGspBcTCdjPaD+tnqPDIm03qV5Z9YBhDh91BdOCuPZQ8Ovu2WBpX+ySeGg==" - "resolved" "https://registry.npmjs.org/@stdlib/number-float64-base-exponent/-/number-float64-base-exponent-0.0.6.tgz" - "version" "0.0.6" + version "0.0.6" + resolved "https://registry.npmjs.org/@stdlib/number-float64-base-exponent/-/number-float64-base-exponent-0.0.6.tgz" + integrity sha512-wLXsG+cvynmapoffmj5hVNDH7BuHIGspBcTCdjPaD+tnqPDIm03qV5Z9YBhDh91BdOCuPZQ8Ovu2WBpX+ySeGg== dependencies: "@stdlib/constants-float64-exponent-bias" "^0.0.x" "@stdlib/constants-float64-high-word-exponent-mask" "^0.0.x" "@stdlib/number-float64-base-get-high-word" "^0.0.x" "@stdlib/number-float64-base-from-words@^0.0.x": - "integrity" "sha512-r0elnekypCN831aw9Gp8+08br8HHAqvqtc5uXaxEh3QYIgBD/QM5qSb3b7WSAQ0ZxJJKdoykupODWWBkWQTijg==" - "resolved" "https://registry.npmjs.org/@stdlib/number-float64-base-from-words/-/number-float64-base-from-words-0.0.6.tgz" - "version" "0.0.6" + version "0.0.6" + resolved "https://registry.npmjs.org/@stdlib/number-float64-base-from-words/-/number-float64-base-from-words-0.0.6.tgz" + integrity sha512-r0elnekypCN831aw9Gp8+08br8HHAqvqtc5uXaxEh3QYIgBD/QM5qSb3b7WSAQ0ZxJJKdoykupODWWBkWQTijg== dependencies: "@stdlib/array-float64" "^0.0.x" "@stdlib/array-uint32" "^0.0.x" @@ -2065,9 +2056,9 @@ "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/number-float64-base-get-high-word@^0.0.x": - "integrity" "sha512-jSFSYkgiG/IzDurbwrDKtWiaZeSEJK8iJIsNtbPG1vOIdQMRyw+t0bf3Kf3vuJu/+bnSTvYZLqpCO6wzT/ve9g==" - "resolved" "https://registry.npmjs.org/@stdlib/number-float64-base-get-high-word/-/number-float64-base-get-high-word-0.0.6.tgz" - "version" "0.0.6" + version "0.0.6" + resolved "https://registry.npmjs.org/@stdlib/number-float64-base-get-high-word/-/number-float64-base-get-high-word-0.0.6.tgz" + integrity sha512-jSFSYkgiG/IzDurbwrDKtWiaZeSEJK8iJIsNtbPG1vOIdQMRyw+t0bf3Kf3vuJu/+bnSTvYZLqpCO6wzT/ve9g== dependencies: "@stdlib/array-float64" "^0.0.x" "@stdlib/array-uint32" "^0.0.x" @@ -2076,9 +2067,9 @@ "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/number-float64-base-get-low-word@^0.0.x": - "integrity" "sha512-N2h2QuhmuEA/TOq6W/B1oAHesX5IYtH46Fvo/tLzlodSsFq292kKWGlq9N6AhlVVIJOGibBQN+EHrAPGcNn2wA==" - "resolved" "https://registry.npmjs.org/@stdlib/number-float64-base-get-low-word/-/number-float64-base-get-low-word-0.0.6.tgz" - "version" "0.0.6" + version "0.0.6" + resolved "https://registry.npmjs.org/@stdlib/number-float64-base-get-low-word/-/number-float64-base-get-low-word-0.0.6.tgz" + integrity sha512-N2h2QuhmuEA/TOq6W/B1oAHesX5IYtH46Fvo/tLzlodSsFq292kKWGlq9N6AhlVVIJOGibBQN+EHrAPGcNn2wA== dependencies: "@stdlib/array-float64" "^0.0.x" "@stdlib/array-uint32" "^0.0.x" @@ -2087,9 +2078,9 @@ "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/number-float64-base-normalize@^0.0.x": - "integrity" "sha512-+rm7RQJEj8zHkqYFE2a6DgNQSB5oKE/IydHAajgZl40YB91BoYRYf/ozs5/tTwfy2Fc04+tIpSfFtzDr4ZY19Q==" - "resolved" "https://registry.npmjs.org/@stdlib/number-float64-base-normalize/-/number-float64-base-normalize-0.0.9.tgz" - "version" "0.0.9" + version "0.0.9" + resolved "https://registry.npmjs.org/@stdlib/number-float64-base-normalize/-/number-float64-base-normalize-0.0.9.tgz" + integrity sha512-+rm7RQJEj8zHkqYFE2a6DgNQSB5oKE/IydHAajgZl40YB91BoYRYf/ozs5/tTwfy2Fc04+tIpSfFtzDr4ZY19Q== dependencies: "@stdlib/constants-float64-smallest-normal" "^0.0.x" "@stdlib/math-base-assert-is-infinite" "^0.0.x" @@ -2100,9 +2091,9 @@ "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/number-float64-base-set-high-word@^0.0.x": - "integrity" "sha512-Hqds3oALktHGDV5fNRjjwGBnb1ydOhQFrglRXrsAtJojq8KzIAQVGtYkkFtfmG+xadPNIW+PI95OBK3SgIoQDA==" - "resolved" "https://registry.npmjs.org/@stdlib/number-float64-base-set-high-word/-/number-float64-base-set-high-word-0.0.6.tgz" - "version" "0.0.6" + version "0.0.6" + resolved "https://registry.npmjs.org/@stdlib/number-float64-base-set-high-word/-/number-float64-base-set-high-word-0.0.6.tgz" + integrity sha512-Hqds3oALktHGDV5fNRjjwGBnb1ydOhQFrglRXrsAtJojq8KzIAQVGtYkkFtfmG+xadPNIW+PI95OBK3SgIoQDA== dependencies: "@stdlib/array-float64" "^0.0.x" "@stdlib/array-uint32" "^0.0.x" @@ -2111,9 +2102,9 @@ "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/number-float64-base-set-low-word@^0.0.x": - "integrity" "sha512-8CMrWsL93rHELNAcKstKQpGH2XVIELm7BSut3ye0Ffa3ATTxuOfn2zXzS7yvlu/Lqi/47h5prpjRNsKQuLpp2Q==" - "resolved" "https://registry.npmjs.org/@stdlib/number-float64-base-set-low-word/-/number-float64-base-set-low-word-0.0.6.tgz" - "version" "0.0.6" + version "0.0.6" + resolved "https://registry.npmjs.org/@stdlib/number-float64-base-set-low-word/-/number-float64-base-set-low-word-0.0.6.tgz" + integrity sha512-8CMrWsL93rHELNAcKstKQpGH2XVIELm7BSut3ye0Ffa3ATTxuOfn2zXzS7yvlu/Lqi/47h5prpjRNsKQuLpp2Q== dependencies: "@stdlib/array-float64" "^0.0.x" "@stdlib/array-uint32" "^0.0.x" @@ -2122,16 +2113,16 @@ "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/number-float64-base-to-float32@^0.0.x": - "integrity" "sha512-PNUSi6+cqfFiu4vgFljUKMFY2O9PxI6+T+vqtIoh8cflf+PjSGj3v4QIlstK9+6qU40eGR5SHZyLTWdzmNqLTQ==" - "resolved" "https://registry.npmjs.org/@stdlib/number-float64-base-to-float32/-/number-float64-base-to-float32-0.0.7.tgz" - "version" "0.0.7" + version "0.0.7" + resolved "https://registry.npmjs.org/@stdlib/number-float64-base-to-float32/-/number-float64-base-to-float32-0.0.7.tgz" + integrity sha512-PNUSi6+cqfFiu4vgFljUKMFY2O9PxI6+T+vqtIoh8cflf+PjSGj3v4QIlstK9+6qU40eGR5SHZyLTWdzmNqLTQ== dependencies: "@stdlib/array-float32" "^0.0.x" "@stdlib/number-float64-base-to-words@^0.0.x": - "integrity" "sha512-7wsYuq+2MGp9rAkTnQ985rah7EJI9TfgHrYSSd4UIu4qIjoYmWIKEhIDgu7/69PfGrls18C3PxKg1pD/v7DQTg==" - "resolved" "https://registry.npmjs.org/@stdlib/number-float64-base-to-words/-/number-float64-base-to-words-0.0.7.tgz" - "version" "0.0.7" + version "0.0.7" + resolved "https://registry.npmjs.org/@stdlib/number-float64-base-to-words/-/number-float64-base-to-words-0.0.7.tgz" + integrity sha512-7wsYuq+2MGp9rAkTnQ985rah7EJI9TfgHrYSSd4UIu4qIjoYmWIKEhIDgu7/69PfGrls18C3PxKg1pD/v7DQTg== dependencies: "@stdlib/array-float64" "^0.0.x" "@stdlib/array-uint32" "^0.0.x" @@ -2143,14 +2134,14 @@ "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/number-uint32-base-to-int32@^0.0.x": - "integrity" "sha512-KoDNJFtd/lzQQPR6HB3TPiC9DgQGXkBKHYeiYZVUaCW4uGu2IM5KtVOnnI2wkXPGQYpSuUiU9MGf9EywY+YHcA==" - "resolved" "https://registry.npmjs.org/@stdlib/number-uint32-base-to-int32/-/number-uint32-base-to-int32-0.0.7.tgz" - "version" "0.0.7" + version "0.0.7" + resolved "https://registry.npmjs.org/@stdlib/number-uint32-base-to-int32/-/number-uint32-base-to-int32-0.0.7.tgz" + integrity sha512-KoDNJFtd/lzQQPR6HB3TPiC9DgQGXkBKHYeiYZVUaCW4uGu2IM5KtVOnnI2wkXPGQYpSuUiU9MGf9EywY+YHcA== "@stdlib/os-byte-order@^0.0.x": - "integrity" "sha512-rRJWjFM9lOSBiIX4zcay7BZsqYBLoE32Oz/Qfim8cv1cN1viS5D4d3DskRJcffw7zXDnG3oZAOw5yZS0FnlyUg==" - "resolved" "https://registry.npmjs.org/@stdlib/os-byte-order/-/os-byte-order-0.0.7.tgz" - "version" "0.0.7" + version "0.0.7" + resolved "https://registry.npmjs.org/@stdlib/os-byte-order/-/os-byte-order-0.0.7.tgz" + integrity sha512-rRJWjFM9lOSBiIX4zcay7BZsqYBLoE32Oz/Qfim8cv1cN1viS5D4d3DskRJcffw7zXDnG3oZAOw5yZS0FnlyUg== dependencies: "@stdlib/assert-is-big-endian" "^0.0.x" "@stdlib/assert-is-little-endian" "^0.0.x" @@ -2159,9 +2150,9 @@ "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/os-float-word-order@^0.0.x": - "integrity" "sha512-gXIcIZf+ENKP7E41bKflfXmPi+AIfjXW/oU+m8NbP3DQasqHaZa0z5758qvnbO8L1lRJb/MzLOkIY8Bx/0cWEA==" - "resolved" "https://registry.npmjs.org/@stdlib/os-float-word-order/-/os-float-word-order-0.0.7.tgz" - "version" "0.0.7" + version "0.0.7" + resolved "https://registry.npmjs.org/@stdlib/os-float-word-order/-/os-float-word-order-0.0.7.tgz" + integrity sha512-gXIcIZf+ENKP7E41bKflfXmPi+AIfjXW/oU+m8NbP3DQasqHaZa0z5758qvnbO8L1lRJb/MzLOkIY8Bx/0cWEA== dependencies: "@stdlib/cli-ctor" "^0.0.x" "@stdlib/fs-read-file" "^0.0.x" @@ -2169,17 +2160,17 @@ "@stdlib/utils-library-manifest" "^0.0.x" "@stdlib/process-cwd@^0.0.x": - "integrity" "sha512-GHINpJgSlKEo9ODDWTHp0/Zc/9C/qL92h5Mc0QlIFBXAoUjy6xT4FB2U16wCNZMG3eVOzt5+SjmCwvGH0Wbg3Q==" - "resolved" "https://registry.npmjs.org/@stdlib/process-cwd/-/process-cwd-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/process-cwd/-/process-cwd-0.0.8.tgz" + integrity sha512-GHINpJgSlKEo9ODDWTHp0/Zc/9C/qL92h5Mc0QlIFBXAoUjy6xT4FB2U16wCNZMG3eVOzt5+SjmCwvGH0Wbg3Q== dependencies: "@stdlib/cli-ctor" "^0.0.x" "@stdlib/fs-read-file" "^0.0.x" "@stdlib/process-read-stdin@^0.0.x": - "integrity" "sha512-nep9QZ5iDGrRtrZM2+pYAvyCiYG4HfO0/9+19BiLJepjgYq4GKeumPAQo22+1xawYDL7Zu62uWzYszaVZcXuyw==" - "resolved" "https://registry.npmjs.org/@stdlib/process-read-stdin/-/process-read-stdin-0.0.7.tgz" - "version" "0.0.7" + version "0.0.7" + resolved "https://registry.npmjs.org/@stdlib/process-read-stdin/-/process-read-stdin-0.0.7.tgz" + integrity sha512-nep9QZ5iDGrRtrZM2+pYAvyCiYG4HfO0/9+19BiLJepjgYq4GKeumPAQo22+1xawYDL7Zu62uWzYszaVZcXuyw== dependencies: "@stdlib/assert-is-function" "^0.0.x" "@stdlib/assert-is-string" "^0.0.x" @@ -2189,9 +2180,9 @@ "@stdlib/utils-next-tick" "^0.0.x" "@stdlib/regexp-eol@^0.0.x": - "integrity" "sha512-BTMpRWrmlnf1XCdTxOrb8o6caO2lmu/c80XSyhYCi1DoizVIZnqxOaN5yUJNCr50g28vQ47PpsT3Yo7J3SdlRA==" - "resolved" "https://registry.npmjs.org/@stdlib/regexp-eol/-/regexp-eol-0.0.7.tgz" - "version" "0.0.7" + version "0.0.7" + resolved "https://registry.npmjs.org/@stdlib/regexp-eol/-/regexp-eol-0.0.7.tgz" + integrity sha512-BTMpRWrmlnf1XCdTxOrb8o6caO2lmu/c80XSyhYCi1DoizVIZnqxOaN5yUJNCr50g28vQ47PpsT3Yo7J3SdlRA== dependencies: "@stdlib/assert-has-own-property" "^0.0.x" "@stdlib/assert-is-boolean" "^0.0.x" @@ -2200,53 +2191,53 @@ "@stdlib/utils-define-nonenumerable-read-only-property" "^0.0.x" "@stdlib/regexp-extended-length-path@^0.0.x": - "integrity" "sha512-z6uqzMWq3WPDKbl4MIZJoNA5ZsYLQI9G3j2TIvhU8X2hnhlku8p4mvK9F+QmoVvgPxKliwNnx/DAl7ltutSDKw==" - "resolved" "https://registry.npmjs.org/@stdlib/regexp-extended-length-path/-/regexp-extended-length-path-0.0.7.tgz" - "version" "0.0.7" + version "0.0.7" + resolved "https://registry.npmjs.org/@stdlib/regexp-extended-length-path/-/regexp-extended-length-path-0.0.7.tgz" + integrity sha512-z6uqzMWq3WPDKbl4MIZJoNA5ZsYLQI9G3j2TIvhU8X2hnhlku8p4mvK9F+QmoVvgPxKliwNnx/DAl7ltutSDKw== dependencies: "@stdlib/utils-define-nonenumerable-read-only-property" "^0.0.x" "@stdlib/regexp-function-name@^0.0.x": - "integrity" "sha512-MaiyFUUqkAUpUoz/9F6AMBuMQQfA9ssQfK16PugehLQh4ZtOXV1LhdY8e5Md7SuYl9IrvFVg1gSAVDysrv5ZMg==" - "resolved" "https://registry.npmjs.org/@stdlib/regexp-function-name/-/regexp-function-name-0.0.7.tgz" - "version" "0.0.7" + version "0.0.7" + resolved "https://registry.npmjs.org/@stdlib/regexp-function-name/-/regexp-function-name-0.0.7.tgz" + integrity sha512-MaiyFUUqkAUpUoz/9F6AMBuMQQfA9ssQfK16PugehLQh4ZtOXV1LhdY8e5Md7SuYl9IrvFVg1gSAVDysrv5ZMg== dependencies: "@stdlib/utils-define-nonenumerable-read-only-property" "^0.0.x" "@stdlib/regexp-regexp@^0.0.x": - "integrity" "sha512-S5PZICPd/XRcn1dncVojxIDzJsHtEleuJHHD7ji3o981uPHR7zI2Iy9a1eV2u7+ABeUswbI1Yuix6fXJfcwV1w==" - "resolved" "https://registry.npmjs.org/@stdlib/regexp-regexp/-/regexp-regexp-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/regexp-regexp/-/regexp-regexp-0.0.8.tgz" + integrity sha512-S5PZICPd/XRcn1dncVojxIDzJsHtEleuJHHD7ji3o981uPHR7zI2Iy9a1eV2u7+ABeUswbI1Yuix6fXJfcwV1w== dependencies: "@stdlib/utils-define-nonenumerable-read-only-property" "^0.0.x" "@stdlib/streams-node-stdin@^0.0.x": - "integrity" "sha512-gg4lgrjuoG3V/L29wNs32uADMCqepIcmoOFHJCTAhVe0GtHDLybUVnLljaPfdvmpPZmTvmusPQtIcscbyWvAyg==" - "resolved" "https://registry.npmjs.org/@stdlib/streams-node-stdin/-/streams-node-stdin-0.0.7.tgz" - "version" "0.0.7" + version "0.0.7" + resolved "https://registry.npmjs.org/@stdlib/streams-node-stdin/-/streams-node-stdin-0.0.7.tgz" + integrity sha512-gg4lgrjuoG3V/L29wNs32uADMCqepIcmoOFHJCTAhVe0GtHDLybUVnLljaPfdvmpPZmTvmusPQtIcscbyWvAyg== "@stdlib/string-base-format-interpolate@^0.0.x": - "integrity" "sha512-8FC8+/ey+P5hf1B50oXpXzRzoAgKI1rikpyKZ98Xmjd5rcbSq3NWYi8TqOF8mUHm9hVZ2CXWoNCtEe2wvMQPMg==" - "resolved" "https://registry.npmjs.org/@stdlib/string-base-format-interpolate/-/string-base-format-interpolate-0.0.4.tgz" - "version" "0.0.4" + version "0.0.4" + resolved "https://registry.npmjs.org/@stdlib/string-base-format-interpolate/-/string-base-format-interpolate-0.0.4.tgz" + integrity sha512-8FC8+/ey+P5hf1B50oXpXzRzoAgKI1rikpyKZ98Xmjd5rcbSq3NWYi8TqOF8mUHm9hVZ2CXWoNCtEe2wvMQPMg== "@stdlib/string-base-format-tokenize@^0.0.x": - "integrity" "sha512-+vMIkheqAhDeT/iF5hIQo95IMkt5IzC68eR3CxW1fhc48NMkKFE2UfN73ET8fmLuOanLo/5pO2E90c2G7PExow==" - "resolved" "https://registry.npmjs.org/@stdlib/string-base-format-tokenize/-/string-base-format-tokenize-0.0.4.tgz" - "version" "0.0.4" + version "0.0.4" + resolved "https://registry.npmjs.org/@stdlib/string-base-format-tokenize/-/string-base-format-tokenize-0.0.4.tgz" + integrity sha512-+vMIkheqAhDeT/iF5hIQo95IMkt5IzC68eR3CxW1fhc48NMkKFE2UfN73ET8fmLuOanLo/5pO2E90c2G7PExow== "@stdlib/string-format@^0.0.x": - "integrity" "sha512-1jiElUQXlI/tTkgRuzJi9jUz/EjrO9kzS8VWHD3g7gdc3ZpxlA5G9JrIiPXGw/qmZTi0H1pXl6KmX+xWQEQJAg==" - "resolved" "https://registry.npmjs.org/@stdlib/string-format/-/string-format-0.0.3.tgz" - "version" "0.0.3" + version "0.0.3" + resolved "https://registry.npmjs.org/@stdlib/string-format/-/string-format-0.0.3.tgz" + integrity sha512-1jiElUQXlI/tTkgRuzJi9jUz/EjrO9kzS8VWHD3g7gdc3ZpxlA5G9JrIiPXGw/qmZTi0H1pXl6KmX+xWQEQJAg== dependencies: "@stdlib/string-base-format-interpolate" "^0.0.x" "@stdlib/string-base-format-tokenize" "^0.0.x" "@stdlib/string-lowercase@^0.0.x": - "integrity" "sha512-tXFFjbhIlDak4jbQyV1DhYiSTO8b1ozS2g/LELnsKUjIXECDKxGFyWYcz10KuyAWmFotHnCJdIm8/blm2CfDIA==" - "resolved" "https://registry.npmjs.org/@stdlib/string-lowercase/-/string-lowercase-0.0.9.tgz" - "version" "0.0.9" + version "0.0.9" + resolved "https://registry.npmjs.org/@stdlib/string-lowercase/-/string-lowercase-0.0.9.tgz" + integrity sha512-tXFFjbhIlDak4jbQyV1DhYiSTO8b1ozS2g/LELnsKUjIXECDKxGFyWYcz10KuyAWmFotHnCJdIm8/blm2CfDIA== dependencies: "@stdlib/assert-is-string" "^0.0.x" "@stdlib/cli-ctor" "^0.0.x" @@ -2256,9 +2247,9 @@ "@stdlib/string-format" "^0.0.x" "@stdlib/string-replace@^0.0.x": - "integrity" "sha512-F0MY4f9mRE5MSKpAUfL4HLbJMCbG6iUTtHAWnNeAXIvUX1XYIw/eItkA58R9kNvnr1l5B08bavnjrgTJGIKFFQ==" - "resolved" "https://registry.npmjs.org/@stdlib/string-replace/-/string-replace-0.0.11.tgz" - "version" "0.0.11" + version "0.0.11" + resolved "https://registry.npmjs.org/@stdlib/string-replace/-/string-replace-0.0.11.tgz" + integrity sha512-F0MY4f9mRE5MSKpAUfL4HLbJMCbG6iUTtHAWnNeAXIvUX1XYIw/eItkA58R9kNvnr1l5B08bavnjrgTJGIKFFQ== dependencies: "@stdlib/assert-is-function" "^0.0.x" "@stdlib/assert-is-regexp" "^0.0.x" @@ -2274,23 +2265,23 @@ "@stdlib/utils-regexp-from-string" "^0.0.x" "@stdlib/types@^0.0.x": - "integrity" "sha512-AP3EI9/il/xkwUazcoY+SbjtxHRrheXgSbWZdEGD+rWpEgj6n2i63hp6hTOpAB5NipE0tJwinQlDGOuQ1lCaCw==" - "resolved" "https://registry.npmjs.org/@stdlib/types/-/types-0.0.14.tgz" - "version" "0.0.14" + version "0.0.14" + resolved "https://registry.npmjs.org/@stdlib/types/-/types-0.0.14.tgz" + integrity sha512-AP3EI9/il/xkwUazcoY+SbjtxHRrheXgSbWZdEGD+rWpEgj6n2i63hp6hTOpAB5NipE0tJwinQlDGOuQ1lCaCw== "@stdlib/utils-constructor-name@^0.0.x": - "integrity" "sha512-GXpyNZwjN8u3tyYjL2GgGfrsxwvfogUC3gg7L7NRZ1i86B6xmgfnJUYHYOUnSfB+R531ET7NUZlK52GxL7P82Q==" - "resolved" "https://registry.npmjs.org/@stdlib/utils-constructor-name/-/utils-constructor-name-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/utils-constructor-name/-/utils-constructor-name-0.0.8.tgz" + integrity sha512-GXpyNZwjN8u3tyYjL2GgGfrsxwvfogUC3gg7L7NRZ1i86B6xmgfnJUYHYOUnSfB+R531ET7NUZlK52GxL7P82Q== dependencies: "@stdlib/assert-is-buffer" "^0.0.x" "@stdlib/regexp-function-name" "^0.0.x" "@stdlib/utils-native-class" "^0.0.x" "@stdlib/utils-convert-path@^0.0.x": - "integrity" "sha512-GNd8uIswrcJCctljMbmjtE4P4oOjhoUIfMvdkqfSrRLRY+ZqPB2xM+yI0MQFfUq/0Rnk/xtESlGSVLz9ZDtXfA==" - "resolved" "https://registry.npmjs.org/@stdlib/utils-convert-path/-/utils-convert-path-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/utils-convert-path/-/utils-convert-path-0.0.8.tgz" + integrity sha512-GNd8uIswrcJCctljMbmjtE4P4oOjhoUIfMvdkqfSrRLRY+ZqPB2xM+yI0MQFfUq/0Rnk/xtESlGSVLz9ZDtXfA== dependencies: "@stdlib/assert-is-string" "^0.0.x" "@stdlib/cli-ctor" "^0.0.x" @@ -2303,398 +2294,393 @@ "@stdlib/string-replace" "^0.0.x" "@stdlib/utils-define-nonenumerable-read-only-property@^0.0.x": - "integrity" "sha512-c7dnHDYuS4Xn3XBRWIQBPcROTtP/4lkcFyq0FrQzjXUjimfMgHF7cuFIIob6qUTnU8SOzY9p0ydRR2QJreWE6g==" - "resolved" "https://registry.npmjs.org/@stdlib/utils-define-nonenumerable-read-only-property/-/utils-define-nonenumerable-read-only-property-0.0.7.tgz" - "version" "0.0.7" + version "0.0.7" + resolved "https://registry.npmjs.org/@stdlib/utils-define-nonenumerable-read-only-property/-/utils-define-nonenumerable-read-only-property-0.0.7.tgz" + integrity sha512-c7dnHDYuS4Xn3XBRWIQBPcROTtP/4lkcFyq0FrQzjXUjimfMgHF7cuFIIob6qUTnU8SOzY9p0ydRR2QJreWE6g== dependencies: "@stdlib/types" "^0.0.x" "@stdlib/utils-define-property" "^0.0.x" "@stdlib/utils-define-property@^0.0.x": - "integrity" "sha512-pIzVvHJvVfU/Lt45WwUAcodlvSPDDSD4pIPc9WmIYi4vnEBA9U7yHtiNz2aTvfGmBMTaLYTVVFIXwkFp+QotMA==" - "resolved" "https://registry.npmjs.org/@stdlib/utils-define-property/-/utils-define-property-0.0.9.tgz" - "version" "0.0.9" + version "0.0.9" + resolved "https://registry.npmjs.org/@stdlib/utils-define-property/-/utils-define-property-0.0.9.tgz" + integrity sha512-pIzVvHJvVfU/Lt45WwUAcodlvSPDDSD4pIPc9WmIYi4vnEBA9U7yHtiNz2aTvfGmBMTaLYTVVFIXwkFp+QotMA== dependencies: "@stdlib/types" "^0.0.x" "@stdlib/utils-escape-regexp-string@^0.0.x": - "integrity" "sha512-E+9+UDzf2mlMLgb+zYrrPy2FpzbXh189dzBJY6OG+XZqEJAXcjWs7DURO5oGffkG39EG5KXeaQwDXUavcMDCIw==" - "resolved" "https://registry.npmjs.org/@stdlib/utils-escape-regexp-string/-/utils-escape-regexp-string-0.0.9.tgz" - "version" "0.0.9" + version "0.0.9" + resolved "https://registry.npmjs.org/@stdlib/utils-escape-regexp-string/-/utils-escape-regexp-string-0.0.9.tgz" + integrity sha512-E+9+UDzf2mlMLgb+zYrrPy2FpzbXh189dzBJY6OG+XZqEJAXcjWs7DURO5oGffkG39EG5KXeaQwDXUavcMDCIw== dependencies: "@stdlib/assert-is-string" "^0.0.x" "@stdlib/string-format" "^0.0.x" "@stdlib/utils-eval@^0.0.x": - "integrity" "sha512-eJae8XdBRcHKQQuuW96VmfmXauZHICrLqNERtWgtJW75i0lEE0Le2jYk32O+UVETAFT8rzxMxfBxMckKfdJNaQ==" - "resolved" "https://registry.npmjs.org/@stdlib/utils-eval/-/utils-eval-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/utils-eval/-/utils-eval-0.0.8.tgz" + integrity sha512-eJae8XdBRcHKQQuuW96VmfmXauZHICrLqNERtWgtJW75i0lEE0Le2jYk32O+UVETAFT8rzxMxfBxMckKfdJNaQ== dependencies: "@stdlib/cli-ctor" "^0.0.x" "@stdlib/fs-read-file" "^0.0.x" "@stdlib/utils-get-prototype-of@^0.0.x": - "integrity" "sha512-fCUk9lrBO2ELrq+/OPJws1/hquI4FtwG0SzVRH6UJmJfwb1zoEFnjcwyDAy+HWNVmo3xeRLsrz6XjHrJwer9pg==" - "resolved" "https://registry.npmjs.org/@stdlib/utils-get-prototype-of/-/utils-get-prototype-of-0.0.7.tgz" - "version" "0.0.7" + version "0.0.7" + resolved "https://registry.npmjs.org/@stdlib/utils-get-prototype-of/-/utils-get-prototype-of-0.0.7.tgz" + integrity sha512-fCUk9lrBO2ELrq+/OPJws1/hquI4FtwG0SzVRH6UJmJfwb1zoEFnjcwyDAy+HWNVmo3xeRLsrz6XjHrJwer9pg== dependencies: "@stdlib/assert-is-function" "^0.0.x" "@stdlib/utils-native-class" "^0.0.x" "@stdlib/utils-global@^0.0.x": - "integrity" "sha512-BBNYBdDUz1X8Lhfw9nnnXczMv9GztzGpQ88J/6hnY7PHJ71av5d41YlijWeM9dhvWjnH9I7HNE3LL7R07yw0kA==" - "resolved" "https://registry.npmjs.org/@stdlib/utils-global/-/utils-global-0.0.7.tgz" - "version" "0.0.7" + version "0.0.7" + resolved "https://registry.npmjs.org/@stdlib/utils-global/-/utils-global-0.0.7.tgz" + integrity sha512-BBNYBdDUz1X8Lhfw9nnnXczMv9GztzGpQ88J/6hnY7PHJ71av5d41YlijWeM9dhvWjnH9I7HNE3LL7R07yw0kA== dependencies: "@stdlib/assert-is-boolean" "^0.0.x" "@stdlib/utils-library-manifest@^0.0.8", "@stdlib/utils-library-manifest@^0.0.x": - "integrity" "sha512-IOQSp8skSRQn9wOyMRUX9Hi0j/P5v5TvD8DJWTqtE8Lhr8kVVluMBjHfvheoeKHxfWAbNHSVpkpFY/Bdh/SHgQ==" - "resolved" "https://registry.npmjs.org/@stdlib/utils-library-manifest/-/utils-library-manifest-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/utils-library-manifest/-/utils-library-manifest-0.0.8.tgz" + integrity sha512-IOQSp8skSRQn9wOyMRUX9Hi0j/P5v5TvD8DJWTqtE8Lhr8kVVluMBjHfvheoeKHxfWAbNHSVpkpFY/Bdh/SHgQ== dependencies: "@stdlib/cli-ctor" "^0.0.x" "@stdlib/fs-resolve-parent-path" "^0.0.x" "@stdlib/utils-convert-path" "^0.0.x" - "debug" "^2.6.9" - "resolve" "^1.1.7" + debug "^2.6.9" + resolve "^1.1.7" "@stdlib/utils-native-class@^0.0.x": - "integrity" "sha512-0Zl9me2V9rSrBw/N8o8/9XjmPUy8zEeoMM0sJmH3N6C9StDsYTjXIAMPGzYhMEWaWHvGeYyNteFK2yDOVGtC3w==" - "resolved" "https://registry.npmjs.org/@stdlib/utils-native-class/-/utils-native-class-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/utils-native-class/-/utils-native-class-0.0.8.tgz" + integrity sha512-0Zl9me2V9rSrBw/N8o8/9XjmPUy8zEeoMM0sJmH3N6C9StDsYTjXIAMPGzYhMEWaWHvGeYyNteFK2yDOVGtC3w== dependencies: "@stdlib/assert-has-own-property" "^0.0.x" "@stdlib/assert-has-tostringtag-support" "^0.0.x" "@stdlib/utils-next-tick@^0.0.x": - "integrity" "sha512-l+hPl7+CgLPxk/gcWOXRxX/lNyfqcFCqhzzV/ZMvFCYLY/wI9lcWO4xTQNMALY2rp+kiV+qiAiO9zcO+hewwUg==" - "resolved" "https://registry.npmjs.org/@stdlib/utils-next-tick/-/utils-next-tick-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/utils-next-tick/-/utils-next-tick-0.0.8.tgz" + integrity sha512-l+hPl7+CgLPxk/gcWOXRxX/lNyfqcFCqhzzV/ZMvFCYLY/wI9lcWO4xTQNMALY2rp+kiV+qiAiO9zcO+hewwUg== "@stdlib/utils-noop@^0.0.x": - "integrity" "sha512-A5faFEUfszMgd93RCyB+aWb62hQxgP+dZ/l9rIOwNWbIrCYNwSuL4z50lNJuatnwwU4BQ4EjQr+AmBsnvuLcyQ==" - "resolved" "https://registry.npmjs.org/@stdlib/utils-noop/-/utils-noop-0.0.14.tgz" - "version" "0.0.14" + version "0.0.14" + resolved "https://registry.npmjs.org/@stdlib/utils-noop/-/utils-noop-0.0.14.tgz" + integrity sha512-A5faFEUfszMgd93RCyB+aWb62hQxgP+dZ/l9rIOwNWbIrCYNwSuL4z50lNJuatnwwU4BQ4EjQr+AmBsnvuLcyQ== "@stdlib/utils-regexp-from-string@^0.0.x": - "integrity" "sha512-3rN0Mcyiarl7V6dXRjFAUMacRwe0/sYX7ThKYurf0mZkMW9tjTP+ygak9xmL9AL0QQZtbrFFwWBrDO+38Vnavw==" - "resolved" "https://registry.npmjs.org/@stdlib/utils-regexp-from-string/-/utils-regexp-from-string-0.0.9.tgz" - "version" "0.0.9" + version "0.0.9" + resolved "https://registry.npmjs.org/@stdlib/utils-regexp-from-string/-/utils-regexp-from-string-0.0.9.tgz" + integrity sha512-3rN0Mcyiarl7V6dXRjFAUMacRwe0/sYX7ThKYurf0mZkMW9tjTP+ygak9xmL9AL0QQZtbrFFwWBrDO+38Vnavw== dependencies: "@stdlib/assert-is-string" "^0.0.x" "@stdlib/regexp-regexp" "^0.0.x" "@stdlib/string-format" "^0.0.x" "@stdlib/utils-type-of@^0.0.x": - "integrity" "sha512-b4xqdy3AnnB7NdmBBpoiI67X4vIRxvirjg3a8BfhM5jPr2k0njby1jAbG9dUxJvgAV6o32S4kjUgfIdjEYpTNQ==" - "resolved" "https://registry.npmjs.org/@stdlib/utils-type-of/-/utils-type-of-0.0.8.tgz" - "version" "0.0.8" + version "0.0.8" + resolved "https://registry.npmjs.org/@stdlib/utils-type-of/-/utils-type-of-0.0.8.tgz" + integrity sha512-b4xqdy3AnnB7NdmBBpoiI67X4vIRxvirjg3a8BfhM5jPr2k0njby1jAbG9dUxJvgAV6o32S4kjUgfIdjEYpTNQ== dependencies: "@stdlib/utils-constructor-name" "^0.0.x" "@stdlib/utils-global" "^0.0.x" "@tsconfig/node10@^1.0.7": - "integrity" "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==" - "resolved" "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz" - "version" "1.0.9" + version "1.0.9" + resolved "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz" + integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== "@tsconfig/node12@^1.0.7": - "integrity" "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==" - "resolved" "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz" - "version" "1.0.11" + version "1.0.11" + resolved "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz" + integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== "@tsconfig/node14@^1.0.0": - "integrity" "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==" - "resolved" "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz" - "version" "1.0.3" + version "1.0.3" + resolved "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz" + integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== "@tsconfig/node16@^1.0.2": - "integrity" "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==" - "resolved" "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz" - "version" "1.0.4" + version "1.0.4" + resolved "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz" + integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== "@types/babel__core@^7.1.14": - "integrity" "sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ==" - "resolved" "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.20.tgz" - "version" "7.1.20" + version "7.20.2" + resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.2.tgz" + integrity sha512-pNpr1T1xLUc2l3xJKuPtsEky3ybxN3m4fJkknfIpTCTfIZCDW57oAg+EfCgIIp2rvCe0Wn++/FfodDS4YXxBwA== dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" "@types/babel__generator" "*" "@types/babel__template" "*" "@types/babel__traverse" "*" "@types/babel__generator@*": - "integrity" "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==" - "resolved" "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz" - "version" "7.6.4" + version "7.6.5" + resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.5.tgz" + integrity sha512-h9yIuWbJKdOPLJTbmSpPzkF67e659PbQDba7ifWm5BJ8xTv+sDmS7rFmywkWOvXedGTivCdeGSIIX8WLcRTz8w== dependencies: "@babel/types" "^7.0.0" "@types/babel__template@*": - "integrity" "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==" - "resolved" "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz" - "version" "7.4.1" + version "7.4.2" + resolved "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.2.tgz" + integrity sha512-/AVzPICMhMOMYoSx9MoKpGDKdBRsIXMNByh1PXSZoa+v6ZoLa8xxtsT/uLQ/NJm0XVAWl/BvId4MlDeXJaeIZQ== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - "integrity" "sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg==" - "resolved" "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.2.tgz" - "version" "7.18.2" + version "7.20.2" + resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.2.tgz" + integrity sha512-ojlGK1Hsfce93J0+kn3H5R73elidKUaZonirN33GSmgTUMpzI/MIFfSpF3haANe3G1bEBS9/9/QEqwTzwqFsKw== dependencies: - "@babel/types" "^7.3.0" + "@babel/types" "^7.20.7" "@types/eslint-scope@^3.7.3": - "integrity" "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==" - "resolved" "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz" - "version" "3.7.4" + version "3.7.4" + resolved "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz" + integrity sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA== dependencies: "@types/eslint" "*" "@types/estree" "*" "@types/eslint@*": - "integrity" "sha512-/fqTbjxyFUaYNO7VcW5g+4npmqVACz1bB7RTHYuLj+PRjw9hrCwrUXVQFpChUS0JsyEFvMZ7U/PfmvWgxJhI9g==" - "resolved" "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.6.tgz" - "version" "8.4.6" + version "8.4.6" + resolved "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.6.tgz" + integrity sha512-/fqTbjxyFUaYNO7VcW5g+4npmqVACz1bB7RTHYuLj+PRjw9hrCwrUXVQFpChUS0JsyEFvMZ7U/PfmvWgxJhI9g== dependencies: "@types/estree" "*" "@types/json-schema" "*" "@types/estree@*", "@types/estree@^0.0.51": - "integrity" "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==" - "resolved" "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz" - "version" "0.0.51" + version "0.0.51" + resolved "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz" + integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== "@types/google-protobuf@^3.15.6": - "integrity" "sha512-pYVNNJ+winC4aek+lZp93sIKxnXt5qMkuKmaqS3WGuTq0Bw1ZDYNBgzG5kkdtwcv+GmYJGo3yEg6z2cKKAiEdw==" - "resolved" "https://registry.npmjs.org/@types/google-protobuf/-/google-protobuf-3.15.6.tgz" - "version" "3.15.6" + version "3.15.6" + resolved "https://registry.npmjs.org/@types/google-protobuf/-/google-protobuf-3.15.6.tgz" + integrity sha512-pYVNNJ+winC4aek+lZp93sIKxnXt5qMkuKmaqS3WGuTq0Bw1ZDYNBgzG5kkdtwcv+GmYJGo3yEg6z2cKKAiEdw== "@types/graceful-fs@^4.1.3": - "integrity" "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==" - "resolved" "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz" - "version" "4.1.5" + version "4.1.7" + resolved "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.7.tgz" + integrity sha512-MhzcwU8aUygZroVwL2jeYk6JisJrPl/oov/gsgGCue9mkgl9wjGbzReYQClxiUgFDnib9FuHqTndccKeZKxTRw== dependencies: "@types/node" "*" "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - "integrity" "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" - "resolved" "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz" - "version" "2.0.4" + version "2.0.4" + resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz" + integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== "@types/istanbul-lib-report@*": - "integrity" "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==" - "resolved" "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" - "version" "3.0.0" + version "3.0.0" + resolved "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" + integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== dependencies: "@types/istanbul-lib-coverage" "*" "@types/istanbul-reports@^3.0.0": - "integrity" "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==" - "resolved" "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz" - "version" "3.0.1" + version "3.0.1" + resolved "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz" + integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== dependencies: "@types/istanbul-lib-report" "*" "@types/jest@^29.2.2": - "integrity" "sha512-og1wAmdxKoS71K2ZwSVqWPX6OVn3ihZ6ZT2qvZvZQm90lJVDyXIjYcu4Khx2CNIeaFv12rOU/YObOsI3VOkzog==" - "resolved" "https://registry.npmjs.org/@types/jest/-/jest-29.2.2.tgz" - "version" "29.2.2" + version "29.2.2" + resolved "https://registry.npmjs.org/@types/jest/-/jest-29.2.2.tgz" + integrity sha512-og1wAmdxKoS71K2ZwSVqWPX6OVn3ihZ6ZT2qvZvZQm90lJVDyXIjYcu4Khx2CNIeaFv12rOU/YObOsI3VOkzog== dependencies: - "expect" "^29.0.0" - "pretty-format" "^29.0.0" + expect "^29.0.0" + pretty-format "^29.0.0" "@types/json-schema@*", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": - "integrity" "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==" - "resolved" "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz" - "version" "7.0.11" + version "7.0.11" + resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz" + integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== "@types/long@^4.0.1": - "integrity" "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" - "resolved" "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz" - "version" "4.0.2" + version "4.0.2" + resolved "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz" + integrity sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA== -"@types/node@*", "@types/node@^20.10.1", "@types/node@>=12.12.47", "@types/node@>=13.7.0": - "integrity" "sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==" - "resolved" "https://registry.npmjs.org/@types/node/-/node-20.11.30.tgz" - "version" "20.11.30" +"@types/node@*", "@types/node@>=12.12.47", "@types/node@>=13.7.0", "@types/node@^20.10.1": + version "20.10.3" + resolved "https://registry.npmjs.org/@types/node/-/node-20.10.3.tgz" + integrity sha512-XJavIpZqiXID5Yxnxv3RUDKTN5b81ddNC3ecsA0SoFXz/QU8OGBwZGMomiq0zw+uuqbL/krztv/DINAQ/EV4gg== dependencies: - "undici-types" "~5.26.4" + undici-types "~5.26.4" "@types/node@^13.7.0": - "integrity" "sha512-s3nugnZumCC//n4moGGe6tkNMyYEdaDBitVjwPxXmR5lnMG5dHePinH2EdxkG3Rh1ghFHHixAG4NJhpJW1rthQ==" - "resolved" "https://registry.npmjs.org/@types/node/-/node-13.13.52.tgz" - "version" "13.13.52" + version "13.13.52" + resolved "https://registry.npmjs.org/@types/node/-/node-13.13.52.tgz" + integrity sha512-s3nugnZumCC//n4moGGe6tkNMyYEdaDBitVjwPxXmR5lnMG5dHePinH2EdxkG3Rh1ghFHHixAG4NJhpJW1rthQ== "@types/object-hash@^1.3.0": - "integrity" "sha512-xFdpkAkikBgqBdG9vIlsqffDV8GpvnPEzs0IUtr1v3BEB97ijsFQ4RXVbUZwjFThhB4MDSTUfvmxUD5PGx0wXA==" - "resolved" "https://registry.npmjs.org/@types/object-hash/-/object-hash-1.3.4.tgz" - "version" "1.3.4" - -"@types/prettier@^2.1.5": - "integrity" "sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==" - "resolved" "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz" - "version" "2.7.1" + version "1.3.4" + resolved "https://registry.npmjs.org/@types/object-hash/-/object-hash-1.3.4.tgz" + integrity sha512-xFdpkAkikBgqBdG9vIlsqffDV8GpvnPEzs0IUtr1v3BEB97ijsFQ4RXVbUZwjFThhB4MDSTUfvmxUD5PGx0wXA== "@types/seedrandom@^3.0.6": - "integrity" "sha512-TY1eezMU2zH2ozQoAFAQFOPpvP15g+ZgSfTZt31AUUH/Rxtnz3H+A/Sv1Snw2/amp//omibc+AEkTaA8KUeOLQ==" - "resolved" "https://registry.npmjs.org/@types/seedrandom/-/seedrandom-3.0.8.tgz" - "version" "3.0.8" + version "3.0.6" + resolved "https://registry.npmjs.org/@types/seedrandom/-/seedrandom-3.0.6.tgz" + integrity sha512-3+JLzzsdbTrEDXSKaudKajj3w8x4ZWDk7CunwHnSWxtfMoetnKtIbFXMru7RXw6Hq1dU0td+soPX8vVjdgCPBA== "@types/semver@^7.3.12": - "integrity" "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==" - "resolved" "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz" - "version" "7.3.13" + version "7.3.13" + resolved "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz" + integrity sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw== "@types/stack-utils@^2.0.0": - "integrity" "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" - "resolved" "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz" - "version" "2.0.1" + version "2.0.1" + resolved "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz" + integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== "@types/yargs-parser@*": - "integrity" "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" - "resolved" "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz" - "version" "21.0.0" + version "21.0.0" + resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz" + integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== "@types/yargs@^17.0.8": - "integrity" "sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==" - "resolved" "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz" - "version" "17.0.13" + version "17.0.13" + resolved "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz" + integrity sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg== dependencies: "@types/yargs-parser" "*" "@typescript-eslint/eslint-plugin@^5.45.0": - "integrity" "sha512-QrZqaIOzJAjv0sfjY4EjbXUi3ZOFpKfzntx22gPGr9pmFcTjcFw/1sS1LJhEubfAGwuLjNrPV0rH+D1/XZFy7Q==" - "resolved" "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.46.0.tgz" - "version" "5.46.0" + version "5.46.0" + resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.46.0.tgz" + integrity sha512-QrZqaIOzJAjv0sfjY4EjbXUi3ZOFpKfzntx22gPGr9pmFcTjcFw/1sS1LJhEubfAGwuLjNrPV0rH+D1/XZFy7Q== dependencies: "@typescript-eslint/scope-manager" "5.46.0" "@typescript-eslint/type-utils" "5.46.0" "@typescript-eslint/utils" "5.46.0" - "debug" "^4.3.4" - "ignore" "^5.2.0" - "natural-compare-lite" "^1.4.0" - "regexpp" "^3.2.0" - "semver" "^7.3.7" - "tsutils" "^3.21.0" - -"@typescript-eslint/parser@^5.0.0", "@typescript-eslint/parser@^5.45.0": - "integrity" "sha512-joNO6zMGUZg+C73vwrKXCd8usnsmOYmgW/w5ZW0pG0RGvqeznjtGDk61EqqTpNrFLUYBW2RSBFrxdAZMqA4OZA==" - "resolved" "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.46.0.tgz" - "version" "5.46.0" + debug "^4.3.4" + ignore "^5.2.0" + natural-compare-lite "^1.4.0" + regexpp "^3.2.0" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/parser@^5.45.0": + version "5.46.0" + resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.46.0.tgz" + integrity sha512-joNO6zMGUZg+C73vwrKXCd8usnsmOYmgW/w5ZW0pG0RGvqeznjtGDk61EqqTpNrFLUYBW2RSBFrxdAZMqA4OZA== dependencies: "@typescript-eslint/scope-manager" "5.46.0" "@typescript-eslint/types" "5.46.0" "@typescript-eslint/typescript-estree" "5.46.0" - "debug" "^4.3.4" + debug "^4.3.4" "@typescript-eslint/scope-manager@5.46.0": - "integrity" "sha512-7wWBq9d/GbPiIM6SqPK9tfynNxVbfpihoY5cSFMer19OYUA3l4powA2uv0AV2eAZV6KoAh6lkzxv4PoxOLh1oA==" - "resolved" "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.46.0.tgz" - "version" "5.46.0" + version "5.46.0" + resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.46.0.tgz" + integrity sha512-7wWBq9d/GbPiIM6SqPK9tfynNxVbfpihoY5cSFMer19OYUA3l4powA2uv0AV2eAZV6KoAh6lkzxv4PoxOLh1oA== dependencies: "@typescript-eslint/types" "5.46.0" "@typescript-eslint/visitor-keys" "5.46.0" "@typescript-eslint/type-utils@5.46.0": - "integrity" "sha512-dwv4nimVIAsVS2dTA0MekkWaRnoYNXY26dKz8AN5W3cBFYwYGFQEqm/cG+TOoooKlncJS4RTbFKgcFY/pOiBCg==" - "resolved" "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.46.0.tgz" - "version" "5.46.0" + version "5.46.0" + resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.46.0.tgz" + integrity sha512-dwv4nimVIAsVS2dTA0MekkWaRnoYNXY26dKz8AN5W3cBFYwYGFQEqm/cG+TOoooKlncJS4RTbFKgcFY/pOiBCg== dependencies: "@typescript-eslint/typescript-estree" "5.46.0" "@typescript-eslint/utils" "5.46.0" - "debug" "^4.3.4" - "tsutils" "^3.21.0" + debug "^4.3.4" + tsutils "^3.21.0" "@typescript-eslint/types@5.46.0": - "integrity" "sha512-wHWgQHFB+qh6bu0IAPAJCdeCdI0wwzZnnWThlmHNY01XJ9Z97oKqKOzWYpR2I83QmshhQJl6LDM9TqMiMwJBTw==" - "resolved" "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.46.0.tgz" - "version" "5.46.0" + version "5.46.0" + resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.46.0.tgz" + integrity sha512-wHWgQHFB+qh6bu0IAPAJCdeCdI0wwzZnnWThlmHNY01XJ9Z97oKqKOzWYpR2I83QmshhQJl6LDM9TqMiMwJBTw== "@typescript-eslint/typescript-estree@5.46.0": - "integrity" "sha512-kDLNn/tQP+Yp8Ro2dUpyyVV0Ksn2rmpPpB0/3MO874RNmXtypMwSeazjEN/Q6CTp8D7ExXAAekPEcCEB/vtJkw==" - "resolved" "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.46.0.tgz" - "version" "5.46.0" + version "5.46.0" + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.46.0.tgz" + integrity sha512-kDLNn/tQP+Yp8Ro2dUpyyVV0Ksn2rmpPpB0/3MO874RNmXtypMwSeazjEN/Q6CTp8D7ExXAAekPEcCEB/vtJkw== dependencies: "@typescript-eslint/types" "5.46.0" "@typescript-eslint/visitor-keys" "5.46.0" - "debug" "^4.3.4" - "globby" "^11.1.0" - "is-glob" "^4.0.3" - "semver" "^7.3.7" - "tsutils" "^3.21.0" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.3.7" + tsutils "^3.21.0" "@typescript-eslint/utils@5.46.0": - "integrity" "sha512-4O+Ps1CRDw+D+R40JYh5GlKLQERXRKW5yIQoNDpmXPJ+C7kaPF9R7GWl+PxGgXjB3PQCqsaaZUpZ9dG4U6DO7g==" - "resolved" "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.46.0.tgz" - "version" "5.46.0" + version "5.46.0" + resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.46.0.tgz" + integrity sha512-4O+Ps1CRDw+D+R40JYh5GlKLQERXRKW5yIQoNDpmXPJ+C7kaPF9R7GWl+PxGgXjB3PQCqsaaZUpZ9dG4U6DO7g== dependencies: "@types/json-schema" "^7.0.9" "@types/semver" "^7.3.12" "@typescript-eslint/scope-manager" "5.46.0" "@typescript-eslint/types" "5.46.0" "@typescript-eslint/typescript-estree" "5.46.0" - "eslint-scope" "^5.1.1" - "eslint-utils" "^3.0.0" - "semver" "^7.3.7" + eslint-scope "^5.1.1" + eslint-utils "^3.0.0" + semver "^7.3.7" "@typescript-eslint/visitor-keys@5.46.0": - "integrity" "sha512-E13gBoIXmaNhwjipuvQg1ByqSAu/GbEpP/qzFihugJ+MomtoJtFAJG/+2DRPByf57B863m0/q7Zt16V9ohhANw==" - "resolved" "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.46.0.tgz" - "version" "5.46.0" + version "5.46.0" + resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.46.0.tgz" + integrity sha512-E13gBoIXmaNhwjipuvQg1ByqSAu/GbEpP/qzFihugJ+MomtoJtFAJG/+2DRPByf57B863m0/q7Zt16V9ohhANw== dependencies: "@typescript-eslint/types" "5.46.0" - "eslint-visitor-keys" "^3.3.0" + eslint-visitor-keys "^3.3.0" "@ungap/structured-clone@^1.2.0": - "integrity" "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" - "resolved" "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz" - "version" "1.2.0" + version "1.2.0" + resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" + integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== "@webassemblyjs/ast@1.11.1": - "integrity" "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz" + integrity sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw== dependencies: "@webassemblyjs/helper-numbers" "1.11.1" "@webassemblyjs/helper-wasm-bytecode" "1.11.1" "@webassemblyjs/floating-point-hex-parser@1.11.1": - "integrity" "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz" + integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ== "@webassemblyjs/helper-api-error@1.11.1": - "integrity" "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz" + integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg== "@webassemblyjs/helper-buffer@1.11.1": - "integrity" "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz" + integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA== "@webassemblyjs/helper-numbers@1.11.1": - "integrity" "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz" + integrity sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ== dependencies: "@webassemblyjs/floating-point-hex-parser" "1.11.1" "@webassemblyjs/helper-api-error" "1.11.1" "@xtuc/long" "4.2.2" "@webassemblyjs/helper-wasm-bytecode@1.11.1": - "integrity" "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz" + integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q== "@webassemblyjs/helper-wasm-section@1.11.1": - "integrity" "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz" + integrity sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg== dependencies: "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/helper-buffer" "1.11.1" @@ -2702,28 +2688,28 @@ "@webassemblyjs/wasm-gen" "1.11.1" "@webassemblyjs/ieee754@1.11.1": - "integrity" "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz" + integrity sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ== dependencies: "@xtuc/ieee754" "^1.2.0" "@webassemblyjs/leb128@1.11.1": - "integrity" "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz" + integrity sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw== dependencies: "@xtuc/long" "4.2.2" "@webassemblyjs/utf8@1.11.1": - "integrity" "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz" + integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ== "@webassemblyjs/wasm-edit@1.11.1": - "integrity" "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz" + integrity sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA== dependencies: "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/helper-buffer" "1.11.1" @@ -2735,9 +2721,9 @@ "@webassemblyjs/wast-printer" "1.11.1" "@webassemblyjs/wasm-gen@1.11.1": - "integrity" "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz" + integrity sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA== dependencies: "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/helper-wasm-bytecode" "1.11.1" @@ -2746,9 +2732,9 @@ "@webassemblyjs/utf8" "1.11.1" "@webassemblyjs/wasm-opt@1.11.1": - "integrity" "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz" + integrity sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw== dependencies: "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/helper-buffer" "1.11.1" @@ -2756,9 +2742,9 @@ "@webassemblyjs/wasm-parser" "1.11.1" "@webassemblyjs/wasm-parser@1.11.1": - "integrity" "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz" + integrity sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA== dependencies: "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/helper-api-error" "1.11.1" @@ -2768,200 +2754,205 @@ "@webassemblyjs/utf8" "1.11.1" "@webassemblyjs/wast-printer@1.11.1": - "integrity" "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz" + integrity sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg== dependencies: "@webassemblyjs/ast" "1.11.1" "@xtuc/long" "4.2.2" "@webpack-cli/configtest@^1.2.0": - "integrity" "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==" - "resolved" "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz" - "version" "1.2.0" + version "1.2.0" + resolved "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz" + integrity sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg== "@webpack-cli/info@^1.5.0": - "integrity" "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==" - "resolved" "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz" - "version" "1.5.0" + version "1.5.0" + resolved "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz" + integrity sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ== dependencies: - "envinfo" "^7.7.3" + envinfo "^7.7.3" "@webpack-cli/serve@^1.7.0": - "integrity" "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==" - "resolved" "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz" - "version" "1.7.0" + version "1.7.0" + resolved "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz" + integrity sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q== "@xtuc/ieee754@^1.2.0": - "integrity" "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" - "resolved" "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz" - "version" "1.2.0" + version "1.2.0" + resolved "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== "@xtuc/long@4.2.2": - "integrity" "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" - "resolved" "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" - "version" "4.2.2" - -"acorn-import-assertions@^1.7.6": - "integrity" "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==" - "resolved" "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz" - "version" "1.8.0" - -"acorn-jsx@^5.3.2": - "integrity" "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==" - "resolved" "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" - "version" "5.3.2" - -"acorn-walk@^8.1.1": - "integrity" "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==" - "resolved" "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz" - "version" "8.2.0" - -"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", "acorn@^8", "acorn@^8.4.1", "acorn@^8.5.0", "acorn@^8.7.1", "acorn@^8.9.0": - "integrity" "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==" - "resolved" "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz" - "version" "8.11.3" - -"adm-zip@^0.5.10": - "integrity" "sha512-6TVU49mK6KZb4qG6xWaaM4C7sA/sgUMLy/JYMOzkcp3BvVLpW0fXDFQiIzAuxFCt/2+xD7fNIiPFAoLZPhVNLQ==" - "resolved" "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.12.tgz" - "version" "0.5.12" - -"ajv-keywords@^3.5.2": - "integrity" "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" - "resolved" "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" - "version" "3.5.2" - -"ajv@^6.12.4", "ajv@^6.12.5", "ajv@^6.9.1": - "integrity" "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==" - "resolved" "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" - "version" "6.12.6" - dependencies: - "fast-deep-equal" "^3.1.1" - "fast-json-stable-stringify" "^2.0.0" - "json-schema-traverse" "^0.4.1" - "uri-js" "^4.2.2" - -"ansi-escapes@^4.2.1": - "integrity" "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==" - "resolved" "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" - "version" "4.3.2" - dependencies: - "type-fest" "^0.21.3" - -"ansi-regex@^5.0.1": - "integrity" "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" - "version" "5.0.1" - -"ansi-styles@^3.2.1": - "integrity" "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==" - "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" - "version" "3.2.1" - dependencies: - "color-convert" "^1.9.0" - -"ansi-styles@^4.0.0", "ansi-styles@^4.1.0": - "integrity" "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==" - "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" - "version" "4.3.0" - dependencies: - "color-convert" "^2.0.1" - -"ansi-styles@^5.0.0": - "integrity" "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz" - "version" "5.2.0" - -"anymatch@^3.0.3": - "integrity" "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==" - "resolved" "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz" - "version" "3.1.2" - dependencies: - "normalize-path" "^3.0.0" - "picomatch" "^2.0.4" - -"archive-type@^4.0.0": - "integrity" "sha512-zV4Ky0v1F8dBrdYElwTvQhweQ0P7Kwc1aluqJsYtOBP01jXcWCyW2IEfI1YiqsG+Iy7ZR+o5LF1N+PGECBxHWA==" - "resolved" "https://registry.npmjs.org/archive-type/-/archive-type-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "file-type" "^4.2.0" - -"arg@^4.1.0": - "integrity" "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" - "resolved" "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz" - "version" "4.1.3" - -"argparse@^1.0.7": - "integrity" "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==" - "resolved" "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" - "version" "1.0.10" - dependencies: - "sprintf-js" "~1.0.2" - -"argparse@^2.0.1": - "integrity" "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - "resolved" "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" - "version" "2.0.1" - -"array-union@^2.1.0": - "integrity" "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" - "resolved" "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" - "version" "2.1.0" - -"async@^2.6.4": - "integrity" "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==" - "resolved" "https://registry.npmjs.org/async/-/async-2.6.4.tgz" - "version" "2.6.4" - dependencies: - "lodash" "^4.17.14" + version "4.2.2" + resolved "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + +acorn-import-assertions@^1.7.6: + version "1.8.0" + resolved "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz" + integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== + +acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn-walk@^8.1.1: + version "8.2.0" + resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz" + integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== + +acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.1: + version "8.8.1" + resolved "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz" + integrity sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA== + +acorn@^8.9.0: + version "8.11.3" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" + integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== + +adm-zip@^0.5.10: + version "0.5.10" + resolved "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.10.tgz" + integrity sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ== + +ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv@^6.12.4, ajv@^6.12.5: + version "6.12.6" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ansi-escapes@^4.2.1: + version "4.3.2" + resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^5.0.0: + version "5.2.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz" + integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== + +anymatch@^3.0.3: + version "3.1.3" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +archive-type@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/archive-type/-/archive-type-4.0.0.tgz" + integrity sha512-zV4Ky0v1F8dBrdYElwTvQhweQ0P7Kwc1aluqJsYtOBP01jXcWCyW2IEfI1YiqsG+Iy7ZR+o5LF1N+PGECBxHWA== + dependencies: + file-type "^4.2.0" + +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +async@^2.6.4: + version "2.6.4" + resolved "https://registry.npmjs.org/async/-/async-2.6.4.tgz" + integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== + dependencies: + lodash "^4.17.14" -"axios@^0.21.2": - "integrity" "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==" - "resolved" "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz" - "version" "0.21.4" +axios@^0.21.2: + version "0.21.4" + resolved "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz" + integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== dependencies: - "follow-redirects" "^1.14.0" + follow-redirects "^1.14.0" -"babel-jest@^29.0.0", "babel-jest@^29.3.1": - "integrity" "sha512-aard+xnMoxgjwV70t0L6wkW/3HQQtV+O0PEimxKgzNqCJnbYmroPojdP2tqKSOAt8QAKV/uSZU8851M7B5+fcA==" - "resolved" "https://registry.npmjs.org/babel-jest/-/babel-jest-29.3.1.tgz" - "version" "29.3.1" +babel-jest@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz" + integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg== dependencies: - "@jest/transform" "^29.3.1" + "@jest/transform" "^29.7.0" "@types/babel__core" "^7.1.14" - "babel-plugin-istanbul" "^6.1.1" - "babel-preset-jest" "^29.2.0" - "chalk" "^4.0.0" - "graceful-fs" "^4.2.9" - "slash" "^3.0.0" + babel-plugin-istanbul "^6.1.1" + babel-preset-jest "^29.6.3" + chalk "^4.0.0" + graceful-fs "^4.2.9" + slash "^3.0.0" -"babel-plugin-istanbul@^6.1.1": - "integrity" "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==" - "resolved" "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz" - "version" "6.1.1" +babel-plugin-istanbul@^6.1.1: + version "6.1.1" + resolved "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz" + integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@istanbuljs/load-nyc-config" "^1.0.0" "@istanbuljs/schema" "^0.1.2" - "istanbul-lib-instrument" "^5.0.4" - "test-exclude" "^6.0.0" + istanbul-lib-instrument "^5.0.4" + test-exclude "^6.0.0" -"babel-plugin-jest-hoist@^29.2.0": - "integrity" "sha512-TnspP2WNiR3GLfCsUNHqeXw0RoQ2f9U5hQ5L3XFpwuO8htQmSrhh8qsB6vi5Yi8+kuynN1yjDjQsPfkebmB6ZA==" - "resolved" "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.2.0.tgz" - "version" "29.2.0" +babel-plugin-jest-hoist@^29.6.3: + version "29.6.3" + resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz" + integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg== dependencies: "@babel/template" "^7.3.3" "@babel/types" "^7.3.3" "@types/babel__core" "^7.1.14" "@types/babel__traverse" "^7.0.6" -"babel-preset-current-node-syntax@^1.0.0": - "integrity" "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==" - "resolved" "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz" - "version" "1.0.1" +babel-preset-current-node-syntax@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz" + integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== dependencies: "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-bigint" "^7.8.3" @@ -2976,697 +2967,700 @@ "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-top-level-await" "^7.8.3" -"babel-preset-jest@^29.2.0": - "integrity" "sha512-z9JmMJppMxNv8N7fNRHvhMg9cvIkMxQBXgFkane3yKVEvEOP+kB50lk8DFRvF9PGqbyXxlmebKWhuDORO8RgdA==" - "resolved" "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.2.0.tgz" - "version" "29.2.0" +babel-preset-jest@^29.6.3: + version "29.6.3" + resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz" + integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA== dependencies: - "babel-plugin-jest-hoist" "^29.2.0" - "babel-preset-current-node-syntax" "^1.0.0" + babel-plugin-jest-hoist "^29.6.3" + babel-preset-current-node-syntax "^1.0.0" -"balanced-match@^1.0.0": - "integrity" "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - "resolved" "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" - "version" "1.0.2" +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -"base64-js@^1.3.0", "base64-js@^1.3.1": - "integrity" "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - "resolved" "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" - "version" "1.5.1" +base64-js@^1.3.0, base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== -"basic-auth@^2.0.1": - "integrity" "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==" - "resolved" "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz" - "version" "2.0.1" +basic-auth@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz" + integrity sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg== dependencies: - "safe-buffer" "5.1.2" + safe-buffer "5.1.2" -"bech32@^1.1.4": - "integrity" "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" - "resolved" "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz" - "version" "1.1.4" +bech32@^1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz" + integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== -"bignumber.js@^9.1.1": - "integrity" "sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==" - "resolved" "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz" - "version" "9.1.2" +bignumber.js@^9.1.1: + version "9.1.1" + resolved "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.1.tgz" + integrity sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig== -"bip39@^3.0.2": - "integrity" "sha512-c9kiwdk45Do5GL0vJMe7tS95VjCii65mYAH7DfWl3uW8AVzXKQVUm64i3hzVybBDMp9r7j9iNxR85+ul8MdN/A==" - "resolved" "https://registry.npmjs.org/bip39/-/bip39-3.1.0.tgz" - "version" "3.1.0" +bip39@^3.0.2: + version "3.1.0" + resolved "https://registry.npmjs.org/bip39/-/bip39-3.1.0.tgz" + integrity sha512-c9kiwdk45Do5GL0vJMe7tS95VjCii65mYAH7DfWl3uW8AVzXKQVUm64i3hzVybBDMp9r7j9iNxR85+ul8MdN/A== dependencies: "@noble/hashes" "^1.2.0" -"bl@^1.0.0": - "integrity" "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==" - "resolved" "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz" - "version" "1.2.3" - dependencies: - "readable-stream" "^2.3.5" - "safe-buffer" "^5.1.1" - -"bn.js@^4.11.9": - "integrity" "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - "resolved" "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" - "version" "4.12.0" - -"bn.js@^5.2.0": - "integrity" "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" - "resolved" "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz" - "version" "5.2.0" - -"brace-expansion@^1.1.7": - "integrity" "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==" - "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" - "version" "1.1.11" - dependencies: - "balanced-match" "^1.0.0" - "concat-map" "0.0.1" - -"braces@^3.0.2": - "integrity" "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==" - "resolved" "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "fill-range" "^7.0.1" - -"brorand@^1.1.0": - "integrity" "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" - "resolved" "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz" - "version" "1.1.0" - -"browser-headers@^0.4.1": - "integrity" "sha512-CA9hsySZVo9371qEHjHZtYxV2cFtVj5Wj/ZHi8ooEsrtm4vOnl9Y9HmyYWk9q+05d7K3rdoAE0j3MVEFVvtQtg==" - "resolved" "https://registry.npmjs.org/browser-headers/-/browser-headers-0.4.1.tgz" - "version" "0.4.1" - -"browserslist@^4.14.5", "browserslist@^4.21.3", "browserslist@>= 4.21.0": - "integrity" "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==" - "resolved" "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz" - "version" "4.21.4" - dependencies: - "caniuse-lite" "^1.0.30001400" - "electron-to-chromium" "^1.4.251" - "node-releases" "^2.0.6" - "update-browserslist-db" "^1.0.9" - -"bs-logger@0.x": - "integrity" "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==" - "resolved" "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz" - "version" "0.2.6" - dependencies: - "fast-json-stable-stringify" "2.x" - -"bser@2.1.1": - "integrity" "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==" - "resolved" "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "node-int64" "^0.4.0" - -"buffer-alloc-unsafe@^1.1.0": - "integrity" "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" - "resolved" "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz" - "version" "1.1.0" - -"buffer-alloc@^1.2.0": - "integrity" "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==" - "resolved" "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "buffer-alloc-unsafe" "^1.1.0" - "buffer-fill" "^1.0.0" - -"buffer-crc32@~0.2.3": - "integrity" "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==" - "resolved" "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz" - "version" "0.2.13" - -"buffer-fill@^1.0.0": - "integrity" "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==" - "resolved" "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz" - "version" "1.0.0" - -"buffer-from@^1.0.0": - "integrity" "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - "resolved" "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" - "version" "1.1.2" - -"buffer@^5.2.1": - "integrity" "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==" - "resolved" "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" - "version" "5.7.1" - dependencies: - "base64-js" "^1.3.1" - "ieee754" "^1.1.13" - -"cacheable-request@^2.1.1": - "integrity" "sha512-vag0O2LKZ/najSoUwDbVlnlCFvhBE/7mGTY2B5FgCBDcRD+oVV1HYTOwM6JZfMg/hIcM6IwnTZ1uQQL5/X3xIQ==" - "resolved" "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz" - "version" "2.1.4" - dependencies: - "clone-response" "1.0.2" - "get-stream" "3.0.0" - "http-cache-semantics" "3.8.1" - "keyv" "3.0.0" - "lowercase-keys" "1.0.0" - "normalize-url" "2.0.1" - "responselike" "1.0.2" - -"callsites@^3.0.0": - "integrity" "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - "resolved" "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" - "version" "3.1.0" - -"camelcase@^5.3.1": - "integrity" "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" - "version" "5.3.1" - -"camelcase@^6.2.0": - "integrity" "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" - "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" - "version" "6.3.0" - -"caniuse-lite@^1.0.30001400": - "integrity" "sha512-oIs7+JL3K9JRQ3jPZjlH6qyYDp+nBTCais7hjh0s+fuBwufc7uZ7hPYMXrDOJhV360KGMTcczMRObk0/iMqZRg==" - "resolved" "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001418.tgz" - "version" "1.0.30001418" - -"case-anything@^2.1.10": - "integrity" "sha512-JczJwVrCP0jPKh05McyVsuOg6AYosrB9XWZKbQzXeDAm2ClE/PJE/BcrrQrVyGYH7Jg8V/LDupmyL4kFlVsVFQ==" - "resolved" "https://registry.npmjs.org/case-anything/-/case-anything-2.1.10.tgz" - "version" "2.1.10" - -"chalk@^2.0.0": - "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - "version" "2.4.2" - dependencies: - "ansi-styles" "^3.2.1" - "escape-string-regexp" "^1.0.5" - "supports-color" "^5.3.0" - -"chalk@^4.0.0", "chalk@^4.1.2", "chalk@4.1.2": - "integrity" "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" - "version" "4.1.2" - dependencies: - "ansi-styles" "^4.1.0" - "supports-color" "^7.1.0" - -"char-regex@^1.0.2": - "integrity" "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==" - "resolved" "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" - "version" "1.0.2" - -"chrome-trace-event@^1.0.2": - "integrity" "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" - "resolved" "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" - "version" "1.0.3" - -"ci-info@^3.2.0": - "integrity" "sha512-yH4RezKOGlOhxkmhbeNuC4eYZKAUsEaGtBuBzDDP1eFUKiccDWzBABxBfOx31IDwDIXMTxWuwAxUGModvkbuVw==" - "resolved" "https://registry.npmjs.org/ci-info/-/ci-info-3.5.0.tgz" - "version" "3.5.0" - -"cjs-module-lexer@^1.0.0": - "integrity" "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==" - "resolved" "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz" - "version" "1.2.2" - -"cliui@^7.0.2": - "integrity" "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==" - "resolved" "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz" - "version" "7.0.4" - dependencies: - "string-width" "^4.2.0" - "strip-ansi" "^6.0.0" - "wrap-ansi" "^7.0.0" - -"cliui@^8.0.1": - "integrity" "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==" - "resolved" "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz" - "version" "8.0.1" - dependencies: - "string-width" "^4.2.0" - "strip-ansi" "^6.0.1" - "wrap-ansi" "^7.0.0" - -"clone-deep@^4.0.1": - "integrity" "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==" - "resolved" "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz" - "version" "4.0.1" - dependencies: - "is-plain-object" "^2.0.4" - "kind-of" "^6.0.2" - "shallow-clone" "^3.0.0" - -"clone-response@1.0.2": - "integrity" "sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==" - "resolved" "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "mimic-response" "^1.0.0" - -"co@^4.6.0": - "integrity" "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==" - "resolved" "https://registry.npmjs.org/co/-/co-4.6.0.tgz" - "version" "4.6.0" - -"collect-v8-coverage@^1.0.0": - "integrity" "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==" - "resolved" "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz" - "version" "1.0.1" - -"color-convert@^1.9.0": - "integrity" "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==" - "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" - "version" "1.9.3" - dependencies: - "color-name" "1.1.3" - -"color-convert@^2.0.1": - "integrity" "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==" - "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "color-name" "~1.1.4" - -"color-name@~1.1.4": - "integrity" "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" - "version" "1.1.4" - -"color-name@1.1.3": - "integrity" "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" - "version" "1.1.3" - -"colorette@^2.0.14": - "integrity" "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==" - "resolved" "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz" - "version" "2.0.19" - -"commander@^2.20.0": - "integrity" "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - "resolved" "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" - "version" "2.20.3" - -"commander@^2.8.1": - "integrity" "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - "resolved" "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" - "version" "2.20.3" - -"commander@^7.0.0": - "integrity" "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" - "resolved" "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" - "version" "7.2.0" - -"commander@^9.4.1": - "integrity" "sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==" - "resolved" "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz" - "version" "9.4.1" - -"concat-map@0.0.1": - "integrity" "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - "resolved" "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - "version" "0.0.1" - -"content-disposition@^0.5.2": - "integrity" "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==" - "resolved" "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz" - "version" "0.5.4" - dependencies: - "safe-buffer" "5.2.1" - -"convert-source-map@^1.6.0": - "integrity" "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" - "resolved" "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" - "version" "1.9.0" - -"convert-source-map@^1.7.0": - "integrity" "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" - "resolved" "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" - "version" "1.9.0" - -"convert-source-map@^2.0.0": - "integrity" "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" - "resolved" "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz" - "version" "2.0.0" - -"core-util-is@~1.0.0": - "integrity" "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - "resolved" "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" - "version" "1.0.3" - -"corser@^2.0.1": - "integrity" "sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==" - "resolved" "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz" - "version" "2.0.1" - -"cosmjs-types@^0.4.0": - "integrity" "sha512-I7E/cHkIgoJzMNQdFF0YVqPlaTqrqKHrskuSTIqlEyxfB5Lf3WKCajSXVK2yHOfOFfSux/RxEdpMzw/eO4DIog==" - "resolved" "https://registry.npmjs.org/cosmjs-types/-/cosmjs-types-0.4.1.tgz" - "version" "0.4.1" - dependencies: - "long" "^4.0.0" - "protobufjs" "~6.11.2" - -"cosmjs-types@^0.5.2": - "integrity" "sha512-zxCtIJj8v3Di7s39uN4LNcN3HIE1z0B9Z0SPE8ZNQR0oSzsuSe1ACgxoFkvhkS7WBasCAFcglS11G2hyfd5tPg==" - "resolved" "https://registry.npmjs.org/cosmjs-types/-/cosmjs-types-0.5.2.tgz" - "version" "0.5.2" - dependencies: - "long" "^4.0.0" - "protobufjs" "~6.11.2" - -"create-require@^1.1.0": - "integrity" "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" - "resolved" "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz" - "version" "1.1.1" - -"cross-spawn@^7.0.2", "cross-spawn@^7.0.3": - "integrity" "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==" - "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" - "version" "7.0.3" - dependencies: - "path-key" "^3.1.0" - "shebang-command" "^2.0.0" - "which" "^2.0.1" - -"dataloader@^1.4.0": - "integrity" "sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==" - "resolved" "https://registry.npmjs.org/dataloader/-/dataloader-1.4.0.tgz" - "version" "1.4.0" - -"debug@^2.6.9": - "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" - "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - "version" "2.6.9" - dependencies: - "ms" "2.0.0" - -"debug@^3.2.7": - "integrity" "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==" - "resolved" "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" - "version" "3.2.7" - dependencies: - "ms" "^2.1.1" - -"debug@^4.1.0", "debug@^4.1.1", "debug@^4.3.1", "debug@^4.3.2", "debug@^4.3.4": - "integrity" "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==" - "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" - "version" "4.3.4" - dependencies: - "ms" "2.1.2" - -"decode-uri-component@^0.2.0": - "integrity" "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==" - "resolved" "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz" - "version" "0.2.2" - -"decompress-response@^3.3.0": - "integrity" "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==" - "resolved" "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz" - "version" "3.3.0" - dependencies: - "mimic-response" "^1.0.0" - -"decompress-tar@^4.0.0", "decompress-tar@^4.1.0", "decompress-tar@^4.1.1": - "integrity" "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==" - "resolved" "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz" - "version" "4.1.1" - dependencies: - "file-type" "^5.2.0" - "is-stream" "^1.1.0" - "tar-stream" "^1.5.2" - -"decompress-tarbz2@^4.0.0": - "integrity" "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==" - "resolved" "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz" - "version" "4.1.1" - dependencies: - "decompress-tar" "^4.1.0" - "file-type" "^6.1.0" - "is-stream" "^1.1.0" - "seek-bzip" "^1.0.5" - "unbzip2-stream" "^1.0.9" - -"decompress-targz@^4.0.0": - "integrity" "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==" - "resolved" "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz" - "version" "4.1.1" - dependencies: - "decompress-tar" "^4.1.1" - "file-type" "^5.2.0" - "is-stream" "^1.1.0" - -"decompress-unzip@^4.0.1": - "integrity" "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==" - "resolved" "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz" - "version" "4.0.1" - dependencies: - "file-type" "^3.8.0" - "get-stream" "^2.2.0" - "pify" "^2.3.0" - "yauzl" "^2.4.2" - -"decompress@^4.2.1": - "integrity" "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==" - "resolved" "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz" - "version" "4.2.1" - dependencies: - "decompress-tar" "^4.0.0" - "decompress-tarbz2" "^4.0.0" - "decompress-targz" "^4.0.0" - "decompress-unzip" "^4.0.1" - "graceful-fs" "^4.1.10" - "make-dir" "^1.0.0" - "pify" "^2.3.0" - "strip-dirs" "^2.0.0" - -"dedent@^0.7.0": - "integrity" "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" - "resolved" "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz" - "version" "0.7.0" - -"deep-is@^0.1.3": - "integrity" "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" - "resolved" "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" - "version" "0.1.4" - -"deepmerge@^4.2.2": - "integrity" "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" - "resolved" "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz" - "version" "4.2.2" - -"define-properties@^1.1.3": - "integrity" "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==" - "resolved" "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz" - "version" "1.1.4" - dependencies: - "has-property-descriptors" "^1.0.0" - "object-keys" "^1.1.1" - -"detect-libc@^1.0.3": - "integrity" "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==" - "resolved" "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz" - "version" "1.0.3" - -"detect-newline@^3.0.0": - "integrity" "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==" - "resolved" "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" - "version" "3.1.0" - -"diff-sequences@^29.3.1": - "integrity" "sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ==" - "resolved" "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.3.1.tgz" - "version" "29.3.1" - -"diff@^4.0.1": - "integrity" "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" - "resolved" "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz" - "version" "4.0.2" - -"dir-glob@^3.0.1": - "integrity" "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==" - "resolved" "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "path-type" "^4.0.0" - -"doctrine@^3.0.0": - "integrity" "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==" - "resolved" "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "esutils" "^2.0.2" - -"download@^8.0.0": - "integrity" "sha512-ASRY5QhDk7FK+XrQtQyvhpDKanLluEEQtWl/J7Lxuf/b+i8RYh997QeXvL85xitrmRKVlx9c7eTrcRdq2GS4eA==" - "resolved" "https://registry.npmjs.org/download/-/download-8.0.0.tgz" - "version" "8.0.0" - dependencies: - "archive-type" "^4.0.0" - "content-disposition" "^0.5.2" - "decompress" "^4.2.1" - "ext-name" "^5.0.0" - "file-type" "^11.1.0" - "filenamify" "^3.0.0" - "get-stream" "^4.1.0" - "got" "^8.3.1" - "make-dir" "^2.1.0" - "p-event" "^2.1.0" - "pify" "^4.0.1" - -"dprint-node@^1.0.7": - "integrity" "sha512-NTZOW9A7ipb0n7z7nC3wftvsbceircwVHSgzobJsEQa+7RnOMbhrfX5IflA6CtC4GA63DSAiHYXa4JKEy9F7cA==" - "resolved" "https://registry.npmjs.org/dprint-node/-/dprint-node-1.0.7.tgz" - "version" "1.0.7" - dependencies: - "detect-libc" "^1.0.3" - -"duplexer3@^0.1.4": - "integrity" "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==" - "resolved" "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz" - "version" "0.1.5" - -"electron-to-chromium@^1.4.251": - "integrity" "sha512-EpuHPqu8YhonqLBXHoU6hDJCD98FCe6KDoet3/gY1qsQ6usjJoHqBH2YIVs8FXaAtHwVL8Uqa/fsYao/vq9VWQ==" - "resolved" "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.276.tgz" - "version" "1.4.276" - -"elliptic@^6.5.3", "elliptic@^6.5.4": - "integrity" "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==" - "resolved" "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz" - "version" "6.5.4" - dependencies: - "bn.js" "^4.11.9" - "brorand" "^1.1.0" - "hash.js" "^1.0.0" - "hmac-drbg" "^1.0.1" - "inherits" "^2.0.4" - "minimalistic-assert" "^1.0.1" - "minimalistic-crypto-utils" "^1.0.1" - -"emittery@^0.13.1": - "integrity" "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==" - "resolved" "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz" - "version" "0.13.1" - -"emoji-regex@^8.0.0": - "integrity" "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" - "version" "8.0.0" - -"end-of-stream@^1.0.0", "end-of-stream@^1.1.0": - "integrity" "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==" - "resolved" "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" - "version" "1.4.4" - dependencies: - "once" "^1.4.0" - -"enhanced-resolve@^5.10.0": - "integrity" "sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==" - "resolved" "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz" - "version" "5.10.0" - dependencies: - "graceful-fs" "^4.2.4" - "tapable" "^2.2.0" - -"envinfo@^7.7.3": - "integrity" "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==" - "resolved" "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz" - "version" "7.8.1" - -"error-ex@^1.3.1": - "integrity" "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==" - "resolved" "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" - "version" "1.3.2" - dependencies: - "is-arrayish" "^0.2.1" - -"es-module-lexer@^0.9.0": - "integrity" "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==" - "resolved" "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz" - "version" "0.9.3" - -"escalade@^3.1.1": - "integrity" "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - "resolved" "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" - "version" "3.1.1" - -"escape-string-regexp@^1.0.2": - "integrity" "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - "version" "1.0.5" - -"escape-string-regexp@^1.0.5": - "integrity" "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - "version" "1.0.5" - -"escape-string-regexp@^2.0.0": - "integrity" "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" - "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" - "version" "2.0.0" - -"escape-string-regexp@^4.0.0": - "integrity" "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" - "version" "4.0.0" - -"eslint-config-prettier@^8.5.0": - "integrity" "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==" - "resolved" "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz" - "version" "8.5.0" - -"eslint-plugin-prettier@^4.2.1": - "integrity" "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==" - "resolved" "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz" - "version" "4.2.1" - dependencies: - "prettier-linter-helpers" "^1.0.0" - -"eslint-scope@^5.1.1", "eslint-scope@5.1.1": - "integrity" "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==" - "resolved" "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" - "version" "5.1.1" - dependencies: - "esrecurse" "^4.3.0" - "estraverse" "^4.1.1" - -"eslint-scope@^7.2.2": - "integrity" "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==" - "resolved" "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz" - "version" "7.2.2" - dependencies: - "esrecurse" "^4.3.0" - "estraverse" "^5.2.0" - -"eslint-utils@^3.0.0": - "integrity" "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==" - "resolved" "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "eslint-visitor-keys" "^2.0.0" - -"eslint-visitor-keys@^2.0.0": - "integrity" "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" - "resolved" "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" - "version" "2.1.0" - -"eslint-visitor-keys@^3.3.0", "eslint-visitor-keys@^3.4.1", "eslint-visitor-keys@^3.4.3": - "integrity" "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==" - "resolved" "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz" - "version" "3.4.3" - -"eslint@*", "eslint@^6.0.0 || ^7.0.0 || ^8.0.0", "eslint@^6.0.0 || ^7.0.0 || >=8.0.0", "eslint@^8.57.0", "eslint@>=5", "eslint@>=7.0.0", "eslint@>=7.28.0": - "integrity" "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==" - "resolved" "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz" - "version" "8.57.0" +bl@^1.0.0: + version "1.2.3" + resolved "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz" + integrity sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww== + dependencies: + readable-stream "^2.3.5" + safe-buffer "^5.1.1" + +bn.js@^4.11.9: + version "4.12.0" + resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== + +bn.js@^5.2.0: + version "5.2.0" + resolved "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz" + integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz" + integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= + +browser-headers@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/browser-headers/-/browser-headers-0.4.1.tgz" + integrity sha512-CA9hsySZVo9371qEHjHZtYxV2cFtVj5Wj/ZHi8ooEsrtm4vOnl9Y9HmyYWk9q+05d7K3rdoAE0j3MVEFVvtQtg== + +browserslist@^4.14.5, browserslist@^4.21.3: + version "4.21.4" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz" + integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== + dependencies: + caniuse-lite "^1.0.30001400" + electron-to-chromium "^1.4.251" + node-releases "^2.0.6" + update-browserslist-db "^1.0.9" + +bs-logger@0.x: + version "0.2.6" + resolved "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz" + integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== + dependencies: + fast-json-stable-stringify "2.x" + +bser@2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== + dependencies: + node-int64 "^0.4.0" + +buffer-alloc-unsafe@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz" + integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== + +buffer-alloc@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz" + integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== + dependencies: + buffer-alloc-unsafe "^1.1.0" + buffer-fill "^1.0.0" + +buffer-crc32@~0.2.3: + version "0.2.13" + resolved "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz" + integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== + +buffer-fill@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz" + integrity sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ== + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer@^5.2.1: + version "5.7.1" + resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + +cacheable-request@^2.1.1: + version "2.1.4" + resolved "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz" + integrity sha512-vag0O2LKZ/najSoUwDbVlnlCFvhBE/7mGTY2B5FgCBDcRD+oVV1HYTOwM6JZfMg/hIcM6IwnTZ1uQQL5/X3xIQ== + dependencies: + clone-response "1.0.2" + get-stream "3.0.0" + http-cache-semantics "3.8.1" + keyv "3.0.0" + lowercase-keys "1.0.0" + normalize-url "2.0.1" + responselike "1.0.2" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelcase@^6.2.0: + version "6.3.0" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +caniuse-lite@^1.0.30001400: + version "1.0.30001418" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001418.tgz" + integrity sha512-oIs7+JL3K9JRQ3jPZjlH6qyYDp+nBTCais7hjh0s+fuBwufc7uZ7hPYMXrDOJhV360KGMTcczMRObk0/iMqZRg== + +case-anything@^2.1.10: + version "2.1.10" + resolved "https://registry.npmjs.org/case-anything/-/case-anything-2.1.10.tgz" + integrity sha512-JczJwVrCP0jPKh05McyVsuOg6AYosrB9XWZKbQzXeDAm2ClE/PJE/BcrrQrVyGYH7Jg8V/LDupmyL4kFlVsVFQ== + +chalk@4.1.2, chalk@^4.0.0, chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^2.0.0: + version "2.4.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +char-regex@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" + integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== + +chrome-trace-event@^1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" + integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== + +ci-info@^3.2.0: + version "3.5.0" + resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.5.0.tgz" + integrity sha512-yH4RezKOGlOhxkmhbeNuC4eYZKAUsEaGtBuBzDDP1eFUKiccDWzBABxBfOx31IDwDIXMTxWuwAxUGModvkbuVw== + +cjs-module-lexer@^1.0.0: + version "1.2.3" + resolved "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz" + integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== + +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + +clone-response@1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz" + integrity sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q== + dependencies: + mimic-response "^1.0.0" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz" + integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== + +collect-v8-coverage@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz" + integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q== + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +colorette@^2.0.14: + version "2.0.19" + resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz" + integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== + +commander@^2.20.0, commander@^2.8.1: + version "2.20.3" + resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^7.0.0: + version "7.2.0" + resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + +commander@^9.4.1: + version "9.4.1" + resolved "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz" + integrity sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +content-disposition@^0.5.2: + version "0.5.4" + resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz" + integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== + dependencies: + safe-buffer "5.2.1" + +convert-source-map@^1.7.0: + version "1.9.0" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +corser@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz" + integrity sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ== + +cosmjs-types@^0.4.0: + version "0.4.1" + resolved "https://registry.npmjs.org/cosmjs-types/-/cosmjs-types-0.4.1.tgz" + integrity sha512-I7E/cHkIgoJzMNQdFF0YVqPlaTqrqKHrskuSTIqlEyxfB5Lf3WKCajSXVK2yHOfOFfSux/RxEdpMzw/eO4DIog== + dependencies: + long "^4.0.0" + protobufjs "~6.11.2" + +cosmjs-types@^0.5.2: + version "0.5.2" + resolved "https://registry.npmjs.org/cosmjs-types/-/cosmjs-types-0.5.2.tgz" + integrity sha512-zxCtIJj8v3Di7s39uN4LNcN3HIE1z0B9Z0SPE8ZNQR0oSzsuSe1ACgxoFkvhkS7WBasCAFcglS11G2hyfd5tPg== + dependencies: + long "^4.0.0" + protobufjs "~6.11.2" + +create-jest@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz" + integrity sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q== + dependencies: + "@jest/types" "^29.6.3" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + jest-config "^29.7.0" + jest-util "^29.7.0" + prompts "^2.0.1" + +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + +cross-spawn@^7.0.2, cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +dataloader@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/dataloader/-/dataloader-1.4.0.tgz" + integrity sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw== + +debug@^2.6.9: + version "2.6.9" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@^3.2.7: + version "3.2.7" + resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: + version "4.3.4" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +decode-uri-component@^0.2.0: + version "0.2.2" + resolved "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz" + integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== + +decompress-response@^3.3.0: + version "3.3.0" + resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz" + integrity sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA== + dependencies: + mimic-response "^1.0.0" + +decompress-tar@^4.0.0, decompress-tar@^4.1.0, decompress-tar@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz" + integrity sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ== + dependencies: + file-type "^5.2.0" + is-stream "^1.1.0" + tar-stream "^1.5.2" + +decompress-tarbz2@^4.0.0: + version "4.1.1" + resolved "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz" + integrity sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A== + dependencies: + decompress-tar "^4.1.0" + file-type "^6.1.0" + is-stream "^1.1.0" + seek-bzip "^1.0.5" + unbzip2-stream "^1.0.9" + +decompress-targz@^4.0.0: + version "4.1.1" + resolved "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz" + integrity sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w== + dependencies: + decompress-tar "^4.1.1" + file-type "^5.2.0" + is-stream "^1.1.0" + +decompress-unzip@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz" + integrity sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw== + dependencies: + file-type "^3.8.0" + get-stream "^2.2.0" + pify "^2.3.0" + yauzl "^2.4.2" + +decompress@^4.2.1: + version "4.2.1" + resolved "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz" + integrity sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ== + dependencies: + decompress-tar "^4.0.0" + decompress-tarbz2 "^4.0.0" + decompress-targz "^4.0.0" + decompress-unzip "^4.0.1" + graceful-fs "^4.1.10" + make-dir "^1.0.0" + pify "^2.3.0" + strip-dirs "^2.0.0" + +dedent@^1.0.0: + version "1.5.1" + resolved "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz" + integrity sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg== + +deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +deepmerge@^4.2.2: + version "4.3.1" + resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== + +define-properties@^1.1.3: + version "1.1.4" + resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz" + integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== + dependencies: + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +detect-libc@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz" + integrity sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg== + +detect-newline@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" + integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== + +diff-sequences@^29.6.3: + version "29.6.3" + resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz" + integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== + +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +download@^8.0.0: + version "8.0.0" + resolved "https://registry.npmjs.org/download/-/download-8.0.0.tgz" + integrity sha512-ASRY5QhDk7FK+XrQtQyvhpDKanLluEEQtWl/J7Lxuf/b+i8RYh997QeXvL85xitrmRKVlx9c7eTrcRdq2GS4eA== + dependencies: + archive-type "^4.0.0" + content-disposition "^0.5.2" + decompress "^4.2.1" + ext-name "^5.0.0" + file-type "^11.1.0" + filenamify "^3.0.0" + get-stream "^4.1.0" + got "^8.3.1" + make-dir "^2.1.0" + p-event "^2.1.0" + pify "^4.0.1" + +dprint-node@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/dprint-node/-/dprint-node-1.0.7.tgz" + integrity sha512-NTZOW9A7ipb0n7z7nC3wftvsbceircwVHSgzobJsEQa+7RnOMbhrfX5IflA6CtC4GA63DSAiHYXa4JKEy9F7cA== + dependencies: + detect-libc "^1.0.3" + +duplexer3@^0.1.4: + version "0.1.5" + resolved "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz" + integrity sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA== + +electron-to-chromium@^1.4.251: + version "1.4.276" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.276.tgz" + integrity sha512-EpuHPqu8YhonqLBXHoU6hDJCD98FCe6KDoet3/gY1qsQ6usjJoHqBH2YIVs8FXaAtHwVL8Uqa/fsYao/vq9VWQ== + +elliptic@^6.5.3, elliptic@^6.5.4: + version "6.5.4" + resolved "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz" + integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + +emittery@^0.13.1: + version "0.13.1" + resolved "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz" + integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +end-of-stream@^1.0.0, end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +enhanced-resolve@^5.10.0: + version "5.10.0" + resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz" + integrity sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + +envinfo@^7.7.3: + version "7.8.1" + resolved "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz" + integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw== + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +es-module-lexer@^0.9.0: + version "0.9.3" + resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz" + integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +eslint-config-prettier@^8.5.0: + version "8.5.0" + resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz" + integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q== + +eslint-plugin-prettier@^4.2.1: + version "4.2.1" + resolved "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz" + integrity sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ== + dependencies: + prettier-linter-helpers "^1.0.0" + +eslint-scope@5.1.1, eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-scope@^7.2.2: + version "7.2.2" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" + integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz" + integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== + dependencies: + eslint-visitor-keys "^2.0.0" + +eslint-visitor-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + +eslint-visitor-keys@^3.3.0: + version "3.3.0" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz" + integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== + +eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: + version "3.4.3" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" + integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== + +eslint@^8.57.0: + version "8.57.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.0.tgz#c786a6fd0e0b68941aaf624596fb987089195668" + integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.6.1" @@ -3676,1780 +3670,1780 @@ "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" "@ungap/structured-clone" "^1.2.0" - "ajv" "^6.12.4" - "chalk" "^4.0.0" - "cross-spawn" "^7.0.2" - "debug" "^4.3.2" - "doctrine" "^3.0.0" - "escape-string-regexp" "^4.0.0" - "eslint-scope" "^7.2.2" - "eslint-visitor-keys" "^3.4.3" - "espree" "^9.6.1" - "esquery" "^1.4.2" - "esutils" "^2.0.2" - "fast-deep-equal" "^3.1.3" - "file-entry-cache" "^6.0.1" - "find-up" "^5.0.0" - "glob-parent" "^6.0.2" - "globals" "^13.19.0" - "graphemer" "^1.4.0" - "ignore" "^5.2.0" - "imurmurhash" "^0.1.4" - "is-glob" "^4.0.0" - "is-path-inside" "^3.0.3" - "js-yaml" "^4.1.0" - "json-stable-stringify-without-jsonify" "^1.0.1" - "levn" "^0.4.1" - "lodash.merge" "^4.6.2" - "minimatch" "^3.1.2" - "natural-compare" "^1.4.0" - "optionator" "^0.9.3" - "strip-ansi" "^6.0.1" - "text-table" "^0.2.0" - -"espree@^9.6.0", "espree@^9.6.1": - "integrity" "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==" - "resolved" "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz" - "version" "9.6.1" - dependencies: - "acorn" "^8.9.0" - "acorn-jsx" "^5.3.2" - "eslint-visitor-keys" "^3.4.1" - -"esprima@^4.0.0": - "integrity" "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - "resolved" "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" - "version" "4.0.1" - -"esquery@^1.4.2": - "integrity" "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==" - "resolved" "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz" - "version" "1.5.0" - dependencies: - "estraverse" "^5.1.0" - -"esrecurse@^4.3.0": - "integrity" "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==" - "resolved" "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" - "version" "4.3.0" - dependencies: - "estraverse" "^5.2.0" - -"estraverse@^4.1.1": - "integrity" "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" - "version" "4.3.0" - -"estraverse@^5.1.0": - "integrity" "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" - "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" - "version" "5.3.0" - -"estraverse@^5.2.0": - "integrity" "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" - "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" - "version" "5.3.0" - -"esutils@^2.0.2": - "integrity" "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" - "resolved" "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" - "version" "2.0.3" - -"eventemitter3@^4.0.0": - "integrity" "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" - "resolved" "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" - "version" "4.0.7" - -"events@^3.2.0": - "integrity" "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" - "resolved" "https://registry.npmjs.org/events/-/events-3.3.0.tgz" - "version" "3.3.0" - -"execa@^5.0.0": - "integrity" "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==" - "resolved" "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" - "version" "5.1.1" - dependencies: - "cross-spawn" "^7.0.3" - "get-stream" "^6.0.0" - "human-signals" "^2.1.0" - "is-stream" "^2.0.0" - "merge-stream" "^2.0.0" - "npm-run-path" "^4.0.1" - "onetime" "^5.1.2" - "signal-exit" "^3.0.3" - "strip-final-newline" "^2.0.0" - -"exit@^0.1.2": - "integrity" "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==" - "resolved" "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" - "version" "0.1.2" - -"expect@^29.0.0", "expect@^29.3.1": - "integrity" "sha512-gGb1yTgU30Q0O/tQq+z30KBWv24ApkMgFUpvKBkyLUBL68Wv8dHdJxTBZFl/iT8K/bqDHvUYRH6IIN3rToopPA==" - "resolved" "https://registry.npmjs.org/expect/-/expect-29.3.1.tgz" - "version" "29.3.1" - dependencies: - "@jest/expect-utils" "^29.3.1" - "jest-get-type" "^29.2.0" - "jest-matcher-utils" "^29.3.1" - "jest-message-util" "^29.3.1" - "jest-util" "^29.3.1" - -"ext-list@^2.0.0": - "integrity" "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==" - "resolved" "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz" - "version" "2.2.2" - dependencies: - "mime-db" "^1.28.0" - -"ext-name@^5.0.0": - "integrity" "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==" - "resolved" "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "ext-list" "^2.0.0" - "sort-keys-length" "^1.0.0" - -"fast-deep-equal@^3.1.1", "fast-deep-equal@^3.1.3": - "integrity" "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - "resolved" "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" - "version" "3.1.3" - -"fast-diff@^1.1.2": - "integrity" "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==" - "resolved" "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz" - "version" "1.2.0" - -"fast-glob@^3.2.9": - "integrity" "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==" - "resolved" "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz" - "version" "3.2.12" + ajv "^6.12.4" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + doctrine "^3.0.0" + escape-string-regexp "^4.0.0" + eslint-scope "^7.2.2" + eslint-visitor-keys "^3.4.3" + espree "^9.6.1" + esquery "^1.4.2" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + find-up "^5.0.0" + glob-parent "^6.0.2" + globals "^13.19.0" + graphemer "^1.4.0" + ignore "^5.2.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + is-path-inside "^3.0.3" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.1.2" + natural-compare "^1.4.0" + optionator "^0.9.3" + strip-ansi "^6.0.1" + text-table "^0.2.0" + +espree@^9.6.0, espree@^9.6.1: + version "9.6.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" + integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== + dependencies: + acorn "^8.9.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.4.1" + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esquery@^1.4.2: + version "1.5.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" + integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +eventemitter3@^4.0.0: + version "4.0.7" + resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + +events@^3.2.0: + version "3.3.0" + resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +execa@^5.0.0: + version "5.1.1" + resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" + integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== + +expect@^29.0.0, expect@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz" + integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== + dependencies: + "@jest/expect-utils" "^29.7.0" + jest-get-type "^29.6.3" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + +ext-list@^2.0.0: + version "2.2.2" + resolved "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz" + integrity sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA== + dependencies: + mime-db "^1.28.0" + +ext-name@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz" + integrity sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ== + dependencies: + ext-list "^2.0.0" + sort-keys-length "^1.0.0" + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-diff@^1.1.2: + version "1.2.0" + resolved "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz" + integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== + +fast-glob@^3.2.9: + version "3.2.12" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz" + integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" - "glob-parent" "^5.1.2" - "merge2" "^1.3.0" - "micromatch" "^4.0.4" - -"fast-json-stable-stringify@^2.0.0", "fast-json-stable-stringify@^2.1.0", "fast-json-stable-stringify@2.x": - "integrity" "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - "resolved" "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" - "version" "2.1.0" - -"fast-levenshtein@^2.0.6": - "integrity" "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" - "resolved" "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" - "version" "2.0.6" - -"fastest-levenshtein@^1.0.12": - "integrity" "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==" - "resolved" "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz" - "version" "1.0.16" - -"fastq@^1.6.0": - "integrity" "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==" - "resolved" "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz" - "version" "1.13.0" - dependencies: - "reusify" "^1.0.4" - -"fb-watchman@^2.0.0": - "integrity" "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==" - "resolved" "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "bser" "2.1.1" - -"fd-slicer@~1.1.0": - "integrity" "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==" - "resolved" "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz" - "version" "1.1.0" - dependencies: - "pend" "~1.2.0" - -"file-entry-cache@^6.0.1": - "integrity" "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==" - "resolved" "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" - "version" "6.0.1" - dependencies: - "flat-cache" "^3.0.4" - -"file-type@^11.1.0": - "integrity" "sha512-rM0UO7Qm9K7TWTtA6AShI/t7H5BPjDeGVDaNyg9BjHAj3PysKy7+8C8D137R88jnR3rFJZQB/tFgydl5sN5m7g==" - "resolved" "https://registry.npmjs.org/file-type/-/file-type-11.1.0.tgz" - "version" "11.1.0" - -"file-type@^3.8.0": - "integrity" "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==" - "resolved" "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz" - "version" "3.9.0" - -"file-type@^4.2.0": - "integrity" "sha512-f2UbFQEk7LXgWpi5ntcO86OeA/cC80fuDDDaX/fZ2ZGel+AF7leRQqBBW1eJNiiQkrZlAoM6P+VYP5P6bOlDEQ==" - "resolved" "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz" - "version" "4.4.0" - -"file-type@^5.2.0": - "integrity" "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==" - "resolved" "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz" - "version" "5.2.0" - -"file-type@^6.1.0": - "integrity" "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==" - "resolved" "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz" - "version" "6.2.0" - -"filename-reserved-regex@^2.0.0": - "integrity" "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==" - "resolved" "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz" - "version" "2.0.0" - -"filenamify@^3.0.0": - "integrity" "sha512-5EFZ//MsvJgXjBAFJ+Bh2YaCTRF/VP1YOmGrgt+KJ4SFRLjI87EIdwLLuT6wQX0I4F9W41xutobzczjsOKlI/g==" - "resolved" "https://registry.npmjs.org/filenamify/-/filenamify-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "filename-reserved-regex" "^2.0.0" - "strip-outer" "^1.0.0" - "trim-repeated" "^1.0.0" - -"fill-range@^7.0.1": - "integrity" "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==" - "resolved" "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" - "version" "7.0.1" - dependencies: - "to-regex-range" "^5.0.1" - -"find-up@^4.0.0": - "integrity" "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==" - "resolved" "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "locate-path" "^5.0.0" - "path-exists" "^4.0.0" - -"find-up@^4.1.0": - "integrity" "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==" - "resolved" "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "locate-path" "^5.0.0" - "path-exists" "^4.0.0" - -"find-up@^5.0.0": - "integrity" "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==" - "resolved" "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "locate-path" "^6.0.0" - "path-exists" "^4.0.0" - -"flat-cache@^3.0.4": - "integrity" "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==" - "resolved" "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" - "version" "3.0.4" - dependencies: - "flatted" "^3.1.0" - "rimraf" "^3.0.2" - -"flatted@^3.1.0": - "integrity" "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" - "resolved" "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz" - "version" "3.2.7" - -"follow-redirects@^1.0.0", "follow-redirects@^1.14.0": - "integrity" "sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==" - "resolved" "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.0.tgz" - "version" "1.15.0" - -"from2@^2.1.1": - "integrity" "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==" - "resolved" "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz" - "version" "2.3.0" - dependencies: - "inherits" "^2.0.1" - "readable-stream" "^2.0.0" - -"fs-constants@^1.0.0": - "integrity" "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - "resolved" "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz" - "version" "1.0.0" - -"fs.realpath@^1.0.0": - "integrity" "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - "resolved" "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" - "version" "1.0.0" - -"function-bind@^1.1.1": - "integrity" "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - "resolved" "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" - "version" "1.1.1" - -"gensync@^1.0.0-beta.2": - "integrity" "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" - "resolved" "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" - "version" "1.0.0-beta.2" - -"get-caller-file@^2.0.5": - "integrity" "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - "resolved" "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" - "version" "2.0.5" - -"get-intrinsic@^1.1.1": - "integrity" "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==" - "resolved" "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz" - "version" "1.1.3" - dependencies: - "function-bind" "^1.1.1" - "has" "^1.0.3" - "has-symbols" "^1.0.3" - -"get-package-type@^0.1.0": - "integrity" "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==" - "resolved" "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz" - "version" "0.1.0" - -"get-stream@^2.2.0": - "integrity" "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==" - "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz" - "version" "2.3.1" - dependencies: - "object-assign" "^4.0.1" - "pinkie-promise" "^2.0.0" - -"get-stream@^3.0.0": - "integrity" "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==" - "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz" - "version" "3.0.0" - -"get-stream@^4.1.0": - "integrity" "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==" - "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "pump" "^3.0.0" - -"get-stream@^6.0.0": - "integrity" "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" - "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" - "version" "6.0.1" - -"get-stream@3.0.0": - "integrity" "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==" - "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz" - "version" "3.0.0" - -"glob-parent@^5.1.2": - "integrity" "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==" - "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" - "version" "5.1.2" - dependencies: - "is-glob" "^4.0.1" - -"glob-parent@^6.0.2": - "integrity" "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==" - "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" - "version" "6.0.2" - dependencies: - "is-glob" "^4.0.3" - -"glob-to-regexp@^0.4.1": - "integrity" "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" - "resolved" "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" - "version" "0.4.1" - -"glob@^7.1.3", "glob@^7.1.4": - "integrity" "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==" - "resolved" "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" - "version" "7.2.3" - dependencies: - "fs.realpath" "^1.0.0" - "inflight" "^1.0.4" - "inherits" "2" - "minimatch" "^3.1.1" - "once" "^1.3.0" - "path-is-absolute" "^1.0.0" - -"globals@^11.1.0": - "integrity" "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - "resolved" "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" - "version" "11.12.0" - -"globals@^13.19.0": - "integrity" "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==" - "resolved" "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz" - "version" "13.24.0" - dependencies: - "type-fest" "^0.20.2" - -"globalthis@^1.0.1": - "integrity" "sha512-ZQnSFO1la8P7auIOQECnm0sSuoMeaSq0EEdXMBFF2QJO4uNcwbyhSgG3MruWNbFTqCLmxVwGOl7LZ9kASvHdeQ==" - "resolved" "https://registry.npmjs.org/globalthis/-/globalthis-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "define-properties" "^1.1.3" - -"globby@^11.1.0": - "integrity" "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==" - "resolved" "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" - "version" "11.1.0" - dependencies: - "array-union" "^2.1.0" - "dir-glob" "^3.0.1" - "fast-glob" "^3.2.9" - "ignore" "^5.2.0" - "merge2" "^1.4.1" - "slash" "^3.0.0" - -"google-protobuf@^3.14.0", "google-protobuf@^3.15.5", "google-protobuf@^3.21.2": - "integrity" "sha512-3MSOYFO5U9mPGikIYCzK0SaThypfGgS6bHqrUGXG3DPHCrb+txNqeEcns1W0lkGfk0rCyNXm7xB9rMxnCiZOoA==" - "resolved" "https://registry.npmjs.org/google-protobuf/-/google-protobuf-3.21.2.tgz" - "version" "3.21.2" - -"got@^8.3.1": - "integrity" "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==" - "resolved" "https://registry.npmjs.org/got/-/got-8.3.2.tgz" - "version" "8.3.2" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fastest-levenshtein@^1.0.12: + version "1.0.16" + resolved "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz" + integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== + +fastq@^1.6.0: + version "1.13.0" + resolved "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz" + integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== + dependencies: + reusify "^1.0.4" + +fb-watchman@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz" + integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== + dependencies: + bser "2.1.1" + +fd-slicer@~1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz" + integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== + dependencies: + pend "~1.2.0" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +file-type@^11.1.0: + version "11.1.0" + resolved "https://registry.npmjs.org/file-type/-/file-type-11.1.0.tgz" + integrity sha512-rM0UO7Qm9K7TWTtA6AShI/t7H5BPjDeGVDaNyg9BjHAj3PysKy7+8C8D137R88jnR3rFJZQB/tFgydl5sN5m7g== + +file-type@^3.8.0: + version "3.9.0" + resolved "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz" + integrity sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA== + +file-type@^4.2.0: + version "4.4.0" + resolved "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz" + integrity sha512-f2UbFQEk7LXgWpi5ntcO86OeA/cC80fuDDDaX/fZ2ZGel+AF7leRQqBBW1eJNiiQkrZlAoM6P+VYP5P6bOlDEQ== + +file-type@^5.2.0: + version "5.2.0" + resolved "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz" + integrity sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ== + +file-type@^6.1.0: + version "6.2.0" + resolved "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz" + integrity sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg== + +filename-reserved-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz" + integrity sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ== + +filenamify@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/filenamify/-/filenamify-3.0.0.tgz" + integrity sha512-5EFZ//MsvJgXjBAFJ+Bh2YaCTRF/VP1YOmGrgt+KJ4SFRLjI87EIdwLLuT6wQX0I4F9W41xutobzczjsOKlI/g== + dependencies: + filename-reserved-regex "^2.0.0" + strip-outer "^1.0.0" + trim-repeated "^1.0.0" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + dependencies: + flatted "^3.1.0" + rimraf "^3.0.2" + +flatted@^3.1.0: + version "3.2.7" + resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz" + integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== + +follow-redirects@^1.0.0, follow-redirects@^1.14.0: + version "1.15.0" + resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.0.tgz" + integrity sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ== + +from2@^2.1.1: + version "2.3.0" + resolved "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz" + integrity sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g== + dependencies: + inherits "^2.0.1" + readable-stream "^2.0.0" + +fs-constants@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz" + integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@^2.3.2: + version "2.3.3" + resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-intrinsic@^1.1.1: + version "1.1.3" + resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz" + integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.3" + +get-package-type@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz" + integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== + +get-stream@3.0.0, get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz" + integrity sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ== + +get-stream@^2.2.0: + version "2.3.1" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz" + integrity sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA== + dependencies: + object-assign "^4.0.1" + pinkie-promise "^2.0.0" + +get-stream@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +glob-parent@^5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob-to-regexp@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" + integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== + +glob@^7.1.3, glob@^7.1.4: + version "7.2.3" + resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globals@^13.19.0: + version "13.24.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" + integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== + dependencies: + type-fest "^0.20.2" + +globalthis@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.2.tgz" + integrity sha512-ZQnSFO1la8P7auIOQECnm0sSuoMeaSq0EEdXMBFF2QJO4uNcwbyhSgG3MruWNbFTqCLmxVwGOl7LZ9kASvHdeQ== + dependencies: + define-properties "^1.1.3" + +globby@^11.1.0: + version "11.1.0" + resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + +google-protobuf@^3.15.5, google-protobuf@^3.21.2: + version "3.21.2" + resolved "https://registry.npmjs.org/google-protobuf/-/google-protobuf-3.21.2.tgz" + integrity sha512-3MSOYFO5U9mPGikIYCzK0SaThypfGgS6bHqrUGXG3DPHCrb+txNqeEcns1W0lkGfk0rCyNXm7xB9rMxnCiZOoA== + +got@^8.3.1: + version "8.3.2" + resolved "https://registry.npmjs.org/got/-/got-8.3.2.tgz" + integrity sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw== dependencies: "@sindresorhus/is" "^0.7.0" - "cacheable-request" "^2.1.1" - "decompress-response" "^3.3.0" - "duplexer3" "^0.1.4" - "get-stream" "^3.0.0" - "into-stream" "^3.1.0" - "is-retry-allowed" "^1.1.0" - "isurl" "^1.0.0-alpha5" - "lowercase-keys" "^1.0.0" - "mimic-response" "^1.0.0" - "p-cancelable" "^0.4.0" - "p-timeout" "^2.0.1" - "pify" "^3.0.0" - "safe-buffer" "^5.1.1" - "timed-out" "^4.0.1" - "url-parse-lax" "^3.0.0" - "url-to-options" "^1.0.1" - -"graceful-fs@^4.1.10", "graceful-fs@^4.1.2", "graceful-fs@^4.2.4", "graceful-fs@^4.2.9": - "integrity" "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" - "resolved" "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz" - "version" "4.2.10" - -"graphemer@^1.4.0": - "integrity" "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" - "resolved" "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz" - "version" "1.4.0" - -"grpc-web@^1.4.2": - "integrity" "sha512-gUxWq42l5ldaRplcKb4Pw5O4XBONWZgz3vxIIXnfIeJj8Jc3wYiq2O4c9xzx/NGbbPEej4rhI62C9eTENwLGNw==" - "resolved" "https://registry.npmjs.org/grpc-web/-/grpc-web-1.4.2.tgz" - "version" "1.4.2" - -"has-flag@^3.0.0": - "integrity" "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" - "version" "3.0.0" - -"has-flag@^4.0.0": - "integrity" "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" - "version" "4.0.0" - -"has-property-descriptors@^1.0.0": - "integrity" "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==" - "resolved" "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "get-intrinsic" "^1.1.1" - -"has-symbol-support-x@^1.4.1": - "integrity" "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==" - "resolved" "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz" - "version" "1.4.2" - -"has-symbols@^1.0.3": - "integrity" "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - "resolved" "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" - "version" "1.0.3" - -"has-to-string-tag-x@^1.2.0": - "integrity" "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==" - "resolved" "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz" - "version" "1.4.1" - dependencies: - "has-symbol-support-x" "^1.4.1" - -"has@^1.0.3": - "integrity" "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==" - "resolved" "https://registry.npmjs.org/has/-/has-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "function-bind" "^1.1.1" - -"hash-base@^3.0.0": - "integrity" "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==" - "resolved" "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "inherits" "^2.0.4" - "readable-stream" "^3.6.0" - "safe-buffer" "^5.2.0" - -"hash.js@^1.0.0", "hash.js@^1.0.3": - "integrity" "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==" - "resolved" "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz" - "version" "1.1.7" - dependencies: - "inherits" "^2.0.3" - "minimalistic-assert" "^1.0.1" - -"he@^1.2.0": - "integrity" "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" - "resolved" "https://registry.npmjs.org/he/-/he-1.2.0.tgz" - "version" "1.2.0" - -"hmac-drbg@^1.0.1": - "integrity" "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==" - "resolved" "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "hash.js" "^1.0.3" - "minimalistic-assert" "^1.0.0" - "minimalistic-crypto-utils" "^1.0.1" - -"html-encoding-sniffer@^3.0.0": - "integrity" "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==" - "resolved" "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "whatwg-encoding" "^2.0.0" - -"html-escaper@^2.0.0": - "integrity" "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" - "resolved" "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" - "version" "2.0.2" - -"http-cache-semantics@3.8.1": - "integrity" "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==" - "resolved" "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz" - "version" "3.8.1" - -"http-proxy@^1.18.1": - "integrity" "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==" - "resolved" "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz" - "version" "1.18.1" - dependencies: - "eventemitter3" "^4.0.0" - "follow-redirects" "^1.0.0" - "requires-port" "^1.0.0" - -"http-server@^14.1.1": - "integrity" "sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A==" - "resolved" "https://registry.npmjs.org/http-server/-/http-server-14.1.1.tgz" - "version" "14.1.1" - dependencies: - "basic-auth" "^2.0.1" - "chalk" "^4.1.2" - "corser" "^2.0.1" - "he" "^1.2.0" - "html-encoding-sniffer" "^3.0.0" - "http-proxy" "^1.18.1" - "mime" "^1.6.0" - "minimist" "^1.2.6" - "opener" "^1.5.1" - "portfinder" "^1.0.28" - "secure-compare" "3.0.1" - "union" "~0.5.0" - "url-join" "^4.0.1" - -"human-signals@^2.1.0": - "integrity" "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" - "resolved" "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" - "version" "2.1.0" - -"iconv-lite@0.6.3": - "integrity" "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==" - "resolved" "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" - "version" "0.6.3" - dependencies: - "safer-buffer" ">= 2.1.2 < 3.0.0" - -"ieee754@^1.1.13": - "integrity" "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - "resolved" "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" - "version" "1.2.1" - -"ignore@^5.2.0": - "integrity" "sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA==" - "resolved" "https://registry.npmjs.org/ignore/-/ignore-5.2.1.tgz" - "version" "5.2.1" - -"import-fresh@^3.2.1": - "integrity" "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==" - "resolved" "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" - "version" "3.3.0" - dependencies: - "parent-module" "^1.0.0" - "resolve-from" "^4.0.0" - -"import-local@^3.0.2": - "integrity" "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==" - "resolved" "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "pkg-dir" "^4.2.0" - "resolve-cwd" "^3.0.0" - -"imurmurhash@^0.1.4": - "integrity" "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" - "resolved" "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" - "version" "0.1.4" - -"inflight@^1.0.4": - "integrity" "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==" - "resolved" "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" - "version" "1.0.6" - dependencies: - "once" "^1.3.0" - "wrappy" "1" - -"inherits@^2.0.1", "inherits@^2.0.3", "inherits@^2.0.4", "inherits@~2.0.3", "inherits@2": - "integrity" "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" - "version" "2.0.4" - -"interpret@^2.2.0": - "integrity" "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==" - "resolved" "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz" - "version" "2.2.0" - -"into-stream@^3.1.0": - "integrity" "sha512-TcdjPibTksa1NQximqep2r17ISRiNE9fwlfbg3F8ANdvP5/yrFTew86VcO//jk4QTaMlbjypPBq76HN2zaKfZQ==" - "resolved" "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "from2" "^2.1.1" - "p-is-promise" "^1.1.0" - -"is-arrayish@^0.2.1": - "integrity" "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" - "resolved" "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" - "version" "0.2.1" - -"is-core-module@^2.9.0": - "integrity" "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==" - "resolved" "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz" - "version" "2.10.0" - dependencies: - "has" "^1.0.3" - -"is-extglob@^2.1.1": - "integrity" "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" - "resolved" "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" - "version" "2.1.1" - -"is-fullwidth-code-point@^3.0.0": - "integrity" "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" - "version" "3.0.0" - -"is-generator-fn@^2.0.0": - "integrity" "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==" - "resolved" "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz" - "version" "2.1.0" - -"is-glob@^4.0.0", "is-glob@^4.0.1", "is-glob@^4.0.3": - "integrity" "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==" - "resolved" "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" - "version" "4.0.3" - dependencies: - "is-extglob" "^2.1.1" - -"is-natural-number@^4.0.1": - "integrity" "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==" - "resolved" "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz" - "version" "4.0.1" - -"is-number@^7.0.0": - "integrity" "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - "resolved" "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" - "version" "7.0.0" - -"is-object@^1.0.1": - "integrity" "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==" - "resolved" "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz" - "version" "1.0.2" - -"is-path-inside@^3.0.3": - "integrity" "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" - "resolved" "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" - "version" "3.0.3" - -"is-plain-obj@^1.0.0": - "integrity" "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==" - "resolved" "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz" - "version" "1.1.0" - -"is-plain-object@^2.0.4": - "integrity" "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==" - "resolved" "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" - "version" "2.0.4" - dependencies: - "isobject" "^3.0.1" - -"is-retry-allowed@^1.1.0": - "integrity" "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==" - "resolved" "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz" - "version" "1.2.0" - -"is-stream@^1.1.0": - "integrity" "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==" - "resolved" "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" - "version" "1.1.0" - -"is-stream@^2.0.0": - "integrity" "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" - "resolved" "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" - "version" "2.0.1" - -"isarray@~1.0.0": - "integrity" "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - "resolved" "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - "version" "1.0.0" - -"isexe@^2.0.0": - "integrity" "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - "resolved" "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - "version" "2.0.0" - -"isobject@^3.0.1": - "integrity" "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" - "resolved" "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" - "version" "3.0.1" - -"isomorphic-ws@^4.0.1": - "integrity" "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==" - "resolved" "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz" - "version" "4.0.1" - -"istanbul-lib-coverage@^3.0.0", "istanbul-lib-coverage@^3.2.0": - "integrity" "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==" - "resolved" "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz" - "version" "3.2.0" - -"istanbul-lib-instrument@^5.0.4", "istanbul-lib-instrument@^5.1.0": - "integrity" "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==" - "resolved" "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz" - "version" "5.2.1" + cacheable-request "^2.1.1" + decompress-response "^3.3.0" + duplexer3 "^0.1.4" + get-stream "^3.0.0" + into-stream "^3.1.0" + is-retry-allowed "^1.1.0" + isurl "^1.0.0-alpha5" + lowercase-keys "^1.0.0" + mimic-response "^1.0.0" + p-cancelable "^0.4.0" + p-timeout "^2.0.1" + pify "^3.0.0" + safe-buffer "^5.1.1" + timed-out "^4.0.1" + url-parse-lax "^3.0.0" + url-to-options "^1.0.1" + +graceful-fs@^4.1.10, graceful-fs@^4.1.2, graceful-fs@^4.2.4, graceful-fs@^4.2.9: + version "4.2.10" + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz" + integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== + +graphemer@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" + integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== + +grpc-web@^1.4.2: + version "1.4.2" + resolved "https://registry.npmjs.org/grpc-web/-/grpc-web-1.4.2.tgz" + integrity sha512-gUxWq42l5ldaRplcKb4Pw5O4XBONWZgz3vxIIXnfIeJj8Jc3wYiq2O4c9xzx/NGbbPEej4rhI62C9eTENwLGNw== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz" + integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + dependencies: + get-intrinsic "^1.1.1" + +has-symbol-support-x@^1.4.1: + version "1.4.2" + resolved "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz" + integrity sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw== + +has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-to-string-tag-x@^1.2.0: + version "1.4.1" + resolved "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz" + integrity sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw== + dependencies: + has-symbol-support-x "^1.4.1" + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hash-base@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz" + integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== + dependencies: + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.7" + resolved "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +he@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz" + integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +html-encoding-sniffer@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz" + integrity sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA== + dependencies: + whatwg-encoding "^2.0.0" + +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + +http-cache-semantics@3.8.1: + version "3.8.1" + resolved "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz" + integrity sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w== + +http-proxy@^1.18.1: + version "1.18.1" + resolved "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz" + integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== + dependencies: + eventemitter3 "^4.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + +http-server@^14.1.1: + version "14.1.1" + resolved "https://registry.npmjs.org/http-server/-/http-server-14.1.1.tgz" + integrity sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A== + dependencies: + basic-auth "^2.0.1" + chalk "^4.1.2" + corser "^2.0.1" + he "^1.2.0" + html-encoding-sniffer "^3.0.0" + http-proxy "^1.18.1" + mime "^1.6.0" + minimist "^1.2.6" + opener "^1.5.1" + portfinder "^1.0.28" + secure-compare "3.0.1" + union "~0.5.0" + url-join "^4.0.1" + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + +iconv-lite@0.6.3: + version "0.6.3" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + +ieee754@^1.1.13: + version "1.2.1" + resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +ignore@^5.2.0: + version "5.2.1" + resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.1.tgz" + integrity sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA== + +import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-local@^3.0.2: + version "3.1.0" + resolved "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz" + integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +interpret@^2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz" + integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== + +into-stream@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz" + integrity sha512-TcdjPibTksa1NQximqep2r17ISRiNE9fwlfbg3F8ANdvP5/yrFTew86VcO//jk4QTaMlbjypPBq76HN2zaKfZQ== + dependencies: + from2 "^2.1.1" + p-is-promise "^1.1.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-core-module@^2.9.0: + version "2.10.0" + resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz" + integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg== + dependencies: + has "^1.0.3" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-generator-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz" + integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: + version "4.0.3" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-natural-number@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz" + integrity sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ== + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-object@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz" + integrity sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA== + +is-path-inside@^3.0.3: + version "3.0.3" + resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + +is-plain-obj@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz" + integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== + +is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-retry-allowed@^1.1.0: + version "1.2.0" + resolved "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz" + integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg== + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" + integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== + +isomorphic-ws@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz" + integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w== + +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz" + integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== + +istanbul-lib-instrument@^5.0.4: + version "5.2.1" + resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz" + integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== dependencies: "@babel/core" "^7.12.3" "@babel/parser" "^7.14.7" "@istanbuljs/schema" "^0.1.2" - "istanbul-lib-coverage" "^3.2.0" - "semver" "^6.3.0" - -"istanbul-lib-report@^3.0.0": - "integrity" "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==" - "resolved" "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "istanbul-lib-coverage" "^3.0.0" - "make-dir" "^3.0.0" - "supports-color" "^7.1.0" - -"istanbul-lib-source-maps@^4.0.0": - "integrity" "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==" - "resolved" "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz" - "version" "4.0.1" - dependencies: - "debug" "^4.1.1" - "istanbul-lib-coverage" "^3.0.0" - "source-map" "^0.6.1" - -"istanbul-reports@^3.1.3": - "integrity" "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==" - "resolved" "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz" - "version" "3.1.5" - dependencies: - "html-escaper" "^2.0.0" - "istanbul-lib-report" "^3.0.0" - -"isurl@^1.0.0-alpha5": - "integrity" "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==" - "resolved" "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "has-to-string-tag-x" "^1.2.0" - "is-object" "^1.0.1" - -"jest-changed-files@^29.2.0": - "integrity" "sha512-qPVmLLyBmvF5HJrY7krDisx6Voi8DmlV3GZYX0aFNbaQsZeoz1hfxcCMbqDGuQCxU1dJy9eYc2xscE8QrCCYaA==" - "resolved" "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.2.0.tgz" - "version" "29.2.0" - dependencies: - "execa" "^5.0.0" - "p-limit" "^3.1.0" - -"jest-circus@^29.3.1": - "integrity" "sha512-wpr26sEvwb3qQQbdlmei+gzp6yoSSoSL6GsLPxnuayZSMrSd5Ka7IjAvatpIernBvT2+Ic6RLTg+jSebScmasg==" - "resolved" "https://registry.npmjs.org/jest-circus/-/jest-circus-29.3.1.tgz" - "version" "29.3.1" - dependencies: - "@jest/environment" "^29.3.1" - "@jest/expect" "^29.3.1" - "@jest/test-result" "^29.3.1" - "@jest/types" "^29.3.1" + istanbul-lib-coverage "^3.2.0" + semver "^6.3.0" + +istanbul-lib-instrument@^6.0.0: + version "6.0.1" + resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz" + integrity sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA== + dependencies: + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.2.0" + semver "^7.5.4" + +istanbul-lib-report@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz" + integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^4.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz" + integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.1.3: + version "3.1.6" + resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz" + integrity sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +isurl@^1.0.0-alpha5: + version "1.0.0" + resolved "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz" + integrity sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w== + dependencies: + has-to-string-tag-x "^1.2.0" + is-object "^1.0.1" + +jest-changed-files@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz" + integrity sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w== + dependencies: + execa "^5.0.0" + jest-util "^29.7.0" + p-limit "^3.1.0" + +jest-circus@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz" + integrity sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/expect" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" "@types/node" "*" - "chalk" "^4.0.0" - "co" "^4.6.0" - "dedent" "^0.7.0" - "is-generator-fn" "^2.0.0" - "jest-each" "^29.3.1" - "jest-matcher-utils" "^29.3.1" - "jest-message-util" "^29.3.1" - "jest-runtime" "^29.3.1" - "jest-snapshot" "^29.3.1" - "jest-util" "^29.3.1" - "p-limit" "^3.1.0" - "pretty-format" "^29.3.1" - "slash" "^3.0.0" - "stack-utils" "^2.0.3" - -"jest-cli@^29.3.1": - "integrity" "sha512-TO/ewvwyvPOiBBuWZ0gm04z3WWP8TIK8acgPzE4IxgsLKQgb377NYGrQLc3Wl/7ndWzIH2CDNNsUjGxwLL43VQ==" - "resolved" "https://registry.npmjs.org/jest-cli/-/jest-cli-29.3.1.tgz" - "version" "29.3.1" - dependencies: - "@jest/core" "^29.3.1" - "@jest/test-result" "^29.3.1" - "@jest/types" "^29.3.1" - "chalk" "^4.0.0" - "exit" "^0.1.2" - "graceful-fs" "^4.2.9" - "import-local" "^3.0.2" - "jest-config" "^29.3.1" - "jest-util" "^29.3.1" - "jest-validate" "^29.3.1" - "prompts" "^2.0.1" - "yargs" "^17.3.1" - -"jest-config@^29.3.1": - "integrity" "sha512-y0tFHdj2WnTEhxmGUK1T7fgLen7YK4RtfvpLFBXfQkh2eMJAQq24Vx9472lvn5wg0MAO6B+iPfJfzdR9hJYalg==" - "resolved" "https://registry.npmjs.org/jest-config/-/jest-config-29.3.1.tgz" - "version" "29.3.1" + chalk "^4.0.0" + co "^4.6.0" + dedent "^1.0.0" + is-generator-fn "^2.0.0" + jest-each "^29.7.0" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-runtime "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + p-limit "^3.1.0" + pretty-format "^29.7.0" + pure-rand "^6.0.0" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-cli@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz" + integrity sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg== + dependencies: + "@jest/core" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + chalk "^4.0.0" + create-jest "^29.7.0" + exit "^0.1.2" + import-local "^3.0.2" + jest-config "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + yargs "^17.3.1" + +jest-config@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz" + integrity sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ== dependencies: "@babel/core" "^7.11.6" - "@jest/test-sequencer" "^29.3.1" - "@jest/types" "^29.3.1" - "babel-jest" "^29.3.1" - "chalk" "^4.0.0" - "ci-info" "^3.2.0" - "deepmerge" "^4.2.2" - "glob" "^7.1.3" - "graceful-fs" "^4.2.9" - "jest-circus" "^29.3.1" - "jest-environment-node" "^29.3.1" - "jest-get-type" "^29.2.0" - "jest-regex-util" "^29.2.0" - "jest-resolve" "^29.3.1" - "jest-runner" "^29.3.1" - "jest-util" "^29.3.1" - "jest-validate" "^29.3.1" - "micromatch" "^4.0.4" - "parse-json" "^5.2.0" - "pretty-format" "^29.3.1" - "slash" "^3.0.0" - "strip-json-comments" "^3.1.1" - -"jest-diff@^29.3.1": - "integrity" "sha512-vU8vyiO7568tmin2lA3r2DP8oRvzhvRcD4DjpXc6uGveQodyk7CKLhQlCSiwgx3g0pFaE88/KLZ0yaTWMc4Uiw==" - "resolved" "https://registry.npmjs.org/jest-diff/-/jest-diff-29.3.1.tgz" - "version" "29.3.1" - dependencies: - "chalk" "^4.0.0" - "diff-sequences" "^29.3.1" - "jest-get-type" "^29.2.0" - "pretty-format" "^29.3.1" - -"jest-docblock@^29.2.0": - "integrity" "sha512-bkxUsxTgWQGbXV5IENmfiIuqZhJcyvF7tU4zJ/7ioTutdz4ToB5Yx6JOFBpgI+TphRY4lhOyCWGNH/QFQh5T6A==" - "resolved" "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.2.0.tgz" - "version" "29.2.0" - dependencies: - "detect-newline" "^3.0.0" - -"jest-each@^29.3.1": - "integrity" "sha512-qrZH7PmFB9rEzCSl00BWjZYuS1BSOH8lLuC0azQE9lQrAx3PWGKHTDudQiOSwIy5dGAJh7KA0ScYlCP7JxvFYA==" - "resolved" "https://registry.npmjs.org/jest-each/-/jest-each-29.3.1.tgz" - "version" "29.3.1" - dependencies: - "@jest/types" "^29.3.1" - "chalk" "^4.0.0" - "jest-get-type" "^29.2.0" - "jest-util" "^29.3.1" - "pretty-format" "^29.3.1" - -"jest-environment-node@^29.3.1": - "integrity" "sha512-xm2THL18Xf5sIHoU7OThBPtuH6Lerd+Y1NLYiZJlkE3hbE+7N7r8uvHIl/FkZ5ymKXJe/11SQuf3fv4v6rUMag==" - "resolved" "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.3.1.tgz" - "version" "29.3.1" - dependencies: - "@jest/environment" "^29.3.1" - "@jest/fake-timers" "^29.3.1" - "@jest/types" "^29.3.1" + "@jest/test-sequencer" "^29.7.0" + "@jest/types" "^29.6.3" + babel-jest "^29.7.0" + chalk "^4.0.0" + ci-info "^3.2.0" + deepmerge "^4.2.2" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-circus "^29.7.0" + jest-environment-node "^29.7.0" + jest-get-type "^29.6.3" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-runner "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + micromatch "^4.0.4" + parse-json "^5.2.0" + pretty-format "^29.7.0" + slash "^3.0.0" + strip-json-comments "^3.1.1" + +jest-diff@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz" + integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== + dependencies: + chalk "^4.0.0" + diff-sequences "^29.6.3" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-docblock@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz" + integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g== + dependencies: + detect-newline "^3.0.0" + +jest-each@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz" + integrity sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ== + dependencies: + "@jest/types" "^29.6.3" + chalk "^4.0.0" + jest-get-type "^29.6.3" + jest-util "^29.7.0" + pretty-format "^29.7.0" + +jest-environment-node@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz" + integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" "@types/node" "*" - "jest-mock" "^29.3.1" - "jest-util" "^29.3.1" + jest-mock "^29.7.0" + jest-util "^29.7.0" -"jest-get-type@^29.2.0": - "integrity" "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==" - "resolved" "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz" - "version" "29.2.0" +jest-get-type@^29.6.3: + version "29.6.3" + resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz" + integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== -"jest-haste-map@^29.3.1": - "integrity" "sha512-/FFtvoG1xjbbPXQLFef+WSU4yrc0fc0Dds6aRPBojUid7qlPqZvxdUBA03HW0fnVHXVCnCdkuoghYItKNzc/0A==" - "resolved" "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.3.1.tgz" - "version" "29.3.1" +jest-haste-map@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz" + integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA== dependencies: - "@jest/types" "^29.3.1" + "@jest/types" "^29.6.3" "@types/graceful-fs" "^4.1.3" "@types/node" "*" - "anymatch" "^3.0.3" - "fb-watchman" "^2.0.0" - "graceful-fs" "^4.2.9" - "jest-regex-util" "^29.2.0" - "jest-util" "^29.3.1" - "jest-worker" "^29.3.1" - "micromatch" "^4.0.4" - "walker" "^1.0.8" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.9" + jest-regex-util "^29.6.3" + jest-util "^29.7.0" + jest-worker "^29.7.0" + micromatch "^4.0.4" + walker "^1.0.8" optionalDependencies: - "fsevents" "^2.3.2" + fsevents "^2.3.2" -"jest-leak-detector@^29.3.1": - "integrity" "sha512-3DA/VVXj4zFOPagGkuqHnSQf1GZBmmlagpguxEERO6Pla2g84Q1MaVIB3YMxgUaFIaYag8ZnTyQgiZ35YEqAQA==" - "resolved" "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.3.1.tgz" - "version" "29.3.1" +jest-leak-detector@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz" + integrity sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw== dependencies: - "jest-get-type" "^29.2.0" - "pretty-format" "^29.3.1" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" -"jest-matcher-utils@^29.3.1": - "integrity" "sha512-fkRMZUAScup3txIKfMe3AIZZmPEjWEdsPJFK3AIy5qRohWqQFg1qrmKfYXR9qEkNc7OdAu2N4KPHibEmy4HPeQ==" - "resolved" "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.3.1.tgz" - "version" "29.3.1" +jest-matcher-utils@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz" + integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== dependencies: - "chalk" "^4.0.0" - "jest-diff" "^29.3.1" - "jest-get-type" "^29.2.0" - "pretty-format" "^29.3.1" + chalk "^4.0.0" + jest-diff "^29.7.0" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" -"jest-message-util@^29.3.1": - "integrity" "sha512-lMJTbgNcDm5z+6KDxWtqOFWlGQxD6XaYwBqHR8kmpkP+WWWG90I35kdtQHY67Ay5CSuydkTBbJG+tH9JShFCyA==" - "resolved" "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.3.1.tgz" - "version" "29.3.1" +jest-message-util@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz" + integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== dependencies: "@babel/code-frame" "^7.12.13" - "@jest/types" "^29.3.1" + "@jest/types" "^29.6.3" "@types/stack-utils" "^2.0.0" - "chalk" "^4.0.0" - "graceful-fs" "^4.2.9" - "micromatch" "^4.0.4" - "pretty-format" "^29.3.1" - "slash" "^3.0.0" - "stack-utils" "^2.0.3" - -"jest-mock@^29.3.1": - "integrity" "sha512-H8/qFDtDVMFvFP4X8NuOT3XRDzOUTz+FeACjufHzsOIBAxivLqkB1PoLCaJx9iPPQ8dZThHPp/G3WRWyMgA3JA==" - "resolved" "https://registry.npmjs.org/jest-mock/-/jest-mock-29.3.1.tgz" - "version" "29.3.1" - dependencies: - "@jest/types" "^29.3.1" + chalk "^4.0.0" + graceful-fs "^4.2.9" + micromatch "^4.0.4" + pretty-format "^29.7.0" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-mock@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz" + integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw== + dependencies: + "@jest/types" "^29.6.3" "@types/node" "*" - "jest-util" "^29.3.1" - -"jest-pnp-resolver@^1.2.2": - "integrity" "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==" - "resolved" "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz" - "version" "1.2.2" - -"jest-regex-util@^29.2.0": - "integrity" "sha512-6yXn0kg2JXzH30cr2NlThF+70iuO/3irbaB4mh5WyqNIvLLP+B6sFdluO1/1RJmslyh/f9osnefECflHvTbwVA==" - "resolved" "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.2.0.tgz" - "version" "29.2.0" - -"jest-resolve-dependencies@^29.3.1": - "integrity" "sha512-Vk0cYq0byRw2WluNmNWGqPeRnZ3p3hHmjJMp2dyyZeYIfiBskwq4rpiuGFR6QGAdbj58WC7HN4hQHjf2mpvrLA==" - "resolved" "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.3.1.tgz" - "version" "29.3.1" - dependencies: - "jest-regex-util" "^29.2.0" - "jest-snapshot" "^29.3.1" - -"jest-resolve@*", "jest-resolve@^29.3.1": - "integrity" "sha512-amXJgH/Ng712w3Uz5gqzFBBjxV8WFLSmNjoreBGMqxgCz5cH7swmBZzgBaCIOsvb0NbpJ0vgaSFdJqMdT+rADw==" - "resolved" "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.3.1.tgz" - "version" "29.3.1" - dependencies: - "chalk" "^4.0.0" - "graceful-fs" "^4.2.9" - "jest-haste-map" "^29.3.1" - "jest-pnp-resolver" "^1.2.2" - "jest-util" "^29.3.1" - "jest-validate" "^29.3.1" - "resolve" "^1.20.0" - "resolve.exports" "^1.1.0" - "slash" "^3.0.0" - -"jest-runner@^29.3.1": - "integrity" "sha512-oFvcwRNrKMtE6u9+AQPMATxFcTySyKfLhvso7Sdk/rNpbhg4g2GAGCopiInk1OP4q6gz3n6MajW4+fnHWlU3bA==" - "resolved" "https://registry.npmjs.org/jest-runner/-/jest-runner-29.3.1.tgz" - "version" "29.3.1" - dependencies: - "@jest/console" "^29.3.1" - "@jest/environment" "^29.3.1" - "@jest/test-result" "^29.3.1" - "@jest/transform" "^29.3.1" - "@jest/types" "^29.3.1" + jest-util "^29.7.0" + +jest-pnp-resolver@^1.2.2: + version "1.2.3" + resolved "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz" + integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== + +jest-regex-util@^29.6.3: + version "29.6.3" + resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz" + integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg== + +jest-resolve-dependencies@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz" + integrity sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA== + dependencies: + jest-regex-util "^29.6.3" + jest-snapshot "^29.7.0" + +jest-resolve@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz" + integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA== + dependencies: + chalk "^4.0.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-pnp-resolver "^1.2.2" + jest-util "^29.7.0" + jest-validate "^29.7.0" + resolve "^1.20.0" + resolve.exports "^2.0.0" + slash "^3.0.0" + +jest-runner@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz" + integrity sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ== + dependencies: + "@jest/console" "^29.7.0" + "@jest/environment" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" "@types/node" "*" - "chalk" "^4.0.0" - "emittery" "^0.13.1" - "graceful-fs" "^4.2.9" - "jest-docblock" "^29.2.0" - "jest-environment-node" "^29.3.1" - "jest-haste-map" "^29.3.1" - "jest-leak-detector" "^29.3.1" - "jest-message-util" "^29.3.1" - "jest-resolve" "^29.3.1" - "jest-runtime" "^29.3.1" - "jest-util" "^29.3.1" - "jest-watcher" "^29.3.1" - "jest-worker" "^29.3.1" - "p-limit" "^3.1.0" - "source-map-support" "0.5.13" - -"jest-runtime@^29.3.1": - "integrity" "sha512-jLzkIxIqXwBEOZx7wx9OO9sxoZmgT2NhmQKzHQm1xwR1kNW/dn0OjxR424VwHHf1SPN6Qwlb5pp1oGCeFTQ62A==" - "resolved" "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.3.1.tgz" - "version" "29.3.1" - dependencies: - "@jest/environment" "^29.3.1" - "@jest/fake-timers" "^29.3.1" - "@jest/globals" "^29.3.1" - "@jest/source-map" "^29.2.0" - "@jest/test-result" "^29.3.1" - "@jest/transform" "^29.3.1" - "@jest/types" "^29.3.1" + chalk "^4.0.0" + emittery "^0.13.1" + graceful-fs "^4.2.9" + jest-docblock "^29.7.0" + jest-environment-node "^29.7.0" + jest-haste-map "^29.7.0" + jest-leak-detector "^29.7.0" + jest-message-util "^29.7.0" + jest-resolve "^29.7.0" + jest-runtime "^29.7.0" + jest-util "^29.7.0" + jest-watcher "^29.7.0" + jest-worker "^29.7.0" + p-limit "^3.1.0" + source-map-support "0.5.13" + +jest-runtime@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz" + integrity sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/globals" "^29.7.0" + "@jest/source-map" "^29.6.3" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" "@types/node" "*" - "chalk" "^4.0.0" - "cjs-module-lexer" "^1.0.0" - "collect-v8-coverage" "^1.0.0" - "glob" "^7.1.3" - "graceful-fs" "^4.2.9" - "jest-haste-map" "^29.3.1" - "jest-message-util" "^29.3.1" - "jest-mock" "^29.3.1" - "jest-regex-util" "^29.2.0" - "jest-resolve" "^29.3.1" - "jest-snapshot" "^29.3.1" - "jest-util" "^29.3.1" - "slash" "^3.0.0" - "strip-bom" "^4.0.0" - -"jest-snapshot@^29.3.1": - "integrity" "sha512-+3JOc+s28upYLI2OJM4PWRGK9AgpsMs/ekNryUV0yMBClT9B1DF2u2qay8YxcQd338PPYSFNb0lsar1B49sLDA==" - "resolved" "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.3.1.tgz" - "version" "29.3.1" + chalk "^4.0.0" + cjs-module-lexer "^1.0.0" + collect-v8-coverage "^1.0.0" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-message-util "^29.7.0" + jest-mock "^29.7.0" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + slash "^3.0.0" + strip-bom "^4.0.0" + +jest-snapshot@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz" + integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw== dependencies: "@babel/core" "^7.11.6" "@babel/generator" "^7.7.2" "@babel/plugin-syntax-jsx" "^7.7.2" "@babel/plugin-syntax-typescript" "^7.7.2" - "@babel/traverse" "^7.7.2" "@babel/types" "^7.3.3" - "@jest/expect-utils" "^29.3.1" - "@jest/transform" "^29.3.1" - "@jest/types" "^29.3.1" - "@types/babel__traverse" "^7.0.6" - "@types/prettier" "^2.1.5" - "babel-preset-current-node-syntax" "^1.0.0" - "chalk" "^4.0.0" - "expect" "^29.3.1" - "graceful-fs" "^4.2.9" - "jest-diff" "^29.3.1" - "jest-get-type" "^29.2.0" - "jest-haste-map" "^29.3.1" - "jest-matcher-utils" "^29.3.1" - "jest-message-util" "^29.3.1" - "jest-util" "^29.3.1" - "natural-compare" "^1.4.0" - "pretty-format" "^29.3.1" - "semver" "^7.3.5" - -"jest-util@^29.0.0", "jest-util@^29.3.1": - "integrity" "sha512-7YOVZaiX7RJLv76ZfHt4nbNEzzTRiMW/IiOG7ZOKmTXmoGBxUDefgMAxQubu6WPVqP5zSzAdZG0FfLcC7HOIFQ==" - "resolved" "https://registry.npmjs.org/jest-util/-/jest-util-29.3.1.tgz" - "version" "29.3.1" - dependencies: - "@jest/types" "^29.3.1" + "@jest/expect-utils" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + babel-preset-current-node-syntax "^1.0.0" + chalk "^4.0.0" + expect "^29.7.0" + graceful-fs "^4.2.9" + jest-diff "^29.7.0" + jest-get-type "^29.6.3" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + natural-compare "^1.4.0" + pretty-format "^29.7.0" + semver "^7.5.3" + +jest-util@^29.0.0, jest-util@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz" + integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== + dependencies: + "@jest/types" "^29.6.3" "@types/node" "*" - "chalk" "^4.0.0" - "ci-info" "^3.2.0" - "graceful-fs" "^4.2.9" - "picomatch" "^2.2.3" - -"jest-validate@^29.3.1": - "integrity" "sha512-N9Lr3oYR2Mpzuelp1F8negJR3YE+L1ebk1rYA5qYo9TTY3f9OWdptLoNSPP9itOCBIRBqjt/S5XHlzYglLN67g==" - "resolved" "https://registry.npmjs.org/jest-validate/-/jest-validate-29.3.1.tgz" - "version" "29.3.1" - dependencies: - "@jest/types" "^29.3.1" - "camelcase" "^6.2.0" - "chalk" "^4.0.0" - "jest-get-type" "^29.2.0" - "leven" "^3.1.0" - "pretty-format" "^29.3.1" - -"jest-watcher@^29.3.1": - "integrity" "sha512-RspXG2BQFDsZSRKGCT/NiNa8RkQ1iKAjrO0//soTMWx/QUt+OcxMqMSBxz23PYGqUuWm2+m2mNNsmj0eIoOaFg==" - "resolved" "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.3.1.tgz" - "version" "29.3.1" - dependencies: - "@jest/test-result" "^29.3.1" - "@jest/types" "^29.3.1" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + +jest-validate@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz" + integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw== + dependencies: + "@jest/types" "^29.6.3" + camelcase "^6.2.0" + chalk "^4.0.0" + jest-get-type "^29.6.3" + leven "^3.1.0" + pretty-format "^29.7.0" + +jest-watcher@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz" + integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g== + dependencies: + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" "@types/node" "*" - "ansi-escapes" "^4.2.1" - "chalk" "^4.0.0" - "emittery" "^0.13.1" - "jest-util" "^29.3.1" - "string-length" "^4.0.1" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + emittery "^0.13.1" + jest-util "^29.7.0" + string-length "^4.0.1" -"jest-worker@^27.4.5": - "integrity" "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==" - "resolved" "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz" - "version" "27.5.1" +jest-worker@^27.4.5: + version "27.5.1" + resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== dependencies: "@types/node" "*" - "merge-stream" "^2.0.0" - "supports-color" "^8.0.0" + merge-stream "^2.0.0" + supports-color "^8.0.0" -"jest-worker@^29.3.1": - "integrity" "sha512-lY4AnnmsEWeiXirAIA0c9SDPbuCBq8IYuDVL8PMm0MZ2PEs2yPvRA/J64QBXuZp7CYKrDM/rmNrc9/i3KJQncw==" - "resolved" "https://registry.npmjs.org/jest-worker/-/jest-worker-29.3.1.tgz" - "version" "29.3.1" +jest-worker@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz" + integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== dependencies: "@types/node" "*" - "jest-util" "^29.3.1" - "merge-stream" "^2.0.0" - "supports-color" "^8.0.0" - -"jest@^29.0.0", "jest@^29.3.1": - "integrity" "sha512-6iWfL5DTT0Np6UYs/y5Niu7WIfNv/wRTtN5RSXt2DIEft3dx3zPuw/3WJQBCJfmEzvDiEKwoqMbGD9n49+qLSA==" - "resolved" "https://registry.npmjs.org/jest/-/jest-29.3.1.tgz" - "version" "29.3.1" - dependencies: - "@jest/core" "^29.3.1" - "@jest/types" "^29.3.1" - "import-local" "^3.0.2" - "jest-cli" "^29.3.1" - -"js-sha3@^0.8.0": - "integrity" "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - "resolved" "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz" - "version" "0.8.0" - -"js-tokens@^4.0.0": - "integrity" "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - "resolved" "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" - "version" "4.0.0" - -"js-yaml@^3.13.1": - "integrity" "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==" - "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" - "version" "3.14.1" - dependencies: - "argparse" "^1.0.7" - "esprima" "^4.0.0" - -"js-yaml@^4.1.0": - "integrity" "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==" - "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "argparse" "^2.0.1" - -"jsesc@^2.5.1": - "integrity" "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - "resolved" "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" - "version" "2.5.2" - -"json-buffer@3.0.0": - "integrity" "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==" - "resolved" "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz" - "version" "3.0.0" - -"json-parse-even-better-errors@^2.3.0", "json-parse-even-better-errors@^2.3.1": - "integrity" "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - "resolved" "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" - "version" "2.3.1" - -"json-schema-traverse@^0.4.1": - "integrity" "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" - "version" "0.4.1" - -"json-stable-stringify-without-jsonify@^1.0.1": - "integrity" "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" - "resolved" "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" - "version" "1.0.1" - -"json5@^2.2.1": - "integrity" "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==" - "resolved" "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz" - "version" "2.2.1" - -"keyv@3.0.0": - "integrity" "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==" - "resolved" "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "json-buffer" "3.0.0" - -"kind-of@^6.0.2": - "integrity" "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" - "version" "6.0.3" - -"kleur@^3.0.3": - "integrity" "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" - "resolved" "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" - "version" "3.0.3" - -"leven@^3.1.0": - "integrity" "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" - "resolved" "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" - "version" "3.1.0" - -"levn@^0.4.1": - "integrity" "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==" - "resolved" "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" - "version" "0.4.1" - dependencies: - "prelude-ls" "^1.2.1" - "type-check" "~0.4.0" - -"libsodium-wrappers@^0.7.6": - "integrity" "sha512-pO3F1Q9NPLB/MWIhehim42b/Fwb30JNScCNh8TcQ/kIc+qGLQch8ag8wb0keK3EP5kbGakk1H8Wwo7v+36rNQg==" - "resolved" "https://registry.npmjs.org/libsodium-wrappers/-/libsodium-wrappers-0.7.10.tgz" - "version" "0.7.10" - dependencies: - "libsodium" "^0.7.0" - -"libsodium@^0.7.0": - "integrity" "sha512-eY+z7hDrDKxkAK+QKZVNv92A5KYkxfvIshtBJkmg5TSiCnYqZP3i9OO9whE79Pwgm4jGaoHgkM4ao/b9Cyu4zQ==" - "resolved" "https://registry.npmjs.org/libsodium/-/libsodium-0.7.10.tgz" - "version" "0.7.10" - -"lines-and-columns@^1.1.6": - "integrity" "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" - "resolved" "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" - "version" "1.2.4" - -"loader-runner@^4.2.0": - "integrity" "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==" - "resolved" "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz" - "version" "4.3.0" - -"locate-path@^5.0.0": - "integrity" "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==" - "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "p-locate" "^4.1.0" - -"locate-path@^6.0.0": - "integrity" "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==" - "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "p-locate" "^5.0.0" - -"lodash.camelcase@^4.3.0": - "integrity" "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" - "resolved" "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz" - "version" "4.3.0" - -"lodash.memoize@4.x": - "integrity" "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" - "resolved" "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" - "version" "4.1.2" - -"lodash.merge@^4.6.2": - "integrity" "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" - "resolved" "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" - "version" "4.6.2" - -"lodash@^4.17.14": - "integrity" "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - "resolved" "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" - "version" "4.17.21" - -"long@^4.0.0": - "integrity" "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" - "resolved" "https://registry.npmjs.org/long/-/long-4.0.0.tgz" - "version" "4.0.0" - -"long@^5.0.0", "long@^5.2.1": - "integrity" "sha512-GKSNGeNAtw8IryjjkhZxuKB3JzlcLTwjtiQCHKvqQet81I93kXslhDQruGI/QsddO83mcDToBVy7GqGS/zYf/A==" - "resolved" "https://registry.npmjs.org/long/-/long-5.2.1.tgz" - "version" "5.2.1" - -"lowercase-keys@^1.0.0": - "integrity" "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" - "resolved" "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz" - "version" "1.0.1" - -"lowercase-keys@1.0.0": - "integrity" "sha512-RPlX0+PHuvxVDZ7xX+EBVAp4RsVxP/TdDSN2mJYdiq1Lc4Hz7EUSjUI7RZrKKlmrIzVhf6Jo2stj7++gVarS0A==" - "resolved" "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz" - "version" "1.0.0" - -"lru-cache@^10.0.1": - "integrity" "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==" - "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz" - "version" "10.2.0" - -"lru-cache@^6.0.0": - "integrity" "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==" - "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "yallist" "^4.0.0" - -"make-dir@^1.0.0": - "integrity" "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==" - "resolved" "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz" - "version" "1.3.0" - dependencies: - "pify" "^3.0.0" - -"make-dir@^2.1.0": - "integrity" "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==" - "resolved" "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "pify" "^4.0.1" - "semver" "^5.6.0" - -"make-dir@^3.0.0": - "integrity" "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==" - "resolved" "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "semver" "^6.0.0" - -"make-error@^1.1.1", "make-error@1.x": - "integrity" "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" - "resolved" "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" - "version" "1.3.6" - -"makeerror@1.0.12": - "integrity" "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==" - "resolved" "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz" - "version" "1.0.12" - dependencies: - "tmpl" "1.0.5" - -"merge-stream@^2.0.0": - "integrity" "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - "resolved" "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" - "version" "2.0.0" - -"merge2@^1.3.0", "merge2@^1.4.1": - "integrity" "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" - "resolved" "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" - "version" "1.4.1" - -"micromatch@^4.0.4": - "integrity" "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==" - "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" - "version" "4.0.5" - dependencies: - "braces" "^3.0.2" - "picomatch" "^2.3.1" - -"mime-db@^1.28.0", "mime-db@1.52.0": - "integrity" "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - "resolved" "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" - "version" "1.52.0" - -"mime-types@^2.1.27": - "integrity" "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==" - "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" - "version" "2.1.35" - dependencies: - "mime-db" "1.52.0" - -"mime@^1.6.0": - "integrity" "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" - "resolved" "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" - "version" "1.6.0" - -"mimic-fn@^2.1.0": - "integrity" "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - "resolved" "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" - "version" "2.1.0" - -"mimic-response@^1.0.0": - "integrity" "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" - "resolved" "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz" - "version" "1.0.1" - -"minimalistic-assert@^1.0.0", "minimalistic-assert@^1.0.1": - "integrity" "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - "resolved" "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" - "version" "1.0.1" - -"minimalistic-crypto-utils@^1.0.1": - "integrity" "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" - "resolved" "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz" - "version" "1.0.1" - -"minimatch@^3.0.4", "minimatch@^3.0.5", "minimatch@^3.1.1", "minimatch@^3.1.2": - "integrity" "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==" - "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" - "version" "3.1.2" - dependencies: - "brace-expansion" "^1.1.7" - -"minimist@^1.2.0", "minimist@^1.2.6": - "integrity" "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==" - "resolved" "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz" - "version" "1.2.7" - -"mkdirp@^0.5.6": - "integrity" "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==" - "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz" - "version" "0.5.6" - dependencies: - "minimist" "^1.2.6" - -"ms@^2.1.1", "ms@2.1.2": - "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" - "version" "2.1.2" - -"ms@2.0.0": - "integrity" "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - "resolved" "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" - "version" "2.0.0" - -"natural-compare-lite@^1.4.0": - "integrity" "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==" - "resolved" "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz" - "version" "1.4.0" - -"natural-compare@^1.4.0": - "integrity" "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" - "resolved" "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" - "version" "1.4.0" - -"neo-async@^2.6.2": - "integrity" "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" - "resolved" "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" - "version" "2.6.2" - -"node-int64@^0.4.0": - "integrity" "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" - "resolved" "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" - "version" "0.4.0" - -"node-releases@^2.0.6": - "integrity" "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" - "resolved" "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz" - "version" "2.0.6" - -"normalize-path@^3.0.0": - "integrity" "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - "resolved" "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" - "version" "3.0.0" - -"normalize-url@2.0.1": - "integrity" "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==" - "resolved" "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "prepend-http" "^2.0.0" - "query-string" "^5.0.1" - "sort-keys" "^2.0.0" - -"npm-run-path@^4.0.1": - "integrity" "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==" - "resolved" "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" - "version" "4.0.1" - dependencies: - "path-key" "^3.0.0" - -"object-assign@^4.0.1", "object-assign@^4.1.0": - "integrity" "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" - "resolved" "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" - "version" "4.1.1" - -"object-hash@^1.3.1": - "integrity" "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==" - "resolved" "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz" - "version" "1.3.1" - -"object-keys@^1.1.1": - "integrity" "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - "resolved" "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" - "version" "1.1.1" - -"once@^1.3.0", "once@^1.3.1", "once@^1.4.0": - "integrity" "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==" - "resolved" "https://registry.npmjs.org/once/-/once-1.4.0.tgz" - "version" "1.4.0" - dependencies: - "wrappy" "1" - -"onetime@^5.1.2": - "integrity" "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==" - "resolved" "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" - "version" "5.1.2" - dependencies: - "mimic-fn" "^2.1.0" - -"opener@^1.5.1": - "integrity" "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==" - "resolved" "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz" - "version" "1.5.2" - -"optionator@^0.9.3": - "integrity" "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==" - "resolved" "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz" - "version" "0.9.3" + jest-util "^29.7.0" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jest@^29.3.1: + version "29.7.0" + resolved "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz" + integrity sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw== + dependencies: + "@jest/core" "^29.7.0" + "@jest/types" "^29.6.3" + import-local "^3.0.2" + jest-cli "^29.7.0" + +js-sha3@^0.8.0: + version "0.8.0" + resolved "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz" + integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== + +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +json-buffer@3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz" + integrity sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ== + +json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== + +json5@^2.2.1: + version "2.2.1" + resolved "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz" + integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== + +keyv@3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz" + integrity sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA== + dependencies: + json-buffer "3.0.0" + +kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +libsodium-wrappers@^0.7.6: + version "0.7.10" + resolved "https://registry.npmjs.org/libsodium-wrappers/-/libsodium-wrappers-0.7.10.tgz" + integrity sha512-pO3F1Q9NPLB/MWIhehim42b/Fwb30JNScCNh8TcQ/kIc+qGLQch8ag8wb0keK3EP5kbGakk1H8Wwo7v+36rNQg== + dependencies: + libsodium "^0.7.0" + +libsodium@^0.7.0: + version "0.7.10" + resolved "https://registry.npmjs.org/libsodium/-/libsodium-0.7.10.tgz" + integrity sha512-eY+z7hDrDKxkAK+QKZVNv92A5KYkxfvIshtBJkmg5TSiCnYqZP3i9OO9whE79Pwgm4jGaoHgkM4ao/b9Cyu4zQ== + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +loader-runner@^4.2.0: + version "4.3.0" + resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz" + integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz" + integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== + +lodash.memoize@4.x: + version "4.1.2" + resolved "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" + integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash@^4.17.14: + version "4.17.21" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +long@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/long/-/long-4.0.0.tgz" + integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== + +long@^5.0.0, long@^5.2.1: + version "5.2.1" + resolved "https://registry.npmjs.org/long/-/long-5.2.1.tgz" + integrity sha512-GKSNGeNAtw8IryjjkhZxuKB3JzlcLTwjtiQCHKvqQet81I93kXslhDQruGI/QsddO83mcDToBVy7GqGS/zYf/A== + +lowercase-keys@1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz" + integrity sha512-RPlX0+PHuvxVDZ7xX+EBVAp4RsVxP/TdDSN2mJYdiq1Lc4Hz7EUSjUI7RZrKKlmrIzVhf6Jo2stj7++gVarS0A== + +lowercase-keys@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz" + integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== + +lru-cache@^10.0.1: + version "10.0.1" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz" + integrity sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g== + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +make-dir@^1.0.0: + version "1.3.0" + resolved "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz" + integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== + dependencies: + pify "^3.0.0" + +make-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz" + integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== + dependencies: + pify "^4.0.1" + semver "^5.6.0" + +make-dir@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz" + integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== + dependencies: + semver "^7.5.3" + +make-error@1.x, make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +makeerror@1.0.12: + version "1.0.12" + resolved "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz" + integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== + dependencies: + tmpl "1.0.5" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^4.0.4: + version "4.0.5" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +mime-db@1.52.0, mime-db@^1.28.0: + version "1.52.0" + resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.27: + version "2.1.35" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mime@^1.6.0: + version "1.6.0" + resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +mimic-response@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz" + integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz" + integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= + +minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.2.0, minimist@^1.2.6: + version "1.2.7" + resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz" + integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g== + +mkdirp@^0.5.6: + version "0.5.6" + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@^2.1.1: + version "2.1.3" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +natural-compare-lite@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz" + integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" + integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== + +node-releases@^2.0.6: + version "2.0.6" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz" + integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== + +normalize-path@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-url@2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz" + integrity sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw== + dependencies: + prepend-http "^2.0.0" + query-string "^5.0.1" + sort-keys "^2.0.0" + +npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +object-assign@^4.0.1, object-assign@^4.1.0: + version "4.1.1" + resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-hash@^1.3.1: + version "1.3.1" + resolved "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz" + integrity sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA== + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +opener@^1.5.1: + version "1.5.2" + resolved "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz" + integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== + +optionator@^0.9.3: + version "0.9.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" + integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== dependencies: "@aashutoshrathi/word-wrap" "^1.2.3" - "deep-is" "^0.1.3" - "fast-levenshtein" "^2.0.6" - "levn" "^0.4.1" - "prelude-ls" "^1.2.1" - "type-check" "^0.4.0" + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" -"p-cancelable@^0.4.0": - "integrity" "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==" - "resolved" "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz" - "version" "0.4.1" +p-cancelable@^0.4.0: + version "0.4.1" + resolved "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz" + integrity sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ== -"p-event@^2.1.0": - "integrity" "sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==" - "resolved" "https://registry.npmjs.org/p-event/-/p-event-2.3.1.tgz" - "version" "2.3.1" +p-event@^2.1.0: + version "2.3.1" + resolved "https://registry.npmjs.org/p-event/-/p-event-2.3.1.tgz" + integrity sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA== dependencies: - "p-timeout" "^2.0.1" + p-timeout "^2.0.1" -"p-finally@^1.0.0": - "integrity" "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==" - "resolved" "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz" - "version" "1.0.0" +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz" + integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== -"p-is-promise@^1.1.0": - "integrity" "sha512-zL7VE4JVS2IFSkR2GQKDSPEVxkoH43/p7oEnwpdCndKYJO0HVeRB7fA8TJwuLOTBREtK0ea8eHaxdwcpob5dmg==" - "resolved" "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz" - "version" "1.1.0" +p-is-promise@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz" + integrity sha512-zL7VE4JVS2IFSkR2GQKDSPEVxkoH43/p7oEnwpdCndKYJO0HVeRB7fA8TJwuLOTBREtK0ea8eHaxdwcpob5dmg== -"p-limit@^2.2.0": - "integrity" "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==" - "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" - "version" "2.3.0" +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== dependencies: - "p-try" "^2.0.0" + p-try "^2.0.0" -"p-limit@^3.0.2", "p-limit@^3.1.0": - "integrity" "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==" - "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" - "version" "3.1.0" +p-limit@^3.0.2, p-limit@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== dependencies: - "yocto-queue" "^0.1.0" + yocto-queue "^0.1.0" -"p-locate@^4.1.0": - "integrity" "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==" - "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" - "version" "4.1.0" +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== dependencies: - "p-limit" "^2.2.0" + p-limit "^2.2.0" -"p-locate@^5.0.0": - "integrity" "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==" - "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" - "version" "5.0.0" +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== dependencies: - "p-limit" "^3.0.2" + p-limit "^3.0.2" -"p-timeout@^2.0.1": - "integrity" "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==" - "resolved" "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz" - "version" "2.0.1" +p-timeout@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz" + integrity sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA== dependencies: - "p-finally" "^1.0.0" + p-finally "^1.0.0" -"p-try@^2.0.0": - "integrity" "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - "resolved" "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" - "version" "2.2.0" +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -"parent-module@^1.0.0": - "integrity" "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==" - "resolved" "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" - "version" "1.0.1" +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== dependencies: - "callsites" "^3.0.0" + callsites "^3.0.0" -"parse-json@^5.2.0": - "integrity" "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==" - "resolved" "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" - "version" "5.2.0" +parse-json@^5.2.0: + version "5.2.0" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== dependencies: "@babel/code-frame" "^7.0.0" - "error-ex" "^1.3.1" - "json-parse-even-better-errors" "^2.3.0" - "lines-and-columns" "^1.1.6" - -"path-exists@^4.0.0": - "integrity" "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - "resolved" "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" - "version" "4.0.0" - -"path-is-absolute@^1.0.0": - "integrity" "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - "resolved" "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" - "version" "1.0.1" - -"path-key@^3.0.0", "path-key@^3.1.0": - "integrity" "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - "resolved" "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" - "version" "3.1.1" - -"path-parse@^1.0.7": - "integrity" "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - "resolved" "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" - "version" "1.0.7" - -"path-type@^4.0.0": - "integrity" "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" - "resolved" "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" - "version" "4.0.0" - -"pend@~1.2.0": - "integrity" "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==" - "resolved" "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz" - "version" "1.2.0" - -"picocolors@^1.0.0": - "integrity" "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - "resolved" "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" - "version" "1.0.0" - -"picomatch@^2.0.4", "picomatch@^2.2.3", "picomatch@^2.3.1": - "integrity" "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - "resolved" "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" - "version" "2.3.1" - -"pify@^2.3.0": - "integrity" "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" - "resolved" "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" - "version" "2.3.0" - -"pify@^3.0.0": - "integrity" "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==" - "resolved" "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz" - "version" "3.0.0" - -"pify@^4.0.1": - "integrity" "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" - "resolved" "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz" - "version" "4.0.1" - -"pinkie-promise@^2.0.0": - "integrity" "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==" - "resolved" "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "pinkie" "^2.0.0" - -"pinkie@^2.0.0": - "integrity" "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==" - "resolved" "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" - "version" "2.0.4" - -"pirates@^4.0.4": - "integrity" "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==" - "resolved" "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz" - "version" "4.0.5" - -"pkg-dir@^4.2.0": - "integrity" "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==" - "resolved" "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" - "version" "4.2.0" - dependencies: - "find-up" "^4.0.0" - -"portfinder@^1.0.28": - "integrity" "sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==" - "resolved" "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz" - "version" "1.0.32" - dependencies: - "async" "^2.6.4" - "debug" "^3.2.7" - "mkdirp" "^0.5.6" - -"prelude-ls@^1.2.1": - "integrity" "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" - "resolved" "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" - "version" "1.2.1" - -"prepend-http@^2.0.0": - "integrity" "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==" - "resolved" "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz" - "version" "2.0.0" - -"prettier-linter-helpers@^1.0.0": - "integrity" "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==" - "resolved" "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "fast-diff" "^1.1.2" - -"prettier@^2.8.0", "prettier@>=2.0.0": - "integrity" "sha512-9Lmg8hTFZKG0Asr/kW9Bp8tJjRVluO8EJQVfY2T7FMw9T5jy4I/Uvx0Rca/XWf50QQ1/SS48+6IJWnrb+2yemA==" - "resolved" "https://registry.npmjs.org/prettier/-/prettier-2.8.0.tgz" - "version" "2.8.0" - -"pretty-format@^29.0.0", "pretty-format@^29.3.1": - "integrity" "sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==" - "resolved" "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz" - "version" "29.3.1" - dependencies: - "@jest/schemas" "^29.0.0" - "ansi-styles" "^5.0.0" - "react-is" "^18.0.0" - -"process-nextick-args@~2.0.0": - "integrity" "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - "resolved" "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" - "version" "2.0.1" - -"prompts@^2.0.1": - "integrity" "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==" - "resolved" "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" - "version" "2.4.2" - dependencies: - "kleur" "^3.0.3" - "sisteransi" "^1.0.5" - -"protobufjs@^6.11.3": - "integrity" "sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==" - "resolved" "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz" - "version" "6.11.3" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +pend@~1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz" + integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pify@^2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" + integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz" + integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" + integrity sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw== + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" + integrity sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg== + +pirates@^4.0.4: + version "4.0.5" + resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz" + integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== + +pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +portfinder@^1.0.28: + version "1.0.32" + resolved "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz" + integrity sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg== + dependencies: + async "^2.6.4" + debug "^3.2.7" + mkdirp "^0.5.6" + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +prepend-http@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz" + integrity sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA== + +prettier-linter-helpers@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz" + integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== + dependencies: + fast-diff "^1.1.2" + +prettier@^2.8.0: + version "2.8.0" + resolved "https://registry.npmjs.org/prettier/-/prettier-2.8.0.tgz" + integrity sha512-9Lmg8hTFZKG0Asr/kW9Bp8tJjRVluO8EJQVfY2T7FMw9T5jy4I/Uvx0Rca/XWf50QQ1/SS48+6IJWnrb+2yemA== + +pretty-format@^29.0.0, pretty-format@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz" + integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== + dependencies: + "@jest/schemas" "^29.6.3" + ansi-styles "^5.0.0" + react-is "^18.0.0" + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +prompts@^2.0.1: + version "2.4.2" + resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" + integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +protobufjs@^6.11.3, protobufjs@^6.8.8, protobufjs@~6.11.2: + version "6.11.3" + resolved "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz" + integrity sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg== dependencies: "@protobufjs/aspromise" "^1.1.2" "@protobufjs/base64" "^1.1.2" @@ -5463,12 +5457,12 @@ "@protobufjs/utf8" "^1.1.0" "@types/long" "^4.0.1" "@types/node" ">=13.7.0" - "long" "^4.0.0" + long "^4.0.0" -"protobufjs@^6.8.8": - "integrity" "sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==" - "resolved" "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz" - "version" "6.11.3" +protobufjs@^7.0.0, protobufjs@^7.1.2: + version "7.1.2" + resolved "https://registry.npmjs.org/protobufjs/-/protobufjs-7.1.2.tgz" + integrity sha512-4ZPTPkXCdel3+L81yw3dG6+Kq3umdWKh7Dc7GW/CpNk4SX3hK58iPCWeCyhVTDrbkNeKrYNZ7EojM5WDaEWTLQ== dependencies: "@protobufjs/aspromise" "^1.1.2" "@protobufjs/base64" "^1.1.2" @@ -5480,32 +5474,13 @@ "@protobufjs/path" "^1.1.2" "@protobufjs/pool" "^1.1.0" "@protobufjs/utf8" "^1.1.0" - "@types/long" "^4.0.1" "@types/node" ">=13.7.0" - "long" "^4.0.0" + long "^5.0.0" -"protobufjs@^7.0.0", "protobufjs@^7.1.2": - "integrity" "sha512-4ZPTPkXCdel3+L81yw3dG6+Kq3umdWKh7Dc7GW/CpNk4SX3hK58iPCWeCyhVTDrbkNeKrYNZ7EojM5WDaEWTLQ==" - "resolved" "https://registry.npmjs.org/protobufjs/-/protobufjs-7.1.2.tgz" - "version" "7.1.2" - dependencies: - "@protobufjs/aspromise" "^1.1.2" - "@protobufjs/base64" "^1.1.2" - "@protobufjs/codegen" "^2.0.4" - "@protobufjs/eventemitter" "^1.1.0" - "@protobufjs/fetch" "^1.1.0" - "@protobufjs/float" "^1.0.2" - "@protobufjs/inquire" "^1.1.0" - "@protobufjs/path" "^1.1.2" - "@protobufjs/pool" "^1.1.0" - "@protobufjs/utf8" "^1.1.0" - "@types/node" ">=13.7.0" - "long" "^5.0.0" - -"protobufjs@~6.10.2": - "integrity" "sha512-yvAslS0hNdBhlSKckI4R1l7wunVilX66uvrjzE4MimiAt7/qw1nLpMhZrn/ObuUTM/c3Xnfl01LYMdcSJe6dwg==" - "resolved" "https://registry.npmjs.org/protobufjs/-/protobufjs-6.10.3.tgz" - "version" "6.10.3" +protobufjs@~6.10.2: + version "6.10.3" + resolved "https://registry.npmjs.org/protobufjs/-/protobufjs-6.10.3.tgz" + integrity sha512-yvAslS0hNdBhlSKckI4R1l7wunVilX66uvrjzE4MimiAt7/qw1nLpMhZrn/ObuUTM/c3Xnfl01LYMdcSJe6dwg== dependencies: "@protobufjs/aspromise" "^1.1.2" "@protobufjs/base64" "^1.1.2" @@ -5519,982 +5494,927 @@ "@protobufjs/utf8" "^1.1.0" "@types/long" "^4.0.1" "@types/node" "^13.7.0" - "long" "^4.0.0" + long "^4.0.0" + +protoc-gen-js@^3.21.2: + version "3.21.2" + resolved "https://registry.npmjs.org/protoc-gen-js/-/protoc-gen-js-3.21.2.tgz" + integrity sha512-nSpiXulygg0vUv05uFeATuZSbgMQMeoef0BhB5266Y6HmsqVtIrbSkK/Z2Yk0KLE+BirRNjsTKDUJxg3OPO9pQ== + dependencies: + adm-zip "^0.5.10" + download "^8.0.0" + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +punycode@^2.1.0: + version "2.1.1" + resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +pure-rand@^6.0.0: + version "6.0.4" + resolved "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz" + integrity sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA== + +qs@^6.4.0: + version "6.5.3" + resolved "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz" + integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== + +query-string@^5.0.1: + version "5.1.1" + resolved "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz" + integrity sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw== + dependencies: + decode-uri-component "^0.2.0" + object-assign "^4.1.0" + strict-uri-encode "^1.0.0" + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +random@3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/random/-/random-3.0.4.tgz" + integrity sha512-sRiwuLH3C7UGNVQYIVoQzwiSJSUOXN06dvJBBWTENv35ETeo0GQo6V5d/H83yBMvFMrNXbh6D3n5XveimwPFNQ== + dependencies: + seedrandom "^3.0.5" + +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +react-is@^18.0.0: + version "18.2.0" + resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" + integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== + +readable-stream@^2.0.0, readable-stream@^2.3.0, readable-stream@^2.3.5: + version "2.3.8" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^3.6.0: + version "3.6.2" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readonly-date@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/readonly-date/-/readonly-date-1.0.0.tgz" + integrity sha512-tMKIV7hlk0h4mO3JTmmVuIlJVXjKk3Sep9Bf5OH0O+758ruuVkUy2J9SttDLm91IEX/WHlXPSpxMGjPj4beMIQ== + +rechoir@^0.7.0: + version "0.7.1" + resolved "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz" + integrity sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg== + dependencies: + resolve "^1.9.0" + +regexpp@^3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" + integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== + +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve.exports@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz" + integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== + +resolve@^1.1.7, resolve@^1.20.0, resolve@^1.9.0: + version "1.22.1" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz" + integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== + dependencies: + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +responselike@1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz" + integrity sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ== + dependencies: + lowercase-keys "^1.0.0" + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +ripemd160@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz" + integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +rxjs@^7.5.7: + version "7.5.7" + resolved "https://registry.npmjs.org/rxjs/-/rxjs-7.5.7.tgz" + integrity sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA== + dependencies: + tslib "^2.1.0" -"protobufjs@~6.11.2": - "integrity" "sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==" - "resolved" "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz" - "version" "6.11.3" - dependencies: - "@protobufjs/aspromise" "^1.1.2" - "@protobufjs/base64" "^1.1.2" - "@protobufjs/codegen" "^2.0.4" - "@protobufjs/eventemitter" "^1.1.0" - "@protobufjs/fetch" "^1.1.0" - "@protobufjs/float" "^1.0.2" - "@protobufjs/inquire" "^1.1.0" - "@protobufjs/path" "^1.1.2" - "@protobufjs/pool" "^1.1.0" - "@protobufjs/utf8" "^1.1.0" - "@types/long" "^4.0.1" - "@types/node" ">=13.7.0" - "long" "^4.0.0" - -"protoc-gen-js@^3.21.2": - "integrity" "sha512-nSpiXulygg0vUv05uFeATuZSbgMQMeoef0BhB5266Y6HmsqVtIrbSkK/Z2Yk0KLE+BirRNjsTKDUJxg3OPO9pQ==" - "resolved" "https://registry.npmjs.org/protoc-gen-js/-/protoc-gen-js-3.21.2.tgz" - "version" "3.21.2" - dependencies: - "adm-zip" "^0.5.10" - "download" "^8.0.0" - -"pump@^3.0.0": - "integrity" "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==" - "resolved" "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "end-of-stream" "^1.1.0" - "once" "^1.3.1" - -"punycode@^2.1.0": - "integrity" "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - "resolved" "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" - "version" "2.1.1" - -"qs@^6.4.0": - "integrity" "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==" - "resolved" "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz" - "version" "6.5.3" - -"query-string@^5.0.1": - "integrity" "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==" - "resolved" "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz" - "version" "5.1.1" - dependencies: - "decode-uri-component" "^0.2.0" - "object-assign" "^4.1.0" - "strict-uri-encode" "^1.0.0" - -"queue-microtask@^1.2.2": - "integrity" "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" - "resolved" "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" - "version" "1.2.3" - -"random@3.0.4": - "integrity" "sha512-sRiwuLH3C7UGNVQYIVoQzwiSJSUOXN06dvJBBWTENv35ETeo0GQo6V5d/H83yBMvFMrNXbh6D3n5XveimwPFNQ==" - "resolved" "https://registry.npmjs.org/random/-/random-3.0.4.tgz" - "version" "3.0.4" - dependencies: - "seedrandom" "^3.0.5" - -"randombytes@^2.1.0": - "integrity" "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==" - "resolved" "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "safe-buffer" "^5.1.0" - -"react-is@^18.0.0": - "integrity" "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - "resolved" "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" - "version" "18.2.0" - -"readable-stream@^2.0.0": - "integrity" "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" - "version" "2.3.8" - dependencies: - "core-util-is" "~1.0.0" - "inherits" "~2.0.3" - "isarray" "~1.0.0" - "process-nextick-args" "~2.0.0" - "safe-buffer" "~5.1.1" - "string_decoder" "~1.1.1" - "util-deprecate" "~1.0.1" - -"readable-stream@^2.3.0": - "integrity" "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" - "version" "2.3.8" - dependencies: - "core-util-is" "~1.0.0" - "inherits" "~2.0.3" - "isarray" "~1.0.0" - "process-nextick-args" "~2.0.0" - "safe-buffer" "~5.1.1" - "string_decoder" "~1.1.1" - "util-deprecate" "~1.0.1" - -"readable-stream@^2.3.5": - "integrity" "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" - "version" "2.3.8" - dependencies: - "core-util-is" "~1.0.0" - "inherits" "~2.0.3" - "isarray" "~1.0.0" - "process-nextick-args" "~2.0.0" - "safe-buffer" "~5.1.1" - "string_decoder" "~1.1.1" - "util-deprecate" "~1.0.1" - -"readable-stream@^3.6.0": - "integrity" "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" - "version" "3.6.2" - dependencies: - "inherits" "^2.0.3" - "string_decoder" "^1.1.1" - "util-deprecate" "^1.0.1" - -"readonly-date@^1.0.0": - "integrity" "sha512-tMKIV7hlk0h4mO3JTmmVuIlJVXjKk3Sep9Bf5OH0O+758ruuVkUy2J9SttDLm91IEX/WHlXPSpxMGjPj4beMIQ==" - "resolved" "https://registry.npmjs.org/readonly-date/-/readonly-date-1.0.0.tgz" - "version" "1.0.0" - -"rechoir@^0.7.0": - "integrity" "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==" - "resolved" "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz" - "version" "0.7.1" - dependencies: - "resolve" "^1.9.0" - -"regexpp@^3.2.0": - "integrity" "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==" - "resolved" "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz" - "version" "3.2.0" - -"require-directory@^2.1.1": - "integrity" "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" - "resolved" "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" - "version" "2.1.1" - -"requires-port@^1.0.0": - "integrity" "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" - "resolved" "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" - "version" "1.0.0" - -"resolve-cwd@^3.0.0": - "integrity" "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==" - "resolved" "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "resolve-from" "^5.0.0" - -"resolve-from@^4.0.0": - "integrity" "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" - "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" - "version" "4.0.0" - -"resolve-from@^5.0.0": - "integrity" "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" - "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" - "version" "5.0.0" - -"resolve.exports@^1.1.0": - "integrity" "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==" - "resolved" "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz" - "version" "1.1.0" - -"resolve@^1.1.7", "resolve@^1.20.0", "resolve@^1.9.0": - "integrity" "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==" - "resolved" "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz" - "version" "1.22.1" - dependencies: - "is-core-module" "^2.9.0" - "path-parse" "^1.0.7" - "supports-preserve-symlinks-flag" "^1.0.0" - -"responselike@1.0.2": - "integrity" "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==" - "resolved" "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "lowercase-keys" "^1.0.0" - -"reusify@^1.0.4": - "integrity" "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" - "resolved" "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" - "version" "1.0.4" - -"rimraf@^3.0.2": - "integrity" "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==" - "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "glob" "^7.1.3" - -"ripemd160@^2.0.2": - "integrity" "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==" - "resolved" "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "hash-base" "^3.0.0" - "inherits" "^2.0.1" - -"run-parallel@^1.1.9": - "integrity" "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==" - "resolved" "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "queue-microtask" "^1.2.2" - -"rxjs@^7.5.7": - "integrity" "sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA==" - "resolved" "https://registry.npmjs.org/rxjs/-/rxjs-7.5.7.tgz" - "version" "7.5.7" - dependencies: - "tslib" "^2.1.0" - -"safe-buffer@^5.0.1", "safe-buffer@^5.1.0", "safe-buffer@^5.1.1", "safe-buffer@~5.1.0", "safe-buffer@~5.1.1", "safe-buffer@5.1.2": - "integrity" "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" - "version" "5.1.2" - -"safe-buffer@^5.2.0": - "integrity" "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" - "version" "5.2.1" +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -"safe-buffer@~5.2.0": - "integrity" "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" - "version" "5.2.1" - -"safe-buffer@5.2.1": - "integrity" "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" - "version" "5.2.1" +safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.2.0, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== "safer-buffer@>= 2.1.2 < 3.0.0": - "integrity" "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - "resolved" "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" - "version" "2.1.2" + version "2.1.2" + resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -"schema-utils@^3.1.0", "schema-utils@^3.1.1": - "integrity" "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==" - "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz" - "version" "3.1.1" +schema-utils@^3.1.0, schema-utils@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz" + integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== dependencies: "@types/json-schema" "^7.0.8" - "ajv" "^6.12.5" - "ajv-keywords" "^3.5.2" - -"secure-compare@3.0.1": - "integrity" "sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==" - "resolved" "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz" - "version" "3.0.1" - -"seedrandom@^3.0.5": - "integrity" "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==" - "resolved" "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz" - "version" "3.0.5" - -"seek-bzip@^1.0.5": - "integrity" "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==" - "resolved" "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz" - "version" "1.0.6" - dependencies: - "commander" "^2.8.1" - -"semver@^5.6.0": - "integrity" "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" - "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz" - "version" "5.7.2" + ajv "^6.12.5" + ajv-keywords "^3.5.2" -"semver@^6.0.0": - "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - "version" "6.3.0" +secure-compare@3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz" + integrity sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw== -"semver@^6.3.0": - "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - "version" "6.3.0" +seedrandom@^3.0.5: + version "3.0.5" + resolved "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz" + integrity sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg== -"semver@^7.3.5", "semver@^7.3.7", "semver@7.x": - "integrity" "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==" - "resolved" "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz" - "version" "7.3.8" - dependencies: - "lru-cache" "^6.0.0" - -"serialize-javascript@^6.0.0": - "integrity" "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==" - "resolved" "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz" - "version" "6.0.0" +seek-bzip@^1.0.5: + version "1.0.6" + resolved "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz" + integrity sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ== dependencies: - "randombytes" "^2.1.0" - -"sha.js@^2.4.11": - "integrity" "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==" - "resolved" "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz" - "version" "2.4.11" - dependencies: - "inherits" "^2.0.1" - "safe-buffer" "^5.0.1" + commander "^2.8.1" -"shallow-clone@^3.0.0": - "integrity" "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==" - "resolved" "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz" - "version" "3.0.1" +semver@7.x, semver@^7.3.7, semver@^7.5.3, semver@^7.5.4: + version "7.5.4" + resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== dependencies: - "kind-of" "^6.0.2" + lru-cache "^6.0.0" -"shebang-command@^2.0.0": - "integrity" "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==" - "resolved" "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" - "version" "2.0.0" +semver@^5.6.0: + version "5.7.2" + resolved "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== + +semver@^6.3.0: + version "6.3.0" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +serialize-javascript@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz" + integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== dependencies: - "shebang-regex" "^3.0.0" + randombytes "^2.1.0" + +sha.js@^2.4.11: + version "2.4.11" + resolved "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" -"shebang-regex@^3.0.0": - "integrity" "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - "resolved" "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" - "version" "3.0.0" - -"signal-exit@^3.0.3", "signal-exit@^3.0.7": - "integrity" "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - "resolved" "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" - "version" "3.0.7" +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -"sisteransi@^1.0.5": - "integrity" "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" - "resolved" "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" - "version" "1.0.5" +signal-exit@^3.0.3, signal-exit@^3.0.7: + version "3.0.7" + resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== -"slash@^3.0.0": - "integrity" "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - "resolved" "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" - "version" "3.0.0" +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== -"sort-keys-length@^1.0.0": - "integrity" "sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==" - "resolved" "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "sort-keys" "^1.0.0" +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +sort-keys-length@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz" + integrity sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw== + dependencies: + sort-keys "^1.0.0" -"sort-keys@^1.0.0": - "integrity" "sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==" - "resolved" "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz" - "version" "1.1.2" +sort-keys@^1.0.0: + version "1.1.2" + resolved "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz" + integrity sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg== dependencies: - "is-plain-obj" "^1.0.0" + is-plain-obj "^1.0.0" -"sort-keys@^2.0.0": - "integrity" "sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==" - "resolved" "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz" - "version" "2.0.0" +sort-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz" + integrity sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg== dependencies: - "is-plain-obj" "^1.0.0" + is-plain-obj "^1.0.0" -"source-map-support@~0.5.20": - "integrity" "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==" - "resolved" "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" - "version" "0.5.21" +source-map-support@0.5.13: + version "0.5.13" + resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz" + integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== dependencies: - "buffer-from" "^1.0.0" - "source-map" "^0.6.0" + buffer-from "^1.0.0" + source-map "^0.6.0" -"source-map-support@0.5.13": - "integrity" "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==" - "resolved" "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz" - "version" "0.5.13" +source-map-support@~0.5.20: + version "0.5.21" + resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== dependencies: - "buffer-from" "^1.0.0" - "source-map" "^0.6.0" + buffer-from "^1.0.0" + source-map "^0.6.0" -"source-map@^0.6.0", "source-map@^0.6.1": - "integrity" "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" - "version" "0.6.1" +source-map@^0.6.0, source-map@^0.6.1: + version "0.6.1" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== -"sprintf-js@~1.0.2": - "integrity" "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - "resolved" "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" - "version" "1.0.3" +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== -"stack-utils@^2.0.3": - "integrity" "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==" - "resolved" "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz" - "version" "2.0.6" +stack-utils@^2.0.3: + version "2.0.6" + resolved "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz" + integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== dependencies: - "escape-string-regexp" "^2.0.0" + escape-string-regexp "^2.0.0" -"strict-uri-encode@^1.0.0": - "integrity" "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==" - "resolved" "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz" - "version" "1.1.0" +strict-uri-encode@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz" + integrity sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ== -"string_decoder@^1.1.1": - "integrity" "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==" - "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" - "version" "1.3.0" +string-length@^4.0.1: + version "4.0.2" + resolved "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz" + integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== dependencies: - "safe-buffer" "~5.2.0" + char-regex "^1.0.2" + strip-ansi "^6.0.0" -"string_decoder@~1.1.1": - "integrity" "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==" - "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" - "version" "1.1.1" - dependencies: - "safe-buffer" "~5.1.0" - -"string-length@^4.0.1": - "integrity" "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==" - "resolved" "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz" - "version" "4.0.2" - dependencies: - "char-regex" "^1.0.2" - "strip-ansi" "^6.0.0" - -"string-width@^4.1.0", "string-width@^4.2.0", "string-width@^4.2.3": - "integrity" "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==" - "resolved" "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" - "version" "4.2.3" - dependencies: - "emoji-regex" "^8.0.0" - "is-fullwidth-code-point" "^3.0.0" - "strip-ansi" "^6.0.1" +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" -"strip-ansi@^6.0.0", "strip-ansi@^6.0.1": - "integrity" "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==" - "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" - "version" "6.0.1" +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: - "ansi-regex" "^5.0.1" - -"strip-bom@^4.0.0": - "integrity" "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" - "resolved" "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" - "version" "4.0.0" + ansi-regex "^5.0.1" + +strip-bom@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" + integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== -"strip-dirs@^2.0.0": - "integrity" "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==" - "resolved" "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz" - "version" "2.1.0" +strip-dirs@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz" + integrity sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g== dependencies: - "is-natural-number" "^4.0.1" - -"strip-final-newline@^2.0.0": - "integrity" "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" - "resolved" "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" - "version" "2.0.0" + is-natural-number "^4.0.1" + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== -"strip-json-comments@^3.1.1": - "integrity" "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" - "resolved" "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" - "version" "3.1.1" +strip-outer@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz" + integrity sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg== + dependencies: + escape-string-regexp "^1.0.2" -"strip-outer@^1.0.0": - "integrity" "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==" - "resolved" "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "escape-string-regexp" "^1.0.2" +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" -"supports-color@^5.3.0": - "integrity" "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" - "version" "5.5.0" - dependencies: - "has-flag" "^3.0.0" - -"supports-color@^7.1.0": - "integrity" "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" - "version" "7.2.0" - dependencies: - "has-flag" "^4.0.0" - -"supports-color@^8.0.0": - "integrity" "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" - "version" "8.1.1" - dependencies: - "has-flag" "^4.0.0" +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== -"supports-preserve-symlinks-flag@^1.0.0": - "integrity" "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" - "resolved" "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" - "version" "1.0.0" +symbol-observable@^2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/symbol-observable/-/symbol-observable-2.0.3.tgz" + integrity sha512-sQV7phh2WCYAn81oAkakC5qjq2Ml0g8ozqz03wOGnx9dDlG1de6yrF+0RAzSJD8fPUow3PTSMf2SAbOGxb93BA== + +tapable@^2.1.1, tapable@^2.2.0: + version "2.2.1" + resolved "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz" + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== -"symbol-observable@^2.0.3": - "integrity" "sha512-sQV7phh2WCYAn81oAkakC5qjq2Ml0g8ozqz03wOGnx9dDlG1de6yrF+0RAzSJD8fPUow3PTSMf2SAbOGxb93BA==" - "resolved" "https://registry.npmjs.org/symbol-observable/-/symbol-observable-2.0.3.tgz" - "version" "2.0.3" - -"tapable@^2.1.1", "tapable@^2.2.0": - "integrity" "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" - "resolved" "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz" - "version" "2.2.1" +tar-stream@^1.5.2: + version "1.6.2" + resolved "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz" + integrity sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A== + dependencies: + bl "^1.0.0" + buffer-alloc "^1.2.0" + end-of-stream "^1.0.0" + fs-constants "^1.0.0" + readable-stream "^2.3.0" + to-buffer "^1.1.1" + xtend "^4.0.0" -"tar-stream@^1.5.2": - "integrity" "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==" - "resolved" "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz" - "version" "1.6.2" - dependencies: - "bl" "^1.0.0" - "buffer-alloc" "^1.2.0" - "end-of-stream" "^1.0.0" - "fs-constants" "^1.0.0" - "readable-stream" "^2.3.0" - "to-buffer" "^1.1.1" - "xtend" "^4.0.0" - -"terser-webpack-plugin@^5.1.3": - "integrity" "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==" - "resolved" "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz" - "version" "5.3.6" +terser-webpack-plugin@^5.1.3: + version "5.3.6" + resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz" + integrity sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ== dependencies: "@jridgewell/trace-mapping" "^0.3.14" - "jest-worker" "^27.4.5" - "schema-utils" "^3.1.1" - "serialize-javascript" "^6.0.0" - "terser" "^5.14.1" + jest-worker "^27.4.5" + schema-utils "^3.1.1" + serialize-javascript "^6.0.0" + terser "^5.14.1" -"terser@^5.14.1": - "integrity" "sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw==" - "resolved" "https://registry.npmjs.org/terser/-/terser-5.15.1.tgz" - "version" "5.15.1" +terser@^5.14.1: + version "5.15.1" + resolved "https://registry.npmjs.org/terser/-/terser-5.15.1.tgz" + integrity sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw== dependencies: "@jridgewell/source-map" "^0.3.2" - "acorn" "^8.5.0" - "commander" "^2.20.0" - "source-map-support" "~0.5.20" + acorn "^8.5.0" + commander "^2.20.0" + source-map-support "~0.5.20" -"test-exclude@^6.0.0": - "integrity" "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==" - "resolved" "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz" - "version" "6.0.0" +test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz" + integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== dependencies: "@istanbuljs/schema" "^0.1.2" - "glob" "^7.1.4" - "minimatch" "^3.0.4" - -"text-table@^0.2.0": - "integrity" "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" - "resolved" "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" - "version" "0.2.0" - -"through@^2.3.8": - "integrity" "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" - "resolved" "https://registry.npmjs.org/through/-/through-2.3.8.tgz" - "version" "2.3.8" - -"timed-out@^4.0.1": - "integrity" "sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==" - "resolved" "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz" - "version" "4.0.1" - -"tmpl@1.0.5": - "integrity" "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" - "resolved" "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz" - "version" "1.0.5" - -"to-buffer@^1.1.1": - "integrity" "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" - "resolved" "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz" - "version" "1.1.1" - -"to-fast-properties@^2.0.0": - "integrity" "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" - "resolved" "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" - "version" "2.0.0" - -"to-regex-range@^5.0.1": - "integrity" "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==" - "resolved" "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "is-number" "^7.0.0" - -"trim-repeated@^1.0.0": - "integrity" "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==" - "resolved" "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "escape-string-regexp" "^1.0.2" - -"ts-jest@^29.0.3": - "integrity" "sha512-Ibygvmuyq1qp/z3yTh9QTwVVAbFdDy/+4BtIQR2sp6baF2SJU/8CKK/hhnGIDY2L90Az2jIqTwZPnN2p+BweiQ==" - "resolved" "https://registry.npmjs.org/ts-jest/-/ts-jest-29.0.3.tgz" - "version" "29.0.3" - dependencies: - "bs-logger" "0.x" - "fast-json-stable-stringify" "2.x" - "jest-util" "^29.0.0" - "json5" "^2.2.1" - "lodash.memoize" "4.x" - "make-error" "1.x" - "semver" "7.x" - "yargs-parser" "^21.0.1" - -"ts-node@^10.9.1", "ts-node@>=9.0.0": - "integrity" "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==" - "resolved" "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz" - "version" "10.9.1" + glob "^7.1.4" + minimatch "^3.0.4" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +through@^2.3.8: + version "2.3.8" + resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz" + integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== + +timed-out@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz" + integrity sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA== + +tmpl@1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz" + integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== + +to-buffer@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz" + integrity sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg== + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +trim-repeated@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz" + integrity sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg== + dependencies: + escape-string-regexp "^1.0.2" + +ts-jest@^29.0.3: + version "29.0.3" + resolved "https://registry.npmjs.org/ts-jest/-/ts-jest-29.0.3.tgz" + integrity sha512-Ibygvmuyq1qp/z3yTh9QTwVVAbFdDy/+4BtIQR2sp6baF2SJU/8CKK/hhnGIDY2L90Az2jIqTwZPnN2p+BweiQ== + dependencies: + bs-logger "0.x" + fast-json-stable-stringify "2.x" + jest-util "^29.0.0" + json5 "^2.2.1" + lodash.memoize "4.x" + make-error "1.x" + semver "7.x" + yargs-parser "^21.0.1" + +ts-node@^10.9.1: + version "10.9.1" + resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz" + integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== dependencies: "@cspotcode/source-map-support" "^0.8.0" "@tsconfig/node10" "^1.0.7" "@tsconfig/node12" "^1.0.7" "@tsconfig/node14" "^1.0.0" "@tsconfig/node16" "^1.0.2" - "acorn" "^8.4.1" - "acorn-walk" "^8.1.1" - "arg" "^4.1.0" - "create-require" "^1.1.0" - "diff" "^4.0.1" - "make-error" "^1.1.1" - "v8-compile-cache-lib" "^3.0.1" - "yn" "3.1.1" - -"ts-poet@^6.4.1": - "integrity" "sha512-AjZEs4h2w4sDfwpHMxQKHrTlNh2wRbM5NRXmLz0RiH+yPGtSQFbe9hBpNocU8vqVNgfh0BIOiXR80xDz3kKxUQ==" - "resolved" "https://registry.npmjs.org/ts-poet/-/ts-poet-6.4.1.tgz" - "version" "6.4.1" - dependencies: - "dprint-node" "^1.0.7" - -"ts-proto-descriptors@1.8.0": - "integrity" "sha512-iV20plcI8+GRkeZIAygxOOH0p2xpOsKfw9kI1W20NCwawi1/4bG/YRd9rQY9XSJP+lD9j7XbSy3tFFuikfsljw==" - "resolved" "https://registry.npmjs.org/ts-proto-descriptors/-/ts-proto-descriptors-1.8.0.tgz" - "version" "1.8.0" - dependencies: - "long" "^4.0.0" - "protobufjs" "^6.8.8" - -"ts-proto@^1.145.0": - "integrity" "sha512-th0T5BN8Ytl//6L5ea5nbxtlcGQaqPP9MVm0lxT+t1Mn3Np0g/GMR1VUiOwZhtAo5N7xfuaX4AppWELR5rCF7g==" - "resolved" "https://registry.npmjs.org/ts-proto/-/ts-proto-1.145.0.tgz" - "version" "1.145.0" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + v8-compile-cache-lib "^3.0.1" + yn "3.1.1" + +ts-poet@^6.4.1: + version "6.4.1" + resolved "https://registry.npmjs.org/ts-poet/-/ts-poet-6.4.1.tgz" + integrity sha512-AjZEs4h2w4sDfwpHMxQKHrTlNh2wRbM5NRXmLz0RiH+yPGtSQFbe9hBpNocU8vqVNgfh0BIOiXR80xDz3kKxUQ== + dependencies: + dprint-node "^1.0.7" + +ts-proto-descriptors@1.8.0: + version "1.8.0" + resolved "https://registry.npmjs.org/ts-proto-descriptors/-/ts-proto-descriptors-1.8.0.tgz" + integrity sha512-iV20plcI8+GRkeZIAygxOOH0p2xpOsKfw9kI1W20NCwawi1/4bG/YRd9rQY9XSJP+lD9j7XbSy3tFFuikfsljw== + dependencies: + long "^4.0.0" + protobufjs "^6.8.8" + +ts-proto@^1.145.0: + version "1.145.0" + resolved "https://registry.npmjs.org/ts-proto/-/ts-proto-1.145.0.tgz" + integrity sha512-th0T5BN8Ytl//6L5ea5nbxtlcGQaqPP9MVm0lxT+t1Mn3Np0g/GMR1VUiOwZhtAo5N7xfuaX4AppWELR5rCF7g== dependencies: "@types/object-hash" "^1.3.0" - "case-anything" "^2.1.10" - "dataloader" "^1.4.0" - "object-hash" "^1.3.1" - "protobufjs" "^6.11.3" - "ts-poet" "^6.4.1" - "ts-proto-descriptors" "1.8.0" - -"ts-protoc-gen@^0.15.0": - "integrity" "sha512-TycnzEyrdVDlATJ3bWFTtra3SCiEP0W0vySXReAuEygXCUr1j2uaVyL0DhzjwuUdQoW5oXPwk6oZWeA0955V+g==" - "resolved" "https://registry.npmjs.org/ts-protoc-gen/-/ts-protoc-gen-0.15.0.tgz" - "version" "0.15.0" - dependencies: - "google-protobuf" "^3.15.5" - -"tslib@^1.8.1": - "integrity" "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - "resolved" "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" - "version" "1.14.1" - -"tslib@^2.1.0": - "integrity" "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" - "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz" - "version" "2.4.1" - -"tsutils@^3.21.0": - "integrity" "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==" - "resolved" "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" - "version" "3.21.0" - dependencies: - "tslib" "^1.8.1" - -"type-check@^0.4.0", "type-check@~0.4.0": - "integrity" "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==" - "resolved" "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" - "version" "0.4.0" - dependencies: - "prelude-ls" "^1.2.1" - -"type-detect@4.0.8": - "integrity" "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" - "resolved" "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" - "version" "4.0.8" - -"type-fest@^0.20.2": - "integrity" "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" - "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" - "version" "0.20.2" - -"type-fest@^0.21.3": - "integrity" "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" - "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" - "version" "0.21.3" - -"typescript@^4.8.4", "typescript@>=2.7", "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta", "typescript@>=4.3": - "integrity" "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==" - "resolved" "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz" - "version" "4.8.4" - -"unbzip2-stream@^1.0.9": - "integrity" "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==" - "resolved" "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz" - "version" "1.4.3" - dependencies: - "buffer" "^5.2.1" - "through" "^2.3.8" - -"undici-types@~5.26.4": - "integrity" "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" - "resolved" "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz" - "version" "5.26.5" - -"union@~0.5.0": - "integrity" "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==" - "resolved" "https://registry.npmjs.org/union/-/union-0.5.0.tgz" - "version" "0.5.0" - dependencies: - "qs" "^6.4.0" - -"update-browserslist-db@^1.0.9": - "integrity" "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==" - "resolved" "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz" - "version" "1.0.10" - dependencies: - "escalade" "^3.1.1" - "picocolors" "^1.0.0" - -"uri-js@^4.2.2": - "integrity" "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==" - "resolved" "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" - "version" "4.4.1" - dependencies: - "punycode" "^2.1.0" - -"url-join@^4.0.1": - "integrity" "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==" - "resolved" "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz" - "version" "4.0.1" - -"url-parse-lax@^3.0.0": - "integrity" "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==" - "resolved" "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "prepend-http" "^2.0.0" - -"url-to-options@^1.0.1": - "integrity" "sha512-0kQLIzG4fdk/G5NONku64rSH/x32NOA39LVQqlK8Le6lvTF6GGRJpqaQFGgU+CLwySIqBSMdwYM0sYcW9f6P4A==" - "resolved" "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz" - "version" "1.0.1" - -"util-deprecate@^1.0.1", "util-deprecate@~1.0.1": - "integrity" "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - "resolved" "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - "version" "1.0.2" - -"v8-compile-cache-lib@^3.0.1": - "integrity" "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" - "resolved" "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz" - "version" "3.0.1" - -"v8-to-istanbul@^9.0.1": - "integrity" "sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==" - "resolved" "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz" - "version" "9.0.1" + case-anything "^2.1.10" + dataloader "^1.4.0" + object-hash "^1.3.1" + protobufjs "^6.11.3" + ts-poet "^6.4.1" + ts-proto-descriptors "1.8.0" + +ts-protoc-gen@^0.15.0: + version "0.15.0" + resolved "https://registry.npmjs.org/ts-protoc-gen/-/ts-protoc-gen-0.15.0.tgz" + integrity sha512-TycnzEyrdVDlATJ3bWFTtra3SCiEP0W0vySXReAuEygXCUr1j2uaVyL0DhzjwuUdQoW5oXPwk6oZWeA0955V+g== + dependencies: + google-protobuf "^3.15.5" + +tslib@^1.8.1: + version "1.14.1" + resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.1.0: + version "2.4.1" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz" + integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA== + +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-detect@4.0.8: + version "4.0.8" + resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + +typescript@^4.8.4: + version "4.8.4" + resolved "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz" + integrity sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ== + +unbzip2-stream@^1.0.9: + version "1.4.3" + resolved "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz" + integrity sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg== + dependencies: + buffer "^5.2.1" + through "^2.3.8" + +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== + +union@~0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/union/-/union-0.5.0.tgz" + integrity sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA== + dependencies: + qs "^6.4.0" + +update-browserslist-db@^1.0.9: + version "1.0.10" + resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz" + integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +url-join@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz" + integrity sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA== + +url-parse-lax@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz" + integrity sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ== + dependencies: + prepend-http "^2.0.0" + +url-to-options@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz" + integrity sha512-0kQLIzG4fdk/G5NONku64rSH/x32NOA39LVQqlK8Le6lvTF6GGRJpqaQFGgU+CLwySIqBSMdwYM0sYcW9f6P4A== + +util-deprecate@^1.0.1, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +v8-compile-cache-lib@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz" + integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== + +v8-to-istanbul@^9.0.1: + version "9.1.3" + resolved "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.3.tgz" + integrity sha512-9lDD+EVI2fjFsMWXc6dy5JJzBsVTcQ2fVkfBvncZ6xJWG9wtBhOldG+mHkSL0+V1K/xgZz0JDO5UT5hFwHUghg== dependencies: "@jridgewell/trace-mapping" "^0.3.12" "@types/istanbul-lib-coverage" "^2.0.1" - "convert-source-map" "^1.6.0" + convert-source-map "^2.0.0" -"walker@^1.0.8": - "integrity" "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==" - "resolved" "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz" - "version" "1.0.8" +walker@^1.0.8: + version "1.0.8" + resolved "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz" + integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== dependencies: - "makeerror" "1.0.12" + makeerror "1.0.12" -"watchpack@^2.4.0": - "integrity" "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==" - "resolved" "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz" - "version" "2.4.0" +watchpack@^2.4.0: + version "2.4.0" + resolved "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz" + integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== dependencies: - "glob-to-regexp" "^0.4.1" - "graceful-fs" "^4.1.2" + glob-to-regexp "^0.4.1" + graceful-fs "^4.1.2" -"webpack-cli@^4.10.0", "webpack-cli@4.x.x": - "integrity" "sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==" - "resolved" "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz" - "version" "4.10.0" +webpack-cli@^4.10.0: + version "4.10.0" + resolved "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz" + integrity sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w== dependencies: "@discoveryjs/json-ext" "^0.5.0" "@webpack-cli/configtest" "^1.2.0" "@webpack-cli/info" "^1.5.0" "@webpack-cli/serve" "^1.7.0" - "colorette" "^2.0.14" - "commander" "^7.0.0" - "cross-spawn" "^7.0.3" - "fastest-levenshtein" "^1.0.12" - "import-local" "^3.0.2" - "interpret" "^2.2.0" - "rechoir" "^0.7.0" - "webpack-merge" "^5.7.3" - -"webpack-merge@^5.7.3": - "integrity" "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==" - "resolved" "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz" - "version" "5.8.0" - dependencies: - "clone-deep" "^4.0.1" - "wildcard" "^2.0.0" - -"webpack-sources@^3.2.3": - "integrity" "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==" - "resolved" "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" - "version" "3.2.3" - -"webpack@^5.1.0", "webpack@^5.74.0", "webpack@4.x.x || 5.x.x": - "integrity" "sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==" - "resolved" "https://registry.npmjs.org/webpack/-/webpack-5.74.0.tgz" - "version" "5.74.0" + colorette "^2.0.14" + commander "^7.0.0" + cross-spawn "^7.0.3" + fastest-levenshtein "^1.0.12" + import-local "^3.0.2" + interpret "^2.2.0" + rechoir "^0.7.0" + webpack-merge "^5.7.3" + +webpack-merge@^5.7.3: + version "5.8.0" + resolved "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz" + integrity sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q== + dependencies: + clone-deep "^4.0.1" + wildcard "^2.0.0" + +webpack-sources@^3.2.3: + version "3.2.3" + resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" + integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== + +webpack@^5.74.0: + version "5.74.0" + resolved "https://registry.npmjs.org/webpack/-/webpack-5.74.0.tgz" + integrity sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA== dependencies: "@types/eslint-scope" "^3.7.3" "@types/estree" "^0.0.51" "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/wasm-edit" "1.11.1" "@webassemblyjs/wasm-parser" "1.11.1" - "acorn" "^8.7.1" - "acorn-import-assertions" "^1.7.6" - "browserslist" "^4.14.5" - "chrome-trace-event" "^1.0.2" - "enhanced-resolve" "^5.10.0" - "es-module-lexer" "^0.9.0" - "eslint-scope" "5.1.1" - "events" "^3.2.0" - "glob-to-regexp" "^0.4.1" - "graceful-fs" "^4.2.9" - "json-parse-even-better-errors" "^2.3.1" - "loader-runner" "^4.2.0" - "mime-types" "^2.1.27" - "neo-async" "^2.6.2" - "schema-utils" "^3.1.0" - "tapable" "^2.1.1" - "terser-webpack-plugin" "^5.1.3" - "watchpack" "^2.4.0" - "webpack-sources" "^3.2.3" - -"whatwg-encoding@^2.0.0": - "integrity" "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==" - "resolved" "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "iconv-lite" "0.6.3" - -"which@^2.0.1": - "integrity" "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==" - "resolved" "https://registry.npmjs.org/which/-/which-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "isexe" "^2.0.0" - -"wildcard@^2.0.0": - "integrity" "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==" - "resolved" "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz" - "version" "2.0.0" - -"wrap-ansi@^7.0.0": - "integrity" "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==" - "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" - "version" "7.0.0" - dependencies: - "ansi-styles" "^4.0.0" - "string-width" "^4.1.0" - "strip-ansi" "^6.0.0" - -"wrappy@1": - "integrity" "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - "resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - "version" "1.0.2" - -"write-file-atomic@^4.0.1": - "integrity" "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==" - "resolved" "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz" - "version" "4.0.2" - dependencies: - "imurmurhash" "^0.1.4" - "signal-exit" "^3.0.7" - -"ws@*", "ws@^7": - "integrity" "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==" - "resolved" "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz" - "version" "7.5.9" - -"xstream@^11.14.0": - "integrity" "sha512-1bLb+kKKtKPbgTK6i/BaoAn03g47PpFstlbe1BA+y3pNS/LfvcaghS5BFf9+EE1J+KwSQsEpfJvFN5GqFtiNmw==" - "resolved" "https://registry.npmjs.org/xstream/-/xstream-11.14.0.tgz" - "version" "11.14.0" - dependencies: - "globalthis" "^1.0.1" - "symbol-observable" "^2.0.3" - -"xtend@^4.0.0": - "integrity" "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - "resolved" "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" - "version" "4.0.2" - -"y18n@^5.0.5": - "integrity" "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - "resolved" "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" - "version" "5.0.8" - -"yallist@^4.0.0": - "integrity" "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - "resolved" "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" - "version" "4.0.0" - -"yargs-parser@^20.2.2": - "integrity" "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" - "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz" - "version" "20.2.9" - -"yargs-parser@^21.0.1", "yargs-parser@^21.1.1": - "integrity" "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" - "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" - "version" "21.1.1" - -"yargs@^16.2.0": - "integrity" "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==" - "resolved" "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" - "version" "16.2.0" - dependencies: - "cliui" "^7.0.2" - "escalade" "^3.1.1" - "get-caller-file" "^2.0.5" - "require-directory" "^2.1.1" - "string-width" "^4.2.0" - "y18n" "^5.0.5" - "yargs-parser" "^20.2.2" - -"yargs@^17.3.1": - "integrity" "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==" - "resolved" "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz" - "version" "17.6.2" - dependencies: - "cliui" "^8.0.1" - "escalade" "^3.1.1" - "get-caller-file" "^2.0.5" - "require-directory" "^2.1.1" - "string-width" "^4.2.3" - "y18n" "^5.0.5" - "yargs-parser" "^21.1.1" - -"yauzl@^2.4.2": - "integrity" "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==" - "resolved" "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz" - "version" "2.10.0" - dependencies: - "buffer-crc32" "~0.2.3" - "fd-slicer" "~1.1.0" - -"yn@3.1.1": - "integrity" "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==" - "resolved" "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz" - "version" "3.1.1" - -"yocto-queue@^0.1.0": - "integrity" "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" - "resolved" "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" - "version" "0.1.0" + acorn "^8.7.1" + acorn-import-assertions "^1.7.6" + browserslist "^4.14.5" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.10.0" + es-module-lexer "^0.9.0" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.9" + json-parse-even-better-errors "^2.3.1" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.1.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.1.3" + watchpack "^2.4.0" + webpack-sources "^3.2.3" + +whatwg-encoding@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz" + integrity sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg== + dependencies: + iconv-lite "0.6.3" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wildcard@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz" + integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw== + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +write-file-atomic@^4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz" + integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== + dependencies: + imurmurhash "^0.1.4" + signal-exit "^3.0.7" + +ws@^7: + version "7.5.9" + resolved "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz" + integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== + +xstream@^11.14.0: + version "11.14.0" + resolved "https://registry.npmjs.org/xstream/-/xstream-11.14.0.tgz" + integrity sha512-1bLb+kKKtKPbgTK6i/BaoAn03g47PpFstlbe1BA+y3pNS/LfvcaghS5BFf9+EE1J+KwSQsEpfJvFN5GqFtiNmw== + dependencies: + globalthis "^1.0.1" + symbol-observable "^2.0.3" + +xtend@^4.0.0: + version "4.0.2" + resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yargs-parser@^20.2.2: + version "20.2.9" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs-parser@^21.0.1, yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + +yargs@^16.2.0: + version "16.2.0" + resolved "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + +yargs@^17.3.1: + version "17.7.2" + resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" + +yauzl@^2.4.2: + version "2.10.0" + resolved "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz" + integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== + dependencies: + buffer-crc32 "~0.2.3" + fd-slicer "~1.1.0" + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== diff --git a/testutil/e2e/sdk/tests/package.json b/testutil/e2e/sdk/tests/package.json index 1f7fc8d960..70435070ef 100644 --- a/testutil/e2e/sdk/tests/package.json +++ b/testutil/e2e/sdk/tests/package.json @@ -1,5 +1,5 @@ { "devDependencies": { - "@types/node": "^20.11.30" + "@types/node": "^20.10.8" } } From a04a6b5b8cfc92c1107d57532077e7c0ed9defda Mon Sep 17 00:00:00 2001 From: oren-lava Date: Thu, 28 Mar 2024 16:23:30 +0200 Subject: [PATCH 26/35] CNS-930: change GetAllProviderConsumerEpochCu return type --- x/pairing/keeper/epoch_cu.go | 19 +++++++++++---- x/pairing/keeper/epoch_cu_test.go | 24 +++++++++++-------- x/pairing/keeper/epoch_payment.go | 19 +++++---------- .../keeper/msg_server_relay_payment_test.go | 3 +-- 4 files changed, 36 insertions(+), 29 deletions(-) diff --git a/x/pairing/keeper/epoch_cu.go b/x/pairing/keeper/epoch_cu.go index 03cef49b82..a3fed02c41 100644 --- a/x/pairing/keeper/epoch_cu.go +++ b/x/pairing/keeper/epoch_cu.go @@ -171,18 +171,29 @@ func (k Keeper) RemoveProviderConsumerEpochCu(ctx sdk.Context, epoch uint64, pro } // GetAllProviderConsumerEpochCuStore returns all the ProviderConsumerEpochCu from the store (used for genesis) -func (k Keeper) GetAllProviderConsumerEpochCu(ctx sdk.Context, epoch uint64) (keys []string, providerConsumerEpochCus []types.ProviderConsumerEpochCu) { +func (k Keeper) GetAllProviderConsumerEpochCu(ctx sdk.Context, epoch uint64) []types.ProviderConsumerEpochCuGenesis { + providerConsumerEpochCus := []types.ProviderConsumerEpochCuGenesis{} store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderConsumerEpochCuKeyPrefix()) iterator := sdk.KVStorePrefixIterator(store, []byte(strconv.FormatUint(epoch, 10))) defer iterator.Close() for ; iterator.Valid(); iterator.Next() { - keys = append(keys, string(iterator.Key())) + epoch, provider, project, chainID, err := types.DecodeProviderConsumerEpochCuKey(string(iterator.Key())) + if err != nil { + utils.LavaFormatError("could not decode ProviderConsumerEpochCu with epoch", err, utils.LogAttr("key", string(iterator.Key()))) + continue + } var pcec types.ProviderConsumerEpochCu k.cdc.MustUnmarshal(iterator.Value(), &pcec) - providerConsumerEpochCus = append(providerConsumerEpochCus, pcec) + providerConsumerEpochCus = append(providerConsumerEpochCus, types.ProviderConsumerEpochCuGenesis{ + Epoch: epoch, + Provider: provider, + Project: project, + ChainId: chainID, + ProviderConsumerEpochCu: pcec, + }) } - return keys, providerConsumerEpochCus + return providerConsumerEpochCus } // GetAllProviderConsumerEpochCuStore returns all the ProviderConsumerEpochCu from the store (used for genesis) diff --git a/x/pairing/keeper/epoch_cu_test.go b/x/pairing/keeper/epoch_cu_test.go index 62aeddde12..7acc9a5a88 100644 --- a/x/pairing/keeper/epoch_cu_test.go +++ b/x/pairing/keeper/epoch_cu_test.go @@ -165,20 +165,24 @@ func TestProviderConsumerEpochCuRemove(t *testing.T) { func TestProviderConsumerEpochCuGetAll(t *testing.T) { keeper, ctx := keepertest.PairingKeeper(t) items := createNProviderConsumerEpochCu(keeper, ctx, 10) - expectedKeys := []string{} - actualKeys := []string{} - actualPecs := []types.ProviderConsumerEpochCu{} + expectedPcecs := []types.ProviderConsumerEpochCuGenesis{} + actualPcecs := []types.ProviderConsumerEpochCuGenesis{} for i := range items { name := strconv.Itoa(i) - key := string(types.ProviderConsumerEpochCuKey(uint64(i), name, name, name)) - expectedKeys = append(expectedKeys, key) - keys, pecs := keeper.GetAllProviderConsumerEpochCu(ctx, uint64(i)) - actualKeys = append(actualKeys, keys...) - actualPecs = append(actualPecs, pecs...) + expectedPcecs = append(expectedPcecs, types.ProviderConsumerEpochCuGenesis{ + Epoch: uint64(i), + Provider: name, + Project: name, + ChainId: name, + ProviderConsumerEpochCu: types.ProviderConsumerEpochCu{ + Cu: uint64(i), + }, + }) + pecs := keeper.GetAllProviderConsumerEpochCu(ctx, uint64(i)) + actualPcecs = append(actualPcecs, pecs...) } - require.ElementsMatch(t, nullify.Fill(expectedKeys), nullify.Fill(actualKeys)) - require.ElementsMatch(t, items, actualPecs) + require.ElementsMatch(t, expectedPcecs, actualPcecs) } func TestProviderConsumerEpochCuGetAllStore(t *testing.T) { diff --git a/x/pairing/keeper/epoch_payment.go b/x/pairing/keeper/epoch_payment.go index cef5aa9df9..7fae4e9e41 100644 --- a/x/pairing/keeper/epoch_payment.go +++ b/x/pairing/keeper/epoch_payment.go @@ -2,7 +2,6 @@ package keeper import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/lavanet/lava/utils" "github.com/lavanet/lava/x/pairing/types" ) @@ -47,7 +46,7 @@ func (k Keeper) RemoveAllEpochPaymentsForBlockAppendAdjustments(ctx sdk.Context, // remove all provider epoch cu k.RemoveAllProviderEpochCu(ctx, epochToDelete) - keys, pcecs := k.GetAllProviderConsumerEpochCu(ctx, epochToDelete) + pcecs := k.GetAllProviderConsumerEpochCu(ctx, epochToDelete) // TODO: update Qos in providerQosFS. new consumers (cluster.subUsage = 0) get default QoS (what is default?) consumerUsage := map[string]uint64{} @@ -58,22 +57,16 @@ func (k Keeper) RemoveAllEpochPaymentsForBlockAppendAdjustments(ctx sdk.Context, // we are keeping the iteration keys to keep determinism when going over the map iterationOrder := []couplingConsumerProvider{} couplingUsage := map[couplingConsumerProvider]uint64{} - for i := range keys { - _, provider, project, chainID, err := types.DecodeProviderConsumerEpochCuKey(keys[i]) - if err != nil { - utils.LavaFormatError("invalid provider consumer epoch cu key", err, utils.LogAttr("key", keys[i])) - continue - } - - coupling := couplingConsumerProvider{consumer: project, provider: provider} + for _, pcec := range pcecs { + coupling := couplingConsumerProvider{consumer: pcec.Project, provider: pcec.Provider} if _, ok := couplingUsage[coupling]; !ok { // only add it if it doesn't exist iterationOrder = append(iterationOrder, coupling) } - consumerUsage[project] += pcecs[i].Cu - couplingUsage[coupling] += pcecs[i].Cu + consumerUsage[pcec.Project] += pcec.ProviderConsumerEpochCu.Cu + couplingUsage[coupling] += pcec.ProviderConsumerEpochCu.Cu - k.RemoveProviderConsumerEpochCu(ctx, epochToDelete, provider, project, chainID) + k.RemoveProviderConsumerEpochCu(ctx, epochToDelete, pcec.Provider, pcec.Project, pcec.ChainId) } for _, coupling := range iterationOrder { k.subscriptionKeeper.AppendAdjustment(ctx, coupling.consumer, coupling.provider, consumerUsage[coupling.consumer], couplingUsage[coupling]) diff --git a/x/pairing/keeper/msg_server_relay_payment_test.go b/x/pairing/keeper/msg_server_relay_payment_test.go index 499871a1da..df547f5e6b 100644 --- a/x/pairing/keeper/msg_server_relay_payment_test.go +++ b/x/pairing/keeper/msg_server_relay_payment_test.go @@ -474,9 +474,8 @@ func TestEpochPaymentDeletion(t *testing.T) { _, found := ts.Keepers.Pairing.GetProviderEpochCu(ts.Ctx, epoch, providerAddr, ts.spec.Index) require.False(t, found) - listB, listC := ts.Keepers.Pairing.GetAllProviderConsumerEpochCu(ts.Ctx, epoch) + listB := ts.Keepers.Pairing.GetAllProviderConsumerEpochCu(ts.Ctx, epoch) require.Len(t, listB, 0) - require.Len(t, listC, 0) } // Test that after the consumer uses some CU it's updated in its project and subscription From 04683cabd599f9983112eb2a951f4ca2e04e70a5 Mon Sep 17 00:00:00 2001 From: oren-lava Date: Thu, 28 Mar 2024 17:03:12 +0200 Subject: [PATCH 27/35] CNS-930: update unresponsive count to be efficient --- x/pairing/keeper/unresponsive_provider.go | 74 ++++++++++++++--------- 1 file changed, 47 insertions(+), 27 deletions(-) diff --git a/x/pairing/keeper/unresponsive_provider.go b/x/pairing/keeper/unresponsive_provider.go index 46f164eec2..2853004b1e 100644 --- a/x/pairing/keeper/unresponsive_provider.go +++ b/x/pairing/keeper/unresponsive_provider.go @@ -4,6 +4,7 @@ import ( "fmt" "math" "strconv" + "strings" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/lavanet/lava/utils" @@ -73,50 +74,69 @@ func (k Keeper) PunishUnresponsiveProviders(ctx sdk.Context, epochsNumToCheckCUF // check all supported providers from all geolocations prior to making decisions existingProviders := map[string]uint64{} + stakeAppliedBlockProviders := map[string]uint64{} for _, providerStakeStorage := range providerStakeStorageList { providerStakeEntriesForChain := providerStakeStorage.GetStakeEntries() // count providers per geolocation for _, providerStakeEntry := range providerStakeEntriesForChain { if !providerStakeEntry.IsFrozen() { existingProviders[providerStakeEntry.GetChain()]++ + stakeAppliedBlockProviders[providerStakeEntry.Address] = providerStakeEntry.StakeAppliedBlock } } } - // Go over the staked provider entries (on all chains) + + // Go over the staked provider entries (on all chains) that has complaints + // build a map that has all the relevant details: provider address, chain, epoch and ProviderEpochCu object pecsDetailed := k.GetAllProviderEpochCuStore(ctx) + complainedProviders := map[string]map[uint64]types.ProviderEpochCu{} // map[provider chainID]map[epoch]ProviderEpochCu for _, pec := range pecsDetailed { - if pec.ProviderEpochCu.ComplainersCu == 0 { - continue - } - providerAddr, err := sdk.AccAddressFromBech32(pec.Provider) - if err != nil { - continue - } - stakeEntry, found, _ := k.epochStorageKeeper.GetStakeEntryByAddressCurrent(ctx, pec.ChainId, providerAddr) - if !found { - continue - } - if minHistoryBlock < stakeEntry.StakeAppliedBlock { + if minHistoryBlock < stakeAppliedBlockProviders[pec.Provider] { // this staked provider has too short history (either since staking // or since it was last unfrozen) - do not consider for jailing continue } + if _, ok := complainedProviders[pec.Provider+" "+pec.ChainId]; !ok { + complainedProviders[pec.Provider+" "+pec.ChainId] = map[uint64]types.ProviderEpochCu{pec.Epoch: pec.ProviderEpochCu} + } else { + if _, ok := complainedProviders[pec.Provider+" "+pec.ChainId][pec.Epoch]; !ok { + complainedProviders[pec.Provider+" "+pec.ChainId][pec.Epoch] = pec.ProviderEpochCu + } else { + utils.LavaFormatError("duplicate ProviderEpochCu key", fmt.Errorf("did not aggregate complainers CU"), + utils.LogAttr("key", types.ProviderEpochCuKey(pec.Epoch, pec.Provider, pec.ChainId)), + ) + continue + } + } + } + + // sort the keys so the iteration on the map will be deterministic + iterationOrder := []string{} + for key := range complainedProviders { + iterationOrder = append(iterationOrder, key) + } + + // go over all the providers, count the complainers CU and punish providers + for _, key := range iterationOrder { + components := strings.Split(key, " ") + provider := components[0] + chainID := components[1] // update the CU count for this provider in providerCuCounterForUnreponsivenessMap - epochs, complaintCU, servicedCU, err := k.countCuForUnresponsiveness(ctx, minPaymentBlock, epochsNumToCheckCUForUnresponsiveProvider, epochsNumToCheckCUForComplainers, stakeEntry) + epochs, complaintCU, servicedCU, err := k.countCuForUnresponsiveness(ctx, minPaymentBlock, epochsNumToCheckCUForUnresponsiveProvider, epochsNumToCheckCUForComplainers, complainedProviders[key]) if err != nil { utils.LavaFormatError("unstake unresponsive providers failed to count CU", err, - utils.Attribute{Key: "provider", Value: stakeEntry.Address}, + utils.Attribute{Key: "provider", Value: provider}, ) continue } // providerPaymentStorageKeyList is not empty -> provider should be punished - if len(epochs) != 0 && existingProviders[stakeEntry.GetChain()] > minProviders { - err = k.punishUnresponsiveProvider(ctx, epochs, stakeEntry.GetAddress(), stakeEntry.GetChain(), complaintCU, servicedCU) - existingProviders[stakeEntry.GetChain()]-- + if len(epochs) != 0 && existingProviders[chainID] > minProviders { + err = k.punishUnresponsiveProvider(ctx, epochs, provider, chainID, complaintCU, servicedCU, complainedProviders[key]) + existingProviders[chainID]-- if err != nil { utils.LavaFormatError("unstake unresponsive providers failed to punish provider", err, - utils.Attribute{Key: "provider", Value: stakeEntry.Address}, + utils.Attribute{Key: "provider", Value: provider}, ) } } @@ -137,7 +157,7 @@ func (k Keeper) getBlockEpochsAgo(ctx sdk.Context, blockHeight, numEpochs uint64 } // Function to count the CU serviced by the unresponsive provider and the CU of the complainers. The function returns the keys of the objects containing complainer CU -func (k Keeper) countCuForUnresponsiveness(ctx sdk.Context, epoch, epochsNumToCheckCUForUnresponsiveProvider, epochsNumToCheckCUForComplainers uint64, providerStakeEntry epochstoragetypes.StakeEntry) (epochs []uint64, complainersCu uint64, servicedCu uint64, errRet error) { +func (k Keeper) countCuForUnresponsiveness(ctx sdk.Context, epoch, epochsNumToCheckCUForUnresponsiveProvider, epochsNumToCheckCUForComplainers uint64, providerEpochCuMap map[uint64]types.ProviderEpochCu) (epochs []uint64, complainersCu uint64, servicedCu uint64, errRet error) { // check which of the epoch consts is larger max := epochsNumToCheckCUForComplainers if epochsNumToCheckCUForUnresponsiveProvider > epochsNumToCheckCUForComplainers { @@ -146,8 +166,8 @@ func (k Keeper) countCuForUnresponsiveness(ctx sdk.Context, epoch, epochsNumToCh // count the CU serviced by the unersponsive provider and used CU of the complainers for counter := uint64(0); counter < max; counter++ { - pec, found := k.GetProviderEpochCu(ctx, epoch, providerStakeEntry.Address, providerStakeEntry.Chain) - if found { + pec, ok := providerEpochCuMap[epoch] + if ok { // counter is smaller than epochsNumToCheckCUForComplainers -> count complainer CU if counter < epochsNumToCheckCUForComplainers { complainersCu += pec.ComplainersCu @@ -200,7 +220,7 @@ func (k Keeper) getCurrentProviderStakeStorageList(ctx sdk.Context) []epochstora } // Function that punishes providers. Current punishment is freeze -func (k Keeper) punishUnresponsiveProvider(ctx sdk.Context, epochs []uint64, provider, chainID string, complaintCU uint64, servicedCU uint64) error { +func (k Keeper) punishUnresponsiveProvider(ctx sdk.Context, epochs []uint64, provider, chainID string, complaintCU uint64, servicedCU uint64, providerEpochCuMap map[uint64]types.ProviderEpochCu) error { // freeze the unresponsive provider err := k.FreezeProvider(ctx, provider, []string{chainID}, "unresponsiveness") if err != nil { @@ -219,16 +239,16 @@ func (k Keeper) punishUnresponsiveProvider(ctx sdk.Context, epochs []uint64, pro "Unresponsive provider was freezed due to unresponsiveness") // reset the provider's complainer CU (so he won't get punished for the same complaints twice) - k.resetComplainersCU(ctx, epochs, provider, chainID) + k.resetComplainersCU(ctx, epochs, provider, chainID, providerEpochCuMap) return nil } // resetComplainersCU resets the complainers CU for a specific provider and chain -func (k Keeper) resetComplainersCU(ctx sdk.Context, epochs []uint64, provider string, chainID string) { +func (k Keeper) resetComplainersCU(ctx sdk.Context, epochs []uint64, provider string, chainID string, providerEpochCuMap map[uint64]types.ProviderEpochCu) { for _, epoch := range epochs { - pec, found := k.GetProviderEpochCu(ctx, epoch, provider, chainID) - if !found { + pec, ok := providerEpochCuMap[epoch] + if !ok { continue } From faea0af32417392c127ef850130b024ae9a90c4e Mon Sep 17 00:00:00 2001 From: oren-lava Date: Mon, 1 Apr 2024 16:07:27 +0300 Subject: [PATCH 28/35] CNS-930: small PR fix --- x/pairing/keeper/fixation_test.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/x/pairing/keeper/fixation_test.go b/x/pairing/keeper/fixation_test.go index f50a1338c0..fc11ef02a4 100644 --- a/x/pairing/keeper/fixation_test.go +++ b/x/pairing/keeper/fixation_test.go @@ -56,4 +56,10 @@ func TestEpochPaymentDeletionWithMemoryShortening(t *testing.T) { res2, err := ts.QueryPairingProviderEpochCu(providerAddr, res.Project.Index, ts.spec.Index) require.NoError(t, err) require.Len(t, res2.Info, 0) + + list1 := ts.Keepers.Pairing.GetAllUniqueEpochSessionStore(ts.Ctx) + require.Len(t, list1, 0) + + list2 := ts.Keepers.Pairing.GetAllProviderConsumerEpochCuStore(ts.Ctx) + require.Len(t, list2, 0) } From 51c70a28857299d4dab82b8907b750d1967f2bf6 Mon Sep 17 00:00:00 2001 From: oren-lava Date: Mon, 1 Apr 2024 16:14:54 +0300 Subject: [PATCH 29/35] CNS-930: another small PR fix --- x/pairing/keeper/epoch_cu.go | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/x/pairing/keeper/epoch_cu.go b/x/pairing/keeper/epoch_cu.go index a3fed02c41..00a13a0f9e 100644 --- a/x/pairing/keeper/epoch_cu.go +++ b/x/pairing/keeper/epoch_cu.go @@ -2,7 +2,6 @@ package keeper import ( "strconv" - "strings" "github.com/cosmos/cosmos-sdk/store/cachekv" "github.com/cosmos/cosmos-sdk/store/prefix" @@ -55,10 +54,7 @@ func (k Keeper) GetAllUniqueEpochSessionForEpoch(ctx sdk.Context, epoch uint64) var keys []string for ; iterator.Valid(); iterator.Next() { - key := iterator.Key() - // Remove the prefix to get the actual UniqueEpochSession key - uniqueEpochSessionKey := strings.TrimPrefix(string(key), string(types.UniqueEpochSessionKeyPrefix())) - keys = append(keys, uniqueEpochSessionKey) + keys = append(keys, string(iterator.Key())) } return keys @@ -121,7 +117,7 @@ func (k Keeper) RemoveAllProviderEpochCu(ctx sdk.Context, epoch uint64) { // GetAllProviderEpochCuStore returns all the ProviderEpochCu from the store (used for genesis) func (k Keeper) GetAllProviderEpochCuStore(ctx sdk.Context) []types.ProviderEpochCuGenesis { info := []types.ProviderEpochCuGenesis{} - store := prefix.NewStore(ctx.KVStore(k.storeKey), []byte(types.ProviderEpochCuPrefix)) + store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderEpochCuKeyPrefix()) iterator := sdk.KVStorePrefixIterator(store, []byte{}) // Get an iterator with no prefix to iterate over all keys defer iterator.Close() for ; iterator.Valid(); iterator.Next() { From 60bdeb00a8b5a0052cea926f51676a44558299e9 Mon Sep 17 00:00:00 2001 From: oren-lava Date: Mon, 1 Apr 2024 16:18:02 +0300 Subject: [PATCH 30/35] CNS-930: sort complainedProviders keys --- x/pairing/keeper/unresponsive_provider.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/x/pairing/keeper/unresponsive_provider.go b/x/pairing/keeper/unresponsive_provider.go index 2853004b1e..e053265a52 100644 --- a/x/pairing/keeper/unresponsive_provider.go +++ b/x/pairing/keeper/unresponsive_provider.go @@ -3,6 +3,7 @@ package keeper import ( "fmt" "math" + "sort" "strconv" "strings" @@ -115,6 +116,7 @@ func (k Keeper) PunishUnresponsiveProviders(ctx sdk.Context, epochsNumToCheckCUF for key := range complainedProviders { iterationOrder = append(iterationOrder, key) } + sort.Strings(iterationOrder) // go over all the providers, count the complainers CU and punish providers for _, key := range iterationOrder { From 23ed82aaca6969fe41ec32f8ea48ea72568ff4a4 Mon Sep 17 00:00:00 2001 From: oren-lava Date: Tue, 2 Apr 2024 12:03:12 +0300 Subject: [PATCH 31/35] CNS-930: small PR fix --- x/pairing/keeper/unresponsive_provider.go | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/x/pairing/keeper/unresponsive_provider.go b/x/pairing/keeper/unresponsive_provider.go index e053265a52..517e6c2761 100644 --- a/x/pairing/keeper/unresponsive_provider.go +++ b/x/pairing/keeper/unresponsive_provider.go @@ -3,7 +3,6 @@ package keeper import ( "fmt" "math" - "sort" "strconv" "strings" @@ -89,6 +88,7 @@ func (k Keeper) PunishUnresponsiveProviders(ctx sdk.Context, epochsNumToCheckCUF // Go over the staked provider entries (on all chains) that has complaints // build a map that has all the relevant details: provider address, chain, epoch and ProviderEpochCu object + keys := []string{} pecsDetailed := k.GetAllProviderEpochCuStore(ctx) complainedProviders := map[string]map[uint64]types.ProviderEpochCu{} // map[provider chainID]map[epoch]ProviderEpochCu for _, pec := range pecsDetailed { @@ -97,11 +97,14 @@ func (k Keeper) PunishUnresponsiveProviders(ctx sdk.Context, epochsNumToCheckCUF // or since it was last unfrozen) - do not consider for jailing continue } - if _, ok := complainedProviders[pec.Provider+" "+pec.ChainId]; !ok { - complainedProviders[pec.Provider+" "+pec.ChainId] = map[uint64]types.ProviderEpochCu{pec.Epoch: pec.ProviderEpochCu} + + key := pec.Provider + " " + pec.ChainId + if _, ok := complainedProviders[key]; !ok { + complainedProviders[key] = map[uint64]types.ProviderEpochCu{pec.Epoch: pec.ProviderEpochCu} + keys = append(keys, key) } else { - if _, ok := complainedProviders[pec.Provider+" "+pec.ChainId][pec.Epoch]; !ok { - complainedProviders[pec.Provider+" "+pec.ChainId][pec.Epoch] = pec.ProviderEpochCu + if _, ok := complainedProviders[key][pec.Epoch]; !ok { + complainedProviders[key][pec.Epoch] = pec.ProviderEpochCu } else { utils.LavaFormatError("duplicate ProviderEpochCu key", fmt.Errorf("did not aggregate complainers CU"), utils.LogAttr("key", types.ProviderEpochCuKey(pec.Epoch, pec.Provider, pec.ChainId)), @@ -111,15 +114,8 @@ func (k Keeper) PunishUnresponsiveProviders(ctx sdk.Context, epochsNumToCheckCUF } } - // sort the keys so the iteration on the map will be deterministic - iterationOrder := []string{} - for key := range complainedProviders { - iterationOrder = append(iterationOrder, key) - } - sort.Strings(iterationOrder) - // go over all the providers, count the complainers CU and punish providers - for _, key := range iterationOrder { + for _, key := range keys { components := strings.Split(key, " ") provider := components[0] chainID := components[1] From 8a9242636de4791076fec1021ded7a7aaabddc4c Mon Sep 17 00:00:00 2001 From: Yarom Swisa Date: Wed, 3 Apr 2024 12:18:37 +0300 Subject: [PATCH 32/35] make a object just for complainer cu --- proto/lavanet/lava/pairing/epoch_cu.proto | 7 +- proto/lavanet/lava/pairing/genesis.proto | 10 +- x/pairing/genesis.go | 5 + x/pairing/genesis_test.go | 18 +- x/pairing/keeper/epoch_cu.go | 84 +++- x/pairing/keeper/epoch_payment.go | 3 + x/pairing/keeper/msg_server_relay_payment.go | 6 +- x/pairing/keeper/unresponsive_provider.go | 32 +- .../keeper/unresponsive_provider_test.go | 2 +- x/pairing/types/epoch_cu.go | 11 +- x/pairing/types/epoch_cu.pb.go | 162 +++++- x/pairing/types/genesis.pb.go | 473 ++++++++++++++++-- x/pairing/types/genesis_test.go | 44 +- 13 files changed, 756 insertions(+), 101 deletions(-) diff --git a/proto/lavanet/lava/pairing/epoch_cu.proto b/proto/lavanet/lava/pairing/epoch_cu.proto index 510ae0b03a..3e981c00f0 100644 --- a/proto/lavanet/lava/pairing/epoch_cu.proto +++ b/proto/lavanet/lava/pairing/epoch_cu.proto @@ -12,7 +12,12 @@ message UniqueEpochSession { // It's kept in a epoch-prefixed store with a unique index: provider address message ProviderEpochCu { uint64 serviced_cu = 1; - uint64 complainers_cu = 2; +} + +// ProviderEpochComplainerCu is used to track the CU complained of a specific provider in a specific epoch +// It's kept in a epoch-prefixed store with a unique index: provider address +message ProviderEpochComplainerCu { + uint64 complainers_cu = 1; } // ProviderConsumerEpochCu is used to track the CU between a specific provider and diff --git a/proto/lavanet/lava/pairing/genesis.proto b/proto/lavanet/lava/pairing/genesis.proto index 310af5418e..51c94e8f8e 100644 --- a/proto/lavanet/lava/pairing/genesis.proto +++ b/proto/lavanet/lava/pairing/genesis.proto @@ -27,7 +27,8 @@ message GenesisState { lavanet.lava.fixationstore.GenesisState providerQosFS = 7 [(gogoproto.nullable) = false]; repeated UniqueEpochSessionGenesis unique_epoch_sessions = 8 [(gogoproto.nullable) = false]; repeated ProviderEpochCuGenesis provider_epoch_cus = 9 [(gogoproto.nullable) = false]; - repeated ProviderConsumerEpochCuGenesis provider_consumer_epoch_cus = 10 [(gogoproto.nullable) = false]; + repeated ProviderEpochComplainerCuGenesis provider_epoch_complained_cus = 10 [(gogoproto.nullable) = false]; + repeated ProviderConsumerEpochCuGenesis provider_consumer_epoch_cus = 11 [(gogoproto.nullable) = false]; // this line is used by starport scaffolding # genesis/proto/state } @@ -46,6 +47,13 @@ message ProviderEpochCuGenesis { ProviderEpochCu provider_epoch_cu = 4 [(gogoproto.nullable) = false]; } +message ProviderEpochComplainerCuGenesis { + uint64 epoch = 1; + string provider = 2; + string chain_id = 3; + ProviderEpochComplainerCu provider_epoch_complainer_cu = 4 [(gogoproto.nullable) = false]; +} + message ProviderConsumerEpochCuGenesis { uint64 epoch = 1; string provider = 2; diff --git a/x/pairing/genesis.go b/x/pairing/genesis.go index 038f8bb088..be5aa45283 100644 --- a/x/pairing/genesis.go +++ b/x/pairing/genesis.go @@ -17,6 +17,10 @@ func InitGenesis(ctx sdk.Context, k keeper.Keeper, genState types.GenesisState) for _, elem := range genState.ProviderEpochCus { k.SetProviderEpochCu(ctx, elem.Epoch, elem.Provider, elem.ChainId, elem.ProviderEpochCu) } + // Set all the ProviderEpochComplainedCus + for _, elem := range genState.ProviderEpochComplainedCus { + k.SetProviderEpochComplainerCu(ctx, elem.Epoch, elem.Provider, elem.ChainId, elem.ProviderEpochComplainerCu) + } // Set all the epochPayments for _, elem := range genState.ProviderConsumerEpochCus { k.SetProviderConsumerEpochCu(ctx, elem.Epoch, elem.Provider, elem.Project, elem.ChainId, elem.ProviderConsumerEpochCu) @@ -38,6 +42,7 @@ func ExportGenesis(ctx sdk.Context, k keeper.Keeper) *types.GenesisState { genesis.Params = k.GetParams(ctx) genesis.UniqueEpochSessions = k.GetAllUniqueEpochSessionStore(ctx) genesis.ProviderEpochCus = k.GetAllProviderEpochCuStore(ctx) + genesis.ProviderEpochComplainedCus = k.GetAllProviderEpochComplainerCuStore(ctx) genesis.ProviderConsumerEpochCus = k.GetAllProviderConsumerEpochCuStore(ctx) genesis.BadgeUsedCuList = k.GetAllBadgeUsedCu(ctx) genesis.BadgesTS = k.ExportBadgesTimers(ctx) diff --git a/x/pairing/genesis_test.go b/x/pairing/genesis_test.go index 64e92decdb..2dbc5b612a 100644 --- a/x/pairing/genesis_test.go +++ b/x/pairing/genesis_test.go @@ -35,13 +35,27 @@ func TestGenesis(t *testing.T) { Epoch: 0, Provider: "0", ChainId: "0", - ProviderEpochCu: types.ProviderEpochCu{ServicedCu: 10, ComplainersCu: 100}, + ProviderEpochCu: types.ProviderEpochCu{ServicedCu: 10}, }, { Epoch: 1, Provider: "1", ChainId: "1", - ProviderEpochCu: types.ProviderEpochCu{ServicedCu: 20, ComplainersCu: 200}, + ProviderEpochCu: types.ProviderEpochCu{ServicedCu: 20}, + }, + }, + ProviderEpochComplainedCus: []types.ProviderEpochComplainerCuGenesis{ + { + Epoch: 0, + Provider: "0", + ChainId: "0", + ProviderEpochComplainerCu: types.ProviderEpochComplainerCu{ComplainersCu: 100}, + }, + { + Epoch: 1, + Provider: "1", + ChainId: "1", + ProviderEpochComplainerCu: types.ProviderEpochComplainerCu{ComplainersCu: 200}, }, }, ProviderConsumerEpochCus: []types.ProviderConsumerEpochCuGenesis{ diff --git a/x/pairing/keeper/epoch_cu.go b/x/pairing/keeper/epoch_cu.go index 00a13a0f9e..6c1eaca95a 100644 --- a/x/pairing/keeper/epoch_cu.go +++ b/x/pairing/keeper/epoch_cu.go @@ -139,6 +139,62 @@ func (k Keeper) GetAllProviderEpochCuStore(ctx sdk.Context) []types.ProviderEpoc return info } +/* ########## ProviderEpochComplainerCu ############ */ + +// SetProviderEpochComplainerCu sets a ProviderEpochComplainerCu in the store +func (k Keeper) SetProviderEpochComplainerCu(ctx sdk.Context, epoch uint64, provider string, chainID string, providerEpochCu types.ProviderEpochComplainerCu) { + store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderEpochComplainerCuKeyPrefix()) + b := k.cdc.MustMarshal(&providerEpochCu) + store.Set(types.ProviderEpochCuKey(epoch, provider, chainID), b) +} + +// GetProviderEpochComplainerCu returns a ProviderEpochCu for a specific epoch and provider +func (k Keeper) GetProviderEpochComplainerCu(ctx sdk.Context, epoch uint64, provider string, chainID string) (val types.ProviderEpochComplainerCu, found bool) { + store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderEpochComplainerCuKeyPrefix()) + b := store.Get(types.ProviderEpochCuKey(epoch, provider, chainID)) + if b == nil { + return val, false + } + + k.cdc.MustUnmarshal(b, &val) + return val, true +} + +// RemoveProviderEpochComplainerCu removes a ProviderEpochCu from the store +func (k Keeper) RemoveAllProviderEpochComplainerCu(ctx sdk.Context, epoch uint64) { + store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderEpochComplainerCuKeyPrefix()) + iterator := sdk.KVStorePrefixIterator(store, []byte(strconv.FormatUint(epoch, 10))) + defer iterator.Close() + for ; iterator.Valid(); iterator.Next() { + store.Delete(iterator.Key()) + } +} + +// GetAllProviderEpochComplainerCuStore returns all the ProviderEpochCu from the store (used for genesis) +func (k Keeper) GetAllProviderEpochComplainerCuStore(ctx sdk.Context) []types.ProviderEpochComplainerCuGenesis { + info := []types.ProviderEpochComplainerCuGenesis{} + store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderEpochComplainerCuKeyPrefix()) + iterator := sdk.KVStorePrefixIterator(store, []byte{}) // Get an iterator with no prefix to iterate over all keys + defer iterator.Close() + for ; iterator.Valid(); iterator.Next() { + epoch, provider, chainID, err := types.DecodeProviderEpochCuKey(string(iterator.Key())) + if err != nil { + utils.LavaFormatError("could not decode ProviderEpochComplainerCuKey with epoch", err, utils.LogAttr("key", string(iterator.Key()))) + continue + } + var pec types.ProviderEpochComplainerCu + k.cdc.MustUnmarshal(iterator.Value(), &pec) + info = append(info, types.ProviderEpochComplainerCuGenesis{ + Epoch: epoch, + Provider: provider, + ChainId: chainID, + ProviderEpochComplainerCu: pec, + }) + } + + return info +} + /* ########## ProviderConsumerEpochCu ############ */ // SetProviderConsumerEpochCu sets a ProviderConsumerEpochCu in the store @@ -221,15 +277,17 @@ func (k Keeper) GetAllProviderConsumerEpochCuStore(ctx sdk.Context) []types.Prov /* ########## EpochCuCache ############ */ type EpochCuCache struct { Keeper - ProviderEpochCuCache *cachekv.Store - ProviderConsumerEpochCuCache *cachekv.Store + ProviderEpochCuCache *cachekv.Store + ProviderEpochComplainerCuCache *cachekv.Store + ProviderConsumerEpochCuCache *cachekv.Store } func (k Keeper) NewEpochCuCacheHandler(ctx sdk.Context) EpochCuCache { return EpochCuCache{ - Keeper: k, - ProviderEpochCuCache: cachekv.NewStore(prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderEpochCuKeyPrefix())), - ProviderConsumerEpochCuCache: cachekv.NewStore(prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderConsumerEpochCuKeyPrefix())), + Keeper: k, + ProviderEpochCuCache: cachekv.NewStore(prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderEpochCuKeyPrefix())), + ProviderEpochComplainerCuCache: cachekv.NewStore(prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderEpochComplainerCuKeyPrefix())), + ProviderConsumerEpochCuCache: cachekv.NewStore(prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderConsumerEpochCuKeyPrefix())), } } @@ -248,6 +306,21 @@ func (k EpochCuCache) GetProviderEpochCuCached(ctx sdk.Context, epoch uint64, pr return val, true } +func (k EpochCuCache) SetProviderEpochComplainerCuCached(ctx sdk.Context, epoch uint64, provider string, chainID string, providerEpochCu types.ProviderEpochComplainerCu) { + b := k.cdc.MustMarshal(&providerEpochCu) + k.ProviderEpochComplainerCuCache.Set(types.ProviderEpochCuKey(epoch, provider, chainID), b) +} + +func (k EpochCuCache) GetProviderEpochComplainerCuCached(ctx sdk.Context, epoch uint64, provider string, chainID string) (val types.ProviderEpochComplainerCu, found bool) { + b := k.ProviderEpochComplainerCuCache.Get(types.ProviderEpochCuKey(epoch, provider, chainID)) + if b == nil { + return val, false + } + + k.cdc.MustUnmarshal(b, &val) + return val, true +} + func (k EpochCuCache) SetProviderConsumerEpochCuCached(ctx sdk.Context, epoch uint64, provider string, project string, chainID string, providerConsumerEpochCu types.ProviderConsumerEpochCu) { b := k.cdc.MustMarshal(&providerConsumerEpochCu) k.ProviderConsumerEpochCuCache.Set(types.ProviderConsumerEpochCuKey(epoch, provider, project, chainID), b) @@ -265,5 +338,6 @@ func (k EpochCuCache) GetProviderConsumerEpochCuCached(ctx sdk.Context, epoch ui func (k EpochCuCache) Flush() { k.ProviderEpochCuCache.Write() + k.ProviderEpochComplainerCuCache.Write() k.ProviderConsumerEpochCuCache.Write() } diff --git a/x/pairing/keeper/epoch_payment.go b/x/pairing/keeper/epoch_payment.go index 7fae4e9e41..f1a6235bcb 100644 --- a/x/pairing/keeper/epoch_payment.go +++ b/x/pairing/keeper/epoch_payment.go @@ -46,6 +46,9 @@ func (k Keeper) RemoveAllEpochPaymentsForBlockAppendAdjustments(ctx sdk.Context, // remove all provider epoch cu k.RemoveAllProviderEpochCu(ctx, epochToDelete) + // remove all provider epoch complainer cu + k.RemoveAllProviderEpochComplainerCu(ctx, epochToDelete) + pcecs := k.GetAllProviderConsumerEpochCu(ctx, epochToDelete) // TODO: update Qos in providerQosFS. new consumers (cluster.subUsage = 0) get default QoS (what is default?) diff --git a/x/pairing/keeper/msg_server_relay_payment.go b/x/pairing/keeper/msg_server_relay_payment.go index 1de3351fd4..15906f8f8f 100644 --- a/x/pairing/keeper/msg_server_relay_payment.go +++ b/x/pairing/keeper/msg_server_relay_payment.go @@ -368,13 +368,13 @@ func (k EpochCuCache) updateProvidersComplainerCU(ctx sdk.Context, unresponsiveP continue } - pec, found := k.GetProviderEpochCuCached(ctx, epoch, unresponsiveProvider.Address, chainID) + pec, found := k.GetProviderEpochComplainerCuCached(ctx, epoch, unresponsiveProvider.Address, chainID) if !found { - pec = types.ProviderEpochCu{ComplainersCu: complainerCuToAdd} + pec = types.ProviderEpochComplainerCu{ComplainersCu: complainerCuToAdd} } else { pec.ComplainersCu += complainerCuToAdd } - k.SetProviderEpochCuCached(ctx, epoch, unresponsiveProvider.Address, chainID, pec) + k.SetProviderEpochComplainerCuCached(ctx, epoch, unresponsiveProvider.Address, chainID, pec) timestamp := time.Unix(unresponsiveProvider.TimestampS, 0) details := map[string]string{ diff --git a/x/pairing/keeper/unresponsive_provider.go b/x/pairing/keeper/unresponsive_provider.go index 517e6c2761..b0ca9f6448 100644 --- a/x/pairing/keeper/unresponsive_provider.go +++ b/x/pairing/keeper/unresponsive_provider.go @@ -72,6 +72,10 @@ func (k Keeper) PunishUnresponsiveProviders(ctx sdk.Context, epochsNumToCheckCUF } } + ProviderChainID := func(provider, chainID string) string { + return provider + " " + chainID + } + // check all supported providers from all geolocations prior to making decisions existingProviders := map[string]uint64{} stakeAppliedBlockProviders := map[string]uint64{} @@ -81,7 +85,7 @@ func (k Keeper) PunishUnresponsiveProviders(ctx sdk.Context, epochsNumToCheckCUF for _, providerStakeEntry := range providerStakeEntriesForChain { if !providerStakeEntry.IsFrozen() { existingProviders[providerStakeEntry.GetChain()]++ - stakeAppliedBlockProviders[providerStakeEntry.Address] = providerStakeEntry.StakeAppliedBlock + stakeAppliedBlockProviders[ProviderChainID(providerStakeEntry.Address, providerStakeEntry.Chain)] = providerStakeEntry.StakeAppliedBlock } } } @@ -89,8 +93,8 @@ func (k Keeper) PunishUnresponsiveProviders(ctx sdk.Context, epochsNumToCheckCUF // Go over the staked provider entries (on all chains) that has complaints // build a map that has all the relevant details: provider address, chain, epoch and ProviderEpochCu object keys := []string{} - pecsDetailed := k.GetAllProviderEpochCuStore(ctx) - complainedProviders := map[string]map[uint64]types.ProviderEpochCu{} // map[provider chainID]map[epoch]ProviderEpochCu + pecsDetailed := k.GetAllProviderEpochComplainerCuStore(ctx) + complainedProviders := map[string]map[uint64]types.ProviderEpochComplainerCu{} // map[provider chainID]map[epoch]ProviderEpochComplainerCu for _, pec := range pecsDetailed { if minHistoryBlock < stakeAppliedBlockProviders[pec.Provider] { // this staked provider has too short history (either since staking @@ -98,13 +102,14 @@ func (k Keeper) PunishUnresponsiveProviders(ctx sdk.Context, epochsNumToCheckCUF continue } - key := pec.Provider + " " + pec.ChainId + key := ProviderChainID(pec.Provider, pec.ChainId) + if _, ok := complainedProviders[key]; !ok { - complainedProviders[key] = map[uint64]types.ProviderEpochCu{pec.Epoch: pec.ProviderEpochCu} + complainedProviders[key] = map[uint64]types.ProviderEpochComplainerCu{pec.Epoch: pec.ProviderEpochComplainerCu} keys = append(keys, key) } else { if _, ok := complainedProviders[key][pec.Epoch]; !ok { - complainedProviders[key][pec.Epoch] = pec.ProviderEpochCu + complainedProviders[key][pec.Epoch] = pec.ProviderEpochComplainerCu } else { utils.LavaFormatError("duplicate ProviderEpochCu key", fmt.Errorf("did not aggregate complainers CU"), utils.LogAttr("key", types.ProviderEpochCuKey(pec.Epoch, pec.Provider, pec.ChainId)), @@ -120,7 +125,7 @@ func (k Keeper) PunishUnresponsiveProviders(ctx sdk.Context, epochsNumToCheckCUF provider := components[0] chainID := components[1] // update the CU count for this provider in providerCuCounterForUnreponsivenessMap - epochs, complaintCU, servicedCU, err := k.countCuForUnresponsiveness(ctx, minPaymentBlock, epochsNumToCheckCUForUnresponsiveProvider, epochsNumToCheckCUForComplainers, complainedProviders[key]) + epochs, complaintCU, servicedCU, err := k.countCuForUnresponsiveness(ctx, provider, chainID, minPaymentBlock, epochsNumToCheckCUForUnresponsiveProvider, epochsNumToCheckCUForComplainers, complainedProviders[key]) if err != nil { utils.LavaFormatError("unstake unresponsive providers failed to count CU", err, utils.Attribute{Key: "provider", Value: provider}, @@ -155,7 +160,7 @@ func (k Keeper) getBlockEpochsAgo(ctx sdk.Context, blockHeight, numEpochs uint64 } // Function to count the CU serviced by the unresponsive provider and the CU of the complainers. The function returns the keys of the objects containing complainer CU -func (k Keeper) countCuForUnresponsiveness(ctx sdk.Context, epoch, epochsNumToCheckCUForUnresponsiveProvider, epochsNumToCheckCUForComplainers uint64, providerEpochCuMap map[uint64]types.ProviderEpochCu) (epochs []uint64, complainersCu uint64, servicedCu uint64, errRet error) { +func (k Keeper) countCuForUnresponsiveness(ctx sdk.Context, provider, chainId string, epoch, epochsNumToCheckCUForUnresponsiveProvider, epochsNumToCheckCUForComplainers uint64, providerEpochCuMap map[uint64]types.ProviderEpochComplainerCu) (epochs []uint64, complainersCu uint64, servicedCu uint64, errRet error) { // check which of the epoch consts is larger max := epochsNumToCheckCUForComplainers if epochsNumToCheckCUForUnresponsiveProvider > epochsNumToCheckCUForComplainers { @@ -174,7 +179,10 @@ func (k Keeper) countCuForUnresponsiveness(ctx sdk.Context, epoch, epochsNumToCh // counter is smaller than epochsNumToCheckCUForUnresponsiveProvider -> count CU serviced by the provider in the epoch if counter < epochsNumToCheckCUForUnresponsiveProvider { - servicedCu += pec.ServicedCu + pec, found := k.GetProviderEpochCu(ctx, epoch, provider, chainId) + if found { + servicedCu += pec.ServicedCu + } } } @@ -218,7 +226,7 @@ func (k Keeper) getCurrentProviderStakeStorageList(ctx sdk.Context) []epochstora } // Function that punishes providers. Current punishment is freeze -func (k Keeper) punishUnresponsiveProvider(ctx sdk.Context, epochs []uint64, provider, chainID string, complaintCU uint64, servicedCU uint64, providerEpochCuMap map[uint64]types.ProviderEpochCu) error { +func (k Keeper) punishUnresponsiveProvider(ctx sdk.Context, epochs []uint64, provider, chainID string, complaintCU uint64, servicedCU uint64, providerEpochCuMap map[uint64]types.ProviderEpochComplainerCu) error { // freeze the unresponsive provider err := k.FreezeProvider(ctx, provider, []string{chainID}, "unresponsiveness") if err != nil { @@ -243,7 +251,7 @@ func (k Keeper) punishUnresponsiveProvider(ctx sdk.Context, epochs []uint64, pro } // resetComplainersCU resets the complainers CU for a specific provider and chain -func (k Keeper) resetComplainersCU(ctx sdk.Context, epochs []uint64, provider string, chainID string, providerEpochCuMap map[uint64]types.ProviderEpochCu) { +func (k Keeper) resetComplainersCU(ctx sdk.Context, epochs []uint64, provider string, chainID string, providerEpochCuMap map[uint64]types.ProviderEpochComplainerCu) { for _, epoch := range epochs { pec, ok := providerEpochCuMap[epoch] if !ok { @@ -252,6 +260,6 @@ func (k Keeper) resetComplainersCU(ctx sdk.Context, epochs []uint64, provider st // reset the complainer CU pec.ComplainersCu = 0 - k.SetProviderEpochCu(ctx, epoch, provider, chainID, pec) + k.SetProviderEpochComplainerCu(ctx, epoch, provider, chainID, pec) } } diff --git a/x/pairing/keeper/unresponsive_provider_test.go b/x/pairing/keeper/unresponsive_provider_test.go index 34b37dc582..ad50c903c4 100644 --- a/x/pairing/keeper/unresponsive_provider_test.go +++ b/x/pairing/keeper/unresponsive_provider_test.go @@ -26,7 +26,7 @@ func (ts *tester) checkProviderFreeze(provider sdk.AccAddress, shouldFreeze bool func (ts *tester) checkComplainerReset(provider string, epoch uint64) { // validate the complainers CU field in the unresponsive provider's providerPaymentStorage // was reset after being punished (use the epoch from the relay - when it got reported) - pec, found := ts.Keepers.Pairing.GetProviderEpochCu(ts.Ctx, epoch, provider, ts.spec.Name) + pec, found := ts.Keepers.Pairing.GetProviderEpochComplainerCu(ts.Ctx, epoch, provider, ts.spec.Name) require.Equal(ts.T, true, found) require.Equal(ts.T, uint64(0), pec.ComplainersCu) } diff --git a/x/pairing/types/epoch_cu.go b/x/pairing/types/epoch_cu.go index 357764627b..25d177b0b4 100644 --- a/x/pairing/types/epoch_cu.go +++ b/x/pairing/types/epoch_cu.go @@ -7,9 +7,10 @@ import ( ) const ( - UniqueEpochSessionPrefix = "UniqueEpochSession/" - ProviderEpochCuPrefix = "ProviderEpochCu/" - ProviderConsumerEpochCuPrefix = "ProviderConsumerEpochCu/" + UniqueEpochSessionPrefix = "UniqueEpochSession/" + ProviderEpochCuPrefix = "ProviderEpochCu/" + ProviderEpochComplainerCuPrefix = "ProviderEpochComplainerCu/" + ProviderConsumerEpochCuPrefix = "ProviderConsumerEpochCu/" ) func UniqueEpochSessionKey(epoch uint64, provider string, chainID string, project string, sessionID uint64) []byte { @@ -72,6 +73,10 @@ func ProviderEpochCuKeyPrefix() []byte { return []byte(ProviderEpochCuPrefix) } +func ProviderEpochComplainerCuKeyPrefix() []byte { + return []byte(ProviderEpochComplainerCuPrefix) +} + func ProviderConsumerEpochCuKeyPrefix() []byte { return []byte(ProviderConsumerEpochCuPrefix) } diff --git a/x/pairing/types/epoch_cu.pb.go b/x/pairing/types/epoch_cu.pb.go index 8b6b765f2e..25b144e06c 100644 --- a/x/pairing/types/epoch_cu.pb.go +++ b/x/pairing/types/epoch_cu.pb.go @@ -63,8 +63,7 @@ var xxx_messageInfo_UniqueEpochSession proto.InternalMessageInfo // ProviderEpochCu is used to track the CU of a specific provider in a specific epoch // It's kept in a epoch-prefixed store with a unique index: provider address type ProviderEpochCu struct { - ServicedCu uint64 `protobuf:"varint,1,opt,name=serviced_cu,json=servicedCu,proto3" json:"serviced_cu,omitempty"` - ComplainersCu uint64 `protobuf:"varint,2,opt,name=complainers_cu,json=complainersCu,proto3" json:"complainers_cu,omitempty"` + ServicedCu uint64 `protobuf:"varint,1,opt,name=serviced_cu,json=servicedCu,proto3" json:"serviced_cu,omitempty"` } func (m *ProviderEpochCu) Reset() { *m = ProviderEpochCu{} } @@ -107,7 +106,46 @@ func (m *ProviderEpochCu) GetServicedCu() uint64 { return 0 } -func (m *ProviderEpochCu) GetComplainersCu() uint64 { +// ProviderEpochComplainerCu is used to track the CU complained of a specific provider in a specific epoch +// It's kept in a epoch-prefixed store with a unique index: provider address +type ProviderEpochComplainerCu struct { + ComplainersCu uint64 `protobuf:"varint,1,opt,name=complainers_cu,json=complainersCu,proto3" json:"complainers_cu,omitempty"` +} + +func (m *ProviderEpochComplainerCu) Reset() { *m = ProviderEpochComplainerCu{} } +func (m *ProviderEpochComplainerCu) String() string { return proto.CompactTextString(m) } +func (*ProviderEpochComplainerCu) ProtoMessage() {} +func (*ProviderEpochComplainerCu) Descriptor() ([]byte, []int) { + return fileDescriptor_c2abb0ec984ffb4c, []int{2} +} +func (m *ProviderEpochComplainerCu) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ProviderEpochComplainerCu) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ProviderEpochComplainerCu.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ProviderEpochComplainerCu) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProviderEpochComplainerCu.Merge(m, src) +} +func (m *ProviderEpochComplainerCu) XXX_Size() int { + return m.Size() +} +func (m *ProviderEpochComplainerCu) XXX_DiscardUnknown() { + xxx_messageInfo_ProviderEpochComplainerCu.DiscardUnknown(m) +} + +var xxx_messageInfo_ProviderEpochComplainerCu proto.InternalMessageInfo + +func (m *ProviderEpochComplainerCu) GetComplainersCu() uint64 { if m != nil { return m.ComplainersCu } @@ -125,7 +163,7 @@ func (m *ProviderConsumerEpochCu) Reset() { *m = ProviderConsumerEpochCu func (m *ProviderConsumerEpochCu) String() string { return proto.CompactTextString(m) } func (*ProviderConsumerEpochCu) ProtoMessage() {} func (*ProviderConsumerEpochCu) Descriptor() ([]byte, []int) { - return fileDescriptor_c2abb0ec984ffb4c, []int{2} + return fileDescriptor_c2abb0ec984ffb4c, []int{3} } func (m *ProviderConsumerEpochCu) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -164,6 +202,7 @@ func (m *ProviderConsumerEpochCu) GetCu() uint64 { func init() { proto.RegisterType((*UniqueEpochSession)(nil), "lavanet.lava.pairing.UniqueEpochSession") proto.RegisterType((*ProviderEpochCu)(nil), "lavanet.lava.pairing.ProviderEpochCu") + proto.RegisterType((*ProviderEpochComplainerCu)(nil), "lavanet.lava.pairing.ProviderEpochComplainerCu") proto.RegisterType((*ProviderConsumerEpochCu)(nil), "lavanet.lava.pairing.ProviderConsumerEpochCu") } @@ -172,22 +211,23 @@ func init() { } var fileDescriptor_c2abb0ec984ffb4c = []byte{ - // 235 bytes of a gzipped FileDescriptorProto + // 242 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0xce, 0x49, 0x2c, 0x4b, 0xcc, 0x4b, 0x2d, 0xd1, 0x07, 0xd1, 0xfa, 0x05, 0x89, 0x99, 0x45, 0x99, 0x79, 0xe9, 0xfa, 0xa9, 0x05, 0xf9, 0xc9, 0x19, 0xf1, 0xc9, 0xa5, 0x7a, 0x05, 0x45, 0xf9, 0x25, 0xf9, 0x42, 0x22, 0x50, 0x45, 0x7a, 0x20, 0x5a, 0x0f, 0xaa, 0x48, 0x49, 0x84, 0x4b, 0x28, 0x34, 0x2f, 0xb3, 0xb0, 0x34, - 0xd5, 0x15, 0xa4, 0x3a, 0x38, 0xb5, 0xb8, 0x38, 0x33, 0x3f, 0x4f, 0x29, 0x92, 0x8b, 0x3f, 0xa0, + 0xd5, 0x15, 0xa4, 0x3a, 0x38, 0xb5, 0xb8, 0x38, 0x33, 0x3f, 0x4f, 0xc9, 0x88, 0x8b, 0x3f, 0xa0, 0x28, 0xbf, 0x2c, 0x33, 0x25, 0xb5, 0x08, 0x2c, 0xee, 0x5c, 0x2a, 0x24, 0xcf, 0xc5, 0x5d, 0x9c, 0x5a, 0x54, 0x96, 0x99, 0x9c, 0x9a, 0x12, 0x9f, 0x5c, 0x2a, 0xc1, 0xa8, 0xc0, 0xa8, 0xc1, 0x12, - 0xc4, 0x05, 0x13, 0x72, 0x2e, 0x15, 0x52, 0xe5, 0xe2, 0x4b, 0xce, 0xcf, 0x2d, 0xc8, 0x49, 0xcc, - 0xcc, 0x4b, 0x2d, 0x2a, 0x06, 0xa9, 0x61, 0x02, 0xab, 0xe1, 0x45, 0x12, 0x75, 0x2e, 0x55, 0xd2, - 0xe4, 0x12, 0x87, 0x19, 0xed, 0x9c, 0x9f, 0x57, 0x5c, 0x9a, 0x8b, 0xb0, 0x82, 0x8f, 0x8b, 0x09, - 0x6e, 0x32, 0x53, 0x72, 0xa9, 0x93, 0xe3, 0x89, 0x47, 0x72, 0x8c, 0x17, 0x1e, 0xc9, 0x31, 0x3e, - 0x78, 0x24, 0xc7, 0x38, 0xe1, 0xb1, 0x1c, 0xc3, 0x85, 0xc7, 0x72, 0x0c, 0x37, 0x1e, 0xcb, 0x31, - 0x44, 0xa9, 0xa7, 0x67, 0x96, 0x64, 0x94, 0x26, 0xe9, 0x25, 0xe7, 0xe7, 0xea, 0xa3, 0xf8, 0xbd, - 0x02, 0xee, 0xfb, 0x92, 0xca, 0x82, 0xd4, 0xe2, 0x24, 0x36, 0xb0, 0xdf, 0x8d, 0x01, 0x01, 0x00, - 0x00, 0xff, 0xff, 0x96, 0x05, 0x0f, 0x86, 0x22, 0x01, 0x00, 0x00, + 0xc4, 0x05, 0x13, 0x72, 0x2e, 0x55, 0x72, 0xe2, 0x92, 0x44, 0xd5, 0x93, 0x9f, 0x5b, 0x90, 0x93, + 0x98, 0x99, 0x97, 0x5a, 0xe4, 0x5c, 0x2a, 0xa4, 0xca, 0xc5, 0x97, 0x0c, 0xe7, 0x17, 0x23, 0x0c, + 0xe0, 0x45, 0x12, 0x75, 0x2e, 0x55, 0xd2, 0xe4, 0x12, 0x87, 0x99, 0xe1, 0x9c, 0x9f, 0x57, 0x5c, + 0x9a, 0x8b, 0xb0, 0x9f, 0x8f, 0x8b, 0x09, 0xae, 0x8b, 0x29, 0xb9, 0xd4, 0xc9, 0xf1, 0xc4, 0x23, + 0x39, 0xc6, 0x0b, 0x8f, 0xe4, 0x18, 0x1f, 0x3c, 0x92, 0x63, 0x9c, 0xf0, 0x58, 0x8e, 0xe1, 0xc2, + 0x63, 0x39, 0x86, 0x1b, 0x8f, 0xe5, 0x18, 0xa2, 0xd4, 0xd3, 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, + 0x92, 0xf3, 0x73, 0xf5, 0x51, 0x02, 0xa6, 0x02, 0x1e, 0x34, 0x25, 0x95, 0x05, 0xa9, 0xc5, 0x49, + 0x6c, 0xe0, 0x80, 0x31, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0x9a, 0xf8, 0x2d, 0xe9, 0x3f, 0x01, + 0x00, 0x00, } func (m *UniqueEpochSession) Marshal() (dAtA []byte, err error) { @@ -233,11 +273,6 @@ func (m *ProviderEpochCu) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if m.ComplainersCu != 0 { - i = encodeVarintEpochCu(dAtA, i, uint64(m.ComplainersCu)) - i-- - dAtA[i] = 0x10 - } if m.ServicedCu != 0 { i = encodeVarintEpochCu(dAtA, i, uint64(m.ServicedCu)) i-- @@ -246,6 +281,34 @@ func (m *ProviderEpochCu) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *ProviderEpochComplainerCu) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ProviderEpochComplainerCu) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *ProviderEpochComplainerCu) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.ComplainersCu != 0 { + i = encodeVarintEpochCu(dAtA, i, uint64(m.ComplainersCu)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + func (m *ProviderConsumerEpochCu) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -303,6 +366,15 @@ func (m *ProviderEpochCu) Size() (n int) { if m.ServicedCu != 0 { n += 1 + sovEpochCu(uint64(m.ServicedCu)) } + return n +} + +func (m *ProviderEpochComplainerCu) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l if m.ComplainersCu != 0 { n += 1 + sovEpochCu(uint64(m.ComplainersCu)) } @@ -425,7 +497,57 @@ func (m *ProviderEpochCu) Unmarshal(dAtA []byte) error { break } } - case 2: + default: + iNdEx = preIndex + skippy, err := skipEpochCu(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEpochCu + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ProviderEpochComplainerCu) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEpochCu + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ProviderEpochComplainerCu: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ProviderEpochComplainerCu: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field ComplainersCu", wireType) } diff --git a/x/pairing/types/genesis.pb.go b/x/pairing/types/genesis.pb.go index 1e53204d04..e8b319a8b9 100644 --- a/x/pairing/types/genesis.pb.go +++ b/x/pairing/types/genesis.pb.go @@ -79,13 +79,14 @@ func (m *BadgeUsedCu) GetUsedCu() uint64 { // GenesisState defines the pairing module's genesis state. type GenesisState struct { - Params Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params"` - BadgeUsedCuList []BadgeUsedCu `protobuf:"bytes,5,rep,name=badgeUsedCuList,proto3" json:"badgeUsedCuList"` - BadgesTS types.GenesisState `protobuf:"bytes,6,opt,name=badgesTS,proto3" json:"badgesTS"` - ProviderQosFS types1.GenesisState `protobuf:"bytes,7,opt,name=providerQosFS,proto3" json:"providerQosFS"` - UniqueEpochSessions []UniqueEpochSessionGenesis `protobuf:"bytes,8,rep,name=unique_epoch_sessions,json=uniqueEpochSessions,proto3" json:"unique_epoch_sessions"` - ProviderEpochCus []ProviderEpochCuGenesis `protobuf:"bytes,9,rep,name=provider_epoch_cus,json=providerEpochCus,proto3" json:"provider_epoch_cus"` - ProviderConsumerEpochCus []ProviderConsumerEpochCuGenesis `protobuf:"bytes,10,rep,name=provider_consumer_epoch_cus,json=providerConsumerEpochCus,proto3" json:"provider_consumer_epoch_cus"` + Params Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params"` + BadgeUsedCuList []BadgeUsedCu `protobuf:"bytes,5,rep,name=badgeUsedCuList,proto3" json:"badgeUsedCuList"` + BadgesTS types.GenesisState `protobuf:"bytes,6,opt,name=badgesTS,proto3" json:"badgesTS"` + ProviderQosFS types1.GenesisState `protobuf:"bytes,7,opt,name=providerQosFS,proto3" json:"providerQosFS"` + UniqueEpochSessions []UniqueEpochSessionGenesis `protobuf:"bytes,8,rep,name=unique_epoch_sessions,json=uniqueEpochSessions,proto3" json:"unique_epoch_sessions"` + ProviderEpochCus []ProviderEpochCuGenesis `protobuf:"bytes,9,rep,name=provider_epoch_cus,json=providerEpochCus,proto3" json:"provider_epoch_cus"` + ProviderEpochComplainedCus []ProviderEpochComplainerCuGenesis `protobuf:"bytes,10,rep,name=provider_epoch_complained_cus,json=providerEpochComplainedCus,proto3" json:"provider_epoch_complained_cus"` + ProviderConsumerEpochCus []ProviderConsumerEpochCuGenesis `protobuf:"bytes,11,rep,name=provider_consumer_epoch_cus,json=providerConsumerEpochCus,proto3" json:"provider_consumer_epoch_cus"` } func (m *GenesisState) Reset() { *m = GenesisState{} } @@ -163,6 +164,13 @@ func (m *GenesisState) GetProviderEpochCus() []ProviderEpochCuGenesis { return nil } +func (m *GenesisState) GetProviderEpochComplainedCus() []ProviderEpochComplainerCuGenesis { + if m != nil { + return m.ProviderEpochComplainedCus + } + return nil +} + func (m *GenesisState) GetProviderConsumerEpochCus() []ProviderConsumerEpochCuGenesis { if m != nil { return m.ProviderConsumerEpochCus @@ -314,6 +322,74 @@ func (m *ProviderEpochCuGenesis) GetProviderEpochCu() ProviderEpochCu { return ProviderEpochCu{} } +type ProviderEpochComplainerCuGenesis struct { + Epoch uint64 `protobuf:"varint,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + Provider string `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"` + ChainId string `protobuf:"bytes,3,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` + ProviderEpochComplainerCu ProviderEpochComplainerCu `protobuf:"bytes,4,opt,name=provider_epoch_complainer_cu,json=providerEpochComplainerCu,proto3" json:"provider_epoch_complainer_cu"` +} + +func (m *ProviderEpochComplainerCuGenesis) Reset() { *m = ProviderEpochComplainerCuGenesis{} } +func (m *ProviderEpochComplainerCuGenesis) String() string { return proto.CompactTextString(m) } +func (*ProviderEpochComplainerCuGenesis) ProtoMessage() {} +func (*ProviderEpochComplainerCuGenesis) Descriptor() ([]byte, []int) { + return fileDescriptor_dbd1e49b8b57595b, []int{4} +} +func (m *ProviderEpochComplainerCuGenesis) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ProviderEpochComplainerCuGenesis) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ProviderEpochComplainerCuGenesis.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ProviderEpochComplainerCuGenesis) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProviderEpochComplainerCuGenesis.Merge(m, src) +} +func (m *ProviderEpochComplainerCuGenesis) XXX_Size() int { + return m.Size() +} +func (m *ProviderEpochComplainerCuGenesis) XXX_DiscardUnknown() { + xxx_messageInfo_ProviderEpochComplainerCuGenesis.DiscardUnknown(m) +} + +var xxx_messageInfo_ProviderEpochComplainerCuGenesis proto.InternalMessageInfo + +func (m *ProviderEpochComplainerCuGenesis) GetEpoch() uint64 { + if m != nil { + return m.Epoch + } + return 0 +} + +func (m *ProviderEpochComplainerCuGenesis) GetProvider() string { + if m != nil { + return m.Provider + } + return "" +} + +func (m *ProviderEpochComplainerCuGenesis) GetChainId() string { + if m != nil { + return m.ChainId + } + return "" +} + +func (m *ProviderEpochComplainerCuGenesis) GetProviderEpochComplainerCu() ProviderEpochComplainerCu { + if m != nil { + return m.ProviderEpochComplainerCu + } + return ProviderEpochComplainerCu{} +} + type ProviderConsumerEpochCuGenesis struct { Epoch uint64 `protobuf:"varint,1,opt,name=epoch,proto3" json:"epoch,omitempty"` Provider string `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"` @@ -326,7 +402,7 @@ func (m *ProviderConsumerEpochCuGenesis) Reset() { *m = ProviderConsumer func (m *ProviderConsumerEpochCuGenesis) String() string { return proto.CompactTextString(m) } func (*ProviderConsumerEpochCuGenesis) ProtoMessage() {} func (*ProviderConsumerEpochCuGenesis) Descriptor() ([]byte, []int) { - return fileDescriptor_dbd1e49b8b57595b, []int{4} + return fileDescriptor_dbd1e49b8b57595b, []int{5} } func (m *ProviderConsumerEpochCuGenesis) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -395,6 +471,7 @@ func init() { proto.RegisterType((*GenesisState)(nil), "lavanet.lava.pairing.GenesisState") proto.RegisterType((*UniqueEpochSessionGenesis)(nil), "lavanet.lava.pairing.UniqueEpochSessionGenesis") proto.RegisterType((*ProviderEpochCuGenesis)(nil), "lavanet.lava.pairing.ProviderEpochCuGenesis") + proto.RegisterType((*ProviderEpochComplainerCuGenesis)(nil), "lavanet.lava.pairing.ProviderEpochComplainerCuGenesis") proto.RegisterType((*ProviderConsumerEpochCuGenesis)(nil), "lavanet.lava.pairing.ProviderConsumerEpochCuGenesis") } @@ -403,47 +480,51 @@ func init() { } var fileDescriptor_dbd1e49b8b57595b = []byte{ - // 628 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x54, 0x3f, 0x6f, 0xd3, 0x40, - 0x14, 0x8f, 0x1b, 0x27, 0x75, 0x5f, 0x0a, 0xa4, 0x47, 0xa1, 0x6e, 0x00, 0xd3, 0x1a, 0x21, 0x52, - 0x09, 0x6c, 0x29, 0x30, 0xb1, 0x91, 0x08, 0xaa, 0x06, 0x06, 0x92, 0xb4, 0x42, 0x62, 0x31, 0x8e, - 0x7d, 0x38, 0x07, 0xc4, 0x67, 0x7c, 0x76, 0xd5, 0x7c, 0x0b, 0x26, 0x76, 0xbe, 0x08, 0x73, 0xc7, - 0x8e, 0x4c, 0x08, 0x25, 0x9f, 0x82, 0x0d, 0xf9, 0x7c, 0x49, 0xe3, 0xc6, 0xa9, 0x04, 0x03, 0x93, - 0xfd, 0xee, 0xfd, 0xde, 0xef, 0xf7, 0xfe, 0xdd, 0x81, 0xfe, 0xc9, 0x3e, 0xb6, 0x7d, 0x1c, 0x99, - 0xc9, 0xd7, 0x0c, 0x6c, 0x12, 0x12, 0xdf, 0x33, 0x3d, 0xec, 0x63, 0x46, 0x98, 0x11, 0x84, 0x34, - 0xa2, 0x68, 0x53, 0x60, 0x8c, 0xe4, 0x6b, 0x08, 0x4c, 0x6d, 0xd3, 0xa3, 0x1e, 0xe5, 0x00, 0x33, - 0xf9, 0x4b, 0xb1, 0xb5, 0xdd, 0x5c, 0xbe, 0xc0, 0x0e, 0xed, 0xa1, 0xa0, 0xab, 0xdd, 0xcb, 0x85, - 0xe0, 0x80, 0x3a, 0x03, 0xcb, 0x89, 0x05, 0x68, 0x2f, 0x03, 0x7a, 0x4f, 0x4e, 0xec, 0x88, 0x50, - 0x9f, 0x45, 0x34, 0xc4, 0x33, 0x2b, 0x97, 0x2f, 0x22, 0x43, 0x1c, 0xa6, 0x38, 0xfe, 0x9b, 0x82, - 0xf4, 0x0e, 0x54, 0x9a, 0xb6, 0xeb, 0xe1, 0x23, 0x86, 0xdd, 0x56, 0x8c, 0xf6, 0x60, 0xa3, 0x9f, - 0x98, 0x56, 0xcc, 0xb0, 0x6b, 0x39, 0xb1, 0xf5, 0x11, 0x8f, 0x54, 0x69, 0x47, 0xaa, 0xaf, 0x77, - 0xaf, 0xf6, 0xcf, 0x71, 0x2f, 0xf1, 0x08, 0x6d, 0xc1, 0xaa, 0x00, 0xa9, 0x2b, 0x3b, 0x52, 0x5d, - 0xee, 0x96, 0x63, 0xee, 0xd3, 0xbf, 0x96, 0x60, 0x7d, 0x3f, 0x6d, 0x54, 0x2f, 0xb2, 0x23, 0x8c, - 0x9e, 0x42, 0x39, 0x2d, 0x94, 0x33, 0x55, 0x1a, 0xb7, 0x8d, 0xbc, 0xc6, 0x19, 0xaf, 0x39, 0xa6, - 0x29, 0x9f, 0xfe, 0xbc, 0x5b, 0xe8, 0x8a, 0x08, 0xd4, 0x81, 0x6b, 0x73, 0xba, 0xaf, 0x08, 0x8b, - 0xd4, 0xd2, 0x4e, 0xb1, 0x5e, 0x69, 0xec, 0xe6, 0x93, 0xcc, 0x15, 0x23, 0x98, 0x2e, 0xc6, 0xa3, - 0x7d, 0x50, 0xf8, 0x11, 0x3b, 0xec, 0xa9, 0x65, 0x9e, 0xd0, 0xfd, 0x2c, 0xd7, 0x79, 0xab, 0x8c, - 0xf9, 0x3a, 0x04, 0xdf, 0x2c, 0x18, 0x1d, 0xc2, 0x95, 0x20, 0xa4, 0xc7, 0xc4, 0xc5, 0x61, 0x87, - 0xb2, 0x17, 0x3d, 0x75, 0x95, 0xb3, 0xd5, 0xb3, 0x6c, 0x99, 0x19, 0xe5, 0x11, 0x66, 0x49, 0x10, - 0x81, 0x1b, 0xb1, 0x4f, 0x3e, 0xc7, 0xd8, 0x4a, 0x47, 0xcf, 0x30, 0x63, 0x49, 0xb8, 0xaa, 0xf0, - 0xba, 0xcd, 0xfc, 0xba, 0x8f, 0x78, 0xc8, 0xf3, 0x24, 0xa2, 0x97, 0x06, 0x08, 0x25, 0x21, 0x72, - 0x3d, 0x5e, 0x00, 0x30, 0xf4, 0x0e, 0xd0, 0x54, 0xdb, 0x9a, 0xee, 0x19, 0x53, 0xd7, 0xb8, 0xce, - 0xc3, 0x25, 0x43, 0x12, 0x78, 0x4e, 0xd4, 0x8a, 0xb3, 0x22, 0xd5, 0x20, 0xeb, 0x65, 0x68, 0x04, - 0xb7, 0x66, 0x0a, 0x0e, 0xf5, 0x59, 0x3c, 0xcc, 0x48, 0x01, 0x97, 0x7a, 0x72, 0xb9, 0x54, 0x4b, - 0xc4, 0xe5, 0x4a, 0xaa, 0x41, 0x3e, 0x8a, 0xb5, 0x65, 0x65, 0xa5, 0x5a, 0x6c, 0xcb, 0x4a, 0xb1, - 0x2a, 0xb7, 0x65, 0x45, 0xae, 0x96, 0xf4, 0x6f, 0x12, 0x6c, 0x2f, 0xed, 0x13, 0xda, 0x84, 0x12, - 0x4f, 0x8c, 0x2f, 0xa9, 0xdc, 0x4d, 0x0d, 0x54, 0x03, 0x65, 0xaa, 0xc0, 0xd7, 0x7c, 0xad, 0x3b, - 0xb3, 0x91, 0x0a, 0xab, 0x41, 0x48, 0x3f, 0x60, 0x27, 0x52, 0x8b, 0xdc, 0x35, 0x35, 0xd1, 0x36, - 0x28, 0xce, 0xc0, 0x26, 0xbe, 0x45, 0x5c, 0x55, 0x4e, 0x5d, 0xdc, 0x3e, 0x70, 0xd1, 0x1d, 0x00, - 0x31, 0xd1, 0xc4, 0x59, 0xe2, 0x5a, 0x6b, 0xe2, 0xe4, 0xc0, 0xd5, 0xbf, 0x4b, 0x70, 0x33, 0xbf, - 0xc7, 0xff, 0x90, 0xe0, 0x7c, 0x1a, 0xc5, 0x6c, 0x1a, 0x6f, 0x60, 0x63, 0x61, 0xf4, 0x3c, 0xd5, - 0x85, 0xdb, 0xb0, 0x64, 0xf2, 0xd3, 0xdb, 0x75, 0x61, 0xe4, 0xfa, 0x6f, 0x09, 0xb4, 0xcb, 0x27, - 0xf7, 0xbf, 0x3a, 0x1d, 0x40, 0x6d, 0xf9, 0xee, 0xf1, 0xce, 0x57, 0x1a, 0x8f, 0xfe, 0x6a, 0xf5, - 0x44, 0xcd, 0x5b, 0x4b, 0x76, 0xae, 0xf9, 0xec, 0x74, 0xac, 0x49, 0x67, 0x63, 0x4d, 0xfa, 0x35, - 0xd6, 0xa4, 0x2f, 0x13, 0xad, 0x70, 0x36, 0xd1, 0x0a, 0x3f, 0x26, 0x5a, 0xe1, 0xed, 0x03, 0x8f, - 0x44, 0x83, 0xb8, 0x6f, 0x38, 0x74, 0x68, 0x66, 0x9e, 0xe5, 0x93, 0xd9, 0x43, 0x1f, 0x8d, 0x02, - 0xcc, 0xfa, 0x65, 0xfe, 0x2c, 0x3f, 0xfe, 0x13, 0x00, 0x00, 0xff, 0xff, 0x16, 0x73, 0xa7, 0xf7, - 0x80, 0x06, 0x00, 0x00, + // 693 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x55, 0x41, 0x53, 0xd3, 0x40, + 0x18, 0x6d, 0x68, 0x5a, 0xca, 0x57, 0xd4, 0xb2, 0xa2, 0x84, 0x0a, 0xb1, 0xc4, 0x71, 0x2c, 0x33, + 0x9a, 0xcc, 0xa0, 0xe3, 0xc1, 0x9b, 0x30, 0xca, 0x80, 0x1e, 0xa4, 0x85, 0x71, 0xc6, 0x4b, 0x4c, + 0x93, 0xb5, 0xac, 0xd2, 0xec, 0x9a, 0x4d, 0x18, 0x7a, 0xf2, 0x2f, 0x78, 0xf3, 0xec, 0x1f, 0xf1, + 0xcc, 0x91, 0xa3, 0x27, 0xc7, 0x81, 0x83, 0xbf, 0xc1, 0x9b, 0x93, 0xcd, 0xb6, 0x34, 0x25, 0x41, + 0x71, 0x1c, 0x4f, 0xc9, 0x66, 0xdf, 0xf7, 0xde, 0xf7, 0xb2, 0xef, 0x9b, 0x05, 0x63, 0xcf, 0xd9, + 0x77, 0x7c, 0x1c, 0x5a, 0xf1, 0xd3, 0x62, 0x0e, 0x09, 0x88, 0xdf, 0xb5, 0xba, 0xd8, 0xc7, 0x9c, + 0x70, 0x93, 0x05, 0x34, 0xa4, 0x68, 0x56, 0x62, 0xcc, 0xf8, 0x69, 0x4a, 0x4c, 0x7d, 0xb6, 0x4b, + 0xbb, 0x54, 0x00, 0xac, 0xf8, 0x2d, 0xc1, 0xd6, 0x97, 0x32, 0xf9, 0x98, 0x13, 0x38, 0x3d, 0x49, + 0x57, 0xbf, 0x95, 0x09, 0xc1, 0x8c, 0xba, 0xbb, 0xb6, 0x1b, 0x49, 0xd0, 0x72, 0x0a, 0xf4, 0x86, + 0x1c, 0x38, 0x21, 0xa1, 0x3e, 0x0f, 0x69, 0x80, 0x87, 0xab, 0x4c, 0xbe, 0x90, 0xf4, 0x70, 0x90, + 0xe0, 0xc4, 0x6b, 0x02, 0x32, 0xb6, 0xa0, 0xba, 0xea, 0x78, 0x5d, 0xbc, 0xc3, 0xb1, 0xb7, 0x16, + 0xa1, 0x65, 0x98, 0xe9, 0xc4, 0x4b, 0x3b, 0xe2, 0xd8, 0xb3, 0xdd, 0xc8, 0x7e, 0x87, 0xfb, 0x9a, + 0xd2, 0x50, 0x9a, 0xd3, 0xad, 0xcb, 0x9d, 0x53, 0xdc, 0x33, 0xdc, 0x47, 0x73, 0x30, 0x29, 0x41, + 0xda, 0x44, 0x43, 0x69, 0xaa, 0xad, 0x72, 0x24, 0xf6, 0x8c, 0x4f, 0x65, 0x98, 0x5e, 0x4f, 0x7e, + 0x54, 0x3b, 0x74, 0x42, 0x8c, 0x1e, 0x41, 0x39, 0x31, 0x2a, 0x98, 0xaa, 0x2b, 0x0b, 0x66, 0xd6, + 0x8f, 0x33, 0x5f, 0x08, 0xcc, 0xaa, 0x7a, 0xf8, 0xed, 0x66, 0xa1, 0x25, 0x2b, 0xd0, 0x16, 0x5c, + 0x19, 0xd1, 0x7d, 0x4e, 0x78, 0xa8, 0x95, 0x1a, 0xc5, 0x66, 0x75, 0x65, 0x29, 0x9b, 0x64, 0xc4, + 0x8c, 0x64, 0x1a, 0xaf, 0x47, 0xeb, 0x50, 0x11, 0x9f, 0xf8, 0x76, 0x5b, 0x2b, 0x8b, 0x86, 0x6e, + 0xa7, 0xb9, 0x4e, 0x7f, 0x95, 0x39, 0xea, 0x43, 0xf2, 0x0d, 0x8b, 0xd1, 0x36, 0x5c, 0x62, 0x01, + 0xdd, 0x27, 0x1e, 0x0e, 0xb6, 0x28, 0x7f, 0xda, 0xd6, 0x26, 0x05, 0x5b, 0x33, 0xcd, 0x96, 0x3a, + 0xa3, 0x2c, 0xc2, 0x34, 0x09, 0x22, 0x70, 0x2d, 0xf2, 0xc9, 0xfb, 0x08, 0xdb, 0xc9, 0xd1, 0x73, + 0xcc, 0x79, 0x5c, 0xae, 0x55, 0x84, 0x6f, 0x2b, 0xdb, 0xf7, 0x8e, 0x28, 0x79, 0x12, 0x57, 0xb4, + 0x93, 0x02, 0xa9, 0x24, 0x45, 0xae, 0x46, 0x67, 0x00, 0x1c, 0xbd, 0x06, 0x34, 0xd0, 0xb6, 0x07, + 0x39, 0xe3, 0xda, 0x94, 0xd0, 0xb9, 0x9b, 0x73, 0x48, 0x12, 0x2f, 0x88, 0xd6, 0xa2, 0xb4, 0x48, + 0x8d, 0xa5, 0x77, 0x39, 0xfa, 0x00, 0x8b, 0xe3, 0x0a, 0xb4, 0xc7, 0xf6, 0x1c, 0xe2, 0x8b, 0xe4, + 0x70, 0x0d, 0x84, 0xd8, 0xc3, 0x3f, 0x11, 0x1b, 0x14, 0x06, 0xe3, 0xb2, 0x75, 0x96, 0x89, 0xf3, + 0xe2, 0x06, 0xfa, 0x70, 0x63, 0xd8, 0x80, 0x4b, 0x7d, 0x1e, 0xf5, 0x52, 0x5e, 0xab, 0x42, 0xfe, + 0xc1, 0xf9, 0xf2, 0x6b, 0xb2, 0x2e, 0xd3, 0xb3, 0xc6, 0xb2, 0x51, 0x7c, 0x53, 0xad, 0x4c, 0xd4, + 0x8a, 0x9b, 0x6a, 0xa5, 0x58, 0x53, 0x37, 0xd5, 0x8a, 0x5a, 0x2b, 0x19, 0x9f, 0x15, 0x98, 0xcf, + 0x3d, 0x28, 0x34, 0x0b, 0x25, 0xd1, 0x98, 0x98, 0x12, 0xb5, 0x95, 0x2c, 0x50, 0x1d, 0x2a, 0x03, + 0x05, 0x31, 0x67, 0x53, 0xad, 0xe1, 0x1a, 0x69, 0x30, 0xc9, 0x02, 0xfa, 0x16, 0xbb, 0xa1, 0x56, + 0x14, 0x5b, 0x83, 0x25, 0x9a, 0x87, 0x8a, 0xbb, 0xeb, 0x10, 0xdf, 0x26, 0x9e, 0xa6, 0x26, 0x5b, + 0x62, 0xbd, 0xe1, 0xa1, 0x45, 0x00, 0x19, 0xa9, 0x78, 0xb3, 0x24, 0xb4, 0xa6, 0xe4, 0x97, 0x0d, + 0xcf, 0xf8, 0xa2, 0xc0, 0xf5, 0xec, 0x43, 0xfe, 0x8b, 0x06, 0x47, 0xdb, 0x28, 0xa6, 0xdb, 0x78, + 0x09, 0x33, 0x67, 0xb2, 0x27, 0x5a, 0x3d, 0x33, 0x8e, 0x39, 0xd1, 0x1b, 0x8c, 0xf7, 0x58, 0xe6, + 0x8c, 0x1f, 0x0a, 0x34, 0x7e, 0x17, 0x9c, 0x7f, 0x6b, 0x65, 0x1f, 0x16, 0xf2, 0x42, 0x1e, 0x9c, + 0xba, 0xb2, 0x2e, 0x98, 0x71, 0xe9, 0x6f, 0x9e, 0xe5, 0x01, 0x8c, 0x9f, 0x0a, 0xe8, 0xe7, 0x67, + 0xf4, 0x7f, 0x65, 0x8a, 0x41, 0x3d, 0x7f, 0xca, 0x44, 0xc6, 0xaa, 0x2b, 0xf7, 0x2e, 0x34, 0x64, + 0xd2, 0xfd, 0x5c, 0xce, 0x74, 0xad, 0x3e, 0x3e, 0x3c, 0xd6, 0x95, 0xa3, 0x63, 0x5d, 0xf9, 0x7e, + 0xac, 0x2b, 0x1f, 0x4f, 0xf4, 0xc2, 0xd1, 0x89, 0x5e, 0xf8, 0x7a, 0xa2, 0x17, 0x5e, 0xdd, 0xe9, + 0x92, 0x70, 0x37, 0xea, 0x98, 0x2e, 0xed, 0x59, 0xa9, 0x1b, 0xf0, 0x60, 0x78, 0xa7, 0x86, 0x7d, + 0x86, 0x79, 0xa7, 0x2c, 0x6e, 0xc0, 0xfb, 0xbf, 0x02, 0x00, 0x00, 0xff, 0xff, 0x79, 0x43, 0xa2, + 0x96, 0xeb, 0x07, 0x00, 0x00, } func (m *BadgeUsedCu) Marshal() (dAtA []byte, err error) { @@ -512,6 +593,20 @@ func (m *GenesisState) MarshalToSizedBuffer(dAtA []byte) (int, error) { i = encodeVarintGenesis(dAtA, i, uint64(size)) } i-- + dAtA[i] = 0x5a + } + } + if len(m.ProviderEpochComplainedCus) > 0 { + for iNdEx := len(m.ProviderEpochComplainedCus) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.ProviderEpochComplainedCus[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- dAtA[i] = 0x52 } } @@ -696,6 +791,58 @@ func (m *ProviderEpochCuGenesis) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } +func (m *ProviderEpochComplainerCuGenesis) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ProviderEpochComplainerCuGenesis) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *ProviderEpochComplainerCuGenesis) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.ProviderEpochComplainerCu.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + if len(m.ChainId) > 0 { + i -= len(m.ChainId) + copy(dAtA[i:], m.ChainId) + i = encodeVarintGenesis(dAtA, i, uint64(len(m.ChainId))) + i-- + dAtA[i] = 0x1a + } + if len(m.Provider) > 0 { + i -= len(m.Provider) + copy(dAtA[i:], m.Provider) + i = encodeVarintGenesis(dAtA, i, uint64(len(m.Provider))) + i-- + dAtA[i] = 0x12 + } + if m.Epoch != 0 { + i = encodeVarintGenesis(dAtA, i, uint64(m.Epoch)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + func (m *ProviderConsumerEpochCuGenesis) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -812,6 +959,12 @@ func (m *GenesisState) Size() (n int) { n += 1 + l + sovGenesis(uint64(l)) } } + if len(m.ProviderEpochComplainedCus) > 0 { + for _, e := range m.ProviderEpochComplainedCus { + l = e.Size() + n += 1 + l + sovGenesis(uint64(l)) + } + } if len(m.ProviderConsumerEpochCus) > 0 { for _, e := range m.ProviderConsumerEpochCus { l = e.Size() @@ -870,6 +1023,28 @@ func (m *ProviderEpochCuGenesis) Size() (n int) { return n } +func (m *ProviderEpochComplainerCuGenesis) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Epoch != 0 { + n += 1 + sovGenesis(uint64(m.Epoch)) + } + l = len(m.Provider) + if l > 0 { + n += 1 + l + sovGenesis(uint64(l)) + } + l = len(m.ChainId) + if l > 0 { + n += 1 + l + sovGenesis(uint64(l)) + } + l = m.ProviderEpochComplainerCu.Size() + n += 1 + l + sovGenesis(uint64(l)) + return n +} + func (m *ProviderConsumerEpochCuGenesis) Size() (n int) { if m == nil { return 0 @@ -1236,6 +1411,40 @@ func (m *GenesisState) Unmarshal(dAtA []byte) error { } iNdEx = postIndex case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProviderEpochComplainedCus", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ProviderEpochComplainedCus = append(m.ProviderEpochComplainedCus, ProviderEpochComplainerCuGenesis{}) + if err := m.ProviderEpochComplainedCus[len(m.ProviderEpochComplainedCus)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 11: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field ProviderConsumerEpochCus", wireType) } @@ -1640,6 +1849,172 @@ func (m *ProviderEpochCuGenesis) Unmarshal(dAtA []byte) error { } return nil } +func (m *ProviderEpochComplainerCuGenesis) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ProviderEpochComplainerCuGenesis: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ProviderEpochComplainerCuGenesis: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) + } + m.Epoch = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Epoch |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Provider", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Provider = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ChainId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ChainId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProviderEpochComplainerCu", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ProviderEpochComplainerCu.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenesis(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthGenesis + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *ProviderConsumerEpochCuGenesis) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/x/pairing/types/genesis_test.go b/x/pairing/types/genesis_test.go index 2dfba34bed..416d467cb9 100644 --- a/x/pairing/types/genesis_test.go +++ b/x/pairing/types/genesis_test.go @@ -43,13 +43,27 @@ func TestGenesisState_Validate(t *testing.T) { Epoch: 0, Provider: "0", ChainId: "0", - ProviderEpochCu: types.ProviderEpochCu{ServicedCu: 10, ComplainersCu: 100}, + ProviderEpochCu: types.ProviderEpochCu{ServicedCu: 10}, }, { Epoch: 1, Provider: "1", ChainId: "1", - ProviderEpochCu: types.ProviderEpochCu{ServicedCu: 20, ComplainersCu: 200}, + ProviderEpochCu: types.ProviderEpochCu{ServicedCu: 20}, + }, + }, + ProviderEpochComplainedCus: []types.ProviderEpochComplainerCuGenesis{ + { + Epoch: 0, + Provider: "0", + ChainId: "0", + ProviderEpochComplainerCu: types.ProviderEpochComplainerCu{ComplainersCu: 100}, + }, + { + Epoch: 1, + Provider: "1", + ChainId: "1", + ProviderEpochComplainerCu: types.ProviderEpochComplainerCu{ComplainersCu: 200}, }, }, ProviderConsumerEpochCus: []types.ProviderConsumerEpochCuGenesis{ @@ -104,13 +118,35 @@ func TestGenesisState_Validate(t *testing.T) { Epoch: 0, Provider: "0", ChainId: "0", - ProviderEpochCu: types.ProviderEpochCu{ServicedCu: 10, ComplainersCu: 100}, + ProviderEpochCu: types.ProviderEpochCu{ServicedCu: 10}, }, { Epoch: 0, Provider: "0", ChainId: "0", - ProviderEpochCu: types.ProviderEpochCu{ServicedCu: 10, ComplainersCu: 100}, + ProviderEpochCu: types.ProviderEpochCu{ServicedCu: 10}, + }, + }, + }, + valid: false, + }, + + { + desc: "duplicated ProviderEpochCus", + genState: &types.GenesisState{ + Params: types.DefaultParams(), + ProviderEpochComplainedCus: []types.ProviderEpochComplainerCuGenesis{ + { + Epoch: 0, + Provider: "0", + ChainId: "0", + ProviderEpochComplainerCu: types.ProviderEpochComplainerCu{ComplainersCu: 200}, + }, + { + Epoch: 0, + Provider: "0", + ChainId: "0", + ProviderEpochComplainerCu: types.ProviderEpochComplainerCu{ComplainersCu: 200}, }, }, }, From d8a16e9dd312fb62fb9323830082c59b4332537c Mon Sep 17 00:00:00 2001 From: Yarom Swisa Date: Wed, 3 Apr 2024 12:29:51 +0300 Subject: [PATCH 33/35] encode uint instead of convert to string --- x/pairing/types/epoch_cu.go | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/x/pairing/types/epoch_cu.go b/x/pairing/types/epoch_cu.go index 25d177b0b4..48cae050c6 100644 --- a/x/pairing/types/epoch_cu.go +++ b/x/pairing/types/epoch_cu.go @@ -1,6 +1,7 @@ package types import ( + "encoding/binary" "fmt" "strconv" "strings" @@ -13,16 +14,26 @@ const ( ProviderConsumerEpochCuPrefix = "ProviderConsumerEpochCu/" ) +func EncodeBlock(block uint64) []byte { + encodedKey := make([]byte, 8) + binary.BigEndian.PutUint64(encodedKey[0:8], block) + return encodedKey +} + +func DecodeBlock(encodedKey []byte) uint64 { + return binary.BigEndian.Uint64(encodedKey[0:8]) +} + func UniqueEpochSessionKey(epoch uint64, provider string, chainID string, project string, sessionID uint64) []byte { - return []byte(strings.Join([]string{strconv.FormatUint(epoch, 10), provider, chainID, project, strconv.FormatUint(sessionID, 10)}, " ")) + return []byte(strings.Join([]string{string(EncodeBlock(epoch)), provider, chainID, project, strconv.FormatUint(sessionID, 10)}, " ")) } func ProviderEpochCuKey(epoch uint64, provider string, chainID string) []byte { - return []byte(strings.Join([]string{strconv.FormatUint(epoch, 10), provider, chainID}, " ")) + return []byte(strings.Join([]string{string(EncodeBlock(epoch)), provider, chainID}, " ")) } func ProviderConsumerEpochCuKey(epoch uint64, provider string, project string, chainID string) []byte { - return []byte(strings.Join([]string{strconv.FormatUint(epoch, 10), provider, project, chainID}, " ")) + return []byte(strings.Join([]string{string(EncodeBlock(epoch)), provider, project, chainID}, " ")) } func DecodeUniqueEpochSessionKey(key string) (epoch uint64, provider string, chainID string, project string, sessionID uint64, err error) { @@ -30,10 +41,7 @@ func DecodeUniqueEpochSessionKey(key string) (epoch uint64, provider string, cha if len(split) != 5 { return 0, "", "", "", 0, fmt.Errorf("invalid UniqueEpochSession key: bad structure. key: %s", key) } - epoch, err = strconv.ParseUint(split[0], 10, 64) - if err != nil { - return 0, "", "", "", 0, fmt.Errorf("invalid UniqueEpochSession key: bad epoch. key: %s", key) - } + epoch = DecodeBlock([]byte(split[0])) sessionID, err = strconv.ParseUint(split[4], 10, 64) if err != nil { return 0, "", "", "", 0, fmt.Errorf("invalid UniqueEpochSession key: bad session ID. key: %s", key) @@ -46,10 +54,7 @@ func DecodeProviderEpochCuKey(key string) (epoch uint64, provider string, chainI if len(split) != 3 { return 0, "", "", fmt.Errorf("invalid ProviderEpochCu key: bad structure. key: %s", key) } - epoch, err = strconv.ParseUint(split[0], 10, 64) - if err != nil { - return 0, "", "", fmt.Errorf("invalid ProviderEpochCu key: bad epoch. key: %s", key) - } + epoch = DecodeBlock([]byte(split[0])) return epoch, split[1], split[2], nil } @@ -58,10 +63,7 @@ func DecodeProviderConsumerEpochCuKey(key string) (epoch uint64, provider string if len(split) != 4 { return 0, "", "", "", fmt.Errorf("invalid ProviderConsumerEpochCu key: bad structure. key: %s", key) } - epoch, err = strconv.ParseUint(split[0], 10, 64) - if err != nil { - return 0, "", "", "", fmt.Errorf("invalid ProviderConsumerEpochCu key: bad epoch. key: %s", key) - } + epoch = DecodeBlock([]byte(split[0])) return epoch, split[1], split[2], split[3], nil } From 62bd9718683b7b2be5b9d242b8b9d5e6fa87e4b3 Mon Sep 17 00:00:00 2001 From: Yarom Swisa Date: Wed, 3 Apr 2024 12:49:54 +0300 Subject: [PATCH 34/35] fix iterators --- x/pairing/keeper/epoch_cu.go | 12 +++++------- x/pairing/keeper/fixation_test.go | 3 +++ .../keeper/msg_server_relay_payment_test.go | 18 +++++++++++------- 3 files changed, 19 insertions(+), 14 deletions(-) diff --git a/x/pairing/keeper/epoch_cu.go b/x/pairing/keeper/epoch_cu.go index 6c1eaca95a..8951a4d626 100644 --- a/x/pairing/keeper/epoch_cu.go +++ b/x/pairing/keeper/epoch_cu.go @@ -1,8 +1,6 @@ package keeper import ( - "strconv" - "github.com/cosmos/cosmos-sdk/store/cachekv" "github.com/cosmos/cosmos-sdk/store/prefix" sdk "github.com/cosmos/cosmos-sdk/types" @@ -38,7 +36,7 @@ func (k Keeper) IsUniqueEpochSessionExists(ctx sdk.Context, epoch uint64, provid // RemoveAllUniqueEpochSession removes all the UniqueEpochSession objects from the store for a specific epoch func (k Keeper) RemoveAllUniqueEpochSession(ctx sdk.Context, epoch uint64) { store := prefix.NewStore(ctx.KVStore(k.storeKey), types.UniqueEpochSessionKeyPrefix()) - iterator := sdk.KVStorePrefixIterator(store, []byte(strconv.FormatUint(epoch, 10))) + iterator := sdk.KVStorePrefixIterator(store, types.EncodeBlock(epoch)) defer iterator.Close() for ; iterator.Valid(); iterator.Next() { store.Delete(iterator.Key()) @@ -49,7 +47,7 @@ func (k Keeper) RemoveAllUniqueEpochSession(ctx sdk.Context, epoch uint64) { func (k Keeper) GetAllUniqueEpochSessionForEpoch(ctx sdk.Context, epoch uint64) []string { store := prefix.NewStore(ctx.KVStore(k.storeKey), types.UniqueEpochSessionKeyPrefix()) - iterator := sdk.KVStorePrefixIterator(store, []byte(strconv.FormatUint(epoch, 10))) // Get an iterator with no prefix to iterate over all keys + iterator := sdk.KVStorePrefixIterator(store, types.EncodeBlock(epoch)) // Get an iterator with no prefix to iterate over all keys defer iterator.Close() var keys []string @@ -107,7 +105,7 @@ func (k Keeper) GetProviderEpochCu(ctx sdk.Context, epoch uint64, provider strin // RemoveProviderEpochCu removes a ProviderEpochCu from the store func (k Keeper) RemoveAllProviderEpochCu(ctx sdk.Context, epoch uint64) { store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderEpochCuKeyPrefix()) - iterator := sdk.KVStorePrefixIterator(store, []byte(strconv.FormatUint(epoch, 10))) + iterator := sdk.KVStorePrefixIterator(store, types.EncodeBlock(epoch)) defer iterator.Close() for ; iterator.Valid(); iterator.Next() { store.Delete(iterator.Key()) @@ -163,7 +161,7 @@ func (k Keeper) GetProviderEpochComplainerCu(ctx sdk.Context, epoch uint64, prov // RemoveProviderEpochComplainerCu removes a ProviderEpochCu from the store func (k Keeper) RemoveAllProviderEpochComplainerCu(ctx sdk.Context, epoch uint64) { store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderEpochComplainerCuKeyPrefix()) - iterator := sdk.KVStorePrefixIterator(store, []byte(strconv.FormatUint(epoch, 10))) + iterator := sdk.KVStorePrefixIterator(store, types.EncodeBlock(epoch)) defer iterator.Close() for ; iterator.Valid(); iterator.Next() { store.Delete(iterator.Key()) @@ -226,7 +224,7 @@ func (k Keeper) RemoveProviderConsumerEpochCu(ctx sdk.Context, epoch uint64, pro func (k Keeper) GetAllProviderConsumerEpochCu(ctx sdk.Context, epoch uint64) []types.ProviderConsumerEpochCuGenesis { providerConsumerEpochCus := []types.ProviderConsumerEpochCuGenesis{} store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ProviderConsumerEpochCuKeyPrefix()) - iterator := sdk.KVStorePrefixIterator(store, []byte(strconv.FormatUint(epoch, 10))) + iterator := sdk.KVStorePrefixIterator(store, types.EncodeBlock(epoch)) defer iterator.Close() for ; iterator.Valid(); iterator.Next() { epoch, provider, project, chainID, err := types.DecodeProviderConsumerEpochCuKey(string(iterator.Key())) diff --git a/x/pairing/keeper/fixation_test.go b/x/pairing/keeper/fixation_test.go index fc11ef02a4..759522b26d 100644 --- a/x/pairing/keeper/fixation_test.go +++ b/x/pairing/keeper/fixation_test.go @@ -57,6 +57,9 @@ func TestEpochPaymentDeletionWithMemoryShortening(t *testing.T) { require.NoError(t, err) require.Len(t, res2.Info, 0) + list0 := ts.Keepers.Pairing.GetAllProviderEpochComplainerCuStore(ts.Ctx) + require.Len(t, list0, 0) + list1 := ts.Keepers.Pairing.GetAllUniqueEpochSessionStore(ts.Ctx) require.Len(t, list1, 0) diff --git a/x/pairing/keeper/msg_server_relay_payment_test.go b/x/pairing/keeper/msg_server_relay_payment_test.go index df547f5e6b..906bdf533d 100644 --- a/x/pairing/keeper/msg_server_relay_payment_test.go +++ b/x/pairing/keeper/msg_server_relay_payment_test.go @@ -447,13 +447,15 @@ func TestRelayPaymentQoS(t *testing.T) { func TestEpochPaymentDeletion(t *testing.T) { ts := newTester(t) - ts.setupForPayments(1, 1, 0) // 1 provider, 1 client, default providers-to-pair + ts.setupForPayments(2, 1, 0) // 1 provider, 1 client, default providers-to-pair client1Acct, _ := ts.GetAccount(common.CONSUMER, 0) providerAcct, providerAddr := ts.GetAccount(common.PROVIDER, 0) + _, unresponsiveprovider := ts.GetAccount(common.PROVIDER, 1) cuSum := ts.spec.ApiCollections[0].Apis[0].ComputeUnits * 10 relaySession := ts.newRelaySession(providerAddr, 0, cuSum, ts.BlockHeight(), 0) + relaySession.UnresponsiveProviders = []*types.ReportedProvider{{Address: unresponsiveprovider, Disconnections: 5, Errors: 2}} sig, err := sigs.Sign(client1Acct.SK, *relaySession) relaySession.Sig = sig require.NoError(t, err) @@ -467,15 +469,17 @@ func TestEpochPaymentDeletion(t *testing.T) { ts.AdvanceEpochs(ts.EpochsToSave() + 1) - epoch := ts.EpochStart(ts.BlockHeight()) - listA := ts.Keepers.Pairing.GetAllUniqueEpochSessionForEpoch(ts.Ctx, epoch) + listA := ts.Keepers.Pairing.GetAllUniqueEpochSessionStore(ts.Ctx) require.Len(t, listA, 0) - _, found := ts.Keepers.Pairing.GetProviderEpochCu(ts.Ctx, epoch, providerAddr, ts.spec.Index) - require.False(t, found) + list0 := ts.Keepers.Pairing.GetAllProviderEpochCuStore(ts.Ctx) + require.Len(t, list0, 0) + + list1 := ts.Keepers.Pairing.GetAllProviderEpochComplainerCuStore(ts.Ctx) + require.Len(t, list1, 0) - listB := ts.Keepers.Pairing.GetAllProviderConsumerEpochCu(ts.Ctx, epoch) - require.Len(t, listB, 0) + list2 := ts.Keepers.Pairing.GetAllProviderConsumerEpochCuStore(ts.Ctx) + require.Len(t, list2, 0) } // Test that after the consumer uses some CU it's updated in its project and subscription From c5127a4e7b9181980b13b96dc17235dfe52328ec Mon Sep 17 00:00:00 2001 From: Yarom Swisa Date: Wed, 3 Apr 2024 12:56:14 +0300 Subject: [PATCH 35/35] validate genesis --- x/pairing/types/genesis.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/x/pairing/types/genesis.go b/x/pairing/types/genesis.go index 4d4d11599c..224077aabd 100644 --- a/x/pairing/types/genesis.go +++ b/x/pairing/types/genesis.go @@ -39,7 +39,6 @@ func (gs GenesisState) Validate() error { } // Check for duplicated index in ProviderEpochCu providerEpochCusIndexMap := make(map[string]struct{}) - for _, elem := range gs.ProviderEpochCus { index := string(ProviderEpochCuKey(elem.Epoch, elem.Provider, elem.ChainId)) if _, ok := providerEpochCusIndexMap[index]; ok { @@ -47,6 +46,17 @@ func (gs GenesisState) Validate() error { } providerEpochCusIndexMap[index] = struct{}{} } + + // Check for duplicated index in ProviderEpochCu + providerEpochComplainerCusIndexMap := make(map[string]struct{}) + for _, elem := range gs.ProviderEpochComplainedCus { + index := string(ProviderEpochCuKey(elem.Epoch, elem.Provider, elem.ChainId)) + if _, ok := providerEpochComplainerCusIndexMap[index]; ok { + return fmt.Errorf("duplicated index for ProviderEpochCu") + } + providerEpochComplainerCusIndexMap[index] = struct{}{} + } + // Check for duplicated index in ProviderConsumerEpochCu providerConsumerEpochCuIndexMap := make(map[string]struct{})