Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 11 additions & 3 deletions packages/cardano-services/src/WsServer/server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -220,9 +220,17 @@ export class CardanoWsServer extends WsProvider {
};

const loadTransactions = async () => {
const addressesSet = new Set<Cardano.PaymentAddress>();
for (const ws of this.wss.clients) for (const address of ws.addresses) addressesSet.add(address);
const addresses = [...addressesSet];
const addressesObj: Record<Cardano.PaymentAddress, true> = {};

// Benchmarks
// https://jsbenchmark.com/#eyJjYXNlcyI6W3siaWQiOiI5aTVXR2E3bXp0MEE2LU1FZFJDaVQiLCJjb2RlIjoiY29uc3QgeyB3c3MgfSA9IERBVEE7XG5cbmNvbnN0IGFkZHJlc3Nlc01hcCA9IG5ldyBNYXAoKTtcbmZvciAoY29uc3Qgd3Mgb2Ygd3NzLmNsaWVudHMpXG4gIGZvciAoY29uc3QgYWRkcmVzcyBvZiB3cy5hZGRyZXNzZXMpXG4gICAgYWRkcmVzc2VzTWFwLnNldChhZGRyZXNzLCB0cnVlKTtcbmNvbnN0IGFkZHJlc3NlcyA9IFsuLi5hZGRyZXNzZXNNYXAua2V5cygpXTsiLCJkZXBlbmRlbmNpZXMiOltdLCJuYW1lIjoiT3JpZ2luYWwifSx7ImlkIjoibVFoLUFZM3JwX1dPWC1keDN6RTJVIiwiY29kZSI6ImNvbnN0IHsgd3NzIH0gPSBEQVRBO1xuICAgICAgICAgIFxuY29uc3QgYWRkcmVzc2VzTWFwID0gWy4uLndzcy5jbGllbnRzXVxuICAuZmxhdE1hcChpdCA9PiBpdC5hZGRyZXNzZXMpXG4gIC5yZWR1Y2UoKHJlc3VsdCwgaXQpID0-ICh7Li4ucmVzdWx0LCBbaXRdOiB0cnVlfSksIHt9KTtcbmNvbnN0IGFkZHJlc3NlcyA9IFtPYmplY3Qua2V5cyhhZGRyZXNzZXNNYXApXTsiLCJuYW1lIjoiRmlyc3QgcHJvcG9zYWwiLCJkZXBlbmRlbmNpZXMiOltdfSx7ImlkIjoibE5fM29CdS1rQlVUMlJ5U24wcU1tIiwiY29kZSI6ImNvbnN0IHsgd3NzIH0gPSBEQVRBO1xuXG5jb25zdCBhZGRyZXNzZXNNYXAgPSBbLi4ud3NzLmNsaWVudHNdXG4gIC5mbGF0TWFwKGl0ID0-IGl0LmFkZHJlc3NlcylcbiAgLnJlZHVjZSgocmVzdWx0LCBpdCkgPT4ge1xuICBcdHJlc3VsdFtpdF0gPSB0cnVlXG5cdHJldHVybiByZXN1bHRcbiAgfSwge30pO1xuY29uc3QgYWRkcmVzc2VzID0gW09iamVjdC5rZXlzKGFkZHJlc3Nlc01hcCldOyIsIm5hbWUiOiJTZWNvbmQgcHJvcG9zYWwiLCJkZXBlbmRlbmNpZXMiOltdfSx7ImlkIjoiSW5zLXdFX2p2amVLYzlUOUlTaWFfIiwiY29kZSI6ImNvbnN0IHsgd3NzIH0gPSBEQVRBO1xuXG5jb25zdCBhZGRyZXNzZXNTZXQgPSBuZXcgU2V0KCk7XG5mb3IgKGNvbnN0IHdzIG9mIHdzcy5jbGllbnRzKVxuICBmb3IgKGNvbnN0IGFkZHJlc3Mgb2Ygd3MuYWRkcmVzc2VzKVxuICAgIGFkZHJlc3Nlc1NldC5hZGQoYWRkcmVzcyk7XG5jb25zdCBhZGRyZXNzZXMgPSBbLi4uYWRkcmVzc2VzU2V0XTsiLCJkZXBlbmRlbmNpZXMiOltdLCJuYW1lIjoiVGhpcmQgcHJvcG9zYWwifSx7ImlkIjoiNE9hWEF0REJFb184eXRrVDFyWGhKIiwiY29kZSI6ImNvbnN0IHsgd3NzIH0gPSBEQVRBO1xuXG5jb25zdCBhZGRyZXNzZXNTZXQgPSBuZXcgU2V0KFsuLi53c3MuY2xpZW50c10uZmxhdE1hcCh3cyA9PiB3cy5hZGRyZXNzZXMpKTtcbmNvbnN0IGFkZHJlc3NlcyA9IFsuLi5hZGRyZXNzZXNTZXRdOyIsImRlcGVuZGVuY2llcyI6W10sIm5hbWUiOiJmbGF0TWFwIn0seyJpZCI6Im15SlJyRmpHUzROZC1YYXdZYmo5QyIsImNvZGUiOiJjb25zdCB7IHdzcyB9ID0gREFUQTtcblxuY29uc3QgYWRkcmVzc2VzU2V0ID0gbmV3IFNldCgpO1xuZm9yIChjb25zdCB3cyBvZiB3c3MuY2xpZW50cykge1xuICBjb25zdCBhZGRyZXNzZXMgPSB3cy5hZGRyZXNzZXM7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYWRkcmVzc2VzLmxlbmd0aDsgKytpKVxuICAgIGFkZHJlc3Nlc1NldC5hZGQoYWRkcmVzc2VzW2ldKTtcbn1cbmNvbnN0IGFkZHJlc3NlcyA9IFsuLi5hZGRyZXNzZXNTZXRdOyIsImRlcGVuZGVuY2llcyI6W10sIm5hbWUiOiJBbm90aGVyIGF0dGVtcHQifSx7ImlkIjoibUFLa0hMSF9IWUxhd2dzaE9ldElaIiwiY29kZSI6ImNvbnN0IHsgd3NzIH0gPSBEQVRBO1xuXG5jb25zdCBhZGRyZXNzZXNTZXQgPSBuZXcgU2V0KCk7XG5mb3IgKGNvbnN0IHdzIG9mIHdzcy5jbGllbnRzKSB7XG4gIGNvbnN0IHsgYWRkcmVzc2VzIH0gPSB3cy5hZGRyZXNzZXM7XG4gIGNvbnN0IHsgbGVuZ3RoIH0gPSBhZGRyZXNzZXNcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSBhZGRyZXNzZXNTZXQuYWRkKGFkZHJlc3Nlc1tpXSk7XG59XG5jb25zdCBhZGRyZXNzZXMgPSBbLi4uYWRkcmVzc2VzU2V0XTsiLCJkZXBlbmRlbmNpZXMiOltdLCJuYW1lIjoiRXZlbiBiZXR0ZXIifSx7ImlkIjoiTFcyTGJEaVBBT3AtMlNFZVVoSFJFIiwiY29kZSI6ImNvbnN0IHsgd3NzIH0gPSBEQVRBO1xuXG5jb25zdCBhZGRyZXNzZXNNYXAgPSB7fTtcbmZvciAoY29uc3Qgd3Mgb2Ygd3NzLmNsaWVudHMpXG4gIGZvciAoY29uc3QgYWRkcmVzcyBvZiB3cy5hZGRyZXNzZXMpXG4gICAgYWRkcmVzc2VzTWFwW2FkZHJlc3NdID0gdHJ1ZTtcbmNvbnN0IGFkZHJlc3NlcyA9IE9iamVjdC5rZXlzKGFkZHJlc3Nlc01hcCk7IiwiZGVwZW5kZW5jaWVzIjpbXSwibmFtZSI6Ik9iamVjdCAxIn0seyJpZCI6Im9LMm5IQ3JJTzg2bFl2TmwyMGprbyIsImNvZGUiOiJjb25zdCB7IHdzcyB9ID0gREFUQTtcblxuY29uc3QgYWRkcmVzc2VzTWFwID0ge307XG5cbmZvciAoY29uc3Qgd3Mgb2Ygd3NzLmNsaWVudHMpIHtcbiAgY29uc3QgYWRkcmVzc2VzID0gd3MuYWRkcmVzc2VzO1xuICBmb3IgKGxldCBhTGVuID0gYWRkcmVzc2VzLmxlbmd0aDsgYUxlbi0tOylcbiAgICBhZGRyZXNzZXNNYXBbYWRkcmVzc2VzW2FMZW5dXSA9IHRydWU7XG59XG4gIFxuY29uc3QgYWRkcmVzc2VzID0gT2JqZWN0LmtleXMoYWRkcmVzc2VzTWFwKTsiLCJkZXBlbmRlbmNpZXMiOltdLCJuYW1lIjoiT2JqZWN0IDIifSx7ImlkIjoiT0p0TklnRVBvb3BoaDNoVHdhQktHIiwiY29kZSI6ImNvbnN0IHsgd3NzIH0gPSBEQVRBO1xuXG5jb25zdCBhZGRyZXNzZXNNYXAgPSB7fTtcblxuZm9yIChjb25zdCB3cyBvZiB3c3MuY2xpZW50cylcbiAgZm9yIChjb25zdCBhZGRyZXNzIG9mIHdzLmFkZHJlc3NlcylcbiAgICBhZGRyZXNzZXNNYXBbYWRkcmVzc10gPSB0cnVlO1xuICBcbmNvbnN0IGFkZHJlc3NlcyA9IE9iamVjdC5rZXlzKGFkZHJlc3Nlc01hcCk7IiwiZGVwZW5kZW5jaWVzIjpbXSwibmFtZSI6Ik9iamVjdCAzIn1dLCJjb25maWciOnsibmFtZSI6IkJhc2ljIGV4YW1wbGUiLCJwYXJhbGxlbCI6dHJ1ZSwiZ2xvYmFsVGVzdENvbmZpZyI6eyJkZXBlbmRlbmNpZXMiOlt7InVybCI6Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vQGZha2VyLWpzL2Zha2VyQDguMC4yLytlc20iLCJuYW1lIjoiRkFLRVIiLCJlc20iOnRydWV9XX0sImRhdGFDb2RlIjoiY29uc3QgeyB1dWlkIH0gPSBGQUtFUi5mYWtlci5zdHJpbmc7XG5jb25zdCBhZGRyZXNzZXMgPSBbXTtcbmNvbnN0IGNsaWVudHMgPSBbXTtcblxubGV0IGFJZHggPSAwO1xuXG4vLyBTaW11bGF0ZSAxMDAwIGNvbm5lY3RlZCBjbGllbnRzIHdpdGggMTAwIHN1YnNjcmliZWQgYWRkcmVzc2VzXG5mb3IobGV0IGNJZHg7IGNJZHggPCAxMDAwMDsgY0lkeCsrKSB7XG4gIGNvbnN0IHdzID0geyBhZGRyZXNzZXM6IFtdIH07XG5cbiAgLy8gU2ltdWxhdGUgMSUgb2YgdXNlcnMgaGF2ZSB0aGUgc2FtZSB3YWxsZXQgY29ubmVjdGVkIGZyb21cbiAgLy8gdHdvIGRpc3RpbmN0IExhY2UgaW5zdGFuY2VzXG4gIGlmKGNJZHggJiYgTWF0aC5yYW5kb20oKSA8IDAuMDEpXG4gICAgY2xpZW50cy5wdXNoKGNsaWVudHNbW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGNsaWVudHMubGVndGgpXV0pO1xuICBlbHNlXG4gICAgZm9yKGxldCBpID0gMDsgaSA8IDEwMDsgKytpKSB7XG4gICAgICAvLyBTaW11bGF0ZSAwLjElIG9mIGFkZHJlc3NlcyBpcyBzdWJzY3JpYmVkIGJ5IGRpc3RpbmN0IHVzZXJzXG4gICAgICAvLyBpLmUuIHNoYXJlZCB3YWxsZXRzXG4gICAgICBpZihjSWR4ICYmIE1hdGgucmFuZG9tKCkgPCAwLjAwMSlcbiAgICAgICAgd3MuYWRkcmVzc2VzLnB1c2goYWRkcmVzc2VzW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGFkZHJlc3Nlcy5sZWd0aCldKTtcbiAgICAgIGVsc2Uge1xuICAgICAgICAvLyBBcGFydCBmcm9tIHRoZSBmaXhlZCBwcmVmaXhcbiAgICAgICAgLy8gYWRkcmVzc2VzIGFuZCB1dWlkcyBhcmUgbG9uZyBzZXF1ZW5jZXMgb2YgcmFuZG9tIGNoYXJhY3RlcnNcbiAgICAgICAgY29uc3QgYWRkcmVzcyA9IFwiYWRkcl9cIiArIHV1aWQoKTtcblxuICAgICAgICBhZGRyZXNzZXNbYUlkeCsrXSA9IGFkZHJlc3M7XG4gICAgICAgIHdzLmFkZHJlc3Nlcy5wdXNoKGFkZHJlc3MpO1xuICAgICAgfVxuXG4gICAgICBjbGllbnRzLnB1c2god3MpO1xuICAgIH1cbn1cblxucmV0dXJuIHsgd3NzOiB7IGNsaWVudHM6IG5ldyBTZXQoY2xpZW50cykgfSB9OyJ9fQ
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oof....

Suggested change
// https://jsbenchmark.com/#eyJjYXNlcyI6W3siaWQiOiI5aTVXR2E3bXp0MEE2LU1FZFJDaVQiLCJjb2RlIjoiY29uc3QgeyB3c3MgfSA9IERBVEE7XG5cbmNvbnN0IGFkZHJlc3Nlc01hcCA9IG5ldyBNYXAoKTtcbmZvciAoY29uc3Qgd3Mgb2Ygd3NzLmNsaWVudHMpXG4gIGZvciAoY29uc3QgYWRkcmVzcyBvZiB3cy5hZGRyZXNzZXMpXG4gICAgYWRkcmVzc2VzTWFwLnNldChhZGRyZXNzLCB0cnVlKTtcbmNvbnN0IGFkZHJlc3NlcyA9IFsuLi5hZGRyZXNzZXNNYXAua2V5cygpXTsiLCJkZXBlbmRlbmNpZXMiOltdLCJuYW1lIjoiT3JpZ2luYWwifSx7ImlkIjoibVFoLUFZM3JwX1dPWC1keDN6RTJVIiwiY29kZSI6ImNvbnN0IHsgd3NzIH0gPSBEQVRBO1xuICAgICAgICAgIFxuY29uc3QgYWRkcmVzc2VzTWFwID0gWy4uLndzcy5jbGllbnRzXVxuICAuZmxhdE1hcChpdCA9PiBpdC5hZGRyZXNzZXMpXG4gIC5yZWR1Y2UoKHJlc3VsdCwgaXQpID0-ICh7Li4ucmVzdWx0LCBbaXRdOiB0cnVlfSksIHt9KTtcbmNvbnN0IGFkZHJlc3NlcyA9IFtPYmplY3Qua2V5cyhhZGRyZXNzZXNNYXApXTsiLCJuYW1lIjoiRmlyc3QgcHJvcG9zYWwiLCJkZXBlbmRlbmNpZXMiOltdfSx7ImlkIjoibE5fM29CdS1rQlVUMlJ5U24wcU1tIiwiY29kZSI6ImNvbnN0IHsgd3NzIH0gPSBEQVRBO1xuXG5jb25zdCBhZGRyZXNzZXNNYXAgPSBbLi4ud3NzLmNsaWVudHNdXG4gIC5mbGF0TWFwKGl0ID0-IGl0LmFkZHJlc3NlcylcbiAgLnJlZHVjZSgocmVzdWx0LCBpdCkgPT4ge1xuICBcdHJlc3VsdFtpdF0gPSB0cnVlXG5cdHJldHVybiByZXN1bHRcbiAgfSwge30pO1xuY29uc3QgYWRkcmVzc2VzID0gW09iamVjdC5rZXlzKGFkZHJlc3Nlc01hcCldOyIsIm5hbWUiOiJTZWNvbmQgcHJvcG9zYWwiLCJkZXBlbmRlbmNpZXMiOltdfSx7ImlkIjoiSW5zLXdFX2p2amVLYzlUOUlTaWFfIiwiY29kZSI6ImNvbnN0IHsgd3NzIH0gPSBEQVRBO1xuXG5jb25zdCBhZGRyZXNzZXNTZXQgPSBuZXcgU2V0KCk7XG5mb3IgKGNvbnN0IHdzIG9mIHdzcy5jbGllbnRzKVxuICBmb3IgKGNvbnN0IGFkZHJlc3Mgb2Ygd3MuYWRkcmVzc2VzKVxuICAgIGFkZHJlc3Nlc1NldC5hZGQoYWRkcmVzcyk7XG5jb25zdCBhZGRyZXNzZXMgPSBbLi4uYWRkcmVzc2VzU2V0XTsiLCJkZXBlbmRlbmNpZXMiOltdLCJuYW1lIjoiVGhpcmQgcHJvcG9zYWwifSx7ImlkIjoiNE9hWEF0REJFb184eXRrVDFyWGhKIiwiY29kZSI6ImNvbnN0IHsgd3NzIH0gPSBEQVRBO1xuXG5jb25zdCBhZGRyZXNzZXNTZXQgPSBuZXcgU2V0KFsuLi53c3MuY2xpZW50c10uZmxhdE1hcCh3cyA9PiB3cy5hZGRyZXNzZXMpKTtcbmNvbnN0IGFkZHJlc3NlcyA9IFsuLi5hZGRyZXNzZXNTZXRdOyIsImRlcGVuZGVuY2llcyI6W10sIm5hbWUiOiJmbGF0TWFwIn0seyJpZCI6Im15SlJyRmpHUzROZC1YYXdZYmo5QyIsImNvZGUiOiJjb25zdCB7IHdzcyB9ID0gREFUQTtcblxuY29uc3QgYWRkcmVzc2VzU2V0ID0gbmV3IFNldCgpO1xuZm9yIChjb25zdCB3cyBvZiB3c3MuY2xpZW50cykge1xuICBjb25zdCBhZGRyZXNzZXMgPSB3cy5hZGRyZXNzZXM7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYWRkcmVzc2VzLmxlbmd0aDsgKytpKVxuICAgIGFkZHJlc3Nlc1NldC5hZGQoYWRkcmVzc2VzW2ldKTtcbn1cbmNvbnN0IGFkZHJlc3NlcyA9IFsuLi5hZGRyZXNzZXNTZXRdOyIsImRlcGVuZGVuY2llcyI6W10sIm5hbWUiOiJBbm90aGVyIGF0dGVtcHQifSx7ImlkIjoibUFLa0hMSF9IWUxhd2dzaE9ldElaIiwiY29kZSI6ImNvbnN0IHsgd3NzIH0gPSBEQVRBO1xuXG5jb25zdCBhZGRyZXNzZXNTZXQgPSBuZXcgU2V0KCk7XG5mb3IgKGNvbnN0IHdzIG9mIHdzcy5jbGllbnRzKSB7XG4gIGNvbnN0IHsgYWRkcmVzc2VzIH0gPSB3cy5hZGRyZXNzZXM7XG4gIGNvbnN0IHsgbGVuZ3RoIH0gPSBhZGRyZXNzZXNcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSBhZGRyZXNzZXNTZXQuYWRkKGFkZHJlc3Nlc1tpXSk7XG59XG5jb25zdCBhZGRyZXNzZXMgPSBbLi4uYWRkcmVzc2VzU2V0XTsiLCJkZXBlbmRlbmNpZXMiOltdLCJuYW1lIjoiRXZlbiBiZXR0ZXIifSx7ImlkIjoiTFcyTGJEaVBBT3AtMlNFZVVoSFJFIiwiY29kZSI6ImNvbnN0IHsgd3NzIH0gPSBEQVRBO1xuXG5jb25zdCBhZGRyZXNzZXNNYXAgPSB7fTtcbmZvciAoY29uc3Qgd3Mgb2Ygd3NzLmNsaWVudHMpXG4gIGZvciAoY29uc3QgYWRkcmVzcyBvZiB3cy5hZGRyZXNzZXMpXG4gICAgYWRkcmVzc2VzTWFwW2FkZHJlc3NdID0gdHJ1ZTtcbmNvbnN0IGFkZHJlc3NlcyA9IE9iamVjdC5rZXlzKGFkZHJlc3Nlc01hcCk7IiwiZGVwZW5kZW5jaWVzIjpbXSwibmFtZSI6Ik9iamVjdCAxIn0seyJpZCI6Im9LMm5IQ3JJTzg2bFl2TmwyMGprbyIsImNvZGUiOiJjb25zdCB7IHdzcyB9ID0gREFUQTtcblxuY29uc3QgYWRkcmVzc2VzTWFwID0ge307XG5cbmZvciAoY29uc3Qgd3Mgb2Ygd3NzLmNsaWVudHMpIHtcbiAgY29uc3QgYWRkcmVzc2VzID0gd3MuYWRkcmVzc2VzO1xuICBmb3IgKGxldCBhTGVuID0gYWRkcmVzc2VzLmxlbmd0aDsgYUxlbi0tOylcbiAgICBhZGRyZXNzZXNNYXBbYWRkcmVzc2VzW2FMZW5dXSA9IHRydWU7XG59XG4gIFxuY29uc3QgYWRkcmVzc2VzID0gT2JqZWN0LmtleXMoYWRkcmVzc2VzTWFwKTsiLCJkZXBlbmRlbmNpZXMiOltdLCJuYW1lIjoiT2JqZWN0IDIifSx7ImlkIjoiT0p0TklnRVBvb3BoaDNoVHdhQktHIiwiY29kZSI6ImNvbnN0IHsgd3NzIH0gPSBEQVRBO1xuXG5jb25zdCBhZGRyZXNzZXNNYXAgPSB7fTtcblxuZm9yIChjb25zdCB3cyBvZiB3c3MuY2xpZW50cylcbiAgZm9yIChjb25zdCBhZGRyZXNzIG9mIHdzLmFkZHJlc3NlcylcbiAgICBhZGRyZXNzZXNNYXBbYWRkcmVzc10gPSB0cnVlO1xuICBcbmNvbnN0IGFkZHJlc3NlcyA9IE9iamVjdC5rZXlzKGFkZHJlc3Nlc01hcCk7IiwiZGVwZW5kZW5jaWVzIjpbXSwibmFtZSI6Ik9iamVjdCAzIn1dLCJjb25maWciOnsibmFtZSI6IkJhc2ljIGV4YW1wbGUiLCJwYXJhbGxlbCI6dHJ1ZSwiZ2xvYmFsVGVzdENvbmZpZyI6eyJkZXBlbmRlbmNpZXMiOlt7InVybCI6Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vQGZha2VyLWpzL2Zha2VyQDguMC4yLytlc20iLCJuYW1lIjoiRkFLRVIiLCJlc20iOnRydWV9XX0sImRhdGFDb2RlIjoiY29uc3QgeyB1dWlkIH0gPSBGQUtFUi5mYWtlci5zdHJpbmc7XG5jb25zdCBhZGRyZXNzZXMgPSBbXTtcbmNvbnN0IGNsaWVudHMgPSBbXTtcblxubGV0IGFJZHggPSAwO1xuXG4vLyBTaW11bGF0ZSAxMDAwIGNvbm5lY3RlZCBjbGllbnRzIHdpdGggMTAwIHN1YnNjcmliZWQgYWRkcmVzc2VzXG5mb3IobGV0IGNJZHg7IGNJZHggPCAxMDAwMDsgY0lkeCsrKSB7XG4gIGNvbnN0IHdzID0geyBhZGRyZXNzZXM6IFtdIH07XG5cbiAgLy8gU2ltdWxhdGUgMSUgb2YgdXNlcnMgaGF2ZSB0aGUgc2FtZSB3YWxsZXQgY29ubmVjdGVkIGZyb21cbiAgLy8gdHdvIGRpc3RpbmN0IExhY2UgaW5zdGFuY2VzXG4gIGlmKGNJZHggJiYgTWF0aC5yYW5kb20oKSA8IDAuMDEpXG4gICAgY2xpZW50cy5wdXNoKGNsaWVudHNbW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGNsaWVudHMubGVndGgpXV0pO1xuICBlbHNlXG4gICAgZm9yKGxldCBpID0gMDsgaSA8IDEwMDsgKytpKSB7XG4gICAgICAvLyBTaW11bGF0ZSAwLjElIG9mIGFkZHJlc3NlcyBpcyBzdWJzY3JpYmVkIGJ5IGRpc3RpbmN0IHVzZXJzXG4gICAgICAvLyBpLmUuIHNoYXJlZCB3YWxsZXRzXG4gICAgICBpZihjSWR4ICYmIE1hdGgucmFuZG9tKCkgPCAwLjAwMSlcbiAgICAgICAgd3MuYWRkcmVzc2VzLnB1c2goYWRkcmVzc2VzW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGFkZHJlc3Nlcy5sZWd0aCldKTtcbiAgICAgIGVsc2Uge1xuICAgICAgICAvLyBBcGFydCBmcm9tIHRoZSBmaXhlZCBwcmVmaXhcbiAgICAgICAgLy8gYWRkcmVzc2VzIGFuZCB1dWlkcyBhcmUgbG9uZyBzZXF1ZW5jZXMgb2YgcmFuZG9tIGNoYXJhY3RlcnNcbiAgICAgICAgY29uc3QgYWRkcmVzcyA9IFwiYWRkcl9cIiArIHV1aWQoKTtcblxuICAgICAgICBhZGRyZXNzZXNbYUlkeCsrXSA9IGFkZHJlc3M7XG4gICAgICAgIHdzLmFkZHJlc3Nlcy5wdXNoKGFkZHJlc3MpO1xuICAgICAgfVxuXG4gICAgICBjbGllbnRzLnB1c2god3MpO1xuICAgIH1cbn1cblxucmV0dXJuIHsgd3NzOiB7IGNsaWVudHM6IG5ldyBTZXQoY2xpZW50cykgfSB9OyJ9fQ
// Benchmarks: https://t.ly/L4Z9s

Copy link
Collaborator Author

@iccicci iccicci Oct 7, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Usually link shrinkers have a shorten link limited life time.
Is this one forever? Anyway it means to trust them, as soon as they close the service, we loose the information.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They do not specify the lifetime, hopefully 'long enough'? Can you think of any other alternatives?

Copy link
Collaborator Author

@iccicci iccicci Oct 8, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's a link in a comment... we already spent on it much more time than how much it deserves.
I have only three options:

  1. remove the link
  2. leave it as is
  3. apply your suggestion accepting the risk we will loose the info in a couple of months

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Leave it as it is. Also lets create a cloudflare account in the background, it should be useful for cases like this

for (const ws of this.wss.clients) {
const addresses = ws.addresses;
// eslint-disable-next-line space-in-parens
for (let aLen = addresses.length; aLen--; ) addressesObj[addresses[aLen]] = true;
}

const addresses = Object.keys(addressesObj) as Cardano.PaymentAddress[];

if (debugLog) this.logger.debug(`Transactions for notification ${notification} ${JSON.stringify(addresses)}`);

Expand Down
Loading