Skip to content

Commit b30b7b5

Browse files
committed
track usdc on fogo
1 parent cd6f2a4 commit b30b7b5

File tree

5 files changed

+35
-9
lines changed

5 files changed

+35
-9
lines changed

src/adapters/peggedAssets/helper/chains.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@
6363
"findora",
6464
"flare",
6565
"flow",
66+
"fogo",
6667
"fraxtal",
6768
"fusion",
6869
"fuse",

src/adapters/peggedAssets/helper/getSupply.ts

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -112,11 +112,7 @@ export function solanaMintedOrBridged(
112112
targets: string[],
113113
pegType?: PeggedAssetType
114114
) {
115-
return async function (
116-
_timestamp: number,
117-
_ethBlock: number,
118-
_chainBlocks: ChainBlocks
119-
) {
115+
return async function () {
120116
let balances = {} as Balances;
121117
let assetPegType = pegType ? pegType : ("peggedUSD" as PeggedAssetType);
122118
for (let target of targets) {
@@ -127,6 +123,18 @@ export function solanaMintedOrBridged(
127123
};
128124
}
129125

126+
export function fogoMintedOrBridged(targets: string[], pegType?: PeggedAssetType) {
127+
return async function () {
128+
let balances = {} as Balances;
129+
let assetPegType = pegType ? pegType : ("peggedUSD" as PeggedAssetType);
130+
for (let target of targets) {
131+
const totalSupply = await solanaGetTokenSupply(target, "fogo");
132+
sumSingleBalance(balances, assetPegType, totalSupply, target, true);
133+
}
134+
return balances;
135+
};
136+
}
137+
130138
export function zilliqaMintedOrBridged(
131139
targets: string[],
132140
pegType?: PeggedAssetType

src/adapters/peggedAssets/helper/solana.js

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
11
const axios = require("axios");
22

3-
const endpoint = process.env.SOLANA_RPC ?? "https://api.mainnet-beta.solana.com";
3+
const endpoint = process.env.SOLANA_RPC ?? "https://api.mainnet-beta.solana.com"
4+
const getEndpoints = {
5+
solana: () => process.env.SOLANA_RPC ?? "https://api.mainnet-beta.solana.com",
6+
fogo: () => process.env.FOGO_RPC ?? "https://mainnet.fogo.io",
7+
}
48

5-
async function getTokenSupply(token) {
9+
async function getTokenSupply(token, chain = "solana") {
10+
const endpoint = getEndpoints[chain]();
611
const tokenSupply = await axios.post(endpoint, {
712
jsonrpc: "2.0",
813
id: 1,
@@ -12,7 +17,8 @@ async function getTokenSupply(token) {
1217
return tokenSupply.data.result.value.uiAmount;
1318
}
1419

15-
async function getTokenBalance(token, account) {
20+
async function getTokenBalance(token, account, chain = "solana") {
21+
const endpoint = getEndpoints[chain]();
1622
const tokenBalance = await axios.post(endpoint, {
1723
jsonrpc: "2.0",
1824
id: 1,

src/adapters/peggedAssets/usd-coin/config.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,14 @@ export const chainContracts: ChainContracts = {
6161
],
6262
bridgedFromCelo: ["DHpoYejUDqzByb6HAdaLWF7KZvwUv2vWYDY9cTENNZui"], // allbridge
6363
bridgedFromFantom: ["Grk6b4UMRWkgyq4Y6S1BnNRF4hRgtnMFp7Sorkv6Ez4u"], // allbridge
64-
unreleased: ["7VHUFJHWu2CuExkJcJrzhQPJ2oygupTWkL2A2For4BmE", "41zCUJsKk6cMB94DDtm99qWmyMZfp4GkAhhuz4xTwePu"], // study https://solscan.io/token/EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v#holders
64+
unreleased: [
65+
"7VHUFJHWu2CuExkJcJrzhQPJ2oygupTWkL2A2For4BmE",
66+
"41zCUJsKk6cMB94DDtm99qWmyMZfp4GkAhhuz4xTwePu",
67+
"42qwJUTbKf3D8ULfWadUSjnHf6pkJ4H1VjCcfSKHvDTN", // wormhole to FOGO
68+
], // study https://solscan.io/token/EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v#holders
69+
},
70+
fogo: {
71+
bridgedFromSol: ['uSd2czE61Evaf76RNbq4KPpXnkiL3irdzgLFUMe3NoG']
6572
},
6673
arbitrum: {
6774
issued: ["0xaf88d065e77c8cc2239327c5edb3a432268e5831"],

src/adapters/peggedAssets/usd-coin/index.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import {
99
import {
1010
bridgedSupply,
1111
cosmosSupply,
12+
fogoMintedOrBridged,
1213
osmosisSupply,
1314
solanaMintedOrBridged,
1415
supplyInArbitrumBridge,
@@ -540,6 +541,9 @@ const adapter: PeggedIssuanceAdapter = {
540541
celo: solanaMintedOrBridged(chainContracts.solana.bridgedFromCelo),
541542
fantom: solanaMintedOrBridged(chainContracts.solana.bridgedFromFantom),
542543
},
544+
fogo: {
545+
solana: fogoMintedOrBridged(chainContracts.fogo.bridgedFromSol),
546+
},
543547
bsc: {
544548
ethereum: sumMultipleBalanceFunctions(
545549
[

0 commit comments

Comments
 (0)