@andrewkimjoseph/celina-sdk 0.19.0 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/build/abis/governance.d.ts +33 -0
  2. package/build/abis/governance.js +28 -0
  3. package/build/abis/governance.js.map +1 -1
  4. package/build/services/governance.service.d.ts +12 -0
  5. package/build/services/governance.service.js +98 -0
  6. package/build/services/governance.service.js.map +1 -1
  7. package/build/src/abis/governance.d.ts +33 -0
  8. package/build/src/abis/governance.js +28 -0
  9. package/build/src/abis/governance.js.map +1 -1
  10. package/build/src/services/governance.service.d.ts +12 -0
  11. package/build/src/services/governance.service.js +98 -0
  12. package/build/src/services/governance.service.js.map +1 -1
  13. package/build/src/tools/domains/governance.js +98 -0
  14. package/build/src/tools/domains/governance.js.map +1 -1
  15. package/build/src/tools/types.d.ts +3 -0
  16. package/build/src/tools/website-sync.js +6 -0
  17. package/build/src/tools/website-sync.js.map +1 -1
  18. package/build/src/utils/governance-queue.d.ts +14 -0
  19. package/build/src/utils/governance-queue.js +49 -0
  20. package/build/src/utils/governance-queue.js.map +1 -0
  21. package/build/tests/catalog/domains/chain-ext.js +66 -0
  22. package/build/tests/catalog/domains/chain-ext.js.map +1 -1
  23. package/build/tools/domains/governance.js +98 -0
  24. package/build/tools/domains/governance.js.map +1 -1
  25. package/build/tools/types.d.ts +3 -0
  26. package/build/tools/website-sync.js +6 -0
  27. package/build/tools/website-sync.js.map +1 -1
  28. package/build/utils/governance-queue.d.ts +14 -0
  29. package/build/utils/governance-queue.js +49 -0
  30. package/build/utils/governance-queue.js.map +1 -0
  31. package/package.json +1 -1
@@ -151,6 +151,39 @@ export declare const governanceAbi: readonly [{
151
151
  readonly type: "bool";
152
152
  }];
153
153
  readonly stateMutability: "view";
154
+ }, {
155
+ readonly type: "function";
156
+ readonly name: "upvote";
157
+ readonly inputs: readonly [{
158
+ readonly name: "proposalId";
159
+ readonly type: "uint256";
160
+ }, {
161
+ readonly name: "lesser";
162
+ readonly type: "uint256";
163
+ }, {
164
+ readonly name: "greater";
165
+ readonly type: "uint256";
166
+ }];
167
+ readonly outputs: readonly [];
168
+ readonly stateMutability: "nonpayable";
169
+ }, {
170
+ readonly type: "function";
171
+ readonly name: "revokeVotes";
172
+ readonly inputs: readonly [];
173
+ readonly outputs: readonly [];
174
+ readonly stateMutability: "nonpayable";
175
+ }, {
176
+ readonly type: "function";
177
+ readonly name: "revokeUpvote";
178
+ readonly inputs: readonly [{
179
+ readonly name: "lesser";
180
+ readonly type: "uint256";
181
+ }, {
182
+ readonly name: "greater";
183
+ readonly type: "uint256";
184
+ }];
185
+ readonly outputs: readonly [];
186
+ readonly stateMutability: "nonpayable";
154
187
  }, {
155
188
  readonly type: "function";
156
189
  readonly name: "vote";
@@ -93,6 +93,34 @@ export const governanceAbi = [
93
93
  outputs: [{ name: "", type: "bool" }],
94
94
  stateMutability: "view",
95
95
  },
96
+ {
97
+ type: "function",
98
+ name: "upvote",
99
+ inputs: [
100
+ { name: "proposalId", type: "uint256" },
101
+ { name: "lesser", type: "uint256" },
102
+ { name: "greater", type: "uint256" },
103
+ ],
104
+ outputs: [],
105
+ stateMutability: "nonpayable",
106
+ },
107
+ {
108
+ type: "function",
109
+ name: "revokeVotes",
110
+ inputs: [],
111
+ outputs: [],
112
+ stateMutability: "nonpayable",
113
+ },
114
+ {
115
+ type: "function",
116
+ name: "revokeUpvote",
117
+ inputs: [
118
+ { name: "lesser", type: "uint256" },
119
+ { name: "greater", type: "uint256" },
120
+ ],
121
+ outputs: [],
122
+ stateMutability: "nonpayable",
123
+ },
96
124
  {
97
125
  type: "function",
98
126
  name: "vote",
@@ -1 +1 @@
1
- {"version":3,"file":"governance.js","sourceRoot":"","sources":["../../src/abis/governance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"governance.js","sourceRoot":"","sources":["../../src/abis/governance.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,11 @@ export interface GovernanceVotesOptions {
21
21
  /** When set, return only votes for this proposal ID. */
22
22
  proposalId?: number;
23
23
  }
24
+ /** Options for revoking a governance queue upvote. */
25
+ export interface GovernanceRevokeUpvoteOptions {
26
+ /** When set, assert the active upvote matches this proposal ID. */
27
+ proposalId?: number;
28
+ }
24
29
  /** Celo on-chain governance proposal reads, CGP enrichment, and LockedGold writes. */
25
30
  export declare class GovernanceService {
26
31
  private readonly clientFactory;
@@ -31,6 +36,7 @@ export declare class GovernanceService {
31
36
  private resolveGovernanceAccount;
32
37
  private fetchProposal;
33
38
  private listProposalIds;
39
+ private getGovernanceQueue;
34
40
  /**
35
41
  * List governance proposals with pagination and optional CGP metadata.
36
42
  * @param options - Pagination (`page`/`pageSize` or `offset`/`limit`) and filters
@@ -181,4 +187,10 @@ export declare class GovernanceService {
181
187
  /** Withdraw all matured pending withdrawals. */
182
188
  prepareWithdrawCelo(from: `0x${string}`): Promise<SerializedPreparedFlow>;
183
189
  prepareVote(from: `0x${string}`, proposalId: number, vote: VoteValueName): Promise<SerializedPreparedFlow>;
190
+ /** Upvote a Queued governance proposal (one active queue upvote per account). */
191
+ prepareUpvote(from: `0x${string}`, proposalId: number): Promise<SerializedPreparedFlow>;
192
+ /** Revoke all active referendum votes for an account (bulk on-chain). */
193
+ prepareRevokeGovernanceVotes(from: `0x${string}`): Promise<SerializedPreparedFlow>;
194
+ /** Revoke the account's active queue upvote. */
195
+ prepareRevokeGovernanceUpvote(from: `0x${string}`, options?: GovernanceRevokeUpvoteOptions): Promise<SerializedPreparedFlow>;
184
196
  }
@@ -12,6 +12,7 @@ import { CHAIN } from "../config/chains.js";
12
12
  import { serializePreparedFlow, } from "../types/prepared.js";
13
13
  import { assertCeloAccountRegistered } from "../utils/celo-account.js";
14
14
  import { formatCeloAmount } from "../utils/celo-format.js";
15
+ import { lesserAndGreaterAfterRevokeUpvote, lesserAndGreaterAfterUpvote, } from "../utils/governance-queue.js";
15
16
  const STAGE_EXPIRY_MS = {
16
17
  Queued: 4 * 24 * 60 * 60 * 1000,
17
18
  Approval: 24 * 60 * 60 * 1000,
@@ -190,6 +191,20 @@ export class GovernanceService {
190
191
  entries.sort((a, b) => b.id - a.id);
191
192
  return entries;
192
193
  }
194
+ async getGovernanceQueue() {
195
+ const client = this.getClient();
196
+ const [queuedIds, queuedUpvotes] = (await client.readContract({
197
+ address: CELO_CORE_CONTRACTS.governance,
198
+ abi: governanceAbi,
199
+ functionName: "getQueue",
200
+ }));
201
+ return queuedIds
202
+ .map((id, index) => ({
203
+ proposalId: Number(id),
204
+ upvotes: queuedUpvotes[index] ?? 0n,
205
+ }))
206
+ .filter((entry) => entry.proposalId !== 0);
207
+ }
193
208
  /**
194
209
  * List governance proposals with pagination and optional CGP metadata.
195
210
  * @param options - Pagination (`page`/`pageSize` or `offset`/`limit`) and filters
@@ -630,5 +645,88 @@ export class GovernanceService {
630
645
  this.buildStep(CELO_CORE_CONTRACTS.governance, data, `Vote ${vote} on proposal #${proposalId} (index ${match.index})`),
631
646
  ], `Vote ${vote} on governance proposal #${proposalId}`);
632
647
  }
648
+ /** Upvote a Queued governance proposal (one active queue upvote per account). */
649
+ async prepareUpvote(from, proposalId) {
650
+ const governanceAccount = await this.resolveGovernanceAccount(from);
651
+ const client = this.getClient();
652
+ const governance = CELO_CORE_CONTRACTS.governance;
653
+ const queue = await this.getGovernanceQueue();
654
+ if (!queue.some((entry) => entry.proposalId === proposalId)) {
655
+ throw new Error(`Proposal ${proposalId} is not in the governance queue. Use get_governance_proposals to find Queued proposals.`);
656
+ }
657
+ const [existingUpvoteProposalId] = (await client.readContract({
658
+ address: governance,
659
+ abi: governanceAbi,
660
+ functionName: "getUpvoteRecord",
661
+ args: [governanceAccount],
662
+ }));
663
+ const existingId = Number(existingUpvoteProposalId);
664
+ if (existingId !== 0 && queue.some((entry) => entry.proposalId === existingId)) {
665
+ throw new Error(`Account already has an active upvote on proposal ${existingId}. Revoke it with prepare_revoke_governance_upvote before upvoting another proposal.`);
666
+ }
667
+ const lockedGold = (await client.readContract({
668
+ address: CELO_CORE_CONTRACTS.lockedGold,
669
+ abi: lockedGoldAbi,
670
+ functionName: "getAccountTotalLockedGold",
671
+ args: [governanceAccount],
672
+ }));
673
+ if (lockedGold === 0n) {
674
+ throw new Error("Cannot upvote without locked CELO. Lock CELO first with execute_lock_celo.");
675
+ }
676
+ const { lesser, greater } = lesserAndGreaterAfterUpvote(queue, proposalId, lockedGold);
677
+ const data = appendCelinaCalldataTag(encodeFunctionData({
678
+ abi: governanceAbi,
679
+ functionName: "upvote",
680
+ args: [BigInt(proposalId), BigInt(lesser), BigInt(greater)],
681
+ }), this.attributionTags);
682
+ return this.toPreparedFlow(from, [
683
+ this.buildStep(governance, data, `Upvote proposal #${proposalId} with ${formatCeloAmount(lockedGold)} locked CELO`),
684
+ ], `Upvote governance proposal #${proposalId}`);
685
+ }
686
+ /** Revoke all active referendum votes for an account (bulk on-chain). */
687
+ async prepareRevokeGovernanceVotes(from) {
688
+ const governanceAccount = await this.resolveGovernanceAccount(from);
689
+ const votes = await this.getGovernanceVotes(governanceAccount);
690
+ if (votes.referendumVotes.length === 0) {
691
+ throw new Error("No referendum votes to revoke for this address.");
692
+ }
693
+ const data = appendCelinaCalldataTag(encodeFunctionData({
694
+ abi: governanceAbi,
695
+ functionName: "revokeVotes",
696
+ }), this.attributionTags);
697
+ return this.toPreparedFlow(from, [
698
+ this.buildStep(CELO_CORE_CONTRACTS.governance, data, `Revoke ${votes.referendumVotes.length} referendum vote(s)`),
699
+ ], `Revoke all governance referendum votes for ${governanceAccount}`);
700
+ }
701
+ /** Revoke the account's active queue upvote. */
702
+ async prepareRevokeGovernanceUpvote(from, options = {}) {
703
+ const governanceAccount = await this.resolveGovernanceAccount(from);
704
+ const client = this.getClient();
705
+ const governance = CELO_CORE_CONTRACTS.governance;
706
+ const [upvoteProposalId, upvoteWeight] = (await client.readContract({
707
+ address: governance,
708
+ abi: governanceAbi,
709
+ functionName: "getUpvoteRecord",
710
+ args: [governanceAccount],
711
+ }));
712
+ const proposalId = Number(upvoteProposalId);
713
+ if (proposalId === 0) {
714
+ throw new Error("No active governance upvote to revoke for this address.");
715
+ }
716
+ if (options.proposalId !== undefined &&
717
+ options.proposalId !== proposalId) {
718
+ throw new Error(`Active upvote is on proposal ${proposalId}, not ${options.proposalId}.`);
719
+ }
720
+ const queue = await this.getGovernanceQueue();
721
+ const { lesser, greater } = lesserAndGreaterAfterRevokeUpvote(queue, proposalId, upvoteWeight);
722
+ const data = appendCelinaCalldataTag(encodeFunctionData({
723
+ abi: governanceAbi,
724
+ functionName: "revokeUpvote",
725
+ args: [BigInt(lesser), BigInt(greater)],
726
+ }), this.attributionTags);
727
+ return this.toPreparedFlow(from, [
728
+ this.buildStep(governance, data, `Revoke upvote on proposal #${proposalId}`),
729
+ ], `Revoke governance upvote on proposal #${proposalId}`);
730
+ }
633
731
  }
634
732
  //# sourceMappingURL=governance.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"governance.service.js","sourceRoot":"","sources":["../../src/services/governance.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"governance.service.js","sourceRoot":"","sources":["../../src/services/governance.service.ts"],"names":[],"mappings":"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"}
@@ -151,6 +151,39 @@ export declare const governanceAbi: readonly [{
151
151
  readonly type: "bool";
152
152
  }];
153
153
  readonly stateMutability: "view";
154
+ }, {
155
+ readonly type: "function";
156
+ readonly name: "upvote";
157
+ readonly inputs: readonly [{
158
+ readonly name: "proposalId";
159
+ readonly type: "uint256";
160
+ }, {
161
+ readonly name: "lesser";
162
+ readonly type: "uint256";
163
+ }, {
164
+ readonly name: "greater";
165
+ readonly type: "uint256";
166
+ }];
167
+ readonly outputs: readonly [];
168
+ readonly stateMutability: "nonpayable";
169
+ }, {
170
+ readonly type: "function";
171
+ readonly name: "revokeVotes";
172
+ readonly inputs: readonly [];
173
+ readonly outputs: readonly [];
174
+ readonly stateMutability: "nonpayable";
175
+ }, {
176
+ readonly type: "function";
177
+ readonly name: "revokeUpvote";
178
+ readonly inputs: readonly [{
179
+ readonly name: "lesser";
180
+ readonly type: "uint256";
181
+ }, {
182
+ readonly name: "greater";
183
+ readonly type: "uint256";
184
+ }];
185
+ readonly outputs: readonly [];
186
+ readonly stateMutability: "nonpayable";
154
187
  }, {
155
188
  readonly type: "function";
156
189
  readonly name: "vote";
@@ -93,6 +93,34 @@ export const governanceAbi = [
93
93
  outputs: [{ name: "", type: "bool" }],
94
94
  stateMutability: "view",
95
95
  },
96
+ {
97
+ type: "function",
98
+ name: "upvote",
99
+ inputs: [
100
+ { name: "proposalId", type: "uint256" },
101
+ { name: "lesser", type: "uint256" },
102
+ { name: "greater", type: "uint256" },
103
+ ],
104
+ outputs: [],
105
+ stateMutability: "nonpayable",
106
+ },
107
+ {
108
+ type: "function",
109
+ name: "revokeVotes",
110
+ inputs: [],
111
+ outputs: [],
112
+ stateMutability: "nonpayable",
113
+ },
114
+ {
115
+ type: "function",
116
+ name: "revokeUpvote",
117
+ inputs: [
118
+ { name: "lesser", type: "uint256" },
119
+ { name: "greater", type: "uint256" },
120
+ ],
121
+ outputs: [],
122
+ stateMutability: "nonpayable",
123
+ },
96
124
  {
97
125
  type: "function",
98
126
  name: "vote",
@@ -1 +1 @@
1
- {"version":3,"file":"governance.js","sourceRoot":"","sources":["../../../src/abis/governance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"governance.js","sourceRoot":"","sources":["../../../src/abis/governance.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,11 @@ export interface GovernanceVotesOptions {
21
21
  /** When set, return only votes for this proposal ID. */
22
22
  proposalId?: number;
23
23
  }
24
+ /** Options for revoking a governance queue upvote. */
25
+ export interface GovernanceRevokeUpvoteOptions {
26
+ /** When set, assert the active upvote matches this proposal ID. */
27
+ proposalId?: number;
28
+ }
24
29
  /** Celo on-chain governance proposal reads, CGP enrichment, and LockedGold writes. */
25
30
  export declare class GovernanceService {
26
31
  private readonly clientFactory;
@@ -31,6 +36,7 @@ export declare class GovernanceService {
31
36
  private resolveGovernanceAccount;
32
37
  private fetchProposal;
33
38
  private listProposalIds;
39
+ private getGovernanceQueue;
34
40
  /**
35
41
  * List governance proposals with pagination and optional CGP metadata.
36
42
  * @param options - Pagination (`page`/`pageSize` or `offset`/`limit`) and filters
@@ -181,4 +187,10 @@ export declare class GovernanceService {
181
187
  /** Withdraw all matured pending withdrawals. */
182
188
  prepareWithdrawCelo(from: `0x${string}`): Promise<SerializedPreparedFlow>;
183
189
  prepareVote(from: `0x${string}`, proposalId: number, vote: VoteValueName): Promise<SerializedPreparedFlow>;
190
+ /** Upvote a Queued governance proposal (one active queue upvote per account). */
191
+ prepareUpvote(from: `0x${string}`, proposalId: number): Promise<SerializedPreparedFlow>;
192
+ /** Revoke all active referendum votes for an account (bulk on-chain). */
193
+ prepareRevokeGovernanceVotes(from: `0x${string}`): Promise<SerializedPreparedFlow>;
194
+ /** Revoke the account's active queue upvote. */
195
+ prepareRevokeGovernanceUpvote(from: `0x${string}`, options?: GovernanceRevokeUpvoteOptions): Promise<SerializedPreparedFlow>;
184
196
  }
@@ -12,6 +12,7 @@ import { CHAIN } from "../config/chains.js";
12
12
  import { serializePreparedFlow, } from "../types/prepared.js";
13
13
  import { assertCeloAccountRegistered } from "../utils/celo-account.js";
14
14
  import { formatCeloAmount } from "../utils/celo-format.js";
15
+ import { lesserAndGreaterAfterRevokeUpvote, lesserAndGreaterAfterUpvote, } from "../utils/governance-queue.js";
15
16
  const STAGE_EXPIRY_MS = {
16
17
  Queued: 4 * 24 * 60 * 60 * 1000,
17
18
  Approval: 24 * 60 * 60 * 1000,
@@ -190,6 +191,20 @@ export class GovernanceService {
190
191
  entries.sort((a, b) => b.id - a.id);
191
192
  return entries;
192
193
  }
194
+ async getGovernanceQueue() {
195
+ const client = this.getClient();
196
+ const [queuedIds, queuedUpvotes] = (await client.readContract({
197
+ address: CELO_CORE_CONTRACTS.governance,
198
+ abi: governanceAbi,
199
+ functionName: "getQueue",
200
+ }));
201
+ return queuedIds
202
+ .map((id, index) => ({
203
+ proposalId: Number(id),
204
+ upvotes: queuedUpvotes[index] ?? 0n,
205
+ }))
206
+ .filter((entry) => entry.proposalId !== 0);
207
+ }
193
208
  /**
194
209
  * List governance proposals with pagination and optional CGP metadata.
195
210
  * @param options - Pagination (`page`/`pageSize` or `offset`/`limit`) and filters
@@ -630,5 +645,88 @@ export class GovernanceService {
630
645
  this.buildStep(CELO_CORE_CONTRACTS.governance, data, `Vote ${vote} on proposal #${proposalId} (index ${match.index})`),
631
646
  ], `Vote ${vote} on governance proposal #${proposalId}`);
632
647
  }
648
+ /** Upvote a Queued governance proposal (one active queue upvote per account). */
649
+ async prepareUpvote(from, proposalId) {
650
+ const governanceAccount = await this.resolveGovernanceAccount(from);
651
+ const client = this.getClient();
652
+ const governance = CELO_CORE_CONTRACTS.governance;
653
+ const queue = await this.getGovernanceQueue();
654
+ if (!queue.some((entry) => entry.proposalId === proposalId)) {
655
+ throw new Error(`Proposal ${proposalId} is not in the governance queue. Use get_governance_proposals to find Queued proposals.`);
656
+ }
657
+ const [existingUpvoteProposalId] = (await client.readContract({
658
+ address: governance,
659
+ abi: governanceAbi,
660
+ functionName: "getUpvoteRecord",
661
+ args: [governanceAccount],
662
+ }));
663
+ const existingId = Number(existingUpvoteProposalId);
664
+ if (existingId !== 0 && queue.some((entry) => entry.proposalId === existingId)) {
665
+ throw new Error(`Account already has an active upvote on proposal ${existingId}. Revoke it with prepare_revoke_governance_upvote before upvoting another proposal.`);
666
+ }
667
+ const lockedGold = (await client.readContract({
668
+ address: CELO_CORE_CONTRACTS.lockedGold,
669
+ abi: lockedGoldAbi,
670
+ functionName: "getAccountTotalLockedGold",
671
+ args: [governanceAccount],
672
+ }));
673
+ if (lockedGold === 0n) {
674
+ throw new Error("Cannot upvote without locked CELO. Lock CELO first with execute_lock_celo.");
675
+ }
676
+ const { lesser, greater } = lesserAndGreaterAfterUpvote(queue, proposalId, lockedGold);
677
+ const data = appendCelinaCalldataTag(encodeFunctionData({
678
+ abi: governanceAbi,
679
+ functionName: "upvote",
680
+ args: [BigInt(proposalId), BigInt(lesser), BigInt(greater)],
681
+ }), this.attributionTags);
682
+ return this.toPreparedFlow(from, [
683
+ this.buildStep(governance, data, `Upvote proposal #${proposalId} with ${formatCeloAmount(lockedGold)} locked CELO`),
684
+ ], `Upvote governance proposal #${proposalId}`);
685
+ }
686
+ /** Revoke all active referendum votes for an account (bulk on-chain). */
687
+ async prepareRevokeGovernanceVotes(from) {
688
+ const governanceAccount = await this.resolveGovernanceAccount(from);
689
+ const votes = await this.getGovernanceVotes(governanceAccount);
690
+ if (votes.referendumVotes.length === 0) {
691
+ throw new Error("No referendum votes to revoke for this address.");
692
+ }
693
+ const data = appendCelinaCalldataTag(encodeFunctionData({
694
+ abi: governanceAbi,
695
+ functionName: "revokeVotes",
696
+ }), this.attributionTags);
697
+ return this.toPreparedFlow(from, [
698
+ this.buildStep(CELO_CORE_CONTRACTS.governance, data, `Revoke ${votes.referendumVotes.length} referendum vote(s)`),
699
+ ], `Revoke all governance referendum votes for ${governanceAccount}`);
700
+ }
701
+ /** Revoke the account's active queue upvote. */
702
+ async prepareRevokeGovernanceUpvote(from, options = {}) {
703
+ const governanceAccount = await this.resolveGovernanceAccount(from);
704
+ const client = this.getClient();
705
+ const governance = CELO_CORE_CONTRACTS.governance;
706
+ const [upvoteProposalId, upvoteWeight] = (await client.readContract({
707
+ address: governance,
708
+ abi: governanceAbi,
709
+ functionName: "getUpvoteRecord",
710
+ args: [governanceAccount],
711
+ }));
712
+ const proposalId = Number(upvoteProposalId);
713
+ if (proposalId === 0) {
714
+ throw new Error("No active governance upvote to revoke for this address.");
715
+ }
716
+ if (options.proposalId !== undefined &&
717
+ options.proposalId !== proposalId) {
718
+ throw new Error(`Active upvote is on proposal ${proposalId}, not ${options.proposalId}.`);
719
+ }
720
+ const queue = await this.getGovernanceQueue();
721
+ const { lesser, greater } = lesserAndGreaterAfterRevokeUpvote(queue, proposalId, upvoteWeight);
722
+ const data = appendCelinaCalldataTag(encodeFunctionData({
723
+ abi: governanceAbi,
724
+ functionName: "revokeUpvote",
725
+ args: [BigInt(lesser), BigInt(greater)],
726
+ }), this.attributionTags);
727
+ return this.toPreparedFlow(from, [
728
+ this.buildStep(governance, data, `Revoke upvote on proposal #${proposalId}`),
729
+ ], `Revoke governance upvote on proposal #${proposalId}`);
730
+ }
633
731
  }
634
732
  //# sourceMappingURL=governance.service.js.map