Registry
xVault (High Yield)
xAuto (High Yield)
Venus Lending Protocol
Fortube
DefiDollar
Contract Name | Contract Address V2 (Recommended) | Contract Addresses V1 | Some Functions Used |
---|---|---|---|
xvUSDT | deposit, withdraw, totalAssets (TVL) pricePerShare | ||
xvUSDC | deposit, withdraw, totalAssets (TVL) pricePerShare | ||
xvBUSD | deposit, withdraw, totalAssets (TVL) pricePerShare | ||
StrategyUgoHawkVenusUSDTFarm | | ||
StrategyUgoHawkVenusUSDCFarm | | ||
StrategyUgoHawkVenusBUSDFarm | |
Contract Name | Contract Address V2 (Recommended) | Contract Addresses V1 | Some Functions Used |
---|---|---|---|
xBUSD | approve, deposit, withdraw, getPricePerFullShare | ||
xUSDC | deposit, withdraw | ||
xUSDT | deposit, withdraw, getPricePerFullShare | ||
xBNB | approve, deposit, withdraw | ||
APRWithPoolOracle | | ||
EarnAPRWithPool | |
Contract Name | Contract Address | Some Functions Used |
Protocol Adapter | 0x655ca90baa0936A056eFC5E389Baf97026DfFdA3 | |
Protocol Service | 0xd99d68d7d01Af99F3089d0EFBB12C1A02658d436 | |
Group | 0x41E95e88c0dCEaCe4159f4118217B67038aaE6F0 | getGroupById createGroup |
Cycles (Cooperatives) | 0x0884d96d51dDF544865af8eE3fF5a354e815CC32 | getCycles getCycleInfoById |
Esusu Service | 0x5a32A13770Db90Da7DEA78005Ce110BBBdA8Aac3 | CreateEsusu JoinEsusu StartEsusuCycle WithdrawCapitalFromEsusuCycle WithdrawROIFromEsusuCycle |
Esusu Storage | 0x2603ba3426aA62d708dbEcf138E04B91e1548A74 | GetEsusuCycles GetEsusuCycle |
Esusu Adapter | 0xC1C39c7086D1FAFA8a2ffd49d0eA5ECBD37Bf3d1 | GetGroupInformationById |
Client Record | 0x715Adf500E2a5d2a823eec12c9e34b6093Ea7272 | getClientRecordByAddress GetRecords |
Xend Finance Individual (Personal Savings) | 0x1349236eFfA145CbE2Ad80A20fFee192e35131fa | FixedDeposit deposit withdraw WithdrawFromFixedDeposit |
Xend Finance Group (Cooperative Savings) | 0x52e343f0E797717195df7858CE8A1080504c4B6d | createGroup createCycle endCycle joinCycle activateCycle withdrawFromCycle withdrawFromCycleWhileItIsOngoing |
Xend Token | 0x4a080377f83D669D7bB83B3184a8A5E61B500608 | |
BUSD Token | 0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56 | approve |
Contract Name | Contract Address |
Xend Finance Group (Cooperative Savings) | 0x902b9E4eCa35A5f504401f713AE14448C948Ca7c
0xB7c715dca5133e88A29c086bEddb2A6075829BE3
0xe9306300b2a685151c03D5b966F8D5Ca143de7B8
0x82B03319887Cf1Ea980637A36b657Aac21620259 0x497899aBed0F5Bdb8A8Dfa15eCA102aEa1933172
0x03e86B21acF54A3d1abbFE600F78B60384C8211f 0x21d635b36F54E70b578eAd19448BFa2bB73F96E2 |
Xend Finance Individual (Personal Savings) | 0xB44367EABfEf9b1BDbF38a56503E0E5E3105B1A4
0xaE8C4E2B9c4A88DfD2aBFEc55fC938Af1bda96d4 0x8776C093CE3a3E0ee6a7C1FE957F666B8084C448 0xe4AA46a344043bBA9cee7172ecc07f861ebe21B2 |
Contract Name | Address | Some Functions Used |
Protocol Adapter | 0x5F82328648b4c5dd0fe895CaC650e9bfCcC07844 | |
Protocol Service | 0x84801368510d1cfc2A194E118d1FA74e1B8C1472 | |
Groups | 0xa6566293CEC8023A5151D785b30695E4Aa58ec41 | |
Cycles | 0x405B46E2E9A339F8BBd4520AcD4254E02713E684 | |
Esusu Service | 0x181B0A426bf8c71bf0702324d58EB9Ce7314faB6 | |
Esusu Storage | 0xf1BF6F94170EEa855eB273F361D1B7A32C2Ea4f5 | |
Esusu Adapter | 0x68C9727d1B6df57a9C59901465f458f162E5C58E | |
Client Record | 0xCF666D971E080412b1457846066422CB74De8d14 | |
Individual (Personal Savings) | 0x1E24e573bce2A6b6d74231327f20dF511225B931 | |
Cooperative Savings | 0xe9B087aA3A4AFA1d7f56BC2d6f59D51155479dcd | |
BUSD Token | 0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56 | |
Contract Name | Address |
Individual (Personal Savings) | 0x21eb8fcfAADDaa2eF664810a63A1720EaF6FD6B8 |
Contract Name | Address |
Protocol Adapter | 0xa455edD32a72Ae1A1dc0699C2ED45C25a568d3c0 |
Protocol Service | 0x02a08332Efce731590AbF03e0bC93B39f007a043 |
Groups | 0x2d2cf772b00EEDF1A59549BF4D3C33B7Cf39866c |
Cycles | 0x3C984F5435f4EA69dCBC6D64cefF794E55916b2f |
Esusu Service | 0x48Cc703ce6CE9c061F5dC924fB2106953728006E |
Esusu Storage | 0xC732D07eeC622BAE85A4Fbbd2fac2f4375C21cA6 |
Esusu Adapter | 0xF17f4587D414625Fe51e6543b3d103000e0Fff75 |
Client Record | 0xaa2B817DAb535839AA83991421928599e7df6ffF |
Individual (Personal Savings) | 0x53bA300b24db88580384aE69C84d0Bf566a894D6 0x538e522ea3d8017a4aBDeC3f3091bD0fB1B3d92c |
Cooperative Savings | 0xDCC47fE454B17378ff09AA15DA0c6B9D90230fA0 0xeB3177D9b320639D4b09BAd71795103b5ad3D426 |
BUSD Token | 0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56 |
Contract Name | Address |
Individual (Personal Savings) | 0xE2130e88487Edf3a0fd1d715090fB8A8cFeD5F6D |
xAuto (High Yield)
Contract Name | Contract Address V2 (Recommended) | Contract Addresses V1 | Some Functions Used |
---|---|---|---|
xUSDT | deposit withdraw balance getPricePerFullShare | ||
xUSDC | deposit withdraw balance getPricePerFullShare | ||
xAAVE | deposit withdraw balance getPricePerFullShare | ||
xWBTC | deposit withdraw balance getPricePerFullShare | ||
EarnAPRWithPool | | ||
APRWithPoolOracle | | ||
| | | |
Yearn Finance
Contract Name | Address |
Protocol Adapter | 0x083313c94D2ff5756E7c49E8516d813E19bB04B0 |
Protocol Service | |
Groups | 0x90d26bf93607666ff2beb99556dbf6a379ced9bf |
Cycles | 0x755322b498d9A007055587760BE2cC8465A3BC2A |
Esusu Service | 0xc0163F657b48Cd5058b256334c002e4D02Fdc3C4 |
Esusu Storage | 0xD08eA81B20252228329D5EC8Ca1393c86894442c |
Esusu Adapter | 0x671D3B4cC56C29E3409736a913ba96B4473F15c5 |
Client Record | 0x1c1f9af4d32562c3666930d3988c75ba6a4f9645 |
Individual (Personal Savings) | 0x552260A8F6686430632a5BA6FeAcd066E34b33A2 |
Cooperative Savings | 0xE519545539E35f2704D571a476464d037Bcd32cc |
DAI Token | 0x6b175474e89094c44da98b954eedeac495271d0f |
To deposit in the xAuto or xVault Protocol, Call the deposit function from the Xend Finance xAuto or xVault Protocols(Layer 2 Aggregator ) contracts.
Parameters | Description |
---|---|
Token Ticker | "BUSD","USDT","USDC" |
Amount | Amount to Deposit |
const { Personal, xAuto, xVault } = await setupSdk(privateKey, chainId, protocolName);
if (protocolName === 'xAuto') {
const receipt = await xAuto.deposit("BUSD", String(amount))
if (receipt.status) {
return {
block: receipt.blockNumber,
gasUsed: receipt.gasUsed,
tnxHash: receipt.transactionHash
}
}
throw 'failed'
}
else if (protocolName === 'xVault') {
const receipt = await xVault.deposit("BUSD", String(amount))
if (receipt.status) {
return {
block: receipt.blockNumber,
gasUsed: receipt.gasUsed,
tnxHash: receipt.transactionHash
}
}
throw 'failed'
}
To withdraw in the xAuto or xVault Protocol, Call the withdraw function from the Xend Finance xAuto or xVault Protocols(Layer 2 Aggregator ) contracts.
Parameters | Description |
---|---|
Token Ticker | "BUSD","USDT","USDC" |
Amount | Amount to Withdraw |
const { Personal, xAuto, xVault } = await setupSdk(privateKey, chainId, protocolName);
if (protocolName === 'xAuto') {
const receipt = await xAuto.withdraw("BUSD", totalBUSDAdmount)
if (receipt.status) {
return {
block: receipt.blockNumber,
gasUsed: receipt.gasUsed,
tnxHash: receipt.transactionHash
}
}
}
if (protocolName === 'xVault') {
const receipt = await xVault.withdraw("BUSD", totalBUSDAdmount)
if (receipt.status) {
return {
block: receipt.blockNumber,
gasUsed: receipt.gasUsed,
tnxHash: receipt.transactionHash
}
}
}
To deposit in the flexible savings, we'll first call the approve function to allow the Xend Finance contract to take the approved amount. Call the approve function from the BUSD Token contract, and the deposit function from the Xend Finance Individual (Personal Savings) contract.
Parameters | Description |
amount | |
//1. first approve contract to spend amount
await contract.methods.approve(conractAddress, amount).send({from: clientAddress})
//2. call deposit
await contract.methods.deposit().send({from: clientAddress})
Call withdraw function from Xend Finance Individual (Personal Savings) contract
Parameters | Description |
amount | |
await contract.methods.withdraw(amount).send({from: clientAddress})
To deposit in the flexible savings, we'll first call the approve function to allow the Xend Finance contract to take the approved amount. Call the approve function from the BUSD Token contract, and the FixedDeposit function from the Xend Finance Individual (Personal Savings) contract.
Parameters | Description |
amount | |
lockPeriod | |
//1. first approve contract to spend amount
await contract.methods.approve(conractAddress, amount).send({from: clientAddress})
// 2. call FixedDeposit with lock period
await contract.methods.FixedDeposit(lockPeriod).send({from: clientAddress})
Call the WithdrawFromFixedDeposit function from Xend Finance Individual (Personal Savings) contract
Parameters | Description |
recordId | |
await contract.methods.WithdrawFromFixedDeposit(recordId).send({from: clientAddress})
A group needs to be created to be able to create an Esusu or Cooperative cycle.
Contract: Group
Parameters | Type | Description |
name | string | every group has a unique name |
symbol | string | |
await contract.methods.createGroup(name, symbol).send({from:clientAddress})
Retrieves the details of a group using its id.
Contract: Group
await contract.methods.getGroupById(groupId).call()
Create an Esusu cycle to enable potential members to join and start saving.
Contract: Esusu Service
Parameters | Type | Description |
groupId | | |
depositAmount | | the deposit amount should be a big number |
payoutIntervalInSeconds | | |
startTimeInSeconds | | |
maxMembers | | maximum number of addresses that would be able to join this cycle |
await contract.methods.CreateEsusu(groupId, depositAmount, payoutIntervalInSeconds, startTimeInSeconds, maxMembers).send({from:clientAddress})
Adds an address as a member of an Esusu cycle if the address has sufficient balance.
Contract: Esusu Service
Parameter | Type | Description |
cycleId | | |
await contract.methods.JoinEsusu(cycleId).send({from:clientAddress})
Contract: Esusu Service
Parameters | Description |
cycleId | |
await contract.methods.StartEsusuCycle(cycleId).send({from: clientAddress})
Call this function to withdraw gained ROI from being part of an Esusu cycle.
Contract: Esusu Service
Parameters | Description |
cycleId | |
await contract.methods.WithdrawROIFromEsusuCycle(cycleId).send({from: clientAddress})
Withdraw the deposit amount used to join the cycle.
Contract: Esusu Service
Parameters | Description |
cycleId | |
await contract.methods.WithdrawROIFromEsusuCycle(cycleId).send({from: clientAddress})
Contract: Xend Finance Group (Cooperative Savings)
Parameters | Description |
groupId | |
startTimeInSeconds | |
payoutIntervalInSeconds | |
maxMembers | |
hasMaximumSlots | boolean |
stakeAmount | |
await contract.methods.createCycle(groupId, startTimeInSeconds, payoutIntervalInSeconds, maxMembers, hasMaximumSlots, stakeAmount).send({from: clientAddress})
Contract: Xend Finance Group (Cooperative Savings)
Parameters | Description |
cycleId | |
numberOfStake | members can have one or more stakes in a cooperative cycle |
await contract.methods.joinCycle(cycleId, numberOfStake).send({from: clientAddress})
Contract: Xend Finance Group (Cooperative Savings)
Parameters | Description |
cycleId | |
await contract.methods.activateCycle(cycleId).send({from: clientAddress})
In the cooperative cycles, there's a provision to withdraw from the cycle before the end date and time and also to withdraw when the cycle duration ends. Withdrawing while the cycle is ongoing incurs a severance fee on the member that withdraws.
Contract: Xend Finance Group (Cooperative Savings)
Parameters | Description |
cycleId | |
// withdrawing while cycle is ongoing
await contracts.methods.withdrawFromCycleWhileItIsOngoing(cycleId).send({from: clientAddress})
// withdrawing after cycle is completed
await contracts.methods.withdrawFromCycle(cycleId).send({from: clientAddress})
Last modified 1yr ago