@metamask/snaps-execution-environments 6.6.2 → 6.7.0
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/CHANGELOG.md +13 -1
- package/dist/common/BaseSnapExecutor.cjs +436 -0
- package/dist/common/BaseSnapExecutor.cjs.map +1 -0
- package/dist/{types/common/BaseSnapExecutor.d.ts → common/BaseSnapExecutor.d.cts} +8 -6
- package/dist/common/BaseSnapExecutor.d.cts.map +1 -0
- package/dist/common/BaseSnapExecutor.d.mts +70 -0
- package/dist/common/BaseSnapExecutor.d.mts.map +1 -0
- package/dist/common/BaseSnapExecutor.mjs +430 -24
- package/dist/common/BaseSnapExecutor.mjs.map +1 -1
- package/dist/common/commands.cjs +95 -0
- package/dist/common/commands.cjs.map +1 -0
- package/dist/{types/common/commands.d.ts → common/commands.d.cts} +5 -4
- package/dist/common/commands.d.cts.map +1 -0
- package/dist/common/commands.d.mts +31 -0
- package/dist/common/commands.d.mts.map +1 -0
- package/dist/common/commands.mjs +89 -10
- package/dist/common/commands.mjs.map +1 -1
- package/dist/common/endowments/commonEndowmentFactory.cjs +76 -0
- package/dist/common/endowments/commonEndowmentFactory.cjs.map +1 -0
- package/dist/{types/common/endowments/commonEndowmentFactory.d.ts → common/endowments/commonEndowmentFactory.d.cts} +5 -4
- package/dist/common/endowments/commonEndowmentFactory.d.cts.map +1 -0
- package/dist/common/endowments/commonEndowmentFactory.d.mts +26 -0
- package/dist/common/endowments/commonEndowmentFactory.d.mts.map +1 -0
- package/dist/common/endowments/commonEndowmentFactory.mjs +69 -18
- package/dist/common/endowments/commonEndowmentFactory.mjs.map +1 -1
- package/dist/common/endowments/console.cjs +103 -0
- package/dist/common/endowments/console.cjs.map +1 -0
- package/dist/{types/common/endowments/console.d.ts → common/endowments/console.d.cts} +2 -1
- package/dist/common/endowments/console.d.cts.map +1 -0
- package/dist/common/endowments/console.d.mts +46 -0
- package/dist/common/endowments/console.d.mts.map +1 -0
- package/dist/common/endowments/console.mjs +98 -11
- package/dist/common/endowments/console.mjs.map +1 -1
- package/dist/common/endowments/crypto.cjs +30 -0
- package/dist/common/endowments/crypto.cjs.map +1 -0
- package/dist/{types/common/endowments/crypto.d.ts → common/endowments/crypto.d.cts} +1 -0
- package/dist/common/endowments/crypto.d.cts.map +1 -0
- package/dist/common/endowments/crypto.d.mts +13 -0
- package/dist/common/endowments/crypto.d.mts.map +1 -0
- package/dist/common/endowments/crypto.mjs +24 -9
- package/dist/common/endowments/crypto.mjs.map +1 -1
- package/dist/common/endowments/date.cjs +39 -0
- package/dist/common/endowments/date.cjs.map +1 -0
- package/dist/{types/common/endowments/date.d.ts → common/endowments/date.d.cts} +1 -0
- package/dist/common/endowments/date.d.cts.map +1 -0
- package/dist/common/endowments/date.d.mts +16 -0
- package/dist/common/endowments/date.d.mts.map +1 -0
- package/dist/common/endowments/date.mjs +35 -7
- package/dist/common/endowments/date.mjs.map +1 -1
- package/dist/common/endowments/index.cjs +93 -0
- package/dist/common/endowments/index.cjs.map +1 -0
- package/dist/{types/common/endowments/index.d.ts → common/endowments/index.d.cts} +4 -3
- package/dist/common/endowments/index.d.cts.map +1 -0
- package/dist/common/endowments/index.d.mts +29 -0
- package/dist/common/endowments/index.d.mts.map +1 -0
- package/dist/common/endowments/index.mjs +85 -20
- package/dist/common/endowments/index.mjs.map +1 -1
- package/dist/common/endowments/interval.cjs +51 -0
- package/dist/common/endowments/interval.cjs.map +1 -0
- package/dist/{types/common/endowments/interval.d.ts → common/endowments/interval.d.cts} +1 -0
- package/dist/common/endowments/interval.d.cts.map +1 -0
- package/dist/common/endowments/interval.d.mts +10 -0
- package/dist/common/endowments/interval.d.mts.map +1 -0
- package/dist/common/endowments/interval.mjs +47 -6
- package/dist/common/endowments/interval.mjs.map +1 -1
- package/dist/common/endowments/math.cjs +54 -0
- package/dist/common/endowments/math.cjs.map +1 -0
- package/dist/{types/common/endowments/math.d.ts → common/endowments/math.d.cts} +1 -0
- package/dist/common/endowments/math.d.cts.map +1 -0
- package/dist/common/endowments/math.d.mts +61 -0
- package/dist/common/endowments/math.d.mts.map +1 -0
- package/dist/common/endowments/math.mjs +50 -8
- package/dist/common/endowments/math.mjs.map +1 -1
- package/dist/common/endowments/network.cjs +255 -0
- package/dist/common/endowments/network.cjs.map +1 -0
- package/dist/{types/common/endowments/network.d.ts → common/endowments/network.d.cts} +4 -2
- package/dist/common/endowments/network.d.cts.map +1 -0
- package/dist/common/endowments/network.d.mts +25 -0
- package/dist/common/endowments/network.d.mts.map +1 -0
- package/dist/common/endowments/network.mjs +251 -8
- package/dist/common/endowments/network.mjs.map +1 -1
- package/dist/common/endowments/textDecoder.cjs +18 -0
- package/dist/common/endowments/textDecoder.cjs.map +1 -0
- package/dist/{types/common/endowments/textDecoder.d.ts → common/endowments/textDecoder.d.cts} +1 -0
- package/dist/common/endowments/textDecoder.d.cts.map +1 -0
- package/dist/common/endowments/textDecoder.d.mts +11 -0
- package/dist/common/endowments/textDecoder.d.mts.map +1 -0
- package/dist/common/endowments/textDecoder.mjs +14 -6
- package/dist/common/endowments/textDecoder.mjs.map +1 -1
- package/dist/common/endowments/textEncoder.cjs +18 -0
- package/dist/common/endowments/textEncoder.cjs.map +1 -0
- package/dist/{types/common/endowments/textEncoder.d.ts → common/endowments/textEncoder.d.cts} +1 -0
- package/dist/common/endowments/textEncoder.d.cts.map +1 -0
- package/dist/common/endowments/textEncoder.d.mts +11 -0
- package/dist/common/endowments/textEncoder.d.mts.map +1 -0
- package/dist/common/endowments/textEncoder.mjs +14 -6
- package/dist/common/endowments/textEncoder.mjs.map +1 -1
- package/dist/common/endowments/timeout.cjs +53 -0
- package/dist/common/endowments/timeout.cjs.map +1 -0
- package/dist/{types/common/endowments/timeout.d.ts → common/endowments/timeout.d.cts} +1 -0
- package/dist/common/endowments/timeout.d.cts.map +1 -0
- package/dist/common/endowments/timeout.d.mts +10 -0
- package/dist/common/endowments/timeout.d.mts.map +1 -0
- package/dist/common/endowments/timeout.mjs +49 -6
- package/dist/common/endowments/timeout.mjs.map +1 -1
- package/dist/common/globalEvents.cjs +48 -0
- package/dist/common/globalEvents.cjs.map +1 -0
- package/dist/{types/common/globalEvents.d.ts → common/globalEvents.d.cts} +1 -0
- package/dist/common/globalEvents.d.cts.map +1 -0
- package/dist/common/globalEvents.d.mts +21 -0
- package/dist/common/globalEvents.d.mts.map +1 -0
- package/dist/common/globalEvents.mjs +42 -10
- package/dist/common/globalEvents.mjs.map +1 -1
- package/dist/common/globalObject.cjs +50 -0
- package/dist/common/globalObject.cjs.map +1 -0
- package/dist/{types/common/globalObject.d.ts → common/globalObject.d.cts} +1 -0
- package/dist/common/globalObject.d.cts.map +1 -0
- package/dist/common/globalObject.d.mts +10 -0
- package/dist/common/globalObject.d.mts.map +1 -0
- package/dist/common/globalObject.mjs +45 -9
- package/dist/common/globalObject.mjs.map +1 -1
- package/dist/common/lockdown/lockdown-events.cjs +60 -0
- package/dist/common/lockdown/lockdown-events.cjs.map +1 -0
- package/dist/{types/common/lockdown/lockdown-events.d.ts → common/lockdown/lockdown-events.d.cts} +1 -0
- package/dist/common/lockdown/lockdown-events.d.cts.map +1 -0
- package/dist/common/lockdown/lockdown-events.d.mts +5 -0
- package/dist/common/lockdown/lockdown-events.d.mts.map +1 -0
- package/dist/common/lockdown/lockdown-events.mjs +55 -7
- package/dist/common/lockdown/lockdown-events.mjs.map +1 -1
- package/dist/common/lockdown/lockdown-more.cjs +89 -0
- package/dist/common/lockdown/lockdown-more.cjs.map +1 -0
- package/dist/{types/common/lockdown/lockdown-more.d.ts → common/lockdown/lockdown-more.d.cts} +1 -0
- package/dist/common/lockdown/lockdown-more.d.cts.map +1 -0
- package/dist/common/lockdown/lockdown-more.d.mts +23 -0
- package/dist/common/lockdown/lockdown-more.d.mts.map +1 -0
- package/dist/common/lockdown/lockdown-more.mjs +84 -7
- package/dist/common/lockdown/lockdown-more.mjs.map +1 -1
- package/dist/common/lockdown/lockdown.cjs +29 -0
- package/dist/common/lockdown/lockdown.cjs.map +1 -0
- package/dist/{types/common/lockdown/lockdown.d.ts → common/lockdown/lockdown.d.cts} +1 -0
- package/dist/common/lockdown/lockdown.d.cts.map +1 -0
- package/dist/common/lockdown/lockdown.d.mts +8 -0
- package/dist/common/lockdown/lockdown.d.mts.map +1 -0
- package/dist/common/lockdown/lockdown.mjs +22 -19
- package/dist/common/lockdown/lockdown.mjs.map +1 -1
- package/dist/common/sortParams.cjs +35 -0
- package/dist/common/sortParams.cjs.map +1 -0
- package/dist/{types/common/sortParams.d.ts → common/sortParams.d.cts} +2 -1
- package/dist/common/sortParams.d.cts.map +1 -0
- package/dist/common/sortParams.d.mts +17 -0
- package/dist/common/sortParams.d.mts.map +1 -0
- package/dist/common/sortParams.mjs +29 -6
- package/dist/common/sortParams.mjs.map +1 -1
- package/dist/common/utils.cjs +156 -0
- package/dist/common/utils.cjs.map +1 -0
- package/dist/{types/common/utils.d.ts → common/utils.d.cts} +2 -1
- package/dist/common/utils.d.cts.map +1 -0
- package/dist/common/utils.d.mts +50 -0
- package/dist/common/utils.d.mts.map +1 -0
- package/dist/common/utils.mjs +146 -20
- package/dist/common/utils.mjs.map +1 -1
- package/dist/common/validation.cjs +137 -0
- package/dist/common/validation.cjs.map +1 -0
- package/dist/{types/common/validation.d.ts → common/validation.d.cts} +37 -36
- package/dist/common/validation.d.cts.map +1 -0
- package/dist/common/validation.d.mts +199 -0
- package/dist/common/validation.d.mts.map +1 -0
- package/dist/common/validation.mjs +127 -37
- package/dist/common/validation.mjs.map +1 -1
- package/dist/iframe/IFrameSnapExecutor.cjs +42 -0
- package/dist/iframe/IFrameSnapExecutor.cjs.map +1 -0
- package/dist/{types/iframe/IFrameSnapExecutor.d.ts → iframe/IFrameSnapExecutor.d.cts} +3 -2
- package/dist/iframe/IFrameSnapExecutor.d.cts.map +1 -0
- package/dist/iframe/IFrameSnapExecutor.d.mts +14 -0
- package/dist/iframe/IFrameSnapExecutor.d.mts.map +1 -0
- package/dist/iframe/IFrameSnapExecutor.mjs +42 -26
- package/dist/iframe/IFrameSnapExecutor.mjs.map +1 -1
- package/dist/iframe/index.cjs +10 -0
- package/dist/iframe/index.cjs.map +1 -0
- package/dist/iframe/index.d.cts +2 -0
- package/dist/iframe/index.d.cts.map +1 -0
- package/dist/iframe/index.d.mts +2 -0
- package/dist/iframe/index.d.mts.map +1 -0
- package/dist/iframe/index.mjs +4 -31
- package/dist/iframe/index.mjs.map +1 -1
- package/dist/index.cjs +18 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +2 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.mts +2 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +1 -8
- package/dist/index.mjs.map +1 -1
- package/dist/logging.cjs +13 -0
- package/dist/logging.cjs.map +1 -0
- package/dist/{types/logging.d.ts → logging.d.cts} +1 -0
- package/dist/logging.d.cts.map +1 -0
- package/dist/logging.d.mts +9 -0
- package/dist/logging.d.mts.map +1 -0
- package/dist/logging.mjs +9 -7
- package/dist/logging.mjs.map +1 -1
- package/dist/node-process/ChildProcessSnapExecutor.cjs +30 -0
- package/dist/node-process/ChildProcessSnapExecutor.cjs.map +1 -0
- package/dist/{types/node-process/ChildProcessSnapExecutor.d.ts → node-process/ChildProcessSnapExecutor.d.cts} +2 -1
- package/dist/node-process/ChildProcessSnapExecutor.d.cts.map +1 -0
- package/dist/node-process/ChildProcessSnapExecutor.d.mts +5 -0
- package/dist/node-process/ChildProcessSnapExecutor.d.mts.map +1 -0
- package/dist/node-process/ChildProcessSnapExecutor.mjs +30 -26
- package/dist/node-process/ChildProcessSnapExecutor.mjs.map +1 -1
- package/dist/node-process/index.cjs +8 -0
- package/dist/node-process/index.cjs.map +1 -0
- package/dist/node-process/index.d.cts +2 -0
- package/dist/node-process/index.d.cts.map +1 -0
- package/dist/node-process/index.d.mts +2 -0
- package/dist/node-process/index.d.mts.map +1 -0
- package/dist/node-process/index.mjs +3 -28
- package/dist/node-process/index.mjs.map +1 -1
- package/dist/node-thread/ThreadSnapExecutor.cjs +30 -0
- package/dist/node-thread/ThreadSnapExecutor.cjs.map +1 -0
- package/dist/node-thread/ThreadSnapExecutor.d.cts +5 -0
- package/dist/node-thread/ThreadSnapExecutor.d.cts.map +1 -0
- package/dist/node-thread/ThreadSnapExecutor.d.mts +5 -0
- package/dist/node-thread/ThreadSnapExecutor.d.mts.map +1 -0
- package/dist/node-thread/ThreadSnapExecutor.mjs +30 -26
- package/dist/node-thread/ThreadSnapExecutor.mjs.map +1 -1
- package/dist/node-thread/index.cjs +8 -0
- package/dist/node-thread/index.cjs.map +1 -0
- package/dist/node-thread/index.d.cts +2 -0
- package/dist/node-thread/index.d.cts.map +1 -0
- package/dist/node-thread/index.d.mts +2 -0
- package/dist/node-thread/index.d.mts.map +1 -0
- package/dist/node-thread/index.mjs +3 -28
- package/dist/node-thread/index.mjs.map +1 -1
- package/dist/proxy/ProxySnapExecutor.cjs +112 -0
- package/dist/proxy/ProxySnapExecutor.cjs.map +1 -0
- package/dist/{types/proxy/ProxySnapExecutor.d.ts → proxy/ProxySnapExecutor.d.cts} +4 -3
- package/dist/proxy/ProxySnapExecutor.d.cts.map +1 -0
- package/dist/proxy/ProxySnapExecutor.d.mts +36 -0
- package/dist/proxy/ProxySnapExecutor.d.mts.map +1 -0
- package/dist/proxy/ProxySnapExecutor.mjs +104 -6
- package/dist/proxy/ProxySnapExecutor.mjs.map +1 -1
- package/dist/proxy/index.cjs +18 -0
- package/dist/proxy/index.cjs.map +1 -0
- package/dist/proxy/index.d.cts +2 -0
- package/dist/proxy/index.d.cts.map +1 -0
- package/dist/proxy/index.d.mts +2 -0
- package/dist/proxy/index.d.mts.map +1 -0
- package/dist/proxy/index.mjs +1 -8
- package/dist/proxy/index.mjs.map +1 -1
- package/dist/webview/WebViewExecutorStream.cjs +79 -0
- package/dist/webview/WebViewExecutorStream.cjs.map +1 -0
- package/dist/{types/webview/WebViewExecutorStream.d.ts → webview/WebViewExecutorStream.d.cts} +3 -2
- package/dist/webview/WebViewExecutorStream.d.cts.map +1 -0
- package/dist/webview/WebViewExecutorStream.d.mts +33 -0
- package/dist/webview/WebViewExecutorStream.d.mts.map +1 -0
- package/dist/webview/WebViewExecutorStream.mjs +74 -6
- package/dist/webview/WebViewExecutorStream.mjs.map +1 -1
- package/dist/webview/index.cjs +16 -0
- package/dist/webview/index.cjs.map +1 -0
- package/dist/webview/index.d.cts +2 -0
- package/dist/webview/index.d.cts.map +1 -0
- package/dist/webview/index.d.mts +2 -0
- package/dist/webview/index.d.mts.map +1 -0
- package/dist/webview/index.mjs +9 -21
- package/dist/webview/index.mjs.map +1 -1
- package/dist/webworker/executor/WebWorkerSnapExecutor.cjs +37 -0
- package/dist/webworker/executor/WebWorkerSnapExecutor.cjs.map +1 -0
- package/dist/{types/webworker/executor/WebWorkerSnapExecutor.d.ts → webworker/executor/WebWorkerSnapExecutor.d.cts} +3 -2
- package/dist/webworker/executor/WebWorkerSnapExecutor.d.cts.map +1 -0
- package/dist/webworker/executor/WebWorkerSnapExecutor.d.mts +14 -0
- package/dist/webworker/executor/WebWorkerSnapExecutor.d.mts.map +1 -0
- package/dist/webworker/executor/WebWorkerSnapExecutor.mjs +37 -26
- package/dist/webworker/executor/WebWorkerSnapExecutor.mjs.map +1 -1
- package/dist/webworker/executor/index.cjs +10 -0
- package/dist/webworker/executor/index.cjs.map +1 -0
- package/dist/webworker/executor/index.d.cts +2 -0
- package/dist/webworker/executor/index.d.cts.map +1 -0
- package/dist/webworker/executor/index.d.mts +2 -0
- package/dist/webworker/executor/index.d.mts.map +1 -0
- package/dist/webworker/executor/index.mjs +4 -31
- package/dist/webworker/executor/index.mjs.map +1 -1
- package/dist/webworker/pool/WebWorkerPool.cjs +168 -0
- package/dist/webworker/pool/WebWorkerPool.cjs.map +1 -0
- package/dist/{types/webworker/pool/WebWorkerPool.d.ts → webworker/pool/WebWorkerPool.d.cts} +4 -3
- package/dist/webworker/pool/WebWorkerPool.d.cts.map +1 -0
- package/dist/webworker/pool/WebWorkerPool.d.mts +24 -0
- package/dist/webworker/pool/WebWorkerPool.d.mts.map +1 -0
- package/dist/webworker/pool/WebWorkerPool.mjs +163 -6
- package/dist/webworker/pool/WebWorkerPool.mjs.map +1 -1
- package/dist/webworker/pool/index.cjs +10 -0
- package/dist/webworker/pool/index.cjs.map +1 -0
- package/dist/webworker/pool/index.d.cts +2 -0
- package/dist/webworker/pool/index.d.cts.map +1 -0
- package/dist/webworker/pool/index.d.mts +2 -0
- package/dist/webworker/pool/index.d.mts.map +1 -0
- package/dist/webworker/pool/index.mjs +4 -12
- package/dist/webworker/pool/index.mjs.map +1 -1
- package/package.json +21 -18
- package/dist/browserify/iframe/bundle.js +0 -9
- package/dist/browserify/iframe/index.html +0 -13394
- package/dist/browserify/node-process/bundle.js +0 -13390
- package/dist/browserify/node-thread/bundle.js +0 -13390
- package/dist/browserify/webview/index.html +0 -13402
- package/dist/browserify/worker-executor/bundle.js +0 -13392
- package/dist/browserify/worker-pool/bundle.js +0 -9
- package/dist/browserify/worker-pool/index.html +0 -13394
- package/dist/chunk-2VA6RAEE.js +0 -30
- package/dist/chunk-2VA6RAEE.js.map +0 -1
- package/dist/chunk-3JCT4MWT.js +0 -108
- package/dist/chunk-3JCT4MWT.js.map +0 -1
- package/dist/chunk-46LW37FK.js +0 -144
- package/dist/chunk-46LW37FK.js.map +0 -1
- package/dist/chunk-4COIRXF5.js +0 -86
- package/dist/chunk-4COIRXF5.js.map +0 -1
- package/dist/chunk-4XRZLEKU.js +0 -49
- package/dist/chunk-4XRZLEKU.js.map +0 -1
- package/dist/chunk-53ZULHPK.mjs +0 -16
- package/dist/chunk-53ZULHPK.mjs.map +0 -1
- package/dist/chunk-5DEV3QQU.mjs +0 -12
- package/dist/chunk-5DEV3QQU.mjs.map +0 -1
- package/dist/chunk-5LGIS4VY.js +0 -33
- package/dist/chunk-5LGIS4VY.js.map +0 -1
- package/dist/chunk-5STN3QCA.js +0 -183
- package/dist/chunk-5STN3QCA.js.map +0 -1
- package/dist/chunk-75RCH4ZX.mjs +0 -151
- package/dist/chunk-75RCH4ZX.mjs.map +0 -1
- package/dist/chunk-7AJWXSDQ.mjs +0 -73
- package/dist/chunk-7AJWXSDQ.mjs.map +0 -1
- package/dist/chunk-7MMUJJQ2.js +0 -151
- package/dist/chunk-7MMUJJQ2.js.map +0 -1
- package/dist/chunk-BCBKEUCG.mjs +0 -38
- package/dist/chunk-BCBKEUCG.mjs.map +0 -1
- package/dist/chunk-BTEAZZKP.mjs +0 -24
- package/dist/chunk-BTEAZZKP.mjs.map +0 -1
- package/dist/chunk-BVRVUIJB.mjs +0 -67
- package/dist/chunk-BVRVUIJB.mjs.map +0 -1
- package/dist/chunk-CV5LC4PP.js +0 -24
- package/dist/chunk-CV5LC4PP.js.map +0 -1
- package/dist/chunk-DAG7NWEU.mjs +0 -33
- package/dist/chunk-DAG7NWEU.mjs.map +0 -1
- package/dist/chunk-DKDTGAFK.js +0 -67
- package/dist/chunk-DKDTGAFK.js.map +0 -1
- package/dist/chunk-DLLLH5HN.js +0 -26
- package/dist/chunk-DLLLH5HN.js.map +0 -1
- package/dist/chunk-EXN2TFDJ.js +0 -38
- package/dist/chunk-EXN2TFDJ.js.map +0 -1
- package/dist/chunk-FJT65CXB.js +0 -472
- package/dist/chunk-FJT65CXB.js.map +0 -1
- package/dist/chunk-FOEAIF5U.js +0 -16
- package/dist/chunk-FOEAIF5U.js.map +0 -1
- package/dist/chunk-FUPEJT7B.js +0 -82
- package/dist/chunk-FUPEJT7B.js.map +0 -1
- package/dist/chunk-HCJZG6W7.mjs +0 -45
- package/dist/chunk-HCJZG6W7.mjs.map +0 -1
- package/dist/chunk-HGLRZZ56.js +0 -32
- package/dist/chunk-HGLRZZ56.js.map +0 -1
- package/dist/chunk-HL2TTKF3.mjs +0 -144
- package/dist/chunk-HL2TTKF3.mjs.map +0 -1
- package/dist/chunk-HWS4QSOC.mjs +0 -16
- package/dist/chunk-HWS4QSOC.mjs.map +0 -1
- package/dist/chunk-HXKBUIYS.js +0 -262
- package/dist/chunk-HXKBUIYS.js.map +0 -1
- package/dist/chunk-I5G4YFHM.js +0 -73
- package/dist/chunk-I5G4YFHM.js.map +0 -1
- package/dist/chunk-IX5S3V47.mjs +0 -26
- package/dist/chunk-IX5S3V47.mjs.map +0 -1
- package/dist/chunk-JOT5JH42.js +0 -52
- package/dist/chunk-JOT5JH42.js.map +0 -1
- package/dist/chunk-KEAB7ZVV.js +0 -50
- package/dist/chunk-KEAB7ZVV.js.map +0 -1
- package/dist/chunk-LAKWJYBO.js +0 -33
- package/dist/chunk-LAKWJYBO.js.map +0 -1
- package/dist/chunk-LO5ORVRC.js +0 -16
- package/dist/chunk-LO5ORVRC.js.map +0 -1
- package/dist/chunk-MCXWFCGV.js +0 -1
- package/dist/chunk-MCXWFCGV.js.map +0 -1
- package/dist/chunk-MIWGLICQ.mjs +0 -108
- package/dist/chunk-MIWGLICQ.mjs.map +0 -1
- package/dist/chunk-MMYM63NH.mjs +0 -82
- package/dist/chunk-MMYM63NH.mjs.map +0 -1
- package/dist/chunk-MS2LQQYH.js +0 -38
- package/dist/chunk-MS2LQQYH.js.map +0 -1
- package/dist/chunk-MXNMMTJW.mjs +0 -51
- package/dist/chunk-MXNMMTJW.mjs.map +0 -1
- package/dist/chunk-OBT45IWW.js +0 -92
- package/dist/chunk-OBT45IWW.js.map +0 -1
- package/dist/chunk-OCNPLHS2.js +0 -51
- package/dist/chunk-OCNPLHS2.js.map +0 -1
- package/dist/chunk-ODICKSGZ.mjs +0 -86
- package/dist/chunk-ODICKSGZ.mjs.map +0 -1
- package/dist/chunk-OIN7VU4G.mjs +0 -33
- package/dist/chunk-OIN7VU4G.mjs.map +0 -1
- package/dist/chunk-Q42NNJFY.mjs +0 -32
- package/dist/chunk-Q42NNJFY.mjs.map +0 -1
- package/dist/chunk-Q42WB3ZO.js +0 -40
- package/dist/chunk-Q42WB3ZO.js.map +0 -1
- package/dist/chunk-QZC2X6NG.js +0 -44
- package/dist/chunk-QZC2X6NG.js.map +0 -1
- package/dist/chunk-S5NWI5Z7.mjs +0 -50
- package/dist/chunk-S5NWI5Z7.mjs.map +0 -1
- package/dist/chunk-S7257EN3.mjs +0 -49
- package/dist/chunk-S7257EN3.mjs.map +0 -1
- package/dist/chunk-TSEAPB7L.mjs +0 -1
- package/dist/chunk-TSEAPB7L.mjs.map +0 -1
- package/dist/chunk-TZAPZE45.mjs +0 -472
- package/dist/chunk-TZAPZE45.mjs.map +0 -1
- package/dist/chunk-UOPIRTJX.mjs +0 -44
- package/dist/chunk-UOPIRTJX.mjs.map +0 -1
- package/dist/chunk-V76DI2XM.mjs +0 -183
- package/dist/chunk-V76DI2XM.mjs.map +0 -1
- package/dist/chunk-VFQ5CRZS.mjs +0 -40
- package/dist/chunk-VFQ5CRZS.mjs.map +0 -1
- package/dist/chunk-W7EDURT5.mjs +0 -92
- package/dist/chunk-W7EDURT5.mjs.map +0 -1
- package/dist/chunk-WZDVTU5C.js +0 -45
- package/dist/chunk-WZDVTU5C.js.map +0 -1
- package/dist/chunk-XPCW7TKM.mjs +0 -262
- package/dist/chunk-XPCW7TKM.mjs.map +0 -1
- package/dist/chunk-Y7AK2VVC.mjs +0 -52
- package/dist/chunk-Y7AK2VVC.mjs.map +0 -1
- package/dist/chunk-YRZVIDCF.mjs +0 -38
- package/dist/chunk-YRZVIDCF.mjs.map +0 -1
- package/dist/chunk-Z7BOREC4.js +0 -12
- package/dist/chunk-Z7BOREC4.js.map +0 -1
- package/dist/chunk-ZNTCZK7J.mjs +0 -30
- package/dist/chunk-ZNTCZK7J.mjs.map +0 -1
- package/dist/common/BaseSnapExecutor.js +0 -26
- package/dist/common/BaseSnapExecutor.js.map +0 -1
- package/dist/common/commands.js +0 -11
- package/dist/common/commands.js.map +0 -1
- package/dist/common/endowments/commonEndowmentFactory.js +0 -20
- package/dist/common/endowments/commonEndowmentFactory.js.map +0 -1
- package/dist/common/endowments/console.js +0 -13
- package/dist/common/endowments/console.js.map +0 -1
- package/dist/common/endowments/crypto.js +0 -11
- package/dist/common/endowments/crypto.js.map +0 -1
- package/dist/common/endowments/date.js +0 -9
- package/dist/common/endowments/date.js.map +0 -1
- package/dist/common/endowments/index.js +0 -21
- package/dist/common/endowments/index.js.map +0 -1
- package/dist/common/endowments/interval.js +0 -8
- package/dist/common/endowments/interval.js.map +0 -1
- package/dist/common/endowments/math.js +0 -10
- package/dist/common/endowments/math.js.map +0 -1
- package/dist/common/endowments/network.js +0 -10
- package/dist/common/endowments/network.js.map +0 -1
- package/dist/common/endowments/textDecoder.js +0 -8
- package/dist/common/endowments/textDecoder.js.map +0 -1
- package/dist/common/endowments/textEncoder.js +0 -8
- package/dist/common/endowments/textEncoder.js.map +0 -1
- package/dist/common/endowments/timeout.js +0 -8
- package/dist/common/endowments/timeout.js.map +0 -1
- package/dist/common/globalEvents.js +0 -11
- package/dist/common/globalEvents.js.map +0 -1
- package/dist/common/globalObject.js +0 -10
- package/dist/common/globalObject.js.map +0 -1
- package/dist/common/lockdown/lockdown-events.js +0 -8
- package/dist/common/lockdown/lockdown-events.js.map +0 -1
- package/dist/common/lockdown/lockdown-more.js +0 -8
- package/dist/common/lockdown/lockdown-more.js.map +0 -1
- package/dist/common/lockdown/lockdown.js +0 -22
- package/dist/common/lockdown/lockdown.js.map +0 -1
- package/dist/common/sortParams.js +0 -8
- package/dist/common/sortParams.js.map +0 -1
- package/dist/common/utils.js +0 -21
- package/dist/common/utils.js.map +0 -1
- package/dist/common/validation.js +0 -38
- package/dist/common/validation.js.map +0 -1
- package/dist/globals.d.js +0 -1
- package/dist/globals.d.js.map +0 -1
- package/dist/globals.d.mjs +0 -1
- package/dist/globals.d.mjs.map +0 -1
- package/dist/iframe/IFrameSnapExecutor.js +0 -27
- package/dist/iframe/IFrameSnapExecutor.js.map +0 -1
- package/dist/iframe/index.js +0 -35
- package/dist/iframe/index.js.map +0 -1
- package/dist/index.js +0 -9
- package/dist/index.js.map +0 -1
- package/dist/logging.js +0 -8
- package/dist/logging.js.map +0 -1
- package/dist/node-process/ChildProcessSnapExecutor.js +0 -27
- package/dist/node-process/ChildProcessSnapExecutor.js.map +0 -1
- package/dist/node-process/index.js +0 -31
- package/dist/node-process/index.js.map +0 -1
- package/dist/node-thread/ThreadSnapExecutor.js +0 -27
- package/dist/node-thread/ThreadSnapExecutor.js.map +0 -1
- package/dist/node-thread/index.js +0 -31
- package/dist/node-thread/index.js.map +0 -1
- package/dist/proxy/ProxySnapExecutor.js +0 -8
- package/dist/proxy/ProxySnapExecutor.js.map +0 -1
- package/dist/proxy/index.js +0 -9
- package/dist/proxy/index.js.map +0 -1
- package/dist/tsconfig.build.tsbuildinfo +0 -1
- package/dist/types/iframe/index.d.ts +0 -1
- package/dist/types/index.d.ts +0 -1
- package/dist/types/node-process/index.d.ts +0 -1
- package/dist/types/node-thread/ThreadSnapExecutor.d.ts +0 -4
- package/dist/types/node-thread/index.d.ts +0 -1
- package/dist/types/proxy/index.d.ts +0 -1
- package/dist/types/vendor/global.d.js +0 -1
- package/dist/types/vendor/global.d.js.map +0 -1
- package/dist/types/vendor/global.d.mjs +0 -1
- package/dist/types/vendor/global.d.mjs.map +0 -1
- package/dist/types/vendor/providers.d.js +0 -1
- package/dist/types/vendor/providers.d.js.map +0 -1
- package/dist/types/vendor/providers.d.mjs +0 -1
- package/dist/types/vendor/providers.d.mjs.map +0 -1
- package/dist/types/vendor/readable-stream.d.js +0 -1
- package/dist/types/vendor/readable-stream.d.js.map +0 -1
- package/dist/types/vendor/readable-stream.d.mjs +0 -1
- package/dist/types/vendor/readable-stream.d.mjs.map +0 -1
- package/dist/types/webview/index.d.ts +0 -1
- package/dist/types/webworker/executor/index.d.ts +0 -1
- package/dist/types/webworker/pool/index.d.ts +0 -1
- package/dist/webview/WebViewExecutorStream.js +0 -8
- package/dist/webview/WebViewExecutorStream.js.map +0 -1
- package/dist/webview/index.js +0 -26
- package/dist/webview/index.js.map +0 -1
- package/dist/webworker/executor/WebWorkerSnapExecutor.js +0 -27
- package/dist/webworker/executor/WebWorkerSnapExecutor.js.map +0 -1
- package/dist/webworker/executor/index.js +0 -35
- package/dist/webworker/executor/index.js.map +0 -1
- package/dist/webworker/pool/WebWorkerPool.js +0 -8
- package/dist/webworker/pool/WebWorkerPool.js.map +0 -1
- package/dist/webworker/pool/index.js +0 -16
- package/dist/webworker/pool/index.js.map +0 -1
package/dist/chunk-5STN3QCA.js
DELETED
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
var _chunkEXN2TFDJjs = require('./chunk-EXN2TFDJ.js');
|
|
7
|
-
|
|
8
|
-
// src/webworker/pool/WebWorkerPool.ts
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
var _postmessagestream = require('@metamask/post-message-stream');
|
|
13
|
-
var _snapsutils = require('@metamask/snaps-utils');
|
|
14
|
-
var _utils = require('@metamask/utils');
|
|
15
|
-
var _nonsecure = require('nanoid/non-secure');
|
|
16
|
-
var _poolSize, _stream, _url, _workerSourceURL, _onData, onData_fn, _initializeJob, initializeJob_fn, _terminateJob, terminateJob_fn, _getWorker, getWorker_fn, _updatePool, updatePool_fn, _createWorker, createWorker_fn, _getWorkerURL, getWorkerURL_fn;
|
|
17
|
-
var _WebWorkerPool = class _WebWorkerPool {
|
|
18
|
-
constructor(stream, url, poolSize = 3) {
|
|
19
|
-
/**
|
|
20
|
-
* Handle an incoming message from the `WebWorkerExecutionService`. This
|
|
21
|
-
* assumes that the message contains a `jobId` property, and a JSON-RPC
|
|
22
|
-
* request in the `data` property.
|
|
23
|
-
*
|
|
24
|
-
* @param data - The message data.
|
|
25
|
-
* @param data.data - The JSON-RPC request.
|
|
26
|
-
* @param data.jobId - The job ID.
|
|
27
|
-
*/
|
|
28
|
-
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _onData);
|
|
29
|
-
/**
|
|
30
|
-
* Create a new worker and set up a stream to communicate with it.
|
|
31
|
-
*
|
|
32
|
-
* @param jobId - The job ID.
|
|
33
|
-
* @returns The job.
|
|
34
|
-
*/
|
|
35
|
-
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _initializeJob);
|
|
36
|
-
/**
|
|
37
|
-
* Terminate the job with the given ID. This will close the worker and delete
|
|
38
|
-
* the job from the internal job map.
|
|
39
|
-
*
|
|
40
|
-
* @param jobId - The job ID.
|
|
41
|
-
*/
|
|
42
|
-
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _terminateJob);
|
|
43
|
-
/**
|
|
44
|
-
* Get a worker from the pool. A new worker will be created automatically.
|
|
45
|
-
*
|
|
46
|
-
* @returns The worker.
|
|
47
|
-
*/
|
|
48
|
-
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _getWorker);
|
|
49
|
-
/**
|
|
50
|
-
* Update the pool of workers. This will create new workers if the pool is
|
|
51
|
-
* below the minimum size.
|
|
52
|
-
*/
|
|
53
|
-
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _updatePool);
|
|
54
|
-
/**
|
|
55
|
-
* Create a new worker. This will fetch the worker source if it has not
|
|
56
|
-
* already been fetched.
|
|
57
|
-
*
|
|
58
|
-
* @returns The worker.
|
|
59
|
-
*/
|
|
60
|
-
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _createWorker);
|
|
61
|
-
/**
|
|
62
|
-
* Get the URL of the worker source. This will fetch the worker source if it
|
|
63
|
-
* has not already been fetched.
|
|
64
|
-
*
|
|
65
|
-
* @returns The worker source URL, as a `blob:` URL.
|
|
66
|
-
*/
|
|
67
|
-
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _getWorkerURL);
|
|
68
|
-
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _poolSize, void 0);
|
|
69
|
-
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _stream, void 0);
|
|
70
|
-
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _url, void 0);
|
|
71
|
-
this.pool = [];
|
|
72
|
-
this.jobs = /* @__PURE__ */ new Map();
|
|
73
|
-
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _workerSourceURL, void 0);
|
|
74
|
-
_chunkEXN2TFDJjs.__privateSet.call(void 0, this, _stream, stream);
|
|
75
|
-
_chunkEXN2TFDJjs.__privateSet.call(void 0, this, _url, url);
|
|
76
|
-
_chunkEXN2TFDJjs.__privateSet.call(void 0, this, _poolSize, poolSize);
|
|
77
|
-
_chunkEXN2TFDJjs.__privateGet.call(void 0, this, _stream).on("data", _chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _onData, onData_fn).bind(this));
|
|
78
|
-
}
|
|
79
|
-
/* istanbul ignore next - Constructor arguments. */
|
|
80
|
-
static initialize(stream = new (0, _postmessagestream.WindowPostMessageStream)({
|
|
81
|
-
name: "child",
|
|
82
|
-
target: "parent",
|
|
83
|
-
targetWindow: self.parent,
|
|
84
|
-
targetOrigin: "*"
|
|
85
|
-
}), url = "../executor/bundle.js", poolSize) {
|
|
86
|
-
return new _WebWorkerPool(stream, url, poolSize);
|
|
87
|
-
}
|
|
88
|
-
};
|
|
89
|
-
_poolSize = new WeakMap();
|
|
90
|
-
_stream = new WeakMap();
|
|
91
|
-
_url = new WeakMap();
|
|
92
|
-
_workerSourceURL = new WeakMap();
|
|
93
|
-
_onData = new WeakSet();
|
|
94
|
-
onData_fn = function(data) {
|
|
95
|
-
const { jobId, data: request } = data;
|
|
96
|
-
const job = this.jobs.get(jobId);
|
|
97
|
-
if (!job) {
|
|
98
|
-
_chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _initializeJob, initializeJob_fn).call(this, jobId).then(() => {
|
|
99
|
-
_chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _onData, onData_fn).call(this, data);
|
|
100
|
-
}).catch((error) => {
|
|
101
|
-
_snapsutils.logError.call(void 0, "[Worker] Error initializing job:", error.toString());
|
|
102
|
-
_chunkEXN2TFDJjs.__privateGet.call(void 0, this, _stream).write({
|
|
103
|
-
jobId,
|
|
104
|
-
data: {
|
|
105
|
-
name: "command",
|
|
106
|
-
data: {
|
|
107
|
-
jsonrpc: "2.0",
|
|
108
|
-
id: request.id ?? null,
|
|
109
|
-
error: {
|
|
110
|
-
code: -32e3,
|
|
111
|
-
message: "Internal error"
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
});
|
|
116
|
-
});
|
|
117
|
-
return;
|
|
118
|
-
}
|
|
119
|
-
if (request.method === "terminateJob") {
|
|
120
|
-
_chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _terminateJob, terminateJob_fn).call(this, jobId);
|
|
121
|
-
return;
|
|
122
|
-
}
|
|
123
|
-
job.stream.write(request);
|
|
124
|
-
};
|
|
125
|
-
_initializeJob = new WeakSet();
|
|
126
|
-
initializeJob_fn = async function(jobId) {
|
|
127
|
-
const worker = await _chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _getWorker, getWorker_fn).call(this);
|
|
128
|
-
const jobStream = new (0, _postmessagestream.WebWorkerParentPostMessageStream)({
|
|
129
|
-
worker
|
|
130
|
-
});
|
|
131
|
-
jobStream.on("data", (data) => {
|
|
132
|
-
_chunkEXN2TFDJjs.__privateGet.call(void 0, this, _stream).write({ data, jobId });
|
|
133
|
-
});
|
|
134
|
-
const job = { id: jobId, worker, stream: jobStream };
|
|
135
|
-
this.jobs.set(jobId, job);
|
|
136
|
-
return job;
|
|
137
|
-
};
|
|
138
|
-
_terminateJob = new WeakSet();
|
|
139
|
-
terminateJob_fn = function(jobId) {
|
|
140
|
-
const job = this.jobs.get(jobId);
|
|
141
|
-
_utils.assert.call(void 0, job, `Job "${jobId}" not found.`);
|
|
142
|
-
job.stream.destroy();
|
|
143
|
-
job.worker.terminate();
|
|
144
|
-
this.jobs.delete(jobId);
|
|
145
|
-
};
|
|
146
|
-
_getWorker = new WeakSet();
|
|
147
|
-
getWorker_fn = async function() {
|
|
148
|
-
if (this.pool.length === 0) {
|
|
149
|
-
await _chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _updatePool, updatePool_fn).call(this);
|
|
150
|
-
}
|
|
151
|
-
const worker = this.pool.shift();
|
|
152
|
-
_utils.assert.call(void 0, worker, "Worker not found.");
|
|
153
|
-
await _chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _updatePool, updatePool_fn).call(this);
|
|
154
|
-
return worker;
|
|
155
|
-
};
|
|
156
|
-
_updatePool = new WeakSet();
|
|
157
|
-
updatePool_fn = async function() {
|
|
158
|
-
while (this.pool.length < _chunkEXN2TFDJjs.__privateGet.call(void 0, this, _poolSize)) {
|
|
159
|
-
const worker = await _chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _createWorker, createWorker_fn).call(this);
|
|
160
|
-
this.pool.push(worker);
|
|
161
|
-
}
|
|
162
|
-
};
|
|
163
|
-
_createWorker = new WeakSet();
|
|
164
|
-
createWorker_fn = async function() {
|
|
165
|
-
return new Worker(await _chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _getWorkerURL, getWorkerURL_fn).call(this), {
|
|
166
|
-
name: `worker-${_nonsecure.nanoid.call(void 0, )}`
|
|
167
|
-
});
|
|
168
|
-
};
|
|
169
|
-
_getWorkerURL = new WeakSet();
|
|
170
|
-
getWorkerURL_fn = async function() {
|
|
171
|
-
if (_chunkEXN2TFDJjs.__privateGet.call(void 0, this, _workerSourceURL)) {
|
|
172
|
-
return _chunkEXN2TFDJjs.__privateGet.call(void 0, this, _workerSourceURL);
|
|
173
|
-
}
|
|
174
|
-
const blob = await fetch(_chunkEXN2TFDJjs.__privateGet.call(void 0, this, _url)).then(async (response) => response.blob()).then(URL.createObjectURL.bind(URL));
|
|
175
|
-
_chunkEXN2TFDJjs.__privateSet.call(void 0, this, _workerSourceURL, blob);
|
|
176
|
-
return blob;
|
|
177
|
-
};
|
|
178
|
-
var WebWorkerPool = _WebWorkerPool;
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
exports.WebWorkerPool = WebWorkerPool;
|
|
183
|
-
//# sourceMappingURL=chunk-5STN3QCA.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/webworker/pool/WebWorkerPool.ts"],"names":[],"mappings":"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","sourcesContent":["import type { BasePostMessageStream } from '@metamask/post-message-stream';\nimport {\n WebWorkerParentPostMessageStream,\n WindowPostMessageStream,\n} from '@metamask/post-message-stream';\nimport { logError } from '@metamask/snaps-utils';\nimport type { JsonRpcRequest } from '@metamask/utils';\nimport { assert } from '@metamask/utils';\nimport { nanoid } from 'nanoid/non-secure';\n\ntype ExecutorJob = {\n id: string;\n worker: Worker;\n stream: WebWorkerParentPostMessageStream;\n};\n\n/**\n * A snap executor using the WebWorker API.\n *\n * This is not a traditional snap executor, as it does not execute snaps itself.\n * Instead, it creates a pool of webworkers for each snap execution, and sends\n * the snap execution request to the webworker. The webworker is responsible for\n * executing the snap.\n */\nexport class WebWorkerPool {\n readonly #poolSize;\n\n readonly #stream: BasePostMessageStream;\n\n readonly #url: string;\n\n readonly pool: Worker[] = [];\n\n readonly jobs: Map<string, ExecutorJob> = new Map();\n\n #workerSourceURL?: string;\n\n /* istanbul ignore next - Constructor arguments. */\n static initialize(\n stream: BasePostMessageStream = new WindowPostMessageStream({\n name: 'child',\n target: 'parent',\n targetWindow: self.parent,\n targetOrigin: '*',\n }),\n url = '../executor/bundle.js',\n poolSize?: number,\n ) {\n return new WebWorkerPool(stream, url, poolSize);\n }\n\n constructor(stream: BasePostMessageStream, url: string, poolSize = 3) {\n this.#stream = stream;\n this.#url = url;\n this.#poolSize = poolSize;\n\n this.#stream.on('data', this.#onData.bind(this));\n }\n\n /**\n * Handle an incoming message from the `WebWorkerExecutionService`. This\n * assumes that the message contains a `jobId` property, and a JSON-RPC\n * request in the `data` property.\n *\n * @param data - The message data.\n * @param data.data - The JSON-RPC request.\n * @param data.jobId - The job ID.\n */\n #onData(data: { data: JsonRpcRequest; jobId: string }) {\n const { jobId, data: request } = data;\n\n const job = this.jobs.get(jobId);\n if (!job) {\n // This ensures that a job is initialized before it is used. To avoid\n // code duplication, we call the `#onData` method again, which will\n // run the rest of the logic after initialization.\n this.#initializeJob(jobId)\n .then(() => {\n this.#onData(data);\n })\n .catch((error) => {\n logError('[Worker] Error initializing job:', error.toString());\n\n this.#stream.write({\n jobId,\n data: {\n name: 'command',\n data: {\n jsonrpc: '2.0',\n id: request.id ?? null,\n error: {\n code: -32000,\n message: 'Internal error',\n },\n },\n },\n });\n });\n\n return;\n }\n\n // This is a method specific to the `WebWorkerPool`, as the service itself\n // does not have access to the workers directly.\n if (request.method === 'terminateJob') {\n this.#terminateJob(jobId);\n return;\n }\n\n job.stream.write(request);\n }\n\n /**\n * Create a new worker and set up a stream to communicate with it.\n *\n * @param jobId - The job ID.\n * @returns The job.\n */\n async #initializeJob(jobId: string): Promise<ExecutorJob> {\n const worker = await this.#getWorker();\n const jobStream = new WebWorkerParentPostMessageStream({\n worker,\n });\n\n // Write messages from the worker to the parent, wrapped with the job ID.\n jobStream.on('data', (data) => {\n this.#stream.write({ data, jobId });\n });\n\n const job = { id: jobId, worker, stream: jobStream };\n this.jobs.set(jobId, job);\n return job;\n }\n\n /**\n * Terminate the job with the given ID. This will close the worker and delete\n * the job from the internal job map.\n *\n * @param jobId - The job ID.\n */\n #terminateJob(jobId: string) {\n const job = this.jobs.get(jobId);\n assert(job, `Job \"${jobId}\" not found.`);\n\n job.stream.destroy();\n job.worker.terminate();\n\n this.jobs.delete(jobId);\n }\n\n /**\n * Get a worker from the pool. A new worker will be created automatically.\n *\n * @returns The worker.\n */\n async #getWorker() {\n // Lazily create the pool of workers.\n if (this.pool.length === 0) {\n await this.#updatePool();\n }\n\n const worker = this.pool.shift();\n assert(worker, 'Worker not found.');\n\n await this.#updatePool();\n\n return worker;\n }\n\n /**\n * Update the pool of workers. This will create new workers if the pool is\n * below the minimum size.\n */\n async #updatePool() {\n while (this.pool.length < this.#poolSize) {\n const worker = await this.#createWorker();\n this.pool.push(worker);\n }\n }\n\n /**\n * Create a new worker. This will fetch the worker source if it has not\n * already been fetched.\n *\n * @returns The worker.\n */\n async #createWorker() {\n return new Worker(await this.#getWorkerURL(), {\n name: `worker-${nanoid()}`,\n });\n }\n\n /**\n * Get the URL of the worker source. This will fetch the worker source if it\n * has not already been fetched.\n *\n * @returns The worker source URL, as a `blob:` URL.\n */\n async #getWorkerURL() {\n if (this.#workerSourceURL) {\n return this.#workerSourceURL;\n }\n\n const blob = await fetch(this.#url)\n .then(async (response) => response.blob())\n .then(URL.createObjectURL.bind(URL));\n\n this.#workerSourceURL = blob;\n return blob;\n }\n}\n"]}
|
package/dist/chunk-75RCH4ZX.mjs
DELETED
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
// src/common/validation.ts
|
|
2
|
-
import { rpcErrors } from "@metamask/rpc-errors";
|
|
3
|
-
import {
|
|
4
|
-
InterfaceContextStruct,
|
|
5
|
-
UserInputEventStruct
|
|
6
|
-
} from "@metamask/snaps-sdk";
|
|
7
|
-
import { ChainIdStruct, HandlerType } from "@metamask/snaps-utils";
|
|
8
|
-
import {
|
|
9
|
-
array,
|
|
10
|
-
assign,
|
|
11
|
-
enums,
|
|
12
|
-
is,
|
|
13
|
-
literal,
|
|
14
|
-
nullable,
|
|
15
|
-
object,
|
|
16
|
-
optional,
|
|
17
|
-
record,
|
|
18
|
-
string,
|
|
19
|
-
tuple,
|
|
20
|
-
union
|
|
21
|
-
} from "@metamask/superstruct";
|
|
22
|
-
import {
|
|
23
|
-
assertStruct,
|
|
24
|
-
JsonRpcIdStruct,
|
|
25
|
-
JsonRpcParamsStruct,
|
|
26
|
-
JsonRpcSuccessStruct,
|
|
27
|
-
JsonRpcVersionStruct,
|
|
28
|
-
JsonStruct
|
|
29
|
-
} from "@metamask/utils";
|
|
30
|
-
var JsonRpcRequestWithoutIdStruct = object({
|
|
31
|
-
jsonrpc: optional(JsonRpcVersionStruct),
|
|
32
|
-
id: optional(JsonRpcIdStruct),
|
|
33
|
-
method: string(),
|
|
34
|
-
params: optional(JsonRpcParamsStruct)
|
|
35
|
-
});
|
|
36
|
-
var EndowmentStruct = string();
|
|
37
|
-
function isEndowment(value) {
|
|
38
|
-
return is(value, EndowmentStruct);
|
|
39
|
-
}
|
|
40
|
-
function isEndowmentsArray(value) {
|
|
41
|
-
return Array.isArray(value) && value.every(isEndowment);
|
|
42
|
-
}
|
|
43
|
-
var OkStruct = literal("OK");
|
|
44
|
-
var PingRequestArgumentsStruct = optional(
|
|
45
|
-
union([literal(void 0), array()])
|
|
46
|
-
);
|
|
47
|
-
var TerminateRequestArgumentsStruct = union([
|
|
48
|
-
literal(void 0),
|
|
49
|
-
array()
|
|
50
|
-
]);
|
|
51
|
-
var ExecuteSnapRequestArgumentsStruct = tuple([
|
|
52
|
-
string(),
|
|
53
|
-
string(),
|
|
54
|
-
array(EndowmentStruct)
|
|
55
|
-
]);
|
|
56
|
-
var SnapRpcRequestArgumentsStruct = tuple([
|
|
57
|
-
string(),
|
|
58
|
-
enums(Object.values(HandlerType)),
|
|
59
|
-
string(),
|
|
60
|
-
assign(
|
|
61
|
-
JsonRpcRequestWithoutIdStruct,
|
|
62
|
-
object({
|
|
63
|
-
params: optional(record(string(), JsonStruct))
|
|
64
|
-
})
|
|
65
|
-
)
|
|
66
|
-
]);
|
|
67
|
-
var OnTransactionRequestArgumentsStruct = object({
|
|
68
|
-
// TODO: Improve `transaction` type.
|
|
69
|
-
transaction: record(string(), JsonStruct),
|
|
70
|
-
chainId: ChainIdStruct,
|
|
71
|
-
transactionOrigin: nullable(string())
|
|
72
|
-
});
|
|
73
|
-
function assertIsOnTransactionRequestArguments(value) {
|
|
74
|
-
assertStruct(
|
|
75
|
-
value,
|
|
76
|
-
OnTransactionRequestArgumentsStruct,
|
|
77
|
-
"Invalid request params",
|
|
78
|
-
rpcErrors.invalidParams
|
|
79
|
-
);
|
|
80
|
-
}
|
|
81
|
-
var OnSignatureRequestArgumentsStruct = object({
|
|
82
|
-
signature: record(string(), JsonStruct),
|
|
83
|
-
signatureOrigin: nullable(string())
|
|
84
|
-
});
|
|
85
|
-
function assertIsOnSignatureRequestArguments(value) {
|
|
86
|
-
assertStruct(
|
|
87
|
-
value,
|
|
88
|
-
OnSignatureRequestArgumentsStruct,
|
|
89
|
-
"Invalid request params",
|
|
90
|
-
rpcErrors.invalidParams
|
|
91
|
-
);
|
|
92
|
-
}
|
|
93
|
-
var baseNameLookupArgs = { chainId: ChainIdStruct };
|
|
94
|
-
var domainRequestStruct = object({
|
|
95
|
-
...baseNameLookupArgs,
|
|
96
|
-
address: string()
|
|
97
|
-
});
|
|
98
|
-
var addressRequestStruct = object({
|
|
99
|
-
...baseNameLookupArgs,
|
|
100
|
-
domain: string()
|
|
101
|
-
});
|
|
102
|
-
var OnNameLookupRequestArgumentsStruct = union([
|
|
103
|
-
domainRequestStruct,
|
|
104
|
-
addressRequestStruct
|
|
105
|
-
]);
|
|
106
|
-
function assertIsOnNameLookupRequestArguments(value) {
|
|
107
|
-
assertStruct(
|
|
108
|
-
value,
|
|
109
|
-
OnNameLookupRequestArgumentsStruct,
|
|
110
|
-
"Invalid request params",
|
|
111
|
-
rpcErrors.invalidParams
|
|
112
|
-
);
|
|
113
|
-
}
|
|
114
|
-
var OnUserInputArgumentsStruct = object({
|
|
115
|
-
id: string(),
|
|
116
|
-
event: UserInputEventStruct,
|
|
117
|
-
context: optional(nullable(InterfaceContextStruct))
|
|
118
|
-
});
|
|
119
|
-
function assertIsOnUserInputRequestArguments(value) {
|
|
120
|
-
assertStruct(
|
|
121
|
-
value,
|
|
122
|
-
OnUserInputArgumentsStruct,
|
|
123
|
-
"Invalid request params",
|
|
124
|
-
rpcErrors.invalidParams
|
|
125
|
-
);
|
|
126
|
-
}
|
|
127
|
-
var OkResponseStruct = object({
|
|
128
|
-
id: JsonRpcIdStruct,
|
|
129
|
-
jsonrpc: JsonRpcVersionStruct,
|
|
130
|
-
result: OkStruct
|
|
131
|
-
});
|
|
132
|
-
|
|
133
|
-
export {
|
|
134
|
-
JsonRpcRequestWithoutIdStruct,
|
|
135
|
-
EndowmentStruct,
|
|
136
|
-
isEndowment,
|
|
137
|
-
isEndowmentsArray,
|
|
138
|
-
PingRequestArgumentsStruct,
|
|
139
|
-
TerminateRequestArgumentsStruct,
|
|
140
|
-
ExecuteSnapRequestArgumentsStruct,
|
|
141
|
-
SnapRpcRequestArgumentsStruct,
|
|
142
|
-
OnTransactionRequestArgumentsStruct,
|
|
143
|
-
assertIsOnTransactionRequestArguments,
|
|
144
|
-
OnSignatureRequestArgumentsStruct,
|
|
145
|
-
assertIsOnSignatureRequestArguments,
|
|
146
|
-
OnNameLookupRequestArgumentsStruct,
|
|
147
|
-
assertIsOnNameLookupRequestArguments,
|
|
148
|
-
OnUserInputArgumentsStruct,
|
|
149
|
-
assertIsOnUserInputRequestArguments
|
|
150
|
-
};
|
|
151
|
-
//# sourceMappingURL=chunk-75RCH4ZX.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/common/validation.ts"],"sourcesContent":["import { rpcErrors } from '@metamask/rpc-errors';\nimport {\n InterfaceContextStruct,\n UserInputEventStruct,\n} from '@metamask/snaps-sdk';\nimport { ChainIdStruct, HandlerType } from '@metamask/snaps-utils';\nimport type { Infer } from '@metamask/superstruct';\nimport {\n array,\n assign,\n enums,\n is,\n literal,\n nullable,\n object,\n optional,\n record,\n string,\n tuple,\n union,\n} from '@metamask/superstruct';\nimport type { Json, JsonRpcSuccess } from '@metamask/utils';\nimport {\n assertStruct,\n JsonRpcIdStruct,\n JsonRpcParamsStruct,\n JsonRpcSuccessStruct,\n JsonRpcVersionStruct,\n JsonStruct,\n} from '@metamask/utils';\n\nexport const JsonRpcRequestWithoutIdStruct = object({\n jsonrpc: optional(JsonRpcVersionStruct),\n id: optional(JsonRpcIdStruct),\n method: string(),\n params: optional(JsonRpcParamsStruct),\n});\n\nexport type JsonRpcRequestWithoutId = Infer<\n typeof JsonRpcRequestWithoutIdStruct\n>;\n\nexport const EndowmentStruct = string();\nexport type Endowment = Infer<typeof EndowmentStruct>;\n\n/**\n * Check if the given value is an endowment.\n *\n * @param value - The value to check.\n * @returns Whether the value is an endowment.\n */\nexport function isEndowment(value: unknown): value is Endowment {\n return is(value, EndowmentStruct);\n}\n\n/**\n * Check if the given value is an array of endowments.\n *\n * @param value - The value to check.\n * @returns Whether the value is an array of endowments.\n */\nexport function isEndowmentsArray(value: unknown): value is Endowment[] {\n return Array.isArray(value) && value.every(isEndowment);\n}\n\nconst OkStruct = literal('OK');\n\nexport const PingRequestArgumentsStruct = optional(\n union([literal(undefined), array()]),\n);\n\nexport const TerminateRequestArgumentsStruct = union([\n literal(undefined),\n array(),\n]);\n\nexport const ExecuteSnapRequestArgumentsStruct = tuple([\n string(),\n string(),\n array(EndowmentStruct),\n]);\n\nexport const SnapRpcRequestArgumentsStruct = tuple([\n string(),\n enums(Object.values(HandlerType)),\n string(),\n assign(\n JsonRpcRequestWithoutIdStruct,\n object({\n params: optional(record(string(), JsonStruct)),\n }),\n ),\n]);\n\nexport type PingRequestArguments = Infer<typeof PingRequestArgumentsStruct>;\nexport type TerminateRequestArguments = Infer<\n typeof TerminateRequestArgumentsStruct\n>;\n\nexport type ExecuteSnapRequestArguments = Infer<\n typeof ExecuteSnapRequestArgumentsStruct\n>;\n\nexport type SnapRpcRequestArguments = Infer<\n typeof SnapRpcRequestArgumentsStruct\n>;\n\nexport type RequestArguments =\n | PingRequestArguments\n | TerminateRequestArguments\n | ExecuteSnapRequestArguments\n | SnapRpcRequestArguments;\n\nexport const OnTransactionRequestArgumentsStruct = object({\n // TODO: Improve `transaction` type.\n transaction: record(string(), JsonStruct),\n chainId: ChainIdStruct,\n transactionOrigin: nullable(string()),\n});\n\nexport type OnTransactionRequestArguments = Infer<\n typeof OnTransactionRequestArgumentsStruct\n>;\n\n/**\n * Asserts that the given value is a valid {@link OnTransactionRequestArguments}\n * object.\n *\n * @param value - The value to validate.\n * @throws If the value is not a valid {@link OnTransactionRequestArguments}\n * object.\n */\nexport function assertIsOnTransactionRequestArguments(\n value: unknown,\n): asserts value is OnTransactionRequestArguments {\n assertStruct(\n value,\n OnTransactionRequestArgumentsStruct,\n 'Invalid request params',\n rpcErrors.invalidParams,\n );\n}\n\nexport const OnSignatureRequestArgumentsStruct = object({\n signature: record(string(), JsonStruct),\n signatureOrigin: nullable(string()),\n});\n\nexport type OnSignatureRequestArguments = Infer<\n typeof OnSignatureRequestArgumentsStruct\n>;\n\n/**\n * Asserts that the given value is a valid {@link OnSignatureRequestArguments}\n * object.\n *\n * @param value - The value to validate.\n * @throws If the value is not a valid {@link OnSignatureRequestArguments}\n * object.\n */\nexport function assertIsOnSignatureRequestArguments(\n value: unknown,\n): asserts value is OnSignatureRequestArguments {\n assertStruct(\n value,\n OnSignatureRequestArgumentsStruct,\n 'Invalid request params',\n rpcErrors.invalidParams,\n );\n}\n\nconst baseNameLookupArgs = { chainId: ChainIdStruct };\nconst domainRequestStruct = object({\n ...baseNameLookupArgs,\n address: string(),\n});\nconst addressRequestStruct = object({\n ...baseNameLookupArgs,\n domain: string(),\n});\n\nexport const OnNameLookupRequestArgumentsStruct = union([\n domainRequestStruct,\n addressRequestStruct,\n]);\n\nexport type OnNameLookupRequestArguments = Infer<\n typeof OnNameLookupRequestArgumentsStruct\n>;\n\nexport type PossibleLookupRequestArgs = typeof baseNameLookupArgs & {\n address?: string;\n domain?: string;\n};\n\n/**\n * Asserts that the given value is a valid {@link OnNameLookupRequestArguments}\n * object.\n *\n * @param value - The value to validate.\n * @throws If the value is not a valid {@link OnNameLookupRequestArguments}\n * object.\n */\nexport function assertIsOnNameLookupRequestArguments(\n value: unknown,\n): asserts value is OnNameLookupRequestArguments {\n assertStruct(\n value,\n OnNameLookupRequestArgumentsStruct,\n 'Invalid request params',\n rpcErrors.invalidParams,\n );\n}\n\nexport const OnUserInputArgumentsStruct = object({\n id: string(),\n event: UserInputEventStruct,\n context: optional(nullable(InterfaceContextStruct)),\n});\n\nexport type OnUserInputArguments = Infer<typeof OnUserInputArgumentsStruct>;\n\n/**\n * Asserts that the given value is a valid {@link OnUserInputArguments}\n * object.\n *\n * @param value - The value to validate.\n * @throws If the value is not a valid {@link OnUserInputArguments}\n * object.\n */\nexport function assertIsOnUserInputRequestArguments(\n value: unknown,\n): asserts value is OnUserInputArguments {\n assertStruct(\n value,\n OnUserInputArgumentsStruct,\n 'Invalid request params',\n rpcErrors.invalidParams,\n );\n}\n\nconst OkResponseStruct = object({\n id: JsonRpcIdStruct,\n jsonrpc: JsonRpcVersionStruct,\n result: OkStruct,\n});\n\nconst SnapRpcResponse = JsonRpcSuccessStruct;\n\nexport type OkResponse = Infer<typeof OkResponseStruct>;\nexport type SnapRpcResponse = Infer<typeof SnapRpcResponse>;\n\nexport type Response = OkResponse | SnapRpcResponse;\n\ntype RequestParams<Params extends unknown[] | undefined> =\n Params extends undefined ? [] : Params;\n\ntype RequestFunction<\n Args extends RequestArguments,\n ResponseType extends JsonRpcSuccess<Json>,\n> = (...args: RequestParams<Args>) => Promise<ResponseType['result']>;\n\nexport type Ping = RequestFunction<PingRequestArguments, OkResponse>;\nexport type Terminate = RequestFunction<TerminateRequestArguments, OkResponse>;\nexport type ExecuteSnap = RequestFunction<\n ExecuteSnapRequestArguments,\n OkResponse\n>;\nexport type SnapRpc = RequestFunction<SnapRpcRequestArguments, SnapRpcResponse>;\n"],"mappings":"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","names":[]}
|
package/dist/chunk-7AJWXSDQ.mjs
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
__privateAdd,
|
|
3
|
-
__privateGet,
|
|
4
|
-
__privateSet
|
|
5
|
-
} from "./chunk-YRZVIDCF.mjs";
|
|
6
|
-
|
|
7
|
-
// src/webview/WebViewExecutorStream.ts
|
|
8
|
-
import { BasePostMessageStream } from "@metamask/post-message-stream";
|
|
9
|
-
import { isValidStreamMessage } from "@metamask/post-message-stream/dist/utils";
|
|
10
|
-
import { base64ToBytes, bytesToString } from "@metamask/utils";
|
|
11
|
-
var _name, _target, _targetWindow;
|
|
12
|
-
var WebViewExecutorStream = class extends BasePostMessageStream {
|
|
13
|
-
/**
|
|
14
|
-
* A special post-message-stream to be used by the WebView executor.
|
|
15
|
-
*
|
|
16
|
-
* This stream is different in a few ways:
|
|
17
|
-
* - It expects data to be base64 encoded
|
|
18
|
-
* - It stringifies the data it posts
|
|
19
|
-
* - It does less validation of origins
|
|
20
|
-
*
|
|
21
|
-
* @param args - Options bag.
|
|
22
|
-
* @param args.name - The name of the stream. Used to differentiate between
|
|
23
|
-
* multiple streams sharing the same window object. child:WebView
|
|
24
|
-
* @param args.target - The name of the stream to exchange messages with. parent:rnside
|
|
25
|
-
* @param args.targetWindow - The window object of the target stream.
|
|
26
|
-
*/
|
|
27
|
-
constructor({ name, target, targetWindow }) {
|
|
28
|
-
super();
|
|
29
|
-
__privateAdd(this, _name, void 0);
|
|
30
|
-
__privateAdd(this, _target, void 0);
|
|
31
|
-
__privateAdd(this, _targetWindow, void 0);
|
|
32
|
-
__privateSet(this, _name, name);
|
|
33
|
-
__privateSet(this, _target, target);
|
|
34
|
-
__privateSet(this, _targetWindow, targetWindow);
|
|
35
|
-
this._onMessage = this._onMessage.bind(this);
|
|
36
|
-
window.addEventListener("message", this._onMessage, false);
|
|
37
|
-
this._handshake();
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Webview needs to receive strings only on postMessage. That's the main difference between this and the original window post message stream.
|
|
41
|
-
* Reference: https://github.com/react-native-webview/react-native-webview/blob/master/docs/Guide.md?plain=1#L471
|
|
42
|
-
*/
|
|
43
|
-
_postMessage(data) {
|
|
44
|
-
__privateGet(this, _targetWindow).postMessage(
|
|
45
|
-
JSON.stringify({
|
|
46
|
-
target: __privateGet(this, _target),
|
|
47
|
-
data
|
|
48
|
-
})
|
|
49
|
-
);
|
|
50
|
-
}
|
|
51
|
-
_onMessage(event) {
|
|
52
|
-
if (typeof event.data !== "string") {
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
const bytes = base64ToBytes(event.data);
|
|
56
|
-
const message = JSON.parse(bytesToString(bytes));
|
|
57
|
-
if (!isValidStreamMessage(message) || message.target !== __privateGet(this, _name)) {
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
this._onData(message.data);
|
|
61
|
-
}
|
|
62
|
-
_destroy() {
|
|
63
|
-
window.removeEventListener("message", this._onMessage, false);
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
_name = new WeakMap();
|
|
67
|
-
_target = new WeakMap();
|
|
68
|
-
_targetWindow = new WeakMap();
|
|
69
|
-
|
|
70
|
-
export {
|
|
71
|
-
WebViewExecutorStream
|
|
72
|
-
};
|
|
73
|
-
//# sourceMappingURL=chunk-7AJWXSDQ.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/webview/WebViewExecutorStream.ts"],"sourcesContent":["import type { PostMessageEvent } from '@metamask/post-message-stream';\nimport { BasePostMessageStream } from '@metamask/post-message-stream';\nimport { isValidStreamMessage } from '@metamask/post-message-stream/dist/utils';\nimport { base64ToBytes, bytesToString } from '@metamask/utils';\n\ntype WebViewExecutorStreamArgs = {\n name: string;\n target: string;\n targetWindow: Window['ReactNativeWebView'];\n};\n\nexport class WebViewExecutorStream extends BasePostMessageStream {\n #name;\n\n #target;\n\n #targetWindow;\n\n /**\n * A special post-message-stream to be used by the WebView executor.\n *\n * This stream is different in a few ways:\n * - It expects data to be base64 encoded\n * - It stringifies the data it posts\n * - It does less validation of origins\n *\n * @param args - Options bag.\n * @param args.name - The name of the stream. Used to differentiate between\n * multiple streams sharing the same window object. child:WebView\n * @param args.target - The name of the stream to exchange messages with. parent:rnside\n * @param args.targetWindow - The window object of the target stream.\n */\n\n constructor({ name, target, targetWindow }: WebViewExecutorStreamArgs) {\n super();\n\n this.#name = name;\n this.#target = target;\n this.#targetWindow = targetWindow;\n\n this._onMessage = this._onMessage.bind(this);\n\n // This method is already bound.\n // eslint-disable-next-line @typescript-eslint/unbound-method\n window.addEventListener('message', this._onMessage as any, false);\n\n this._handshake();\n }\n\n /**\n * Webview needs to receive strings only on postMessage. That's the main difference between this and the original window post message stream.\n * Reference: https://github.com/react-native-webview/react-native-webview/blob/master/docs/Guide.md?plain=1#L471\n */\n\n protected _postMessage(data: unknown): void {\n this.#targetWindow.postMessage(\n JSON.stringify({\n target: this.#target,\n data,\n }),\n );\n }\n\n private _onMessage(event: PostMessageEvent): void {\n if (typeof event.data !== 'string') {\n return;\n }\n\n const bytes = base64ToBytes(event.data);\n const message = JSON.parse(bytesToString(bytes));\n\n // Notice that we don't check targetWindow or targetOrigin here.\n // This doesn't seem possible to do in RN.\n if (!isValidStreamMessage(message) || message.target !== this.#name) {\n return;\n }\n\n this._onData(message.data);\n }\n\n _destroy() {\n // This method is already bound.\n // eslint-disable-next-line @typescript-eslint/unbound-method\n window.removeEventListener('message', this._onMessage as any, false);\n }\n}\n"],"mappings":";;;;;;;AACA,SAAS,6BAA6B;AACtC,SAAS,4BAA4B;AACrC,SAAS,eAAe,qBAAqB;AAH7C;AAWO,IAAM,wBAAN,cAAoC,sBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAsB/D,YAAY,EAAE,MAAM,QAAQ,aAAa,GAA8B;AACrE,UAAM;AAtBR;AAEA;AAEA;AAoBE,uBAAK,OAAQ;AACb,uBAAK,SAAU;AACf,uBAAK,eAAgB;AAErB,SAAK,aAAa,KAAK,WAAW,KAAK,IAAI;AAI3C,WAAO,iBAAiB,WAAW,KAAK,YAAmB,KAAK;AAEhE,SAAK,WAAW;AAAA,EAClB;AAAA;AAAA;AAAA;AAAA;AAAA,EAOU,aAAa,MAAqB;AAC1C,uBAAK,eAAc;AAAA,MACjB,KAAK,UAAU;AAAA,QACb,QAAQ,mBAAK;AAAA,QACb;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EAEQ,WAAW,OAA+B;AAChD,QAAI,OAAO,MAAM,SAAS,UAAU;AAClC;AAAA,IACF;AAEA,UAAM,QAAQ,cAAc,MAAM,IAAI;AACtC,UAAM,UAAU,KAAK,MAAM,cAAc,KAAK,CAAC;AAI/C,QAAI,CAAC,qBAAqB,OAAO,KAAK,QAAQ,WAAW,mBAAK,QAAO;AACnE;AAAA,IACF;AAEA,SAAK,QAAQ,QAAQ,IAAI;AAAA,EAC3B;AAAA,EAEA,WAAW;AAGT,WAAO,oBAAoB,WAAW,KAAK,YAAmB,KAAK;AAAA,EACrE;AACF;AAzEE;AAEA;AAEA;","names":[]}
|
package/dist/chunk-7MMUJJQ2.js
DELETED
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/common/validation.ts
|
|
2
|
-
var _rpcerrors = require('@metamask/rpc-errors');
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
var _snapssdk = require('@metamask/snaps-sdk');
|
|
7
|
-
var _snapsutils = require('@metamask/snaps-utils');
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
var _superstruct = require('@metamask/superstruct');
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
var _utils = require('@metamask/utils');
|
|
30
|
-
var JsonRpcRequestWithoutIdStruct = _superstruct.object.call(void 0, {
|
|
31
|
-
jsonrpc: _superstruct.optional.call(void 0, _utils.JsonRpcVersionStruct),
|
|
32
|
-
id: _superstruct.optional.call(void 0, _utils.JsonRpcIdStruct),
|
|
33
|
-
method: _superstruct.string.call(void 0, ),
|
|
34
|
-
params: _superstruct.optional.call(void 0, _utils.JsonRpcParamsStruct)
|
|
35
|
-
});
|
|
36
|
-
var EndowmentStruct = _superstruct.string.call(void 0, );
|
|
37
|
-
function isEndowment(value) {
|
|
38
|
-
return _superstruct.is.call(void 0, value, EndowmentStruct);
|
|
39
|
-
}
|
|
40
|
-
function isEndowmentsArray(value) {
|
|
41
|
-
return Array.isArray(value) && value.every(isEndowment);
|
|
42
|
-
}
|
|
43
|
-
var OkStruct = _superstruct.literal.call(void 0, "OK");
|
|
44
|
-
var PingRequestArgumentsStruct = _superstruct.optional.call(void 0,
|
|
45
|
-
_superstruct.union.call(void 0, [_superstruct.literal.call(void 0, void 0), _superstruct.array.call(void 0, )])
|
|
46
|
-
);
|
|
47
|
-
var TerminateRequestArgumentsStruct = _superstruct.union.call(void 0, [
|
|
48
|
-
_superstruct.literal.call(void 0, void 0),
|
|
49
|
-
_superstruct.array.call(void 0, )
|
|
50
|
-
]);
|
|
51
|
-
var ExecuteSnapRequestArgumentsStruct = _superstruct.tuple.call(void 0, [
|
|
52
|
-
_superstruct.string.call(void 0, ),
|
|
53
|
-
_superstruct.string.call(void 0, ),
|
|
54
|
-
_superstruct.array.call(void 0, EndowmentStruct)
|
|
55
|
-
]);
|
|
56
|
-
var SnapRpcRequestArgumentsStruct = _superstruct.tuple.call(void 0, [
|
|
57
|
-
_superstruct.string.call(void 0, ),
|
|
58
|
-
_superstruct.enums.call(void 0, Object.values(_snapsutils.HandlerType)),
|
|
59
|
-
_superstruct.string.call(void 0, ),
|
|
60
|
-
_superstruct.assign.call(void 0,
|
|
61
|
-
JsonRpcRequestWithoutIdStruct,
|
|
62
|
-
_superstruct.object.call(void 0, {
|
|
63
|
-
params: _superstruct.optional.call(void 0, _superstruct.record.call(void 0, _superstruct.string.call(void 0, ), _utils.JsonStruct))
|
|
64
|
-
})
|
|
65
|
-
)
|
|
66
|
-
]);
|
|
67
|
-
var OnTransactionRequestArgumentsStruct = _superstruct.object.call(void 0, {
|
|
68
|
-
// TODO: Improve `transaction` type.
|
|
69
|
-
transaction: _superstruct.record.call(void 0, _superstruct.string.call(void 0, ), _utils.JsonStruct),
|
|
70
|
-
chainId: _snapsutils.ChainIdStruct,
|
|
71
|
-
transactionOrigin: _superstruct.nullable.call(void 0, _superstruct.string.call(void 0, ))
|
|
72
|
-
});
|
|
73
|
-
function assertIsOnTransactionRequestArguments(value) {
|
|
74
|
-
_utils.assertStruct.call(void 0,
|
|
75
|
-
value,
|
|
76
|
-
OnTransactionRequestArgumentsStruct,
|
|
77
|
-
"Invalid request params",
|
|
78
|
-
_rpcerrors.rpcErrors.invalidParams
|
|
79
|
-
);
|
|
80
|
-
}
|
|
81
|
-
var OnSignatureRequestArgumentsStruct = _superstruct.object.call(void 0, {
|
|
82
|
-
signature: _superstruct.record.call(void 0, _superstruct.string.call(void 0, ), _utils.JsonStruct),
|
|
83
|
-
signatureOrigin: _superstruct.nullable.call(void 0, _superstruct.string.call(void 0, ))
|
|
84
|
-
});
|
|
85
|
-
function assertIsOnSignatureRequestArguments(value) {
|
|
86
|
-
_utils.assertStruct.call(void 0,
|
|
87
|
-
value,
|
|
88
|
-
OnSignatureRequestArgumentsStruct,
|
|
89
|
-
"Invalid request params",
|
|
90
|
-
_rpcerrors.rpcErrors.invalidParams
|
|
91
|
-
);
|
|
92
|
-
}
|
|
93
|
-
var baseNameLookupArgs = { chainId: _snapsutils.ChainIdStruct };
|
|
94
|
-
var domainRequestStruct = _superstruct.object.call(void 0, {
|
|
95
|
-
...baseNameLookupArgs,
|
|
96
|
-
address: _superstruct.string.call(void 0, )
|
|
97
|
-
});
|
|
98
|
-
var addressRequestStruct = _superstruct.object.call(void 0, {
|
|
99
|
-
...baseNameLookupArgs,
|
|
100
|
-
domain: _superstruct.string.call(void 0, )
|
|
101
|
-
});
|
|
102
|
-
var OnNameLookupRequestArgumentsStruct = _superstruct.union.call(void 0, [
|
|
103
|
-
domainRequestStruct,
|
|
104
|
-
addressRequestStruct
|
|
105
|
-
]);
|
|
106
|
-
function assertIsOnNameLookupRequestArguments(value) {
|
|
107
|
-
_utils.assertStruct.call(void 0,
|
|
108
|
-
value,
|
|
109
|
-
OnNameLookupRequestArgumentsStruct,
|
|
110
|
-
"Invalid request params",
|
|
111
|
-
_rpcerrors.rpcErrors.invalidParams
|
|
112
|
-
);
|
|
113
|
-
}
|
|
114
|
-
var OnUserInputArgumentsStruct = _superstruct.object.call(void 0, {
|
|
115
|
-
id: _superstruct.string.call(void 0, ),
|
|
116
|
-
event: _snapssdk.UserInputEventStruct,
|
|
117
|
-
context: _superstruct.optional.call(void 0, _superstruct.nullable.call(void 0, _snapssdk.InterfaceContextStruct))
|
|
118
|
-
});
|
|
119
|
-
function assertIsOnUserInputRequestArguments(value) {
|
|
120
|
-
_utils.assertStruct.call(void 0,
|
|
121
|
-
value,
|
|
122
|
-
OnUserInputArgumentsStruct,
|
|
123
|
-
"Invalid request params",
|
|
124
|
-
_rpcerrors.rpcErrors.invalidParams
|
|
125
|
-
);
|
|
126
|
-
}
|
|
127
|
-
var OkResponseStruct = _superstruct.object.call(void 0, {
|
|
128
|
-
id: _utils.JsonRpcIdStruct,
|
|
129
|
-
jsonrpc: _utils.JsonRpcVersionStruct,
|
|
130
|
-
result: OkStruct
|
|
131
|
-
});
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
exports.JsonRpcRequestWithoutIdStruct = JsonRpcRequestWithoutIdStruct; exports.EndowmentStruct = EndowmentStruct; exports.isEndowment = isEndowment; exports.isEndowmentsArray = isEndowmentsArray; exports.PingRequestArgumentsStruct = PingRequestArgumentsStruct; exports.TerminateRequestArgumentsStruct = TerminateRequestArgumentsStruct; exports.ExecuteSnapRequestArgumentsStruct = ExecuteSnapRequestArgumentsStruct; exports.SnapRpcRequestArgumentsStruct = SnapRpcRequestArgumentsStruct; exports.OnTransactionRequestArgumentsStruct = OnTransactionRequestArgumentsStruct; exports.assertIsOnTransactionRequestArguments = assertIsOnTransactionRequestArguments; exports.OnSignatureRequestArgumentsStruct = OnSignatureRequestArgumentsStruct; exports.assertIsOnSignatureRequestArguments = assertIsOnSignatureRequestArguments; exports.OnNameLookupRequestArgumentsStruct = OnNameLookupRequestArgumentsStruct; exports.assertIsOnNameLookupRequestArguments = assertIsOnNameLookupRequestArguments; exports.OnUserInputArgumentsStruct = OnUserInputArgumentsStruct; exports.assertIsOnUserInputRequestArguments = assertIsOnUserInputRequestArguments;
|
|
151
|
-
//# sourceMappingURL=chunk-7MMUJJQ2.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/common/validation.ts"],"names":[],"mappings":"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","sourcesContent":["import { rpcErrors } from '@metamask/rpc-errors';\nimport {\n InterfaceContextStruct,\n UserInputEventStruct,\n} from '@metamask/snaps-sdk';\nimport { ChainIdStruct, HandlerType } from '@metamask/snaps-utils';\nimport type { Infer } from '@metamask/superstruct';\nimport {\n array,\n assign,\n enums,\n is,\n literal,\n nullable,\n object,\n optional,\n record,\n string,\n tuple,\n union,\n} from '@metamask/superstruct';\nimport type { Json, JsonRpcSuccess } from '@metamask/utils';\nimport {\n assertStruct,\n JsonRpcIdStruct,\n JsonRpcParamsStruct,\n JsonRpcSuccessStruct,\n JsonRpcVersionStruct,\n JsonStruct,\n} from '@metamask/utils';\n\nexport const JsonRpcRequestWithoutIdStruct = object({\n jsonrpc: optional(JsonRpcVersionStruct),\n id: optional(JsonRpcIdStruct),\n method: string(),\n params: optional(JsonRpcParamsStruct),\n});\n\nexport type JsonRpcRequestWithoutId = Infer<\n typeof JsonRpcRequestWithoutIdStruct\n>;\n\nexport const EndowmentStruct = string();\nexport type Endowment = Infer<typeof EndowmentStruct>;\n\n/**\n * Check if the given value is an endowment.\n *\n * @param value - The value to check.\n * @returns Whether the value is an endowment.\n */\nexport function isEndowment(value: unknown): value is Endowment {\n return is(value, EndowmentStruct);\n}\n\n/**\n * Check if the given value is an array of endowments.\n *\n * @param value - The value to check.\n * @returns Whether the value is an array of endowments.\n */\nexport function isEndowmentsArray(value: unknown): value is Endowment[] {\n return Array.isArray(value) && value.every(isEndowment);\n}\n\nconst OkStruct = literal('OK');\n\nexport const PingRequestArgumentsStruct = optional(\n union([literal(undefined), array()]),\n);\n\nexport const TerminateRequestArgumentsStruct = union([\n literal(undefined),\n array(),\n]);\n\nexport const ExecuteSnapRequestArgumentsStruct = tuple([\n string(),\n string(),\n array(EndowmentStruct),\n]);\n\nexport const SnapRpcRequestArgumentsStruct = tuple([\n string(),\n enums(Object.values(HandlerType)),\n string(),\n assign(\n JsonRpcRequestWithoutIdStruct,\n object({\n params: optional(record(string(), JsonStruct)),\n }),\n ),\n]);\n\nexport type PingRequestArguments = Infer<typeof PingRequestArgumentsStruct>;\nexport type TerminateRequestArguments = Infer<\n typeof TerminateRequestArgumentsStruct\n>;\n\nexport type ExecuteSnapRequestArguments = Infer<\n typeof ExecuteSnapRequestArgumentsStruct\n>;\n\nexport type SnapRpcRequestArguments = Infer<\n typeof SnapRpcRequestArgumentsStruct\n>;\n\nexport type RequestArguments =\n | PingRequestArguments\n | TerminateRequestArguments\n | ExecuteSnapRequestArguments\n | SnapRpcRequestArguments;\n\nexport const OnTransactionRequestArgumentsStruct = object({\n // TODO: Improve `transaction` type.\n transaction: record(string(), JsonStruct),\n chainId: ChainIdStruct,\n transactionOrigin: nullable(string()),\n});\n\nexport type OnTransactionRequestArguments = Infer<\n typeof OnTransactionRequestArgumentsStruct\n>;\n\n/**\n * Asserts that the given value is a valid {@link OnTransactionRequestArguments}\n * object.\n *\n * @param value - The value to validate.\n * @throws If the value is not a valid {@link OnTransactionRequestArguments}\n * object.\n */\nexport function assertIsOnTransactionRequestArguments(\n value: unknown,\n): asserts value is OnTransactionRequestArguments {\n assertStruct(\n value,\n OnTransactionRequestArgumentsStruct,\n 'Invalid request params',\n rpcErrors.invalidParams,\n );\n}\n\nexport const OnSignatureRequestArgumentsStruct = object({\n signature: record(string(), JsonStruct),\n signatureOrigin: nullable(string()),\n});\n\nexport type OnSignatureRequestArguments = Infer<\n typeof OnSignatureRequestArgumentsStruct\n>;\n\n/**\n * Asserts that the given value is a valid {@link OnSignatureRequestArguments}\n * object.\n *\n * @param value - The value to validate.\n * @throws If the value is not a valid {@link OnSignatureRequestArguments}\n * object.\n */\nexport function assertIsOnSignatureRequestArguments(\n value: unknown,\n): asserts value is OnSignatureRequestArguments {\n assertStruct(\n value,\n OnSignatureRequestArgumentsStruct,\n 'Invalid request params',\n rpcErrors.invalidParams,\n );\n}\n\nconst baseNameLookupArgs = { chainId: ChainIdStruct };\nconst domainRequestStruct = object({\n ...baseNameLookupArgs,\n address: string(),\n});\nconst addressRequestStruct = object({\n ...baseNameLookupArgs,\n domain: string(),\n});\n\nexport const OnNameLookupRequestArgumentsStruct = union([\n domainRequestStruct,\n addressRequestStruct,\n]);\n\nexport type OnNameLookupRequestArguments = Infer<\n typeof OnNameLookupRequestArgumentsStruct\n>;\n\nexport type PossibleLookupRequestArgs = typeof baseNameLookupArgs & {\n address?: string;\n domain?: string;\n};\n\n/**\n * Asserts that the given value is a valid {@link OnNameLookupRequestArguments}\n * object.\n *\n * @param value - The value to validate.\n * @throws If the value is not a valid {@link OnNameLookupRequestArguments}\n * object.\n */\nexport function assertIsOnNameLookupRequestArguments(\n value: unknown,\n): asserts value is OnNameLookupRequestArguments {\n assertStruct(\n value,\n OnNameLookupRequestArgumentsStruct,\n 'Invalid request params',\n rpcErrors.invalidParams,\n );\n}\n\nexport const OnUserInputArgumentsStruct = object({\n id: string(),\n event: UserInputEventStruct,\n context: optional(nullable(InterfaceContextStruct)),\n});\n\nexport type OnUserInputArguments = Infer<typeof OnUserInputArgumentsStruct>;\n\n/**\n * Asserts that the given value is a valid {@link OnUserInputArguments}\n * object.\n *\n * @param value - The value to validate.\n * @throws If the value is not a valid {@link OnUserInputArguments}\n * object.\n */\nexport function assertIsOnUserInputRequestArguments(\n value: unknown,\n): asserts value is OnUserInputArguments {\n assertStruct(\n value,\n OnUserInputArgumentsStruct,\n 'Invalid request params',\n rpcErrors.invalidParams,\n );\n}\n\nconst OkResponseStruct = object({\n id: JsonRpcIdStruct,\n jsonrpc: JsonRpcVersionStruct,\n result: OkStruct,\n});\n\nconst SnapRpcResponse = JsonRpcSuccessStruct;\n\nexport type OkResponse = Infer<typeof OkResponseStruct>;\nexport type SnapRpcResponse = Infer<typeof SnapRpcResponse>;\n\nexport type Response = OkResponse | SnapRpcResponse;\n\ntype RequestParams<Params extends unknown[] | undefined> =\n Params extends undefined ? [] : Params;\n\ntype RequestFunction<\n Args extends RequestArguments,\n ResponseType extends JsonRpcSuccess<Json>,\n> = (...args: RequestParams<Args>) => Promise<ResponseType['result']>;\n\nexport type Ping = RequestFunction<PingRequestArguments, OkResponse>;\nexport type Terminate = RequestFunction<TerminateRequestArguments, OkResponse>;\nexport type ExecuteSnap = RequestFunction<\n ExecuteSnapRequestArguments,\n OkResponse\n>;\nexport type SnapRpc = RequestFunction<SnapRpcRequestArguments, SnapRpcResponse>;\n"]}
|
package/dist/chunk-BCBKEUCG.mjs
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
createCrypto
|
|
3
|
-
} from "./chunk-Q42NNJFY.mjs";
|
|
4
|
-
import {
|
|
5
|
-
rootRealmGlobal
|
|
6
|
-
} from "./chunk-IX5S3V47.mjs";
|
|
7
|
-
|
|
8
|
-
// src/common/endowments/math.ts
|
|
9
|
-
function createMath() {
|
|
10
|
-
const keys = Object.getOwnPropertyNames(
|
|
11
|
-
rootRealmGlobal.Math
|
|
12
|
-
);
|
|
13
|
-
const math = keys.reduce((target, key) => {
|
|
14
|
-
if (key === "random") {
|
|
15
|
-
return target;
|
|
16
|
-
}
|
|
17
|
-
return { ...target, [key]: rootRealmGlobal.Math[key] };
|
|
18
|
-
}, {});
|
|
19
|
-
const { crypto: hardenedCrypto } = createCrypto();
|
|
20
|
-
return harden({
|
|
21
|
-
Math: {
|
|
22
|
-
...math,
|
|
23
|
-
random: () => {
|
|
24
|
-
return hardenedCrypto.getRandomValues(new Uint32Array(1))[0] / 2 ** 32;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
var endowmentModule = {
|
|
30
|
-
names: ["Math"],
|
|
31
|
-
factory: createMath
|
|
32
|
-
};
|
|
33
|
-
var math_default = endowmentModule;
|
|
34
|
-
|
|
35
|
-
export {
|
|
36
|
-
math_default
|
|
37
|
-
};
|
|
38
|
-
//# sourceMappingURL=chunk-BCBKEUCG.mjs.map
|