| Metric | What It Is | Endpoint | Field |
|---|---|---|---|
| Total FT Value | FT currently held in PUTs, in USD | GET /tge/metrics |
data.ft_allocation.chains[].value_usd |
| Total Investment | Sum of all collateral tokens currently invested | GET /tge/metrics |
data.collateral_supply.chains[].assets[].value_usd |
| All Time Yield | Cumulative yield claimed from strategies (ever) | GET /tge/metrics |
data.strategy_allocation.entries[].yield_claimed |
This guide explains how to query merkle proofs from the API for the invest flow.
The investor wave system generates merkle proofs for whitelisted investors. Frontend needs to:
- Check if a user is whitelisted
- Get their proof and allocation amount
- Pass these to the contract's
invest()function
This guide explains how to query the current merkle root from the API to update your smart contract.
The investor wave system maintains a merkle tree of whitelisted investors. When a new investor CSV is deployed, a new merkle root is generated. You need to update your contract with this new root to enable the new whitelist.
This guide explains how to set up the import_wave service in your Docker Compose configuration.
The investor wave system imports whitelisted investors from a CSV file and generates merkle proofs for on-chain verification. The import runs as a one-time job during deployments, after database migrations.
| import React from 'react'; | |
| import { Image, View, Text, TextInput, LayoutAnimation } from 'react-native'; | |
| import KeyboardEventListener from '../util/KeyboardEventListener'; | |
| export default class AuthenticationScreen extends React.Component { | |
| state = { | |
| keyboardHeight: 0, | |
| } | |
| componentDidMount() { |
| import React, { Component } from "react"; | |
| import { StyleSheet, View, Text, PanResponder } from "react-native"; | |
| export default class Swipeable extends Component { | |
| state = { | |
| dragging: false, | |
| offsetTop: 0, | |
| offsetLeft: 0 | |
| }; |
| import React from "react"; | |
| import { Constants } from "expo"; | |
| import { | |
| TextInput, | |
| ScrollView, | |
| View, | |
| Text, | |
| StyleSheet, | |
| StatusBar, | |
| Button, |
| import React from 'react'; | |
| import { Constants } from 'expo'; | |
| import { | |
| TextInput, | |
| ScrollView, | |
| View, | |
| Text, | |
| StyleSheet, | |
| StatusBar, | |
| } from 'react-native'; |
| import React from "react"; | |
| import { SectionList, StyleSheet, Text, View, Image } from "react-native"; | |
| import ToggleButton from "../components/ToggleButton"; | |
| const thursdaySections = [ | |
| { | |
| key: "8:30 AM", | |
| data: [{ key: 0, title: "Registration, breakfast" }] | |
| }, | |
| { |
| import React from "react"; | |
| import { SectionList, StyleSheet, Text, View, Image } from "react-native"; | |
| import ToggleButton from "../components/ToggleButton"; | |
| const thursdaySections = [ | |
| { | |
| key: "8:30 AM", | |
| data: [{ key: 0, title: "Registration, breakfast" }] | |
| }, | |
| { |