forta-agent v0.1.48
Forta Detection Bot SDK and CLI
Visit forta.org to learn more about Forta. See the developer documentation at docs.forta.network
Bug Bounty
We have a bug bounty program on Immunefi. Please report any security issues you find through the Immunefi dashboard, or reach out to tech@forta.org
Changelog
0.1.48
- Expose
filterLogas standalone utility function - Check for empty addresses when populating
TransactionEvent.addressesfield - Add support for label embeddings
0.1.47
- Updated JS and TS starter project dependencies
0.1.46
- Updated axios and jest dependencies
0.1.45
- Added support for
uniqueKeyfield in labels
0.1.44
- Added Network chain ID enum for Base
0.1.43
- Added support for
healthCheckmethod to report bot health - Updated grpc proto definition
0.1.42
- Added support for external bots with the
sendAlertsSDK method
0.1.41
- Add retry logic when querying alerts for bots that use
handleAlert
0.1.40
- Reduce the page size of queries made when fetching alerts for bots using
handleAlert
0.1.39
- Reduce the size of queries made when fetching alerts for bots using
handleAlert
0.1.38
- Fix Python
Finding.unique_keyparsing
0.1.37
- Increase grpc response size limits
- Fix Python pagination issue when querying
get_labels - Improve error messages from alerts API
0.1.36
- Updated type definition for FindingSource
0.1.35
- Updated starter project templates
0.1.34
- Added new optional fields
uniqueKeyandsourceto findings - Added support for new bot manifest fields:
longDescription,licenseUrl,promoUrl
0.1.33
- Updated Python child process behaviour to exit on exceptions
0.1.32
- Added
getLabelsmethod to query the Forta API for labels
0.1.31
- Fixed issue when publishing bot manifest without speciyfing chain settings
0.1.30
- Expanded alert query lookback window when running handleAlert locally
- Improved sharding configuration validation
0.1.29
- Added new
stakeCLI command to stake on a detection bot - Fixed Python error handling to also reject NodeJS promise
0.1.28
- Added retry logic for CLI
runcommand to improve reliability of running bots locally - Improved error handling for Python bots by showing stack traces
0.1.27
- Fixed issue for parsing findings returned from Python bots
0.1.26
- Added new FindingType value of Scam
0.1.25
- Added bot license
0.1.24
- Increased max findings response size to 250kB
- Updated label metadata field to be a map
0.1.23
- Added metadata field to Labels
0.1.22
- Updated
runcommand to wait 60 seconds between alert queries for bots usinghandleAlertlocally
0.1.21
- Added support for address bloom filters on AlertEvent
- Updated CLI errors to return a non-zero exit code
- Changed Alert interface into a class
- Increased maximum number of findings returned in a response to 50
0.1.20
- Fixed labels parsing when querying for alerts
0.1.19
- Added support for running shards i.e. multiple bot instances
- Added labels to alerts
- Updated handleAlert subscriptions to allow specifying filter by chainId
- Updated grpc controller to ensure initialize handler only invoked once
- Updated grpc proto definition
0.1.18
- Updated grpc proto definition to add
alert.chainIdfield
0.1.17
- Added support for
removefield for Labels - Fixed
filter_functionbug in Python SDK - Fixed
fetchJwtSDK method to return mock value during development - Fixed
fetchJwtJS SDK method to return string instead of object - Added
repositoryURL to starter project package.json
0.1.16
- Updated grpc proto definitions for Labels
- Updated
run --filecommand to also accept hashes - Add
alertandsequencenpm commands to starter projects - Updated
BotSubscriptionto makealertIdoptional and also allow passingalertIds
0.1.15
- Fixed grpc proto definitions
0.1.14
- Added support for
handleAlerthandler - Added support for specifying labels on findings
0.1.13
- Return findings from
runHandlersOnBlockandrunHandlersOnTransactionmethods
0.1.12
- Remove
sha3dependency from Python SDK
0.1.11
- Bug fix to the
fetch_jwtmethod in the Python sdk
0.1.10
- Added new methods
fetchJwt,decodeJwtandverifyJwtto Typescript sdk for generating and verifying a jwt token from a scan node - Added new method
fetch_jwt,decode_jwt, andverify_jwtto Python sdk for generating and verifying a jwt token from a scan node - Limit size of findings returned from handleBlock and handleTransaction callbacks
0.1.9
- Use forta ipfs node for
infocommand - Added new method
getAlertsto Typescript sdk to that fetches alerts using forta's alert graphql api - Added new method
get_alertsto Python sdk to that fetches alerts using forta's alert graphql api - Fixing docker build issue
0.1.8
- Updated chainId validation of
runcommand to print out warning instead of throwing error - Added
infoandlogscommands as npm scripts of starter projects - Updated
uploadImagefunction to accept image tag suffix
0.1.7
- Added two new cli commands:
infoandlogs - Validate chainId of jsonRpcUrl when running bot
- Generate unique bot id when initializing bot
- Adjust block polling time based on chainId when running bot locally
0.1.6
- Fix sort order for
chainIdsarray
0.1.5
- Fix issue for CLI
publishcommand when querying account balance
0.1.4
- Update gRPC agent.proto to add
Finding.addresses - Add support for
addressesfield toFinding - Add verification for account balance and ownership when running
publishCLI command - Provide default gas estimates when interacting with registry smart contract functions
- Include
logIndexin result ofTransactionEvent.filterLog - Include
addressin result ofTransactionEvent.filterFunction - Add
Finding.fromalias method forFinding.fromObject
0.1.3
- Set
contextPathwhen building image
0.1.2
- Update starter project README
0.1.1
- Update AgentRegistry contract ABI
- Add default
chainIdsto starter project package.json - Fix Python starter project dependencies
0.1
- Update gRPC agent.proto to deprecate
TransactionEvent.Receipt - Update SDK to remove
receipt,statusandgasUsedproperties fromTransactionEvent - Add
getTransactionReceiptconvenience method to SDK - Update CLI
runcommand to not fetch transaction receipts - Update starter projects to detect for large Tether transfers
- Update terms of use URL
0.0.41
- Set default
jsonRpcUrlto https://cloudflare-eth.com - Expose CLI functionality using
configureContainermethod - Update CLI
initcommand to also runnpm install
0.0.40
- Fix Python SDK support for new chains
- Add terms of use prompt to CLI
initcommand - Update starter project Dockerfile to include line to enable logging
0.0.39
- Add
keyfilePasswordconfig field for CI/CD pipelines - Set default
ipfsGatewayUrlto https://ipfs.forta.network - Update
getJsonRpcUrlto not throw error when running unit tests - Update agent image build process to always target amd64 architecture
0.0.38
- Add
descriptionfield to agent manifest from package.json
0.0.37
- Add support for specifying multiple addresses in
filterLogandfilterFunctioncommands - Add
--nocacheoption toforta-agent runcommand to disable writing to cache - Fix
forta-agent runcommand to process blocks sequentially when listening for realtime data
0.0.36
- Add support for specifying
chainIdsin package.json
0.0.35
- Add support for private agents with the
setPrivateFindingsmethod - Deprecate
everestIdattribute of Finding - Deprecate
filterEventmethod of TransactionEvent
0.0.34
- Add disk caching for the
forta-agent runcommand
0.0.33
- Add support for specifying multiple transactions/blocks for the
forta-agent runcommand - Include CLI version in published manifest
- Add
getEthersBatchProviderutility function to Javascript SDK - Export the
keccak256utility function from Javascript and Python SDK
0.0.32
- Actually fix published npm artifact
0.0.31
- Fix published npm artifact
0.0.30
- Fix agent publishing on Apple M1 chips
0.0.29
- Add
addressfield to result offilterLogmethod - Fix
fromproperty in agent manifest - Increase gas price for transactions from CLI commands
- Add check to ensure agent documentation is not empty
0.0.28
- Fix handling of
networkvalue in Python SDK
0.0.27
- Change base Docker image for starter projects to
node12-alpine - Export
ethersobject from Javascript SDK - Add
getEthersProviderconvenience method to SDK - Add
filterLogandfilterFunctionconvenience methods toTransactionEventin SDK - Export
web3object from Python SDK - Add
get_web3_providerconvenience method to Python SDK - Add
filter_logandfilter_functionconvenience methods toTransactionEventin Python SDK - Add
agentIdconfig property to support Forta Connect publishing - Include results of
pushcommand in publish.log - Improve CLI keyfile lookup
- Fix CLI exit when running Python agents
- Don't export
getFortaConfigandget_forta_configfrom SDK
0.0.26
- Use more raw JSON-RPC calls in CLI
0.0.25
- Add new CLI command:
push - Replace web3.js with ethers.js
- Use raw JSON-RPC calls to fetch blocks and receipts in CLI
- Add limit of 5 alerts to starter projects
0.0.24
- Add new CLI command:
keyfile - Add
keyfilenpm script to starter projects - Add
repositoryfield to agent manifest
0.0.23
- Transition to Polygon agent registry
- Provide default value for
agentRegistryJsonRpcUrl - Fix agent existence check
0.0.22
- Add new CLI commands:
enableanddisable - Increase gas for transactions from CLI commands
- Remove duplicated
BlockEventproperties - Add obfuscation step to Javascript and Typescript starter project Dockerfile
0.0.21
- Improve
initcommand to ensure that keystore folder exists
0.0.20
- Fix CLI keyfile resolution
0.0.19
- Make config file global by default (with option to override locally)
- Fix starter project npm scripts to support Windows
- Move
agentId(derived fromname) andversionto package.json - Remove
documentationconfig property and hardcode to README.md - Improve
runcommand to not scan over same block - Add project URLs to npm and PyPi pages
0.0.18
- Fix published npm artifact
- Add npm script to ensure we build before publishing
0.0.17
- Add
initialize()handler to SDK - Add
outputfield toTraceResult - Add
Infooption toFindingTypeenum - Add more error logging to grpc controller
- Add more unit tests for CLI and SDK
- Add MIT license
0.0.16
- Fix handler initialization to maintain Python agent state
- Ensure that
jsonRpcUrlis http(s) only - Fix
hex_to_intPython SDK method to accept integers - Add error logging to grpc controller
0.0.15
- Update Typescript starter project npm scripts to build before running
0.0.14
- Add unit tests to Python starter project
- Fix
hex_to_intPython SDK convenience method - Fix Typescript starter project Dockerfile
0.0.13
- Update Python starter project requirements.txt
- Improve Python error handling
0.0.12
- Add Python SDK
- Add Python starter project
- Fix Python agent to run in single long-running process
- Fix race condition when listening for blocks
- Improve Python error handling
- Fix receipt
statusnot being set correctly - Remove
handlersconfig property and hardcode agent filename
0.0.11
- Add
keyfileconfig property to specify a keyfile when publishing - Add publish.log file to log publishing result
- Add
createTransactionEventandcreateBlockEventutility methods for tests - Fix receipt addresses to be lowercase
- Add unit tests for CLI commands:
init,runandpublish - Fix websocket connection preventing clean exit of CLI
- Exclude unit tests from build
- Fix file logging to append newline character
0.0.10
- Update
jesttype definitions to v27.0.1
0.0.9
- Add agent documentation to manifest when publishing
- Add agent documentation to starter projects
- Update agent registry address
- Export more classes from SDK
- Improve error message when unable to parse config file
- Remove usage of web sockets when listening for blockchain data
- Remove unnecessary call to eth_getTransaction
0.0.8
- Add support for Python agents
- Add more block data to
BlockEvent - Add unit tests for starter project
- Format addresses to be lowercase
- Improve error message when config file not found
- Hardcode Disco auth credentials
- Add retry logic if fetching transaction or receipt fails
0.0.7
- Add SDK support for tracing via
traceRpcUrlconfig property - Add support for
--configCLI arg to specify a config file - Add check for empty directory before initializing starter project
- Add Disco authentication when publishing
- Update filepath resolution to be OS-agnostic
- Include forta.config.json in starter project .gitignore
0.0.6
- Use new agent registry contract
0.0.5
- Hardcode scanner poolId
- Rename
ipfsGatewayAuthHeaderconfig property toipfsGatewayAuth - Add
publishnpm script to starter project
0.0.4
- Remove .npmignore file after initializing starter project
0.0.3
- Add
getJsonRpcUrlandgetFortaConfigSDK convenience methods - Add more alias methods for
TransactionEventproperties in SDK - Add npm scripts to starter project package.json
- Export
FortaConfigtype from SDK - Fix starter project .gitignore renaming issue when publishing npm package
0.0.2
- Update
initto use existing keyfile if one exists (instead of always creating new one) - Update starter project package.json to use
forta-agentnpm package
0.0.1
- Initialize repository
- Initialize CLI commands:
init,runandpublish - Initialize Javascript and Typescript SDK
- Initialize Javascript and Typescript high gas starter project
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago