Skip to content

Commit 90a443b

Browse files
committed
Merge branch 'plugin-chainbase' of https://github.com/chainbase-labs/eliza-dev into plugin-chainbase
2 parents 87a06b3 + a00f723 commit 90a443b

File tree

1,181 files changed

+69458
-8734
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,181 files changed

+69458
-8734
lines changed

.env.example

+97-8
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,15 @@ VITE_SERVER_PORT=${SERVER_PORT}
1515
SUPABASE_URL=
1616
SUPABASE_ANON_KEY=
1717

18-
# Remote character url (optional)
19-
REMOTE_CHARACTER_URL=
18+
# Comma separated list of remote character urls (optional)
19+
REMOTE_CHARACTER_URLS=
20+
21+
# Stores characters set by using the direct API in the data/character folder for further load when the app restarts
22+
USE_CHARACTER_STORAGE=false
23+
24+
# Logging
25+
DEFAULT_LOG_LEVEL=warn
26+
LOG_JSON_FORMAT=false # Print everything in logger as json; false by default
2027

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

37+
# Devin Configuration
38+
DEVIN_API_TOKEN= # Get your API key from docs.devin.ai/tutorials/api-integration
39+
3040
# Farcaster Neynar Configuration
3141
FARCASTER_FID= # The FID associated with the account your are sending casts from
3242
FARCASTER_NEYNAR_API_KEY= # Neynar API key: https://neynar.com/
@@ -85,7 +95,23 @@ MEDIUM_OPENAI_MODEL= # Default: gpt-4o
8595
LARGE_OPENAI_MODEL= # Default: gpt-4o
8696
EMBEDDING_OPENAI_MODEL= # Default: text-embedding-3-small
8797
IMAGE_OPENAI_MODEL= # Default: dall-e-3
88-
USE_OPENAI_EMBEDDING= # Set to TRUE for OpenAI/1536, leave blank for local
98+
USE_OPENAI_EMBEDDING=TRUE # Set to TRUE for OpenAI/1536, leave blank for local
99+
100+
# Community Plugin for OpenAI Configuration
101+
ENABLE_OPEN_AI_COMMUNITY_PLUGIN=false
102+
OPENAI_DEFAULT_MODEL=
103+
OPENAI_MAX_TOKENS=
104+
OPENAI_TEMPERATURE=
105+
106+
107+
108+
109+
# Atoma SDK Configuration
110+
ATOMASDK_BEARER_AUTH= # Atoma SDK Bearer Auth token
111+
ATOMA_API_URL= # Default: https://api.atoma.network/v1
112+
SMALL_ATOMA_MODEL= # Default: meta-llama/Llama-3.3-70B-Instruct
113+
MEDIUM_ATOMA_MODEL= # Default: meta-llama/Llama-3.3-70B-Instruct
114+
LARGE_ATOMA_MODEL= # Default: meta-llama/Llama-3.3-70B-Instruct
89115

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

136162
# Livepeer configuration
137-
LIVEPEER_GATEWAY_URL= # Free inference gateways and docs: https://livepeer-eliza.com/
138-
LIVEPEER_IMAGE_MODEL= # Default: ByteDance/SDXL-Lightning
163+
164+
LIVEPEER_GATEWAY_URL=https://dream-gateway.livepeer.cloud # Free inference gateways and docs: https://livepeer-eliza.com/
165+
IMAGE_LIVEPEER_MODEL= # Default: ByteDance/SDXL-Lightning
166+
SMALL_LIVEPEER_MODEL= # Default: meta-llama/Meta-Llama-3.1-8B-Instruct
167+
MEDIUM_LIVEPEER_MODEL= # Default: meta-llama/Meta-Llama-3.1-8B-Instruct
168+
LARGE_LIVEPEER_MODEL= # Default: meta-llama/Meta-Llama-3.1-8B-Instruct
139169

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

227259
# Gaianet Configuration
228260
GAIANET_MODEL=
@@ -302,6 +334,10 @@ SOLANA_ADMIN_PRIVATE_KEY= # This wallet is used to verify NFTs
302334
SOLANA_ADMIN_PUBLIC_KEY= # This wallet is used to verify NFTs
303335
SOLANA_VERIFY_TOKEN= # Authentication token for calling the verification API
304336

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

376+
# Coinbase AgentKit
377+
CDP_API_KEY_NAME=
378+
CDP_API_KEY_PRIVATE_KEY=
379+
CDP_AGENT_KIT_NETWORK=base-sepolia # Optional: Defaults to base-sepolia
380+
340381
# Coinbase Charity Configuration
341382
IS_CHARITABLE=false # Set to true to enable charity donations
342383
CHARITY_ADDRESS_BASE=0x1234567890123456789012345678901234567890
@@ -361,12 +402,19 @@ ZEROG_EVM_RPC=
361402
ZEROG_PRIVATE_KEY=
362403
ZEROG_FLOW_ADDRESS=
363404

