kopia lustrzana https://github.com/bugout-dev/moonstream
Amoy for moonstreamapi
rodzic
50d7c826be
commit
3d81cb79fc
|
@ -18,6 +18,7 @@ export HUMBUG_TXPOOL_CLIENT_ID="<Bugout_Humbug_client_id_for_txpool_transactions
|
||||||
export MOONSTREAM_ETHEREUM_WEB3_PROVIDER_URI="https://<connection_path_uri_to_node>"
|
export MOONSTREAM_ETHEREUM_WEB3_PROVIDER_URI="https://<connection_path_uri_to_node>"
|
||||||
export MOONSTREAM_POLYGON_WEB3_PROVIDER_URI="https://<connection_path_uri_to_node>"
|
export MOONSTREAM_POLYGON_WEB3_PROVIDER_URI="https://<connection_path_uri_to_node>"
|
||||||
export MOONSTREAM_MUMBAI_WEB3_PROVIDER_URI="https://<connection_path_uri_to_node>"
|
export MOONSTREAM_MUMBAI_WEB3_PROVIDER_URI="https://<connection_path_uri_to_node>"
|
||||||
|
export MOONSTREAM_AMOY_WEB3_PROVIDER_URI="https://<connection_path_uri_to_node>"
|
||||||
export MOONSTREAM_XDAI_WEB3_PROVIDER_URI="https://<connection_path_uri_to_node>"
|
export MOONSTREAM_XDAI_WEB3_PROVIDER_URI="https://<connection_path_uri_to_node>"
|
||||||
export MOONSTREAM_WYRM_WEB3_PROVIDER_URI="https://<connection_path_uri_to_node>"
|
export MOONSTREAM_WYRM_WEB3_PROVIDER_URI="https://<connection_path_uri_to_node>"
|
||||||
export MOONSTREAM_ZKSYNC_ERA_TESTNET_WEB3_PROVIDER_URI="https://<connection_path_uri_to_node>"
|
export MOONSTREAM_ZKSYNC_ERA_TESTNET_WEB3_PROVIDER_URI="https://<connection_path_uri_to_node>"
|
||||||
|
|
|
@ -25,6 +25,7 @@ from ens.utils import is_valid_ens_name # type: ignore
|
||||||
from eth_utils.address import is_address # type: ignore
|
from eth_utils.address import is_address # type: ignore
|
||||||
from moonstreamdb.blockchain import AvailableBlockchainType
|
from moonstreamdb.blockchain import AvailableBlockchainType
|
||||||
from moonstreamdb.models import EthereumLabel
|
from moonstreamdb.models import EthereumLabel
|
||||||
|
from moonstreamdb.subscriptions import blockchain_by_subscription_id
|
||||||
from slugify import slugify # type: ignore
|
from slugify import slugify # type: ignore
|
||||||
from sqlalchemy import text
|
from sqlalchemy import text
|
||||||
from sqlalchemy.orm import Session
|
from sqlalchemy.orm import Session
|
||||||
|
@ -52,42 +53,6 @@ from .web3_provider import FunctionSignature, connect, multicall
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
blockchain_by_subscription_id = {
|
|
||||||
"ethereum_blockchain": "ethereum",
|
|
||||||
"polygon_blockchain": "polygon",
|
|
||||||
"mumbai_blockchain": "mumbai",
|
|
||||||
"xdai_blockchain": "xdai",
|
|
||||||
"wyrm_blockchain": "wyrm",
|
|
||||||
"zksync_era_testnet_blockchain": "zksync_era_testnet",
|
|
||||||
"zksync_era_blockchain": "zksync_era",
|
|
||||||
"zksync_era_sepolia_blockchain": "zksync_era_sepolia",
|
|
||||||
"arbitrum_nova_blockchain": "arbitrum_nova",
|
|
||||||
"arbitrum_sepolia_blockchain": "arbitrum_sepolia",
|
|
||||||
"xai_blockchain": "xai",
|
|
||||||
"xai_sepolia_blockchain": "xai_sepolia",
|
|
||||||
"avalanche_blockchain": "avalanche",
|
|
||||||
"avalanche_fuji_blockchain": "avalanche_fuji",
|
|
||||||
"blast_blockchain": "blast",
|
|
||||||
"blast_sepolia_blockchain": "blast_sepolia",
|
|
||||||
"ethereum_smartcontract": "ethereum",
|
|
||||||
"polygon_smartcontract": "polygon",
|
|
||||||
"mumbai_smartcontract": "mumbai",
|
|
||||||
"xdai_smartcontract": "xdai",
|
|
||||||
"wyrm_smartcontract": "wyrm",
|
|
||||||
"zksync_era_testnet_smartcontract": "zksync_era_testnet",
|
|
||||||
"zksync_era_smartcontract": "zksync_era",
|
|
||||||
"zksync_era_sepolia_smartcontract": "zksync_era_sepolia",
|
|
||||||
"arbitrum_nova_smartcontract": "arbitrum_nova",
|
|
||||||
"arbitrum_sepolia_smartcontract": "arbitrum_sepolia",
|
|
||||||
"xai_smartcontract": "xai",
|
|
||||||
"xai_sepolia_smartcontract": "xai_sepolia",
|
|
||||||
"avalanche_smartcontract": "avalanche",
|
|
||||||
"avalanche_fuji_smartcontract": "avalanche_fuji",
|
|
||||||
"blast_smartcontract": "blast",
|
|
||||||
"blast_sepolia_smartcontract": "blast_sepolia",
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
class StatusAPIException(Exception):
|
class StatusAPIException(Exception):
|
||||||
"""
|
"""
|
||||||
Raised during checking Moonstream API statuses.
|
Raised during checking Moonstream API statuses.
|
||||||
|
|
|
@ -51,6 +51,17 @@ CANONICAL_SUBSCRIPTION_TYPES = {
|
||||||
stripe_price_id=None,
|
stripe_price_id=None,
|
||||||
active=True,
|
active=True,
|
||||||
),
|
),
|
||||||
|
"amoy_smartcontract": SubscriptionTypeResourceData(
|
||||||
|
id="amoy_smartcontract",
|
||||||
|
name="Amoy smartcontracts",
|
||||||
|
blockchain="amoy",
|
||||||
|
choices=["input:address", "tag:erc721"],
|
||||||
|
description="Contracts events and tx_calls of contract of Amoy blockchain",
|
||||||
|
icon_url="https://static.simiotics.com/moonstream/assets/matic-token-inverted-icon.png",
|
||||||
|
stripe_product_id=None,
|
||||||
|
stripe_price_id=None,
|
||||||
|
active=True,
|
||||||
|
),
|
||||||
"xdai_smartcontract": SubscriptionTypeResourceData(
|
"xdai_smartcontract": SubscriptionTypeResourceData(
|
||||||
id="xdai_smartcontract",
|
id="xdai_smartcontract",
|
||||||
name="XDai smartcontract",
|
name="XDai smartcontract",
|
||||||
|
@ -227,6 +238,17 @@ CANONICAL_SUBSCRIPTION_TYPES = {
|
||||||
stripe_price_id=None,
|
stripe_price_id=None,
|
||||||
active=False,
|
active=False,
|
||||||
),
|
),
|
||||||
|
"amoy_blockchain": SubscriptionTypeResourceData(
|
||||||
|
id="amoy_blockchain",
|
||||||
|
name="Amoy transactions",
|
||||||
|
blockchain="amoy",
|
||||||
|
choices=["input:address", "tag:erc721"],
|
||||||
|
description="Transactions that have been mined into the Amoy blockchain",
|
||||||
|
icon_url="https://static.simiotics.com/moonstream/assets/matic-token-inverted-icon.png",
|
||||||
|
stripe_product_id=None,
|
||||||
|
stripe_price_id=None,
|
||||||
|
active=False,
|
||||||
|
),
|
||||||
"xdai_blockchain": SubscriptionTypeResourceData(
|
"xdai_blockchain": SubscriptionTypeResourceData(
|
||||||
id="xdai_blockchain",
|
id="xdai_blockchain",
|
||||||
name="XDai transactions",
|
name="XDai transactions",
|
||||||
|
|
|
@ -50,6 +50,7 @@ event_providers: Dict[str, Any] = {
|
||||||
moonworm_provider.EthereumMoonwormProvider.event_type: moonworm_provider.EthereumMoonwormProvider,
|
moonworm_provider.EthereumMoonwormProvider.event_type: moonworm_provider.EthereumMoonwormProvider,
|
||||||
moonworm_provider.PolygonMoonwormProvider.event_type: moonworm_provider.PolygonMoonwormProvider,
|
moonworm_provider.PolygonMoonwormProvider.event_type: moonworm_provider.PolygonMoonwormProvider,
|
||||||
moonworm_provider.MumbaiMoonwormProvider.event_type: moonworm_provider.MumbaiMoonwormProvider,
|
moonworm_provider.MumbaiMoonwormProvider.event_type: moonworm_provider.MumbaiMoonwormProvider,
|
||||||
|
moonworm_provider.AmoyMoonwormProvider.event_type: moonworm_provider.AmoyMoonwormProvider,
|
||||||
moonworm_provider.XDaiMoonwormProvider.event_type: moonworm_provider.XDaiMoonwormProvider,
|
moonworm_provider.XDaiMoonwormProvider.event_type: moonworm_provider.XDaiMoonwormProvider,
|
||||||
moonworm_provider.ZkSyncEraTestnetMoonwormProvider.event_type: moonworm_provider.ZkSyncEraTestnetMoonwormProvider,
|
moonworm_provider.ZkSyncEraTestnetMoonwormProvider.event_type: moonworm_provider.ZkSyncEraTestnetMoonwormProvider,
|
||||||
moonworm_provider.ZkSyncEraMoonwormProvider.event_type: moonworm_provider.ZkSyncEraMoonwormProvider,
|
moonworm_provider.ZkSyncEraMoonwormProvider.event_type: moonworm_provider.ZkSyncEraMoonwormProvider,
|
||||||
|
@ -65,6 +66,7 @@ event_providers: Dict[str, Any] = {
|
||||||
transactions.EthereumTransactions.event_type: transactions.EthereumTransactions,
|
transactions.EthereumTransactions.event_type: transactions.EthereumTransactions,
|
||||||
transactions.PolygonTransactions.event_type: transactions.PolygonTransactions,
|
transactions.PolygonTransactions.event_type: transactions.PolygonTransactions,
|
||||||
transactions.MumbaiTransactions.event_type: transactions.MumbaiTransactions,
|
transactions.MumbaiTransactions.event_type: transactions.MumbaiTransactions,
|
||||||
|
transactions.AmoyTransactions.event_type: transactions.AmoyTransactions,
|
||||||
transactions.XDaiTransactions.event_type: transactions.XDaiTransactions,
|
transactions.XDaiTransactions.event_type: transactions.XDaiTransactions,
|
||||||
transactions.ZkSyncEraTestnetTransactions.event_type: transactions.ZkSyncEraTestnetTransactions,
|
transactions.ZkSyncEraTestnetTransactions.event_type: transactions.ZkSyncEraTestnetTransactions,
|
||||||
transactions.ZkSyncEraTransactions.event_type: transactions.ZkSyncEraTransactions,
|
transactions.ZkSyncEraTransactions.event_type: transactions.ZkSyncEraTransactions,
|
||||||
|
|
|
@ -20,6 +20,7 @@ logger.setLevel(logging.WARN)
|
||||||
ethereum_event_type = "ethereum_blockchain"
|
ethereum_event_type = "ethereum_blockchain"
|
||||||
polygon_event_type = "polygon_blockchain"
|
polygon_event_type = "polygon_blockchain"
|
||||||
mumbai_event_type = "mumbai_blockchain"
|
mumbai_event_type = "mumbai_blockchain"
|
||||||
|
amoy_event_type = "amoy_blockchain"
|
||||||
xdai_event_type = "xdai_blockchain"
|
xdai_event_type = "xdai_blockchain"
|
||||||
zksync_era_testnet_event_type = "zksync_era_testnet_blockchain"
|
zksync_era_testnet_event_type = "zksync_era_testnet_blockchain"
|
||||||
zksync_era_event_type = "zksync_era_blockchain"
|
zksync_era_event_type = "zksync_era_blockchain"
|
||||||
|
@ -419,6 +420,13 @@ MumbaiMoonwormProvider = MoonwormProvider(
|
||||||
streamboaundary_range_limit=2 * 60 * 60,
|
streamboaundary_range_limit=2 * 60 * 60,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
AmoyMoonwormProvider = MoonwormProvider(
|
||||||
|
event_type="amoy_smartcontract",
|
||||||
|
blockchain=AvailableBlockchainType("amoy"),
|
||||||
|
description="Provider for reviving transactions from Amoy tables.",
|
||||||
|
streamboaundary_range_limit=2 * 60 * 60,
|
||||||
|
)
|
||||||
|
|
||||||
XDaiMoonwormProvider = MoonwormProvider(
|
XDaiMoonwormProvider = MoonwormProvider(
|
||||||
event_type="xdai_smartcontract",
|
event_type="xdai_smartcontract",
|
||||||
blockchain=AvailableBlockchainType("xdai"),
|
blockchain=AvailableBlockchainType("xdai"),
|
||||||
|
|
|
@ -469,6 +469,13 @@ MumbaiTransactions = TransactionsProvider(
|
||||||
streamboaundary_range_limit=2 * 60 * 60,
|
streamboaundary_range_limit=2 * 60 * 60,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
AmoyTransactions = TransactionsProvider(
|
||||||
|
event_type="amoy_blockchain",
|
||||||
|
blockchain=AvailableBlockchainType("amoy"),
|
||||||
|
description="Provider for resiving transactions from Amoy tables.",
|
||||||
|
streamboaundary_range_limit=2 * 60 * 60,
|
||||||
|
)
|
||||||
|
|
||||||
XDaiTransactions = TransactionsProvider(
|
XDaiTransactions = TransactionsProvider(
|
||||||
event_type="xdai_blockchain",
|
event_type="xdai_blockchain",
|
||||||
blockchain=AvailableBlockchainType("xdai"),
|
blockchain=AvailableBlockchainType("xdai"),
|
||||||
|
|
|
@ -118,6 +118,12 @@ MOONSTREAM_MUMBAI_WEB3_PROVIDER_URI = os.environ.get(
|
||||||
if MOONSTREAM_MUMBAI_WEB3_PROVIDER_URI == "":
|
if MOONSTREAM_MUMBAI_WEB3_PROVIDER_URI == "":
|
||||||
raise Exception("MOONSTREAM_MUMBAI_WEB3_PROVIDER_URI env variable is not set")
|
raise Exception("MOONSTREAM_MUMBAI_WEB3_PROVIDER_URI env variable is not set")
|
||||||
|
|
||||||
|
MOONSTREAM_AMOY_WEB3_PROVIDER_URI = os.environ.get(
|
||||||
|
"MOONSTREAM_AMOY_WEB3_PROVIDER_URI", ""
|
||||||
|
)
|
||||||
|
if MOONSTREAM_AMOY_WEB3_PROVIDER_URI == "":
|
||||||
|
raise Exception("MOONSTREAM_AMOY_WEB3_PROVIDER_URI env variable is not set")
|
||||||
|
|
||||||
MOONSTREAM_XDAI_WEB3_PROVIDER_URI = os.environ.get(
|
MOONSTREAM_XDAI_WEB3_PROVIDER_URI = os.environ.get(
|
||||||
"MOONSTREAM_XDAI_WEB3_PROVIDER_URI", ""
|
"MOONSTREAM_XDAI_WEB3_PROVIDER_URI", ""
|
||||||
)
|
)
|
||||||
|
|
|
@ -2,4 +2,4 @@
|
||||||
Moonstream library and API version.
|
Moonstream library and API version.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
MOONSTREAMAPI_VERSION = "0.3.6"
|
MOONSTREAMAPI_VERSION = "0.4.1"
|
||||||
|
|
|
@ -12,6 +12,7 @@ from web3.middleware import geth_poa_middleware
|
||||||
from web3.providers.rpc import HTTPProvider
|
from web3.providers.rpc import HTTPProvider
|
||||||
|
|
||||||
from .settings import (
|
from .settings import (
|
||||||
|
MOONSTREAM_AMOY_WEB3_PROVIDER_URI,
|
||||||
MOONSTREAM_ARBITRUM_NOVA_WEB3_PROVIDER_URI,
|
MOONSTREAM_ARBITRUM_NOVA_WEB3_PROVIDER_URI,
|
||||||
MOONSTREAM_ARBITRUM_SEPOLIA_WEB3_PROVIDER_URI,
|
MOONSTREAM_ARBITRUM_SEPOLIA_WEB3_PROVIDER_URI,
|
||||||
MOONSTREAM_AVALANCHE_FUJI_WEB3_PROVIDER_URI,
|
MOONSTREAM_AVALANCHE_FUJI_WEB3_PROVIDER_URI,
|
||||||
|
@ -74,6 +75,8 @@ def connect(
|
||||||
web3_uri = MOONSTREAM_POLYGON_WEB3_PROVIDER_URI
|
web3_uri = MOONSTREAM_POLYGON_WEB3_PROVIDER_URI
|
||||||
elif blockchain_type == AvailableBlockchainType.MUMBAI:
|
elif blockchain_type == AvailableBlockchainType.MUMBAI:
|
||||||
web3_uri = MOONSTREAM_MUMBAI_WEB3_PROVIDER_URI
|
web3_uri = MOONSTREAM_MUMBAI_WEB3_PROVIDER_URI
|
||||||
|
elif blockchain_type == AvailableBlockchainType.AMOY:
|
||||||
|
web3_uri = MOONSTREAM_AMOY_WEB3_PROVIDER_URI
|
||||||
elif blockchain_type == AvailableBlockchainType.XDAI:
|
elif blockchain_type == AvailableBlockchainType.XDAI:
|
||||||
web3_uri = MOONSTREAM_XDAI_WEB3_PROVIDER_URI
|
web3_uri = MOONSTREAM_XDAI_WEB3_PROVIDER_URI
|
||||||
elif blockchain_type == AvailableBlockchainType.WYRM:
|
elif blockchain_type == AvailableBlockchainType.WYRM:
|
||||||
|
|
|
@ -37,7 +37,7 @@ lru-dict==1.1.8
|
||||||
Mako==1.2.3
|
Mako==1.2.3
|
||||||
MarkupSafe==2.1.1
|
MarkupSafe==2.1.1
|
||||||
moonstream==0.1.1
|
moonstream==0.1.1
|
||||||
moonstreamdb==0.3.12
|
moonstreamdb==0.4.1
|
||||||
multiaddr==0.0.9
|
multiaddr==0.0.9
|
||||||
multidict==6.0.2
|
multidict==6.0.2
|
||||||
netaddr==0.8.0
|
netaddr==0.8.0
|
||||||
|
|
|
@ -16,7 +16,7 @@ setup(
|
||||||
"bugout>=0.2.15",
|
"bugout>=0.2.15",
|
||||||
"fastapi",
|
"fastapi",
|
||||||
"moonstream",
|
"moonstream",
|
||||||
"moonstreamdb>=0.3.12",
|
"moonstreamdb>=0.4.1",
|
||||||
"humbug",
|
"humbug",
|
||||||
"pydantic==1.10.2",
|
"pydantic==1.10.2",
|
||||||
"pyevmasm",
|
"pyevmasm",
|
||||||
|
|
Ładowanie…
Reference in New Issue