@reclaimprotocol/attestor-core 4.0.3 → 5.0.1-beta.10
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 +660 -660
- package/README.md +1 -2
- package/lib/avs/abis/avsDirectoryABI.js +341 -342
- package/lib/avs/abis/delegationABI.js +4 -5
- package/lib/avs/abis/registryABI.js +722 -723
- package/lib/avs/client/create-claim-on-avs.d.ts +5 -5
- package/lib/avs/client/create-claim-on-avs.js +160 -139
- package/lib/avs/config.d.ts +1 -1
- package/lib/avs/config.js +25 -23
- package/lib/avs/contracts/ReclaimServiceManager.d.ts +436 -532
- package/lib/avs/contracts/ReclaimServiceManager.js +0 -3
- package/lib/avs/contracts/common.d.ts +40 -11
- package/lib/avs/contracts/common.js +0 -3
- package/lib/avs/contracts/factories/ReclaimServiceManager__factory.d.ts +13 -11
- package/lib/avs/contracts/factories/ReclaimServiceManager__factory.js +1157 -1148
- package/lib/avs/contracts/factories/index.d.ts +1 -1
- package/lib/avs/contracts/factories/index.js +4 -9
- package/lib/avs/contracts/index.d.ts +3 -3
- package/lib/avs/contracts/index.js +6 -40
- package/lib/avs/types/index.d.ts +6 -6
- package/lib/avs/types/index.js +0 -3
- package/lib/avs/utils/contracts.d.ts +14 -14
- package/lib/avs/utils/contracts.js +50 -35
- package/lib/avs/utils/register.d.ts +3 -3
- package/lib/avs/utils/register.js +71 -79
- package/lib/avs/utils/tasks.d.ts +4 -4
- package/lib/avs/utils/tasks.js +44 -41
- package/lib/browser/avs/abis/avsDirectoryABI.d.ts +60 -0
- package/lib/browser/avs/abis/avsDirectoryABI.js +343 -0
- package/lib/browser/avs/abis/delegationABI.d.ts +126 -0
- package/lib/browser/avs/abis/delegationABI.js +4 -0
- package/lib/browser/avs/abis/registryABI.d.ts +136 -0
- package/lib/browser/avs/abis/registryABI.js +728 -0
- package/lib/browser/avs/client/create-claim-on-avs.d.ts +12 -0
- package/lib/browser/avs/client/create-claim-on-avs.js +168 -0
- package/lib/browser/avs/config.d.ts +7 -0
- package/lib/browser/avs/config.js +26 -0
- package/lib/browser/avs/contracts/ReclaimServiceManager.d.ts +601 -0
- package/lib/browser/avs/contracts/ReclaimServiceManager.js +0 -0
- package/lib/browser/avs/contracts/common.d.ts +50 -0
- package/lib/browser/avs/contracts/common.js +0 -0
- package/lib/browser/avs/contracts/factories/ReclaimServiceManager__factory.d.ts +890 -0
- package/lib/browser/avs/contracts/factories/ReclaimServiceManager__factory.js +1183 -0
- package/lib/browser/avs/contracts/factories/index.d.ts +1 -0
- package/lib/browser/avs/contracts/factories/index.js +4 -0
- package/lib/browser/avs/contracts/index.d.ts +3 -0
- package/lib/browser/avs/contracts/index.js +6 -0
- package/lib/browser/avs/types/index.d.ts +55 -0
- package/lib/browser/avs/types/index.js +0 -0
- package/lib/browser/avs/utils/contracts.d.ts +21 -0
- package/lib/browser/avs/utils/contracts.js +53 -0
- package/lib/browser/avs/utils/register.d.ts +27 -0
- package/lib/browser/avs/utils/register.js +74 -0
- package/lib/browser/avs/utils/tasks.d.ts +22 -0
- package/lib/browser/avs/utils/tasks.js +48 -0
- package/lib/browser/client/create-claim.d.ts +5 -0
- package/lib/browser/client/create-claim.js +461 -0
- package/lib/browser/client/index.d.ts +3 -0
- package/lib/browser/client/index.js +3 -0
- package/lib/browser/client/tunnels/make-rpc-tcp-tunnel.d.ts +16 -0
- package/lib/browser/client/tunnels/make-rpc-tcp-tunnel.js +53 -0
- package/lib/browser/client/tunnels/make-rpc-tls-tunnel.d.ts +26 -0
- package/lib/browser/client/tunnels/make-rpc-tls-tunnel.js +127 -0
- package/lib/browser/client/utils/attestor-pool.d.ts +8 -0
- package/lib/browser/client/utils/attestor-pool.js +24 -0
- package/lib/browser/client/utils/client-socket.d.ts +11 -0
- package/lib/browser/client/utils/client-socket.js +120 -0
- package/lib/browser/client/utils/message-handler.d.ts +4 -0
- package/lib/browser/client/utils/message-handler.js +97 -0
- package/lib/browser/config/index.d.ts +31 -0
- package/lib/browser/config/index.js +62 -0
- package/lib/browser/external-rpc/benchmark.d.ts +1 -0
- package/lib/browser/external-rpc/benchmark.js +82 -0
- package/lib/browser/external-rpc/event-bus.d.ts +7 -0
- package/lib/browser/external-rpc/event-bus.js +17 -0
- package/lib/browser/external-rpc/global.d.js +0 -0
- package/lib/browser/external-rpc/handle-incoming-msg.d.ts +2 -0
- package/lib/browser/external-rpc/handle-incoming-msg.js +241 -0
- package/lib/browser/external-rpc/index.d.ts +3 -0
- package/lib/browser/external-rpc/index.js +3 -0
- package/lib/browser/external-rpc/jsc-polyfills/1.d.ts +14 -0
- package/lib/browser/external-rpc/jsc-polyfills/1.js +80 -0
- package/lib/browser/external-rpc/jsc-polyfills/2.js +15 -0
- package/lib/browser/external-rpc/jsc-polyfills/event.d.ts +10 -0
- package/lib/browser/external-rpc/jsc-polyfills/event.js +19 -0
- package/lib/browser/external-rpc/jsc-polyfills/index.d.ts +2 -0
- package/lib/browser/external-rpc/jsc-polyfills/index.js +2 -0
- package/lib/browser/external-rpc/jsc-polyfills/ws.d.ts +21 -0
- package/lib/browser/external-rpc/jsc-polyfills/ws.js +83 -0
- package/lib/browser/external-rpc/setup-browser.d.ts +6 -0
- package/lib/browser/external-rpc/setup-browser.js +33 -0
- package/lib/browser/external-rpc/setup-jsc.d.ts +24 -0
- package/lib/browser/external-rpc/setup-jsc.js +22 -0
- package/lib/{window-rpc → browser/external-rpc}/types.d.ts +56 -35
- package/lib/browser/external-rpc/types.js +0 -0
- package/lib/browser/external-rpc/utils.d.ts +20 -0
- package/lib/browser/external-rpc/utils.js +100 -0
- package/lib/browser/external-rpc/zk.d.ts +14 -0
- package/lib/browser/external-rpc/zk.js +58 -0
- package/lib/browser/index.browser.js +13 -0
- package/lib/browser/index.d.ts +9 -0
- package/lib/browser/index.js +13 -0
- package/lib/browser/mechain/abis/governanceABI.d.ts +50 -0
- package/lib/browser/mechain/abis/governanceABI.js +461 -0
- package/lib/browser/mechain/abis/taskABI.d.ts +157 -0
- package/lib/browser/mechain/abis/taskABI.js +512 -0
- package/lib/browser/mechain/client/create-claim-on-mechain.d.ts +10 -0
- package/lib/browser/mechain/client/create-claim-on-mechain.js +33 -0
- package/lib/browser/mechain/client/index.d.ts +1 -0
- package/lib/browser/mechain/client/index.js +1 -0
- package/lib/browser/mechain/constants/index.d.ts +3 -0
- package/lib/browser/mechain/constants/index.js +8 -0
- package/lib/browser/mechain/index.d.ts +2 -0
- package/lib/browser/mechain/index.js +2 -0
- package/lib/browser/mechain/types/index.d.ts +23 -0
- package/lib/browser/mechain/types/index.js +0 -0
- package/lib/browser/proto/api.d.ts +651 -0
- package/lib/browser/proto/api.js +4250 -0
- package/lib/browser/proto/tee-bundle.d.ts +156 -0
- package/lib/browser/proto/tee-bundle.js +1296 -0
- package/lib/browser/providers/http/index.d.ts +18 -0
- package/lib/browser/providers/http/index.js +640 -0
- package/lib/browser/providers/http/patch-parse5-tree.d.ts +6 -0
- package/lib/browser/providers/http/patch-parse5-tree.js +34 -0
- package/lib/browser/providers/http/utils.d.ts +77 -0
- package/lib/browser/providers/http/utils.js +283 -0
- package/lib/browser/providers/index.d.ts +4 -0
- package/lib/browser/providers/index.js +7 -0
- package/lib/browser/scripts/fallbacks/crypto.js +4 -0
- package/lib/browser/scripts/fallbacks/empty.js +4 -0
- package/lib/browser/scripts/fallbacks/gnark.js +15 -0
- package/lib/browser/scripts/fallbacks/re2.js +7 -0
- package/lib/browser/scripts/fallbacks/snarkjs.js +10 -0
- package/lib/browser/scripts/fallbacks/stwo.js +159 -0
- package/lib/browser/types/bgp.d.ts +11 -0
- package/lib/browser/types/bgp.js +0 -0
- package/lib/browser/types/claims.d.ts +70 -0
- package/lib/browser/types/claims.js +0 -0
- package/lib/browser/types/client.d.ts +163 -0
- package/lib/browser/types/client.js +0 -0
- package/lib/browser/types/general.d.ts +77 -0
- package/lib/browser/types/general.js +0 -0
- package/lib/browser/types/handlers.d.ts +10 -0
- package/lib/browser/types/handlers.js +0 -0
- package/lib/browser/types/index.d.ts +10 -0
- package/lib/browser/types/index.js +10 -0
- package/lib/browser/types/providers.d.ts +161 -0
- package/lib/browser/types/providers.gen.d.ts +443 -0
- package/lib/browser/types/providers.gen.js +16 -0
- package/lib/browser/types/providers.js +0 -0
- package/lib/browser/types/rpc.d.ts +35 -0
- package/lib/browser/types/rpc.js +0 -0
- package/lib/browser/types/signatures.d.ts +28 -0
- package/lib/browser/types/signatures.js +0 -0
- package/lib/browser/types/tunnel.d.ts +18 -0
- package/lib/browser/types/tunnel.js +0 -0
- package/lib/browser/types/zk.d.ts +38 -0
- package/lib/browser/types/zk.js +0 -0
- package/lib/browser/utils/auth.d.ts +8 -0
- package/lib/browser/utils/auth.js +71 -0
- package/lib/browser/utils/b64-json.d.ts +2 -0
- package/lib/browser/utils/b64-json.js +17 -0
- package/lib/browser/utils/claims.d.ts +33 -0
- package/lib/browser/utils/claims.js +89 -0
- package/lib/browser/utils/env.d.ts +3 -0
- package/lib/browser/utils/env.js +19 -0
- package/lib/browser/utils/error.d.ts +26 -0
- package/lib/browser/utils/error.js +54 -0
- package/lib/browser/utils/generics.d.ts +119 -0
- package/lib/browser/utils/generics.js +272 -0
- package/lib/browser/utils/http-parser.d.ts +59 -0
- package/lib/browser/utils/http-parser.js +201 -0
- package/lib/browser/utils/index.browser.js +13 -0
- package/lib/browser/utils/index.d.ts +13 -0
- package/lib/browser/utils/index.js +13 -0
- package/lib/browser/utils/logger.browser.js +88 -0
- package/lib/browser/utils/logger.d.ts +14 -0
- package/lib/browser/utils/logger.js +88 -0
- package/lib/browser/utils/prepare-packets.d.ts +16 -0
- package/lib/browser/utils/prepare-packets.js +69 -0
- package/lib/browser/utils/redactions.d.ts +73 -0
- package/lib/browser/utils/redactions.js +135 -0
- package/lib/browser/utils/retries.d.ts +12 -0
- package/lib/browser/utils/retries.js +26 -0
- package/lib/browser/utils/signatures/eth.d.ts +2 -0
- package/lib/browser/utils/signatures/eth.js +31 -0
- package/lib/browser/utils/signatures/index.d.ts +5 -0
- package/lib/browser/utils/signatures/index.js +12 -0
- package/lib/browser/utils/socket-base.d.ts +23 -0
- package/lib/browser/utils/socket-base.js +96 -0
- package/lib/browser/utils/tls-imports.d.ts +21 -0
- package/lib/browser/utils/tls-imports.js +71 -0
- package/lib/browser/utils/tls.d.ts +2 -0
- package/lib/browser/utils/tls.js +58 -0
- package/lib/browser/utils/ws.d.ts +7 -0
- package/lib/browser/utils/ws.js +22 -0
- package/lib/browser/utils/zk.d.ts +71 -0
- package/lib/browser/utils/zk.js +625 -0
- package/lib/client/create-claim.d.ts +2 -2
- package/lib/client/create-claim.js +437 -400
- package/lib/client/index.d.ts +3 -3
- package/lib/client/index.js +3 -20
- package/lib/client/tunnels/make-rpc-tcp-tunnel.d.ts +2 -2
- package/lib/client/tunnels/make-rpc-tcp-tunnel.js +49 -56
- package/lib/client/tunnels/make-rpc-tls-tunnel.d.ts +4 -3
- package/lib/client/tunnels/make-rpc-tls-tunnel.js +123 -131
- package/lib/client/utils/attestor-pool.d.ts +3 -1
- package/lib/client/utils/attestor-pool.js +21 -25
- package/lib/client/utils/client-socket.d.ts +4 -4
- package/lib/client/utils/client-socket.js +114 -94
- package/lib/client/utils/message-handler.d.ts +2 -2
- package/lib/client/utils/message-handler.js +89 -86
- package/lib/config/index.d.ts +6 -3
- package/lib/config/index.js +60 -37
- package/lib/external-rpc/benchmark.d.ts +1 -0
- package/lib/external-rpc/benchmark.js +82 -0
- package/lib/external-rpc/event-bus.d.ts +7 -0
- package/lib/external-rpc/event-bus.js +17 -0
- package/lib/external-rpc/global.d.js +0 -0
- package/lib/external-rpc/handle-incoming-msg.d.ts +2 -0
- package/lib/external-rpc/handle-incoming-msg.js +241 -0
- package/lib/external-rpc/index.d.ts +3 -0
- package/lib/external-rpc/index.js +3 -0
- package/lib/external-rpc/jsc-polyfills/1.d.ts +14 -0
- package/lib/external-rpc/jsc-polyfills/1.js +80 -0
- package/lib/external-rpc/jsc-polyfills/2.js +15 -0
- package/lib/external-rpc/jsc-polyfills/event.d.ts +10 -0
- package/lib/external-rpc/jsc-polyfills/event.js +19 -0
- package/lib/external-rpc/jsc-polyfills/index.d.ts +2 -0
- package/lib/external-rpc/jsc-polyfills/index.js +2 -0
- package/lib/external-rpc/jsc-polyfills/ws.d.ts +21 -0
- package/lib/external-rpc/jsc-polyfills/ws.js +83 -0
- package/lib/external-rpc/setup-browser.d.ts +6 -0
- package/lib/external-rpc/setup-browser.js +33 -0
- package/lib/external-rpc/setup-jsc.d.ts +24 -0
- package/lib/external-rpc/setup-jsc.js +22 -0
- package/lib/external-rpc/types.d.ts +213 -0
- package/lib/external-rpc/types.js +0 -0
- package/lib/external-rpc/utils.d.ts +20 -0
- package/lib/external-rpc/utils.js +100 -0
- package/lib/external-rpc/zk.d.ts +14 -0
- package/lib/external-rpc/zk.js +58 -0
- package/lib/index.browser.d.ts +9 -0
- package/lib/index.d.ts +8 -9
- package/lib/index.js +12 -49
- package/lib/mechain/abis/governanceABI.js +460 -461
- package/lib/mechain/abis/taskABI.js +505 -506
- package/lib/mechain/client/create-claim-on-mechain.d.ts +3 -3
- package/lib/mechain/client/create-claim-on-mechain.js +31 -30
- package/lib/mechain/client/index.d.ts +1 -1
- package/lib/mechain/client/index.js +1 -18
- package/lib/mechain/constants/index.js +8 -7
- package/lib/mechain/index.d.ts +2 -2
- package/lib/mechain/index.js +2 -19
- package/lib/mechain/types/index.d.ts +2 -2
- package/lib/mechain/types/index.js +0 -3
- package/lib/proto/api.d.ts +182 -39
- package/lib/proto/api.js +4105 -3555
- package/lib/proto/tee-bundle.d.ts +156 -0
- package/lib/proto/tee-bundle.js +1296 -0
- package/lib/providers/http/index.d.ts +16 -1
- package/lib/providers/http/index.js +603 -576
- package/lib/providers/http/patch-parse5-tree.d.ts +6 -0
- package/lib/providers/http/patch-parse5-tree.js +34 -0
- package/lib/providers/http/utils.d.ts +7 -4
- package/lib/providers/http/utils.js +240 -317
- package/lib/providers/index.d.ts +1 -1
- package/lib/providers/index.js +5 -9
- package/lib/scripts/check-avs-registration.d.ts +1 -1
- package/lib/scripts/check-avs-registration.js +24 -25
- package/lib/scripts/fallbacks/crypto.d.ts +1 -0
- package/lib/scripts/fallbacks/crypto.js +4 -0
- package/lib/scripts/fallbacks/empty.d.ts +3 -0
- package/lib/scripts/fallbacks/empty.js +4 -0
- package/lib/scripts/fallbacks/gnark.d.ts +7 -0
- package/lib/scripts/fallbacks/gnark.js +15 -0
- package/lib/scripts/fallbacks/re2.d.ts +1 -0
- package/lib/scripts/fallbacks/re2.js +7 -0
- package/lib/scripts/fallbacks/snarkjs.d.ts +1 -0
- package/lib/scripts/fallbacks/snarkjs.js +10 -0
- package/lib/scripts/fallbacks/stwo.d.ts +6 -0
- package/lib/scripts/generate-provider-types.js +92 -73
- package/lib/scripts/generate-receipt.d.ts +2 -2
- package/lib/scripts/generate-receipt.js +94 -83
- package/lib/scripts/generate-toprf-keys.js +17 -16
- package/lib/scripts/jsc-cli-rpc.d.ts +1 -0
- package/lib/scripts/jsc-cli-rpc.js +35 -0
- package/lib/scripts/register-avs-operator.d.ts +1 -1
- package/lib/scripts/register-avs-operator.js +3 -7
- package/lib/scripts/start-server.d.ts +1 -1
- package/lib/scripts/start-server.js +9 -11
- package/lib/scripts/update-avs-metadata.d.ts +1 -1
- package/lib/scripts/update-avs-metadata.js +17 -19
- package/lib/scripts/utils.js +8 -9
- package/lib/scripts/whitelist-operator.d.ts +1 -1
- package/lib/scripts/whitelist-operator.js +13 -15
- package/lib/server/create-server.d.ts +3 -2
- package/lib/server/create-server.js +98 -85
- package/lib/server/handlers/claimTeeBundle.d.ts +6 -0
- package/lib/server/handlers/claimTeeBundle.js +232 -0
- package/lib/server/handlers/claimTunnel.d.ts +1 -1
- package/lib/server/handlers/claimTunnel.js +75 -73
- package/lib/server/handlers/completeClaimOnChain.d.ts +1 -1
- package/lib/server/handlers/completeClaimOnChain.js +27 -26
- package/lib/server/handlers/createClaimOnChain.d.ts +1 -1
- package/lib/server/handlers/createClaimOnChain.js +30 -29
- package/lib/server/handlers/createTaskOnMechain.d.ts +1 -1
- package/lib/server/handlers/createTaskOnMechain.js +54 -49
- package/lib/server/handlers/createTunnel.d.ts +1 -1
- package/lib/server/handlers/createTunnel.js +91 -94
- package/lib/server/handlers/disconnectTunnel.d.ts +1 -1
- package/lib/server/handlers/disconnectTunnel.js +6 -8
- package/lib/server/handlers/fetchCertificateBytes.d.ts +2 -0
- package/lib/server/handlers/fetchCertificateBytes.js +57 -0
- package/lib/server/handlers/index.d.ts +1 -1
- package/lib/server/handlers/index.js +24 -21
- package/lib/server/handlers/init.d.ts +1 -1
- package/lib/server/handlers/init.js +31 -34
- package/lib/server/handlers/toprf.d.ts +1 -1
- package/lib/server/handlers/toprf.js +17 -19
- package/lib/server/index.d.ts +4 -4
- package/lib/server/index.js +4 -21
- package/lib/server/socket.d.ts +7 -7
- package/lib/server/socket.js +104 -106
- package/lib/server/tunnels/make-tcp-tunnel.d.ts +5 -3
- package/lib/server/tunnels/make-tcp-tunnel.js +189 -162
- package/lib/server/utils/apm.d.ts +1 -1
- package/lib/server/utils/apm.js +26 -40
- package/lib/server/utils/assert-valid-claim-request.d.ts +6 -5
- package/lib/server/utils/assert-valid-claim-request.js +339 -185
- package/lib/server/utils/config-env.js +4 -7
- package/lib/server/utils/dns.js +18 -16
- package/lib/server/utils/gcp-attestation.d.ts +17 -0
- package/lib/server/utils/gcp-attestation.js +237 -0
- package/lib/server/utils/generics.d.ts +3 -3
- package/lib/server/utils/generics.js +37 -51
- package/lib/server/utils/iso.js +255 -256
- package/lib/server/utils/keep-alive.d.ts +2 -2
- package/lib/server/utils/keep-alive.js +36 -40
- package/lib/server/utils/nitro-attestation.d.ts +33 -0
- package/lib/server/utils/nitro-attestation.js +249 -0
- package/lib/server/utils/oprf-raw.d.ts +21 -0
- package/lib/server/utils/oprf-raw.js +61 -0
- package/lib/server/utils/process-handshake.d.ts +3 -3
- package/lib/server/utils/process-handshake.js +217 -175
- package/lib/server/utils/proxy-session.d.ts +1 -0
- package/lib/server/utils/proxy-session.js +4 -0
- package/lib/server/utils/tee-oprf-mpc-verification.d.ts +16 -0
- package/lib/server/utils/tee-oprf-mpc-verification.js +86 -0
- package/lib/server/utils/tee-oprf-verification.d.ts +24 -0
- package/lib/server/utils/tee-oprf-verification.js +151 -0
- package/lib/server/utils/tee-transcript-reconstruction.d.ts +24 -0
- package/lib/server/utils/tee-transcript-reconstruction.js +140 -0
- package/lib/server/utils/tee-verification.d.ts +28 -0
- package/lib/server/utils/tee-verification.js +358 -0
- package/lib/{utils → server/utils}/validation.d.ts +1 -1
- package/lib/server/utils/validation.js +45 -0
- package/lib/types/bgp.js +0 -3
- package/lib/types/claims.d.ts +7 -10
- package/lib/types/claims.js +0 -3
- package/lib/types/client.d.ts +5 -5
- package/lib/types/client.js +0 -3
- package/lib/types/general.d.ts +30 -4
- package/lib/types/general.js +0 -3
- package/lib/types/handlers.d.ts +3 -3
- package/lib/types/handlers.js +0 -3
- package/lib/types/index.d.ts +10 -10
- package/lib/types/index.js +10 -27
- package/lib/types/providers.d.ts +15 -4
- package/lib/types/providers.gen.d.ts +15 -1
- package/lib/types/providers.gen.js +15 -13
- package/lib/types/providers.js +0 -3
- package/lib/types/rpc.d.ts +2 -2
- package/lib/types/rpc.js +0 -3
- package/lib/types/signatures.js +0 -3
- package/lib/types/tunnel.d.ts +2 -2
- package/lib/types/tunnel.js +0 -3
- package/lib/types/zk.d.ts +17 -2
- package/lib/types/zk.js +0 -3
- package/lib/utils/auth.d.ts +2 -1
- package/lib/utils/auth.js +66 -59
- package/lib/utils/b64-json.js +13 -19
- package/lib/utils/bgp-listener.d.ts +1 -1
- package/lib/utils/bgp-listener.js +111 -114
- package/lib/utils/claims.d.ts +3 -3
- package/lib/utils/claims.js +78 -101
- package/lib/utils/env.js +15 -16
- package/lib/utils/error.d.ts +6 -7
- package/lib/utils/error.js +50 -39
- package/lib/utils/generics.d.ts +20 -13
- package/lib/utils/generics.js +221 -297
- package/lib/utils/http-parser.d.ts +1 -1
- package/lib/utils/http-parser.js +186 -237
- package/lib/utils/index.browser.d.ts +13 -0
- package/lib/utils/index.d.ts +14 -12
- package/lib/utils/index.js +14 -29
- package/lib/utils/logger.browser.d.ts +14 -0
- package/lib/utils/logger.d.ts +1 -1
- package/lib/utils/logger.js +69 -87
- package/lib/utils/prepare-packets.d.ts +3 -3
- package/lib/utils/prepare-packets.js +66 -58
- package/lib/utils/redactions.d.ts +20 -1
- package/lib/utils/redactions.js +116 -129
- package/lib/utils/retries.d.ts +1 -1
- package/lib/utils/retries.js +24 -26
- package/lib/utils/signatures/eth.d.ts +1 -1
- package/lib/utils/signatures/eth.js +28 -30
- package/lib/utils/signatures/index.d.ts +3 -3
- package/lib/utils/signatures/index.js +11 -10
- package/lib/utils/socket-base.d.ts +6 -5
- package/lib/utils/socket-base.js +89 -88
- package/lib/utils/tls-imports.d.ts +21 -0
- package/lib/utils/tls-imports.js +71 -0
- package/lib/utils/tls.d.ts +1 -1
- package/lib/utils/tls.js +54 -28
- package/lib/utils/ws.d.ts +1 -6
- package/lib/utils/ws.js +17 -33
- package/lib/utils/zk.d.ts +28 -12
- package/lib/utils/zk.js +587 -406
- package/package.json +79 -60
- package/lib/avs/tests/test.operator.d.ts +0 -11
- package/lib/avs/tests/test.operator.js +0 -313
- package/lib/avs/tests/utils.d.ts +0 -2
- package/lib/avs/tests/utils.js +0 -50
- package/lib/scripts/verify-root-ca.d.ts +0 -1
- package/lib/scripts/verify-root-ca.js +0 -51
- package/lib/tests/describe-with-server.d.ts +0 -20
- package/lib/tests/describe-with-server.js +0 -64
- package/lib/tests/mock-provider-server.d.ts +0 -13
- package/lib/tests/mock-provider-server.js +0 -65
- package/lib/tests/mocks.d.ts +0 -4
- package/lib/tests/mocks.js +0 -23
- package/lib/tests/test.auth.js +0 -75
- package/lib/tests/test.bgp-listener.js +0 -169
- package/lib/tests/test.claim-creation.js +0 -280
- package/lib/tests/test.http-parser.d.ts +0 -1
- package/lib/tests/test.http-parser.js +0 -120
- package/lib/tests/test.http-provider-utils.js +0 -2416
- package/lib/tests/test.http-provider.js +0 -114
- package/lib/tests/test.rpc-communication.d.ts +0 -1
- package/lib/tests/test.rpc-communication.js +0 -64
- package/lib/tests/test.rpc-tunnel.d.ts +0 -1
- package/lib/tests/test.rpc-tunnel.js +0 -172
- package/lib/tests/test.signatures.d.ts +0 -1
- package/lib/tests/test.signatures.js +0 -24
- package/lib/tests/test.tcp-tunnel.d.ts +0 -1
- package/lib/tests/test.tcp-tunnel.js +0 -64
- package/lib/tests/test.zk.d.ts +0 -1
- package/lib/tests/test.zk.js +0 -337
- package/lib/tests/utils.d.ts +0 -18
- package/lib/tests/utils.js +0 -64
- package/lib/utils/atomic-operations.d.ts +0 -24
- package/lib/utils/atomic-operations.js +0 -65
- package/lib/utils/benchmark.d.ts +0 -1
- package/lib/utils/benchmark.js +0 -70
- package/lib/utils/connection-state-machine.d.ts +0 -43
- package/lib/utils/connection-state-machine.js +0 -129
- package/lib/utils/resource-monitor.d.ts +0 -61
- package/lib/utils/resource-monitor.js +0 -107
- package/lib/utils/validation.js +0 -46
- package/lib/window-rpc/index.d.ts +0 -3
- package/lib/window-rpc/index.js +0 -20
- package/lib/window-rpc/setup-window-rpc.d.ts +0 -5
- package/lib/window-rpc/setup-window-rpc.js +0 -291
- package/lib/window-rpc/types.js +0 -3
- package/lib/window-rpc/utils.d.ts +0 -14
- package/lib/window-rpc/utils.js +0 -102
- package/lib/window-rpc/window-rpc-zk.d.ts +0 -15
- package/lib/window-rpc/window-rpc-zk.js +0 -85
- /package/lib/{tests/test.auth.d.ts → browser/external-rpc/jsc-polyfills/2.d.ts} +0 -0
- /package/lib/{tests/test.bgp-listener.d.ts → external-rpc/jsc-polyfills/2.d.ts} +0 -0
- /package/lib/{tests/test.claim-creation.d.ts → scripts/build-browser.d.ts} +0 -0
- /package/lib/{tests/test.http-provider-utils.d.ts → scripts/build-jsc.d.ts} +0 -0
- /package/lib/{tests/test.http-provider.d.ts → scripts/build-lib.d.ts} +0 -0
|
@@ -1,19 +1,13 @@
|
|
|
1
|
+
import '#src/external-rpc/global.d.ts';
|
|
1
2
|
import type { OPRFOperator, ZKEngine, ZKOperator } from '@reclaimprotocol/zk-symmetric-crypto';
|
|
2
|
-
import type {
|
|
3
|
-
import type { CreateClaimOnAvsOpts, CreateClaimOnAvsStep } from '
|
|
4
|
-
import type { CreateClaimOnMechainStep } from '
|
|
5
|
-
import { AuthenticationRequest } from '
|
|
6
|
-
import type { extractHTMLElement, extractJSONValueIndex } from '
|
|
7
|
-
import type { AttestorData, CompleteClaimData, CreateClaimOnAttestorOpts, LogLevel, ProofGenerationStep, ProviderName, ProviderParams, ProviderSecretParams } from '
|
|
8
|
-
import { HttpRequest, HttpResponse } from '
|
|
3
|
+
import type { TaskCompletedEvent } from '#src/avs/contracts/ReclaimServiceManager.ts';
|
|
4
|
+
import type { CreateClaimOnAvsOpts, CreateClaimOnAvsStep } from '#src/avs/types/index.ts';
|
|
5
|
+
import type { CreateClaimOnMechainStep } from '#src/mechain/types/index.ts';
|
|
6
|
+
import type { AuthenticationRequest } from '#src/proto/api.ts';
|
|
7
|
+
import type { extractHTMLElement, extractJSONValueIndex } from '#src/providers/http/utils.ts';
|
|
8
|
+
import type { AttestorData, CompleteClaimData, CreateClaimOnAttestorOpts, LogLevel, ProofGenerationStep, ProviderName, ProviderParams, ProviderSecretParams } from '#src/types/index.ts';
|
|
9
|
+
import type { HttpRequest, HttpResponse } from '#src/utils/index.ts';
|
|
9
10
|
type IdentifiedMessage = {
|
|
10
|
-
module: 'attestor-core';
|
|
11
|
-
/**
|
|
12
|
-
* Optionally, name of the channel to respond to
|
|
13
|
-
* Useful for specifying 'flutter_webview'
|
|
14
|
-
* channel
|
|
15
|
-
*/
|
|
16
|
-
channel?: string;
|
|
17
11
|
id: string;
|
|
18
12
|
};
|
|
19
13
|
type CreateClaimRPCBaseOpts = {
|
|
@@ -61,7 +55,7 @@ type LogLevelOptions = {
|
|
|
61
55
|
sendLogsToApp: boolean;
|
|
62
56
|
};
|
|
63
57
|
type AVSCreateResult = {
|
|
64
|
-
object:
|
|
58
|
+
object: TaskCompletedEvent.OutputObject;
|
|
65
59
|
txHash: string;
|
|
66
60
|
};
|
|
67
61
|
type MechainCreateResult = {
|
|
@@ -84,7 +78,7 @@ export type CreateClaimResponse = {
|
|
|
84
78
|
* Fns the app calls on the attestor.
|
|
85
79
|
* These are things done inside the attestor
|
|
86
80
|
*/
|
|
87
|
-
export type
|
|
81
|
+
export type ExternalRPCClient = {
|
|
88
82
|
/**
|
|
89
83
|
* Create a claim on the attestor where the RPC SDK is hosted.
|
|
90
84
|
*/
|
|
@@ -113,6 +107,9 @@ export type WindowRPCClient = {
|
|
|
113
107
|
*/
|
|
114
108
|
setLogLevel(options: LogLevelOptions): Promise<void>;
|
|
115
109
|
benchmarkZK(): Promise<string>;
|
|
110
|
+
ping(): Promise<{
|
|
111
|
+
pong: string;
|
|
112
|
+
}>;
|
|
116
113
|
};
|
|
117
114
|
type AsFunction<K> = K extends (...args: any[]) => any ? K : never;
|
|
118
115
|
type FunctionalOperator<T, K extends keyof T> = {
|
|
@@ -124,26 +121,55 @@ export type ExecuteOPRFOpts<T extends keyof OPRFOperator = keyof OPRFOperator> =
|
|
|
124
121
|
/**
|
|
125
122
|
* Fns the attestor calls on the app
|
|
126
123
|
*/
|
|
127
|
-
export type
|
|
124
|
+
export type ExternalRPCAppClient = {
|
|
128
125
|
executeZkFunctionV3(opts: ExecuteZKOpts): Promise<any>;
|
|
129
126
|
executeOprfFunctionV3(opts: ExecuteOPRFOpts): Promise<any>;
|
|
130
127
|
updateProviderParams(opts: UpdateProviderParamsOpts): Promise<{
|
|
131
128
|
params: Partial<ProviderParams<'http'>>;
|
|
132
129
|
secretParams: Partial<ProviderSecretParams<'http'>>;
|
|
133
130
|
}>;
|
|
131
|
+
/**
|
|
132
|
+
* The runtime needs to open a WebSocket connection. Is required for
|
|
133
|
+
* runtimes that do not support WebSockets natively.
|
|
134
|
+
*
|
|
135
|
+
* The app should facilitate this by opening a WebSocket connection
|
|
136
|
+
* to the given URL.
|
|
137
|
+
* "id" is a unique identifier for the WebSocket connection.
|
|
138
|
+
*/
|
|
139
|
+
connectWs(opts: {
|
|
140
|
+
id: string;
|
|
141
|
+
url: string;
|
|
142
|
+
}): Promise<{}>;
|
|
143
|
+
/**
|
|
144
|
+
* Runtime wants to disconnect a WebSocket connection.
|
|
145
|
+
* "code" is an optional close code,
|
|
146
|
+
* and "reason" is an optional reason for closing.
|
|
147
|
+
*/
|
|
148
|
+
disconnectWs(opts: {
|
|
149
|
+
id: string;
|
|
150
|
+
code?: number;
|
|
151
|
+
reason?: any;
|
|
152
|
+
}): Promise<{}>;
|
|
153
|
+
/**
|
|
154
|
+
* Runtime wants to send a message over a WebSocket connection.
|
|
155
|
+
*/
|
|
156
|
+
sendWsMessage(opts: {
|
|
157
|
+
id: string;
|
|
158
|
+
data: ArrayBufferView | string;
|
|
159
|
+
}): Promise<{}>;
|
|
134
160
|
};
|
|
135
161
|
type AnyRPCClient = {
|
|
136
162
|
[_: string]: (opts: any) => any;
|
|
137
163
|
};
|
|
138
|
-
export type
|
|
164
|
+
export type ExternalRPCRequest<T extends AnyRPCClient, K extends keyof T> = {
|
|
139
165
|
type: K;
|
|
140
166
|
request: Parameters<T[K]>[0];
|
|
141
167
|
};
|
|
142
|
-
export type
|
|
168
|
+
export type ExternalRPCResponse<T extends AnyRPCClient, K extends (keyof T) & string> = {
|
|
143
169
|
type: `${K}Done`;
|
|
144
170
|
response: Awaited<ReturnType<T[K]>>;
|
|
145
171
|
};
|
|
146
|
-
export type
|
|
172
|
+
export type ExternalRPCErrorResponse = {
|
|
147
173
|
type: 'error';
|
|
148
174
|
data: {
|
|
149
175
|
message: string;
|
|
@@ -156,15 +182,21 @@ type AsResponse<T> = T & {
|
|
|
156
182
|
/**
|
|
157
183
|
* Data sent to the attestor from the window/application
|
|
158
184
|
*/
|
|
159
|
-
export type
|
|
185
|
+
export type ExternalRPCIncomingMsg = (ExternalRPCRequest<ExternalRPCClient, 'createClaim'> | ExternalRPCRequest<ExternalRPCClient, 'createClaimOnAvs'> | ExternalRPCRequest<ExternalRPCClient, 'createClaimOnMechain'> | ExternalRPCRequest<ExternalRPCClient, 'extractHtmlElement'> | ExternalRPCRequest<ExternalRPCClient, 'extractJSONValueIndex'> | ExternalRPCRequest<ExternalRPCClient, 'getCurrentMemoryUsage'> | ExternalRPCRequest<ExternalRPCClient, 'setLogLevel'> | ExternalRPCRequest<ExternalRPCClient, 'benchmarkZK'> | ExternalRPCRequest<ExternalRPCClient, 'ping'> | AsResponse<ExternalRPCResponse<ExternalRPCAppClient, 'executeZkFunctionV3'>> | AsResponse<ExternalRPCResponse<ExternalRPCAppClient, 'executeOprfFunctionV3'>> | AsResponse<ExternalRPCResponse<ExternalRPCAppClient, 'updateProviderParams'>> | AsResponse<ExternalRPCResponse<ExternalRPCAppClient, 'connectWs'>> | AsResponse<ExternalRPCResponse<ExternalRPCAppClient, 'disconnectWs'>> | AsResponse<ExternalRPCResponse<ExternalRPCAppClient, 'sendWsMessage'>> | AsResponse<ExternalRPCErrorResponse> | ExternalRPCRequest<ExternalRPCAppClient, 'sendWsMessage'> | {
|
|
186
|
+
type: 'disconnectWs';
|
|
187
|
+
request: {
|
|
188
|
+
id: string;
|
|
189
|
+
err?: string;
|
|
190
|
+
};
|
|
191
|
+
}) & IdentifiedMessage;
|
|
160
192
|
/**
|
|
161
193
|
* Data sent back from the attestor to
|
|
162
194
|
* the window/application containing the attestor
|
|
163
195
|
*/
|
|
164
|
-
export type
|
|
196
|
+
export type ExternalRPCOutgoingMsg = (AsResponse<ExternalRPCResponse<ExternalRPCClient, 'createClaim'>> | AsResponse<ExternalRPCResponse<ExternalRPCClient, 'createClaimOnAvs'>> | AsResponse<ExternalRPCResponse<ExternalRPCClient, 'extractHtmlElement'>> | AsResponse<ExternalRPCResponse<ExternalRPCClient, 'extractJSONValueIndex'>> | AsResponse<ExternalRPCResponse<ExternalRPCClient, 'getCurrentMemoryUsage'>> | AsResponse<ExternalRPCResponse<ExternalRPCClient, 'setLogLevel'>> | AsResponse<ExternalRPCResponse<ExternalRPCClient, 'benchmarkZK'>> | AsResponse<ExternalRPCResponse<ExternalRPCClient, 'ping'>> | ExternalRPCRequest<ExternalRPCAppClient, 'executeZkFunctionV3'> | ExternalRPCRequest<ExternalRPCAppClient, 'executeOprfFunctionV3'> | ExternalRPCRequest<ExternalRPCAppClient, 'updateProviderParams'> | ExternalRPCRequest<ExternalRPCAppClient, 'connectWs'> | ExternalRPCRequest<ExternalRPCAppClient, 'disconnectWs'> | ExternalRPCRequest<ExternalRPCAppClient, 'sendWsMessage'> | ({
|
|
165
197
|
type: 'createClaimStep';
|
|
166
198
|
step: {
|
|
167
|
-
name: 'attestor-progress'
|
|
199
|
+
name: 'attestor-progress';
|
|
168
200
|
step: ProofGenerationStep;
|
|
169
201
|
};
|
|
170
202
|
}) | ({
|
|
@@ -177,16 +209,5 @@ export type WindowRPCOutgoingMsg = (AsResponse<WindowRPCResponse<WindowRPCClient
|
|
|
177
209
|
type: 'log';
|
|
178
210
|
level: LogLevelOptions['logLevel'];
|
|
179
211
|
message: object;
|
|
180
|
-
}) | AsResponse<
|
|
181
|
-
export type CommunicationBridge = {
|
|
182
|
-
send(msg: WindowRPCOutgoingMsg): void;
|
|
183
|
-
onMessage(cb: (msg: WindowRPCIncomingMsg) => void): (() => void);
|
|
184
|
-
};
|
|
185
|
-
declare global {
|
|
186
|
-
interface Performance {
|
|
187
|
-
measureUserAgentSpecificMemory(): {
|
|
188
|
-
bytes: number;
|
|
189
|
-
};
|
|
190
|
-
}
|
|
191
|
-
}
|
|
212
|
+
}) | AsResponse<ExternalRPCErrorResponse>) & IdentifiedMessage;
|
|
192
213
|
export {};
|
|
File without changes
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { EventBus } from '#src/external-rpc/event-bus.ts';
|
|
2
|
+
import type { ExternalRPCAppClient, ExternalRPCIncomingMsg, ExternalRPCOutgoingMsg, ExternalRPCRequest, ExternalRPCResponse } from '#src/external-rpc/types.ts';
|
|
3
|
+
export declare const RPC_MSG_BRIDGE: EventBus<ExternalRPCIncomingMsg>;
|
|
4
|
+
export declare function getCurrentMemoryUsage(): Promise<{
|
|
5
|
+
available: boolean;
|
|
6
|
+
content: string;
|
|
7
|
+
}>;
|
|
8
|
+
export declare function generateRpcRequestId(): string;
|
|
9
|
+
/**
|
|
10
|
+
* The window RPC will be served from the same origin as the API server.
|
|
11
|
+
* so we can get the API server's origin from the location.
|
|
12
|
+
*/
|
|
13
|
+
export declare function getWsApiUrlFromBaseUrl(): string;
|
|
14
|
+
export declare function rpcRequest<T extends keyof ExternalRPCAppClient>(opts: ExternalRPCRequest<ExternalRPCAppClient, T>): Promise<ExternalRPCResponse<ExternalRPCAppClient, T>['response']>;
|
|
15
|
+
export declare function waitForResponse<T extends keyof ExternalRPCAppClient>(type: T, requestId: string, timeoutMs?: number): Promise<Awaited<ReturnType<ExternalRPCAppClient[T]>>>;
|
|
16
|
+
/**
|
|
17
|
+
* Sends a message back to the host app
|
|
18
|
+
* @param data
|
|
19
|
+
*/
|
|
20
|
+
export declare function sendMessageToApp(data: ExternalRPCOutgoingMsg): void;
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { WS_PATHNAME } from "../config/index.js";
|
|
2
|
+
import { EventBus } from "../external-rpc/event-bus.js";
|
|
3
|
+
import { B64_JSON_REPLACER } from "../utils/b64-json.js";
|
|
4
|
+
import { AttestorError } from "../utils/error.js";
|
|
5
|
+
const RPC_MSG_BRIDGE = new EventBus();
|
|
6
|
+
async function getCurrentMemoryUsage() {
|
|
7
|
+
if (!window.crossOriginIsolated) {
|
|
8
|
+
return {
|
|
9
|
+
available: false,
|
|
10
|
+
content: "N/A (page not cross-origin-isolated)"
|
|
11
|
+
};
|
|
12
|
+
} else if (!performance.measureUserAgentSpecificMemory) {
|
|
13
|
+
return {
|
|
14
|
+
available: false,
|
|
15
|
+
content: "N/A (performance.measureUserAgentSpecificMemory() is not available)"
|
|
16
|
+
};
|
|
17
|
+
} else {
|
|
18
|
+
try {
|
|
19
|
+
const result = performance.measureUserAgentSpecificMemory();
|
|
20
|
+
const totalmb = Math.round(result.bytes / 1024 / 1024);
|
|
21
|
+
return { available: true, content: `${totalmb}mb` };
|
|
22
|
+
} catch (error) {
|
|
23
|
+
if (error instanceof DOMException && error.name === "SecurityError") {
|
|
24
|
+
return { available: false, content: `N/A (${error.message})` };
|
|
25
|
+
}
|
|
26
|
+
throw error;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
function generateRpcRequestId() {
|
|
31
|
+
return Math.random().toString(36).slice(2);
|
|
32
|
+
}
|
|
33
|
+
function getWsApiUrlFromBaseUrl() {
|
|
34
|
+
if (typeof ATTESTOR_BASE_URL !== "string") {
|
|
35
|
+
throw new Error("ATTESTOR_BASE_URL is not set");
|
|
36
|
+
}
|
|
37
|
+
const parsed = new URL(ATTESTOR_BASE_URL);
|
|
38
|
+
const { host, protocol } = parsed;
|
|
39
|
+
const wsProtocol = protocol === "https:" ? "wss:" : "ws:";
|
|
40
|
+
return `${wsProtocol}//${host}${WS_PATHNAME}`;
|
|
41
|
+
}
|
|
42
|
+
function rpcRequest(opts) {
|
|
43
|
+
const id = generateRpcRequestId();
|
|
44
|
+
const waitForRes = waitForResponse(opts.type, id);
|
|
45
|
+
sendMessageToApp({
|
|
46
|
+
id,
|
|
47
|
+
type: opts.type,
|
|
48
|
+
request: opts.request
|
|
49
|
+
});
|
|
50
|
+
return waitForRes;
|
|
51
|
+
}
|
|
52
|
+
function waitForResponse(type, requestId, timeoutMs = 6e4) {
|
|
53
|
+
const returnType = `${type}Done`;
|
|
54
|
+
return new Promise((resolve, reject) => {
|
|
55
|
+
const timeout = setTimeout(() => {
|
|
56
|
+
reject(
|
|
57
|
+
new AttestorError(
|
|
58
|
+
"ERROR_INTERNAL",
|
|
59
|
+
`Timeout waiting for response: ${type}`,
|
|
60
|
+
{ requestId }
|
|
61
|
+
)
|
|
62
|
+
);
|
|
63
|
+
cancel();
|
|
64
|
+
}, timeoutMs);
|
|
65
|
+
const cancel = RPC_MSG_BRIDGE.addListener((msg) => {
|
|
66
|
+
if (msg.id !== requestId) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
if (msg.type === "error") {
|
|
70
|
+
reject(new Error(msg.data.message));
|
|
71
|
+
} else if (msg.type === returnType) {
|
|
72
|
+
resolve(msg.response);
|
|
73
|
+
} else {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
clearTimeout(timeout);
|
|
77
|
+
cancel();
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
function sendMessageToApp(data) {
|
|
82
|
+
const str = JSON.stringify(data, B64_JSON_REPLACER);
|
|
83
|
+
if (!RPC_CHANNEL_NAME) {
|
|
84
|
+
throw new Error("global RPC_CHANNEL_NAME is not set");
|
|
85
|
+
}
|
|
86
|
+
const channel = globalThis[RPC_CHANNEL_NAME];
|
|
87
|
+
if (!channel) {
|
|
88
|
+
throw new Error(`RPC channel ${RPC_CHANNEL_NAME} not set on globalThis`);
|
|
89
|
+
}
|
|
90
|
+
channel.postMessage(str);
|
|
91
|
+
}
|
|
92
|
+
export {
|
|
93
|
+
RPC_MSG_BRIDGE,
|
|
94
|
+
generateRpcRequestId,
|
|
95
|
+
getCurrentMemoryUsage,
|
|
96
|
+
getWsApiUrlFromBaseUrl,
|
|
97
|
+
rpcRequest,
|
|
98
|
+
sendMessageToApp,
|
|
99
|
+
waitForResponse
|
|
100
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { EncryptionAlgorithm, OPRFOperator, ZKEngine, ZKOperator } from '@reclaimprotocol/zk-symmetric-crypto';
|
|
2
|
+
export declare const ALL_ENC_ALGORITHMS: EncryptionAlgorithm[];
|
|
3
|
+
/**
|
|
4
|
+
* The goal of this RPC operator is if the attestor client
|
|
5
|
+
* is running in a WebView, it can call the native
|
|
6
|
+
* application to perform the ZK operations
|
|
7
|
+
*/
|
|
8
|
+
export declare function makeExternalRpcZkOperator(algorithm: EncryptionAlgorithm, zkEngine?: ZKEngine): ZKOperator;
|
|
9
|
+
/**
|
|
10
|
+
* The goal of this RPC operator is if the attestor client
|
|
11
|
+
* is running in a WebView, it can call the native
|
|
12
|
+
* application to perform the OPRF operations
|
|
13
|
+
*/
|
|
14
|
+
export declare function makeExternalRpcOprfOperator(algorithm: EncryptionAlgorithm, zkEngine?: ZKEngine): OPRFOperator;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { rpcRequest } from "../external-rpc/utils.js";
|
|
2
|
+
import { logger, makeDefaultZkOperator } from "../utils/index.js";
|
|
3
|
+
const ALL_ENC_ALGORITHMS = [
|
|
4
|
+
"aes-256-ctr",
|
|
5
|
+
"aes-128-ctr",
|
|
6
|
+
"chacha20"
|
|
7
|
+
];
|
|
8
|
+
function makeExternalRpcZkOperator(algorithm, zkEngine = "snarkjs") {
|
|
9
|
+
return {
|
|
10
|
+
async generateWitness(input) {
|
|
11
|
+
const operator = await makeDefaultZkOperator(algorithm, zkEngine, logger);
|
|
12
|
+
return operator.generateWitness(input);
|
|
13
|
+
},
|
|
14
|
+
groth16Prove(input) {
|
|
15
|
+
return callFnZk({ fn: "groth16Prove", args: [input] });
|
|
16
|
+
},
|
|
17
|
+
groth16Verify(publicSignals, proof) {
|
|
18
|
+
return callFnZk({ fn: "groth16Verify", args: [publicSignals, proof] });
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
function callFnZk(request) {
|
|
23
|
+
return rpcRequest({ type: "executeZkFunctionV3", request });
|
|
24
|
+
}
|
|
25
|
+
function makeExternalRpcOprfOperator(algorithm, zkEngine = "snarkjs") {
|
|
26
|
+
return {
|
|
27
|
+
async generateWitness(input) {
|
|
28
|
+
const operator = await makeDefaultZkOperator(algorithm, zkEngine, logger);
|
|
29
|
+
return operator.generateWitness(input);
|
|
30
|
+
},
|
|
31
|
+
groth16Prove(input) {
|
|
32
|
+
return callFnOprf({ fn: "groth16Prove", args: [input] });
|
|
33
|
+
},
|
|
34
|
+
groth16Verify(publicSignals, proof) {
|
|
35
|
+
return callFnOprf({ fn: "groth16Verify", args: [publicSignals, proof] });
|
|
36
|
+
},
|
|
37
|
+
generateThresholdKeys(total, threshold) {
|
|
38
|
+
return callFnOprf({ fn: "generateThresholdKeys", args: [total, threshold] });
|
|
39
|
+
},
|
|
40
|
+
generateOPRFRequestData(data, domainSeparator) {
|
|
41
|
+
return callFnOprf({ fn: "generateOPRFRequestData", args: [data, domainSeparator] });
|
|
42
|
+
},
|
|
43
|
+
finaliseOPRF(serverPublicKey, request, responses) {
|
|
44
|
+
return callFnOprf({ fn: "finaliseOPRF", args: [serverPublicKey, request, responses] });
|
|
45
|
+
},
|
|
46
|
+
evaluateOPRF(serverPrivateKey, request) {
|
|
47
|
+
return callFnOprf({ fn: "evaluateOPRF", args: [serverPrivateKey, request] });
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
function callFnOprf(request) {
|
|
52
|
+
return rpcRequest({ type: "executeOprfFunctionV3", request });
|
|
53
|
+
}
|
|
54
|
+
export {
|
|
55
|
+
ALL_ENC_ALGORITHMS,
|
|
56
|
+
makeExternalRpcOprfOperator,
|
|
57
|
+
makeExternalRpcZkOperator
|
|
58
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as tls from "@reclaimprotocol/tls";
|
|
2
|
+
export * from "./client/utils/client-socket.js";
|
|
3
|
+
export * from "./config/index.js";
|
|
4
|
+
export * from "./types/index.js";
|
|
5
|
+
export * from "./utils/index.js";
|
|
6
|
+
export * from "./providers/index.js";
|
|
7
|
+
import * as proto from "./proto/api.js";
|
|
8
|
+
export * from "./client/index.js";
|
|
9
|
+
export * from "./mechain/index.js";
|
|
10
|
+
export {
|
|
11
|
+
proto,
|
|
12
|
+
tls
|
|
13
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * as tls from '@reclaimprotocol/tls';
|
|
2
|
+
export * from './client/utils/client-socket.ts';
|
|
3
|
+
export * from './config/index.ts';
|
|
4
|
+
export * from './types/index.ts';
|
|
5
|
+
export * from './utils/index.js';
|
|
6
|
+
export * from './providers/index.ts';
|
|
7
|
+
export * as proto from './proto/api.ts';
|
|
8
|
+
export * from './client/index.ts';
|
|
9
|
+
export * from './mechain/index.ts';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as tls from "@reclaimprotocol/tls";
|
|
2
|
+
export * from "./client/utils/client-socket.js";
|
|
3
|
+
export * from "./config/index.js";
|
|
4
|
+
export * from "./types/index.js";
|
|
5
|
+
export * from "./utils/index.js";
|
|
6
|
+
export * from "./providers/index.js";
|
|
7
|
+
import * as proto from "./proto/api.js";
|
|
8
|
+
export * from "./client/index.js";
|
|
9
|
+
export * from "./mechain/index.js";
|
|
10
|
+
export {
|
|
11
|
+
proto,
|
|
12
|
+
tls
|
|
13
|
+
};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export declare const governanceABI: ({
|
|
2
|
+
inputs: {
|
|
3
|
+
internalType: string;
|
|
4
|
+
name: string;
|
|
5
|
+
type: string;
|
|
6
|
+
}[];
|
|
7
|
+
stateMutability: string;
|
|
8
|
+
type: string;
|
|
9
|
+
name?: undefined;
|
|
10
|
+
anonymous?: undefined;
|
|
11
|
+
outputs?: undefined;
|
|
12
|
+
} | {
|
|
13
|
+
inputs: {
|
|
14
|
+
internalType: string;
|
|
15
|
+
name: string;
|
|
16
|
+
type: string;
|
|
17
|
+
}[];
|
|
18
|
+
name: string;
|
|
19
|
+
type: string;
|
|
20
|
+
stateMutability?: undefined;
|
|
21
|
+
anonymous?: undefined;
|
|
22
|
+
outputs?: undefined;
|
|
23
|
+
} | {
|
|
24
|
+
anonymous: boolean;
|
|
25
|
+
inputs: {
|
|
26
|
+
indexed: boolean;
|
|
27
|
+
internalType: string;
|
|
28
|
+
name: string;
|
|
29
|
+
type: string;
|
|
30
|
+
}[];
|
|
31
|
+
name: string;
|
|
32
|
+
type: string;
|
|
33
|
+
stateMutability?: undefined;
|
|
34
|
+
outputs?: undefined;
|
|
35
|
+
} | {
|
|
36
|
+
inputs: {
|
|
37
|
+
internalType: string;
|
|
38
|
+
name: string;
|
|
39
|
+
type: string;
|
|
40
|
+
}[];
|
|
41
|
+
name: string;
|
|
42
|
+
outputs: {
|
|
43
|
+
internalType: string;
|
|
44
|
+
name: string;
|
|
45
|
+
type: string;
|
|
46
|
+
}[];
|
|
47
|
+
stateMutability: string;
|
|
48
|
+
type: string;
|
|
49
|
+
anonymous?: undefined;
|
|
50
|
+
})[];
|