diff --git a/cmd/run_xlayer.go b/cmd/run_xlayer.go index 6d61a6b5ba..a2d24960b6 100644 --- a/cmd/run_xlayer.go +++ b/cmd/run_xlayer.go @@ -136,10 +136,12 @@ func newDataAvailability(c config.Config, st *state.State, etherman *etherman.Cl } log.Infof("from pk %s", crypto.PubkeyToAddress(pk.PublicKey)) } - daBackend, err = nubit.NewNubitDABackend(&c.DataAvailability, pk) + + daBackend, err = nubit.NewGeneralDA(&c.DataAvailability) if err != nil { return nil, err } + log.Info("generalDA is constructed successfully") default: return nil, fmt.Errorf("unexpected / unsupported DA protocol: %s", daProtocolName) } diff --git a/config/default.go b/config/default.go index 85c649c948..8181c476af 100644 --- a/config/default.go +++ b/config/default.go @@ -246,11 +246,7 @@ AggLayerURL = "" SequencerPrivateKey = {} [DataAvailability] -NubitRpcURL = "http://127.0.0.1:26658" -NubitAuthKey = "" -NubitNamespace = "xlayer" -NubitGetProofMaxRetry = "10" -NubitGetProofWaitPeriod = "5s" +NubitRpcURL = "http://127.0.0.1:9876" [L2GasPriceSuggester] Type = "follower" diff --git a/dataavailability/config.go b/dataavailability/config.go index b0f6a0c85f..eda05ad7b6 100644 --- a/dataavailability/config.go +++ b/dataavailability/config.go @@ -7,5 +7,5 @@ const ( // DataAvailabilityCommittee is the DAC protocol backend DataAvailabilityCommittee DABackendType = "DataAvailabilityCommittee" // DataAvailabilityNubitDA is the NubitDA protocol backend - DataAvailabilityNubitDA DABackendType = "NubitDA" + DataAvailabilityNubitDA DABackendType = "Nubit" ) diff --git a/dataavailability/nubit/abi.go b/dataavailability/nubit/abi.go deleted file mode 100644 index e0e6f0db61..0000000000 --- a/dataavailability/nubit/abi.go +++ /dev/null @@ -1,28 +0,0 @@ -package nubit - -const blobDataABI = `[ - { - "type": "function", - "name": "BlobData", - "inputs": [ - { - "name": "blobData", - "type": "tuple", - "internalType": "struct NubitDAVerifier.BlobData", - "components": [ - { - "name": "blobID", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "signature", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "stateMutability": "pure" - } -]` diff --git a/dataavailability/nubit/backend.go b/dataavailability/nubit/backend.go deleted file mode 100644 index 56561a1a8c..0000000000 --- a/dataavailability/nubit/backend.go +++ /dev/null @@ -1,142 +0,0 @@ -package nubit - -import ( - "context" - "crypto/ecdsa" - "encoding/hex" - "strings" - "time" - - daTypes "github.com/0xPolygon/cdk-data-availability/types" - "github.com/0xPolygonHermez/zkevm-node/log" - "github.com/ethereum/go-ethereum/common" - "github.com/rollkit/go-da" - "github.com/rollkit/go-da/proxy" -) - -// NubitDABackend implements the DA integration with Nubit DA layer -type NubitDABackend struct { - client da.DA - config *Config - namespace da.Namespace - privKey *ecdsa.PrivateKey - commitTime time.Time -} - -// NewNubitDABackend is the factory method to create a new instance of NubitDABackend -func NewNubitDABackend( - cfg *Config, - privKey *ecdsa.PrivateKey, -) (*NubitDABackend, error) { - log.Infof("NubitDABackend config: %#v", cfg) - cn, err := proxy.NewClient(cfg.NubitRpcURL, cfg.NubitAuthKey) - if err != nil { - return nil, err - } - - hexStr := hex.EncodeToString([]byte(cfg.NubitNamespace)) - name, err := hex.DecodeString(strings.Repeat("0", NubitNamespaceBytesLength-len(hexStr)) + hexStr) - if err != nil { - log.Errorf("error decoding NubitDA namespace config: %+v", err) - return nil, err - } - if err != nil { - return nil, err - } - log.Infof("NubitDABackend namespace: %s", string(name)) - - return &NubitDABackend{ - config: cfg, - privKey: privKey, - namespace: name, - client: cn, - commitTime: time.Now(), - }, nil -} - -// Init initializes the NubitDA backend -func (backend *NubitDABackend) Init() error { - return nil -} - -// PostSequence sends the sequence data to the data availability backend, and returns the dataAvailabilityMessage -// as expected by the contract -func (backend *NubitDABackend) PostSequence(ctx context.Context, batchesData [][]byte) ([]byte, error) { - // Check commit time interval validation - lastCommitTime := time.Since(backend.commitTime) - if lastCommitTime < NubitMinCommitTime { - time.Sleep(NubitMinCommitTime - lastCommitTime) - } - - // Encode NubitDA blob data - data := EncodeSequence(batchesData) - ids, err := backend.client.Submit(ctx, [][]byte{data}, -1, backend.namespace) - // Ensure only a single blob ID returned - if err != nil || len(ids) != 1 { - log.Errorf("Submit batch data with NubitDA client failed: %s", err) - return nil, err - } - blobID := ids[0] - backend.commitTime = time.Now() - log.Infof("Data submitted to Nubit DA: %d bytes against namespace %v sent with id %#x", len(data), backend.namespace, blobID) - - // Get proof of batches data on NubitDA layer - tries := uint64(0) - posted := false - for tries < backend.config.NubitGetProofMaxRetry { - dataProof, err := backend.client.GetProofs(ctx, [][]byte{blobID}, backend.namespace) - if err != nil { - log.Infof("Proof not available: %s", err) - } - if len(dataProof) == 1 { - // TODO: add data proof to DA message - log.Infof("Data proof from Nubit DA received: %+v", dataProof) - posted = true - break - } - - // Retries - tries += 1 - time.Sleep(backend.config.NubitGetProofWaitPeriod.Duration) - } - if !posted { - log.Errorf("Get blob proof on Nubit DA failed: %s", err) - return nil, err - } - - // Get abi-encoded data availability message - sequence := daTypes.Sequence{} - for _, seq := range batchesData { - sequence = append(sequence, seq) - } - signedSequence, err := sequence.Sign(backend.privKey) - if err != nil { - log.Errorf("Failed to sign sequence with pk: %v", err) - return nil, err - } - signature := append(sequence.HashToSign(), signedSequence.Signature...) - blobData := BlobData{ - BlobID: blobID, - Signature: signature, - } - - return TryEncodeToDataAvailabilityMessage(blobData) -} - -// GetSequence gets the sequence data from NubitDA layer -func (backend *NubitDABackend) GetSequence(ctx context.Context, batchHashes []common.Hash, dataAvailabilityMessage []byte) ([][]byte, error) { - blobData, err := TryDecodeFromDataAvailabilityMessage(dataAvailabilityMessage) - if err != nil { - log.Error("Error decoding from da message: ", err) - return nil, err - } - - reply, err := backend.client.Get(ctx, [][]byte{blobData.BlobID}, backend.namespace) - if err != nil || len(reply) != 1 { - log.Error("Error retrieving blob from NubitDA client: ", err) - return nil, err - } - - batchesData, _ := DecodeSequence(reply[0]) - return batchesData, nil -} diff --git a/dataavailability/nubit/backend_test.go b/dataavailability/nubit/backend_test.go deleted file mode 100644 index 2d11921ae5..0000000000 --- a/dataavailability/nubit/backend_test.go +++ /dev/null @@ -1,141 +0,0 @@ -package nubit - -import ( - "context" - "crypto/ecdsa" - "crypto/elliptic" - crand "crypto/rand" - "encoding/hex" - "fmt" - "math/rand" - "testing" - "time" - - "github.com/0xPolygonHermez/zkevm-node/config/types" - "github.com/0xPolygonHermez/zkevm-node/log" - "github.com/ethereum/go-ethereum/common" - "github.com/rollkit/go-da/proxy" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" -) - -func TestOffchainPipeline(t *testing.T) { - cfg := Config{ - NubitRpcURL: "http://127.0.0.1:26658", - NubitAuthKey: "", - NubitNamespace: "xlayer", - NubitGetProofMaxRetry: 10, - NubitGetProofWaitPeriod: types.NewDuration(5 * time.Second), - } - pk, err := ecdsa.GenerateKey(elliptic.P256(), crand.Reader) - require.NoError(t, err) - - backend, err := NewNubitDABackend(&cfg, pk) - require.NoError(t, err) - - // Generate mock string batch data - stringData := "hihihihihihihihihihihihihihihihihihi" - data := []byte(stringData) - - // Generate mock string sequence - mockBatches := [][]byte{} - for i := 0; i < 1; i++ { - mockBatches = append(mockBatches, data) - } - - msg, err := backend.PostSequence(context.Background(), mockBatches) - fmt.Println("DA msg: ", msg) - require.NoError(t, err) - time.Sleep(600 * time.Millisecond) - - blobData, err := TryDecodeFromDataAvailabilityMessage(msg) - require.NoError(t, err) - require.NotNil(t, blobData.BlobID) - require.NotNil(t, blobData.Signature) - require.NotZero(t, len(blobData.BlobID)) - require.NotZero(t, len(blobData.Signature)) - fmt.Println("Decoding DA msg successful") - - // Retrieve sequence with provider - returnData, err := backend.GetSequence(context.Background(), []common.Hash{}, msg) - - // Validate retrieved data - require.NoError(t, err) - require.Equal(t, 10, len(returnData)) - for _, batchData := range returnData { - assert.Equal(t, stringData, string(batchData)) - } -} - -func TestOffchainPipelineWithRandomData(t *testing.T) { - cfg := Config{ - NubitRpcURL: "http://127.0.0.1:26658", - NubitAuthKey: "", - NubitNamespace: "xlayer", - NubitGetProofMaxRetry: 10, - NubitGetProofWaitPeriod: types.NewDuration(5 * time.Second), - } - pk, err := ecdsa.GenerateKey(elliptic.P256(), crand.Reader) - require.NoError(t, err) - - backend, err := NewNubitDABackend(&cfg, pk) - require.NoError(t, err) - - // Define Different DataSizes - dataSize := []int{100000, 200000, 1000, 80, 30000} - - // Disperse Blob with different DataSizes - rand.Seed(time.Now().UnixNano()) //nolint:gosec,staticcheck - data := make([]byte, dataSize[rand.Intn(len(dataSize))]) //nolint:gosec,staticcheck - _, err = rand.Read(data) //nolint:gosec,staticcheck - assert.NoError(t, err) - - // Generate mock string sequence - mockBatches := [][]byte{} - for i := 0; i < 10; i++ { - mockBatches = append(mockBatches, data) - } - - msg, err := backend.PostSequence(context.Background(), mockBatches) - fmt.Println("DA msg: ", msg) - require.NoError(t, err) - time.Sleep(600 * time.Millisecond) - - blobData, err := TryDecodeFromDataAvailabilityMessage(msg) - require.NoError(t, err) - require.NotNil(t, blobData.BlobID) - require.NotNil(t, blobData.Signature) - require.NotZero(t, len(blobData.BlobID)) - require.NotZero(t, len(blobData.Signature)) - fmt.Println("Decoding DA msg successful") - - // Retrieve sequence with provider - returnData, err := backend.GetSequence(context.Background(), []common.Hash{}, msg) - - // Validate retrieved data - require.NoError(t, err) - require.Equal(t, 10, len(returnData)) - for idx, batchData := range returnData { - assert.Equal(t, mockBatches[idx], batchData) - } -} - -func NewMockNubitDABackend(url string, authKey string, pk *ecdsa.PrivateKey) (*NubitDABackend, error) { - cn, err := proxy.NewClient(url, authKey) - if err != nil || cn == nil { - return nil, err - } - - name, err := hex.DecodeString("xlayer") - if err != nil { - return nil, err - } - - log.Infof("Nubit Namespace: %s ", string(name)) - return &NubitDABackend{ - namespace: name, - client: cn, - privKey: pk, - commitTime: time.Now(), - }, nil -} diff --git a/dataavailability/nubit/blob.go b/dataavailability/nubit/blob.go deleted file mode 100644 index 19a74ac19d..0000000000 --- a/dataavailability/nubit/blob.go +++ /dev/null @@ -1,103 +0,0 @@ -package nubit - -import ( - "bytes" - "errors" - "fmt" - "reflect" - - "github.com/ethereum/go-ethereum/accounts/abi" -) - -// ErrConvertFromABIInterface is used when there is a decoding error -var ErrConvertFromABIInterface = errors.New("conversion from abi interface error") - -// BlobData is the NubitDA blob data -type BlobData struct { - BlobID []byte `abi:"blobID"` - Signature []byte `abi:"signature"` -} - -// TryEncodeToDataAvailabilityMessage is a fallible encoding method to encode -// Nubit blob data into data availability message represented as byte array. -func TryEncodeToDataAvailabilityMessage(blobData BlobData) ([]byte, error) { - parsedABI, err := abi.JSON(bytes.NewReader([]byte(blobDataABI))) - if err != nil { - return nil, err - } - - // Encode the data - method, exist := parsedABI.Methods["BlobData"] - if !exist { - return nil, fmt.Errorf("abi error, BlobData method not found") - } - - encoded, err := method.Inputs.Pack(blobData) - if err != nil { - return nil, err - } - - return encoded, nil -} - -// TryDecodeFromDataAvailabilityMessage is a fallible decoding method to -// decode data availability message into Nubit blob data. -func TryDecodeFromDataAvailabilityMessage(msg []byte) (BlobData, error) { - // Parse the ABI - parsedABI, err := abi.JSON(bytes.NewReader([]byte(blobDataABI))) - if err != nil { - return BlobData{}, err - } - - // Decode the data - method, exist := parsedABI.Methods["BlobData"] - if !exist { - return BlobData{}, fmt.Errorf("abi error, BlobData method not found") - } - - unpackedMap := make(map[string]interface{}) - err = method.Inputs.UnpackIntoMap(unpackedMap, msg) - if err != nil { - return BlobData{}, err - } - unpacked, ok := unpackedMap["blobData"] - if !ok { - return BlobData{}, fmt.Errorf("abi error, failed to unpack to BlobData") - } - - val := reflect.ValueOf(unpacked) - typ := reflect.TypeOf(unpacked) - - blobData := BlobData{} - - for i := 0; i < typ.NumField(); i++ { - field := typ.Field(i) - value := val.Field(i) - - switch field.Name { - case "BlobID": - blobData.BlobID, err = convertBlobID(value) - if err != nil { - return BlobData{}, ErrConvertFromABIInterface - } - case "Signature": - blobData.Signature, err = convertSignature(value) - if err != nil { - return BlobData{}, ErrConvertFromABIInterface - } - default: - return BlobData{}, ErrConvertFromABIInterface - } - } - - return blobData, nil -} - -// -------- Helper fallible conversion methods -------- -func convertBlobID(val reflect.Value) ([]byte, error) { - return val.Interface().([]byte), nil -} - -func convertSignature(val reflect.Value) ([]byte, error) { - return val.Interface().([]byte), nil -} diff --git a/dataavailability/nubit/blob_test.go b/dataavailability/nubit/blob_test.go deleted file mode 100644 index 24f6898d70..0000000000 --- a/dataavailability/nubit/blob_test.go +++ /dev/null @@ -1,35 +0,0 @@ -package nubit - -import ( - "testing" - - "github.com/stretchr/testify/assert" -) - -func TestEncodeBlobData(t *testing.T) { - data := BlobData{ - BlobID: []byte{10}, - Signature: []byte{0x01, 0x02, 0x03, 0x04, 0x05, 0x06}, - } - msg, err := TryEncodeToDataAvailabilityMessage(data) - assert.NoError(t, err) - assert.NotNil(t, msg) - assert.NotEmpty(t, msg) -} - -func TestEncodeDecodeBlobData(t *testing.T) { - data := BlobData{ - BlobID: []byte{10}, - Signature: []byte{0x01, 0x02, 0x03, 0x04, 0x05, 0x06}, - } - msg, err := TryEncodeToDataAvailabilityMessage(data) - assert.NoError(t, err) - assert.NotNil(t, msg) - assert.NotEmpty(t, msg) - - // Check blob ID - decoded_data, err := TryDecodeFromDataAvailabilityMessage(msg) - assert.NoError(t, err) - assert.Equal(t, data.BlobID, decoded_data.BlobID) - assert.Equal(t, data.Signature, decoded_data.Signature) -} diff --git a/dataavailability/nubit/config.go b/dataavailability/nubit/config.go index 81d5dde04a..4e01e04dbf 100644 --- a/dataavailability/nubit/config.go +++ b/dataavailability/nubit/config.go @@ -2,8 +2,6 @@ package nubit import ( "time" - - "github.com/0xPolygonHermez/zkevm-node/config/types" ) // NubitNamespaceBytesLength is the fixed-size bytes array. @@ -14,9 +12,10 @@ const NubitMinCommitTime time.Duration = 12 * time.Second // Config is the NubitDA backend configurations type Config struct { - NubitRpcURL string `mapstructure:"NubitRpcURL"` - NubitAuthKey string `mapstructure:"NubitAuthKey"` - NubitNamespace string `mapstructure:"NubitNamespace"` - NubitGetProofMaxRetry uint64 `mapstructure:"NubitGetProofMaxRetry"` - NubitGetProofWaitPeriod types.Duration `mapstructure:"NubitGetProofWaitPeriod"` + NubitRpcURL string `mapstructure:"NubitRpcURL"` + // NubitValidatorURL string `mapstructure:"NubitValidatorURL"` + // NubitAuthKey string `mapstructure:"NubitAuthKey"` + // NubitNamespace string `mapstructure:"NubitNamespace"` + // NubitGetProofMaxRetry uint64 `mapstructure:"NubitGetProofMaxRetry"` + // NubitGetProofWaitPeriod types.Duration `mapstructure:"NubitGetProofWaitPeriod"` } diff --git a/dataavailability/nubit/general.go b/dataavailability/nubit/general.go new file mode 100644 index 0000000000..a9cf935acb --- /dev/null +++ b/dataavailability/nubit/general.go @@ -0,0 +1,80 @@ +package nubit + +import ( + "context" + "fmt" + "sync/atomic" + "time" + + "github.com/0xPolygonHermez/zkevm-node/dataavailability/nubit/proto" + "github.com/0xPolygonHermez/zkevm-node/log" + "github.com/ethereum/go-ethereum/common" + "google.golang.org/grpc" + "google.golang.org/grpc/credentials/insecure" +) + +type GeneralDA struct { + client proto.GeneralDAClient + commitTime int64 +} + +func NewGeneralDA(cfg *Config) (*GeneralDA, error) { + conn, err := grpc.NewClient(cfg.NubitRpcURL, grpc.WithTransportCredentials(insecure.NewCredentials())) + if err != nil { + return nil, err + } + + log.Debugf(" generalDA connected to %s", cfg.NubitRpcURL) + + da := proto.NewGeneralDAClient(conn) + + return &GeneralDA{ + client: da, + }, nil +} + +func (s *GeneralDA) Init() error { + return nil +} + +func (s *GeneralDA) PostSequence(ctx context.Context, batchesData [][]byte) ([]byte, error) { + log.Debugf("GeneralDA PostSequence: %d batches", len(batchesData)) + old := atomic.LoadInt64(&s.commitTime) + lastCommitTime := time.Since(time.Unix(old, 0)) + if lastCommitTime < NubitMinCommitTime { + time.Sleep(NubitMinCommitTime - lastCommitTime) + } + + // Encode NubitDA blob data + data := EncodeSequence(batchesData) + + if atomic.CompareAndSwapInt64(&s.commitTime, old, time.Now().Unix()) { + reply, err := s.client.Store(ctx, &proto.StoreRequest{Data: data}) + if nil != err { + return nil, err + } + return reply.Receipt, nil + } + return nil, fmt.Errorf("another batch data is being submitted") +} + +func (s *GeneralDA) GetSequence(ctx context.Context, batchHashes []common.Hash, dataAvailabilityMessage []byte) ([][]byte, error) { + + result, err := s.client.Read(ctx, &proto.Receipt{Data: dataAvailabilityMessage}) + if err != nil { + return nil, err + } + + batchData, hashs := DecodeSequence(result.Result) + if len(hashs) != len(batchHashes) { + return nil, fmt.Errorf("invalid L2 batch data retrieval arguments, %d != %d", len(hashs), len(batchHashes)) + } + + for i, bh := range batchHashes { + if bh != hashs[i] { + return nil, fmt.Errorf("invalid L2 batch data hash retrieval arguments, %s != %s", bh.String(), hashs[i].String()) + } + } + + return batchData, nil +} diff --git a/dataavailability/nubit/proto/nubit.pb.go b/dataavailability/nubit/proto/nubit.pb.go new file mode 100644 index 0000000000..3682a6a6d6 --- /dev/null +++ b/dataavailability/nubit/proto/nubit.pb.go @@ -0,0 +1,543 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.34.2 +// protoc v3.20.1 +// source: proto/nubit.proto + +package proto + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// The request message containing the user's name. +type StoreRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` +} + +func (x *StoreRequest) Reset() { + *x = StoreRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_nubit_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StoreRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StoreRequest) ProtoMessage() {} + +func (x *StoreRequest) ProtoReflect() protoreflect.Message { + mi := &file_proto_nubit_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StoreRequest.ProtoReflect.Descriptor instead. +func (*StoreRequest) Descriptor() ([]byte, []int) { + return file_proto_nubit_proto_rawDescGZIP(), []int{0} +} + +func (x *StoreRequest) GetData() []byte { + if x != nil { + return x.Data + } + return nil +} + +type StoreReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Receipt []byte `protobuf:"bytes,1,opt,name=receipt,proto3" json:"receipt,omitempty"` +} + +func (x *StoreReply) Reset() { + *x = StoreReply{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_nubit_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StoreReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StoreReply) ProtoMessage() {} + +func (x *StoreReply) ProtoReflect() protoreflect.Message { + mi := &file_proto_nubit_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StoreReply.ProtoReflect.Descriptor instead. +func (*StoreReply) Descriptor() ([]byte, []int) { + return file_proto_nubit_proto_rawDescGZIP(), []int{1} +} + +func (x *StoreReply) GetReceipt() []byte { + if x != nil { + return x.Receipt + } + return nil +} + +type Receipt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` +} + +func (x *Receipt) Reset() { + *x = Receipt{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_nubit_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Receipt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Receipt) ProtoMessage() {} + +func (x *Receipt) ProtoReflect() protoreflect.Message { + mi := &file_proto_nubit_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Receipt.ProtoReflect.Descriptor instead. +func (*Receipt) Descriptor() ([]byte, []int) { + return file_proto_nubit_proto_rawDescGZIP(), []int{2} +} + +func (x *Receipt) GetData() []byte { + if x != nil { + return x.Data + } + return nil +} + +// The response message containing the greetings +type ReadReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Result []byte `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"` +} + +func (x *ReadReply) Reset() { + *x = ReadReply{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_nubit_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReadReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReadReply) ProtoMessage() {} + +func (x *ReadReply) ProtoReflect() protoreflect.Message { + mi := &file_proto_nubit_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReadReply.ProtoReflect.Descriptor instead. +func (*ReadReply) Descriptor() ([]byte, []int) { + return file_proto_nubit_proto_rawDescGZIP(), []int{3} +} + +func (x *ReadReply) GetResult() []byte { + if x != nil { + return x.Result + } + return nil +} + +type ProofReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Proof []byte `protobuf:"bytes,1,opt,name=proof,proto3" json:"proof,omitempty"` +} + +func (x *ProofReply) Reset() { + *x = ProofReply{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_nubit_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProofReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProofReply) ProtoMessage() {} + +func (x *ProofReply) ProtoReflect() protoreflect.Message { + mi := &file_proto_nubit_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProofReply.ProtoReflect.Descriptor instead. +func (*ProofReply) Descriptor() ([]byte, []int) { + return file_proto_nubit_proto_rawDescGZIP(), []int{4} +} + +func (x *ProofReply) GetProof() []byte { + if x != nil { + return x.Proof + } + return nil +} + +type VerifyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Proof []byte `protobuf:"bytes,1,opt,name=proof,proto3" json:"proof,omitempty"` +} + +func (x *VerifyRequest) Reset() { + *x = VerifyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_nubit_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VerifyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VerifyRequest) ProtoMessage() {} + +func (x *VerifyRequest) ProtoReflect() protoreflect.Message { + mi := &file_proto_nubit_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VerifyRequest.ProtoReflect.Descriptor instead. +func (*VerifyRequest) Descriptor() ([]byte, []int) { + return file_proto_nubit_proto_rawDescGZIP(), []int{5} +} + +func (x *VerifyRequest) GetProof() []byte { + if x != nil { + return x.Proof + } + return nil +} + +type VerifyReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Is bool `protobuf:"varint,1,opt,name=is,proto3" json:"is,omitempty"` +} + +func (x *VerifyReply) Reset() { + *x = VerifyReply{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_nubit_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VerifyReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VerifyReply) ProtoMessage() {} + +func (x *VerifyReply) ProtoReflect() protoreflect.Message { + mi := &file_proto_nubit_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VerifyReply.ProtoReflect.Descriptor instead. +func (*VerifyReply) Descriptor() ([]byte, []int) { + return file_proto_nubit_proto_rawDescGZIP(), []int{6} +} + +func (x *VerifyReply) GetIs() bool { + if x != nil { + return x.Is + } + return false +} + +var File_proto_nubit_proto protoreflect.FileDescriptor + +var file_proto_nubit_proto_rawDesc = []byte{ + 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6e, 0x75, 0x62, 0x69, 0x74, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x12, 0x09, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x64, 0x61, 0x22, 0x22, + 0x0a, 0x0c, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, + 0x74, 0x61, 0x22, 0x26, 0x0a, 0x0a, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, + 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x07, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x22, 0x1d, 0x0a, 0x07, 0x52, 0x65, + 0x63, 0x65, 0x69, 0x70, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x23, 0x0a, 0x09, 0x52, 0x65, 0x61, + 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x22, + 0x0a, 0x0a, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x70, 0x72, 0x6f, + 0x6f, 0x66, 0x22, 0x25, 0x0a, 0x0d, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x05, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x22, 0x1d, 0x0a, 0x0b, 0x56, 0x65, 0x72, + 0x69, 0x66, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x69, 0x73, 0x32, 0xf1, 0x01, 0x0a, 0x09, 0x47, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x6c, 0x44, 0x41, 0x12, 0x39, 0x0a, 0x05, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, + 0x17, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x64, 0x61, 0x2e, 0x53, 0x74, 0x6f, 0x72, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x6c, 0x64, 0x61, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, + 0x00, 0x12, 0x32, 0x0a, 0x04, 0x52, 0x65, 0x61, 0x64, 0x12, 0x12, 0x2e, 0x67, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x6c, 0x64, 0x61, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x1a, 0x14, 0x2e, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x64, 0x61, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x37, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6f, + 0x66, 0x12, 0x12, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x64, 0x61, 0x2e, 0x52, 0x65, + 0x63, 0x65, 0x69, 0x70, 0x74, 0x1a, 0x15, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x64, + 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x3c, + 0x0a, 0x06, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x12, 0x18, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x6c, 0x64, 0x61, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x64, 0x61, 0x2e, 0x56, + 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x42, 0x2c, 0x5a, 0x2a, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x69, 0x65, 0x6d, 0x61, + 0x4c, 0x61, 0x62, 0x73, 0x2f, 0x6e, 0x75, 0x70, 0x6f, 0x72, 0x74, 0x2d, 0x6f, 0x66, 0x66, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_proto_nubit_proto_rawDescOnce sync.Once + file_proto_nubit_proto_rawDescData = file_proto_nubit_proto_rawDesc +) + +func file_proto_nubit_proto_rawDescGZIP() []byte { + file_proto_nubit_proto_rawDescOnce.Do(func() { + file_proto_nubit_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_nubit_proto_rawDescData) + }) + return file_proto_nubit_proto_rawDescData +} + +var file_proto_nubit_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_proto_nubit_proto_goTypes = []any{ + (*StoreRequest)(nil), // 0: generalda.StoreRequest + (*StoreReply)(nil), // 1: generalda.StoreReply + (*Receipt)(nil), // 2: generalda.Receipt + (*ReadReply)(nil), // 3: generalda.ReadReply + (*ProofReply)(nil), // 4: generalda.ProofReply + (*VerifyRequest)(nil), // 5: generalda.VerifyRequest + (*VerifyReply)(nil), // 6: generalda.VerifyReply +} +var file_proto_nubit_proto_depIdxs = []int32{ + 0, // 0: generalda.GeneralDA.Store:input_type -> generalda.StoreRequest + 2, // 1: generalda.GeneralDA.Read:input_type -> generalda.Receipt + 2, // 2: generalda.GeneralDA.GetProof:input_type -> generalda.Receipt + 5, // 3: generalda.GeneralDA.Verify:input_type -> generalda.VerifyRequest + 1, // 4: generalda.GeneralDA.Store:output_type -> generalda.StoreReply + 3, // 5: generalda.GeneralDA.Read:output_type -> generalda.ReadReply + 4, // 6: generalda.GeneralDA.GetProof:output_type -> generalda.ProofReply + 6, // 7: generalda.GeneralDA.Verify:output_type -> generalda.VerifyReply + 4, // [4:8] is the sub-list for method output_type + 0, // [0:4] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_proto_nubit_proto_init() } +func file_proto_nubit_proto_init() { + if File_proto_nubit_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_proto_nubit_proto_msgTypes[0].Exporter = func(v any, i int) any { + switch v := v.(*StoreRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_nubit_proto_msgTypes[1].Exporter = func(v any, i int) any { + switch v := v.(*StoreReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_nubit_proto_msgTypes[2].Exporter = func(v any, i int) any { + switch v := v.(*Receipt); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_nubit_proto_msgTypes[3].Exporter = func(v any, i int) any { + switch v := v.(*ReadReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_nubit_proto_msgTypes[4].Exporter = func(v any, i int) any { + switch v := v.(*ProofReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_nubit_proto_msgTypes[5].Exporter = func(v any, i int) any { + switch v := v.(*VerifyRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_nubit_proto_msgTypes[6].Exporter = func(v any, i int) any { + switch v := v.(*VerifyReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_proto_nubit_proto_rawDesc, + NumEnums: 0, + NumMessages: 7, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_proto_nubit_proto_goTypes, + DependencyIndexes: file_proto_nubit_proto_depIdxs, + MessageInfos: file_proto_nubit_proto_msgTypes, + }.Build() + File_proto_nubit_proto = out.File + file_proto_nubit_proto_rawDesc = nil + file_proto_nubit_proto_goTypes = nil + file_proto_nubit_proto_depIdxs = nil +} diff --git a/dataavailability/nubit/proto/nubt_grpc.pb.go b/dataavailability/nubit/proto/nubt_grpc.pb.go new file mode 100644 index 0000000000..e7c6e0b5c3 --- /dev/null +++ b/dataavailability/nubit/proto/nubt_grpc.pb.go @@ -0,0 +1,239 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.5.1 +// - protoc v3.20.1 +// source: proto/nubit.proto + +package proto + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 + +const ( + GeneralDA_Store_FullMethodName = "/generalda.GeneralDA/Store" + GeneralDA_Read_FullMethodName = "/generalda.GeneralDA/Read" + GeneralDA_GetProof_FullMethodName = "/generalda.GeneralDA/GetProof" + GeneralDA_Verify_FullMethodName = "/generalda.GeneralDA/Verify" +) + +// GeneralDAClient is the client API for GeneralDA service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// The greeting service definition. +type GeneralDAClient interface { + Store(ctx context.Context, in *StoreRequest, opts ...grpc.CallOption) (*StoreReply, error) + Read(ctx context.Context, in *Receipt, opts ...grpc.CallOption) (*ReadReply, error) + GetProof(ctx context.Context, in *Receipt, opts ...grpc.CallOption) (*ProofReply, error) + Verify(ctx context.Context, in *VerifyRequest, opts ...grpc.CallOption) (*VerifyReply, error) +} + +type generalDAClient struct { + cc grpc.ClientConnInterface +} + +func NewGeneralDAClient(cc grpc.ClientConnInterface) GeneralDAClient { + return &generalDAClient{cc} +} + +func (c *generalDAClient) Store(ctx context.Context, in *StoreRequest, opts ...grpc.CallOption) (*StoreReply, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(StoreReply) + err := c.cc.Invoke(ctx, GeneralDA_Store_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *generalDAClient) Read(ctx context.Context, in *Receipt, opts ...grpc.CallOption) (*ReadReply, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ReadReply) + err := c.cc.Invoke(ctx, GeneralDA_Read_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *generalDAClient) GetProof(ctx context.Context, in *Receipt, opts ...grpc.CallOption) (*ProofReply, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ProofReply) + err := c.cc.Invoke(ctx, GeneralDA_GetProof_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *generalDAClient) Verify(ctx context.Context, in *VerifyRequest, opts ...grpc.CallOption) (*VerifyReply, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(VerifyReply) + err := c.cc.Invoke(ctx, GeneralDA_Verify_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +// GeneralDAServer is the server API for GeneralDA service. +// All implementations must embed UnimplementedGeneralDAServer +// for forward compatibility. +// +// The greeting service definition. +type GeneralDAServer interface { + Store(context.Context, *StoreRequest) (*StoreReply, error) + Read(context.Context, *Receipt) (*ReadReply, error) + GetProof(context.Context, *Receipt) (*ProofReply, error) + Verify(context.Context, *VerifyRequest) (*VerifyReply, error) + mustEmbedUnimplementedGeneralDAServer() +} + +// UnimplementedGeneralDAServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedGeneralDAServer struct{} + +func (UnimplementedGeneralDAServer) Store(context.Context, *StoreRequest) (*StoreReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method Store not implemented") +} +func (UnimplementedGeneralDAServer) Read(context.Context, *Receipt) (*ReadReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method Read not implemented") +} +func (UnimplementedGeneralDAServer) GetProof(context.Context, *Receipt) (*ProofReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetProof not implemented") +} +func (UnimplementedGeneralDAServer) Verify(context.Context, *VerifyRequest) (*VerifyReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method Verify not implemented") +} +func (UnimplementedGeneralDAServer) mustEmbedUnimplementedGeneralDAServer() {} +func (UnimplementedGeneralDAServer) testEmbeddedByValue() {} + +// UnsafeGeneralDAServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to GeneralDAServer will +// result in compilation errors. +type UnsafeGeneralDAServer interface { + mustEmbedUnimplementedGeneralDAServer() +} + +func RegisterGeneralDAServer(s grpc.ServiceRegistrar, srv GeneralDAServer) { + // If the following call pancis, it indicates UnimplementedGeneralDAServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } + s.RegisterService(&GeneralDA_ServiceDesc, srv) +} + +func _GeneralDA_Store_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(StoreRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GeneralDAServer).Store(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: GeneralDA_Store_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GeneralDAServer).Store(ctx, req.(*StoreRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GeneralDA_Read_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(Receipt) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GeneralDAServer).Read(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: GeneralDA_Read_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GeneralDAServer).Read(ctx, req.(*Receipt)) + } + return interceptor(ctx, in, info, handler) +} + +func _GeneralDA_GetProof_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(Receipt) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GeneralDAServer).GetProof(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: GeneralDA_GetProof_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GeneralDAServer).GetProof(ctx, req.(*Receipt)) + } + return interceptor(ctx, in, info, handler) +} + +func _GeneralDA_Verify_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(VerifyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GeneralDAServer).Verify(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: GeneralDA_Verify_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GeneralDAServer).Verify(ctx, req.(*VerifyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// GeneralDA_ServiceDesc is the grpc.ServiceDesc for GeneralDA service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var GeneralDA_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "generalda.GeneralDA", + HandlerType: (*GeneralDAServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Store", + Handler: _GeneralDA_Store_Handler, + }, + { + MethodName: "Read", + Handler: _GeneralDA_Read_Handler, + }, + { + MethodName: "GetProof", + Handler: _GeneralDA_GetProof_Handler, + }, + { + MethodName: "Verify", + Handler: _GeneralDA_Verify_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "proto/nubit.proto", +} diff --git a/docs/config-file/node-config-schema.json b/docs/config-file/node-config-schema.json index 2c5e37120e..4f865423a8 100644 --- a/docs/config-file/node-config-schema.json +++ b/docs/config-file/node-config-schema.json @@ -1825,28 +1825,7 @@ "properties": { "NubitRpcURL": { "type": "string", - "default": "http://127.0.0.1:26658" - }, - "NubitAuthKey": { - "type": "string", - "default": "" - }, - "NubitNamespace": { - "type": "string", - "default": "xlayer" - }, - "NubitGetProofMaxRetry": { - "type": "integer", - "default": 10 - }, - "NubitGetProofWaitPeriod": { - "type": "string", - "title": "Duration", - "default": "5s", - "examples": [ - "1m", - "300ms" - ] + "default": "http://127.0.0.1:9876" } }, "additionalProperties": false, diff --git a/etherman/etherman_xlayer.go b/etherman/etherman_xlayer.go index c04b5c5707..9d039cb613 100644 --- a/etherman/etherman_xlayer.go +++ b/etherman/etherman_xlayer.go @@ -1025,6 +1025,7 @@ func (etherMan *Client) sequenceBatchesXLayer(opts bind.TransactOpts, sequences log.Debugf("Batches to send: %+v", batches) log.Debug("l2CoinBase: ", l2Coinbase) log.Debug("Sequencer address: ", opts.From) + log.Debug("dataAvailabilityMessage: ", dataAvailabilityMessage) a, err2 := polygonzkevm.PolygonvalidiumXlayerMetaData.GetAbi() if err2 != nil { log.Error("error getting abi. Error: ", err2) diff --git a/go.mod b/go.mod index ccafa3e025..c739f779ac 100644 --- a/go.mod +++ b/go.mod @@ -12,7 +12,7 @@ require ( github.com/go-git/go-billy/v5 v5.5.0 github.com/go-git/go-git/v5 v5.11.0 github.com/gobuffalo/packr/v2 v2.8.3 - github.com/google/uuid v1.5.0 + github.com/google/uuid v1.6.0 github.com/habx/pg-commands v0.6.1 github.com/hermeznetwork/tracerr v0.3.2 github.com/iden3/go-iden3-crypto v0.0.15 @@ -29,17 +29,18 @@ require ( github.com/umbracle/ethgo v0.1.4-0.20230712173909-df37dddf16f0 github.com/urfave/cli/v2 v2.27.1 go.uber.org/zap v1.27.0 - golang.org/x/crypto v0.18.0 - golang.org/x/net v0.20.0 - golang.org/x/sync v0.6.0 - google.golang.org/grpc v1.60.1 - google.golang.org/protobuf v1.32.0 + golang.org/x/crypto v0.24.0 + golang.org/x/net v0.26.0 + golang.org/x/sync v0.8.0 + google.golang.org/grpc v1.66.1 + google.golang.org/protobuf v1.34.2 gopkg.in/yaml.v2 v2.4.0 gopkg.in/yaml.v3 v3.0.1 ) require ( dario.cat/mergo v1.0.0 // indirect + github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 // indirect github.com/DataDog/zstd v1.5.2 // indirect github.com/Microsoft/go-winio v0.6.1 // indirect github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 // indirect @@ -51,8 +52,8 @@ require ( github.com/bits-and-blooms/bitset v1.12.0 // indirect github.com/btcsuite/btcd/btcec/v2 v2.3.2 // indirect github.com/buger/jsonparser v1.1.1 // indirect - github.com/cespare/xxhash/v2 v2.2.0 // indirect - github.com/cloudflare/circl v1.3.3 // indirect + github.com/cespare/xxhash/v2 v2.3.0 // indirect + github.com/cloudflare/circl v1.3.7 // indirect github.com/cockroachdb/errors v1.9.1 // indirect github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b // indirect github.com/cockroachdb/pebble v0.0.0-20230928194634-aa077af62593 // indirect @@ -60,7 +61,7 @@ require ( github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect github.com/consensys/bavard v0.1.13 // indirect github.com/consensys/gnark-crypto v0.12.1 // indirect - github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect + github.com/cpuguy83/go-md2man/v2 v2.0.3 // indirect github.com/crate-crypto/go-ipa v0.0.0-20231025140028-3c0104f4b233 // indirect github.com/crate-crypto/go-kzg-4844 v0.7.0 // indirect github.com/cyphar/filepath-securejoin v0.2.4 // indirect @@ -68,9 +69,9 @@ require ( github.com/deckarep/golang-set/v2 v2.1.0 // indirect github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 // indirect github.com/dlclark/regexp2 v1.7.0 // indirect + github.com/docker/go-units v0.5.0 // indirect github.com/emirpasic/gods v1.18.1 // indirect github.com/ethereum/c-kzg-4844 v0.4.0 // indirect - github.com/filecoin-project/go-jsonrpc v0.3.1 // indirect github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff // indirect @@ -85,19 +86,19 @@ require ( github.com/gobuffalo/logger v1.0.7 // indirect github.com/gobuffalo/packd v1.0.2 // indirect github.com/gofrs/flock v0.8.1 // indirect + github.com/gofrs/uuid v4.4.0+incompatible // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang-jwt/jwt/v4 v4.5.0 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect - github.com/golang/protobuf v1.5.3 // indirect + github.com/golang/mock v1.6.0 // indirect github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb // indirect github.com/google/gofuzz v1.2.0 // indirect - github.com/google/pprof v0.0.0-20230207041349-798e818bf904 // indirect + github.com/google/pprof v0.0.0-20230228050547-1710fef4ab10 // indirect github.com/hashicorp/go-bexpr v0.1.10 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/holiman/billy v0.0.0-20230718173358-1c7e68d277a7 // indirect github.com/holiman/bloomfilter/v2 v2.0.3 // indirect github.com/huin/goupnp v1.3.0 // indirect - github.com/ipfs/go-log/v2 v2.0.8 // indirect github.com/jackc/chunkreader/v2 v2.0.1 // indirect github.com/jackc/pgio v1.0.0 // indirect github.com/jackc/pgpassfile v1.0.0 // indirect @@ -131,6 +132,7 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/olekukonko/tablewriter v0.0.5 // indirect + github.com/opencontainers/image-spec v1.1.0-rc2 // indirect github.com/pelletier/go-toml/v2 v2.1.1 // indirect github.com/pierrec/lz4/v4 v4.1.15 // indirect github.com/pjbgf/sha1cd v0.3.0 // indirect @@ -139,7 +141,7 @@ require ( github.com/prometheus/procfs v0.12.0 // indirect github.com/rivo/uniseg v0.2.0 // indirect github.com/rogpeppe/go-internal v1.11.0 // indirect - github.com/rs/cors v1.7.0 // indirect + github.com/rs/cors v1.8.3 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/sagikazarmark/locafero v0.4.0 // indirect github.com/sagikazarmark/slog-shim v0.1.0 // indirect @@ -162,15 +164,13 @@ require ( github.com/wk8/go-ordered-map/v2 v2.1.8 // indirect github.com/xanzy/ssh-agent v0.3.3 // indirect github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 // indirect - go.opencensus.io v0.24.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/mod v0.14.0 // indirect - golang.org/x/sys v0.16.0 // indirect - golang.org/x/term v0.16.0 // indirect - golang.org/x/text v0.14.0 // indirect - golang.org/x/tools v0.17.0 // indirect - golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f // indirect + golang.org/x/mod v0.17.0 // indirect + golang.org/x/sys v0.24.0 // indirect + golang.org/x/term v0.23.0 // indirect + golang.org/x/text v0.17.0 // indirect + golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240823204242-4ba0660f739c // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/natefinch/lumberjack.v2 v2.0.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect @@ -190,7 +190,6 @@ require ( github.com/fatih/color v1.16.0 github.com/nacos-group/nacos-sdk-go v1.1.4 github.com/prometheus/client_golang v1.18.0 - github.com/rollkit/go-da v0.5.0 github.com/segmentio/kafka-go v0.4.47 golang.org/x/exp v0.0.0-20240205201215-2c58cdc269a3 golang.org/x/time v0.5.0 diff --git a/go.sum b/go.sum index 068d3473e8..cd49a7fd74 100644 --- a/go.sum +++ b/go.sum @@ -46,8 +46,8 @@ github.com/0xPolygon/cdk-data-availability v0.0.5/go.mod h1:aGwqHiJhL+mJbdepl3s5 github.com/0xPolygonHermez/zkevm-data-streamer v0.2.3 h1:zJ06KCGLMDOap4slop/QmiMUO+VPsKSS3+944SY06ww= github.com/0xPolygonHermez/zkevm-data-streamer v0.2.3/go.mod h1:bv7DjATsczN2WvFt26jv34TWv6rfvYM1SqegrgrFwfI= github.com/AndreasBriese/bbloom v0.0.0-20190306092124-e2d15f34fcf9/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8= -github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 h1:w+iIsaOQNcT7OZ575w+acHgRric5iCyQh+xv+KJ4HB8= -github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= +github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 h1:L/gRVlceqvL25UVaW/CKtUDjefjrs0SPonmDGUVOYP0= +github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8= github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= @@ -112,8 +112,9 @@ github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QH github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/cp v0.1.0 h1:SE+dxFebS7Iik5LK0tsi1k9ZCxEaFX4AjQmoyA+1dJk= github.com/cespare/cp v0.1.0/go.mod h1:SOGHArjBr4JWaSDEVpWpo/hNg6RoKrls6Oh40hiwW+s= -github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= +github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/logex v1.2.0/go.mod h1:9+9sk7u7pGNWYMkh0hdiL++6OeibzJccyQU4p4MedaY= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= @@ -121,8 +122,9 @@ github.com/chzyer/readline v1.5.0/go.mod h1:x22KAscuvRqlLoK9CsoYsmxoXZMMFVyOl86c github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/chzyer/test v0.0.0-20210722231415-061457976a23/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudflare/circl v1.3.3 h1:fE/Qz0QdIGqeWfnwq0RE0R7MI51s0M2E4Ga9kq5AEMs= github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA= +github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU= +github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= @@ -158,8 +160,8 @@ github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7 github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= -github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cpuguy83/go-md2man/v2 v2.0.3 h1:qMCsGGgs+MAzDFyp9LpAe1Lqy/fY/qCovCm0qnXZOBM= +github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/crate-crypto/go-ipa v0.0.0-20231025140028-3c0104f4b233 h1:d28BXYi+wUpz1KBmiF9bWrjEMacUEREV6MBi2ODnrfQ= github.com/crate-crypto/go-ipa v0.0.0-20231025140028-3c0104f4b233/go.mod h1:geZJZH3SzKCqnz5VT0q/DyIG/tvu/dZk+VIfXicupJs= github.com/crate-crypto/go-kzg-4844 v0.7.0 h1:C0vgZRk4q4EZ/JgPfzuSoxdCq3C3mOZMBShovmncxvA= @@ -187,8 +189,8 @@ github.com/dlclark/regexp2 v1.7.0 h1:7lJfhqlPssTb1WQx4yvTHN0uElPEv52sbaECrAQxjAo github.com/dlclark/regexp2 v1.7.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= -github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw= -github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= +github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/dop251/goja v0.0.0-20211022113120-dc8c55024d06/go.mod h1:R9ET47fwRVRPZnOGvHxxhuZcbrMCuiqOz3Rlrh4KSnk= github.com/dop251/goja v0.0.0-20230806174421-c933cf95e127 h1:qwcF+vdFrvPSEUDSX5RVoRccG8a5DhOdWdQ4zN62zzo= github.com/dop251/goja v0.0.0-20230806174421-c933cf95e127/go.mod h1:QMWlm50DNe14hD7t24KEqZuUdC9sOTy8W6XbCU1mlw4= @@ -217,8 +219,6 @@ github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5Kwzbycv github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM= github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE= github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= -github.com/filecoin-project/go-jsonrpc v0.3.1 h1:qwvAUc5VwAkooquKJmfz9R2+F8znhiqcNHYjEp/NM10= -github.com/filecoin-project/go-jsonrpc v0.3.1/go.mod h1:jBSvPTl8V1N7gSTuCR4bis8wnQnIjHbRPpROol6iQKM= github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5 h1:FtmdgXiUlNeRsoNMFlKLDt+S+6hbjVMEW6RGQ7aUf7c= github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= @@ -291,8 +291,9 @@ github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/E github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gofrs/flock v0.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw= github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= -github.com/gofrs/uuid v4.0.0+incompatible h1:1SD/1F5pU8p29ybwgQSwpQk+mwdRrXCYuPhW6m+TnJw= github.com/gofrs/uuid v4.0.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gofrs/uuid v4.4.0+incompatible h1:3qXRTX8/NbyulANqlc0lchS1gqAVxRgsuW1YrTJupqA= +github.com/gofrs/uuid v4.4.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gogo/googleapis v0.0.0-20180223154316-0cd9801be74a/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= github.com/gogo/googleapis v1.4.1/go.mod h1:2lpHqI5OcWCtVElxXnPt+s8oJvMpySlOyM6xDCrzib4= github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= @@ -316,8 +317,9 @@ github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/mock v1.5.0 h1:jlYHihg//f7RRwuPfptm04yp4s7O6Kw8EZiVYIGcH0g= github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= +github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= +github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -335,8 +337,6 @@ github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb h1:PBC98N2aIaM3XXiurYmW7fx4GZkL8feAMVq7nEjURHk= github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= @@ -375,13 +375,14 @@ github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20230207041349-798e818bf904 h1:4/hN5RUoecvl+RmJRE2YxKWtnnQls6rQjjW5oV7qg2U= github.com/google/pprof v0.0.0-20230207041349-798e818bf904/go.mod h1:uglQLonpP8qtYCYyzA+8c/9qtqgA3qsXGYqCPKARAFg= +github.com/google/pprof v0.0.0-20230228050547-1710fef4ab10 h1:CqYfpuYIjnlNxM3msdyPRKabhXZWbKjf3Q8BWROFBso= +github.com/google/pprof v0.0.0-20230228050547-1710fef4ab10/go.mod h1:79YE0hCXdHag9sBkw2o+N/YnZtTkXi0UT9Nnixa5eYk= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/subcommands v1.2.0/go.mod h1:ZjhPrFU+Olkh9WazFPsl27BQ4UPiG37m3yTrtFlrHVk= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= -github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= @@ -437,8 +438,6 @@ github.com/imkira/go-interpol v1.1.0/go.mod h1:z0h2/2T3XF8kyEPpRgJ3kmNv+C43p+I/C github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/invopop/jsonschema v0.12.0 h1:6ovsNSuvn9wEQVOyc72aycBMVQFKz7cPdMJn10CvzRI= github.com/invopop/jsonschema v0.12.0/go.mod h1:ffZ5Km5SWWRAIN6wbDXItl95euhFz2uON45H2qjYt+0= -github.com/ipfs/go-log/v2 v2.0.8 h1:3b3YNopMHlj4AvyhWAx0pDxqSQWYi4/WuWO7yRV6/Qg= -github.com/ipfs/go-log/v2 v2.0.8/go.mod h1:eZs4Xt4ZUJQFM3DlanGhy7TkwwawCZcSByscwkWG+dw= github.com/iris-contrib/blackfriday v2.0.0+incompatible/go.mod h1:UzZ2bDEoaSGPbkg6SAB4att1aAwTmVIx/5gCVqeyUdI= github.com/iris-contrib/go.uuid v2.0.0+incompatible/go.mod h1:iz2lgM/1UnEf1kP0L/+fafWORmlnuysV2EMP8MW+qe0= github.com/iris-contrib/jade v1.1.3/go.mod h1:H/geBymxJhShH5kecoiOCSssPX7QWYH7UaeZTSWddIk= @@ -658,8 +657,8 @@ github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI= github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= -github.com/opencontainers/image-spec v1.0.2 h1:9yCKha/T5XdGtO0q9Q9a6T5NUCsTn/DrBg0D7ufOcFM= -github.com/opencontainers/image-spec v1.0.2/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/opencontainers/image-spec v1.1.0-rc2 h1:2zx/Stx4Wc5pIPDvIxHXvXtQFW/7XWJGmnM7r3wg034= +github.com/opencontainers/image-spec v1.1.0-rc2/go.mod h1:3OVijpioIKYWTqjiG0zfF6wvoJ4fAXGbjdZuI2NgsRQ= github.com/opencontainers/runc v1.1.5 h1:L44KXEpKmfWDcS02aeGm8QNTFXTo2D+8MYGDIJ/GDEs= github.com/opencontainers/runc v1.1.5/go.mod h1:1J5XiS+vdZ3wCyZybsuxXZWGrgSr8fFJHLXuG2PsnNg= github.com/ory/dockertest v3.3.5+incompatible h1:iLLK6SQwIhcbrG783Dghaaa3WPzGc+4Emza6EbVUUGA= @@ -705,10 +704,8 @@ github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4 github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= -github.com/rollkit/go-da v0.5.0 h1:sQpZricNS+2TLx3HMjNWhtRfqtvVC/U4pWHpfUz3eN4= -github.com/rollkit/go-da v0.5.0/go.mod h1:VsUeAoPvKl4Y8wWguu/VibscYiFFePkkrvZWyTjZHww= -github.com/rs/cors v1.7.0 h1:+88SsELBHx5r+hZ8TCkggzSstaWNbDvThkVK8H6f9ik= -github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= +github.com/rs/cors v1.8.3 h1:O+qNyWn7Z+F9M0ILBHgMVPuB1xTOucVd5gtaYyXBpRo= +github.com/rs/cors v1.8.3/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU= github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThCjNc= @@ -878,8 +875,6 @@ go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= -go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= @@ -897,7 +892,6 @@ go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9E go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= -go.uber.org/zap v1.14.1/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc= go.uber.org/zap v1.15.0/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc= go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= @@ -924,8 +918,8 @@ golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2Uz golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58= golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= -golang.org/x/crypto v0.18.0 h1:PGVlW0xEltQnzFZ55hkuX5+KLyrMYhHld1YHO4AKcdc= -golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -965,8 +959,8 @@ golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0= -golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= +golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1021,8 +1015,8 @@ golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= -golang.org/x/net v0.20.0 h1:aCL9BSgETF1k+blQaYUBx9hJ9LOGP3gAVemcZlf1Kpo= -golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= +golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ= +golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1048,8 +1042,8 @@ golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= -golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= +golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1108,6 +1102,7 @@ golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1128,8 +1123,8 @@ golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU= -golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= +golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -1139,8 +1134,8 @@ golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= -golang.org/x/term v0.16.0 h1:m+B6fahuftsE9qjo0VWp2FW0mB3MTJvR0BaMQrq0pmE= -golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= +golang.org/x/term v0.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU= +golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1156,8 +1151,8 @@ golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= +golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1223,13 +1218,14 @@ golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= +golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.7/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.17.0 h1:FvmRgNOcs3kOa+T20R1uhfP9F6HgG2mfxDv1vrx1Htc= -golang.org/x/tools v0.17.0/go.mod h1:xsh6VxdV005rRVaS6SSAf9oiAqljS7UZUacMZ8Bnsps= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1237,8 +1233,6 @@ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= -golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk= -golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= @@ -1311,8 +1305,8 @@ google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= -google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f h1:ultW7fxlIvee4HYrtnaRPon9HpEgFk5zYpmfMgtKB5I= -google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f/go.mod h1:L9KNLi232K1/xB6f7AlSX692koaRnKaWSR0stBki0Yc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240823204242-4ba0660f739c h1:Kqjm4WpoWvwhMPcrAczoTyMySQmYa9Wy2iL6Con4zn8= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240823204242-4ba0660f739c/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= google.golang.org/grpc v1.12.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= @@ -1334,8 +1328,8 @@ google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAG google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.60.1 h1:26+wFr+cNqSGFcOXcabYC0lUVJVRa2Sb2ortSK7VrEU= -google.golang.org/grpc v1.60.1/go.mod h1:OlCHIeLYqSSsLi6i49B5QGdzaMZK9+M7LXN2FKz4eGM= +google.golang.org/grpc v1.66.1 h1:hO5qAXR19+/Z44hmvIM4dQFMSYX9XcWsByfoxutBpAM= +google.golang.org/grpc v1.66.1/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -1348,8 +1342,8 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= -google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= +google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/test/config/test.node.config.toml b/test/config/test.node.config.toml index b1e3bd8ea3..b2af14d6ed 100644 --- a/test/config/test.node.config.toml +++ b/test/config/test.node.config.toml @@ -175,6 +175,10 @@ AggLayerTxTimeout = "5m" AggLayerURL = "" SequencerPrivateKey = {} +[DataAvailability] +NubitRpcURL = "0.0.0.0:9876" + + [EthTxManager] ForcedGas = 0 PrivateKeys = [