From 7ce5e8cc138bb3a64c9873a05ea465d8c8e3f392 Mon Sep 17 00:00:00 2001
From: "Richard T. Carback III" <rick.carback@gmail.com>
Date: Mon, 29 Aug 2022 21:50:24 +0000
Subject: [PATCH] Fix parsing of E2E Params JSON when calling SendE2E in
 bindings

---
 bindings/e2eHandler.go | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/bindings/e2eHandler.go b/bindings/e2eHandler.go
index 961c02238..952568014 100644
--- a/bindings/e2eHandler.go
+++ b/bindings/e2eHandler.go
@@ -16,7 +16,6 @@ import (
 	"gitlab.com/elixxir/client/catalog"
 	"gitlab.com/elixxir/client/cmix/identity/receptionID"
 	"gitlab.com/elixxir/client/cmix/rounds"
-	"gitlab.com/elixxir/client/e2e"
 	"gitlab.com/elixxir/primitives/format"
 	"gitlab.com/xx_network/primitives/id"
 )
@@ -124,15 +123,15 @@ func (e *E2e) RemoveService(tag string) error {
 //  - []byte - the JSON marshalled bytes of the E2ESendReport object, which can
 //    be passed into Cmix.WaitForRoundResult to see if the send succeeded.
 func (e *E2e) SendE2E(messageType int, recipientId, payload,
-	e2eParams []byte) ([]byte, error) {
-	// Note that specifically these are the Base params from xxdk.E2EParams
-	params := e2e.GetDefaultParams()
-	err := params.UnmarshalJSON(e2eParams)
+	e2eParamsJSON []byte) ([]byte, error) {
+	if len(e2eParamsJSON) == 0 {
+		jww.WARN.Printf("e2e params not specified, using defaults...")
+		e2eParamsJSON = GetDefaultE2EParams()
+	}
+	params, err := parseE2EParams(e2eParamsJSON)
 	if err != nil {
 		return nil, err
 	}
-	jww.DEBUG.Printf("SendE2E Parameters Received: %s, Parsed: %s",
-		e2eParams, params.String())
 
 	recipient, err := id.Unmarshal(recipientId)
 	if err != nil {
@@ -140,7 +139,8 @@ func (e *E2e) SendE2E(messageType int, recipientId, payload,
 	}
 
 	sendReport, err := e.api.GetE2E().SendE2E(
-		catalog.MessageType(messageType), recipient, payload, params)
+		catalog.MessageType(messageType), recipient, payload,
+		params.Base)
 	if err != nil {
 		return nil, err
 	}
-- 
GitLab