1.6.0 (2024-11-14)
- grpc: add bls public key and signature aggregate methods (#1587)
- wallet: create single ed25519 reward address for all validators (#1570)
- gtk: add fee entry for transfer, bond and withdraw (#1575)
- txpool: add consumptional fee model (#1572)
- txpool: calculate consumption when committing a new block (#1554)
- sync: add metric to track the network activity (#1552)
- wallet: add wallet service API (#1548)
- config: add consumption fee configs (#1547)
- config: update TOML parser (#1592)
- gtk: prevent duplicate address on enter signal in create modal (#1590)
- txpool, cmd, gtk: broadcast transactions with zero fee (#1589)
- consensus: send decided vote for previous round on query vote (#1567)
- grpc: get tx pool content filter by payload type (#1581)
- wallet, cmd: add support for importing Ed25519 private keys (#1584)
- gtk: change transactions to transaction in tx link (#1580)
- grpc: set Bond public key for decoded transaction (#1577)
- other: add varnamelen linter to improve name convention (#1568)
- grpc: encode data and signature properly (#1538)
- gtk: change some text in GUI and pruned position (#1536)
- cmd: get first account address from wallet as reward address (#1594)
- grpc: revert GetRawTransfer method and undo deprecation (#1560)
- crypto: define SerializeSize for PublicKey and Signature (#1534)
1.5.0 (2024-10-08)
- cmd: pactus-wallet add info commands (#1496)
- state: enable Ed25519 for the Testnet (#1497)
- gtk: support create Ed25519 in gtk (#1489)
- grpc: add Ed25519 to AddressType proto (#1492)
- wallet: upgrade wallet (#1491)
- wallet: supporting Ed25519 curve in wallet (#1484)
- grpc: add
Proposal
toConsensusInfo
API (#1469) - crypto: supporting ed25519 (#1481)
- gtk: adding IsPrune to node widget (#1470)
- daemon: warn at pruning a prune node attempt (#1471)
- genesis: separating chain param from genesis param (#1463)
- cmd: pactus-shell support interactive shell (#1460)
- gtk: increase window width to show availability score (#1529)
- state: set hard-fork height for the mainnet (#1528)
- wallet: change to prompt password for masking (#1527)
- deps: go version docker image to build go v1.23.2 (#1522)
- network: close stream on timeout (#1520)
- http: add pprof link in http web interface (#1518)
- sync: close stream on read error (#1519)
- sync: set last support version to 1.5.0 (#1517)
- http: pprof in http server (#1515)
- cmd: add flag debug to enable pprof (#1512)
- cmd: add pprof as default in http server (#1511)
- grpc: merge raw transaction methods to one rpc method (#1500)
- wallet, cmd: adding ed25519_account in help and set as default (#1485)
- wallet: add memo in confirmation wallet CLI (#1499)
- store: cache Ed25519 Public Keys (#1495)
- grpc: adding pyi files for python generated files (#1479)
- grpc: change enum type to numeric for documentation (#1474)
- shell: stop showing usage on error (#1467)
- util: chunked download to improve download speed (#1459)
- gtk: width size of listbox and download button (#1434)
- grpc: add example json-rpc in generated doc (#1461)
- grpc: add basic check for grpc configuration to check basic auth (#1455)
- util: remove util.Now helper function (#1442)
- crypto: replace bls12-381 kilic with gnark (#1510)
- crypto: define errors for crypto package (#1507)
- sync: define errors for sync package (#1504)
- types: define errors for vote package (#1503)
- state: define errors for state package (#1457)
- util: remove GenericError code (#1454)
- types: using options pattern for memo parameter on new tx functions (#1443)
1.4.0 (2024-08-01)
- cmd: add node type page to the startup assistant (#1431)
- grpc: adding is-pruned and pruning-height to blockchain info API (#1420)
- daemon: add import command to download pruned snapshots (#1424)
- util: file downloader with verify sha256 hash (#1422)
- sync: define full and prune service (#1412)
- pip: implement PIP-23 (#1397)
- firewall: check valid gossip and stream messages (#1402)
- state: prune block on commit (#1404)
- core: pruning client by prune command (#1400)
- store: prune block function (#1399)
- wallet: add timeout client connection (#1396)
- add backup tool script (#1373)
- consensus: handle query for decided proposal (#1438)
- gtk: solve dynamic library dependencies and import path on macOS (#1435)
- cmd: prevent sudden crash on download error (#1432)
- store: pruning height returns zero when store is not in prune mode (#1430)
- grpc: add last-block-time to blockchain-info API (#1428)
- grpc: show negative pruning height when is pruned false (#1429)
- sync: fix syncing issue on prune mode (#1415)
- grpc: return error on invalid arguments for VerifyMessage (#1411)
- network: accept messages originating from self (#1408)
- change wallet rpc ip to dns address (#1398)
- pactus-shell: pactus shell support basic auth (#1384)
- gui: support ctrl+c for interrupt gui (#1385)
- grpc: add basic auth in swagger header (#1383)
- execution: simplify executors and tests (#1425)
1.3.0 (2024-06-27)
- grpc: change bytes type to hex string (#1371)
- http: add basic auth middleware for http server (#1372)
- network: use goroutines for sending streams (#1365)
1.2.0 (2024-06-20)
- config: make minimum fee configurable (#1349)
- apply rate limit for the network topics (#1332)
- add ipblocker package (#1323)
- consensus: fast consensus path implementation (#1253)
- version: add alias to node version (#1281)
- ntp: add ntp util (#1274)
- gRPC: add connection info to node info (#1273)
- gRPC: add only_connected parameter to getNetworkInfo API (#1264)
- grpc: refactor CreateWallet and add RestoreWallet API endpoint (#1256)
- add wallet service (#1241)
- ban attacker validators (#1235)
- txpool: prevent spamming transactions by defining a minimum value (#1233)
- reject direct message from non-supporting agents (#1225)
- wallet: add public key on get new address (#1350)
- sync: add IsBannedAddress check in processing connect event (#1347)
- sync: update latest supporting version (#1336)
- state: improve node startup by optimizing availability score calculation (#1338)
- HTTP: add clock offset and connection info to node-info API (#1334)
- grpc: add stacktrace to locate panic (#1333)
- consensus: implement PIP-26 (#1331)
- grpc: improve grpc server and client (#1330)
- util: add more ntp pool (#1328)
- jsonrpc: update JSON-RPC Gateway to support headers and improve client registry (#1327)
- consensus: improve consensus alghorithm (#1329)
- txpool: set fix fee of 0.1 PAC for transactions (#1320)
- network: add block and transaction topics (#1319)
- gRPC: prevent concurrent map iteration and map write (#1279)
- api: add swagger schemes (#1270)
- network: set infinite limit for resource manager (#1261)
- sync: introduce session manager (#1257)
- HTTP: using amount type for fee in transaction details (#1255)
- network: disconnect from peers that has no protocol (#1243)
- wallet: saving wallet file after generating new address in gRPC (#1236)
- prevent zero stake for bond transactions (#1227)
- set bounding interval for first boudning tx only (#1224)
- wallet: set server address on loading wallet (#1348)
- removed deprecated LockWallet and UnLockWallet from WalletService (#1343)
- crypto: decode data to point on verification (#1339)
- network: define connection info in network proto (#1297)
- sync: define peer package (#1271)
- network: refactor peer manager and redefine the min cons (#1259)
1.1.0 (2024-04-14)
- gRPC: add get address history method (#1206)
- grpc: Add GetNewAddress/GetTotalBalance endpoint to gateway (#1197)
- GUI: adding total balance to wallet widget (#1194)
- Add GetNewAddress gRPC API (#1193)
- gRPC: add new API to get the total balance of wallet (#1190)
- GUI: showing transaction hash after broadcasting transaction (#1187)
- add jsonrpc gateway support (#1183)
- config: one reward address in config for all validators (#1178)
- GUI: memo field for transactions on GUI wallet (#1182)
- implement basic auth for pactus shell (#1177)
- grpc: add rust code gen for proto (#1151)
- testnet: define permanent Testent genesis (#1173)
- add basic auth authentication for securing grpc (#1162)
- grpc: calculate fee for create-raw-transaction APIs (#1159)
- grpc: add fixed-amount to calc-fee API (#1146)
- wallet: adding all account address functions (#1128)
- grpc: update swagger API to version 1.1 (#1106)
- GUI: adding availability score in wallet (#1118)
- logger: adding log target (#1122)
- logger: adding file_only option (#1117)
- gui: add connections and moniker fields to main windows (#1090)
- implementation for PIP-22 (#1067)
- generate documentation for proto files (#1064)
- pactus-ctl (#946)
- cmd: ignore error on balance query (#1220)
- gRPC: add basic auth option in header (#1217)
- gRPC: not return block data on information verbosity (#1212)
- wallet: fix wallet conn issue (#1211)
- GUI: update total balance on wallet timeout (#1204)
- accept small bond to existing validator (#1152)
- GUI: make transaction hash selactable (#1196)
- close connections with peers that have no supported protocol (#1181)
- sync: check the start block request height (#1176)
- config: load logger levels in Mainnet config (#1168)
- gRPC: pactus swagger not found (#1163)
- add error type for invalid configs (#1153)
- save Mainnet config with inline comments (#1143)
- network: set deadline for streams (#1149)
- grpc: fix error 404 on grpc gateway (#1144)
- wallet: checking args in history add (#1141)
- gRPC: adding sign raw transaction API to gateway (#1116)
- sync: fix concurrent map read-write crash (#1112)
- network: remove disconnected peers from peerMgr (#1110)
- network: set dial and accept limit in connection gater (#1089)
- stderr logger in windows os (#1081)
- sync: improve syncing process (#1087)
- network: redefine resource limits (#1086)
- sync: improve syncing process (#1207)
- move fee calculation logic to execution package (#1195)
- introduce Amount data type for converting PAC units (#1174)
- using PAC instead of atomic units for external input/outputs (#1161)
- change func() to cancel func type (#1142)
1.0.0 (2024-01-31)
- implement get validator address for grpc (#975)
- add bootstrap.json and load in config on build (#964)
- add mainnet config and genesis files (#951)
- add Consensus-address to network info (#952)
- grpc: sign transaction using wallet client (#945)
- pactus gui lock support (#947)
- consensus: turning consensus to a zero-config module (#942)
- localnet wallet issue (#970)
- sync: remove ReachabilityStatus from agent info (#956)
- daemon: keeping previous behavior for password flag, linting CLI messages (#950)
- consensus: detect if the system time is behind the network (#939)
0.20.0 (2024-01-11)
- implement relay service (#931)
- HTTP: Integrate AddRowDouble and update tests (#926)
- network: making listen address private in config (#921)
- http: adding AvailabilityScore to http module (#917)
- network: adding 'enable_udp' config (#918)
- network: removing gossip node service (#916)
- gRPC: adding AvailabilityScore to gRPC (#910)
- GUI: unbond and withdraw transaction dialogs (#908)
- gRPC: adding missing get raw transaction APIs to gRPC gateway (#925)
- network: preventing self dial (#924)
- fixing time lag on starting node (#923)
- network: fixing network deadlock on linux arm64 (#922)
- GUI: updating unbond and withdraw dialogs (#911)
- fixing gRPC node info issue (#906)
0.19.0 (2024-01-04)
- gRPC: defining network and peers info response's properly (#898)
- implementing pip-19 (#899)
- network: disabling GosipSub, only FloodSub (#895)
- www: adding change proposer round and value to consensus info votes (#892)
- network: adding relay service to dial relay nodes (#887)
- implementing pip-15 (#843)
- check already running by lock file (#871)
- store: use cache to check if public key exists (#902)
- executor: not rejecting bond transaction for bootstrap validator (#901)
- GUI: removing unnecessary tags in transaction confirm dialog (#893)
- network: close relay connection for public node (#891)
- network: refining GossipSubParams for Gossiper node (#882)
- sync: adding sequence number to the bundle (#881)
- network: turn off mesh for gossiper node (#880)
- consensus: check voteset for CP strong termination (#879)
- adding querier to query messages (#878)
- execution: fixing issue #869 (#870)
- fixing logger issue on rotating log file (#859)
0.18.0 (2023-12-11)
- implement pip-14 (#841)
- sort wallet addresses (#836)
- grpc: endpoints for creating raw transaction (#838)
- network reachability API (#834)
- implement pip-13 (#835)
- subscribing to libp2p eventbus (#831)
- implement helper methods for wallet address path (#830)
- logger: adding rotate log file after days, compress and max backups for logger config (#822)
- enable bandwidth router metric (#819)
- network: refining the connection limit (#849)
- corrected mistake when retrieving the reward address (#848)
- config: restore default config when it is deleted (#847)
- cmd: changing home directory for root users (#846)
- removing BasicCheck for hash (#845)
- disabling libp2p ping protocol (#844)
- build docker file (#839)
- sync: ignore publishing a block if it is received before (#829)
- network: subscribing to the Libp2p event bus (#828)
- sync: ignore block request if blocks are already inside the cache (#817)
0.17.0 (2023-11-12)
- network: default configs for bootstrap and relay peers (#812)
- introducing node gossip type (#811)
- sync: adding remote address to the peer info (#804)
- network: adding public address to factory (#795)
- network: filter private ips (#793)
- upgrading Testnet (#814)
- sync: prevent opening sessions indefinitely (#813)
- execution: fixing mistake on calculating unbonded power (#806)
- network: check connection threshold on gater (#803)
- network: no transient connection (#799)
- not close connection for bootstrap nodes (#792)
- sync: refactoring sync process (#807)
0.16.0 (2023-10-29)
- gui: display network ID (#780)
- create new validator address (CLI and GUI) (#757)
- add community bootstrap nodes to testnet config (#764)
- network: implementing connection manager (#773)
- network: adding bootstrapper mode to the network config (#760)
- network: redefine the network limits (#788)
- consensus: not increase the vote-box power on duplicated votes (#785)
- network: close connection when unbale to get supported protocols (#781)
- network: enabling peer exchange for bootstrappers (#779)
- network: set connection limit for the resource manager (#775)
- sync: peer status set to known on sucessfull handshaking (#774)
- consensus: strong termination for the binary agreement (#765)
- consensus: not increase the voting power on duplicated binary votes (#762)
- network: refactoring peer manager (#787)
0.15.0 (2023-10-15)
- gui: adding the splash screen (#743)
- add absentees votes to the certificate (#746)
- logger: short stringer for loggers (#732)
- implementing pip-7 (#731)
- implementing pip-11 (#712)
- implementing pip-8 (#711)
- implementing pip-9 (#706)
- new API to get Public key by address (#704)
- Adding address field for AccountInfo (#703)
- CreateValidatorEvent and CreateAccountEvent for nanomsg (#702)
- implementing PIP-2 and PIP-3 (#699)
- Adding Hole Punching to network (#697)
- write logs into file (#673)
- check protocol support before sending connect/disconnect event (#683)
- updating genesis for pre-testnet-2 (#679)
- adding udp protocol for network (#672)
- implementing pip-4 (#671)
- Notifee service events (#628)
- adding MinimumStake parameter (#574)
- adding Sent and Received bytes per message metrics for peers (#618)
- add reason to BlockResponse messages (#607)
- Add CalcualteFee in GRPC (#601)
- add sent bytes and received bytes metrics to peerset plus update grpc (#606)
- added metrics of libp2p with supporting prometheus (#588)
- Check node address is valid (#565)
- add LastSent and LastReceived properties to peer (#569)
- data race issue on updating certificate (#747)
- network: async connection (#744)
- adding query vote timer for CP phase (#738)
- trim transactions in proposed block (#737)
- fixing query votes and proposal issue (#736)
- fixing issue when a block has max transactions (#735)
- consensus: anti-entroy mechanism for the consensus (#734)
- logger: invalid level parsing error (#733)
- cache certificate by height (#730)
- fixing a crash on consensus (#729)
- consensus: prevent double entry in new height (#728)
- resolve consensus halt caused by time discrepancy in network. (#727)
- unsorted addresses in wallet listing (#721)
- send query votes message, if there is no proposal yet (#723)
- fixing logger level issue (#722)
- fixing syncing stuck issue (#720)
- fixing some minor issues on pre-testnet (#719)
- supporting go version 1.21 and higher (#692)
- ensure log rotation using tests (#693)
- restoring at the first block (#691)
- swagger doesn't work with multiple proto files (#687)
- fixing wallet-cli issues (#686)
- prevent stripping public key for subsidy transactions (#678)
- updating the consensus protocol (#668)
- aggregating signature for hello message (#640)
- error case for logger (#634)
- adding committers to the certificate (#623)
- updating sortition executor (#608)
- update buf and fixing proto generation issue (#600)
- adding block hash to peer (#584)
- copy to clipboard option for address and pubkey (#583)
- public key aggregate (#576)
- remove GetValidators rpc method (#573)
- missing swagger ui for grpc get account by number (#564)
- incorrect handler for validator by number (#563)
- sync: refactoring syncing process (#676)
- remove payload prefix from payload transaction type (#669)
- change Hello message from broadcasting to direct messaging (#665)
- committee: using generic list for validators (#667)
- rename SanityCheck to BasicCheck (#643)
- cli: Migrating from mow.cli to cobra for wallet (#629)
- cli: replacing mow.cli with cobra for daemon (#621)
- logger: using fast JSON logger (zerolog) (#613)
- Using Generics for calculating Min and Max for numeric type #604 (#609)
- Updating LRU cache to version 2 #514 (#602)
0.13.0 (2023-06-30)
- implemented restore wallet base on input seed (#553)
- measuring total sent and received bytes (#552)
- add validate seed and restore wallet (#533)
- HTTP: Missing handlers (#549)
- gui: update about dialog and menu items in help (#532)
- implementing TestSuite (#535)
0.12.0 (2023-06-19)
- add GetAccountByNumber API to get account by number (#511)
- caching account and validator in store (#513)
- get recent blocks by stamp (#509)
- closing the mDNS connection upon stopping the network (#508)
- updating linkedmap to use generic (#507)
- removing state from cache (#506)
- Typo in GUI (#499)
- supporting localnet (#492)
- update total power calculation based on power change(deltas) (#518)
- GetValidators return all validators in state validators map (#512)
0.11.0 (2023-05-29)
- gui: showing the total number of validators (#474)
- network: fixing relay connection issue (#475)
- consensus: rejecting vote with round numbers exceeding the limit (#466)
- increase failed counter when stream got error (#489)
- boosting syncing process (#482)
- waiting for proposal in pre-commit phase (#486)
- retrieving public key from wallet for bond transactions (#485)
- restoring config file to the default (#484)
- defining ChainType in genesis to detect the type of network (#483)
- reducing the default Argon2d to consume less memory (#480)
- adding password option to the start commands (#473)
- rename send to transfer. (#469)
0.10.0 (2023-05-09)
- removing address from account (#454)
- supporting multiple consensus instances (#450)
- adding sortition interval to the parameters (#442)
GetBlockchainInfo
API in gRPC now returns the total number of validators and accounts- gui: check if the node has an active consensus instance (#458)
- wallet path as argument (#455)
- adding reward addresses to config (#453)
- removing committers from the certificate hash (#444)
- prevent data race conditions in committee (#452)
- using 2^256 for the vrf denominator (#445)
- updating tla+ readme (#443)
No changelog