{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":21504517,"defaultBranch":"master","name":"btcd","ownerLogin":"Roasbeef","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2014-07-04T18:01:29.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/998190?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1721267209.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"9335b4b892fb28be8f9841e3f2b6f119713aa03d","ref":"refs/heads/script-template","pushedAt":"2024-07-18T01:46:49.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Roasbeef","name":"Olaoluwa Osuntokun","path":"/Roasbeef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/998190?s=80&v=4"},"commit":{"message":"txscript: add new ScriptTemplate DSL for writing Scripts\n\nIn this commit, we add a new function, `ScriptTemplate` to make the\nprocess of making custom Bitcoin scripts a bit less verbose.\n\nScriptTemplate processes a script template with parameters and returns the\ncorresponding script bytes. This functions allows Bitcoin scripts to be\ncreated using a DSL-like syntax, based on Go's templating system.\n\nAn example of a simple p2pkh template would be:\n\n `OP_DUP OP_HASH160 0x14e8948c7afa71b6e6fad621256474b5959e0305 OP_EQUALVERIFY OP_CHECKSIG`\n\nStrings that have the `0x` prefix are assumed to byte strings to be pushed\nontop of the stack. Integers can be passed as normal. If a value can't be\nparsed as an integer, then it's assume that it's a byte slice without the 0x\nprefix.\n\nNormal go template operations can be used as well. The params argument\nhouses paramters to pass into the script, for example a local variable\nstoring a computed public key.","shortMessageHtmlLink":"txscript: add new ScriptTemplate DSL for writing Scripts"}},{"before":null,"after":"cc4b27cdd9e5624827668eba3254a6077000a977","ref":"refs/heads/v-0-24-2","pushedAt":"2024-06-20T22:35:34.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Roasbeef","name":"Olaoluwa Osuntokun","path":"/Roasbeef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/998190?s=80&v=4"},"commit":{"message":"build: bump version to v0.24.2-beta","shortMessageHtmlLink":"build: bump version to v0.24.2-beta"}},{"before":null,"after":"aee2705f701ae88a2de1035cd7bbec0debce602c","ref":"refs/heads/btcd-24-0-2-rc1","pushedAt":"2024-03-09T01:59:17.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Roasbeef","name":"Olaoluwa Osuntokun","path":"/Roasbeef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/998190?s=80&v=4"},"commit":{"message":"build: bump version to v0.24.2-beta.rc1","shortMessageHtmlLink":"build: bump version to v0.24.2-beta.rc1"}},{"before":null,"after":"8d2ab63e36fd6a58967fa53aa4a1df8b9abe09fd","ref":"refs/heads/btcd-24","pushedAt":"2023-12-31T00:34:28.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Roasbeef","name":"Olaoluwa Osuntokun","path":"/Roasbeef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/998190?s=80&v=4"},"commit":{"message":"build: bump version to btcd v0.24","shortMessageHtmlLink":"build: bump version to btcd v0.24"}},{"before":"8c4da83890c2bb1368503a13aca886cd7163df57","after":"b0e9636689d9283e034f548a55e60342b5742b3f","ref":"refs/heads/wire-opts","pushedAt":"2023-12-29T02:38:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Roasbeef","name":"Olaoluwa Osuntokun","path":"/Roasbeef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/998190?s=80&v=4"},"commit":{"message":"wire: consistently use defer for returning scratch buffers","shortMessageHtmlLink":"wire: consistently use defer for returning scratch buffers"}},{"before":null,"after":"e102a81268be375eb74092fb7416108269f50fc4","ref":"refs/heads/dont-serialize-tx-for-txhash","pushedAt":"2023-12-29T02:13:19.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Roasbeef","name":"Olaoluwa Osuntokun","path":"/Roasbeef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/998190?s=80&v=4"},"commit":{"message":"btcutil: add benchmarks for Hash + WitnessHash","shortMessageHtmlLink":"btcutil: add benchmarks for Hash + WitnessHash"}},{"before":"9922761d3dc89cabd69126499a67132c2041f9fe","after":"19008edd0faaa12938895b54aad83af820d703dc","ref":"refs/heads/btcutil-psbt-update-dec-2023","pushedAt":"2023-12-19T23:02:50.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Roasbeef","name":"Olaoluwa Osuntokun","path":"/Roasbeef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/998190?s=80&v=4"},"commit":{"message":"txscript: use a single shared scratch buffer in segwit sighash calc\n\nWe used to use a lot of small buffers for serialization, but now we'll\nuse one buffer large enough, and slice into it when needed.\n\n``\nname old time/op new time/op delta\nCalcWitnessSigHash-8 31.5µs ± 0% 29.2µs ± 0% -7.05% (p=0.000 n=10+10)\n\nname old alloc/op new alloc/op delta\nCalcWitnessSigHash-8 19.9kB ± 0% 18.5kB ± 0% -7.14% (p=0.000 n=10+10)\n\nname old allocs/op new allocs/op delta\nCalcWitnessSigHash-8 801 ± 0% 445 ± 0% -44.44% (p=0.000 n=10+10)\n```","shortMessageHtmlLink":"txscript: use a single shared scratch buffer in segwit sighash calc"}},{"before":"fa537e16020e61283812126c771b2498ce380dcf","after":"9922761d3dc89cabd69126499a67132c2041f9fe","ref":"refs/heads/btcutil-psbt-update-dec-2023","pushedAt":"2023-12-19T01:06:02.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Roasbeef","name":"Olaoluwa Osuntokun","path":"/Roasbeef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/998190?s=80&v=4"},"commit":{"message":"txscript: use DoubleHashRaw to write directly crypto.Hash for segwit sighash\n\nIn this commit, we optimize the sighash calc further by writing directly\ninto the buffer used for serialization by the sha256.New() instance\nrather than to an intermediate buffer, which is then write to the hash\nbuffer.","shortMessageHtmlLink":"txscript: use DoubleHashRaw to write directly crypto.Hash for segwit …"}},{"before":"dbb414125e09ed6007f990edb217f3ecb87e383c","after":"fa537e16020e61283812126c771b2498ce380dcf","ref":"refs/heads/btcutil-psbt-update-dec-2023","pushedAt":"2023-12-19T01:02:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Roasbeef","name":"Olaoluwa Osuntokun","path":"/Roasbeef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/998190?s=80&v=4"},"commit":{"message":"txscript: use DoubleHashRaw to write directly crypto.Hash for segwit sighash\n\nIn this commit, we optimize the sighash calc further by writing directly\ninto the buffer used for serialization by the sha256.New() instance\nrather than to an intermediate buffer, which is then write to the hash\nbuffer.","shortMessageHtmlLink":"txscript: use DoubleHashRaw to write directly crypto.Hash for segwit …"}},{"before":null,"after":"dbb414125e09ed6007f990edb217f3ecb87e383c","ref":"refs/heads/btcutil-psbt-update-dec-2023","pushedAt":"2023-12-19T00:56:04.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Roasbeef","name":"Olaoluwa Osuntokun","path":"/Roasbeef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/998190?s=80&v=4"},"commit":{"message":"multi: update main package to chainhash/v1.1.0, use optimized dsha256\n\nIn this commit, we update the top-level btcd package to use the latest\nversion of btcutil and also the chainhash package. With this version\nbump, we can now use the new optimized dsha256 routine where applicable.\n\nWith this commit, I've covered most of the areas we'll hash an entire\ntransaction/block/header, but we may want to optimize some other areas\nfurther, in particular, the witness sighash calc.","shortMessageHtmlLink":"multi: update main package to chainhash/v1.1.0, use optimized dsha256"}},{"before":null,"after":"8c4da83890c2bb1368503a13aca886cd7163df57","ref":"refs/heads/wire-opts","pushedAt":"2023-12-16T00:38:52.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Roasbeef","name":"Olaoluwa Osuntokun","path":"/Roasbeef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/998190?s=80&v=4"},"commit":{"message":"wire/msgblock+msgtx: user block-level script slab","shortMessageHtmlLink":"wire/msgblock+msgtx: user block-level script slab"}},{"before":"7745cbb679dc9057e31ae625004fdc3c46aa327a","after":"28a816f050a245e64c6fd16536f070a53082a19e","ref":"refs/heads/chainhash-v-1-1-0-btcutil","pushedAt":"2023-12-15T22:56:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Roasbeef","name":"Olaoluwa Osuntokun","path":"/Roasbeef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/998190?s=80&v=4"},"commit":{"message":"btcutil/psbt: update to chaincfg/chainhash/v1.1.0 + btcutil/v1.1.3\n\nWe also remove the replace directives in place.","shortMessageHtmlLink":"btcutil/psbt: update to chaincfg/chainhash/v1.1.0 + btcutil/v1.1.3"}},{"before":"06850905559997c074585130de523285364e1cbb","after":"7745cbb679dc9057e31ae625004fdc3c46aa327a","ref":"refs/heads/chainhash-v-1-1-0-btcutil","pushedAt":"2023-12-15T22:43:07.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Roasbeef","name":"Olaoluwa Osuntokun","path":"/Roasbeef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/998190?s=80&v=4"},"commit":{"message":"btcutl/gcs: update filter logic to use new DoubleHashRaw","shortMessageHtmlLink":"btcutl/gcs: update filter logic to use new DoubleHashRaw"}},{"before":null,"after":"06850905559997c074585130de523285364e1cbb","ref":"refs/heads/chainhash-v-1-1-0-btcutil","pushedAt":"2023-12-15T22:25:55.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Roasbeef","name":"Olaoluwa Osuntokun","path":"/Roasbeef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/998190?s=80&v=4"},"commit":{"message":"btcutl/gcs: update filter logic to use new DoubleHashRaw","shortMessageHtmlLink":"btcutl/gcs: update filter logic to use new DoubleHashRaw"}},{"before":"d045a70a3a14cfd3259935de0e5a856b746858a6","after":"5ba479da995523098cbc83205902efd33a31e579","ref":"refs/heads/cache-raw-msg-tx","pushedAt":"2023-12-05T02:51:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Roasbeef","name":"Olaoluwa Osuntokun","path":"/Roasbeef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/998190?s=80&v=4"},"commit":{"message":"btcutil/txsort: wipe cache before assertion on mutated txn","shortMessageHtmlLink":"btcutil/txsort: wipe cache before assertion on mutated txn"}},{"before":"e2a7cd16099be1a082ed78ada29bf503c5864735","after":"d045a70a3a14cfd3259935de0e5a856b746858a6","ref":"refs/heads/cache-raw-msg-tx","pushedAt":"2023-12-05T02:46:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Roasbeef","name":"Olaoluwa Osuntokun","path":"/Roasbeef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/998190?s=80&v=4"},"commit":{"message":"wire: modify SerializeNoWitness to use cached version if available","shortMessageHtmlLink":"wire: modify SerializeNoWitness to use cached version if available"}},{"before":"0924825a43650818868635f5f9484ff62ab278df","after":"e2a7cd16099be1a082ed78ada29bf503c5864735","ref":"refs/heads/cache-raw-msg-tx","pushedAt":"2023-12-05T02:45:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Roasbeef","name":"Olaoluwa Osuntokun","path":"/Roasbeef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/998190?s=80&v=4"},"commit":{"message":"blockchain: wipe internal tx cache after mutating txns for fullblocktests","shortMessageHtmlLink":"blockchain: wipe internal tx cache after mutating txns for fullblockt…"}},{"before":"c73570bc92f61afce037e0e5acf9fa83c9255c71","after":"0924825a43650818868635f5f9484ff62ab278df","ref":"refs/heads/cache-raw-msg-tx","pushedAt":"2023-11-16T01:38:59.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Roasbeef","name":"Olaoluwa Osuntokun","path":"/Roasbeef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/998190?s=80&v=4"},"commit":{"message":"wire: cache the non-witness serialization of MsgTx to memoize part of TxHash\n\nIn this commit, we add a new field to the `MsgTx` struct:\n`cachedSeralizedNoWitness`. As we decode the main transaction, we use an\n`io.TeeReader` to copy over the non-witness bytes into this new field.\nAs a result, we can fully cache all tx serialization when computing the\nTxHash. This has been shown to show up on profiles during IBD. Caching\nthis value allows us to optimize TxHash calculation across the entire\ndaemon as a whole.","shortMessageHtmlLink":"wire: cache the non-witness serialization of MsgTx to memoize part of…"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEgmjHEAA","startCursor":null,"endCursor":null}},"title":"Activity · Roasbeef/btcd"}