@metamask/snaps-execution-environments 1.0.2 → 2.0.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.
Files changed (233) hide show
  1. package/CHANGELOG.md +37 -278
  2. package/dist/browserify/iframe/bundle.js +6 -4
  3. package/dist/browserify/iframe/index.html +2 -0
  4. package/dist/browserify/node-process/bundle.js +8 -2
  5. package/dist/browserify/node-thread/bundle.js +8 -2
  6. package/dist/browserify/offscreen/bundle.js +6 -9
  7. package/dist/browserify/offscreen/index.html +2 -0
  8. package/dist/browserify/worker-executor/bundle.js +12157 -0
  9. package/dist/browserify/worker-pool/bundle.js +7 -0
  10. package/dist/browserify/worker-pool/index.html +12152 -0
  11. package/dist/cjs/common/BaseSnapExecutor.js +423 -0
  12. package/dist/cjs/common/BaseSnapExecutor.js.map +1 -0
  13. package/dist/cjs/common/commands.js +81 -0
  14. package/dist/cjs/common/commands.js.map +1 -0
  15. package/dist/cjs/common/endowments/commonEndowmentFactory.js +147 -0
  16. package/dist/cjs/common/endowments/commonEndowmentFactory.js.map +1 -0
  17. package/dist/cjs/common/endowments/console.js +134 -0
  18. package/dist/cjs/common/endowments/console.js.map +1 -0
  19. package/dist/cjs/common/endowments/crypto.js +44 -0
  20. package/dist/cjs/common/endowments/crypto.js.map +1 -0
  21. package/dist/cjs/common/endowments/date.js +53 -0
  22. package/dist/cjs/common/endowments/date.js.map +1 -0
  23. package/dist/cjs/common/endowments/index.js +91 -0
  24. package/dist/cjs/common/endowments/index.js.map +1 -0
  25. package/dist/cjs/common/endowments/interval.js +61 -0
  26. package/dist/cjs/common/endowments/interval.js.map +1 -0
  27. package/dist/cjs/common/endowments/math.js +67 -0
  28. package/dist/cjs/common/endowments/math.js.map +1 -0
  29. package/dist/cjs/common/endowments/network.js +216 -0
  30. package/dist/cjs/common/endowments/network.js.map +1 -0
  31. package/dist/cjs/common/endowments/textDecoder.js +28 -0
  32. package/dist/cjs/common/endowments/textDecoder.js.map +1 -0
  33. package/dist/cjs/common/endowments/textEncoder.js +28 -0
  34. package/dist/cjs/common/endowments/textEncoder.js.map +1 -0
  35. package/dist/cjs/common/endowments/timeout.js +63 -0
  36. package/dist/cjs/common/endowments/timeout.js.map +1 -0
  37. package/dist/cjs/common/globalEvents.js +39 -0
  38. package/dist/cjs/common/globalEvents.js.map +1 -0
  39. package/dist/cjs/common/globalObject.js +53 -0
  40. package/dist/{common → cjs/common}/globalObject.js.map +1 -1
  41. package/dist/cjs/common/lockdown/lockdown-events.js +74 -0
  42. package/dist/cjs/common/lockdown/lockdown-events.js.map +1 -0
  43. package/dist/cjs/common/lockdown/lockdown-more.js +73 -0
  44. package/dist/cjs/common/lockdown/lockdown-more.js.map +1 -0
  45. package/dist/cjs/common/lockdown/lockdown.js +30 -0
  46. package/dist/cjs/common/lockdown/lockdown.js.map +1 -0
  47. package/dist/cjs/common/sortParams.js +26 -0
  48. package/dist/cjs/common/sortParams.js.map +1 -0
  49. package/dist/cjs/common/utils.js +132 -0
  50. package/dist/cjs/common/utils.js.map +1 -0
  51. package/dist/cjs/common/validation.js +118 -0
  52. package/dist/cjs/common/validation.js.map +1 -0
  53. package/dist/cjs/iframe/IFrameSnapExecutor.js +50 -0
  54. package/dist/cjs/iframe/IFrameSnapExecutor.js.map +1 -0
  55. package/dist/cjs/iframe/index.js +13 -0
  56. package/dist/cjs/iframe/index.js.map +1 -0
  57. package/dist/cjs/logging.js +15 -0
  58. package/dist/cjs/logging.js.map +1 -0
  59. package/dist/cjs/node-process/ChildProcessSnapExecutor.js +39 -0
  60. package/dist/cjs/node-process/ChildProcessSnapExecutor.js.map +1 -0
  61. package/dist/cjs/node-process/index.js +11 -0
  62. package/dist/cjs/node-process/index.js.map +1 -0
  63. package/dist/cjs/node-thread/ThreadSnapExecutor.js +39 -0
  64. package/dist/cjs/node-thread/ThreadSnapExecutor.js.map +1 -0
  65. package/dist/cjs/node-thread/index.js +11 -0
  66. package/dist/cjs/node-thread/index.js.map +1 -0
  67. package/dist/cjs/offscreen/OffscreenSnapExecutor.js +173 -0
  68. package/dist/cjs/offscreen/OffscreenSnapExecutor.js.map +1 -0
  69. package/dist/cjs/offscreen/index.js +19 -0
  70. package/dist/cjs/offscreen/index.js.map +1 -0
  71. package/dist/cjs/webworker/executor/WebWorkerSnapExecutor.js +45 -0
  72. package/dist/cjs/webworker/executor/WebWorkerSnapExecutor.js.map +1 -0
  73. package/dist/cjs/webworker/executor/index.js +13 -0
  74. package/dist/cjs/webworker/executor/index.js.map +1 -0
  75. package/dist/cjs/webworker/pool/WebWorkerPool.js +248 -0
  76. package/dist/cjs/webworker/pool/WebWorkerPool.js.map +1 -0
  77. package/dist/cjs/webworker/pool/index.js +13 -0
  78. package/dist/cjs/webworker/pool/index.js.map +1 -0
  79. package/dist/esm/common/BaseSnapExecutor.js +408 -0
  80. package/dist/esm/common/BaseSnapExecutor.js.map +1 -0
  81. package/dist/esm/common/commands.js +80 -0
  82. package/dist/esm/common/commands.js.map +1 -0
  83. package/dist/esm/common/endowments/commonEndowmentFactory.js +132 -0
  84. package/dist/esm/common/endowments/commonEndowmentFactory.js.map +1 -0
  85. package/dist/esm/common/endowments/console.js +116 -0
  86. package/dist/esm/common/endowments/console.js.map +1 -0
  87. package/dist/esm/common/endowments/crypto.js +26 -0
  88. package/dist/esm/common/endowments/crypto.js.map +1 -0
  89. package/dist/{common → esm/common}/endowments/date.js +20 -16
  90. package/dist/esm/common/endowments/date.js.map +1 -0
  91. package/dist/{common → esm/common}/endowments/index.js +34 -36
  92. package/dist/esm/common/endowments/index.js.map +1 -0
  93. package/dist/{common → esm/common}/endowments/interval.js +13 -12
  94. package/dist/esm/common/endowments/interval.js.map +1 -0
  95. package/dist/{common → esm/common}/endowments/math.js +21 -15
  96. package/dist/esm/common/endowments/math.js.map +1 -0
  97. package/dist/esm/common/endowments/network.js +206 -0
  98. package/dist/esm/common/endowments/network.js.map +1 -0
  99. package/dist/esm/common/endowments/textDecoder.js +18 -0
  100. package/dist/esm/common/endowments/textDecoder.js.map +1 -0
  101. package/dist/esm/common/endowments/textEncoder.js +18 -0
  102. package/dist/esm/common/endowments/textEncoder.js.map +1 -0
  103. package/dist/{common → esm/common}/endowments/timeout.js +14 -13
  104. package/dist/esm/common/endowments/timeout.js.map +1 -0
  105. package/dist/esm/common/globalEvents.js +35 -0
  106. package/dist/esm/common/globalEvents.js.map +1 -0
  107. package/dist/esm/common/globalObject.js +36 -0
  108. package/dist/esm/common/globalObject.js.map +1 -0
  109. package/dist/esm/common/lockdown/lockdown-events.js +66 -0
  110. package/dist/esm/common/lockdown/lockdown-events.js.map +1 -0
  111. package/dist/{common → esm/common}/lockdown/lockdown-more.js +15 -22
  112. package/dist/esm/common/lockdown/lockdown-more.js.map +1 -0
  113. package/dist/{common → esm/common}/lockdown/lockdown.js +6 -11
  114. package/dist/esm/common/lockdown/lockdown.js.map +1 -0
  115. package/dist/{common → esm/common}/sortParams.js +7 -13
  116. package/dist/esm/common/sortParams.js.map +1 -0
  117. package/dist/{common → esm/common}/utils.js +43 -56
  118. package/dist/esm/common/utils.js.map +1 -0
  119. package/dist/esm/common/validation.js +94 -0
  120. package/dist/esm/common/validation.js.map +1 -0
  121. package/dist/esm/iframe/IFrameSnapExecutor.js +35 -0
  122. package/dist/esm/iframe/IFrameSnapExecutor.js.map +1 -0
  123. package/dist/esm/iframe/index.js +9 -0
  124. package/dist/esm/iframe/index.js.map +1 -0
  125. package/dist/esm/logging.js +10 -0
  126. package/dist/esm/logging.js.map +1 -0
  127. package/dist/esm/node-process/ChildProcessSnapExecutor.js +24 -0
  128. package/dist/esm/node-process/ChildProcessSnapExecutor.js.map +1 -0
  129. package/dist/esm/node-process/index.js +7 -0
  130. package/dist/esm/node-process/index.js.map +1 -0
  131. package/dist/esm/node-thread/ThreadSnapExecutor.js +24 -0
  132. package/dist/esm/node-thread/ThreadSnapExecutor.js.map +1 -0
  133. package/dist/esm/node-thread/index.js +7 -0
  134. package/dist/esm/node-thread/index.js.map +1 -0
  135. package/dist/esm/offscreen/OffscreenSnapExecutor.js +176 -0
  136. package/dist/esm/offscreen/OffscreenSnapExecutor.js.map +1 -0
  137. package/dist/esm/offscreen/index.js +15 -0
  138. package/dist/esm/offscreen/index.js.map +1 -0
  139. package/dist/esm/webworker/executor/WebWorkerSnapExecutor.js +30 -0
  140. package/dist/esm/webworker/executor/WebWorkerSnapExecutor.js.map +1 -0
  141. package/dist/esm/webworker/executor/index.js +9 -0
  142. package/dist/esm/webworker/executor/index.js.map +1 -0
  143. package/dist/esm/webworker/pool/WebWorkerPool.js +245 -0
  144. package/dist/esm/webworker/pool/WebWorkerPool.js.map +1 -0
  145. package/dist/esm/webworker/pool/index.js +9 -0
  146. package/dist/esm/webworker/pool/index.js.map +1 -0
  147. package/dist/{common → types/common}/BaseSnapExecutor.d.ts +7 -7
  148. package/dist/{common → types/common}/commands.d.ts +2 -2
  149. package/dist/{common → types/common}/endowments/commonEndowmentFactory.d.ts +5 -1
  150. package/dist/types/common/endowments/console.d.ts +45 -0
  151. package/dist/{common → types/common}/endowments/crypto.d.ts +4 -0
  152. package/dist/{common → types/common}/endowments/index.d.ts +5 -3
  153. package/dist/{common → types/common}/globalEvents.d.ts +1 -0
  154. package/dist/{common → types/common}/sortParams.d.ts +1 -1
  155. package/dist/{common → types/common}/utils.d.ts +5 -4
  156. package/dist/{common → types/common}/validation.d.ts +26 -10
  157. package/dist/{iframe → types/iframe}/IFrameSnapExecutor.d.ts +1 -1
  158. package/dist/{offscreen → types/offscreen}/OffscreenSnapExecutor.d.ts +2 -1
  159. package/dist/types/webworker/executor/WebWorkerSnapExecutor.d.ts +13 -0
  160. package/dist/types/webworker/executor/index.d.ts +1 -0
  161. package/dist/types/webworker/pool/WebWorkerPool.d.ts +23 -0
  162. package/dist/types/webworker/pool/index.d.ts +1 -0
  163. package/package.json +52 -41
  164. package/dist/common/BaseSnapExecutor.js +0 -370
  165. package/dist/common/BaseSnapExecutor.js.map +0 -1
  166. package/dist/common/commands.js +0 -65
  167. package/dist/common/commands.js.map +0 -1
  168. package/dist/common/endowments/commonEndowmentFactory.js +0 -75
  169. package/dist/common/endowments/commonEndowmentFactory.js.map +0 -1
  170. package/dist/common/endowments/crypto.js +0 -28
  171. package/dist/common/endowments/crypto.js.map +0 -1
  172. package/dist/common/endowments/date.js.map +0 -1
  173. package/dist/common/endowments/index.js.map +0 -1
  174. package/dist/common/endowments/interval.js.map +0 -1
  175. package/dist/common/endowments/math.js.map +0 -1
  176. package/dist/common/endowments/network.js +0 -177
  177. package/dist/common/endowments/network.js.map +0 -1
  178. package/dist/common/endowments/textDecoder.js +0 -18
  179. package/dist/common/endowments/textDecoder.js.map +0 -1
  180. package/dist/common/endowments/textEncoder.js +0 -18
  181. package/dist/common/endowments/textEncoder.js.map +0 -1
  182. package/dist/common/endowments/timeout.js.map +0 -1
  183. package/dist/common/globalEvents.js +0 -47
  184. package/dist/common/globalEvents.js.map +0 -1
  185. package/dist/common/globalObject.js +0 -50
  186. package/dist/common/keyring.d.ts +0 -12
  187. package/dist/common/keyring.js +0 -42
  188. package/dist/common/keyring.js.map +0 -1
  189. package/dist/common/lockdown/lockdown-events.js +0 -60
  190. package/dist/common/lockdown/lockdown-events.js.map +0 -1
  191. package/dist/common/lockdown/lockdown-more.js.map +0 -1
  192. package/dist/common/lockdown/lockdown.js.map +0 -1
  193. package/dist/common/sortParams.js.map +0 -1
  194. package/dist/common/utils.js.map +0 -1
  195. package/dist/common/validation.js +0 -109
  196. package/dist/common/validation.js.map +0 -1
  197. package/dist/iframe/IFrameSnapExecutor.js +0 -42
  198. package/dist/iframe/IFrameSnapExecutor.js.map +0 -1
  199. package/dist/iframe/index.js +0 -10
  200. package/dist/iframe/index.js.map +0 -1
  201. package/dist/logging.js +0 -13
  202. package/dist/logging.js.map +0 -1
  203. package/dist/node-process/ChildProcessSnapExecutor.js +0 -30
  204. package/dist/node-process/ChildProcessSnapExecutor.js.map +0 -1
  205. package/dist/node-process/index.js +0 -8
  206. package/dist/node-process/index.js.map +0 -1
  207. package/dist/node-thread/ThreadSnapExecutor.js +0 -30
  208. package/dist/node-thread/ThreadSnapExecutor.js.map +0 -1
  209. package/dist/node-thread/index.js +0 -8
  210. package/dist/node-thread/index.js.map +0 -1
  211. package/dist/offscreen/OffscreenSnapExecutor.js +0 -104
  212. package/dist/offscreen/OffscreenSnapExecutor.js.map +0 -1
  213. package/dist/offscreen/index.js +0 -16
  214. package/dist/offscreen/index.js.map +0 -1
  215. package/dist/openrpc.json +0 -210
  216. /package/dist/{common → types/common}/endowments/date.d.ts +0 -0
  217. /package/dist/{common → types/common}/endowments/interval.d.ts +0 -0
  218. /package/dist/{common → types/common}/endowments/math.d.ts +0 -0
  219. /package/dist/{common → types/common}/endowments/network.d.ts +0 -0
  220. /package/dist/{common → types/common}/endowments/textDecoder.d.ts +0 -0
  221. /package/dist/{common → types/common}/endowments/textEncoder.d.ts +0 -0
  222. /package/dist/{common → types/common}/endowments/timeout.d.ts +0 -0
  223. /package/dist/{common → types/common}/globalObject.d.ts +0 -0
  224. /package/dist/{common → types/common}/lockdown/lockdown-events.d.ts +0 -0
  225. /package/dist/{common → types/common}/lockdown/lockdown-more.d.ts +0 -0
  226. /package/dist/{common → types/common}/lockdown/lockdown.d.ts +0 -0
  227. /package/dist/{iframe → types/iframe}/index.d.ts +0 -0
  228. /package/dist/{logging.d.ts → types/logging.d.ts} +0 -0
  229. /package/dist/{node-process → types/node-process}/ChildProcessSnapExecutor.d.ts +0 -0
  230. /package/dist/{node-process → types/node-process}/index.d.ts +0 -0
  231. /package/dist/{node-thread → types/node-thread}/ThreadSnapExecutor.d.ts +0 -0
  232. /package/dist/{node-thread → types/node-thread}/index.d.ts +0 -0
  233. /package/dist/{offscreen → types/offscreen}/index.d.ts +0 -0
