@maci-protocol/website 0.0.0-ci.f9da2fc → 0.0.0-ci.fc91dc9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -2
- package/blog/2024-02-28-maci-v1.2.0.md +1 -1
- package/blog/2024-08-10-maci-v2.md +1 -1
- package/package.json +4 -4
- package/src/pages/roadmap.md +39 -80
- package/static/img/circuits/MACI-Circuits.excalidraw +28 -28
- package/static/img/circuits/ecdh.svg +1 -1
- package/static/img/circuits/messageToCommand.svg +1 -1
- package/static/img/circuits/messageValidator.svg +1 -1
- package/static/img/circuits/privToPubkey.svg +1 -1
- package/static/img/circuits/processMessages.svg +1 -1
- package/static/img/circuits/processMessagesInputHasher.svg +1 -1
- package/static/img/circuits/processMessages_2_0.svg +1 -1
- package/static/img/circuits/processOne.svg +1 -1
- package/static/img/circuits/processTopup.svg +1 -1
- package/static/img/circuits/tallyInputHasher.svg +1 -1
- package/static/img/circuits/verifySignature.svg +1 -1
- package/versioned_docs/version-v3.x/core-concepts/key-change.md +25 -25
- package/versioned_docs/version-v3.x/core-concepts/maci-keys.md +1 -1
- package/versioned_docs/version-v3.x/core-concepts/poll-types.md +2 -2
- package/versioned_docs/version-v3.x/core-concepts/polls.md +3 -3
- package/versioned_docs/version-v3.x/core-concepts/spec.md +33 -99
- package/versioned_docs/version-v3.x/guides/compile-circuits.md +7 -7
- package/versioned_docs/version-v3.x/guides/integrating.md +8 -8
- package/versioned_docs/version-v3.x/guides/testing/testing-in-detail.md +1 -1
- package/versioned_docs/version-v3.x/guides/troubleshooting.md +11 -11
- package/versioned_docs/version-v3.x/quick-start.md +6 -6
- package/versioned_docs/version-v3.x/supported-networks/deployed-contracts.md +2 -2
- package/versioned_docs/version-v3.x/technical-references/smart-contracts/MACI.md +5 -5
- package/versioned_docs/version-v3.x/technical-references/smart-contracts/Poll.md +7 -7
- package/versioned_docs/version-v3.x/technical-references/smart-contracts/Tally.md +2 -2
- package/versioned_docs/version-v3.x/technical-references/smart-contracts/VkRegistry.md +5 -5
- package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/joinPoll.md +3 -3
- package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/processMessages.md +12 -12
- package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/tallyVotes.md +2 -2
- package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/utilities.md +1 -1
|
@@ -18,4 +18,4 @@
|
|
|
18
18
|
</style>
|
|
19
19
|
|
|
20
20
|
</defs>
|
|
21
|
-
<rect x="0" y="0" width="962.581525322702" height="409.41444389171056" fill="#ffffff"></rect><g stroke-linecap="round" transform="translate(321.0041776352655 169.08716412264084) rotate(0 114.33810379333897 33.800522136203085)"><path d="M16.9 0 C82.86 0.39, 146.7 -1.28, 211.78 0 M16.9 0 C66.45 -0.25, 116.15 0.32, 211.78 0 M211.78 0 C221.98 -0.36, 227.29 6.53, 228.68 16.9 M211.78 0 C222.51 -2.12, 230.51 7.34, 228.68 16.9 M228.68 16.9 C229.05 28.15, 230.29 35.27, 228.68 50.7 M228.68 16.9 C229.33 26.76, 229.32 36.76, 228.68 50.7 M228.68 50.7 C227.67 62.04, 222.28 68.68, 211.78 67.6 M228.68 50.7 C227.76 61.18, 224.14 66.14, 211.78 67.6 M211.78 67.6 C164.76 66.77, 119.2 69.29, 16.9 67.6 M211.78 67.6 C138.6 67.23, 64.98 67.09, 16.9 67.6 M16.9 67.6 C3.82 68.66, 0.1 61.37, 0 50.7 M16.9 67.6 C4.12 69.61, -1.56 62.53, 0 50.7 M0 50.7 C1.88 40.4, 1.27 27.71, 0 16.9 M0 50.7 C0.95 42.17, 1.02 33.91, 0 16.9 M0 16.9 C1.53 5.48, 5.26 1.05, 16.9 0 M0 16.9 C0.73 6.51, 3.73 0.43, 16.9 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(369.7723503983311 190.38768625884381) rotate(0 65.56993103027344 12.5)"><text x="65.56993103027344" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#e03131" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">PrivToPubKey</text></g><g stroke-linecap="round"><g transform="translate(420.34275347662606 86.66141639417106) rotate(0 -2.312345687166726 39.34347104050323)"><path d="M-0.21 -0.57 C-0.99 12.38, -3.21 65.53, -3.88 78.7 M-1.78 1.75 C-2.72 14.82, -3.93 67.27, -4.43 80.24" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(420.34275347662606 86.66141639417106) rotate(0 -2.312345687166726 39.34347104050323)"><path d="M-13.83 51.75 C-11.1 63.43, -6.7 73.26, -4.43 80.24 M-13.83 51.75 C-11.53 59.42, -9.1 67.92, -4.43 80.24" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(420.34275347662606 86.66141639417106) rotate(0 -2.312345687166726 39.34347104050323)"><path d="M6.68 52.38 C1.9 63.8, -1.2 73.39, -4.43 80.24 M6.68 52.38 C3.3 59.94, 0.06 68.27, -4.43 80.24" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g transform="translate(467.98908237813475 121.9644129259309) rotate(0 31.809967041015625 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Inputs</text></g><g transform="translate(479.2753184901371 270.53132063242674) rotate(0 34.84996032714844 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Output</text></g><g stroke-linecap="round"><g transform="translate(418.5707446353731 255.84645253409008) rotate(0 0.2229014099474398 20.511057519056408)"><path d="M0.44 0.18 C0.43 7.02, 0.22 34.08, 0.15 40.92 M0 -0.2 C0.16 6.74, 1.04 34.82, 1.24 41.57" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(418.5707446353731 255.84645253409008) rotate(0 0.2229014099474398 20.511057519056408)"><path d="M-6.36 22.52 C-3.52 28.29, -1.51 34.46, 1.24 41.57 M-6.36 22.52 C-3.36 29.49, -1.26 35.28, 1.24 41.57" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(418.5707446353731 255.84645253409008) rotate(0 0.2229014099474398 20.511057519056408)"><path d="M7.67 22.09 C5.84 28.06, 3.19 34.38, 1.24 41.57 M7.67 22.09 C5.82 29.15, 3.09 35.08, 1.24 41.57" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(321.73479892342675 321.772794800499) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C87.08 -0.39, 159.69 0.54, 204.03 0 M16.09 0 C54.91 -2.22, 93.64 -1.07, 204.03 0 M204.03 0 C216.69 1.9, 219.86 5.48, 220.12 16.09 M204.03 0 C216.97 -1.12, 220.87 4.26, 220.12 16.09 M220.12 16.09 C219.93 26, 220.93 36.64, 220.12 48.27 M220.12 16.09 C219.65 24.82, 220.78 32.89, 220.12 48.27 M220.12 48.27 C218.29 59.22, 215.45 65.93, 204.03 64.35 M220.12 48.27 C218.95 58.37, 216.26 64.71, 204.03 64.35 M204.03 64.35 C132.13 62.75, 57.52 61.33, 16.09 64.35 M204.03 64.35 C131.33 64.21, 57.94 65.65, 16.09 64.35 M16.09 64.35 C5.55 65.42, -2 57.83, 0 48.27 M16.09 64.35 C3.17 64.26, 1.43 58.18, 0 48.27 M0 48.27 C-0.01 36, 1.19 25.11, 0 16.09 M0 48.27 C-0.04 37.27, 0.83 25.68, 0 16.09 M0 16.09 C-0.35 3.43, 4.98 0.62, 16.09 0 M0 16.09 C-1.97 3.46, 4.7 -0.7, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(399.81240487503555 341.45021135137495) rotate(0 31.979965209960938 12.5)"><text x="31.979965209960938" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#2f9e44" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">pubKey</text></g><g transform="translate(604.304562327331 160.36322829268988) rotate(0 49.669944763183594 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Processing</text></g><g stroke-linecap="round"><g transform="translate(610.3930684106849 210.9033280264407) rotate(0 49.41329770489415 0.8767946582686363)"><path d="M0.96 0.89 C17.42 1.2, 82.34 0.55, 98.53 0.76 M0 0.31 C16.31 0.83, 81.26 1.82, 97.43 1.77" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(610.3930684106849 210.9033280264407) rotate(0 49.41329770489415 0.8767946582686363)"><path d="M69.16 11.81 C78.57 8.31, 83.25 4.88, 97.43 1.77 M69.16 11.81 C78.34 8.26, 88.84 4.37, 97.43 1.77" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(610.3930684106849 210.9033280264407) rotate(0 49.41329770489415 0.8767946582686363)"><path d="M69.32 -8.71 C78.49 -6.52, 83.14 -4.27, 97.43 1.77 M69.32 -8.71 C78.65 -5.43, 89.09 -2.49, 97.43 1.77" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g transform="translate(10 168.86997719411306) rotate(0 138.84988403320312 25)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Generate a public key from </text><text x="0" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">a privateKey</text></g><g stroke-linecap="round" transform="translate(310.6766454753915 10) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C89.6 0.02, 163.41 -1.62, 204.03 0 M16.09 0 C72.75 -1.36, 130.68 -1.65, 204.03 0 M204.03 0 C213.51 0.35, 221.13 4.75, 220.12 16.09 M204.03 0 C212.66 0.26, 220.92 7.18, 220.12 16.09 M220.12 16.09 C220.34 25.88, 220.06 30.32, 220.12 48.27 M220.12 16.09 C219.47 28.32, 219.45 39.04, 220.12 48.27 M220.12 48.27 C220.33 57.78, 213.8 66.03, 204.03 64.35 M220.12 48.27 C220.34 60.22, 212.46 63.02, 204.03 64.35 M204.03 64.35 C164.9 66.92, 126.33 67.05, 16.09 64.35 M204.03 64.35 C149.38 65.72, 93.28 65.53, 16.09 64.35 M16.09 64.35 C4.76 64.12, 1.14 57.33, 0 48.27 M16.09 64.35 C4.96 62.14, -0.44 59.7, 0 48.27 M0 48.27 C-0.35 42.59, -1 32.72, 0 16.09 M0 48.27 C-0.32 39.47, 0.17 32.2, 0 16.09 M0 16.09 C-0.18 4.55, 5.77 0.01, 16.09 0 M0 16.09 C0.08 6.32, 3.39 1.87, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(387.79425234252767 29.677416550875932) rotate(0 32.939964294433594 12.5)"><text x="32.939964294433594" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">privKey</text></g><g stroke-linecap="round" transform="translate(732.4663829995625 55.109525900509425) rotate(0 110.05757116156974 42.5)"><path d="M21.25 0 C67.11 1.66, 113.07 -0.53, 198.87 0 M21.25 0 C76.75 0.66, 134.43 1.34, 198.87 0 M198.87 0 C212.02 -0.54, 221.43 7.4, 220.12 21.25 M198.87 0 C215.06 0.04, 218.03 8.3, 220.12 21.25 M220.12 21.25 C221.74 32.87, 220.48 47.41, 220.12 63.75 M220.12 21.25 C220.01 31.97, 218.91 41.04, 220.12 63.75 M220.12 63.75 C218.2 77.83, 214.28 84.3, 198.87 85 M220.12 63.75 C221.72 76.94, 214.79 84.83, 198.87 85 M198.87 85 C149.64 83.91, 99.26 84.96, 21.25 85 M198.87 85 C147.48 82.56, 96.26 83.83, 21.25 85 M21.25 85 C5.37 83.35, -0.57 77.31, 0 63.75 M21.25 85 C8.49 83.54, -2.01 77.07, 0 63.75 M0 63.75 C-0.41 48.82, 2 32.12, 0 21.25 M0 63.75 C-0.05 53.14, -0.95 42.51, 0 21.25 M0 21.25 C-1.63 5.86, 6.57 0.1, 21.25 0 M0 21.25 C-1.67 9.36, 4.94 0.43, 21.25 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(748.5140435776361 72.60952590050942) rotate(0 94.0099105834961 25)"><text x="94.0099105834961" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">1. Convert the </text><text x="94.0099105834961" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">private key to bits</text></g><g stroke-linecap="round" transform="translate(730.1645237312086 163.6504075083801) rotate(0 110.05757116156974 55)"><path d="M27.5 0 C85.27 2.04, 141.72 -0.8, 192.62 0 M27.5 0 C78.42 -1.57, 131 -1.15, 192.62 0 M192.62 0 C212.71 0.03, 218.3 10.22, 220.12 27.5 M192.62 0 C211.07 -0.69, 218.6 11.18, 220.12 27.5 M220.12 27.5 C219.04 39.32, 221.93 53.23, 220.12 82.5 M220.12 27.5 C218.61 46.89, 220.19 66.02, 220.12 82.5 M220.12 82.5 C221.51 99.98, 212.47 109.85, 192.62 110 M220.12 82.5 C219.69 102.04, 211.68 110.87, 192.62 110 M192.62 110 C156.48 110.64, 119.15 109.15, 27.5 110 M192.62 110 C158.16 109.68, 125.12 110.21, 27.5 110 M27.5 110 C10.39 108.73, -1.75 100.1, 0 82.5 M27.5 110 C10.77 108.67, -0.23 100.08, 0 82.5 M0 82.5 C-1.29 64.23, -0.47 45.23, 0 27.5 M0 82.5 C-0.34 63.1, 0.22 44.97, 0 27.5 M0 27.5 C-1.45 11.15, 7.3 0.37, 27.5 0 M0 27.5 C0.54 9.04, 8.41 1, 27.5 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(747.2321656935596 168.6504075083801) rotate(0 92.98992919921875 50)"><text x="92.98992919921875" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">2. Perform scalar </text><text x="92.98992919921875" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">multiplication with </text><text x="92.98992919921875" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">baby jubjub </text><text x="92.98992919921875" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">basepoint</text></g><g stroke-linecap="round" transform="translate(731.0369673181135 314.41444389171056) rotate(0 110.05757116156974 42.5)"><path d="M21.25 0 C83.8 2.32, 147.47 0.61, 198.87 0 M21.25 0 C70.63 -0.26, 117.34 0.25, 198.87 0 M198.87 0 C213.14 -0.6, 218.8 8.83, 220.12 21.25 M198.87 0 C211.47 0.56, 220.36 5.7, 220.12 21.25 M220.12 21.25 C221.54 29.98, 219.31 40.78, 220.12 63.75 M220.12 21.25 C221.08 33.39, 221.14 46.31, 220.12 63.75 M220.12 63.75 C219.74 78.97, 213.67 85.76, 198.87 85 M220.12 63.75 C218.22 78.35, 212.33 84.73, 198.87 85 M198.87 85 C133.54 84.3, 72.7 82.98, 21.25 85 M198.87 85 C160.88 83.82, 120.81 84.09, 21.25 85 M21.25 85 C8.48 83.84, -0.2 77.26, 0 63.75 M21.25 85 C7.99 87.01, -0.21 76.98, 0 63.75 M0 63.75 C0.83 48.42, 1.63 34.9, 0 21.25 M0 63.75 C-0.62 54.6, -0.83 43.66, 0 21.25 M0 21.25 C0.47 6.97, 6.42 0.87, 21.25 0 M0 21.25 C-2.26 7.56, 8.55 -0.6, 21.25 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(737.4046199616168 331.91444389171056) rotate(0 103.6899185180664 25)"><text x="103.6899185180664" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">3. Return the public </text><text x="103.6899185180664" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">key </text></g><g stroke-linecap="round" transform="translate(11.165819158557497 236.84458773187225) rotate(0 121.92637087557455 75.12971569299202)"><path d="M32 0 C80.33 -0.63, 127.72 0.44, 211.85 0 M32 0 C94.26 0.5, 155.49 0.36, 211.85 0 M211.85 0 C232.61 -0.85, 244.96 10.41, 243.85 32 M211.85 0 C233.19 2.3, 244.73 12.3, 243.85 32 M243.85 32 C243.76 65.71, 244.42 102.56, 243.85 118.26 M243.85 32 C244.06 50.29, 243.51 67.95, 243.85 118.26 M243.85 118.26 C242.27 140.17, 233.56 148.32, 211.85 150.26 M243.85 118.26 C245.01 138.24, 231.88 149.78, 211.85 150.26 M211.85 150.26 C142.36 150.6, 73.32 150.88, 32 150.26 M211.85 150.26 C168.91 148.74, 125.46 149.01, 32 150.26 M32 150.26 C9.8 149.72, 0.37 139.56, 0 118.26 M32 150.26 C9.29 151.84, 1.51 137.44, 0 118.26 M0 118.26 C-0.44 84.77, -0.41 53.06, 0 32 M0 118.26 C-0.73 86.59, 0.83 57.05, 0 32 M0 32 C-1.37 9.83, 12.44 1.58, 32 0 M0 32 C-1.74 9.14, 11.15 1.39, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(17.372295624952358 249.47430342486427) rotate(0 115.71989440917969 62.5)"><text x="115.71989440917969" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Base point = point on </text><text x="115.71989440917969" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">an elliptic curve which </text><text x="115.71989440917969" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">multiplied by any number</text><text x="115.71989440917969" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">results in a point on </text><text x="115.71989440917969" y="100" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">the curve.</text></g></svg>
|
|
21
|
+
<rect x="0" y="0" width="962.581525322702" height="409.41444389171056" fill="#ffffff"></rect><g stroke-linecap="round" transform="translate(321.0041776352655 169.08716412264084) rotate(0 114.33810379333897 33.800522136203085)"><path d="M16.9 0 C82.86 0.39, 146.7 -1.28, 211.78 0 M16.9 0 C66.45 -0.25, 116.15 0.32, 211.78 0 M211.78 0 C221.98 -0.36, 227.29 6.53, 228.68 16.9 M211.78 0 C222.51 -2.12, 230.51 7.34, 228.68 16.9 M228.68 16.9 C229.05 28.15, 230.29 35.27, 228.68 50.7 M228.68 16.9 C229.33 26.76, 229.32 36.76, 228.68 50.7 M228.68 50.7 C227.67 62.04, 222.28 68.68, 211.78 67.6 M228.68 50.7 C227.76 61.18, 224.14 66.14, 211.78 67.6 M211.78 67.6 C164.76 66.77, 119.2 69.29, 16.9 67.6 M211.78 67.6 C138.6 67.23, 64.98 67.09, 16.9 67.6 M16.9 67.6 C3.82 68.66, 0.1 61.37, 0 50.7 M16.9 67.6 C4.12 69.61, -1.56 62.53, 0 50.7 M0 50.7 C1.88 40.4, 1.27 27.71, 0 16.9 M0 50.7 C0.95 42.17, 1.02 33.91, 0 16.9 M0 16.9 C1.53 5.48, 5.26 1.05, 16.9 0 M0 16.9 C0.73 6.51, 3.73 0.43, 16.9 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(369.7723503983311 190.38768625884381) rotate(0 65.56993103027344 12.5)"><text x="65.56993103027344" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#e03131" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">PrivToPubKey</text></g><g stroke-linecap="round"><g transform="translate(420.34275347662606 86.66141639417106) rotate(0 -2.312345687166726 39.34347104050323)"><path d="M-0.21 -0.57 C-0.99 12.38, -3.21 65.53, -3.88 78.7 M-1.78 1.75 C-2.72 14.82, -3.93 67.27, -4.43 80.24" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(420.34275347662606 86.66141639417106) rotate(0 -2.312345687166726 39.34347104050323)"><path d="M-13.83 51.75 C-11.1 63.43, -6.7 73.26, -4.43 80.24 M-13.83 51.75 C-11.53 59.42, -9.1 67.92, -4.43 80.24" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(420.34275347662606 86.66141639417106) rotate(0 -2.312345687166726 39.34347104050323)"><path d="M6.68 52.38 C1.9 63.8, -1.2 73.39, -4.43 80.24 M6.68 52.38 C3.3 59.94, 0.06 68.27, -4.43 80.24" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g transform="translate(467.98908237813475 121.9644129259309) rotate(0 31.809967041015625 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Inputs</text></g><g transform="translate(479.2753184901371 270.53132063242674) rotate(0 34.84996032714844 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Output</text></g><g stroke-linecap="round"><g transform="translate(418.5707446353731 255.84645253409008) rotate(0 0.2229014099474398 20.511057519056408)"><path d="M0.44 0.18 C0.43 7.02, 0.22 34.08, 0.15 40.92 M0 -0.2 C0.16 6.74, 1.04 34.82, 1.24 41.57" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(418.5707446353731 255.84645253409008) rotate(0 0.2229014099474398 20.511057519056408)"><path d="M-6.36 22.52 C-3.52 28.29, -1.51 34.46, 1.24 41.57 M-6.36 22.52 C-3.36 29.49, -1.26 35.28, 1.24 41.57" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(418.5707446353731 255.84645253409008) rotate(0 0.2229014099474398 20.511057519056408)"><path d="M7.67 22.09 C5.84 28.06, 3.19 34.38, 1.24 41.57 M7.67 22.09 C5.82 29.15, 3.09 35.08, 1.24 41.57" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(321.73479892342675 321.772794800499) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C87.08 -0.39, 159.69 0.54, 204.03 0 M16.09 0 C54.91 -2.22, 93.64 -1.07, 204.03 0 M204.03 0 C216.69 1.9, 219.86 5.48, 220.12 16.09 M204.03 0 C216.97 -1.12, 220.87 4.26, 220.12 16.09 M220.12 16.09 C219.93 26, 220.93 36.64, 220.12 48.27 M220.12 16.09 C219.65 24.82, 220.78 32.89, 220.12 48.27 M220.12 48.27 C218.29 59.22, 215.45 65.93, 204.03 64.35 M220.12 48.27 C218.95 58.37, 216.26 64.71, 204.03 64.35 M204.03 64.35 C132.13 62.75, 57.52 61.33, 16.09 64.35 M204.03 64.35 C131.33 64.21, 57.94 65.65, 16.09 64.35 M16.09 64.35 C5.55 65.42, -2 57.83, 0 48.27 M16.09 64.35 C3.17 64.26, 1.43 58.18, 0 48.27 M0 48.27 C-0.01 36, 1.19 25.11, 0 16.09 M0 48.27 C-0.04 37.27, 0.83 25.68, 0 16.09 M0 16.09 C-0.35 3.43, 4.98 0.62, 16.09 0 M0 16.09 C-1.97 3.46, 4.7 -0.7, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(399.81240487503555 341.45021135137495) rotate(0 31.979965209960938 12.5)"><text x="31.979965209960938" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#2f9e44" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">publicKey</text></g><g transform="translate(604.304562327331 160.36322829268988) rotate(0 49.669944763183594 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Processing</text></g><g stroke-linecap="round"><g transform="translate(610.3930684106849 210.9033280264407) rotate(0 49.41329770489415 0.8767946582686363)"><path d="M0.96 0.89 C17.42 1.2, 82.34 0.55, 98.53 0.76 M0 0.31 C16.31 0.83, 81.26 1.82, 97.43 1.77" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(610.3930684106849 210.9033280264407) rotate(0 49.41329770489415 0.8767946582686363)"><path d="M69.16 11.81 C78.57 8.31, 83.25 4.88, 97.43 1.77 M69.16 11.81 C78.34 8.26, 88.84 4.37, 97.43 1.77" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(610.3930684106849 210.9033280264407) rotate(0 49.41329770489415 0.8767946582686363)"><path d="M69.32 -8.71 C78.49 -6.52, 83.14 -4.27, 97.43 1.77 M69.32 -8.71 C78.65 -5.43, 89.09 -2.49, 97.43 1.77" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g transform="translate(10 168.86997719411306) rotate(0 138.84988403320312 25)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Generate a public key from </text><text x="0" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">a privateKey</text></g><g stroke-linecap="round" transform="translate(310.6766454753915 10) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C89.6 0.02, 163.41 -1.62, 204.03 0 M16.09 0 C72.75 -1.36, 130.68 -1.65, 204.03 0 M204.03 0 C213.51 0.35, 221.13 4.75, 220.12 16.09 M204.03 0 C212.66 0.26, 220.92 7.18, 220.12 16.09 M220.12 16.09 C220.34 25.88, 220.06 30.32, 220.12 48.27 M220.12 16.09 C219.47 28.32, 219.45 39.04, 220.12 48.27 M220.12 48.27 C220.33 57.78, 213.8 66.03, 204.03 64.35 M220.12 48.27 C220.34 60.22, 212.46 63.02, 204.03 64.35 M204.03 64.35 C164.9 66.92, 126.33 67.05, 16.09 64.35 M204.03 64.35 C149.38 65.72, 93.28 65.53, 16.09 64.35 M16.09 64.35 C4.76 64.12, 1.14 57.33, 0 48.27 M16.09 64.35 C4.96 62.14, -0.44 59.7, 0 48.27 M0 48.27 C-0.35 42.59, -1 32.72, 0 16.09 M0 48.27 C-0.32 39.47, 0.17 32.2, 0 16.09 M0 16.09 C-0.18 4.55, 5.77 0.01, 16.09 0 M0 16.09 C0.08 6.32, 3.39 1.87, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(387.79425234252767 29.677416550875932) rotate(0 32.939964294433594 12.5)"><text x="32.939964294433594" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">privateKey</text></g><g stroke-linecap="round" transform="translate(732.4663829995625 55.109525900509425) rotate(0 110.05757116156974 42.5)"><path d="M21.25 0 C67.11 1.66, 113.07 -0.53, 198.87 0 M21.25 0 C76.75 0.66, 134.43 1.34, 198.87 0 M198.87 0 C212.02 -0.54, 221.43 7.4, 220.12 21.25 M198.87 0 C215.06 0.04, 218.03 8.3, 220.12 21.25 M220.12 21.25 C221.74 32.87, 220.48 47.41, 220.12 63.75 M220.12 21.25 C220.01 31.97, 218.91 41.04, 220.12 63.75 M220.12 63.75 C218.2 77.83, 214.28 84.3, 198.87 85 M220.12 63.75 C221.72 76.94, 214.79 84.83, 198.87 85 M198.87 85 C149.64 83.91, 99.26 84.96, 21.25 85 M198.87 85 C147.48 82.56, 96.26 83.83, 21.25 85 M21.25 85 C5.37 83.35, -0.57 77.31, 0 63.75 M21.25 85 C8.49 83.54, -2.01 77.07, 0 63.75 M0 63.75 C-0.41 48.82, 2 32.12, 0 21.25 M0 63.75 C-0.05 53.14, -0.95 42.51, 0 21.25 M0 21.25 C-1.63 5.86, 6.57 0.1, 21.25 0 M0 21.25 C-1.67 9.36, 4.94 0.43, 21.25 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(748.5140435776361 72.60952590050942) rotate(0 94.0099105834961 25)"><text x="94.0099105834961" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">1. Convert the </text><text x="94.0099105834961" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">private key to bits</text></g><g stroke-linecap="round" transform="translate(730.1645237312086 163.6504075083801) rotate(0 110.05757116156974 55)"><path d="M27.5 0 C85.27 2.04, 141.72 -0.8, 192.62 0 M27.5 0 C78.42 -1.57, 131 -1.15, 192.62 0 M192.62 0 C212.71 0.03, 218.3 10.22, 220.12 27.5 M192.62 0 C211.07 -0.69, 218.6 11.18, 220.12 27.5 M220.12 27.5 C219.04 39.32, 221.93 53.23, 220.12 82.5 M220.12 27.5 C218.61 46.89, 220.19 66.02, 220.12 82.5 M220.12 82.5 C221.51 99.98, 212.47 109.85, 192.62 110 M220.12 82.5 C219.69 102.04, 211.68 110.87, 192.62 110 M192.62 110 C156.48 110.64, 119.15 109.15, 27.5 110 M192.62 110 C158.16 109.68, 125.12 110.21, 27.5 110 M27.5 110 C10.39 108.73, -1.75 100.1, 0 82.5 M27.5 110 C10.77 108.67, -0.23 100.08, 0 82.5 M0 82.5 C-1.29 64.23, -0.47 45.23, 0 27.5 M0 82.5 C-0.34 63.1, 0.22 44.97, 0 27.5 M0 27.5 C-1.45 11.15, 7.3 0.37, 27.5 0 M0 27.5 C0.54 9.04, 8.41 1, 27.5 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(747.2321656935596 168.6504075083801) rotate(0 92.98992919921875 50)"><text x="92.98992919921875" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">2. Perform scalar </text><text x="92.98992919921875" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">multiplication with </text><text x="92.98992919921875" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">baby jubjub </text><text x="92.98992919921875" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">basepoint</text></g><g stroke-linecap="round" transform="translate(731.0369673181135 314.41444389171056) rotate(0 110.05757116156974 42.5)"><path d="M21.25 0 C83.8 2.32, 147.47 0.61, 198.87 0 M21.25 0 C70.63 -0.26, 117.34 0.25, 198.87 0 M198.87 0 C213.14 -0.6, 218.8 8.83, 220.12 21.25 M198.87 0 C211.47 0.56, 220.36 5.7, 220.12 21.25 M220.12 21.25 C221.54 29.98, 219.31 40.78, 220.12 63.75 M220.12 21.25 C221.08 33.39, 221.14 46.31, 220.12 63.75 M220.12 63.75 C219.74 78.97, 213.67 85.76, 198.87 85 M220.12 63.75 C218.22 78.35, 212.33 84.73, 198.87 85 M198.87 85 C133.54 84.3, 72.7 82.98, 21.25 85 M198.87 85 C160.88 83.82, 120.81 84.09, 21.25 85 M21.25 85 C8.48 83.84, -0.2 77.26, 0 63.75 M21.25 85 C7.99 87.01, -0.21 76.98, 0 63.75 M0 63.75 C0.83 48.42, 1.63 34.9, 0 21.25 M0 63.75 C-0.62 54.6, -0.83 43.66, 0 21.25 M0 21.25 C0.47 6.97, 6.42 0.87, 21.25 0 M0 21.25 C-2.26 7.56, 8.55 -0.6, 21.25 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(737.4046199616168 331.91444389171056) rotate(0 103.6899185180664 25)"><text x="103.6899185180664" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">3. Return the public </text><text x="103.6899185180664" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">key </text></g><g stroke-linecap="round" transform="translate(11.165819158557497 236.84458773187225) rotate(0 121.92637087557455 75.12971569299202)"><path d="M32 0 C80.33 -0.63, 127.72 0.44, 211.85 0 M32 0 C94.26 0.5, 155.49 0.36, 211.85 0 M211.85 0 C232.61 -0.85, 244.96 10.41, 243.85 32 M211.85 0 C233.19 2.3, 244.73 12.3, 243.85 32 M243.85 32 C243.76 65.71, 244.42 102.56, 243.85 118.26 M243.85 32 C244.06 50.29, 243.51 67.95, 243.85 118.26 M243.85 118.26 C242.27 140.17, 233.56 148.32, 211.85 150.26 M243.85 118.26 C245.01 138.24, 231.88 149.78, 211.85 150.26 M211.85 150.26 C142.36 150.6, 73.32 150.88, 32 150.26 M211.85 150.26 C168.91 148.74, 125.46 149.01, 32 150.26 M32 150.26 C9.8 149.72, 0.37 139.56, 0 118.26 M32 150.26 C9.29 151.84, 1.51 137.44, 0 118.26 M0 118.26 C-0.44 84.77, -0.41 53.06, 0 32 M0 118.26 C-0.73 86.59, 0.83 57.05, 0 32 M0 32 C-1.37 9.83, 12.44 1.58, 32 0 M0 32 C-1.74 9.14, 11.15 1.39, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(17.372295624952358 249.47430342486427) rotate(0 115.71989440917969 62.5)"><text x="115.71989440917969" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Base point = point on </text><text x="115.71989440917969" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">an elliptic curve which </text><text x="115.71989440917969" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">multiplied by any number</text><text x="115.71989440917969" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">results in a point on </text><text x="115.71989440917969" y="100" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">the curve.</text></g></svg>
|