405+
# IQ6900
406+
# Load json recorded on-chain through IQ
407+
# Inscribe your json character file here: https://elizacodein.com/
408+
409+
IQ_WALLET_ADDRESS= # If you enter the wallet address used on the site, the most recently inscribed json will be loaded.
410+
IQSOlRPC=
411+
364412
# Squid Router
365413
SQUID_SDK_URL=https://apiplus.squidrouter.com # Default: https://apiplus.squidrouter.com
366414
SQUID_INTEGRATOR_ID= # get integrator id through https://docs.squidrouter.com/
367415
SQUID_EVM_ADDRESS=
368416
SQUID_EVM_PRIVATE_KEY=
369-
SQUID_API_THROTTLE_INTERVAL= # Default: 0; Used to throttle API calls to avoid rate limiting (in ms)
417+
SQUID_API_THROTTLE_INTERVAL=1000 # Default: 1000; Used to throttle API calls to avoid rate limiting (in ms)
370418

371419
# TEE Configuration
372420
# TEE_MODE options:
@@ -543,6 +591,10 @@ AWS_SECRET_ACCESS_KEY=
543591
AWS_REGION=
544592
AWS_S3_BUCKET=
545593
AWS_S3_UPLOAD_PATH=
594+
AWS_S3_ENDPOINT=
595+
AWS_S3_SSL_ENABLED=
596+
AWS_S3_FORCE_PATH_STYLE=
597+
546598

547599
# Deepgram
548600
DEEPGRAM_API_KEY=
@@ -616,3 +668,40 @@ INSTAGRAM_POST_INTERVAL_MAX=120 # Default: 120 minutes
616668
INSTAGRAM_ENABLE_ACTION_PROCESSING=false # Enable/disable action processing
617669
INSTAGRAM_ACTION_INTERVAL=5 # Interval between actions in minutes
618670
INSTAGRAM_MAX_ACTIONS=1 # Maximum number of actions to process at once
671+
672+
####################################
673+
#### Pyth Plugin Configuration ####
674+
####################################
675+
# Network Environment (mainnet or testnet)git
676+
PYTH_NETWORK_ENV=mainnet
677+
678+
# Mainnet Network Configuration
679+
PYTH_MAINNET_HERMES_URL=https://hermes.pyth.network
680+
PYTH_MAINNET_WSS_URL=wss://hermes.pyth.network/ws
681+
PYTH_MAINNET_PYTHNET_URL=https://pythnet.rpcpool.com
682+
PYTH_MAINNET_CONTRACT_REGISTRY=https://pyth.network/developers/price-feed-ids
683+
PYTH_MAINNET_PROGRAM_KEY=
684+
685+
# Testnet Network Configuration
686+
PYTH_TESTNET_HERMES_URL=https://hermes.pyth.network
687+
PYTH_TESTNET_WSS_URL=wss://hermes.pyth.network/ws
688+
PYTH_TESTNET_PYTHNET_URL=https://pythnet.rpcpool.com
689+
PYTH_TESTNET_CONTRACT_REGISTRY=https://pyth.network/developers/price-feed-ids#testnet
690+
PYTH_TESTNET_PROGRAM_KEY=
691+
692+
# Connection Settings
693+
PYTH_MAX_RETRIES=3
694+
PYTH_RETRY_DELAY=1000
695+
PYTH_TIMEOUT=5000
696+
PYTH_GRANULAR_LOG=true
697+
PYTH_LOG_LEVEL=debug
698+
PYTH_LOG_LEVEL=info
699+
700+
# Runtime Settings
701+
RUNTIME_CHECK_MODE=false
702+
703+
# Pyth Price Streaming and test ID
704+
PYTH_ENABLE_PRICE_STREAMING=true
705+
PYTH_MAX_PRICE_STREAMS=2
706+
PYTH_TEST_ID01=0xe62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43
707+
PYTH_TEST_ID02=0xff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace

.eslintrc.json

-36
This file was deleted.

.github/workflows/block-mini.yml

