pyaver.constants

  1from solana.publickey import PublicKey
  2from .enums import SolanaNetwork
  3
  4
  5##### SHARED DEVNET AND MAINNET CONSTANTS
  6AVER_PROGRAM_ID = PublicKey('6q5ZGhEj6kkmEjuyCXuH4x8493bpi9fNzvy9L8hX83HQ')
  7AVER_TOKEN = PublicKey('AVERsCxn9wr9YZ4WVavPbjm13hrLTPAkdnu1QqK9ZL1y')
  8AVER_MARKET_AUTHORITY = PublicKey('EEg375Q8wEsPTyaQ4jG4hmNsMojmMHs6gB58iVWUXSwF')
  9AVER_HOST_ACCOUNT = PublicKey('5xhmqK1Dh48TiqvHxoZi6WWWKL6THtsUjh3GoiVEbbR8')
 10AVER_COMMUNITY_REWARDS_NFT = PublicKey(
 11  'AVERojzZ8649E1oLPvcgG2SSbVECxs8PcG5JkpuK2Dvq'
 12)
 13
 14
 15
 16##### DEVNET ONLY CONSTANTS
 17AVER_API_ENDPOINT_DEVNET = 'https://dev.api.aver.exchange'
 18SOLANA_ENDPOINT_DEVNET = 'https://api.devnet.solana.com' 
 19USDC_DEVNET = PublicKey('BWvbxUTAxevm1NG8RHe1LhKmca9nz5ym2xqafTxr6ybj')
 20
 21# ATA for market authority with USDC
 22AVER_MARKET_AUTHORITY_VAULT_DEVNET = PublicKey(
 23  'TxyectLDHmkzidS6RCat6uuZ385xaNbxg7R7vrfhTAD'
 24)
 25
 26# PDA derivation of 'third-party-token-vault' + USDC + AVER_PROGRAM_ID
 27AVER_THIRD_PARTY_REWARD_VAULT_AUTHORITY_DEVNET = PublicKey(
 28  'Gb6DFbnMUdA1ReJqzfN7oeBpTNtz347bzgKUXgzzA58F'
 29)
 30
 31# ATA of vault authority PDA with USDC
 32AVER_THIRD_PARTY_REWARD_VAULT_DEVNET = PublicKey(
 33  'DrWWingQnsb46bJg6ms5xPhnFz2YCuc9sihqeFFqGVXK'
 34)
 35
 36# bump of third party vault authority PDA
 37AVER_THIRD_PARTY_REWARD_VAULT_BUMP_DEVNET = 253
 38
 39AVER_MAINNET_LAUNCH_NFT_DEVNET = PublicKey(
 40  '4QwFUyLKtHZqbHvxZQqLGPz8eMjXBgedaWvuQTdKwKJx'
 41)
 42
 43
 44
 45##### MAINNET ONLY CONSTANTS
 46AVER_API_ENDPOINT_MAINNET = 'https://api.aver.exchange'
 47SOLANA_ENDPOINT_MAINET = 'https://api.mainnet-beta.solana.com/'
 48USDC_MAINNET = PublicKey('EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v') # (USDC)
 49
 50AVER_MARKET_AUTHORITY_VAULT_MAINNET = PublicKey(
 51  '8M33TSnT9qDnTS2nSiECtfn7uhxNYZ9oJRVumYqgo2NX'
 52)
 53
 54AVER_THIRD_PARTY_REWARD_VAULT_MAINNET = PublicKey(
 55  '2FMt5pb8oJGAyvSN6Ytw1nD3Np6MUJ2jRZrv63Zy4nqT'
 56)
 57
 58AVER_THIRD_PARTY_REWARD_VAULT_AUTHORITY_MAINNET = PublicKey(
 59  '5sRuNV4LqvroWF1EiUmPuUYAzti4Biikou8jRYMuxVaR'
 60)
 61
 62AVER_THIRD_PARTY_REWARD_VAULT_BUMP_MAINNET = 250
 63
 64AVER_MAINNET_LAUNCH_NFT_MAINNET = PublicKey(
 65  'BqSFP5CbfBfZeQqGbzYEipfzTDptTYHFL9AzZA8TBXjn'
 66)
 67
 68##### OTHER CONSTANTS
 69
 70SYS_VAR_CLOCK = PublicKey('SysvarC1ock11111111111111111111111111111111')
 71
 72MAX_ITERATIONS_FOR_CONSUME_EVENTS = 5  
 73
 74CALLBACK_INFO_LEN = 33
 75
 76CANCEL_ALL_ORDERS_INSTRUCTION_CHUNK_SIZE = 5
 77
 78
 79###### HELPER FUNCTIONS
 80def get_aver_api_endpoint(solanaNetwork: SolanaNetwork):
 81  """
 82  Returns URL for Aver API based on solana network
 83
 84  Args:
 85      solanaNetwork (SolanaNetwork): Solana network
 86
 87  Returns:
 88      string: URL 
 89  """
 90  return AVER_API_ENDPOINT_DEVNET if solanaNetwork == SolanaNetwork.DEVNET else AVER_API_ENDPOINT_MAINNET
 91def get_solana_endpoint(solanaNetwork: SolanaNetwork):
 92  """
 93  Returns URL for solana endpoint based on solana network
 94
 95  Args:
 96      solanaNetwork (SolanaNetwork): Solana network
 97
 98  Returns:
 99      string: URL
100  """
101  return SOLANA_ENDPOINT_DEVNET if solanaNetwork == SolanaNetwork.DEVNET else SOLANA_ENDPOINT_MAINNET
102def get_quote_token(solanaNetwork: SolanaNetwork):
103  """
104  Returns default quote token public key based on solana network
105
106  Args:
107      solanaNetwork (SolanaNetwork): _description_
108
109  Returns:
110      PublicKey: Quote token public key
111  """
112  return USDC_DEVNET if solanaNetwork == SolanaNetwork.DEVNET else USDC_MAINNET
def get_aver_api_endpoint(solanaNetwork: pyaver.enums.SolanaNetwork)
81def get_aver_api_endpoint(solanaNetwork: SolanaNetwork):
82  """
83  Returns URL for Aver API based on solana network
84
85  Args:
86      solanaNetwork (SolanaNetwork): Solana network
87
88  Returns:
89      string: URL 
90  """
91  return AVER_API_ENDPOINT_DEVNET if solanaNetwork == SolanaNetwork.DEVNET else AVER_API_ENDPOINT_MAINNET

