diff --git a/cmd/booster-http/gateway_handler.go b/cmd/booster-http/gateway_handler.go index 78023da70..02cd01d4a 100644 --- a/cmd/booster-http/gateway_handler.go +++ b/cmd/booster-http/gateway_handler.go @@ -22,10 +22,10 @@ import ( type gatewayHandler struct { gwh http.Handler supportedFormats map[string]struct{} - nitroRpcClient *rpc.RpcClient + nitroRpcClient rpc.RpcClientApi } -func newGatewayHandler(gw *gateway.BlocksBackend, supportedFormats []string, nitroRpcClient *rpc.RpcClient) http.Handler { +func newGatewayHandler(gw *gateway.BlocksBackend, supportedFormats []string, nitroRpcClient rpc.RpcClientApi) http.Handler { headers := map[string][]string{} gateway.AddAccessControlHeaders(headers) @@ -70,7 +70,6 @@ func (h *gatewayHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { } s, err := h.nitroRpcClient.ReceiveVoucher(v) - if err != nil { webError(w, fmt.Errorf("error processing voucher %w", err), http.StatusBadRequest) return diff --git a/cmd/booster-http/mocks/mock_nitro_rpc.go b/cmd/booster-http/mocks/mock_nitro_rpc.go new file mode 100644 index 000000000..8db20a068 --- /dev/null +++ b/cmd/booster-http/mocks/mock_nitro_rpc.go @@ -0,0 +1,279 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: github.com/statechannels/go-nitro/rpc (interfaces: RpcClientApi) + +// Package mocks_booster_http is a generated GoMock package. +package mocks_booster_http + +import ( + reflect "reflect" + + common "github.com/ethereum/go-ethereum/common" + gomock "github.com/golang/mock/gomock" + outcome "github.com/statechannels/go-nitro/channel/state/outcome" + query "github.com/statechannels/go-nitro/node/query" + payments "github.com/statechannels/go-nitro/payments" + protocols "github.com/statechannels/go-nitro/protocols" + directfund "github.com/statechannels/go-nitro/protocols/directfund" + virtualfund "github.com/statechannels/go-nitro/protocols/virtualfund" + serde "github.com/statechannels/go-nitro/rpc/serde" + types "github.com/statechannels/go-nitro/types" +) + +// MockNitroRpcApi is a mock of RpcClientApi interface. +type MockNitroRpcApi struct { + ctrl *gomock.Controller + recorder *MockNitroRpcApiMockRecorder +} + +// MockNitroRpcApiMockRecorder is the mock recorder for MockNitroRpcApi. +type MockNitroRpcApiMockRecorder struct { + mock *MockNitroRpcApi +} + +// NewMockNitroRpcApi creates a new mock instance. +func NewMockNitroRpcApi(ctrl *gomock.Controller) *MockNitroRpcApi { + mock := &MockNitroRpcApi{ctrl: ctrl} + mock.recorder = &MockNitroRpcApiMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockNitroRpcApi) EXPECT() *MockNitroRpcApiMockRecorder { + return m.recorder +} + +// Address mocks base method. +func (m *MockNitroRpcApi) Address() (common.Address, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Address") + ret0, _ := ret[0].(common.Address) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Address indicates an expected call of Address. +func (mr *MockNitroRpcApiMockRecorder) Address() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Address", reflect.TypeOf((*MockNitroRpcApi)(nil).Address)) +} + +// Close mocks base method. +func (m *MockNitroRpcApi) Close() error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Close") + ret0, _ := ret[0].(error) + return ret0 +} + +// Close indicates an expected call of Close. +func (mr *MockNitroRpcApiMockRecorder) Close() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Close", reflect.TypeOf((*MockNitroRpcApi)(nil).Close)) +} + +// CloseLedgerChannel mocks base method. +func (m *MockNitroRpcApi) CloseLedgerChannel(arg0 types.Destination) (protocols.ObjectiveId, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CloseLedgerChannel", arg0) + ret0, _ := ret[0].(protocols.ObjectiveId) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// CloseLedgerChannel indicates an expected call of CloseLedgerChannel. +func (mr *MockNitroRpcApiMockRecorder) CloseLedgerChannel(arg0 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CloseLedgerChannel", reflect.TypeOf((*MockNitroRpcApi)(nil).CloseLedgerChannel), arg0) +} + +// ClosePaymentChannel mocks base method. +func (m *MockNitroRpcApi) ClosePaymentChannel(arg0 types.Destination) (protocols.ObjectiveId, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ClosePaymentChannel", arg0) + ret0, _ := ret[0].(protocols.ObjectiveId) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ClosePaymentChannel indicates an expected call of ClosePaymentChannel. +func (mr *MockNitroRpcApiMockRecorder) ClosePaymentChannel(arg0 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ClosePaymentChannel", reflect.TypeOf((*MockNitroRpcApi)(nil).ClosePaymentChannel), arg0) +} + +// CreateLedgerChannel mocks base method. +func (m *MockNitroRpcApi) CreateLedgerChannel(arg0 common.Address, arg1 uint32, arg2 outcome.Exit) (directfund.ObjectiveResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateLedgerChannel", arg0, arg1, arg2) + ret0, _ := ret[0].(directfund.ObjectiveResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// CreateLedgerChannel indicates an expected call of CreateLedgerChannel. +func (mr *MockNitroRpcApiMockRecorder) CreateLedgerChannel(arg0, arg1, arg2 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateLedgerChannel", reflect.TypeOf((*MockNitroRpcApi)(nil).CreateLedgerChannel), arg0, arg1, arg2) +} + +// CreatePaymentChannel mocks base method. +func (m *MockNitroRpcApi) CreatePaymentChannel(arg0 []common.Address, arg1 common.Address, arg2 uint32, arg3 outcome.Exit) (virtualfund.ObjectiveResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreatePaymentChannel", arg0, arg1, arg2, arg3) + ret0, _ := ret[0].(virtualfund.ObjectiveResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// CreatePaymentChannel indicates an expected call of CreatePaymentChannel. +func (mr *MockNitroRpcApiMockRecorder) CreatePaymentChannel(arg0, arg1, arg2, arg3 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreatePaymentChannel", reflect.TypeOf((*MockNitroRpcApi)(nil).CreatePaymentChannel), arg0, arg1, arg2, arg3) +} + +// CreateVoucher mocks base method. +func (m *MockNitroRpcApi) CreateVoucher(arg0 types.Destination, arg1 uint64) (payments.Voucher, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateVoucher", arg0, arg1) + ret0, _ := ret[0].(payments.Voucher) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// CreateVoucher indicates an expected call of CreateVoucher. +func (mr *MockNitroRpcApiMockRecorder) CreateVoucher(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateVoucher", reflect.TypeOf((*MockNitroRpcApi)(nil).CreateVoucher), arg0, arg1) +} + +// GetAllLedgerChannels mocks base method. +func (m *MockNitroRpcApi) GetAllLedgerChannels() ([]query.LedgerChannelInfo, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetAllLedgerChannels") + ret0, _ := ret[0].([]query.LedgerChannelInfo) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetAllLedgerChannels indicates an expected call of GetAllLedgerChannels. +func (mr *MockNitroRpcApiMockRecorder) GetAllLedgerChannels() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAllLedgerChannels", reflect.TypeOf((*MockNitroRpcApi)(nil).GetAllLedgerChannels)) +} + +// GetLedgerChannel mocks base method. +func (m *MockNitroRpcApi) GetLedgerChannel(arg0 types.Destination) (query.LedgerChannelInfo, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetLedgerChannel", arg0) + ret0, _ := ret[0].(query.LedgerChannelInfo) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetLedgerChannel indicates an expected call of GetLedgerChannel. +func (mr *MockNitroRpcApiMockRecorder) GetLedgerChannel(arg0 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetLedgerChannel", reflect.TypeOf((*MockNitroRpcApi)(nil).GetLedgerChannel), arg0) +} + +// GetPaymentChannel mocks base method. +func (m *MockNitroRpcApi) GetPaymentChannel(arg0 types.Destination) (query.PaymentChannelInfo, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetPaymentChannel", arg0) + ret0, _ := ret[0].(query.PaymentChannelInfo) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetPaymentChannel indicates an expected call of GetPaymentChannel. +func (mr *MockNitroRpcApiMockRecorder) GetPaymentChannel(arg0 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetPaymentChannel", reflect.TypeOf((*MockNitroRpcApi)(nil).GetPaymentChannel), arg0) +} + +// GetPaymentChannelsByLedger mocks base method. +func (m *MockNitroRpcApi) GetPaymentChannelsByLedger(arg0 types.Destination) ([]query.PaymentChannelInfo, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetPaymentChannelsByLedger", arg0) + ret0, _ := ret[0].([]query.PaymentChannelInfo) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetPaymentChannelsByLedger indicates an expected call of GetPaymentChannelsByLedger. +func (mr *MockNitroRpcApiMockRecorder) GetPaymentChannelsByLedger(arg0 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetPaymentChannelsByLedger", reflect.TypeOf((*MockNitroRpcApi)(nil).GetPaymentChannelsByLedger), arg0) +} + +// LedgerChannelUpdatesChan mocks base method. +func (m *MockNitroRpcApi) LedgerChannelUpdatesChan(arg0 types.Destination) <-chan query.LedgerChannelInfo { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "LedgerChannelUpdatesChan", arg0) + ret0, _ := ret[0].(<-chan query.LedgerChannelInfo) + return ret0 +} + +// LedgerChannelUpdatesChan indicates an expected call of LedgerChannelUpdatesChan. +func (mr *MockNitroRpcApiMockRecorder) LedgerChannelUpdatesChan(arg0 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LedgerChannelUpdatesChan", reflect.TypeOf((*MockNitroRpcApi)(nil).LedgerChannelUpdatesChan), arg0) +} + +// ObjectiveCompleteChan mocks base method. +func (m *MockNitroRpcApi) ObjectiveCompleteChan(arg0 protocols.ObjectiveId) <-chan struct{} { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ObjectiveCompleteChan", arg0) + ret0, _ := ret[0].(<-chan struct{}) + return ret0 +} + +// ObjectiveCompleteChan indicates an expected call of ObjectiveCompleteChan. +func (mr *MockNitroRpcApiMockRecorder) ObjectiveCompleteChan(arg0 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ObjectiveCompleteChan", reflect.TypeOf((*MockNitroRpcApi)(nil).ObjectiveCompleteChan), arg0) +} + +// Pay mocks base method. +func (m *MockNitroRpcApi) Pay(arg0 types.Destination, arg1 uint64) (serde.PaymentRequest, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Pay", arg0, arg1) + ret0, _ := ret[0].(serde.PaymentRequest) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Pay indicates an expected call of Pay. +func (mr *MockNitroRpcApiMockRecorder) Pay(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Pay", reflect.TypeOf((*MockNitroRpcApi)(nil).Pay), arg0, arg1) +} + +// PaymentChannelUpdatesChan mocks base method. +func (m *MockNitroRpcApi) PaymentChannelUpdatesChan(arg0 types.Destination) <-chan query.PaymentChannelInfo { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "PaymentChannelUpdatesChan", arg0) + ret0, _ := ret[0].(<-chan query.PaymentChannelInfo) + return ret0 +} + +// PaymentChannelUpdatesChan indicates an expected call of PaymentChannelUpdatesChan. +func (mr *MockNitroRpcApiMockRecorder) PaymentChannelUpdatesChan(arg0 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PaymentChannelUpdatesChan", reflect.TypeOf((*MockNitroRpcApi)(nil).PaymentChannelUpdatesChan), arg0) +} + +// ReceiveVoucher mocks base method. +func (m *MockNitroRpcApi) ReceiveVoucher(arg0 payments.Voucher) (payments.ReceiveVoucherSummary, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReceiveVoucher", arg0) + ret0, _ := ret[0].(payments.ReceiveVoucherSummary) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReceiveVoucher indicates an expected call of ReceiveVoucher. +func (mr *MockNitroRpcApiMockRecorder) ReceiveVoucher(arg0 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReceiveVoucher", reflect.TypeOf((*MockNitroRpcApi)(nil).ReceiveVoucher), arg0) +} diff --git a/cmd/booster-http/run.go b/cmd/booster-http/run.go index 4193fb3af..8f7ffd1cd 100644 --- a/cmd/booster-http/run.go +++ b/cmd/booster-http/run.go @@ -25,6 +25,7 @@ import ( "github.com/filecoin-project/lotus/markets/dagstore" "github.com/ipfs/go-cid" "github.com/mitchellh/go-homedir" + nrpc "github.com/statechannels/go-nitro/rpc" "github.com/urfave/cli/v2" ) @@ -216,19 +217,24 @@ var runCmd = &cli.Command{ opts.Blockstore = filtered } - nitroOpts := &NitroOptions{ - Enabled: cctx.Bool("nitro-enabled"), - Endpoint: cctx.String("nitro-endpoint"), + sapi := serverApi{ctx: ctx, bapi: bapi, sa: sa} + var nitroAPI nrpc.RpcClientApi + + if cctx.Bool("nitro-enabled") { + var err error + nitroAPI, err = nrpc.NewHttpRpcClient(cctx.String("nitro-endpoint")) + if err != nil { + return fmt.Errorf("error creating nitro API client: %w", err) + } } - sapi := serverApi{ctx: ctx, bapi: bapi, sa: sa} server := NewHttpServer( cctx.String("base-path"), cctx.String("address"), cctx.Int("port"), sapi, + nitroAPI, opts, - nitroOpts, ) // Start the server @@ -315,7 +321,7 @@ func createRepoDir(repoDir string) (string, error) { if repoDir == "" { return "", fmt.Errorf("%s is a required flag", FlagRepo.Name) } - return repoDir, os.MkdirAll(repoDir, 0744) + return repoDir, os.MkdirAll(repoDir, 0o744) } type serverApi struct { diff --git a/cmd/booster-http/server.go b/cmd/booster-http/server.go index 5a95ef9ff..c16b4dbde 100644 --- a/cmd/booster-http/server.go +++ b/cmd/booster-http/server.go @@ -31,6 +31,7 @@ import ( ) //go:generate go run github.com/golang/mock/mockgen -destination=mocks/mock_booster_http.go -package=mocks_booster_http -source=server.go HttpServerApi,serverApi +//go:generate go run github.com/golang/mock/mockgen -destination=mocks/mock_nitro_rpc.go -package=mocks_booster_http -mock_names=RpcClientApi=MockNitroRpcApi github.com/statechannels/go-nitro/rpc RpcClientApi var ErrNotFound = errors.New("not found") @@ -55,7 +56,7 @@ type HttpServer struct { cancel context.CancelFunc server *http.Server - nitroRpcClient *nrpc.RpcClient + nitroRpcClient nrpc.RpcClientApi } type HttpServerApi interface { @@ -75,21 +76,12 @@ type NitroOptions struct { Endpoint string } -func NewHttpServer(path string, listenAddr string, port int, api HttpServerApi, opts *HttpServerOptions, nitroOpts *NitroOptions) *HttpServer { +func NewHttpServer(path string, listenAddr string, port int, api HttpServerApi, nitroApi nrpc.RpcClientApi, opts *HttpServerOptions) *HttpServer { if opts == nil { opts = &HttpServerOptions{ServePieces: true} } - var rpcClient *nrpc.RpcClient - var err error - if nitroOpts != nil && nitroOpts.Enabled { - - rpcClient, err = nrpc.NewHttpRpcClient(nitroOpts.Endpoint) - if err != nil { - panic(err) - } - } - return &HttpServer{path: path, port: port, api: api, opts: *opts, idxPage: parseTemplate(*opts), nitroRpcClient: rpcClient} + return &HttpServer{path: path, port: port, api: api, opts: *opts, idxPage: parseTemplate(*opts), nitroRpcClient: nitroApi} } func (s *HttpServer) pieceBasePath() string { @@ -222,7 +214,7 @@ func serveContent(w http.ResponseWriter, r *http.Request, content io.ReadSeeker) err = e }} - writer = writeErrWatcher //Need writeErrWatcher to be of type writeErrorWatcher for addCommas() + writer = writeErrWatcher // Need writeErrWatcher to be of type writeErrorWatcher for addCommas() // Note that the last modified time is a constant value because the data // in a piece identified by a cid will never change. diff --git a/docker/devnet/docker-compose.yaml b/docker/devnet/docker-compose.yaml index 88ca91440..db4cbe379 100644 --- a/docker/devnet/docker-compose.yaml +++ b/docker/devnet/docker-compose.yaml @@ -89,29 +89,29 @@ services: - ./data/lotus:/var/lib/lotus:ro - ./data/lotus-miner:/var/lib/lotus-miner:ro labels: - - "com.docker-tc.enabled=1" - - "com.docker-tc.delay=10ms" + - "com.docker-tc.enabled=0" + - booster-bitswap: - container_name: booster-bitswap - image: ${BOOSTER_BITSWAP_IMAGE} - ports: - - "8888:8888" - environment: - - BOOSTER_BITSWAP_REPO=/var/lib/booster-bitswap - - BOOST_PATH=/var/lib/boost - - LOTUS_PATH=/var/lib/lotus - - LOTUS_MINER_PATH=/var/lib/lotus-miner - restart: unless-stopped - logging: *default-logging - volumes: - - ./data/booster-bitswap:/var/lib/booster-bitswap:rw - - ./data/boost:/var/lib/boost:ro - - ./data/lotus:/var/lib/lotus:ro - - ./data/lotus-miner:/var/lib/lotus-miner:ro - labels: - - "com.docker-tc.enabled=1" - - "com.docker-tc.delay=10ms" + # booster-bitswap: + # container_name: booster-bitswap + # image: ${BOOSTER_BITSWAP_IMAGE} + # ports: + # - "8888:8888" + # environment: + # - BOOSTER_BITSWAP_REPO=/var/lib/booster-bitswap + # - BOOST_PATH=/var/lib/boost + # - LOTUS_PATH=/var/lib/lotus + # - LOTUS_MINER_PATH=/var/lib/lotus-miner + # restart: unless-stopped + # logging: *default-logging + # volumes: + # - ./data/booster-bitswap:/var/lib/booster-bitswap:rw + # - ./data/boost:/var/lib/boost:ro + # - ./data/lotus:/var/lib/lotus:ro + # - ./data/lotus-miner:/var/lib/lotus-miner:ro + # labels: + # - "com.docker-tc.enabled=1" + # - "com.docker-tc.delay=10ms" demo-http-server: container_name: demo-http-server @@ -125,19 +125,19 @@ services: - "com.docker-tc.limit=1mbps" - "com.docker-tc.delay=100ms" - tc: - image: "${DOCKER_IMAGE_TERMINAL:-lukaszlach/docker-tc}" - container_name: docker-tc - cap_add: - - NET_ADMIN - volumes: - - /var/run/docker.sock:/var/run/docker.sock - - /var/docker-tc:/var/docker-tc - deploy: - mode: global - restart_policy: - condition: any - environment: - HTTP_BIND: "${HTTP_BIND:-127.0.0.1}" - HTTP_PORT: "${HTTP_PORT:-4080}" - network_mode: host + # tc: + # image: "${DOCKER_IMAGE_TERMINAL:-lukaszlach/docker-tc}" + # container_name: docker-tc + # cap_add: + # - NET_ADMIN + # volumes: + # - /var/run/docker.sock:/var/run/docker.sock + # - /var/docker-tc:/var/docker-tc + # deploy: + # mode: global + # restart_policy: + # condition: any + # environment: + # HTTP_BIND: "${HTTP_BIND:-127.0.0.1}" + # HTTP_PORT: "${HTTP_PORT:-4080}" + # network_mode: host diff --git a/go.mod b/go.mod index 2221b8e74..fa225247c 100644 --- a/go.mod +++ b/go.mod @@ -346,7 +346,7 @@ require ( github.com/ipfs/boxo v0.10.1 github.com/ipfs/kubo v0.21.0-rc1 github.com/ipni/go-libipni v0.0.8 - github.com/statechannels/go-nitro v0.0.0-20230710223658-280d0225a9d8 + github.com/statechannels/go-nitro v0.0.0-20230719201014-41ddb3b8b67f ) require ( diff --git a/go.sum b/go.sum index 788f3ea99..af32d0e72 100644 --- a/go.sum +++ b/go.sum @@ -1846,8 +1846,8 @@ github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnIn github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= github.com/src-d/envconfig v1.0.0/go.mod h1:Q9YQZ7BKITldTBnoxsE5gOeB5y66RyPXeue/R4aaNBc= -github.com/statechannels/go-nitro v0.0.0-20230710223658-280d0225a9d8 h1:XvtnSc99gOVH5Cd5b4OKU0Zx+YdA7am1QmZPCNkXZNw= -github.com/statechannels/go-nitro v0.0.0-20230710223658-280d0225a9d8/go.mod h1:h2DTAAg1B2CgyL4y3YWIHwcLQk0ZqMHzOCfUXLBURTI= +github.com/statechannels/go-nitro v0.0.0-20230719201014-41ddb3b8b67f h1:PZbG5JK0L6yXFqh3BRZhHoT0AmywWERjVzOQYvQwv7w= +github.com/statechannels/go-nitro v0.0.0-20230719201014-41ddb3b8b67f/go.mod h1:h2DTAAg1B2CgyL4y3YWIHwcLQk0ZqMHzOCfUXLBURTI= github.com/status-im/keycard-go v0.2.0 h1:QDLFswOQu1r5jsycloeQh3bVU8n/NatHHaZobtDnDzA= github.com/status-im/keycard-go v0.2.0/go.mod h1:wlp8ZLbsmrF6g6WjugPAx+IzoLrkdf9+mHxBEeo3Hbg= github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw=