@deeeed/metamask-harness 0.39.0 → 0.40.1
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 +52 -0
- package/adapters/extension/lib/playwright-cdp.cjs +17 -1
- package/adapters/extension/sidepanel-toggle.sh +135 -13
- package/dist/adapters/mobile/release-artifact.js +65 -0
- package/dist/adapters.js +8 -7
- package/dist/command-contract.js +10 -2
- package/dist/commands/call.js +7 -4
- package/dist/commands/launch/index.js +55 -3
- package/dist/commands/parse-args.js +6 -0
- package/dist/commands/run-engine.js +75 -39
- package/dist/funding-execution-context.js +1393 -0
- package/dist/live-adapter-contract.js +3 -1
- package/dist/metamask-action-validation.js +170 -3
- package/dist/mm-harness-cli.js +8 -2
- package/dist/recipe-security.js +5 -12
- package/dist/runner.js +102 -6
- package/docs/RECIPES.md +74 -1
- package/docs/RELEASE-QA-CAPABILITY-MAP.md +6 -5
- package/library/actions/extension/networks/add_chainlist.mjs +4 -0
- package/library/actions/extension/networks/add_custom.mjs +4 -0
- package/library/actions/extension/networks/custom_network.mjs +48 -1
- package/library/actions/extension/perps/assert_visible_consistency.mjs +366 -0
- package/library/actions/extension/perps/close_visible_position.mjs +299 -37
- package/library/actions/extension/perps/compare_provider_market.mjs +77 -0
- package/library/actions/extension/perps/edit_margin.mjs +285 -44
- package/library/actions/extension/perps/mutation-receipt.mjs +785 -0
- package/library/actions/extension/perps/perps.mjs +1029 -363
- package/library/actions/extension/perps/read_funds_confirmation.mjs +126 -13
- package/library/actions/extension/perps/read_snapshot.mjs +124 -3
- package/library/actions/extension/perps/read_visible_state.mjs +63 -5
- package/library/actions/extension/perps/select_activity_filter.mjs +81 -18
- package/library/actions/extension/perps/select_market_filter.mjs +48 -4
- package/library/actions/extension/perps/update_position_tpsl.mjs +251 -69
- package/library/actions/extension/perps/visible-mutation-identity.mjs +164 -0
- package/library/actions/extension/platform/cdp.mjs +88 -9
- package/library/actions/extension/settings/set_basic_functionality.mjs +35 -7
- package/library/actions/extension/ui/navigate.mjs +45 -5
- package/library/actions/extension/wallet/import.mjs +70 -29
- package/library/actions/extension/wallet/lock.mjs +62 -5
- package/library/actions/extension/wallet/visible-session.mjs +218 -0
- package/library/actions/mobile/ui/native-navigation.mjs +45 -0
- package/library/actions/mobile/wallet/import.mjs +17 -10
- package/library/actions/mobile/wallet/native-ui.mjs +21 -1
- package/library/actions/shared/perps/visible-state.mjs +25 -5
- package/library/manifests/extension.action-manifest.json +1696 -1271
- package/library/recipes/extension/assets/release-custom-network-token-persistence.recipe.json +1 -0
- package/library/recipes/{perps → extension/perps}/release-activity-filters.recipe.json +5 -5
- package/library/recipes/{perps → extension/perps}/release-funds-flows.recipe.json +3 -3
- package/library/recipes/extension/perps/release-live-limit-order.recipe.json +24 -19
- package/library/recipes/extension/perps/release-market-filters.recipe.json +97 -0
- package/library/recipes/extension/perps/release-order-entry.recipe.json +4 -1
- package/library/recipes/extension/perps/release-order-validation.recipe.json +53 -14
- package/library/recipes/extension/perps/release-visible-consistency.recipe.json +47 -0
- package/library/recipes/extension/perps/source-dev-snapshot-consistency.recipe.json +76 -0
- package/library/recipes/perps/release-live-market-order.recipe.json +30 -13
- package/library/recipes/perps/release-market-details.recipe.json +1 -1
- package/library/recipes/swap-bridge/release-quote.recipe.json +1 -0
- package/library/recipes/wallet/import.recipe.json +4 -14
- package/package.json +1 -1
- package/library/actions/extension/assets/finish_send.mjs +0 -128
- package/library/actions/extension/swap_bridge/submit_transaction.mjs +0 -363
- package/library/actions/extension/ui/activate_and_observe.mjs +0 -96
- package/library/recipes/assets/release-custom-gas-send.recipe.json +0 -88
- package/library/recipes/assets/release-native-max-cancel.recipe.json +0 -70
- package/library/recipes/assets/release-native-max-send.recipe.json +0 -78
- package/library/recipes/assets/release-own-account-send.recipe.json +0 -80
- package/library/recipes/extension/runner/action-validation.recipe.json +0 -343
|
@@ -432,10 +432,10 @@
|
|
|
432
432
|
"page": {
|
|
433
433
|
"type": "string",
|
|
434
434
|
"enum": [
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
435
|
+
"back",
|
|
436
|
+
"home",
|
|
437
|
+
"network",
|
|
438
|
+
"perps",
|
|
439
439
|
"perps-market-list",
|
|
440
440
|
"perps-market",
|
|
441
441
|
"perps-activity",
|
|
@@ -445,20 +445,20 @@
|
|
|
445
445
|
"market": {
|
|
446
446
|
"type": "string"
|
|
447
447
|
},
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
448
|
+
"symbol": {
|
|
449
|
+
"type": "string"
|
|
450
|
+
},
|
|
451
|
+
"network": {
|
|
452
|
+
"type": "string"
|
|
453
|
+
},
|
|
454
|
+
"chain_id": {
|
|
455
|
+
"type": "integer",
|
|
456
|
+
"minimum": 1
|
|
457
|
+
},
|
|
458
|
+
"add_if_missing": {
|
|
459
|
+
"type": "boolean",
|
|
460
|
+
"default": true
|
|
461
|
+
},
|
|
462
462
|
"url": {
|
|
463
463
|
"type": "string"
|
|
464
464
|
},
|
|
@@ -545,70 +545,6 @@
|
|
|
545
545
|
"additionalProperties": false
|
|
546
546
|
}
|
|
547
547
|
},
|
|
548
|
-
"ui.activate_and_observe": {
|
|
549
|
-
"description": "Activate a visible Extension control with a selector-derived trusted pointer and observe the resulting transient UI in the same CDP session.",
|
|
550
|
-
"execution_capabilities": [
|
|
551
|
-
"host-read-export",
|
|
552
|
-
"app-mutation",
|
|
553
|
-
"external-mutation"
|
|
554
|
-
],
|
|
555
|
-
"schema": {
|
|
556
|
-
"type": "object",
|
|
557
|
-
"properties": {
|
|
558
|
-
"selector": {
|
|
559
|
-
"type": "string"
|
|
560
|
-
},
|
|
561
|
-
"test_id": {
|
|
562
|
-
"type": "string"
|
|
563
|
-
},
|
|
564
|
-
"testID": {
|
|
565
|
-
"type": "string"
|
|
566
|
-
},
|
|
567
|
-
"require_test_ids": {
|
|
568
|
-
"type": "array",
|
|
569
|
-
"items": {
|
|
570
|
-
"type": "string"
|
|
571
|
-
},
|
|
572
|
-
"maxItems": 100
|
|
573
|
-
},
|
|
574
|
-
"require_text": {
|
|
575
|
-
"type": "array",
|
|
576
|
-
"items": {
|
|
577
|
-
"type": "string"
|
|
578
|
-
},
|
|
579
|
-
"maxItems": 100
|
|
580
|
-
},
|
|
581
|
-
"settle_ms": {
|
|
582
|
-
"type": "integer",
|
|
583
|
-
"minimum": 0,
|
|
584
|
-
"default": 250
|
|
585
|
-
},
|
|
586
|
-
"timeout_ms": {
|
|
587
|
-
"type": "integer",
|
|
588
|
-
"minimum": 1,
|
|
589
|
-
"default": 10000
|
|
590
|
-
},
|
|
591
|
-
"max_items": {
|
|
592
|
-
"type": "integer",
|
|
593
|
-
"minimum": 1,
|
|
594
|
-
"default": 100
|
|
595
|
-
}
|
|
596
|
-
},
|
|
597
|
-
"additionalProperties": false
|
|
598
|
-
},
|
|
599
|
-
"examples": [
|
|
600
|
-
{
|
|
601
|
-
"action": "ui.activate_and_observe",
|
|
602
|
-
"test_id": "perps-balance-dropdown-balance",
|
|
603
|
-
"require_test_ids": [
|
|
604
|
-
"perps-balance-dropdown-add-funds",
|
|
605
|
-
"perps-balance-dropdown-withdraw"
|
|
606
|
-
],
|
|
607
|
-
"intent": "Open and prove the transient balance menu.",
|
|
608
|
-
"next": "done"
|
|
609
|
-
}
|
|
610
|
-
]
|
|
611
|
-
},
|
|
612
548
|
"ui.key_press": {
|
|
613
549
|
"description": "Send a trusted keyboard press to the currently focused UI element through the UI transport.",
|
|
614
550
|
"schema": {
|
|
@@ -750,24 +686,55 @@
|
|
|
750
686
|
"type": "object",
|
|
751
687
|
"properties": {
|
|
752
688
|
"target": {
|
|
753
|
-
"type": [
|
|
689
|
+
"type": [
|
|
690
|
+
"string",
|
|
691
|
+
"object"
|
|
692
|
+
],
|
|
754
693
|
"properties": {
|
|
755
|
-
"x": {
|
|
756
|
-
|
|
694
|
+
"x": {
|
|
695
|
+
"type": "number"
|
|
696
|
+
},
|
|
697
|
+
"y": {
|
|
698
|
+
"type": "number"
|
|
699
|
+
}
|
|
757
700
|
},
|
|
758
|
-
"required": [
|
|
701
|
+
"required": [
|
|
702
|
+
"x",
|
|
703
|
+
"y"
|
|
704
|
+
],
|
|
759
705
|
"additionalProperties": false
|
|
760
706
|
},
|
|
761
707
|
"direction": {
|
|
762
708
|
"type": "string",
|
|
763
|
-
"enum": [
|
|
709
|
+
"enum": [
|
|
710
|
+
"up",
|
|
711
|
+
"down",
|
|
712
|
+
"left",
|
|
713
|
+
"right"
|
|
714
|
+
]
|
|
715
|
+
},
|
|
716
|
+
"distance": {
|
|
717
|
+
"type": "number",
|
|
718
|
+
"minimum": 1
|
|
719
|
+
},
|
|
720
|
+
"duration_ms": {
|
|
721
|
+
"type": "integer",
|
|
722
|
+
"minimum": 1
|
|
764
723
|
},
|
|
765
|
-
"
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
724
|
+
"timeout_ms": {
|
|
725
|
+
"type": "integer",
|
|
726
|
+
"minimum": 1
|
|
727
|
+
},
|
|
728
|
+
"settle": {
|
|
729
|
+
"type": "boolean"
|
|
730
|
+
}
|
|
769
731
|
},
|
|
770
|
-
"required": [
|
|
732
|
+
"required": [
|
|
733
|
+
"target",
|
|
734
|
+
"direction",
|
|
735
|
+
"distance",
|
|
736
|
+
"duration_ms"
|
|
737
|
+
],
|
|
771
738
|
"additionalProperties": false
|
|
772
739
|
},
|
|
773
740
|
"examples": [
|
|
@@ -788,12 +755,22 @@
|
|
|
788
755
|
"type": "object",
|
|
789
756
|
"properties": {
|
|
790
757
|
"target": {
|
|
791
|
-
"type": [
|
|
758
|
+
"type": [
|
|
759
|
+
"string",
|
|
760
|
+
"object"
|
|
761
|
+
],
|
|
792
762
|
"properties": {
|
|
793
|
-
"x": {
|
|
794
|
-
|
|
763
|
+
"x": {
|
|
764
|
+
"type": "number"
|
|
765
|
+
},
|
|
766
|
+
"y": {
|
|
767
|
+
"type": "number"
|
|
768
|
+
}
|
|
795
769
|
},
|
|
796
|
-
"required": [
|
|
770
|
+
"required": [
|
|
771
|
+
"x",
|
|
772
|
+
"y"
|
|
773
|
+
],
|
|
797
774
|
"additionalProperties": false
|
|
798
775
|
},
|
|
799
776
|
"path": {
|
|
@@ -802,34 +779,68 @@
|
|
|
802
779
|
"items": {
|
|
803
780
|
"type": "object",
|
|
804
781
|
"properties": {
|
|
805
|
-
"x": {
|
|
806
|
-
|
|
782
|
+
"x": {
|
|
783
|
+
"type": "number"
|
|
784
|
+
},
|
|
785
|
+
"y": {
|
|
786
|
+
"type": "number"
|
|
787
|
+
}
|
|
807
788
|
},
|
|
808
|
-
"required": [
|
|
789
|
+
"required": [
|
|
790
|
+
"x",
|
|
791
|
+
"y"
|
|
792
|
+
],
|
|
809
793
|
"additionalProperties": false
|
|
810
794
|
}
|
|
811
795
|
},
|
|
812
796
|
"delta": {
|
|
813
797
|
"type": "object",
|
|
814
798
|
"properties": {
|
|
815
|
-
"x": {
|
|
816
|
-
|
|
799
|
+
"x": {
|
|
800
|
+
"type": "number"
|
|
801
|
+
},
|
|
802
|
+
"y": {
|
|
803
|
+
"type": "number"
|
|
804
|
+
}
|
|
817
805
|
},
|
|
818
|
-
"required": [
|
|
806
|
+
"required": [
|
|
807
|
+
"x",
|
|
808
|
+
"y"
|
|
809
|
+
],
|
|
819
810
|
"additionalProperties": false
|
|
820
811
|
},
|
|
821
|
-
"duration_ms": {
|
|
822
|
-
|
|
823
|
-
|
|
812
|
+
"duration_ms": {
|
|
813
|
+
"type": "integer",
|
|
814
|
+
"minimum": 1
|
|
815
|
+
},
|
|
816
|
+
"timeout_ms": {
|
|
817
|
+
"type": "integer",
|
|
818
|
+
"minimum": 1
|
|
819
|
+
},
|
|
820
|
+
"settle": {
|
|
821
|
+
"type": "boolean"
|
|
822
|
+
}
|
|
824
823
|
},
|
|
825
|
-
"required": [
|
|
824
|
+
"required": [
|
|
825
|
+
"target",
|
|
826
|
+
"duration_ms"
|
|
827
|
+
],
|
|
826
828
|
"additionalProperties": false
|
|
827
829
|
},
|
|
828
830
|
"examples": [
|
|
829
831
|
{
|
|
830
832
|
"action": "ui.pan",
|
|
831
833
|
"target": "example-surface",
|
|
832
|
-
"path": [
|
|
834
|
+
"path": [
|
|
835
|
+
{
|
|
836
|
+
"x": 40,
|
|
837
|
+
"y": 10
|
|
838
|
+
},
|
|
839
|
+
{
|
|
840
|
+
"x": 80,
|
|
841
|
+
"y": 20
|
|
842
|
+
}
|
|
843
|
+
],
|
|
833
844
|
"duration_ms": 400,
|
|
834
845
|
"intent": "Pan through the requested pointer path.",
|
|
835
846
|
"next": "done"
|
|
@@ -842,12 +853,22 @@
|
|
|
842
853
|
"type": "object",
|
|
843
854
|
"properties": {
|
|
844
855
|
"target": {
|
|
845
|
-
"type": [
|
|
856
|
+
"type": [
|
|
857
|
+
"string",
|
|
858
|
+
"object"
|
|
859
|
+
],
|
|
846
860
|
"properties": {
|
|
847
|
-
"x": {
|
|
848
|
-
|
|
861
|
+
"x": {
|
|
862
|
+
"type": "number"
|
|
863
|
+
},
|
|
864
|
+
"y": {
|
|
865
|
+
"type": "number"
|
|
866
|
+
}
|
|
849
867
|
},
|
|
850
|
-
"required": [
|
|
868
|
+
"required": [
|
|
869
|
+
"x",
|
|
870
|
+
"y"
|
|
871
|
+
],
|
|
851
872
|
"additionalProperties": false
|
|
852
873
|
},
|
|
853
874
|
"path": {
|
|
@@ -856,34 +877,62 @@
|
|
|
856
877
|
"items": {
|
|
857
878
|
"type": "object",
|
|
858
879
|
"properties": {
|
|
859
|
-
"x": {
|
|
860
|
-
|
|
880
|
+
"x": {
|
|
881
|
+
"type": "number"
|
|
882
|
+
},
|
|
883
|
+
"y": {
|
|
884
|
+
"type": "number"
|
|
885
|
+
}
|
|
861
886
|
},
|
|
862
|
-
"required": [
|
|
887
|
+
"required": [
|
|
888
|
+
"x",
|
|
889
|
+
"y"
|
|
890
|
+
],
|
|
863
891
|
"additionalProperties": false
|
|
864
892
|
}
|
|
865
893
|
},
|
|
866
894
|
"delta": {
|
|
867
895
|
"type": "object",
|
|
868
896
|
"properties": {
|
|
869
|
-
"x": {
|
|
870
|
-
|
|
897
|
+
"x": {
|
|
898
|
+
"type": "number"
|
|
899
|
+
},
|
|
900
|
+
"y": {
|
|
901
|
+
"type": "number"
|
|
902
|
+
}
|
|
871
903
|
},
|
|
872
|
-
"required": [
|
|
904
|
+
"required": [
|
|
905
|
+
"x",
|
|
906
|
+
"y"
|
|
907
|
+
],
|
|
873
908
|
"additionalProperties": false
|
|
874
909
|
},
|
|
875
|
-
"duration_ms": {
|
|
876
|
-
|
|
877
|
-
|
|
910
|
+
"duration_ms": {
|
|
911
|
+
"type": "integer",
|
|
912
|
+
"minimum": 1
|
|
913
|
+
},
|
|
914
|
+
"timeout_ms": {
|
|
915
|
+
"type": "integer",
|
|
916
|
+
"minimum": 1
|
|
917
|
+
},
|
|
918
|
+
"settle": {
|
|
919
|
+
"type": "boolean"
|
|
920
|
+
}
|
|
878
921
|
},
|
|
879
|
-
"required": [
|
|
922
|
+
"required": [
|
|
923
|
+
"target",
|
|
924
|
+
"duration_ms"
|
|
925
|
+
],
|
|
880
926
|
"additionalProperties": false
|
|
881
927
|
},
|
|
882
928
|
"examples": [
|
|
883
929
|
{
|
|
884
930
|
"action": "ui.drag",
|
|
885
931
|
"target": "example-slider",
|
|
886
|
-
"delta": {
|
|
932
|
+
"delta": {
|
|
933
|
+
"x": 120,
|
|
934
|
+
"y": 0
|
|
935
|
+
},
|
|
887
936
|
"duration_ms": 500,
|
|
888
937
|
"intent": "Drag the requested control to a new value.",
|
|
889
938
|
"next": "done"
|
|
@@ -896,19 +945,40 @@
|
|
|
896
945
|
"type": "object",
|
|
897
946
|
"properties": {
|
|
898
947
|
"target": {
|
|
899
|
-
"type": [
|
|
948
|
+
"type": [
|
|
949
|
+
"string",
|
|
950
|
+
"object"
|
|
951
|
+
],
|
|
900
952
|
"properties": {
|
|
901
|
-
"x": {
|
|
902
|
-
|
|
953
|
+
"x": {
|
|
954
|
+
"type": "number"
|
|
955
|
+
},
|
|
956
|
+
"y": {
|
|
957
|
+
"type": "number"
|
|
958
|
+
}
|
|
903
959
|
},
|
|
904
|
-
"required": [
|
|
960
|
+
"required": [
|
|
961
|
+
"x",
|
|
962
|
+
"y"
|
|
963
|
+
],
|
|
905
964
|
"additionalProperties": false
|
|
906
965
|
},
|
|
907
|
-
"hold_ms": {
|
|
908
|
-
|
|
909
|
-
|
|
966
|
+
"hold_ms": {
|
|
967
|
+
"type": "integer",
|
|
968
|
+
"minimum": 1
|
|
969
|
+
},
|
|
970
|
+
"timeout_ms": {
|
|
971
|
+
"type": "integer",
|
|
972
|
+
"minimum": 1
|
|
973
|
+
},
|
|
974
|
+
"settle": {
|
|
975
|
+
"type": "boolean"
|
|
976
|
+
}
|
|
910
977
|
},
|
|
911
|
-
"required": [
|
|
978
|
+
"required": [
|
|
979
|
+
"target",
|
|
980
|
+
"hold_ms"
|
|
981
|
+
],
|
|
912
982
|
"additionalProperties": false
|
|
913
983
|
},
|
|
914
984
|
"examples": [
|
|
@@ -1025,10 +1095,18 @@
|
|
|
1025
1095
|
"schema": {
|
|
1026
1096
|
"type": "object",
|
|
1027
1097
|
"properties": {
|
|
1028
|
-
"path": {
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
"
|
|
1098
|
+
"path": {
|
|
1099
|
+
"type": "string"
|
|
1100
|
+
},
|
|
1101
|
+
"label": {
|
|
1102
|
+
"type": "string"
|
|
1103
|
+
},
|
|
1104
|
+
"category": {
|
|
1105
|
+
"type": "string"
|
|
1106
|
+
},
|
|
1107
|
+
"timeout_ms": {
|
|
1108
|
+
"type": "number"
|
|
1109
|
+
}
|
|
1032
1110
|
},
|
|
1033
1111
|
"additionalProperties": false
|
|
1034
1112
|
},
|
|
@@ -1186,7 +1264,11 @@
|
|
|
1186
1264
|
"properties": {
|
|
1187
1265
|
"credential_source": {
|
|
1188
1266
|
"type": "string",
|
|
1189
|
-
"enum": [
|
|
1267
|
+
"enum": [
|
|
1268
|
+
"auto",
|
|
1269
|
+
"environment",
|
|
1270
|
+
"fixture"
|
|
1271
|
+
]
|
|
1190
1272
|
},
|
|
1191
1273
|
"srp_env": {
|
|
1192
1274
|
"type": "string"
|
|
@@ -1237,17 +1319,25 @@
|
|
|
1237
1319
|
]
|
|
1238
1320
|
},
|
|
1239
1321
|
"metamask.wallet.import": {
|
|
1240
|
-
"description": "Make the wallet ready
|
|
1322
|
+
"description": "Make the wallet ready through visible onboarding or prove and select the derived account in an existing visible session when method=ui.",
|
|
1241
1323
|
"schema": {
|
|
1242
1324
|
"type": "object",
|
|
1243
1325
|
"properties": {
|
|
1244
1326
|
"method": {
|
|
1245
1327
|
"type": "string",
|
|
1246
|
-
"enum": [
|
|
1328
|
+
"enum": [
|
|
1329
|
+
"auto",
|
|
1330
|
+
"profile",
|
|
1331
|
+
"ui"
|
|
1332
|
+
]
|
|
1247
1333
|
},
|
|
1248
1334
|
"credential_source": {
|
|
1249
1335
|
"type": "string",
|
|
1250
|
-
"enum": [
|
|
1336
|
+
"enum": [
|
|
1337
|
+
"auto",
|
|
1338
|
+
"environment",
|
|
1339
|
+
"fixture"
|
|
1340
|
+
]
|
|
1251
1341
|
},
|
|
1252
1342
|
"srp_env": {
|
|
1253
1343
|
"type": "string"
|
|
@@ -1279,7 +1369,14 @@
|
|
|
1279
1369
|
"type": "array",
|
|
1280
1370
|
"items": {
|
|
1281
1371
|
"type": "string",
|
|
1282
|
-
"enum": [
|
|
1372
|
+
"enum": [
|
|
1373
|
+
"swap_tokens",
|
|
1374
|
+
"trade_perpetuals",
|
|
1375
|
+
"prediction_markets",
|
|
1376
|
+
"send_receive_crypto",
|
|
1377
|
+
"earn_and_spend",
|
|
1378
|
+
"use_other_crypto_apps"
|
|
1379
|
+
]
|
|
1283
1380
|
},
|
|
1284
1381
|
"default": [],
|
|
1285
1382
|
"description": "Mobile-only onboarding interests; ignored when empty on Extension."
|
|
@@ -1433,18 +1530,54 @@
|
|
|
1433
1530
|
"schema": {
|
|
1434
1531
|
"type": "object",
|
|
1435
1532
|
"properties": {
|
|
1436
|
-
"screen_hash": {
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
"
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
"
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1533
|
+
"screen_hash": {
|
|
1534
|
+
"type": "string"
|
|
1535
|
+
},
|
|
1536
|
+
"screen_test_id": {
|
|
1537
|
+
"type": "string"
|
|
1538
|
+
},
|
|
1539
|
+
"return_hash": {
|
|
1540
|
+
"type": "string",
|
|
1541
|
+
"default": "#/"
|
|
1542
|
+
},
|
|
1543
|
+
"cycles": {
|
|
1544
|
+
"type": "integer",
|
|
1545
|
+
"minimum": 2,
|
|
1546
|
+
"default": 8
|
|
1547
|
+
},
|
|
1548
|
+
"max_nodes_per_cycle": {
|
|
1549
|
+
"type": "number",
|
|
1550
|
+
"default": 2
|
|
1551
|
+
},
|
|
1552
|
+
"max_listeners_per_cycle": {
|
|
1553
|
+
"type": "number",
|
|
1554
|
+
"default": 4
|
|
1555
|
+
},
|
|
1556
|
+
"settle_ms": {
|
|
1557
|
+
"type": "integer",
|
|
1558
|
+
"minimum": 0,
|
|
1559
|
+
"default": 1500
|
|
1560
|
+
},
|
|
1561
|
+
"gc_settle_ms": {
|
|
1562
|
+
"type": "integer",
|
|
1563
|
+
"minimum": 0,
|
|
1564
|
+
"default": 300
|
|
1565
|
+
},
|
|
1566
|
+
"screen_timeout_ms": {
|
|
1567
|
+
"type": "integer",
|
|
1568
|
+
"minimum": 1,
|
|
1569
|
+
"default": 15000
|
|
1570
|
+
},
|
|
1571
|
+
"timeout_ms": {
|
|
1572
|
+
"type": "integer",
|
|
1573
|
+
"minimum": 1,
|
|
1574
|
+
"default": 400000
|
|
1575
|
+
}
|
|
1446
1576
|
},
|
|
1447
|
-
"required": [
|
|
1577
|
+
"required": [
|
|
1578
|
+
"screen_hash",
|
|
1579
|
+
"screen_test_id"
|
|
1580
|
+
],
|
|
1448
1581
|
"additionalProperties": false
|
|
1449
1582
|
},
|
|
1450
1583
|
"examples": [
|
|
@@ -1467,17 +1600,50 @@
|
|
|
1467
1600
|
"schema": {
|
|
1468
1601
|
"type": "object",
|
|
1469
1602
|
"properties": {
|
|
1470
|
-
"screen_hash": {
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
"
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
"
|
|
1477
|
-
|
|
1478
|
-
|
|
1603
|
+
"screen_hash": {
|
|
1604
|
+
"type": "string"
|
|
1605
|
+
},
|
|
1606
|
+
"screen_test_id": {
|
|
1607
|
+
"type": "string"
|
|
1608
|
+
},
|
|
1609
|
+
"return_hash": {
|
|
1610
|
+
"type": "string",
|
|
1611
|
+
"default": "#/"
|
|
1612
|
+
},
|
|
1613
|
+
"cycles": {
|
|
1614
|
+
"type": "integer",
|
|
1615
|
+
"minimum": 2,
|
|
1616
|
+
"default": 5
|
|
1617
|
+
},
|
|
1618
|
+
"max_detached_growth": {
|
|
1619
|
+
"type": "number",
|
|
1620
|
+
"default": 50
|
|
1621
|
+
},
|
|
1622
|
+
"settle_ms": {
|
|
1623
|
+
"type": "integer",
|
|
1624
|
+
"minimum": 0,
|
|
1625
|
+
"default": 1500
|
|
1626
|
+
},
|
|
1627
|
+
"gc_settle_ms": {
|
|
1628
|
+
"type": "integer",
|
|
1629
|
+
"minimum": 0,
|
|
1630
|
+
"default": 300
|
|
1631
|
+
},
|
|
1632
|
+
"screen_timeout_ms": {
|
|
1633
|
+
"type": "integer",
|
|
1634
|
+
"minimum": 1,
|
|
1635
|
+
"default": 15000
|
|
1636
|
+
},
|
|
1637
|
+
"timeout_ms": {
|
|
1638
|
+
"type": "integer",
|
|
1639
|
+
"minimum": 1,
|
|
1640
|
+
"default": 400000
|
|
1641
|
+
}
|
|
1479
1642
|
},
|
|
1480
|
-
"required": [
|
|
1643
|
+
"required": [
|
|
1644
|
+
"screen_hash",
|
|
1645
|
+
"screen_test_id"
|
|
1646
|
+
],
|
|
1481
1647
|
"additionalProperties": false
|
|
1482
1648
|
},
|
|
1483
1649
|
"examples": [
|
|
@@ -1499,22 +1665,59 @@
|
|
|
1499
1665
|
"schema": {
|
|
1500
1666
|
"type": "object",
|
|
1501
1667
|
"properties": {
|
|
1502
|
-
"screen_hash": {
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
"
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
"
|
|
1509
|
-
|
|
1510
|
-
|
|
1511
|
-
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
|
|
1668
|
+
"screen_hash": {
|
|
1669
|
+
"type": "string"
|
|
1670
|
+
},
|
|
1671
|
+
"screen_test_id": {
|
|
1672
|
+
"type": "string"
|
|
1673
|
+
},
|
|
1674
|
+
"return_hash": {
|
|
1675
|
+
"type": "string",
|
|
1676
|
+
"default": "#/"
|
|
1677
|
+
},
|
|
1678
|
+
"rounds": {
|
|
1679
|
+
"type": "integer",
|
|
1680
|
+
"minimum": 2,
|
|
1681
|
+
"default": 8
|
|
1682
|
+
},
|
|
1683
|
+
"round_duration_ms": {
|
|
1684
|
+
"type": "integer",
|
|
1685
|
+
"minimum": 1,
|
|
1686
|
+
"default": 10000
|
|
1687
|
+
},
|
|
1688
|
+
"max_attributable_listeners_per_cycle": {
|
|
1689
|
+
"type": "number",
|
|
1690
|
+
"default": 2
|
|
1691
|
+
},
|
|
1692
|
+
"settle_ms": {
|
|
1693
|
+
"type": "integer",
|
|
1694
|
+
"minimum": 0,
|
|
1695
|
+
"default": 1500
|
|
1696
|
+
},
|
|
1697
|
+
"gc_settle_ms": {
|
|
1698
|
+
"type": "integer",
|
|
1699
|
+
"minimum": 0,
|
|
1700
|
+
"default": 300
|
|
1701
|
+
},
|
|
1702
|
+
"screen_timeout_ms": {
|
|
1703
|
+
"type": "integer",
|
|
1704
|
+
"minimum": 1,
|
|
1705
|
+
"default": 15000
|
|
1706
|
+
},
|
|
1707
|
+
"timeout_ms": {
|
|
1708
|
+
"type": "integer",
|
|
1709
|
+
"minimum": 1,
|
|
1710
|
+
"default": 400000
|
|
1711
|
+
}
|
|
1712
|
+
},
|
|
1713
|
+
"required": [
|
|
1714
|
+
"screen_hash",
|
|
1715
|
+
"screen_test_id"
|
|
1716
|
+
],
|
|
1717
|
+
"additionalProperties": false
|
|
1718
|
+
},
|
|
1719
|
+
"examples": [
|
|
1720
|
+
{
|
|
1518
1721
|
"action": "metamask.performance.compare_idle_navigation_memory",
|
|
1519
1722
|
"screen_hash": "#/settings",
|
|
1520
1723
|
"screen_test_id": "settings-tab-bar-grouped",
|
|
@@ -1550,7 +1753,9 @@
|
|
|
1550
1753
|
},
|
|
1551
1754
|
"require_symbols": {
|
|
1552
1755
|
"type": "array",
|
|
1553
|
-
"items": {
|
|
1756
|
+
"items": {
|
|
1757
|
+
"type": "string"
|
|
1758
|
+
},
|
|
1554
1759
|
"maxItems": 50
|
|
1555
1760
|
},
|
|
1556
1761
|
"require_fiat": {
|
|
@@ -1573,7 +1778,10 @@
|
|
|
1573
1778
|
{
|
|
1574
1779
|
"action": "metamask.assets.read_visible_state",
|
|
1575
1780
|
"minimum_asset_count": 2,
|
|
1576
|
-
"require_symbols": [
|
|
1781
|
+
"require_symbols": [
|
|
1782
|
+
"USDC",
|
|
1783
|
+
"BNB"
|
|
1784
|
+
],
|
|
1577
1785
|
"require_fiat": true,
|
|
1578
1786
|
"require_price_change_styling": true,
|
|
1579
1787
|
"minimum_price_change_count": 1,
|
|
@@ -1582,36 +1790,62 @@
|
|
|
1582
1790
|
"next": "done"
|
|
1583
1791
|
}
|
|
1584
1792
|
],
|
|
1585
|
-
"execution_capabilities": [
|
|
1793
|
+
"execution_capabilities": [
|
|
1794
|
+
"host-read-export"
|
|
1795
|
+
]
|
|
1586
1796
|
},
|
|
1587
1797
|
"metamask.assets.open_details": {
|
|
1588
1798
|
"description": "Open one visible Extension asset by symbol.",
|
|
1589
1799
|
"schema": {
|
|
1590
1800
|
"type": "object",
|
|
1591
1801
|
"properties": {
|
|
1592
|
-
"symbol": {
|
|
1593
|
-
|
|
1802
|
+
"symbol": {
|
|
1803
|
+
"type": "string"
|
|
1804
|
+
},
|
|
1805
|
+
"timeout_ms": {
|
|
1806
|
+
"type": "integer",
|
|
1807
|
+
"minimum": 1000,
|
|
1808
|
+
"default": 30000
|
|
1809
|
+
}
|
|
1594
1810
|
},
|
|
1595
|
-
"required": [
|
|
1811
|
+
"required": [
|
|
1812
|
+
"symbol"
|
|
1813
|
+
],
|
|
1596
1814
|
"additionalProperties": false
|
|
1597
1815
|
},
|
|
1598
|
-
"examples": [
|
|
1599
|
-
|
|
1600
|
-
|
|
1601
|
-
|
|
1602
|
-
|
|
1603
|
-
|
|
1604
|
-
|
|
1816
|
+
"examples": [
|
|
1817
|
+
{
|
|
1818
|
+
"action": "metamask.assets.open_details",
|
|
1819
|
+
"symbol": "ETH",
|
|
1820
|
+
"intent": "Open the funded ETH details",
|
|
1821
|
+
"next": "done"
|
|
1822
|
+
}
|
|
1823
|
+
],
|
|
1824
|
+
"execution_capabilities": [
|
|
1825
|
+
"app-mutation"
|
|
1826
|
+
]
|
|
1605
1827
|
},
|
|
1606
1828
|
"metamask.assets.read_details": {
|
|
1607
1829
|
"description": "Read and assert the current Extension asset details page through visible UI.",
|
|
1608
1830
|
"schema": {
|
|
1609
1831
|
"type": "object",
|
|
1610
1832
|
"properties": {
|
|
1611
|
-
"expected_symbol": {
|
|
1612
|
-
|
|
1613
|
-
|
|
1614
|
-
"
|
|
1833
|
+
"expected_symbol": {
|
|
1834
|
+
"type": "string"
|
|
1835
|
+
},
|
|
1836
|
+
"require_chart": {
|
|
1837
|
+
"type": "boolean",
|
|
1838
|
+
"default": false
|
|
1839
|
+
},
|
|
1840
|
+
"require_market_cap": {
|
|
1841
|
+
"type": "boolean",
|
|
1842
|
+
"default": false
|
|
1843
|
+
},
|
|
1844
|
+
"timeout_ms": {
|
|
1845
|
+
"type": "integer",
|
|
1846
|
+
"minimum": 1000,
|
|
1847
|
+
"default": 30000
|
|
1848
|
+
}
|
|
1615
1849
|
},
|
|
1616
1850
|
"additionalProperties": false
|
|
1617
1851
|
},
|
|
@@ -1625,7 +1859,9 @@
|
|
|
1625
1859
|
"next": "done"
|
|
1626
1860
|
}
|
|
1627
1861
|
],
|
|
1628
|
-
"execution_capabilities": [
|
|
1862
|
+
"execution_capabilities": [
|
|
1863
|
+
"host-read-export"
|
|
1864
|
+
]
|
|
1629
1865
|
},
|
|
1630
1866
|
"metamask.assets.verify_sorting": {
|
|
1631
1867
|
"description": "Select both visible Extension asset sort modes, assert their row order, and restore declining balance.",
|
|
@@ -1641,20 +1877,39 @@
|
|
|
1641
1877
|
"next": "done"
|
|
1642
1878
|
}
|
|
1643
1879
|
],
|
|
1644
|
-
"execution_capabilities": [
|
|
1880
|
+
"execution_capabilities": [
|
|
1881
|
+
"app-mutation"
|
|
1882
|
+
]
|
|
1645
1883
|
},
|
|
1646
1884
|
"metamask.assets.set_token_visibility": {
|
|
1647
1885
|
"description": "Enable or disable one searched Extension token through Manage tokens and verify the home list state.",
|
|
1648
1886
|
"schema": {
|
|
1649
1887
|
"type": "object",
|
|
1650
1888
|
"properties": {
|
|
1651
|
-
"query": {
|
|
1652
|
-
|
|
1653
|
-
|
|
1654
|
-
"
|
|
1655
|
-
|
|
1889
|
+
"query": {
|
|
1890
|
+
"type": "string"
|
|
1891
|
+
},
|
|
1892
|
+
"visible": {
|
|
1893
|
+
"type": "boolean"
|
|
1894
|
+
},
|
|
1895
|
+
"require_unchanged": {
|
|
1896
|
+
"type": "boolean",
|
|
1897
|
+
"default": false
|
|
1898
|
+
},
|
|
1899
|
+
"require_change": {
|
|
1900
|
+
"type": "boolean",
|
|
1901
|
+
"default": false
|
|
1902
|
+
},
|
|
1903
|
+
"timeout_ms": {
|
|
1904
|
+
"type": "integer",
|
|
1905
|
+
"minimum": 1000,
|
|
1906
|
+
"default": 45000
|
|
1907
|
+
}
|
|
1656
1908
|
},
|
|
1657
|
-
"required": [
|
|
1909
|
+
"required": [
|
|
1910
|
+
"query",
|
|
1911
|
+
"visible"
|
|
1912
|
+
],
|
|
1658
1913
|
"additionalProperties": false
|
|
1659
1914
|
},
|
|
1660
1915
|
"examples": [
|
|
@@ -1666,14 +1921,20 @@
|
|
|
1666
1921
|
"next": "done"
|
|
1667
1922
|
}
|
|
1668
1923
|
],
|
|
1669
|
-
"execution_capabilities": [
|
|
1924
|
+
"execution_capabilities": [
|
|
1925
|
+
"app-mutation"
|
|
1926
|
+
]
|
|
1670
1927
|
},
|
|
1671
1928
|
"metamask.wallet.lock": {
|
|
1672
1929
|
"description": "Lock the Extension wallet through the visible global menu and prove the unlock page appears.",
|
|
1673
1930
|
"schema": {
|
|
1674
1931
|
"type": "object",
|
|
1675
1932
|
"properties": {
|
|
1676
|
-
"timeout_ms": {
|
|
1933
|
+
"timeout_ms": {
|
|
1934
|
+
"type": "integer",
|
|
1935
|
+
"minimum": 1000,
|
|
1936
|
+
"default": 15000
|
|
1937
|
+
}
|
|
1677
1938
|
},
|
|
1678
1939
|
"additionalProperties": false
|
|
1679
1940
|
},
|
|
@@ -1684,21 +1945,44 @@
|
|
|
1684
1945
|
"next": "done"
|
|
1685
1946
|
}
|
|
1686
1947
|
],
|
|
1687
|
-
"execution_capabilities": [
|
|
1948
|
+
"execution_capabilities": [
|
|
1949
|
+
"app-mutation"
|
|
1950
|
+
]
|
|
1688
1951
|
},
|
|
1689
1952
|
"metamask.assets.import_custom_token": {
|
|
1690
1953
|
"description": "Import one ERC-20 on a selected Extension network through the custom-token form and verify its row.",
|
|
1691
1954
|
"schema": {
|
|
1692
1955
|
"type": "object",
|
|
1693
1956
|
"properties": {
|
|
1694
|
-
"network": {
|
|
1695
|
-
|
|
1696
|
-
|
|
1697
|
-
"
|
|
1698
|
-
|
|
1699
|
-
|
|
1957
|
+
"network": {
|
|
1958
|
+
"type": "string"
|
|
1959
|
+
},
|
|
1960
|
+
"chain_id": {
|
|
1961
|
+
"type": "integer",
|
|
1962
|
+
"minimum": 1
|
|
1963
|
+
},
|
|
1964
|
+
"address": {
|
|
1965
|
+
"type": "string"
|
|
1966
|
+
},
|
|
1967
|
+
"expected_symbol": {
|
|
1968
|
+
"type": "string"
|
|
1969
|
+
},
|
|
1970
|
+
"decimals": {
|
|
1971
|
+
"type": "integer",
|
|
1972
|
+
"minimum": 0
|
|
1973
|
+
},
|
|
1974
|
+
"timeout_ms": {
|
|
1975
|
+
"type": "integer",
|
|
1976
|
+
"minimum": 1000,
|
|
1977
|
+
"default": 60000
|
|
1978
|
+
}
|
|
1700
1979
|
},
|
|
1701
|
-
"required": [
|
|
1980
|
+
"required": [
|
|
1981
|
+
"network",
|
|
1982
|
+
"chain_id",
|
|
1983
|
+
"address",
|
|
1984
|
+
"expected_symbol"
|
|
1985
|
+
],
|
|
1702
1986
|
"additionalProperties": false
|
|
1703
1987
|
},
|
|
1704
1988
|
"examples": [
|
|
@@ -1713,20 +1997,41 @@
|
|
|
1713
1997
|
"next": "done"
|
|
1714
1998
|
}
|
|
1715
1999
|
],
|
|
1716
|
-
"execution_capabilities": [
|
|
2000
|
+
"execution_capabilities": [
|
|
2001
|
+
"app-mutation"
|
|
2002
|
+
]
|
|
1717
2003
|
},
|
|
1718
2004
|
"metamask.assets.prepare_send": {
|
|
1719
2005
|
"description": "Prepare a wallet-initiated EVM asset send through visible UI without advancing to confirmation.",
|
|
1720
2006
|
"schema": {
|
|
1721
2007
|
"type": "object",
|
|
1722
2008
|
"properties": {
|
|
1723
|
-
"symbol": {
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
"
|
|
1727
|
-
|
|
2009
|
+
"symbol": {
|
|
2010
|
+
"type": "string"
|
|
2011
|
+
},
|
|
2012
|
+
"recipient": {
|
|
2013
|
+
"type": "string"
|
|
2014
|
+
},
|
|
2015
|
+
"amount": {
|
|
2016
|
+
"type": [
|
|
2017
|
+
"string",
|
|
2018
|
+
"number"
|
|
2019
|
+
]
|
|
2020
|
+
},
|
|
2021
|
+
"max": {
|
|
2022
|
+
"type": "boolean",
|
|
2023
|
+
"default": false
|
|
2024
|
+
},
|
|
2025
|
+
"timeout_ms": {
|
|
2026
|
+
"type": "integer",
|
|
2027
|
+
"minimum": 1000,
|
|
2028
|
+
"default": 30000
|
|
2029
|
+
}
|
|
1728
2030
|
},
|
|
1729
|
-
"required": [
|
|
2031
|
+
"required": [
|
|
2032
|
+
"symbol",
|
|
2033
|
+
"recipient"
|
|
2034
|
+
],
|
|
1730
2035
|
"additionalProperties": false
|
|
1731
2036
|
},
|
|
1732
2037
|
"examples": [
|
|
@@ -1739,14 +2044,20 @@
|
|
|
1739
2044
|
"next": "done"
|
|
1740
2045
|
}
|
|
1741
2046
|
],
|
|
1742
|
-
"execution_capabilities": [
|
|
2047
|
+
"execution_capabilities": [
|
|
2048
|
+
"app-mutation"
|
|
2049
|
+
]
|
|
1743
2050
|
},
|
|
1744
2051
|
"metamask.assets.review_send": {
|
|
1745
2052
|
"description": "Advance a prepared Extension send to confirmation and prove its visible network fee.",
|
|
1746
2053
|
"schema": {
|
|
1747
2054
|
"type": "object",
|
|
1748
2055
|
"properties": {
|
|
1749
|
-
"timeout_ms": {
|
|
2056
|
+
"timeout_ms": {
|
|
2057
|
+
"type": "integer",
|
|
2058
|
+
"minimum": 1000,
|
|
2059
|
+
"default": 30000
|
|
2060
|
+
}
|
|
1750
2061
|
},
|
|
1751
2062
|
"additionalProperties": false
|
|
1752
2063
|
},
|
|
@@ -1757,46 +2068,30 @@
|
|
|
1757
2068
|
"next": "done"
|
|
1758
2069
|
}
|
|
1759
2070
|
],
|
|
1760
|
-
"execution_capabilities": [
|
|
1761
|
-
|
|
1762
|
-
|
|
1763
|
-
"description": "Confirm or cancel a reviewed Extension send, requiring explicit live consent for confirmation and proving confirmed Activity details.",
|
|
1764
|
-
"schema": {
|
|
1765
|
-
"type": "object",
|
|
1766
|
-
"properties": {
|
|
1767
|
-
"decision": { "type": "string", "enum": ["confirm", "cancel"] },
|
|
1768
|
-
"symbol": { "type": "string" },
|
|
1769
|
-
"amount": { "type": ["string", "number"] },
|
|
1770
|
-
"confirm_live": { "type": "boolean", "default": false },
|
|
1771
|
-
"resume_submitted": { "type": "boolean", "default": false },
|
|
1772
|
-
"transaction_hash": { "type": "string" },
|
|
1773
|
-
"timeout_ms": { "type": "integer", "minimum": 1000, "default": 120000 }
|
|
1774
|
-
},
|
|
1775
|
-
"required": ["decision", "symbol", "amount"],
|
|
1776
|
-
"additionalProperties": false
|
|
1777
|
-
},
|
|
1778
|
-
"examples": [
|
|
1779
|
-
{
|
|
1780
|
-
"action": "metamask.assets.finish_send",
|
|
1781
|
-
"decision": "confirm",
|
|
1782
|
-
"symbol": "USDC",
|
|
1783
|
-
"amount": "0.01",
|
|
1784
|
-
"confirm_live": true,
|
|
1785
|
-
"intent": "Confirm the authorized tiny send and prove final Activity state",
|
|
1786
|
-
"next": "done"
|
|
1787
|
-
}
|
|
1788
|
-
],
|
|
1789
|
-
"execution_capabilities": ["app-mutation", "external-mutation"]
|
|
2071
|
+
"execution_capabilities": [
|
|
2072
|
+
"app-mutation"
|
|
2073
|
+
]
|
|
1790
2074
|
},
|
|
1791
2075
|
"metamask.assets.set_custom_gas": {
|
|
1792
2076
|
"description": "Set a custom EVM gas limit on the current Extension send confirmation through visible controls.",
|
|
1793
2077
|
"schema": {
|
|
1794
2078
|
"type": "object",
|
|
1795
2079
|
"properties": {
|
|
1796
|
-
"gas_limit": {
|
|
1797
|
-
|
|
2080
|
+
"gas_limit": {
|
|
2081
|
+
"type": [
|
|
2082
|
+
"string",
|
|
2083
|
+
"number"
|
|
2084
|
+
]
|
|
2085
|
+
},
|
|
2086
|
+
"timeout_ms": {
|
|
2087
|
+
"type": "integer",
|
|
2088
|
+
"minimum": 1000,
|
|
2089
|
+
"default": 30000
|
|
2090
|
+
}
|
|
1798
2091
|
},
|
|
1799
|
-
"required": [
|
|
2092
|
+
"required": [
|
|
2093
|
+
"gas_limit"
|
|
2094
|
+
],
|
|
1800
2095
|
"additionalProperties": false
|
|
1801
2096
|
},
|
|
1802
2097
|
"examples": [
|
|
@@ -1807,15 +2102,27 @@
|
|
|
1807
2102
|
"next": "done"
|
|
1808
2103
|
}
|
|
1809
2104
|
],
|
|
1810
|
-
"execution_capabilities": [
|
|
2105
|
+
"execution_capabilities": [
|
|
2106
|
+
"app-mutation"
|
|
2107
|
+
]
|
|
1811
2108
|
},
|
|
1812
2109
|
"metamask.assets.select_network_scope": {
|
|
1813
2110
|
"description": "Select the all-networks Extension asset scope through the visible network filter.",
|
|
1814
2111
|
"schema": {
|
|
1815
2112
|
"type": "object",
|
|
1816
2113
|
"properties": {
|
|
1817
|
-
"scope": {
|
|
1818
|
-
|
|
2114
|
+
"scope": {
|
|
2115
|
+
"type": "string",
|
|
2116
|
+
"enum": [
|
|
2117
|
+
"all"
|
|
2118
|
+
],
|
|
2119
|
+
"default": "all"
|
|
2120
|
+
},
|
|
2121
|
+
"timeout_ms": {
|
|
2122
|
+
"type": "integer",
|
|
2123
|
+
"minimum": 1000,
|
|
2124
|
+
"default": 30000
|
|
2125
|
+
}
|
|
1819
2126
|
},
|
|
1820
2127
|
"additionalProperties": false
|
|
1821
2128
|
},
|
|
@@ -1827,25 +2134,66 @@
|
|
|
1827
2134
|
"next": "done"
|
|
1828
2135
|
}
|
|
1829
2136
|
],
|
|
1830
|
-
"execution_capabilities": [
|
|
2137
|
+
"execution_capabilities": [
|
|
2138
|
+
"app-mutation"
|
|
2139
|
+
]
|
|
1831
2140
|
},
|
|
1832
2141
|
"metamask.networks.read_visible_state": {
|
|
1833
2142
|
"description": "Read one selected Extension network and prove its visible balance rows remain stable across a bounded settle window.",
|
|
1834
2143
|
"schema": {
|
|
1835
2144
|
"type": "object",
|
|
1836
2145
|
"properties": {
|
|
1837
|
-
"network": {
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
"
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
"
|
|
1845
|
-
|
|
1846
|
-
|
|
2146
|
+
"network": {
|
|
2147
|
+
"type": "string"
|
|
2148
|
+
},
|
|
2149
|
+
"chain_id": {
|
|
2150
|
+
"type": "integer",
|
|
2151
|
+
"minimum": 1
|
|
2152
|
+
},
|
|
2153
|
+
"settle_ms": {
|
|
2154
|
+
"type": "integer",
|
|
2155
|
+
"minimum": 0,
|
|
2156
|
+
"default": 0
|
|
2157
|
+
},
|
|
2158
|
+
"minimum_asset_count": {
|
|
2159
|
+
"type": "integer",
|
|
2160
|
+
"minimum": 0,
|
|
2161
|
+
"default": 0
|
|
2162
|
+
},
|
|
2163
|
+
"minimum_price_change_count": {
|
|
2164
|
+
"type": "integer",
|
|
2165
|
+
"minimum": 0,
|
|
2166
|
+
"default": 0
|
|
2167
|
+
},
|
|
2168
|
+
"minimum_without_price_change_count": {
|
|
2169
|
+
"type": "integer",
|
|
2170
|
+
"minimum": 0,
|
|
2171
|
+
"default": 0
|
|
2172
|
+
},
|
|
2173
|
+
"require_symbols": {
|
|
2174
|
+
"type": "array",
|
|
2175
|
+
"items": {
|
|
2176
|
+
"type": "string"
|
|
2177
|
+
},
|
|
2178
|
+
"maxItems": 50
|
|
2179
|
+
},
|
|
2180
|
+
"require_fiat": {
|
|
2181
|
+
"type": "boolean",
|
|
2182
|
+
"default": false
|
|
2183
|
+
},
|
|
2184
|
+
"require_price_change_styling": {
|
|
2185
|
+
"type": "boolean",
|
|
2186
|
+
"default": false
|
|
2187
|
+
},
|
|
2188
|
+
"max_items": {
|
|
2189
|
+
"type": "integer",
|
|
2190
|
+
"minimum": 1,
|
|
2191
|
+
"default": 100
|
|
2192
|
+
}
|
|
1847
2193
|
},
|
|
1848
|
-
"required": [
|
|
2194
|
+
"required": [
|
|
2195
|
+
"network"
|
|
2196
|
+
],
|
|
1849
2197
|
"additionalProperties": false
|
|
1850
2198
|
},
|
|
1851
2199
|
"examples": [
|
|
@@ -1853,98 +2201,189 @@
|
|
|
1853
2201
|
"action": "metamask.networks.read_visible_state",
|
|
1854
2202
|
"network": "HyperEVM",
|
|
1855
2203
|
"chain_id": 999,
|
|
1856
|
-
"require_symbols": [
|
|
2204
|
+
"require_symbols": [
|
|
2205
|
+
"HYPE"
|
|
2206
|
+
],
|
|
1857
2207
|
"settle_ms": 30000,
|
|
1858
2208
|
"intent": "Assert the selected custom-network balance remains visible",
|
|
1859
2209
|
"next": "done"
|
|
1860
2210
|
}
|
|
1861
2211
|
],
|
|
1862
|
-
"execution_capabilities": [
|
|
2212
|
+
"execution_capabilities": [
|
|
2213
|
+
"host-read-export"
|
|
2214
|
+
]
|
|
1863
2215
|
},
|
|
1864
2216
|
"metamask.networks.add_custom": {
|
|
1865
2217
|
"description": "Add or select one custom Extension network through visible network management controls.",
|
|
1866
2218
|
"schema": {
|
|
1867
2219
|
"type": "object",
|
|
1868
2220
|
"properties": {
|
|
1869
|
-
"network": {
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
"
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
2221
|
+
"network": {
|
|
2222
|
+
"type": "string"
|
|
2223
|
+
},
|
|
2224
|
+
"rpc_url": {
|
|
2225
|
+
"type": "string"
|
|
2226
|
+
},
|
|
2227
|
+
"chain_id": {
|
|
2228
|
+
"type": "integer",
|
|
2229
|
+
"minimum": 1
|
|
2230
|
+
},
|
|
2231
|
+
"symbol": {
|
|
2232
|
+
"type": "string"
|
|
2233
|
+
},
|
|
2234
|
+
"explorer_url": {
|
|
2235
|
+
"type": "string"
|
|
2236
|
+
},
|
|
2237
|
+
"require_absent": {
|
|
2238
|
+
"type": "boolean",
|
|
2239
|
+
"default": false
|
|
2240
|
+
},
|
|
2241
|
+
"timeout_ms": {
|
|
2242
|
+
"type": "integer",
|
|
2243
|
+
"minimum": 1000,
|
|
2244
|
+
"default": 60000
|
|
2245
|
+
}
|
|
2246
|
+
},
|
|
2247
|
+
"required": [
|
|
2248
|
+
"network",
|
|
2249
|
+
"rpc_url",
|
|
2250
|
+
"chain_id",
|
|
2251
|
+
"symbol"
|
|
2252
|
+
],
|
|
2253
|
+
"additionalProperties": false
|
|
2254
|
+
},
|
|
2255
|
+
"examples": [
|
|
2256
|
+
{
|
|
2257
|
+
"action": "metamask.networks.add_custom",
|
|
2258
|
+
"network": "PulseChain",
|
|
2259
|
+
"rpc_url": "https://rpc.pulsechain.com",
|
|
2260
|
+
"chain_id": 369,
|
|
2261
|
+
"symbol": "PLS",
|
|
2262
|
+
"explorer_url": "https://scan.pulsechain.com",
|
|
2263
|
+
"require_absent": true,
|
|
2264
|
+
"intent": "Add and select PulseChain",
|
|
2265
|
+
"next": "done"
|
|
2266
|
+
}
|
|
2267
|
+
],
|
|
2268
|
+
"execution_capabilities": [
|
|
2269
|
+
"app-mutation"
|
|
2270
|
+
]
|
|
2271
|
+
},
|
|
2272
|
+
"metamask.networks.add_chainlist": {
|
|
2273
|
+
"description": "Add or select one Extension network from the visible ChainList search results.",
|
|
2274
|
+
"schema": {
|
|
1894
2275
|
"type": "object",
|
|
1895
2276
|
"properties": {
|
|
1896
|
-
"network": {
|
|
1897
|
-
|
|
1898
|
-
|
|
1899
|
-
"
|
|
1900
|
-
|
|
2277
|
+
"network": {
|
|
2278
|
+
"type": "string"
|
|
2279
|
+
},
|
|
2280
|
+
"query": {
|
|
2281
|
+
"type": "string"
|
|
2282
|
+
},
|
|
2283
|
+
"chain_id": {
|
|
2284
|
+
"type": "integer",
|
|
2285
|
+
"minimum": 1
|
|
2286
|
+
},
|
|
2287
|
+
"symbol": {
|
|
2288
|
+
"type": "string"
|
|
2289
|
+
},
|
|
2290
|
+
"require_absent": {
|
|
2291
|
+
"type": "boolean",
|
|
2292
|
+
"default": false
|
|
2293
|
+
},
|
|
2294
|
+
"timeout_ms": {
|
|
2295
|
+
"type": "integer",
|
|
2296
|
+
"minimum": 1000,
|
|
2297
|
+
"default": 60000
|
|
2298
|
+
}
|
|
1901
2299
|
},
|
|
1902
|
-
"required": [
|
|
2300
|
+
"required": [
|
|
2301
|
+
"network",
|
|
2302
|
+
"chain_id",
|
|
2303
|
+
"symbol"
|
|
2304
|
+
],
|
|
1903
2305
|
"additionalProperties": false
|
|
1904
2306
|
},
|
|
1905
|
-
"examples": [
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
-
|
|
1914
|
-
|
|
2307
|
+
"examples": [
|
|
2308
|
+
{
|
|
2309
|
+
"action": "metamask.networks.add_chainlist",
|
|
2310
|
+
"network": "XDC Network",
|
|
2311
|
+
"query": "XDC",
|
|
2312
|
+
"chain_id": 50,
|
|
2313
|
+
"symbol": "XDC",
|
|
2314
|
+
"require_absent": true,
|
|
2315
|
+
"intent": "Add and select XDC Network from the exact ChainList result",
|
|
2316
|
+
"next": "done"
|
|
2317
|
+
}
|
|
2318
|
+
],
|
|
2319
|
+
"execution_capabilities": [
|
|
2320
|
+
"app-mutation"
|
|
2321
|
+
]
|
|
1915
2322
|
},
|
|
1916
2323
|
"metamask.networks.remove_custom": {
|
|
1917
2324
|
"description": "Remove one custom Extension network through visible network management controls.",
|
|
1918
2325
|
"schema": {
|
|
1919
2326
|
"type": "object",
|
|
1920
2327
|
"properties": {
|
|
1921
|
-
"network": {
|
|
1922
|
-
|
|
1923
|
-
|
|
2328
|
+
"network": {
|
|
2329
|
+
"type": "string"
|
|
2330
|
+
},
|
|
2331
|
+
"chain_id": {
|
|
2332
|
+
"type": "integer",
|
|
2333
|
+
"minimum": 1
|
|
2334
|
+
},
|
|
2335
|
+
"timeout_ms": {
|
|
2336
|
+
"type": "integer",
|
|
2337
|
+
"minimum": 1000,
|
|
2338
|
+
"default": 30000
|
|
2339
|
+
}
|
|
1924
2340
|
},
|
|
1925
|
-
"required": [
|
|
2341
|
+
"required": [
|
|
2342
|
+
"network",
|
|
2343
|
+
"chain_id"
|
|
2344
|
+
],
|
|
1926
2345
|
"additionalProperties": false
|
|
1927
2346
|
},
|
|
1928
|
-
"examples": [
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
|
|
1935
|
-
|
|
2347
|
+
"examples": [
|
|
2348
|
+
{
|
|
2349
|
+
"action": "metamask.networks.remove_custom",
|
|
2350
|
+
"network": "PulseChain",
|
|
2351
|
+
"chain_id": 369,
|
|
2352
|
+
"intent": "Remove PulseChain after validation",
|
|
2353
|
+
"next": "done"
|
|
2354
|
+
}
|
|
2355
|
+
],
|
|
2356
|
+
"execution_capabilities": [
|
|
2357
|
+
"app-mutation"
|
|
2358
|
+
]
|
|
1936
2359
|
},
|
|
1937
2360
|
"metamask.swap_bridge.read_visible_state": {
|
|
1938
2361
|
"description": "Read and assert the visible Swap surface from an untouched Extension runtime without product background hooks.",
|
|
1939
2362
|
"schema": {
|
|
1940
2363
|
"type": "object",
|
|
1941
2364
|
"properties": {
|
|
1942
|
-
"source_symbol": {
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
"
|
|
1946
|
-
|
|
1947
|
-
|
|
2365
|
+
"source_symbol": {
|
|
2366
|
+
"type": "string"
|
|
2367
|
+
},
|
|
2368
|
+
"destination_symbol": {
|
|
2369
|
+
"type": "string"
|
|
2370
|
+
},
|
|
2371
|
+
"require_amount_inputs": {
|
|
2372
|
+
"type": "boolean",
|
|
2373
|
+
"default": true
|
|
2374
|
+
},
|
|
2375
|
+
"require_settings": {
|
|
2376
|
+
"type": "boolean",
|
|
2377
|
+
"default": false
|
|
2378
|
+
},
|
|
2379
|
+
"require_quote": {
|
|
2380
|
+
"type": "boolean",
|
|
2381
|
+
"default": false
|
|
2382
|
+
},
|
|
2383
|
+
"expected_slippage": {
|
|
2384
|
+
"type": "number",
|
|
2385
|
+
"minimum": 0
|
|
2386
|
+
}
|
|
1948
2387
|
},
|
|
1949
2388
|
"additionalProperties": false
|
|
1950
2389
|
},
|
|
@@ -1957,122 +2396,164 @@
|
|
|
1957
2396
|
"next": "done"
|
|
1958
2397
|
}
|
|
1959
2398
|
],
|
|
1960
|
-
"execution_capabilities": [
|
|
2399
|
+
"execution_capabilities": [
|
|
2400
|
+
"host-read-export"
|
|
2401
|
+
]
|
|
1961
2402
|
},
|
|
1962
2403
|
"metamask.swap_bridge.select_assets": {
|
|
1963
2404
|
"description": "Select exact Swap source and destination assets through the visible asset pickers.",
|
|
1964
2405
|
"schema": {
|
|
1965
2406
|
"type": "object",
|
|
1966
2407
|
"properties": {
|
|
1967
|
-
"source_symbol": {
|
|
1968
|
-
|
|
1969
|
-
|
|
1970
|
-
"
|
|
1971
|
-
|
|
1972
|
-
|
|
1973
|
-
"
|
|
1974
|
-
|
|
1975
|
-
|
|
2408
|
+
"source_symbol": {
|
|
2409
|
+
"type": "string"
|
|
2410
|
+
},
|
|
2411
|
+
"destination_symbol": {
|
|
2412
|
+
"type": "string"
|
|
2413
|
+
},
|
|
2414
|
+
"source_chain": {
|
|
2415
|
+
"type": "string"
|
|
2416
|
+
},
|
|
2417
|
+
"destination_chain": {
|
|
2418
|
+
"type": "string"
|
|
2419
|
+
},
|
|
2420
|
+
"source_query": {
|
|
2421
|
+
"type": "string"
|
|
2422
|
+
},
|
|
2423
|
+
"destination_query": {
|
|
2424
|
+
"type": "string"
|
|
2425
|
+
},
|
|
2426
|
+
"source_asset_id": {
|
|
2427
|
+
"type": "string"
|
|
2428
|
+
},
|
|
2429
|
+
"destination_asset_id": {
|
|
2430
|
+
"type": "string"
|
|
2431
|
+
},
|
|
2432
|
+
"timeout_ms": {
|
|
2433
|
+
"type": "integer",
|
|
2434
|
+
"minimum": 1000,
|
|
2435
|
+
"default": 60000
|
|
2436
|
+
}
|
|
1976
2437
|
},
|
|
1977
|
-
"required": [
|
|
2438
|
+
"required": [
|
|
2439
|
+
"source_symbol",
|
|
2440
|
+
"destination_symbol",
|
|
2441
|
+
"source_chain",
|
|
2442
|
+
"destination_chain"
|
|
2443
|
+
],
|
|
1978
2444
|
"additionalProperties": false
|
|
1979
2445
|
},
|
|
1980
|
-
"examples": [
|
|
1981
|
-
|
|
1982
|
-
|
|
1983
|
-
|
|
1984
|
-
|
|
1985
|
-
|
|
1986
|
-
|
|
1987
|
-
|
|
1988
|
-
|
|
1989
|
-
|
|
2446
|
+
"examples": [
|
|
2447
|
+
{
|
|
2448
|
+
"action": "metamask.swap_bridge.select_assets",
|
|
2449
|
+
"source_symbol": "ETH",
|
|
2450
|
+
"destination_symbol": "WETH",
|
|
2451
|
+
"source_chain": "eip155:1",
|
|
2452
|
+
"destination_chain": "eip155:1",
|
|
2453
|
+
"intent": "Select the funded Swap pair",
|
|
2454
|
+
"next": "done"
|
|
2455
|
+
}
|
|
2456
|
+
],
|
|
2457
|
+
"execution_capabilities": [
|
|
2458
|
+
"app-mutation"
|
|
2459
|
+
]
|
|
1990
2460
|
},
|
|
1991
2461
|
"metamask.swap_bridge.set_amount": {
|
|
1992
2462
|
"description": "Enter a positive Swap amount through visible UI and wait for a quote or explicit no-route state.",
|
|
1993
2463
|
"schema": {
|
|
1994
2464
|
"type": "object",
|
|
1995
2465
|
"properties": {
|
|
1996
|
-
"amount": {
|
|
1997
|
-
|
|
1998
|
-
|
|
2466
|
+
"amount": {
|
|
2467
|
+
"type": "number",
|
|
2468
|
+
"minimum": 1E-8
|
|
2469
|
+
},
|
|
2470
|
+
"wait_for_quote": {
|
|
2471
|
+
"type": "boolean",
|
|
2472
|
+
"default": true
|
|
2473
|
+
},
|
|
2474
|
+
"timeout_ms": {
|
|
2475
|
+
"type": "integer",
|
|
2476
|
+
"minimum": 1000,
|
|
2477
|
+
"default": 60000
|
|
2478
|
+
}
|
|
1999
2479
|
},
|
|
2000
|
-
"required": [
|
|
2480
|
+
"required": [
|
|
2481
|
+
"amount"
|
|
2482
|
+
],
|
|
2001
2483
|
"additionalProperties": false
|
|
2002
2484
|
},
|
|
2003
|
-
"examples": [
|
|
2004
|
-
|
|
2005
|
-
|
|
2006
|
-
|
|
2007
|
-
|
|
2008
|
-
|
|
2009
|
-
|
|
2485
|
+
"examples": [
|
|
2486
|
+
{
|
|
2487
|
+
"action": "metamask.swap_bridge.set_amount",
|
|
2488
|
+
"amount": 0.0001,
|
|
2489
|
+
"intent": "Enter a capped Swap amount and wait for the quote",
|
|
2490
|
+
"next": "done"
|
|
2491
|
+
}
|
|
2492
|
+
],
|
|
2493
|
+
"execution_capabilities": [
|
|
2494
|
+
"app-mutation"
|
|
2495
|
+
]
|
|
2010
2496
|
},
|
|
2011
2497
|
"metamask.swap_bridge.set_slippage": {
|
|
2012
2498
|
"description": "Set a custom Swap slippage percentage through the visible transaction settings.",
|
|
2013
2499
|
"schema": {
|
|
2014
2500
|
"type": "object",
|
|
2015
2501
|
"properties": {
|
|
2016
|
-
"percent": {
|
|
2017
|
-
|
|
2502
|
+
"percent": {
|
|
2503
|
+
"type": "number",
|
|
2504
|
+
"minimum": 0.01
|
|
2505
|
+
},
|
|
2506
|
+
"timeout_ms": {
|
|
2507
|
+
"type": "integer",
|
|
2508
|
+
"minimum": 1000,
|
|
2509
|
+
"default": 30000
|
|
2510
|
+
}
|
|
2018
2511
|
},
|
|
2019
|
-
"required": [
|
|
2512
|
+
"required": [
|
|
2513
|
+
"percent"
|
|
2514
|
+
],
|
|
2020
2515
|
"additionalProperties": false
|
|
2021
2516
|
},
|
|
2022
|
-
"examples": [
|
|
2023
|
-
|
|
2024
|
-
|
|
2025
|
-
|
|
2026
|
-
|
|
2027
|
-
|
|
2028
|
-
|
|
2517
|
+
"examples": [
|
|
2518
|
+
{
|
|
2519
|
+
"action": "metamask.swap_bridge.set_slippage",
|
|
2520
|
+
"percent": 3,
|
|
2521
|
+
"intent": "Set the release checklist custom slippage value",
|
|
2522
|
+
"next": "done"
|
|
2523
|
+
}
|
|
2524
|
+
],
|
|
2525
|
+
"execution_capabilities": [
|
|
2526
|
+
"app-mutation"
|
|
2527
|
+
]
|
|
2029
2528
|
},
|
|
2030
2529
|
"metamask.swap_bridge.set_max_amount": {
|
|
2031
2530
|
"description": "Use the visible Swap Max control and wait for the derived live quote.",
|
|
2032
2531
|
"schema": {
|
|
2033
2532
|
"type": "object",
|
|
2034
2533
|
"properties": {
|
|
2035
|
-
"wait_for_quote": {
|
|
2036
|
-
|
|
2037
|
-
|
|
2038
|
-
|
|
2039
|
-
|
|
2040
|
-
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
"next": "done"
|
|
2045
|
-
}],
|
|
2046
|
-
"execution_capabilities": ["app-mutation"]
|
|
2047
|
-
},
|
|
2048
|
-
"metamask.swap_bridge.submit_transaction": {
|
|
2049
|
-
"description": "Submit an explicitly authorized live Swap and prove its confirmed Activity details and destination balance.",
|
|
2050
|
-
"schema": {
|
|
2051
|
-
"type": "object",
|
|
2052
|
-
"properties": {
|
|
2053
|
-
"source_symbol": { "type": "string" },
|
|
2054
|
-
"destination_symbol": { "type": "string" },
|
|
2055
|
-
"amount": { "type": ["string", "number"] },
|
|
2056
|
-
"confirm_live": { "type": "boolean", "default": false },
|
|
2057
|
-
"resume_submitted": { "type": "boolean", "default": false },
|
|
2058
|
-
"transaction_hash": { "type": "string" },
|
|
2059
|
-
"activity_occurrence": { "type": "integer", "minimum": 0, "default": 0 },
|
|
2060
|
-
"require_destination_balance": { "type": "boolean", "default": true },
|
|
2061
|
-
"timeout_ms": { "type": "integer", "minimum": 1000, "default": 300000 }
|
|
2534
|
+
"wait_for_quote": {
|
|
2535
|
+
"type": "boolean",
|
|
2536
|
+
"default": true
|
|
2537
|
+
},
|
|
2538
|
+
"timeout_ms": {
|
|
2539
|
+
"type": "integer",
|
|
2540
|
+
"minimum": 1000,
|
|
2541
|
+
"default": 60000
|
|
2542
|
+
}
|
|
2062
2543
|
},
|
|
2063
|
-
"required": ["source_symbol", "destination_symbol", "amount"],
|
|
2064
2544
|
"additionalProperties": false
|
|
2065
2545
|
},
|
|
2066
|
-
"examples": [
|
|
2067
|
-
|
|
2068
|
-
|
|
2069
|
-
|
|
2070
|
-
|
|
2071
|
-
|
|
2072
|
-
|
|
2073
|
-
|
|
2074
|
-
|
|
2075
|
-
|
|
2546
|
+
"examples": [
|
|
2547
|
+
{
|
|
2548
|
+
"action": "metamask.swap_bridge.set_max_amount",
|
|
2549
|
+
"wait_for_quote": true,
|
|
2550
|
+
"intent": "Use the available token balance for the return Swap",
|
|
2551
|
+
"next": "done"
|
|
2552
|
+
}
|
|
2553
|
+
],
|
|
2554
|
+
"execution_capabilities": [
|
|
2555
|
+
"app-mutation"
|
|
2556
|
+
]
|
|
2076
2557
|
},
|
|
2077
2558
|
"metamask.perps.read_visible_state": {
|
|
2078
2559
|
"description": "Read and assert bounded visible Perps UI state from an untouched Extension runtime without product background hooks.",
|
|
@@ -2081,7 +2562,15 @@
|
|
|
2081
2562
|
"properties": {
|
|
2082
2563
|
"surface": {
|
|
2083
2564
|
"type": "string",
|
|
2084
|
-
"enum": [
|
|
2565
|
+
"enum": [
|
|
2566
|
+
"auto",
|
|
2567
|
+
"home",
|
|
2568
|
+
"market-list",
|
|
2569
|
+
"market-details",
|
|
2570
|
+
"order-entry",
|
|
2571
|
+
"activity",
|
|
2572
|
+
"funds"
|
|
2573
|
+
],
|
|
2085
2574
|
"default": "auto"
|
|
2086
2575
|
},
|
|
2087
2576
|
"market": {
|
|
@@ -2090,20 +2579,35 @@
|
|
|
2090
2579
|
},
|
|
2091
2580
|
"direction": {
|
|
2092
2581
|
"type": "string",
|
|
2093
|
-
"enum": [
|
|
2582
|
+
"enum": [
|
|
2583
|
+
"long",
|
|
2584
|
+
"short"
|
|
2585
|
+
]
|
|
2094
2586
|
},
|
|
2095
|
-
|
|
2587
|
+
"order_type": {
|
|
2096
2588
|
"type": "string",
|
|
2097
|
-
"enum": [
|
|
2589
|
+
"enum": [
|
|
2590
|
+
"market",
|
|
2591
|
+
"limit"
|
|
2592
|
+
]
|
|
2098
2593
|
},
|
|
2099
2594
|
"amount": {
|
|
2100
|
-
"type": [
|
|
2595
|
+
"type": [
|
|
2596
|
+
"string",
|
|
2597
|
+
"number"
|
|
2598
|
+
]
|
|
2101
2599
|
},
|
|
2102
2600
|
"percent": {
|
|
2103
|
-
"type": [
|
|
2601
|
+
"type": [
|
|
2602
|
+
"string",
|
|
2603
|
+
"number"
|
|
2604
|
+
]
|
|
2104
2605
|
},
|
|
2105
2606
|
"leverage": {
|
|
2106
|
-
"type": [
|
|
2607
|
+
"type": [
|
|
2608
|
+
"string",
|
|
2609
|
+
"number"
|
|
2610
|
+
]
|
|
2107
2611
|
},
|
|
2108
2612
|
"auto_close": {
|
|
2109
2613
|
"type": "boolean"
|
|
@@ -2113,7 +2617,9 @@
|
|
|
2113
2617
|
},
|
|
2114
2618
|
"require_validation_text": {
|
|
2115
2619
|
"type": "array",
|
|
2116
|
-
"items": {
|
|
2620
|
+
"items": {
|
|
2621
|
+
"type": "string"
|
|
2622
|
+
},
|
|
2117
2623
|
"maxItems": 20
|
|
2118
2624
|
},
|
|
2119
2625
|
"minimum_market_count": {
|
|
@@ -2155,21 +2661,39 @@
|
|
|
2155
2661
|
"type": "boolean",
|
|
2156
2662
|
"default": false
|
|
2157
2663
|
},
|
|
2664
|
+
"require_no_control_overlap": {
|
|
2665
|
+
"type": "boolean",
|
|
2666
|
+
"default": false
|
|
2667
|
+
},
|
|
2158
2668
|
"forbid_test_ids": {
|
|
2159
2669
|
"type": "array",
|
|
2160
|
-
"items": {
|
|
2670
|
+
"items": {
|
|
2671
|
+
"type": "string"
|
|
2672
|
+
},
|
|
2161
2673
|
"maxItems": 100
|
|
2162
2674
|
},
|
|
2163
2675
|
"require_test_ids": {
|
|
2164
2676
|
"type": "array",
|
|
2165
|
-
"items": {
|
|
2677
|
+
"items": {
|
|
2678
|
+
"type": "string"
|
|
2679
|
+
},
|
|
2166
2680
|
"maxItems": 100
|
|
2167
2681
|
},
|
|
2168
2682
|
"require_features": {
|
|
2169
2683
|
"type": "array",
|
|
2170
2684
|
"items": {
|
|
2171
2685
|
"type": "string",
|
|
2172
|
-
"enum": [
|
|
2686
|
+
"enum": [
|
|
2687
|
+
"activity",
|
|
2688
|
+
"balance",
|
|
2689
|
+
"chart",
|
|
2690
|
+
"long-short",
|
|
2691
|
+
"market-list",
|
|
2692
|
+
"order-entry",
|
|
2693
|
+
"price",
|
|
2694
|
+
"price-change",
|
|
2695
|
+
"stats"
|
|
2696
|
+
]
|
|
2173
2697
|
},
|
|
2174
2698
|
"maxItems": 9
|
|
2175
2699
|
},
|
|
@@ -2190,32 +2714,51 @@
|
|
|
2190
2714
|
"action": "metamask.perps.read_visible_state",
|
|
2191
2715
|
"surface": "home",
|
|
2192
2716
|
"minimum_market_count": 1,
|
|
2193
|
-
"require_features": [
|
|
2194
|
-
|
|
2717
|
+
"require_features": [
|
|
2718
|
+
"balance",
|
|
2719
|
+
"market-list"
|
|
2720
|
+
],
|
|
2721
|
+
"require_test_ids": [
|
|
2722
|
+
"perps-balance-dropdown-balance"
|
|
2723
|
+
],
|
|
2195
2724
|
"intent": "Assert the live Perps home surface through visible UI",
|
|
2196
2725
|
"next": "done"
|
|
2197
2726
|
}
|
|
2198
2727
|
],
|
|
2199
|
-
"execution_capabilities": [
|
|
2728
|
+
"execution_capabilities": [
|
|
2729
|
+
"host-read-export"
|
|
2730
|
+
]
|
|
2200
2731
|
},
|
|
2201
2732
|
"metamask.perps.search_markets": {
|
|
2202
2733
|
"description": "Enter a Perps market query through the visible search field and prove visible results are returned.",
|
|
2203
2734
|
"schema": {
|
|
2204
2735
|
"type": "object",
|
|
2205
2736
|
"properties": {
|
|
2206
|
-
"query": {
|
|
2207
|
-
|
|
2737
|
+
"query": {
|
|
2738
|
+
"type": "string"
|
|
2739
|
+
},
|
|
2740
|
+
"timeout_ms": {
|
|
2741
|
+
"type": "integer",
|
|
2742
|
+
"minimum": 1000,
|
|
2743
|
+
"default": 30000
|
|
2744
|
+
}
|
|
2208
2745
|
},
|
|
2209
|
-
"required": [
|
|
2746
|
+
"required": [
|
|
2747
|
+
"query"
|
|
2748
|
+
],
|
|
2210
2749
|
"additionalProperties": false
|
|
2211
2750
|
},
|
|
2212
|
-
"examples": [
|
|
2213
|
-
|
|
2214
|
-
|
|
2215
|
-
|
|
2216
|
-
|
|
2217
|
-
|
|
2218
|
-
|
|
2751
|
+
"examples": [
|
|
2752
|
+
{
|
|
2753
|
+
"action": "metamask.perps.search_markets",
|
|
2754
|
+
"query": "Bitcoin",
|
|
2755
|
+
"intent": "Filter the visible Perps market list",
|
|
2756
|
+
"next": "done"
|
|
2757
|
+
}
|
|
2758
|
+
],
|
|
2759
|
+
"execution_capabilities": [
|
|
2760
|
+
"app-mutation"
|
|
2761
|
+
]
|
|
2219
2762
|
},
|
|
2220
2763
|
"metamask.perps.select_market_filter": {
|
|
2221
2764
|
"description": "Select and assert a live Perps market category through trusted visible UI controls.",
|
|
@@ -2224,7 +2767,17 @@
|
|
|
2224
2767
|
"properties": {
|
|
2225
2768
|
"filter": {
|
|
2226
2769
|
"type": "string",
|
|
2227
|
-
"enum": [
|
|
2770
|
+
"enum": [
|
|
2771
|
+
"all",
|
|
2772
|
+
"crypto",
|
|
2773
|
+
"stocks",
|
|
2774
|
+
"pre-ipo",
|
|
2775
|
+
"index",
|
|
2776
|
+
"etf",
|
|
2777
|
+
"commodities",
|
|
2778
|
+
"forex",
|
|
2779
|
+
"new"
|
|
2780
|
+
]
|
|
2228
2781
|
},
|
|
2229
2782
|
"minimum_market_count": {
|
|
2230
2783
|
"type": "integer",
|
|
@@ -2240,9 +2793,16 @@
|
|
|
2240
2793
|
"type": "integer",
|
|
2241
2794
|
"minimum": 1,
|
|
2242
2795
|
"default": 100
|
|
2243
|
-
}
|
|
2244
|
-
|
|
2245
|
-
|
|
2796
|
+
},
|
|
2797
|
+
"timeout_ms": {
|
|
2798
|
+
"type": "integer",
|
|
2799
|
+
"minimum": 1000,
|
|
2800
|
+
"default": 10000
|
|
2801
|
+
}
|
|
2802
|
+
},
|
|
2803
|
+
"required": [
|
|
2804
|
+
"filter"
|
|
2805
|
+
],
|
|
2246
2806
|
"additionalProperties": false
|
|
2247
2807
|
},
|
|
2248
2808
|
"examples": [
|
|
@@ -2254,21 +2814,88 @@
|
|
|
2254
2814
|
"next": "done"
|
|
2255
2815
|
}
|
|
2256
2816
|
],
|
|
2257
|
-
"execution_capabilities": [
|
|
2817
|
+
"execution_capabilities": [
|
|
2818
|
+
"app-mutation"
|
|
2819
|
+
]
|
|
2258
2820
|
},
|
|
2259
2821
|
"metamask.perps.close_visible_position": {
|
|
2260
2822
|
"description": "Close all or part of one live Perps position through semantic visible controls.",
|
|
2261
2823
|
"schema": {
|
|
2262
2824
|
"type": "object",
|
|
2263
2825
|
"properties": {
|
|
2264
|
-
"market": {
|
|
2265
|
-
|
|
2826
|
+
"market": {
|
|
2827
|
+
"type": "string"
|
|
2828
|
+
},
|
|
2829
|
+
"confirm_live": {
|
|
2830
|
+
"type": "boolean",
|
|
2831
|
+
"enum": [
|
|
2832
|
+
true
|
|
2833
|
+
]
|
|
2834
|
+
},
|
|
2835
|
+
"funding_side": {
|
|
2836
|
+
"type": "string",
|
|
2837
|
+
"enum": [
|
|
2838
|
+
"long",
|
|
2839
|
+
"short"
|
|
2840
|
+
]
|
|
2841
|
+
},
|
|
2842
|
+
"funding_amount": {
|
|
2843
|
+
"type": [
|
|
2844
|
+
"string",
|
|
2845
|
+
"number"
|
|
2846
|
+
]
|
|
2847
|
+
},
|
|
2848
|
+
"provider": {
|
|
2849
|
+
"type": "string"
|
|
2850
|
+
},
|
|
2851
|
+
"network": {
|
|
2852
|
+
"type": "string",
|
|
2853
|
+
"enum": [
|
|
2854
|
+
"mainnet",
|
|
2855
|
+
"testnet"
|
|
2856
|
+
]
|
|
2857
|
+
},
|
|
2858
|
+
"funding_position_size": {
|
|
2859
|
+
"type": "string",
|
|
2860
|
+
"description": "Exact visible position size required for a close-only cleanup."
|
|
2861
|
+
},
|
|
2862
|
+
"leverage": {
|
|
2863
|
+
"type": "integer",
|
|
2864
|
+
"minimum": 1
|
|
2865
|
+
},
|
|
2866
|
+
"cleanup_only": {
|
|
2867
|
+
"type": "boolean",
|
|
2868
|
+
"enum": [
|
|
2869
|
+
true
|
|
2870
|
+
],
|
|
2871
|
+
"description": "Use a fresh exact close-only authorization and current visible balance baseline."
|
|
2872
|
+
},
|
|
2873
|
+
"identity_rounding_tolerance_base_units": {
|
|
2874
|
+
"type": "string",
|
|
2875
|
+
"default": "10000",
|
|
2876
|
+
"description": "Maximum visible USD rounding delta in six-decimal USDC base units; default 10000 and capped at 1000000."
|
|
2877
|
+
},
|
|
2878
|
+
"balance_reconciliation_tolerance_base_units": {
|
|
2879
|
+
"type": "string",
|
|
2880
|
+
"description": "Maximum final-versus-preorder balance delta in six-decimal USDC base units; default/cap 1000000."
|
|
2881
|
+
},
|
|
2266
2882
|
"amount": {
|
|
2267
|
-
"type": [
|
|
2883
|
+
"type": [
|
|
2884
|
+
"string",
|
|
2885
|
+
"number"
|
|
2886
|
+
],
|
|
2268
2887
|
"description": "Optional USD amount for a partial close; omit to close the full position."
|
|
2269
2888
|
}
|
|
2270
2889
|
},
|
|
2271
|
-
"required": [
|
|
2890
|
+
"required": [
|
|
2891
|
+
"market",
|
|
2892
|
+
"confirm_live",
|
|
2893
|
+
"funding_side",
|
|
2894
|
+
"funding_amount",
|
|
2895
|
+
"provider",
|
|
2896
|
+
"network",
|
|
2897
|
+
"leverage"
|
|
2898
|
+
],
|
|
2272
2899
|
"additionalProperties": false
|
|
2273
2900
|
},
|
|
2274
2901
|
"examples": [
|
|
@@ -2276,22 +2903,43 @@
|
|
|
2276
2903
|
"action": "metamask.perps.close_visible_position",
|
|
2277
2904
|
"market": "BTC",
|
|
2278
2905
|
"confirm_live": true,
|
|
2906
|
+
"funding_side": "long",
|
|
2907
|
+
"funding_amount": "10",
|
|
2908
|
+
"provider": "hyperliquid",
|
|
2909
|
+
"network": "mainnet",
|
|
2910
|
+
"leverage": 3,
|
|
2911
|
+
"identity_rounding_tolerance_base_units": "10000",
|
|
2279
2912
|
"intent": "Close the visible BTC position after the live release check",
|
|
2280
2913
|
"next": "done"
|
|
2281
2914
|
}
|
|
2282
2915
|
],
|
|
2283
|
-
"execution_capabilities": [
|
|
2916
|
+
"execution_capabilities": [
|
|
2917
|
+
"app-mutation",
|
|
2918
|
+
"external-mutation"
|
|
2919
|
+
]
|
|
2284
2920
|
},
|
|
2285
2921
|
"metamask.perps.compare_provider_market": {
|
|
2286
2922
|
"description": "Compare one visible Perps market with the live Hyperliquid production response.",
|
|
2287
2923
|
"schema": {
|
|
2288
2924
|
"type": "object",
|
|
2289
2925
|
"properties": {
|
|
2290
|
-
"market": {
|
|
2291
|
-
|
|
2292
|
-
|
|
2926
|
+
"market": {
|
|
2927
|
+
"type": "string"
|
|
2928
|
+
},
|
|
2929
|
+
"endpoint": {
|
|
2930
|
+
"type": "string",
|
|
2931
|
+
"enum": [
|
|
2932
|
+
"https://api.hyperliquid.xyz/info"
|
|
2933
|
+
]
|
|
2934
|
+
},
|
|
2935
|
+
"timeout_ms": {
|
|
2936
|
+
"type": "integer",
|
|
2937
|
+
"minimum": 1
|
|
2938
|
+
}
|
|
2293
2939
|
},
|
|
2294
|
-
"required": [
|
|
2940
|
+
"required": [
|
|
2941
|
+
"market"
|
|
2942
|
+
],
|
|
2295
2943
|
"additionalProperties": false
|
|
2296
2944
|
},
|
|
2297
2945
|
"examples": [
|
|
@@ -2302,14 +2950,19 @@
|
|
|
2302
2950
|
"next": "done"
|
|
2303
2951
|
}
|
|
2304
2952
|
],
|
|
2305
|
-
"execution_capabilities": [
|
|
2953
|
+
"execution_capabilities": [
|
|
2954
|
+
"host-read-export"
|
|
2955
|
+
]
|
|
2306
2956
|
},
|
|
2307
2957
|
"metamask.perps.read_eligibility": {
|
|
2308
2958
|
"description": "Read the current Extension Perps eligibility and live MetaMask geolocation without changing either.",
|
|
2309
2959
|
"schema": {
|
|
2310
2960
|
"type": "object",
|
|
2311
2961
|
"properties": {
|
|
2312
|
-
"timeout_ms": {
|
|
2962
|
+
"timeout_ms": {
|
|
2963
|
+
"type": "integer",
|
|
2964
|
+
"minimum": 1
|
|
2965
|
+
}
|
|
2313
2966
|
},
|
|
2314
2967
|
"additionalProperties": false
|
|
2315
2968
|
},
|
|
@@ -2320,18 +2973,30 @@
|
|
|
2320
2973
|
"next": "done"
|
|
2321
2974
|
}
|
|
2322
2975
|
],
|
|
2323
|
-
"execution_capabilities": [
|
|
2976
|
+
"execution_capabilities": [
|
|
2977
|
+
"host-read-export"
|
|
2978
|
+
]
|
|
2324
2979
|
},
|
|
2325
2980
|
"metamask.perps.set_market_favorite": {
|
|
2326
2981
|
"description": "Converge one live Perps market favorite to the requested state through its semantic visible control.",
|
|
2327
2982
|
"schema": {
|
|
2328
2983
|
"type": "object",
|
|
2329
2984
|
"properties": {
|
|
2330
|
-
"market": {
|
|
2331
|
-
|
|
2332
|
-
|
|
2985
|
+
"market": {
|
|
2986
|
+
"type": "string"
|
|
2987
|
+
},
|
|
2988
|
+
"favorite": {
|
|
2989
|
+
"type": "boolean"
|
|
2990
|
+
},
|
|
2991
|
+
"require_unchanged": {
|
|
2992
|
+
"type": "boolean",
|
|
2993
|
+
"default": false
|
|
2994
|
+
}
|
|
2333
2995
|
},
|
|
2334
|
-
"required": [
|
|
2996
|
+
"required": [
|
|
2997
|
+
"market",
|
|
2998
|
+
"favorite"
|
|
2999
|
+
],
|
|
2335
3000
|
"additionalProperties": false
|
|
2336
3001
|
},
|
|
2337
3002
|
"examples": [
|
|
@@ -2343,7 +3008,9 @@
|
|
|
2343
3008
|
"next": "done"
|
|
2344
3009
|
}
|
|
2345
3010
|
],
|
|
2346
|
-
"execution_capabilities": [
|
|
3011
|
+
"execution_capabilities": [
|
|
3012
|
+
"app-mutation"
|
|
3013
|
+
]
|
|
2347
3014
|
},
|
|
2348
3015
|
"metamask.perps.select_activity_filter": {
|
|
2349
3016
|
"description": "Select and read one live Perps activity category through semantic visible controls.",
|
|
@@ -2352,10 +3019,17 @@
|
|
|
2352
3019
|
"properties": {
|
|
2353
3020
|
"filter": {
|
|
2354
3021
|
"type": "string",
|
|
2355
|
-
"enum": [
|
|
3022
|
+
"enum": [
|
|
3023
|
+
"trades",
|
|
3024
|
+
"orders",
|
|
3025
|
+
"funding",
|
|
3026
|
+
"deposits"
|
|
3027
|
+
]
|
|
2356
3028
|
}
|
|
2357
3029
|
},
|
|
2358
|
-
"required": [
|
|
3030
|
+
"required": [
|
|
3031
|
+
"filter"
|
|
3032
|
+
],
|
|
2359
3033
|
"additionalProperties": false
|
|
2360
3034
|
},
|
|
2361
3035
|
"examples": [
|
|
@@ -2366,7 +3040,9 @@
|
|
|
2366
3040
|
"next": "done"
|
|
2367
3041
|
}
|
|
2368
3042
|
],
|
|
2369
|
-
"execution_capabilities": [
|
|
3043
|
+
"execution_capabilities": [
|
|
3044
|
+
"app-mutation"
|
|
3045
|
+
]
|
|
2370
3046
|
},
|
|
2371
3047
|
"metamask.perps.open_balance_action": {
|
|
2372
3048
|
"description": "Open Add funds or Withdraw from the live Perps balance dropdown in one trusted UI session.",
|
|
@@ -2375,10 +3051,15 @@
|
|
|
2375
3051
|
"properties": {
|
|
2376
3052
|
"balance_action": {
|
|
2377
3053
|
"type": "string",
|
|
2378
|
-
"enum": [
|
|
3054
|
+
"enum": [
|
|
3055
|
+
"add-funds",
|
|
3056
|
+
"withdraw"
|
|
3057
|
+
]
|
|
2379
3058
|
}
|
|
2380
3059
|
},
|
|
2381
|
-
"required": [
|
|
3060
|
+
"required": [
|
|
3061
|
+
"balance_action"
|
|
3062
|
+
],
|
|
2382
3063
|
"additionalProperties": false
|
|
2383
3064
|
},
|
|
2384
3065
|
"examples": [
|
|
@@ -2389,20 +3070,34 @@
|
|
|
2389
3070
|
"next": "done"
|
|
2390
3071
|
}
|
|
2391
3072
|
],
|
|
2392
|
-
"execution_capabilities": [
|
|
3073
|
+
"execution_capabilities": [
|
|
3074
|
+
"app-mutation"
|
|
3075
|
+
]
|
|
2393
3076
|
},
|
|
2394
3077
|
"metamask.perps.open_position_action": {
|
|
2395
3078
|
"description": "Open a position-management flow from a live Perps position through visible controls in one trusted UI session.",
|
|
2396
3079
|
"schema": {
|
|
2397
3080
|
"type": "object",
|
|
2398
3081
|
"properties": {
|
|
2399
|
-
"market": {
|
|
3082
|
+
"market": {
|
|
3083
|
+
"type": "string"
|
|
3084
|
+
},
|
|
2400
3085
|
"position_action": {
|
|
2401
3086
|
"type": "string",
|
|
2402
|
-
"enum": [
|
|
3087
|
+
"enum": [
|
|
3088
|
+
"add-exposure",
|
|
3089
|
+
"reduce-exposure",
|
|
3090
|
+
"reverse",
|
|
3091
|
+
"add-margin",
|
|
3092
|
+
"remove-margin",
|
|
3093
|
+
"auto-close"
|
|
3094
|
+
]
|
|
2403
3095
|
}
|
|
2404
3096
|
},
|
|
2405
|
-
"required": [
|
|
3097
|
+
"required": [
|
|
3098
|
+
"market",
|
|
3099
|
+
"position_action"
|
|
3100
|
+
],
|
|
2406
3101
|
"additionalProperties": false
|
|
2407
3102
|
},
|
|
2408
3103
|
"examples": [
|
|
@@ -2414,20 +3109,85 @@
|
|
|
2414
3109
|
"next": "done"
|
|
2415
3110
|
}
|
|
2416
3111
|
],
|
|
2417
|
-
"execution_capabilities": [
|
|
3112
|
+
"execution_capabilities": [
|
|
3113
|
+
"app-mutation"
|
|
3114
|
+
]
|
|
2418
3115
|
},
|
|
2419
3116
|
"metamask.perps.edit_margin": {
|
|
2420
3117
|
"description": "Add or remove isolated margin from a live Perps position through visible controls and prove the reconciled position values.",
|
|
2421
3118
|
"schema": {
|
|
2422
3119
|
"type": "object",
|
|
2423
3120
|
"properties": {
|
|
2424
|
-
"market": {
|
|
2425
|
-
|
|
2426
|
-
|
|
2427
|
-
"
|
|
2428
|
-
|
|
3121
|
+
"market": {
|
|
3122
|
+
"type": "string"
|
|
3123
|
+
},
|
|
3124
|
+
"margin_action": {
|
|
3125
|
+
"type": "string",
|
|
3126
|
+
"enum": [
|
|
3127
|
+
"add",
|
|
3128
|
+
"remove"
|
|
3129
|
+
],
|
|
3130
|
+
"default": "add"
|
|
3131
|
+
},
|
|
3132
|
+
"amount": {
|
|
3133
|
+
"type": [
|
|
3134
|
+
"string",
|
|
3135
|
+
"number"
|
|
3136
|
+
]
|
|
3137
|
+
},
|
|
3138
|
+
"funding_side": {
|
|
3139
|
+
"type": "string",
|
|
3140
|
+
"enum": [
|
|
3141
|
+
"long",
|
|
3142
|
+
"short"
|
|
3143
|
+
]
|
|
3144
|
+
},
|
|
3145
|
+
"funding_amount": {
|
|
3146
|
+
"type": [
|
|
3147
|
+
"string",
|
|
3148
|
+
"number"
|
|
3149
|
+
]
|
|
3150
|
+
},
|
|
3151
|
+
"funding_position_size": {
|
|
3152
|
+
"type": "string",
|
|
3153
|
+
"description": "Exact stable visible position size identity."
|
|
3154
|
+
},
|
|
3155
|
+
"provider": {
|
|
3156
|
+
"type": "string"
|
|
3157
|
+
},
|
|
3158
|
+
"network": {
|
|
3159
|
+
"type": "string",
|
|
3160
|
+
"enum": [
|
|
3161
|
+
"mainnet",
|
|
3162
|
+
"testnet"
|
|
3163
|
+
]
|
|
3164
|
+
},
|
|
3165
|
+
"leverage": {
|
|
3166
|
+
"type": "integer",
|
|
3167
|
+
"minimum": 1
|
|
3168
|
+
},
|
|
3169
|
+
"balance_reconciliation_tolerance_base_units": {
|
|
3170
|
+
"type": "string",
|
|
3171
|
+
"default": "1000000"
|
|
3172
|
+
},
|
|
3173
|
+
"confirm_live": {
|
|
3174
|
+
"type": "boolean"
|
|
3175
|
+
},
|
|
3176
|
+
"timeout_ms": {
|
|
3177
|
+
"type": "number"
|
|
3178
|
+
}
|
|
2429
3179
|
},
|
|
2430
|
-
"required": [
|
|
3180
|
+
"required": [
|
|
3181
|
+
"market",
|
|
3182
|
+
"amount",
|
|
3183
|
+
"funding_side",
|
|
3184
|
+
"funding_amount",
|
|
3185
|
+
"funding_position_size",
|
|
3186
|
+
"provider",
|
|
3187
|
+
"network",
|
|
3188
|
+
"leverage",
|
|
3189
|
+
"confirm_live"
|
|
3190
|
+
],
|
|
2431
3191
|
"additionalProperties": false
|
|
2432
3192
|
},
|
|
2433
3193
|
"examples": [
|
|
@@ -2436,25 +3196,92 @@
|
|
|
2436
3196
|
"market": "BTC",
|
|
2437
3197
|
"margin_action": "add",
|
|
2438
3198
|
"amount": 1,
|
|
3199
|
+
"funding_side": "long",
|
|
3200
|
+
"funding_amount": 10,
|
|
3201
|
+
"funding_position_size": "0.00016 BTC",
|
|
3202
|
+
"provider": "hyperliquid",
|
|
3203
|
+
"network": "mainnet",
|
|
3204
|
+
"leverage": 1,
|
|
2439
3205
|
"confirm_live": true,
|
|
2440
3206
|
"intent": "Add one USDC of margin to the BTC position",
|
|
2441
3207
|
"next": "done"
|
|
2442
3208
|
}
|
|
2443
3209
|
],
|
|
2444
|
-
"execution_capabilities": [
|
|
3210
|
+
"execution_capabilities": [
|
|
3211
|
+
"app-mutation",
|
|
3212
|
+
"external-mutation"
|
|
3213
|
+
]
|
|
2445
3214
|
},
|
|
2446
3215
|
"metamask.perps.update_position_tpsl": {
|
|
2447
3216
|
"description": "Update take-profit and stop-loss for a live Extension Perps position through visible controls and prove the reconciled position row.",
|
|
2448
3217
|
"schema": {
|
|
2449
3218
|
"type": "object",
|
|
2450
3219
|
"properties": {
|
|
2451
|
-
"market": {
|
|
2452
|
-
|
|
2453
|
-
|
|
2454
|
-
"
|
|
2455
|
-
|
|
3220
|
+
"market": {
|
|
3221
|
+
"type": "string"
|
|
3222
|
+
},
|
|
3223
|
+
"take_profit_price": {
|
|
3224
|
+
"type": [
|
|
3225
|
+
"string",
|
|
3226
|
+
"number"
|
|
3227
|
+
]
|
|
3228
|
+
},
|
|
3229
|
+
"stop_loss_price": {
|
|
3230
|
+
"type": [
|
|
3231
|
+
"string",
|
|
3232
|
+
"number"
|
|
3233
|
+
]
|
|
3234
|
+
},
|
|
3235
|
+
"funding_side": {
|
|
3236
|
+
"type": "string",
|
|
3237
|
+
"enum": [
|
|
3238
|
+
"long",
|
|
3239
|
+
"short"
|
|
3240
|
+
]
|
|
3241
|
+
},
|
|
3242
|
+
"funding_amount": {
|
|
3243
|
+
"type": [
|
|
3244
|
+
"string",
|
|
3245
|
+
"number"
|
|
3246
|
+
]
|
|
3247
|
+
},
|
|
3248
|
+
"funding_position_size": {
|
|
3249
|
+
"type": "string",
|
|
3250
|
+
"description": "Exact stable visible position size identity."
|
|
3251
|
+
},
|
|
3252
|
+
"provider": {
|
|
3253
|
+
"type": "string"
|
|
3254
|
+
},
|
|
3255
|
+
"network": {
|
|
3256
|
+
"type": "string",
|
|
3257
|
+
"enum": [
|
|
3258
|
+
"mainnet",
|
|
3259
|
+
"testnet"
|
|
3260
|
+
]
|
|
3261
|
+
},
|
|
3262
|
+
"leverage": {
|
|
3263
|
+
"type": "integer",
|
|
3264
|
+
"minimum": 1
|
|
3265
|
+
},
|
|
3266
|
+
"confirm_live": {
|
|
3267
|
+
"type": "boolean"
|
|
3268
|
+
},
|
|
3269
|
+
"timeout_ms": {
|
|
3270
|
+
"type": "number"
|
|
3271
|
+
}
|
|
2456
3272
|
},
|
|
2457
|
-
"required": [
|
|
3273
|
+
"required": [
|
|
3274
|
+
"market",
|
|
3275
|
+
"take_profit_price",
|
|
3276
|
+
"stop_loss_price",
|
|
3277
|
+
"funding_side",
|
|
3278
|
+
"funding_amount",
|
|
3279
|
+
"funding_position_size",
|
|
3280
|
+
"provider",
|
|
3281
|
+
"network",
|
|
3282
|
+
"leverage",
|
|
3283
|
+
"confirm_live"
|
|
3284
|
+
],
|
|
2458
3285
|
"additionalProperties": false
|
|
2459
3286
|
},
|
|
2460
3287
|
"examples": [
|
|
@@ -2463,21 +3290,34 @@
|
|
|
2463
3290
|
"market": "BTC",
|
|
2464
3291
|
"take_profit_price": 65000,
|
|
2465
3292
|
"stop_loss_price": 55000,
|
|
3293
|
+
"funding_side": "long",
|
|
3294
|
+
"funding_amount": 10,
|
|
3295
|
+
"funding_position_size": "0.00016 BTC",
|
|
3296
|
+
"provider": "hyperliquid",
|
|
3297
|
+
"network": "mainnet",
|
|
3298
|
+
"leverage": 1,
|
|
2466
3299
|
"confirm_live": true,
|
|
2467
3300
|
"intent": "Update BTC position auto-close prices",
|
|
2468
3301
|
"next": "done"
|
|
2469
3302
|
}
|
|
2470
3303
|
],
|
|
2471
|
-
"execution_capabilities": [
|
|
3304
|
+
"execution_capabilities": [
|
|
3305
|
+
"app-mutation",
|
|
3306
|
+
"external-mutation"
|
|
3307
|
+
]
|
|
2472
3308
|
},
|
|
2473
3309
|
"metamask.settings.set_basic_functionality": {
|
|
2474
3310
|
"description": "Converge the Extension Basic Functionality privacy setting through its visible toggle and confirmation modal.",
|
|
2475
3311
|
"schema": {
|
|
2476
3312
|
"type": "object",
|
|
2477
3313
|
"properties": {
|
|
2478
|
-
"enabled": {
|
|
3314
|
+
"enabled": {
|
|
3315
|
+
"type": "boolean"
|
|
3316
|
+
}
|
|
2479
3317
|
},
|
|
2480
|
-
"required": [
|
|
3318
|
+
"required": [
|
|
3319
|
+
"enabled"
|
|
3320
|
+
],
|
|
2481
3321
|
"additionalProperties": false
|
|
2482
3322
|
},
|
|
2483
3323
|
"examples": [
|
|
@@ -2488,18 +3328,75 @@
|
|
|
2488
3328
|
"next": "done"
|
|
2489
3329
|
}
|
|
2490
3330
|
],
|
|
2491
|
-
"execution_capabilities": [
|
|
3331
|
+
"execution_capabilities": [
|
|
3332
|
+
"app-mutation"
|
|
3333
|
+
]
|
|
2492
3334
|
},
|
|
2493
3335
|
"metamask.perps.read_funds_confirmation": {
|
|
2494
3336
|
"description": "Read the loaded Perps deposit or withdraw confirmation without submitting it.",
|
|
2495
3337
|
"schema": {
|
|
2496
3338
|
"type": "object",
|
|
2497
3339
|
"properties": {
|
|
2498
|
-
"mode": {
|
|
2499
|
-
|
|
2500
|
-
|
|
3340
|
+
"mode": {
|
|
3341
|
+
"type": "string",
|
|
3342
|
+
"enum": [
|
|
3343
|
+
"deposit",
|
|
3344
|
+
"withdraw"
|
|
3345
|
+
]
|
|
3346
|
+
},
|
|
3347
|
+
"require_no_horizontal_overflow": {
|
|
3348
|
+
"type": "boolean",
|
|
3349
|
+
"default": false
|
|
3350
|
+
},
|
|
3351
|
+
"require_preview_fields": {
|
|
3352
|
+
"type": "boolean",
|
|
3353
|
+
"default": false
|
|
3354
|
+
},
|
|
3355
|
+
"expected_submit_enabled": {
|
|
3356
|
+
"type": "boolean"
|
|
3357
|
+
},
|
|
3358
|
+
"expected_submit_label": {
|
|
3359
|
+
"type": "string"
|
|
3360
|
+
},
|
|
3361
|
+
"expected_amount": {
|
|
3362
|
+
"type": [
|
|
3363
|
+
"string",
|
|
3364
|
+
"number"
|
|
3365
|
+
]
|
|
3366
|
+
},
|
|
3367
|
+
"expected_amount_symbol": {
|
|
3368
|
+
"type": "string"
|
|
3369
|
+
},
|
|
3370
|
+
"expected_pay_token_amount_visible": {
|
|
3371
|
+
"type": "boolean"
|
|
3372
|
+
},
|
|
3373
|
+
"expected_pay_token": {
|
|
3374
|
+
"type": "string"
|
|
3375
|
+
},
|
|
3376
|
+
"expected_receive_token": {
|
|
3377
|
+
"type": "string"
|
|
3378
|
+
},
|
|
3379
|
+
"expected_visible_network": {
|
|
3380
|
+
"type": "string"
|
|
3381
|
+
},
|
|
3382
|
+
"expected_percentage_controls": {
|
|
3383
|
+
"type": "array",
|
|
3384
|
+
"items": {
|
|
3385
|
+
"type": "string"
|
|
3386
|
+
},
|
|
3387
|
+
"maxItems": 10
|
|
3388
|
+
},
|
|
3389
|
+
"require_visible_text": {
|
|
3390
|
+
"type": "array",
|
|
3391
|
+
"items": {
|
|
3392
|
+
"type": "string"
|
|
3393
|
+
},
|
|
3394
|
+
"maxItems": 20
|
|
3395
|
+
}
|
|
2501
3396
|
},
|
|
2502
|
-
"required": [
|
|
3397
|
+
"required": [
|
|
3398
|
+
"mode"
|
|
3399
|
+
],
|
|
2503
3400
|
"additionalProperties": false
|
|
2504
3401
|
},
|
|
2505
3402
|
"examples": [
|
|
@@ -2510,10 +3407,93 @@
|
|
|
2510
3407
|
"next": "done"
|
|
2511
3408
|
}
|
|
2512
3409
|
],
|
|
2513
|
-
"execution_capabilities": [
|
|
3410
|
+
"execution_capabilities": [
|
|
3411
|
+
"host-read-export"
|
|
3412
|
+
]
|
|
3413
|
+
},
|
|
3414
|
+
"metamask.perps.assert_visible_consistency": {
|
|
3415
|
+
"description": "Assert bounded rendered Perps market or price changes, or recent-to-full activity containment, through visible Extension UI.",
|
|
3416
|
+
"schema": {
|
|
3417
|
+
"type": "object",
|
|
3418
|
+
"properties": {
|
|
3419
|
+
"mode": {
|
|
3420
|
+
"type": "string",
|
|
3421
|
+
"enum": [
|
|
3422
|
+
"market-stream",
|
|
3423
|
+
"watchlist-stream",
|
|
3424
|
+
"activity-containment",
|
|
3425
|
+
"price-stream"
|
|
3426
|
+
]
|
|
3427
|
+
},
|
|
3428
|
+
"surface": {
|
|
3429
|
+
"type": "string",
|
|
3430
|
+
"enum": [
|
|
3431
|
+
"home",
|
|
3432
|
+
"market-list",
|
|
3433
|
+
"market-details",
|
|
3434
|
+
"order-entry"
|
|
3435
|
+
]
|
|
3436
|
+
},
|
|
3437
|
+
"market": {
|
|
3438
|
+
"type": "string"
|
|
3439
|
+
},
|
|
3440
|
+
"sample_count": {
|
|
3441
|
+
"type": "integer",
|
|
3442
|
+
"minimum": 2,
|
|
3443
|
+
"default": 3
|
|
3444
|
+
},
|
|
3445
|
+
"sample_interval_ms": {
|
|
3446
|
+
"type": "integer",
|
|
3447
|
+
"minimum": 100,
|
|
3448
|
+
"default": 1000
|
|
3449
|
+
},
|
|
3450
|
+
"minimum_changed_count": {
|
|
3451
|
+
"type": "integer",
|
|
3452
|
+
"minimum": 0,
|
|
3453
|
+
"default": 1
|
|
3454
|
+
},
|
|
3455
|
+
"minimum_recent_activity_count": {
|
|
3456
|
+
"type": "integer",
|
|
3457
|
+
"minimum": 0,
|
|
3458
|
+
"default": 1
|
|
3459
|
+
},
|
|
3460
|
+
"require_unique_ids": {
|
|
3461
|
+
"type": "boolean",
|
|
3462
|
+
"default": false
|
|
3463
|
+
},
|
|
3464
|
+
"timeout_ms": {
|
|
3465
|
+
"type": "integer",
|
|
3466
|
+
"minimum": 1000,
|
|
3467
|
+
"default": 30000
|
|
3468
|
+
},
|
|
3469
|
+
"max_items": {
|
|
3470
|
+
"type": "integer",
|
|
3471
|
+
"minimum": 1,
|
|
3472
|
+
"default": 100
|
|
3473
|
+
}
|
|
3474
|
+
},
|
|
3475
|
+
"required": [
|
|
3476
|
+
"mode"
|
|
3477
|
+
],
|
|
3478
|
+
"additionalProperties": false
|
|
3479
|
+
},
|
|
3480
|
+
"examples": [
|
|
3481
|
+
{
|
|
3482
|
+
"action": "metamask.perps.assert_visible_consistency",
|
|
3483
|
+
"mode": "market-stream",
|
|
3484
|
+
"sample_count": 3,
|
|
3485
|
+
"minimum_changed_count": 1,
|
|
3486
|
+
"intent": "Prove rendered Perps market rows change over a bounded sample",
|
|
3487
|
+
"next": "done"
|
|
3488
|
+
}
|
|
3489
|
+
],
|
|
3490
|
+
"execution_capabilities": [
|
|
3491
|
+
"host-read-export",
|
|
3492
|
+
"app-mutation"
|
|
3493
|
+
]
|
|
2514
3494
|
},
|
|
2515
3495
|
"metamask.perps.read_snapshot": {
|
|
2516
|
-
"description": "Read a bounded, redacted snapshot of
|
|
3496
|
+
"description": "Read a bounded, redacted source-dev snapshot of Extension Perps state through the optional product background hook.",
|
|
2517
3497
|
"schema": {
|
|
2518
3498
|
"type": "object",
|
|
2519
3499
|
"properties": {
|
|
@@ -2559,22 +3539,58 @@
|
|
|
2559
3539
|
"start_time_ms": {
|
|
2560
3540
|
"type": "integer",
|
|
2561
3541
|
"minimum": 0,
|
|
2562
|
-
"description": "Inclusive history start time in Unix milliseconds. Defaults to 30 days before end_time_ms."
|
|
3542
|
+
"description": "Inclusive history start time in Unix milliseconds. Defaults to 30 days before end_time_ms."
|
|
3543
|
+
},
|
|
3544
|
+
"end_time_ms": {
|
|
3545
|
+
"type": "integer",
|
|
3546
|
+
"minimum": 0,
|
|
3547
|
+
"description": "Inclusive history end time in Unix milliseconds. Defaults to the current time."
|
|
3548
|
+
},
|
|
3549
|
+
"account_id": {
|
|
3550
|
+
"type": "string",
|
|
3551
|
+
"description": "Optional CAIP account ID passed to the product history API; the value is not returned."
|
|
3552
|
+
},
|
|
3553
|
+
"limit": {
|
|
3554
|
+
"type": "integer",
|
|
3555
|
+
"minimum": 1,
|
|
3556
|
+
"default": 100,
|
|
3557
|
+
"description": "Maximum history items returned after product filtering."
|
|
3558
|
+
}
|
|
3559
|
+
},
|
|
3560
|
+
"additionalProperties": false
|
|
3561
|
+
},
|
|
3562
|
+
"sampling": {
|
|
3563
|
+
"type": "object",
|
|
3564
|
+
"properties": {
|
|
3565
|
+
"count": {
|
|
3566
|
+
"type": "integer",
|
|
3567
|
+
"minimum": 1,
|
|
3568
|
+
"default": 1
|
|
3569
|
+
},
|
|
3570
|
+
"interval_ms": {
|
|
3571
|
+
"type": "integer",
|
|
3572
|
+
"minimum": 100,
|
|
3573
|
+
"default": 1000
|
|
3574
|
+
}
|
|
3575
|
+
},
|
|
3576
|
+
"additionalProperties": false
|
|
3577
|
+
},
|
|
3578
|
+
"expect": {
|
|
3579
|
+
"type": "object",
|
|
3580
|
+
"properties": {
|
|
3581
|
+
"minimum_changed_market_count": {
|
|
3582
|
+
"type": "integer",
|
|
3583
|
+
"minimum": 0,
|
|
3584
|
+
"default": 0
|
|
2563
3585
|
},
|
|
2564
|
-
"
|
|
3586
|
+
"minimum_history_count": {
|
|
2565
3587
|
"type": "integer",
|
|
2566
3588
|
"minimum": 0,
|
|
2567
|
-
"
|
|
2568
|
-
},
|
|
2569
|
-
"account_id": {
|
|
2570
|
-
"type": "string",
|
|
2571
|
-
"description": "Optional CAIP account ID passed to the product history API; the value is not returned."
|
|
3589
|
+
"default": 0
|
|
2572
3590
|
},
|
|
2573
|
-
"
|
|
2574
|
-
"type": "
|
|
2575
|
-
"
|
|
2576
|
-
"default": 100,
|
|
2577
|
-
"description": "Maximum history items returned after product filtering."
|
|
3591
|
+
"require_activity_history_agreement": {
|
|
3592
|
+
"type": "boolean",
|
|
3593
|
+
"default": false
|
|
2578
3594
|
}
|
|
2579
3595
|
},
|
|
2580
3596
|
"additionalProperties": false
|
|
@@ -2611,7 +3627,9 @@
|
|
|
2611
3627
|
"next": "done"
|
|
2612
3628
|
}
|
|
2613
3629
|
],
|
|
2614
|
-
"execution_capabilities": [
|
|
3630
|
+
"execution_capabilities": [
|
|
3631
|
+
"host-read-export"
|
|
3632
|
+
]
|
|
2615
3633
|
},
|
|
2616
3634
|
"metamask.perps.read_positions": {
|
|
2617
3635
|
"description": "extension Read live Perps positions; without a selector, return all live positions.",
|
|
@@ -2807,8 +3825,8 @@
|
|
|
2807
3825
|
],
|
|
2808
3826
|
"execution_capabilities": []
|
|
2809
3827
|
},
|
|
2810
|
-
"metamask.perps.
|
|
2811
|
-
"description": "extension Default to testnet for Perps mutations; mainnet is read-only unless explicitly requested.
|
|
3828
|
+
"metamask.perps.close_orders": {
|
|
3829
|
+
"description": "extension 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.",
|
|
2812
3830
|
"schema": {
|
|
2813
3831
|
"type": "object",
|
|
2814
3832
|
"properties": {
|
|
@@ -2890,134 +3908,77 @@
|
|
|
2890
3908
|
},
|
|
2891
3909
|
"timeout_ms": {
|
|
2892
3910
|
"type": "number"
|
|
2893
|
-
}
|
|
2894
|
-
},
|
|
2895
|
-
"additionalProperties": false
|
|
2896
|
-
},
|
|
2897
|
-
"examples": [
|
|
2898
|
-
{
|
|
2899
|
-
"action": "metamask.perps.close_positions",
|
|
2900
|
-
"mode": "all",
|
|
2901
|
-
"intent": "Close selected Perps positions before continuing",
|
|
2902
|
-
"next": "done"
|
|
2903
|
-
},
|
|
2904
|
-
{
|
|
2905
|
-
"action": "metamask.perps.close_positions",
|
|
2906
|
-
"markets": [
|
|
2907
|
-
"BTC",
|
|
2908
|
-
"ETH"
|
|
2909
|
-
],
|
|
2910
|
-
"intent": "Close selected Perps positions before continuing",
|
|
2911
|
-
"next": "done"
|
|
2912
|
-
}
|
|
2913
|
-
],
|
|
2914
|
-
"execution_capabilities": [
|
|
2915
|
-
"app-mutation",
|
|
2916
|
-
"external-mutation"
|
|
2917
|
-
]
|
|
2918
|
-
},
|
|
2919
|
-
"metamask.perps.close_orders": {
|
|
2920
|
-
"description": "extension 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.",
|
|
2921
|
-
"schema": {
|
|
2922
|
-
"type": "object",
|
|
2923
|
-
"properties": {
|
|
2924
|
-
"market": {
|
|
2925
|
-
"type": "string",
|
|
2926
|
-
"description": "Single market symbol, e.g. BTC or ETH. Alias: symbol."
|
|
2927
3911
|
},
|
|
2928
|
-
"
|
|
2929
|
-
"type": "
|
|
2930
|
-
"description": "
|
|
3912
|
+
"confirm_live": {
|
|
3913
|
+
"type": "boolean",
|
|
3914
|
+
"description": "Required when cancellation uses visible controls against the live provider."
|
|
2931
3915
|
},
|
|
2932
|
-
"
|
|
2933
|
-
"type":
|
|
2934
|
-
|
|
2935
|
-
"
|
|
2936
|
-
|
|
2937
|
-
"description": "Explicit list of market symbols."
|
|
3916
|
+
"amount": {
|
|
3917
|
+
"type": [
|
|
3918
|
+
"string",
|
|
3919
|
+
"number"
|
|
3920
|
+
]
|
|
2938
3921
|
},
|
|
2939
|
-
"
|
|
2940
|
-
"type": "
|
|
2941
|
-
"
|
|
2942
|
-
"type": "string"
|
|
2943
|
-
},
|
|
2944
|
-
"description": "Alias for markets."
|
|
3922
|
+
"leverage": {
|
|
3923
|
+
"type": "integer",
|
|
3924
|
+
"minimum": 1
|
|
2945
3925
|
},
|
|
2946
|
-
"
|
|
3926
|
+
"provider": {
|
|
3927
|
+
"type": "string",
|
|
3928
|
+
"description": "Exact Perps provider required before background cancellation dispatch."
|
|
3929
|
+
},
|
|
3930
|
+
"network": {
|
|
2947
3931
|
"type": "string",
|
|
2948
3932
|
"enum": [
|
|
2949
|
-
"
|
|
2950
|
-
"
|
|
3933
|
+
"mainnet",
|
|
3934
|
+
"testnet"
|
|
2951
3935
|
],
|
|
2952
|
-
"description": "
|
|
3936
|
+
"description": "Exact Perps network required before background cancellation dispatch; the action never toggles it."
|
|
2953
3937
|
},
|
|
2954
|
-
"
|
|
2955
|
-
"type":
|
|
2956
|
-
|
|
2957
|
-
"
|
|
2958
|
-
|
|
2959
|
-
"enum": [
|
|
2960
|
-
"matching",
|
|
2961
|
-
"all"
|
|
2962
|
-
]
|
|
2963
|
-
},
|
|
2964
|
-
"market": {
|
|
2965
|
-
"type": "string"
|
|
2966
|
-
},
|
|
2967
|
-
"symbol": {
|
|
2968
|
-
"type": "string"
|
|
2969
|
-
},
|
|
2970
|
-
"markets": {
|
|
2971
|
-
"type": "array",
|
|
2972
|
-
"items": {
|
|
2973
|
-
"type": "string"
|
|
2974
|
-
}
|
|
2975
|
-
},
|
|
2976
|
-
"symbols": {
|
|
2977
|
-
"type": "array",
|
|
2978
|
-
"items": {
|
|
2979
|
-
"type": "string"
|
|
2980
|
-
}
|
|
2981
|
-
},
|
|
2982
|
-
"side": {
|
|
2983
|
-
"type": "string",
|
|
2984
|
-
"enum": [
|
|
2985
|
-
"long",
|
|
2986
|
-
"short"
|
|
2987
|
-
]
|
|
2988
|
-
}
|
|
2989
|
-
},
|
|
2990
|
-
"additionalProperties": false
|
|
3938
|
+
"limit_price": {
|
|
3939
|
+
"type": [
|
|
3940
|
+
"string",
|
|
3941
|
+
"number"
|
|
3942
|
+
]
|
|
2991
3943
|
},
|
|
2992
|
-
"
|
|
3944
|
+
"order_id": {
|
|
2993
3945
|
"type": "string",
|
|
2994
|
-
"
|
|
2995
|
-
"long",
|
|
2996
|
-
"short"
|
|
2997
|
-
],
|
|
2998
|
-
"description": "Optional position/order side filter."
|
|
3946
|
+
"description": "Exact product order ID required for receipt-bound background cancellation."
|
|
2999
3947
|
},
|
|
3000
|
-
"
|
|
3948
|
+
"offset_pct": {
|
|
3001
3949
|
"type": "number"
|
|
3002
3950
|
},
|
|
3003
|
-
|
|
3004
|
-
"type": "
|
|
3005
|
-
"
|
|
3951
|
+
"identity_rounding_tolerance_base_units": {
|
|
3952
|
+
"type": "string",
|
|
3953
|
+
"default": "10000",
|
|
3954
|
+
"description": "Maximum visible notional/price rounding delta in six-decimal USDC base units; default 10000 and capped at 1000000."
|
|
3006
3955
|
}
|
|
3007
3956
|
},
|
|
3957
|
+
"required": [
|
|
3958
|
+
"market",
|
|
3959
|
+
"side",
|
|
3960
|
+
"amount",
|
|
3961
|
+
"leverage",
|
|
3962
|
+
"provider",
|
|
3963
|
+
"network",
|
|
3964
|
+
"limit_price",
|
|
3965
|
+
"confirm_live"
|
|
3966
|
+
],
|
|
3008
3967
|
"additionalProperties": false
|
|
3009
3968
|
},
|
|
3010
3969
|
"examples": [
|
|
3011
|
-
{
|
|
3012
|
-
"action": "metamask.perps.close_orders",
|
|
3013
|
-
"mode": "all",
|
|
3014
|
-
"intent": "Cancel selected Perps orders before continuing",
|
|
3015
|
-
"next": "done"
|
|
3016
|
-
},
|
|
3017
3970
|
{
|
|
3018
3971
|
"action": "metamask.perps.close_orders",
|
|
3019
3972
|
"market": "BTC",
|
|
3020
|
-
"
|
|
3973
|
+
"side": "long",
|
|
3974
|
+
"amount": "10",
|
|
3975
|
+
"leverage": 3,
|
|
3976
|
+
"provider": "hyperliquid",
|
|
3977
|
+
"network": "testnet",
|
|
3978
|
+
"limit_price": "100000",
|
|
3979
|
+
"identity_rounding_tolerance_base_units": "10000",
|
|
3980
|
+
"confirm_live": true,
|
|
3981
|
+
"intent": "Cancel the exact trusted BTC limit order",
|
|
3021
3982
|
"next": "done"
|
|
3022
3983
|
}
|
|
3023
3984
|
],
|
|
@@ -3130,7 +4091,19 @@
|
|
|
3130
4091
|
},
|
|
3131
4092
|
"leverage": {
|
|
3132
4093
|
"type": "number",
|
|
3133
|
-
"default":
|
|
4094
|
+
"default": 1
|
|
4095
|
+
},
|
|
4096
|
+
"provider": {
|
|
4097
|
+
"type": "string",
|
|
4098
|
+
"description": "Exact Perps provider required before background dispatch."
|
|
4099
|
+
},
|
|
4100
|
+
"network": {
|
|
4101
|
+
"type": "string",
|
|
4102
|
+
"enum": [
|
|
4103
|
+
"mainnet",
|
|
4104
|
+
"testnet"
|
|
4105
|
+
],
|
|
4106
|
+
"description": "Exact Perps network required before background dispatch; the action never toggles it."
|
|
3134
4107
|
},
|
|
3135
4108
|
"order_type": {
|
|
3136
4109
|
"type": "string",
|
|
@@ -3160,150 +4133,44 @@
|
|
|
3160
4133
|
"limit_price": {
|
|
3161
4134
|
"type": [
|
|
3162
4135
|
"string",
|
|
3163
|
-
"number"
|
|
3164
|
-
]
|
|
3165
|
-
},
|
|
3166
|
-
"offset_pct": {
|
|
3167
|
-
"type": "number",
|
|
3168
|
-
"description": "Limit price offset from the current market price when limit_price is omitted."
|
|
3169
|
-
},
|
|
3170
|
-
"confirm_live": {
|
|
3171
|
-
"type": "boolean",
|
|
3172
|
-
"description": "Required when submission uses visible controls against the live provider."
|
|
3173
|
-
}
|
|
3174
|
-
},
|
|
3175
|
-
"additionalProperties": false
|
|
3176
|
-
},
|
|
3177
|
-
"examples": [
|
|
3178
|
-
{
|
|
3179
|
-
"action": "metamask.perps.place_order",
|
|
3180
|
-
"market": "BTC",
|
|
3181
|
-
"side": "long",
|
|
3182
|
-
"notional": "10",
|
|
3183
|
-
"leverage": 2,
|
|
3184
|
-
"intent": "Place the requested Perps order",
|
|
3185
|
-
"next": "done"
|
|
3186
|
-
}
|
|
3187
|
-
],
|
|
3188
|
-
"execution_capabilities": [
|
|
3189
|
-
"app-mutation",
|
|
3190
|
-
"external-mutation"
|
|
3191
|
-
]
|
|
3192
|
-
},
|
|
3193
|
-
"metamask.perps.assert_positions": {
|
|
3194
|
-
"description": "extension Assert live Perps positions are present or absent for an explicit market selection or mode=all.",
|
|
3195
|
-
"schema": {
|
|
3196
|
-
"type": "object",
|
|
3197
|
-
"properties": {
|
|
3198
|
-
"market": {
|
|
3199
|
-
"type": "string",
|
|
3200
|
-
"description": "Single market symbol, e.g. BTC or ETH. Alias: symbol."
|
|
3201
|
-
},
|
|
3202
|
-
"symbol": {
|
|
3203
|
-
"type": "string",
|
|
3204
|
-
"description": "Alias for market."
|
|
3205
|
-
},
|
|
3206
|
-
"markets": {
|
|
3207
|
-
"type": "array",
|
|
3208
|
-
"items": {
|
|
3209
|
-
"type": "string"
|
|
3210
|
-
},
|
|
3211
|
-
"description": "Explicit list of market symbols."
|
|
3212
|
-
},
|
|
3213
|
-
"symbols": {
|
|
3214
|
-
"type": "array",
|
|
3215
|
-
"items": {
|
|
3216
|
-
"type": "string"
|
|
3217
|
-
},
|
|
3218
|
-
"description": "Alias for markets."
|
|
3219
|
-
},
|
|
3220
|
-
"mode": {
|
|
3221
|
-
"type": "string",
|
|
3222
|
-
"enum": [
|
|
3223
|
-
"matching",
|
|
3224
|
-
"all"
|
|
3225
|
-
],
|
|
3226
|
-
"description": "matching selects requested symbols; all selects every live item returned by the product."
|
|
3227
|
-
},
|
|
3228
|
-
"selector": {
|
|
3229
|
-
"type": "object",
|
|
3230
|
-
"properties": {
|
|
3231
|
-
"mode": {
|
|
3232
|
-
"type": "string",
|
|
3233
|
-
"enum": [
|
|
3234
|
-
"matching",
|
|
3235
|
-
"all"
|
|
3236
|
-
]
|
|
3237
|
-
},
|
|
3238
|
-
"market": {
|
|
3239
|
-
"type": "string"
|
|
3240
|
-
},
|
|
3241
|
-
"symbol": {
|
|
3242
|
-
"type": "string"
|
|
3243
|
-
},
|
|
3244
|
-
"markets": {
|
|
3245
|
-
"type": "array",
|
|
3246
|
-
"items": {
|
|
3247
|
-
"type": "string"
|
|
3248
|
-
}
|
|
3249
|
-
},
|
|
3250
|
-
"symbols": {
|
|
3251
|
-
"type": "array",
|
|
3252
|
-
"items": {
|
|
3253
|
-
"type": "string"
|
|
3254
|
-
}
|
|
3255
|
-
},
|
|
3256
|
-
"side": {
|
|
3257
|
-
"type": "string",
|
|
3258
|
-
"enum": [
|
|
3259
|
-
"long",
|
|
3260
|
-
"short"
|
|
3261
|
-
]
|
|
3262
|
-
}
|
|
3263
|
-
},
|
|
3264
|
-
"additionalProperties": false
|
|
4136
|
+
"number"
|
|
4137
|
+
]
|
|
3265
4138
|
},
|
|
3266
|
-
"
|
|
3267
|
-
"type": "
|
|
3268
|
-
"
|
|
3269
|
-
"long",
|
|
3270
|
-
"short"
|
|
3271
|
-
],
|
|
3272
|
-
"description": "Optional position/order side filter."
|
|
4139
|
+
"offset_pct": {
|
|
4140
|
+
"type": "number",
|
|
4141
|
+
"description": "Limit price offset from the current market price when limit_price is omitted."
|
|
3273
4142
|
},
|
|
3274
|
-
"
|
|
3275
|
-
"type": "
|
|
4143
|
+
"confirm_live": {
|
|
4144
|
+
"type": "boolean",
|
|
4145
|
+
"description": "Required when submission uses visible controls against the live provider."
|
|
3276
4146
|
},
|
|
3277
|
-
"
|
|
4147
|
+
"identity_rounding_tolerance_base_units": {
|
|
3278
4148
|
"type": "string",
|
|
3279
|
-
"
|
|
3280
|
-
|
|
3281
|
-
"absent",
|
|
3282
|
-
"closed",
|
|
3283
|
-
"open",
|
|
3284
|
-
"present"
|
|
3285
|
-
],
|
|
3286
|
-
"description": "Desired/expected selected collection state."
|
|
4149
|
+
"default": "10000",
|
|
4150
|
+
"description": "Maximum visible amount/price rounding delta in six-decimal USDC base units; default 10000 and capped at 1000000."
|
|
3287
4151
|
}
|
|
3288
4152
|
},
|
|
3289
|
-
"required": [
|
|
3290
|
-
"state"
|
|
3291
|
-
],
|
|
3292
4153
|
"additionalProperties": false
|
|
3293
4154
|
},
|
|
3294
4155
|
"examples": [
|
|
3295
4156
|
{
|
|
3296
|
-
"action": "metamask.perps.
|
|
3297
|
-
"state": "open",
|
|
4157
|
+
"action": "metamask.perps.place_order",
|
|
3298
4158
|
"market": "BTC",
|
|
3299
|
-
"
|
|
4159
|
+
"side": "long",
|
|
4160
|
+
"notional": "10",
|
|
4161
|
+
"leverage": 1,
|
|
4162
|
+
"identity_rounding_tolerance_base_units": "10000",
|
|
4163
|
+
"intent": "Place the requested Perps order",
|
|
3300
4164
|
"next": "done"
|
|
3301
4165
|
}
|
|
3302
4166
|
],
|
|
3303
|
-
"execution_capabilities": [
|
|
4167
|
+
"execution_capabilities": [
|
|
4168
|
+
"app-mutation",
|
|
4169
|
+
"external-mutation"
|
|
4170
|
+
]
|
|
3304
4171
|
},
|
|
3305
|
-
"metamask.perps.
|
|
3306
|
-
"description": "extension Assert live Perps
|
|
4172
|
+
"metamask.perps.assert_positions": {
|
|
4173
|
+
"description": "extension Assert live Perps positions are present or absent for an explicit market selection or mode=all.",
|
|
3307
4174
|
"schema": {
|
|
3308
4175
|
"type": "object",
|
|
3309
4176
|
"properties": {
|
|
@@ -3405,17 +4272,17 @@
|
|
|
3405
4272
|
},
|
|
3406
4273
|
"examples": [
|
|
3407
4274
|
{
|
|
3408
|
-
"action": "metamask.perps.
|
|
3409
|
-
"state": "
|
|
4275
|
+
"action": "metamask.perps.assert_positions",
|
|
4276
|
+
"state": "open",
|
|
3410
4277
|
"market": "BTC",
|
|
3411
|
-
"intent": "Assert the expected Perps
|
|
4278
|
+
"intent": "Assert the expected Perps position state",
|
|
3412
4279
|
"next": "done"
|
|
3413
4280
|
}
|
|
3414
4281
|
],
|
|
3415
4282
|
"execution_capabilities": []
|
|
3416
4283
|
},
|
|
3417
|
-
"metamask.perps.
|
|
3418
|
-
"description": "extension
|
|
4284
|
+
"metamask.perps.assert_orders": {
|
|
4285
|
+
"description": "extension Assert live Perps open orders are present or absent for an explicit market selection or mode=all.",
|
|
3419
4286
|
"schema": {
|
|
3420
4287
|
"type": "object",
|
|
3421
4288
|
"properties": {
|
|
@@ -3493,25 +4360,11 @@
|
|
|
3493
4360
|
"long",
|
|
3494
4361
|
"short"
|
|
3495
4362
|
],
|
|
3496
|
-
"description": "
|
|
4363
|
+
"description": "Optional position/order side filter."
|
|
3497
4364
|
},
|
|
3498
4365
|
"timeout_ms": {
|
|
3499
4366
|
"type": "number"
|
|
3500
4367
|
},
|
|
3501
|
-
"amount": {
|
|
3502
|
-
"type": [
|
|
3503
|
-
"string",
|
|
3504
|
-
"number"
|
|
3505
|
-
],
|
|
3506
|
-
"description": "Explicit USD notional used only when creating a missing open position. Alias: notional."
|
|
3507
|
-
},
|
|
3508
|
-
"notional": {
|
|
3509
|
-
"type": [
|
|
3510
|
-
"string",
|
|
3511
|
-
"number"
|
|
3512
|
-
],
|
|
3513
|
-
"description": "Alias for amount."
|
|
3514
|
-
},
|
|
3515
4368
|
"state": {
|
|
3516
4369
|
"type": "string",
|
|
3517
4370
|
"enum": [
|
|
@@ -3531,36 +4384,17 @@
|
|
|
3531
4384
|
},
|
|
3532
4385
|
"examples": [
|
|
3533
4386
|
{
|
|
3534
|
-
"action": "metamask.perps.
|
|
4387
|
+
"action": "metamask.perps.assert_orders",
|
|
3535
4388
|
"state": "none",
|
|
3536
4389
|
"market": "BTC",
|
|
3537
|
-
"intent": "
|
|
3538
|
-
"next": "done"
|
|
3539
|
-
},
|
|
3540
|
-
{
|
|
3541
|
-
"action": "metamask.perps.ensure_positions",
|
|
3542
|
-
"state": "none",
|
|
3543
|
-
"mode": "all",
|
|
3544
|
-
"intent": "Converge Perps positions to the requested state",
|
|
3545
|
-
"next": "done"
|
|
3546
|
-
},
|
|
3547
|
-
{
|
|
3548
|
-
"action": "metamask.perps.ensure_positions",
|
|
3549
|
-
"market": "ETH",
|
|
3550
|
-
"side": "long",
|
|
3551
|
-
"state": "open",
|
|
3552
|
-
"notional": "10",
|
|
3553
|
-
"intent": "Converge ETH positions to one explicit testnet precondition",
|
|
4390
|
+
"intent": "Assert the expected Perps open order state",
|
|
3554
4391
|
"next": "done"
|
|
3555
4392
|
}
|
|
3556
4393
|
],
|
|
3557
|
-
"execution_capabilities": [
|
|
3558
|
-
"app-mutation",
|
|
3559
|
-
"external-mutation"
|
|
3560
|
-
]
|
|
4394
|
+
"execution_capabilities": []
|
|
3561
4395
|
},
|
|
3562
|
-
"metamask.perps.
|
|
3563
|
-
"description": "
|
|
4396
|
+
"metamask.perps.ensure_positions": {
|
|
4397
|
+
"description": "Read and assert the selected Extension Perps position state without creating or closing a position. Use an explicitly funded leaf action for any transition.",
|
|
3564
4398
|
"schema": {
|
|
3565
4399
|
"type": "object",
|
|
3566
4400
|
"properties": {
|
|
@@ -3638,30 +4472,11 @@
|
|
|
3638
4472
|
"long",
|
|
3639
4473
|
"short"
|
|
3640
4474
|
],
|
|
3641
|
-
"description": "Required when state=open/present; otherwise filters selected
|
|
4475
|
+
"description": "Required when state=open/present; otherwise filters selected positions."
|
|
3642
4476
|
},
|
|
3643
4477
|
"timeout_ms": {
|
|
3644
4478
|
"type": "number"
|
|
3645
4479
|
},
|
|
3646
|
-
"amount": {
|
|
3647
|
-
"type": [
|
|
3648
|
-
"string",
|
|
3649
|
-
"number"
|
|
3650
|
-
],
|
|
3651
|
-
"description": "Explicit USD notional used only when creating a missing open order. Alias: notional."
|
|
3652
|
-
},
|
|
3653
|
-
"notional": {
|
|
3654
|
-
"type": [
|
|
3655
|
-
"string",
|
|
3656
|
-
"number"
|
|
3657
|
-
],
|
|
3658
|
-
"description": "Alias for amount."
|
|
3659
|
-
},
|
|
3660
|
-
"leverage": {
|
|
3661
|
-
"type": "number",
|
|
3662
|
-
"default": 3,
|
|
3663
|
-
"description": "Testnet leverage used only when creating a missing open order."
|
|
3664
|
-
},
|
|
3665
4480
|
"state": {
|
|
3666
4481
|
"type": "string",
|
|
3667
4482
|
"enum": [
|
|
@@ -3681,198 +4496,69 @@
|
|
|
3681
4496
|
},
|
|
3682
4497
|
"examples": [
|
|
3683
4498
|
{
|
|
3684
|
-
"action": "metamask.perps.
|
|
4499
|
+
"action": "metamask.perps.ensure_positions",
|
|
4500
|
+
"state": "none",
|
|
4501
|
+
"market": "BTC",
|
|
4502
|
+
"intent": "Assert that no matching Perps position exists",
|
|
4503
|
+
"next": "done"
|
|
4504
|
+
},
|
|
4505
|
+
{
|
|
4506
|
+
"action": "metamask.perps.ensure_positions",
|
|
3685
4507
|
"state": "none",
|
|
3686
4508
|
"mode": "all",
|
|
3687
|
-
"intent": "
|
|
4509
|
+
"intent": "Assert that no Perps position exists",
|
|
3688
4510
|
"next": "done"
|
|
3689
4511
|
},
|
|
3690
4512
|
{
|
|
3691
|
-
"action": "metamask.perps.
|
|
4513
|
+
"action": "metamask.perps.ensure_positions",
|
|
3692
4514
|
"market": "ETH",
|
|
3693
|
-
"side": "
|
|
4515
|
+
"side": "long",
|
|
3694
4516
|
"state": "open",
|
|
3695
|
-
"
|
|
3696
|
-
"leverage": 2,
|
|
3697
|
-
"intent": "Converge ETH open orders to one deterministic testnet precondition",
|
|
4517
|
+
"intent": "Assert that the matching ETH long position already exists",
|
|
3698
4518
|
"next": "done"
|
|
3699
4519
|
}
|
|
3700
4520
|
],
|
|
3701
4521
|
"execution_capabilities": [
|
|
3702
|
-
"
|
|
3703
|
-
|
|
3704
|
-
|
|
3705
|
-
|
|
3706
|
-
|
|
3707
|
-
"
|
|
3708
|
-
|
|
3709
|
-
"
|
|
3710
|
-
|
|
3711
|
-
|
|
3712
|
-
"
|
|
3713
|
-
|
|
3714
|
-
|
|
3715
|
-
|
|
3716
|
-
"
|
|
3717
|
-
},
|
|
3718
|
-
"
|
|
3719
|
-
"type": "
|
|
3720
|
-
"
|
|
3721
|
-
|
|
3722
|
-
"network": {
|
|
3723
|
-
"type": "string",
|
|
3724
|
-
"enum": [
|
|
3725
|
-
"testnet",
|
|
3726
|
-
"mainnet"
|
|
3727
|
-
]
|
|
3728
|
-
},
|
|
3729
|
-
"market": {
|
|
3730
|
-
"type": "string"
|
|
3731
|
-
},
|
|
3732
|
-
"symbol": {
|
|
3733
|
-
"type": "string"
|
|
3734
|
-
},
|
|
3735
|
-
"markets": {
|
|
3736
|
-
"type": "array",
|
|
3737
|
-
"items": {
|
|
3738
|
-
"type": "string"
|
|
3739
|
-
}
|
|
3740
|
-
},
|
|
3741
|
-
"symbols": {
|
|
3742
|
-
"type": "array",
|
|
3743
|
-
"items": {
|
|
3744
|
-
"type": "string"
|
|
3745
|
-
}
|
|
3746
|
-
},
|
|
3747
|
-
"page": {
|
|
3748
|
-
"type": "string",
|
|
3749
|
-
"enum": [
|
|
3750
|
-
"home",
|
|
3751
|
-
"perps",
|
|
3752
|
-
"perps_home",
|
|
3753
|
-
"market",
|
|
3754
|
-
"market_details",
|
|
3755
|
-
"trade",
|
|
3756
|
-
"order"
|
|
3757
|
-
],
|
|
3758
|
-
"description": "Initial Perps page target; omit it to use the profile or market default. Extension start_state always enters Perps before convergence."
|
|
3759
|
-
},
|
|
3760
|
-
"positions": {
|
|
3761
|
-
"type": [
|
|
3762
|
-
"object",
|
|
3763
|
-
"boolean"
|
|
3764
|
-
],
|
|
3765
|
-
"properties": {
|
|
3766
|
-
"mode": {
|
|
3767
|
-
"type": "string",
|
|
3768
|
-
"enum": [
|
|
3769
|
-
"matching",
|
|
3770
|
-
"all"
|
|
3771
|
-
]
|
|
3772
|
-
},
|
|
3773
|
-
"market": {
|
|
3774
|
-
"type": "string"
|
|
3775
|
-
},
|
|
3776
|
-
"symbol": {
|
|
3777
|
-
"type": "string"
|
|
3778
|
-
},
|
|
3779
|
-
"markets": {
|
|
3780
|
-
"type": "array",
|
|
3781
|
-
"items": {
|
|
3782
|
-
"type": "string"
|
|
3783
|
-
}
|
|
3784
|
-
},
|
|
3785
|
-
"symbols": {
|
|
3786
|
-
"type": "array",
|
|
3787
|
-
"items": {
|
|
3788
|
-
"type": "string"
|
|
3789
|
-
}
|
|
3790
|
-
},
|
|
3791
|
-
"side": {
|
|
3792
|
-
"type": "string",
|
|
3793
|
-
"enum": [
|
|
3794
|
-
"long",
|
|
3795
|
-
"short"
|
|
3796
|
-
]
|
|
3797
|
-
},
|
|
3798
|
-
"state": {
|
|
3799
|
-
"type": "string",
|
|
3800
|
-
"enum": [
|
|
3801
|
-
"none",
|
|
3802
|
-
"closed",
|
|
3803
|
-
"absent",
|
|
3804
|
-
"open",
|
|
3805
|
-
"present"
|
|
3806
|
-
]
|
|
3807
|
-
},
|
|
3808
|
-
"amount": {
|
|
3809
|
-
"type": [
|
|
3810
|
-
"string",
|
|
3811
|
-
"number"
|
|
3812
|
-
]
|
|
3813
|
-
},
|
|
3814
|
-
"notional": {
|
|
3815
|
-
"type": [
|
|
3816
|
-
"string",
|
|
3817
|
-
"number"
|
|
3818
|
-
]
|
|
3819
|
-
},
|
|
3820
|
-
"size": {
|
|
3821
|
-
"type": [
|
|
3822
|
-
"string",
|
|
3823
|
-
"number"
|
|
3824
|
-
]
|
|
3825
|
-
},
|
|
3826
|
-
"leverage": {
|
|
3827
|
-
"type": "number"
|
|
3828
|
-
},
|
|
3829
|
-
"order_type": {
|
|
3830
|
-
"type": "string"
|
|
3831
|
-
},
|
|
3832
|
-
"orderType": {
|
|
3833
|
-
"type": "string"
|
|
3834
|
-
},
|
|
3835
|
-
"limit_price": {
|
|
3836
|
-
"type": "number"
|
|
3837
|
-
},
|
|
3838
|
-
"limitPrice": {
|
|
3839
|
-
"type": "number"
|
|
3840
|
-
},
|
|
3841
|
-
"offset_pct": {
|
|
3842
|
-
"type": "number"
|
|
3843
|
-
},
|
|
3844
|
-
"offsetPct": {
|
|
3845
|
-
"type": "number"
|
|
3846
|
-
},
|
|
3847
|
-
"current_price": {
|
|
3848
|
-
"type": "number"
|
|
3849
|
-
},
|
|
3850
|
-
"currentPrice": {
|
|
3851
|
-
"type": "number"
|
|
3852
|
-
},
|
|
3853
|
-
"max_slippage_bps": {
|
|
3854
|
-
"type": "number"
|
|
3855
|
-
},
|
|
3856
|
-
"maxSlippageBps": {
|
|
3857
|
-
"type": "number"
|
|
3858
|
-
},
|
|
3859
|
-
"close_attempts": {
|
|
3860
|
-
"type": "integer"
|
|
3861
|
-
},
|
|
3862
|
-
"close_retry_delay_ms": {
|
|
3863
|
-
"type": "integer"
|
|
3864
|
-
},
|
|
3865
|
-
"timeout_ms": {
|
|
3866
|
-
"type": "number"
|
|
3867
|
-
}
|
|
4522
|
+
"host-read-export"
|
|
4523
|
+
]
|
|
4524
|
+
},
|
|
4525
|
+
"metamask.perps.ensure_orders": {
|
|
4526
|
+
"description": "Read and assert the selected Extension Perps order state without creating or canceling an order. Use an explicitly funded leaf action for any transition.",
|
|
4527
|
+
"schema": {
|
|
4528
|
+
"type": "object",
|
|
4529
|
+
"properties": {
|
|
4530
|
+
"market": {
|
|
4531
|
+
"type": "string",
|
|
4532
|
+
"description": "Single market symbol, e.g. BTC or ETH. Alias: symbol."
|
|
4533
|
+
},
|
|
4534
|
+
"symbol": {
|
|
4535
|
+
"type": "string",
|
|
4536
|
+
"description": "Alias for market."
|
|
4537
|
+
},
|
|
4538
|
+
"markets": {
|
|
4539
|
+
"type": "array",
|
|
4540
|
+
"items": {
|
|
4541
|
+
"type": "string"
|
|
3868
4542
|
},
|
|
3869
|
-
"
|
|
4543
|
+
"description": "Explicit list of market symbols."
|
|
3870
4544
|
},
|
|
3871
|
-
"
|
|
3872
|
-
"type":
|
|
3873
|
-
|
|
3874
|
-
"
|
|
4545
|
+
"symbols": {
|
|
4546
|
+
"type": "array",
|
|
4547
|
+
"items": {
|
|
4548
|
+
"type": "string"
|
|
4549
|
+
},
|
|
4550
|
+
"description": "Alias for markets."
|
|
4551
|
+
},
|
|
4552
|
+
"mode": {
|
|
4553
|
+
"type": "string",
|
|
4554
|
+
"enum": [
|
|
4555
|
+
"matching",
|
|
4556
|
+
"all"
|
|
3875
4557
|
],
|
|
4558
|
+
"description": "matching selects requested symbols; all selects every live item returned by the product."
|
|
4559
|
+
},
|
|
4560
|
+
"selector": {
|
|
4561
|
+
"type": "object",
|
|
3876
4562
|
"properties": {
|
|
3877
4563
|
"mode": {
|
|
3878
4564
|
"type": "string",
|
|
@@ -3905,184 +4591,64 @@
|
|
|
3905
4591
|
"long",
|
|
3906
4592
|
"short"
|
|
3907
4593
|
]
|
|
3908
|
-
},
|
|
3909
|
-
"state": {
|
|
3910
|
-
"type": "string",
|
|
3911
|
-
"enum": [
|
|
3912
|
-
"none",
|
|
3913
|
-
"closed",
|
|
3914
|
-
"absent",
|
|
3915
|
-
"open",
|
|
3916
|
-
"present"
|
|
3917
|
-
]
|
|
3918
|
-
},
|
|
3919
|
-
"amount": {
|
|
3920
|
-
"type": [
|
|
3921
|
-
"string",
|
|
3922
|
-
"number"
|
|
3923
|
-
]
|
|
3924
|
-
},
|
|
3925
|
-
"notional": {
|
|
3926
|
-
"type": [
|
|
3927
|
-
"string",
|
|
3928
|
-
"number"
|
|
3929
|
-
]
|
|
3930
|
-
},
|
|
3931
|
-
"size": {
|
|
3932
|
-
"type": [
|
|
3933
|
-
"string",
|
|
3934
|
-
"number"
|
|
3935
|
-
]
|
|
3936
|
-
},
|
|
3937
|
-
"leverage": {
|
|
3938
|
-
"type": "number"
|
|
3939
|
-
},
|
|
3940
|
-
"order_type": {
|
|
3941
|
-
"type": "string"
|
|
3942
|
-
},
|
|
3943
|
-
"orderType": {
|
|
3944
|
-
"type": "string"
|
|
3945
|
-
},
|
|
3946
|
-
"limit_price": {
|
|
3947
|
-
"type": "number"
|
|
3948
|
-
},
|
|
3949
|
-
"limitPrice": {
|
|
3950
|
-
"type": "number"
|
|
3951
|
-
},
|
|
3952
|
-
"offset_pct": {
|
|
3953
|
-
"type": "number"
|
|
3954
|
-
},
|
|
3955
|
-
"offsetPct": {
|
|
3956
|
-
"type": "number"
|
|
3957
|
-
},
|
|
3958
|
-
"current_price": {
|
|
3959
|
-
"type": "number"
|
|
3960
|
-
},
|
|
3961
|
-
"currentPrice": {
|
|
3962
|
-
"type": "number"
|
|
3963
|
-
},
|
|
3964
|
-
"max_slippage_bps": {
|
|
3965
|
-
"type": "number"
|
|
3966
|
-
},
|
|
3967
|
-
"maxSlippageBps": {
|
|
3968
|
-
"type": "number"
|
|
3969
|
-
},
|
|
3970
|
-
"close_attempts": {
|
|
3971
|
-
"type": "integer"
|
|
3972
|
-
},
|
|
3973
|
-
"close_retry_delay_ms": {
|
|
3974
|
-
"type": "integer"
|
|
3975
|
-
},
|
|
3976
|
-
"timeout_ms": {
|
|
3977
|
-
"type": "number"
|
|
3978
4594
|
}
|
|
3979
4595
|
},
|
|
3980
4596
|
"additionalProperties": false
|
|
3981
4597
|
},
|
|
3982
|
-
"hud": {
|
|
3983
|
-
"type": "object",
|
|
3984
|
-
"properties": {},
|
|
3985
|
-
"additionalProperties": false
|
|
3986
|
-
},
|
|
3987
|
-
"timeout_ms": {
|
|
3988
|
-
"type": "number"
|
|
3989
|
-
},
|
|
3990
4598
|
"side": {
|
|
3991
4599
|
"type": "string",
|
|
3992
4600
|
"enum": [
|
|
3993
4601
|
"long",
|
|
3994
4602
|
"short"
|
|
3995
|
-
]
|
|
3996
|
-
|
|
3997
|
-
"account_name": {
|
|
3998
|
-
"type": "string"
|
|
3999
|
-
},
|
|
4000
|
-
"readyToTrade": {
|
|
4001
|
-
"type": "boolean"
|
|
4603
|
+
],
|
|
4604
|
+
"description": "Required when state=open/present; otherwise filters selected orders."
|
|
4002
4605
|
},
|
|
4003
|
-
"
|
|
4004
|
-
"type": "
|
|
4005
|
-
"properties": {
|
|
4006
|
-
"minWithdrawableUsd": {
|
|
4007
|
-
"type": "number"
|
|
4008
|
-
},
|
|
4009
|
-
"minUsd": {
|
|
4010
|
-
"type": "number"
|
|
4011
|
-
},
|
|
4012
|
-
"minSpendableUsd": {
|
|
4013
|
-
"type": "number"
|
|
4014
|
-
}
|
|
4015
|
-
},
|
|
4016
|
-
"additionalProperties": false
|
|
4606
|
+
"timeout_ms": {
|
|
4607
|
+
"type": "number"
|
|
4017
4608
|
},
|
|
4018
|
-
"
|
|
4609
|
+
"state": {
|
|
4019
4610
|
"type": "string",
|
|
4020
4611
|
"enum": [
|
|
4021
|
-
"
|
|
4022
|
-
"
|
|
4023
|
-
|
|
4612
|
+
"none",
|
|
4613
|
+
"absent",
|
|
4614
|
+
"closed",
|
|
4615
|
+
"open",
|
|
4616
|
+
"present"
|
|
4617
|
+
],
|
|
4618
|
+
"description": "Desired/expected selected collection state."
|
|
4024
4619
|
}
|
|
4025
4620
|
},
|
|
4621
|
+
"required": [
|
|
4622
|
+
"state"
|
|
4623
|
+
],
|
|
4026
4624
|
"additionalProperties": false
|
|
4027
4625
|
},
|
|
4028
4626
|
"examples": [
|
|
4029
4627
|
{
|
|
4030
|
-
"action": "metamask.perps.
|
|
4031
|
-
"
|
|
4032
|
-
"
|
|
4033
|
-
"
|
|
4034
|
-
"state": "none"
|
|
4035
|
-
},
|
|
4036
|
-
"orders": {
|
|
4037
|
-
"state": "none"
|
|
4038
|
-
},
|
|
4039
|
-
"intent": "Prepare the Perps start state for the proof",
|
|
4040
|
-
"network": "testnet",
|
|
4628
|
+
"action": "metamask.perps.ensure_orders",
|
|
4629
|
+
"state": "none",
|
|
4630
|
+
"mode": "all",
|
|
4631
|
+
"intent": "Assert that no Perps order exists",
|
|
4041
4632
|
"next": "done"
|
|
4042
4633
|
},
|
|
4043
4634
|
{
|
|
4044
|
-
"action": "metamask.perps.
|
|
4045
|
-
"profile": "open_position_testnet",
|
|
4635
|
+
"action": "metamask.perps.ensure_orders",
|
|
4046
4636
|
"market": "ETH",
|
|
4047
|
-
"side": "
|
|
4048
|
-
"
|
|
4049
|
-
|
|
4050
|
-
"notional": "10",
|
|
4051
|
-
"leverage": 2
|
|
4052
|
-
},
|
|
4053
|
-
"intent": "Prepare the Perps start state for the proof",
|
|
4054
|
-
"network": "testnet",
|
|
4637
|
+
"side": "short",
|
|
4638
|
+
"state": "open",
|
|
4639
|
+
"intent": "Assert that the matching ETH short order already exists",
|
|
4055
4640
|
"next": "done"
|
|
4056
4641
|
}
|
|
4057
4642
|
],
|
|
4058
4643
|
"execution_capabilities": [
|
|
4059
|
-
"
|
|
4060
|
-
"external-mutation"
|
|
4644
|
+
"host-read-export"
|
|
4061
4645
|
]
|
|
4062
4646
|
},
|
|
4063
4647
|
"metamask.perps.teardown_state": {
|
|
4064
|
-
"description": "
|
|
4648
|
+
"description": "Observe and assert the requested final Extension Perps order and position state, then optionally navigate. This action never closes or cancels financial state.",
|
|
4065
4649
|
"schema": {
|
|
4066
4650
|
"type": "object",
|
|
4067
4651
|
"properties": {
|
|
4068
|
-
"profile": {
|
|
4069
|
-
"type": "string",
|
|
4070
|
-
"description": "Optional profile such as clean_market_testnet, open_position_testnet, open_order_testnet, or provider_mainnet_readonly."
|
|
4071
|
-
},
|
|
4072
|
-
"account": {
|
|
4073
|
-
"type": "string"
|
|
4074
|
-
},
|
|
4075
|
-
"provider": {
|
|
4076
|
-
"type": "string",
|
|
4077
|
-
"description": "Requested Perps provider, e.g. hyperliquid."
|
|
4078
|
-
},
|
|
4079
|
-
"network": {
|
|
4080
|
-
"type": "string",
|
|
4081
|
-
"enum": [
|
|
4082
|
-
"testnet",
|
|
4083
|
-
"mainnet"
|
|
4084
|
-
]
|
|
4085
|
-
},
|
|
4086
4652
|
"market": {
|
|
4087
4653
|
"type": "string"
|
|
4088
4654
|
},
|
|
@@ -4166,63 +4732,6 @@
|
|
|
4166
4732
|
"present"
|
|
4167
4733
|
]
|
|
4168
4734
|
},
|
|
4169
|
-
"amount": {
|
|
4170
|
-
"type": [
|
|
4171
|
-
"string",
|
|
4172
|
-
"number"
|
|
4173
|
-
]
|
|
4174
|
-
},
|
|
4175
|
-
"notional": {
|
|
4176
|
-
"type": [
|
|
4177
|
-
"string",
|
|
4178
|
-
"number"
|
|
4179
|
-
]
|
|
4180
|
-
},
|
|
4181
|
-
"size": {
|
|
4182
|
-
"type": [
|
|
4183
|
-
"string",
|
|
4184
|
-
"number"
|
|
4185
|
-
]
|
|
4186
|
-
},
|
|
4187
|
-
"leverage": {
|
|
4188
|
-
"type": "number"
|
|
4189
|
-
},
|
|
4190
|
-
"order_type": {
|
|
4191
|
-
"type": "string"
|
|
4192
|
-
},
|
|
4193
|
-
"orderType": {
|
|
4194
|
-
"type": "string"
|
|
4195
|
-
},
|
|
4196
|
-
"limit_price": {
|
|
4197
|
-
"type": "number"
|
|
4198
|
-
},
|
|
4199
|
-
"limitPrice": {
|
|
4200
|
-
"type": "number"
|
|
4201
|
-
},
|
|
4202
|
-
"offset_pct": {
|
|
4203
|
-
"type": "number"
|
|
4204
|
-
},
|
|
4205
|
-
"offsetPct": {
|
|
4206
|
-
"type": "number"
|
|
4207
|
-
},
|
|
4208
|
-
"current_price": {
|
|
4209
|
-
"type": "number"
|
|
4210
|
-
},
|
|
4211
|
-
"currentPrice": {
|
|
4212
|
-
"type": "number"
|
|
4213
|
-
},
|
|
4214
|
-
"max_slippage_bps": {
|
|
4215
|
-
"type": "number"
|
|
4216
|
-
},
|
|
4217
|
-
"maxSlippageBps": {
|
|
4218
|
-
"type": "number"
|
|
4219
|
-
},
|
|
4220
|
-
"close_attempts": {
|
|
4221
|
-
"type": "integer"
|
|
4222
|
-
},
|
|
4223
|
-
"close_retry_delay_ms": {
|
|
4224
|
-
"type": "integer"
|
|
4225
|
-
},
|
|
4226
4735
|
"timeout_ms": {
|
|
4227
4736
|
"type": "number"
|
|
4228
4737
|
}
|
|
@@ -4277,74 +4786,12 @@
|
|
|
4277
4786
|
"present"
|
|
4278
4787
|
]
|
|
4279
4788
|
},
|
|
4280
|
-
"amount": {
|
|
4281
|
-
"type": [
|
|
4282
|
-
"string",
|
|
4283
|
-
"number"
|
|
4284
|
-
]
|
|
4285
|
-
},
|
|
4286
|
-
"notional": {
|
|
4287
|
-
"type": [
|
|
4288
|
-
"string",
|
|
4289
|
-
"number"
|
|
4290
|
-
]
|
|
4291
|
-
},
|
|
4292
|
-
"size": {
|
|
4293
|
-
"type": [
|
|
4294
|
-
"string",
|
|
4295
|
-
"number"
|
|
4296
|
-
]
|
|
4297
|
-
},
|
|
4298
|
-
"leverage": {
|
|
4299
|
-
"type": "number"
|
|
4300
|
-
},
|
|
4301
|
-
"order_type": {
|
|
4302
|
-
"type": "string"
|
|
4303
|
-
},
|
|
4304
|
-
"orderType": {
|
|
4305
|
-
"type": "string"
|
|
4306
|
-
},
|
|
4307
|
-
"limit_price": {
|
|
4308
|
-
"type": "number"
|
|
4309
|
-
},
|
|
4310
|
-
"limitPrice": {
|
|
4311
|
-
"type": "number"
|
|
4312
|
-
},
|
|
4313
|
-
"offset_pct": {
|
|
4314
|
-
"type": "number"
|
|
4315
|
-
},
|
|
4316
|
-
"offsetPct": {
|
|
4317
|
-
"type": "number"
|
|
4318
|
-
},
|
|
4319
|
-
"current_price": {
|
|
4320
|
-
"type": "number"
|
|
4321
|
-
},
|
|
4322
|
-
"currentPrice": {
|
|
4323
|
-
"type": "number"
|
|
4324
|
-
},
|
|
4325
|
-
"max_slippage_bps": {
|
|
4326
|
-
"type": "number"
|
|
4327
|
-
},
|
|
4328
|
-
"maxSlippageBps": {
|
|
4329
|
-
"type": "number"
|
|
4330
|
-
},
|
|
4331
|
-
"close_attempts": {
|
|
4332
|
-
"type": "integer"
|
|
4333
|
-
},
|
|
4334
|
-
"close_retry_delay_ms": {
|
|
4335
|
-
"type": "integer"
|
|
4336
|
-
},
|
|
4337
4789
|
"timeout_ms": {
|
|
4338
4790
|
"type": "number"
|
|
4339
4791
|
}
|
|
4340
4792
|
},
|
|
4341
4793
|
"additionalProperties": false
|
|
4342
4794
|
},
|
|
4343
|
-
"hud": {
|
|
4344
|
-
"type": "object",
|
|
4345
|
-
"properties": {},
|
|
4346
|
-
"additionalProperties": false
|
|
4347
|
-
},
|
|
4348
4795
|
"timeout_ms": {
|
|
4349
4796
|
"type": "number"
|
|
4350
4797
|
},
|
|
@@ -4355,27 +4802,6 @@
|
|
|
4355
4802
|
"short"
|
|
4356
4803
|
]
|
|
4357
4804
|
},
|
|
4358
|
-
"account_name": {
|
|
4359
|
-
"type": "string"
|
|
4360
|
-
},
|
|
4361
|
-
"readyToTrade": {
|
|
4362
|
-
"type": "boolean"
|
|
4363
|
-
},
|
|
4364
|
-
"balance": {
|
|
4365
|
-
"type": "object",
|
|
4366
|
-
"properties": {
|
|
4367
|
-
"minWithdrawableUsd": {
|
|
4368
|
-
"type": "number"
|
|
4369
|
-
},
|
|
4370
|
-
"minUsd": {
|
|
4371
|
-
"type": "number"
|
|
4372
|
-
},
|
|
4373
|
-
"minSpendableUsd": {
|
|
4374
|
-
"type": "number"
|
|
4375
|
-
}
|
|
4376
|
-
},
|
|
4377
|
-
"additionalProperties": false
|
|
4378
|
-
},
|
|
4379
4805
|
"mode": {
|
|
4380
4806
|
"type": "string",
|
|
4381
4807
|
"enum": [
|
|
@@ -4397,19 +4823,18 @@
|
|
|
4397
4823
|
"state": "none"
|
|
4398
4824
|
},
|
|
4399
4825
|
"page": "home",
|
|
4400
|
-
"intent": "
|
|
4826
|
+
"intent": "Assert the final BTC Perps state and return home",
|
|
4401
4827
|
"next": "done"
|
|
4402
4828
|
},
|
|
4403
4829
|
{
|
|
4404
4830
|
"action": "metamask.perps.teardown_state",
|
|
4405
4831
|
"market": "BTC",
|
|
4406
|
-
"intent": "
|
|
4832
|
+
"intent": "Assert that no matching BTC position or order exists",
|
|
4407
4833
|
"next": "done"
|
|
4408
4834
|
}
|
|
4409
4835
|
],
|
|
4410
4836
|
"execution_capabilities": [
|
|
4411
|
-
"app-mutation"
|
|
4412
|
-
"external-mutation"
|
|
4837
|
+
"app-mutation"
|
|
4413
4838
|
]
|
|
4414
4839
|
},
|
|
4415
4840
|
"metamask.deeplink.open": {
|