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.
- Use UUID as transaction ID for ATOM and NEO (dc92422b, @faustbrian)
- Normalise wallet balance before converting it (b3075db3, @faustbrian)
- Support for custom peers (9fdee040, @faustbrian)
- Implement custom peer settings (38d6eba9, @faustbrian)
- Import wallet with ledger index (e2891519, @faustbrian)
- Use UUID as unsigned transaction identifier (82dfc2e7, @luciorubeens)
- Compute transaction id with custom signature (506a2fa7, @luciorubeens)
- Add
ReadWriteWallet#secondPublicKey
(a36ef3ad, @luciorubeens)
- Check wallet is synced and delegate in aggregation (529412ac, @goga-m)
- Implement
WalletRepository#findByAlias
(067ec6ce, @dated)
- Confirm lisk transactions greater than or equal to 101 confirmations (6fed8443, @brenopolanski)
- Off by one error in api pagination offset (ba9b4685, @dated)
- Implement
WalletData#secondPublicKey
(ec9c3caf, @luciorubeens)
- Return specialized entity types with over general type (bca1c237, @dated)
- Update entity type enums to reflect AIP36 (ac4d6500, @goga-m)
- Implement
TransactionData#isVoteCombination
(4eaeaae7, @dated)
- Validate address before checking neo network (de90bdc0, @dated)
- Get votes from attributes object (a585870e, @dated)
- [ARK] Support 2.0 and 3.0 wallet structures (4216160b, @faustbrian)
- [ARK] Use searchParams instead of body for Core 3.0 (83efcfa6, @luciorubeens)
- [LSK] Use
senderId
instead ofsenderPublicKey
(c146d58e, @brenopolanski)
- [ARK] Use
address
instead ofaddresses
(44902c9b, @faustbrian)
- Expand supported properties for
ClientTransactionsInput
(222d90d3, @faustbrian)
- [ARK] Update slip44 version of devnet (98011bbd, @luciorubeens)
- [ARK] Support Core 2.0 and 3.0 (764fd392, @faustbrian)
- Implement
EntityHistoryAggregate
(10914973, @faustbrian)
- Implement
TransactionService#isAwaitingSignatureByPublicKey
(24e01896, @faustbrian)
- Implement
WalletAggregate#balancesByNetworkType
(a70c2503, @dated)
- Stop division by zero in balance calculation (657d553a, @dated)
- Rename
WalletFlag.Ledger
toWalletFlag.LedgerIndex
(21c27dc1, @faustbrian)
- Expose
Profile#convertedBalance
(7f4f5ce9, @faustbrian)
- Implement
BigNumber#isNegative
andBigNumber#isZero
(40f4d130, @dated)
- Move
URIService
to@arkecosystem/platform-sdk-support
package (4b0b35ce, @faustbrian)
- Entity action check (341f2ebd, @brenopolanski)
- Include transaction methods in
ReadWriteWallet
contract (1326387a, @goga-m)
- [ARK] Use
@arkecosystem/crypto-identities
for stateless identity generation (cbe4aab7, @faustbrian)
- [LSK] Enable
betanet
support (f2830986, @faustbrian)
- [LSK] Implement API pagination (e1a16729, @faustbrian)
- [ARK] Remove compendia testnet (1ef72ebb, @faustbrian)
- [ARK] Re-apply ARK configurations before every crypto method call (ee26ad7f, @faustbrian)
- [LSK] Don't enforce api limit and sort transactions by timestamp (09dba752, @dated)
- [LSK] Handle delegate format in WalletData (7cb9a923, @dated)
- [LSK] Use last response cursor for delegate aggregation (85850d96, @faustbrian)
- Implement
Wallet#findTransactionsByIds
(ba96e24d, @faustbrian)
- Implement
Wallet#findTransactionById
(714150c9, @faustbrian)
- Merge plugins and profiles packages (b15f63b7, @faustbrian)
- Merge
NetworkData
intoplatform-sdk
(e263e821, @faustbrian)
- Include
crypto.signingMethods
(b286ef01, @faustbrian)
- Include AIP36 in manifest (fa63f11b, @faustbrian)
- Implement
Wallet#can
andWallet#cannot
(5cbac4f6, @faustbrian)
- Extend
Notification
type (3d9cec8b, @goga-m) - Determine abilities and signing methods per network (caf21252, @faustbrian)
- Reorganise manifests by type (e80cc1a2, @faustbrian)
- Update types according to AIP36 changes (120154ce, @brenopolanski)
- Export
FeatureFlag
enum (df5454d6, @faustbrian)
- Implement
TransactionData#explorerLinkForBlock
(183268db, @dated)
- Add musig hosts (6b20793d, @faustbrian)
- Adjust return types in notifications repo (b5e71c20, @goga-m)
- Remove name from update (088b0880, @faustbrian)
- Return broadcast result (a865b1e1, @faustbrian)
- Pass categories as array to signals endpoint (fd783e05, @dated)
- Configure identity service through network (8cced2fe, @faustbrian)
- Prefix networks with the token name for unique IDs (2941d474, @faustbrian)
- Add compendia mainnet (8b9b490b, @faustbrian)
- Add compendia testnet (57db6845, @faustbrian)
- [ETH] Implement
FeeService
(23fbd568, @faustbrian)
- [ETH] Use the Platform SDK Server to interact with data (722bd449, @faustbrian)
- [ARK] Get AIP36 transaction fees by type (f575fe03, @faustbrian)
- Implement
ReadWriteWallet#entities
(8255a1f5, @dated)
- Implement
ReadWriteWallet#username
(eb39ae94, @dated)
- Implement TransactionData#convertedAmount (310b4bb9, @dated)
- Implement
WalletData#entities
(b107ff5d, @dated)
- Update fees url and fixture (8267e7e1, @dated)
- Do not set avatar during initialization (00b7e51c, @dated)
- Update error message when address wasn't derived (480aa9f1, @faustbrian)
- Set defaults when creating profile (26896aec, @dated)
- Restore default profile settings after flushing (3c7d5ab3, @faustbrian)
- Fetch fees for 30 days (31e0b7a9, @faustbrian)
- Adds some ui profile settings (c2a1a7b1, @dated)
- Require entity type and sub-type as numbers (e8a6e14d, @faustbrian)
- process magistrate fees (e8578a53, @faustbrian)
- Make sub-type optional (b5cd90dd, @faustbrian)
- Respect sub-type in cache key (38acf97d, @faustbrian)
- Allow type and sub-type of 0 (7225d2c4, @faustbrian)
- Implement
WalletRepository#update
(d40781b0, @dated)
- Merge entity aggregates to be type agnostic (4252bea4, @faustbrian)
- Persist pending signature transactions (fa468248, @faustbrian)
- Implement
ExchangeRateService#syncCoinByProfile
(f9b8b311, @dated) - Implement IPFS upload through SDK Server (e2dc6c30, @faustbrian)
- Return early from
promiseAllSettledByKey
if there are no promises (30ab7d22, @faustbrian)
- Throw exception if HTTP request fails (25feb1be, @faustbrian)
- Store exchange currency in wallet data (3d9f3d5f, @dated)
- Sync identity before votes (0132ff5a, @faustbrian)
- Implement
WalletService
to manage all wallet instances (801800cd, @faustbrian)
- Simplify
DelegateService#syncAll
(e0fda275, @faustbrian)
- Introduce
CoinService
to manage coin instances (2e864ec8, @faustbrian)
- Throw
CryptoException
if any crypro-related errors occur (b1e8a149, @faustbrian)
- Sync exchanges rates globally instead of per wallet (c186612f, @faustbrian)
- Split
CoinRepository
intoDelegateService
andFeeService
(17752b5a, @faustbrian)
- Return result without mapping when using
findDelegateByAttribute
(0eba2b88, @faustbrian)
- Return delegates as read-only wallets (67593e91, @faustbrian)
- Implement methods to find cached delegates (37f11900, @faustbrian)
- Support options in toDataUrl (032d6488, @dated)
- Implement bulk syncing of delegates and fees (1812c8eb, @faustbrian)
- Sync fees per coin (239adf84, @faustbrian)
- [LSK] Disable betanet support (8f2ba458, @faustbrian)
- Expose detailed voting information for networks (534cda5b, @faustbrian)
- Expose multi-signature participants as wallet instances (fe68cc30, @faustbrian)
- Broadcast one transaction at a time (d89b92c4, @faustbrian)
- Expose wallet network as
NetworkData
instance (1e7f41d2, @faustbrian)
- [ARK] Update dependencies (f1f07160, @faustbrian)
- [ARK] Integrate
@arkecosystem/multi-signature
(963860e7, @faustbrian)
- [ARK] Use
getStruct()
if the transaction is a multi-signature registration (80e83420, @faustbrian) - [ARK] Remove timestamp from MuSig Server (b35656d3, @faustbrian)
- Pass
SignedTransactionData
to broadcast (40d025a9, @faustbrian)
- Add pending MuSig transactions before checking state (f2bd8394, @faustbrian)
- Delete pending transactions that are already signed (2eb3c591, @faustbrian)
- Sync pending/ready multi-signatures from the remote server (3d736444, @faustbrian)
- Broadcast raw transaction data (133e99f5, @faustbrian)
- Remove usage of
multisigAsset
(0919910d, @faustbrian)
- Normalise
MultiSignatureService#findById
output (b6bab551, @faustbrian)
- Implement
WalletData#multiSignature
(e5c9d642, @faustbrian) - Implement
WalletData#isResignedDelegate
(03b96e34, @faustbrian) - Implement Multi-Signature signing and broadcasting (760679f7, @faustbrian)
- Implement
WalletAggregate#convertedBalance
(49fd1561, @faustbrian) - Implement multi-signature helpers in
TransactionService
(fa608290, @faustbrian) - Implement
Wallet#isResignedDelegate
andWallet#multiSignature
(543897e8, @faustbrian) - Implement Multi-Signature for
TransactionService
(b171775c, @faustbrian)
- Ark explorer links (8881f50f, @dated)
- [ARK] Set transaction ID (690f89a0, @faustbrian)
- Break up environment booting process (7e58b7fd, @faustbrian)
- Export DTO classes (630430ad, @faustbrian)
- Implement
ExtendedTransactionDataCollection
(196a9b7d, @faustbrian)
- Implement
Wallet#explorerLink
(0dccd07f, @faustbrian) - Implement
ReadOnlyWallet#explorerLink
(bb52c1a3, @faustbrian)
- Throw error if
syncVotes
fails (4cc16cef, @faustbrian)
- Export
DelegateMapper
andCoinRepository
(8e0822ab, @faustbrian)
- Implement
Wallet#canVote
(0ee97aa5, @faustbrian) - Implement
TransactionData#total/convertedTotal
(628a664e, @faustbrian)
- Decouple
DelegateMapper
fromWallet
(11620f26, @faustbrian) - Remove extraneous
Wallet
methods (ae11ed1d, @faustbrian)
- Remove double slash from explorer links (b211d3f6, @faustbrian)
- Map TransactionData according to type (46386972, @faustbrian)
- Implement
CoinRepository
for direct coin interactions (7e5bac88, @faustbrian) - Expose more voting information (3def136b, @faustbrian)
- Implement Profile and Wallet contracts (09aa999f, @faustbrian)
- Add method to return all pending transactions (30cbaae3, @faustbrian)
- Implement TransactionData wrapper DTO (44529290, @faustbrian)
- Include rank in
ReadOnlyWallet
(acb5b030, @faustbrian) - Implement vote syncing for wallets (b26f3d61, @faustbrian)
- Implement entity aggregates (b70be328, @faustbrian)
- Rename
AutomaticLogoffPeriod
toAutomaticSignOutPeriod
(7d6fbeed, @dated) - Update plugin interface to include plugin data (138a5aa5, @faustbrian)
- Fix profile registration aggregate query params (e1f34bd3, @goga-m)
- Implement
RegistrationAggregate
for profile (7a273851, @faustbrian)
- Add missing exports (5f05f0be, @faustbrian)
- Expose more information through
SignedTransactionData
(00b48ba0, @faustbrian)
- Retrieve signed or broacasted transactions from storage (ba6635e6, @faustbrian)
- Return
VoteData
for unvote type (9ff39c68, @faustbrian)
- Identify AIP36 transaction types (ffb09ec2, @faustbrian)
- Implement AIP36 transaction identifiers (ccf9db35, @faustbrian)
- Implement
TransactionData#blockId
(023b8c61, @faustbrian)
- Implement query and category for blockfolio signals (f63c0482, @faustbrian)
- Implement
Environment#registerCoin
(a09c7162, @faustbrian) - Implement
DataRepository#first
andDataRepository#last
(323b92cb, @faustbrian)
- Allow creation of coin instances (06a9c109, @faustbrian)
- Throw an exception if the ID of a newly signed transaction is a duplicate (0f587089, @faustbrian)
- Use helper methods for wallet balance and sequence (50e7221f, @faustbrian)
- Always cast the balance and sequence to BigNumber (59edcc2d, @faustbrian)
- Only persist and restore known wallet data (198083d1, @faustbrian)
- [ADA] Add index.ts where needed (d5509434, @faustbrian)
- [NEO] Implement
ClientService#wallet
(5fedc5d5, @faustbrian) - Verify that expected and actual sender of transactions are a match (837b68c4, @faustbrian)
- [ARK] Turn signed transaction into plain object before broadcasting (d1db6c38, @faustbrian)
- Persist signed and broadcasted transactions (72591998, @faustbrian)
- [ARK] Serialise and deserialise transaction after signing (d0c61d11, @faustbrian)
- Update API url (e8fc48c3, @faustbrian)
- Implement
RegistrationAggregate#plugins
(f0ee2971, @faustbrian)
- Determine transaction type based on
is*
methods (be4101df, @faustbrian)
- Delete "entityAction" after using it (35309700, @faustbrian)
- Support listing all entity registrations (9335c7c1, @faustbrian)
- Implement
RegistrationAggregate
(880cedc5, @faustbrian)
- Implement
SignedTransactionData
(abc51e67, @faustbrian)
- Update dependencies (2f2e8acb, @faustbrian)
- Implement AIP36 (a5fa5503, @faustbrian)
- Return empty array from
TransactionData#recipients
(5245c5dc, @faustbrian) - Default decimals to 8 for
toHuman
(8e1939ec, @faustbrian)
- [LSK] Handle main and beta transaction types (b20f4445, @faustbrian)
- [LSK] Implement
TransactionData#recipients
(084dfc73, @faustbrian)
- [ARK] Normalise
TransactionData#recipients
return value (ffb9b520, @faustbrian) - [LSK] Use
senderIdOrRecipientId
in place ofaddress
(ca267638, @faustbrian)
- Return timestamp as
DateTime
instance (bfef4a9b, @faustbrian)
- Only return the ID of a signed transaction (c95fe7db, @faustbrian)
- Remove signed transactions once they have been confirmed (e8197833, @faustbrian)
- Temporarily use
.getStruct()
to avoid serialiser corruption (64867d21, @faustbrian)
- Call
toFixed
with argument if argument is 0 (5538dc65, @dated) - Access transaction service to sign transactions (e866ba6f, @faustbrian)
- Implement
BigNumber#toHuman
(6cfdd26e, @faustbrian)
- Send
limit
instead ofperPage
parameter (4d6aa2b9, @faustbrian)
- Implement public key to delegate mapper (477937d1, @faustbrian)
- Call
isConfirmed
to ensure confirmation (7dc07ecd, @faustbrian)
- Mark transactions as signed before broadcasting (37649c65, @faustbrian)
- Expose data validator (7a500d0f, @faustbrian)
- Implement
TransactionData#isConfirmed
(a22de965, @faustbrian) - Implement wallet transaction service (bef86086, @faustbrian)
- Ignore the name of contact that is being updated (ddad5071, @faustbrian)
- Implement
DateTime#fromUnix
(a58aead2, @faustbrian)
- Bad relative import (69732558, @faustbrian)
- Return unix timestamp for transactions (22565231, @faustbrian)
- Pass query to transaction aggregate methods (1ddd6351, @faustbrian)
- Implement
ProfileRepository#has
(e277b4c9, @faustbrian) - Implement
WalletRepository#has
(53d94b68, @faustbrian)
- Default to empty object if promises haven't been settled (e9bbcede, @faustbrian)
- Support pagination for transaction aggregate (7c32d81f, @faustbrian)
- Implement collection paginator (ab973e22, @faustbrian)
- Implement
Contact#avatar
(6cce3b5f, @dated)
- Ensure uniqueness of contact name (ac50eac5, @dated)
- Support
query
for post requests (1f684d59, @faustbrian)
- Implement
ProfileRepository#count
(a4c564dd, @dated) - implement
DTO#hasPassed
andDTO#hasFailed
(871233dd, @dated)
- Exclude out-of-sync wallets from data aggregation (5d4555dc, @faustbrian)
- Implement
ContactAddress#hasSyncedWithNetwork
(690b9108, @faustbrian)
- Streamline profile repository methods (562a78fc, @dated)
- Use
addresses
parameter for address searches (52045100, @faustbrian)
- Export contact address types (b7676bdb, @dated)
- Implement
Profile#usesPassword
(4b0e12c1, @faustbrian) - Implement
Profile#flush
(d80e6ccf, @faustbrian)
- Throw an exception if the wallet failed to sync with the network (918b126d, @faustbrian)
- Move authentication behaviours into
Authenticator
(c5e58e0d, @faustbrian)
- [ARK] Remove vote prefix from public keys (8fa0ae41, @faustbrian)
- Implement profile data aggregates (9dfade3d, @faustbrian)
- Sync delegate list and store it locally (5cf11ea9, @faustbrian)
- Return type-specific transaction DTOs (6bd1227f, @faustbrian)
- Allow strings, numbers, booleans and objects for settings (7df67d97, @faustbrian)
- Restore wallet data and public key on sync error (058806b3, @faustbrian)
- Add
ProfileSetting.AutomaticLogoffPeriod
(f4500198, @faustbrian) - Implement
bcryptjs
asargon2
alternative (1e74f309, @faustbrian) - Add
DTO#hasData
method to determine if data is not undefined (4a050ade, @faustbrian)
- Temporarily disable
argon2
(1e74f309, @faustbrian)
- Use browser-compatible argon2 dependency (92a881c7, @faustbrian)
- Add support for profile passwords (2dbcc9e6, @faustbrian)
- Treat the profile name as a setting (3654f77e, @faustbrian)
- Implement plugin blacklist (85b2bf06, @faustbrian)
- Timeout neoscan.io requests after 1 second (c3381891, @faustbrian)
- Restore wallet data and settings on boot (3b2ee58c, @faustbrian)
- Base profile avatar on name instead of id (7c4077e0, @faustbrian)
Republish of 0.9.175
- Initial implementation of platform-sdk-plugins (1e1cbc91, @faustbrian)
- Integrate platform-sdk-plugins into platform-sdk-profiles (a61dba11, @faustbrian)
- Detach contacts from wallets (e20d67c2, @faustbrian)
- Modify contact instance instead of object (56cf84be, @faustbrian)
- Remove
sodium-native
dependency (7900eaf9, @faustbrian)
- Use
&&
forfindByCoinWithNetwork
filter (435b1210, @faustbrian)
- Update dependencies (685f68d9, @faustbrian)
- Initial implementation of
platform-sdk-http-ky
(44ce288a, @faustbrian)
- [ARK] Use a random default host for the peer service if none is configured (f3ddb68d, @faustbrian)
- Update ARK hosts (8f1f7cc5, @faustbrian)
- Implement
Request#withCacheStore
(b1e1ea31, @faustbrian) - Implement
Wallet#fiat
for fiat balance (62ed1d11, @faustbrian) - Implement blockfolio signals (1947fd05, @faustbrian)
- Export
NetworkData
(eed60eec, @luciorubeens)
- Import wallet by address (7bcc9ea2, @faustbrian)
- Implement fluent interface for HTTP clients (d510108f, @faustbrian)
- Implement
NetworkData
(c8c1c96c, @faustbrian) - Implement
MemoryStorage
(6e5712a7, @faustbrian)
- Flag networks as
live
ortest
(3c0e08ba, @faustbrian) - Implement
platform-sdk-http-axios
(0cc5a1e3, @faustbrian) - Implement
platform-sdk-http-got
(17e9c102, @faustbrian) - Implement
platform-sdk-http-node-fetch
(8756f605, @faustbrian) - Implement
platform-sdk-http-bent
(e6d07f50, @faustbrian)
- Implement
Environment#bootFromObject
(031c6008, @faustbrian)
- Migrate from
eosjs-ecc
toelliptic
(6d96fe9b, @faustbrian)
- Validate data in
SettingRepository#fill
(65332ff5, @faustbrian)
- Expect coin to be a string (74bcd0f2, @faustbrian)
- Implement
Environment#availableNetworks
to expose available networks (c63de791, @faustbrian)
- Rename
ProfileRepository#get
toProfileRepository#findById
(ec8d4be2, @faustbrian) - Organise profile setting keys (1dadcbe7, @faustbrian)
- Use configured HTTP client instead of
@arkecosystem/client
(2938d0b8, @faustbrian)
- Implement
is*
methods to determine transaction types (85d09e1c, @faustbrian) - Implement exchange rate fetching (14eca3c7, @faustbrian)
- Implement
TransactionData#isUnvote
(43d8abea, @faustbrian)
- Organise models into separate files by type (56232394, @faustbrian)
- Use deterministic values for avatar generation (8c0f4b84, @faustbrian)
- Implement
platform-sdk-ipfs
(cc8668bb, @faustbrian) - Flag contacts with types like wallets (3ddcc5ea, @faustbrian)
- Implement
Cache
(1346dc0c, @faustbrian)
- Pass profile to
Wallet
andContact
(86c4e4f9, @faustbrian) - Cache the avatar of a contact address (1386e629, @faustbrian)
- Use
@vechain/picasso
for avatars (5f4f02c8, @faustbrian)
- Update crypto dependencies to 2.6.42 (4ee8e951, @faustbrian)
- Implement
WalletRepository#sortBy
(34bd7116, @faustbrian)
- Update
ethereumjs-wallet
to1.0.0
(e28f8c3f, @faustbrian)
- Use
day
instead ofdate
for differences (e217a2d0, @faustbrian)
- Implement
MultiSignatureService
(986b54bf, @faustbrian)
- Add Multi-Signature hosts to manifest (c43c4424, @faustbrian)
- Implement
WalletData#isDelegate/isKnown/isMultiSignature/isSecondSignature
(4dcd4aac, @faustbrian)
- Merge
WalletData
andDelegateData
(9788bc75, @faustbrian)
- Implement
Wallet#isDelegate
(9d8c2326, @faustbrian)
- Rename
WalletRepository#createRandom/createFromObject
toWalletRepository#generate/restore
(7ac4fd69, @faustbrian) - Update
ethereumjs-wallet
to0.6.4
(f2125632, @faustbrian)
- Implement
Markdown
parser (13cc7f57, @faustbrian)
- Update dependencies (4977bf01, @faustbrian)
- Implement wallet flags (cffebc51, @faustbrian)
- Implement
WalletRepository#allByCoin
(de80170c, @faustbrian) - Add profile aggregates (355d2efd, @faustbrian)
- Use
Coins.Config
by reference (1c385c34, @faustbrian) - Tename
Wallet#create
toWallet#import
(64907e13, @faustbrian)
- Cache the balance and nonce of a wallet (0ac07619, @faustbrian)
- Implement
Profile#balance
(7df6ff94, @faustbrian) - Implement
Wallet#alias
(77f192c0, @faustbrian)
- Expose voting support through manifest (bfcdf086, @faustbrian)
- Set wallet avatar and include voting manifest into validation (342e6788, @faustbrian)
- Turn contact POJO into a class (661793a4, @faustbrian)
- Add missing exports (82698aa4, @faustbrian)
- Add avatar to contacts (b092f931, @faustbrian)
- Replace
qrious
withnode-qrcode
(e2bb32ca, @faustbrian)
- Set profile avatar based on ID (53ef7ca9, @faustbrian)
- Add
qrious
as production dependency (923a287d, @faustbrian)
- Implement
WalletRepository#createRandom
(3c9f4b3c, @faustbrian)
- Require ledger transport to be explicitly passed in (56b38e8e, @faustbrian)
- Implement
LedgerService
forEOS
(9cbd966d, @sleepdefic1t) - Add
Wallet#votes
andWallet#voter
proxy methods (e10f20bd, @faustbrian) - Add
MetaPagination
contract (e8c9f64b, @faustbrian) - Add
TransactionService
proxy methods toWallet
(873939a6, @faustbrian) - Add
MessageService
proxy methods toWallet
(122deec2, @faustbrian) - Add
LedgerService
proxy methods toWallet
(31e1a213, @faustbrian) - Add
ClientService
proxy methods toWallet
(1a8784f3, @faustbrian) - Add
LinkService
proxy methods toWallet
(b59fe627, @faustbrian) - Implement notifications (62979b01, @faustbrian)
- Implement
Currency#fromString
to parse currency strings (ed20a90b, @faustbrian) - Implement
QRCode
(c6f9bb78, @faustbrian)
- Update
LedgerService
(e03a8753, @sleepdefic1t) - Use UUID as wallet identifier (f59dbae1, @faustbrian)
- Pass in
HttpClient
instance to markets (3adf9249, @faustbrian) - Make
ProfileRepository#all/create
sync (285453cc, @faustbrian) - Setup boilerplate for
platform-sdk-json-rpc
(baa64776, @faustbrian) - Rename
signer
tosignatory
(1c0d1d6b, @faustbrian) - Less noisy coin proxy methods (9e8e003e, @faustbrian)
- Initial implementation of
platform-sdk-news
(623cb841, @faustbrian) - Automatically persist wallets after CRUD operations (c21a698a, @faustbrian)
- Implement methods to save and load all environment data (25fd1632, @faustbrian)
- Implement
MessageService#sign/verify
(b5da8dc3, @faustbrian) - Validate ARK and NEO addresses to avoid collisions (dd5540a4, @faustbrian)
- Validate storage data on read/write (c6866b71, @faustbrian)
- Implement
LedgerService
forNEO
(4578aebc, @sleepdefic1t)
- Rename
passphrase
tomnemonic
(f7fc2aa8, @faustbrian) - Use container to manage references (510e7e72, @faustbrian)
- Replace
@hapi/joi
withyup
(16d5d2f7, @faustbrian) - Pass supported coins to
Environment
(14936722, @faustbrian) - Add
ProfileStruct
andWalletStruct
contracts (33f204f3, @faustbrian) - Rename
secondPassphrase
tosecondMnemonic
(a74e0549, @faustbrian)
- Include data and settings in wallet object (2746433a, @faustbrian)
- Handle connection attempt to peer of a different network (dbc3921d, @faustbrian)
- Implement
DateTime#toDate/startOf/from/fromNow
methods (dfcbcc34, @goga-m)
- Add
sodium-native
as dependency (50d76623, @faustbrian)
- Use same data store for profile and contacts (f5f751d6, @faustbrian)
- Implement CRUD actions for contacts (108f9536, @faustbrian)
- Automatically persist contacts as profile data (1312f7fb, @faustbrian)
- Implement
Contacts
(8b79e798, @faustbrian)
- Add
decimals
parameter toBigNumber#toFixed
(7f6c2fd9, @goga-m)
- Generate avatar for profiles and wallets (741eb37f, @faustbrian)
- Implement BIP38 & AES (02669a2c, @faustbrian)
- Export everything from
platform-sdk-profiles
to allow for proper type hinting (9f2f8203, @faustbrian)
- Implement
TransactionService#transfer
(fb39d338, @faustbrian) - Implement
LedgerService
(3f6cf1c0, @sleepdefic1t)
- Fix type inclusion errors (26255039, @goga-m)
- Prevent locale change for
DateTime
if it is invalid (e5253074, @faustbrian) - Prevent invalid settings from being stored (b9c5dac2, @faustbrian)
- Require the consumer to specify an HTTP client (d8dbe30a, @faustbrian)
- Import
dayjs
plugins to force type inclusion (d0de77dd, @faustbrian)
- Implement
BIP39#generate
(e1dff21c, @faustbrian) - Integrate
@arkecosystem/core-magistrate-crypto
(220fcdfa, @faustbrian)
- Integrate
keytar
for system keychain access (a2390870, @faustbrian) - Implement
BIP39#validate
(eb90324c, @faustbrian) - Implement
Wallet#transactions/sentTransactions/receivedTransactions
(5b45733c, @faustbrian) - Implement
Address#validate
(1196c9df, @faustbrian) - Add
ClientTransactionsInput
andClientWalletsInput
contracts (7f72b3ea, @faustbrian)
- Extract supportive functionality into
platform-sdk-support
package (e02ed115, @faustbrian) - Move crypto functionality into
platform-sdk-crypto
(50c63489, @faustbrian) - Replace
bent
withreqwest
(bb2ad1d9, @faustbrian)
- Allow usage of custom storage implementations (586218bc, @faustbrian)
- Implement
Migrator
for data migrations (a9e38b25, @faustbrian)
- Change duplicate error wording (7eded51e, @faustbrian)
- Add allowed signing methods to manifest (a6f2c7f9, @faustbrian)
- Add
Money
class for currency handling (2667af3e, @faustbrian) - Implement
Numeral
for number formatting (255d273e, @faustbrian)
- Prevent duplicate wallets per profile (ccfaf1ed, @faustbrian)
- Get profiles by ID or name (dd15a9dd, @faustbrian)
- Implement
censorMemo
method (79c3987d, @faustbrian)
- Remove
PeerService#searchWithPlugin
andPeerService#searchWithoutEstimates
(519595e7, @faustbrian)
- Make
BigNumber
immutable (9478fc48, @faustbrian)
- Implement
BigNumber#comparedTo
(a07e4722, @faustbrian)
- Added
DateTime#getMillisecond
(6a31e0ae, @faustbrian) - Added
DateTime#getSecond
(6a31e0ae, @faustbrian) - Added
DateTime#getMinute
(6a31e0ae, @faustbrian) - Added
DateTime#getHour
(6a31e0ae, @faustbrian) - Added
DateTime#getDayOfMonth
(6a31e0ae, @faustbrian) - Added
DateTime#getDay
(6a31e0ae, @faustbrian) - Added
DateTime#getWeek
(6a31e0ae, @faustbrian) - Added
DateTime#getMonth
(6a31e0ae, @faustbrian) - Added
DateTime#getQuarter
(6a31e0ae, @faustbrian) - Added
DateTime#getYear
(6a31e0ae, @faustbrian) - Added
DateTime#setMillisecond
(6a31e0ae, @faustbrian) - Added
DateTime#setSecond
(6a31e0ae, @faustbrian) - Added
DateTime#setMinute
(6a31e0ae, @faustbrian) - Added
DateTime#setHour
(6a31e0ae, @faustbrian) - Added
DateTime#setDayOfMonth
(6a31e0ae, @faustbrian) - Added
DateTime#setDay
(6a31e0ae, @faustbrian) - Added
DateTime#setWeek
(6a31e0ae, @faustbrian) - Added
DateTime#setMonth
(6a31e0ae, @faustbrian) - Added
DateTime#setQuarter
(6a31e0ae, @faustbrian) - Added
DateTime#setYear
(6a31e0ae, @faustbrian)
- Pass the locale when creating a new immutable instance (6b05bbdf, @faustbrian)
- Initial draft implementation of
platform-sdk-intl
(49502c33, @faustbrian)
- Added
BigNumber#isNaN
(24d50d29, @faustbrian) - Added
BigNumber#isPositive
(24d50d29, @faustbrian) - Added
BigNumber#isFinite
(24d50d29, @faustbrian)
- Added
BigNumber#isGreaterThan
(667c5e6a, @faustbrian) - Added
BigNumber#isGreaterThanOrEqualTo
(667c5e6a, @faustbrian) - Added
BigNumber#isLessThan
(667c5e6a, @faustbrian) - Added
BigNumber#isLessThanOrEqualTo
(667c5e6a, @faustbrian)
- Remove
dayjs
imports that cause issues (dff61fcd, @faustbrian)
- Implement global, profile and wallet data (7b83390e, @faustbrian)
- Implement DTO collections (2978b12d, @faustbrian)
- Implement URIService (8da9ba53, @faustbrian)
- Setup editor support for yarn berry and typescript (01cd9e5f, @faustbrian)
- Implement
platform-sdk-profiles
(f393a561, @luciorubeens) - Implement data storages for profiles (63e8897b, @faustbrian)
- Implement
global
andprofile
settings (716ea6a6, @faustbrian) - Add "quarter of year" plugin to
dayjs
(ce9dc6a4, @faustbrian)
- Normalise mnemonics (1eb0d3cb, @faustbrian)
- Implement
LedgerService
forATOM
(6120a2c7, @sleepdefic1t)
- Wrong method name for static
MarketService
constructor (f315cec9, @faustbrian)
- Generate API documentation with typedoc (4cd3469b, @faustbrian)
- Increase nonce if retrieved via API (4fbe49d8, @faustbrian)
- Look up nonce if none is provided for
ARK
(8cf5d922, @faustbrian)
- Use fallback host if no peer is provided (81a3328b, @faustbrian)
- Implement
MessageService
forXLM
(cbc276b5, @faustbrian) - Implement
TransactionData#asset
(2e2bb288, @faustbrian) - Implement
LedgerService
forXRP
(f42be51e, @sleepdefic1t) - Support transferring
ERC20
tokens (384eb7c6, @faustbrian) - Implement
LedgerService
forTRX
(9280e618, @faustbrian) - Implement
LedgerService
forXLM
(0daf5b6e, @faustbrian) - Implement
LedgerService
forETH
(0881ea3a, @faustbrian) - Implement
NetworkRepository
(67d190a3, @faustbrian) - Implement
Manifest
(acc0300d, @faustbrian) - Implement
LedgerService
for LSK`` (cced5708, @sleepdefic1t) - Implement
Guard
to protect against bad method calls (0a0a7c1a, @faustbrian) - Implement
Config
service for coins (103111f1, @faustbrian) - Implement
LedgerService#connect
andLedgerService#disconnect
(226b7f00, @faustbrian) - Handle peer discovery and network identifiers (34e74c27, @faustbrian)
- Implement
betanet
support forLSK
(1ba0a846, @faustbrian)
- Group repeated
Buffer
behaviours into a class (319d24f3, @faustbrian) - Automatically instantiate the
LedgerTransport
(aee01496, @faustbrian) - Return
undefined
forTransactionData#memo
if it doesn't exist (97ae565d, @faustbrian) - Expect an
object
forTransactionData#asset
(710796cf, @faustbrian) - Remove
TransactionData#nonce
method (37b9d7ff, @faustbrian) - Remove
@arkecosystem/utils
dependency (b3940cdf, @faustbrian) - Return a string identifier for
TransactionData#type
(70794060, @faustbrian) - Add all supported networks to
manifest
(0c9c9f6a, @faustbrian) - Replace
AbstractFactory
withCoinFactory
(111ee2dd, @faustbrian) - Add currency symbols to manifest (a1a8ae21, @faustbrian)
- Implement
Coin
to slim downCoinFactory
(651068a7, @faustbrian) - Store network object in
Config.network
instead of string (fc870e2c, @faustbrian)
- Return magistrate fees from
FeeService#all
(ba0be8b5, @faustbrian) - Only list
XRP
transactions (dc85f366, @faustbrian) - Always treat
fee
andamount
asstring
(9c5b8758, @faustbrian) - Export naming (1d3626f9, @faustbrian)
- Implement mnemonic derivation for
IdentityService
forXLM
(0c5ec51d, @faustbrian) - Implement
ClientService#transactions
(15ffde49, @faustbrian) - Implement
NumberFormatter
andCurrencyFormatter
(6eebe105, 71d61016, @faustbrian) - Setup boilerplate for
XLM
(a61a40e0, @faustbrian) - Implement
IdentityService
forXLM
(8e3ab1bc, @faustbrian) - Implement
ClientService
forXLM
(9a6464de, @faustbrian) - Implement
TransactionService
forXLM
(fe9cc00c, @faustbrian) - Include
nonce
inWalletData
(6942cc6f, @faustbrian) - Support transaction signing with private key for
XLM
(892e7522, @faustbrian)
- Update manifest and docs for
NEO
(a2229e08, @faustbrian) - Split up
IdentityService
into subclasses (13524ae7, @faustbrian) - Force network name to be
live
,demo
ortest
(33dbb695, @faustbrian) - Add
crypto
key to manifest to hold BIP values (da6e466a, @faustbrian) - Normalise
ClientService#broadcast
response (32a80670, @faustbrian) - Always treat
nonce
asBigNumber
(e6b0b99b, @faustbrian) - Update manifest and documentation for
XLM
(e5ae3ece, @faustbrian) - Use
BigNumber
fromplatform-sdk
instead ofutils
(47deb97c, @faustbrian)
- UTC declaration for dayjs (c3461d50, @luciorubeens)
- Add derivation path to manifests (f4e450fe, @faustbrian)
- Remove
ClientService#configuration
(2b5b501b, @faustbrian)
- Implement mnemonic derivation for
ETH
(b6f3931a, @faustbrian) - Implement
IdentityService
forNEO
(863671f5, @faustbrian) - Implement
MessageService
forNEO
(8c91be4d, @faustbrian) - Implement
TransactionService#transfer
forNEO
(1968e333, @faustbrian)
- Use
platform-sdk-server
forETH
communication (db0db34d, @faustbrian)
- Implement mnemonic usage for
IdentityService
forBTC
(ff3796dd, @faustbrian)
- Use the
platform-sdk-server
forBTC
communication (478a790d, @faustbrian) - Update manifest (7b0775cd, @faustbrian)
- Remove
IdentityService#keyPair(publicKey)
(e540ed17, @faustbrian)
- Format UTXO response for transaction builder (5edb4aa7, @faustbrian)
- Support domain-based peers (c00eb200, @faustbrian)
- Try to first use a peer and then the network for the
PeerService
(4859be8b, @faustbrian)
- Handle underlying effects of new factory arguments (be625fe4, @faustbrian)
- Add missing exceptions for
IdentityService
(b5240108, @faustbrian)
- Transfer transaction signing and broadcasting for
BTC
(017ce6fc, @faustbrian) - Implement
FeeService
to control fee behaviours (b6100d72, @faustbrian)
- Replace
bitcoin-*
libs withbitcore-lib
(ccc6b1ad, @faustbrian) - Include basic network information in
manifest
(54e59a72, @faustbrian) - Normalise
Factory
options (04c02c89, @faustbrian) - Rename
PriceTrackerService
toMarketService
and add documentation (aed26ab5, @faustbrian)
- Implement
ClientService#transaction/transactions/wallet
methods forATOM
(82e606ae, @faustbrian) - Transfer signing and broadcasting (f72bc101, @faustbrian)
- Always collect coverage (529876f6, @faustbrian)
- Update manifests (6dd5e40e, @faustbrian)
- Updated manifests (6dd5e40, @faustbrian)
- add
DelegateData#getUsername
andDelegateData#getRank
(0a4ab515, @faustbrian) - add
ClientService#getVotes
andClientService#getVoters
methods (b9075224, @faustbrian) - implement transaction signing and identity geneneration (81486551, @faustbrian)
- implement LinkService (f18a6d1c, @faustbrian)
- add
options
for transaction signing (5c528f3a, @faustbrian) - implement
Factory
for each adapter (fa81ba4e, @faustbrian) - implement
LedgerService
(b894e16b, @faustbrian)
- make all public API methods async (72a5dd0b, @faustbrian)
- return normalised object from
DTO#toObject
(8e413dfc, @faustbrian) - remove unused block code (64127a74, @faustbrian)
- standardise the input for the
Transaction#create*
methods (b9fe08f3, @faustbrian) - add
Class#construct
andClass#destruct
(406fd104, @faustbrian) - use ripple-lib connection for API requests (31617bbd, @faustbrian)
- final method names (0b239fb3, @faustbrian)
- drop
ClientService#searchTransactions
andClientService#searchWallets
(9cb7f2bc, @faustbrian) - merge
ClientService#cryptoConfiguration
intoClientService#configuration
(4d5a414d, @faustbrian) - merge
ClientService#feesByNode
andClientService#feesByType
(9a6406b7, @faustbrian) - add contract for
MessageService
input (317188e6, @faustbrian) - add contract for
IdentityService
input (20cc46af, @faustbrian) - turn
PeerService
fluent helpers into options (9eaecafe, @faustbrian)
- add package banners (80fda7dd, @faustbrian)
- only list payments when using
Client#getTransactions
(0e0c7966, @faustbrian) - use testnet transaction structure (ac85331e, @faustbrian)
- return
asset.payments
sum if transaction type is multipayment (78bd0671, @faustbrian)
- add
WalletData#getNonce
method (fbbc21ba, @faustbrian)
- add
yarn run publish
script (1a623033, @faustbrian) - expect an array of transactions for
#postTransactions
(777d7821, @faustbrian)
- treat amounts as strings (d7d0d9ca, @faustbrian)
- initial draft of normalised Block DTO (2487fad5, @faustbrian)
- initial draft of normalised Transaction DTO (15ca2eef, @faustbrian)
- initial draft of normalised Peer DTO (398d123c, @faustbrian)
- initial draft of normalised Wallet DTO (1cbe4dc7, @faustbrian)
- add manifests to provide coin information (ae3ae870, @faustbrian)
- implement
Client
methods (a35aa505, @faustbrian) - initial implementation (2eae2f0b, @faustbrian)
- implement
getTransactions
(671887b3, @faustbrian) - initial implementation (40939eb3, @faustbrian)
- implement
Client#getWallet
(7b60b859, @faustbrian) - implement
Message#sign
andMessage#verify
(596f9ebd, @faustbrian) - implement transaction, wallet and delegate methods for
Client
(dba67b63, @faustbrian) - introduce peer discovery service (f6147ff6, @faustbrian)
- update dependencies to latest versions (6aee2492, @github-actions[bot])
- update dependencies to latest versions (395ae36a, @github-actions[bot])
- use @liskhq/lisk-transactions-old for mainnet and testnet (b946b522, @faustbrian)
- remove getBridgechainsByBusiness (9b891508, @faustbrian)
- remove block methods (187a6787, @faustbrian)
- use yarn workspace with multiple packages (e38562b3, @faustbrian)
- setup boilerplate for NEO, XMR and XRP (ca079e52, @faustbrian)
- break down price trackers into multiple packages (aad6b240, @faustbrian)
- move everything to its final location with matching names (2684b89d, @faustbrian)
- final package names (7bbca218, @faustbrian)
- include meta data in collection-based responses (73ee7b32, @faustbrian)
- Implement delegate methods for clients (70517411, @faustbrian)
- Add more endpoints for ARK client (d5cc49fd, @faustbrian)
- Initial implementation of LSK (9be68718, @faustbrian)
- Message signing for ARK, BTC and LSK (9bb77307, @faustbrian)
- Add
getPeers
method to client contract (d3dc3e99, @faustbrian) - Initial implementation of TRX (fe71fb9f, @faustbrian)
- Basic client setup for ETH (fe8168b9, @faustbrian)
- Implement various ETH client methods (6935f8c9, @faustbrian)
- Bump acorn from 6.4.0 to 6.4.1 (8e67abab, @dependabot[bot])
- Disable conflicting eslint rules (7f9dc896, @faustbrian)
- Update dependencies to latest versions (628dff91, @github-actions[bot])
- Usage of exceptions (a6a0d1f2, @faustbrian)
- Default lisk to betanet (8b1e86bd, @faustbrian)
- Export IdentityFactory (d09b2ebf, @faustbrian)
- Initial implementation of ARK crypto (c7121fbd, @faustbrian)
- Initial implementation of ARK client (593fd555, @faustbrian)
- Add search methods to ARK client (ab3b1ee6, @faustbrian)
- Identity generation for ARK (32a94c8c, @faustbrian)
- Identity generation for BTC (fea0bb7b, @faustbrian)
- Identity generation for ETH (c48615ba, @faustbrian)
- Add npm-check-updates as dev dependency (931de0f1, @faustbrian)
- Update dependencies to latest versions (437dd822, @github-actions[bot])
- Implement DTOs per adapter with a contract (ba882c5f, @faustbrian)
- Update dependencies (4c03c69c, @faustbrian)
- Organise concrete implementations by token (1f012929, @faustbrian)
- Consolidate types for
Record<string, any>
(c0884c35, @faustbrian) - Move DTOs up a level to flatten directory structure (cd9e4307, @faustbrian)
- Export price tracker contracts (81fb042b, @faustbrian)
- Add missing default plugins to dayjs (d62b0d53, @faustbrian)
- Export
PriceTrackerService
- initial release