Skip to content

Commit fb65fa0

Browse files
committed
Fixed Sui linter issues
1 parent cf31ccb commit fb65fa0

File tree

5 files changed

+34
-14
lines changed

5 files changed

+34
-14
lines changed

node/cmd/transfer-verifier/transfer-verifier-sui.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,10 @@ func runTransferVerifierSui(cmd *cobra.Command, args []string) {
106106
logger.Info("Processing initial events")
107107
for _, event := range initialEvents {
108108
if event.ID.TxDigest != nil {
109-
suiTransferVerifier.ProcessDigest(*event.ID.TxDigest, suiApiConnection, logger)
109+
_, err = suiTransferVerifier.ProcessDigest(*event.ID.TxDigest, suiApiConnection, logger)
110+
if err != nil {
111+
logger.Error(err.Error())
112+
}
110113
}
111114
}
112115
}
@@ -152,7 +155,10 @@ func runTransferVerifierSui(cmd *cobra.Command, args []string) {
152155
}
153156

154157
for _, txDigest := range txDigests {
155-
suiTransferVerifier.ProcessDigest(txDigest, suiApiConnection, logger)
158+
_, err := suiTransferVerifier.ProcessDigest(txDigest, suiApiConnection, logger)
159+
if err != nil {
160+
logger.Error(err.Error())
161+
}
156162
}
157163

158164
logger.Info("New events processed", zap.Int("latestTimestamp", latestTimestamp), zap.Int("txDigestCount", len(txDigests)))

node/pkg/transfer-verifier/transfer-verifier-sui-structs.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,11 @@ func (r SuiTryMultiGetPastObjectsResult) GetTokenAddress() (tokenAddress string,
354354
addrBytes := make([]byte, len(data))
355355

356356
for i, v := range data {
357-
addrBytes[i] = byte(v.(float64))
357+
if f, ok := v.(float64); ok {
358+
addrBytes[i] = byte(f)
359+
} else {
360+
return "", fmt.Errorf("error in converting token data to float type")
361+
}
358362
}
359363

360364
return hex.EncodeToString(addrBytes), nil

node/pkg/transfer-verifier/transfer-verifier-sui.go

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ func (s *SuiTransferVerifier) processEvents(events []SuiEvent, logger *zap.Logge
105105
return requestedOutOfBridge, numEventsProcessed
106106
}
107107

108-
func (s *SuiTransferVerifier) processObjectUpdates(objectChanges []ObjectChange, suiApiConnection SuiApiInterface, logger *zap.Logger) (transferredIntoBridge map[string]*big.Int, numChangesProcessed int, err error) {
108+
func (s *SuiTransferVerifier) processObjectUpdates(objectChanges []ObjectChange, suiApiConnection SuiApiInterface, logger *zap.Logger) (transferredIntoBridge map[string]*big.Int, numChangesProcessed int) {
109109
transferredIntoBridge = make(map[string]*big.Int)
110110

111111
for _, objectChange := range objectChanges {
@@ -161,7 +161,7 @@ func (s *SuiTransferVerifier) processObjectUpdates(objectChanges []ObjectChange,
161161
numChangesProcessed++
162162
}
163163

164-
return transferredIntoBridge, numChangesProcessed, nil
164+
return transferredIntoBridge, numChangesProcessed
165165
}
166166

167167
func (s *SuiTransferVerifier) ProcessDigest(digest string, suiApiConnection SuiApiInterface, logger *zap.Logger) (uint, error) {
@@ -176,11 +176,7 @@ func (s *SuiTransferVerifier) ProcessDigest(digest string, suiApiConnection SuiA
176176
requestedOutOfBridge, numEventsProcessed := s.processEvents(txBlock.Result.Events, logger)
177177

178178
// process all object changes, indicating funds that are entering the chain
179-
transferredIntoBridge, numChangesProcessed, err := s.processObjectUpdates(txBlock.Result.ObjectChanges, suiApiConnection, logger)
180-
181-
if err != nil {
182-
logger.Fatal("Error in processing object changes", zap.Error(err))
183-
}
179+
transferredIntoBridge, numChangesProcessed := s.processObjectUpdates(txBlock.Result.ObjectChanges, suiApiConnection, logger)
184180

185181
// TODO: Using `Warn` for testing purposes. Update to Fatal? when ready to go into PR.
186182
// TODO: Revisit error handling here.
@@ -224,6 +220,7 @@ func suiApiRequest[T SuiApiResponse](rpc string, method string, params string) (
224220
// Create the request
225221
requestBody := fmt.Sprintf(`{"jsonrpc":"2.0", "id": 1, "method": "%s", "params": %s}`, method, params)
226222

223+
//nolint:noctx
227224
req, err := http.NewRequest("POST", rpc, strings.NewReader(requestBody))
228225
if err != nil {
229226
return defaultT, fmt.Errorf("cannot create request: %w", err)

node/pkg/transfer-verifier/transfer-verifier-sui_test.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,11 @@ func TestNewSuiApiConnection(t *testing.T) {
111111
sampleUrl := "http://localhost:8080"
112112

113113
api := NewSuiApiConnection(sampleUrl)
114-
assert.Equal(t, sampleUrl, api.(*SuiApiConnection).rpc)
114+
if rpc, ok := api.(*SuiApiConnection); ok {
115+
assert.Equal(t, sampleUrl, rpc.rpc)
116+
} else {
117+
t.Errorf("Unable to get RPC from SuiApiConnection")
118+
}
115119
}
116120

117121
func TestProcessEvents(t *testing.T) {
@@ -687,7 +691,7 @@ func TestProcessObjectUpdates(t *testing.T) {
687691
}
688692

689693
// Run function and check results
690-
transferredIntoBridge, numEventsProcessed, _ := suiTxVerifier.processObjectUpdates(tt.objectChanges, connection, logger)
694+
transferredIntoBridge, numEventsProcessed := suiTxVerifier.processObjectUpdates(tt.objectChanges, connection, logger)
691695
assert.Equal(t, tt.expectedResult, transferredIntoBridge)
692696
assert.Equal(t, tt.expectedCount, numEventsProcessed)
693697
})

node/pkg/transfer-verifier/transfer-verifier-utils.go

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,22 @@ func extractFromJsonPath[T any](data json.RawMessage, path string) (T, error) {
3232
if obj[key] == nil {
3333
return defaultT, fmt.Errorf("key %s not found", key)
3434
}
35-
obj = obj[key].(map[string]interface{})
35+
36+
if v, ok := obj[key].(map[string]interface{}); ok {
37+
obj = v
38+
} else {
39+
return defaultT, fmt.Errorf("can't convert to key to map[string]interface{} type")
40+
}
3641
}
3742

3843
// If the final key exists in the object, return the value as T. Otherwise,
3944
// return an error.
4045
if value, exists := obj[keys[len(keys)-1]]; exists {
41-
return value.(T), nil
46+
if v, ok := value.(T); ok {
47+
return v, nil
48+
} else {
49+
return defaultT, fmt.Errorf("can't convert to type T")
50+
}
4251
} else {
4352
return defaultT, fmt.Errorf("key %s not found", keys[len(keys)-1])
4453
}

0 commit comments

Comments
 (0)