From 6fc6484aff61e8c15ff6f87487ba04fc111cc15c Mon Sep 17 00:00:00 2001 From: yruej301 Date: Thu, 30 Jan 2025 13:42:25 -0500 Subject: [PATCH] add abstract support --- pyproject.toml | 2 +- vertex_protocol/client/__init__.py | 25 ++++++++++++++++++- .../deployment.abstractMainnet.json | 15 +++++++++++ .../deployment.abstractTestnet.json | 15 +++++++++++ vertex_protocol/contracts/types.py | 7 ++++++ vertex_protocol/utils/backend.py | 11 ++++++++ 6 files changed, 73 insertions(+), 2 deletions(-) create mode 100644 vertex_protocol/contracts/deployments/deployment.abstractMainnet.json create mode 100644 vertex_protocol/contracts/deployments/deployment.abstractTestnet.json diff --git a/pyproject.toml b/pyproject.toml index ec998c9..36b9e85 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "vertex-protocol" -version = "3.1.1" +version = "3.1.2" description = "Vertex Protocol SDK" authors = ["Jeury Mejia "] homepage = "https://vertexprotocol.com/" diff --git a/vertex_protocol/client/__init__.py b/vertex_protocol/client/__init__.py index b5623c5..5ba844f 100644 --- a/vertex_protocol/client/__init__.py +++ b/vertex_protocol/client/__init__.py @@ -36,6 +36,8 @@ class VertexClientMode(StrEnum): SONIC_MAINNET: For operating in Vertex's mainnet environment deployed on Sonic Mainnet. + ABSTRACT_MAINNET: For operating in Vertex's mainnet environment deployed on Abstract Mainnet. + SEPOLIA_TESTNET: For operating in Vertex's testnet environment deployed on Arbitrum Sepolia. BLAST_TESTNET: For operating in Vertex's testnet environment deployed on Blast Testnet. @@ -46,25 +48,34 @@ class VertexClientMode(StrEnum): BASE_TESTNET: For operating in Vertex's testnet environment deployed on Base Testnet. - SONIC_TESTNET: For operating in Vertex's mainnet environment deployed on Sonic Testnet. + SONIC_TESTNET: For operating in Vertex's testnet environment deployed on Sonic Testnet. + + ABSTRACT_TESTNET: For operating in Vertex's testnet environment deployed on Abstract Testnet. DEVNET: For local development. TESTING: For running tests. """ + # mainnet MAINNET = "mainnet" BLAST_MAINNET = "blast-mainnet" MANTLE_MAINNET = "mantle-mainnet" SEI_MAINNET = "sei-mainnet" BASE_MAINNET = "base-mainnet" SONIC_MAINNET = "sonic-mainnet" + ABSTRACT_MAINNET = "abstract-mainnet" + + # testnet SEPOLIA_TESTNET = "sepolia-testnet" BLAST_TESTNET = "blast-testnet" MANTLE_TESTNET = "mantle-testnet" SEI_TESTNET = "sei-testnet" BASE_TESTNET = "base-testnet" SONIC_TESTNET = "sonic-testnet" + ABSTRACT_TESTNET = "abstract-testnet" + + # dev DEVNET = "devnet" TESTING = "testing" @@ -247,6 +258,12 @@ def client_mode_to_setup( VertexBackendURL.SONIC_MAINNET_TRIGGER.value, VertexNetwork.SONIC_MAINNET.value, ), + VertexClientMode.ABSTRACT_MAINNET: ( + VertexBackendURL.ABSTRACT_MAINNET_GATEWAY.value, + VertexBackendURL.ABSTRACT_MAINNET_INDEXER.value, + VertexBackendURL.ABSTRACT_MAINNET_TRIGGER.value, + VertexNetwork.ABSTRACT_MAINNET.value, + ), VertexClientMode.SEPOLIA_TESTNET: ( VertexBackendURL.SEPOLIA_TESTNET_GATEWAY.value, VertexBackendURL.SEPOLIA_TESTNET_INDEXER.value, @@ -283,6 +300,12 @@ def client_mode_to_setup( VertexBackendURL.SONIC_TESTNET_TRIGGER.value, VertexNetwork.SONIC_TESTNET.value, ), + VertexClientMode.ABSTRACT_TESTNET: ( + VertexBackendURL.ABSTRACT_TESTNET_GATEWAY.value, + VertexBackendURL.ABSTRACT_TESTNET_INDEXER.value, + VertexBackendURL.ABSTRACT_TESTNET_TRIGGER.value, + VertexNetwork.ABSTRACT_TESTNET.value, + ), VertexClientMode.DEVNET: ( VertexBackendURL.DEVNET_GATEWAY.value, VertexBackendURL.DEVNET_INDEXER.value, diff --git a/vertex_protocol/contracts/deployments/deployment.abstractMainnet.json b/vertex_protocol/contracts/deployments/deployment.abstractMainnet.json new file mode 100644 index 0000000..9e91cd4 --- /dev/null +++ b/vertex_protocol/contracts/deployments/deployment.abstractMainnet.json @@ -0,0 +1,15 @@ +{ + "publicNodeUrl": "https://api.mainnet.abs.xyz", + "explorerUrl": "https://abscan.org", + "startBlock": 410000, + "deployer": "0x184d0842a2C19fB003D0d12C7dFcCc52dBD608F5", + "quote": "0x84A71ccD554Cc1b02749b35d22F684CC8ec987e1", + "querier": "0xC155f48b8212a7Dd16B336f1891c8E26D5DFE093", + "clearinghouse": "0x1385bF2f06165cA0621aF047cF8666c256e1B1C2", + "endpoint": "0x6B104c78D384D1C25CcEe2CA0698541e22eC60b2", + "spotEngine": "0xA65B7Ae7A3a17B93dc382fA1487b4bc3BCEB6e3D", + "perpEngine": "0x6950DD3d2da0cdc217ad56714c6BA0011171bcC4", + "vrtxAirdrop": "0x0000000000000000000000000000000000000000", + "vrtxStaking": "0x0000000000000000000000000000000000000000", + "foundationRewardsAirdrop": "0x0000000000000000000000000000000000000000" +} diff --git a/vertex_protocol/contracts/deployments/deployment.abstractTestnet.json b/vertex_protocol/contracts/deployments/deployment.abstractTestnet.json new file mode 100644 index 0000000..81f6b31 --- /dev/null +++ b/vertex_protocol/contracts/deployments/deployment.abstractTestnet.json @@ -0,0 +1,15 @@ +{ + "publicNodeUrl": "https://api.testnet.abs.xyz", + "explorerUrl": "https://explorer.testnet.abs.xyz", + "startBlock": 3899928, + "deployer": "0x3c06e307BA6Ab81E8Ff6661c1559ce8027744AE5", + "quote": "0xbf9ac1Bff961F513fc26ba2734cB0aB371FD27e7", + "querier": "0xfE8942db6a40dF41e5EFec71Db248199D1452d60", + "clearinghouse": "0x96d143992dfEAd13502a68BfE714c7712bA659bA", + "endpoint": "0x597c7D7b33a8b0A73e929BA97814d8b35910D98E", + "spotEngine": "0x9b1232D7AdC1879c69892A0454c6Fee9DfdC1805", + "perpEngine": "0x90520E2159078C2BcF1dD653568951E0ea0767CB", + "vrtxAirdrop": "0x0000000000000000000000000000000000000000", + "vrtxStaking": "0x0000000000000000000000000000000000000000", + "foundationRewardsAirdrop": "0x0000000000000000000000000000000000000000" +} diff --git a/vertex_protocol/contracts/types.py b/vertex_protocol/contracts/types.py index a87cdab..055a000 100644 --- a/vertex_protocol/contracts/types.py +++ b/vertex_protocol/contracts/types.py @@ -10,18 +10,25 @@ class VertexNetwork(StrEnum): Enumeration representing various network environments for the Vertex protocol. """ + # mainnet ARBITRUM_ONE = "arbitrumOne" BLAST_MAINNET = "blastMainnet" MANTLE_MAINNET = "mantleMainnet" SEI_MAINNET = "seiMainnet" BASE_MAINNET = "baseMainnet" SONIC_MAINNET = "sonicMainnet" + ABSTRACT_MAINNET = "abstractMainnet" + + # testnet ARBITRUM_SEPOLIA = "arbitrumSepolia" BLAST_TESTNET = "blastTestnet" MANTLE_TESTNET = "mantleTestnet" SEI_TESTNET = "seiTestnet" BASE_TESTNET = "baseTestnet" SONIC_TESTNET = "sonicTestnet" + ABSTRACT_TESTNET = "abstractTestnet" + + # dev HARDHAT = "localhost" TESTING = "test" diff --git a/vertex_protocol/utils/backend.py b/vertex_protocol/utils/backend.py index 438bc8f..fcb66a5 100644 --- a/vertex_protocol/utils/backend.py +++ b/vertex_protocol/utils/backend.py @@ -8,6 +8,7 @@ class VertexBackendURL(StrEnum): """Enum representing different Vertex backend URLs.""" + # mainnet MAINNET_GATEWAY = "https://gateway.prod.vertexprotocol.com/v1" MAINNET_INDEXER = "https://archive.prod.vertexprotocol.com/v1" MAINNET_TRIGGER = "https://trigger.prod.vertexprotocol.com/v1" @@ -32,6 +33,11 @@ class VertexBackendURL(StrEnum): SONIC_MAINNET_INDEXER = "https://archive.sonic-prod.vertexprotocol.com/v1" SONIC_MAINNET_TRIGGER = "https://trigger.sonic-prod.vertexprotocol.com/v1" + ABSTRACT_MAINNET_GATEWAY = "https://gateway.abstract-prod.vertexprotocol.com/v1" + ABSTRACT_MAINNET_INDEXER = "https://archive.abstract-prod.vertexprotocol.com/v1" + ABSTRACT_MAINNET_TRIGGER = "https://trigger.abstract-prod.vertexprotocol.com/v1" + + # testnet SEPOLIA_TESTNET_GATEWAY = "https://gateway.sepolia-test.vertexprotocol.com/v1" SEPOLIA_TESTNET_INDEXER = "https://archive.sepolia-test.vertexprotocol.com/v1" SEPOLIA_TESTNET_TRIGGER = "https://trigger.sepolia-test.vertexprotocol.com/v1" @@ -56,6 +62,11 @@ class VertexBackendURL(StrEnum): SONIC_TESTNET_INDEXER = "https://archive.sonic-test.vertexprotocol.com/v1" SONIC_TESTNET_TRIGGER = "https://trigger.sonic-test.vertexprotocol.com/v1" + ABSTRACT_TESTNET_GATEWAY = "https://gateway.abstract-test.vertexprotocol.com/v1" + ABSTRACT_TESTNET_INDEXER = "https://archive.abstract-test.vertexprotocol.com/v1" + ABSTRACT_TESTNET_TRIGGER = "https://trigger.abstract-test.vertexprotocol.com/v1" + + # dev DEVNET_GATEWAY = "http://localhost:80" DEVNET_INDEXER = "http://localhost:8000" DEVNET_TRIGGER = "http://localhost:8080"