Skip to content

Conversation

@ancientmage
Copy link
Collaborator

NDEV-3839. Send update_account only for changed accounts, even if the account is writable in the transaction

@ancientmage ancientmage force-pushed the NDEV-3839-update-only-changed-accounts branch from 3e8a562 to 226ee37 Compare September 30, 2025 13:37
return false;
}

if account_is_executable {

Choose a reason for hiding this comment

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

Why the executable accounts are extracted to the separate case? As I understand they have account_owner which should match invoked_program_id as regular accounts.

@ancientmage ancientmage force-pushed the NDEV-3839-update-only-changed-accounts branch from 226ee37 to 64a6d63 Compare October 21, 2025 11:34
BoogVAr pushed a commit that referenced this pull request Nov 7, 2025
* Apply the retry code to the async pubsub client

Create a test server

```ts
import http from "http";

import { WebSocketServer } from "ws";

let attemptCount = 0;

const server = http.createServer();
const wss = new WebSocketServer({ noServer: true });

wss.on("connection", (ws) => {
  ws.send("Connection accepted.");
  ws.on("message", (msg) => console.log(`Received: ${msg}`));
});

server.on("upgrade", (req, socket, head) => {
  attemptCount += 1;

  if (attemptCount <= 4) {
    socket.write("HTTP/1.1 429 Too Many Requests\r\n\r\n");
    socket.destroy();
    console.log(`Rejected connection #${attemptCount} (429)`);
    return;
  }

  wss.handleUpgrade(req, socket, head, (ws) => {
    wss.emit("connection", ws, req);
    console.log("Connection accepted on attempt", attemptCount);
  });
});

server.listen(8080, () => {
  console.log("Server listening on port 8080");
});
```

Run `test_slot_subscription_async`:

```
Rejected connection #1 (429)
Rejected connection #2 (429)
Rejected connection #3 (429)
Rejected connection #4 (429)
Connection accepted on attempt 5
Received: {"id":1,"jsonrpc":"2.0","method":"slotSubscribe","params":[]}
```

* `s/async_with_retry/with_retry/`
@ancientmage ancientmage force-pushed the NDEV-3839-update-only-changed-accounts branch 3 times, most recently from c6df636 to 59563b8 Compare November 19, 2025 12:41
@ancientmage ancientmage force-pushed the NDEV-3839-update-only-changed-accounts branch from 59563b8 to d8045c1 Compare November 19, 2025 15:49
account_owner: &Pubkey,
account_pubkey: &Pubkey,
) -> bool {
let pubkey_str = account_pubkey.to_string();

Choose a reason for hiding this comment

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

You can check that the owner is Sysvar1111111.....

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.

3 participants