Skip to content

Commit

Permalink
Merge branch 'defi' into feat/gnfd
Browse files Browse the repository at this point in the history
  • Loading branch information
ybgbob committed Jan 23, 2025
2 parents 5571cad + 6bc3d6e commit 8546c97
Show file tree
Hide file tree
Showing 1,281 changed files with 78,375 additions and 8,593 deletions.
142 changes: 136 additions & 6 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,13 @@ SUPABASE_ANON_KEY=
# Comma separated list of remote character urls (optional)
REMOTE_CHARACTER_URLS=

# Stores characters set by using the direct API in the data/character folder for further load when the app restarts
USE_CHARACTER_STORAGE=false

# Logging
DEFAULT_LOG_LEVEL=warn
LOG_JSON_FORMAT=false # Print everything in logger as json; false by default

###############################
#### Client Configurations ####
###############################
Expand All @@ -27,6 +34,9 @@ DISCORD_APPLICATION_ID=
DISCORD_API_TOKEN= # Bot token
DISCORD_VOICE_CHANNEL_ID= # The ID of the voice channel the bot should join (optional)

# Devin Configuration
DEVIN_API_TOKEN= # Get your API key from docs.devin.ai/tutorials/api-integration

# Farcaster Neynar Configuration
FARCASTER_FID= # The FID associated with the account your are sending casts from
FARCASTER_NEYNAR_API_KEY= # Neynar API key: https://neynar.com/
Expand Down Expand Up @@ -85,7 +95,23 @@ MEDIUM_OPENAI_MODEL= # Default: gpt-4o
LARGE_OPENAI_MODEL= # Default: gpt-4o
EMBEDDING_OPENAI_MODEL= # Default: text-embedding-3-small
IMAGE_OPENAI_MODEL= # Default: dall-e-3
USE_OPENAI_EMBEDDING= # Set to TRUE for OpenAI/1536, leave blank for local
USE_OPENAI_EMBEDDING=TRUE # Set to TRUE for OpenAI/1536, leave blank for local

# Community Plugin for OpenAI Configuration
ENABLE_OPEN_AI_COMMUNITY_PLUGIN=false
OPENAI_DEFAULT_MODEL=
OPENAI_MAX_TOKENS=
OPENAI_TEMPERATURE=




# Atoma SDK Configuration
ATOMASDK_BEARER_AUTH= # Atoma SDK Bearer Auth token
ATOMA_API_URL= # Default: https://api.atoma.network/v1
SMALL_ATOMA_MODEL= # Default: meta-llama/Llama-3.3-70B-Instruct
MEDIUM_ATOMA_MODEL= # Default: meta-llama/Llama-3.3-70B-Instruct
LARGE_ATOMA_MODEL= # Default: meta-llama/Llama-3.3-70B-Instruct

# Eternal AI's Decentralized Inference API
ETERNALAI_URL=
Expand Down Expand Up @@ -134,8 +160,12 @@ MEDIUM_AKASH_CHAT_API_MODEL= # Default: Meta-Llama-3-3-70B-Instruct
LARGE_AKASH_CHAT_API_MODEL= # Default: Meta-Llama-3-1-405B-Instruct-FP8

# Livepeer configuration
LIVEPEER_GATEWAY_URL= # Free inference gateways and docs: https://livepeer-eliza.com/
LIVEPEER_IMAGE_MODEL= # Default: ByteDance/SDXL-Lightning

LIVEPEER_GATEWAY_URL=https://dream-gateway.livepeer.cloud # Free inference gateways and docs: https://livepeer-eliza.com/
IMAGE_LIVEPEER_MODEL= # Default: ByteDance/SDXL-Lightning
SMALL_LIVEPEER_MODEL= # Default: meta-llama/Meta-Llama-3.1-8B-Instruct
MEDIUM_LIVEPEER_MODEL= # Default: meta-llama/Meta-Llama-3.1-8B-Instruct
LARGE_LIVEPEER_MODEL= # Default: meta-llama/Meta-Llama-3.1-8B-Instruct

# Speech Synthesis
ELEVENLABS_XI_API_KEY= # API key from elevenlabs
Expand Down Expand Up @@ -221,8 +251,10 @@ LARGE_ANTHROPIC_MODEL= # Default: claude-3-5-sonnet-20241022
HEURIST_API_KEY= # Get from https://heurist.ai/dev-access
SMALL_HEURIST_MODEL= # Default: meta-llama/llama-3-70b-instruct
MEDIUM_HEURIST_MODEL= # Default: meta-llama/llama-3-70b-instruct
LARGE_HEURIST_MODEL= # Default: meta-llama/llama-3.1-405b-instruct
HEURIST_IMAGE_MODEL= # Default: PepeXL
LARGE_HEURIST_MODEL= # Default: meta-llama/llama-3.3-70b-instruct
HEURIST_IMAGE_MODEL= # Default: FLUX.1-dev
HEURIST_EMBEDDING_MODEL= # Default: BAAI/bge-large-en-v1.5
USE_HEURIST_EMBEDDING= # Set to TRUE for HEURIST embedding, leave blank for local

# Gaianet Configuration
GAIANET_MODEL=
Expand Down Expand Up @@ -302,6 +334,10 @@ SOLANA_ADMIN_PRIVATE_KEY= # This wallet is used to verify NFTs
SOLANA_ADMIN_PUBLIC_KEY= # This wallet is used to verify NFTs
SOLANA_VERIFY_TOKEN= # Authentication token for calling the verification API

# Injective
INJECTIVE_PRIVATE_KEY= #
INJECTIVE_PUBLIC_KEY= #
INJECTIVE_NETWORK= #
# Fallback Wallet Configuration (deprecated)
WALLET_PRIVATE_KEY=
WALLET_PUBLIC_KEY=
Expand Down Expand Up @@ -337,6 +373,11 @@ COINBASE_GENERATED_WALLET_ID= # Not your address but the wallet ID from ge
COINBASE_GENERATED_WALLET_HEX_SEED= # Not your address but the wallet hex seed from generating a wallet through the plugin and calling export
COINBASE_NOTIFICATION_URI= # For webhook plugin the uri you want to send the webhook to for dummy ones use https://webhook.site

# Coinbase AgentKit
CDP_API_KEY_NAME=
CDP_API_KEY_PRIVATE_KEY=
CDP_AGENT_KIT_NETWORK=base-sepolia # Optional: Defaults to base-sepolia

# Coinbase Charity Configuration
IS_CHARITABLE=false # Set to true to enable charity donations
CHARITY_ADDRESS_BASE=0x1234567890123456789012345678901234567890
Expand All @@ -361,12 +402,19 @@ ZEROG_EVM_RPC=
ZEROG_PRIVATE_KEY=
ZEROG_FLOW_ADDRESS=

# IQ6900
# Load json recorded on-chain through IQ
# Inscribe your json character file here: https://elizacodein.com/

IQ_WALLET_ADDRESS= # If you enter the wallet address used on the site, the most recently inscribed json will be loaded.
IQSOlRPC=

# Squid Router
SQUID_SDK_URL=https://apiplus.squidrouter.com # Default: https://apiplus.squidrouter.com
SQUID_INTEGRATOR_ID= # get integrator id through https://docs.squidrouter.com/
SQUID_EVM_ADDRESS=
SQUID_EVM_PRIVATE_KEY=
SQUID_API_THROTTLE_INTERVAL= # Default: 0; Used to throttle API calls to avoid rate limiting (in ms)
SQUID_API_THROTTLE_INTERVAL=1000 # Default: 1000; Used to throttle API calls to avoid rate limiting (in ms)

# TEE Configuration
# TEE_MODE options:
Expand Down Expand Up @@ -446,6 +494,9 @@ NEAR_NETWORK=testnet # or mainnet
ZKSYNC_ADDRESS=
ZKSYNC_PRIVATE_KEY=

# HoldStation Wallet Configuration
HOLDSTATION_PRIVATE_KEY=

# Avail DA Configuration
AVAIL_ADDRESS=
AVAIL_SEED=
Expand Down Expand Up @@ -550,6 +601,10 @@ AWS_SECRET_ACCESS_KEY=
AWS_REGION=
AWS_S3_BUCKET=
AWS_S3_UPLOAD_PATH=
AWS_S3_ENDPOINT=
AWS_S3_SSL_ENABLED=
AWS_S3_FORCE_PATH_STYLE=


# Deepgram
DEEPGRAM_API_KEY=
Expand Down Expand Up @@ -611,6 +666,10 @@ AKASH_MANIFEST_VALIDATION_LEVEL=strict
QUAI_PRIVATE_KEY=
QUAI_RPC_URL=https://rpc.quai.network

# 0x
ZERO_EX_API_KEY=
ALCHEMY_HTTP_TRANSPORT_URL=

# Instagram Configuration
INSTAGRAM_DRY_RUN=false
INSTAGRAM_USERNAME= # Account username
Expand All @@ -623,3 +682,74 @@ INSTAGRAM_POST_INTERVAL_MAX=120 # Default: 120 minutes
INSTAGRAM_ENABLE_ACTION_PROCESSING=false # Enable/disable action processing
INSTAGRAM_ACTION_INTERVAL=5 # Interval between actions in minutes
INSTAGRAM_MAX_ACTIONS=1 # Maximum number of actions to process at once

####################################
#### Pyth Plugin Configuration ####
####################################
# Network Environment (mainnet or testnet)git
PYTH_NETWORK_ENV=mainnet

# Mainnet Network Configuration
PYTH_MAINNET_HERMES_URL=https://hermes.pyth.network
PYTH_MAINNET_WSS_URL=wss://hermes.pyth.network/ws
PYTH_MAINNET_PYTHNET_URL=https://pythnet.rpcpool.com
PYTH_MAINNET_CONTRACT_REGISTRY=https://pyth.network/developers/price-feed-ids
PYTH_MAINNET_PROGRAM_KEY=

