Browse Source

[docs] More documentation on different packages (#992)

* More documentation on different packages
Mohammad Amin Khashkhashi Moghaddam 2 years ago
parent
commit
7674a3a07c

+ 16 - 0
governance/xc_admin/README.md

@@ -0,0 +1,16 @@
+# Cross Chain Admin
+
+A set of packages for managing pyth cross-chain communications and contract management.
+
+Pyth programs across chains are governed by multisigs. These multisigs are managed on solana devnet, testnet, and mainnet networks and each manage certain programs on certain networks.
+
+On each of these chains two multisigs are deployed:
+
+- Upgrade multisig: This multisig is used to upgrade the pyth contracts (configuration or implementation) on the target chain
+- Price feed multisig: This multisig is used to add or remove price feeds and publishers
+
+Here is a diagram on which programs consume which multisig messages and how it works in general:
+
+![Overview](./overview.svg)
+
+You can edit the diagram by opening the [overview.excalidraw](./overview.excalidraw) file in [excalidraw.com](https://excalidraw.com/).

+ 3610 - 0
governance/xc_admin/overview.excalidraw

@@ -0,0 +1,3610 @@
+{
+  "type": "excalidraw",
+  "version": 2,
+  "source": "https://excalidraw.com",
+  "elements": [
+    {
+      "id": "Wwkha7IojNxd0hAI1t0xX",
+      "type": "line",
+      "x": 801.4289960637818,
+      "y": 211.25762415608543,
+      "width": 4.0078125,
+      "height": 518.0546875,
+      "angle": 0,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "transparent",
+      "fillStyle": "hachure",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 2
+      },
+      "seed": 216298285,
+      "version": 201,
+      "versionNonce": 1535281091,
+      "isDeleted": false,
+      "boundElements": null,
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false,
+      "points": [
+        [
+          0,
+          0
+        ],
+        [
+          4.0078125,
+          518.0546875
+        ]
+      ],
+      "lastCommittedPoint": null,
+      "startBinding": null,
+      "endBinding": null,
+      "startArrowhead": null,
+      "endArrowhead": null
+    },
+    {
+      "id": "qUInqPgg_sAnK_0JzwK4g",
+      "type": "text",
+      "x": 556.07421875,
+      "y": 153.38671875,
+      "width": 158.55987548828125,
+      "height": 25,
+      "angle": 0,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "transparent",
+      "fillStyle": "hachure",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": null,
+      "seed": 1294445773,
+      "version": 48,
+      "versionNonce": 2040334829,
+      "isDeleted": false,
+      "boundElements": null,
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false,
+      "text": "Solana networks",
+      "fontSize": 20,
+      "fontFamily": 1,
+      "textAlign": "left",
+      "verticalAlign": "top",
+      "baseline": 18,
+      "containerId": null,
+      "originalText": "Solana networks",
+      "lineHeight": 1.25
+    },
+    {
+      "id": "DAE6kHZKHIQDkCfTv04yi",
+      "type": "text",
+      "x": 929.08203125,
+      "y": 157.6015625,
+      "width": 137.8198699951172,
+      "height": 25,
+      "angle": 0,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "transparent",
+      "fillStyle": "hachure",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": null,
+      "seed": 1740840835,
+      "version": 142,
+      "versionNonce": 1107466083,
+      "isDeleted": false,
+      "boundElements": null,
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false,
+      "text": "Pyth networks",
+      "fontSize": 20,
+      "fontFamily": 1,
+      "textAlign": "left",
+      "verticalAlign": "top",
+      "baseline": 18,
+      "containerId": null,
+      "originalText": "Pyth networks",
+      "lineHeight": 1.25
+    },
+    {
+      "id": "w35p_ghassNdA8YyZfI2g",
+      "type": "rectangle",
+      "x": 838.67578125,
+      "y": 206.5546875,
+      "width": 328.57421875,
+      "height": 260.4453125,
+      "angle": 0,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "transparent",
+      "fillStyle": "hachure",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 3
+      },
+      "seed": 880573059,
+      "version": 138,
+      "versionNonce": 1184842829,
+      "isDeleted": false,
+      "boundElements": [
+        {
+          "id": "_AGxPFY7t0-INp88Dk3dh",
+          "type": "arrow"
+        }
+      ],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false
+    },
+    {
+      "id": "zJxyLgHlci0M9fMdRw70i",
+      "type": "text",
+      "x": 858.5267009467248,
+      "y": 213.8054228137331,
+      "width": 59.16798400878906,
+      "height": 20,
+      "angle": 0,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "transparent",
+      "fillStyle": "hachure",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": null,
+      "seed": 1625157379,
+      "version": 75,
+      "versionNonce": 1763685123,
+      "isDeleted": false,
+      "boundElements": null,
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false,
+      "text": "Mainnet",
+      "fontSize": 16,
+      "fontFamily": 1,
+      "textAlign": "left",
+      "verticalAlign": "top",
+      "baseline": 14,
+      "containerId": null,
+      "originalText": "Mainnet",
+      "lineHeight": 1.25
+    },
+    {
+      "type": "rectangle",
+      "version": 270,
+      "versionNonce": 1364744867,
+      "isDeleted": false,
+      "id": "bHXonKhGf61gXNylZrmpC",
+      "fillStyle": "hachure",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 444.654296875,
+      "y": 202.27734375,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "transparent",
+      "width": 328.57421875,
+      "height": 175.8671875,
+      "seed": 1909624397,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 3
+      },
+      "boundElements": [
+        {
+          "id": "86ZRInmy8Exc01hKttVkh",
+          "type": "arrow"
+        }
+      ],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false
+    },
+    {
+      "type": "text",
+      "version": 163,
+      "versionNonce": 1391088909,
+      "isDeleted": false,
+      "id": "RHgQDqwJrzL1tZlb72T-y",
+      "fillStyle": "hachure",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 463.23217761712067,
+      "y": 211.45417046907545,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "transparent",
+      "width": 59.16798400878906,
+      "height": 20,
+      "seed": 979713197,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": null,
+      "boundElements": [],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false,
+      "fontSize": 16,
+      "fontFamily": 1,
+      "text": "Mainnet",
+      "textAlign": "left",
+      "verticalAlign": "top",
+      "containerId": null,
+      "originalText": "Mainnet",
+      "lineHeight": 1.25,
+      "baseline": 14
+    },
+    {
+      "type": "rectangle",
+      "version": 270,
+      "versionNonce": 1734020675,
+      "isDeleted": false,
+      "id": "wukZrw3B-jWDtuZjR4_RG",
+      "fillStyle": "hachure",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 836.716796875,
+      "y": 478.48828125,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "transparent",
+      "width": 328.57421875,
+      "height": 260.4453125,
+      "seed": 999988653,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 3
+      },
+      "boundElements": [
+        {
+          "id": "EGo2Eue99PX4sa166jY1X",
+          "type": "arrow"
+        }
+      ],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false
+    },
+    {
+      "type": "text",
+      "version": 226,
+      "versionNonce": 441854829,
+      "isDeleted": false,
+      "id": "ArS356LPPz3UUH7MYM4ZB",
+      "fillStyle": "hachure",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 851.9426172528874,
+      "y": 485.8423476477107,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "transparent",
+      "width": 54.863983154296875,
+      "height": 20,
+      "seed": 1664376845,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": null,
+      "boundElements": [],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false,
+      "fontSize": 16,
+      "fontFamily": 1,
+      "text": "Devnet",
+      "textAlign": "left",
+      "verticalAlign": "top",
+      "containerId": null,
+      "originalText": "Devnet",
+      "lineHeight": 1.25,
+      "baseline": 14
+    },
+    {
+      "type": "rectangle",
+      "version": 350,
+      "versionNonce": 2114342371,
+      "isDeleted": false,
+      "id": "ziEpp2BVm12sXjZSM-ryG",
+      "fillStyle": "hachure",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 445.857421875,
+      "y": 388.3984375,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "transparent",
+      "width": 328.57421875,
+      "height": 175.8671875,
+      "seed": 114179277,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 3
+      },
+      "boundElements": [],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false
+    },
+    {
+      "type": "text",
+      "version": 267,
+      "versionNonce": 112735693,
+      "isDeleted": false,
+      "id": "4WWst7yJEpkgUYiRAqQ7o",
+      "fillStyle": "hachure",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 463.373059073831,
+      "y": 395.57064118991013,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "transparent",
+      "width": 64.60797119140625,
+      "height": 20,
+      "seed": 1088887597,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": null,
+      "boundElements": [],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false,
+      "fontSize": 16,
+      "fontFamily": 1,
+      "text": "Testnet",
+      "textAlign": "left",
+      "verticalAlign": "top",
+      "containerId": null,
+      "originalText": "Testnet",
+      "lineHeight": 1.25,
+      "baseline": 14
+    },
+    {
+      "type": "rectangle",
+      "version": 521,
+      "versionNonce": 141072771,
+      "isDeleted": false,
+      "id": "Iyn_vz4WzA9xZU9sms2lv",
+      "fillStyle": "hachure",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 446.97565420905175,
+      "y": 581.167562126177,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "transparent",
+      "width": 328.57421875,
+      "height": 175.8671875,
+      "seed": 138342029,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 3
+      },
+      "boundElements": [],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false
+    },
+    {
+      "type": "text",
+      "version": 378,
+      "versionNonce": 53081133,
+      "isDeleted": false,
+      "id": "soC6N0LisFh4uw_1iMrSD",
+      "fillStyle": "hachure",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 459.7959269519408,
+      "y": 591.7910240209387,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "transparent",
+      "width": 54.863983154296875,
+      "height": 20,
+      "seed": 1021023469,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": null,
+      "boundElements": [],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false,
+      "fontSize": 16,
+      "fontFamily": 1,
+      "text": "Devnet",
+      "textAlign": "left",
+      "verticalAlign": "top",
+      "containerId": null,
+      "originalText": "Devnet",
+      "lineHeight": 1.25,
+      "baseline": 14
+    },
+    {
+      "id": "T_Zg-0ndlISQOW9KZG8WW",
+      "type": "rectangle",
+      "x": 663.6079759417084,
+      "y": 252.1794844606619,
+      "width": 87,
+      "height": 41,
+      "angle": 0,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#d0bfff",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 3
+      },
+      "seed": 509181005,
+      "version": 280,
+      "versionNonce": 331378979,
+      "isDeleted": false,
+      "boundElements": [
+        {
+          "type": "text",
+          "id": "X8VGlGww-VOOlD9xgDnEB"
+        },
+        {
+          "id": "NkR9G3ayBBE7qscM1LBG_",
+          "type": "arrow"
+        }
+      ],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false
+    },
+    {
+      "id": "X8VGlGww-VOOlD9xgDnEB",
+      "type": "text",
+      "x": 685.2179994402436,
+      "y": 260.1794844606619,
+      "width": 43.77995300292969,
+      "height": 25,
+      "angle": 0,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#d0bfff",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": null,
+      "seed": 1210665443,
+      "version": 212,
+      "versionNonce": 1536485005,
+      "isDeleted": false,
+      "boundElements": null,
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false,
+      "text": "Pyth",
+      "fontSize": 20,
+      "fontFamily": 1,
+      "textAlign": "center",
+      "verticalAlign": "middle",
+      "baseline": 18,
+      "containerId": "T_Zg-0ndlISQOW9KZG8WW",
+      "originalText": "Pyth",
+      "lineHeight": 1.25
+    },
+    {
+      "type": "rectangle",
+      "version": 443,
+      "versionNonce": 24925379,
+      "isDeleted": false,
+      "id": "anrxE0rdrrpO02hCrmxiS",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 659.406853800067,
+      "y": 430.1991629984164,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#d0bfff",
+      "width": 87,
+      "height": 41,
+      "seed": 1859614211,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 3
+      },
+      "boundElements": [
+        {
+          "type": "text",
+          "id": "thLixq3WKQ1ZHywGap60x"
+        },
+        {
+          "id": "Pq6-A35IezkK-feTLxWec",
+          "type": "arrow"
+        }
+      ],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false
+    },
+    {
+      "type": "text",
+      "version": 376,
+      "versionNonce": 582126829,
+      "isDeleted": false,
+      "id": "thLixq3WKQ1ZHywGap60x",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 681.0168772986021,
+      "y": 438.1991629984164,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#d0bfff",
+      "width": 43.77995300292969,
+      "height": 25,
+      "seed": 1897905571,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": null,
+      "boundElements": [],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false,
+      "fontSize": 20,
+      "fontFamily": 1,
+      "text": "Pyth",
+      "textAlign": "center",
+      "verticalAlign": "middle",
+      "containerId": "anrxE0rdrrpO02hCrmxiS",
+      "originalText": "Pyth",
+      "lineHeight": 1.25,
+      "baseline": 18
+    },
+    {
+      "type": "rectangle",
+      "version": 626,
+      "versionNonce": 20628579,
+      "isDeleted": false,
+      "id": "oKTm7EBUGnO-pCSYNfXKy",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 874.5091046945458,
+      "y": 278.1040738701155,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#d0bfff",
+      "width": 87,
+      "height": 41,
+      "seed": 1645298221,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 3
+      },
+      "boundElements": [
+        {
+          "type": "text",
+          "id": "WgOYFcqUhkO5fbPaYcCbm"
+        },
+        {
+          "id": "_AGxPFY7t0-INp88Dk3dh",
+          "type": "arrow"
+        },
+        {
+          "id": "IkuKi2jI6QdNABjagPw3O",
+          "type": "arrow"
+        }
+      ],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false
+    },
+    {
+      "type": "text",
+      "version": 557,
+      "versionNonce": 1477207885,
+      "isDeleted": false,
+      "id": "WgOYFcqUhkO5fbPaYcCbm",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 896.119128193081,
+      "y": 286.1040738701155,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#d0bfff",
+      "width": 43.77995300292969,
+      "height": 25,
+      "seed": 1013085325,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": null,
+      "boundElements": [],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false,
+      "fontSize": 20,
+      "fontFamily": 1,
+      "text": "Pyth",
+      "textAlign": "center",
+      "verticalAlign": "middle",
+      "containerId": "oKTm7EBUGnO-pCSYNfXKy",
+      "originalText": "Pyth",
+      "lineHeight": 1.25,
+      "baseline": 18
+    },
+    {
+      "type": "rectangle",
+      "version": 1387,
+      "versionNonce": 1254768643,
+      "isDeleted": false,
+      "id": "21cUsYszKa2r81iubfAvP",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 854.4973198992027,
+      "y": 529.6036657848623,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#d0bfff",
+      "width": 132,
+      "height": 50,
+      "seed": 39513475,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 3
+      },
+      "boundElements": [
+        {
+          "type": "text",
+          "id": "VbNdfdT1YVUWkOHFwDvv3"
+        },
+        {
+          "id": "EGo2Eue99PX4sa166jY1X",
+          "type": "arrow"
+        }
+      ],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false
+    },
+    {
+      "type": "text",
+      "version": 1502,
+      "versionNonce": 1308358061,
+      "isDeleted": false,
+      "id": "VbNdfdT1YVUWkOHFwDvv3",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 874.025342665316,
+      "y": 534.6036657848623,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#d0bfff",
+      "width": 92.94395446777344,
+      "height": 40,
+      "seed": 1145586979,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": null,
+      "boundElements": [],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false,
+      "fontSize": 16,
+      "fontFamily": 1,
+      "text": "Pythtest-\nconformance",
+      "textAlign": "center",
+      "verticalAlign": "middle",
+      "containerId": "21cUsYszKa2r81iubfAvP",
+      "originalText": "Pythtest-conformance",
+      "lineHeight": 1.25,
+      "baseline": 34
+    },
+    {
+      "type": "rectangle",
+      "version": 1183,
+      "versionNonce": 405358499,
+      "isDeleted": false,
+      "id": "T0qYMEn8tX2y5A5_LmKYv",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 863.1512866446133,
+      "y": 598.1166750447213,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#d0bfff",
+      "width": 129,
+      "height": 50,
+      "seed": 268757827,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 3
+      },
+      "boundElements": [
+        {
+          "type": "text",
+          "id": "YjmwLhiTI_eTSB2dCKXwh"
+        },
+        {
+          "id": "0uqNpufymd60aSsTS3EOC",
+          "type": "arrow"
+        },
+        {
+          "id": "PjEn6VFVRnJyGo45ny--4",
+          "type": "arrow"
+        }
+      ],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false
+    },
+    {
+      "type": "text",
+      "version": 1283,
+      "versionNonce": 1336588301,
+      "isDeleted": false,
+      "id": "YjmwLhiTI_eTSB2dCKXwh",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 888.2833133169765,
+      "y": 603.1166750447213,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#d0bfff",
+      "width": 78.73594665527344,
+      "height": 40,
+      "seed": 258771683,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": null,
+      "boundElements": [],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false,
+      "fontSize": 16,
+      "fontFamily": 1,
+      "text": "Pythtest-\ncrosschain",
+      "textAlign": "center",
+      "verticalAlign": "middle",
+      "containerId": "T0qYMEn8tX2y5A5_LmKYv",
+      "originalText": "Pythtest-crosschain",
+      "lineHeight": 1.25,
+      "baseline": 34
+    },
+    {
+      "type": "rectangle",
+      "version": 926,
+      "versionNonce": 2112136835,
+      "isDeleted": false,
+      "id": "qMNhoK5LmHFsPfaVjJYTw",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 487.1911359996491,
+      "y": 685.5716039406433,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#eaddd7",
+      "width": 95,
+      "height": 60,
+      "seed": 276270179,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 3
+      },
+      "boundElements": [
+        {
+          "type": "text",
+          "id": "elK6tItd7_tl3x5iN0xYK"
+        },
+        {
+          "id": "mYG3JWgRJ3aeVoo9cU7Su",
+          "type": "arrow"
+        }
+      ],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false
+    },
+    {
+      "type": "text",
+      "version": 981,
+      "versionNonce": 1023489837,
+      "isDeleted": false,
+      "id": "elK6tItd7_tl3x5iN0xYK",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 499.32316267201236,
+      "y": 695.5716039406433,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#d0bfff",
+      "width": 70.73594665527344,
+      "height": 40,
+      "seed": 1731069955,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": null,
+      "boundElements": [],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false,
+      "fontSize": 16,
+      "fontFamily": 1,
+      "text": "Upgrade \nMultisig",
+      "textAlign": "center",
+      "verticalAlign": "middle",
+      "containerId": "qMNhoK5LmHFsPfaVjJYTw",
+      "originalText": "Upgrade Multisig",
+      "lineHeight": 1.25,
+      "baseline": 34
+    },
+    {
+      "type": "rectangle",
+      "version": 1045,
+      "versionNonce": 2016599587,
+      "isDeleted": false,
+      "id": "60a_ZnVoAR9I9hq-L1S5e",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 650.047521086898,
+      "y": 694.908941831078,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#e9ecef",
+      "width": 101,
+      "height": 37,
+      "seed": 1227380419,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 3
+      },
+      "boundElements": [
+        {
+          "type": "text",
+          "id": "D3rGmckdh9-YMpVgq8muZ"
+        },
+        {
+          "id": "gcWJCqX6gt2-xI91lI6og",
+          "type": "arrow"
+        },
+        {
+          "id": "EGo2Eue99PX4sa166jY1X",
+          "type": "arrow"
+        },
+        {
+          "id": "0uqNpufymd60aSsTS3EOC",
+          "type": "arrow"
+        },
+        {
+          "id": "mYG3JWgRJ3aeVoo9cU7Su",
+          "type": "arrow"
+        },
+        {
+          "id": "irLPeFIYZkBedQeDwzuq1",
+          "type": "arrow"
+        }
+      ],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false
+    },
+    {
+      "type": "text",
+      "version": 1024,
+      "versionNonce": 2139867533,
+      "isDeleted": false,
+      "id": "D3rGmckdh9-YMpVgq8muZ",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 658.337560149398,
+      "y": 700.908941831078,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#d0bfff",
+      "width": 84.419921875,
+      "height": 25,
+      "seed": 941000291,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": null,
+      "boundElements": [],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false,
+      "fontSize": 20,
+      "fontFamily": 1,
+      "text": "Wormhole",
+      "textAlign": "center",
+      "verticalAlign": "middle",
+      "containerId": "60a_ZnVoAR9I9hq-L1S5e",
+      "originalText": "Wormhole",
+      "lineHeight": 1.25,
+      "baseline": 18
+    },
+    {
+      "type": "rectangle",
+      "version": 817,
+      "versionNonce": 1729700291,
+      "isDeleted": false,
+      "id": "0PKIGZ0V150Oj8S-0vLRY",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 655.3414565850308,
+      "y": 507.2092634794319,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#e9ecef",
+      "width": 101,
+      "height": 37,
+      "seed": 499843245,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 3
+      },
+      "boundElements": [
+        {
+          "type": "text",
+          "id": "m3jz5rjCD0Pmd0YWU4uQq"
+        },
+        {
+          "id": "Pq6-A35IezkK-feTLxWec",
+          "type": "arrow"
+        },
+        {
+          "id": "k03FvG0MJ_vMddqeEQrcu",
+          "type": "arrow"
+        }
+      ],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false
+    },
+    {
+      "type": "text",
+      "version": 799,
+      "versionNonce": 198512621,
+      "isDeleted": false,
+      "id": "m3jz5rjCD0Pmd0YWU4uQq",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 663.6314956475308,
+      "y": 513.2092634794319,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#d0bfff",
+      "width": 84.419921875,
+      "height": 25,
+      "seed": 123757325,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": null,
+      "boundElements": [],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false,
+      "fontSize": 20,
+      "fontFamily": 1,
+      "text": "Wormhole",
+      "textAlign": "center",
+      "verticalAlign": "middle",
+      "containerId": "0PKIGZ0V150Oj8S-0vLRY",
+      "originalText": "Wormhole",
+      "lineHeight": 1.25,
+      "baseline": 18
+    },
+    {
+      "type": "rectangle",
+      "version": 906,
+      "versionNonce": 330690915,
+      "isDeleted": false,
+      "id": "bqysSUQu7by-spMXSEGTf",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 654.684270890933,
+      "y": 310.34701552867784,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#e9ecef",
+      "width": 101,
+      "height": 37,
+      "seed": 72480451,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 3
+      },
+      "boundElements": [
+        {
+          "type": "text",
+          "id": "b6N5eIIgXvwVuQvzWUOKn"
+        },
+        {
+          "id": "ocFvv_o0FHck5-LkdmpoP",
+          "type": "arrow"
+        },
+        {
+          "id": "NkR9G3ayBBE7qscM1LBG_",
+          "type": "arrow"
+        },
+        {
+          "id": "_AGxPFY7t0-INp88Dk3dh",
+          "type": "arrow"
+        },
+        {
+          "id": "86ZRInmy8Exc01hKttVkh",
+          "type": "arrow"
+        },
+        {
+          "id": "6HOHNUtODPaoYX_IEDuZc",
+          "type": "arrow"
+        }
+      ],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false
+    },
+    {
+      "type": "text",
+      "version": 883,
+      "versionNonce": 535202381,
+      "isDeleted": false,
+      "id": "b6N5eIIgXvwVuQvzWUOKn",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 662.974309953433,
+      "y": 316.34701552867784,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#d0bfff",
+      "width": 84.419921875,
+      "height": 25,
+      "seed": 487335523,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": null,
+      "boundElements": [],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false,
+      "fontSize": 20,
+      "fontFamily": 1,
+      "text": "Wormhole",
+      "textAlign": "center",
+      "verticalAlign": "middle",
+      "containerId": "bqysSUQu7by-spMXSEGTf",
+      "originalText": "Wormhole",
+      "lineHeight": 1.25,
+      "baseline": 18
+    },
+    {
+      "type": "rectangle",
+      "version": 960,
+      "versionNonce": 525847811,
+      "isDeleted": false,
+      "id": "ZI9zqFdXWP68UbH3ZFlIW",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 486.63412771778235,
+      "y": 615.0525322301944,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#eaddd7",
+      "width": 95,
+      "height": 60,
+      "seed": 296077059,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 3
+      },
+      "boundElements": [
+        {
+          "type": "text",
+          "id": "LlCP75kzVyQlFGHErzFo9"
+        },
+        {
+          "id": "gcWJCqX6gt2-xI91lI6og",
+          "type": "arrow"
+        },
+        {
+          "id": "DNfakhLu4hiwR4v-zUHND",
+          "type": "arrow"
+        }
+      ],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false
+    },
+    {
+      "type": "text",
+      "version": 1025,
+      "versionNonce": 2090449069,
+      "isDeleted": false,
+      "id": "LlCP75kzVyQlFGHErzFo9",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 494.0701552446378,
+      "y": 625.0525322301944,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#d0bfff",
+      "width": 80.12794494628906,
+      "height": 40,
+      "seed": 670822051,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": null,
+      "boundElements": [],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false,
+      "fontSize": 16,
+      "fontFamily": 1,
+      "text": "Pricefeed \nMultisig",
+      "textAlign": "center",
+      "verticalAlign": "middle",
+      "containerId": "ZI9zqFdXWP68UbH3ZFlIW",
+      "originalText": "Pricefeed Multisig",
+      "lineHeight": 1.25,
+      "baseline": 34
+    },
+    {
+      "type": "rectangle",
+      "version": 1042,
+      "versionNonce": 2105357475,
+      "isDeleted": false,
+      "id": "M_lDke2d6qsnRPyE6pma1",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 486.7142361774789,
+      "y": 494.06306938121867,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#eaddd7",
+      "width": 95,
+      "height": 60,
+      "seed": 1325130445,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 3
+      },
+      "boundElements": [
+        {
+          "type": "text",
+          "id": "GvOpzLB2aPWjutaJNk32I"
+        },
+        {
+          "id": "k03FvG0MJ_vMddqeEQrcu",
+          "type": "arrow"
+        }
+      ],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false
+    },
+    {
+      "type": "text",
+      "version": 1097,
+      "versionNonce": 194517773,
+      "isDeleted": false,
+      "id": "GvOpzLB2aPWjutaJNk32I",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 498.84626284984216,
+      "y": 504.06306938121884,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#d0bfff",
+      "width": 70.73594665527344,
+      "height": 40,
+      "seed": 1081082157,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": null,
+      "boundElements": [],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false,
+      "fontSize": 16,
+      "fontFamily": 1,
+      "text": "Upgrade \nMultisig",
+      "textAlign": "center",
+      "verticalAlign": "middle",
+      "containerId": "M_lDke2d6qsnRPyE6pma1",
+      "originalText": "Upgrade Multisig",
+      "lineHeight": 1.25,
+      "baseline": 34
+    },
+    {
+      "type": "rectangle",
+      "version": 1084,
+      "versionNonce": 768911427,
+      "isDeleted": false,
+      "id": "Gu8qtj7kztLHHvN6qqJ2H",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 486.15722789561215,
+      "y": 423.5439976707697,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#eaddd7",
+      "width": 95,
+      "height": 60,
+      "seed": 2123453325,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 3
+      },
+      "boundElements": [
+        {
+          "type": "text",
+          "id": "Id9fqqdNeGhuOPluAMjUo"
+        },
+        {
+          "id": "Pq6-A35IezkK-feTLxWec",
+          "type": "arrow"
+        }
+      ],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false
+    },
+    {
+      "type": "text",
+      "version": 1150,
+      "versionNonce": 1163604333,
+      "isDeleted": false,
+      "id": "Id9fqqdNeGhuOPluAMjUo",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 493.5932554224676,
+      "y": 433.5439976707697,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#d0bfff",
+      "width": 80.12794494628906,
+      "height": 40,
+      "seed": 1704548845,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": null,
+      "boundElements": [],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false,
+      "fontSize": 16,
+      "fontFamily": 1,
+      "text": "Pricefeed \nMultisig",
+      "textAlign": "center",
+      "verticalAlign": "middle",
+      "containerId": "Gu8qtj7kztLHHvN6qqJ2H",
+      "originalText": "Pricefeed Multisig",
+      "lineHeight": 1.25,
+      "baseline": 34
+    },
+    {
+      "type": "rectangle",
+      "version": 1107,
+      "versionNonce": 909944803,
+      "isDeleted": false,
+      "id": "b8qpxx68U0BdHB6ES9ZSo",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 482.5148609246293,
+      "y": 307.9596538942119,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#eaddd7",
+      "width": 95,
+      "height": 60,
+      "seed": 1961129475,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 3
+      },
+      "boundElements": [
+        {
+          "type": "text",
+          "id": "5CTG6gFEPFQzxC9QFrNuj"
+        },
+        {
+          "id": "86ZRInmy8Exc01hKttVkh",
+          "type": "arrow"
+        }
+      ],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false
+    },
+    {
+      "type": "text",
+      "version": 1161,
+      "versionNonce": 1462533069,
+      "isDeleted": false,
+      "id": "5CTG6gFEPFQzxC9QFrNuj",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 494.64688759699266,
+      "y": 317.9596538942119,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#d0bfff",
+      "width": 70.73594665527344,
+      "height": 40,
+      "seed": 764198307,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": null,
+      "boundElements": [],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false,
+      "fontSize": 16,
+      "fontFamily": 1,
+      "text": "Upgrade \nMultisig",
+      "textAlign": "center",
+      "verticalAlign": "middle",
+      "containerId": "b8qpxx68U0BdHB6ES9ZSo",
+      "originalText": "Upgrade Multisig",
+      "lineHeight": 1.25,
+      "baseline": 34
+    },
+    {
+      "type": "rectangle",
+      "version": 1149,
+      "versionNonce": 1556329347,
+      "isDeleted": false,
+      "id": "pnIpYB8CRKVL_bFLq15bE",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 481.9578526427626,
+      "y": 237.73116026614764,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#eaddd7",
+      "width": 95,
+      "height": 60,
+      "seed": 621482307,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 3
+      },
+      "boundElements": [
+        {
+          "type": "text",
+          "id": "VQpExkDBME2HsLdhnFDIL"
+        },
+        {
+          "id": "ocFvv_o0FHck5-LkdmpoP",
+          "type": "arrow"
+        },
+        {
+          "id": "NkR9G3ayBBE7qscM1LBG_",
+          "type": "arrow"
+        }
+      ],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false
+    },
+    {
+      "type": "text",
+      "version": 1214,
+      "versionNonce": 153451053,
+      "isDeleted": false,
+      "id": "VQpExkDBME2HsLdhnFDIL",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 489.3938801696181,
+      "y": 247.73116026614764,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#d0bfff",
+      "width": 80.12794494628906,
+      "height": 40,
+      "seed": 750645475,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": null,
+      "boundElements": [],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false,
+      "fontSize": 16,
+      "fontFamily": 1,
+      "text": "Pricefeed \nMultisig",
+      "textAlign": "center",
+      "verticalAlign": "middle",
+      "containerId": "pnIpYB8CRKVL_bFLq15bE",
+      "originalText": "Pricefeed Multisig",
+      "lineHeight": 1.25,
+      "baseline": 34
+    },
+    {
+      "id": "gcWJCqX6gt2-xI91lI6og",
+      "type": "arrow",
+      "x": 593.5949666818492,
+      "y": 666.3837793802859,
+      "width": 64.88998404633708,
+      "height": 22.18238078335935,
+      "angle": 0,
+      "strokeColor": "#1971c2",
+      "backgroundColor": "#e9ecef",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 2
+      },
+      "seed": 1710485347,
+      "version": 570,
+      "versionNonce": 564677411,
+      "isDeleted": false,
+      "boundElements": null,
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false,
+      "points": [
+        [
+          0,
+          0
+        ],
+        [
+          64.88998404633708,
+          22.18238078335935
+        ]
+      ],
+      "lastCommittedPoint": null,
+      "startBinding": {
+        "elementId": "ZI9zqFdXWP68UbH3ZFlIW",
+        "focus": 0.024424601768254606,
+        "gap": 11.960838964066852
+      },
+      "endBinding": {
+        "elementId": "60a_ZnVoAR9I9hq-L1S5e",
+        "focus": 0.29258718813764933,
+        "gap": 6.342781667432746
+      },
+      "startArrowhead": null,
+      "endArrowhead": "triangle"
+    },
+    {
+      "type": "arrow",
+      "version": 1735,
+      "versionNonce": 1680845965,
+      "isDeleted": false,
+      "id": "EGo2Eue99PX4sa166jY1X",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 752.047521086898,
+      "y": 704.9183563339944,
+      "strokeColor": "#1971c2",
+      "backgroundColor": "#e9ecef",
+      "width": 101.44979881230472,
+      "height": 155.5893302056785,
+      "seed": 30299043,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 2
+      },
+      "boundElements": [],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false,
+      "startBinding": {
+        "elementId": "60a_ZnVoAR9I9hq-L1S5e",
+        "gap": 1,
+        "focus": 0.7347158919172784
+      },
+      "endBinding": {
+        "elementId": "21cUsYszKa2r81iubfAvP",
+        "gap": 1,
+        "focus": 0.8558747192109457
+      },
+      "lastCommittedPoint": null,
+      "startArrowhead": null,
+      "endArrowhead": "triangle",
+      "points": [
+        [
+          0,
+          0
+        ],
+        [
+          101.44979881230472,
+          -155.5893302056785
+        ]
+      ]
+    },
+    {
+      "type": "arrow",
+      "version": 1322,
+      "versionNonce": 2035871427,
+      "isDeleted": false,
+      "id": "0uqNpufymd60aSsTS3EOC",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 752.047521086898,
+      "y": 703.3978173081022,
+      "strokeColor": "#1971c2",
+      "backgroundColor": "#e9ecef",
+      "width": 110.1037655577154,
+      "height": 63.595827371395785,
+      "seed": 1943080675,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 2
+      },
+      "boundElements": [],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false,
+      "startBinding": {
+        "elementId": "60a_ZnVoAR9I9hq-L1S5e",
+        "gap": 1,
+        "focus": 0.41434549826150846
+      },
+      "endBinding": {
+        "elementId": "T0qYMEn8tX2y5A5_LmKYv",
+        "gap": 1,
+        "focus": 0.3396895761863471
+      },
+      "lastCommittedPoint": null,
+      "startArrowhead": null,
+      "endArrowhead": "triangle",
+      "points": [
+        [
+          0,
+          0
+        ],
+        [
+          110.1037655577154,
+          -63.595827371395785
+        ]
+      ]
+    },
+    {
+      "type": "arrow",
+      "version": 466,
+      "versionNonce": 402952941,
+      "isDeleted": false,
+      "id": "ocFvv_o0FHck5-LkdmpoP",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 588.1696131541154,
+      "y": 262.1415410679738,
+      "strokeColor": "#1971c2",
+      "backgroundColor": "#e9ecef",
+      "width": 56.915078926755314,
+      "height": 47.91310914846082,
+      "seed": 322819715,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 2
+      },
+      "boundElements": [],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false,
+      "startBinding": {
+        "elementId": "pnIpYB8CRKVL_bFLq15bE",
+        "focus": -0.7856535731049237,
+        "gap": 11.211760511352708
+      },
+      "endBinding": {
+        "elementId": "bqysSUQu7by-spMXSEGTf",
+        "focus": -0.52122890380749,
+        "gap": 9.604029925317832
+      },
+      "lastCommittedPoint": null,
+      "startArrowhead": null,
+      "endArrowhead": "triangle",
+      "points": [
+        [
+          0,
+          0
+        ],
+        [
+          56.915078926755314,
+          47.91310914846082
+        ]
+      ]
+    },
+    {
+      "type": "arrow",
+      "version": 647,
+      "versionNonce": 1182015075,
+      "isDeleted": false,
+      "id": "NkR9G3ayBBE7qscM1LBG_",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 589.3155321022278,
+      "y": 262.36800697913617,
+      "strokeColor": "#1971c2",
+      "backgroundColor": "#e9ecef",
+      "width": 64.6232599195879,
+      "height": 1.808930109050209,
+      "seed": 1283825837,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 2
+      },
+      "boundElements": [],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false,
+      "startBinding": {
+        "elementId": "pnIpYB8CRKVL_bFLq15bE",
+        "focus": -0.11636896773280105,
+        "gap": 12.357679459465288
+      },
+      "endBinding": {
+        "elementId": "T_Zg-0ndlISQOW9KZG8WW",
+        "focus": 0.626620120342998,
+        "gap": 9.669183919892703
+      },
+      "lastCommittedPoint": null,
+      "startArrowhead": null,
+      "endArrowhead": "triangle",
+      "points": [
+        [
+          0,
+          0
+        ],
+        [
+          64.6232599195879,
+          -1.808930109050209
+        ]
+      ]
+    },
+    {
+      "type": "arrow",
+      "version": 1001,
+      "versionNonce": 556641613,
+      "isDeleted": false,
+      "id": "_AGxPFY7t0-INp88Dk3dh",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 766.3506116593612,
+      "y": 330.1182406904373,
+      "strokeColor": "#1971c2",
+      "backgroundColor": "#e9ecef",
+      "width": 95.2092607769556,
+      "height": 29.81373081757414,
+      "seed": 775071075,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 2
+      },
+      "boundElements": [],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false,
+      "startBinding": {
+        "elementId": "bqysSUQu7by-spMXSEGTf",
+        "focus": 0.5946527857346496,
+        "gap": 10.6663407684282
+      },
+      "endBinding": {
+        "elementId": "oKTm7EBUGnO-pCSYNfXKy",
+        "focus": 0.46820912469518056,
+        "gap": 12.94923225822913
+      },
+      "lastCommittedPoint": null,
+      "startArrowhead": null,
+      "endArrowhead": "triangle",
+      "points": [
+        [
+          0,
+          0
+        ],
+        [
+          95.2092607769556,
+          -29.81373081757414
+        ]
+      ]
+    },
+    {
+      "type": "arrow",
+      "version": 677,
+      "versionNonce": 331897347,
+      "isDeleted": false,
+      "id": "86ZRInmy8Exc01hKttVkh",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 586.0213371450222,
+      "y": 341.9373008625726,
+      "strokeColor": "#e03131",
+      "backgroundColor": "#e9ecef",
+      "width": 58.02247027509884,
+      "height": 8.64967982502992,
+      "seed": 1182440707,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 2
+      },
+      "boundElements": [],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false,
+      "startBinding": {
+        "elementId": "b8qpxx68U0BdHB6ES9ZSo",
+        "focus": 0.3324284086067226,
+        "gap": 8.506476220392841
+      },
+      "endBinding": {
+        "elementId": "bqysSUQu7by-spMXSEGTf",
+        "focus": 0.17956967763584675,
+        "gap": 10.640463470811937
+      },
+      "lastCommittedPoint": null,
+      "startArrowhead": null,
+      "endArrowhead": "triangle",
+      "points": [
+        [
+          0,
+          0
+        ],
+        [
+          58.02247027509884,
+          -8.64967982502992
+        ]
+      ]
+    },
+    {
+      "type": "arrow",
+      "version": 1003,
+      "versionNonce": 788822957,
+      "isDeleted": false,
+      "id": "mYG3JWgRJ3aeVoo9cU7Su",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 591.4386925798063,
+      "y": 724.1213955720524,
+      "strokeColor": "#e03131",
+      "backgroundColor": "#e9ecef",
+      "width": 50.03296504886805,
+      "height": 7.029842065477965,
+      "seed": 345240269,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 2
+      },
+      "boundElements": [],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false,
+      "startBinding": {
+        "elementId": "qMNhoK5LmHFsPfaVjJYTw",
+        "focus": 0.45317055877400786,
+        "gap": 9.247556580157266
+      },
+      "endBinding": {
+        "elementId": "60a_ZnVoAR9I9hq-L1S5e",
+        "focus": 0.18041462108277553,
+        "gap": 8.57586345822358
+      },
+      "lastCommittedPoint": null,
+      "startArrowhead": null,
+      "endArrowhead": "triangle",
+      "points": [
+        [
+          0,
+          0
+        ],
+        [
+          50.03296504886805,
+          -7.029842065477965
+        ]
+      ]
+    },
+    {
+      "type": "rectangle",
+      "version": 1322,
+      "versionNonce": 240394659,
+      "isDeleted": false,
+      "id": "vRTJfrvByOgDoPtx92CsB",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 1033.7812185445728,
+      "y": 284.02238857454597,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#e9ecef",
+      "width": 101,
+      "height": 37,
+      "seed": 90568131,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 3
+      },
+      "boundElements": [
+        {
+          "type": "text",
+          "id": "mLCUBYqWRbmilueZKWYi8"
+        },
+        {
+          "id": "IkuKi2jI6QdNABjagPw3O",
+          "type": "arrow"
+        },
+        {
+          "id": "PxCmi8GL9iqhLqkt22S1u",
+          "type": "arrow"
+        },
+        {
+          "id": "6HOHNUtODPaoYX_IEDuZc",
+          "type": "arrow"
+        }
+      ],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false
+    },
+    {
+      "type": "text",
+      "version": 1299,
+      "versionNonce": 1236434445,
+      "isDeleted": false,
+      "id": "mLCUBYqWRbmilueZKWYi8",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 1042.0712576070728,
+      "y": 290.02238857454597,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#d0bfff",
+      "width": 84.419921875,
+      "height": 25,
+      "seed": 2034779491,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": null,
+      "boundElements": [],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false,
+      "fontSize": 20,
+      "fontFamily": 1,
+      "text": "Wormhole",
+      "textAlign": "center",
+      "verticalAlign": "middle",
+      "containerId": "vRTJfrvByOgDoPtx92CsB",
+      "originalText": "Wormhole",
+      "lineHeight": 1.25,
+      "baseline": 18
+    },
+    {
+      "type": "rectangle",
+      "version": 2028,
+      "versionNonce": 1061549379,
+      "isDeleted": false,
+      "id": "V5ibjAxuSqBcLR_y6Y-_G",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 1041.95677390888,
+      "y": 596.5245192263054,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#e9ecef",
+      "width": 101,
+      "height": 37,
+      "seed": 1545063789,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 3
+      },
+      "boundElements": [
+        {
+          "type": "text",
+          "id": "Q0IlmZO1YJN9VVgOA8X7-"
+        },
+        {
+          "id": "PjEn6VFVRnJyGo45ny--4",
+          "type": "arrow"
+        },
+        {
+          "id": "gH7AVS7jvO1GbHgnH0gIT",
+          "type": "arrow"
+        }
+      ],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false
+    },
+    {
+      "type": "text",
+      "version": 2004,
+      "versionNonce": 942748781,
+      "isDeleted": false,
+      "id": "Q0IlmZO1YJN9VVgOA8X7-",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 1050.24681297138,
+      "y": 602.5245192263054,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#d0bfff",
+      "width": 84.419921875,
+      "height": 25,
+      "seed": 603297741,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": null,
+      "boundElements": [],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false,
+      "fontSize": 20,
+      "fontFamily": 1,
+      "text": "Wormhole",
+      "textAlign": "center",
+      "verticalAlign": "middle",
+      "containerId": "V5ibjAxuSqBcLR_y6Y-_G",
+      "originalText": "Wormhole",
+      "lineHeight": 1.25,
+      "baseline": 18
+    },
+    {
+      "type": "arrow",
+      "version": 722,
+      "versionNonce": 100422883,
+      "isDeleted": false,
+      "id": "Pq6-A35IezkK-feTLxWec",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 590.0512494201485,
+      "y": 443.3352907682103,
+      "strokeColor": "#1971c2",
+      "backgroundColor": "#e9ecef",
+      "width": 57.22475430679174,
+      "height": 8.072844023149798,
+      "seed": 1497365197,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 2
+      },
+      "boundElements": [],
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false,
+      "startBinding": {
+        "elementId": "Gu8qtj7kztLHHvN6qqJ2H",
+        "focus": -0.4931424452408173,
+        "gap": 8.894021524536385
+      },
+      "endBinding": {
+        "elementId": "anrxE0rdrrpO02hCrmxiS",
+        "focus": -0.3212475003870769,
+        "gap": 12.130850073126794
+      },
+      "lastCommittedPoint": null,
+      "startArrowhead": null,
+      "endArrowhead": "triangle",
+      "points": [
+        [
+          0,
+          0
+        ],
+        [
+          57.22475430679174,
+          8.072844023149798
+        ]
+      ]
+    },
+    {
+      "id": "IkuKi2jI6QdNABjagPw3O",
+      "type": "arrow",
+      "x": 969.644214686417,
+      "y": 300.06754228469117,
+      "width": 59.20564725539634,
+      "height": 0.4869106988707017,
+      "angle": 0,
+      "strokeColor": "#2f9e44",
+      "backgroundColor": "#e9ecef",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 2
+      },
+      "seed": 1185510349,
+      "version": 712,
+      "versionNonce": 642391757,
+      "isDeleted": false,
+      "boundElements": null,
+      "updated": 1690534578592,
+      "link": null,
+      "locked": false,
+      "points": [
+        [
+          0,
+          0
+        ],
+        [
+          59.20564725539634,
+          0.4869106988707017
+        ]
+      ],
+      "lastCommittedPoint": null,
+      "startBinding": {
+        "elementId": "oKTm7EBUGnO-pCSYNfXKy",
+        "focus": 0.049788994342330334,
+        "gap": 8.135109991871062
+      },
+      "endBinding": {
+        "elementId": "vRTJfrvByOgDoPtx92CsB",
+        "focus": 0.07993865726941524,
+        "gap": 4.931356602759422
+      },
+      "startArrowhead": null,
+      "endArrowhead": "triangle"
+    },
+    {
+      "type": "line",
+      "version": 348,
+      "versionNonce": 177650989,
+      "isDeleted": false,
+      "id": "LdHCK3w1IYZhHzcdt-lsx",
+      "fillStyle": "hachure",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 1204.5470948455993,
+      "y": 207.76927940669424,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "transparent",
+      "width": 4.0078125,
+      "height": 518.0546875,
+      "seed": 1100060067,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 2
+      },
+      "boundElements": [],
+      "updated": 1690534578593,
+      "link": null,
+      "locked": false,
+      "startBinding": null,
+      "endBinding": null,
+      "lastCommittedPoint": null,
+      "startArrowhead": null,
+      "endArrowhead": null,
+      "points": [
+        [
+          0,
+          0
+        ],
+        [
+          4.0078125,
+          518.0546875
+        ]
+      ]
+    },
+    {
+      "type": "text",
+      "version": 255,
+      "versionNonce": 488683555,
+      "isDeleted": false,
+      "id": "KcJcrcOiZPwM4lQBf2UnU",
+      "fillStyle": "hachure",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 1276.4558668115226,
+      "y": 165.764693469809,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "transparent",
+      "width": 217.53982543945312,
+      "height": 25,
+      "seed": 724380035,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": null,
+      "boundElements": [],
+      "updated": 1690534578593,
+      "link": null,
+      "locked": false,
+      "fontSize": 20,
+      "fontFamily": 1,
+      "text": "Pyth on target chains",
+      "textAlign": "left",
+      "verticalAlign": "top",
+      "containerId": null,
+      "originalText": "Pyth on target chains",
+      "lineHeight": 1.25,
+      "baseline": 18
+    },
+    {
+      "type": "rectangle",
+      "version": 206,
+      "versionNonce": 1283493773,
+      "isDeleted": false,
+      "id": "UHHEKANClyX-35Tvp_uqK",
+      "fillStyle": "hachure",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 1232.2854444100178,
+      "y": 214.26455214952654,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "transparent",
+      "width": 328.57421875,
+      "height": 260.4453125,
+      "seed": 717259907,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 3
+      },
+      "boundElements": [],
+      "updated": 1690534578593,
+      "link": null,
+      "locked": false
+    },
+    {
+      "type": "text",
+      "version": 170,
+      "versionNonce": 624671683,
+      "isDeleted": false,
+      "id": "2FEPT3HwH2DuJZExQkTqU",
+      "fillStyle": "hachure",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 1245.3678759389945,
+      "y": 222.2820509299363,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "transparent",
+      "width": 59.16798400878906,
+      "height": 20,
+      "seed": 712040195,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": null,
+      "boundElements": [],
+      "updated": 1690534578593,
+      "link": null,
+      "locked": false,
+      "fontSize": 16,
+      "fontFamily": 1,
+      "text": "Mainnet",
+      "textAlign": "left",
+      "verticalAlign": "top",
+      "containerId": null,
+      "originalText": "Mainnet",
+      "lineHeight": 1.25,
+      "baseline": 14
+    },
+    {
+      "type": "rectangle",
+      "version": 1074,
+      "versionNonce": 708908525,
+      "isDeleted": false,
+      "id": "_o0LKcpCbdCPhiEeZY6pZ",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 1268.845320613201,
+      "y": 313.41023864358,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#a5d8ff",
+      "width": 147,
+      "height": 99,
+      "seed": 697698275,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 3
+      },
+      "boundElements": [
+        {
+          "type": "text",
+          "id": "qPMEFB3z_cq-vHyi20TDI"
+        },
+        {
+          "id": "PxCmi8GL9iqhLqkt22S1u",
+          "type": "arrow"
+        },
+        {
+          "id": "6HOHNUtODPaoYX_IEDuZc",
+          "type": "arrow"
+        },
+        {
+          "id": "HGd5by7Tx8w-QEkKZA5tq",
+          "type": "arrow"
+        }
+      ],
+      "updated": 1690534578593,
+      "link": null,
+      "locked": false
+    },
+    {
+      "type": "text",
+      "version": 1039,
+      "versionNonce": 1718963043,
+      "isDeleted": false,
+      "id": "qPMEFB3z_cq-vHyi20TDI",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 1298.4053563187674,
+      "y": 337.91023864358,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#d0bfff",
+      "width": 87.87992858886719,
+      "height": 50,
+      "seed": 1576080259,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": null,
+      "boundElements": [],
+      "updated": 1690534578593,
+      "link": null,
+      "locked": false,
+      "fontSize": 20,
+      "fontFamily": 1,
+      "text": "Pyth \nContract",
+      "textAlign": "center",
+      "verticalAlign": "middle",
+      "containerId": "_o0LKcpCbdCPhiEeZY6pZ",
+      "originalText": "Pyth Contract",
+      "lineHeight": 1.25,
+      "baseline": 43
+    },
+    {
+      "id": "PxCmi8GL9iqhLqkt22S1u",
+      "type": "arrow",
+      "x": 1146.3955997451842,
+      "y": 305.304414627932,
+      "width": 110.10960308652466,
+      "height": 20.75152848905691,
+      "angle": 0,
+      "strokeColor": "#2f9e44",
+      "backgroundColor": "#a5d8ff",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 2
+      },
+      "seed": 1407144803,
+      "version": 550,
+      "versionNonce": 1591857229,
+      "isDeleted": false,
+      "boundElements": null,
+      "updated": 1690534578593,
+      "link": null,
+      "locked": false,
+      "points": [
+        [
+          0,
+          0
+        ],
+        [
+          110.10960308652466,
+          20.75152848905691
+        ]
+      ],
+      "lastCommittedPoint": null,
+      "startBinding": {
+        "elementId": "vRTJfrvByOgDoPtx92CsB",
+        "focus": -0.31820548092807033,
+        "gap": 11.614381200611433
+      },
+      "endBinding": {
+        "elementId": "_o0LKcpCbdCPhiEeZY6pZ",
+        "focus": 0.32637733528708046,
+        "gap": 12.340117781492154
+      },
+      "startArrowhead": null,
+      "endArrowhead": "triangle"
+    },
+    {
+      "type": "arrow",
+      "version": 914,
+      "versionNonce": 1427891971,
+      "isDeleted": false,
+      "id": "6HOHNUtODPaoYX_IEDuZc",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 765.5019701617438,
+      "y": 333.97878125365145,
+      "strokeColor": "#e03131",
+      "backgroundColor": "#e9ecef",
+      "width": 489.08668668275016,
+      "height": 44.789023564822855,
+      "seed": 776607811,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 2
+      },
+      "boundElements": [],
+      "updated": 1690534578593,
+      "link": null,
+      "locked": false,
+      "startBinding": {
+        "elementId": "bqysSUQu7by-spMXSEGTf",
+        "focus": -0.016949020025178056,
+        "gap": 9.81769927081075
+      },
+      "endBinding": {
+        "elementId": "_o0LKcpCbdCPhiEeZY6pZ",
+        "focus": -0.4249273314836613,
+        "gap": 14.256663768707085
+      },
+      "lastCommittedPoint": null,
+      "startArrowhead": null,
+      "endArrowhead": "triangle",
+      "points": [
+        [
+          0,
+          0
+        ],
+        [
+          489.08668668275016,
+          44.789023564822855
+        ]
+      ]
+    },
+    {
+      "id": "PjEn6VFVRnJyGo45ny--4",
+      "type": "arrow",
+      "x": 1001.6866164996018,
+      "y": 619.190828532282,
+      "width": 31.284518985056593,
+      "height": 0.8721143487709924,
+      "angle": 0,
+      "strokeColor": "#2f9e44",
+      "backgroundColor": "#a5d8ff",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 2
+      },
+      "seed": 420177805,
+      "version": 100,
+      "versionNonce": 138165933,
+      "isDeleted": false,
+      "boundElements": null,
+      "updated": 1690534578593,
+      "link": null,
+      "locked": false,
+      "points": [
+        [
+          0,
+          0
+        ],
+        [
+          31.284518985056593,
+          -0.8721143487709924
+        ]
+      ],
+      "lastCommittedPoint": null,
+      "startBinding": {
+        "elementId": "T0qYMEn8tX2y5A5_LmKYv",
+        "focus": -0.06948165944772113,
+        "gap": 9.535329854988504
+      },
+      "endBinding": {
+        "elementId": "V5ibjAxuSqBcLR_y6Y-_G",
+        "focus": -0.08217499053355433,
+        "gap": 8.985638424221634
+      },
+      "startArrowhead": null,
+      "endArrowhead": "triangle"
+    },
+    {
+      "type": "rectangle",
+      "version": 372,
+      "versionNonce": 1471024803,
+      "isDeleted": false,
+      "id": "o0_O-7Hgv2E1AUzWENE8D",
+      "fillStyle": "hachure",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 1236.4682866894307,
+      "y": 493.8949983663337,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "transparent",
+      "width": 328.57421875,
+      "height": 230.04117435043258,
+      "seed": 178119725,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 3
+      },
+      "boundElements": [],
+      "updated": 1690534578593,
+      "link": null,
+      "locked": false
+    },
+    {
+      "type": "text",
+      "version": 309,
+      "versionNonce": 1291444493,
+      "isDeleted": false,
+      "id": "JlsbFckvaBcLB5Ab7JeQy",
+      "fillStyle": "hachure",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 1249.5507182184072,
+      "y": 501.66036930183816,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "transparent",
+      "width": 54.863983154296875,
+      "height": 20,
+      "seed": 789239437,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": null,
+      "boundElements": [],
+      "updated": 1690534578593,
+      "link": null,
+      "locked": false,
+      "fontSize": 16,
+      "fontFamily": 1,
+      "text": "Devnet",
+      "textAlign": "left",
+      "verticalAlign": "top",
+      "containerId": null,
+      "originalText": "Devnet",
+      "lineHeight": 1.25,
+      "baseline": 14
+    },
+    {
+      "type": "rectangle",
+      "version": 1341,
+      "versionNonce": 14303811,
+      "isDeleted": false,
+      "id": "774YQzEzajASpnCM5RsVo",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 1274.4449456651619,
+      "y": 567.9176671312264,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#a5d8ff",
+      "width": 147,
+      "height": 99,
+      "seed": 1485365731,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 3
+      },
+      "boundElements": [
+        {
+          "type": "text",
+          "id": "M7w0VKAiQtq-NvAQMFsGv"
+        },
+        {
+          "id": "gH7AVS7jvO1GbHgnH0gIT",
+          "type": "arrow"
+        },
+        {
+          "id": "irLPeFIYZkBedQeDwzuq1",
+          "type": "arrow"
+        },
+        {
+          "id": "p4mVYEjpn8RWtHX2AVlYs",
+          "type": "arrow"
+        }
+      ],
+      "updated": 1690534578593,
+      "link": null,
+      "locked": false
+    },
+    {
+      "type": "text",
+      "version": 1304,
+      "versionNonce": 1117009773,
+      "isDeleted": false,
+      "id": "M7w0VKAiQtq-NvAQMFsGv",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 1304.0049813707283,
+      "y": 592.4176671312264,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#d0bfff",
+      "width": 87.87992858886719,
+      "height": 50,
+      "seed": 494448003,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": null,
+      "boundElements": [],
+      "updated": 1690534578593,
+      "link": null,
+      "locked": false,
+      "fontSize": 20,
+      "fontFamily": 1,
+      "text": "Pyth \nContract",
+      "textAlign": "center",
+      "verticalAlign": "middle",
+      "containerId": "774YQzEzajASpnCM5RsVo",
+      "originalText": "Pyth Contract",
+      "lineHeight": 1.25,
+      "baseline": 43
+    },
+    {
+      "id": "gH7AVS7jvO1GbHgnH0gIT",
+      "type": "arrow",
+      "x": 1154.476090512232,
+      "y": 619.7589022770669,
+      "width": 104.43879319783423,
+      "height": 3.5616688422926472,
+      "angle": 0,
+      "strokeColor": "#2f9e44",
+      "backgroundColor": "#a5d8ff",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 2
+      },
+      "seed": 331059299,
+      "version": 210,
+      "versionNonce": 159318499,
+      "isDeleted": false,
+      "boundElements": null,
+      "updated": 1690534578593,
+      "link": null,
+      "locked": false,
+      "points": [
+        [
+          0,
+          0
+        ],
+        [
+          104.43879319783423,
+          -3.5616688422926472
+        ]
+      ],
+      "lastCommittedPoint": null,
+      "startBinding": {
+        "elementId": "V5ibjAxuSqBcLR_y6Y-_G",
+        "focus": 0.3355926665323819,
+        "gap": 11.519316603352081
+      },
+      "endBinding": {
+        "elementId": "774YQzEzajASpnCM5RsVo",
+        "focus": 0.08184773651309225,
+        "gap": 15.530061955095562
+      },
+      "startArrowhead": null,
+      "endArrowhead": "triangle"
+    },
+    {
+      "id": "irLPeFIYZkBedQeDwzuq1",
+      "type": "arrow",
+      "x": 762.9116111393777,
+      "y": 718.5867822000565,
+      "width": 500.5209075621891,
+      "height": 61.46925670757878,
+      "angle": 0,
+      "strokeColor": "#e03131",
+      "backgroundColor": "#a5d8ff",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 2
+      },
+      "seed": 561214915,
+      "version": 381,
+      "versionNonce": 324321741,
+      "isDeleted": false,
+      "boundElements": null,
+      "updated": 1690534578593,
+      "link": null,
+      "locked": false,
+      "points": [
+        [
+          0,
+          0
+        ],
+        [
+          500.5209075621891,
+          -61.46925670757878
+        ]
+      ],
+      "lastCommittedPoint": null,
+      "startBinding": {
+        "elementId": "60a_ZnVoAR9I9hq-L1S5e",
+        "focus": 0.5198019678301986,
+        "gap": 11.864090052479696
+      },
+      "endBinding": {
+        "elementId": "774YQzEzajASpnCM5RsVo",
+        "focus": -0.5009833291408503,
+        "gap": 11.01242696359509
+      },
+      "startArrowhead": null,
+      "endArrowhead": "triangle"
+    },
+    {
+      "type": "rectangle",
+      "version": 1364,
+      "versionNonce": 178965891,
+      "isDeleted": false,
+      "id": "uW6NodD9zvtRshkKSeer-",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 1475.6470991429746,
+      "y": 329.39645936406555,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#b2f2bb",
+      "width": 71,
+      "height": 60,
+      "seed": 1310869453,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 3
+      },
+      "boundElements": [
+        {
+          "type": "text",
+          "id": "n6NS2y2D3k1y0RTUWb7ce"
+        },
+        {
+          "id": "HGd5by7Tx8w-QEkKZA5tq",
+          "type": "arrow"
+        }
+      ],
+      "updated": 1690534578593,
+      "link": null,
+      "locked": false
+    },
+    {
+      "type": "text",
+      "version": 1342,
+      "versionNonce": 1683292205,
+      "isDeleted": false,
+      "id": "n6NS2y2D3k1y0RTUWb7ce",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 1483.6071287450254,
+      "y": 346.89645936406555,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#d0bfff",
+      "width": 55.07994079589844,
+      "height": 25,
+      "seed": 931251757,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": null,
+      "boundElements": [],
+      "updated": 1690534578593,
+      "link": null,
+      "locked": false,
+      "fontSize": 20,
+      "fontFamily": 1,
+      "text": "dApps",
+      "textAlign": "center",
+      "verticalAlign": "middle",
+      "containerId": "uW6NodD9zvtRshkKSeer-",
+      "originalText": "dApps",
+      "lineHeight": 1.25,
+      "baseline": 18
+    },
+    {
+      "id": "HGd5by7Tx8w-QEkKZA5tq",
+      "type": "arrow",
+      "x": 1430.8867401522975,
+      "y": 362.3544727532865,
+      "width": 36.6205361616594,
+      "height": 1.9715570822925201,
+      "angle": 0,
+      "strokeColor": "#2f9e44",
+      "backgroundColor": "#b2f2bb",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 2
+      },
+      "seed": 1300041837,
+      "version": 79,
+      "versionNonce": 1472301251,
+      "isDeleted": false,
+      "boundElements": null,
+      "updated": 1690534578593,
+      "link": null,
+      "locked": false,
+      "points": [
+        [
+          0,
+          0
+        ],
+        [
+          36.6205361616594,
+          -1.9715570822925201
+        ]
+      ],
+      "lastCommittedPoint": null,
+      "startBinding": {
+        "elementId": "_o0LKcpCbdCPhiEeZY6pZ",
+        "focus": 0.07877501577108044,
+        "gap": 15.041419539096523
+      },
+      "endBinding": {
+        "elementId": "uW6NodD9zvtRshkKSeer-",
+        "focus": 0.04271228068147571,
+        "gap": 8.139822829017703
+      },
+      "startArrowhead": "triangle",
+      "endArrowhead": "triangle"
+    },
+    {
+      "type": "rectangle",
+      "version": 1434,
+      "versionNonce": 629840109,
+      "isDeleted": false,
+      "id": "KJ6d3k8_A03TJWBTTPlsO",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 1482.6561171321027,
+      "y": 589.7364166556836,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#b2f2bb",
+      "width": 71,
+      "height": 60,
+      "seed": 87463053,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 3
+      },
+      "boundElements": [
+        {
+          "type": "text",
+          "id": "tBw3IdPmGnjQfeNHvHOL6"
+        },
+        {
+          "id": "p4mVYEjpn8RWtHX2AVlYs",
+          "type": "arrow"
+        }
+      ],
+      "updated": 1690534578593,
+      "link": null,
+      "locked": false
+    },
+    {
+      "type": "text",
+      "version": 1412,
+      "versionNonce": 1085896803,
+      "isDeleted": false,
+      "id": "tBw3IdPmGnjQfeNHvHOL6",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 1490.6161467341535,
+      "y": 607.2364166556836,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#d0bfff",
+      "width": 55.07994079589844,
+      "height": 25,
+      "seed": 1206811373,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": null,
+      "boundElements": [],
+      "updated": 1690534578593,
+      "link": null,
+      "locked": false,
+      "fontSize": 20,
+      "fontFamily": 1,
+      "text": "dApps",
+      "textAlign": "center",
+      "verticalAlign": "middle",
+      "containerId": "KJ6d3k8_A03TJWBTTPlsO",
+      "originalText": "dApps",
+      "lineHeight": 1.25,
+      "baseline": 18
+    },
+    {
+      "type": "arrow",
+      "version": 254,
+      "versionNonce": 1543697229,
+      "isDeleted": false,
+      "id": "p4mVYEjpn8RWtHX2AVlYs",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 1437.8957581414256,
+      "y": 622.6944300449045,
+      "strokeColor": "#2f9e44",
+      "backgroundColor": "#b2f2bb",
+      "width": 37.732378625258434,
+      "height": 2.318749524457189,
+      "seed": 194680141,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 2
+      },
+      "boundElements": [],
+      "updated": 1690534578593,
+      "link": null,
+      "locked": false,
+      "startBinding": {
+        "elementId": "774YQzEzajASpnCM5RsVo",
+        "focus": -0.004645607166253529,
+        "gap": 16.450812476263764
+      },
+      "endBinding": {
+        "elementId": "KJ6d3k8_A03TJWBTTPlsO",
+        "focus": -0.24517808273031547,
+        "gap": 7.027980365418671
+      },
+      "lastCommittedPoint": null,
+      "startArrowhead": "triangle",
+      "endArrowhead": "triangle",
+      "points": [
+        [
+          0,
+          0
+        ],
+        [
+          37.732378625258434,
+          2.318749524457189
+        ]
+      ]
+    },
+    {
+      "type": "arrow",
+      "version": 821,
+      "versionNonce": 725680557,
+      "isDeleted": false,
+      "id": "k03FvG0MJ_vMddqeEQrcu",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 591.3394947391873,
+      "y": 524.103842529066,
+      "strokeColor": "#e03131",
+      "backgroundColor": "#e9ecef",
+      "width": 51.54981117474233,
+      "height": 2.2018201848280796,
+      "seed": 44997891,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 2
+      },
+      "boundElements": [],
+      "updated": 1690534578593,
+      "link": null,
+      "locked": false,
+      "startBinding": {
+        "elementId": "M_lDke2d6qsnRPyE6pma1",
+        "focus": 0.07745314214802325,
+        "gap": 9.625258561708534
+      },
+      "endBinding": {
+        "elementId": "0PKIGZ0V150Oj8S-0vLRY",
+        "focus": 0.31447401558235266,
+        "gap": 12.452150671101094
+      },
+      "lastCommittedPoint": null,
+      "startArrowhead": null,
+      "endArrowhead": "triangle",
+      "points": [
+        [
+          0,
+          0
+        ],
+        [
+          51.54981117474233,
+          -2.2018201848280796
+        ]
+      ]
+    },
+    {
+      "type": "arrow",
+      "version": 924,
+      "versionNonce": 1720384419,
+      "isDeleted": false,
+      "id": "pzskHty6w55r4Ka_2soqn",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 166.74062779982506,
+      "y": 296.2449893321624,
+      "strokeColor": "#2f9e44",
+      "backgroundColor": "#a5d8ff",
+      "width": 179.32773044682688,
+      "height": 1.3989187045587528,
+      "seed": 708515917,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 2
+      },
+      "boundElements": [],
+      "updated": 1690534578593,
+      "link": null,
+      "locked": false,
+      "startBinding": null,
+      "endBinding": null,
+      "lastCommittedPoint": null,
+      "startArrowhead": null,
+      "endArrowhead": "triangle",
+      "points": [
+        [
+          0,
+          0
+        ],
+        [
+          179.32773044682688,
+          1.3989187045587528
+        ]
+      ]
+    },
+    {
+      "id": "O8Ey6FpeDw5E7qi2vZIq8",
+      "type": "text",
+      "x": 173.22170293644746,
+      "y": 255.5508215386743,
+      "width": 170.92787170410156,
+      "height": 20,
+      "angle": 0,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#b2f2bb",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": null,
+      "seed": 1058432099,
+      "version": 272,
+      "versionNonce": 1483621389,
+      "isDeleted": false,
+      "boundElements": [],
+      "updated": 1690534578593,
+      "link": null,
+      "locked": false,
+      "text": "Flow of price updates",
+      "fontSize": 16,
+      "fontFamily": 1,
+      "textAlign": "left",
+      "verticalAlign": "top",
+      "baseline": 14,
+      "containerId": null,
+      "originalText": "Flow of price updates",
+      "lineHeight": 1.25
+    },
+    {
+      "type": "text",
+      "version": 496,
+      "versionNonce": 1199848045,
+      "isDeleted": false,
+      "id": "MPTAVIMP2nrh9xWa-baEh",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 150.4627443451646,
+      "y": 337.97626088927257,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#b2f2bb",
+      "width": 231.77587890625,
+      "height": 20,
+      "seed": 1854574179,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": null,
+      "boundElements": [
+        {
+          "id": "m8cLqk2iqRGQoVSoqByKt",
+          "type": "arrow"
+        }
+      ],
+      "updated": 1690534578593,
+      "link": null,
+      "locked": false,
+      "fontSize": 16,
+      "fontFamily": 1,
+      "text": "Flow of contract management",
+      "textAlign": "left",
+      "verticalAlign": "top",
+      "containerId": null,
+      "originalText": "Flow of contract management",
+      "lineHeight": 1.25,
+      "baseline": 14
+    },
+    {
+      "type": "arrow",
+      "version": 1054,
+      "versionNonce": 230993635,
+      "isDeleted": false,
+      "id": "VlSzO_oQ8bj3zDvYmnC9f",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 168.01859012192932,
+      "y": 380.0369921390354,
+      "strokeColor": "#e03131",
+      "backgroundColor": "#a5d8ff",
+      "width": 179.32773044682688,
+      "height": 2.025358778400289,
+      "seed": 1535922243,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 2
+      },
+      "boundElements": [],
+      "updated": 1690534578593,
+      "link": null,
+      "locked": false,
+      "startBinding": null,
+      "endBinding": null,
+      "lastCommittedPoint": null,
+      "startArrowhead": null,
+      "endArrowhead": "triangle",
+      "points": [
+        [
+          0,
+          0
+        ],
+        [
+          179.32773044682688,
+          -2.025358778400289
+        ]
+      ]
+    },
+    {
+      "type": "arrow",
+      "version": 1121,
+      "versionNonce": 558654669,
+      "isDeleted": false,
+      "id": "sAks5Iio029J3guu1CbfC",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 168.99838342162326,
+      "y": 477.0692470926447,
+      "strokeColor": "#1971c2",
+      "backgroundColor": "#a5d8ff",
+      "width": 179.32773044682688,
+      "height": 2.025358778400289,
+      "seed": 1103297411,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 2
+      },
+      "boundElements": [],
+      "updated": 1690534578593,
+      "link": null,
+      "locked": false,
+      "startBinding": null,
+      "endBinding": null,
+      "lastCommittedPoint": null,
+      "startArrowhead": null,
+      "endArrowhead": "triangle",
+      "points": [
+        [
+          0,
+          0
+        ],
+        [
+          179.32773044682688,
+          -2.025358778400289
+        ]
+      ]
+    },
+    {
+      "type": "text",
+      "version": 552,
+      "versionNonce": 867359363,
+      "isDeleted": false,
+      "id": "2lslox9spt4SkBay_f72J",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 143.1103245048929,
+      "y": 434.46795910402545,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#b2f2bb",
+      "width": 241.18385314941406,
+      "height": 20,
+      "seed": 1626330861,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": null,
+      "boundElements": [],
+      "updated": 1690534578593,
+      "link": null,
+      "locked": false,
+      "fontSize": 16,
+      "fontFamily": 1,
+      "text": "Flow of price feed management",
+      "textAlign": "left",
+      "verticalAlign": "top",
+      "containerId": null,
+      "originalText": "Flow of price feed management",
+      "lineHeight": 1.25,
+      "baseline": 14
+    },
+    {
+      "type": "rectangle",
+      "version": 510,
+      "versionNonce": 1826692077,
+      "isDeleted": false,
+      "id": "TRNzwI4f19WwGfWCQ3EcZ",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 657.6094613074882,
+      "y": 620.4194156456003,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#d0bfff",
+      "width": 87,
+      "height": 41,
+      "seed": 991504013,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 3
+      },
+      "boundElements": [
+        {
+          "type": "text",
+          "id": "GKvTllmirldKVCM0KXqHC"
+        },
+        {
+          "id": "DNfakhLu4hiwR4v-zUHND",
+          "type": "arrow"
+        }
+      ],
+      "updated": 1690534578593,
+      "link": null,
+      "locked": false
+    },
+    {
+      "type": "text",
+      "version": 442,
+      "versionNonce": 574661987,
+      "isDeleted": false,
+      "id": "GKvTllmirldKVCM0KXqHC",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 679.2194848060234,
+      "y": 628.4194156456003,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "#d0bfff",
+      "width": 43.77995300292969,
+      "height": 25,
+      "seed": 128896237,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": null,
+      "boundElements": [],
+      "updated": 1690534578593,
+      "link": null,
+      "locked": false,
+      "fontSize": 20,
+      "fontFamily": 1,
+      "text": "Pyth",
+      "textAlign": "center",
+      "verticalAlign": "middle",
+      "containerId": "TRNzwI4f19WwGfWCQ3EcZ",
+      "originalText": "Pyth",
+      "lineHeight": 1.25,
+      "baseline": 18
+    },
+    {
+      "type": "arrow",
+      "version": 653,
+      "versionNonce": 462493261,
+      "isDeleted": false,
+      "id": "DNfakhLu4hiwR4v-zUHND",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 592.858068318177,
+      "y": 639.4953412315613,
+      "strokeColor": "#1971c2",
+      "backgroundColor": "#e9ecef",
+      "width": 55.61764342927813,
+      "height": 0.07946500093453324,
+      "seed": 1611952035,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 2
+      },
+      "boundElements": [],
+      "updated": 1690534578593,
+      "link": null,
+      "locked": false,
+      "startBinding": {
+        "elementId": "ZI9zqFdXWP68UbH3ZFlIW",
+        "focus": -0.18761205258318892,
+        "gap": 11.223940600394599
+      },
+      "endBinding": {
+        "elementId": "TRNzwI4f19WwGfWCQ3EcZ",
+        "focus": 0.06173515993649193,
+        "gap": 9.133749560033152
+      },
+      "lastCommittedPoint": null,
+      "startArrowhead": null,
+      "endArrowhead": "triangle",
+      "points": [
+        [
+          0,
+          0
+        ],
+        [
+          55.61764342927813,
+          0.07946500093453324
+        ]
+      ]
+    },
+    {
+      "id": "fl6JiBJdpe5oaSkFT6i9a",
+      "type": "rectangle",
+      "x": 129.27402000340197,
+      "y": 196.08160402916502,
+      "width": 276.72713107177935,
+      "height": 298.0365093456327,
+      "angle": 0,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "transparent",
+      "fillStyle": "solid",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": {
+        "type": 3
+      },
+      "seed": 162862157,
+      "version": 141,
+      "versionNonce": 1215028291,
+      "isDeleted": false,
+      "boundElements": null,
+      "updated": 1690534578593,
+      "link": null,
+      "locked": false
+    },
+    {
+      "type": "text",
+      "version": 176,
+      "versionNonce": 1665441517,
+      "isDeleted": false,
+      "id": "JcE8nSoN_PSz2iZ5501hx",
+      "fillStyle": "hachure",
+      "strokeWidth": 1,
+      "strokeStyle": "solid",
+      "roughness": 1,
+      "opacity": 100,
+      "angle": 0,
+      "x": 146.10416058373096,
+      "y": 209.57608714763083,
+      "strokeColor": "#1e1e1e",
+      "backgroundColor": "transparent",
+      "width": 51.67997741699219,
+      "height": 20,
+      "seed": 1775572867,
+      "groupIds": [],
+      "frameId": null,
+      "roundness": null,
+      "boundElements": [],
+      "updated": 1690534581228,
+      "link": null,
+      "locked": false,
+      "fontSize": 16,
+      "fontFamily": 1,
+      "text": "Legend",
+      "textAlign": "left",
+      "verticalAlign": "top",
+      "containerId": null,
+      "originalText": "Legend",
+      "lineHeight": 1.25,
+      "baseline": 14
+    }
+  ],
+  "appState": {
+    "gridSize": null,
+    "viewBackgroundColor": "#ffffff"
+  },
+  "files": {}
+}

