forked from mito-systems/sol-mem-gen
Update env variables
This commit is contained in:
1 parent
6f0e83c51b
commit
7e59ee172e
7 files changed
+30
-30
No files matched your search
@@ -22,7 +22,7 @@ export async function POST(req: NextRequest): Promise<NextResponse> {
|
||||
}
|
||||
|
||||
const isSigVerified = await verifySignatureInTweet(txSignature);
|
||||
const isHandleCorrect = handle === process.env.NEXT_PUBLIC_ACCOUNT_HANDLE;
|
||||
const isHandleCorrect = handle === process.env.NEXT_PUBLIC_TWITTER_HANDLE;
|
||||
|
||||
// TODO: Verify dynamic page URL in tweet
|
||||
const isVerified = isSigVerified && isHandleCorrect;
|
||||
|
||||
@@ -95,7 +95,7 @@ const AIServiceCard: React.FC<AIServiceCardProps> = ({
|
||||
const cid = imageUrl.split("/image/")[1];
|
||||
const memePageUrl = `${baseUrl}memes/${cid}`;
|
||||
|
||||
const tweetText = `Check out this meme that I generated! \n TX Hash: '${transactionSignature}' \n @${process.env.NEXT_PUBLIC_ACCOUNT_HANDLE} \n`;
|
||||
const tweetText = `Check out this meme that I generated! \n TX Hash: '${transactionSignature}' \n @${process.env.NEXT_PUBLIC_TWITTER_HANDLE} \n`;
|
||||
|
||||
return `https://twitter.com/intent/tweet?text=${encodeURIComponent(tweetText)}&url=${encodeURIComponent(memePageUrl)}`;
|
||||
};
|
||||
|
||||
@@ -12,11 +12,11 @@ import {
|
||||
import { WalletType } from './types'
|
||||
|
||||
assert(process.env.NEXT_PUBLIC_SOLANA_RPC_URL, 'SOLANA_RPC_URL is required');
|
||||
assert(process.env.NEXT_PUBLIC_MTM_TOKEN_MINT, 'MTM_TOKEN_MINT is required');
|
||||
assert(process.env.NEXT_PUBLIC_PAYMENT_RECEIVER_ADDRESS, 'PAYMENT_RECEIVER_ADDRESS is required');
|
||||
assert(process.env.NEXT_PUBLIC_MTM_MINT_ADDRESS, 'MTM_MINT_ADDRESS is required');
|
||||
assert(process.env.NEXT_PUBLIC_MTM_RECIPIENT_MULTISIG_ADDRESS, 'MTM_RECIPIENT_MULTISIG_ADDRESS is required');
|
||||
|
||||
const MTM_TOKEN_MINT = process.env.NEXT_PUBLIC_MTM_TOKEN_MINT;
|
||||
const PAYMENT_RECEIVER_ADDRESS = process.env.NEXT_PUBLIC_PAYMENT_RECEIVER_ADDRESS;
|
||||
const MTM_TOKEN_MINT = process.env.NEXT_PUBLIC_MTM_MINT_ADDRESS;
|
||||
const PAYMENT_RECEIVER_ADDRESS = process.env.NEXT_PUBLIC_MTM_RECIPIENT_MULTISIG_ADDRESS;
|
||||
const SOLANA_RPC_URL = process.env.NEXT_PUBLIC_SOLANA_RPC_URL;
|
||||
const SOLANA_WEBSOCKET_URL = process.env.NEXT_PUBLIC_SOLANA_WEBSOCKET_URL;
|
||||
|
||||
|
||||
+12
-12
@@ -13,17 +13,17 @@ import { Connection, Keypair, PublicKey } from "@solana/web3.js";
|
||||
import { createVestingPlanV2 } from '../locker-utils';
|
||||
|
||||
assert(process.env.NEXT_PUBLIC_SOLANA_RPC_URL);
|
||||
assert(process.env.WSOL_LOCKER_PRIVATE_KEY);
|
||||
assert(process.env.WSOL_MINT);
|
||||
assert(process.env.WSOL_LOCKER_ACCOUNT_PK);
|
||||
assert(process.env.WSOL_MINT_ADDRESS);
|
||||
|
||||
const RPC_ENDPOINT= process.env.NEXT_PUBLIC_SOLANA_RPC_URL;
|
||||
const WSOL_MINT = process.env.WSOL_MINT;
|
||||
const WSOL_LOCKER_PRIVATE_KEY = process.env.WSOL_LOCKER_PRIVATE_KEY;
|
||||
const WSOL_MINT_ADDRESS = process.env.WSOL_MINT_ADDRESS;
|
||||
const WSOL_LOCKER_ACCOUNT_PK = process.env.WSOL_LOCKER_ACCOUNT_PK;
|
||||
|
||||
const userKP = anchor.web3.Keypair.fromSecretKey(bs58.decode(WSOL_LOCKER_PRIVATE_KEY));
|
||||
const userKP = anchor.web3.Keypair.fromSecretKey(bs58.decode(WSOL_LOCKER_ACCOUNT_PK));
|
||||
|
||||
const connection = new Connection(RPC_ENDPOINT);
|
||||
const token = new PublicKey(WSOL_MINT);
|
||||
const token = new PublicKey(WSOL_MINT_ADDRESS);
|
||||
|
||||
const provider = new anchor.AnchorProvider(
|
||||
connection,
|
||||
@@ -85,20 +85,20 @@ export async function extractInfo(transactionSignature: string) {
|
||||
}
|
||||
|
||||
export async function createRewardLock(authority: string, amount: string) {
|
||||
const { WSOL_LOCKER_PRIVATE_KEY, CLIFF_TIME, WSOL_MINT, NEXT_PUBLIC_MTM_TOKEN_MINT, REWARD_MULTIPLIER } = process.env;
|
||||
if (!WSOL_LOCKER_PRIVATE_KEY || !CLIFF_TIME || !WSOL_MINT || !NEXT_PUBLIC_MTM_TOKEN_MINT || !REWARD_MULTIPLIER) {
|
||||
const { WSOL_LOCKER_ACCOUNT_PK, WSOL_LOCK_DURATION_IN_SECONDS, WSOL_MINT_ADDRESS, NEXT_PUBLIC_MTM_MINT_ADDRESS, REWARD_MULTIPLIER } = process.env;
|
||||
if (!WSOL_LOCKER_ACCOUNT_PK || !WSOL_LOCK_DURATION_IN_SECONDS || !WSOL_MINT_ADDRESS || !NEXT_PUBLIC_MTM_MINT_ADDRESS || !REWARD_MULTIPLIER) {
|
||||
throw new Error('Missing required environment variables');
|
||||
}
|
||||
|
||||
const duration = new BN(CLIFF_TIME).add(new BN(Math.floor(Date.now() / 1000)));
|
||||
const tokenLockerKeypair = Keypair.fromSecretKey(bs58.decode(WSOL_LOCKER_PRIVATE_KEY));
|
||||
const duration = new BN(WSOL_LOCK_DURATION_IN_SECONDS).add(new BN(Math.floor(Date.now() / 1000)));
|
||||
const tokenLockerKeypair = Keypair.fromSecretKey(bs58.decode(WSOL_LOCKER_ACCOUNT_PK));
|
||||
const recipientPublicKey = new PublicKey(authority);
|
||||
|
||||
const url = `https://api.jup.ag/price/v2?ids=${NEXT_PUBLIC_MTM_TOKEN_MINT}&vsToken=${WSOL_MINT}`;
|
||||
const url = `https://api.jup.ag/price/v2?ids=${NEXT_PUBLIC_MTM_MINT_ADDRESS}&vsToken=${WSOL_MINT_ADDRESS}`;
|
||||
const response = await fetch(url);
|
||||
const { data } = await response.json();
|
||||
|
||||
const priceWSOLFor1MTM = new Big(data[NEXT_PUBLIC_MTM_TOKEN_MINT].price).toFixed(9);
|
||||
const priceWSOLFor1MTM = new Big(data[NEXT_PUBLIC_MTM_MINT_ADDRESS].price).toFixed(9);
|
||||
const mtmAmount = new Big(amount).div(new Big(10).pow(6));
|
||||
const wsolAmount = new BN(new Big(mtmAmount).times(priceWSOLFor1MTM).times(new Big(10).pow(9)).times(REWARD_MULTIPLIER).toFixed(0));
|
||||
|
||||
|
||||
Reference in new issue
Block a user