package/dist/openrpc.json DELETED
@@ -1,210 +0,0 @@
1
- {
2
- "openrpc": "1.2.4",
3
- "info": {
4
- "title": "MetaMask Snaps Execution Environment API",
5
- "version": "0.0.0-development"
6
- },
7
- "methods": [
8
- {
9
- "name": "ping",
10
- "description": "confirms that a connection has been established with the execution environment",
11
- "params": [],
12
- "result": {
13
- "name": "PingResult",
14
- "schema": {
15
- "$ref": "#/components/schemas/OK"
16
- }
17
- }
18
- },
19
- {
20
- "name": "terminate",
21
- "description": "tells the execution environment that it is being shut down",
22
- "params": [],
23
- "result": {
24
- "name": "TerminateResult",
25
- "schema": {
26
- "$ref": "#/components/schemas/OK"
27
- }
28
- }
29
- },
30
- {
31
- "name": "executeSnap",
32
- "description": "executes a snap in the environment. The snap can then be interacted with via `snapRpc`",
33
- "params": [
34
- {
35
- "name": "snapName",
36
- "required": true,
37
- "description": "the name of the snap",
38
- "schema": {
39
- "title": "SnapName",
40
- "type": "string"
41
- }
42
- },
43
- {
44
- "name": "sourceCode",
45
- "description": "a snaps source code that gets executed in the environment",
46
- "required": true,
47
- "schema": {
48
- "title": "SourceCode",
49
- "type": "string"
50
- }
51
- },
52
- {
53
- "name": "endowments",
54
- "description": "A list of endowments to provide to SES",
55
- "required": false,
56
- "schema": {
57
- "title": "Endowments",
58
- "description": "An array of the names of the endowments",
59
- "type": "array",
60
- "items": {
61
- "title": "Endowment",
62
- "type": "string"
63
- }
64
- }
65
- }
66
- ],
67
- "result": {
68
- "name": "executeSnapResult",
69
- "schema": {
70
- "$ref": "#/components/schemas/OK"
71
- }
72
- },
73
- "examples": [
74
- {
75
- "name": "BasicTestSnapExecuteExample",
76
- "params": [
77
- {
78
- "name": "snapName",
79
- "value": "TestSnap"
80
- },
81
- {
82
- "name": "sourceCode",
83
- "value": "module.exports.onRpcRequest = async ({ request }) => { return request.method + request.id }"
84
- }
85
- ],
86
- "result": {
87
- "name": "BasicTestSnapExampleResult",
88
- "value": "OK"
89
- }
90
- }
91
- ]
92
- },
93
- {
94
- "name": "snapRpc",
95
- "params": [
96
- {
97
- "name": "target",
98
- "required": true,
99
- "description": "the name of the snap",
100
- "schema": {
101
- "title": "Target",
102
- "type": "string"
103
- }
104
- },
105
- {
106
- "name": "handler",
107
- "required": true,
108
- "description": "the handler to trigger on the snap",
109
- "schema": {
110
- "title": "Handler",
111
- "type": "string",
112
- "enum": ["onRpcRequest", "onTransaction", "keyring"]
113
- }
114
- },
115
- {
116
- "name": "origin",
117
- "required": true,
118
- "description": "Origin of the snap JSON-RPC request",
119
- "schema": {
120
- "title": "Origin",
121
- "type": "string"
122
- }
123
- },
124
- {
125
- "name": "request",
126
- "required": true,
127
- "description": "JSON-RPC request",
128
- "schema": {
129
- "$ref": "#/components/schemas/JsonRpcRequest"
130
- }
131
- }
132
- ],
133
- "result": {
134
- "name": "HandleSnapRpcResult",
135
- "schema": {
136
- "title": "SnapRpcResult"
137
- }
138
- },
139
- "examples": [
140
- {
141
- "name": "TestSnapExample",
142
- "params": [
143
- {
144
- "name": "target",
145
- "value": "TestSnap"
146
- },
147
- {
148
- "name": "origin",
149
- "value": "foo.com"
150
- },
151
- {
152
- "name": "request",
153
- "value": {
154
- "jsonrpc": "2.0",
155
- "method": "hello",
156
- "params": [],
157
- "id": 1
158
- }
159
- }
160
- ],
161
- "result": {
162
- "name": "TestSnapResultExample",
163
- "value": "hello1"
164
- }
165
- }
166
- ]
167
- }
168
- ],
169
- "components": {
170
- "schemas": {
171
- "OK": {
172
- "title": "OK",
173
- "type": "string",
174
- "const": "OK"
175
- },
176
- "JsonRpcRequest": {
177
- "title": "JsonRpcRequest",
178
- "type": "object",
179
- "required": ["jsonrpc", "method"],
180
- "properties": {
181
- "jsonrpc": {
182
- "title": "JSONRPCString",
183
- "type": "string",
184
- "const": "2.0"
185
- },
186
- "id": {
187
- "title": "JSONRPCID",
188
- "oneOf": [
189
- {
190
- "type": "string"
191
- },
192
- {
193
- "type": "number"
194
- }
195
- ]
196
- },
197
- "method": {
198
- "title": "JSONRPCMethod",
199
- "description": "the name of the method",
200
- "type": "string"
201
- },
202
- "params": {
203
- "title": "JSONRPCParams",
204
- "type": ["array", "object"]
205
- }
206
- }
207
- }
208
- }
209
- }
210
- }
File without changes
File without changes
File without changes
File without changes