File diff suppressed because it is too large
+ 16 - 0
governance/xc_admin/overview.svg


+ 17 - 0
governance/xc_admin/packages/crank_executor/README.md

@@ -0,0 +1,17 @@
+# Crank Executor
+
+This package checks for ready-to-execute proposals on a specified multisig address and executes them with the provided keypair.
+
+Since some of the proposal instructions on multisig need other specific instructions which are not included in the proposal (like paying the wormhole fee or initializing an account),
+it is not always possible to execute the proposal directly from the multisig ui.
+This tool helps with crafting the correct execution transaction and runs them automatically.
+
+## How to run:
+
+For a single run you can execute:
+
+```bash
+CLUSTER=<devnet or mainnet-beta> VAULT=<vault-address> WALLET=<path-to-ops-wallet> ts-node index.ts
+```
+
+Otherwise you can configure a cron job to run this script periodically.

+ 67 - 0
target_chains/README.md

@@ -0,0 +1,67 @@
+# Target Chains
+
+This directory includes all implementations of pyth contracts in different chains.
+
+Each implementation includes:
+
+- Pyth contract in the target chain native contract development language (rust, move, solidity)
+- Utility scripts for managing the contract
+- Sdks required for other developers and dApps to integrate with pyth
+
+# How pyth cross-chain works
+
+Contracts deployed on other chains accept updates that are signed and published by wormhole.
+These updates are in one of the two categories:
+
+1. Price feed updates. For example, update the price of BTC/USD to the value of X.
+2. Governance updates. For example, set the pyth update fee to X or upgrade the contract to a new implementation.
+
+These messages are generated in pythnet (pyth mainnet network) and pythtest (pyth testnet network) and submitted to the wormhole program that is published on these chains.
+Then the wormhole network signs these messages and produces a VAA that can be relayed and consumed in contracts on other blockchains.
+
+A basic implementation of pyth on a target chain includes the following pieces of logic:
+
+1. How to get the price values for a specific price feed (e.g BTC/USD). This usually comes with some helper functions to avoid users consuming old and stale data.
+2. How to update the values of a price feed via wormhole vaas + bookkeeping on pyth fees
+3. How to parse and process the governance messages and update the contract state
+
+## What is stored on each contract
+
+In terms of contract configuration the following states exists on all the implementations:
+
+1. Price feeds: each contract stores the latest values for each price feed
+2. Wormhole address: wormhole contract to be used for verifying the VAAs
+3. Data sources: The VAAs can be published by address on any chain supported by wormhole, this configuration specifies which message sources to trust for updating the price feeds
+4. Governance data source: Same as above but for governance updates. Only one single source is accepted at any time.
+   The governance data source for the official pyth deployments are a multisig instance.
+5. Update fees: How much to charge for each transaction updating the price feeds
+6. Stale price time: How many seconds should be passed to consider a price feed stale
+
+## Wormhole deployments
+
+In the case that wormhole is not deployed on a new chain we want to deploy pyth on, we need to deploy wormhole too.
+The deployment process is chain dependant, but should be very similar to how pyth is deployed on the target chain.
+After the initial deployment, we need to make sure wormhole configuration is also on the latest version.
+This is done by running a set of fixed, known VAAs that update the wormhole configurations (guardians sets) on all chains.
+
+# Upgrade process:
+
+A general upgrade process has the following steps, these steps can vary slightly based on the target chain nature:
+
+1. Implement the changes in the target contract, test, and audit
+2. Create a github release on the commit where all the required changes are reflected
+3. Upload the new contracts on the target chain
+4. Create a governance proposal for upgrading the contract to the specified new implementation
+5. Wait for approval
+6. When the proposal is approved and executed, a governance message will be sent to wormhole which will result in a VAA
+7. By submitting the VAA to the contract, the implementation will be updated
+
+# Deploying on a new chain:
+
+Deploying a contract on a new chain consists of the following steps:
+
+1. Add the chain configuration via the [contract manager](../contract_manager) (this includes chainId, rpc information, etc.)
+2. [Optional] Deploy the wormhole contract, if not already deployed.
+3. Deploy and instantiate the contract on the target chain
+4. Make sure the configurations are up-to-date.
+5. Save the contract and chain information via contract manager and commit them inside this repository

