
Solreplay
29 posts

Solreplay
@solreplay_io
Solana RPCs lose historical state. We don't. Replay any tx, get the exact pre/post state of every account & program. x402-compatible, devs & agents - @0x0zy42








got bored last week during accelerate while y'all were at e11even, so I worked on a limited-lookback (1 month) historical account state service: getTransactionFixture(signature) -> TransactionFixture which returns everything you need (pre/post accounts, feature set, sysvars, txn status, rpc client version/hash, etc) to re-execute the transaction. very helpful for debugging and trying out changes. i think main use cases are something along the lines of: 1. how would this trade have gone (as a maker or a taker) if program commit B was deployed instead of A? 2. how many cus would this txn have used if some other commit was live? 3. what was the pre/post execution state of some account? why was some special branch hit? in fact, 2. is exactly what i show in Figure 1 to compare p-token vs current tokenkeg. I took a random swap that went through zerofi and goonfi with my nifty client... the left shows all results matching (successful replay). the right shows me adding the flag --replace-program=TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA:spl-p-token-1.0.0-rc.1.so, which replaces the current token program with the p-token program. we get a match in status, but a mismatch in CUs (and logs... p-token does not log "Instruction: Transfer"!). we will be using this internally (it has already come in handy bigly twice), but we also want to try to offer this to external users. if there's enough interest we may do a pilot. dm me if you want to try it.



got bored last week during accelerate while y'all were at e11even, so I worked on a limited-lookback (1 month) historical account state service: getTransactionFixture(signature) -> TransactionFixture which returns everything you need (pre/post accounts, feature set, sysvars, txn status, rpc client version/hash, etc) to re-execute the transaction. very helpful for debugging and trying out changes. i think main use cases are something along the lines of: 1. how would this trade have gone (as a maker or a taker) if program commit B was deployed instead of A? 2. how many cus would this txn have used if some other commit was live? 3. what was the pre/post execution state of some account? why was some special branch hit? in fact, 2. is exactly what i show in Figure 1 to compare p-token vs current tokenkeg. I took a random swap that went through zerofi and goonfi with my nifty client... the left shows all results matching (successful replay). the right shows me adding the flag --replace-program=TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA:spl-p-token-1.0.0-rc.1.so, which replaces the current token program with the p-token program. we get a match in status, but a mismatch in CUs (and logs... p-token does not log "Instruction: Transfer"!). we will be using this internally (it has already come in handy bigly twice), but we also want to try to offer this to external users. if there's enough interest we may do a pilot. dm me if you want to try it.


got bored last week during accelerate while y'all were at e11even, so I worked on a limited-lookback (1 month) historical account state service: getTransactionFixture(signature) -> TransactionFixture which returns everything you need (pre/post accounts, feature set, sysvars, txn status, rpc client version/hash, etc) to re-execute the transaction. very helpful for debugging and trying out changes. i think main use cases are something along the lines of: 1. how would this trade have gone (as a maker or a taker) if program commit B was deployed instead of A? 2. how many cus would this txn have used if some other commit was live? 3. what was the pre/post execution state of some account? why was some special branch hit? in fact, 2. is exactly what i show in Figure 1 to compare p-token vs current tokenkeg. I took a random swap that went through zerofi and goonfi with my nifty client... the left shows all results matching (successful replay). the right shows me adding the flag --replace-program=TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA:spl-p-token-1.0.0-rc.1.so, which replaces the current token program with the p-token program. we get a match in status, but a mismatch in CUs (and logs... p-token does not log "Instruction: Transfer"!). we will be using this internally (it has already come in handy bigly twice), but we also want to try to offer this to external users. if there's enough interest we may do a pilot. dm me if you want to try it.

T-15 hours until p-token is live on mainnet.

T-15 hours until p-token in live on mainnet.


got bored last week during accelerate while y'all were at e11even, so I worked on a limited-lookback (1 month) historical account state service: getTransactionFixture(signature) -> TransactionFixture which returns everything you need (pre/post accounts, feature set, sysvars, txn status, rpc client version/hash, etc) to re-execute the transaction. very helpful for debugging and trying out changes. i think main use cases are something along the lines of: 1. how would this trade have gone (as a maker or a taker) if program commit B was deployed instead of A? 2. how many cus would this txn have used if some other commit was live? 3. what was the pre/post execution state of some account? why was some special branch hit? in fact, 2. is exactly what i show in Figure 1 to compare p-token vs current tokenkeg. I took a random swap that went through zerofi and goonfi with my nifty client... the left shows all results matching (successful replay). the right shows me adding the flag --replace-program=TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA:spl-p-token-1.0.0-rc.1.so, which replaces the current token program with the p-token program. we get a match in status, but a mismatch in CUs (and logs... p-token does not log "Instruction: Transfer"!). we will be using this internally (it has already come in handy bigly twice), but we also want to try to offer this to external users. if there's enough interest we may do a pilot. dm me if you want to try it.

got bored last week during accelerate while y'all were at e11even, so I worked on a limited-lookback (1 month) historical account state service: getTransactionFixture(signature) -> TransactionFixture which returns everything you need (pre/post accounts, feature set, sysvars, txn status, rpc client version/hash, etc) to re-execute the transaction. very helpful for debugging and trying out changes. i think main use cases are something along the lines of: 1. how would this trade have gone (as a maker or a taker) if program commit B was deployed instead of A? 2. how many cus would this txn have used if some other commit was live? 3. what was the pre/post execution state of some account? why was some special branch hit? in fact, 2. is exactly what i show in Figure 1 to compare p-token vs current tokenkeg. I took a random swap that went through zerofi and goonfi with my nifty client... the left shows all results matching (successful replay). the right shows me adding the flag --replace-program=TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA:spl-p-token-1.0.0-rc.1.so, which replaces the current token program with the p-token program. we get a match in status, but a mismatch in CUs (and logs... p-token does not log "Instruction: Transfer"!). we will be using this internally (it has already come in handy bigly twice), but we also want to try to offer this to external users. if there's enough interest we may do a pilot. dm me if you want to try it.

Cooking something for @solana_devs 👀 dissecting transactions at the lowest level





1 day left to submit your product to the @Solana Frontier Hackathon. Finish strong! 🦾







