@deeeed/metamask-harness 0.34.1 → 0.34.2
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 -0
- package/adapters/mobile/bridge-runtime/cdp-bridge.cjs +222 -0
- package/adapters/mobile/bridge-runtime/console-forwarder.cjs +22 -1
- package/adapters/mobile/bridge-runtime/lib/ws-client.cjs +18 -0
- package/adapters/mobile/open-device.sh +6 -4
- package/dist/adapters/mobile/prepare.js +1 -4
- package/dist/adapters.js +134 -6
- package/dist/commands/launch/mobile.js +16 -2
- package/dist/live-adapter-contract.js +6 -6
- package/dist/recipe-security.js +2 -0
- package/dist/runner.js +53 -8
- package/dist/runtime-context.js +1 -0
- package/library/actions/mobile/perps/measure_homepage_visible.mjs +4 -0
- package/library/actions/mobile/perps/performance-capture.mjs +506 -120
- package/library/actions/mobile/perps/perps.mjs +221 -38
- package/library/actions/mobile/perps/prepare_local_snapshot_endpoint.mjs +58 -0
- package/library/actions/mobile/platform/bridge.mjs +38 -5
- package/library/actions/mobile/wallet/ensure_unlocked.mjs +5 -1
- package/library/manifests/mobile.action-manifest.json +226 -512
- package/library/recipes/mobile/perps/performance.homepage.cold-position-sample.recipe.json +120 -0
- package/library/recipes/mobile/perps/performance.homepage.ios-background-reconnect.recipe.json +7 -6
- package/library/recipes/mobile/perps/performance.homepage.ios-cold-no-cache.recipe.json +5 -5
- package/package.json +1 -1
|
@@ -77,9 +77,7 @@
|
|
|
77
77
|
"type": "string"
|
|
78
78
|
}
|
|
79
79
|
},
|
|
80
|
-
"required": [
|
|
81
|
-
"path"
|
|
82
|
-
],
|
|
80
|
+
"required": ["path"],
|
|
83
81
|
"additionalProperties": false
|
|
84
82
|
}
|
|
85
83
|
},
|
|
@@ -123,13 +121,7 @@
|
|
|
123
121
|
"array"
|
|
124
122
|
],
|
|
125
123
|
"items": {
|
|
126
|
-
"type": [
|
|
127
|
-
"string",
|
|
128
|
-
"number",
|
|
129
|
-
"integer",
|
|
130
|
-
"boolean",
|
|
131
|
-
"object"
|
|
132
|
-
]
|
|
124
|
+
"type": ["string", "number", "integer", "boolean", "object"]
|
|
133
125
|
}
|
|
134
126
|
},
|
|
135
127
|
"all": {
|
|
@@ -154,10 +146,7 @@
|
|
|
154
146
|
"additionalProperties": false
|
|
155
147
|
}
|
|
156
148
|
},
|
|
157
|
-
"required": [
|
|
158
|
-
"path",
|
|
159
|
-
"assert"
|
|
160
|
-
],
|
|
149
|
+
"required": ["path", "assert"],
|
|
161
150
|
"additionalProperties": false
|
|
162
151
|
}
|
|
163
152
|
},
|
|
@@ -237,13 +226,7 @@
|
|
|
237
226
|
"array"
|
|
238
227
|
],
|
|
239
228
|
"items": {
|
|
240
|
-
"type": [
|
|
241
|
-
"string",
|
|
242
|
-
"number",
|
|
243
|
-
"integer",
|
|
244
|
-
"boolean",
|
|
245
|
-
"object"
|
|
246
|
-
]
|
|
229
|
+
"type": ["string", "number", "integer", "boolean", "object"]
|
|
247
230
|
}
|
|
248
231
|
},
|
|
249
232
|
"all": {
|
|
@@ -292,15 +275,10 @@
|
|
|
292
275
|
},
|
|
293
276
|
"scope": {
|
|
294
277
|
"type": "string",
|
|
295
|
-
"enum": [
|
|
296
|
-
"run",
|
|
297
|
-
"file"
|
|
298
|
-
]
|
|
278
|
+
"enum": ["run", "file"]
|
|
299
279
|
}
|
|
300
280
|
},
|
|
301
|
-
"required": [
|
|
302
|
-
"path"
|
|
303
|
-
],
|
|
281
|
+
"required": ["path"],
|
|
304
282
|
"additionalProperties": false
|
|
305
283
|
}
|
|
306
284
|
},
|
|
@@ -327,10 +305,7 @@
|
|
|
327
305
|
"artifacts": {
|
|
328
306
|
"type": "array",
|
|
329
307
|
"items": {
|
|
330
|
-
"type": [
|
|
331
|
-
"string",
|
|
332
|
-
"object"
|
|
333
|
-
],
|
|
308
|
+
"type": ["string", "object"],
|
|
334
309
|
"properties": {
|
|
335
310
|
"path": {
|
|
336
311
|
"type": "string"
|
|
@@ -364,9 +339,7 @@
|
|
|
364
339
|
}
|
|
365
340
|
}
|
|
366
341
|
},
|
|
367
|
-
"required": [
|
|
368
|
-
"artifacts"
|
|
369
|
-
],
|
|
342
|
+
"required": ["artifacts"],
|
|
370
343
|
"additionalProperties": false
|
|
371
344
|
}
|
|
372
345
|
},
|
|
@@ -414,15 +387,10 @@
|
|
|
414
387
|
"type": "string"
|
|
415
388
|
}
|
|
416
389
|
},
|
|
417
|
-
"required": [
|
|
418
|
-
"value",
|
|
419
|
-
"equals"
|
|
420
|
-
],
|
|
390
|
+
"required": ["value", "equals"],
|
|
421
391
|
"additionalProperties": false
|
|
422
392
|
},
|
|
423
|
-
"result_cases": [
|
|
424
|
-
"match"
|
|
425
|
-
]
|
|
393
|
+
"result_cases": ["match"]
|
|
426
394
|
},
|
|
427
395
|
"ui.navigate": {
|
|
428
396
|
"description": "Navigate by semantic page intent through the adapter-owned current route mapping, then verify the live destination. Route drift fails loudly; raw route/screen params must be verified against the current app first.",
|
|
@@ -431,11 +399,7 @@
|
|
|
431
399
|
"properties": {
|
|
432
400
|
"page": {
|
|
433
401
|
"type": "string",
|
|
434
|
-
"enum": [
|
|
435
|
-
"home",
|
|
436
|
-
"perps",
|
|
437
|
-
"perps-market"
|
|
438
|
-
]
|
|
402
|
+
"enum": ["home", "perps", "perps-market"]
|
|
439
403
|
},
|
|
440
404
|
"market": {
|
|
441
405
|
"type": "string"
|
|
@@ -559,9 +523,7 @@
|
|
|
559
523
|
"type": "boolean"
|
|
560
524
|
}
|
|
561
525
|
},
|
|
562
|
-
"required": [
|
|
563
|
-
"key"
|
|
564
|
-
],
|
|
526
|
+
"required": ["key"],
|
|
565
527
|
"additionalProperties": false
|
|
566
528
|
},
|
|
567
529
|
"examples": [
|
|
@@ -656,6 +618,22 @@
|
|
|
656
618
|
"offset": {
|
|
657
619
|
"type": "number"
|
|
658
620
|
},
|
|
621
|
+
"measure_from_test_id": {
|
|
622
|
+
"type": "string",
|
|
623
|
+
"description": "Visible start target sampled inside the app immediately before scrolling. Requires exactly one measurement target."
|
|
624
|
+
},
|
|
625
|
+
"measure_target_test_id": {
|
|
626
|
+
"type": "string",
|
|
627
|
+
"description": "Visible testID whose first in-app observation ends the measured scroll transition. Mutually exclusive with measure_target_text."
|
|
628
|
+
},
|
|
629
|
+
"measure_target_text": {
|
|
630
|
+
"type": "string",
|
|
631
|
+
"description": "Visible text whose first in-app observation ends the measured scroll transition. Mutually exclusive with measure_target_test_id."
|
|
632
|
+
},
|
|
633
|
+
"measure_required_present_test_id": {
|
|
634
|
+
"type": "string",
|
|
635
|
+
"description": "Optional React-tree testID that must be present at the same observation as the visible measurement target."
|
|
636
|
+
},
|
|
659
637
|
"scroll_into_view": {
|
|
660
638
|
"type": "boolean"
|
|
661
639
|
},
|
|
@@ -879,13 +857,7 @@
|
|
|
879
857
|
},
|
|
880
858
|
"expected": {
|
|
881
859
|
"type": "string",
|
|
882
|
-
"enum": [
|
|
883
|
-
"present",
|
|
884
|
-
"visible",
|
|
885
|
-
"absent",
|
|
886
|
-
"hidden",
|
|
887
|
-
"not_present"
|
|
888
|
-
]
|
|
860
|
+
"enum": ["present", "visible", "absent", "hidden", "not_present"]
|
|
889
861
|
},
|
|
890
862
|
"visible": {
|
|
891
863
|
"type": "boolean"
|
|
@@ -922,9 +894,7 @@
|
|
|
922
894
|
},
|
|
923
895
|
"ui.locators": {
|
|
924
896
|
"description": "List ranked, copy-pasteable ui.press targets from the current ui.visible observation. Prefer high-confidence test IDs when updating durable recipe source after exploratory interaction.",
|
|
925
|
-
"execution_capabilities": [
|
|
926
|
-
"host-read-export"
|
|
927
|
-
],
|
|
897
|
+
"execution_capabilities": ["host-read-export"],
|
|
928
898
|
"schema": {
|
|
929
899
|
"type": "object",
|
|
930
900
|
"properties": {},
|
|
@@ -1045,12 +1015,12 @@
|
|
|
1045
1015
|
"runtime_ready_timeout_ms": {
|
|
1046
1016
|
"type": "integer"
|
|
1047
1017
|
},
|
|
1018
|
+
"require_process_continuity": {
|
|
1019
|
+
"type": "boolean"
|
|
1020
|
+
},
|
|
1048
1021
|
"platform": {
|
|
1049
1022
|
"type": "string",
|
|
1050
|
-
"enum": [
|
|
1051
|
-
"ios",
|
|
1052
|
-
"android"
|
|
1053
|
-
]
|
|
1023
|
+
"enum": ["ios", "android"]
|
|
1054
1024
|
},
|
|
1055
1025
|
"watcher_port": {
|
|
1056
1026
|
"type": "number"
|
|
@@ -1174,11 +1144,7 @@
|
|
|
1174
1144
|
},
|
|
1175
1145
|
"status": {
|
|
1176
1146
|
"type": "string",
|
|
1177
|
-
"enum": [
|
|
1178
|
-
"running",
|
|
1179
|
-
"pass",
|
|
1180
|
-
"fail"
|
|
1181
|
-
]
|
|
1147
|
+
"enum": ["running", "pass", "fail"]
|
|
1182
1148
|
},
|
|
1183
1149
|
"node_id": {
|
|
1184
1150
|
"type": "string"
|
|
@@ -1285,9 +1251,7 @@
|
|
|
1285
1251
|
"next": "done"
|
|
1286
1252
|
}
|
|
1287
1253
|
],
|
|
1288
|
-
"execution_capabilities": [
|
|
1289
|
-
"app-mutation"
|
|
1290
|
-
]
|
|
1254
|
+
"execution_capabilities": ["app-mutation"]
|
|
1291
1255
|
},
|
|
1292
1256
|
"metamask.wallet.ensure_unlocked": {
|
|
1293
1257
|
"description": "Unlock the wallet with the fixture password when it is currently locked.",
|
|
@@ -1310,9 +1274,7 @@
|
|
|
1310
1274
|
"next": "done"
|
|
1311
1275
|
}
|
|
1312
1276
|
],
|
|
1313
|
-
"execution_capabilities": [
|
|
1314
|
-
"app-mutation"
|
|
1315
|
-
]
|
|
1277
|
+
"execution_capabilities": ["app-mutation"]
|
|
1316
1278
|
},
|
|
1317
1279
|
"metamask.wallet.select_account": {
|
|
1318
1280
|
"description": "mobile action to select a wallet account by address, id, or display name.",
|
|
@@ -1353,9 +1315,7 @@
|
|
|
1353
1315
|
"next": "done"
|
|
1354
1316
|
}
|
|
1355
1317
|
],
|
|
1356
|
-
"execution_capabilities": [
|
|
1357
|
-
"app-mutation"
|
|
1358
|
-
]
|
|
1318
|
+
"execution_capabilities": ["app-mutation"]
|
|
1359
1319
|
},
|
|
1360
1320
|
"metamask.wallet.list_accounts": {
|
|
1361
1321
|
"description": "List redacted wallet accounts and identify the selected account without mutating the app.",
|
|
@@ -1365,12 +1325,7 @@
|
|
|
1365
1325
|
"scope": {
|
|
1366
1326
|
"type": "string",
|
|
1367
1327
|
"default": "named",
|
|
1368
|
-
"enum": [
|
|
1369
|
-
"selected",
|
|
1370
|
-
"named",
|
|
1371
|
-
"evm",
|
|
1372
|
-
"all"
|
|
1373
|
-
],
|
|
1328
|
+
"enum": ["selected", "named", "evm", "all"],
|
|
1374
1329
|
"description": "Account scope. Defaults to named human-visible accounts; use selected for the active account, evm for EVM accounts, or all for the full inventory."
|
|
1375
1330
|
}
|
|
1376
1331
|
},
|
|
@@ -1430,10 +1385,7 @@
|
|
|
1430
1385
|
},
|
|
1431
1386
|
"mode": {
|
|
1432
1387
|
"type": "string",
|
|
1433
|
-
"enum": [
|
|
1434
|
-
"matching",
|
|
1435
|
-
"all"
|
|
1436
|
-
],
|
|
1388
|
+
"enum": ["matching", "all"],
|
|
1437
1389
|
"description": "matching selects requested symbols; all selects every live item returned by the product."
|
|
1438
1390
|
},
|
|
1439
1391
|
"selector": {
|
|
@@ -1441,10 +1393,7 @@
|
|
|
1441
1393
|
"properties": {
|
|
1442
1394
|
"mode": {
|
|
1443
1395
|
"type": "string",
|
|
1444
|
-
"enum": [
|
|
1445
|
-
"matching",
|
|
1446
|
-
"all"
|
|
1447
|
-
]
|
|
1396
|
+
"enum": ["matching", "all"]
|
|
1448
1397
|
},
|
|
1449
1398
|
"market": {
|
|
1450
1399
|
"type": "string"
|
|
@@ -1466,20 +1415,14 @@
|
|
|
1466
1415
|
},
|
|
1467
1416
|
"side": {
|
|
1468
1417
|
"type": "string",
|
|
1469
|
-
"enum": [
|
|
1470
|
-
"long",
|
|
1471
|
-
"short"
|
|
1472
|
-
]
|
|
1418
|
+
"enum": ["long", "short"]
|
|
1473
1419
|
}
|
|
1474
1420
|
},
|
|
1475
1421
|
"additionalProperties": false
|
|
1476
1422
|
},
|
|
1477
1423
|
"side": {
|
|
1478
1424
|
"type": "string",
|
|
1479
|
-
"enum": [
|
|
1480
|
-
"long",
|
|
1481
|
-
"short"
|
|
1482
|
-
],
|
|
1425
|
+
"enum": ["long", "short"],
|
|
1483
1426
|
"description": "Optional position/order side filter."
|
|
1484
1427
|
},
|
|
1485
1428
|
"timeout_ms": {
|
|
@@ -1527,10 +1470,7 @@
|
|
|
1527
1470
|
},
|
|
1528
1471
|
"mode": {
|
|
1529
1472
|
"type": "string",
|
|
1530
|
-
"enum": [
|
|
1531
|
-
"matching",
|
|
1532
|
-
"all"
|
|
1533
|
-
],
|
|
1473
|
+
"enum": ["matching", "all"],
|
|
1534
1474
|
"description": "matching selects requested symbols; all selects every live item returned by the product."
|
|
1535
1475
|
},
|
|
1536
1476
|
"selector": {
|
|
@@ -1538,10 +1478,7 @@
|
|
|
1538
1478
|
"properties": {
|
|
1539
1479
|
"mode": {
|
|
1540
1480
|
"type": "string",
|
|
1541
|
-
"enum": [
|
|
1542
|
-
"matching",
|
|
1543
|
-
"all"
|
|
1544
|
-
]
|
|
1481
|
+
"enum": ["matching", "all"]
|
|
1545
1482
|
},
|
|
1546
1483
|
"market": {
|
|
1547
1484
|
"type": "string"
|
|
@@ -1563,20 +1500,14 @@
|
|
|
1563
1500
|
},
|
|
1564
1501
|
"side": {
|
|
1565
1502
|
"type": "string",
|
|
1566
|
-
"enum": [
|
|
1567
|
-
"long",
|
|
1568
|
-
"short"
|
|
1569
|
-
]
|
|
1503
|
+
"enum": ["long", "short"]
|
|
1570
1504
|
}
|
|
1571
1505
|
},
|
|
1572
1506
|
"additionalProperties": false
|
|
1573
1507
|
},
|
|
1574
1508
|
"side": {
|
|
1575
1509
|
"type": "string",
|
|
1576
|
-
"enum": [
|
|
1577
|
-
"long",
|
|
1578
|
-
"short"
|
|
1579
|
-
],
|
|
1510
|
+
"enum": ["long", "short"],
|
|
1580
1511
|
"description": "Optional position/order side filter."
|
|
1581
1512
|
},
|
|
1582
1513
|
"timeout_ms": {
|
|
@@ -1624,10 +1555,7 @@
|
|
|
1624
1555
|
},
|
|
1625
1556
|
"mode": {
|
|
1626
1557
|
"type": "string",
|
|
1627
|
-
"enum": [
|
|
1628
|
-
"matching",
|
|
1629
|
-
"all"
|
|
1630
|
-
],
|
|
1558
|
+
"enum": ["matching", "all"],
|
|
1631
1559
|
"description": "matching selects requested symbols; all selects every live item returned by the product."
|
|
1632
1560
|
},
|
|
1633
1561
|
"selector": {
|
|
@@ -1635,10 +1563,7 @@
|
|
|
1635
1563
|
"properties": {
|
|
1636
1564
|
"mode": {
|
|
1637
1565
|
"type": "string",
|
|
1638
|
-
"enum": [
|
|
1639
|
-
"matching",
|
|
1640
|
-
"all"
|
|
1641
|
-
]
|
|
1566
|
+
"enum": ["matching", "all"]
|
|
1642
1567
|
},
|
|
1643
1568
|
"market": {
|
|
1644
1569
|
"type": "string"
|
|
@@ -1660,20 +1585,14 @@
|
|
|
1660
1585
|
},
|
|
1661
1586
|
"side": {
|
|
1662
1587
|
"type": "string",
|
|
1663
|
-
"enum": [
|
|
1664
|
-
"long",
|
|
1665
|
-
"short"
|
|
1666
|
-
]
|
|
1588
|
+
"enum": ["long", "short"]
|
|
1667
1589
|
}
|
|
1668
1590
|
},
|
|
1669
1591
|
"additionalProperties": false
|
|
1670
1592
|
},
|
|
1671
1593
|
"side": {
|
|
1672
1594
|
"type": "string",
|
|
1673
|
-
"enum": [
|
|
1674
|
-
"long",
|
|
1675
|
-
"short"
|
|
1676
|
-
],
|
|
1595
|
+
"enum": ["long", "short"],
|
|
1677
1596
|
"description": "Optional position/order side filter."
|
|
1678
1597
|
},
|
|
1679
1598
|
"timeout_ms": {
|
|
@@ -1691,18 +1610,12 @@
|
|
|
1691
1610
|
},
|
|
1692
1611
|
{
|
|
1693
1612
|
"action": "metamask.perps.close_positions",
|
|
1694
|
-
"markets": [
|
|
1695
|
-
"BTC",
|
|
1696
|
-
"ETH"
|
|
1697
|
-
],
|
|
1613
|
+
"markets": ["BTC", "ETH"],
|
|
1698
1614
|
"intent": "Close selected Perps positions before continuing",
|
|
1699
1615
|
"next": "done"
|
|
1700
1616
|
}
|
|
1701
1617
|
],
|
|
1702
|
-
"execution_capabilities": [
|
|
1703
|
-
"app-mutation",
|
|
1704
|
-
"external-mutation"
|
|
1705
|
-
]
|
|
1618
|
+
"execution_capabilities": ["app-mutation", "external-mutation"]
|
|
1706
1619
|
},
|
|
1707
1620
|
"metamask.perps.close_orders": {
|
|
1708
1621
|
"description": "mobile Default to testnet for Perps mutations; mainnet is read-only unless explicitly requested. Cancel selected live Perps open orders. Use selector/mode params to cancel matching symbols or all orders.",
|
|
@@ -1733,10 +1646,7 @@
|
|
|
1733
1646
|
},
|
|
1734
1647
|
"mode": {
|
|
1735
1648
|
"type": "string",
|
|
1736
|
-
"enum": [
|
|
1737
|
-
"matching",
|
|
1738
|
-
"all"
|
|
1739
|
-
],
|
|
1649
|
+
"enum": ["matching", "all"],
|
|
1740
1650
|
"description": "matching selects requested symbols; all selects every live item returned by the product."
|
|
1741
1651
|
},
|
|
1742
1652
|
"selector": {
|
|
@@ -1744,10 +1654,7 @@
|
|
|
1744
1654
|
"properties": {
|
|
1745
1655
|
"mode": {
|
|
1746
1656
|
"type": "string",
|
|
1747
|
-
"enum": [
|
|
1748
|
-
"matching",
|
|
1749
|
-
"all"
|
|
1750
|
-
]
|
|
1657
|
+
"enum": ["matching", "all"]
|
|
1751
1658
|
},
|
|
1752
1659
|
"market": {
|
|
1753
1660
|
"type": "string"
|
|
@@ -1769,20 +1676,14 @@
|
|
|
1769
1676
|
},
|
|
1770
1677
|
"side": {
|
|
1771
1678
|
"type": "string",
|
|
1772
|
-
"enum": [
|
|
1773
|
-
"long",
|
|
1774
|
-
"short"
|
|
1775
|
-
]
|
|
1679
|
+
"enum": ["long", "short"]
|
|
1776
1680
|
}
|
|
1777
1681
|
},
|
|
1778
1682
|
"additionalProperties": false
|
|
1779
1683
|
},
|
|
1780
1684
|
"side": {
|
|
1781
1685
|
"type": "string",
|
|
1782
|
-
"enum": [
|
|
1783
|
-
"long",
|
|
1784
|
-
"short"
|
|
1785
|
-
],
|
|
1686
|
+
"enum": ["long", "short"],
|
|
1786
1687
|
"description": "Optional position/order side filter."
|
|
1787
1688
|
},
|
|
1788
1689
|
"timeout_ms": {
|
|
@@ -1805,10 +1706,7 @@
|
|
|
1805
1706
|
"next": "done"
|
|
1806
1707
|
}
|
|
1807
1708
|
],
|
|
1808
|
-
"execution_capabilities": [
|
|
1809
|
-
"app-mutation",
|
|
1810
|
-
"external-mutation"
|
|
1811
|
-
]
|
|
1709
|
+
"execution_capabilities": ["app-mutation", "external-mutation"]
|
|
1812
1710
|
},
|
|
1813
1711
|
"metamask.perps.place_order": {
|
|
1814
1712
|
"description": "mobile Place a Perps order through a supported app/API path. Default to testnet; mainnet order placement requires an explicit user request.",
|
|
@@ -1839,10 +1737,7 @@
|
|
|
1839
1737
|
},
|
|
1840
1738
|
"mode": {
|
|
1841
1739
|
"type": "string",
|
|
1842
|
-
"enum": [
|
|
1843
|
-
"matching",
|
|
1844
|
-
"all"
|
|
1845
|
-
],
|
|
1740
|
+
"enum": ["matching", "all"],
|
|
1846
1741
|
"description": "matching selects requested symbols; all selects every live item returned by the product."
|
|
1847
1742
|
},
|
|
1848
1743
|
"selector": {
|
|
@@ -1850,10 +1745,7 @@
|
|
|
1850
1745
|
"properties": {
|
|
1851
1746
|
"mode": {
|
|
1852
1747
|
"type": "string",
|
|
1853
|
-
"enum": [
|
|
1854
|
-
"matching",
|
|
1855
|
-
"all"
|
|
1856
|
-
]
|
|
1748
|
+
"enum": ["matching", "all"]
|
|
1857
1749
|
},
|
|
1858
1750
|
"market": {
|
|
1859
1751
|
"type": "string"
|
|
@@ -1875,37 +1767,25 @@
|
|
|
1875
1767
|
},
|
|
1876
1768
|
"side": {
|
|
1877
1769
|
"type": "string",
|
|
1878
|
-
"enum": [
|
|
1879
|
-
"long",
|
|
1880
|
-
"short"
|
|
1881
|
-
]
|
|
1770
|
+
"enum": ["long", "short"]
|
|
1882
1771
|
}
|
|
1883
1772
|
},
|
|
1884
1773
|
"additionalProperties": false
|
|
1885
1774
|
},
|
|
1886
1775
|
"side": {
|
|
1887
1776
|
"type": "string",
|
|
1888
|
-
"enum": [
|
|
1889
|
-
"long",
|
|
1890
|
-
"short"
|
|
1891
|
-
],
|
|
1777
|
+
"enum": ["long", "short"],
|
|
1892
1778
|
"description": "Required order direction."
|
|
1893
1779
|
},
|
|
1894
1780
|
"timeout_ms": {
|
|
1895
1781
|
"type": "number"
|
|
1896
1782
|
},
|
|
1897
1783
|
"amount": {
|
|
1898
|
-
"type": [
|
|
1899
|
-
"string",
|
|
1900
|
-
"number"
|
|
1901
|
-
],
|
|
1784
|
+
"type": ["string", "number"],
|
|
1902
1785
|
"description": "USD amount/notional alias."
|
|
1903
1786
|
},
|
|
1904
1787
|
"notional": {
|
|
1905
|
-
"type": [
|
|
1906
|
-
"string",
|
|
1907
|
-
"number"
|
|
1908
|
-
],
|
|
1788
|
+
"type": ["string", "number"],
|
|
1909
1789
|
"description": "USD notional alias."
|
|
1910
1790
|
},
|
|
1911
1791
|
"size": {
|
|
@@ -1930,10 +1810,7 @@
|
|
|
1930
1810
|
"next": "done"
|
|
1931
1811
|
}
|
|
1932
1812
|
],
|
|
1933
|
-
"execution_capabilities": [
|
|
1934
|
-
"app-mutation",
|
|
1935
|
-
"external-mutation"
|
|
1936
|
-
]
|
|
1813
|
+
"execution_capabilities": ["app-mutation", "external-mutation"]
|
|
1937
1814
|
},
|
|
1938
1815
|
"metamask.perps.assert_positions": {
|
|
1939
1816
|
"description": "mobile Assert live Perps positions are present or absent for an explicit market selection or mode=all.",
|
|
@@ -1964,10 +1841,7 @@
|
|
|
1964
1841
|
},
|
|
1965
1842
|
"mode": {
|
|
1966
1843
|
"type": "string",
|
|
1967
|
-
"enum": [
|
|
1968
|
-
"matching",
|
|
1969
|
-
"all"
|
|
1970
|
-
],
|
|
1844
|
+
"enum": ["matching", "all"],
|
|
1971
1845
|
"description": "matching selects requested symbols; all selects every live item returned by the product."
|
|
1972
1846
|
},
|
|
1973
1847
|
"selector": {
|
|
@@ -1975,10 +1849,7 @@
|
|
|
1975
1849
|
"properties": {
|
|
1976
1850
|
"mode": {
|
|
1977
1851
|
"type": "string",
|
|
1978
|
-
"enum": [
|
|
1979
|
-
"matching",
|
|
1980
|
-
"all"
|
|
1981
|
-
]
|
|
1852
|
+
"enum": ["matching", "all"]
|
|
1982
1853
|
},
|
|
1983
1854
|
"market": {
|
|
1984
1855
|
"type": "string"
|
|
@@ -2000,20 +1871,14 @@
|
|
|
2000
1871
|
},
|
|
2001
1872
|
"side": {
|
|
2002
1873
|
"type": "string",
|
|
2003
|
-
"enum": [
|
|
2004
|
-
"long",
|
|
2005
|
-
"short"
|
|
2006
|
-
]
|
|
1874
|
+
"enum": ["long", "short"]
|
|
2007
1875
|
}
|
|
2008
1876
|
},
|
|
2009
1877
|
"additionalProperties": false
|
|
2010
1878
|
},
|
|
2011
1879
|
"side": {
|
|
2012
1880
|
"type": "string",
|
|
2013
|
-
"enum": [
|
|
2014
|
-
"long",
|
|
2015
|
-
"short"
|
|
2016
|
-
],
|
|
1881
|
+
"enum": ["long", "short"],
|
|
2017
1882
|
"description": "Optional position/order side filter."
|
|
2018
1883
|
},
|
|
2019
1884
|
"timeout_ms": {
|
|
@@ -2021,19 +1886,11 @@
|
|
|
2021
1886
|
},
|
|
2022
1887
|
"state": {
|
|
2023
1888
|
"type": "string",
|
|
2024
|
-
"enum": [
|
|
2025
|
-
"none",
|
|
2026
|
-
"absent",
|
|
2027
|
-
"closed",
|
|
2028
|
-
"open",
|
|
2029
|
-
"present"
|
|
2030
|
-
],
|
|
1889
|
+
"enum": ["none", "absent", "closed", "open", "present"],
|
|
2031
1890
|
"description": "Desired/expected selected collection state."
|
|
2032
1891
|
}
|
|
2033
1892
|
},
|
|
2034
|
-
"required": [
|
|
2035
|
-
"state"
|
|
2036
|
-
],
|
|
1893
|
+
"required": ["state"],
|
|
2037
1894
|
"additionalProperties": false
|
|
2038
1895
|
},
|
|
2039
1896
|
"examples": [
|
|
@@ -2076,10 +1933,7 @@
|
|
|
2076
1933
|
},
|
|
2077
1934
|
"mode": {
|
|
2078
1935
|
"type": "string",
|
|
2079
|
-
"enum": [
|
|
2080
|
-
"matching",
|
|
2081
|
-
"all"
|
|
2082
|
-
],
|
|
1936
|
+
"enum": ["matching", "all"],
|
|
2083
1937
|
"description": "matching selects requested symbols; all selects every live item returned by the product."
|
|
2084
1938
|
},
|
|
2085
1939
|
"selector": {
|
|
@@ -2087,10 +1941,7 @@
|
|
|
2087
1941
|
"properties": {
|
|
2088
1942
|
"mode": {
|
|
2089
1943
|
"type": "string",
|
|
2090
|
-
"enum": [
|
|
2091
|
-
"matching",
|
|
2092
|
-
"all"
|
|
2093
|
-
]
|
|
1944
|
+
"enum": ["matching", "all"]
|
|
2094
1945
|
},
|
|
2095
1946
|
"market": {
|
|
2096
1947
|
"type": "string"
|
|
@@ -2112,20 +1963,14 @@
|
|
|
2112
1963
|
},
|
|
2113
1964
|
"side": {
|
|
2114
1965
|
"type": "string",
|
|
2115
|
-
"enum": [
|
|
2116
|
-
"long",
|
|
2117
|
-
"short"
|
|
2118
|
-
]
|
|
1966
|
+
"enum": ["long", "short"]
|
|
2119
1967
|
}
|
|
2120
1968
|
},
|
|
2121
1969
|
"additionalProperties": false
|
|
2122
1970
|
},
|
|
2123
1971
|
"side": {
|
|
2124
1972
|
"type": "string",
|
|
2125
|
-
"enum": [
|
|
2126
|
-
"long",
|
|
2127
|
-
"short"
|
|
2128
|
-
],
|
|
1973
|
+
"enum": ["long", "short"],
|
|
2129
1974
|
"description": "Optional position/order side filter."
|
|
2130
1975
|
},
|
|
2131
1976
|
"timeout_ms": {
|
|
@@ -2133,19 +1978,11 @@
|
|
|
2133
1978
|
},
|
|
2134
1979
|
"state": {
|
|
2135
1980
|
"type": "string",
|
|
2136
|
-
"enum": [
|
|
2137
|
-
"none",
|
|
2138
|
-
"absent",
|
|
2139
|
-
"closed",
|
|
2140
|
-
"open",
|
|
2141
|
-
"present"
|
|
2142
|
-
],
|
|
1981
|
+
"enum": ["none", "absent", "closed", "open", "present"],
|
|
2143
1982
|
"description": "Desired/expected selected collection state."
|
|
2144
1983
|
}
|
|
2145
1984
|
},
|
|
2146
|
-
"required": [
|
|
2147
|
-
"state"
|
|
2148
|
-
],
|
|
1985
|
+
"required": ["state"],
|
|
2149
1986
|
"additionalProperties": false
|
|
2150
1987
|
},
|
|
2151
1988
|
"examples": [
|
|
@@ -2188,10 +2025,7 @@
|
|
|
2188
2025
|
},
|
|
2189
2026
|
"mode": {
|
|
2190
2027
|
"type": "string",
|
|
2191
|
-
"enum": [
|
|
2192
|
-
"matching",
|
|
2193
|
-
"all"
|
|
2194
|
-
],
|
|
2028
|
+
"enum": ["matching", "all"],
|
|
2195
2029
|
"description": "matching selects requested symbols; all selects every live item returned by the product."
|
|
2196
2030
|
},
|
|
2197
2031
|
"selector": {
|
|
@@ -2199,10 +2033,7 @@
|
|
|
2199
2033
|
"properties": {
|
|
2200
2034
|
"mode": {
|
|
2201
2035
|
"type": "string",
|
|
2202
|
-
"enum": [
|
|
2203
|
-
"matching",
|
|
2204
|
-
"all"
|
|
2205
|
-
]
|
|
2036
|
+
"enum": ["matching", "all"]
|
|
2206
2037
|
},
|
|
2207
2038
|
"market": {
|
|
2208
2039
|
"type": "string"
|
|
@@ -2224,54 +2055,34 @@
|
|
|
2224
2055
|
},
|
|
2225
2056
|
"side": {
|
|
2226
2057
|
"type": "string",
|
|
2227
|
-
"enum": [
|
|
2228
|
-
"long",
|
|
2229
|
-
"short"
|
|
2230
|
-
]
|
|
2058
|
+
"enum": ["long", "short"]
|
|
2231
2059
|
}
|
|
2232
2060
|
},
|
|
2233
2061
|
"additionalProperties": false
|
|
2234
2062
|
},
|
|
2235
2063
|
"side": {
|
|
2236
2064
|
"type": "string",
|
|
2237
|
-
"enum": [
|
|
2238
|
-
"long",
|
|
2239
|
-
"short"
|
|
2240
|
-
],
|
|
2065
|
+
"enum": ["long", "short"],
|
|
2241
2066
|
"description": "Required when state=open/present; otherwise filters selected positions."
|
|
2242
2067
|
},
|
|
2243
2068
|
"timeout_ms": {
|
|
2244
2069
|
"type": "number"
|
|
2245
2070
|
},
|
|
2246
2071
|
"amount": {
|
|
2247
|
-
"type": [
|
|
2248
|
-
"string",
|
|
2249
|
-
"number"
|
|
2250
|
-
],
|
|
2072
|
+
"type": ["string", "number"],
|
|
2251
2073
|
"description": "Explicit USD notional used only when creating a missing open position. Alias: notional."
|
|
2252
2074
|
},
|
|
2253
2075
|
"notional": {
|
|
2254
|
-
"type": [
|
|
2255
|
-
"string",
|
|
2256
|
-
"number"
|
|
2257
|
-
],
|
|
2076
|
+
"type": ["string", "number"],
|
|
2258
2077
|
"description": "Alias for amount."
|
|
2259
2078
|
},
|
|
2260
2079
|
"state": {
|
|
2261
2080
|
"type": "string",
|
|
2262
|
-
"enum": [
|
|
2263
|
-
"none",
|
|
2264
|
-
"absent",
|
|
2265
|
-
"closed",
|
|
2266
|
-
"open",
|
|
2267
|
-
"present"
|
|
2268
|
-
],
|
|
2081
|
+
"enum": ["none", "absent", "closed", "open", "present"],
|
|
2269
2082
|
"description": "Desired/expected selected collection state."
|
|
2270
2083
|
}
|
|
2271
2084
|
},
|
|
2272
|
-
"required": [
|
|
2273
|
-
"state"
|
|
2274
|
-
],
|
|
2085
|
+
"required": ["state"],
|
|
2275
2086
|
"additionalProperties": false
|
|
2276
2087
|
},
|
|
2277
2088
|
"examples": [
|
|
@@ -2299,10 +2110,7 @@
|
|
|
2299
2110
|
"next": "done"
|
|
2300
2111
|
}
|
|
2301
2112
|
],
|
|
2302
|
-
"execution_capabilities": [
|
|
2303
|
-
"app-mutation",
|
|
2304
|
-
"external-mutation"
|
|
2305
|
-
]
|
|
2113
|
+
"execution_capabilities": ["app-mutation", "external-mutation"]
|
|
2306
2114
|
},
|
|
2307
2115
|
"metamask.perps.ensure_orders": {
|
|
2308
2116
|
"description": "mobile Converge selected testnet orders to open or absent, then independently assert the final state. Creating an open state uses a resting limit order.",
|
|
@@ -2333,10 +2141,7 @@
|
|
|
2333
2141
|
},
|
|
2334
2142
|
"mode": {
|
|
2335
2143
|
"type": "string",
|
|
2336
|
-
"enum": [
|
|
2337
|
-
"matching",
|
|
2338
|
-
"all"
|
|
2339
|
-
],
|
|
2144
|
+
"enum": ["matching", "all"],
|
|
2340
2145
|
"description": "matching selects requested symbols; all selects every live item returned by the product."
|
|
2341
2146
|
},
|
|
2342
2147
|
"selector": {
|
|
@@ -2344,10 +2149,7 @@
|
|
|
2344
2149
|
"properties": {
|
|
2345
2150
|
"mode": {
|
|
2346
2151
|
"type": "string",
|
|
2347
|
-
"enum": [
|
|
2348
|
-
"matching",
|
|
2349
|
-
"all"
|
|
2350
|
-
]
|
|
2152
|
+
"enum": ["matching", "all"]
|
|
2351
2153
|
},
|
|
2352
2154
|
"market": {
|
|
2353
2155
|
"type": "string"
|
|
@@ -2369,37 +2171,25 @@
|
|
|
2369
2171
|
},
|
|
2370
2172
|
"side": {
|
|
2371
2173
|
"type": "string",
|
|
2372
|
-
"enum": [
|
|
2373
|
-
"long",
|
|
2374
|
-
"short"
|
|
2375
|
-
]
|
|
2174
|
+
"enum": ["long", "short"]
|
|
2376
2175
|
}
|
|
2377
2176
|
},
|
|
2378
2177
|
"additionalProperties": false
|
|
2379
2178
|
},
|
|
2380
2179
|
"side": {
|
|
2381
2180
|
"type": "string",
|
|
2382
|
-
"enum": [
|
|
2383
|
-
"long",
|
|
2384
|
-
"short"
|
|
2385
|
-
],
|
|
2181
|
+
"enum": ["long", "short"],
|
|
2386
2182
|
"description": "Required when state=open/present; otherwise filters selected orders."
|
|
2387
2183
|
},
|
|
2388
2184
|
"timeout_ms": {
|
|
2389
2185
|
"type": "number"
|
|
2390
2186
|
},
|
|
2391
2187
|
"amount": {
|
|
2392
|
-
"type": [
|
|
2393
|
-
"string",
|
|
2394
|
-
"number"
|
|
2395
|
-
],
|
|
2188
|
+
"type": ["string", "number"],
|
|
2396
2189
|
"description": "Explicit USD notional used only when creating a missing open order. Alias: notional."
|
|
2397
2190
|
},
|
|
2398
2191
|
"notional": {
|
|
2399
|
-
"type": [
|
|
2400
|
-
"string",
|
|
2401
|
-
"number"
|
|
2402
|
-
],
|
|
2192
|
+
"type": ["string", "number"],
|
|
2403
2193
|
"description": "Alias for amount."
|
|
2404
2194
|
},
|
|
2405
2195
|
"leverage": {
|
|
@@ -2409,19 +2199,11 @@
|
|
|
2409
2199
|
},
|
|
2410
2200
|
"state": {
|
|
2411
2201
|
"type": "string",
|
|
2412
|
-
"enum": [
|
|
2413
|
-
"none",
|
|
2414
|
-
"absent",
|
|
2415
|
-
"closed",
|
|
2416
|
-
"open",
|
|
2417
|
-
"present"
|
|
2418
|
-
],
|
|
2202
|
+
"enum": ["none", "absent", "closed", "open", "present"],
|
|
2419
2203
|
"description": "Desired/expected selected collection state."
|
|
2420
2204
|
}
|
|
2421
2205
|
},
|
|
2422
|
-
"required": [
|
|
2423
|
-
"state"
|
|
2424
|
-
],
|
|
2206
|
+
"required": ["state"],
|
|
2425
2207
|
"additionalProperties": false
|
|
2426
2208
|
},
|
|
2427
2209
|
"examples": [
|
|
@@ -2443,13 +2225,10 @@
|
|
|
2443
2225
|
"next": "done"
|
|
2444
2226
|
}
|
|
2445
2227
|
],
|
|
2446
|
-
"execution_capabilities": [
|
|
2447
|
-
"app-mutation",
|
|
2448
|
-
"external-mutation"
|
|
2449
|
-
]
|
|
2228
|
+
"execution_capabilities": ["app-mutation", "external-mutation"]
|
|
2450
2229
|
},
|
|
2451
2230
|
"metamask.perps.capture_performance": {
|
|
2452
|
-
"description": "Capture
|
|
2231
|
+
"description": "Capture run-window [HomepagePerf] and optional [StartupPerf] DevLogger records with parsed Perps on-device validation summaries.",
|
|
2453
2232
|
"schema": {
|
|
2454
2233
|
"type": "object",
|
|
2455
2234
|
"properties": {
|
|
@@ -2472,12 +2251,25 @@
|
|
|
2472
2251
|
"type": "string"
|
|
2473
2252
|
}
|
|
2474
2253
|
},
|
|
2254
|
+
"required_startup_stages": {
|
|
2255
|
+
"type": "array",
|
|
2256
|
+
"items": {
|
|
2257
|
+
"type": "string"
|
|
2258
|
+
}
|
|
2259
|
+
},
|
|
2475
2260
|
"required_lifecycles": {
|
|
2476
2261
|
"type": "array",
|
|
2477
2262
|
"items": {
|
|
2478
2263
|
"type": "string"
|
|
2479
2264
|
}
|
|
2480
2265
|
},
|
|
2266
|
+
"required_fresh_lifecycles": {
|
|
2267
|
+
"type": "array",
|
|
2268
|
+
"description": "Require a demand in each named lifecycle to reach a correlated fresh visible frame; prevents another lifecycle's socket records from satisfying the proof.",
|
|
2269
|
+
"items": {
|
|
2270
|
+
"type": "string"
|
|
2271
|
+
}
|
|
2272
|
+
},
|
|
2481
2273
|
"required_sources": {
|
|
2482
2274
|
"type": "array",
|
|
2483
2275
|
"items": {
|
|
@@ -2490,6 +2282,9 @@
|
|
|
2490
2282
|
"type": "string"
|
|
2491
2283
|
}
|
|
2492
2284
|
},
|
|
2285
|
+
"require_cache_before_fresh": {
|
|
2286
|
+
"type": "boolean"
|
|
2287
|
+
},
|
|
2493
2288
|
"first_fresh_delivery_requirements": {
|
|
2494
2289
|
"type": "array",
|
|
2495
2290
|
"items": {
|
|
@@ -2498,7 +2293,10 @@
|
|
|
2498
2293
|
"stream": { "type": "string" },
|
|
2499
2294
|
"lifecycle": { "type": "string" },
|
|
2500
2295
|
"subscriber_throttle_ms": { "type": "number", "minimum": 0 },
|
|
2501
|
-
"max_socket_to_subscriber_ms": {
|
|
2296
|
+
"max_socket_to_subscriber_ms": {
|
|
2297
|
+
"type": "number",
|
|
2298
|
+
"minimum": 0
|
|
2299
|
+
}
|
|
2502
2300
|
},
|
|
2503
2301
|
"required": [
|
|
2504
2302
|
"stream",
|
|
@@ -2529,6 +2327,59 @@
|
|
|
2529
2327
|
],
|
|
2530
2328
|
"execution_capabilities": []
|
|
2531
2329
|
},
|
|
2330
|
+
"metamask.perps.measure_homepage_visible": {
|
|
2331
|
+
"description": "Confirm the existing wallet is usable, then measure Wallet-ready to visible Perps content in one direct-CDP action so recipe-runner gaps are excluded.",
|
|
2332
|
+
"schema": {
|
|
2333
|
+
"type": "object",
|
|
2334
|
+
"properties": {
|
|
2335
|
+
"target_timeout_ms": { "type": "number", "minimum": 1 },
|
|
2336
|
+
"unlock_timeout_ms": { "type": "number", "minimum": 1 },
|
|
2337
|
+
"stable_unlocked_ms": { "type": "number", "minimum": 0 },
|
|
2338
|
+
"scroll_test_id": { "type": "string" },
|
|
2339
|
+
"from_test_id": { "type": "string" },
|
|
2340
|
+
"offset": { "type": "number" },
|
|
2341
|
+
"poll_interval_ms": { "type": "number", "minimum": 16 },
|
|
2342
|
+
"visible_event_stage": { "type": "string" },
|
|
2343
|
+
"visible_event_grace_ms": { "type": "number", "minimum": 0 },
|
|
2344
|
+
"animated": { "type": "boolean" },
|
|
2345
|
+
"target_test_id": { "type": "string" },
|
|
2346
|
+
"target_text": { "type": "string" },
|
|
2347
|
+
"required_present_test_id": { "type": "string" },
|
|
2348
|
+
"timeout_ms": { "type": "number", "minimum": 1 }
|
|
2349
|
+
},
|
|
2350
|
+
"additionalProperties": false
|
|
2351
|
+
},
|
|
2352
|
+
"examples": [
|
|
2353
|
+
{
|
|
2354
|
+
"action": "metamask.perps.measure_homepage_visible",
|
|
2355
|
+
"target_test_id": "homepage-section-title-perps",
|
|
2356
|
+
"required_present_test_id": "homepage-perps-positions",
|
|
2357
|
+
"intent": "Measure Wallet-ready to meaningful Perps content without runner timing",
|
|
2358
|
+
"next": "done"
|
|
2359
|
+
}
|
|
2360
|
+
],
|
|
2361
|
+
"execution_capabilities": ["app-mutation"]
|
|
2362
|
+
},
|
|
2363
|
+
"metamask.perps.prepare_local_snapshot_endpoint": {
|
|
2364
|
+
"description": "Prepare the configurable local Terminal snapshot endpoint for physical Android with adb reverse; iOS Simulator requires no mapping.",
|
|
2365
|
+
"schema": {
|
|
2366
|
+
"type": "object",
|
|
2367
|
+
"properties": {
|
|
2368
|
+
"port": { "type": "number", "minimum": 1 }
|
|
2369
|
+
},
|
|
2370
|
+
"required": ["port"],
|
|
2371
|
+
"additionalProperties": false
|
|
2372
|
+
},
|
|
2373
|
+
"examples": [
|
|
2374
|
+
{
|
|
2375
|
+
"action": "metamask.perps.prepare_local_snapshot_endpoint",
|
|
2376
|
+
"port": 3000,
|
|
2377
|
+
"intent": "Make the configured local Terminal snapshot endpoint reachable",
|
|
2378
|
+
"next": "done"
|
|
2379
|
+
}
|
|
2380
|
+
],
|
|
2381
|
+
"execution_capabilities": ["app-mutation"]
|
|
2382
|
+
},
|
|
2532
2383
|
"metamask.perps.clear_performance_caches": {
|
|
2533
2384
|
"description": "mobile Clear only persisted Perps market/user performance caches in the development app before a cold-no-cache validation run.",
|
|
2534
2385
|
"schema": {
|
|
@@ -2543,9 +2394,7 @@
|
|
|
2543
2394
|
"next": "restart-app"
|
|
2544
2395
|
}
|
|
2545
2396
|
],
|
|
2546
|
-
"execution_capabilities": [
|
|
2547
|
-
"app-mutation"
|
|
2548
|
-
]
|
|
2397
|
+
"execution_capabilities": ["app-mutation"]
|
|
2549
2398
|
},
|
|
2550
2399
|
"metamask.perps.start_state": {
|
|
2551
2400
|
"description": "mobile Default to testnet for Perps mutations; mainnet is read-only unless explicitly requested. Recommended configurable Perps start state that first restores the fixture-backed unlocked wallet, then composes reusable domain operations before the proof window.",
|
|
@@ -2556,6 +2405,16 @@
|
|
|
2556
2405
|
"type": "string",
|
|
2557
2406
|
"description": "Optional profile such as clean_market_testnet, open_position_testnet, open_order_testnet, or provider_mainnet_readonly."
|
|
2558
2407
|
},
|
|
2408
|
+
"target_timeout_ms": {
|
|
2409
|
+
"type": "number",
|
|
2410
|
+
"minimum": 1,
|
|
2411
|
+
"description": "Bound for the pinned Mobile bridge target to become available before Perps state setup."
|
|
2412
|
+
},
|
|
2413
|
+
"unlock_timeout_ms": {
|
|
2414
|
+
"type": "number",
|
|
2415
|
+
"minimum": 1,
|
|
2416
|
+
"description": "Bound for the fixture-backed wallet unlock within Perps state setup."
|
|
2417
|
+
},
|
|
2559
2418
|
"account": {
|
|
2560
2419
|
"type": "string"
|
|
2561
2420
|
},
|
|
@@ -2565,10 +2424,7 @@
|
|
|
2565
2424
|
},
|
|
2566
2425
|
"network": {
|
|
2567
2426
|
"type": "string",
|
|
2568
|
-
"enum": [
|
|
2569
|
-
"testnet",
|
|
2570
|
-
"mainnet"
|
|
2571
|
-
]
|
|
2427
|
+
"enum": ["testnet", "mainnet"]
|
|
2572
2428
|
},
|
|
2573
2429
|
"market": {
|
|
2574
2430
|
"type": "string"
|
|
@@ -2591,26 +2447,14 @@
|
|
|
2591
2447
|
"page": {
|
|
2592
2448
|
"description": "Initial Perps page target; omit it to use the profile or market default.",
|
|
2593
2449
|
"type": "string",
|
|
2594
|
-
"enum": [
|
|
2595
|
-
"home",
|
|
2596
|
-
"perps",
|
|
2597
|
-
"perps_home",
|
|
2598
|
-
"market",
|
|
2599
|
-
"market_details"
|
|
2600
|
-
]
|
|
2450
|
+
"enum": ["home", "perps", "perps_home", "market", "market_details"]
|
|
2601
2451
|
},
|
|
2602
2452
|
"positions": {
|
|
2603
|
-
"type": [
|
|
2604
|
-
"object",
|
|
2605
|
-
"boolean"
|
|
2606
|
-
],
|
|
2453
|
+
"type": ["object", "boolean"],
|
|
2607
2454
|
"properties": {
|
|
2608
2455
|
"mode": {
|
|
2609
2456
|
"type": "string",
|
|
2610
|
-
"enum": [
|
|
2611
|
-
"matching",
|
|
2612
|
-
"all"
|
|
2613
|
-
]
|
|
2457
|
+
"enum": ["matching", "all"]
|
|
2614
2458
|
},
|
|
2615
2459
|
"market": {
|
|
2616
2460
|
"type": "string"
|
|
@@ -2632,38 +2476,20 @@
|
|
|
2632
2476
|
},
|
|
2633
2477
|
"side": {
|
|
2634
2478
|
"type": "string",
|
|
2635
|
-
"enum": [
|
|
2636
|
-
"long",
|
|
2637
|
-
"short"
|
|
2638
|
-
]
|
|
2479
|
+
"enum": ["long", "short"]
|
|
2639
2480
|
},
|
|
2640
2481
|
"state": {
|
|
2641
2482
|
"type": "string",
|
|
2642
|
-
"enum": [
|
|
2643
|
-
"none",
|
|
2644
|
-
"closed",
|
|
2645
|
-
"absent",
|
|
2646
|
-
"open",
|
|
2647
|
-
"present"
|
|
2648
|
-
]
|
|
2483
|
+
"enum": ["none", "closed", "absent", "open", "present"]
|
|
2649
2484
|
},
|
|
2650
2485
|
"amount": {
|
|
2651
|
-
"type": [
|
|
2652
|
-
"string",
|
|
2653
|
-
"number"
|
|
2654
|
-
]
|
|
2486
|
+
"type": ["string", "number"]
|
|
2655
2487
|
},
|
|
2656
2488
|
"notional": {
|
|
2657
|
-
"type": [
|
|
2658
|
-
"string",
|
|
2659
|
-
"number"
|
|
2660
|
-
]
|
|
2489
|
+
"type": ["string", "number"]
|
|
2661
2490
|
},
|
|
2662
2491
|
"size": {
|
|
2663
|
-
"type": [
|
|
2664
|
-
"string",
|
|
2665
|
-
"number"
|
|
2666
|
-
]
|
|
2492
|
+
"type": ["string", "number"]
|
|
2667
2493
|
},
|
|
2668
2494
|
"leverage": {
|
|
2669
2495
|
"type": "number"
|
|
@@ -2711,17 +2537,11 @@
|
|
|
2711
2537
|
"additionalProperties": false
|
|
2712
2538
|
},
|
|
2713
2539
|
"orders": {
|
|
2714
|
-
"type": [
|
|
2715
|
-
"object",
|
|
2716
|
-
"boolean"
|
|
2717
|
-
],
|
|
2540
|
+
"type": ["object", "boolean"],
|
|
2718
2541
|
"properties": {
|
|
2719
2542
|
"mode": {
|
|
2720
2543
|
"type": "string",
|
|
2721
|
-
"enum": [
|
|
2722
|
-
"matching",
|
|
2723
|
-
"all"
|
|
2724
|
-
]
|
|
2544
|
+
"enum": ["matching", "all"]
|
|
2725
2545
|
},
|
|
2726
2546
|
"market": {
|
|
2727
2547
|
"type": "string"
|
|
@@ -2743,38 +2563,20 @@
|
|
|
2743
2563
|
},
|
|
2744
2564
|
"side": {
|
|
2745
2565
|
"type": "string",
|
|
2746
|
-
"enum": [
|
|
2747
|
-
"long",
|
|
2748
|
-
"short"
|
|
2749
|
-
]
|
|
2566
|
+
"enum": ["long", "short"]
|
|
2750
2567
|
},
|
|
2751
2568
|
"state": {
|
|
2752
2569
|
"type": "string",
|
|
2753
|
-
"enum": [
|
|
2754
|
-
"none",
|
|
2755
|
-
"closed",
|
|
2756
|
-
"absent",
|
|
2757
|
-
"open",
|
|
2758
|
-
"present"
|
|
2759
|
-
]
|
|
2570
|
+
"enum": ["none", "closed", "absent", "open", "present"]
|
|
2760
2571
|
},
|
|
2761
2572
|
"amount": {
|
|
2762
|
-
"type": [
|
|
2763
|
-
"string",
|
|
2764
|
-
"number"
|
|
2765
|
-
]
|
|
2573
|
+
"type": ["string", "number"]
|
|
2766
2574
|
},
|
|
2767
2575
|
"notional": {
|
|
2768
|
-
"type": [
|
|
2769
|
-
"string",
|
|
2770
|
-
"number"
|
|
2771
|
-
]
|
|
2576
|
+
"type": ["string", "number"]
|
|
2772
2577
|
},
|
|
2773
2578
|
"size": {
|
|
2774
|
-
"type": [
|
|
2775
|
-
"string",
|
|
2776
|
-
"number"
|
|
2777
|
-
]
|
|
2579
|
+
"type": ["string", "number"]
|
|
2778
2580
|
},
|
|
2779
2581
|
"leverage": {
|
|
2780
2582
|
"type": "number"
|
|
@@ -2831,10 +2633,7 @@
|
|
|
2831
2633
|
},
|
|
2832
2634
|
"side": {
|
|
2833
2635
|
"type": "string",
|
|
2834
|
-
"enum": [
|
|
2835
|
-
"long",
|
|
2836
|
-
"short"
|
|
2837
|
-
]
|
|
2636
|
+
"enum": ["long", "short"]
|
|
2838
2637
|
},
|
|
2839
2638
|
"account_name": {
|
|
2840
2639
|
"type": "string"
|
|
@@ -2859,10 +2658,7 @@
|
|
|
2859
2658
|
},
|
|
2860
2659
|
"mode": {
|
|
2861
2660
|
"type": "string",
|
|
2862
|
-
"enum": [
|
|
2863
|
-
"matching",
|
|
2864
|
-
"all"
|
|
2865
|
-
]
|
|
2661
|
+
"enum": ["matching", "all"]
|
|
2866
2662
|
}
|
|
2867
2663
|
},
|
|
2868
2664
|
"additionalProperties": false
|
|
@@ -2897,10 +2693,7 @@
|
|
|
2897
2693
|
"next": "done"
|
|
2898
2694
|
}
|
|
2899
2695
|
],
|
|
2900
|
-
"execution_capabilities": [
|
|
2901
|
-
"app-mutation",
|
|
2902
|
-
"external-mutation"
|
|
2903
|
-
]
|
|
2696
|
+
"execution_capabilities": ["app-mutation", "external-mutation"]
|
|
2904
2697
|
},
|
|
2905
2698
|
"metamask.perps.teardown_state": {
|
|
2906
2699
|
"description": "mobile Recommended configurable Perps teardown state that restores the selected environment after proof.",
|
|
@@ -2920,10 +2713,7 @@
|
|
|
2920
2713
|
},
|
|
2921
2714
|
"network": {
|
|
2922
2715
|
"type": "string",
|
|
2923
|
-
"enum": [
|
|
2924
|
-
"testnet",
|
|
2925
|
-
"mainnet"
|
|
2926
|
-
]
|
|
2716
|
+
"enum": ["testnet", "mainnet"]
|
|
2927
2717
|
},
|
|
2928
2718
|
"market": {
|
|
2929
2719
|
"type": "string"
|
|
@@ -2945,10 +2735,7 @@
|
|
|
2945
2735
|
},
|
|
2946
2736
|
"page": {
|
|
2947
2737
|
"description": "Final page target; false skips navigation for teardown.",
|
|
2948
|
-
"type": [
|
|
2949
|
-
"string",
|
|
2950
|
-
"boolean"
|
|
2951
|
-
],
|
|
2738
|
+
"type": ["string", "boolean"],
|
|
2952
2739
|
"enum": [
|
|
2953
2740
|
"home",
|
|
2954
2741
|
"perps",
|
|
@@ -2959,17 +2746,11 @@
|
|
|
2959
2746
|
]
|
|
2960
2747
|
},
|
|
2961
2748
|
"positions": {
|
|
2962
|
-
"type": [
|
|
2963
|
-
"object",
|
|
2964
|
-
"boolean"
|
|
2965
|
-
],
|
|
2749
|
+
"type": ["object", "boolean"],
|
|
2966
2750
|
"properties": {
|
|
2967
2751
|
"mode": {
|
|
2968
2752
|
"type": "string",
|
|
2969
|
-
"enum": [
|
|
2970
|
-
"matching",
|
|
2971
|
-
"all"
|
|
2972
|
-
]
|
|
2753
|
+
"enum": ["matching", "all"]
|
|
2973
2754
|
},
|
|
2974
2755
|
"market": {
|
|
2975
2756
|
"type": "string"
|
|
@@ -2991,38 +2772,20 @@
|
|
|
2991
2772
|
},
|
|
2992
2773
|
"side": {
|
|
2993
2774
|
"type": "string",
|
|
2994
|
-
"enum": [
|
|
2995
|
-
"long",
|
|
2996
|
-
"short"
|
|
2997
|
-
]
|
|
2775
|
+
"enum": ["long", "short"]
|
|
2998
2776
|
},
|
|
2999
2777
|
"state": {
|
|
3000
2778
|
"type": "string",
|
|
3001
|
-
"enum": [
|
|
3002
|
-
"none",
|
|
3003
|
-
"closed",
|
|
3004
|
-
"absent",
|
|
3005
|
-
"open",
|
|
3006
|
-
"present"
|
|
3007
|
-
]
|
|
2779
|
+
"enum": ["none", "closed", "absent", "open", "present"]
|
|
3008
2780
|
},
|
|
3009
2781
|
"amount": {
|
|
3010
|
-
"type": [
|
|
3011
|
-
"string",
|
|
3012
|
-
"number"
|
|
3013
|
-
]
|
|
2782
|
+
"type": ["string", "number"]
|
|
3014
2783
|
},
|
|
3015
2784
|
"notional": {
|
|
3016
|
-
"type": [
|
|
3017
|
-
"string",
|
|
3018
|
-
"number"
|
|
3019
|
-
]
|
|
2785
|
+
"type": ["string", "number"]
|
|
3020
2786
|
},
|
|
3021
2787
|
"size": {
|
|
3022
|
-
"type": [
|
|
3023
|
-
"string",
|
|
3024
|
-
"number"
|
|
3025
|
-
]
|
|
2788
|
+
"type": ["string", "number"]
|
|
3026
2789
|
},
|
|
3027
2790
|
"leverage": {
|
|
3028
2791
|
"type": "number"
|
|
@@ -3070,17 +2833,11 @@
|
|
|
3070
2833
|
"additionalProperties": false
|
|
3071
2834
|
},
|
|
3072
2835
|
"orders": {
|
|
3073
|
-
"type": [
|
|
3074
|
-
"object",
|
|
3075
|
-
"boolean"
|
|
3076
|
-
],
|
|
2836
|
+
"type": ["object", "boolean"],
|
|
3077
2837
|
"properties": {
|
|
3078
2838
|
"mode": {
|
|
3079
2839
|
"type": "string",
|
|
3080
|
-
"enum": [
|
|
3081
|
-
"matching",
|
|
3082
|
-
"all"
|
|
3083
|
-
]
|
|
2840
|
+
"enum": ["matching", "all"]
|
|
3084
2841
|
},
|
|
3085
2842
|
"market": {
|
|
3086
2843
|
"type": "string"
|
|
@@ -3102,38 +2859,20 @@
|
|
|
3102
2859
|
},
|
|
3103
2860
|
"side": {
|
|
3104
2861
|
"type": "string",
|
|
3105
|
-
"enum": [
|
|
3106
|
-
"long",
|
|
3107
|
-
"short"
|
|
3108
|
-
]
|
|
2862
|
+
"enum": ["long", "short"]
|
|
3109
2863
|
},
|
|
3110
2864
|
"state": {
|
|
3111
2865
|
"type": "string",
|
|
3112
|
-
"enum": [
|
|
3113
|
-
"none",
|
|
3114
|
-
"closed",
|
|
3115
|
-
"absent",
|
|
3116
|
-
"open",
|
|
3117
|
-
"present"
|
|
3118
|
-
]
|
|
2866
|
+
"enum": ["none", "closed", "absent", "open", "present"]
|
|
3119
2867
|
},
|
|
3120
2868
|
"amount": {
|
|
3121
|
-
"type": [
|
|
3122
|
-
"string",
|
|
3123
|
-
"number"
|
|
3124
|
-
]
|
|
2869
|
+
"type": ["string", "number"]
|
|
3125
2870
|
},
|
|
3126
2871
|
"notional": {
|
|
3127
|
-
"type": [
|
|
3128
|
-
"string",
|
|
3129
|
-
"number"
|
|
3130
|
-
]
|
|
2872
|
+
"type": ["string", "number"]
|
|
3131
2873
|
},
|
|
3132
2874
|
"size": {
|
|
3133
|
-
"type": [
|
|
3134
|
-
"string",
|
|
3135
|
-
"number"
|
|
3136
|
-
]
|
|
2875
|
+
"type": ["string", "number"]
|
|
3137
2876
|
},
|
|
3138
2877
|
"leverage": {
|
|
3139
2878
|
"type": "number"
|
|
@@ -3190,10 +2929,7 @@
|
|
|
3190
2929
|
},
|
|
3191
2930
|
"side": {
|
|
3192
2931
|
"type": "string",
|
|
3193
|
-
"enum": [
|
|
3194
|
-
"long",
|
|
3195
|
-
"short"
|
|
3196
|
-
]
|
|
2932
|
+
"enum": ["long", "short"]
|
|
3197
2933
|
},
|
|
3198
2934
|
"account_name": {
|
|
3199
2935
|
"type": "string"
|
|
@@ -3218,10 +2954,7 @@
|
|
|
3218
2954
|
},
|
|
3219
2955
|
"mode": {
|
|
3220
2956
|
"type": "string",
|
|
3221
|
-
"enum": [
|
|
3222
|
-
"matching",
|
|
3223
|
-
"all"
|
|
3224
|
-
]
|
|
2957
|
+
"enum": ["matching", "all"]
|
|
3225
2958
|
}
|
|
3226
2959
|
},
|
|
3227
2960
|
"additionalProperties": false
|
|
@@ -3247,16 +2980,11 @@
|
|
|
3247
2980
|
"next": "done"
|
|
3248
2981
|
}
|
|
3249
2982
|
],
|
|
3250
|
-
"execution_capabilities": [
|
|
3251
|
-
"app-mutation",
|
|
3252
|
-
"external-mutation"
|
|
3253
|
-
]
|
|
2983
|
+
"execution_capabilities": ["app-mutation", "external-mutation"]
|
|
3254
2984
|
},
|
|
3255
2985
|
"metamask.deeplink.open": {
|
|
3256
2986
|
"description": "Open an HTTPS deeplink through the selected Android device or iOS simulator so Mobile owns parsing and destination navigation.",
|
|
3257
|
-
"execution_capabilities": [
|
|
3258
|
-
"app-mutation"
|
|
3259
|
-
],
|
|
2987
|
+
"execution_capabilities": ["app-mutation"],
|
|
3260
2988
|
"examples": [
|
|
3261
2989
|
{
|
|
3262
2990
|
"action": "metamask.deeplink.open",
|
|
@@ -3277,17 +3005,13 @@
|
|
|
3277
3005
|
"description": "Maximum time for the external navigation. Default 15000."
|
|
3278
3006
|
}
|
|
3279
3007
|
},
|
|
3280
|
-
"required": [
|
|
3281
|
-
"url"
|
|
3282
|
-
],
|
|
3008
|
+
"required": ["url"],
|
|
3283
3009
|
"additionalProperties": false
|
|
3284
3010
|
}
|
|
3285
3011
|
},
|
|
3286
3012
|
"metamask.analytics.start_capture": {
|
|
3287
3013
|
"description": "mobile Start capturing MetaMetrics events at the Segment transport and return a cursor to bracket later reads.",
|
|
3288
|
-
"execution_capabilities": [
|
|
3289
|
-
"arbitrary-code"
|
|
3290
|
-
],
|
|
3014
|
+
"execution_capabilities": ["arbitrary-code"],
|
|
3291
3015
|
"examples": [
|
|
3292
3016
|
{
|
|
3293
3017
|
"action": "metamask.analytics.start_capture",
|
|
@@ -3311,9 +3035,7 @@
|
|
|
3311
3035
|
},
|
|
3312
3036
|
"metamask.analytics.read_events": {
|
|
3313
3037
|
"description": "mobile Read MetaMetrics events captured since a cursor, as [{ event, properties, ts }].",
|
|
3314
|
-
"execution_capabilities": [
|
|
3315
|
-
"host-read-export"
|
|
3316
|
-
],
|
|
3038
|
+
"execution_capabilities": ["host-read-export"],
|
|
3317
3039
|
"examples": [
|
|
3318
3040
|
{
|
|
3319
3041
|
"action": "metamask.analytics.read_events",
|
|
@@ -3339,9 +3061,7 @@
|
|
|
3339
3061
|
},
|
|
3340
3062
|
"metamask.analytics.assert_events": {
|
|
3341
3063
|
"description": "mobile Assert MetaMetrics event names, property values and counts. Counts are the point: an exact count catches a double emit that a presence check cannot.",
|
|
3342
|
-
"execution_capabilities": [
|
|
3343
|
-
"host-read-export"
|
|
3344
|
-
],
|
|
3064
|
+
"execution_capabilities": ["host-read-export"],
|
|
3345
3065
|
"examples": [
|
|
3346
3066
|
{
|
|
3347
3067
|
"action": "metamask.analytics.assert_events",
|
|
@@ -3400,24 +3120,18 @@
|
|
|
3400
3120
|
"description": "Subset match on event properties; values may be exact or use $exists, $type, and $gt predicates."
|
|
3401
3121
|
}
|
|
3402
3122
|
},
|
|
3403
|
-
"required": [
|
|
3404
|
-
"event"
|
|
3405
|
-
],
|
|
3123
|
+
"required": ["event"],
|
|
3406
3124
|
"additionalProperties": false
|
|
3407
3125
|
}
|
|
3408
3126
|
}
|
|
3409
3127
|
},
|
|
3410
|
-
"required": [
|
|
3411
|
-
"expect"
|
|
3412
|
-
],
|
|
3128
|
+
"required": ["expect"],
|
|
3413
3129
|
"additionalProperties": false
|
|
3414
3130
|
}
|
|
3415
3131
|
},
|
|
3416
3132
|
"metamask.analytics.set_consent": {
|
|
3417
3133
|
"description": "mobile Set MetaMetrics consent flags through the Security & Privacy controls so events reach the Segment transport.",
|
|
3418
|
-
"execution_capabilities": [
|
|
3419
|
-
"app-mutation"
|
|
3420
|
-
],
|
|
3134
|
+
"execution_capabilities": ["app-mutation"],
|
|
3421
3135
|
"examples": [
|
|
3422
3136
|
{
|
|
3423
3137
|
"action": "metamask.analytics.set_consent",
|