diff --git a/CHANGELOG.md b/CHANGELOG.md index 4cd726971..836b840d5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,15 +21,21 @@ All notable changes to this project will be documented in this file. * Removed individual mappings for tier data removed in UDSTSTO. * Removed the old Proxy deployment method of USDTieredSTO and adopt the new inherited proxy deployment approach. * Bump the version to `2.1.0` -* Added `getAccreditedData` to return accredited & non-accredited investor data +* Added `getAccreditedData` to return accredited & non-accredited investor data. +* Event `TokenPurchase` has uint256 tier instead of uint8 tier. +* Event `SetAddresses` has non-indexed array of address of `_usdTokens` rather than single indexed address. +* Added `getUsdTokens()` function that returns array of accepted stable coin (usd token) addresses. +* Pass an array of `_usdToken` address in `configure` function instead of singleton address. This will require changes in bytes data generation when deploying a usdtsto through factory. ## GeneralTransferManager * `getInvestors`, `getAllInvestorsData`, `getInvestorsData` added to GTM to allow easy data queries. -* `modifyDefaults(uint64 _defaultFromTime, uint64 _defaultToTime)` added which sets a default timestamp used when `fromTime` or `toTime` are 0 +* `changeDefaults(uint64 _defaultFromTime, uint64 _defaultToTime)` added which sets a default timestamp used when `fromTime` or `toTime` are 0. * Add `address[] public investors` to record a list of all addresses that have been added to the whitelist (`getInvestors`). -* General Transfer Manager: Fix for when `allowAllWhitelistIssuances` is FALSE -* General Transfer Manager: Make GTM a Proxy based implementation to reduce deployment gas costs +* Fix for when `allowAllWhitelistIssuances` is FALSE +* Make GTM a Proxy based implementation to reduce deployment gas costs * Changed the version of `GeneralTransferManagerFactory` from `1.0.0` to `2.1.0`. +* `_investor` and `_addedBy` is now indexed in the `ModifyWhitelist` event. +* Add public variable `defaults` to get the offset timing. ## Manual Approval TransferManager * Removed `0x0` check for the `_from` address to `ManualApprovalTransferManager`. This allows for the Issuer/Transfer Agent to approve a one-off mint of tokens that otherwise would not be possible. @@ -39,13 +45,35 @@ All notable changes to this project will be documented in this file. * Add `getApprovalDetails()` to get the details of the approval corresponds to `_from` and `_to` address. * Add feature to modify the details of the active approval using `modifyApproval()` & `modifyApprovalMulti()`. * Add `addManualApprovalMulti()` and `revokeManualApprovalMulti()` batch function for adding and revoking the manual approval respectively. +* Add `_description` parameter during the `addManualApproval()` function call. It will be a `bytes32` variable which depicts the cause of manual approval. +* Remove `addManualBlocking()` , `revokeManualBlocking()` functions. +* Add `getTotalApprovalsLength()` to get the number of active approvals. +* Add `getAllApprovals()` to get the details of all approvals. ## Dividends * Changed the version of `ERC20DividendCheckpointFactory` & `EtherDividendCheckpointFactory` from `1.0.0` to `2.1.0`. -* Applied proxy pattern to Dividends modules +* Applied proxy pattern to Dividends modules. +* During the launch of dividend module issuer need to pass the reclaimed wallet that receive the left over funds from the module. +i.e pass `_wallet` in `configure()` function of dividend module. It emits `SetWallet` event for the confirmation of the same. +* Add `changeWallet()` function to change the reclaimed wallet address (only be called by the owner). +* Add `getDividendsData()` getter to receive the details about all the dividend. +* Add `getDividendData()` getter to receive the details about the particular dividend by passing a corresponding dividend index. +* Add `getDividendProgress()` getter to retrieves the list of investors and their details corresponds to particular dividend. +* Add `getCheckpointData()` use to retrieves list of investors, their balances, and their current withholding tax percentage corresponds to checkpointId. +* `isExcluded()` a view function added to check whether an address is excluded from claming a dividend or not. +* `isClaimed()` a view function added to checks whether an address has claimed a dividend or not. +* DividendIndex is indexed in the events `ERC20DividendClaimed`, `ERC20DividendReclaimed`, `ERC20DividendWithholdingWithdrawn`. Similarly for the Ether dividend module `EtherDividendClaimed`, `EtherDividendReclaimed`, `EtherDividendClaimFailed`, `EtherDividendWithholdingWithdrawn`. +* `EXCLUDED_ADDRESS_LIMIT` changed from 50 to 150. ## Experimental modules * Remove the `SingleTradeVolumeRestrictionTMFactory.sol` and its corresponding module `SingleTradeVolumeRestrictionTM.sol`. +* Add the new TM called `BlacklistTransferManager.sol` and its corresponding factory `BlacklistTransferManagerFactory.sol`. +* Chnage the name of module from `LockupVolumeRestrictionTM.sol` to `LockUpTransferManager.sol`, similarly factory become `LockUpTransferManagerFactory.sol`. +* Add new module called `VestingEscrowWallet.sol` and its corresponding factory `VestingEscrowWalletFactory.sol`. + +## STR & MR +* `getArrayAddress(), getArrayBytes32(), getArrayUint()` are now public getters. +* `getUintValues(), getBoolValues(), getStringValues(), getAddressValues(), getBytes32Values(), getBytesValues()` rename to `getUintValue(), getBoolValue(), getStringValue(), getAddressValue(), getBytes32Value(), getBytesValue()`. #488 ## Added * Add new module called `VolumeRestrictionTM.sol` under the TransferManager modules list. It will be used to restrict the token