Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Query StealthKeyChanged events from subgraph #675

Merged
merged 49 commits into from
Jul 15, 2024

Conversation

jferas
Copy link
Contributor

@jferas jferas commented May 2, 2024

This PR will query the Umbra subgraph for StealthKeyChanged events, in the act of acquiring the block number in which the user first registered, and for getting the user's registered StealthKeys associated with their registration address.

Should the subgraph query fail .. for whatever reason.. including the subgraph URL environment variable referencing an old-style subgraph that doesn't contain StealthKeyChanged events.. the app will "fall back" to the original approach of asking the StealthKeyRegistry contract for the information.

The new-style subgraph that contains the StealthKeyChanged events is contained in this PR on the Umbra subgraph repo.

This PR is in draft, and can be tested locally by setting the subgraph URL env vars for MAINNET or SEPOLIA to reference new (temporary) subgraph deployments on Alchemy, using the following definitions:

MAINNET_SUBGRAPH_URL=https://subgraph.satsuma-prod.com/johns-personal--909150/umbra-mainnet/version/v1.1.1/api
SEPOLIA_SUBGRAPH_URL=https://subgraph.satsuma-prod.com/johns-personal--909150/umbra-sepolia/version/v1.1.1/api

The javascript console logs will indicate if matching StealthKeyChanged events were found for the registration address, and additionally indicate if older StealthKeyChanged events were found for that address, as a diagnostic.

Note: This PR makes modification to UmbraJs files, and modifies the package.json file of the front-end to make use of those files. For production, a new version of UmbraJs would need to be released.

Copy link

netlify bot commented May 2, 2024

Deploy Preview for jolly-shaw-20fe62 ready!

Name Link
🔨 Latest commit 3a23a1a
🔍 Latest deploy log https://app.netlify.com/sites/jolly-shaw-20fe62/deploys/66918017a7f05e00088c9359
😎 Deploy Preview https://deploy-preview-675--jolly-shaw-20fe62.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@jferas jferas force-pushed the stealthkey-events-from-subgraph branch from a3f01f4 to 6d831ac Compare May 2, 2024 20:26
@jferas jferas self-assigned this May 2, 2024
@jferas jferas marked this pull request as ready for review May 3, 2024 13:37
@jferas jferas requested a review from garyghayrat May 3, 2024 13:37
@garyghayrat garyghayrat requested a review from alexkeating May 7, 2024 20:26
Copy link
Member

@garyghayrat garyghayrat left a comment

Choose a reason for hiding this comment

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

working great, thanks!

frontend/package.json Show resolved Hide resolved
frontend/src/store/wallet.ts Show resolved Hide resolved
umbra-js/src/classes/Umbra.ts Show resolved Hide resolved
umbra-js/src/utils/utils.ts Outdated Show resolved Hide resolved
@jferas jferas requested a review from alexkeating May 8, 2024 19:10
@garyghayrat garyghayrat force-pushed the stealthkey-events-from-subgraph branch from e93a43c to 9caa3d6 Compare May 21, 2024 21:02
@garyghayrat garyghayrat force-pushed the stealthkey-events-from-subgraph branch from b0b693e to 872d22d Compare June 5, 2024 20:36
marcomariscal and others added 9 commits June 28, 2024 16:31
Co-authored-by: Gary Ghayrat <61768337+garyghayrat@users.noreply.github.com>
Co-authored-by: Gary Ghayrat <61768337+garyghayrat@users.noreply.github.com>
* fix: explicitly sort the tokens by addr

* fix: use vm.computeCreateAddress

* fix: mirror test sender params

* fix: use actual owner

* fix: add back gnosis

