{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":484206173,"defaultBranch":"develop","name":"serai","ownerLogin":"serai-dex","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2022-04-21T21:11:00.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/104170959?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1726822276.0","currentOid":""},"activityList":{"items":[{"before":"e9d0a5e0ed3132e487807486996e06677e4614b7","after":"48db06f901952b24bb38d7c7e256f798f08512cd","ref":"refs/heads/develop","pushedAt":"2024-09-21T15:33:35.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kayabaNerve","name":"Luke Parker","path":"/kayabaNerve","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25259837?s=80&v=4"},"commit":{"message":"xmr: fix scan long encrypted amount","shortMessageHtmlLink":"xmr: fix scan long encrypted amount"}},{"before":"71c9df8a08a9dc20b01929472ace0257c0f830c2","after":null,"ref":"refs/heads/monero-0.18.3.2","pushedAt":"2024-09-20T08:51:16.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"kayabaNerve","name":"Luke Parker","path":"/kayabaNerve","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25259837?s=80&v=4"}},{"before":"23b433fe6c65044d36285562a685f2bfc075eb7f","after":"e9d0a5e0ed3132e487807486996e06677e4614b7","ref":"refs/heads/develop","pushedAt":"2024-09-20T08:28:33.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"kayabaNerve","name":"Luke Parker","path":"/kayabaNerve","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25259837?s=80&v=4"},"commit":{"message":"Remove stray references to monero-wallet-util","shortMessageHtmlLink":"Remove stray references to monero-wallet-util"}},{"before":"5c6160c398fc7dad05f7ade51e559e44ad5a4ff4","after":"23b433fe6c65044d36285562a685f2bfc075eb7f","ref":"refs/heads/develop","pushedAt":"2024-09-20T08:05:22.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"kayabaNerve","name":"Luke Parker","path":"/kayabaNerve","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25259837?s=80&v=4"},"commit":{"message":"Fix #612","shortMessageHtmlLink":"Fix #612"}},{"before":"9eee1d971e617faae8c6ba1cfef25255e1856430","after":"5c6160c398fc7dad05f7ade51e559e44ad5a4ff4","ref":"refs/heads/develop","pushedAt":"2024-09-20T07:24:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kayabaNerve","name":"Luke Parker","path":"/kayabaNerve","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25259837?s=80&v=4"},"commit":{"message":"Kick monero-seed, polyseed, monero-wallet-util to https://github.com/kayabaNerve/monero-wallet-util","shortMessageHtmlLink":"Kick monero-seed, polyseed, monero-wallet-util to https://github.com/…"}},{"before":"669b2fef725d68c4bc7b748224f5408daca4ce18","after":"9eee1d971e617faae8c6ba1cfef25255e1856430","ref":"refs/heads/develop","pushedAt":"2024-09-20T07:14:31.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"kayabaNerve","name":"Luke Parker","path":"/kayabaNerve","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25259837?s=80&v=4"},"commit":{"message":"bitcoin-serai changes from next\n\nExpands the NotEnoughFunds error and enables fetching the entire unsigned\ntransaction, not just the outputs it'll have.","shortMessageHtmlLink":"bitcoin-serai changes from next"}},{"before":"d40a77211919e992e0b1d90b9ab1f5cdd65b0cb6","after":null,"ref":"refs/heads/processor-smash","pushedAt":"2024-09-20T06:36:37.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"kayabaNerve","name":"Luke Parker","path":"/kayabaNerve","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25259837?s=80&v=4"}},{"before":"e4e4245ee359bcbc9c2eabd687dd9c87c41d705d","after":"2c8af04781d5dd5ebef55d60674233035da59e4c","ref":"refs/heads/next","pushedAt":"2024-09-20T06:36:33.000Z","pushType":"pr_merge","commitsCount":179,"pusher":{"login":"kayabaNerve","name":"Luke Parker","path":"/kayabaNerve","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25259837?s=80&v=4"},"commit":{"message":"machete, drain > mem::swap for clarity reasons","shortMessageHtmlLink":"machete, drain > mem::swap for clarity reasons"}},{"before":"862ab5cb4d667eb0fbc3aa7f33a1fb4d9d3546e5","after":"d40a77211919e992e0b1d90b9ab1f5cdd65b0cb6","ref":"refs/heads/processor-smash","pushedAt":"2024-09-20T06:35:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kayabaNerve","name":"Luke Parker","path":"/kayabaNerve","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25259837?s=80&v=4"},"commit":{"message":"machete, drain > mem::swap for clarity reasons","shortMessageHtmlLink":"machete, drain > mem::swap for clarity reasons"}},{"before":"5a2a27899e81ce0c59da9922cc227cb53edc9333","after":"862ab5cb4d667eb0fbc3aa7f33a1fb4d9d3546e5","ref":"refs/heads/processor-smash","pushedAt":"2024-09-20T06:22:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kayabaNerve","name":"Luke Parker","path":"/kayabaNerve","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25259837?s=80&v=4"},"commit":{"message":"Move old processor/src directory to processor/TODO","shortMessageHtmlLink":"Move old processor/src directory to processor/TODO"}},{"before":"7fd239b1c2550f13773f4ec6fed5008995701fd1","after":"5a2a27899e81ce0c59da9922cc227cb53edc9333","ref":"refs/heads/processor-smash","pushedAt":"2024-09-20T06:17:03.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"kayabaNerve","name":"Luke Parker","path":"/kayabaNerve","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25259837?s=80&v=4"},"commit":{"message":"Misc comments","shortMessageHtmlLink":"Misc comments"}},{"before":"dd9f6c0ece533b2dfeee52910d135e2aa6152783","after":"7fd239b1c2550f13773f4ec6fed5008995701fd1","ref":"refs/heads/processor-smash","pushedAt":"2024-09-20T04:55:49.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"kayabaNerve","name":"Luke Parker","path":"/kayabaNerve","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25259837?s=80&v=4"},"commit":{"message":"Report a Change Output with every Eventuality to ensure we don't fall out of synchrony","shortMessageHtmlLink":"Report a Change Output with every Eventuality to ensure we don't fall…"}},{"before":"eb00a4e2b6e0cf030a6963f3fa862c33ac3608c8","after":"dd9f6c0ece533b2dfeee52910d135e2aa6152783","ref":"refs/heads/processor-smash","pushedAt":"2024-09-20T01:43:50.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"kayabaNerve","name":"Luke Parker","path":"/kayabaNerve","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25259837?s=80&v=4"},"commit":{"message":"Update to the latest bitcoin-serai","shortMessageHtmlLink":"Update to the latest bitcoin-serai"}},{"before":"484d72f88e8ce8e367cdb87b54b457bb4a572c66","after":"e4e4245ee359bcbc9c2eabd687dd9c87c41d705d","ref":"refs/heads/next","pushedAt":"2024-09-20T01:43:31.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"kayabaNerve","name":"Luke Parker","path":"/kayabaNerve","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25259837?s=80&v=4"},"commit":{"message":"One Round DKG (#589)\n\n* Upstream GBP, divisor, circuit abstraction, and EC gadgets from FCMP++\n\n* Initial eVRF implementation\n\nNot quite done yet. It needs to communicate the resulting points and proofs to\nextract them from the Pedersen Commitments in order to return those, and then\nbe tested.\n\n* Add the openings of the PCs to the eVRF as necessary\n\n* Add implementation of secq256k1\n\n* Make DKG Encryption a bit more flexible\n\nNo longer requires the use of an EncryptionKeyMessage, and allows pre-defined\nkeys for encryption.\n\n* Make NUM_BITS an argument for the field macro\n\n* Have the eVRF take a Zeroizing private key\n\n* Initial eVRF-based DKG\n\n* Add embedwards25519 curve\n\n* Inline the eVRF into the DKG library\n\nDue to how we're handling share encryption, we'd either need two circuits or to\ndedicate this circuit to the DKG. The latter makes sense at this time.\n\n* Add documentation to the eVRF-based DKG\n\n* Add paragraph claiming robustness\n\n* Update to the new eVRF proof\n\n* Finish routing the eVRF functionality\n\nStill needs errors and serialization, along with a few other TODOs.\n\n* Add initial eVRF DKG test\n\n* Improve eVRF DKG\n\nUpdates how we calculcate verification shares, improves performance when\nextracting multiple sets of keys, and adds more to the test for it.\n\n* Start using a proper error for the eVRF DKG\n\n* Resolve various TODOs\n\nSupports recovering multiple key shares from the eVRF DKG.\n\nInlines two loops to save 2**16 iterations.\n\nAdds support for creating a constant time representation of scalars < NUM_BITS.\n\n* Ban zero ECDH keys, document non-zero requirements\n\n* Implement eVRF traits, all the way up to the DKG, for secp256k1/ed25519\n\n* Add Ristretto eVRF trait impls\n\n* Support participating multiple times in the eVRF DKG\n\n* Only participate once per key, not once per key share\n\n* Rewrite processor key-gen around the eVRF DKG\n\nStill a WIP.\n\n* Finish routing the new key gen in the processor\n\nDoesn't touch the tests, coordinator, nor Substrate yet.\n`cargo +nightly fmt && cargo +nightly-2024-07-01 clippy --all-features -p serai-processor`\ndoes pass.\n\n* Deduplicate and better document in processor key_gen\n\n* Update serai-processor tests to the new key gen\n\n* Correct amount of yx coefficients, get processor key gen test to pass\n\n* Add embedded elliptic curve keys to Substrate\n\n* Update processor key gen tests to the eVRF DKG\n\n* Have set_keys take signature_participants, not removed_participants\n\nNow no one is removed from the DKG. Only `t` people publish the key however.\n\nUses a BitVec for an efficient encoding of the participants.\n\n* Update the coordinator binary for the new DKG\n\nThis does not yet update any tests.\n\n* Add sensible Debug to key_gen::[Processor, Coordinator]Message\n\n* Have the DKG explicitly declare how to interpolate its shares\n\nRemoves the hack for MuSig where we multiply keys by the inverse of their\nlagrange interpolation factor.\n\n* Replace Interpolation::None with Interpolation::Constant\n\nAllows the MuSig DKG to keep the secret share as the original private key,\nenabling deriving FROST nonces consistently regardless of the MuSig context.\n\n* Get coordinator tests to pass\n\n* Update spec to the new DKG\n\n* Get clippy to pass across the repo\n\n* cargo machete\n\n* Add an extra sleep to ensure expected ordering of `Participation`s\n\n* Update orchestration\n\n* Remove bad panic in coordinator\n\nIt expected ConfirmationShare to be n-of-n, not t-of-n.\n\n* Improve documentation on functions\n\n* Update TX size limit\n\nWe now no longer have to support the ridiculous case of having 49 DKG\nparticipations within a 101-of-150 DKG. It does remain quite high due to\nneeding to _sign_ so many times. It'd may be optimal for parties with multiple\nkey shares to independently send their preprocesses/shares (despite the\noverhead that'll cause with signatures and the transaction structure).\n\n* Correct error in the Processor spec document\n\n* Update a few comments in the validator-sets pallet\n\n* Send/Recv Participation one at a time\n\nSending all, then attempting to receive all in an expected order, wasn't working\neven with notable delays between sending messages. This points to the mempool\nnot working as expected...\n\n* Correct ThresholdKeys serialization in modular-frost test\n\n* Updating existing TX size limit test for the new DKG parameters\n\n* Increase time allowed for the DKG on the GH CI\n\n* Correct construction of signature_participants in serai-client tests\n\nFault identified by akil.\n\n* Further contextualize DkgConfirmer by ValidatorSet\n\nCaught by a safety check we wouldn't reuse preprocesses across messages. That\nraises the question of we were prior reusing preprocesses (reusing keys)?\nExcept that'd have caused a variety of signing failures (suggesting we had some\nstaggered timing avoiding it in practice but yes, this was possible in theory).\n\n* Add necessary calls to set_embedded_elliptic_curve_key in coordinator set rotation tests\n\n* Correct shimmed setting of a secq256k1 key\n\n* cargo fmt\n\n* Don't use `[0; 32]` for the embedded keys in the coordinator rotation test\n\nThe key_gen function expects the random values already decided.\n\n* Big-endian secq256k1 scalars\n\nAlso restores the prior, safer, Encryption::register function.","shortMessageHtmlLink":"One Round DKG (#589)"}},{"before":"3af430d8de720ae51b227a6280c6891f21b13f0f","after":"669b2fef725d68c4bc7b748224f5408daca4ce18","ref":"refs/heads/develop","pushedAt":"2024-09-20T01:43:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kayabaNerve","name":"Luke Parker","path":"/kayabaNerve","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25259837?s=80&v=4"},"commit":{"message":"Remove test_tweak_keys\n\nWhat it tests no longer applies since tweak_keys now introduces an unspendable\nscript path.","shortMessageHtmlLink":"Remove test_tweak_keys"}},{"before":"f74b52dadffddd2214f5d2d97d5a57ee8726ee50","after":"eb00a4e2b6e0cf030a6963f3fa862c33ac3608c8","ref":"refs/heads/processor-smash","pushedAt":"2024-09-20T01:20:30.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"kayabaNerve","name":"Luke Parker","path":"/kayabaNerve","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25259837?s=80&v=4"},"commit":{"message":"Update to the latest bitcoin-serai","shortMessageHtmlLink":"Update to the latest bitcoin-serai"}},{"before":"bdcc061bb4bd74fe24dc264899c53822b0e14fe4","after":"3af430d8de720ae51b227a6280c6891f21b13f0f","ref":"refs/heads/develop","pushedAt":"2024-09-20T01:13:35.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"kayabaNerve","name":"Luke Parker","path":"/kayabaNerve","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25259837?s=80&v=4"},"commit":{"message":"Use the IETF transacript in bitcoin-serai, not RecommendedTranscript\n\nThis is more likely to be interoperable in the long term.","shortMessageHtmlLink":"Use the IETF transacript in bitcoin-serai, not RecommendedTranscript"}},{"before":"cee8c9c1b5bcfbc5415b6d021fab630e3121f33a","after":"f74b52dadffddd2214f5d2d97d5a57ee8726ee50","ref":"refs/heads/processor-smash","pushedAt":"2024-09-19T07:18:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kayabaNerve","name":"Luke Parker","path":"/kayabaNerve","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25259837?s=80&v=4"},"commit":{"message":"Mark files in TODO/ with \"TODO\" to ensure it pops up on search","shortMessageHtmlLink":"Mark files in TODO/ with \"TODO\" to ensure it pops up on search"}},{"before":"e0bbc1e7928c8c88fbe1be9fb5bc8684640480f5","after":"cee8c9c1b5bcfbc5415b6d021fab630e3121f33a","ref":"refs/heads/processor-smash","pushedAt":"2024-09-19T07:17:01.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"kayabaNerve","name":"Luke Parker","path":"/kayabaNerve","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25259837?s=80&v=4"},"commit":{"message":"Merge BlockWithAcknowledgedBatch and BatchWithoutAcknowledgeBatch\n\nOffers a simpler API to the coordinator.","shortMessageHtmlLink":"Merge BlockWithAcknowledgedBatch and BatchWithoutAcknowledgeBatch"}},{"before":"9ceea7bcbd79351184d5ba6fca459c93fe9a1119","after":"e0bbc1e7928c8c88fbe1be9fb5bc8684640480f5","ref":"refs/heads/processor-smash","pushedAt":"2024-09-19T06:46:35.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"kayabaNerve","name":"Luke Parker","path":"/kayabaNerve","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25259837?s=80&v=4"},"commit":{"message":"Remove unused code in the Ethereum processor","shortMessageHtmlLink":"Remove unused code in the Ethereum processor"}},{"before":"ac9ed1e19deea499a6a0e70fe2a863570d9ae261","after":"9ceea7bcbd79351184d5ba6fca459c93fe9a1119","ref":"refs/heads/processor-smash","pushedAt":"2024-09-19T05:32:50.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"kayabaNerve","name":"Luke Parker","path":"/kayabaNerve","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25259837?s=80&v=4"},"commit":{"message":"Add hooks to the main loop\n\nLets the Ethereum processor track the first key set as soon as it's set.","shortMessageHtmlLink":"Add hooks to the main loop"}},{"before":"62c47dad27cf45c470445273e2eb9b3f3100b21e","after":"ac9ed1e19deea499a6a0e70fe2a863570d9ae261","ref":"refs/heads/processor-smash","pushedAt":"2024-09-19T02:01:00.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"kayabaNerve","name":"Luke Parker","path":"/kayabaNerve","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25259837?s=80&v=4"},"commit":{"message":"Explicitly add an unspendable script path to the processor's generated keys","shortMessageHtmlLink":"Explicitly add an unspendable script path to the processor's generate…"}},{"before":"5096ff5ee55e3084b14b6e6d927fbea918654dd3","after":"62c47dad27cf45c470445273e2eb9b3f3100b21e","ref":"refs/heads/processor-smash","pushedAt":"2024-09-18T05:09:53.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"kayabaNerve","name":"Luke Parker","path":"/kayabaNerve","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25259837?s=80&v=4"},"commit":{"message":"Move the Ethereum Action machine to its own file","shortMessageHtmlLink":"Move the Ethereum Action machine to its own file"}},{"before":"076afd58f49bd3cc960a6860556fe7473e546a5d","after":"5096ff5ee55e3084b14b6e6d927fbea918654dd3","ref":"refs/heads/processor-smash","pushedAt":"2024-09-17T07:10:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kayabaNerve","name":"Luke Parker","path":"/kayabaNerve","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25259837?s=80&v=4"},"commit":{"message":"Don't have the router drop transactions which may have top-level transfers\n\nThe router will now match the top-level transfer so it isn't used as the\njustification for the InInstruction it's handling. This allows the theoretical\ncase where a top-level transfer occurs (to any entity) and an internal call\nperforms a transfer to Serai.\n\nAlso uses a JoinSet for fetching transactions' top-level transfers in the ERC20\ncrate. This does add a dependency on tokio yet improves performance, and it's\nscoped under serai-processor (which is always presumed to be tokio-based).\nWhile we could instead import futures for join_all,\nhttps://github.com/smol-rs/futures-lite/issues/6 summarizes why that wouldn't\nbe a good idea. While we could prefer async-executor over tokio's JoinSet,\nJoinSet doesn't share the same issues as FuturesUnordered. That means our\nquestion is solely if we want the async-executor executor or the tokio\nexecutor, when we've already established the Serai processor is always presumed\nto be tokio-based.","shortMessageHtmlLink":"Don't have the router drop transactions which may have top-level tran…"}},{"before":"4df611ac66527ae48d2b9679142aef509a0b6a6f","after":"076afd58f49bd3cc960a6860556fe7473e546a5d","ref":"refs/heads/processor-smash","pushedAt":"2024-09-17T05:26:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kayabaNerve","name":"Luke Parker","path":"/kayabaNerve","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25259837?s=80&v=4"},"commit":{"message":"Add calls to get the messages to sign for the router","shortMessageHtmlLink":"Add calls to get the messages to sign for the router"}},{"before":"09e6c33c23ac3b9c76c4ed1b66feb7cab0e7e813","after":"4df611ac66527ae48d2b9679142aef509a0b6a6f","ref":"refs/heads/processor-smash","pushedAt":"2024-09-17T05:07:15.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"kayabaNerve","name":"Luke Parker","path":"/kayabaNerve","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25259837?s=80&v=4"},"commit":{"message":"Trim dead code","shortMessageHtmlLink":"Trim dead code"}},{"before":"15b8b43f248c19e5b5cfefd0df0e13e598e73bf6","after":"09e6c33c23ac3b9c76c4ed1b66feb7cab0e7e813","ref":"refs/heads/processor-smash","pushedAt":"2024-09-15T21:13:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kayabaNerve","name":"Luke Parker","path":"/kayabaNerve","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25259837?s=80&v=4"},"commit":{"message":"Break Ethereum Deployer into crate","shortMessageHtmlLink":"Break Ethereum Deployer into crate"}},{"before":"70b9ef0aa969df9d9b07fbe849ef3c4ae5f07ecb","after":"15b8b43f248c19e5b5cfefd0df0e13e598e73bf6","ref":"refs/heads/processor-smash","pushedAt":"2024-09-15T16:49:28.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"kayabaNerve","name":"Luke Parker","path":"/kayabaNerve","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25259837?s=80&v=4"},"commit":{"message":"Remove OutInstruction's data field\n\nIt makes sense for networks which support arbitrary data to do as part of their\naddress. This reduces the ability to perform DoSs, achieves better performance,\nand better uses the type system (as now networks we don't support data on don't\nhave a data field).\n\nUpdates the Ethereum address definition in serai-client accordingly","shortMessageHtmlLink":"Remove OutInstruction's data field"}},{"before":"096790c1b52b4bfc8535bb35c58c5eedc726f531","after":"70b9ef0aa969df9d9b07fbe849ef3c4ae5f07ecb","ref":"refs/heads/processor-smash","pushedAt":"2024-09-15T10:00:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kayabaNerve","name":"Luke Parker","path":"/kayabaNerve","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25259837?s=80&v=4"},"commit":{"message":"Remove the Sandbox contract\n\nIf instead of intaking calls, we intake code, we can deploy a fresh contract\nwhich makes arbitrary calls *without* attempting to build our abstraction\nlayer over the concept.\n\nThis should have the same gas costs, as we still have one contract deployment.\nThe new contract only has a constructor, so it should have no actual code and\nbeat the Sandbox in that regard? We do have to call into ourselves to meter the\ngas, yet we already had to call into the deployed Sandbox to achieve that.\n\nAlso re-defines the OutInstruction to include tokens, implements\nOutInstruction-specified gas amounts, bumps the Solidity version, and other\nsuch misc changes.","shortMessageHtmlLink":"Remove the Sandbox contract"}},{"before":"aad46ac313610d5194891ba973187ca0c3f8f721","after":"096790c1b52b4bfc8535bb35c58c5eedc726f531","ref":"refs/heads/processor-smash","pushedAt":"2024-09-15T06:12:07.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"kayabaNerve","name":"Luke Parker","path":"/kayabaNerve","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25259837?s=80&v=4"},"commit":{"message":"Add tests for the premise of the Schnorr contract to the Schnorr crate","shortMessageHtmlLink":"Add tests for the premise of the Schnorr contract to the Schnorr crate"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yMVQxNTozMzozNS4wMDAwMDBazwAAAAS8xGCB","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yMVQxNTozMzozNS4wMDAwMDBazwAAAAS8xGCB","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xNVQwNjoxMjowNy4wMDAwMDBazwAAAAS2jUbW"}},"title":"Activity · serai-dex/serai"}