Skip to content

Releases: forta-network/forta-node

v0.7.8

11 May 06:38
42e19a4
Compare
Choose a tag to compare

This patch release includes fixes for recently discovered bugs:

  • Updating the bot manifest doesn't effect the alert.source.bot.manifest field.
  • Updates to shard ID takes up to 1 hour if it is caused by an assignment rotation

What's Changed

  • update bot manifest on version updates by @aomerk in #706
  • reduce registry update interval by @aomerk in #705

Full Changelog: v0.7.7...v0.7.8

v0.7.7

10 May 06:11
43e92e6
Compare
Choose a tag to compare

Forta Public API proxy

This new service will simplify bot request authorization, allowing bot owners to consume the Forta Public API without signing the message or using an API Key. This will make it easier for those who have required subscriptions to use the API, and ensure that they are compliant with the new authorization mechanisms.

Using the new proxy in combiner feed

In addition to the introduction of the proxy service, we have also migrated the Combiner Feed to use the Forta Public API proxy service. This migration aligns with our efforts regarding API key requirements and has surfaced new edge cases that have been addressed to prevent possible bugs. We have also made improvements to the combiner subscription pool, configurability, and end-to-end testing.

New bot metrics

We have added new metrics to better keep track of bot lifecycle. This will provide useful information for bot owners and help them monitor their bots' performance.

  • agent.action.run: initial deployment or image update
  • agent.action.stop : bot shutdown or image update
  • agent.action.update: configuration update, such as changes to sharding
  • agent.action.subscribe: handle alert subscription request
  • agent.action.unsubscribe: handle alert unsubscription request
  • agent.status.running: bot container started running
  • agent.status.attached: the scanner connected to the bot container
  • agent.start: the scanner sent an initialization request to the bot

Mining fee data

We have added mining fee data to Transaction and Block events, making the following fields available: block.baseFeePerGas, transaction.MaxFeePerGas, and transaction.maxPriorityFeePerGas. This will provide valuable information for those analyzing transaction and block data.

Other improvements

  • Simplified scan node config template generated with forta init
  • Improved robustness of the registry listener
  • Disabled IPFS experiment by default (removes ~/.forta/.ipfs)
  • General refactoring

What's Changed

Full Changelog: v0.7.6...v0.7.7

v0.7.6

03 Apr 09:50
4ec1899
Compare
Choose a tag to compare

Protocol improvements

  • New environment variables are added to bot containers:
    • FORTA_BOT_OWNER: Bot owner wallet address
    • FORTA_CHAIN_ID: Scanned chain ID
  • New finding type SCAM is now supported!

What's Changed

Full Changelog: v0.7.5...v0.7.6

v0.7.5

20 Mar 11:17
a0ca1ac
Compare
Choose a tag to compare

Label metadata

Bots are now able to enrich alert labels with metadata! This allows publishing and feeding back to bots a wider context from every alert and build stronger threat detection capabilities.

What's Changed

Full Changelog: v0.7.4...v0.7.5

v0.7.4

14 Mar 16:39
00824dd
Compare
Choose a tag to compare

Improvements

  • Reused a new default HTTP client with timeout
  • Added docker-compose/standalone/docker-compose.yml and made changes for the new standalone mode (see docs)
  • Raised max findings returned from the bot to 50 and max response size to 250K

What's Changed

Full Changelog: v0.7.3...v0.7.4

v0.7.3

02 Mar 14:09
77528be
Compare
Choose a tag to compare

Delegated staking

