@@ -25,6 +25,7 @@ import {
25
25
import { bootstrapPlugin } from "@ai16z/plugin-bootstrap" ;
26
26
import { confluxPlugin } from "@ai16z/plugin-conflux" ;
27
27
import { solanaPlugin } from "@ai16z/plugin-solana" ;
28
+ import { zgPlugin } from "@ai16z/plugin-0g" ;
28
29
import { nodePlugin } from "@ai16z/plugin-node" ;
29
30
import {
30
31
coinbaseCommercePlugin ,
@@ -234,6 +235,10 @@ export async function initializeClients(
234
235
return clients ;
235
236
}
236
237
238
+ function getSecret ( character : Character , secret : string ) {
239
+ return character . settings . secrets ?. [ secret ] || process . env [ secret ] ;
240
+ }
241
+
237
242
export function createAgent (
238
243
character : Character ,
239
244
db : IDatabaseAdapter ,
@@ -253,19 +258,17 @@ export function createAgent(
253
258
character,
254
259
plugins : [
255
260
bootstrapPlugin ,
256
- character . settings . secrets ?. CONFLUX_CORE_PRIVATE_KEY
261
+ getSecret ( character , " CONFLUX_CORE_PRIVATE_KEY" )
257
262
? confluxPlugin
258
263
: null ,
259
264
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" )
263
268
? coinbaseCommercePlugin
264
269
: 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" )
269
272
? coinbaseMassPaymentsPlugin
270
273
: null ,
271
274
] . filter ( Boolean ) ,
0 commit comments