Skip to content

Commit b9d7fd1

Browse files
committed
fix: upserts into tokens meta
1 parent bcec57a commit b9d7fd1

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

src/sdk/base/TokensMeta.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,23 @@ export class TokensMeta extends AddressMap<TokenMetaData> {
5252
this.#tokenDataLoaded.clear();
5353
}
5454

55+
public override upsert(
56+
address: string,
57+
value: TokenMetaData | undefined,
58+
): void {
59+
let v = value;
60+
const existing = this.get(address);
61+
// update existing value with new one
62+
// is needed since some methods here augment existing values, to prevent losing this on market reload
63+
if (existing && v) {
64+
v = {
65+
...existing,
66+
...v,
67+
};
68+
}
69+
super.upsert(address, v);
70+
}
71+
5572
public symbol(token: Address): string {
5673
return this.mustGet(token).symbol;
5774
}

src/sdk/utils/AddressMap.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ export class AddressMap<T> {
1818
}
1919

2020
/**
21-
* Adds or updates value, undefined removes value
21+
* Adds or overwrites value, undefined removes value
2222
* @param address
2323
* @param value
2424
*/

0 commit comments

Comments
 (0)