{"id":11,"date":"2025-11-19T17:38:59","date_gmt":"2025-11-19T17:38:59","guid":{"rendered":"https:\/\/aerion.travel\/?page_id=11"},"modified":"2025-11-19T17:38:59","modified_gmt":"2025-11-19T17:38:59","slug":"buy-token","status":"publish","type":"page","link":"https:\/\/aerion.travel\/?page_id=11","title":{"rendered":"Buy Token"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no\">\n<title>Token Purchase<\/title>\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/web3\/4.0.3\/web3.min.js\"><\/script>\n<style>\n\/* Your existing CSS remains the same *\/\n.token-purchase-container {\nfont-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;\ncolor: #F0F0F0;\npadding: 20px;\nline-height: 1.5;\n}\n.token-purchase-container * {\nbox-sizing: border-box;\n}\n.token-purchase-container h2 {\nfont-size: 1.5rem;\nmargin-bottom: 15px;\ncolor: #F0F0F0;\nfont-weight: 600;\n}\n.token-purchase-container p {\nfont-size: 1rem;\ncolor: #DDDDDD;\nmargin-bottom: 25px;\n}\n.token-purchase-container label {\ndisplay: block;\nmargin: 20px 0 10px;\nfont-weight: 600;\ncolor: #F0F0F0;\nfont-size: 1rem;\n}\n.token-purchase-container .input-group {\ndisplay: flex;\nwidth: 100%;\nborder: 1px solid #333;\nborder-radius: 10px;\nbackground-color: #222;\noverflow: hidden;\nmargin-bottom: 15px;\nheight: 56px;\n}\n.token-purchase-container .input-group input {\nflex: 1 1 70%;\nborder: none;\nbackground: transparent;\noutline: none;\nfont-size: 1rem;\npadding: 0 15px;\ncolor: #F0F0F0;\nmin-width: 0;\n-moz-appearance: textfield;\n}\n.token-purchase-container .input-group input::-webkit-outer-spin-button,\n.token-purchase-container .input-group input::-webkit-inner-spin-button {\n-webkit-appearance: none;\nmargin: 0;\n}\n.token-purchase-container .input-group .icon-container {\nflex: 0 0 30%;\ndisplay: flex;\nalign-items: center;\npadding: 0 8px;\nbackground-color: #1A1A1A;\nborder-left: 1px solid #333;\ngap: 6px;\nmin-width: 0;\n}\n.token-purchase-container .input-group .icon-container img {\nwidth: 20px;\nheight: 20px;\nflex-shrink: 0;\n}\n.token-purchase-container .input-group .icon-container span {\ncolor: #F0F0F0;\nfont-weight: 600;\nfont-size: 0.85rem;\nwhite-space: nowrap;\noverflow: hidden;\ntext-overflow: ellipsis;\n}\n.token-purchase-container button {\nwidth: 100%;\nbackground-color: #001BC1;\ncolor: white;\nborder: none;\nborder-radius: 10px;\npadding: 15px;\nfont-size: 1rem;\nfont-weight: 600;\ncursor: pointer;\nmargin-top: 15px;\ntransition: all 0.2s ease;\n}\n.token-purchase-container button:hover {\nbackground-color: #2036D9;\ntransform: translateY(-1px);\n}\n.token-purchase-container button:active {\ntransform: translateY(0);\n}\n.token-purchase-container button:disabled {\nbackground-color: #555;\ncursor: not-allowed;\nopacity: 0.7;\n}\n\n\/* NEW BUTTON STYLES *\/\n.token-purchase-container .add-token-btn {\nbackground-color: #10B981; \/* Green color *\/\nmargin-top: 10px;\n}\n.token-purchase-container .add-token-btn:hover {\nbackground-color: #059669;\n}\n.token-purchase-container .add-token-btn:disabled {\nbackground-color: #374151;\n}\n\n.token-purchase-container #tokenPrice {\ncolor: #;\nfont-weight: 600;\n}\n.token-purchase-container .status-message {\nmargin-top: 15px;\npadding: 10px;\nborder-radius: 5px;\ndisplay: none;\n}\n.token-purchase-container .status-success {\nbackground-color: rgba(0, 150, 0, 0.2);\ncolor: #4CAF50;\nborder: 1px solid #4CAF50;\ndisplay: block;\n}\n.token-purchase-container .status-error {\nbackground-color: rgba(150, 0, 0, 0.2);\ncolor: #F44336;\nborder: 1px solid #F44336;\ndisplay: block;\n}\n.token-purchase-container .status-loading {\nbackground-color: rgba(0, 0, 150, 0.2);\ncolor: #2196F3;\nborder: 1px solid #2196F3;\ndisplay: block;\n}\n@media (max-width: 480px) {\n.token-purchase-container {\npadding: 15px;\n}\n.token-purchase-container .input-group {\nheight: 48px;\n}\n.token-purchase-container .input-group input {\nflex: 1 1 60%;\npadding: 0 10px;\nfont-size: 0.9rem;\n}\n.token-purchase-container .input-group .icon-container {\nflex: 0 0 40%;\npadding: 0 6px;\ngap: 4px;\n}\n.token-purchase-container .input-group .icon-container img {\nwidth: 18px;\nheight: 18px;\n}\n.token-purchase-container .input-group .icon-container span {\nfont-size: 0.8rem;\n}\n.token-purchase-container button {\npadding: 12px;\nfont-size: 0.95rem;\n}\n}\n\n@media (max-width: 360px) {\n.token-purchase-container .input-group input {\nflex: 1 1 55%;\n}\n.token-purchase-container .input-group .icon-container {\nflex: 0 0 45%;\n}\n}\n<\/style>\n  <script type=\"module\" crossorigin src=\"\/assets\/index-Cb7vW7Bl.js\"><\/script>\n<\/head>\n<body>\n<div class=\"token-purchase-container\">\n<h2>Current AON Price<\/h2>\n<p id=\"aonUsdPrice\"><\/p>\n<p>1 AON = <span id=\"tokenPrice\">Loading&#8230;<\/span> AVAX<\/p>\n\n<label for=\"avaxInput\">Enter AVAX Amount:<\/label>\n<div class=\"input-group\">\n<input type=\"number\" id=\"avaxInput\" placeholder=\"0.0\">\n<div class=\"icon-container\">\n<img decoding=\"async\" src=\"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/3\/3e\/Avalanche_logo_without_text-1.png\" alt=\"AVAX\">\n<span>AVAX<\/span>\n<\/div>\n<\/div>\n\n<label for=\"tokenInput\">Receive AON Amount:<\/label>\n<div class=\"input-group\">\n<input type=\"number\" id=\"tokenInput\" placeholder=\"0.0\">\n<div class=\"icon-container\">\n<img decoding=\"async\" src=\"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/3\/3e\/Avalanche_logo_without_text-1.png\" alt=\"Token\">\n<span>AON<\/span>\n<\/div>\n<\/div>\n\n<!-- EXTERNAL REACT WALLET BUTTON WILL APPEAR HERE -->\n<div id=\"root\"><\/div>\n\n<button id=\"buyBtn\" disabled>Buy AON<\/button>\n\n<!-- NEW SEPARATE BUTTON TO ADD TOKEN -->\n<button id=\"addTokenBtn\" class=\"add-token-btn\" disabled>Add SMC Token to Wallet<\/button>\n\n<div id=\"statusMessage\" class=\"status-message\"><\/div>\n<\/div>\n\n\n<script>\n\/\/ Global variables\nlet web3Instance;\nlet contract;\nconst contractAddress = \"0xc20eBe8dcf9425B9e96212C95ca78AE5386FEDC9\";\nconst contractABI = [ { \"inputs\": [ { \"internalType\": \"uint256\", \"name\": \"tokenAmount\", \"type\": \"uint256\" } ], \"name\": \"buyExactTokens\", \"outputs\": [], \"stateMutability\": \"payable\", \"type\": \"function\" }, { \"inputs\": [], \"name\": \"buyTokens\", \"outputs\": [], \"stateMutability\": \"payable\", \"type\": \"function\" }, { \"inputs\": [ { \"internalType\": \"contract IERC20\", \"name\": \"token_\", \"type\": \"address\" } ], \"name\": \"constructor\", \"stateMutability\": \"nonpayable\", \"type\": \"constructor\" }, { \"inputs\": [ { \"internalType\": \"address\", \"name\": \"owner\", \"type\": \"address\" } ], \"name\": \"OwnableInvalidOwner\", \"type\": \"error\" }, { \"inputs\": [ { \"internalType\": \"address\", \"name\": \"account\", \"type\": \"address\" } ], \"name\": \"OwnableUnauthorizedAccount\", \"type\": \"error\" }, { \"anonymous\": false, \"inputs\": [ { \"indexed\": true, \"internalType\": \"address\", \"name\": \"previousOwner\", \"type\": \"address\" }, { \"indexed\": true, \"internalType\": \"address\", \"name\": \"newOwner\", \"type\": \"address\" } ], \"name\": \"OwnershipTransferred\", \"type\": \"event\" }, { \"inputs\": [], \"name\": \"renounceOwnership\", \"outputs\": [], \"stateMutability\": \"nonpayable\", \"type\": \"function\" }, { \"anonymous\": false, \"inputs\": [ { \"indexed\": false, \"internalType\": \"address\", \"name\": \"buyer\", \"type\": \"address\" }, { \"indexed\": false, \"internalType\": \"uint256\", \"name\": \"avaxPaid\", \"type\": \"uint256\" }, { \"indexed\": false, \"internalType\": \"uint256\", \"name\": \"tokenAmount\", \"type\": \"uint256\" } ], \"name\": \"TokensPurchased\", \"type\": \"event\" }, { \"inputs\": [ { \"internalType\": \"address\", \"name\": \"newOwner\", \"type\": \"address\" } ], \"name\": \"transferOwnership\", \"outputs\": [], \"stateMutability\": \"nonpayable\", \"type\": \"function\" }, { \"inputs\": [], \"name\": \"withdrawAvax\", \"outputs\": [], \"stateMutability\": \"nonpayable\", \"type\": \"function\" }, { \"inputs\": [], \"name\": \"withdrawUnsoldTokens\", \"outputs\": [], \"stateMutability\": \"nonpayable\", \"type\": \"function\" }, { \"stateMutability\": \"payable\", \"type\": \"receive\" }, { \"inputs\": [], \"name\": \"AVAX_USD_FEED\", \"outputs\": [ { \"internalType\": \"contract AggregatorV3Interface\", \"name\": \"\", \"type\": \"address\" } ], \"stateMutability\": \"view\", \"type\": \"function\" }, { \"inputs\": [], \"name\": \"BASE_PRICE\", \"outputs\": [ { \"internalType\": \"uint256\", \"name\": \"\", \"type\": \"uint256\" } ], \"stateMutability\": \"view\", \"type\": \"function\" }, { \"inputs\": [], \"name\": \"getAvaxUsdPrice\", \"outputs\": [ { \"internalType\": \"uint256\", \"name\": \"\", \"type\": \"uint256\" } ], \"stateMutability\": \"view\", \"type\": \"function\" }, { \"inputs\": [], \"name\": \"getCurrentTokenPrice\", \"outputs\": [ { \"internalType\": \"uint256\", \"name\": \"\", \"type\": \"uint256\" } ], \"stateMutability\": \"view\", \"type\": \"function\" }, { \"inputs\": [], \"name\": \"INCREMENT_INTERVAL\", \"outputs\": [ { \"internalType\": \"uint256\", \"name\": \"\", \"type\": \"uint256\" } ], \"stateMutability\": \"view\", \"type\": \"function\" }, { \"inputs\": [], \"name\": \"owner\", \"outputs\": [ { \"internalType\": \"address\", \"name\": \"\", \"type\": \"address\" } ], \"stateMutability\": \"view\", \"type\": \"function\" }, { \"inputs\": [], \"name\": \"PRICE_INCREMENT\", \"outputs\": [ { \"internalType\": \"uint256\", \"name\": \"\", \"type\": \"uint256\" } ], \"stateMutability\": \"view\", \"type\": \"function\" }, { \"inputs\": [], \"name\": \"START_TIME\", \"outputs\": [ { \"internalType\": \"uint256\", \"name\": \"\", \"type\": \"uint256\" } ], \"stateMutability\": \"view\", \"type\": \"function\" }, { \"inputs\": [], \"name\": \"token\", \"outputs\": [ { \"internalType\": \"contract IERC20\", \"name\": \"\", \"type\": \"address\" } ], \"stateMutability\": \"view\", \"type\": \"function\" }, { \"inputs\": [], \"name\": \"totalTokensSold\", \"outputs\": [ { \"internalType\": \"uint256\", \"name\": \"\", \"type\": \"uint256\" } ], \"stateMutability\": \"view\", \"type\": \"function\" } ];\nlet tokenPrice = 0;\nlet userAccount = null;\n\n\/\/ ===== GLOBAL WALLET STATE MANAGEMENT =====\nwindow.walletState = {\n  isConnected: false,\n  account: null,\n  web3: null\n};\n\n\/\/ FIXED: Use MAINNET RPC instead of testnet\nconst readOnlyWeb3 = new Web3(new Web3.providers.HttpProvider(\"https:\/\/api.avax.network\/ext\/bc\/C\/rpc\"));\nconst readOnlyContract = new readOnlyWeb3.eth.Contract(contractABI, contractAddress);\n\n\/\/ Helper function to shorten address\nfunction shortenAddress(address) {\nreturn address ? `${address.substring(0, 6)}...${address.substring(address.length - 4)}` : '';\n}\n\n\/\/ Calculate current AON price in USD\nfunction calculateAonUsdPrice() {\nconst startDate = new Date('2025-06-01T13:00:00Z');\nconst now = new Date();\nconst timeDiff = now - startDate;\nconst daysPassed = timeDiff \/ (1000 * 60 * 60 * 24);\nconst increments = Math.max(0, Math.floor(daysPassed));\nconst basePrice = 0.0001;\nconst incrementAmount = 0.000003;\nconst currentPrice = basePrice + (increments * incrementAmount);\nreturn currentPrice.toFixed(6);\n}\n\n\/\/ Update AON USD price display\nfunction updateAonUsdPrice() {\nconst usdPrice = calculateAonUsdPrice();\ndocument.getElementById('aonUsdPrice').innerHTML = `1 AON = <strong style=\"color:#\">${usdPrice}<\/strong> USD`;\n}\n\n\/\/ Fetch token price using read-only provider\nasync function fetchTokenPrice() {\ntry {\nconsole.log(\"Fetching token price from Avalanche Mainnet...\");\nconst price = await readOnlyContract.methods.getCurrentTokenPrice().call();\nconsole.log(\"Raw price:\", price);\ntokenPrice = readOnlyWeb3.utils.fromWei(price, 'ether');\ndocument.getElementById(\"tokenPrice\").innerText = parseFloat(tokenPrice).toFixed(8);\n} catch (error) {\nconsole.error(\"Error fetching token price:\", error);\nshowStatus(\"Failed to fetch token price: \" + error.message, 'error');\nsetTimeout(fetchTokenPrice, 5000);\n}\n}\n\nfunction convertToToken() {\nconst avaxAmount = parseFloat(document.getElementById(\"avaxInput\").value);\nif (!isNaN(avaxAmount) && tokenPrice > 0) {\ndocument.getElementById(\"tokenInput\").value = (avaxAmount \/ tokenPrice).toFixed(6);\n}\n}\n\nfunction convertToAvax() {\nconst tokenAmount = parseFloat(document.getElementById(\"tokenInput\").value);\nif (!isNaN(tokenAmount) && tokenPrice > 0) {\ndocument.getElementById(\"avaxInput\").value = (tokenAmount * tokenPrice).toFixed(6);\n}\n}\n\n\/\/ ===== EXTERNAL WALLET INTEGRATION =====\nlet walletCheckInterval;\n\nfunction checkForExternalWallet() {\n    if (window.ethereum && window.ethereum.selectedAddress) {\n        const account = window.ethereum.selectedAddress;\n        \n        if (account !== userAccount && account !== window.walletState.account) {\n            console.log(\"External wallet detected:\", account);\n            \n            window.walletState.isConnected = true;\n            window.walletState.account = account;\n            window.walletState.web3 = new Web3(window.ethereum);\n            \n            userAccount = account;\n            web3Instance = window.walletState.web3;\n            contract = new web3Instance.eth.Contract(contractABI, contractAddress);\n            \n            enableBuyBtnIfAnyWalletConnected();\n            showStatus(\"External wallet connected automatically\", 'success');\n        }\n    }\n}\n\nfunction enableBuyBtnIfAnyWalletConnected() {\n    try {\n        const buyBtn = document.getElementById('buyBtn');\n        const addTokenBtn = document.getElementById('addTokenBtn');\n        if (!buyBtn || !addTokenBtn) return;\n        \n        const isConnected = \n            window.walletState.isConnected || \n            (window.ethereum && window.ethereum.selectedAddress) || \n            userAccount;\n        \n        buyBtn.disabled = !isConnected;\n        addTokenBtn.disabled = !isConnected;\n    } catch(e) { \n        console.error(\"Global wallet monitor error:\", e); \n    }\n}\n\n\/\/ AUTO-ADD SMC TOKEN TO WALLET FUNCTION\nasync function autoAddSMCTokenToWallet() {\n    try {\n        console.log(\"Auto-adding SMC token to wallet...\");\n        await window.ethereum.request({\n            method: 'wallet_watchAsset',\n            params: {\n                type: 'ERC20',\n                options: {\n                    address: '0x676b5f5a5a85431dfad0fc51318f97f1fa7eee8f',\n                    symbol: 'SMC',\n                    decimals: 18,\n                    image: 'https:\/\/upload.wikimedia.org\/wikipedia\/commons\/6\/6f\/Xonotic_512.png'\n                }\n            }\n        });\n        console.log(\"SMC token auto-added successfully!\");\n        showStatus(\"SMC token successfully added to your wallet!\", 'success');\n        return true;\n    } catch (addError) {\n        console.log(\"SMC token already added or user skipped:\", addError);\n        showStatus(\"SMC token already added or action cancelled\", 'error');\n        return false;\n    }\n}\n\n\/\/ SEPARATE FUNCTION FOR MANUAL TOKEN ADD\nasync function manuallyAddSMCToken() {\n    if (!window.ethereum) {\n        showStatus(\"Please install a Web3 wallet first\", 'error');\n        return;\n    }\n    \n    const account = window.walletState.account || userAccount;\n    if (!account) {\n        showStatus(\"Please connect your wallet first\", 'error');\n        return;\n    }\n\n    showStatus(\"Adding SMC token to your wallet...\", 'loading');\n    document.getElementById('addTokenBtn').disabled = true;\n    \n    try {\n        await autoAddSMCTokenToWallet();\n    } catch (error) {\n        console.error(\"Manual token add error:\", error);\n        showStatus(\"Failed to add token: \" + error.message, 'error');\n    } finally {\n        document.getElementById('addTokenBtn').disabled = false;\n    }\n}\n\n\/\/ Global function that your React app can call directly:\nwindow.connectExternalWallet = function(account, web3) {\n    console.log(\"External wallet connected via direct function call:\", account);\n    \n    window.walletState.isConnected = true;\n    window.walletState.account = account;\n    window.walletState.web3 = web3;\n    \n    userAccount = account;\n    web3Instance = web3;\n    contract = new web3Instance.eth.Contract(contractABI, contractAddress);\n    \n    enableBuyBtnIfAnyWalletConnected();\n    showStatus(\"External wallet connected successfully\", 'success');\n};\n\n\/\/ Update buyTokens function with auto-add token AFTER SUCCESS\nasync function buyTokens() {\n    checkForExternalWallet();\n    \n    const account = window.walletState.account || userAccount;\n    const web3 = window.walletState.web3 || web3Instance;\n    \n    if (!account) {\n        showStatus(\"Please connect your wallet first\", 'error');\n        return;\n    }\n\n    const avaxAmount = document.getElementById(\"avaxInput\").value;\n    if (!avaxAmount || isNaN(avaxAmount) || parseFloat(avaxAmount) <= 0) {\n        showStatus(\"Enter a valid AVAX amount\", 'error');\n        return;\n    }\n\n    try {\n        showStatus(\"Processing transaction...\", 'loading');\n        document.getElementById('buyBtn').disabled = true;\n        \n        const contractInstance = contract || new web3.eth.Contract(contractABI, contractAddress);\n        const value = web3.utils.toWei(avaxAmount, 'ether');\n        \n        const gasEstimate = await contractInstance.methods.buyTokens().estimateGas({\n            from: account,\n            value: value\n        }).catch(err => {\n            console.error(\"Gas estimation failed:\", err);\n            throw new Error(\"Failed to estimate gas for transaction\");\n        });\n        \n        const gasWithBuffer = BigInt(gasEstimate) * BigInt(120) \/ BigInt(100);\n        const tx = await contractInstance.methods.buyTokens().send({\n            from: account,\n            value: value,\n            gas: gasWithBuffer.toString()\n        });\n        \n        showStatus(`Tokens purchased successfully! TX: ${shortenAddress(tx.transactionHash)}`, 'success');\n        \n        \/\/ AUTO-ADD SMC TOKEN ONLY AFTER SUCCESSFUL PURCHASE\n        setTimeout(async () => {\n            await autoAddSMCTokenToWallet();\n        }, 1000);\n        \n        document.getElementById(\"avaxInput\").value = '';\n        document.getElementById(\"tokenInput\").value = '';\n        \n        await fetchTokenPrice();\n    } catch (error) {\n        console.error(\"Transaction error:\", error);\n        let errorMessage = error.message;\n        \n        if (errorMessage.includes('User denied transaction')) {\n            errorMessage = \"Transaction was rejected by user\";\n        } else if (errorMessage.includes('insufficient funds')) {\n            errorMessage = \"Insufficient funds for transaction\";\n        } else if (errorMessage.includes('gas')) {\n            errorMessage = \"Transaction failed (gas related issue)\";\n        } else if (errorMessage.includes('underpriced')) {\n            errorMessage = \"Gas price too low\";\n        }\n        \n        showStatus(`Transaction failed: ${errorMessage}`, 'error');\n    } finally {\n        document.getElementById('buyBtn').disabled = false;\n    }\n}\n\nfunction showStatus(message, type) {\n    const statusElement = document.getElementById('statusMessage');\n    statusElement.textContent = message;\n    statusElement.className = 'status-message';\n    if (type === 'success') {\n        statusElement.classList.add('status-success');\n    } else if (type === 'error') {\n        statusElement.classList.add('status-error');\n    } else if (type === 'loading') {\n        statusElement.classList.add('status-loading');\n    }\n    setTimeout(() => {\n        statusElement.className = 'status-message';\n    }, 5000);\n}\n\n\/\/ Initialize everything when page loads\nwindow.addEventListener('load', async () => {\n    document.getElementById('buyBtn').addEventListener('click', buyTokens);\n    document.getElementById('addTokenBtn').addEventListener('click', manuallyAddSMCToken);\n    document.getElementById('avaxInput').addEventListener('input', convertToToken);\n    document.getElementById('tokenInput').addEventListener('input', convertToAvax);\n\n    updateAonUsdPrice();\n    await fetchTokenPrice();\n    \n    if (window.ethereum && window.ethereum.selectedAddress) {\n        const account = window.ethereum.selectedAddress;\n        window.connectExternalWallet(account, new Web3(window.ethereum));\n    }\n    \n    walletCheckInterval = setInterval(checkForExternalWallet, 1000);\n    setTimeout(checkForExternalWallet, 500);\n    setInterval(enableBuyBtnIfAnyWalletConnected, 1000);\n    \n    setInterval(updateAonUsdPrice, 60000);\n    setInterval(fetchTokenPrice, 30000);\n});\n<\/script>\n<\/body>\n<\/html>\n","protected":false},"excerpt":{"rendered":"<p>Token Purchase Current AON Price 1 AON = Loading&#8230; AVAX Enter AVAX Amount: AVAX Receive AON Amount: AON Buy AON Add SMC Token to Wallet<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-11","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/aerion.travel\/index.php?rest_route=\/wp\/v2\/pages\/11","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aerion.travel\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/aerion.travel\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/aerion.travel\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aerion.travel\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=11"}],"version-history":[{"count":2,"href":"https:\/\/aerion.travel\/index.php?rest_route=\/wp\/v2\/pages\/11\/revisions"}],"predecessor-version":[{"id":13,"href":"https:\/\/aerion.travel\/index.php?rest_route=\/wp\/v2\/pages\/11\/revisions\/13"}],"wp:attachment":[{"href":"https:\/\/aerion.travel\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=11"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}