Skip to content

Commit 8442d09

Browse files
committed
Add 0g
2 parents edecd95 + 4a1a9cc commit 8442d09

14 files changed

+9514
-25
lines changed

.env.example

+6
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,12 @@ CONFLUX_ESPACE_PRIVATE_KEY=
106106
CONFLUX_ESPACE_RPC_URL=
107107
CONFLUX_MEME_CONTRACT_ADDRESS=
108108

109+
#ZeroG
110+
ZEROG_INDEXER_RPC=
111+
ZEROG_EVM_RPC=
112+
ZEROG_PRIVATE_KEY=
113+
ZEROG_FLOW_ADDRESS=
114+
109115
# Coinbase Commerce
110116
COINBASE_COMMERCE_KEY=
111117

agent/package.json

+1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
"@ai16z/plugin-image-generation": "workspace:*",
2626
"@ai16z/plugin-node": "workspace:*",
2727
"@ai16z/plugin-solana": "workspace:*",
28+
"@ai16z/plugin-0g": "workspace:*",
2829
"@ai16z/plugin-starknet": "workspace:*",
2930
"@ai16z/plugin-coinbase": "workspace:*",
3031
"readline": "1.3.0",

agent/src/index.ts

+11-8
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import {
2525
import { bootstrapPlugin } from "@ai16z/plugin-bootstrap";
2626
import { confluxPlugin } from "@ai16z/plugin-conflux";
2727
import { solanaPlugin } from "@ai16z/plugin-solana";
28+
import { zgPlugin } from "@ai16z/plugin-0g";
2829
import { nodePlugin } from "@ai16z/plugin-node";
2930
import {
3031
coinbaseCommercePlugin,
@@ -234,6 +235,10 @@ export async function initializeClients(
234235
return clients;
235236
}
236237

238+
function getSecret(character: Character, secret: string) {
239+
return character.settings.secrets?.[secret] || process.env[secret];
240+
}
241+
237242
export function createAgent(
238243
character: Character,
239244
db: IDatabaseAdapter,
@@ -253,19 +258,17 @@ export function createAgent(
253258
character,
254259
plugins: [
255260
bootstrapPlugin,
256-
character.settings.secrets?.CONFLUX_CORE_PRIVATE_KEY
261+
getSecret(character, "CONFLUX_CORE_PRIVATE_KEY")
257262
? confluxPlugin
258263
: null,
259264
nodePlugin,
260-
character.settings.secrets?.WALLET_PUBLIC_KEY ? solanaPlugin : null,
261-
character.settings.secrets?.COINBASE_COMMERCE_KEY ||
262-
process.env.COINBASE_COMMERCE_KEY
265+
getSecret(character, "WALLET_PUBLIC_KEY") ? solanaPlugin : null,
266+
getSecret(character, "ZEROG_PRIVATE_KEY") ? zgPlugin : null,
267+
getSecret(character, "COINBASE_COMMERCE_KEY")
263268
? coinbaseCommercePlugin
264269
: null,
265-
(character.settings.secrets?.COINBASE_API_KEY ||
266-
process.env.COINBASE_API_KEY) &&
267-
(character.settings.secrets?.COINBASE_PRIVATE_KEY ||
268-
process.env.COINBASE_PRIVATE_KEY)
270+
getSecret(character, "COINBASE_API_KEY") &&
271+
getSecret(character, "COINBASE_PRIVATE_KEY")
269272
? coinbaseMassPaymentsPlugin
270273
: null,
271274
].filter(Boolean),

0 commit comments

Comments
 (0)