Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TTP as a Service PoC #5637

Draft
wants to merge 13 commits into
base: master
Choose a base branch
from
Draft

TTP as a Service PoC #5637

wants to merge 13 commits into from

Conversation

sreuland
Copy link
Contributor

@sreuland sreuland commented Mar 21, 2025

What

PoC of using the Token Transfer Processor TTP as a compiled cli tool(micro-service) which emits token transfer events over streaming GRPC protocol.

The sub-directory structure comprises two sample applications which demonstrate the TTP as a service using .protos for IDL and a Node javascript based consumer:

  • cli_tool runs a GRPC service by using protobufs/GRPC generated code from the TTP .protos as the IDL for token transfer events.
    • provides GetTTPEvents as a GRPC streaming endpoint.
    • uses RPC serrver on testnet as the source of ledger metadata,
    • runs an instance of TTP internally to derive token transfer events from ledger metadata
  • A sample consumer app is provided in Node javascript. It uses client-side code generated from same TTP .protos. The app requests and consumes a stream of token transfer events over GRPC from a running instance of cli_tool.

ttp_poc

demo recording of building and running the processor as a GRPC service and then running a Node javascript consumer in command line terminal:

To try this at home, checkout the pr locally and follow the demo steps in exp/tools/ttp_poc/README.md

Why

  • Enables applications developed in non-go programming languages to consume Token Transfer events produced by TTP.
  • Composing ingestion processors as services with an accompanying IDL(.proto file) defining their service endpoint and output model facilitates distributed streaming topology. Processors interact with other Processors through the IDL only for loosely coupled systems.

Known limitations

@sreuland sreuland changed the title Ttp poc TTP cli_tool poc Mar 21, 2025
Copy link

socket-security bot commented Mar 21, 2025

🚨 Potential security issues detected. Learn more about Socket for GitHub ↗︎

To accept the risk, merge this PR and you will not be notified again.

Alert Package NoteSourceCI
Deprecated npm/[email protected]
  • Reason: Glob versions prior to v9 are no longer supported
⚠︎
Deprecated npm/[email protected]
  • Reason: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
⚠︎
Deprecated npm/[email protected]
  • Reason: Rimraf versions prior to v4 are no longer supported
⚠︎

View full report↗︎

Next steps

What is a deprecated package?

The maintainer of the package marked it as deprecated. This could indicate that a single version should not be used, or that the package is no longer maintained and any new vulnerabilities will not be fixed.

Research the state of the package and determine if there are non-deprecated versions that can be used, or if it should be replaced with a new, supported solution.

Take a deeper look at the dependency

Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support [AT] socket [DOT] dev.

Remove the package

If you happen to install a dependency that Socket reports as Known Malware you should immediately remove it and select a different dependency. For other alert types, you may may wish to investigate alternative packages or consider if there are other ways to mitigate the specific risk posed by the dependency.

Mark a package as acceptable risk

To ignore an alert, reply with a comment starting with @SocketSecurity ignore followed by a space separated list of ecosystem/package-name@version specifiers. e.g. @SocketSecurity ignore npm/[email protected] or ignore all packages with @SocketSecurity ignore-all

@sreuland sreuland changed the title TTP cli_tool poc TTP cli_tool PoC Mar 23, 2025
@sreuland sreuland changed the title TTP cli_tool PoC TTP as a Service PoC Mar 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant