All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.9.0 - 2024-09-04
- New
RemoteSigner
signer that can be handled by the client. - New election type
QuadraticElection
. - Added new count fields information for
AccountData
. - New errors generated in the API.
- [BREAKING] New pagination system and removed deprecated API functions.
- Better and new improvements to the SDK bundling system.
- Removed archive functionality for elections and all their components.
- Removed deprecated
autoStart
field from elections.
0.8.3 - 2024-06-12
- Added new transaction for changing an election duration.
- Added new functions
changeElectionEndDate
andchangeElectionDuration
. - Added new raw information when election data is not complete.
- Census3
getStrategyHolders
changed for using queues instead of direct endpoint call.
0.8.2 - 2024-06-12
- Added API fees calls functions for checking all fees and account fees.
- Added new function to modify an election maximum census size.
- Added new
delta
parameter when checking for next election identifiers.
- Census publishing is done async to avoid 502 errors when uploading large censuses.
- Modified change census function to accept a new maximum census size.
0.8.1 - 2024-05-21
- Support for encrypted metadata for elections.
- Vote information for encrypted votes with the corresponding vote package.
0.8.0 - 2024-04-19
- Several new examples in
examples
folder for beginners. - New Census3 function to estimate the time of creating a census based on a predicate.
- Added
StrategyCensus
type for representing census created in Census3 based on a complex strategy.
- Internal usage of dates instead of blocks when creating an election.
- Fixed anonymous
voteHash
by using thevotePackage
to generate zk-inputs.
0.7.5 - 2024-02-15
- Added support for getting token holder balance in Census3 using
tokenHolderBalance
. - Added support for getting token holders based on strategy using
getStrategyHolders
.
- Fixed
CensusOrigin
when election is using CSP census and anonymous. - Fixed bad generation of
dist
bundles in previous version.
0.7.4 - 2024-02-06
- Added new
CspProofType
type when voting in a CSP based election to choose the encryption type.
0.7.3 - 2024-01-23
- Added new
ApprovalElection
election type for creating approval elections easily.
- Fixed
costExponent
to 1. - Fixed error when election has no metadata.
- Fixed error with questions results for elections with no new type metadata.
0.7.2 - 2024-01-17
- Added new
MultiChoiceElection
election type for creating multi-choice elections easily. - Added new
BudgetElection
election type for creating budget elections easily.
- Results in published elections are now correctly returned for each type of election.
0.7.1 - 2024-01-11
- Supported tokens from Census3 using
getSupportedTokens()
returns now a token summary. - Census3
getStrategyEstimation
acceptsanonymous
flag and returnsaccuracy
for anonymous censuses.
- Removed
nullifier
from vote package. - Returning census from type
CspCensus
when election is for CSP.
- Added
ArchivedAccountData
for dealing with archived accounts and newfetchAccount
function in client. - Added
ErrFaucetAlreadyFunded
for faucet limit requests. - Added
ErrElectionFinished
for doing actions when election is finished. - Added
submitVoteSteps
for voting using async generator steps.
0.7.0 - 2023-12-13
- Changed sha256 library from
@ethersproject/sha2
tojs-sha256
for web workers. - Using API endpoint for estimating blocks from dates when creating an election.
- [BREAKING] Census3
getStrategySize
function changed togetStrategyEstimation
giving estimated time and size for the given strategy.
0.6.1 - 2023-11-29
- New anonymous function
hasRegisteredSIK
for checking if a user has registered a SIK.
- Removed outliers from block times for avoiding block estimation issues.
0.6.0 - 2023-11-28
- New election service functions
nextElectionId
andgetElectionSalt
.
- [BREAKING] Refactored options for
isInCensus
,hasAlreadyVoted
,isAbleToVote
andvotesLeftCount
. - [BREAKING] New options for
AnonymousVote
which enable to add the user's signature. - [BREAKING] New internal anonymous flow when signature is given by the consumer.
0.5.3 - 2023-11-28
- New account methods supported for listing, counting and checking account transfers in
AccountAPI
.
- Archived elections without census URI are now accepted.
- Faucet options don't require
token_limit
anymore.
0.5.2 - 2023-11-16
- Anonymous vote packages are no longer signed.
0.5.1 - 2023-11-15
- Missing exported election type
ArchivedElection
. - Faucet errors correctly shown with message.
0.5.0 - 2023-11-14
- [BREAKING] New full integration for Census3 v2, using tokens, strategies and censuses.
0.4.3 - 2023-11-09
- Support for archived elections with new election type
ArchivedElection
and with new census with typeArchivedCensus
.
0.4.2 - 2023-11-06
- Removed faucet path from default URLs.
- Updated
@vocdoni/proto
dependency to1.15.4
.
- Import, export and delete census functionality in census service.
- Added new election parameter
temporarySecretIdentity
for deleting temporary SIKs once election is finished.
- Fixed
ffjavascript
dependency to0.2.59
.
0.4.1 - 2023-10-24
- Modified
dev
,stg
andprod
default URLs for all services. - Upgraded to new faucet.
0.4.0 - 2023-10-10
- [BREAKING] New signatures for chain transactions.
0.3.2 - 2023-10-10
- Added support for uploading big censuses in chunks.
- Added
assert
as embedded in rollup configuration.
0.3.1 - 2023-09-20
- New
createElectionSteps
function in client for using async generators and control creation flow. - New
sendTokens
function in client for transferring tokens between accounts.
- New user-friendly text for SIK payload signing.
- Added
ethers
as embedded in rollup configuration forcircomlibjs
dependencies.
0.3.0 - 2023-09-13
- Ensuring proof
value
handled as hex for anonymous circuits inputs.
- [BREAKING] Removed some (probably not used) client properties for future refactor.
- Added services as mid-layer between pure SDK client and API wrappers.
- Census3 supported chains information.
0.2.0 - 2023-09-04
dotobject
helper returns null when key is not found.
collectFaucetTokens
function accepts raw faucet package payload.
- Census3 error typings.
- [BREAKING] Census3 anonymous censuses.
0.1.1 - 2023-08-14
- Added missing dependency
readable-stream
.
0.1.0 - 2023-08-11
- [BREAKING] Anonymous integration
- Added missing
maxCensusSize
andmanuallyEnded
infetchElection
.
0.0.18 - 2023-08-01
- Election
get
function to fetch metadata values usingdotobject
- Added missing dependencies
0.0.17 - 2023-07-21
- Anonymous support using zkSNARK.
- Election
meta
field has a more lax typing.
0.0.16 - 2023-07-04
- SDK version added to election metadata.
- Added new function
changeElectionCensus
to change the election census dynamically. - Added new helper function
formatUnits
for formatting big decimals values.
- New types defined in
VocdoniCensus3Client
with some additional documentation. - Added new field
symbol
to summary token list in Census3. - Added new field
size
to token information in Census3 as number of token holders.
- Error codes coming from the API.
0.0.15 - 2023-06-20
- New
InvalidElection
type for invalid elections. - New
estimateElectionCost
function in client for estimating election cost. - New
calculateElectionCost
function in client for calculating the exact election cost. - New API wrappers for general chain information.
fetchElections
returns newInvalidElection
type instead of throwing.
- CSP elections use the URI and public key from the election census defined at creation.
0.0.14 - 2023-06-12
maxValue
,maxCount
andmaxTotalCost
properties inIVoteType
in an election for creating quadratic, approval and ranked elections.
0.0.13 - 2023-06-06
- Census3 integration
- Added
meta
parameters to election metadata - Minor helper functions
- Added some new information to API endpoints
- Unlocked rollup version
0.0.12 - 2023-05-09
- Fixed
personal_sign
provider call bug for certain environments
0.0.11 - 2023-04-25
- Fix type error in
fetchAccountInfo
0.0.10 - 2023-04-25
- Fixed internal
SetAccountTx
nonce when creating transactions
0.0.9 - 2023-04-25
generateRandomWallet
function for assigning a random Wallet to the client
isInCensus
doesn't accept census type because censuses with public keys are removed- Refactored account methods to return new
AccountData
definition withAccount
field
- Ability to create censuses using public keys
0.0.8 - 2023-04-05
- Custom error handling (WIP)
votesLeftCount
checks if user is in census.hasAlreadyVoted()
returns the vote id or null if the account hasn't voted.
- Increased time for transaction confirmation due to block time increase.
0.0.7 - 2023-03-29
- Updated
vocdoni/proto
library to version1.14.1
. - Added
maxCensusSize
to the election creation.
0.0.6 - 2023-03-22
ElectionStatus
includes new valuesONGOING
andUPCOMING
.READY
is removed an only used internally.- Election description changed from mandatory to optional.
fetchElections
accepts no account and returns all elections in the chain.fetchAccountInfo
accepts arbitrary account to retrieve information.
0.0.5 - 2023-03-08
fetchElections
function to fetch all elections based on a given account- New
organizationId
property inPublishedElection
PublishedCensus
hassize
andweight
fields for offchain census.
0.0.4-alpha - 2023-03-01
- Credential service provider integrated
- Custom retry attempts and time for transactions waiting functionality
- Added
votesLeftCount
function for checking how many times a user can submit a vote - New API requests added for chain information
header
andstreamUri
are no longer mandatory when creating an election.
- No more 400 error status HTTP requests when asking for a non-confirmed transaction
maxValue
property fixed in election data
0.0.3-alpha - 2023-01-31
- Functionality to check if a user is in census
isInCensus
- Functionality to check if a user has already voted
hasAlreadyVoted
- Functionality to check if a user is able to vote
isAbleToVote
- Export UMD version via
@vocdoni/sdk/umd
- Deterministic Wallet generation from arbitrary data
- Return
voteId
when submitting vote instead of the transaction hash. Buffer
imports for bundle- Bundling & export issues
- Removed
dvote-solidity
dependency.
0.0.2-alpha - 2022-12-20
- Staging environment options for API and Faucet
- Functionality to end, pause, cancel and continue an election
- Fixed proof check using public key when signer is from type
Wallet
- Use voting endpoint instead of generic submitTx.
- Naming for client initialization options changed.
- There are now the new
UnpublishedElection
andPublishedElection
classes which extend from the abstractElection
class. fetchElection
accepts an election id.
0.0.1-alpha - 2022-12-01
- First unstable version of the SDK for testing purposes