├── .aegir.js ├── .benchrc.yaml ├── .gitattributes ├── .github ├── .dependabot.yml ├── CODEOWNERS ├── stale.yml └── workflows │ ├── main.yml │ └── semantic-pr.yml ├── .gitignore ├── CHANGELOG.md ├── LICENSE ├── README.md ├── benchmarks ├── benchmarks.js ├── benchmarks.md └── package.json ├── package.json ├── src ├── config.ts ├── constants.ts ├── errors.ts ├── index.ts ├── message-cache.ts ├── message │ ├── decodeRpc.ts │ ├── index.ts │ ├── rpc.proto │ └── rpc.ts ├── metrics.ts ├── score │ ├── compute-score.ts │ ├── index.ts │ ├── message-deliveries.ts │ ├── peer-score-params.ts │ ├── peer-score-thresholds.ts │ ├── peer-score.ts │ ├── peer-stats.ts │ └── scoreMetrics.ts ├── stream.ts ├── tracer.ts ├── types.ts └── utils │ ├── buildRawMessage.ts │ ├── create-gossip-rpc.ts │ ├── index.ts │ ├── messageIdToString.ts │ ├── msgIdFn.ts │ ├── multiaddr.ts │ ├── publishConfig.ts │ ├── set.ts │ ├── shuffle.ts │ └── time-cache.ts ├── test ├── 2-nodes.spec.ts ├── accept-from.spec.ts ├── allowedTopics.spec.ts ├── benchmark │ ├── asyncIterable.test.ts │ ├── index.test.ts │ ├── protobuf.test.ts │ └── time-cache.test.ts ├── compliance.spec.ts ├── e2e │ └── go-gossipsub.spec.ts ├── floodsub.spec.ts ├── gossip.spec.ts ├── heartbeat.spec.ts ├── mesh.spec.ts ├── message-cache.spec.ts ├── peer-score-params.spec.ts ├── peer-score-thresholds.spec.ts ├── peer-score.spec.ts ├── scoreMetrics.spec.ts ├── signature-policy.spec.ts ├── time-cache.spec.ts ├── tracer.spec.ts ├── unit │ └── set.test.ts └── utils │ ├── create-pubsub.ts │ ├── events.ts │ ├── index.ts │ └── msgId.ts └── tsconfig.json /.aegir.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/.aegir.js -------------------------------------------------------------------------------- /.benchrc.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/.benchrc.yaml -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/.gitattributes -------------------------------------------------------------------------------- /.github/.dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/.github/.dependabot.yml -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/.github/CODEOWNERS -------------------------------------------------------------------------------- /.github/stale.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/.github/stale.yml -------------------------------------------------------------------------------- /.github/workflows/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/.github/workflows/main.yml -------------------------------------------------------------------------------- /.github/workflows/semantic-pr.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/.github/workflows/semantic-pr.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/.gitignore -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/README.md -------------------------------------------------------------------------------- /benchmarks/benchmarks.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/benchmarks/benchmarks.js -------------------------------------------------------------------------------- /benchmarks/benchmarks.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /benchmarks/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/benchmarks/package.json -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/package.json -------------------------------------------------------------------------------- /src/config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/src/config.ts -------------------------------------------------------------------------------- /src/constants.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/src/constants.ts -------------------------------------------------------------------------------- /src/errors.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/src/errors.ts -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/src/index.ts -------------------------------------------------------------------------------- /src/message-cache.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/src/message-cache.ts -------------------------------------------------------------------------------- /src/message/decodeRpc.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/src/message/decodeRpc.ts -------------------------------------------------------------------------------- /src/message/index.ts: -------------------------------------------------------------------------------- 1 | export * from './rpc.js' 2 | -------------------------------------------------------------------------------- /src/message/rpc.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/src/message/rpc.proto -------------------------------------------------------------------------------- /src/message/rpc.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/src/message/rpc.ts -------------------------------------------------------------------------------- /src/metrics.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/src/metrics.ts -------------------------------------------------------------------------------- /src/score/compute-score.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/src/score/compute-score.ts -------------------------------------------------------------------------------- /src/score/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/src/score/index.ts -------------------------------------------------------------------------------- /src/score/message-deliveries.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/src/score/message-deliveries.ts -------------------------------------------------------------------------------- /src/score/peer-score-params.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/src/score/peer-score-params.ts -------------------------------------------------------------------------------- /src/score/peer-score-thresholds.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/src/score/peer-score-thresholds.ts -------------------------------------------------------------------------------- /src/score/peer-score.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/src/score/peer-score.ts -------------------------------------------------------------------------------- /src/score/peer-stats.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/src/score/peer-stats.ts -------------------------------------------------------------------------------- /src/score/scoreMetrics.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/src/score/scoreMetrics.ts -------------------------------------------------------------------------------- /src/stream.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/src/stream.ts -------------------------------------------------------------------------------- /src/tracer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/src/tracer.ts -------------------------------------------------------------------------------- /src/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/src/types.ts -------------------------------------------------------------------------------- /src/utils/buildRawMessage.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/src/utils/buildRawMessage.ts -------------------------------------------------------------------------------- /src/utils/create-gossip-rpc.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/src/utils/create-gossip-rpc.ts -------------------------------------------------------------------------------- /src/utils/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/src/utils/index.ts -------------------------------------------------------------------------------- /src/utils/messageIdToString.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/src/utils/messageIdToString.ts -------------------------------------------------------------------------------- /src/utils/msgIdFn.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/src/utils/msgIdFn.ts -------------------------------------------------------------------------------- /src/utils/multiaddr.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/src/utils/multiaddr.ts -------------------------------------------------------------------------------- /src/utils/publishConfig.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/src/utils/publishConfig.ts -------------------------------------------------------------------------------- /src/utils/set.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/src/utils/set.ts -------------------------------------------------------------------------------- /src/utils/shuffle.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/src/utils/shuffle.ts -------------------------------------------------------------------------------- /src/utils/time-cache.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/src/utils/time-cache.ts -------------------------------------------------------------------------------- /test/2-nodes.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/test/2-nodes.spec.ts -------------------------------------------------------------------------------- /test/accept-from.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/test/accept-from.spec.ts -------------------------------------------------------------------------------- /test/allowedTopics.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/test/allowedTopics.spec.ts -------------------------------------------------------------------------------- /test/benchmark/asyncIterable.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/test/benchmark/asyncIterable.test.ts -------------------------------------------------------------------------------- /test/benchmark/index.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/test/benchmark/index.test.ts -------------------------------------------------------------------------------- /test/benchmark/protobuf.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/test/benchmark/protobuf.test.ts -------------------------------------------------------------------------------- /test/benchmark/time-cache.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/test/benchmark/time-cache.test.ts -------------------------------------------------------------------------------- /test/compliance.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/test/compliance.spec.ts -------------------------------------------------------------------------------- /test/e2e/go-gossipsub.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/test/e2e/go-gossipsub.spec.ts -------------------------------------------------------------------------------- /test/floodsub.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/test/floodsub.spec.ts -------------------------------------------------------------------------------- /test/gossip.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/test/gossip.spec.ts -------------------------------------------------------------------------------- /test/heartbeat.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/test/heartbeat.spec.ts -------------------------------------------------------------------------------- /test/mesh.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/test/mesh.spec.ts -------------------------------------------------------------------------------- /test/message-cache.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/test/message-cache.spec.ts -------------------------------------------------------------------------------- /test/peer-score-params.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/test/peer-score-params.spec.ts -------------------------------------------------------------------------------- /test/peer-score-thresholds.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/test/peer-score-thresholds.spec.ts -------------------------------------------------------------------------------- /test/peer-score.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/test/peer-score.spec.ts -------------------------------------------------------------------------------- /test/scoreMetrics.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/test/scoreMetrics.spec.ts -------------------------------------------------------------------------------- /test/signature-policy.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/test/signature-policy.spec.ts -------------------------------------------------------------------------------- /test/time-cache.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/test/time-cache.spec.ts -------------------------------------------------------------------------------- /test/tracer.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/test/tracer.spec.ts -------------------------------------------------------------------------------- /test/unit/set.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/test/unit/set.test.ts -------------------------------------------------------------------------------- /test/utils/create-pubsub.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/test/utils/create-pubsub.ts -------------------------------------------------------------------------------- /test/utils/events.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/test/utils/events.ts -------------------------------------------------------------------------------- /test/utils/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/test/utils/index.ts -------------------------------------------------------------------------------- /test/utils/msgId.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/test/utils/msgId.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChainSafe/js-libp2p-gossipsub/HEAD/tsconfig.json --------------------------------------------------------------------------------