diff --git a/bindings/connect.go b/bindings/connect.go index 5e9e55f8b456125c334c87adf4355debb903d6e6..927d162aa921fae460b9849e8259c77f56afbb99 100644 --- a/bindings/connect.go +++ b/bindings/connect.go @@ -85,7 +85,7 @@ func (c *Cmix) Connect(e2eId int, recipientContact, e2eParamsJSON []byte) ( // - []byte - the JSON marshalled bytes of the E2ESendReport object, which can // be passed into Cmix.WaitForRoundResult to see if the send succeeded. func (c *Connection) SendE2E(mt int, payload []byte) ([]byte, error) { - rounds, mid, ts, keyResidue, err := c.connection.SendE2E(catalog.MessageType(mt), payload, + sendReport, err := c.connection.SendE2E(catalog.MessageType(mt), payload, c.params.Base) if err != nil { @@ -93,10 +93,10 @@ func (c *Connection) SendE2E(mt int, payload []byte) ([]byte, error) { } sr := E2ESendReport{ - RoundsList: makeRoundsList(rounds...), - MessageID: mid.Marshal(), - Timestamp: ts.UnixNano(), - KeyResidue: keyResidue.Marshal(), + RoundsList: makeRoundsList(sendReport.RoundList...), + MessageID: sendReport.MessageId.Marshal(), + Timestamp: sendReport.SentTime.UnixNano(), + KeyResidue: sendReport.KeyResidue.Marshal(), } return json.Marshal(&sr) diff --git a/cmd/connect.go b/cmd/connect.go index bb1e9ff171fbbbb8c2afd4ace614122ba1927e16..7b31c2cd8be6557f64f214ddf781c375fe6ce319 100644 --- a/cmd/connect.go +++ b/cmd/connect.go @@ -486,7 +486,7 @@ func miscConnectionFunctions(user *xxdk.E2e, conn connect.Connection) { conn.GetPartner().PartnerId()) payload := []byte(msgBody) for { - roundIDs, _, _, _, err := conn.SendE2E(catalog.XxMessage, payload, + sendReport, err := conn.SendE2E(catalog.XxMessage, payload, paramsE2E) if err != nil { jww.FATAL.Panicf("[CONN] Failed to send E2E message: %v", err) @@ -494,7 +494,7 @@ func miscConnectionFunctions(user *xxdk.E2e, conn connect.Connection) { // Verify message sends were successful when verifySendFlag is present if viper.GetBool(verifySendFlag) { - if !verifySendSuccess(user, paramsE2E, roundIDs, + if !verifySendSuccess(user, paramsE2E, sendReport.RoundList, conn.GetPartner().PartnerId(), payload) { continue } diff --git a/connect/authenticated.go b/connect/authenticated.go index de3d9e656367c2fa74c1c8dc9ed4475f49aeb3f3..b2d63f7582380f2116b6f78c14d00bedbcdc5da7 100644 --- a/connect/authenticated.go +++ b/connect/authenticated.go @@ -98,7 +98,7 @@ func connectWithAuthentication(conn Connection, timeStart time.Time, } // Send message to server - rids, _, _, _, err := conn.SendE2E(catalog.ConnectionAuthenticationRequest, + sendReport, err := conn.SendE2E(catalog.ConnectionAuthenticationRequest, payload, clientE2e.GetDefaultParams()) if err != nil { // Close connection on an error @@ -139,7 +139,7 @@ func connectWithAuthentication(conn Connection, timeStart time.Time, // Track the result of the round(s) we sent the // identity authentication message on err = net.GetRoundResults(remainingTime, - roundCb, rids...) + roundCb, sendReport.RoundList...) if err != nil { return nil, errors.Errorf("could not track rounds for successful " + "identity confirmation message delivery") diff --git a/connect/utils_test.go b/connect/utils_test.go index 4414b2e8b4f399ef2884d7c9ed19e4205aef513d..f945419275464c32d73f588e1749cd063b19d1bc 100644 --- a/connect/utils_test.go +++ b/connect/utils_test.go @@ -16,7 +16,6 @@ import ( "gitlab.com/elixxir/comms/network" "gitlab.com/elixxir/crypto/contact" "gitlab.com/elixxir/crypto/cyclic" - cryptoE2e "gitlab.com/elixxir/crypto/e2e" "gitlab.com/elixxir/primitives/format" "gitlab.com/xx_network/comms/connect" "gitlab.com/xx_network/crypto/large" @@ -115,8 +114,7 @@ func (m *mockConnection) Close() error { func (m *mockConnection) GetPartner() partner.Manager { return m.partner } func (m *mockConnection) SendE2E( - mt catalog.MessageType, payload []byte, _ e2e.Params) ( - []id.Round, cryptoE2e.MessageID, time.Time, cryptoE2e.KeyResidue, error) { + mt catalog.MessageType, payload []byte, _ e2e.Params) (e2e.SendReport, error) { m.payloadChan <- payload m.listener.Hear(receive.Message{ MessageType: mt, @@ -124,7 +122,7 @@ func (m *mockConnection) SendE2E( Sender: m.partner.myID, RecipientID: m.partner.partnerId, }) - return nil, cryptoE2e.MessageID{}, time.Time{}, cryptoE2e.KeyResidue{}, nil + return e2e.SendReport{}, nil } func (m *mockConnection) RegisterListener( diff --git a/fileTransfer/connect/send.go b/fileTransfer/connect/send.go index 91dcfb6754610cc95fc9e7a78e01f7dd40f3dbac..0f0c0df1904aed876f52fa9342a116e79260b8d7 100644 --- a/fileTransfer/connect/send.go +++ b/fileTransfer/connect/send.go @@ -45,7 +45,7 @@ func sendNewFileTransferMessage( params.LastServiceTag = catalog.Silent params.DebugTag = initialMessageDebugTag - _, _, _, _, err := connectionHandler.SendE2E( + _, err := connectionHandler.SendE2E( catalog.NewFileTransfer, transferInfo, params) if err != nil { return errors.Errorf(errNewFtSendE2e, err) @@ -65,7 +65,7 @@ func sendEndFileTransferMessage(cmix ft.Cmix, connectionHandler connection) { params.LastServiceTag = catalog.EndFT params.DebugTag = lastMessageDebugTag - _, _, _, _, err := connectionHandler.SendE2E( + _, err := connectionHandler.SendE2E( catalog.EndFileTransfer, nil, params) if err != nil { jww.ERROR.Printf(errEndFtSendE2e, err) diff --git a/fileTransfer/connect/utils_test.go b/fileTransfer/connect/utils_test.go index af9990b9c0a3120b79e3960de86dae4ff52107c9..927a70efbcafad4492447d2b2025e465df986e0f 100644 --- a/fileTransfer/connect/utils_test.go +++ b/fileTransfer/connect/utils_test.go @@ -26,7 +26,6 @@ import ( "gitlab.com/elixxir/client/xxdk" "gitlab.com/elixxir/comms/network" "gitlab.com/elixxir/crypto/cyclic" - e2eCrypto "gitlab.com/elixxir/crypto/e2e" "gitlab.com/elixxir/crypto/fastRNG" "gitlab.com/elixxir/ekv" "gitlab.com/elixxir/primitives/format" @@ -38,7 +37,6 @@ import ( "gitlab.com/xx_network/primitives/id" "gitlab.com/xx_network/primitives/id/ephemeral" "gitlab.com/xx_network/primitives/ndf" - "gitlab.com/xx_network/primitives/netTime" "sync" "testing" "time" @@ -268,8 +266,7 @@ func (m *mockConnection) GetPartner() partner.Manager { // SendE2E adds the message to the e2e handler map. func (m *mockConnection) SendE2E(mt catalog.MessageType, payload []byte, - _ e2e.Params) ([]id.Round, e2eCrypto.MessageID, time.Time, - e2eCrypto.KeyResidue, error) { + _ e2e.Params) (e2e.SendReport, error) { m.handler.Lock() defer m.handler.Unlock() @@ -279,8 +276,7 @@ func (m *mockConnection) SendE2E(mt catalog.MessageType, payload []byte, Sender: m.myID, }) - return []id.Round{42}, e2eCrypto.MessageID{}, netTime.Now(), - e2eCrypto.KeyResidue{}, nil + return e2e.SendReport{RoundList: []id.Round{42}}, nil } func (m *mockConnection) RegisterListener(mt catalog.MessageType, diff --git a/fileTransfer/connect/wrapper.go b/fileTransfer/connect/wrapper.go index b0943f5ebf974092f3da5079c1f087ad4debb631..2b0163aa72607d1702369aafd065a00227548519 100644 --- a/fileTransfer/connect/wrapper.go +++ b/fileTransfer/connect/wrapper.go @@ -13,9 +13,7 @@ import ( "gitlab.com/elixxir/client/e2e/ratchet/partner" "gitlab.com/elixxir/client/e2e/receive" ft "gitlab.com/elixxir/client/fileTransfer" - e2eCrypto "gitlab.com/elixxir/crypto/e2e" ftCrypto "gitlab.com/elixxir/crypto/fileTransfer" - "gitlab.com/xx_network/primitives/id" "time" ) @@ -41,7 +39,7 @@ type Wrapper struct { type connection interface { GetPartner() partner.Manager SendE2E(mt catalog.MessageType, payload []byte, params e2e.Params) ( - []id.Round, e2eCrypto.MessageID, time.Time, e2eCrypto.KeyResidue, error) + e2e.SendReport, error) RegisterListener(messageType catalog.MessageType, newListener receive.Listener) (receive.ListenerID, error) } diff --git a/fileTransfer/e2e/send.go b/fileTransfer/e2e/send.go index 017313dc266fe88d3d11817a638b4870045bee30..6f19468dcb07c8b698ad9b574f3de038818fc3e2 100644 --- a/fileTransfer/e2e/send.go +++ b/fileTransfer/e2e/send.go @@ -46,7 +46,7 @@ func sendNewFileTransferMessage( params.LastServiceTag = catalog.Silent params.DebugTag = initialMessageDebugTag - _, _, _, _, err := e2eHandler.SendE2E( + _, err := e2eHandler.SendE2E( catalog.NewFileTransfer, recipient, transferInfo, params) if err != nil { return errors.Errorf(errNewFtSendE2e, err) @@ -66,7 +66,7 @@ func sendEndFileTransferMessage(recipient *id.ID, cmix ft.Cmix, e2eHandler e2eHa params.LastServiceTag = catalog.EndFT params.DebugTag = lastMessageDebugTag - _, _, _, _, err := e2eHandler.SendE2E( + _, err := e2eHandler.SendE2E( catalog.EndFileTransfer, recipient, nil, params) if err != nil { jww.ERROR.Printf(errEndFtSendE2e, err) diff --git a/fileTransfer/e2e/utils_test.go b/fileTransfer/e2e/utils_test.go index c2ecdd01a352f7d46f9e4ea0510072696a9cafd2..34265f35e43be789c7a49c6f0367e0844b2bc5de 100644 --- a/fileTransfer/e2e/utils_test.go +++ b/fileTransfer/e2e/utils_test.go @@ -28,7 +28,6 @@ import ( "gitlab.com/elixxir/client/xxdk" "gitlab.com/elixxir/comms/network" "gitlab.com/elixxir/crypto/cyclic" - e "gitlab.com/elixxir/crypto/e2e" "gitlab.com/elixxir/crypto/fastRNG" "gitlab.com/elixxir/ekv" "gitlab.com/elixxir/primitives/format" @@ -40,7 +39,6 @@ import ( "gitlab.com/xx_network/primitives/id" "gitlab.com/xx_network/primitives/id/ephemeral" "gitlab.com/xx_network/primitives/ndf" - "gitlab.com/xx_network/primitives/netTime" "sync" "time" ) @@ -259,7 +257,7 @@ func (m *mockE2e) StartProcesses() (stoppable.Stoppable, error) { panic("impleme // SendE2E adds the message to the e2e handler map. func (m *mockE2e) SendE2E(mt catalog.MessageType, recipient *id.ID, - payload []byte, _ e2e.Params) ([]id.Round, e.MessageID, time.Time, e.KeyResidue, error) { + payload []byte, _ e2e.Params) (e2e.SendReport, error) { m.handler.listeners[mt].Hear(receive.Message{ MessageType: mt, @@ -268,7 +266,7 @@ func (m *mockE2e) SendE2E(mt catalog.MessageType, recipient *id.ID, RecipientID: recipient, }) - return []id.Round{42}, e.MessageID{}, netTime.Now(), e.KeyResidue{}, nil + return e2e.SendReport{RoundList: []id.Round{42}}, nil } func (m *mockE2e) RegisterListener(_ *id.ID, mt catalog.MessageType, diff --git a/fileTransfer/e2e/wrapper.go b/fileTransfer/e2e/wrapper.go index 12b44091b46911061491ecf2d030bc5ede21966c..ffb90b2b4c5928dee459b22fc4c88db160a705fe 100644 --- a/fileTransfer/e2e/wrapper.go +++ b/fileTransfer/e2e/wrapper.go @@ -12,7 +12,6 @@ import ( "gitlab.com/elixxir/client/e2e" "gitlab.com/elixxir/client/e2e/receive" ft "gitlab.com/elixxir/client/fileTransfer" - e2eCrypto "gitlab.com/elixxir/crypto/e2e" ftCrypto "gitlab.com/elixxir/crypto/fileTransfer" "gitlab.com/xx_network/primitives/id" "time" @@ -39,8 +38,7 @@ type Wrapper struct { // for easier testing. type e2eHandler interface { SendE2E(mt catalog.MessageType, recipient *id.ID, payload []byte, - params e2e.Params) ([]id.Round, e2eCrypto.MessageID, time.Time, - e2eCrypto.KeyResidue, error) + params e2e.Params) (e2e.SendReport, error) RegisterListener(senderID *id.ID, messageType catalog.MessageType, newListener receive.Listener) receive.ListenerID } diff --git a/groupChat/sendRequests.go b/groupChat/sendRequests.go index 43648928b73232bfd078aa4fbd0ad975965659bd..ff566063a696effc99444dd024aee9891e627418 100644 --- a/groupChat/sendRequests.go +++ b/groupChat/sendRequests.go @@ -120,13 +120,13 @@ func (m *manager) sendRequest(memberID *id.ID, request []byte) ([]id.Round, erro p.LastServiceTag = catalog.GroupRq p.DebugTag = "group.Request" - rounds, _, _, _, err := m.getE2eHandler().SendE2E( + sendReport, err := m.getE2eHandler().SendE2E( catalog.GroupCreationRequest, memberID, request, p) if err != nil { return nil, errors.Errorf(sendE2eErr, memberID, err) } - return rounds, nil + return sendReport.RoundList, nil } // roundIdMap2List converts the map of round IDs to a list of round IDs. diff --git a/restlike/connect/receiver.go b/restlike/connect/receiver.go index 051a91d3f1b1983307ac2372360e5f05f22c1871..be76084b075900e9b25741bab62131281191eb6c 100644 --- a/restlike/connect/receiver.go +++ b/restlike/connect/receiver.go @@ -55,7 +55,7 @@ func respond(response *restlike.Message, conn connect.Connection) error { } // TODO: Parameterize params - _, _, _, _, err = conn.SendE2E(catalog.XxMessage, payload, e2e.GetDefaultParams()) + _, err = conn.SendE2E(catalog.XxMessage, payload, e2e.GetDefaultParams()) if err != nil { return errors.Errorf("unable to send restlike response message: %+v", err) } diff --git a/restlike/connect/request.go b/restlike/connect/request.go index 7d0b435c0aa3188f006535652d8b74aa691a0685..0dd35c27f71139ee9a39c3dad0ccc9eb7914532d 100644 --- a/restlike/connect/request.go +++ b/restlike/connect/request.go @@ -50,7 +50,7 @@ func (s *Request) Request(method restlike.Method, path restlike.URI, // Transmit the Message // fixme: should this use the key residue? - _, _, _, _, err = s.Net.SendE2E(catalog.XxMessage, msg, e2eParams) + _, err = s.Net.SendE2E(catalog.XxMessage, msg, e2eParams) if err != nil { return nil, err } @@ -85,7 +85,6 @@ func (s *Request) AsyncRequest(method restlike.Method, path restlike.URI, s.Net.RegisterListener(catalog.XxMessage, &response{responseCallback: cb}) // Transmit the Message - // fixme: should this use the key residue? - _, _, _, _, err = s.Net.SendE2E(catalog.XxMessage, msg, e2eParams) + _, err = s.Net.SendE2E(catalog.XxMessage, msg, e2eParams) return err }