0.0.48 • Published 4 years ago
@lombardini.io/dapp v0.0.48
Breaking change v0.0.26
chainId parameter is now mandatory
loginWithKeeper({ chainId: 'R' })
Interaction with Reserves (write sample)
import { loginWithKeeper, dappWrite } from '@lombardini.io/dapp'
import config from './config.json'
const loginWithKeeperAndDeposit = async () => {
const { address, keeper } = await loginWithKeeper({ chainId: 'R' })
const { deposit } = dappWrite(config, keeper)
const assetId = 'WAVES'
const resultFromKeeper = await deposit({ assetId, paymentAmount: 100000000, useAsCollateral: true })
}
DappWrite Interface
type DappWrite = {
deposit: ({ assetId, paymentAmount, useAsCollateral }: depositParams) => Promise<string>
withdraw: ({ assetId, amount }: withdrawParams) => Promise<string>
borrow: ({ assetId, amount }: borrowParams) => Promise<string>
repay: ({ assetId, paymentAmount }: repayParams) => Promise<string>
redeemAtokens: ({ assetId, aTokensAmount }: redeemAtokensParams) => Promise<string>;
replenishWithAtoken: ({ assetId, aTokensAmount }: replenishWithAtokenParams) => Promise<string>
collapseDebt: ({ assetId }: collapseDebtParams) => Promise<string>
mintAtoken: ({ assetId, aTokensAmount }: replenishWithAtokenParams) => Promise<string>
enableUseAsCollateral: ({ assetId }: AssetIdParam) => Promise<string>
disableUseAsCollateral: ({ assetId }: AssetIdParam) => Promise<string>
}
Read state from dapp (read sample)
import { dappRead } from '@lombardini.io/dapp'
import config from './config.json'
const readDAppState = async () => {
const { getConfig, getState, getUserState } = dappRead(config)
//all reserves configs map (assetId => Config)
const reservesConfigs = await getConfig()
//all reserves states map (assetId => ReserveState)
const reservesStates = await getState()
//get state for particular reserves (assetId => ReserveState)
const wavesState = await getState(['WAVES'])
//user reserve state map (assetId => UserState)
const userState = await getUserState('3MJtoDCxYdW69Scpp4qDvM2kVkhvcuRXgFS')
//user state for particular reserves
const userStateWavesReserve = await getUserState('3MJtoDCxYdW69Scpp4qDvM2kVkhvcuRXgFS', ['WAVES'])
}
return types
type Config = {
ABCD: string[]
reserveFactor: string
collateralFactor: string
}
type ReserveState = {
id: string
currentTotalDeposit: string
storedTotalDeposit: string
currentTotalDebt: string
storedTotalDebt: string
currentTotalReserve: string
storedTotalReserve: string
currentIndex: string
storedIndex: string
lastUpdateHeight: string
utilization: string
aTokenCirculation: string
aTokenPrice: string
}
type UserState = {
id: string
currentDebt: string
storedDebt: string
currentDeposit: string
aTokenContractBalance: string
aTokenWalletBalance: string
walletStake: string
assetWalletBalance: string
useAsCollateral: boolean
storedIndex: string
}
login error handling example
import { loginWithKeeper, keeperErrors, dappWrite, dappRead } from '@lombardini.io/dapp'
function loginWithKeeperAndDeposit() {
const assetId = 'WAVES'
const paymentAmount = 100000000 // 1 waves
loginWithKeeper({ chainId: 'R' }).then(({ address, keeper }) => {
const { deposit } = dappWrite(config, keeper)
return deposit({
assetId,
paymentAmount,
useAsCollateral: true,
}).then(x => {
console.log(x)
})
}).catch(e => {
if (e === keeperErrors.wrongNetwork) {
console.log("Oops wrong network")
}
if (e === keeperErrors.rejectedByUser) {
console.log("User rejected")
}
if (e === keeperErrors.noKeeper) {
console.log("Please install keeper")
}
//handle deposit errors
})
}
handling keeper events example
import { onKeeperUserChanged, onKeeperLockedChanged, onKeeperNetworkChanged } from '@lombardini.io/dapp'
onKeeperUserChanged(x => {
console.log(x) // { oldUser: undefined, newUser: "3MMrvig4ecUF2w4ts7hVpYb65LDdbge5YBH" }
})
onKeeperNetworkChanged(x => {
console.log(x) // { network: undefined | 'W' | 'R' }
})
onKeeperLockedChanged(x => {
console.log(x) // { locked: undefined | true | false }
})
0.0.44
4 years ago
0.0.45
4 years ago
0.0.46
4 years ago
0.0.47
4 years ago
0.0.48
4 years ago
0.0.43
4 years ago
0.0.40
4 years ago
0.0.41
4 years ago
0.0.42
4 years ago
0.0.39
4 years ago
0.0.38
4 years ago
0.0.37
4 years ago
0.0.36
4 years ago
0.0.34
4 years ago
0.0.35
4 years ago
0.0.33
4 years ago
0.0.31
4 years ago
0.0.32
4 years ago
0.0.30
4 years ago
0.0.29
4 years ago
0.0.28
4 years ago
0.0.27
4 years ago
0.0.25
4 years ago
0.0.26
4 years ago
0.0.22
4 years ago
0.0.23
4 years ago
0.0.24
4 years ago
0.0.20
4 years ago
0.0.21
4 years ago
0.0.14
4 years ago
0.0.15
4 years ago
0.0.16
4 years ago
0.0.17
4 years ago
0.0.18
4 years ago
0.0.19
4 years ago
0.0.13
4 years ago
0.0.12
4 years ago
0.0.11
4 years ago
0.0.10
4 years ago
0.0.9
4 years ago
0.0.8
4 years ago
0.0.7
4 years ago