+60
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
name: Block Minified JavaScript/TypeScript
2+
3+
on:
4+
pull_request:
5+
branches: ["main", "develop", "*"]
6+
push:
7+
branches: ["main", "develop", "*"]
8+
9+
jobs:
10+
block-minified-code:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- name: Check out code
14+
uses: actions/checkout@v4
15+
16+
- name: Detect potential minified code
17+
shell: bash
18+
run: |
19+
echo "Scanning for potential minified JS/TS code..."
20+
21+
# We'll look in .ts, .tsx, .js, .jsx files, skipping common build dirs.
22+
FILES=$(find . \
23+
\( -name 'node_modules' -prune \) -o \
24+
\( -name 'dist' -prune \) -o \
25+
\( -name 'build' -prune \) -o \
26+
-type f \( -name '*.ts' -o -name '*.tsx' -o -name '*.js' -o -name '*.jsx' \) \
27+
-print)
28+
29+
if [ -z "$FILES" ]; then
30+
echo "No relevant JS/TS files found."
31+
exit 0
32+
fi
33+
34+
THRESHOLD=1000
35+
VIOLATIONS=0
36+
37+
for file in $FILES; do
38+
# Use grep -En to capture line number and text
39+
# If any line is ≥ THRESHOLD chars, we store those lines in RESULTS
40+
RESULTS=$(grep -En ".{${THRESHOLD},}" "$file" || true)
41+
if [ -n "$RESULTS" ]; then
42+
# We have potential minified lines
43+
while IFS= read -r match; do
44+
# 'match' will be something like "1234:the entire matched line"
45+
LINENUM=$(echo "$match" | cut -d: -f1)
46+
# If you want the text, you can do:
47+
# MATCHED_LINE=$(echo "$match" | cut -d: -f2-)
48+
49+
echo "::error file=$file,line=$LINENUM::Detected potential minified code (≥ $THRESHOLD chars)."
50+
done <<< "$RESULTS"
51+
VIOLATIONS=1
52+
fi
53+
done
54+
55+
if [ "$VIOLATIONS" -eq 1 ]; then
56+
echo "ERROR: Minified code detected. Please remove or exclude it."
57+
exit 1
58+
else
59+
echo "No minified code detected."
60+
fi

.github/workflows/ci.yaml

+6-4
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,13 @@ jobs:
2222
- name: Install dependencies
2323
run: pnpm install -r --no-frozen-lockfile
2424

25-
- name: Run Prettier
26-
run: pnpm run prettier --check .
25+
- name: Setup Biome CLI
26+
uses: biomejs/setup-biome@v2
27+
with:
28+
version: latest
2729

28-
- name: Run Linter
29-
run: pnpm run lint
30+
- name: Run Biome
31+
run: biome ci
3032

3133
- name: Create test env file
3234
run: |

.github/workflows/integrationTests.yaml

+10-4
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,19 @@ jobs:
2222
- uses: actions/setup-node@v4
2323
with:
2424
node-version: "23.3.0"
25-
cache: "pnpm"
25+
cache: 'pnpm'
26+
cache-dependency-path: '**/pnpm-lock.yaml'
2627

27-
- name: Clean up
28-
run: pnpm clean
28+
- name: Configure pnpm
29+
run: |
30+
pnpm config set store-dir ~/.pnpm-store
31+
pnpm config set prefer-offline true
32+
pnpm config set node-linker hoisted
33+
pnpm config set shamefully-hoist true
34+
pnpm config list
2935
3036
- name: Install dependencies
31-
run: pnpm install -r --no-frozen-lockfile
37+
run: pnpm install -r --no-frozen-lockfile --prefer-offline
3238

3339
- name: Build packages
3440
run: pnpm build

.github/workflows/smoke-tests.yml

+14-5
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,26 @@ on:
1010
jobs:
1111
smoke-tests:
1212
runs-on: ubuntu-latest
13+
container:
14+
image: node:23-bullseye
15+
env:
16+
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
1317
steps:
1418
- uses: actions/checkout@v4
1519

16-
- uses: pnpm/action-setup@v3
20+
- name: Cache pnpm
21+
uses: actions/cache@v4
1722
with:
18-
version: 9.15.0
23+
path: |
24+
~/.pnpm-store
25+
**/node_modules
26+
key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }}
27+
restore-keys: ${{ runner.os }}-pnpm-
1928

20-
- uses: actions/setup-node@v4
29+
- name: Setup pnpm
30+
uses: pnpm/action-setup@v3
2131
with:
22-
node-version: "23.3.0"
23-
cache: "pnpm"
32+
version: 9.15.0
2433

2534
- name: Run smoke tests
2635
run: pnpm run smokeTests

.gitignore

+3-1
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ tsup.config.bundled_*.mjs
5252
.turbo
5353
.cursorrules
5454
.pnpm-store
55+
instructions.md
56+
wallet_data.txt
5557

5658
coverage
5759
.eslintcache
@@ -60,4 +62,4 @@ agent/content
6062

6163
eliza.manifest
6264
eliza.manifest.sgx
63-
eliza.sig
65+
eliza.sig

0 commit comments

Comments
 (0)