# Testnet Network Configuration
PYTH_TESTNET_HERMES_URL=https://hermes.pyth.network
PYTH_TESTNET_WSS_URL=wss://hermes.pyth.network/ws
PYTH_TESTNET_PYTHNET_URL=https://pythnet.rpcpool.com
PYTH_TESTNET_CONTRACT_REGISTRY=https://pyth.network/developers/price-feed-ids#testnet
PYTH_TESTNET_PROGRAM_KEY=

# Connection Settings
PYTH_MAX_RETRIES=3
PYTH_RETRY_DELAY=1000
PYTH_TIMEOUT=5000
PYTH_GRANULAR_LOG=true
PYTH_LOG_LEVEL=debug
PYTH_LOG_LEVEL=info

# Runtime Settings
RUNTIME_CHECK_MODE=false

# Pyth Price Streaming and test ID
PYTH_ENABLE_PRICE_STREAMING=true
PYTH_MAX_PRICE_STREAMS=2
PYTH_TEST_ID01=0xe62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43
PYTH_TEST_ID02=0xff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace

# Router Nitro EVM Configuration
ROUTER_NITRO_EVM_ADDRESS=
ROUTER_NITRO_EVM_PRIVATE_KEY=


# Initia Plugin Configuration
INITIA_PRIVATE_KEY= # Your Initia wallet private key
INITIA_NODE_URL= # Initia node URL (default: testnet)
INITIA_CHAIN_ID=initia-test # Chain ID (default: testnet)

# ####################################
# #### NVIDIA Configuration ##########
# ####################################
NVIDIA_NIM_ENV=production
NVIDIA_NIM_SPASH=false
# Api Keys
NVIDIA_NIM_API_KEY=
NVIDIA_NGC_API_KEY=
NVIDIA_NIM_MAX_RETRIES=3
NVIDIA_NIM_RETRY_DELAY=1000
NVIDIA_NIM_TIMEOUT=5000
# Logging Configuration
NVIDIA_GRANULAR_LOG=true
NVIDIA_LOG_LEVEL=debug
# NVIDIA Off-topic system and user configuration
NVIDIA_OFFTOPIC_SYSTEM=
NVIDIA_OFFTOPIC_USER=
# NVIDIA Cosmos Model Configuration
NVIDIA_NIM_BASE_VISION_URL=https://ai.api.nvidia.com/v1/vlm
NVIDIA_COSMOS_MODEL=nvidia/cosmos-nemotron-34b
NVIDIA_COSMOS_INVOKE_URL=https://ai.api.nvidia.com/v1/vlm/nvidia/cosmos-nemotron-34b
NVIDIA_COSMOS_ASSET_URL=https://api.nvcf.nvidia.com/v2/nvcf/assets
NVIDIA_COSMOS_MAX_TOKENS=1000
36 changes: 0 additions & 36 deletions .eslintrc.json

This file was deleted.

60 changes: 60 additions & 0 deletions .github/workflows/block-mini.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: Block Minified JavaScript/TypeScript

on:
pull_request:
branches: ["main", "develop", "*"]
push:
branches: ["main", "develop", "*"]

jobs:
block-minified-code:
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v4

- name: Detect potential minified code
shell: bash
run: |
echo "Scanning for potential minified JS/TS code..."
# We'll look in .ts, .tsx, .js, .jsx files, skipping common build dirs.
FILES=$(find . \
\( -name 'node_modules' -prune \) -o \
\( -name 'dist' -prune \) -o \
\( -name 'build' -prune \) -o \
-type f \( -name '*.ts' -o -name '*.tsx' -o -name '*.js' -o -name '*.jsx' \) \
-print)
if [ -z "$FILES" ]; then
echo "No relevant JS/TS files found."
exit 0
fi
THRESHOLD=1000
VIOLATIONS=0
for file in $FILES; do
# Use grep -En to capture line number and text
# If any line is ≥ THRESHOLD chars, we store those lines in RESULTS
RESULTS=$(grep -En ".{${THRESHOLD},}" "$file" || true)
if [ -n "$RESULTS" ]; then
# We have potential minified lines
while IFS= read -r match; do
# 'match' will be something like "1234:the entire matched line"
LINENUM=$(echo "$match" | cut -d: -f1)
# If you want the text, you can do:
# MATCHED_LINE=$(echo "$match" | cut -d: -f2-)
echo "::error file=$file,line=$LINENUM::Detected potential minified code (≥ $THRESHOLD chars)."
done <<< "$RESULTS"
VIOLATIONS=1
fi
done
if [ "$VIOLATIONS" -eq 1 ]; then
echo "ERROR: Minified code detected. Please remove or exclude it."
exit 1
else
echo "No minified code detected."
fi
10 changes: 6 additions & 4 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,13 @@ jobs:
- name: Install dependencies
run: pnpm install -r --no-frozen-lockfile

- name: Run Prettier
run: pnpm run prettier --check .
- name: Setup Biome CLI
uses: biomejs/setup-biome@v2
with:
version: latest

- name: Run Linter
run: pnpm run lint
- name: Run Biome
run: biome ci

- name: Create test env file
run: |
Expand Down
Loading

0 comments on commit 8546c97

Please sign in to comment.