The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Add
includeMetadata
optional parameter togetPlugin
andgetPlugins
functions which defaults totrue
.
- Return only the active multisig members.
- Add support for zkSync mainnet network
- Add support for zkSync sepolia network
- Make
metadataHash
optional in proposal and dao objects.
- Added
metadataHash
field to proposal and dao objects.
- Update subgraph queries to version 1.4.2 of subgraph
- Reorder id creation to match subgraph
- Support for new version of
@aragon/osx-client-common
- Removed
LIVE_CONTRACTS
and usedcontracts
from@aragon/osx-commons-configs
instead
- Typo in
LIVE_CONTRACTS
for mainnet
- Support for arbitrum sepolia network
- Support for base sepolia network
- Compare with dao address in
validatePluginUpdateProposal
- Chore: Changed voters and approvers count to 1000 from the default value of 100 in Proposal Queries
-Update osx-ethers
to v1.3.0
- Fixed update proposal detection
- Dao upgrade validation not removing Dao update action when validating plugin update
- Add support for v1.0.0 and v1.3.0 build metadata
- Fixed toLowerCase in subgraphQuery
- Fixed pluginAddress comparison in
validatePluginUpdateProposal
- Added missing security check that checks that the
to
address in the permission actions is the DAO address
- Fixed proposal id not being transformed
- Classify signalling multisig proposals as succeeded even after the end date is passed using the subgraph
isSignalling
attribute.
- Add grant and revoke for permission
UPGRADE_PLUGIN_PERMISSION
inapplyUpdate
encoder - Refactor DAO update proposal validation function
- Refactor plugin update proposal validation function
- Refactor boolean check for checking if a proposal is a DAO update proposal
- Refactor boolean check for checking if a proposal is a plugin update proposal
- Rename
applyUpdateAction
toapplyUpdateActionAndPermissionsBlock
- Rename
isDaoUpdateAction
tocontainsDaoUpdateAction
- Rename
isDaoUpdate
toisDaoUpdateProposal
- Rename
isDaoUpdateValid
toisDaoUpdateProposalValid
- Rename
isPluginUpdate
toisPluginUpdateProposal
- Rename
isPluginUpdateValid
toisPluginUpdateProposalValid
- Rename
isPluginUpdateAction
tocontainsPluginUpdateAction
- Rename
isPluginUpdateActionBlockWithRootPermission
tocontainsPluginUpdateActionBlockWithRootPermission
isMember
function toTokenVotingClient
isMember
function toAddresslistVotingClient
isMember
function toClient
- Add
actions
toMultisigProposalListItem
- Add
actions
toTokenVotingProposalListItem
- Add
actions
toAddresslistVotingProposalListItem
- Replaces tsdx with dts-cli
- Upgrades typescript to v5
- Replaces ganache with hardhat
- Removed
restoreBlockTime()
test helper function
- Plugin preparations query
- ERC20Transfers query missing decimals
- Support for arbitrum network
- Plugin preparations query
- Fix support for subgraph 1.3.1
getPluginPreparations
function toClient
- Required ensSubdomain in createDao
- Ens name regex
- Estimations using
getProvider
instead ofgetConnectedSigner
in functions where the identity of the wallet is needed
- Helper for
daoUpdateAction
inClient
- Input params for
isDaoUpdateValid
andisPluginUpdateValid
- Rename
isDaoUpdateProposalValid
toisDaoUpdateValid
- Rename
isPluginUpdateProposalValid
toisPluginUpdateValid
- Add input validation on client functions
- Pagination on getMembers function
- Support for sepolia
- Return all version son
getPlugins
function
- Update
sdk-common
imports tosdk-common-client
- Add prepareUpdate function to all clients
- Plugin update check function
- Dao update check function
- All addresses are now lowercased on subgraph methods
- Use signer only when transactions need to be signed, else use provider
- Support for ERC115Transfers and balances
- Block param on
getVotingSettings
andgetMembers
functions to allow for historical data - Support for local chains
- Support for ERC1155 deposits and withdrawals
isTokenVotingCompatibleToken
function
- Support for baseMainnet network
- Added
initializeFrom
encoders and decoders - Support for ERC721 deposits and withdrawals
- Added
getProtocolVersion
function - Support for baseGoerli network with the new client-common version
- Fix status calculation for token voting proposals
- Make the
network
parameter required ongetPluginInstallItem
- Underlying tokens queries in getProposal and getProposals
- Plugins query failing due to prepared but not applied installations
- Ipfs default endpoinst missing api/v0
- Update common-client version
- Updates
@aragon/osx-ethers
to v1.3.0-rc0.
- Bypass
isFailingProposal()
before a full implementation improves the false positives
- Amended an issue that would prevent details from the underlying token to be
returned in
parseToken()
- Added a timeout to
getDaos()
andgetProposals()
, so that an individual lengthy fetch doesn't block everything indefinitely - Improve the PR template
- Amended an issue that would return an empty
decimals
field on wrapped tokens
- Amending a missing interface
- Bumped the client-common dependency
- Add usage of common errors in all the code
- Suport for ERC20Wrapper and
underlyingToken
- Add block number to get members query
- ContextPlugin is now Context
ContextPlugin.from(Context)
is no longer necessary
- Errors now report the cause more clearly
- Internal refactor of signer and network
- List all the plugins installed on a DAO by using an updated subgraph query
- Renamed:
IAddresslistVotingPluginInstall
=>AddresslistVotingPluginInstall
ITokenVotingPluginInstall
=>TokenVotingPluginInstall
IMintTokenParams
=>MintTokenParams
IPluginInstallItem
=>PluginInstallItem
IDaoQueryParams
=>DaoQueryParams
ITransferQueryParams
=>TransferQueryParams
IPermissionParamsBase
=>PermissionParamsBase
IGrantPermissionParams
=>GrantPermissionParams
IRevokePermissionParams
=>RevokePermissionParams
IGrantPermissionDecodedParams
=>GrantPermissionDecodedParams
IRevokePermissionDecodedParams
=>RevokePermissionDecodedParams
IHasPermissionParams
=>HasPermissionParams
IPermissionParamsBase
=>IPermissionParamsBase
IPermissionParamsBase
=>IPermissionParamsBase
IPermissionParamsBase
=>IPermissionParamsBase
ITransferQueryParams
=>TransferQueryParams
IInterfaceParams
=>InterfaceParams
IVoteProposalParams
=>VoteProposalParams
ICanVoteParams
=>CanVoteParams
IProposalQueryParams
=>ProposalQueryParams
SupportedNetworks
=>SupportedNetwork
- Add
delegateTokens
function inTokenVotingClient
- Add
undelegateTokens
function inTokenVotingClient
- Add
getDelegatee
function inTokenVotingClient
- Add
prepareUninstallation
function inClient
- Breaking:
getMembers
function inTokenVotingClient
no loger returns anstring[]
. Now it returnsTokenVotingMember[]
which includes the delegation status of each member condition
is now an optional parameter inMultiTargetPermission
- Fixed plugin version on the dao subgraph queries
- Add
getPlugins
function - Add
getPlugin
function
- Properties
signer
andweb3providers
are now optional in theContextParams
- Add
wrapTokens
andunwrapTokens
functions to support token contract without support for snapshots Context.network
type changes fromNetworkish
toNetwork
- Context and ContextPlugin now automatically use the environment settings by default (depending on the ETH network) when no values are provided
ExistingTokenParams
now requieresname
andsymbol
propertiesclient.methods.updateAllowance
is nowclient.methods.setAllowance
setAllowance
does not check if the current allowance is higher than the new allowance, it just sets the allowance to a new value- The mentioned check is done in the deposit method
- The
daoAddressOrEns
parameter was renamed tospender
UpdateAllowanceParams
was renamed toSetAllowanceParams
SetAllowance
now hasSetAllowanceSteps
outsideDaoDEpositSteps
, check examplesUPDATING_ALLOWANCE
is renamed toSETTING_ALLOWANCE
UPDATED_ALLOWANCE
is renamed toALLOWANCE_SET
- Removed
daoRegistry
from the context because it wasn't being used - Removed
pluginRepoRegistry
from the context because it wasn't being used
- Property
votes
to majority votingproposalListItem
- Fix missing
executionTxHash
on majorty voting proposals - Removed not working sortby
- Fix
Status.DEFEATED
filter - Error handling if ENS cannot be resolved.
- Renames
mainnet
tohomestead
inLIVE_CONTRACTS
.
- Uses
earlyExecuted
for proposal state calculation in Addresslistvoting and Tokenvoting.
- Amending the type in subgraph's
minApprovals
- Leaving only the fields where sortBy is available
- Fix
Status.DEFEATED
filter
- Add ipfs optimization.
- Fix plugin installation
- Polygon network names
- Add support for polygon.
- Updates
@aragon/osx-ethers
to v1.2.1. - Reverts the encoding of
addAddresses
andremoveAddresses
in the multisig plugin to return only one action
- Add support for mumbai.
- Updates
@aragon/osx-ethers
to v1.2.0.
prepareInstallation
function to multisig-client, tokenvoting-client and addresslist-client- Add
applyInstallation
encoder and decoder to client
AddAddresses
andRemoveAddresses
encoders now return an array of actions one for adding or removing the addresses and other for updating the settings in a specific order for the transaction not to revert
- Subgraph making 2 calls in each request
Version bump
settings
totokenVotingProposalListItem
- Multisig proposals returning the wrong settings
- Compute status functions
- Adapt sdk to new subgraph proposalIds
- Upgrade contracts to version 0.8.0
- Status in multisig proposal
Release candidate 1
- Encoders and decoders for
grantWithConditionAction
- Encoders and decoders for
setDaoUriAction
- Encoders and decoders for
registerStandardCallbackAction
- Encoders and decoders for
setSignatureValidatorAction
- Encoders and decoders for
upgradeToAction
- Encoders and decoders for
upgradeToAndCallAction
- Examples for new decoders and encoders
- JsDoc for new encoders and decoders
- Add
settings
andappovals
fields toMultisigProposalBase
- Add
creationBlockNumber
executionDate
andcreationBlockNumber
toMultisigProposal
- Add
totalVotingWeight
totokenVotingListItem
ICreateProposalParams
=>CreateMajorityVotingProposalParams
IProposalSettings
=>MajorityVotingProposalSettings
- Rename all mention of
ensureAllowance
toupdateAllowance
- ensDomain now includes
.dao.eth
getPluginInstallItem
now receives anetwork
parameter to select the right Plugin Repo. Defaults tomainnet
- Renamed
address
/addressOrEns
tovoterAddressOrEns
/approverAddressOrEns
incanVote
/canApprove
functions proposalId
is now astring
everywhere and follows the new general formatcanExecute()
andexecute()
expect theproposalId
as parameter now.
- removes
IExecuteProposalParams
,CanExecuteParams
andExecuteProposalParams
types/interfaces - removes
isProposalId()
and moves it to @aragon/sdk-common
- Add
transfer
to available functions
startDate
andendDate
swapped ongetProposal
funtion of the multisig client
- Update common package to
0.10.1-beta
- Add
endDate
andstartDate
toMultisigProposalListItem
- Update
getDaoBalances
parameters fromdaoAddressOrEns
toDaoBalancesQueryParams
- Add support for Subgraph version
0.7.2-alpha
- Add Vote Replacement flag in MajorityVoting clients
- Updates to contracts-ethers v0.7.1
- Splits
getPluginSettings
ingetVotingSettings
andgetMembers
encoding.withdrawAction
now accepts a single parameter of typeWithdrawParams
IWithdrawParams
is nowWithdrawParams
decoding.withdrawAction
now receives theto
andvalue
parameters, in addition todata
DepositParams
IDepositParams
is nowDepositParams
- It always gets a
type: TokenType
- It always gets a
proposalId
is now abigint
on every plugin- WARNING: This may change to a string, due to Subgraph limitations
IAddressListPluginInstall
is nowIAddresslistVotingPluginInstall
decoders.removeMembersAction()
now returns an array of addressesDaoSortBy.NAME
=>DaoSortBy.SUBDOMAIN
ensureAllowance
's fielddaoAddress
is now nameddaoAddressOrEns
TokenType
replaces any other token/transfer type enum
- Proposals accept a
failSafeActions
variable - Multisig plugin settings now include
startDate
andendDate
ICreateProposalParams
now receives an optionalfailSafeActions
array, to denote which could fail without disrupting the entire execution flowcreateDao
now returnspluginAddresses
whenDONE
- Multisig proposals have a
startDate
,endDate
(andapprovals
when reading back) canExecute()
added toTokenVotingClient.methods
andAddresslistVotingClient.methods
executionTxHash
added toTokenVotingProposal
andAddresslistVotingProposal
CreateDaoParams
now includesdaoUri
pluginAddresses
onDaoCreationStepValue
- WARNING: it may be updated into an array of objects like
{address, pluginRepoEns}
to identify what plugin it corresponds
- WARNING: it may be updated into an array of objects like
- Freeze action encoders
- Removed
IFreezePermissionParams
andIFreezePermissionDecodedParams
- Removed
- The
reference
field on deposits and withdrawals
- Transfer and Balances queries
- Add
pinMetadata
examples
- Fix
getVotingSettings
respoinse in tokenVoting and addresslistVoting clients - Fix
updateMetadata
decoders - Fix
getProposals
ERC721 support ontokenVotingClient
- Fix
VotingMode
not decoding
- renames
updateMetadataRawAction
toupdateDaoMetadataRawAction
- renames
updateMetadataAction
toupdateDaoMetadataAction
- Renames
getBalances
togetDaoBalances
- Renames
getTransfers
togetDaoTransfers
- Renames
ICreateParams
toCreateDaoParams
- Renames
IMetadata
toDaoMetadata
- Add
MultisigClient
- Changes
ClientAddressList
toAddresslistVotingClient
- Changes all
addressList
toAddresslistVoting
- Exposes
ensureAllowance
method - Fix precission in
VotingSettings
- renames
IPluginSettings
toVotingSettings
- renames
minTurnout
tominParticipation
- renames
minSupport
tosupportThreshold
- add
minProposerVotingPower
,earlyExecution
andvoteReplacement
fields toVotingSettings
and graphql responses - renames
ClientErc20
toTokenVotingClient
- renames
IErc20PluginInstall
toITokenVotingPluginInstall
- renames
Erc20Proposal
toTokenVotingProposal
- renames
Erc20ProposalListItem
toTokenVotingProposalListItem
- changes the value of
ERC20VotingPlugin
inSubgraphPluginTypeMap
fromerc20voting.dao.eth
totoken-voting.plugin.dao.ethh
- renames
Erc20ProposalResult
toTokenVotingProposalResult
- rename
getSettings
togetVotingSettings
- Removes Changelog update from javascript publish workflow
- Fix
minSupport
andminTurnout
return values inerc20.getSettings()
- Fix
minSupport
andminTurnout
return values inaddresslist.getSettings()
- Split
createDao()
andpinMetadata()
- Split
createProposal()
andpinMetadata()
- Graphql query in AddresslistPlugin and Erc20Plugin for
getMembers()
- Checks during DAO creation if at least 1 plugin requests exec permission
- Removed
tokenAddresses
param fromgetBalances()
function
- Reading metadata back now parses the IPFS URI schema
- Fix
resolveIpfsCid()
cross-browser compatibility
On 2022-12-06 11:20:50
- Bigint overflow in deposit
On 2022-11-26 10:27:25
- Stores CIDs with
ipfs://
prefix in contracts
- Checks if at least one plugin requests
EXECUTE_PERMISSION
during DAO creation - Mocking of the IPFS client during testing
- Removes hardcoded IPFS CIDs
On 2022-11-22 16:45:52
- Adapt the latest Subgraph query names
- Added
createProposal()
using real contracts - Added
vote()
on proposals using real contracts - Added
execute()
on proposals using real contracts - Added
canVote()
on proposals using real contracts - Added
hasPermission()
using real contract calls
- Examples folder and files
- Automatic generated README from examples
- Split clients into modules
- Removed
javascript
folders - Updates
@aragon/core-contracts-ethers
tov0.4.1-alpha
- Parameters types for DAO creation
- Make
tokenAdresses
optional ongetBalances
- Update Allowance estimation
- Create dao using real contracts
- Added
daoRegistryAddress
andpluginRepoRegistryAddress
to web3 module
- Fixed autogenerated docs
On 2022-10-17 09:26:34
- Fix README for
findInterface
function
- Filtering by status and daoAddress in getProposals
- Types for contract params
- Naming in wrap/unwrap function
On 2022-10-05 13:13:17
- Fixed APP-1032 comments
On 2022-10-04 16:58:38
On 2022-10-04 15:35:36
- Fix missing exports
On 2022-10-04 10:32:59
- Transfers as an unique object
- Filtering on
getTransfers
- Dao subgraph queries
- Proposal subgraph queries
On 2022-09-29 12:58:04
-
splitted
internal/core.ts
logic into multiple modulesinternal/modules/graphql.ts
,internal/modules/ipfs.ts
andinternal/modules/web3.ts
-
Remove puginAddress from
PluginContext
class
- Fix
fromContext
function - Typo in
addreslistvoting.dao.eth
string
On 2022-09-22 11:09:46
- Adding the
canVote
getter to the address list and ERC20 clients
On 2022-09-21 14:50:29
- Add mint token encoders and decoders
- Add add members encoders and decoders
- Add remove members encoders and decoders
On 2022-09-20 12:08:58
- Use real IPFS data
- Use real subgraph data
On 2022-09-15 08:45:35
- Delays between yields
- Add getToken function to the erc20-client
- Encode and decode of Grant, Revoke and Freeze actions
On 2022-09-07 14:47:58
- Encoding flow when updating plugin settings
On 2022-09-07 11:19:55
- Make the signer parameter optional
On 2022-09-07 11:08:27
- Fixed names not appearing in mock calls
On 2022-09-06 16:34:24
- Add decoders for the following actions:
- Client
- Withdraw
- UpdateMetadata
- ERC20
- UpdatePluginSettings
- Address List
- UpdatePluginSettings
- Client
- Version of the common package
0.2.0
=>0.2.1
- Update settings action
- Get Settings method
- Mock methods for the rest of the flows
- The plugin address is no longer part of the context
- The plugin address must be specified when calling functions
- All the plugin functions that interact with a SC now receive an object insted of separate parameters
- Update Readme
- Consistency issues in naming
- Internal Graphql client
- AddressList Client
- JsDoc to AddressList Client and ERC20 Client
- Mocks in AddressList Client
- Other mocks in
Client
andERC20Client
ContextErc20
=>ContextPlugin
- Now using a general-purpose
Client
class and a plugin-specific one for the rest (ClientErc20
)
- Providing IPFS support with full isomorphic compatibility
On 2022-06-16 12:44:48
On 2022-06-15 13:01:18
- Backing off
ipfs-http-client
until the UI framework supports it
On 2022-06-14 15:03:15
- Gas fee estimation for
deposit
andupdateAllowance
.
deposit
method handles all steps by using aAsyncGenerator
.
- Adding IPFS support for pinning and fetching data
- Getting
DAOFactory
address from@aragon/core-contracts-ethers
package depending on the selected network inContext
.
- Upgraded
@aragon/core-contracts-ethers
package to the0.2.1-alpha
version and adapted the base code to accept the newVoteConfigStruct
struct.
- Deposit ETH and ERC20 tokens to DAO.
- Withdrawal action creation helper.
average
andmax
values for the gas fee estimations returned asbigint
.
- Exported
IDeposit
andICreateProposal
.
- Github actions automation to deploy this package.
- Returning of
average
andmax
values for the gas fee estimations.
- Gas fee estimations with new
gasFeeData
functions for EIP-1559. - Fixes Github actions workflows
- Creation of proposals.
- Gas estimation for creating DAOs.
- Connected signer getter in
ClientCore
.
- Use of a connected signer in the DAO creation process.
- Fixed
@aragon/sdk-common
dependency.
First initial version of the client package.