+ 16 - 0
target_chains/cosmwasm/README.md

@@ -2,6 +2,18 @@
 
 This directory contains the Pyth contract for CosmWasm and utilities to deploy it on CosmWasm chains.
 
+## Deployment types
+
+We have two kinds of deployment possible on each chain. Stable and Beta.
+On mainnets we only deploy the stable version. On testnets we deploy both.
+The purpose of deploying the stable version on testnets is allowing dApps to test their protocol using real accurate price feeds.
+
+- Stable deployments are controlled by the upgrade multisig deployed on mainnet and accept price feeds that originate from pythnet.
+- Beta deployments are controlled by the upgrade multisig deployed on devnet and accept price feeds that originate from pythtest-crosschain.
+
+This also means we need to somehow distinguish between stable deployments on testnet and mainnets, otherwise a single governance message can affect both of them and have undesired side effects.
+We do this on cosmwasm by assigning unique chain ids to the testnet and mainnet.
+
 ## Deployment
 
 Deploying the CosmWasm contract has three steps:
@@ -47,6 +59,10 @@ Broadcasted transaction hash: "BBD2E5DF5046B24287E63C53852D251D4F7DDD7755E663C9E
 Deployed Code ID:  11
 ```
 
+#### Permissoned networks:
+
+We currently have two permissioned networks: injective and osmosis. Uploading the code on their mainnet is not possible without an authority or a governance proposal.
+
 ### Instantiating new contract
 
 Pyth contract needs the Wormhole core contract deployed on the same chain. Some chains won't have it deployed.

Some files were not shown because too many files changed in this diff