Refactor Token type into utils

Signed-off-by: Sebastian Martinez <sebastinez@me.com>
This commit is contained in:
Sebastian Martinez
2021-11-02 10:31:58 +01:00
parent 497074a0a5
commit b73177ad06
2 changed files with 10 additions and 5 deletions
+1 -2
View File
@@ -1,7 +1,6 @@
<script lang="ts">
import type { SvelteComponent } from 'svelte';
import type { Config } from '@app/config';
import type { BigNumber } from "ethers";
import { formatName, explorerLink } from '@app/utils';
import { session } from '@app/session';
import Loading from '@app/Loading.svelte';
@@ -45,7 +44,7 @@
const transferOwnership = () => {
transferOwnerForm = TransferOwnership;
};
$: getOrgTreasury = async (org: Org): Promise<Array<{ name: string; symbol: string; logo: string; decimals: number; balance: BigNumber }>| undefined> => {
$: getOrgTreasury = async (org: Org): Promise<Array<utils.Token>| undefined> => {
const addressType = await utils.identifyAddress(org.owner, config);
// We query the org treasury only for Gnosis Safes, to maintain some privacy for EOA org owners.
if (addressType === utils.AddressType.Safe) {
+9 -3
View File
@@ -31,6 +31,14 @@ export interface SafeTransaction {
operation: number;
}
export interface Token {
name: string;
symbol: string;
logo: string;
decimals: number;
balance: BigNumber;
}
export async function isReverseRecordSet(address: string, domain: string, config: Config): Promise<boolean> {
const name = await config.provider.lookupAddress(address);
return name === domain;
@@ -379,9 +387,7 @@ export async function getOwnerSafes(owner: string, config: Config): Promise<stri
}
// Get token balances for an address.
export async function getTokens(address: string, config: Config):
Promise<Array<{ name: string; symbol: string; decimals: number; logo: string; balance: BigNumber }>>
{
export async function getTokens(address: string, config: Config): Promise<Array<Token>> {
const userBalances = await config.provider.send("alchemy_getTokenBalances", [address, "DEFAULT_TOKENS"]);
const balances = userBalances.tokenBalances.filter((token: any) => {
// alchemy_getTokenBalances sometimes returns 0x and this does not work well with ethers.BigNumber