Skip to content
This repository has been archived by the owner on Jan 24, 2024. It is now read-only.

Commit

Permalink
feat(aura): Add Aura Finance (#892)
Browse files Browse the repository at this point in the history
  • Loading branch information
0xButterfield committed Jul 20, 2022
1 parent c8edd3e commit efa1003
Show file tree
Hide file tree
Showing 36 changed files with 12,978 additions and 0 deletions.
Binary file added src/apps/aura/assets/logo.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
65 changes: 65 additions & 0 deletions src/apps/aura/aura.definition.ts
@@ -0,0 +1,65 @@
import { Register } from '~app-toolkit/decorators';
import { appDefinition, AppDefinition } from '~app/app.definition';
import { AppAction, AppTag, GroupType } from '~app/app.interface';
import { Network } from '~types/network.interface';

export const AURA_DEFINITION = appDefinition({
id: 'aura',
name: 'Aura Finance',
description:
'Aura Finance is a governance and liquidity aggregation protocol built on top of Balancer, with platform-agnostic support for any ve-token system.',
url: 'https://app.aura.finance',

groups: {
chef: {
id: 'chef',
type: GroupType.TOKEN,
label: 'auraBAL Rewards',
},
staking: {
id: 'staking',
type: GroupType.TOKEN,
label: 'Staked auraBAL',
},
pools: {
id: 'pools',
type: GroupType.TOKEN,
label: 'Balancer Pools',
},
locker: {
id: 'locker',
type: GroupType.POSITION,
label: 'Locked AURA',
},
},

tags: [AppTag.LIQUIDITY_POOL],
keywords: [],

links: {
twitter: 'https://twitter.com/AuraFinance',
discord: 'https://discord.gg/aurafinance',
medium: 'https://mirror.xyz/0xfEE0Bbe31345a7c27368534fEf45a57133FF3A86',
github: 'https://github.com/aurafinance',
},

supportedNetworks: {
[Network.ETHEREUM_MAINNET]: [AppAction.VIEW],
},

primaryColor: '#7c3aed',

token: {
address: '0xc0c293ce456ff0ed870add98a0828dd4d2903dbf',
network: Network.ETHEREUM_MAINNET,
},
});

@Register.AppDefinition(AURA_DEFINITION.id)
export class AuraAppDefinition extends AppDefinition {
constructor() {
super(AURA_DEFINITION);
}
}

export default AURA_DEFINITION;
37 changes: 37 additions & 0 deletions src/apps/aura/aura.module.ts
@@ -0,0 +1,37 @@
import { Register } from '~app-toolkit/decorators';
import { AbstractApp } from '~app/app.dynamic-module';
import { BalancerV2AppModule } from '~apps/balancer-v2';
import { SynthetixAppModule } from '~apps/synthetix';

import { AuraAppDefinition, AURA_DEFINITION } from './aura.definition';
import { AuraContractFactory } from './contracts';
import { EthereumAuraBalanceFetcher } from './ethereum/aura.balance-fetcher';
import { EthereumAuraChefContractPositionFetcher } from './ethereum/aura.chef.contract-position-fetcher';
import { EthereumAuraChefTokenFetcher } from './ethereum/aura.chef.token-fetcher';
import { EthereumAuraLockerContractPositionFetcher } from './ethereum/aura.locker.contract-position-fetcher';
import { EthereumAuraPoolsContractPositionFetcher } from './ethereum/aura.pools.contract-position-fetcher';
import { EthereumAuraPoolsTokenFetcher } from './ethereum/aura.pools.token-fetcher';
import { EthereumAuraStakingContractPositionFetcher } from './ethereum/aura.staking.contract-position-fetcher';
import { AuraBalancerPoolsHelper } from './helpers/aura.balancer-pools-helper';
import { AuraBaseRewardPoolHelper } from './helpers/aura.base-reward-pool-helper';

@Register.AppModule({
appId: AURA_DEFINITION.id,
imports: [SynthetixAppModule, BalancerV2AppModule],
providers: [
AuraAppDefinition,
AuraContractFactory,
// Ethereum
EthereumAuraBalanceFetcher,
EthereumAuraChefTokenFetcher,
EthereumAuraPoolsTokenFetcher,
EthereumAuraChefContractPositionFetcher,
EthereumAuraPoolsContractPositionFetcher,
EthereumAuraLockerContractPositionFetcher,
EthereumAuraStakingContractPositionFetcher,
// Helpers
AuraBalancerPoolsHelper,
AuraBaseRewardPoolHelper,
],
})
export class AuraAppModule extends AbstractApp() {}
25 changes: 25 additions & 0 deletions src/apps/aura/aura.types.ts
@@ -0,0 +1,25 @@
export type AuraBaseRewardPoolDataProps = {
extraRewards: { address: string; rewardToken: string }[];
rewardToken: string;
};

export type BalancerPool = {
id: string;
address: string;
name: string;
poolType: string;
swapFee: number;
symbol: string;
tokensList: string;
totalLiquidity: number;
totalSwapVolume: number;
totalSwapFee: number;
totalShares: number;
tokens: {
address: string;
symbol: string;
decimals: number;
balance: number;
weight: number;
}[];
};

0 comments on commit efa1003

Please sign in to comment.