File tree Expand file tree Collapse file tree 1 file changed +12
-10
lines changed
Expand file tree Collapse file tree 1 file changed +12
-10
lines changed Original file line number Diff line number Diff line change 4848
4949// LedgerIDs returns the identifiers of the associated ledgers.
5050func (a assets ) LedgerIDs () ([]LedgerBackendID , error ) {
51- ids := make (map [LedgerBackendKey ]LedgerBackendID )
51+ var ids []LedgerBackendID
52+ seen := make (map [LedgerBackendKey ]struct {})
5253
5354 for _ , asset := range a {
5455 ma , ok := asset .(Asset )
@@ -57,18 +58,19 @@ func (a assets) LedgerIDs() ([]LedgerBackendID, error) {
5758 }
5859
5960 assetID := ma .LedgerBackendID ()
61+ key := LedgerBackendKey {
62+ BackendID : assetID .BackendID (),
63+ LedgerID : string (assetID .LedgerID ().MapKey ()),
64+ }
65+ if _ , exists := seen [key ]; exists {
66+ continue // skip duplicates, keep first occurrence order
67+ }
68+ seen [key ] = struct {}{}
6069
61- ids [LedgerBackendKey {BackendID : assetID .BackendID (), LedgerID : string (assetID .LedgerID ().MapKey ())}] = assetID
62- }
63- idsArray := make ([]LedgerBackendID , len (ids ))
64-
65- i := 0
66- for _ , v := range ids {
67- idsArray [i ] = v
68- i ++
70+ ids = append (ids , assetID )
6971 }
7072
71- return idsArray , nil
73+ return ids , nil
7274}
7375
7476// IsMultiLedgerAssets returns whether the assets are from multiple ledgers.
You can’t perform that action at this time.
0 commit comments