* Remove all reference to INFURA_ID (#687)

---------

Co-authored-by: John Feras <jferas@ferasinfotech.com>
@jferas jferas force-pushed the stealthkey-events-from-subgraph branch from 5dd9ccc to 8708597 Compare July 9, 2024 21:06
@jferas jferas changed the base branch from master to feat/last-fetched-block-usage July 9, 2024 21:08
@jferas jferas force-pushed the stealthkey-events-from-subgraph branch from 8708597 to 798d512 Compare July 11, 2024 20:18
@jferas jferas changed the base branch from feat/last-fetched-block-usage to master July 11, 2024 20:33
Copy link

Coverage after merging stealthkey-events-from-subgraph into master will be

80.59%

Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
contracts-periphery/src
   UmbraBatchSend.sol100%100%100%100%
   UniswapWithdrawHook.sol81.82%100%66.67%83.33%14
umbra-js/src
   ethers.ts76.27%100%61.11%100%
   types.ts50%100%0%100%
umbra-js/src/classes
   KeyPair.ts98.65%96.49%100%100%31–32
   RandomNumber.ts100%100%100%100%
   StealthKeyRegistry.ts100%100%100%100%
   TxHistoryProvider.ts77.55%76.47%66.67%79.31%11, 11, 19–20, 31, 38, 44, 53, 57, 8
   Umbra.ts82.51%75%85%86.61%106, 136–137, 158, 230–232, 316–319, 381, 395, 402–404, 406–407, 410–411, 434, 437, 437, 437, 439, 439, 439, 439–440, 440, 440–442, 457, 457, 457–458, 462, 465, 485, 503–505, 592, 609, 622–623, 633–634, 647, 650–651, 681–682, 751, 755, 758–759, 765–767, 774, 774, 774–777, 808, 813–814, 814–815
umbra-js/src/typechain
   index.ts70.59%100%37.50%100%
umbra-js/src/typechain/factories
   index.ts100%100%100%100%
umbra-js/src/typechain/factories/@OpenZeppelin
   index.ts100%100%100%100%
umbra-js/src/typechain/factories/@openzeppelin/contracts
   index.ts100%100%100%100%
umbra-js/src/typechain/factories/@openzeppelin/contracts/access
   Ownable__factory.ts50%100%0%66.67%70, 76
   index.ts50%100%0%100%
umbra-js/src/typechain/factories/@openzeppelin/contracts/token
   index.ts100%100%100%100%
umbra-js/src/typechain/factories/@openzeppelin/contracts/token/ERC20
   ERC20__factory.ts29.03%0%12.50%47.06%310, 314, 314, 314–315, 317, 326, 326, 326, 333, 333, 333, 336, 339, 345
   IERC20__factory.ts50%100%0%66.67%201, 204
   index.ts50%100%0%100%
umbra-js/src/typechain/factories/contracts
   IUmbraHookReceiver__factory.ts50%100%0%66.67%61, 67
   MockHook__factory.ts22.58%0%0%41.18%107, 111, 111, 111–112, 114, 121, 121, 121, 126, 126, 126, 129, 132, 138, 144
   StealthKeyRegistry__factory.ts22.58%0%0%41.18%202, 206, 206, 206–207, 209, 216, 216, 216, 221, 221, 221, 224, 227, 233, 239
   TestToken__factory.ts64.52%66.67%50%70.59%329–330, 348, 351, 354, 360, 366
   Umbra__factory.ts70.97%66.67%62.50%76.47%495–496, 525, 529, 532, 538
   index.ts50%100%0%100%
umbra-js/src/utils
   cns.ts50%33.33%50%55%33–36, 40, 40, 40, 40, 40–41, 44–46
   constants.ts100%100%100%100%
   ens.ts36.11%25%33.33%40%25–27, 35, 56–57, 57, 57–58, 63–64, 66, 70, 70, 70, 70, 70–71, 75–77
   utils.ts72.03%65.76%80%75.58%102, 102, 118–120, 122–124, 130, 148–149, 178, 199, 256, 259, 264, 268, 272, 282, 294–299, 301–308, 308, 308, 308, 308, 308, 308–309, 311, 334–335, 335, 335–336, 340–341, 351, 351, 351–353, 355, 371–373, 401, 421, 425, 428, 428–429, 429, 429–430, 430, 432, 436–437, 447, 451, 461, 464, 464, 464–466, 496, 498–499, 508, 508, 508–509, 511, 514, 523–524, 565, 582, 582, 582, 602, 631, 633, 638, 650, 650–651, 656, 658–659, 670–674, 68, 680, 682, 69, 724–725, 725, 725–727, 727, 727, 738, 94, 981–982, 994–995
umbra-js/test
   testPrivateKeys.ts100%100%100%100%
   utils.ts100%100%100%100%

@garyghayrat garyghayrat merged commit f1c3f69 into master Jul 15, 2024
9 checks passed
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.

4 participants