Skip to content

Commit

Permalink
update milestone token when handling AddMilestone event
Browse files Browse the repository at this point in the history
  • Loading branch information
ewingrj committed Dec 27, 2018
1 parent 97f66e6 commit 53ec1cf
Showing 1 changed file with 20 additions and 0 deletions.
20 changes: 20 additions & 0 deletions src/blockchain/projects.js
Expand Up @@ -32,6 +32,7 @@ const projects = (app, liquidPledging) => {
let milestoneBase;

async function fetchProfile(url) {
if (!url || url === '') return {};
const [err, profile] = await to(app.ipfsFetcher(url));

if (err) {
Expand All @@ -45,6 +46,18 @@ const projects = (app, liquidPledging) => {
return profile;
}

function findToken(foreignAddress) {
const tokenWhitelist = app.get('tokenWhitelist');

const token = tokenWhitelist.find(
t => t.foreignAddress.toLowerCase() === foreignAddress.toLowerCase(),
);

if (!token) throw new Error(`Un-whitelisted token: ${foreignAddress}`);

return token;
}

async function getKernel() {
const kernelAddress = await liquidPledging.kernel();
return new Kernel(web3, kernelAddress);
Expand Down Expand Up @@ -142,6 +155,7 @@ const projects = (app, liquidPledging) => {
pluginAddress: project.plugin,
url: project.url,
ownerAddress: milestone.ownerAddress,
token: milestone.token,
totalDonated: '0',
currentBalance: '0',
donationCount: 0,
Expand Down Expand Up @@ -223,6 +237,7 @@ const projects = (app, liquidPledging) => {
cappedMilestone.recipient(),
cappedMilestone.milestoneManager(),
cappedMilestone.completed(),
cappedMilestone.acceptedToken(),
liquidPledging.isProjectCanceled(projectId),
web3.eth.getTransaction(txHash),
]);
Expand All @@ -234,10 +249,13 @@ const projects = (app, liquidPledging) => {
recipient,
manager,
completed,
acceptedToken,
canceled,
tx,
] = responses;

const token = findToken(acceptedToken);

if (!milestone) {
milestone = await createMilestone(
project,
Expand All @@ -250,6 +268,7 @@ const projects = (app, liquidPledging) => {
ownerAddress: manager,
completed,
canceled,
token,
},
tx,
);
Expand All @@ -274,6 +293,7 @@ const projects = (app, liquidPledging) => {
pluginAddress: project.plugin,
status: milestoneStatus(completed, canceled),
url: project.url,
token,
mined: true,
});

Expand Down

0 comments on commit 53ec1cf

Please sign in to comment.