Skip to content

Commit 5724849

Browse files
committed
Merge branch 'flare-deploy'
2 parents b0b9cae + 7df19ac commit 5724849

File tree

23 files changed

+2470
-782
lines changed

23 files changed

+2470
-782
lines changed

configs/dashboard.json

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,14 @@
4343
"ClaimedReward",
4444
"PaidOut",
4545
"Transfer",
46-
"SettingChanged"
46+
"SettingChanged",
47+
"CPClaimedReward",
48+
"CPEntered",
49+
"CPExited",
50+
"CPFeeDebtChanged",
51+
"CPFeeDebtPaid",
52+
"CPFeesWithdrawn",
53+
"CPPaidOut",
54+
"CPSelfCloseExited"
4755
]
4856
}

configs/everything.json

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,14 @@
6363
"EscrowFinished",
6464
"CustodianAddressUpdated",
6565
"SettingsUpdated",
66-
"SettingChanged"
66+
"SettingChanged",
67+
"CPClaimedReward",
68+
"CPEntered",
69+
"CPExited",
70+
"CPFeeDebtChanged",
71+
"CPFeeDebtPaid",
72+
"CPFeesWithdrawn",
73+
"CPPaidOut",
74+
"CPSelfCloseExited"
6775
]
6876
}

packages/fasset-indexer-api/src/analytics/dashboard.ts

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,16 @@ import { ContractLookup, FAsset, FAssetType, FASSETS } from "fasset-indexer-core
33
import {
44
EvmAddress, EvmBlock, EvmLog, ERC20Transfer, MintingExecuted,
55
RedemptionDefault, RedemptionPerformed, RedemptionRequested,
6-
CollateralPoolEntered, CollateralPoolExited,
76
LiquidationPerformed, TokenBalance, AgentVaultInfo,
87
FAssetEventBound, CoreVaultRedemptionRequested,
98
ReturnFromCoreVaultConfirmed, TransferToCoreVaultSuccessful,
109
AssetManagerSettings,
11-
TransferToCoreVaultStarted
10+
TransferToCoreVaultStarted,
11+
CPClaimedReward,
12+
CPEntered,
13+
CPExited,
14+
CPSelfCloseExited,
15+
CPFeesWithdrawn
1216
} from "fasset-indexer-core/entities"
1317
import { EVENTS } from "fasset-indexer-core/config"
1418
import { fassetToUsdPrice } from "./utils/prices"
@@ -173,9 +177,11 @@ export class DashboardAnalytics extends SharedAnalytics {
173177

174178
async poolTransactionsCount(): Promise<AmountResult> {
175179
const em = this.orm.em.fork()
176-
const entered = await em.count(CollateralPoolEntered)
177-
const exited = await em.count(CollateralPoolExited)
178-
return { amount: entered + exited }
180+
const entered = await em.count(CPEntered)
181+
const exited = await em.count(CPExited)
182+
const claimed = await em.count(CPClaimedReward)
183+
const selfCloseExited = await em.count(CPSelfCloseExited)
184+
return { amount: entered + exited + claimed + selfCloseExited }
179185
}
180186

181187
async bestCollateralPools(n: number, minTotalPoolNatWei: bigint, now: number, delta: number, lim: number): Promise<FAssetCollateralPoolScore> {
@@ -410,10 +416,10 @@ export class DashboardAnalytics extends SharedAnalytics {
410416

411417
private async totalClaimedPoolFeesAt(pool?: string, user?: string, timestamp?: number): Promise<FAssetValueResult> {
412418
const enteredFees = await this.filterEnterOrExitQueryBy(
413-
this.orm.em.fork().createQueryBuilder(CollateralPoolExited, 'cpe')
414-
.select(['cpe.fasset', raw('sum(cpe.received_fasset_fees_uba) as fees')])
415-
.groupBy('cpe.fasset'),
416-
'cpe', pool, user, timestamp
419+
this.orm.em.fork().createQueryBuilder(CPFeesWithdrawn, 'cpfw')
420+
.select(['cpfw.fasset', raw('sum(cpfw.withdrawn_fees_uba) as fees')])
421+
.groupBy('cpfw.fasset'),
422+
'cpfw', pool, user, timestamp
417423
).execute() as { fasset: number, fees: bigint }[]
418424
return this.convertOrmResultToFAssetValueResult(enteredFees, 'fees')
419425
}

packages/fasset-indexer-api/src/analytics/shared.ts

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { SelectQueryBuilder, ORM, raw } from "fasset-indexer-core/orm"
22
import {
3-
CollateralPoolEntered, CollateralPoolExited,
4-
MintingExecuted, RedemptionRequested, LiquidationPerformed
3+
MintingExecuted, RedemptionRequested, LiquidationPerformed,
4+
CPExited, CPEntered, CPSelfCloseExited
55
} from "fasset-indexer-core/entities"
66

77

@@ -12,12 +12,13 @@ export abstract class SharedAnalytics {
1212
const entered = await this.poolCollateralEnteredAt(pool, user, timestamp)
1313
if (entered === BigInt(0)) return BigInt(0)
1414
const exited = await this.poolCollateralExitedAt(pool, user, timestamp)
15-
return entered - exited
15+
const selfCloseExited = await this.poolCollateralSelfCloseExitedAt(pool, user, timestamp)
16+
return entered - exited - selfCloseExited
1617
}
1718

1819
protected async poolCollateralEnteredAt(pool?: string, user?: string, timestamp?: number): Promise<bigint> {
1920
const enteredCollateral = await this.filterEnterOrExitQueryBy(
20-
this.orm.em.fork().createQueryBuilder(CollateralPoolEntered, 'cpe')
21+
this.orm.em.fork().createQueryBuilder(CPEntered, 'cpe')
2122
.select([raw('sum(cpe.amount_nat_wei) as collateral')]),
2223
'cpe', pool, user, timestamp
2324
).execute() as { collateral: bigint }[]
@@ -26,13 +27,22 @@ export abstract class SharedAnalytics {
2627

2728
protected async poolCollateralExitedAt(pool?: string, user?: string, timestamp?: number): Promise<bigint> {
2829
const exitedCollateral = await this.filterEnterOrExitQueryBy(
29-
this.orm.em.fork().createQueryBuilder(CollateralPoolExited, 'cpe')
30+
this.orm.em.fork().createQueryBuilder(CPExited, 'cpe')
3031
.select([raw('sum(cpe.received_nat_wei) as collateral')]),
3132
'cpe', pool, user, timestamp
3233
).execute() as { collateral: bigint }[]
3334
return BigInt(exitedCollateral[0]?.collateral || 0)
3435
}
3536

37+
protected async poolCollateralSelfCloseExitedAt(pool?: string, user?: string, timestamp?: number): Promise<bigint> {
38+
const selfCloseExitedCollateral = await this.filterEnterOrExitQueryBy(
39+
this.orm.em.fork().createQueryBuilder(CPSelfCloseExited, 'cpsce')
40+
.select([raw('sum(cpsce.received_nat_wei) as collateral')]),
41+
'cpsce', pool, user, timestamp
42+
).execute() as { collateral: bigint }[]
43+
return BigInt(selfCloseExitedCollateral[0]?.collateral || 0)
44+
}
45+
3646
protected async backedFAssets(vault: string): Promise<bigint> {
3747
const em = this.orm.em.fork()
3848
const minted = await em.createQueryBuilder(MintingExecuted, 'me')

packages/fasset-indexer-api/src/analytics/statistics.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,4 +144,3 @@ export class AgentStatistics extends SharedAnalytics {
144144
return weightedAverage(timespan, now, delta)
145145
}
146146
}
147-

packages/fasset-indexer-core/chain/artifacts/IAssetManager.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@
33
"contractName": "IAssetManager",
44
"sourceName": "contracts/userInterfaces/IAssetManager.sol",
55
"abi": [
6+
{
7+
"inputs": [],
8+
"name": "InvalidAgentVaultAddress",
9+
"type": "error"
10+
},
611
{
712
"anonymous": false,
813
"inputs": [

0 commit comments

Comments
 (0)