We made some follow-up fixes to handle post-delegated staking issues/cases better:

  • Removed the deprecated register, enable, disable commands
  • Removed all dependencies to the deprecated ScannerRegistry contract (forta-network/forta-core-go#201)
  • Using new ENS names (forta-network/forta-core-go#205)
  • Removed the enablement check from bot list loading logic
  • Detecting the registry contract upgrades periodically instead of doing with a listener

Other improvements

  • Added the bot sharding feature to local mode
  • Added transaction addresses to alert bloom filters
  • Hiding the "Unknown block number" error that started to appear lately in forta status output
  • Start sending the autoUpdates field in the version section of batch
  • Restart the updater container if updater fails consecutively in getting the ref and downloading, for an hour
  • Fixed E2E tests accordingly to the ENS and registry client updates

What's Changed

Full Changelog: v0.7.2...v0.7.3

v0.7.2

16 Feb 11:06
dc7c0c4
Compare
Choose a tag to compare

Improvements

  • Add address bloom filter to alerts
  • Fix alert subscription chain ID check
  • Fix race condition in concurrent read and write of bot config
  • Avoid fd leak in the IPFS client used in the updater (see forta-network/forta-core-go#193)
  • Enforce passphrase check during forta init (must alphanumeric and 12 characters)

What's Changed

  • truncate finding and add bloom filters by @aomerk in #654
  • encode bloomfilter bitset in base64 by @aomerk in #655
  • convert bloom filter values to hex string by @aomerk in #656
  • Fix bad subscription comparison by @aomerk in #657
  • fix race conditions in pool agent config by @aomerk in #658
  • Require alphanumeric passphrase with 12 characters during init by @canercidam in #659

Full Changelog: v0.7.1...v0.7.2

v0.7.1

08 Feb 13:27
35c8743
Compare
Choose a tag to compare

Improvements

Bot sharding

Bots are now allowed to specify shards! This means a bot now can work on different portions of the chain data across different nodes. This value needs to be specified in the bot manifest like

{
  "manifest": {
    "chainSettings": {
      "default": {
        "target": 3,
        "shards": 2
    }
  }
}

and this allows launching 6 instances of a bot and distribute by diving the chain data in 2.

Alert combiner bots

Bots that implement handleAlert() are now receiving the labels in the inputted alerts and able to specify the chain ID in the subscriptions.

Delegated staking

The new forta authorize pool command that allows generating registration outputs was improved. This requires manually updating the CLI (through yum or apt).

Now, two types of outputs are supported.

Default:

Please use the registration signature below on https://app.forta.network as soon as possible and do not share with anyone!

eyJyZWdpc3RyYXRpb25JbnB1dCI6eyJzY2FubmVyIjoiMHhjZTQ2Y2Q2NzQ4YWRmMDczNmIxZjc1NTAyMzFkZjg4MDQ2ZWU5YTU4Iiwic2Nhbm5lclBvb2xJZCI6MSwiY2hhaW5JZCI6MSwibWV0YWRhdGEiOiIiLCJ0aW1lc3RhbXAiOjE2NzUyNzUyMDB9LCJzaWduYXR1cmUiOiIweGIwODdiODRlMzI4YWYxZmEwZjYzMWRmM2EzOGYyZjY4YmYzMTdmOTUxNjg3MmEwZTcyNDJlNjcwZTc2ZGQ0MmU3ZDg0MjBmMmM0ODA0OTBlODdhODQ1N2MwZmY5NTJkMGY3ZWFmNjljOWY1Nzc5YjkzZjc2OWZlYWVlZTMwNWFlMWMifQ==

With --polygonscan flag

Please use the registerScannerNode() inputs below on https://polygonscan.com as soon as possible and do not share with anyone!

req      : ["0xCE46cD6748ADF0736b1f7550231df88046eE9a58","0x1","0x1","","0x63daabb3"]
signature: 0x85d6a0eda0cd1aaa1c3b5f9ae4b753befb4e62ad6244acee3a25c9ee2f3ff4ca5ce76f0e383e4104216d52ea84d0fd68f42dff5f64cb9374ff2bfc3ac0ec90d71b

Other improvements

  • Avoid a panic that causes repeating initialize() calls to bots
  • Add registry API inspection
  • Speed up E2E tests
  • Make registry chain ID configurable in config.yml (useful for development)
  • Change the default registry API from polygon-rpc.com to Ankr
  • Add drop metric for combiner bots

What's Changed

Full Changelog: v0.7.0...v0.7.1

v0.7.0

23 Jan 12:40
79e4a0f
Compare
Choose a tag to compare

Improvements

Delegated staking support

Node services and CLI are updated to support the new contract interfaces and the new registration method of the oncoming delegated staking feature. The new forta authorize pool command generates an EIP-712 signature to allow wallets to register the node to one of their pools. (Note: This command is not useful just yet - stick to forta register)

Other improvements

  • Detect when proxy is not set (if scan is WebSocket)
  • Add code coverage commands

What's Changed

Full Changelog: v0.6.3...v0.7.0

v0.6.3

06 Jan 09:33
63e1dc2
Compare
Choose a tag to compare

Improvements

Offset detection between scan and proxy APIs

The nodes are now measuring the offset between the scan and the proxy APIs. Sometimes, when a bot receives an input, it needs to query the chain through to the proxy (e.g. an eth_call request) to understand the chain state better. When proxy API is behind the scan API, due to large synchronization delays, these proxy requests fail and cause the bot to not produce a finding. This distance is now measured and reported by the nodes.

Websocket support for scanning

The scan API can now be set as a websocket endpoint! This helps reduce the fluctuations in the latest blocks scanned with the help of block header notifications.

Other improvements

  • Including chain IDs in combination alerts
  • Using separate queries per input alert subscriptions
  • Fixing release build (glibc error, Ubuntu brownout)
  • Fix passphrase check in local mode

What's Changed

Full Changelog: v0.6.2...v0.6.3