Returns URL for Aver API based on solana network

Args
  • solanaNetwork (SolanaNetwork): Solana network
Returns

string: URL

def get_solana_endpoint(solanaNetwork: pyaver.enums.SolanaNetwork)
 92def get_solana_endpoint(solanaNetwork: SolanaNetwork):
 93  """
 94  Returns URL for solana endpoint based on solana network
 95
 96  Args:
 97      solanaNetwork (SolanaNetwork): Solana network
 98
 99  Returns:
100      string: URL
101  """
102  return SOLANA_ENDPOINT_DEVNET if solanaNetwork == SolanaNetwork.DEVNET else SOLANA_ENDPOINT_MAINNET

Returns URL for solana endpoint based on solana network

Args
  • solanaNetwork (SolanaNetwork): Solana network
Returns

string: URL

def get_quote_token(solanaNetwork: pyaver.enums.SolanaNetwork)
103def get_quote_token(solanaNetwork: SolanaNetwork):
104  """
105  Returns default quote token public key based on solana network
106
107  Args:
108      solanaNetwork (SolanaNetwork): _description_
109
110  Returns:
111      PublicKey: Quote token public key
112  """
113  return USDC_DEVNET if solanaNetwork == SolanaNetwork.DEVNET else USDC_MAINNET

Returns default quote token public key based on solana network

Args
  • solanaNetwork (SolanaNetwork): _description_
Returns

PublicKey: Quote token public key