add DelegateAdded event
This commit is contained in:
parent
95bef6267c
commit
8409705bc7
|
@ -12,10 +12,11 @@ const FunderProfilesTable = ({ data }) => (
|
|||
<Fragment>
|
||||
<MaterialTable
|
||||
columns={[
|
||||
{ title: 'Profile Id', field: 'idGiver', type: 'numeric' },
|
||||
{ title: 'Profile Id', field: 'idProfile', type: 'numeric' },
|
||||
{ title: 'Name', field: 'name' },
|
||||
{ title: 'Url', field: 'url' },
|
||||
{ title: 'Commit Time', field: 'commitTime', type: 'numeric' },
|
||||
{ title: 'Type', field: 'type' },
|
||||
{ title: 'Canceled', field: 'canceled' }
|
||||
]}
|
||||
data={data.map(formatField)}
|
||||
|
|
|
@ -9,7 +9,7 @@ import AddFunder from './components/AddFunder';
|
|||
import CreateFunding from './components/CreateFunding';
|
||||
import FunderProfilesTable from './components/FunderProfilesTable.jsx'
|
||||
import { initVaultAndLP, vaultPledgingNeedsInit, standardTokenApproval, getLpAllowance } from './utils/initialize'
|
||||
import { getUserFundProfiles, formatFundProfileEvent } from './utils/events';
|
||||
import { getProfileEvents, formatFundProfileEvent } from './utils/events';
|
||||
|
||||
const { getNetworkType } = web3.eth.net;
|
||||
|
||||
|
@ -25,7 +25,7 @@ class App extends React.Component {
|
|||
const { environment } = EmbarkJS
|
||||
const needsInit = await vaultPledgingNeedsInit()
|
||||
const lpAllowance = await getLpAllowance()
|
||||
const fundProfiles = await getUserFundProfiles()
|
||||
const fundProfiles = await getProfileEvents()
|
||||
this.setState({
|
||||
network,
|
||||
environment,
|
||||
|
|
|
@ -1,25 +1,50 @@
|
|||
import LiquidPledgingMock from 'Embark/contracts/LiquidPledgingMock'
|
||||
import web3 from 'Embark/web3'
|
||||
|
||||
const { getPledgeAdmin } = LiquidPledgingMock.methods
|
||||
export const formatFundProfileEvent = async event => {
|
||||
const { returnValues: { idGiver, url } } = event
|
||||
const { commitTime, name, canceled } = await getPledgeAdmin(idGiver).call()
|
||||
return {
|
||||
idGiver,
|
||||
url,
|
||||
commitTime,
|
||||
name,
|
||||
canceled
|
||||
const GIVER_ADDED = 'GiverAdded'
|
||||
const DELEGATE_ADDED = 'DelegateAdded'
|
||||
const lookups = {
|
||||
[GIVER_ADDED]: {
|
||||
id: 'idGiver',
|
||||
type: 'Funder'
|
||||
},
|
||||
[DELEGATE_ADDED]: {
|
||||
id: 'idDelegate',
|
||||
type: 'Delegate'
|
||||
}
|
||||
}
|
||||
|
||||
export const getUserFundProfiles = async () => {
|
||||
const events = await LiquidPledgingMock.getPastEvents('GiverAdded', {
|
||||
const { getPledgeAdmin } = LiquidPledgingMock.methods
|
||||
export const formatFundProfileEvent = async event => {
|
||||
const lookup = lookups[event.event]
|
||||
const { returnValues: { url } } = event
|
||||
const idProfile = event.returnValues[lookup.id]
|
||||
const { commitTime, name, canceled } = await getPledgeAdmin(idProfile).call()
|
||||
return {
|
||||
idProfile,
|
||||
url,
|
||||
commitTime,
|
||||
name,
|
||||
canceled,
|
||||
type: lookups[event.event].type
|
||||
}
|
||||
}
|
||||
|
||||
const getPastEvents = async event => {
|
||||
const events = await LiquidPledgingMock.getPastEvents(event, {
|
||||
addr: await web3.eth.getCoinbase(),
|
||||
fromBlock: 0,
|
||||
toBlock: 'latest'
|
||||
})
|
||||
const formattedEvents = await Promise.all(events.map(formatFundProfileEvent))
|
||||
const formattedEvents = await Promise.all(
|
||||
events.map(formatFundProfileEvent)
|
||||
)
|
||||
return formattedEvents
|
||||
}
|
||||
export const getFunderProfiles = async () => await getPastEvents('GiverAdded')
|
||||
export const getDelegateProfiles = async () => await getPastEvents('DelegateAdded')
|
||||
export const getProfileEvents = async () => {
|
||||
const funderProfiles = await getFunderProfiles()
|
||||
const delegateProfiles = await getDelegateProfiles()
|
||||
return [ ...funderProfiles, ...delegateProfiles]
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue