Skip to content

Commit

Permalink
fix update detection
Browse files Browse the repository at this point in the history
  • Loading branch information
josemarinas committed Dec 12, 2023
1 parent da44044 commit e993d7a
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 13 deletions.
20 changes: 8 additions & 12 deletions modules/client/src/internal/client/methods.ts
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ import {
TransferSortBy,
} from "../../types";
import {
ProposalActionTypes,
SubgraphBalance,
SubgraphDao,
SubgraphDaoListItem,
Expand All @@ -83,8 +84,6 @@ import {
import {
classifyProposalActions,
containsDaoUpdateAction,
containsPluginUpdateActionBlock,
containsPluginUpdateActionBlockWithRootPermission,
toAssetBalance,
toDaoActions,
toDaoDetails,
Expand Down Expand Up @@ -1125,7 +1124,9 @@ export class ClientMethods extends ClientCore implements IClientMethods {
const subgraphActions = iproposal.actions;
let actions = toDaoActions(subgraphActions);
const classifiedActions = classifyProposalActions(actions);
return containsDaoUpdateAction(classifiedActions);
return classifiedActions.includes(
ProposalActionTypes.UPGRADE_TO_AND_CALL,
) || classifiedActions.includes(ProposalActionTypes.UPGRADE_TO);
}
/**
* Given a proposal id returns if that proposal is a plugin update proposal
Expand All @@ -1148,14 +1149,9 @@ export class ClientMethods extends ClientCore implements IClientMethods {
if (!iproposal) {
return false;
}
const subgraphActions = iproposal.actions;
let actions = toDaoActions(subgraphActions);
let actions = toDaoActions(iproposal.actions);
let classifiedActions = classifyProposalActions(actions);
if (containsDaoUpdateAction(classifiedActions)) {
classifiedActions = classifiedActions.slice(1);
}
return containsPluginUpdateActionBlock(classifiedActions) ||
containsPluginUpdateActionBlockWithRootPermission(classifiedActions);
return classifiedActions.includes(ProposalActionTypes.APPLY_UPDATE);
}
/**
* Check if the specified proposal id is valid for updating a plugin
Expand Down Expand Up @@ -1198,11 +1194,11 @@ export class ClientMethods extends ClientCore implements IClientMethods {
],
};
}

let daoActions = toDaoActions(iproposal.actions);
const classifiedActions = classifyProposalActions(daoActions);

// remove upgradeToAndCall action
// remove upgradeToAndCall action
if (containsDaoUpdateAction(classifiedActions)) {
daoActions = daoActions.slice(1);
}
Expand Down
4 changes: 3 additions & 1 deletion modules/client/test/integration/client/methods.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2068,7 +2068,9 @@ describe("Client", () => {
TEST_MULTISIG_PROPOSAL_ID,
);
expect(res.isValid).toBe(false);
expect(res.proposalSettingsErrorCauses).toMatchObject([ProposalSettingsErrorCause.PROPOSAL_NOT_FOUND]);
expect(res.proposalSettingsErrorCauses).toMatchObject([
ProposalSettingsErrorCause.PROPOSAL_NOT_FOUND,
]);
expect(res.actionErrorCauses).toMatchObject([]);
});
});
Expand Down

0 comments on commit e993d7a

Please sign in to comment.